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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x50609c
mov eax, dword fs:[0]
push eax
sub esp, 0xd0
push ebx
push esi
push edi
mov eax, dword [0x54d894]
xor eax, esp
push eax
lea eax, [esp + 0xe0]
mov dword fs:[0], eax
mov dword [esp + 0x44], ecx
mov esi, dword [ebp + 8]
lea eax, [esp + 0x30]
push eax
mov ecx, esi
call fcn.004a6a77
mov eax, dword [esi + 0xdc]
mov ecx, esi
mov ebx, dword [eax + 0x8c]
lea eax, [esp + 0x18]
push eax
call fcn.004a6896
mov ecx, esi
call fcn.0048f6a1
test al, al
je 0x4b1f8f
mov eax, dword [esp + 0x18]
mov edi, dword [ebp + 0xc]
push ecx
mov ecx, esp
mov dword [ecx], eax
mov ecx, edi
call fcn.0044b67d
jmp 0x4b206f
xor edx, edx
mov eax, ebx
xor edi, edi
xor esi, esi
xor ecx, ecx
sub eax, edx
je 0x4b1fd0
dec eax
je 0x4b1fc4
dec eax
je 0x4b1fb8
dec eax
jne 0x4b1fe0
mov edi, dword [esp + 0x38]
mov ecx, dword [esp + 0x30]
add edi, ecx
mov esi, dword [esp + 0x34]
mov edx, esi
jmp 0x4b1fe0
mov ecx, dword [esp + 0x38]
mov edi, dword [esp + 0x30]
add ecx, edi
jmp 0x4b1fb0
mov esi, dword [esp + 0x3c]
mov edx, dword [esp + 0x34]
add esi, edx
jmp 0x4b1fda
mov edx, dword [esp + 0x3c]
mov esi, dword [esp + 0x34]
add edx, esi
mov edi, dword [esp + 0x30]
mov ecx, edi
movss xmm2, dword [0x52efdc]
movd xmm0, edx
cvtdq2ps xmm0, xmm0
push 0
sub esp, 0xc
movss dword [esp + 8], xmm0
movd xmm0, ecx
lea ecx, [esp + 0x28]
cvtdq2ps xmm0, xmm0
movss dword [esp + 4], xmm0
push esp
call fcn.00444f6b
movss xmm2, dword [0x52effc]
push ecx
movd xmm5, esi
lea ecx, [esp + 0x2c]
movd xmm4, edi
push esp
cvtdq2ps xmm5, xmm5
cvtdq2ps xmm4, xmm4
call fcn.00444ed6
lea ecx, [esp + 0xa0]
movaps xmm3, xmm5
movaps xmm2, xmm4
call fcn.0044523e
mov edi, dword [ebp + 0xc]
mov ecx, edi
and dword [esp + 0xe8], 0
push eax
call fcn.0044b6bf
or dword [esp + 0xe8], 0xffffffff
push dword [esp + 0xa0]
call fcn.004dc624
mov esi, dword [ebp + 8]
pop ecx
mov ecx, dword [edi]
lea edx, [esp + 0x30]
push 0
push edx
mov eax, dword [ecx]
call dword [eax + 0x54]
push ecx
mov eax, esp
mov ecx, esi
push 0
push 0x1005812
push eax
call fcn.0049234b
mov ecx, edi
call fcn.0044b67d
mov eax, dword [esp + 0x30]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x2c], eax
cmp ebx, 1
je 0x4b20d5
push 1
lea eax, [esp + 0x4c]
push eax
lea ecx, [esp + 0x28]
call fcn.0042503e
mov ecx, dword [edi]
push 0
push eax
mov edx, dword [ecx]
call dword [edx + 0x54]
test ebx, ebx
je 0x4b20f3
push 1
lea eax, [esp + 0x4c]
push eax
lea ecx, [esp + 0x28]
call fcn.0041e230
mov ecx, dword [edi]
push 0
push eax
mov edx, dword [ecx]
call dword [edx + 0x54]
cmp ebx, 3
je 0x4b2112
push 1
lea eax, [esp + 0x4c]
push eax
lea ecx, [esp + 0x28]
call fcn.00425082
mov ecx, dword [edi]
push 0
push eax
mov edx, dword [ecx]
call dword [edx + 0x54]
cmp ebx, 2
je 0x4b2131
push 1
lea eax, [esp + 0x4c]
push eax
lea ecx, [esp + 0x28]
call fcn.004250c5
mov ecx, dword [edi]
push 0
push eax
mov edx, dword [ecx]
call dword [edx + 0x54]
mov ecx, esi
call fcn.0049361e
movss xmm2, dword [0x52f0e4]
test al, al
je 0x4b2162
cmp byte [ebp + 0x10], 0
jne 0x4b215a
cmp byte [ebp + 0x14], 0
jne 0x4b215a
movss xmm0, dword [0x52f0b0]
jmp 0x4b216a
movss dword [esp + 0x14], xmm2
jmp 0x4b2170
movss xmm0, dword [0x52f034]
movss dword [esp + 0x14], xmm0
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x44]
push eax
lea ecx, [esp + 0x20]
call fcn.00444fee
movss xmm2, dword [esp + 0x18]
mov ecx, eax
call fcn.00444caf
mov eax, dword [esi + 0xc]
jmp 0x4b21bb
push 0
push 0x55251c
push 0x54f094
push 0
push eax
call fcn.004faa08
add esp, 0x14
mov dword [esp + 0x14], eax
test eax, eax
jne 0x4b21cd
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x18], eax
test eax, eax
jne 0x4b2195
xor eax, eax
mov dword [esp + 0x14], eax
test eax, eax
je 0x4b2229
mov ecx, esi
call fcn.0048f6a1
mov esi, 0x1005813
test al, al
lea ecx, [esi + 2]
cmovne esi, ecx
mov ecx, dword [esp + 0x14]
push esi
call fcn.004923df
test al, al
je 0x4b2204
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x40]
push 0
push esi
push eax
call fcn.0049234b
mov esi, dword [eax]
jmp 0x4b222d
mov ecx, dword [esp + 0x44]
add ecx, 0xffffffc4
push esi
call fcn.004a7ddb
test al, al
je 0x4b2229
mov ecx, dword [esp + 0x44]
lea eax, [esp + 0x40]
push esi
push eax
add ecx, 0xffffffc4
call fcn.004a7d5e
jmp 0x4b2200
mov esi, dword [esp + 0x1c]
lea eax, [esp + 0x20]
push eax
push ecx
mov ecx, dword [ebp + 8]
lea eax, [esp + 0x50]
push eax
call fcn.004a6a45
pop ecx
mov ecx, eax
call fcn.00474384
movss xmm0, dword [esp + 0x28]
mov eax, dword [ebp + 8]
movss dword [esp + 0x14], xmm0
movss xmm0, dword [esp + 0x2c]
movss dword [esp + 0x18], xmm0
mov ecx, dword [eax + 0xdc]
call fcn.0048f7d2
test al, al
je 0x4b228a
movss xmm0, dword [esp + 0x2c]
movss dword [esp + 0x14], xmm0
movss xmm0, dword [esp + 0x28]
movss dword [esp + 0x18], xmm0
xor eax, eax
mov dword [esp + 0x88], 9
and dword [esp + 0x84], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], eax
movss xmm1, dword [esp + 0x14]
lea edx, [esp + 0x78]
push ecx
mov ecx, dword [ebp + 8]
mov eax, esp
mov dword [esp + 0xec], 1
movss xmm2, dword [esp + 0x1c]
mov dword [eax], esi
call fcn.004b1e49
pop ecx
lea ecx, [esp + 0x60]
call fcn.00445837
test ebx, ebx
js 0x4b23e5
cmp ebx, 1
jle 0x4b2383
cmp ebx, 2
je 0x4b2342
cmp ebx, 3
jne 0x4b23e5
movss xmm0, dword [esp + 0x20]
lea eax, [esp + 0x48]
addss xmm0, dword [esp + 0x28]
movss xmm2, dword [0x52f128]
push eax
lea eax, [esp + 0xc8]
push eax
movss dword [esp + 0x24], xmm0
call fcn.00445991
movss xmm3, dword [esp + 0x28]
movss xmm2, dword [esp + 0x20]
mov ecx, eax
call fcn.0044594f
jmp 0x4b23db
movss xmm0, dword [esp + 0x24]
lea eax, [esp + 0xac]
addss xmm0, dword [esp + 0x2c]
movss xmm2, dword [0x52f400]
lea ecx, [esp + 0x60]
push eax
lea eax, [esp + 0x90]
push eax
movss dword [esp + 0x24], xmm0
call fcn.00445991
movss xmm3, dword [esp + 0x20]
movss xmm2, dword [esp + 0x24]
jmp 0x4b2336
movss xmm0, dword [esp + 0x60]
lea eax, [esp + 0x48]
movss dword [esp + 0x48], xmm0
movss xmm0, dword [esp + 0x64]
movss dword [esp + 0x4c], xmm0
movss xmm0, dword [esp + 0x20]
addss xmm0, dword [esp + 0x68]
movss dword [esp + 0x50], xmm0
movss xmm0, dword [esp + 0x6c]
movss dword [esp + 0x54], xmm0
movss xmm0, dword [esp + 0x70]
movss dword [esp + 0x58], xmm0
movss xmm0, dword [esp + 0x24]
addss xmm0, dword [esp + 0x74]
movss dword [esp + 0x5c], xmm0
push eax
lea ecx, [esp + 0x64]
call fcn.00445857
mov ecx, edi
call fcn.0044b616
mov ecx, dword [edi]
lea edx, [esp + 0x60]
push edx
mov eax, dword [ecx]
call dword [eax + 0xc]
movss xmm0, dword [esp + 0x14]
lea eax, [esp + 0x20]
and dword [esp + 0x20], 0
lea ecx, [esp + 0x78]
and dword [esp + 0x24], 0
movss dword [esp + 0x28], xmm0
movss xmm0, dword [esp + 0x18]
push eax
push edi
movss dword [esp + 0x34], xmm0
call fcn.00470a26
lea ecx, [esp + 0x78]
call fcn.0047691a
push dword [esp + 0x78]
call fcn.004dc624
pop ecx
mov ecx, dword [esp + 0xe0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10