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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
push ebx
push esi
xor ebx, ebx
xor esi, esi
push edi
mov dword [ebp - 0x14], esi
mov edi, 0x40b7
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 0x4027c0
inc ebx
cmp ebx, 0x60d4
jl 0x4027a5
cmp dword [ebp + 0xc], esi
je 0x402933
xor ebx, ebx
inc ebx
mov eax, 0x55555556
imul ebx
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ecx, ebx
lea eax, [eax + eax*2]
sub ecx, eax
jne 0x4027ee
add ebx, 2
cmp ebx, 0x46ff
jl 0x4027d3
cmp dword [ebp + 0x10], esi
jne 0x402804
cmp dword [ebp + 0x18], esi
je 0x402933
mov eax, 0x4416
lea esp, [esp]
dec eax
jne 0x402810
mov edx, dword [ebp + 0xc]
mov eax, 0x6e69
mov ebx, dword [edx + 0x3c]
add ebx, edx
mov dword [ebp - 4], 0x4c
mov ecx, 0x83
lea esp, [esp]
cmp ecx, 0x4c
cmovg ecx, dword [ebp - 4]
dec eax
jne 0x402830
mov eax, 0x5a4d
cmp word [edx], ax
jne 0x402933
cmp dword [ebx], 0x4550
jne 0x402933
mov eax, 0x5519
mov edx, 0xd1
mov ecx, 0xe2
cmp ecx, edx
cmovg ecx, edx
dec eax
jne 0x402863
mov eax, dword [ebx + 0x7c]
mov dword [ebp - 0x18], eax
test eax, eax
je 0x402933
mov esi, 0x2bbb
mov edi, edi
mov eax, 0x4bda12f7
imul esi
sar edx, 5
mov esi, edx
shr esi, 0x1f
add esi, edx
jne 0x402880
mov eax, 0x54a3
cdq
and edx, 0x3f
add eax, edx
sar eax, 6
test eax, eax
jne 0x402898
mov edx, dword [ebp + 0xc]
mov ebx, dword [ebx + 0x78]
add ebx, edx
mov dword [ebp - 4], ebx
mov ecx, dword [ebx + 0x20]
mov eax, dword [ebx + 0x24]
add ecx, edx
add eax, edx
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], eax
mov esi, 0x1980
mov eax, 0x4bda12f7
imul esi
sar edx, 5
mov esi, edx
shr esi, 0x1f
add esi, edx
jne 0x4028c5
mov eax, dword [ebx + 0x1c]
add eax, dword [ebp + 0xc]
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x10], eax
mov eax, edx
shr eax, 0x10
test eax, eax
je 0x402920
mov eax, dword [ebp - 4]
xor ebx, ebx
cmp dword [eax + 0x18], ebx
jbe 0x402920
mov eax, dword [ecx + ebx*4]
add eax, dword [ebp + 0xc]
push eax
push edx
call fcn.004031d0
add esp, 8
test eax, eax
jne 0x40293c
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 8]
mov edx, dword [ebp + 0x10]
inc ebx
cmp ebx, dword [eax + 0x18]
jb 0x4028f7
lea ebx, [ebx]
mov eax, 0x76b981db
imul edi
sar edx, 5
mov edi, edx
shr edi, 0x1f
add edi, edx
jne 0x402920
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0xc]
xor ecx, ecx
movzx edi, word [eax + ebx*2]
inc ecx
mov eax, ecx
and eax, 0x80000003
jns 0x402954
dec eax
or eax, 0xfffffffc
inc eax
jne 0x402957
inc ecx
cmp ecx, 0x5ad9
jl 0x402945
mov esi, 0x3819
mov eax, 0x75ded953
imul esi
sar edx, 6
mov esi, edx
shr esi, 0x1f
add esi, edx
jne 0x402964
mov eax, 0x5478
mov edx, 0xfd
mov ecx, 0x88
cmp ecx, edx
cmovl ecx, edx
dec eax
jne 0x402986
mov eax, edi
mov edi, dword [ebp - 0x10]
mov ecx, 0x319e
mov edi, dword [edi + eax*4]
add edi, dword [ebp + 0xc]
mov edi, edi
mov eax, 0xea0ea0eb
imul ecx
add edx, ecx
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
jne 0x4029a0
mov ecx, 0x37f9
lea ebx, [ebx]
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
jne 0x4029c0
mov esi, 0x5180
lea ebx, [ebx]
mov eax, 0x214d0215
imul esi
sar edx, 4
mov esi, edx
shr esi, 0x1f
add esi, edx
jne 0x4029e0
mov esi, dword [ebp - 0x14]
inc esi
mov eax, esi
and eax, 0x80000001
jns 0x402a05
dec eax
or eax, 0xfffffffe
inc eax
jne 0x402a08
inc esi
cmp esi, 0x71ec
jl 0x4029f6
mov ecx, 0x3e9d
mov eax, 0x8d3dcb09
imul ecx
add edx, ecx
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
jne 0x402a15
mov eax, dword [ebp - 4]
cmp edi, eax
jbe 0x402a3c
add eax, dword [ebp - 0x18]
cmp edi, eax
jb 0x402933
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret