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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
push ebx
push esi
mov eax, 0x80
push edi
xor edi, edi
xor ebx, ebx
lea ecx, [eax - 0x1b]
xor esi, esi
mov edx, 0x2528
mov dword [ebp - 8], 0x18
cmp eax, 0x18
cmovl eax, dword [ebp - 8]
dec edx
jne 0x402473
mov esi, 0x6320
mov eax, 0xb40b40b5
imul esi
add edx, esi
sar edx, 6
mov esi, edx
shr esi, 0x1f
add esi, edx
jne 0x402482
mov eax, 0x5b6c
mov edx, 0x2d
cmp ecx, edx
cmovg ecx, edx
dec eax
jne 0x4024a1
cmp dword [ebp + 0xc], ebx
je 0x4026b5
xor ebx, ebx
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 0x4024cf
inc ebx
cmp ebx, 0x5cab
jl 0x4024b4
xor ebx, ebx
lea esp, [esp]
mov eax, 0x66666667
imul edi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*4]
add ecx, ecx
mov eax, edi
sub eax, ecx
jne 0x402501
add edi, 3
jmp 0x402502
inc edi
cmp edi, 0x2d5f
jl 0x4024e0
cmp dword [ebp + 0x10], ebx
jne 0x402518
cmp dword [ebp + 0x18], ebx
je 0x4026b5
mov ecx, 0x101d
lea ecx, [ecx]
mov eax, 0xae4c415d
imul ecx
add edx, ecx
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
jne 0x402520
mov ecx, 0x2fb5
lea ebx, [ebx]
mov eax, 0x86d90545
imul ecx
add edx, ecx
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
jne 0x402540
mov ecx, 0x67df
lea ebx, [ebx]
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
jne 0x402560
mov ebx, 0x3ffa
lea ebx, [ebx]
mov eax, 0x2e8ba2e9
imul ebx
sar edx, 3
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
jne 0x402580
mov edi, dword [ebp + 0xc]
mov eax, 0x275c
mov ecx, dword [edi + 0x3c]
mov dword [ebp - 8], 0x22
mov edx, 0xe6
lea ebx, [ebx]
cmp edx, 0x22
cmovg edx, dword [ebp - 8]
dec eax
jne 0x4025b0
mov eax, 0x5a4d
cmp word [edi], ax
jne 0x4026b5
cmp dword [ecx + edi], 0x4550
jne 0x4026b5
mov eax, dword [ecx + edi + 0x7c]
mov dword [ebp - 0x14], eax
test eax, eax
je 0x4026b5
mov eax, dword [ecx + edi + 0x78]
mov ecx, dword [eax + edi + 0x20]
add eax, edi
add ecx, edi
mov dword [ebp - 4], ecx
mov dword [ebp - 8], eax
mov ecx, 0x3bf3
jmp 0x402600
mov eax, 0x5d9f7391
imul ecx
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
jne 0x402600
mov ecx, dword [ebp - 4]
inc ebx
mov eax, ebx
and eax, 0x80000007
jns 0x402625
dec eax
or eax, 0xfffffff8
inc eax
jne 0x40262a
add ebx, 2
cmp ebx, 0x1aa8
jl 0x402616
mov ebx, dword [ebp - 8]
mov eax, dword [ebx + 0x24]
add eax, edi
mov dword [ebp - 0xc], eax
mov eax, dword [ebx + 0x1c]
add eax, edi
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 0x10]
shr eax, 0x10
test eax, eax
je 0x402690
mov eax, 0x50ae
mov edi, 0xab
mov edx, 0xf5
mov edi, edi
cmp edx, edi
cmovg edx, edi
dec eax
jne 0x402660
xor edi, edi
cmp dword [ebx + 0x18], esi
jbe 0x402690
nop
mov eax, dword [ecx + edi*4]
add eax, dword [ebp + 0xc]
push eax
push dword [ebp + 0x10]
call fcn.004032a0
add esp, 8
test eax, eax
jne 0x4026be
mov ecx, dword [ebp - 4]
inc edi
cmp edi, dword [ebx + 0x18]
jb 0x402670
nop
inc esi
mov eax, 0x38e38e39
imul esi
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ecx, esi
lea eax, [eax + eax*8]
sub ecx, eax
jne 0x4026ad
add esi, 5
cmp esi, 0x54ba
jl 0x402690
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0xc]
mov ecx, 0x2568
movzx esi, word [eax + edi*2]
lea ebx, [ebx]
mov eax, 0x95a02569
imul ecx
add edx, ecx
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
jne 0x4026d0
mov ecx, 0x38a5
lea ebx, [ebx]
mov eax, 0xb92143fb
imul ecx
add edx, ecx
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
jne 0x4026f0
mov ecx, dword [ebp - 0x10]
mov eax, esi
mov ebx, 0xea4
mov ecx, dword [ecx + eax*4]
add ecx, dword [ebp + 0xc]
mov eax, 0x22b63cbf
imul ebx
sar edx, 5
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
jne 0x402715
mov ebx, dword [ebp - 8]
cmp ecx, ebx
jbe 0x40273c
mov eax, dword [ebp - 0x14]
add eax, ebx
cmp ecx, eax
jb 0x4026b5
pop edi
pop esi
mov eax, ecx
pop ebx
mov esp, ebp
pop ebp
ret