Function at 0x4d53c8
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x54
push 0
push 0
dec ecx
jne 0x4d53d1
push ecx
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov esi, ecx
mov ebx, edx
mov edi, eax
xor eax, eax
push ebp
push 0x12a5b4b
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 1], 0
mov eax, ebx
call fcn.004047ac
mov eax, esi
call fcn.004047ac
xor eax, eax
push ebp
push 0x12a5b08
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
push 0x80
push 3
push 0
push 3
push 0x80000000
mov eax, edi
call fcn.00404c88
push eax
call fcn.00406e68
mov edi, eax
cmp edi, 0xffffffff
jne 0x4d5446
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4d5b12
mov byte [ebp - 0x25], 0
push 0
push 0
push 0
push edi
call fcn.00407188
cmp eax, 0xffffffff
je 0x4d5476
push 0
lea eax, [ebp - 0xc]
push eax
push 0x40
lea eax, [ebp - 0x78]
push eax
push edi
call fcn.00407148
cmp eax, 1
sbb eax, eax
inc eax
mov byte [ebp - 0x25], al
cmp dword [ebp - 0x3c], 0x40
jl 0x4d5482
cmp byte [ebp - 0x25], 0
jne 0x4d5495
push edi
call fcn.00406e40
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4d5b12
mov byte [ebp - 0x25], 0
cmp word [ebp - 0x78], 0x5a4d
jne 0x4d54e0
push 0
push 0
mov eax, dword [ebp - 0x3c]
push eax
push edi
call fcn.00407188
cmp eax, 0xffffffff
je 0x4d54e0
push 0
lea eax, [ebp - 0xc]
push eax
push 0xf8
lea eax, [ebp - 0x170]
push eax
push edi
call fcn.00407148
test eax, eax
je 0x4d54e0
cmp dword [ebp - 0x170], 0x4550
jne 0x4d54e0
mov byte [ebp - 0x25], 1
cmp byte [ebp - 0x25], 0
jne 0x4d54f9
push edi
call fcn.00406e40
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4d5b12
mov ax, word [ebp - 0x158]
sub ax, 0x10b
je 0x4d5515
sub ax, 0x100
je 0x4d57db
jmp 0x4d5af8
movzx eax, word [ebp - 0x16a]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x4d5538
push edi
call fcn.00406e40
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4d5b12
mov eax, dword [ebp - 8]
xor edx, edx
push edx
push eax
lea edx, [ebp - 0x27c]
mov eax, 2
call fcn.004092a4
mov edx, dword [ebp - 0x27c]
mov eax, ebx
call fcn.00404800
mov eax, dword [ebp - 0x148]
xor edx, edx
push edx
push eax
lea edx, [ebp - 0x280]
mov eax, 8
call fcn.004092a4
mov ecx, dword [ebp - 0x280]
mov edx, dword [ebx]
mov eax, esi
call fcn.00404ad4
mov eax, dword [ebp - 0x3c]
add eax, 0xf8
mov edx, 0x10
sub edx, dword [ebp - 0xfc]
shl edx, 3
sub eax, edx
mov dword [ebp - 0x2c], eax
push 0
push 0
mov eax, dword [ebp - 0x2c]
push eax
push edi
call fcn.00407188
cmp eax, 0xffffffff
je 0x4d5af8
mov eax, dword [ebp - 8]
push eax
lea eax, [ebp - 0x14]
mov ecx, 1
mov edx, dword [0x12a53a4]
call fcn.00405c44
add esp, 4
push 0
lea eax, [ebp - 0xc]
push eax
mov eax, dword [ebp - 8]
shl eax, 3
lea eax, [eax + eax*4]
push eax
mov eax, dword [ebp - 0x14]
push eax
push edi
call fcn.00407148
test eax, eax
je 0x4d5af8
mov eax, dword [ebp - 8]
dec eax
test eax, eax
jb 0x4d5730
inc eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x10], 0
lea eax, [ebp - 0x1c]
mov edx, 8
call fcn.004079d4
mov eax, dword [ebp - 0x10]
lea eax, [eax + eax*4]
mov edx, dword [ebp - 0x14]
lea edx, [edx + eax*8]
lea eax, [ebp - 0x1c]
mov ecx, 8
call fcn.004079c4
lea eax, [ebp - 0x284]
lea edx, [ebp - 0x1c]
call fcn.004049a4
mov edx, dword [ebp - 0x284]
lea eax, [ebp - 0x20]
call fcn.00404844
mov eax, ebx
mov edx, dword [ebp - 0x20]
call fcn.00404a90
mov eax, esi
mov edx, dword [ebp - 0x20]
call fcn.00404a90
mov eax, dword [ebp - 0x10]
lea eax, [eax + eax*4]
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + eax*8 + 0xc]
xor edx, edx
push edx
push eax
lea edx, [ebp - 0x24]
mov eax, 8
call fcn.004092a4
mov eax, ebx
mov edx, dword [ebp - 0x24]
call fcn.00404a90
mov eax, esi
mov edx, dword [ebp - 0x24]
call fcn.00404a90
mov eax, dword [ebp - 0x10]
lea eax, [eax + eax*4]
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + eax*8 + 0x14]
xor edx, edx
push edx
push eax
lea edx, [ebp - 0x24]
mov eax, 8
call fcn.004092a4
mov eax, ebx
mov edx, dword [ebp - 0x24]
call fcn.00404a90
mov eax, esi
mov edx, dword [ebp - 0x24]
call fcn.00404a90
mov eax, dword [ebp - 0x10]
lea eax, [eax + eax*4]
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + eax*8 + 0x10]
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
mov eax, dword [ebp - 0x10]
lea eax, [eax + eax*4]
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + eax*8 + 0x24]
xor edx, edx
push edx
push eax
lea edx, [ebp - 0x24]
mov eax, 8
call fcn.004092a4
mov eax, ebx
mov edx, dword [ebp - 0x24]
call fcn.00404a90
mov eax, esi
mov edx, dword [ebp - 0x24]
call fcn.00404a90
inc dword [ebp - 0x10]
dec dword [ebp - 0x30]
jne 0x4d560a
mov dword [ebp - 0x10], 2
lea eax, [ebp - 0xf8]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax]
xor edx, edx
push edx
push eax
lea edx, [ebp - 0x24]
mov eax, 8
call fcn.004092a4
mov eax, ebx
mov edx, dword [ebp - 0x24]
call fcn.00404a90
mov eax, esi
mov edx, dword [ebp - 0x24]
call fcn.00404a90
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 4]
xor edx, edx
push edx
push eax
lea edx, [ebp - 0x24]
mov eax, 8
call fcn.004092a4
mov eax, ebx
mov edx, dword [ebp - 0x24]
call fcn.00404a90
mov eax, esi
mov edx, dword [ebp - 0x24]
call fcn.00404a90
add dword [ebp - 0x34], 8
dec dword [ebp - 0x10]
jne 0x4d5740
lea edx, [ebp - 0x28c]
mov eax, dword [ebx]
call fcn.0047fa6c
mov edx, dword [ebp - 0x28c]
mov eax, ebx
call fcn.00404800
lea edx, [ebp - 0x290]
mov eax, dword [esi]
call fcn.0047fa6c
mov edx, dword [ebp - 0x290]
mov eax, esi
call fcn.00404800
mov byte [ebp - 1], 1
jmp 0x4d5af8
mov byte [ebp - 0x25], 0
push 0
push 0
mov eax, dword [ebp - 0x3c]
push eax
push edi
call fcn.00407188
cmp eax, 0xffffffff
je 0x4d581e
push 0
lea eax, [ebp - 0xc]
push eax
push 0x108
lea eax, [ebp - 0x278]
push eax
push edi
call fcn.00407148
test eax, eax
je 0x4d581e
cmp dword [ebp - 0x278], 0x4550
jne 0x4d581e
mov byte [ebp - 0x25], 1
cmp byte [ebp - 0x25], 0
jne 0x4d5837
push edi
call fcn.00406e40
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4d5b12
movzx eax, word [ebp - 0x272]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x4d585a
push edi
call fcn.00406e40
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4d5b12
mov eax, dword [ebp - 8]
xor edx, edx
push edx
push eax
lea edx, [ebp - 0x294]
mov eax, 2
call fcn.004092a4
mov edx, dword [ebp - 0x294]
mov eax, ebx
call fcn.00404800
mov eax, dword [ebp - 0x250]
xor edx, edx
push edx
push eax
lea edx, [ebp - 0x298]
mov eax, 8
call fcn.004092a4
mov ecx, dword [ebp - 0x298]
mov edx, dword [ebx]
mov eax, esi
call fcn.00404ad4
mov eax, dword [ebp - 0x3c]
add eax, 0x108
mov edx, 0x10
sub edx, dword [ebp - 0x1f4]
shl edx, 3
sub eax, edx
mov dword [ebp - 0x2c], eax
push 0
push 0
mov eax, dword [ebp - 0x2c]
push eax
push edi
call fcn.00407188
cmp eax, 0xffffffff
je 0x4d5af8
mov eax, dword [ebp - 8]
push eax
lea eax, [ebp - 0x14]
mov ecx, 1
mov edx, dword [0x12a53a4]
call fcn.00405c44
add esp, 4
push 0
lea eax, [ebp - 0xc]
push eax
mov eax, dword [ebp - 8]
shl eax, 3
lea eax, [eax + eax*4]
push eax
mov eax, dword [ebp - 0x14]
push eax
push edi
call fcn.00407148
test eax, eax
je 0x4d5af8
mov eax, dword [ebp - 8]
dec eax
test eax, eax
jb 0x4d5a52
inc eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x10], 0
lea eax, [ebp - 0x1c]
mov edx, 8
call fcn.004079d4
mov eax, dword [ebp - 0x10]
lea eax, [eax + eax*4]
mov edx, dword [ebp - 0x14]
lea edx, [edx + eax*8]
lea eax, [ebp - 0x1c]
mov ecx, 8
call fcn.004079c4
lea eax, [ebp - 0x29c]
lea edx, [ebp - 0x1c]
call fcn.004049a4
mov edx, dword [ebp - 0x29c]
lea eax, [ebp - 0x20]
call fcn.00404844
mov eax, ebx
mov edx, dword [ebp - 0x20]
call fcn.00404a90
mov eax, esi
mov edx, dword [ebp - 0x20]
call fcn.00404a90
mov eax, dword [ebp - 0x10]
lea eax, [eax + eax*4]
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + eax*8 + 0xc]
xor edx, edx
push edx
push eax
lea edx, [ebp - 0x24]
mov eax, 8
call fcn.004092a4
mov eax, ebx
mov edx, dword [ebp - 0x24]
call fcn.00404a90
mov eax, esi
mov edx, dword [ebp - 0x24]
call fcn.00404a90
mov eax, dword [ebp - 0x10]
lea eax, [eax + eax*4]
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + eax*8 + 0x14]
xor edx, edx
push edx
push eax
lea edx, [ebp - 0x24]
mov eax, 8
call fcn.004092a4
mov eax, ebx
mov edx, dword [ebp - 0x24]
call fcn.00404a90
mov eax, esi
mov edx, dword [ebp - 0x24]
call fcn.00404a90
mov eax, dword [ebp - 0x10]
lea eax, [eax + eax*4]
mov edx, dword [ebp - 0x14]
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
mov eax, dword [ebp - 0x10]
lea eax, [eax + eax*4]
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + eax*8 + 0x24]
xor edx, edx
push edx
push eax
lea edx, [ebp - 0x24]
mov eax, 8
call fcn.004092a4
mov eax, ebx
mov edx, dword [ebp - 0x24]
call fcn.00404a90
mov eax, esi
mov edx, dword [ebp - 0x24]
call fcn.00404a90
inc dword [ebp - 0x10]
dec dword [ebp - 0x30]
jne 0x4d592c
mov dword [ebp - 0x10], 2
lea eax, [ebp - 0x1f0]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
mov eax, dword [eax]
xor edx, edx
push edx
push eax
lea edx, [ebp - 0x24]
mov eax, 8
call fcn.004092a4
mov eax, ebx
mov edx, dword [ebp - 0x24]
call fcn.00404a90
mov eax, esi
mov edx, dword [ebp - 0x24]
call fcn.00404a90
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 4]
xor edx, edx
push edx
push eax
lea edx, [ebp - 0x24]
mov eax, 8
call fcn.004092a4
mov eax, ebx
mov edx, dword [ebp - 0x24]
call fcn.00404a90
mov eax, esi
mov edx, dword [ebp - 0x24]
call fcn.00404a90
add dword [ebp - 0x38], 8
dec dword [ebp - 0x10]
jne 0x4d5a62
lea edx, [ebp - 0x2a4]
mov eax, dword [ebx]
call fcn.0047fa6c
mov edx, dword [ebp - 0x2a4]
mov eax, ebx
call fcn.00404800
lea edx, [ebp - 0x2a8]
mov eax, dword [esi]
call fcn.0047fa6c
mov edx, dword [ebp - 0x2a8]
mov eax, esi
call fcn.00404800
mov byte [ebp - 1], 1
push edi
call fcn.00406e40
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4d5b12
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x12a5b52
lea eax, [ebp - 0x2a8]
mov edx, 0xc
call fcn.004047d0
lea eax, [ebp - 0x24]
mov edx, 2
call fcn.004047d0
lea eax, [ebp - 0x14]
mov edx, dword [0x12a53a4]
call fcn.00405c50
ret