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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x120
mov eax, dword [0x520628]
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 0x403372
test esi, esi
je 0x403372
mov eax, 0x5a4d
cmp word [ecx], ax
je 0x403383
xor eax, eax
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0046e186
mov esp, ebp
pop ebp
ret
mov eax, dword [ecx + 0x3c]
add eax, ecx
cmp dword [eax], 0x4550
jne 0x403372
mov edx, dword [eax + 0x78]
mov dword [ebp - 0x114], edx
test edx, edx
je 0x403372
mov eax, dword [eax + 0x7c]
push ebx
push edi
or edi, 0xffffffff
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x110], edi
cmp esi, 0xffff
ja 0x4033ea
sub esi, dword [ecx + edx + 0x10]
mov eax, esi
cmp eax, dword [ecx + edx + 0x14]
jae 0x4033d7
mov esi, dword [ecx + edx + 0x1c]
lea eax, [esi + eax*4]
mov eax, dword [eax + ecx]
test eax, eax
jne 0x4034cf
pop edi
pop ebx
xor eax, eax
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0046e186
mov esp, ebp
pop ebp
ret
mov eax, dword [ecx + edx + 0x18]
test eax, eax
je 0x4034b9
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
jl 0x4034b9
jmp 0x40342c
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 0x403460
test dl, dl
je 0x40345c
mov dl, byte [eax + 1]
cmp dl, byte [esi + 1]
jne 0x403460
add eax, 2
add esi, 2
test dl, dl
jne 0x403440
xor eax, eax
jmp 0x403465
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, 0xffffffff
je 0x40349a
test eax, eax
je 0x403478
cmp eax, 1
jne 0x4034a1
lea ebx, [edi - 1]
jmp 0x4034a1
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 0x4034a1
inc edi
mov dword [ebp - 0x10c], edi
cmp dword [ebp - 0x10c], ebx
jle 0x403420
mov edi, dword [ebp - 0x110]
mov edx, dword [ebp - 0x114]
cmp edi, dword [ecx + edx + 0x14]
jae 0x4033d7
mov eax, dword [ecx + edx + 0x1c]
lea eax, [eax + edi*4]
jmp 0x4033cc
cmp eax, edx
jb 0x4035a9
mov esi, dword [ebp - 0x11c]
add esi, edx
cmp eax, esi
jae 0x4035a9
add eax, ecx
mov cl, byte [eax]
mov ebx, eax
test cl, cl
je 0x4033d7
cmp cl, 0x2e
je 0x403515
mov cl, byte [ebx + 1]
inc ebx
test cl, cl
jne 0x4034f5
pop edi
pop ebx
xor eax, eax
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0046e186
mov esp, ebp
pop ebp
ret
mov esi, ebx
sub esi, eax
cmp esi, 0x104
jae 0x4033d7
xor ecx, ecx
test esi, esi
jbe 0x403542
lea edi, [ebp - 0x108]
sub edi, eax
mov dl, byte [eax]
test dl, dl
je 0x403542
mov byte [edi + eax], dl
inc ecx
inc eax
cmp ecx, esi
jb 0x403533
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 0x4033d7
cmp byte [ebx + 1], 0x23
lea eax, [ebx + 1]
je 0x403585
push eax
push esi
call fcn.00403340
add esp, 8
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0046e186
mov esp, ebp
pop ebp
ret
add ebx, 2
push ebx
call fcn.0046e7f3
push eax
push esi
call fcn.00403340
add esp, 0xc
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0046e186
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.0046e186
mov esp, ebp
pop ebp
ret