Function at 0x402b7c
Capabilities:
Hash data using fnv
Resolve function by fnv-1a hash
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push esi
push ebx
sub esp, 0x210
mov dword [ebp - 0x1ec], ecx
mov dword [ebp - 0x38], 0xa3e6f6c3
mov dword [ebp - 0x3c], 0x53b2070f
mov dword [ebp - 0x40], 0x30
mov eax, dword [ebp - 0x40]
mov eax, dword fs:[eax]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0xc]
add eax, 0x14
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
mov eax, dword [eax]
mov dword [ebp - 0x4c], eax
jmp 0x402dd7
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x54], 8
mov eax, dword [ebp - 0x54]
neg eax
mov edx, eax
mov eax, dword [ebp - 0x50]
add eax, edx
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x58]
mov eax, dword [eax + 0x18]
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 0
je 0x402dc8
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x64]
mov eax, dword [eax + 0x3c]
mov edx, eax
mov eax, dword [ebp - 0x60]
add eax, edx
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x68]
mov eax, dword [eax + 0x78]
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 0
je 0x402dcb
mov edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x6c]
add eax, edx
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x70]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 0x5c]
add eax, edx
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x7c], 0x811c9dc5
jmp 0x402c86
lea eax, [ebp - 0x100]
mov ecx, eax
call fcn.0043b6a4
mov eax, dword [ebp - 0x78]
movzx eax, byte [eax]
movsx edx, al
lea eax, [ebp - 0x100]
mov dword [esp], edx
mov ecx, eax
call fcn.0043b6b0
sub esp, 4
movzx eax, al
xor eax, dword [ebp - 0x7c]
imul eax, eax, 0x1000193
mov dword [ebp - 0x7c], eax
add dword [ebp - 0x78], 1
mov eax, dword [ebp - 0x78]
movzx eax, byte [eax]
test al, al
jne 0x402c4a
mov eax, dword [ebp - 0x7c]
nop
cmp dword [ebp - 0x38], eax
setne al
test al, al
jne 0x402dce
mov eax, dword [ebp - 0x70]
mov edx, dword [eax + 0x20]
mov eax, dword [ebp - 0x5c]
add eax, edx
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0x70]
mov edx, dword [eax + 0x24]
mov eax, dword [ebp - 0x5c]
add eax, edx
mov dword [ebp - 0x84], eax
mov eax, dword [ebp - 0x70]
mov edx, dword [eax + 0x1c]
mov eax, dword [ebp - 0x5c]
add eax, edx
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x8c], 0
jmp 0x402db4
mov eax, dword [ebp - 0x8c]
lea edx, [eax*4]
mov eax, dword [ebp - 0x80]
add eax, edx
mov edx, dword [eax]
mov eax, dword [ebp - 0x5c]
add eax, edx
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x98], 0x811c9dc5
jmp 0x402d60
lea eax, [ebp - 0xff]
mov ecx, eax
call fcn.0043b680
mov eax, dword [ebp - 0x94]
movzx eax, byte [eax]
movsx edx, al
lea eax, [ebp - 0xff]
mov dword [esp], edx
mov ecx, eax
call fcn.0043b68c
sub esp, 4
movzx eax, al
xor eax, dword [ebp - 0x98]
imul eax, eax, 0x1000193
mov dword [ebp - 0x98], eax
add dword [ebp - 0x94], 1
mov eax, dword [ebp - 0x94]
movzx eax, byte [eax]
test al, al
jne 0x402d18
mov eax, dword [ebp - 0x98]
nop
cmp dword [ebp - 0x3c], eax
sete al
test al, al
je 0x402dad
mov eax, dword [ebp - 0x8c]
lea edx, [eax + eax]
mov eax, dword [ebp - 0x84]
add eax, edx
movzx eax, word [eax]
movzx eax, ax
lea edx, [eax*4]
mov eax, dword [ebp - 0x88]
add eax, edx
mov edx, dword [eax]
mov eax, dword [ebp - 0x5c]
add eax, edx
jmp 0x402dea
add dword [ebp - 0x8c], 1
mov eax, dword [ebp - 0x70]
mov eax, dword [eax + 0x18]
cmp dword [ebp - 0x8c], eax
jb 0x402ce1
jmp 0x402dcf
nop
jmp 0x402dcf
nop
jmp 0x402dcf
nop
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x48]
cmp eax, dword [ebp - 0x4c]
jne 0x402bc4
int3
nop
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x9c], 0xa3e6f6c3
mov dword [ebp - 0xa0], 0xf8f45725
mov dword [ebp - 0xa4], 0x30
mov eax, dword [ebp - 0xa4]
mov eax, dword fs:[eax]
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0xa8]
mov eax, dword [eax + 0xc]
add eax, 0x14
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0xac]
mov eax, dword [eax]
mov dword [ebp - 0xb0], eax
jmp 0x4030e6
mov eax, dword [ebp - 0xb0]
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0xb8], 8
mov eax, dword [ebp - 0xb8]
neg eax
mov edx, eax
mov eax, dword [ebp - 0xb4]
add eax, edx
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp - 0xbc]
mov eax, dword [eax + 0x18]
mov dword [ebp - 0xc0], eax
cmp dword [ebp - 0xc0], 0
je 0x4030d1
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xc8]
mov eax, dword [eax + 0x3c]
mov edx, eax
mov eax, dword [ebp - 0xc4]
add eax, edx
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xcc]
mov eax, dword [eax + 0x78]
mov dword [ebp - 0xd0], eax
cmp dword [ebp - 0xd0], 0
je 0x4030d4
mov edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xd0]
add eax, edx
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xd4]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 0xc0]
add eax, edx
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xe0], 0x811c9dc5
jmp 0x402f62
lea eax, [ebp - 0xfe]
mov ecx, eax
call fcn.0043b6a4
mov eax, dword [ebp - 0xdc]
movzx eax, byte [eax]
movsx edx, al
lea eax, [ebp - 0xfe]
mov dword [esp], edx
mov ecx, eax
call fcn.0043b6b0
sub esp, 4
movzx eax, al
xor eax, dword [ebp - 0xe0]
imul eax, eax, 0x1000193
mov dword [ebp - 0xe0], eax
add dword [ebp - 0xdc], 1
mov eax, dword [ebp - 0xdc]
movzx eax, byte [eax]
test al, al
jne 0x402f1a
mov eax, dword [ebp - 0xe0]
nop
cmp dword [ebp - 0x9c], eax
setne al
test al, al
jne 0x4030d7
mov eax, dword [ebp - 0xd4]
mov edx, dword [eax + 0x20]
mov eax, dword [ebp - 0xc0]
add eax, edx
mov dword [ebp - 0xe4], eax
mov eax, dword [ebp - 0xd4]
mov edx, dword [eax + 0x24]
mov eax, dword [ebp - 0xc0]
add eax, edx
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0xd4]
mov edx, dword [eax + 0x1c]
mov eax, dword [ebp - 0xc0]
add eax, edx
mov dword [ebp - 0xec], eax
mov dword [ebp - 0xf0], 0
jmp 0x4030ba
mov eax, dword [ebp - 0xf0]
lea edx, [eax*4]
mov eax, dword [ebp - 0xe4]
add eax, edx
mov edx, dword [eax]
mov eax, dword [ebp - 0xc0]
add eax, edx
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xfc], 0x811c9dc5
jmp 0x403060
lea eax, [ebp - 0xfd]
mov ecx, eax
call fcn.0043b680
mov eax, dword [ebp - 0xf8]
movzx eax, byte [eax]
movsx edx, al
lea eax, [ebp - 0xfd]
mov dword [esp], edx
mov ecx, eax
call fcn.0043b68c
sub esp, 4
movzx eax, al
xor eax, dword [ebp - 0xfc]
imul eax, eax, 0x1000193
mov dword [ebp - 0xfc], eax
add dword [ebp - 0xf8], 1
mov eax, dword [ebp - 0xf8]
movzx eax, byte [eax]
test al, al
jne 0x403018
mov eax, dword [ebp - 0xfc]
nop
cmp dword [ebp - 0xa0], eax
sete al
test al, al
je 0x4030b3
mov eax, dword [ebp - 0xf0]
lea edx, [eax + eax]
mov eax, dword [ebp - 0xe8]
add eax, edx
movzx eax, word [eax]
movzx eax, ax
lea edx, [eax*4]
mov eax, dword [ebp - 0xec]
add eax, edx
mov edx, dword [eax]
mov eax, dword [ebp - 0xc0]
add eax, edx
jmp 0x4030ff
add dword [ebp - 0xf0], 1
mov eax, dword [ebp - 0xd4]
mov eax, dword [eax + 0x18]
cmp dword [ebp - 0xf0], eax
jb 0x402fdb
jmp 0x4030d8
nop
jmp 0x4030d8
nop
jmp 0x4030d8
nop
mov eax, dword [ebp - 0xb0]
mov eax, dword [eax]
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xac]
cmp eax, dword [ebp - 0xb0]
jne 0x402e40
int3
nop
mov dword [ebp - 0x14], eax
mov ebx, dword [ebp - 0x14]
mov eax, 0x57
mov byte [ebp - 0x1ab], al
mov eax, 0x69
mov byte [ebp - 0x1aa], al
mov eax, 0x6e
mov byte [ebp - 0x1a9], al
mov eax, 0x48
mov byte [ebp - 0x1a8], al
mov eax, 0x74
mov byte [ebp - 0x1a7], al
mov eax, 0x74
mov byte [ebp - 0x1a6], al
mov eax, 0x70
mov byte [ebp - 0x1a5], al
mov eax, 0x43
mov byte [ebp - 0x1a4], al
mov eax, 0x6f
mov byte [ebp - 0x1a3], al
mov eax, 0x6e
mov byte [ebp - 0x1a2], al
mov eax, 0x6e
mov byte [ebp - 0x1a1], al
mov eax, 0x65
mov byte [ebp - 0x1a0], al
mov eax, 0x63
mov byte [ebp - 0x19f], al
mov eax, 0x74
mov byte [ebp - 0x19e], al
mov eax, 0
mov byte [ebp - 0x19d], al
nop
mov eax, dword [ebp - 0x10]
mov edx, 0x57
mov byte [ebp - 0x19c], dl
mov edx, 0x49
mov byte [ebp - 0x19b], dl
mov edx, 0x4e
mov byte [ebp - 0x19a], dl
mov edx, 0x48
mov byte [ebp - 0x199], dl
mov edx, 0x54
mov byte [ebp - 0x198], dl
mov edx, 0x54
mov byte [ebp - 0x197], dl
mov edx, 0x50
mov byte [ebp - 0x196], dl
mov edx, 0x2e
mov byte [ebp - 0x195], dl
mov edx, 0x64
mov byte [ebp - 0x194], dl
mov edx, 0x6c
mov byte [ebp - 0x193], dl
mov edx, 0x6c
mov byte [ebp - 0x192], dl
mov edx, 0
mov byte [ebp - 0x191], dl
nop
lea edx, [ebp - 0x19c]
mov dword [esp], edx
call eax
sub esp, 4
lea edx, [ebp - 0x1ab]
mov dword [esp + 4], edx
mov dword [esp], eax
call ebx
sub esp, 8
mov dword [ebp - 0x18], eax
mov ebx, dword [ebp - 0x14]
mov eax, 0x57
mov byte [ebp - 0x190], al
mov eax, 0x69
mov byte [ebp - 0x18f], al
mov eax, 0x6e
mov byte [ebp - 0x18e], al
mov eax, 0x48
mov byte [ebp - 0x18d], al
mov eax, 0x74
mov byte [ebp - 0x18c], al
mov eax, 0x74
mov byte [ebp - 0x18b], al
mov eax, 0x70
mov byte [ebp - 0x18a], al
mov eax, 0x4f
mov byte [ebp - 0x189], al
mov eax, 0x70
mov byte [ebp - 0x188], al
mov eax, 0x65
mov byte [ebp - 0x187], al
mov eax, 0x6e
mov byte [ebp - 0x186], al
mov eax, 0x52
mov byte [ebp - 0x185], al
mov eax, 0x65
mov byte [ebp - 0x184], al
mov eax, 0x71
mov byte [ebp - 0x183], al
mov eax, 0x75
mov byte [ebp - 0x182], al
mov eax, 0x65
mov byte [ebp - 0x181], al
mov eax, 0x73
mov byte [ebp - 0x180], al
mov eax, 0x74
mov byte [ebp - 0x17f], al
mov eax, 0
mov byte [ebp - 0x17e], al
nop
mov eax, dword [ebp - 0x10]
mov edx, 0x57
mov byte [ebp - 0x17d], dl
mov edx, 0x49
mov byte [ebp - 0x17c], dl
mov edx, 0x4e
mov byte [ebp - 0x17b], dl
mov edx, 0x48
mov byte [ebp - 0x17a], dl
mov edx, 0x54
mov byte [ebp - 0x179], dl
mov edx, 0x54
mov byte [ebp - 0x178], dl
mov edx, 0x50
mov byte [ebp - 0x177], dl
mov edx, 0x2e
mov byte [ebp - 0x176], dl
mov edx, 0x64
mov byte [ebp - 0x175], dl
mov edx, 0x6c
mov byte [ebp - 0x174], dl
mov edx, 0x6c
mov byte [ebp - 0x173], dl
mov edx, 0
mov byte [ebp - 0x172], dl
nop
lea edx, [ebp - 0x17d]
mov dword [esp], edx
call eax
sub esp, 4
lea edx, [ebp - 0x190]
mov dword [esp + 4], edx
mov dword [esp], eax
call ebx
sub esp, 8
mov dword [ebp - 0x1c], eax
mov ebx, dword [ebp - 0x14]
mov eax, 0x57
mov byte [ebp - 0x171], al
mov eax, 0x69
mov byte [ebp - 0x170], al
mov eax, 0x6e
mov byte [ebp - 0x16f], al
mov eax, 0x48
mov byte [ebp - 0x16e], al
mov eax, 0x74
mov byte [ebp - 0x16d], al
mov eax, 0x74
mov byte [ebp - 0x16c], al
mov eax, 0x70
mov byte [ebp - 0x16b], al
mov eax, 0x53
mov byte [ebp - 0x16a], al
mov eax, 0x65
mov byte [ebp - 0x169], al
mov eax, 0x74
mov byte [ebp - 0x168], al
mov eax, 0x4f
mov byte [ebp - 0x167], al
mov eax, 0x70
mov byte [ebp - 0x166], al
mov eax, 0x74
mov byte [ebp - 0x165], al
mov eax, 0x69
mov byte [ebp - 0x164], al
mov eax, 0x6f
mov byte [ebp - 0x163], al
mov eax, 0x6e
mov byte [ebp - 0x162], al
mov eax, 0
mov byte [ebp - 0x161], al
nop
mov eax, dword [ebp - 0x10]
mov edx, 0x57
mov byte [ebp - 0x160], dl
mov edx, 0x49
mov byte [ebp - 0x15f], dl
mov edx, 0x4e
mov byte [ebp - 0x15e], dl
mov edx, 0x48
mov byte [ebp - 0x15d], dl
mov edx, 0x54
mov byte [ebp - 0x15c], dl
mov edx, 0x54
mov byte [ebp - 0x15b], dl
mov edx, 0x50
mov byte [ebp - 0x15a], dl
mov edx, 0x2e
mov byte [ebp - 0x159], dl
mov edx, 0x64
mov byte [ebp - 0x158], dl
mov edx, 0x6c
mov byte [ebp - 0x157], dl
mov edx, 0x6c
mov byte [ebp - 0x156], dl
mov edx, 0
mov byte [ebp - 0x155], dl
nop
lea edx, [ebp - 0x160]
mov dword [esp], edx
call eax
sub esp, 4
lea edx, [ebp - 0x171]
mov dword [esp + 4], edx
mov dword [esp], eax
call ebx
sub esp, 8
mov dword [ebp - 0x20], eax
mov ebx, dword [ebp - 0x14]
mov eax, 0x57
mov byte [ebp - 0x154], al
mov eax, 0x69
mov byte [ebp - 0x153], al
mov eax, 0x6e
mov byte [ebp - 0x152], al
mov eax, 0x48
mov byte [ebp - 0x151], al
mov eax, 0x74
mov byte [ebp - 0x150], al
mov eax, 0x74
mov byte [ebp - 0x14f], al
mov eax, 0x70
mov byte [ebp - 0x14e], al
mov eax, 0x53
mov byte [ebp - 0x14d], al
mov eax, 0x65
mov byte [ebp - 0x14c], al
mov eax, 0x6e
mov byte [ebp - 0x14b], al
mov eax, 0x64
mov byte [ebp - 0x14a], al
mov eax, 0x52
mov byte [ebp - 0x149], al
mov eax, 0x65
mov byte [ebp - 0x148], al
mov eax, 0x71
mov byte [ebp - 0x147], al
mov eax, 0x75
mov byte [ebp - 0x146], al
mov eax, 0x65
mov byte [ebp - 0x145], al
mov eax, 0x73
mov byte [ebp - 0x144], al
mov eax, 0x74
mov byte [ebp - 0x143], al
mov eax, 0
mov byte [ebp - 0x142], al
nop
mov eax, dword [ebp - 0x10]
mov edx, 0x57
mov byte [ebp - 0x141], dl
mov edx, 0x49
mov byte [ebp - 0x140], dl
mov edx, 0x4e
mov byte [ebp - 0x13f], dl
mov edx, 0x48
mov byte [ebp - 0x13e], dl
mov edx, 0x54
mov byte [ebp - 0x13d], dl
mov edx, 0x54
mov byte [ebp - 0x13c], dl
mov edx, 0x50
mov byte [ebp - 0x13b], dl
mov edx, 0x2e
mov byte [ebp - 0x13a], dl
mov edx, 0x64
mov byte [ebp - 0x139], dl
mov edx, 0x6c
mov byte [ebp - 0x138], dl
mov edx, 0x6c
mov byte [ebp - 0x137], dl
mov edx, 0
mov byte [ebp - 0x136], dl
nop
lea edx, [ebp - 0x141]
mov dword [esp], edx
call eax
sub esp, 4
lea edx, [ebp - 0x154]
mov dword [esp + 4], edx
mov dword [esp], eax
call ebx
sub esp, 8
mov dword [ebp - 0x24], eax
mov ebx, dword [ebp - 0x14]
mov eax, 0x57
mov byte [ebp - 0x135], al
mov eax, 0x69
mov byte [ebp - 0x134], al
mov eax, 0x6e
mov byte [ebp - 0x133], al
mov eax, 0x48
mov byte [ebp - 0x132], al
mov eax, 0x74
mov byte [ebp - 0x131], al
mov eax, 0x74
mov byte [ebp - 0x130], al
mov eax, 0x70
mov byte [ebp - 0x12f], al
mov eax, 0x52
mov byte [ebp - 0x12e], al
mov eax, 0x65
mov byte [ebp - 0x12d], al
mov eax, 0x63
mov byte [ebp - 0x12c], al
mov eax, 0x65
mov byte [ebp - 0x12b], al
mov eax, 0x69
mov byte [ebp - 0x12a], al
mov eax, 0x76
mov byte [ebp - 0x129], al
mov eax, 0x65
mov byte [ebp - 0x128], al
mov eax, 0x52
mov byte [ebp - 0x127], al
mov eax, 0x65
mov byte [ebp - 0x126], al
mov eax, 0x73
mov byte [ebp - 0x125], al
mov eax, 0x70
mov byte [ebp - 0x124], al
mov eax, 0x6f
mov byte [ebp - 0x123], al
mov eax, 0x6e
mov byte [ebp - 0x122], al
mov eax, 0x73
mov byte [ebp - 0x121], al
mov eax, 0x65
mov byte [ebp - 0x120], al
mov eax, 0
mov byte [ebp - 0x11f], al
nop
mov eax, dword [ebp - 0x10]
mov edx, 0x57
mov byte [ebp - 0x11e], dl
mov edx, 0x49
mov byte [ebp - 0x11d], dl
mov edx, 0x4e
mov byte [ebp - 0x11c], dl
mov edx, 0x48
mov byte [ebp - 0x11b], dl
mov edx, 0x54
mov byte [ebp - 0x11a], dl
mov edx, 0x54
mov byte [ebp - 0x119], dl
mov edx, 0x50
mov byte [ebp - 0x118], dl
mov edx, 0x2e
mov byte [ebp - 0x117], dl
mov edx, 0x64
mov byte [ebp - 0x116], dl
mov edx, 0x6c
mov byte [ebp - 0x115], dl
mov edx, 0x6c
mov byte [ebp - 0x114], dl
mov edx, 0
mov byte [ebp - 0x113], dl
nop
lea edx, [ebp - 0x11e]
mov dword [esp], edx
call eax
sub esp, 4
lea edx, [ebp - 0x135]
mov dword [esp + 4], edx
mov dword [esp], eax
call ebx
sub esp, 8
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x1c4]
mov ecx, eax
call fcn.004397b0
lea eax, [ebp - 0x1dc]
mov ecx, eax
call fcn.004397b0
mov eax, dword [ebp - 0x1ec]
lea edx, [ebp - 0x1de]
mov dword [esp + 0xc], edx
lea edx, [ebp - 0x1dc]
mov dword [esp + 8], edx
lea edx, [ebp - 0x1c4]
mov dword [esp + 4], edx
mov edx, dword [ebp + 8]
mov dword [esp], edx
mov ecx, eax
call fcn.0040459c
sub esp, 0x10
movzx eax, word [ebp - 0x1de]
cmp ax, 0x1bb
jne 0x4038d5
mov eax, dword [ebp - 0x1ec]
mov dword [eax + 4], 1
mov eax, dword [ebp - 0x1ec]
mov eax, dword [eax + 4]
test eax, eax
je 0x4038e9
mov eax, 0x800000
jmp 0x4038ee
mov eax, 0
mov dword [ebp - 0x2c], eax
cmp dword [ebp + 0xc], 0
jne 0x403930
mov eax, 0x47
mov word [ebp - 0x112], ax
mov eax, 0x45
mov word [ebp - 0x110], ax
mov eax, 0x54
mov word [ebp - 0x10e], ax
mov eax, 0
mov word [ebp - 0x10c], ax
nop
lea eax, [ebp - 0x112]
jmp 0x403973
mov eax, 0x50
mov word [ebp - 0x10a], ax
mov eax, 0x4f
mov word [ebp - 0x108], ax
mov eax, 0x53
mov word [ebp - 0x106], ax
mov eax, 0x54
mov word [ebp - 0x104], ax
mov eax, 0
mov word [ebp - 0x102], ax
nop
lea eax, [ebp - 0x10a]
mov dword [ebp - 0x30], eax
mov ebx, dword [ebp - 0x18]
movzx eax, word [ebp - 0x1de]
movzx esi, ax
lea eax, [ebp - 0x1c4]
mov ecx, eax
call fcn.0042ccf0
mov edx, dword [ebp - 0x1ec]
mov edx, dword [edx + 8]
mov dword [esp + 0xc], 0
mov dword [esp + 8], esi
mov dword [esp + 4], eax
mov dword [esp], edx
call ebx
sub esp, 0x10
mov edx, dword [ebp - 0x1ec]
mov dword [edx + 0xc], eax
mov eax, dword [ebp - 0x1ec]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x403b54
mov ebx, dword [ebp - 0x1c]
lea eax, [ebp - 0x1dc]
mov ecx, eax
call fcn.0042ccf0
mov edx, dword [ebp - 0x1ec]
mov edx, dword [edx + 0xc]
mov ecx, dword [ebp - 0x2c]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x30]
mov dword [esp + 4], eax
mov dword [esp], edx
call ebx
sub esp, 0x1c
mov edx, dword [ebp - 0x1ec]
mov dword [edx + 0x10], eax
mov eax, dword [ebp - 0x1ec]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x403b57
mov eax, dword [ebp - 0x1ec]
mov eax, dword [eax + 4]
test eax, eax
je 0x403a78
mov dword [ebp - 0x1e4], 0x3381
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x1ec]
mov edx, dword [edx + 0x10]
mov dword [esp + 0xc], 4
lea ecx, [ebp - 0x1e4]
mov dword [esp + 8], ecx
mov dword [esp + 4], 0x1f
mov dword [esp], edx
call eax
sub esp, 0x10
mov dword [ebp - 0xc], eax
cmp dword [ebp + 0x10], 0
je 0x403a8b
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
jmp 0x403a90
mov eax, 0
mov dword [ebp - 0x34], eax
cmp dword [ebp + 0x14], 0
jne 0x403adf
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x1ec]
mov edx, dword [edx + 0x10]
mov dword [esp + 0x18], 0
mov ecx, dword [ebp - 0x34]
mov dword [esp + 0x14], ecx
mov ecx, dword [ebp - 0x34]
mov dword [esp + 0x10], ecx
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], edx
call eax
sub esp, 0x1c
mov dword [ebp - 0xc], eax
jmp 0x403b22
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x1ec]
mov edx, dword [edx + 0x10]
mov dword [esp + 0x18], 0
mov ecx, dword [ebp - 0x34]
mov dword [esp + 0x14], ecx
mov ecx, dword [ebp - 0x34]
mov dword [esp + 0x10], ecx
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], 0xffffffff
mov ecx, dword [ebp + 0x14]
mov dword [esp + 4], ecx
mov dword [esp], edx
call eax
sub esp, 0x1c
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x403b5a
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x1ec]
mov edx, dword [edx + 0x10]
mov dword [esp + 4], 0
mov dword [esp], edx
call eax
sub esp, 8
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x403b5d
mov ebx, 1
jmp 0x403b63
nop
jmp 0x403b5e
nop
jmp 0x403b5e
nop
jmp 0x403b5e
nop
mov ebx, 0
lea eax, [ebp - 0x1dc]
mov ecx, eax
call fcn.0043a6a0
lea eax, [ebp - 0x1c4]
mov ecx, eax
call fcn.0043a6a0
mov eax, ebx
jmp 0x403ba7
lea esp, [ebp - 8]
pop ebx
pop esi
pop ebp
ret 0x10