Function at 0x47bc70
Capabilities:
Access peb ldr_data

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x63a313
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0xe8
mov eax, dword [0x6ae654]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
movups xmm4, xmmword [ebx + 0x20]
mov eax, dword [ebx + 8]
movups xmm1, xmmword [ebx + 0x30]
mov dword [ebp - 0x9c], eax
movsd xmm0, qword [ebx + 0x48]
movsd xmm3, qword [ebx + 0x40]
movsd qword [ebp - 0xc0], xmm0
movaps xmm0, xmm1
subsd xmm0, xmm4
mov eax, dword [ebx + 0x50]
movups xmm2, xmmword [ebx + 0xc]
mov dword [ebp - 0xa0], eax
unpckhpd xmm1, xmm1
movd esi, xmm2
divsd xmm0, xmm3
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0xb0], 0
movups xmmword [ebp - 0x28], xmm4
cvttsd2si edx, xmm0
movaps xmm0, xmm2
movsd qword [ebp - 0xc8], xmm3
psrldq xmm0, 8
movd eax, xmm0
movaps xmm0, xmm4
unpckhpd xmm0, xmm4
subsd xmm1, xmm0
movaps xmmword [ebp - 0xf0], xmm0
sub eax, esi
movaps xmm0, xmm2
cmp eax, edx
psrldq xmm0, 0xc
psrldq xmm2, 4
cmovl edx, eax
movd edi, xmm2
divsd xmm1, xmm3
movd eax, xmm0
cvttsd2si ecx, xmm1
sub eax, edi
cmp eax, ecx
cmovl ecx, eax
mov dword [ebp - 4], 0
mov dword [ebp - 0xac], 0
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0
lea eax, [esi + edx]
mov dword [ebp - 0x98], esi
add ecx, edi
mov dword [ebp - 0x90], eax
push 1
mov dword [ebp - 0x8c], ecx
lea eax, [ebp - 0x88]
mov dword [ebp - 0x94], edi
lea ecx, [ebp - 0x6c]
movups xmm0, xmmword [ebp - 0x98]
push eax
push dword [ebp - 0x9c]
mov byte [ebp - 4], 1
movups xmmword [ebp - 0x88], xmm0
call fcn.0057e8e0
lea eax, [ebp - 0x98]
mov byte [ebp - 4], 2
push eax
lea ecx, [ebp - 0x6c]
call fcn.0056f9d0
test eax, eax
je 0x47bebc
mov eax, dword [ebp - 0xb4]
cmp eax, dword [ebp - 0xb0]
je 0x47be12
movups xmm0, xmmword [ebp - 0x98]
movups xmmword [eax], xmm0
add dword [ebp - 0xb4], 0x10
jmp 0x47be25
lea ecx, [ebp - 0x98]
push ecx
push eax
lea ecx, [ebp - 0xb8]
call fcn.00474cf0
mov eax, dword [ebp - 0x94]
sub eax, edi
movd xmm1, eax
mov eax, dword [ebp - 0x98]
sub eax, esi
cvtdq2pd xmm1, xmm1
movd xmm0, eax
mulsd xmm1, qword [ebp - 0xc0]
mov eax, dword [ebp - 0xa8]
cvtdq2pd xmm0, xmm0
addsd xmm1, qword [ebp - 0xf0]
mulsd xmm0, qword [ebp - 0xc8]
movsd qword [ebp - 0xd0], xmm1
addsd xmm0, qword [ebp - 0x28]
movsd qword [ebp - 0xd8], xmm0
cmp eax, dword [ebp - 0xa4]
je 0x47be92
movsd qword [eax], xmm0
movsd qword [eax + 8], xmm1
add dword [ebp - 0xa8], 0x10
jmp 0x47bea5
lea ecx, [ebp - 0xd8]
push ecx
push eax
lea ecx, [ebp - 0xac]
call fcn.00474cf0
lea eax, [ebp - 0x98]
push eax
lea ecx, [ebp - 0x6c]
call fcn.0056f9d0
test eax, eax
jne 0x47bdf1
movsd xmm0, qword [ebp - 0xc0]
lea eax, [ebp - 0xac]
sub esp, 0x10
mov edi, dword [ebp - 0xb4]
mov edx, dword [ebp - 0xa0]
lea esi, [ebp - 0x78]
sub edi, dword [ebp - 0xb8]
sar edi, 4
movsd qword [esp + 8], xmm0
movsd xmm0, qword [ebp - 0xc8]
movsd qword [esp], xmm0
push dword [ebx + 0x1c]
mov byte [ebp - 4], 1
push dword [ebp - 0x9c]
push eax
lea eax, [ebp - 0xb8]
push eax
movzx eax, byte [0x6620bc]
push eax
sub esp, 0x20
mov eax, esp
mov dword [ebp - 0x9c], eax
mov dword [eax], 0
mov ecx, dword [edx]
test ecx, ecx
je 0x47bf5a
add edx, 8
mov dword [eax], ecx
test cl, 1
je 0x47bf49
movups xmm0, xmmword [edx]
movups xmmword [eax + 8], xmm0
movq xmm0, qword [edx + 0x10]
movq qword [eax + 0x18], xmm0
jmp 0x47bf5a
and ecx, 0xfffffffe
add eax, 8
push 0
push eax
push edx
mov eax, dword [ecx]
call eax
add esp, 0xc
push esi
call fcn.004750b0
add esp, 0x48
push 0
sub esp, 0x40
mov byte [ebp - 4], 3
mov esi, esp
mov dword [ebp - 0xa0], esi
mov dword [esi], 0
mov ecx, dword [ebp - 0x78]
test ecx, ecx
je 0x47bfb0
mov dword [esi], ecx
test cl, 1
je 0x47bf9c
movups xmm0, xmmword [ebp - 0x70]
movups xmmword [esi + 8], xmm0
movq xmm0, qword [ebp - 0x60]
movq qword [esi + 0x18], xmm0
jmp 0x47bfb0
push 0
lea eax, [esi + 8]
and ecx, 0xfffffffe
push eax
lea eax, [ebp - 0x70]
push eax
mov eax, dword [ecx]
call eax
add esp, 0xc
movups xmm0, xmmword [ebp - 0x58]
lea ecx, [ebp - 0x38]
movups xmmword [esi + 0x20], xmm0
movups xmm0, xmmword [ebp - 0x48]
movups xmmword [esi + 0x30], xmm0
call fcn.00474a70
mov eax, dword [ebp - 0x78]
mov byte [ebp - 4], 4
test eax, eax
je 0x47bff3
test al, 1
jne 0x47bfec
and eax, 0xfffffffe
mov eax, dword [eax]
test eax, eax
je 0x47bfec
lea ecx, [ebp - 0x70]
push 2
push ecx
push ecx
call eax
add esp, 0xc
mov dword [ebp - 0x78], 0
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 5
push eax
push edi
call fcn.00520cb0
add esp, 8
mov eax, dword [ebp - 0x38]
mov byte [ebp - 4], 6
test eax, eax
je 0x47c028
test al, 1
jne 0x47c028
and eax, 0xfffffffe
mov eax, dword [eax]
test eax, eax
je 0x47c028
lea ecx, [ebp - 0x30]
push 2
push ecx
push ecx
call eax
add esp, 0xc
mov eax, dword [ebp - 0xac]
mov byte [ebp - 4], 7
test eax, eax
je 0x47c05d
push eax
call fcn.00521bb0
add esp, 4
mov dword [ebp - 0xac], 0
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 4], 8
test eax, eax
je 0x47c077
push eax
call fcn.00521bb0
add esp, 4
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.005a4e1e
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret