Function at 0x436bc0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x14c
mov eax, dword [esp + 0x164]
mov ebp, dword [eax + 4]
movzx eax, byte [0x6019e4]
cmp al, 2
jne 0x436e95
mov eax, dword [ebp]
xorps xmm0, xmm0
movsd qword [esp + 0x60], xmm0
movsd qword [esp + 0x58], xmm0
movsd qword [esp + 0x50], xmm0
movsd qword [esp + 0x48], xmm0
movsd qword [esp + 0x40], xmm0
movsd qword [esp + 0x38], xmm0
mov dword [esp + 0x34], eax
mov ecx, dword [eax + 0x10]
cmp ecx, 0x30
ja 0x436e9f
mov edi, dword [esp + 0x160]
lea esi, [esp + 0x38]
lea edx, [esp + 3]
push ecx
push esi
push 0x5b9f84
push edx
call dword [eax + 4]
add esp, 0x10
test al, al
jne 0x436dbf
movsd xmm1, qword [esi + 8]
movsd xmm2, qword [esi + 0x10]
mov ebx, dword [esp + 0x34]
movsd xmm0, qword [esi]
movsd qword [esp + 0xdc], xmm1
movsd xmm1, qword [esi + 0x18]
movsd qword [esp + 0xe4], xmm2
movsd xmm2, qword [esi + 0x20]
test ebx, ebx
movsd qword [esp + 0xd4], xmm0
movsd qword [esp + 0xec], xmm1
movsd xmm1, qword [esi + 0x28]
movsd qword [esp + 0xf4], xmm2
movsd qword [esp + 0xfc], xmm1
je 0x436dbf
movsd xmm0, qword [esp + 0xfc]
movsd xmm1, qword [esp + 0xf4]
movsd xmm2, qword [esp + 0xec]
movsd xmm3, qword [esp + 0xe4]
movsd xmm4, qword [esp + 0xd4]
movsd xmm5, qword [esp + 0xdc]
mov dword [esp + 0x9c], ebx
movsd qword [esp + 0x2c], xmm0
movsd qword [esp + 0xc8], xmm0
movsd qword [esp + 0x24], xmm1
movsd qword [esp + 0x1c], xmm2
movsd qword [esp + 0x14], xmm3
movsd qword [esp + 0xc], xmm5
movsd qword [esp + 4], xmm4
movsd qword [esp + 0xa0], xmm4
movsd qword [esp + 0xa8], xmm5
movsd qword [esp + 0xb0], xmm3
movsd qword [esp + 0xb8], xmm2
movsd qword [esp + 0xc0], xmm1
mov dword [esp + 0xd0], ebp
xorps xmm0, xmm0
mov eax, dword [ebx + 0xc]
movsd qword [esp + 0x90], xmm0
movsd qword [esp + 0x88], xmm0
movsd qword [esp + 0x80], xmm0
movsd qword [esp + 0x78], xmm0
movsd qword [esp + 0x70], xmm0
movsd qword [esp + 0x68], xmm0
movsd qword [esp + 0x60], xmm0
movsd qword [esp + 0x58], xmm0
movsd qword [esp + 0x50], xmm0
movsd qword [esp + 0x48], xmm0
movsd qword [esp + 0x40], xmm0
movsd qword [esp + 0x38], xmm0
mov byte [esp + 0x98], 0
cmp eax, 0x61
mov dword [esp + 0x34], eax
ja 0x436e9f
lea ecx, [esp + 0x9c]
push ecx
push eax
push esi
call dword [ebx + 8]
add esp, 0xc
test al, al
je 0x436dcf
mov byte [edi], 0xf
mov eax, edi
add esp, 0x14c
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esp + 0x164]
lea edi, [esp + 0xd4]
lea esi, [esp + 0x34]
mov ecx, 0x1a
mov edx, 0xac
rep movsd dword es:[edi], dword [esi]
movss xmm0, dword [eax]
xor ecx, ecx
movups xmmword [esp + 0x13c], xmm0
movzx eax, byte [0x6019e5]
call fcn.00499510
test eax, eax
je 0x436e9f
movups xmm0, xmmword [esp + 0x13c]
mov edi, eax
lea esi, [esp + 0xd4]
mov ecx, 0x1a
add edi, 0x44
movss dword [eax], xmm0
mov dword [eax + 4], ebp
mov dword [eax + 8], ebx
movsd xmm0, qword [esp + 4]
movsd xmm1, qword [esp + 0xc]
movsd qword [eax + 0xc], xmm0
movsd qword [eax + 0x14], xmm1
movsd xmm0, qword [esp + 0x14]
movsd qword [eax + 0x1c], xmm0
movsd xmm0, qword [esp + 0x1c]
movsd qword [eax + 0x24], xmm0
movsd xmm0, qword [esp + 0x24]
movsd qword [eax + 0x2c], xmm0
movsd xmm0, qword [esp + 0x2c]
movsd qword [eax + 0x34], xmm0
mov dword [eax + 0x3c], ebp
mov dword [eax + 0x40], ebp
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x160]
mov dword [edi + 4], eax
mov dword [edi + 8], 0x5ba1e4
mov byte [edi], 0x16
jmp 0x436dc2
call fcn.00500310
jmp 0x436be3
ud2