Function at 0x4d4d50
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x56
push 0
push 0
dec ecx
jne 0x4d4d58
push ebx
push esi
push edi
mov ebx, edx
mov esi, eax
xor eax, eax
push ebp
push 0x12a5392
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 1], 0
mov eax, ebx
call fcn.004047ac
xor eax, eax
push ebp
push 0x12a535c
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
push 0x80
push 3
push 0
push 3
push 0x80000000
mov eax, esi
call fcn.00404c88
push eax
call fcn.00406e68
mov esi, eax
cmp esi, 0xffffffff
jne 0x4d4dc0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4d5366
mov byte [ebp - 0x15], 0
push 0
push 0
push 0
push esi
call fcn.00407188
cmp eax, 0xffffffff
je 0x4d4df0
push 0
lea eax, [ebp - 8]
push eax
push 0x40
lea eax, [ebp - 0x68]
push eax
push esi
call fcn.00407148
cmp eax, 1
sbb eax, eax
inc eax
mov byte [ebp - 0x15], al
cmp dword [ebp - 0x2c], 0x40
jl 0x4d4dfc
cmp byte [ebp - 0x15], 0
jne 0x4d4e0f
push esi
call fcn.00406e40
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4d5366
mov byte [ebp - 0x15], 0
cmp word [ebp - 0x68], 0x5a4d
jne 0x4d4e5a
push 0
push 0
mov eax, dword [ebp - 0x2c]
push eax
push esi
call fcn.00407188
cmp eax, 0xffffffff
je 0x4d4e5a
push 0
lea eax, [ebp - 8]
push eax
push 0xf8
lea eax, [ebp - 0x160]
push eax
push esi
call fcn.00407148
test eax, eax
je 0x4d4e5a
cmp dword [ebp - 0x160], 0x4550
jne 0x4d4e5a
mov byte [ebp - 0x15], 1
cmp byte [ebp - 0x15], 0
jne 0x4d4e73
push esi
call fcn.00406e40
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4d5366
mov ax, word [ebp - 0x148]
sub ax, 0x10b
je 0x4d4e8f
sub ax, 0x100
je 0x4d50c2
jmp 0x4d534c
movzx edi, word [ebp - 0x15a]
test edi, edi
jne 0x4d4ead
push esi
call fcn.00406e40
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4d5366
mov eax, edi
xor edx, edx
push edx
push eax
lea edx, [ebp - 0x26c]
mov eax, 2
call fcn.004092a4
mov edx, dword [ebp - 0x26c]
mov eax, ebx
call fcn.00404800
mov eax, dword [ebp - 0x2c]
add eax, 0xf8
mov edx, 0x10
sub edx, dword [ebp - 0xec]
shl edx, 3
sub eax, edx
mov dword [ebp - 0x1c], eax
push 0
push 0
mov eax, dword [ebp - 0x1c]
push eax
push esi
call fcn.00407188
cmp eax, 0xffffffff
je 0x4d534c
push edi
lea eax, [ebp - 0xc]
mov ecx, 1
mov edx, dword [0x12a4d2c]
call fcn.00405c44
add esp, 4
push 0
lea eax, [ebp - 8]
push eax
mov eax, edi
shl eax, 3
lea eax, [eax + eax*4]
push eax
mov eax, dword [ebp - 0xc]
push eax
push esi
call fcn.00407148
test eax, eax
je 0x4d534c
dec edi
test edi, edi
jb 0x4d503d
inc edi
mov dword [ebp - 0x20], edi
xor edi, edi
lea eax, [ebp - 0x14]
mov edx, 8
call fcn.004079d4
lea eax, [edi + edi*4]
mov edx, dword [ebp - 0xc]
lea edx, [edx + eax*8]
lea eax, [ebp - 0x14]
mov ecx, 8
call fcn.004079c4
lea eax, [ebp - 0x270]
lea edx, [ebp - 0x14]
call fcn.004049a4
mov edx, dword [ebp - 0x270]
mov eax, ebx
call fcn.00404a90
lea eax, [edi + edi*4]
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + eax*8 + 0xc]
xor edx, edx
push edx
push eax
lea edx, [ebp - 0x274]
mov eax, 8
call fcn.004092a4
mov edx, dword [ebp - 0x274]
mov eax, ebx
call fcn.00404a90
lea eax, [edi + edi*4]
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + eax*8 + 0x14]
xor edx, edx
push edx
push eax
lea edx, [ebp - 0x278]
mov eax, 8
call fcn.004092a4
mov edx, dword [ebp - 0x278]
mov eax, ebx
call fcn.00404a90
lea eax, [edi + edi*4]
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + eax*8 + 0x10]
xor edx, edx
push edx
push eax
lea edx, [ebp - 0x27c]
mov eax, 8
call fcn.004092a4
mov edx, dword [ebp - 0x27c]
mov eax, ebx
call fcn.00404a90
lea eax, [edi + edi*4]
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + eax*8 + 0x24]
xor edx, edx
push edx
push eax
lea edx, [ebp - 0x280]
mov eax, 8
call fcn.004092a4
mov edx, dword [ebp - 0x280]
mov eax, ebx
call fcn.00404a90
inc edi
dec dword [ebp - 0x20]
jne 0x4d4f49
mov edi, 2
lea eax, [ebp - 0xe8]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
xor edx, edx
push edx
push eax
lea edx, [ebp - 0x284]
mov eax, 8
call fcn.004092a4
mov edx, dword [ebp - 0x284]
mov eax, ebx
call fcn.00404a90
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 4]
xor edx, edx
push edx
push eax
lea edx, [ebp - 0x288]
mov eax, 8
call fcn.004092a4
mov edx, dword [ebp - 0x288]
mov eax, ebx
call fcn.00404a90
add dword [ebp - 0x24], 8
dec edi
jne 0x4d504b
lea edx, [ebp - 0x28c]
mov eax, dword [ebx]
call fcn.0047fa6c
mov edx, dword [ebp - 0x28c]
mov eax, ebx
call fcn.00404800
mov byte [ebp - 1], 1
jmp 0x4d534c
mov byte [ebp - 0x15], 0
push 0
push 0
mov eax, dword [ebp - 0x2c]
push eax
push esi
call fcn.00407188
cmp eax, 0xffffffff
je 0x4d5105
push 0
lea eax, [ebp - 8]
push eax
push 0x108
lea eax, [ebp - 0x268]
push eax
push esi
call fcn.00407148
test eax, eax
je 0x4d5105
cmp dword [ebp - 0x268], 0x4550
jne 0x4d5105
mov byte [ebp - 0x15], 1
cmp byte [ebp - 0x15], 0
jne 0x4d511e
push esi
call fcn.00406e40
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4d5366
movzx edi, word [ebp - 0x262]
test edi, edi
jne 0x4d513c
push esi
call fcn.00406e40
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4d5366
mov eax, edi
xor edx, edx
push edx
push eax
lea edx, [ebp - 0x290]
mov eax, 2
call fcn.004092a4
mov edx, dword [ebp - 0x290]
mov eax, ebx
call fcn.00404800
mov eax, dword [ebp - 0x2c]
add eax, 0x108
mov edx, 0x10
sub edx, dword [ebp - 0x1e4]
shl edx, 3
sub eax, edx
mov dword [ebp - 0x1c], eax
push 0
push 0
mov eax, dword [ebp - 0x1c]
push eax
push esi
call fcn.00407188
cmp eax, 0xffffffff
je 0x4d534c
push edi
lea eax, [ebp - 0xc]
mov ecx, 1
mov edx, dword [0x12a4d2c]
call fcn.00405c44
add esp, 4
push 0
lea eax, [ebp - 8]
push eax
mov eax, edi
shl eax, 3
lea eax, [eax + eax*4]
push eax
mov eax, dword [ebp - 0xc]
push eax
push esi
call fcn.00407148
test eax, eax
je 0x4d534c
dec edi
test edi, edi
jb 0x4d52cc
inc edi
mov dword [ebp - 0x20], edi
xor edi, edi
lea eax, [ebp - 0x14]
mov edx, 8
call fcn.004079d4
lea eax, [edi + edi*4]
mov edx, dword [ebp - 0xc]
lea edx, [edx + eax*8]
lea eax, [ebp - 0x14]
mov ecx, 8
call fcn.004079c4
lea eax, [ebp - 0x294]
lea edx, [ebp - 0x14]
call fcn.004049a4
mov edx, dword [ebp - 0x294]
mov eax, ebx
call fcn.00404a90
lea eax, [edi + edi*4]
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + eax*8 + 0xc]
xor edx, edx
push edx
push eax
lea edx, [ebp - 0x298]
mov eax, 8
call fcn.004092a4
mov edx, dword [ebp - 0x298]
mov eax, ebx
call fcn.00404a90
lea eax, [edi + edi*4]
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + eax*8 + 0x14]
xor edx, edx
push edx
push eax
lea edx, [ebp - 0x29c]
mov eax, 8
call fcn.004092a4
mov edx, dword [ebp - 0x29c]
mov eax, ebx
call fcn.00404a90
lea eax, [edi + edi*4]
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + eax*8 + 0x10]
xor edx, edx
push edx
push eax
lea edx, [ebp - 0x2a0]
mov eax, 8
call fcn.004092a4
mov edx, dword [ebp - 0x2a0]
mov eax, ebx
call fcn.00404a90
lea eax, [edi + edi*4]
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + eax*8 + 0x24]
xor edx, edx
push edx
push eax
lea edx, [ebp - 0x2a4]
mov eax, 8
call fcn.004092a4
mov edx, dword [ebp - 0x2a4]
mov eax, ebx
call fcn.00404a90
inc edi
dec dword [ebp - 0x20]
jne 0x4d51d8
mov edi, 2
lea eax, [ebp - 0x1e0]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
xor edx, edx
push edx
push eax
lea edx, [ebp - 0x2a8]
mov eax, 8
call fcn.004092a4
mov edx, dword [ebp - 0x2a8]
mov eax, ebx
call fcn.00404a90
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 4]
xor edx, edx
push edx
push eax
lea edx, [ebp - 0x2ac]
mov eax, 8
call fcn.004092a4
mov edx, dword [ebp - 0x2ac]
mov eax, ebx
call fcn.00404a90
add dword [ebp - 0x28], 8
dec edi
jne 0x4d52da
lea edx, [ebp - 0x2b0]
mov eax, dword [ebx]
call fcn.0047fa6c
mov edx, dword [ebp - 0x2b0]
mov eax, ebx
call fcn.00404800
mov byte [ebp - 1], 1
push esi
call fcn.00406e40
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4d5366
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x12a5399
lea eax, [ebp - 0x2b0]
mov edx, 0x12
call fcn.004047d0
lea eax, [ebp - 0xc]
mov edx, dword [0x12a4d2c]
call fcn.00405c50
ret