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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
push esi
xor ebx, ebx
push edi
mov ecx, 0x4b72
mov esi, 0xd7
mov dword [ebp - 4], ebx
mov edi, 0x1f0a
lea ecx, [ecx]
mov eax, 0xd62b80d7
imul edi
add edx, edi
sar edx, 7
mov edi, edx
shr edi, 0x1f
add edi, edx
jne 0x402860
mov edi, 0xd2
lea ebx, [ebx]
mov eax, 0xae4c415d
imul ecx
add edx, ecx
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
jne 0x402880
xor ebx, ebx
inc ebx
mov eax, 0x55555556
imul ebx
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ecx, ebx
lea eax, [eax + eax*2]
sub ecx, eax
jne 0x4028b0
inc ebx
cmp ebx, 0x6712
jl 0x402897
cmp dword [ebp + 0xc], 0
mov ebx, 0
je 0x402adb
cmp dword [ebp + 0x10], ebx
jne 0x4028d5
cmp dword [ebp + 0x18], ebx
je 0x402aff
mov ebx, 0x7eeb
lea ebx, [ebx]
mov eax, 0x76b981db
imul ebx
sar edx, 6
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
jne 0x4028e0
mov esi, dword [ebp + 0xc]
mov ebx, dword [ebp - 4]
mov edi, dword [esi + 0x3c]
lea esp, [esp]
inc ebx
mov eax, 0x66666667
imul ebx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ecx, ebx
lea eax, [eax + eax*4]
sub ecx, eax
jne 0x40291e
add ebx, ebx
jmp 0x402927
mov eax, ebx
cdq
sub eax, edx
sar eax, 1
add ebx, eax
cmp ebx, 0x680d
jl 0x402900
mov eax, 0x5a4d
cmp word [esi], ax
jne 0x402aff
cmp dword [edi + esi], 0x4550
jne 0x402aff
mov ecx, 0x7dbc
nop
mov eax, 0xb60b60b7
imul ecx
add edx, ecx
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
jne 0x402950
mov ecx, 0x5f7b
lea ebx, [ebx]
mov eax, 0x83993053
imul ecx
add edx, ecx
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
jne 0x402970
xor ebx, ebx
inc ebx
mov eax, 0x38e38e39
imul ebx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ecx, ebx
lea eax, [eax + eax*8]
sub ecx, eax
jne 0x4029a4
add ebx, 2
cmp ebx, 0x5997
jl 0x402987
mov ecx, 0xd18
mov eax, 0x8fb823ef
imul ecx
add edx, ecx
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
jne 0x4029b1
mov eax, dword [edi + esi + 0x7c]
mov dword [ebp - 0x10], eax
test eax, eax
je 0x402aff
mov ecx, 0x6a13
lea ebx, [ebx]
mov eax, 0x8c08c08d
imul ecx
add edx, ecx
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
jne 0x4029e0
mov edi, dword [edi + esi + 0x78]
add edi, esi
mov eax, 0x274e
mov edx, 0x60
mov ecx, 0x40
lea ebx, [ebx]
cmp ecx, edx
cmovl ecx, edx
dec eax
jne 0x402a10
mov ebx, dword [edi + 0x20]
mov eax, dword [edi + 0x24]
mov ecx, esi
add ebx, ecx
add eax, ecx
mov dword [ebp - 4], ebx
mov dword [ebp - 8], eax
mov ebx, 0x3f61
nop
mov eax, 0x487ede05
imul ebx
sar edx, 6
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
jne 0x402a30
mov eax, dword [edi + 0x1c]
mov edx, dword [ebp + 0x10]
mov ebx, dword [ebp - 4]
add eax, ecx
mov dword [ebp - 0xc], eax
mov eax, edx
shr eax, 0x10
test eax, eax
je 0x402aff
xor esi, esi
cmp dword [edi + 0x18], esi
jbe 0x402aff
lea esp, [esp]
mov eax, dword [ebx + esi*4]
add eax, ecx
push eax
push edx
call fcn.00403170
add esp, 8
test eax, eax
jne 0x402a96
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0x10]
inc esi
cmp esi, dword [edi + 0x18]
jb 0x402a70
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 8]
mov ecx, 0x75b1
movzx eax, word [eax + esi*2]
mov esi, dword [ebp - 0xc]
mov esi, dword [esi + eax*4]
add esi, dword [ebp + 0xc]
jmp 0x402ab0
mov eax, 0x891ac73b
imul ecx
add edx, ecx
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
jne 0x402ab0
cmp esi, edi
jbe 0x402ad2
mov eax, dword [ebp - 0x10]
add eax, edi
cmp esi, eax
jb 0x402aff
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 0x3f6b
mov ecx, 0x42
cmp edi, ecx
cmovl edi, ecx
dec eax
jne 0x402ae5
mov eax, 0x3b58
mov ecx, 0xde
cmp esi, ecx
cmovg esi, ecx
dec eax
jne 0x402af7
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret