Function at 0x402a55
Capabilities:
Access peb ldr_data
Get process heap flags
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x338
mov dword [ebp - 0x10], 0x536db3
mov dword [ebp - 0x1b8], 0
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x30]
lea ecx, [ebp - 0x1b8]
mov dword [ebp - 0x1c8], ecx
mov dword [ebp - 0x1c4], eax
mov eax, dword fs:[0x18]
mov dword [ebp - 0x134], eax
mov eax, dword [ebp - 0x134]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x1bc], eax
mov eax, dword [ebp - 0x134]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x1c8]
mov dword [ecx], eax
mov eax, dword [ebp - 0x1bc]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x1c0], eax
mov eax, dword [ebp - 0x1c0]
add eax, 0xc
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x138], eax
mov eax, dword [ebp - 0x138]
mov eax, dword [eax]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x50]
cmp eax, dword [ebp - 0x138]
je 0x402b29
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x130], eax
mov esi, dword [ebp - 0x1c4]
mov eax, dword [ebp - 0x130]
mov ecx, dword [eax + 0x30]
call fcn.004029b5
cmp esi, eax
jne 0x402b1f
mov eax, dword [ebp - 0x130]
mov eax, dword [eax + 0x18]
mov dword [ebp - 0x13c], eax
jmp 0x402b33
mov eax, dword [ebp - 0x50]
mov eax, dword [eax]
mov dword [ebp - 0x50], eax
jmp 0x402ae2
mov dword [ebp - 0x13c], 0
mov eax, dword [ebp - 0x13c]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x28]
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ecx + 0x60]
mov edx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x10]
mov esi, dword [esi + 0x38]
mov dword [ebp - 0x2a8], eax
mov dword [ebp - 0x2a4], ecx
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x2a0], esi
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x34]
add eax, dword [ecx + 0x3c]
mov dword [ebp - 0x29c], eax
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x29c]
mov edx, dword [ebp - 0x2a0]
add eax, dword [ecx + edx*8 + 0x78]
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x94]
add eax, dword [ecx + 0x20]
mov dword [ebp - 0x298], eax
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x94]
add eax, dword [ecx + 0x1c]
mov dword [ebp - 0x294], eax
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x94]
add eax, dword [ecx + 0x24]
mov dword [ebp - 0x290], eax
mov dword [ebp - 0x6c], 0
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x94]
cmp eax, dword [ecx + 0x18]
jae 0x402d13
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x298]
mov edx, dword [ebp - 0x6c]
add eax, dword [ecx + edx*4]
mov dword [ebp - 0x28c], eax
mov eax, dword [ebp - 0x28c]
mov ecx, dword [ebp - 0x2a8]
mov dword [ebp - 0x15c], eax
mov dword [ebp - 0x2b0], ecx
mov dword [ebp - 0xc4], 0
mov ecx, dword [ebp - 0x15c]
call fcn.00402a15
mov dword [ebp - 0x2ac], eax
mov dword [ebp - 0x98], 0
mov eax, dword [ebp - 0x98]
cmp eax, dword [ebp - 0x2ac]
jae 0x402cd6
mov eax, dword [ebp - 0x15c]
mov ecx, dword [ebp - 0x98]
mov al, byte [eax + ecx]
mov byte [ebp - 0x3d], al
mov eax, dword [ebp - 0x2b0]
mov ecx, dword [ebp - 0xc4]
mov dword [ebp - 0x318], eax
mov dword [ebp - 0x314], ecx
mov dword [ebp - 0x114], 0
mov dword [ebp - 0x110], 0
mov eax, dword [ebp - 0x110]
cmp eax, dword [ebp - 0x318]
jae 0x402cb0
mov eax, dword [ebp - 0x314]
add eax, dword [ebp - 0x114]
mov dword [ebp - 0x114], eax
mov eax, dword [ebp - 0x110]
add eax, 1
mov dword [ebp - 0x110], eax
jmp 0x402c7f
mov eax, dword [ebp - 0x114]
movzx ecx, byte [ebp - 0x3d]
add eax, ecx
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp - 0x98]
add eax, 1
mov dword [ebp - 0x98], eax
jmp 0x402c2f
mov eax, dword [ebp - 0xc4]
cmp eax, dword [ebp - 0x2a4]
jne 0x402d05
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x294]
mov edx, dword [ebp - 0x290]
mov esi, dword [ebp - 0x6c]
movzx edx, word [edx + esi*2]
add eax, dword [ecx + edx*4]
mov dword [ebp - 0x158], eax
jmp 0x402d1d
mov eax, dword [ebp - 0x6c]
add eax, 1
mov dword [ebp - 0x6c], eax
jmp 0x402bcb
mov dword [ebp - 0x158], 0
mov eax, dword [ebp - 0x158]
mov dword [ebp - 0x1b4], eax
mov eax, dword [ebp - 0x1b4]
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ecx + 0x24]
xor edx, edx
mov dword [esp], 0
mov dword [esp + 4], ecx
call eax
sub esp, 8
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x28]
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ecx + 0x54]
mov edx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x10]
mov esi, dword [esi + 0x38]
mov dword [ebp - 0x288], eax
mov dword [ebp - 0x284], ecx
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x280], esi
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x30]
add eax, dword [ecx + 0x3c]
mov dword [ebp - 0x27c], eax
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x27c]
mov edx, dword [ebp - 0x280]
add eax, dword [ecx + edx*8 + 0x78]
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x90]
add eax, dword [ecx + 0x20]
mov dword [ebp - 0x278], eax
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x90]
add eax, dword [ecx + 0x1c]
mov dword [ebp - 0x274], eax
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x90]
add eax, dword [ecx + 0x24]
mov dword [ebp - 0x270], eax
mov dword [ebp - 0x68], 0
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x90]
cmp eax, dword [ecx + 0x18]
jae 0x402f21
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x278]
mov edx, dword [ebp - 0x68]
add eax, dword [ecx + edx*4]
mov dword [ebp - 0x26c], eax
mov eax, dword [ebp - 0x26c]
mov ecx, dword [ebp - 0x288]
mov dword [ebp - 0x160], eax
mov dword [ebp - 0x2b8], ecx
mov dword [ebp - 0xc8], 0
mov ecx, dword [ebp - 0x160]
call fcn.00402a15
mov dword [ebp - 0x2b4], eax
mov dword [ebp - 0x9c], 0
mov eax, dword [ebp - 0x9c]
cmp eax, dword [ebp - 0x2b4]
jae 0x402ee4
mov eax, dword [ebp - 0x160]
mov ecx, dword [ebp - 0x9c]
mov al, byte [eax + ecx]
mov byte [ebp - 0x3e], al
mov eax, dword [ebp - 0x2b8]
mov ecx, dword [ebp - 0xc8]
mov dword [ebp - 0x310], eax
mov dword [ebp - 0x30c], ecx
mov dword [ebp - 0x10c], 0
mov dword [ebp - 0x108], 0
mov eax, dword [ebp - 0x108]
cmp eax, dword [ebp - 0x310]
jae 0x402ebe
mov eax, dword [ebp - 0x30c]
add eax, dword [ebp - 0x10c]
mov dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
add eax, 1
mov dword [ebp - 0x108], eax
jmp 0x402e8d
mov eax, dword [ebp - 0x10c]
movzx ecx, byte [ebp - 0x3e]
add eax, ecx
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0x9c]
add eax, 1
mov dword [ebp - 0x9c], eax
jmp 0x402e3d
mov eax, dword [ebp - 0xc8]
cmp eax, dword [ebp - 0x284]
jne 0x402f13
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x274]
mov edx, dword [ebp - 0x270]
mov esi, dword [ebp - 0x68]
movzx edx, word [edx + esi*2]
add eax, dword [ecx + edx*4]
mov dword [ebp - 0x154], eax
jmp 0x402f2b
mov eax, dword [ebp - 0x68]
add eax, 1
mov dword [ebp - 0x68], eax
jmp 0x402dd9
mov dword [ebp - 0x154], 0
mov eax, dword [ebp - 0x154]
mov dword [ebp - 0x1b0], eax
mov eax, dword [ebp - 0x1b0]
mov ecx, dword [ebp - 0x4c]
xor edx, edx
mov dword [esp], 0
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x104
call eax
sub esp, 0xc
mov dword [ebp - 0x1ac], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x2c]
mov dword [ebp - 0x12c], eax
mov eax, dword [ebp - 0x1ac]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x38]
sub ecx, 1
movzx eax, word [eax + ecx*2]
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ecx + 0x44]
movzx ecx, cx
cmp eax, ecx
je 0x402fa6
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x38]
mov word [eax + ecx*2], 0
mov eax, dword [ebp - 0x38]
add eax, 0xffffffff
mov dword [ebp - 0x38], eax
jmp 0x402f75
mov dword [ebp - 0x78], 0
mov eax, dword [ebp - 0x12c]
mov ecx, dword [ebp - 0x78]
movsx eax, byte [eax + ecx]
cmp eax, 0
je 0x402fea
mov eax, dword [ebp - 0x12c]
mov ecx, dword [ebp - 0x78]
movsx eax, byte [eax + ecx]
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x38]
mov word [ecx + edx*2], ax
mov eax, dword [ebp - 0x38]
add eax, 1
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x78]
add eax, 1
mov dword [ebp - 0x78], eax
jmp 0x402fad
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x28]
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ecx + 0x1c]
mov edx, dword [ebp - 0x3c]
les ecx, [ebx + 0x768bf075]
cmp byte [ecx - 0x2677b], cl
dec dword [ecx - 0x26373]
dec dword [ecx - 0x4a762bab]
mov al, byte [0x8bfffffd]
inc ebp
aam 0x8b
dec ebp
aam 3
inc ecx
cmp al, 0x89
test dword [ebp + edi*8 + 0x458bffff], esp
aam 0x8b
lea esp, [ebp + edi*8 - 0x6a740001]
mov al, byte [0x3fffffd]
inc esp
sar dword [eax - 0x77], 1
test dword [edi + edi*8 - 1], esi
dec dword [ebx - 0x72742bbb]
je 0x403042
invalid
inc dword [ebx]
inc ecx
invalid
invalid
invalid
test al, 0xfd