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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
mov ecx, 0x4d61
push ebx
push esi
push edi
xor ebx, ebx
xor edi, edi
xor esi, esi
cmp dword [ebp + 0xc], ebx
je 0x4024b6
mov edi, 0xc88
mov eax, 0x2fa0be83
imul edi
sar edx, 5
mov edi, edx
shr edi, 0x1f
add edi, edx
jne 0x402282
mov eax, 0x5445
lea ebx, [ebx]
dec eax
jne 0x4022a0
cmp dword [ebp + 0x10], ebx
jne 0x4022b1
cmp dword [ebp + 0x18], ebx
je 0x4024c8
xor ebx, ebx
inc ebx
mov eax, 0x2aaaaaab
imul ebx
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*2]
add ecx, ecx
mov eax, ebx
sub eax, ecx
jne 0x4022cf
add ebx, ebx
cmp ebx, 0x4491
jl 0x4022b3
mov ecx, dword [ebp + 0xc]
mov edi, 0x2b72
mov eax, dword [ecx + 0x3c]
add eax, ecx
mov dword [ebp - 4], eax
xor ebx, ebx
lea esp, [esp]
mov eax, 0x63e7063f
imul edi
sar edx, 4
mov edi, edx
shr edi, 0x1f
add edi, edx
jne 0x4022f0
mov eax, 0x5a4d
cmp word [ecx], ax
jne 0x4024c8
mov eax, dword [ebp - 4]
cmp dword [eax], 0x4550
jne 0x4024c8
mov ecx, dword [eax + 0x7c]
mov dword [ebp - 0x18], ecx
mov edi, 0x2597
jmp 0x402330
mov eax, 0x1b4e81b5
imul edi
sar edx, 4
mov edi, edx
shr edi, 0x1f
add edi, edx
jne 0x402330
test ecx, ecx
je 0x4024c8
jmp 0x402350
inc ebx
mov eax, ebx
and eax, 0x80000007
jns 0x40235f
dec eax
or eax, 0xfffffff8
inc eax
jne 0x402364
add ebx, 2
cmp ebx, 0x19e4
jl 0x402350
mov ecx, 0x3eb7
mov edx, 0xa1
mov eax, 0x90
jmp 0x402380
cmp eax, 0xa1
cmovg eax, edx
dec ecx
jne 0x402380
mov ecx, dword [ebp - 4]
mov ebx, 0x462e
mov ecx, dword [ecx + 0x78]
add ecx, dword [ebp + 0xc]
mov dword [ebp - 4], ecx
lea esp, [esp]
mov eax, 0xa0a0a0a1
imul ebx
add edx, ebx
sar edx, 7
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
jne 0x4023a0
mov edx, 0x7695
mov ebx, 0x82
mov eax, 0xc4
cmp eax, 0x82
cmovg eax, ebx
dec edx
jne 0x4023c4
mov ebx, dword [ebp + 0xc]
mov eax, dword [ecx + 0x24]
mov edx, dword [ecx + 0x20]
add eax, ebx
mov dword [ebp - 0xc], eax
mov eax, dword [ecx + 0x1c]
add eax, ebx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 0x10]
add edx, ebx
shr eax, 0x10
mov dword [ebp - 8], edx
test eax, eax
je 0x4024c8
xor ebx, ebx
cmp dword [ecx + 0x18], ebx
jbe 0x402422
nop
mov eax, dword [edx + ebx*4]
add eax, dword [ebp + 0xc]
push eax
push dword [ebp + 0x10]
call fcn.00402cf0
add esp, 8
test eax, eax
jne 0x402457
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 8]
inc ebx
cmp ebx, dword [eax + 0x18]
jb 0x402400
inc esi
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax*8]
sub ecx, eax
mov eax, esi
sub eax, ecx
jne 0x402446
inc esi
cmp esi, 0x5e8e
jl 0x402422
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x10]
movzx eax, word [eax + ebx*2]
mov edi, 0xba2
mov ecx, dword [ecx + eax*4]
add ecx, dword [ebp + 0xc]
lea esp, [esp]
mov eax, 0x4d4873ed
imul edi
sar edx, 4
mov edi, edx
shr edi, 0x1f
add edi, edx
jne 0x402470
mov edi, esi
inc edi
mov eax, edi
and eax, 0x80000007
jns 0x402494
dec eax
or eax, 0xfffffff8
inc eax
jne 0x402497
inc edi
cmp edi, 0xa71
jl 0x402485
mov eax, dword [ebp - 4]
cmp ecx, eax
jbe 0x4024ad
add eax, dword [ebp - 0x18]
cmp ecx, eax
jb 0x4024c8
pop edi
pop esi
mov eax, ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 0x94f2095
imul ecx
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
jne 0x4024b6
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret