Function at 0x427b70
Capabilities:
Parse pe header

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4c4750
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x50
mov eax, dword [0x519100]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 4], 0
mov edi, dword [ebx + 8]
mov eax, dword [edi]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x4cc2f8]
mov ecx, edi
call esi
mov edi, dword [ebx + 8]
push 0
push 0
mov dword [ebp - 0x58], eax
mov esi, dword [edi]
mov dword [ebp - 0x50], edx
mov esi, dword [esi + 4]
mov ecx, esi
call dword [0x4cc2f8]
mov ecx, edi
call esi
mov edi, dword [ebx + 8]
sub esp, 0x10
mov eax, esp
mov byte [ebp - 0x20], 0
movups xmm0, xmmword [ebp - 0x28]
mov esi, dword [edi]
push 0
movups xmmword [eax], xmm0
push 2
mov esi, dword [esi + 0xc]
lea eax, [ebp - 0x30]
push eax
mov ecx, esi
call dword [0x4cc2f8]
mov ecx, edi
call esi
cmp byte [ebp - 0x20], 0
mov eax, dword [ebp - 0x30]
movzx esi, word [eax]
je 0x427c28
push eax
call fcn.00490970
add esp, 4
mov eax, 0x5a4d
cmp si, ax
jne 0x427e4d
mov edi, dword [ebx + 8]
sub esp, 0x10
mov eax, esp
mov dword [ebp - 0x28], 0x3c
mov dword [ebp - 0x24], 0
mov byte [ebp - 0x20], 1
movups xmm0, xmmword [ebp - 0x28]
mov esi, dword [edi]
push 0
movups xmmword [eax], xmm0
push 4
mov esi, dword [esi + 0xc]
lea eax, [ebp - 0x30]
push eax
mov ecx, esi
call dword [0x4cc2f8]
mov ecx, edi
call esi
cmp byte [ebp - 0x20], 0
mov eax, dword [ebp - 0x30]
mov esi, dword [eax]
mov dword [ebp - 0x54], esi
je 0x427c87
push eax
call fcn.00490970
add esp, 4
mov edi, dword [ebx + 8]
sub esp, 0x10
mov eax, esp
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x24], 0
mov byte [ebp - 0x20], 1
movups xmm0, xmmword [ebp - 0x28]
mov esi, dword [edi]
push 0
movups xmmword [eax], xmm0
push 4
mov esi, dword [esi + 0xc]
lea eax, [ebp - 0x30]
push eax
mov ecx, esi
call dword [0x4cc2f8]
mov ecx, edi
call esi
cmp byte [ebp - 0x20], 0
mov eax, dword [ebp - 0x30]
mov esi, dword [eax]
je 0x427cd1
push eax
call fcn.00490970
add esp, 4
cmp esi, 0x4550
jne 0x427e4d
mov edi, dword [ebx + 8]
sub esp, 0x10
add dword [ebp - 0x54], 0x98
mov eax, esp
mov byte [ebp - 0x20], 0
movups xmm0, xmmword [ebp - 0x28]
mov esi, dword [edi]
push 0
movups xmmword [eax], xmm0
push 0x14
mov esi, dword [esi + 0xc]
lea eax, [ebp - 0x48]
push eax
mov ecx, esi
call dword [0x4cc2f8]
mov ecx, edi
call esi
cmp byte [ebp - 0x38], 0
mov ecx, dword [ebp - 0x48]
movups xmm0, xmmword [ecx]
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0x1c], eax
movups xmmword [ebp - 0x2c], xmm0
je 0x427d2f
push ecx
call fcn.00490970
add esp, 4
mov ax, word [ebp - 0x2c]
mov ecx, 0x8664
cmp ax, cx
je 0x427d5b
mov ecx, 0x200
cmp ax, cx
je 0x427d5b
mov ecx, 0x284
cmp ax, cx
je 0x427d5b
mov ecx, 0xaa64
cmp ax, cx
jne 0x427d63
mov eax, dword [ebp - 0x54]
add eax, 0x10
jmp 0x427d66
mov eax, dword [ebp - 0x54]
mov edi, dword [ebx + 8]
sub esp, 0x10
mov dword [ebp - 0x28], eax
mov eax, esp
mov dword [ebp - 0x24], 0
mov byte [ebp - 0x20], 1
movups xmm0, xmmword [ebp - 0x28]
mov esi, dword [edi]
push 0
movups xmmword [eax], xmm0
push 4
mov esi, dword [esi + 0xc]
lea eax, [ebp - 0x48]
push eax
mov ecx, esi
call dword [0x4cc2f8]
mov ecx, edi
call esi
cmp byte [ebp - 0x38], 0
mov eax, dword [ebp - 0x48]
mov edi, dword [eax]
je 0x427db0
push eax
call fcn.00490970
add esp, 4
test edi, edi
je 0x427e4d
xor ecx, ecx
mov dword [ebp - 0x58], edi
mov dword [ebp - 0x50], ecx
cmp edi, 7
jbe 0x427e50
mov eax, 7
nop
dec eax
mov byte [ebp - 0x20], 1
add edi, 0xffffffff
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x28], edi
adc ecx, 0xffffffff
mov dword [ebp - 0x54], edi
mov edi, dword [ebx + 8]
sub esp, 0x10
mov eax, esp
mov dword [ebp - 0x24], ecx
movups xmm0, xmmword [ebp - 0x28]
mov dword [ebp - 0x5c], ecx
mov esi, dword [edi]
push 0
movups xmmword [eax], xmm0
push 1
mov esi, dword [esi + 0xc]
lea eax, [ebp - 0x48]
push eax
mov ecx, esi
call dword [0x4cc2f8]
mov ecx, edi
call esi
cmp byte [ebp - 0x38], 0
mov eax, dword [ebp - 0x48]
mov cl, byte [eax]
mov byte [ebp - 0x49], cl
je 0x427e2c
push eax
call fcn.00490970
mov cl, byte [ebp - 0x49]
add esp, 4
test cl, cl
jne 0x427e3e
mov edi, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x58], edi
mov dword [ebp - 0x50], ecx
jmp 0x427e44
mov edi, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x60]
test eax, eax
jne 0x427dd0
jmp 0x427e50
mov ecx, dword [ebp - 0x50]
mov edi, dword [ebx + 8]
push ecx
push dword [ebp - 0x58]
mov eax, dword [edi]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x4cc2f8]
mov ecx, edi
call esi
mov edi, dword [ebx + 0xc]
test edi, edi
je 0x427ea4
or eax, 0xffffffff
lock xadd dword [edi + 4], eax
jne 0x427ea4
mov eax, dword [edi]
mov esi, dword [eax]
mov ecx, esi
call dword [0x4cc2f8]
mov ecx, edi
call esi
or eax, 0xffffffff
lock xadd dword [edi + 8], eax
jne 0x427ea4
mov eax, dword [edi]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x4cc2f8]
mov ecx, edi
call esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0048471b
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 8