Function at 0x47bba4
Capabilities:
Access peb ldr_data
Get ntdll base address

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4c6bd1
mov eax, dword fs:[0]
push eax
sub esp, 0x58
push ebx
push esi
push edi
mov eax, dword [0x503298]
xor eax, esp
push eax
lea eax, [esp + 0x68]
mov dword fs:[0], eax
mov ebx, dword [ebp + 0xc]
push 0
push 0x1001800
lea eax, [esp + 0x28]
push eax
mov ecx, ebx
call fcn.0046321f
mov esi, dword [ebp + 8]
push eax
mov ecx, esi
call fcn.0042695d
mov eax, dword [ebx + 0x1c]
and dword [esp + 0x20], 0
add eax, 0x14
mov edi, 0x82
cmp eax, edi
mov ecx, ebx
cmovl edi, eax
call fcn.00494fb1
test al, al
jne 0x47bc1b
call fcn.0049442e
cmp eax, 2
jle 0x47bc29
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0xc]
add eax, 0x32
cmp eax, edi
cmovl edi, eax
mov eax, edi
push 0xfffffffffffffff6
cdq
pop ecx
idiv ecx
cmp dword [ebx + 0x8c], 0
mov ecx, eax
mov dword [esp + 0x10], ecx
je 0x47be46
lea ecx, [esp + 0x44]
call fcn.00421909
and dword [esp + 0x70], 0
mov eax, dword [ebx + 0x8c]
cmp eax, 2
jne 0x47bcf2
mov ecx, dword [esp + 0x10]
movd xmm1, edi
cvtdq2ps xmm1, xmm1
lea eax, [ecx + edi]
mulss xmm1, dword [0x4ee3a8]
movd xmm2, ecx
cvtdq2ps xmm2, xmm2
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movd xmm4, ecx
lea eax, [ecx + edi]
cvtdq2ps xmm4, xmm4
movd xmm3, eax
sub esp, 0xc
cvtdq2ps xmm3, xmm3
addss xmm1, xmm2
movss dword [esp + 8], xmm0
movss dword [esp + 4], xmm2
movaps xmm2, xmm4
lea ecx, [esp + 0x50]
mov dword [esp + 0x24], 0x55ff5555
mov byte [esp + 0x20], 0x21
movss dword [esp], xmm0
call fcn.00422391
movss xmm2, dword [0x4ee578]
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x48]
call fcn.004236db
lea ecx, [esp + 0x44]
push eax
call fcn.004219fe
lea ecx, [esp + 0x24]
call fcn.0040971a
jmp 0x47bd3e
cmp eax, 3
mov eax, dword [esp + 0x10]
mov edx, 0x605555ff
push 0x3f
mov ecx, 0x40b69900
cmove ecx, edx
mov dword [esp + 0x1c], ecx
pop ecx
movd xmm0, edi
push 0x69
cvtdq2ps xmm0, xmm0
movd xmm2, eax
movd xmm1, eax
pop edx
cmove ecx, edx
cvtdq2ps xmm2, xmm2
cvtdq2ps xmm1, xmm1
push ecx
mov dword [esp + 0x18], ecx
movaps xmm3, xmm0
lea ecx, [esp + 0x48]
movss dword [esp], xmm0
call fcn.00422420
lea ecx, [esp + 0x24]
call fcn.004479b3
mov byte [esp + 0x70], 1
mov eax, dword [esp + 0x14]
movzx edx, al
lea ecx, [esp + 0x20]
mov dword [esp + 0x1c], 0x24
call fcn.0040b6ea
mov esi, eax
movd xmm1, edi
cvtdq2ps xmm1, xmm1
mov byte [esp + 0x70], 2
mulss xmm1, dword [0x4ee3e4]
push 1
lea ecx, [esp + 0x18]
call fcn.00446e78
push ecx
mov byte [esp + 0x74], 3
mov dword [esp], 0x3f333333
push 0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
lea ecx, [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x1c]
sub esp, 0xc
movd xmm3, ecx
movss dword [esp + 8], xmm0
movss dword [esp + 4], xmm0
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm3, xmm3
movss dword [esp], xmm0
push esi
push eax
lea ecx, [esp + 0x44]
call fcn.00447f78
lea ecx, [esp + 0x14]
call fcn.0041740f
lea ecx, [esp + 0x20]
mov byte [esp + 0x70], 1
call fcn.0040b44b
lea eax, [esp + 0x44]
push eax
lea ecx, [esp + 0x28]
call fcn.00448c04
push 0
lea ecx, [esp + 0x48]
call fcn.00421b06
push dword [esp + 0x18]
lea ecx, [esp + 0x24]
call fcn.0041f2f4
mov esi, dword [ebp + 8]
push eax
mov ecx, esi
call fcn.004264ff
push 0x508cc4
lea eax, [esp + 0x48]
push eax
mov ecx, esi
call fcn.004269cb
push 0x50
pop edi
lea ecx, [esp + 0x24]
call fcn.004479e3
or dword [esp + 0x70], 0xffffffff
lea ecx, [esp + 0x44]
call fcn.0040971a
jmp 0x47be4a
mov edi, dword [esp + 0x20]
push 0
push 0x1001810
lea eax, [esp + 0x28]
push eax
mov ecx, ebx
call fcn.0046321f
push eax
mov ecx, esi
call fcn.004264ff
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx]
add eax, edi
mov dword [esp + 0x24], eax
mov eax, dword [ecx + 4]
mov dword [esp + 0x28], eax
mov eax, dword [ecx + 8]
sub eax, edi
mov dword [esp + 0x2c], eax
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x30], eax
lea eax, [esp + 0x44]
push eax
lea ecx, [esp + 0x28]
call fcn.0044c450
mov ecx, dword [ebp + 0x14]
push eax
push esi
call fcn.00448eb5
xor edi, edi
push edi
push 0x1001820
lea eax, [esp + 0x24]
push eax
mov ecx, ebx
call fcn.0046321f
push eax
mov ecx, esi
call fcn.004264ff
push 1
push dword [ebx + 0x1c]
mov ecx, esi
push dword [ebx + 0x18]
push edi
push edi
call fcn.00426a7b
mov ecx, dword [esp + 0x68]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10