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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
push ebx
push esi
push edi
xor ebx, ebx
xor edi, edi
xor esi, esi
cmp dword [ebp + 0xc], ebx
je 0x4024f1
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 0x4022d3
inc ebx
cmp ebx, 0x915
jl 0x4022b8
mov ebx, esi
cmp dword [ebp + 0x10], esi
jne 0x4022eb
cmp dword [ebp + 0x18], ebx
je 0x4024f1
mov ecx, 0x3abb
mov eax, 0xe070381d
imul ecx
add edx, ecx
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
jne 0x4022f0
mov ecx, 0x5936
lea ebx, [ebx]
mov eax, 0x84210843
imul ecx
add edx, ecx
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
jne 0x402310
mov ebx, 0xee2
lea ebx, [ebx]
mov eax, 0x10624dd3
imul ebx
sar edx, 4
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
jne 0x402330
mov ecx, dword [ebp + 0xc]
mov edx, 0x5a4d
mov eax, dword [ecx + 0x3c]
mov ebx, esi
cmp word [ecx], dx
jne 0x4024f1
cmp dword [eax + ecx], 0x4550
jne 0x4024f1
mov edx, dword [eax + ecx + 0x7c]
mov dword [ebp - 0x14], edx
test edx, edx
je 0x4024f1
mov eax, dword [eax + ecx + 0x78]
add eax, ecx
mov dword [ebp - 4], eax
mov ecx, 0x24c7
mov eax, 0xaf3addc7
imul ecx
add edx, ecx
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
jne 0x402383
inc ebx
mov eax, ebx
and eax, 0x80000007
jns 0x4023a7
dec eax
or eax, 0xfffffff8
inc eax
jne 0x4023aa
inc ebx
cmp ebx, 0x27ab
jl 0x402398
inc edi
mov eax, 0x92492493
imul edi
add edx, edi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax*8]
sub ecx, eax
mov eax, edi
sub eax, ecx
jne 0x4023d9
add edi, edi
jmp 0x4023e2
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add edi, eax
cmp edi, 0x2102
jl 0x4023b2
mov eax, 0x2b5e
nop
dec eax
jne 0x4023f0
mov ebx, dword [ebp - 4]
mov edi, dword [ebp + 0xc]
mov ecx, dword [ebx + 0x20]
add ecx, edi
mov dword [ebp - 8], ecx
mov ecx, 0x49e9
mov eax, 0x4ec4ec4f
imul ecx
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
jne 0x402406
mov eax, dword [ebx + 0x24]
add eax, edi
mov dword [ebp - 0xc], eax
mov ebx, 0x516e
mov eax, 0x66666667
imul ebx
sar edx, 6
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
jne 0x402426
mov ebx, dword [ebp - 4]
mov eax, dword [ebx + 0x1c]
add eax, edi
mov dword [ebp - 0x10], eax
mov ebx, 0x5a94
lea esp, [esp]
mov eax, 0x38e38e39
imul ebx
sar edx, 5
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
jne 0x402450
mov ebx, dword [ebp - 4]
mov ecx, 0x3cec
jmp 0x402470
mov eax, 0x2aaaaaab
imul ecx
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
jne 0x402470
mov edx, dword [ebp + 0x10]
mov ecx, dword [ebp - 8]
mov eax, edx
shr eax, 0x10
test eax, eax
je 0x4024d0
xor edi, edi
cmp dword [ebx + 0x18], esi
jbe 0x4024b6
mov eax, dword [ecx + edi*4]
add eax, dword [ebp + 0xc]
push eax
push edx
call fcn.00402d30
add esp, 8
test eax, eax
jne 0x4024fa
mov ecx, dword [ebp - 8]
mov edx, dword [ebp + 0x10]
inc edi
cmp edi, dword [ebx + 0x18]
jb 0x402496
mov eax, 0x6562
mov edx, 0x38
mov ecx, 0xb2
cmp ecx, edx
cmovl ecx, edx
dec eax
jne 0x4024c5
lea ecx, [ecx]
inc esi
mov eax, 0x55555556
imul esi
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ecx, esi
lea eax, [eax + eax*2]
sub ecx, eax
jne 0x4024e9
inc esi
cmp esi, 0x217b
jl 0x4024d0
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 + edi*2]
mov ecx, dword [ecx + eax*4]
add ecx, dword [ebp + 0xc]
cmp ecx, ebx
jbe 0x402517
mov eax, dword [ebp - 0x14]
add eax, ebx
cmp ecx, eax
jb 0x4024f1
pop edi
pop esi
mov eax, ecx
pop ebx
mov esp, ebp
pop ebp
ret