Function at 0x402380
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
mov esi, 0x22cd
xor edi, edi
mov ebx, 0x2d3a
mov eax, 0xb60b60b7
imul ebx
add edx, ebx
sar edx, 6
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
jne 0x402395
mov ebx, 0x40
cmp dword [ebp + 0xc], edi
je 0x4025d0
mov edi, 0x2fad
lea ecx, [ecx]
mov eax, 0x2e8ba2e9
imul edi
sar edx, 4
mov edi, edx
shr edi, 0x1f
add edi, edx
jne 0x4023c0
mov ecx, 0x1599
jmp 0x4023e0
mov eax, 0x478bbced
imul ecx
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
jne 0x4023e0
mov ecx, 0x18b0
cmp dword [ebp + 0x10], edi
jne 0x40241e
cmp dword [ebp + 0x18], edi
jne 0x40241e
mov eax, 0x4bda12f7
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
jne 0x402402
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, 0x6b56
mov edx, 0x90
mov eax, 0x98
lea ecx, [ecx]
cmp eax, 0x90
cmovl eax, edx
dec ecx
jne 0x402430
mov eax, 0x4a0
mov ecx, 0xd1
cmp ebx, ecx
cmovg ebx, ecx
dec eax
jne 0x402445
mov esi, dword [ebp + 0xc]
mov eax, 0x5a4d
mov ebx, dword [esi + 0x3c]
cmp word [esi], ax
jne 0x4025e0
cmp dword [ebx + esi], 0x4550
jne 0x4025e0
mov eax, dword [ebx + esi + 0x7c]
mov dword [ebp - 0x14], eax
test eax, eax
je 0x4025e0
mov ecx, 0x6002
mov edx, 0xa9
mov eax, 0xf5
lea esp, [esp]
cmp eax, 0xa9
cmovg eax, edx
dec ecx
jne 0x402490
mov ebx, dword [ebx + esi + 0x78]
add ebx, esi
mov dword [ebp - 4], ebx
mov eax, dword [ebx + 0x20]
add eax, esi
mov dword [ebp - 8], eax
lea esp, [esp]
inc edi
mov eax, 0x38e38e39
imul edi
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ecx, edi
lea eax, [eax + eax*8]
sub ecx, eax
jne 0x4024cb
inc edi
cmp edi, 0x7de4
jl 0x4024b0
mov ebx, 0x1f7f
jmp 0x4024e0
mov eax, 0x63e7063f
imul ebx
sar edx, 4
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
jne 0x4024e0
mov ebx, dword [ebp - 4]
mov eax, dword [ebx + 0x24]
add eax, esi
mov dword [ebp - 0xc], eax
mov eax, dword [ebx + 0x1c]
add eax, esi
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 0x10]
shr eax, 0x10
test eax, eax
je 0x4025e0
mov ebx, 0x725d
lea esp, [esp]
mov eax, 0x4d4873ed
imul ebx
sar edx, 5
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
jne 0x402520
mov ecx, 0xbdf
jmp 0x402540
mov eax, 0xb40b40b5
imul ecx
add edx, ecx
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
jne 0x402540
mov ebx, 0xf6f
lea ebx, [ebx]
mov eax, 0x4325c53f
imul ebx
sar edx, 5
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
jne 0x402560
mov ebx, dword [ebp - 4]
xor esi, esi
cmp dword [ebx + 0x18], esi
jbe 0x4025e0
mov edi, dword [ebp + 0xc]
mov eax, dword [ebp - 8]
mov eax, dword [eax + esi*4]
add eax, edi
push eax
push dword [ebp + 0x10]
call fcn.00402ef0
add esp, 8
test eax, eax
jne 0x4025a5
inc esi
cmp esi, dword [ebx + 0x18]
jb 0x402580
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x10]
movzx eax, word [eax + esi*2]
mov ecx, dword [ecx + eax*4]
add ecx, edi
cmp ecx, ebx
jbe 0x4025c1
mov eax, dword [ebp - 0x14]
add eax, ebx
cmp ecx, eax
jb 0x4025e0
pop edi
pop esi
mov eax, ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, esi
cdq
and edx, 0x3f
lea esi, [edx + eax]
sar esi, 6
test esi, esi
jne 0x4025d0
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret