Function at 0x489c0e
Capabilities:
Access peb ldr_data
Check for peb ntglobalflag flag
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x98
mov esi, esp
mov dword [esi + 0x80], ebp
lea eax, [esi + 0x88]
mov edi, edx
mov dword [esi + 0xc], ecx
mov dword [eax - 4], esp
or dword [eax + 8], 0xffffffff
mov dword [eax + 4], 0x584aa0
lea ebx, [edi + 0x40]
mov edx, dword fs:[0]
mov dword [eax], edx
mov dword fs:[0], eax
mov al, byte [edi + 0x50]
mov dl, byte [ecx + 0x50]
cmp byte [edi + 0x4c], 3
mov byte [esi + 8], al
mov byte [esi + 4], dl
jne 0x489c7e
mov eax, dword [esi + 0xc]
lea ecx, [esi + 0x70]
lea edx, [eax + 0x40]
call fcn.00487d81
push ebx
call fcn.0047b0e6
mov ecx, dword [esi + 0xc]
add esp, 4
jmp 0x489c91
movsd xmm0, qword [ebx]
movsd xmm1, qword [ebx + 8]
movsd qword [esi + 0x78], xmm1
movsd qword [esi + 0x70], xmm0
mov eax, dword [edi]
mov ebx, dword [edi + 4]
movzx edx, byte [edi + 0x51]
mov dword [esi + 0x14], eax
or eax, ebx
movzx eax, byte [edi + 0x52]
mov dword [esi + 0x18], ebx
movzx ebx, byte [edi + 0x53]
mov dword [esi + 0x10], eax
mov eax, edi
jne 0x489cbe
mov eax, dword [ecx + 4]
mov dword [esi + 0x18], eax
mov eax, dword [ecx]
mov dword [esi + 0x14], eax
mov eax, ecx
movsd xmm0, qword [eax + 8]
movsd xmm1, qword [eax + 0x10]
movsd xmm3, qword [eax + 0x18]
movsd xmm2, qword [eax + 0x20]
movzx eax, byte [ecx + 0x53]
cmp bl, 2
cmove ebx, eax
movzx eax, byte [ecx + 0x52]
movsd qword [esi + 0x58], xmm1
movsd qword [esi + 0x60], xmm3
movsd qword [esi + 0x68], xmm2
movsd qword [esi + 0x50], xmm0
mov dword [esi + 0x38], ebx
mov ebx, dword [esi + 0x10]
cmp bl, 2
cmove ebx, eax
movzx eax, byte [ecx + 0x51]
cmp dl, 2
mov dword [esi + 0x10], ebx
cmove edx, eax
movzx eax, byte [esi + 4]
mov dword [esi + 0x3c], edx
mov dl, byte [esi + 8]
cmp dl, 2
movzx edx, dl
cmove edx, eax
mov eax, dword [edi + 0x54]
mov dword [esi + 4], edx
cmp al, 2
jne 0x489d2d
mov eax, dword [ecx + 0x54]
xor ebx, ebx
mov dword [esi + 8], eax
lea eax, [edi + 0x2c]
lea edx, [ecx + 0x2c]
movsd xmm0, qword [esi + 0x70]
movsd xmm1, qword [esi + 0x78]
inc ebx
cmp dword [edi + 0x28], 0
cmove ebx, dword [ecx + 0x28]
cmove eax, edx
movzx edx, byte [edi + 0x55]
mov dword [esi], eax
mov eax, dword [edi + 0x30]
mov dword [esi + 0x30], ebx
movzx ebx, byte [ecx + 0x55]
cmp dl, 2
cmovne ebx, edx
cmp eax, 2
lea edx, [ecx + 0x34]
cmove eax, dword [ecx + 0x30]
mov dword [esi + 0x34], ebx
lea ebx, [edi + 0x34]
cmove ebx, edx
lea edx, [ecx + 0x3c]
mov dword [esi + 0x2c], eax
mov eax, dword [edi + 0x38]
add edi, 0x3c
cmp eax, 2
cmovne edx, edi
mov edi, dword [esi]
cmove eax, dword [ecx + 0x38]
mov edi, dword [edi]
mov dword [esi + 0x1c], edi
mov edi, dword [ebx]
mov dword [esi + 0x20], edi
mov edx, dword [edx]
and dword [esi + 0x90], 0
mov dword [esi], eax
lea eax, [ecx + 0x40]
movsd qword [esi + 0x48], xmm1
movsd qword [esi + 0x40], xmm0
mov dword [esi + 0x24], eax
mov dword [esi + 0x28], edx
push eax
call fcn.0047b0e6
pop eax
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0xc]
movsd xmm0, qword [esi + 0x50]
movsd xmm1, qword [esi + 0x58]
mov dword [ecx], eax
mov eax, dword [esi + 0x18]
mov dword [ecx + 4], eax
movsd qword [ecx + 8], xmm0
movsd xmm0, qword [esi + 0x60]
mov eax, dword [esi + 0x30]
movsd qword [ecx + 0x10], xmm1
movsd xmm1, qword [esi + 0x48]
movsd qword [ecx + 0x18], xmm0
movsd xmm0, qword [esi + 0x68]
movsd qword [ecx + 0x20], xmm0
mov dword [ecx + 0x28], eax
mov eax, dword [esi + 0x1c]
movsd xmm0, qword [esi + 0x40]
mov dword [ecx + 0x2c], eax
mov eax, dword [esi + 0x2c]
mov dword [ecx + 0x30], eax
mov eax, dword [esi + 0x20]
mov dword [ecx + 0x34], eax
mov eax, dword [esi]
mov dword [ecx + 0x38], eax
mov eax, dword [esi + 0x28]
mov dword [ecx + 0x3c], eax
mov eax, dword [esi + 0x24]
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm0
mov eax, dword [esi + 4]
mov byte [ecx + 0x50], al
mov eax, dword [esi + 0x3c]
mov byte [ecx + 0x51], al
mov eax, dword [esi + 0x10]
mov byte [ecx + 0x52], al
mov eax, dword [esi + 0x38]
mov byte [ecx + 0x53], al
mov eax, dword [esi + 8]
mov byte [ecx + 0x54], al
mov eax, dword [esi + 0x34]
mov byte [ecx + 0x55], al
mov eax, dword [esi + 0x88]
mov dword fs:[0], eax
mov eax, ecx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret