Function at 0x47f881
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4c6f78
mov eax, dword fs:[0]
push eax
sub esp, 0x5c
push esi
push edi
mov eax, dword [0x503298]
xor eax, esp
push eax
lea eax, [esp + 0x68]
mov dword fs:[0], eax
mov esi, ecx
cmp byte [ebp + 0xc], 0
movss xmm6, dword [0x4ee3f4]
movss dword [esp + 0xc], xmm6
je 0x47f8d2
cmp byte [ebp + 0x10], 0
jne 0x47f8e0
movss xmm6, dword [0x4ee3d0]
jmp 0x47f8da
movss xmm6, dword [0x4ee3b4]
movss dword [esp + 0xc], xmm6
call fcn.0046437f
movss xmm0, dword [0x4ee3a8]
test al, al
jne 0x47f8fb
mulss xmm6, xmm0
movss dword [esp + 0xc], xmm6
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x1c]
cmp eax, ecx
jge 0x47f911
sub ecx, eax
movd xmm3, eax
movd xmm1, ecx
jmp 0x47f91b
sub eax, ecx
movd xmm3, ecx
movd xmm1, eax
cvtdq2ps xmm3, xmm3
cvtdq2ps xmm1, xmm1
movaps xmm5, xmm3
mulss xmm5, dword [0x4ee350]
mulss xmm3, dword [0x4ee3e4]
mulss xmm1, xmm0
movaps xmm0, xmm5
addss xmm0, dword [0x4ee310]
addss xmm5, xmm1
movss xmm1, dword [0x4ee3b8]
push 0
push ecx
push ecx
lea eax, [esp + 0x28]
movss dword [esp + 4], xmm5
and dword [esp], 0
push eax
lea ecx, [esp + 0x30]
movss dword [esp + 0x28], xmm0
movss dword [esp + 0x24], xmm5
movss dword [esp + 0x20], xmm3
call fcn.0041f73f
movaps xmm2, xmm6
mov ecx, eax
call fcn.0041f435
movss xmm1, dword [0x4ee3e4]
push eax
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x3c]
addss xmm3, xmm5
call fcn.0041f73f
movaps xmm2, xmm6
mov ecx, eax
call fcn.0041f435
push eax
xorps xmm2, xmm2
lea ecx, [esp + 0x58]
call fcn.0041f910
mov edi, dword [ebp + 8]
and dword [esp + 0x70], 0
push eax
mov ecx, edi
call fcn.00426562
or dword [esp + 0x70], 0xffffffff
lea ecx, [esp + 0x44]
call fcn.0041f993
movss xmm3, dword [esp + 0x10]
movss xmm2, dword [esp + 0x14]
movss xmm1, dword [esp + 0x18]
push ecx
mov ecx, edi
movss dword [esp], xmm3
call fcn.00426b40
movss xmm4, dword [esp + 0x18]
movss xmm5, dword [esp + 0x14]
movss xmm3, dword [esp + 0x10]
addss xmm4, dword [0x4ee4f0]
addss xmm5, dword [0x4ee4f0]
subss xmm3, dword [0x4ee564]
movss xmm2, dword [esp + 0xc]
push ecx
lea eax, [esp + 0x2c]
mov dword [esp], 0x3f800000
push eax
lea ecx, [esi + 0xdc]
movss dword [esp + 0x20], xmm4
movss dword [esp + 0x1c], xmm5
movss dword [esp + 0x18], xmm3
call fcn.0041f435
mov edx, eax
movaps xmm2, xmm5
movaps xmm1, xmm4
mov ecx, edi
call fcn.00482dc0
pop ecx
mov ecx, esi
call fcn.00460aec
lea ecx, [esi + 0x100]
add esi, 0xe0
movss xmm1, dword [esp + 0x10]
test al, al
movaps xmm0, xmm1
mulss xmm1, dword [0x4ee38c]
mulss xmm0, dword [0x4ee3a0]
lea eax, [esp + 0x1c]
push eax
push 1
push ecx
push ecx
movaps xmm3, xmm1
addss xmm1, dword [esp + 0x28]
addss xmm3, dword [esp + 0x24]
movss dword [esp + 4], xmm0
cmovne esi, ecx
lea eax, [esp + 0x3c]
movss dword [esp], xmm0
push eax
movaps xmm2, xmm1
mov ecx, esi
mov dword [esp + 0x30], 0x24
call fcn.00423406
movss xmm0, dword [esp + 0xc]
mulss xmm0, dword [0x4ee3b8]
lea eax, [esp + 0xc]
push eax
movaps xmm2, xmm0
mov ecx, 0x508e60
call fcn.0041f435
mov ecx, edi
push eax
call fcn.004264ff
lea eax, [esp + 0x2c]
push eax
push esi
mov ecx, edi
call fcn.004269cb
mov ecx, dword [esp + 0x68]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0xc