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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x120
mov eax, dword [0x63fbf0]
xor eax, ebp
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 8]
push esi
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0x120], esi
test ecx, ecx
je 0x402f82
test esi, esi
je 0x402f82
mov eax, 0x5a4d
cmp word [ecx], ax
je 0x402f93
xor eax, eax
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00544a28
mov esp, ebp
pop ebp
ret
mov eax, dword [ecx + 0x3c]
cmp dword [eax + ecx], 0x4550
jne 0x402f82
mov edx, dword [eax + ecx + 0x78]
mov dword [ebp - 0x114], edx
test edx, edx
je 0x402f82
mov eax, dword [eax + ecx + 0x7c]
push ebx
push edi
or edi, 0xffffffff
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x110], edi
cmp esi, 0xffff
ja 0x402ffb
sub esi, dword [ecx + edx + 0x10]
mov eax, esi
cmp eax, dword [ecx + edx + 0x14]
jae 0x402fe8
mov esi, dword [ecx + edx + 0x1c]
lea eax, [esi + eax*4]
mov eax, dword [eax + ecx]
test eax, eax
jne 0x4030df
pop edi
pop ebx
xor eax, eax
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00544a28
mov esp, ebp
pop ebp
ret
mov eax, dword [ecx + edx + 0x18]
test eax, eax
je 0x4030c9
lea ebx, [eax - 1]
mov eax, dword [ecx + edx + 0x20]
add eax, ecx
mov dword [ebp - 0x10c], 0
mov dword [ebp - 0x118], eax
test ebx, ebx
js 0x4030c9
jmp 0x40303c
mov eax, dword [ebp - 0x118]
mov esi, dword [ebp - 0x120]
mov edx, dword [ebp - 0x10c]
lea edi, [ebx + edx]
sar edi, 1
mov eax, dword [eax + edi*4]
add eax, ecx
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [esi]
jne 0x403070
test dl, dl
je 0x40306c
mov dl, byte [eax + 1]
cmp dl, byte [esi + 1]
jne 0x403070
add eax, 2
add esi, 2
test dl, dl
jne 0x403050
xor eax, eax
jmp 0x403075
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, 0xffffffff
je 0x4030aa
test eax, eax
je 0x403088
cmp eax, 1
jne 0x4030b1
lea ebx, [edi - 1]
jmp 0x4030b1
mov eax, dword [ebp - 0x114]
mov edx, dword [ecx + eax + 0x24]
lea eax, [edx + edi*2]
movzx edx, word [eax + ecx]
lea eax, [ebx + 1]
mov dword [ebp - 0x110], edx
mov dword [ebp - 0x10c], eax
jmp 0x4030b1
inc edi
mov dword [ebp - 0x10c], edi
cmp dword [ebp - 0x10c], ebx
jle 0x403030
mov edi, dword [ebp - 0x110]
mov edx, dword [ebp - 0x114]
cmp edi, dword [ecx + edx + 0x14]
jae 0x402fe8
mov eax, dword [ecx + edx + 0x1c]
lea eax, [eax + edi*4]
jmp 0x402fdd
cmp eax, edx
jb 0x4031b9
mov esi, dword [ebp - 0x11c]
add esi, edx
cmp eax, esi
jae 0x4031b9
add eax, ecx
mov cl, byte [eax]
mov ebx, eax
test cl, cl
je 0x402fe8
cmp cl, 0x2e
je 0x403125
mov cl, byte [ebx + 1]
inc ebx
test cl, cl
jne 0x403105
pop edi
pop ebx
xor eax, eax
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00544a28
mov esp, ebp
pop ebp
ret
mov esi, ebx
sub esi, eax
cmp esi, 0x104
jae 0x402fe8
xor ecx, ecx
test esi, esi
je 0x403152
lea edi, [ebp - 0x108]
sub edi, eax
mov dl, byte [eax]
test dl, dl
je 0x403152
mov byte [edi + eax], dl
inc ecx
inc eax
cmp ecx, esi
jb 0x403143
mov byte [ebp + ecx - 0x108], 0
lea ecx, [ebp - 0x108]
push ecx
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov esi, eax
test esi, esi
je 0x402fe8
cmp byte [ebx + 1], 0x23
lea eax, [ebx + 1]
je 0x403195
push eax
push esi
call fcn.00402f50
add esp, 8
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00544a28
mov esp, ebp
pop ebp
ret
add ebx, 2
push ebx
call fcn.005450f2
push eax
push esi
call fcn.00402f50
add esp, 0xc
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00544a28
mov esp, ebp
pop ebp
ret
add eax, ecx
mov ecx, dword [ebp - 4]
pop edi
pop ebx
xor ecx, ebp
pop esi
call fcn.00544a28
mov esp, ebp
pop ebp
ret