Function at 0x427a50
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x48ca50
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x88
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x1c], ecx
xor esi, esi
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x14], 1
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x70], esi
mov dword [ebp - 0x18], esi
mov ecx, dword [ecx]
push 8
call fcn.00429fb0
mov dword [ebp - 0x68], eax
push 0x190
call fcn.0047ad5c
add esp, 4
mov ebx, eax
mov dword [ebp - 0x6c], ebx
xor eax, eax
cmp ebx, esi
je 0x42808e
mov ecx, 0x64
mov edi, ebx
rep stosd dword es:[edi], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 0xa0
mov dword [ebp - 0x3c], ecx
mov eax, dword [ebp - 0x68]
push eax
call fcn.0042d770
test eax, eax
je 0x42808c
lea ecx, [ebp - 0x8c]
push ecx
mov ecx, eax
call fcn.00437050
mov ecx, dword [ebp - 0x3c]
call fcn.0042d830
mov edi, eax
mov dword [ebp - 0x5c], edi
test edi, edi
je 0x427c56
mov dword [ebp - 0x7c], 0x1000
lea edx, [ebp - 0x78]
push edx
mov ecx, edi
call fcn.00437050
mov eax, dword [ebp - 0x78]
and eax, 0xfffff000
mov dword [ebp - 0x80], eax
lea ecx, [ebp - 0x80]
push ecx
mov ecx, dword [ebp - 0x1c]
add ecx, 0x14
call fcn.00426f10
test eax, eax
jne 0x427c3d
mov edx, dword [ebp - 0x74]
mov eax, dword [ebp - 0x78]
lea ecx, [edx + eax - 1]
cmp ecx, dword [ebp - 0x8c]
jb 0x427c3d
xor edx, edx
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], edx
push 0x1c
lea eax, [ebp - 0x58]
push eax
mov ecx, dword [ebp - 0x78]
push ecx
mov ecx, edi
call fcn.00438350
test eax, eax
je 0x427c3d
lea ebx, [ebx]
mov edi, dword [ebp - 0x58]
cmp dword [ebp - 0x48], 0x1000
jne 0x427c21
mov edx, dword [ebp - 0x1c]
cmp edi, dword [edx + 0xc84]
je 0x427c21
push 0x28
call fcn.0047ad38
add esp, 4
mov dword [ebx + esi*4], eax
mov cl, byte [ebp - 0x50]
and cl, 2
neg cl
sbb ecx, ecx
and ecx, 0xc0000000
add ecx, 0xa0000020
mov dword [eax + 0x24], ecx
mov edx, dword [ebx + esi*4]
mov dword [edx + 0xc], edi
mov ecx, dword [ebx + esi*4]
xor eax, eax
mov dword [ecx + 0x10], eax
mov edx, dword [ebx + esi*4]
mov ecx, dword [ebp - 0x4c]
mov dword [edx + 8], ecx
mov edx, dword [ebx + esi*4]
mov dword [edx + 0x14], eax
mov ecx, dword [ebx + esi*4]
mov word [ecx + 0x22], ax
mov edx, dword [ebx + esi*4]
mov word [edx + 0x20], ax
mov ecx, dword [ebx + esi*4]
mov dword [ecx + 0x1c], eax
mov edx, dword [ebx + esi*4]
mov dword [edx + 0x18], eax
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x58]
lea edx, [eax + ecx]
mov dword [ebp - 0x70], edx
cmp dword [ebp - 0x34], eax
jae 0x427c10
mov dword [ebp - 0x34], eax
add edi, eax
inc esi
mov dword [ebp - 0x28], esi
cmp esi, 0x64
jae 0x427da0
jmp 0x427c26
mov eax, dword [ebp - 0x4c]
add edi, eax
push 0x1c
lea ecx, [ebp - 0x58]
push ecx
push edi
mov ecx, dword [ebp - 0x5c]
call fcn.00438350
test eax, eax
jne 0x427b80
mov ecx, dword [ebp - 0x3c]
call fcn.0042d890
mov edi, eax
mov dword [ebp - 0x5c], edi
test edi, edi
jne 0x427b07
test esi, esi
jne 0x427c62
mov dword [ebp - 0x14], 0
jmp 0x42802c
xor edx, edx
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], edx
push 0x1c
lea eax, [ebp - 0x58]
push eax
mov edi, dword [ebp - 0x1c]
mov ecx, dword [edi + 0xc84]
push ecx
mov ecx, dword [ebp - 0x3c]
call fcn.0042d450
test eax, eax
jne 0x427c9d
mov dword [ebp - 0x14], eax
jmp 0x42802c
push 4
mov edx, dword [edi + 0xc84]
add edx, 0x3c
push edx
lea eax, [ebp - 0x38]
push eax
lea ecx, [edi + 0xb48]
call fcn.00435d30
test eax, eax
jne 0x427cc4
mov dword [ebp - 0x14], eax
jmp 0x42802c
movzx ecx, word [edi + 0xb60]
lea edx, [esi + esi*4]
add ecx, dword [ebp - 0x38]
lea eax, [ecx + edx*8 + 0x18]
mov ecx, dword [edi + 0xba0]
cmp eax, ecx
jae 0x427ce3
mov eax, ecx
jmp 0x427cfb
mov ecx, dword [edi + 0xb88]
xor edx, edx
div ecx
mov esi, eax
xor eax, eax
test edx, edx
setne al
add eax, esi
imul eax, ecx
mov dword [ebp - 0x24], eax
mov dword [ebp - 4], 0
push eax
call fcn.0047ad5c
add esp, 4
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x18], eax
jmp 0x427d29
mov esi, dword [ebp - 0x24]
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x18]
test eax, eax
jne 0x427d46
mov dword [ebp - 0x14], 0
jmp 0x42802c
mov ecx, esi
xor eax, eax
mov edi, dword [ebp - 0x18]
mov edx, ecx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
push esi
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0xc84]
push ecx
mov edx, dword [ebp - 0x18]
push edx
lea ecx, [eax + 0xb48]
call fcn.00435d30
test eax, eax
jne 0x427d81
mov dword [ebp - 0x14], eax
jmp 0x42802c
mov eax, dword [ebp - 0x18]
cmp word [eax], 0x5a4d
je 0x427d90
mov word [eax], 0x5a4d
mov ecx, dword [ebp - 0x38]
lea edi, [ecx + eax]
mov dword [ebp - 0x60], edi
cmp word [edi], 0x4550
je 0x427dac
mov dword [ebp - 0x14], 0
jmp 0x42802c
mov ecx, dword [ebx]
mov eax, dword [ecx + 0xc]
mov edx, eax
sub edx, esi
and edx, 0xffff0000
and eax, 0xffff0000
cmp edx, eax
mov eax, dword [ecx + 0xc]
jae 0x427e71
test ah, 0xf0
je 0x427e65
and eax, 0xffff0000
mov dword [edi + 0x34], eax
add eax, esi
mov ecx, dword [ebx]
cmp eax, dword [ecx + 0xc]
jbe 0x427e79
mov eax, ebx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x64], ebx
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [edi + 0x34]
sub eax, ecx
add eax, esi
mov edx, dword [ebp - 0x1c]
mov esi, dword [edx + 0xb84]
xor edx, edx
div esi
mov esi, edx
xor edx, edx
test esi, esi
setne dl
add edx, eax
mov eax, dword [ebp - 0x1c]
imul edx, dword [eax + 0xb84]
mov eax, edx
cmp eax, ecx
jbe 0x427e3b
mov esi, dword [ebp - 0x30]
mov eax, dword [esi]
push eax
call fcn.0047aef1
add esp, 4
mov dword [esi], 0
jmp 0x427e48
mov edx, dword [ebp - 0x30]
mov ecx, dword [edx]
add dword [ecx + 0xc], eax
mov ecx, dword [edx]
sub dword [ecx + 8], eax
mov eax, dword [ebp - 0x64]
add eax, 4
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x30], eax
mov ecx, dword [edi + 0x34]
mov esi, dword [ebp - 0x24]
add ecx, esi
mov edx, dword [eax]
cmp ecx, dword [edx + 0xc]
ja 0x427df1
jmp 0x427e79
and eax, 0xffff0000
sub eax, 0x10000
jmp 0x427e76
and eax, 0xffff0000
mov dword [edi + 0x34], eax
mov dword [edi + 0x54], esi
mov cx, word [ebp - 0x28]
mov word [edi + 6], cx
mov eax, dword [ebp - 0x68]
mov ecx, dword [edi + 0x34]
sub eax, ecx
mov dword [edi + 0x28], eax
mov eax, dword [ebp - 0x70]
mov edx, ecx
sub eax, edx
mov dword [edi + 0x50], eax
mov edi, dword [ebp + 8]
mov edx, dword [edi]
push 0
push 0
mov ecx, edi
call dword [edx + 8]
mov eax, dword [edi]
push esi
mov ecx, dword [ebp - 0x18]
push ecx
mov ecx, edi
call dword [eax + 0x10]
mov dword [ebp - 0x2c], esi
mov dword [ebp - 4], 2
mov edx, dword [ebp - 0x34]
push edx
call fcn.0047ad5c
add esp, 4
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x20], eax
jmp 0x427ee4
mov dword [ebp - 4], 0xffffffff
xor esi, esi
cmp dword [ebp - 0x20], esi
jne 0x427efa
mov dword [ebp - 0x14], esi
jmp 0x42802c
mov ecx, dword [ebp - 0x28]
cmp ecx, esi
jbe 0x427fdc
mov eax, dword [ebx + esi*4]
test eax, eax
je 0x427fd0
lea ecx, [ebp - 0x90]
push ecx
mov edx, dword [eax + 8]
push edx
mov ecx, dword [ebp - 0x20]
push ecx
mov edx, dword [eax + 0xc]
push edx
mov ecx, dword [ebp - 0x1c]
add ecx, 0xa0
call fcn.0042d4d0
test eax, eax
je 0x427da0
mov eax, dword [ebx + esi*4]
mov edi, dword [eax + 8]
mov ecx, dword [ebp - 0x20]
lea eax, [edi + ecx - 4]
cmp dword [eax], 0
jne 0x427f5b
jmp 0x427f50
sub edi, 4
sub eax, 4
cmp dword [eax], 0
je 0x427f50
mov eax, dword [ebx + esi*4]
mov edx, dword [ebp - 0x60]
mov ecx, dword [edx + 0x34]
sub dword [eax + 0xc], ecx
mov edx, dword [ebx + esi*4]
mov eax, dword [ebp - 0x2c]
mov dword [edx + 0x14], eax
mov ecx, dword [ebx + esi*4]
mov dword [ecx + 0x10], edi
xor edx, edx
mov eax, dword [ebx + esi*4]
mov dword [eax], edx
mov dword [eax + 4], edx
push esi
push 0x4ab328
mov ecx, dword [ebx + esi*4]
push ecx
call fcn.0047b088
add esp, 0xc
test edi, edi
je 0x427fb2
mov edx, dword [ebp - 0x60]
mov ecx, dword [edx + 0x3c]
mov eax, edi
xor edx, edx
div ecx
mov edi, edx
xor edx, edx
test edi, edi
setne dl
add edx, eax
imul edx, ecx
mov edi, edx
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
push 0
mov edx, dword [ebp - 0x2c]
push edx
call dword [eax + 8]
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
push edi
mov edx, dword [ebp - 0x20]
push edx
call dword [eax + 0x10]
add dword [ebp - 0x2c], edi
inc esi
mov ecx, dword [ebp - 0x28]
cmp esi, ecx
jb 0x427f05
mov eax, dword [ebp - 0x1c]
movzx edx, word [eax + 0xb60]
add edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x18]
lea edx, [edx + eax + 0x18]
xor eax, eax
test ecx, ecx
jbe 0x42800f
mov esi, dword [ebx + eax*4]
test esi, esi
je 0x428009
mov ecx, 0xa
mov edi, edx
rep movsd dword es:[edi], dword [esi]
add edx, 0x28
inc eax
cmp eax, dword [ebp - 0x28]
jb 0x427ff6
mov esi, dword [ebp + 8]
mov edx, dword [esi]
push 0
push 0
mov ecx, esi
call dword [edx + 8]
mov eax, dword [esi]
mov ecx, dword [ebp - 0x24]
push ecx
mov edx, dword [ebp - 0x18]
push edx
mov ecx, esi
call dword [eax + 0x10]
xor esi, esi
mov edi, edi
mov eax, dword [ebx + esi*4]
test eax, eax
je 0x428047
push eax
call fcn.0047aef1
add esp, 4
mov dword [ebx + esi*4], 0
inc esi
cmp esi, 0x64
jl 0x428030
push ebx
call fcn.0047aef1
add esp, 4
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x428066
push eax
call fcn.0047aef1
add esp, 4
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x428076
push eax
call fcn.0047dc9a
add esp, 4
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4