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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x120
mov eax, dword [0x50b618]
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 0x4020d2
test esi, esi
je 0x4020d2
mov eax, 0x5a4d
cmp word [ecx], ax
je 0x4020e3
xor eax, eax
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0045d99c
mov esp, ebp
pop ebp
ret
mov eax, dword [ecx + 0x3c]
add eax, ecx
cmp dword [eax], 0x4550
jne 0x4020d2
mov edx, dword [eax + 0x78]
mov dword [ebp - 0x114], edx
test edx, edx
je 0x4020d2
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 0x40214a
sub esi, dword [ecx + edx + 0x10]
mov eax, esi
cmp eax, dword [ecx + edx + 0x14]
jae 0x402137
mov esi, dword [ecx + edx + 0x1c]
lea eax, [esi + eax*4]
mov eax, dword [eax + ecx]
test eax, eax
jne 0x40222f
pop edi
pop ebx
xor eax, eax
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0045d99c
mov esp, ebp
pop ebp
ret
mov eax, dword [ecx + edx + 0x18]
test eax, eax
je 0x402219
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 0x402219
jmp 0x40218c
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 0x4021c0
test dl, dl
je 0x4021bc
mov dl, byte [eax + 1]
cmp dl, byte [esi + 1]
jne 0x4021c0
add eax, 2
add esi, 2
test dl, dl
jne 0x4021a0
xor eax, eax
jmp 0x4021c5
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, 0xffffffff
je 0x4021fa
test eax, eax
je 0x4021d8
cmp eax, 1
jne 0x402201
lea ebx, [edi - 1]
jmp 0x402201
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 0x402201
inc edi
mov dword [ebp - 0x10c], edi
cmp dword [ebp - 0x10c], ebx
jle 0x402180
mov edi, dword [ebp - 0x110]
mov edx, dword [ebp - 0x114]
cmp edi, dword [ecx + edx + 0x14]
jae 0x402137
mov eax, dword [ecx + edx + 0x1c]
lea eax, [eax + edi*4]
jmp 0x40212c
cmp eax, edx
jb 0x402309
mov esi, dword [ebp - 0x11c]
add esi, edx
cmp eax, esi
jae 0x402309
add eax, ecx
mov cl, byte [eax]
mov ebx, eax
test cl, cl
je 0x402137
cmp cl, 0x2e
je 0x402275
mov cl, byte [ebx + 1]
inc ebx
test cl, cl
jne 0x402255
pop edi
pop ebx
xor eax, eax
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0045d99c
mov esp, ebp
pop ebp
ret
mov esi, ebx
sub esi, eax
cmp esi, 0x104
jae 0x402137
xor ecx, ecx
test esi, esi
jbe 0x4022a2
lea edi, [ebp - 0x108]
sub edi, eax
mov dl, byte [eax]
test dl, dl
je 0x4022a2
mov byte [edi + eax], dl
inc ecx
inc eax
cmp ecx, esi
jb 0x402293
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 0x402137
cmp byte [ebx + 1], 0x23
lea eax, [ebx + 1]
je 0x4022e5
push eax
push esi
call fcn.004020a0
add esp, 8
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0045d99c
mov esp, ebp
pop ebp
ret
add ebx, 2
push ebx
call fcn.0045df5a
push eax
push esi
call fcn.004020a0
add esp, 0xc
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0045d99c
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.0045d99c
mov esp, ebp
pop ebp
ret