Function at 0x40da22
Capabilities:
Hash data with crc32

Disassembly:
push ebp
lea ebp, [esp - 0x68]
sub esp, 0xe04
and dword [ebp + 0x60], 0
push ebx
push esi
push edi
mov byte [ebp - 0xb9c], 0
call fcn.00402837
mov edi, pe_nt_image_headers32
push edi
call fcn.00402be8
pop ecx
push edi
push eax
push dword [ebp + 0x70]
mov dword [0x418b50], eax
call dword [0x4140e0]
mov eax, dword [0x418b50]
mov esi, eax
push 0x7e
push eax
mov dword [ebp + 0x64], esi
call fcn.004031e3
test eax, eax
mov ebx, dword [0x4141e0]
pop ecx
pop ecx
je 0x40dbd7
cmp dword [0x4186c0], 0
je 0x40dbd7
push 0x5c
push esi
call fcn.004031e3
test eax, eax
pop ecx
pop ecx
jne 0x40dad4
push esi
lea eax, [ebp - 0xfc]
push eax
call ebx
push edi
push esi
call fcn.0040f6b2
pop ecx
pop ecx
push esi
call dword [0x41425c]
cmp byte [eax + esi - 1], 0x5c
je 0x40dac6
push 0x414474
push esi
call dword [0x4141dc]
lea eax, [ebp - 0xfc]
push eax
push esi
call dword [0x4141dc]
cmp dword [0x41806c], 1
mov ecx, dword [ebp + 0x64]
mov esi, ecx
jle 0x40daf8
mov eax, ecx
movsx eax, byte [eax]
push 0x103
push eax
call fcn.0040f1a2
pop ecx
pop ecx
mov ecx, esi
jmp 0x40db0a
movsx eax, byte [ecx]
mov edx, dword [0x418064]
movzx eax, word [edx + eax*2]
and eax, 0x103
test eax, eax
je 0x40db26
cmp byte [ecx + 1], 0x3a
jne 0x40db26
mov eax, dword [ebp + 0x64]
movsx eax, byte [eax]
push eax
call fcn.0040f220
pop ecx
mov ecx, dword [ebp + 0x64]
mov byte [ecx], al
cmp byte [ecx], 0x5c
jne 0x40db50
cmp byte [ecx + 1], 0x5c
jne 0x40db50
lea esi, [ecx + 2]
jmp 0x40db3b
cmp al, 0x5c
je 0x40db4f
inc esi
mov al, byte [esi]
test al, al
jne 0x40db36
cmp al, 0x5c
jne 0x40db50
jmp 0x40db4f
cmp al, 0x5c
je 0x40dbd1
inc esi
mov al, byte [esi]
test al, al
jne 0x40db47
jmp 0x40dbcc
cmp byte [esi], 0
mov eax, esi
jmp 0x40db68
cmp byte [eax], 0x5c
je 0x40db6d
inc eax
cmp byte [eax], 0
mov dword [ebp + 0x5c], eax
jne 0x40db5f
push dword [ebp + 0x5c]
lea eax, [ebp - 0xfc]
push eax
call ebx
mov eax, dword [ebp + 0x5c]
mov byte [eax], 0
lea eax, [ebp - 0x89c]
push eax
push 0x17
push dword [ebp + 0x64]
call fcn.004028c6
add esp, 0xc
test eax, eax
jne 0x40dbae
lea eax, [ebp - 0x89c]
push eax
push esi
call ebx
lea eax, [ebp - 0x89c]
push eax
call fcn.00402945
pop ecx
push dword [ebp + 0x64]
call dword [0x41425c]
mov esi, eax
add esi, dword [ebp + 0x64]
lea eax, [ebp - 0xfc]
push eax
push dword [ebp + 0x64]
call dword [0x4141dc]
cmp byte [esi], 0x5c
jne 0x40dbd2
inc esi
cmp byte [esi], 0
jne 0x40db58
lea eax, [ebp + 4]
push eax
mov dword [ebp + 4], 1
call dword [0x4140ac]
push edi
mov dword [0x41879c], eax
call fcn.00402be8
pop ecx
push edi
push eax
push dword [ebp + 0x70]
mov dword [0x418a24], eax
call dword [0x4140e0]
mov esi, dword [0x41425c]
push 0x415428
push dword [0x418a24]
call esi
mov ecx, dword [0x418a24]
lea eax, [eax + ecx - 3]
push eax
call ebx
push 0x4000
call fcn.00402be8
pop ecx
push dword [ebp + 0x78]
mov dword [0x418740], eax
lea eax, [ebp - 0x99c]
push eax
mov dword [ebp + 0x50], 1
call ebx
cmp byte [ebp - 0x99c], 0
jne 0x40dcc5
push dword [0x418a24]
lea eax, [ebp - 0xfc]
push eax
call ebx
lea eax, [ebp - 0xfc]
push 0
push eax
call fcn.00403c6b
pop ecx
pop ecx
lea eax, [ebp - 0xfc]
push eax
call esi
lea ecx, [ebp - 0xfc]
dec ecx
add eax, ecx
jmp 0x40dc89
cmp byte [eax], 0x5c
je 0x40dc98
dec eax
lea ecx, [ebp - 0xfc]
cmp eax, ecx
ja 0x40dc83
cmp byte [eax], 0x5c
jne 0x40dc99
inc eax
push 0x41541c
push eax
call ebx
lea eax, [ebp - 0xfc]
push 0
push eax
call fcn.0040295c
test eax, eax
pop ecx
pop ecx
jne 0x40dcc5
lea eax, [ebp - 0xfc]
push eax
lea eax, [ebp - 0x99c]
push eax
call ebx
push 2
lea eax, [ebp - 0x99c]
push 0x415418
push eax
call 0x413e71
add esp, 0xc
test eax, eax
je 0x40dd67
lea eax, [ebp - 0xfc]
push eax
push edi
call dword [0x4141b8]
lea eax, [ebp - 0xa9c]
push eax
push 0x1a2b
push 0x415414
lea eax, [ebp - 0xfc]
push eax
call dword [0x4140b4]
push 0x415148
lea eax, [ebp - 0xa9c]
push eax
call esi
lea ecx, [ebp - 0xa9c]
sub ecx, 3
add eax, ecx
push eax
call ebx
push edi
lea eax, [ebp - 0x350]
push eax
push dword [ebp + 0x70]
call dword [0x4140e0]
push 0
lea eax, [ebp - 0xa9c]
push eax
lea eax, [ebp - 0x350]
push eax
call dword [0x4140cc]
test eax, eax
je 0x40dd63
lea eax, [ebp - 0xa9c]
push eax
call fcn.00402ae8
pop ecx
and dword [ebp + 0x50], 0
mov esi, dword [0x41420c]
push 5
push 0x6a
push dword [ebp + 0x70]
call esi
mov ebx, dword [0x414214]
push eax
push dword [ebp + 0x70]
call ebx
push eax
mov dword [ebp + 0x48], eax
call dword [0x414218]
push 5
push 0x68
push dword [ebp + 0x70]
call esi
push eax
push dword [ebp + 0x70]
call ebx
push eax
mov dword [ebp + 0x44], eax
call dword [0x414218]
push 2
push 0x6a
push dword [ebp + 0x70]
call esi
push eax
push dword [ebp + 0x70]
call ebx
push eax
mov dword [ebp + 0x4c], eax
call dword [0x414218]
push 0x6a
push dword [ebp + 0x70]
call dword [0x41427c]
and dword [0x418704], 0
cmp byte [ebp - 0x99c], 0x2f
mov dword [0x418b30], eax
lea eax, [ebp - 0x99c]
mov dword [ebp + 0x78], eax
jne 0x40deeb
mov esi, dword [ebp + 0x78]
lea eax, [esi + 1]
mov dword [ebp + 0x64], eax
movsx eax, byte [eax]
xor ebx, ebx
push eax
inc ebx
call fcn.0040f220
cmp eax, 0x5a
mov eax, dword [ebp + 0x64]
pop ecx
jne 0x40de3b
cmp byte [eax], 0x7a
jne 0x40de22
cmp byte [esi + 2], 0x31
jne 0x40de1c
mov esi, eax
mov dword [0x418748], ebx
mov dword [0x418a4c], ebx
inc esi
inc esi
cmp byte [esi], 0x20
mov dword [ebp + 0x78], esi
jne 0x40dee2
inc esi
cmp byte [esi], 0x20
je 0x40de30
jmp 0x40ded1
movsx eax, byte [eax]
push eax
call fcn.0040f220
cmp eax, 0x41
pop ecx
jne 0x40de52
mov dword [0x418704], ebx
jmp 0x40de9e
mov eax, dword [ebp + 0x64]
movsx eax, byte [eax]
push eax
call fcn.0040f220
cmp eax, 0x53
pop ecx
jne 0x40de6c
mov dword [0x41878c], ebx
jmp 0x40de4a
mov eax, dword [ebp + 0x64]
movsx eax, byte [eax]
push eax
call fcn.0040f220
cmp eax, 0x52
pop ecx
jne 0x40de86
mov dword [0x41869c], ebx
jmp 0x40de9e
mov eax, dword [ebp + 0x64]
movsx eax, byte [eax]
push eax
call fcn.0040f220
cmp eax, 0x55
pop ecx
jne 0x40dea2
mov dword [0x418a70], ebx
inc esi
inc esi
jmp 0x40ded1
mov eax, dword [ebp + 0x64]
movsx eax, byte [eax]
push eax
call fcn.0040f220
cmp eax, 0x57
pop ecx
jne 0x40deeb
mov esi, dword [ebp + 0x78]
add esi, 2
push esi
call fcn.0040f34f
cmp byte [esi], 0x20
pop ecx
mov dword [0x418aec], eax
je 0x40ded9
inc esi
cmp byte [esi], 0x20
jne 0x40decb
cmp byte [esi], 0x20
mov dword [ebp + 0x78], esi
jne 0x40dee2
inc esi
cmp byte [esi], 0x20
je 0x40ded9
mov dword [ebp + 0x78], esi
cmp byte [esi], 0x2f
je 0x40ddeb
mov esi, dword [ebp + 0x78]
cmp byte [esi], 0x20
jne 0x40defc
inc esi
cmp byte [esi], 0x20
je 0x40def3
mov dword [ebp + 0x78], esi
mov bl, 0x22
cmp byte [esi], bl
jne 0x40df56
inc esi
push esi
mov dword [ebp + 0x78], esi
call fcn.0040fd80
pop ecx
jmp 0x40df15
cmp byte [eax + esi], bl
je 0x40df1b
dec eax
test eax, eax
jg 0x40df0f
jmp 0x40df29
add eax, esi
lea ecx, [eax + 1]
mov dword [0x418b0c], ecx
mov byte [eax], 0
mov eax, dword [0x418b0c]
jmp 0x40df36
inc eax
mov dword [0x418b0c], eax
cmp byte [eax], 0x20
je 0x40df30
push eax
call fcn.0040fd80
test eax, eax
pop ecx
jne 0x40df4c
and dword [0x418b0c], eax
push 0
push esi
call fcn.00403c6b
pop ecx
pop ecx
push 0x20
push esi
call fcn.004031e3
test eax, eax
pop ecx
pop ecx
je 0x40df99
cmp dword [0x418a4c], 0
jne 0x40df99
mov byte [eax], 0
inc eax
mov dword [0x418b0c], eax
cmp byte [eax], bl
jne 0x40df80
inc eax
mov dword [0x418b0c], eax
push eax
call dword [0x41425c]
dec eax
js 0x40df99
mov ecx, dword [0x418b0c]
add eax, ecx
cmp byte [eax], bl
jne 0x40df99
mov byte [eax], 0
cmp dword [0x418aec], 0
je 0x40e398
push esi
mov esi, dword [0x4141e0]
lea eax, [ebp - 0x250]
push eax
call esi
lea eax, [ebp - 0x250]
push 0x7e
push eax
call fcn.004031e3
test eax, eax
pop ecx
pop ecx
je 0x40e184
cmp dword [0x4186c0], 0
je 0x40e184
lea eax, [ebp - 0x250]
push 0x5c
push eax
call fcn.004031e3
test eax, eax
pop ecx
pop ecx
jne 0x40e04e
lea eax, [ebp - 0x250]
push eax
lea eax, [ebp - 0xfc]
push eax
call esi
lea eax, [ebp - 0x250]
push edi
push eax
call fcn.0040f6b2
pop ecx
pop ecx
lea eax, [ebp - 0x250]
push eax
call dword [0x41425c]
lea ecx, [ebp - 0x250]
dec ecx
cmp byte [eax + ecx], 0x5c
je 0x40e03a
push 0x414474
lea eax, [ebp - 0x250]
push eax
call dword [0x4141dc]
lea eax, [ebp - 0xfc]
push eax
lea eax, [ebp - 0x250]
push eax
call dword [0x4141dc]
cmp dword [0x41806c], 1
movsx eax, byte [ebp - 0x250]
lea esi, [ebp - 0x250]
jle 0x40e073
push 0x103
push eax
call fcn.0040f1a2
pop ecx
pop ecx
jmp 0x40e082
mov ecx, dword [0x418064]
movzx eax, word [ecx + eax*2]
and eax, 0x103
test eax, eax
je 0x40e0a3
cmp byte [ebp - 0x24f], 0x3a
jne 0x40e0a3
movsx eax, byte [ebp - 0x250]
push eax
call fcn.0040f220
pop ecx
mov byte [ebp - 0x250], al
cmp byte [ebp - 0x250], 0x5c
jne 0x40e0d4
cmp byte [ebp - 0x24f], 0x5c
jne 0x40e0dd
mov al, byte [ebp - 0x24e]
lea esi, [ebp - 0x24e]
jmp 0x40e0ca
cmp al, 0x5c
je 0x40e0d3
inc esi
mov al, byte [esi]
test al, al
jne 0x40e0c3
cmp byte [esi], 0x5c
jne 0x40e0d4
inc esi
cmp byte [esi], 0
je 0x40e175
mov al, byte [esi]
cmp al, 0x5c
je 0x40e17a
inc esi
mov al, byte [esi]
test al, al
jne 0x40e0df
jmp 0x40e175
cmp byte [esi], 0
mov ebx, esi
je 0x40e105
cmp byte [ebx], 0x5c
je 0x40e105
inc ebx
cmp byte [ebx], 0
jne 0x40e0fa
push ebx
lea eax, [ebp - 0xfc]
push eax
call dword [0x4141e0]
lea eax, [ebp - 0x89c]
push eax
lea eax, [ebp - 0x250]
push 0x17
push eax
mov byte [ebx], 0
call fcn.004028c6
add esp, 0xc
test eax, eax
jne 0x40e14d
lea eax, [ebp - 0x89c]
push eax
push esi
call dword [0x4141e0]
lea eax, [ebp - 0x89c]
push eax
call fcn.00402945
pop ecx
lea eax, [ebp - 0x250]
push eax
call dword [0x41425c]
lea esi, [ebp + eax - 0x250]
lea eax, [ebp - 0xfc]
push eax
lea eax, [ebp - 0x250]
push eax
call dword [0x4141dc]
cmp byte [esi], 0x5c
jne 0x40e17b
inc esi
cmp byte [esi], 0
jne 0x40e0f3
lea eax, [ebp - 0x250]
push eax
lea eax, [ebp - 0x654]
push 0x41529c
push eax
call dword [0x414348]
add esp, 0xc
cmp byte [ebp - 0x61c], 0
lea eax, [ebp - 0x61c]
je 0x40e1bd
cmp byte [eax], 0x5c
jne 0x40e1b7
mov byte [eax], 0x2f
inc eax
cmp byte [eax], 0
jne 0x40e1af
lea eax, [ebp + 0x60]
push eax
push 0x20019
push 0
lea eax, [ebp - 0x654]
push eax
push 0x80000002
call dword [0x414008]
test eax, eax
jne 0x40e559
mov ebx, dword [0x41403c]
push eax
push eax
lea ecx, [ebp + 0x58]
push ecx
push eax
lea ecx, [ebp + 0x64]
push ecx
lea ecx, [ebp - 0x85c]
push ecx
push eax
push dword [ebp + 0x60]
mov dword [ebp + 0x5c], eax
mov dword [ebp + 0x54], eax
mov dword [ebp + 0x64], 0x208
call ebx
test eax, eax
jne 0x40e510
xor esi, esi
inc esi
cmp dword [ebp + 0x58], esi
jne 0x40e2e9
lea eax, [ebp - 0x85c]
push eax
call fcn.0040f34f
cmp byte [ebp - 0x85c], 0
pop ecx
mov dword [ebp + 0x20], eax
lea esi, [ebp - 0x85c]
je 0x40e26f
cmp dword [0x41806c], 1
movsx eax, byte [esi]
jle 0x40e258
push 4
push eax
call fcn.0040f1a2
pop ecx
pop ecx
jmp 0x40e265
mov ecx, dword [0x418064]
movzx eax, byte [ecx + eax*2]
and eax, 4
test eax, eax
je 0x40e26f
inc esi
cmp byte [esi], 0
jne 0x40e240
cmp byte [esi], 0x5c
jne 0x40e275
inc esi
lea ecx, [ebp - 0x100]
jmp 0x40e28a
cmp al, 0x5c
jne 0x40e286
cmp byte [esi + 1], al
je 0x40e290
mov byte [ecx], al
inc ecx
inc esi
mov al, byte [esi]
test al, al
jne 0x40e27d
cmp byte [esi], 0x5c
jne 0x40e304
cmp byte [esi + 1], 0x5c
jne 0x40e304
lea eax, [ebp + 0x24]
push eax
push 0x20019
push 0
lea eax, [ebp - 0x100]
push eax
mov eax, dword [ebp + 0x20]
push dword [eax*4 + 0x418030]
add esi, 2
mov byte [ecx], 0
call dword [0x414008]
test eax, eax
jne 0x40e2e0
cmp byte [esi], al
je 0x40e304
push eax
push eax
lea ecx, [ebp + 0x1c]
push ecx
push eax
push esi
push dword [ebp + 0x24]
call dword [0x414034]
test eax, eax
je 0x40e304
mov dword [ebp + 0x5c], 1
jmp 0x40e304
cmp dword [ebp + 0x58], 4
jne 0x40e304
lea eax, [ebp - 0x85c]
push eax
call dword [0x4141c0]
cmp eax, 0xffffffff
jne 0x40e304
mov dword [ebp + 0x5c], esi
inc dword [ebp + 0x54]
xor esi, esi
push esi
push esi
lea eax, [ebp + 0x58]
push eax
push esi
lea eax, [ebp + 0x64]
push eax
lea eax, [ebp - 0x85c]
push eax
push dword [ebp + 0x54]
mov dword [ebp + 0x64], 0x208
push dword [ebp + 0x60]
call ebx
test eax, eax
je 0x40e215
cmp dword [ebp + 0x5c], esi
je 0x40e510
push edi
lea eax, [ebp - 0xfc]
push eax
push 0x4a
push dword [0x418790]
call fcn.00403fe3
push 0x200
lea eax, [ebp - 0xd9c]
push eax
push 0x51
push dword [0x418790]
call fcn.00403fe3
add esp, 0x20
push 3
lea eax, [ebp - 0xfc]
push eax
lea eax, [ebp - 0xd9c]
push eax
push esi
call dword [str.AD__b]
cmp al, 6
jne 0x40e4af
xor eax, eax
inc eax
mov dword [0x418704], eax
mov dword [0x418a70], eax
push dword [0x418a24]
mov esi, dword [0x4141f8]
push 0
push 0x415408
mov ebx, 0x414608
push ebx
call esi
push dword [0x418a24]
mov dword [0x418760], eax
push 0
push 0x4153fc
push ebx
call esi
push dword [0x418a24]
mov dword [0x418764], eax
push 0xff
push 0x4153f0
push ebx
call esi
push dword [0x418a24]
mov dword [0x418768], eax
push 0
push 0x4153e8
push ebx
call esi
push dword [0x418a24]
sub eax, dword [0x418760]
push 0
push 0x4153dc
push ebx
mov dword [0x41876c], eax
call esi
push dword [0x418a24]
sub eax, dword [0x418764]
push 0
push 0x4153d0
push ebx
mov dword [0x418770], eax
call esi
push dword [0x418a24]
sub eax, dword [0x418768]
push 1
push 0x4153c0
push ebx
mov dword [0x418774], eax
call esi
mov dword [0x41873c], eax
call fcn.004040b1
push 0x8000
call dword [0x4140dc]
mov eax, dword [0x418b00]
test eax, eax
mov esi, dword [0x414338]
mov dword [0x4186d8], 0xffffff
je 0x40e52b
push dword [ebp + 0x70]
call eax
test eax, eax
je 0x40e524
cmp dword [0x4186c0], 1
mov eax, dword [0x418b60]
jne 0x40e497
test eax, eax
jne 0x40e4a4
test eax, eax
jne 0x40e4a4
push dword [ebp + 0x70]
call dword [0x418ba4]
push 0xf
call esi
mov dword [0x4186d8], eax
jmp 0x40e52b
cmp al, 7
je 0x40e510
xor edi, edi
push edi
push edi
lea eax, [ebp + 0x58]
push eax
push edi
lea eax, [ebp + 0x64]
push eax
lea eax, [ebp - 0x85c]
push eax
push edi
push dword [ebp + 0x60]
xor esi, esi
mov dword [ebp + 0x64], 0x208
call ebx
test eax, eax
jne 0x40e510
lea eax, [ebp - 0x85c]
push eax
push dword [ebp + 0x60]
call dword [0x414038]
push edi
push edi
lea eax, [ebp + 0x58]
push eax
push edi
lea eax, [ebp + 0x64]
push eax
lea eax, [ebp - 0x85c]
push eax
inc esi
push esi
push dword [ebp + 0x60]
mov dword [ebp + 0x64], 0x208
call ebx
test eax, eax
je 0x40e4da
jmp 0x40e4b5
push dword [ebp + 0x60]
call fcn.00403393
pop ecx
push dword [ebp + 0x60]
call dword [0x414040]
jmp 0x40e559
and dword [0x418b00], 0
push 0xf
call esi
xor ebx, ebx
cmp dword [ebp + 0x74], ebx
mov dword [0x4186d8], eax
jne 0x40e548
push dword [ebp + 0x70]
call fcn.0040aba9
test eax, eax
pop ecx
je 0x40e559
push dword [ebp + 0x7c]
push dword [ebp + 0x70]
call fcn.004047a3
test eax, eax
pop ecx
pop ecx
jne 0x40e565
xor eax, eax
pop edi
pop esi
pop ebx
add ebp, 0x68
leave
ret 0x10
push 0x400
push 2
call dword [0x414234]
push eax
mov dword [0x418a2c], eax
call dword [0x414238]
mov dword [0x418a50], eax
mov dword [eax], ebx
xor eax, eax
inc eax
push 8
mov ecx, eax
pop edx
test cl, 1
je 0x40e59c
shr ecx, 1
xor ecx, 0xedb88320
jmp 0x40e59e
shr ecx, 1
dec edx
jne 0x40e58d
mov edx, dword [0x418a50]
mov dword [edx + eax*4], ecx
inc eax
cmp eax, edi
jl 0x40e588
push edi
call fcn.00402be8
push edi
mov dword [0x4186b0], eax
call fcn.00402be8
push edi
push dword [0x4186b0]
mov dword [0x4186c8], eax
push 0x19
push dword [0x418790]
call fcn.00403fe3
push edi
push dword [0x4186c8]
push 0x3b
push dword [0x418790]
call fcn.00403fe3
mov esi, 0x104
push esi
call fcn.00402be8
add esp, 0x2c
mov dword [0x418b54], eax
mov byte [eax], 0
lea eax, [ebp + 0x74]
push eax
push 0x20019
push ebx
push 0x415394
push 0x80000002
call dword [0x414008]
test eax, eax
jne 0x40e670
lea eax, [ebp + 0x7c]
push eax
push dword [0x418b54]
lea eax, [ebp + 0x1c]
push eax
push ebx
push 0x415384
push dword [ebp + 0x74]
mov dword [ebp + 0x7c], esi
call dword [0x414034]
test eax, eax
mov eax, dword [0x418b54]
jne 0x40e664
cmp byte [eax], 0
je 0x40e667
push eax
call fcn.00402ac6
cmp eax, dword [0x418b54]
pop ecx
jbe 0x40e667
mov byte [eax - 1], 0
jmp 0x40e667
mov byte [eax], 0
push dword [ebp + 0x74]
call dword [0x414040]
cmp dword [0x418a4c], ebx
je 0x40e86a
mov eax, dword [ebp + 0x78]
cmp byte [eax], 0
je 0x40e86a
push ebx
push 0x3e8
push 0x206a
push dword [0x418ba8]
mov dword [0x418708], 1
call dword [0x414360]
mov esi, dword [0x414364]
jmp 0x40e6c5
lea eax, [ebp + 0x28]
push eax
call dword [0x414368]
lea eax, [ebp + 0x28]
push eax
call dword [0x41436c]
push 1
push ebx
push ebx
lea eax, [ebp + 0x28]
push ebx
push eax
call esi
test eax, eax
jne 0x40e6b1
cmp dword [0x418708], ebx
jne 0x40e6c5
push 0x206a
push dword [0x418ba8]
call dword [0x414370]
push dword [ebp + 0x78]
lea eax, [ebp - 0x350]
push eax
call dword [0x4141e0]
lea eax, [ebp - 0x350]
push 0x20
push eax
call fcn.004031e3
mov esi, eax
cmp esi, ebx
pop ecx
pop ecx
je 0x40e716
mov byte [esi], 0
lea eax, [ebp - 0x350]
dec eax
mov dword [ebp + 0x78], eax
lea eax, [ebp - 0x350]
push eax
call dword [0x41425c]
mov ecx, dword [ebp + 0x78]
cmp byte [eax + ecx], 0x5c
je 0x40e743
lea eax, [ebp - 0x350]
push eax
call dword [0x4140c4]
lea eax, [ebp - 0x350]
push eax
call dword [0x41425c]
add eax, dword [ebp + 0x78]
jmp 0x40e75b
cmp byte [eax], 0x5c
je 0x40e76a
dec eax
lea ecx, [ebp - 0x350]
cmp eax, ecx
ja 0x40e755
cmp byte [eax], 0x5c
jne 0x40e76d
mov byte [eax], 0
lea eax, [ebp - 0x350]
push ebx
push eax
call fcn.0040bbd7
cmp esi, ebx
pop ecx
pop ecx
je 0x40e7a2
inc esi
cmp byte [esi], 0
je 0x40e7a2
push esi
call dword [0x41425c]
lea eax, [eax + esi - 1]
cmp byte [eax], 0x5c
jne 0x40e799
mov byte [eax], 0
push ebx
push esi
call fcn.0040bbd7
pop ecx
pop ecx
push dword [0x418ba8]
call dword [0x414334]
mov esi, dword [0x414280]
jmp 0x40e7ca
lea eax, [ebp + 0x28]
push eax
call dword [0x414368]
lea eax, [ebp + 0x28]
push eax
call dword [0x41436c]
push ebx
push ebx
lea eax, [ebp + 0x28]
push ebx
push eax
call esi
test eax, eax
jne 0x40e7b6
push dword [0x418b30]
mov ebx, dword [0x41409c]
call ebx
push dword [ebp + 0x4c]
mov esi, dword [0x41421c]
call esi
push dword [ebp + 0x44]
call esi
push dword [ebp + 0x48]
call esi
push edi
lea eax, [ebp - 0x350]
push eax
push dword [ebp + 0x70]
call dword [0x4140e0]
mov eax, dword [0x418a60]
test eax, eax
je 0x40e817
push eax
call ebx
mov eax, dword [0x4186c4]
test eax, eax
je 0x40e823
push eax
call ebx
cmp dword [0x418748], 0
je 0x40e862
mov eax, dword [0x4186c0]
cmp eax, 1
je 0x40e846
test eax, eax
je 0x40e846
push 0
push 2
call dword [0x414284]
jmp 0x40e862
lea eax, [ebp - 0x450]
push eax
call fcn.004034f6
pop ecx
push 5
lea eax, [ebp - 0x450]
push eax
call dword [0x4140d0]
mov eax, dword [ebp + 0x30]
jmp 0x40e55b
mov eax, dword [ebp + 0x78]
cmp byte [eax], 0
mov byte [ebp - 0x450], 0
jne 0x40e943
push 0x4c
pop esi
push esi
lea eax, [ebp - 0x14c]
push 0
push eax
call fcn.0040f410
mov eax, dword [0x418ba8]
mov dword [ebp - 0x148], eax
mov eax, dword [ebp + 0x70]
mov dword [ebp - 0x144], eax
push edi
lea eax, [ebp - 0x550]
push eax
push 1
push dword [0x418790]
mov dword [ebp - 0x14c], esi
mov dword [ebp - 0x12c], edi
mov dword [ebp - 0x118], 0x1000
call fcn.00403fe3
add esp, 0x1c
lea eax, [ebp - 0x550]
push eax
call dword [0x41425c]
mov esi, dword [0x4141e0]
lea ebx, [ebp + eax - 0x54f]
push 0x415378
push ebx
call esi
push ebx
call dword [0x41425c]
mov byte [eax + ebx + 1], 0
lea eax, [ebp - 0x550]
mov dword [ebp - 0x140], eax
push 0x41541c
lea eax, [ebp - 0x350]
push eax
call esi
lea eax, [ebp - 0x350]
mov dword [ebp - 0x130], eax
call fcn.00403121
lea eax, [ebp - 0x14c]
push eax
call dword [0x414384]
test eax, eax
je 0x40e953
push dword [ebp - 0x130]
jmp 0x40e94a
mov esi, dword [0x4141e0]
push eax
lea eax, [ebp - 0x450]
push eax
call esi
cmp byte [ebp - 0x450], 0
je 0x40e9cf
lea eax, [ebp - 0x450]
push 0x5c
push eax
call fcn.004031e3
test eax, eax
pop ecx
pop ecx
jne 0x40e9cf
lea eax, [ebp - 0xfc]
push edi
push eax
call fcn.0040f6b2
pop ecx
pop ecx
lea eax, [ebp - 0xfc]
push eax
call dword [0x41425c]
lea ecx, [ebp - 0xfc]
dec ecx
cmp byte [eax + ecx], 0x5c
je 0x40e9ab
push 0x414474
lea eax, [ebp - 0xfc]
push eax
call dword [0x4141dc]
lea eax, [ebp - 0x450]
push eax
lea eax, [ebp - 0xfc]
push eax
call dword [0x4141dc]
lea eax, [ebp - 0xfc]
push eax
lea eax, [ebp - 0x450]
push eax
call esi
push edi
call fcn.00402be8
mov esi, 0x4000
push esi
mov dword [0x4186e4], eax
call fcn.00402be8
push esi
push 0
push eax
mov dword [0x418730], eax
call fcn.0040f410
push edi
call fcn.00402be8
push 0x400
mov dword [0x418724], eax
call fcn.00402be8
push edi
mov dword [0x418a5c], eax
call fcn.00402be8
mov ebx, 0x104
push ebx
mov dword [0x418a44], eax
call fcn.00402be8
mov esi, 0x200
push esi
mov dword [0x418b08], eax
call fcn.00402be8
push edi
mov dword [0x418b20], eax
call fcn.00402be8
push ebx
mov dword [0x418b1c], eax
call fcn.00402be8
push ebx
mov dword [0x418a6c], eax
call fcn.00402be8
push esi
mov dword [0x418a3c], eax
call fcn.00402be8
push esi
push 0
push eax
mov dword [0x418b90], eax
call fcn.0040f410
add esp, 0x44
mov ebx, 0x2ee00
push ebx
call fcn.00402be8
mov esi, 0xfa00
push esi
mov dword [0x418778], eax
call fcn.00402be8
push esi
mov dword [0x418b5c], eax
call fcn.00402be8
push esi
mov dword [0x418a48], eax
call fcn.00402be8
push esi
mov dword [0x418af0], eax
call fcn.00402be8
push esi
mov dword [0x418b64], eax
call fcn.00402be8
push esi
mov dword [0x418a28], eax
call fcn.00402be8
push ebx
mov dword [0x418ae0], eax
call fcn.00402be8
push esi
mov dword [0x41872c], eax
call fcn.00402be8
push ebx
mov dword [0x4186cc], eax
call fcn.00402be8
push ebx
mov dword [0x418728], eax
call fcn.00402be8
mov dword [0x41870c], eax
push esi
call fcn.00402be8
push esi
mov dword [0x418b18], eax
call fcn.00402be8
push esi
mov dword [0x418744], eax
call fcn.00402be8
push esi
mov dword [0x418a34], eax
call fcn.00402be8
push 0x1000
mov dword [0x418a30], eax
call fcn.00402be8
add esp, 0x40
push esi
mov dword [0x418a58], eax
call fcn.00402be8
and dword [0x4186f8], 0
push edi
push dword [0x418b1c]
mov dword [0x4186ec], eax
push 0x19
push dword [0x418790]
call fcn.00403fe3
push 0x200
push dword [0x418b20]
push 0x44
push dword [0x418790]
call fcn.00403fe3
xor ebx, ebx
add esp, 0x24
cmp byte [ebp - 0x450], bl
je 0x40ee8e
push 0x7f02
push ebx
call dword [0x4142a8]
mov esi, dword [0x414288]
push eax
call esi
mov dword [ebp + 0x78], eax
lea eax, [ebp - 0xb9c]
push eax
lea eax, [ebp - 0x450]
push eax
call fcn.00405f42
test eax, eax
pop ecx
pop ecx
push dword [ebp + 0x78]
jne 0x40ee8c
call esi
cmp dword [0x418704], ebx
mov ecx, 0x3e8
je 0x40ebd4
mov dword [0x41868c], ecx
mov byte [0x418b9c], 0xb
cmp dword [0x418a70], ebx
mov eax, dword [0x418aec]
je 0x40ebf9
mov edx, eax
neg edx
sbb edx, edx
and edx, 9
add edx, ecx
mov dword [0x41868c], edx
mov byte [0x418b9c], 0xb
cmp dword [0x41878c], ebx
jne 0x40ecb2
cmp eax, ebx
jne 0x40ec0e
call fcn.00403121
push ebx
push dword [0x418ba8]
call dword [0x414378]
push ebx
push 0x40a008
push dword [0x418ba8]
call dword [0x41428c]
neg eax
sbb eax, eax
and eax, dword [0x418ba8]
push eax
push 0x6a
push dword [0x418790]
call dword [0x4142e4]
cmp dword [0x418704], ebx
mov dword [0x418794], eax
jne 0x40ecb2
cmp dword [0x418738], ebx
jne 0x40ee30
mov esi, dword [0x414364]
xor ebx, ebx
cmp dword [0x4186b8], ebx
jne 0x40ecb4
jmp 0x40ec99
lea eax, [ebp + 0x28]
push eax
push dword [0x418794]
call dword [0x4142ac]
test eax, eax
jne 0x40ec99
lea eax, [ebp + 0x28]
push eax
call dword [0x414368]
lea eax, [ebp + 0x28]
push eax
call dword [0x41436c]
push 1
push ebx
push ebx
lea eax, [ebp + 0x28]
push ebx
push eax
call esi
test eax, eax
jne 0x40ec71
cmp dword [0x418738], ebx
je 0x40ec67
jmp 0x40ecb4
xor ebx, ebx
cmp dword [0x418738], ebx
jne 0x40ee30
push 0x414474
call fcn.0040f70d
xor esi, esi
xor ebx, ebx
cmp dword [0x4186e0], esi
pop ecx
mov dword [ebp + 0x78], esi
je 0x40ed36
push 0x415370
call dword [0x414264]
cmp eax, esi
mov dword [ebp + 0x78], eax
je 0x40ed36
push 0x41535c
push eax
call dword [0x41426c]
mov ebx, eax
cmp ebx, esi
je 0x40ed36
push dword [0x4186e4]
lea eax, [ebp - 0x3c]
push 0x41534c
push eax
mov dword [ebp - 0x4c], 0x64
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x40], esi
call dword [0x414348]
add esp, 0xc
lea eax, [ebp + 0x10]
push eax
lea eax, [ebp - 0x4c]
push eax
call ebx
test eax, eax
jne 0x40ed36
xor ebx, ebx
mov eax, dword [0x41868c]
cmp eax, 0x3f1
je 0x40edde
cmp dword [0x418aec], esi
je 0x40ed5a
cmp dword [0x4186e8], esi
jne 0x40edde
cmp eax, 0x3e9
jne 0x40edcf
mov eax, dword [0x418690]
cmp eax, esi
je 0x40edcf
cmp eax, 2
jne 0x40ed76
call fcn.00402213
jmp 0x40ede3
cmp eax, 1
jne 0x40ede3
push 0x104
lea eax, [ebp - 0x654]
push eax
call dword [0x4141ec]
push 0x415244
lea eax, [ebp - 0x654]
push eax
call dword [0x4141dc]
push dword [0x418780]
lea eax, [ebp - 0x250]
push 0x415330
push eax
call dword [0x414348]
lea eax, [ebp - 0x250]
push eax
lea eax, [ebp - 0x654]
push eax
call fcn.0040317b
add esp, 0x14
jmp 0x40ede3
lea eax, [ebp - 0x450]
push eax
call fcn.0040c28c
pop ecx
jmp 0x40ede3
call fcn.0040b405
push esi
push esi
push 0x1a
push 0xffff
call dword [0x414294]
cmp ebx, esi
je 0x40ee22
cmp dword [0x418738], esi
mov dword [ebp - 0x4c], 0x65
je 0x40ee0c
mov dword [ebp - 0x48], 0xd
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x40], eax
lea eax, [ebp + 0x10]
push eax
lea eax, [ebp - 0x4c]
push eax
call ebx
cmp dword [ebp + 0x78], esi
je 0x40ee30
push dword [ebp + 0x78]
call dword [0x4141f4]
xor ebx, ebx
cmp dword [0x418748], ebx
je 0x40ee71
cmp dword [0x41878c], ebx
jne 0x40ee85
xor eax, eax
cmp dword [0x4186c0], ebx
setne al
push eax
push dword [0x418b1c]
push dword [0x418b20]
push dword [0x418794]
call dword [str.AD__b]
cmp eax, 2
jne 0x40ee71
mov dword [0x418748], ebx
cmp dword [0x41878c], ebx
jne 0x40ee85
push dword [0x418794]
call dword [0x414334]
call fcn.00404170
jmp 0x40ee8e
call esi
mov eax, dword [0x418ba0]
cmp eax, ebx
je 0x40ee9e
push eax
call dword [0x414334]
push dword [0x418ba8]
call dword [0x414334]
mov esi, dword [0x414280]
jmp 0x40eec6
lea eax, [ebp + 0x28]
push eax
call dword [0x414368]
lea eax, [ebp + 0x28]
push eax
call dword [0x41436c]
push ebx
push ebx
lea eax, [ebp + 0x28]
push ebx
push eax
call esi
test eax, eax
jne 0x40eeb2
mov eax, dword [0x418b58]
cmp eax, ebx
je 0x40eee1
push dword [ebp + 0x70]
call eax
cmp dword [0x4186bc], ebx
je 0x40ef0f
push edi
lea eax, [ebp - 0x350]
push eax
call dword [0x414248]
push ebx
lea eax, [ebp - 0x350]
push eax
push 0x2001
push 0x1000
call dword [0x4186bc]
mov eax, dword [0x418b24]
cmp eax, ebx
je 0x40ef1f
push eax
call dword [0x4141f4]
push dword [0x418b30]
call dword [0x41409c]
push dword [ebp + 0x4c]
mov esi, dword [0x41421c]
call esi
push dword [ebp + 0x44]
call esi
push dword [ebp + 0x48]
call esi
mov eax, dword [0x418a2c]
cmp eax, ebx
je 0x40ef5c
push eax
call dword [0x41423c]
push dword [0x418a2c]
call dword [0x414240]
cmp dword [0x418748], ebx
je 0x40ef7f
mov eax, dword [0x4186c0]
cmp eax, 1
je 0x40ef72
cmp eax, ebx
jne 0x40ef7f
lea eax, [ebp - 0x450]
push eax
call fcn.004034f6
pop ecx
mov eax, dword [0x418a60]
cmp eax, ebx
je 0x40ef8f
push eax
call dword [0x41409c]
mov eax, dword [0x41874c]
cmp eax, ebx
je 0x40ef9f
push eax
call dword [0x41409c]
cmp dword [ebp + 0x50], ebx
je 0x40f022
cmp dword [0x418738], ebx
jne 0x40f0e9
push edi
lea eax, [ebp - 0x350]
push eax
push dword [ebp + 0x70]
call dword [0x4140e0]
cmp dword [0x4186c0], ebx
mov esi, dword [0x4140d8]
je 0x40efe4
push 0x200
lea eax, [ebp - 0x84]
push eax
lea eax, [ebp - 0x350]
push eax
call esi
push 0x415428
lea eax, [ebp - 0x350]
push eax
call dword [0x41425c]
lea ecx, [ebp - 0x350]
sub ecx, 3
add eax, ecx
push eax
call dword [0x4141e0]
push 0x200
lea eax, [ebp - 0x84]
push eax
lea eax, [ebp - 0x350]
push eax
call esi
jmp 0x40f0e9
push edi
lea eax, [ebp - 0x550]
push eax
push dword [ebp + 0x70]
call dword [0x4140e0]
lea eax, [ebp - 0x550]
push ebx
push eax
call fcn.00403c6b
cmp dword [0x418748], ebx
pop ecx
pop ecx
mov byte [ebp + 0x70], 0
je 0x40f08d
cmp dword [0x4186c0], 2
jne 0x40f068
push 0x41532c
lea eax, [ebp + 0x70]
push eax
call dword [0x4141e0]
jmp 0x40f08d
cmp dword [0x418694], ebx
je 0x40f08d
cmp dword [0x418738], ebx
jne 0x40f08d
push 0x41532c
lea eax, [ebp + 0x70]
push eax
call dword [0x4141e0]
mov dword [0x418748], ebx
lea eax, [ebp - 0xb9c]
push eax
lea eax, [ebp - 0x550]
push eax
lea eax, [ebp + 0x70]
push eax
lea eax, [ebp - 0xa9c]
push eax
lea eax, [ebp - 0x350]
push 0x41531c
push eax
call dword [0x414348]
add esp, 0x18
cmp dword [0x418694], ebx
je 0x40f0dc
cmp dword [0x418738], ebx
jne 0x40f0dc
push 5
lea eax, [ebp - 0x350]
push eax
call dword [0x4140d0]
jmp 0x40f0e9
lea eax, [ebp - 0x550]
push eax
call dword [0x4140c4]
call fcn.00402c78
mov eax, dword [0x4186c4]
cmp eax, ebx
je 0x40f0fe
push eax
call dword [0x41409c]
cmp dword [0x418748], ebx
je 0x40f143
mov eax, dword [0x4186c0]
cmp eax, 1
je 0x40f134
cmp eax, ebx
je 0x40f134
cmp dword [ebp + 0x50], ebx
jne 0x40f143
cmp dword [0x418694], ebx
je 0x40f129
cmp dword [0x418738], ebx
je 0x40f143
push ebx
push 2
call dword [0x414284]
jmp 0x40f143
push 5
lea eax, [ebp - 0x450]
push eax
call dword [0x4140d0]
cmp dword [0x418aec], ebx
je 0x40f154
push dword [ebp + 0x60]
call fcn.00403393
pop ecx
cmp dword [ebp + 0x60], ebx
je 0x40f162
push dword [ebp + 0x60]
call dword [0x414040]
push dword [ebp + 0x30]
call dword [0x4140d4]
int3