Function at 0x40c870
Capabilities:
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x6c
mov esi, dword [ebp + 0x10]
mov edi, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x4c], 0xbd496944
jmp 0x40c8c0
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x40]
mov ecx, dword [ecx]
add eax, dword [ecx + 0x3c]
mov ecx, dword [ebp - 0x3c]
mov dword [ecx], eax
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax]
cmp dword [eax], 0x4550
setne byte [ebp - 0x12]
mov dword [ebp - 0x4c], 0x69e84d4c
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x4c]
cmp eax, 0x75f0d8f4
jg 0x40c900
cmp eax, 0x69e84d4b
jg 0x40c910
cmp eax, 0x63a207d7
jg 0x40c92d
cmp eax, 0x603a8e5b
jg 0x40c949
cmp eax, 0x85847b45
jg 0x40c976
cmp eax, 0x83268a5e
jne 0x40c8c0
mov dword [ebp - 0x4c], 0x45a72238
jmp 0x40c8c0
cmp eax, 0x75f0d8f5
jne 0x40c8c0
jmp 0x40c88b
cmp eax, 0x69e84d4c
jne 0x40c8c0
mov al, byte [ebp - 0x12]
test al, al
mov eax, 0xd06a7922
jne 0x40c928
mov eax, 0x603a8e5c
mov dword [ebp - 0x4c], eax
jmp 0x40c8c0
cmp eax, 0x63a207d8
jne 0x40c8c0
mov eax, dword [ebp - 0x48]
mov dword [eax], 0
mov dword [ebp - 0x4c], 0x1e85b124
jmp 0x40c8c0
cmp eax, 0x603a8e5c
jne 0x40c8c0
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax]
movzx eax, word [eax + 0x18]
cmp eax, 0x10b
mov eax, 0xd06a7922
jne 0x40c96e
mov eax, 0xd4c71de
mov dword [ebp - 0x4c], eax
jmp 0x40c8c0
cmp eax, 0x8eb8eee3
jg 0x40c9a1
cmp eax, 0x85847b46
jne 0x40c8c0
mov al, byte [ebp - 0x11]
test al, al
mov eax, 0x3dbd8226
jne 0x40c999
mov eax, 0x58f08b5
mov dword [ebp - 0x4c], eax
jmp 0x40c8c0
cmp eax, 0x92198804
jg 0x40c9c2
cmp eax, 0x8eb8eee4
jne 0x40c8c0
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x4c], 0x99924f5f
jmp 0x40c8c0
cmp eax, 0x99924f5e
jg 0x40ca00
cmp eax, 0x92198805
jne 0x40c8c0
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ecx]
mov edx, dword [ebp - 0x2c]
mov edx, dword [edx]
movzx ecx, word [edx + ecx*2]
mov edx, dword [ebp - 0x30]
mov edx, dword [edx]
add eax, dword [edx + ecx*4]
mov ecx, dword [ebp - 0x48]
mov dword [ecx], eax
mov dword [ebp - 0x4c], 0xa772a797
jmp 0x40c8c0
cmp eax, 0x9d71448e
jg 0x40ca26
cmp eax, 0x99924f5f
jne 0x40c8c0
mov eax, dword [ebp - 0x48]
mov eax, dword [eax]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x4c], 0xde83717b
jmp 0x40c8c0
cmp eax, 0xa772a796
jg 0x40ca90
cmp eax, 0x9d71448f
jne 0x40c8c0
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x38]
mov ecx, dword [ecx]
add eax, dword [ecx + 0x20]
mov ecx, dword [ebp - 0x34]
mov dword [ecx], eax
mov eax, dword [ebp - 0x38]
mov eax, dword [eax]
mov eax, dword [eax + 0x18]
mov ecx, dword [ebp - 0x20]
mov dword [ecx], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x38]
mov ecx, dword [ecx]
add eax, dword [ecx + 0x24]
mov ecx, dword [ebp - 0x2c]
mov dword [ecx], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x38]
mov ecx, dword [ecx]
add eax, dword [ecx + 0x1c]
mov ecx, dword [ebp - 0x30]
mov dword [ecx], eax
mov eax, dword [ebp - 0x18]
mov dword [eax], 0
mov dword [ebp - 0x4c], 0x116ef399
jmp 0x40c8c0
cmp eax, 0x5b0e89bc
jg 0x40cb6c
cmp eax, 0x596d76dc
jg 0x40ccba
cmp eax, 0x50989109
jg 0x40ccd1
cmp eax, 0x45a72237
jg 0x40ccfd
cmp eax, 0x3dbd8225
jg 0x40cd1f
cmp eax, 0x2a110d32
jg 0x40cd77
cmp eax, 0x231daae5
jg 0x40cd9e
cmp eax, 0x1e85b123
jg 0x40cdb5
cmp eax, 0x13bae9aa
jg 0x40cdd5
cmp eax, 0x116ef398
jg 0x40cdec
cmp eax, 0xd4c71dd
jg 0x40ce03
cmp eax, 0x58f08b4
jg 0x40ce2c
cmp eax, 0x176e4c0
jg 0x40ce43
cmp eax, 0xfcced199
jg 0x40cea6
cmp eax, 0xa8bbffcb
jg 0x40cedc
cmp eax, 0xa772a797
jne 0x40c8c0
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ecx]
mov edx, dword [ebp - 0x2c]
mov edx, dword [edx]
movzx ecx, word [edx + ecx*2]
mov edx, dword [ebp - 0x30]
mov edx, dword [edx]
add eax, dword [edx + ecx*4]
mov ecx, dword [ebp - 0x48]
mov dword [ecx], eax
mov dword [ebp - 0x4c], 0x13bae9ab
jmp 0x40c8c0
cmp eax, 0x5b0e89bd
jne 0x40c8c0
mov eax, 4
call fcn.004192b0
mov dword [ebp - 0x48], esp
mov eax, 4
call fcn.004192b0
mov edx, esp
mov eax, 4
call fcn.004192b0
mov dword [ebp - 0x44], esp
mov eax, 4
call fcn.004192b0
mov ecx, esp
mov eax, 4
call fcn.004192b0
mov dword [ebp - 0x40], esp
mov eax, 4
call fcn.004192b0
mov dword [ebp - 0x3c], esp
mov eax, 4
call fcn.004192b0
mov dword [ebp - 0x50], esp
mov eax, 4
call fcn.004192b0
mov dword [ebp - 0x38], esp
mov eax, 4
call fcn.004192b0
mov dword [ebp - 0x34], esp
mov eax, 4
call fcn.004192b0
mov dword [ebp - 0x30], esp
mov eax, 4
call fcn.004192b0
mov dword [ebp - 0x2c], esp
mov eax, 4
call fcn.004192b0
mov dword [ebp - 0x28], esp
mov eax, 4
call fcn.004192b0
mov dword [ebp - 0x24], esp
mov eax, 4
call fcn.004192b0
mov dword [ebp - 0x20], esp
mov eax, 4
call fcn.004192b0
mov dword [ebp - 0x1c], esp
mov eax, 4
call fcn.004192b0
mov dword [ebp - 0x18], esp
mov dword [edx], esi
mov eax, dword [ebp - 0x44]
mov dword [eax], edi
mov dword [ecx], ebx
mov eax, dword [ebp - 0x40]
mov dword [eax], 0
mov eax, dword [ebp - 0x3c]
mov dword [eax], 0
mov eax, dword [ebp - 0x50]
mov dword [eax], 0
mov eax, dword [edx]
mov edx, dword [ebp - 0x38]
mov dword [edx], eax
mov eax, dword [ebp - 0x34]
mov dword [eax], 0
mov eax, dword [ebp - 0x30]
mov dword [eax], 0
mov eax, dword [ebp - 0x2c]
mov dword [eax], 0
mov eax, dword [ecx]
mov ecx, dword [ebp - 0x28]
mov dword [ecx], eax
mov eax, dword [ebp - 0x24]
mov dword [eax], 0
mov eax, dword [ebp - 0x20]
mov dword [eax], 0
mov eax, dword [ebp - 0x38]
cmp dword [eax], 0
sete byte [ebp - 0x13]
mov dword [ebp - 0x4c], 0xc5572586
jmp 0x40c8c0
cmp eax, 0x596d76dd
jne 0x40c8c0
mov dword [ebp - 0x4c], 0x1e85b124
jmp 0x40c8c0
cmp eax, 0x5098910a
jne 0x40c8c0
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x40]
mov ecx, dword [ecx]
add eax, dword [ecx + 0x3c]
mov ecx, dword [ebp - 0x3c]
mov dword [ecx], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x4c], 0x75f0d8f5
jmp 0x40c8c0
cmp eax, 0x45a72238
jne 0x40c8c0
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 0x18]
mov dword [ecx], eax
mov dword [ebp - 0x4c], 0xee2a981a
jmp 0x40c8c0
cmp eax, 0x3dbd8226
jne 0x40c8c0
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ecx]
mov edx, dword [ebp - 0x34]
mov edx, dword [edx]
add eax, dword [edx + ecx*4]
mov ecx, dword [ebp - 0x24]
mov dword [ecx], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call fcn.00402af0
add esp, 4
mov ecx, dword [ebp - 0x1c]
mov dword [ecx], eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x44]
mov eax, 0xef172371
cmp ecx, dword [edx]
je 0x40cd6f
mov eax, 0x83268a5e
mov dword [ebp - 0x4c], eax
jmp 0x40c8c0
cmp eax, 0x2a110d33
jne 0x40c8c0
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x20]
cmp eax, dword [ecx]
setb al
mov byte [ebp - 0x11], al
mov dword [ebp - 0x4c], 0x85847b46
jmp 0x40c8c0
cmp eax, 0x231daae6
jne 0x40c8c0
mov dword [ebp - 0x4c], 0x9d71448f
jmp 0x40c8c0
cmp eax, 0x1e85b124
jne 0x40c8c0
mov eax, dword [ebp - 0x48]
mov dword [eax], 0
mov dword [ebp - 0x4c], 0xb3011b08
jmp 0x40c8c0
cmp eax, 0x13bae9ab
jne 0x40c8c0
mov dword [ebp - 0x4c], 0xe66ebce3
jmp 0x40c8c0
cmp eax, 0x116ef399
jne 0x40c8c0
mov dword [ebp - 0x4c], 0xee2a981a
jmp 0x40c8c0
cmp eax, 0xd4c71de
jne 0x40c8c0
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x3c]
mov ecx, dword [ecx]
add eax, dword [ecx + 0x78]
mov ecx, dword [ebp - 0x38]
mov dword [ecx], eax
mov dword [ebp - 0x4c], 0x231daae6
jmp 0x40c8c0
cmp eax, 0x58f08b5
jne 0x40c8c0
mov dword [ebp - 0x4c], 0x596d76dd
jmp 0x40c8c0
cmp eax, 0x176e4c1
jne 0x40c8c0
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x38]
mov ecx, dword [ecx]
add eax, dword [ecx + 0x20]
mov ecx, dword [ebp - 0x34]
mov dword [ecx], eax
mov eax, dword [ebp - 0x38]
mov eax, dword [eax]
mov eax, dword [eax + 0x18]
mov ecx, dword [ebp - 0x20]
mov dword [ecx], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x38]
mov ecx, dword [ecx]
add eax, dword [ecx + 0x24]
mov ecx, dword [ebp - 0x2c]
mov dword [ecx], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x38]
mov ecx, dword [ecx]
add eax, dword [ecx + 0x1c]
mov ecx, dword [ebp - 0x30]
mov dword [ecx], eax
mov eax, dword [ebp - 0x18]
mov dword [eax], 0
mov dword [ebp - 0x4c], 0x9d71448f
jmp 0x40c8c0
cmp eax, 0xfcced19a
jne 0x40c8c0
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x40]
mov dword [ecx], eax
mov eax, dword [ebp - 0x40]
mov eax, dword [eax]
movzx eax, word [eax]
cmp eax, 0x5a4d
mov eax, 0xd6771b19
jne 0x40ced4
mov eax, 0xa8bbffcc
mov dword [ebp - 0x4c], eax
jmp 0x40c8c0
cmp eax, 0xb01efbcf
jg 0x40cefa
cmp eax, 0xa8bbffcc
jne 0x40c8c0
mov dword [ebp - 0x4c], 0x75f0d8f5
jmp 0x40c8c0
cmp eax, 0xb3011b07
jg 0x40cf1e
cmp eax, 0xb01efbd0
jne 0x40c8c0
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x4c], 0x2a110d33
jmp 0x40c8c0
cmp eax, 0xb600a5aa
jg 0x40cf3c
cmp eax, 0xb3011b08
jne 0x40c8c0
mov dword [ebp - 0x4c], 0xe66ebce3
jmp 0x40c8c0
cmp eax, 0xbd496943
jg 0x40d089
cmp eax, 0xb600a5ab
jne 0x40c8c0
mov eax, 4
call fcn.004192b0
mov eax, 4
call fcn.004192b0
mov dword [ebp - 0x5c], esp
mov eax, 4
call fcn.004192b0
mov dword [ebp - 0x50], esp
mov eax, 4
call fcn.004192b0
mov ecx, esp
mov eax, 4
call fcn.004192b0
mov dword [ebp - 0x54], esp
mov eax, 4
call fcn.004192b0
mov dword [ebp - 0x58], esp
mov eax, 4
call fcn.004192b0
mov dword [ebp - 0x60], esp
mov eax, 4
call fcn.004192b0
mov dword [ebp - 0x6c], esp
mov eax, 4
call fcn.004192b0
mov dword [ebp - 0x64], esp
mov eax, 4
call fcn.004192b0
mov dword [ebp - 0x68], esp
mov eax, 4
call fcn.004192b0
mov dword [ebp - 0x70], esp
mov eax, 4
call fcn.004192b0
mov edi, esi
mov dword [ebp - 0x78], esp
mov eax, 4
call fcn.004192b0
mov dword [ebp - 0x74], esp
mov eax, 4
call fcn.004192b0
mov edx, esp
mov eax, 4
call fcn.004192b0
mov eax, 4
call fcn.004192b0
mov eax, dword [ebp - 0x5c]
mov dword [eax], edi
mov eax, dword [eax]
mov esi, dword [ebp - 0x6c]
mov dword [esi], eax
mov dword [ecx], ebx
mov eax, dword [ecx]
mov ecx, dword [ebp - 0x78]
mov dword [ecx], eax
mov esi, edi
mov edi, dword [ebp + 0xc]
mov eax, dword [ebp - 0x50]
mov dword [eax], edi
mov eax, dword [ebp - 0x54]
mov dword [eax], 0
mov eax, dword [ebp - 0x58]
mov dword [eax], 0
mov eax, dword [ebp - 0x60]
mov dword [eax], 0
mov eax, dword [ebp - 0x64]
mov dword [eax], 0
mov eax, dword [ebp - 0x68]
mov dword [eax], 0
mov eax, dword [ebp - 0x70]
mov dword [eax], 0
mov eax, dword [ebp - 0x74]
mov dword [eax], 0
mov dword [edx], 0
mov dword [ebp - 0x4c], 0x5b0e89bd
jmp 0x40c8c0
cmp eax, 0xc5572585
jg 0x40d0a7
cmp eax, 0xbd496944
jne 0x40c8c0
mov dword [ebp - 0x4c], 0x5b0e89bd
jmp 0x40c8c0
cmp eax, 0xd06a7921
jg 0x40d0d2
cmp eax, 0xc5572586
jne 0x40c8c0
mov al, byte [ebp - 0x13]
test al, al
mov eax, 0xfcced19a
jne 0x40d0ca
mov eax, 0x231daae6
mov dword [ebp - 0x4c], eax
jmp 0x40c8c0
cmp eax, 0xd6771b18
jg 0x40d0f0
cmp eax, 0xd06a7922
jne 0x40c8c0
mov dword [ebp - 0x4c], 0x596d76dd
jmp 0x40c8c0
cmp eax, 0xde83717a
jg 0x40d10e
cmp eax, 0xd6771b19
jne 0x40c8c0
mov dword [ebp - 0x4c], 0x596d76dd
jmp 0x40c8c0
cmp eax, 0xe66ebce2
jg 0x40d122
cmp eax, 0xde83717b
jne 0x40c8c0
jmp 0x40d15f
cmp eax, 0xe66ebce3
je 0x40d13c
cmp eax, 0xee2a981a
jne 0x40d148
mov dword [ebp - 0x4c], 0x2a110d33
jmp 0x40c8c0
mov dword [ebp - 0x4c], 0x99924f5f
jmp 0x40c8c0
cmp eax, 0xef172371
jne 0x40c8c0
mov dword [ebp - 0x4c], 0xa772a797
jmp 0x40c8c0
mov eax, dword [ebp - 0x10]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret