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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
xor edx, edx
push ebx
push esi
push edi
xor ecx, ecx
xor edi, edi
nop
inc edx
mov eax, edx
and eax, 0x80000003
jns 0x40258f
dec eax
or eax, 0xfffffffc
inc eax
jne 0x402594
add edx, 5
cmp edx, 0x5dcc
jl 0x402580
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x4027a8
cmp dword [ebp + 0x10], ecx
jne 0x4025d4
cmp dword [ebp + 0x18], ecx
jne 0x4025d4
inc ecx
mov eax, ecx
and eax, 0x80000003
jns 0x4025c0
dec eax
or eax, 0xfffffffc
inc eax
jne 0x4025c3
inc ecx
cmp ecx, 0x4ef2
jl 0x4025b1
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [eax + 0x3c]
add ecx, eax
mov dword [ebp - 4], ecx
lea esp, [esp]
inc edi
mov eax, edi
and eax, 0x80000001
jns 0x4025ef
dec eax
or eax, 0xfffffffe
inc eax
jne 0x4025f4
add edi, 2
cmp edi, 0x40f2
jl 0x4025e0
mov ecx, 0x1405
mov eax, 0xdd67c8a7
imul ecx
add edx, ecx
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
jne 0x402601
mov edi, dword [ebp + 0xc]
mov eax, 0x5a4d
cmp word [edi], ax
jne 0x4027a8
mov ecx, dword [ebp - 4]
cmp dword [ecx], 0x4550
jne 0x4027a8
mov ebx, 0x626d
jmp 0x402640
mov eax, 0x4ec4ec4f
imul ebx
sar edx, 2
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
jne 0x402640
mov eax, dword [ecx + 0x7c]
mov dword [ebp - 8], eax
mov ecx, 0x6aa3
mov edi, edi
mov eax, 0xa0a0a0a1
imul ecx
add edx, ecx
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
jne 0x402660
cmp dword [ebp - 8], ecx
je 0x4027a8
mov esi, 0x5336
mov eax, 0x3e88cb3d
imul esi
sar edx, 5
mov esi, edx
shr esi, 0x1f
add esi, edx
jne 0x402683
mov eax, 0x6013
mov esi, 0x11fd
dec eax
jne 0x4026a0
mov eax, dword [ebp - 4]
mov ebx, 0x77bd
mov eax, dword [eax + 0x78]
add eax, edi
mov dword [ebp - 4], eax
mov eax, 0x3159721f
imul ebx
sar edx, 5
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
jne 0x4026b3
mov ebx, 0x6a5a
mov ecx, 0x26d6
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
jne 0x4026d0
xor edi, edi
inc edi
mov eax, 0x66666667
imul edi
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ecx, edi
lea eax, [eax + eax*4]
sub ecx, eax
jne 0x402702
inc edi
cmp edi, 0x2093
jl 0x4026e7
mov ecx, dword [ebp - 4]
mov edi, 0x4ec2
mov eax, dword [ecx + 0x20]
add eax, dword [ebp + 0xc]
mov dword [ebp - 0xc], eax
mov eax, dword [ecx + 0x24]
add eax, dword [ebp + 0xc]
mov dword [ebp - 0x10], eax
mov eax, 0xe6c2b449
imul edi
add edx, edi
sar edx, 7
mov edi, edx
shr edi, 0x1f
add edi, edx
jne 0x402724
mov eax, dword [ecx + 0x1c]
add eax, dword [ebp + 0xc]
mov edi, 0x64cb
mov dword [ebp - 0x14], eax
mov eax, 0x8fb823ef
imul edi
add edx, edi
sar edx, 7
mov edi, edx
shr edi, 0x1f
add edi, edx
jne 0x402747
mov edx, dword [ebp + 0x10]
mov eax, edx
shr eax, 0x10
test eax, eax
je 0x4027a8
cmp dword [ecx + 0x18], edi
jbe 0x402793
lea ecx, [ecx]
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + edi*4]
add eax, dword [ebp + 0xc]
push eax
push edx
call fcn.004031c0
add esp, 8
test eax, eax
jne 0x4027b1
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 0x10]
inc edi
cmp edi, dword [eax + 0x18]
jb 0x402770
mov eax, 0x939a85c5
imul esi
add edx, esi
sar edx, 6
mov esi, edx
shr esi, 0x1f
add esi, edx
jne 0x402793
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x10]
mov esi, dword [ebp - 0x14]
movzx eax, word [eax + edi*2]
mov ecx, 0x377e
mov esi, dword [esi + eax*4]
add esi, dword [ebp + 0xc]
mov eax, 0xcb8727c1
imul ecx
add edx, ecx
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
jne 0x4027c6
jmp 0x4027e0
mov eax, 0x84a9f9c9
imul ebx
add edx, ebx
sar edx, 7
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
jne 0x4027e0
mov eax, dword [ebp - 4]
cmp esi, eax
jbe 0x402803
add eax, dword [ebp - 8]
cmp esi, eax
jb 0x4027a8
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret