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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x32c
push ebx
push edi
push 0x103
lea eax, [ebp - 0x123]
push 0
push eax
mov byte [ebp - 0x124], 0
call fcn.0041b050
mov ebx, dword [ebp + 0xc]
push 0x2e
push ebx
mov dword [ebp - 0x20], 0
call fcn.0041b490
sub eax, ebx
movzx edi, ax
push edi
lea ecx, [ebp - 0x124]
push ebx
push ecx
call fcn.0041afd0
lea eax, [ebp - 0x124]
push eax
lea ecx, [ebp - 0x1c]
lea edx, [ebp - 0x32c]
push 0x104
push ecx
mov byte [ebp + edi - 0x124], 0
mov dword [ebp - 0x18], edx
call fcn.0041be40
mov edx, dword [ebp - 0x18]
push edx
call fcn.0041c260
add esp, 0x30
test eax, eax
je 0x41515a
mov eax, dword [ebp + 0x10]
push eax
lea ecx, [ebp - 0x1c]
push ecx
call fcn.0041c4e0
add esp, 8
test eax, eax
jne 0x41515a
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
push esi
lea edx, [ebp - 0x1c]
push 3
push edx
call fcn.0040ae70
mov eax, dword [ebp - 0x18]
push eax
lea ecx, [ebp - 0x124]
push ecx
call fcn.0041b670
mov eax, dword [ebp + 8]
lea edx, [ebp - 0x124]
push edx
push eax
call fcn.0040adf0
mov ecx, dword [ebp - 0x18]
push ecx
mov esi, eax
call fcn.0041a700
add esp, 0x1c
mov dword [ebp - 8], eax
test esi, esi
je 0x41522b
lea ebx, [edi + ebx + 1]
push ebx
call fcn.0041b2a0
add esp, 4
cmp eax, 1
jbe 0x4152cd
cmp byte [ebx], 0x23
jne 0x4152cd
mov eax, dword [ebp + 8]
lea edx, [ebp - 0x20]
push edx
inc ebx
push ebx
push eax
call fcn.0041b250
mov ecx, dword [ebp - 0x20]
add esp, 0xc
mov dword [ebp + 0xc], ecx
test ecx, ecx
je 0x41522b
mov eax, dword [esi + 0x3c]
mov edx, 0x5a4d
cmp word [esi], dx
jne 0x41522b
cmp dword [eax + esi], 0x4550
jne 0x41522b
mov edx, dword [eax + esi + 0x7c]
mov dword [ebp - 4], edx
test edx, edx
je 0x41522b
mov edi, dword [eax + esi + 0x78]
mov edx, dword [edi + esi + 0x24]
mov eax, dword [edi + esi + 0x20]
add edi, esi
add edx, esi
mov dword [ebp - 0xc], edx
mov edx, dword [edi + 0x1c]
mov ebx, ecx
add eax, esi
add edx, esi
shr ebx, 0x10
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], edx
test ebx, ebx
je 0x415291
xor ebx, ebx
cmp dword [edi + 0x18], ebx
ja 0x415237
xor eax, eax
pop esi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + ebx*4]
mov ecx, dword [ebp + 0xc]
add eax, esi
push eax
push ecx
call fcn.0041bee0
add esp, 8
test eax, eax
jne 0x41525a
inc ebx
cmp ebx, dword [edi + 0x18]
jb 0x415234
pop esi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp - 0xc]
movzx eax, word [edx + ebx*2]
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + eax*4]
add eax, esi
cmp eax, edi
jbe 0x41522d
add edi, dword [ebp - 4]
cmp eax, edi
jae 0x41522d
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp - 8]
push esi
push edx
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.004153c0
add esp, 0x14
pop esi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
cmp ecx, dword [edi + 0x14]
jae 0x41522b
test ecx, ecx
je 0x41522b
mov eax, ecx
sub eax, dword [edi + 0x10]
mov eax, dword [edx + eax*4]
add eax, esi
cmp eax, edi
jbe 0x41522d
add edi, dword [ebp - 4]
cmp eax, edi
jae 0x41522d
mov edx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 8]
push esi
push ecx
push eax
push edx
call fcn.004153c0
add esp, 0x14
pop esi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
test ebx, ebx
je 0x41522b
mov eax, dword [esi + 0x3c]
mov ecx, 0x5a4d
cmp word [esi], cx
jne 0x41522b
cmp dword [eax + esi], 0x4550
jne 0x41522b
mov ecx, dword [eax + esi + 0x7c]
mov dword [ebp - 4], ecx
test ecx, ecx
je 0x41522b
mov edi, dword [eax + esi + 0x78]
mov ecx, dword [edi + esi + 0x24]
mov eax, dword [edi + esi + 0x20]
add edi, esi
add ecx, esi
mov dword [ebp - 0xc], ecx
mov ecx, dword [edi + 0x1c]
mov edx, ebx
add eax, esi
add ecx, esi
shr edx, 0x10
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x14], ecx
test edx, edx
je 0x415399
cmp dword [edi + 0x18], 0
mov dword [ebp + 0xc], 0
jbe 0x41522b
jmp 0x415343
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp + 0xc]
mov edx, dword [eax + ecx*4]
add edx, esi
push edx
push ebx
call fcn.0041bee0
add esp, 8
test eax, eax
jne 0x41536e
mov eax, dword [ebp + 0xc]
inc eax
mov dword [ebp + 0xc], eax
cmp eax, dword [edi + 0x18]
jb 0x415340
pop esi
pop edi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp + 0xc]
movzx edx, word [eax + ecx*2]
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + edx*4]
add eax, esi
cmp eax, edi
jbe 0x41522d
add edi, dword [ebp - 4]
cmp eax, edi
jae 0x41522d
push ebx
jmp 0x415278
cmp ebx, dword [edi + 0x14]
jae 0x41522b
test ebx, ebx
je 0x41522b
mov edx, ebx
sub edx, dword [edi + 0x10]
mov eax, dword [ecx + edx*4]
jmp 0x41537e