Function at 0x402830
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 edi, edi
mov eax, 0x8e
mov ecx, 0x369b
xor esi, esi
mov edx, 0x37a7
mov dword [ebp - 4], 0x27
cmp eax, 0x27
cmovg eax, dword [ebp - 4]
dec edx
jne 0x402853
cmp dword [ebp + 0xc], esi
je 0x402a28
cmp dword [ebp + 0x10], esi
jne 0x40288c
cmp dword [ebp + 0x18], esi
jne 0x40288c
mov eax, 0x3e0f83e1
imul ecx
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
jne 0x402870
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, 0x6a08
mov eax, 0x964fda6d
imul ecx
add edx, ecx
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
jne 0x402891
mov eax, dword [ebp + 0xc]
mov edx, 0x5a4d
mov ecx, dword [eax + 0x3c]
add ecx, eax
cmp word [eax], dx
jne 0x402a28
cmp dword [ecx], 0x4550
jne 0x402a28
mov eax, dword [ecx + 0x7c]
mov dword [ebp - 0x14], eax
test eax, eax
je 0x402a28
mov edi, 0x4725
jmp 0x4028e0
mov eax, 0x66666667
imul edi
sar edx, 6
mov edi, edx
shr edi, 0x1f
add edi, edx
jne 0x4028e0
mov esi, 0x4720
jmp 0x402900
mov eax, 0x487ede05
imul esi
sar edx, 6
mov esi, edx
shr esi, 0x1f
add esi, edx
jne 0x402900
mov eax, dword [ecx + 0x78]
add eax, dword [ebp + 0xc]
mov ebx, 0x5907
mov dword [ebp - 4], eax
mov eax, 0x151d07eb
imul ebx
sar edx, 3
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
jne 0x402921
mov edx, 0xc5
mov ecx, 0x29d0
lea ebx, [edx - 0x76]
mov eax, 0xff
cmp eax, 0xc5
cmovg eax, edx
dec ecx
jne 0x402946
mov eax, dword [ebp - 4]
mov esi, 0xd48
mov eax, dword [eax + 0x20]
add eax, dword [ebp + 0xc]
mov dword [ebp - 8], eax
mov eax, 0x3e0f83e1
imul esi
sar edx, 3
mov esi, edx
shr esi, 0x1f
add esi, edx
jne 0x402962
inc edi
mov eax, edi
and eax, 0x80000001
jns 0x402984
dec eax
or eax, 0xfffffffe
inc eax
jne 0x402987
inc edi
cmp edi, 0x5f11
jl 0x402975
xor ecx, ecx
inc ecx
mov eax, ecx
and eax, 0x80000003
jns 0x4029a0
dec eax
or eax, 0xfffffffc
inc eax
jne 0x4029a5
add ecx, 2
cmp ecx, 0x1f73
jl 0x402991
mov eax, 0x20ac
mov edx, 0x94
mov ecx, 0xcd
lea esp, [esp]
cmp ecx, edx
cmovl ecx, edx
dec eax
jne 0x4029c0
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0xc]
mov eax, dword [ecx + 0x24]
add eax, edx
mov dword [ebp - 0xc], eax
mov eax, dword [ecx + 0x1c]
add eax, edx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 0x10]
shr eax, 0x10
test eax, eax
je 0x402a14
xor edi, edi
cmp dword [ecx + 0x18], esi
jbe 0x402a14
nop
mov eax, dword [ebp - 8]
mov eax, dword [eax + edi*4]
add eax, edx
push eax
push dword [ebp + 0x10]
call fcn.00403110
add esp, 8
test eax, eax
jne 0x402a31
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 0xc]
inc edi
cmp edi, dword [eax + 0x18]
jb 0x4029f0
mov eax, 0x5316
mov ecx, 0x87
mov edi, edi
cmp ebx, ecx
cmovg ebx, ecx
dec eax
jne 0x402a20
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0xc]
xor ebx, ebx
movzx edi, word [eax + edi*2]
lea 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 0x402a5d
add ebx, 2
cmp ebx, 0x7565
jl 0x402a40
mov ecx, 0x1492
lea ebx, [ebx]
mov eax, 0xa0a0a0a1
imul ecx
add edx, ecx
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
jne 0x402a70
mov eax, edi
mov edi, dword [ebp - 0x10]
mov ecx, 0x615
mov edi, dword [edi + eax*4]
add edi, dword [ebp + 0xc]
mov eax, 0xf6603d99
imul ecx
add edx, ecx
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
jne 0x402a95
lea ebx, [ebx]
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 0x402acb
inc esi
cmp esi, 0x3368
jl 0x402ab0
mov eax, dword [ebp - 4]
cmp edi, eax
jbe 0x402ae5
add eax, dword [ebp - 0x14]
cmp edi, eax
jb 0x402a28
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret