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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x74
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x70]
push ebx
push esi
push edi
lea esi, [eax + 0x28]
lea edi, [esp + 0x34]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movss xmm0, dword [esp + 0x34]
lea esi, [eax + 0x1c]
lea edi, [esp + 0x28]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push ecx
push ecx
movsd dword es:[edi], dword [esi]
subss xmm0, dword [esp + 0x30]
movss dword [esp + 4], xmm0
movss xmm0, dword [esp + 0x40]
subss xmm0, dword [esp + 0x34]
movss dword [esp], xmm0
call fcn.0040daf5
mulss xmm0, dword [0x57f9f0]
pop ecx
cvttss2si eax, xmm0
movzx eax, ax
pop ecx
lea ecx, [ebp + 0x10]
mov dword [esp + 0x10], eax
call fcn.0045c8dd
test al, al
je 0x493a7c
lea ecx, [ebp + 0x1c]
call fcn.0045c8dd
test al, al
je 0x493a7c
mov ebx, dword [ebp + 0x14]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x2f4]
mov edi, dword [ebp + 0x20]
mov esi, eax
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x2f4]
movss xmm2, dword [eax]
movss xmm0, dword [eax + 4]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x70]
movss xmm3, dword [eax + 0x28]
movss xmm1, dword [eax + 0x2c]
subss xmm1, dword [eax + 0x20]
subss xmm0, dword [esi + 4]
subss xmm3, dword [eax + 0x1c]
subss xmm2, dword [esi]
and dword [esp + 0xc], 0
mov eax, dword [0x6a496c]
mulss xmm1, xmm2
mulss xmm0, xmm3
subss xmm0, xmm1
xorps xmm1, xmm1
comiss xmm1, xmm0
jbe 0x493713
mov eax, dword [0x6a4968]
mov dword [esp + 0xc], 0x8000
mov ecx, dword [ebp + 0xc]
jmp 0x493723
cmp dword [ecx + 4], eax
je 0x493a73
mov ecx, dword [ecx]
test ecx, ecx
jne 0x493718
and dword [esp + 0x14], ecx
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
lea eax, [ecx + eax - 0x2000]
movzx eax, ax
mov dword [esp + 0x18], eax
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x1fc]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x2f4]
mov esi, eax
mov eax, dword [ebx]
lea edi, [esp + 0x34]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov ecx, ebx
movsd dword es:[edi], dword [esi]
call dword [eax + 0x2f4]
mov ecx, dword [esp + 0x10]
movss xmm0, dword [esp + 0x34]
mov esi, eax
mov eax, dword [esp + 0xc]
lea edi, [esp + 0x28]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push ecx
movsd dword es:[edi], dword [esi]
subss xmm0, dword [esp + 0x2c]
lea eax, [eax + ecx + 0x4000]
push ecx
movss dword [esp + 4], xmm0
movss xmm0, dword [esp + 0x40]
subss xmm0, dword [esp + 0x34]
movzx esi, ax
mov dword [esp + 0x18], esi
movss dword [esp], xmm0
call fcn.0040daf5
mulss xmm0, dword [0x57f9f0]
cvttss2si eax, xmm0
sub si, ax
movzx eax, si
movzx eax, ax
test eax, eax
pop ecx
pop ecx
mov ecx, eax
jge 0x4937d0
neg ecx
cmp ecx, 0x800
jbe 0x493a09
xorps xmm0, xmm0
movss dword [esp + 0x78], xmm0
movss dword [esp + 0x74], xmm0
movss dword [esp + 0x70], xmm0
movss dword [esp + 0x6c], xmm0
movss dword [esp + 0x64], xmm0
movss dword [esp + 0x60], xmm0
movss dword [esp + 0x5c], xmm0
movss dword [esp + 0x58], xmm0
movss dword [esp + 0x50], xmm0
movss dword [esp + 0x4c], xmm0
movss dword [esp + 0x48], xmm0
movss dword [esp + 0x44], xmm0
movss xmm0, dword [0x55b520]
movss dword [esp + 0x7c], xmm0
movss dword [esp + 0x68], xmm0
movss dword [esp + 0x54], xmm0
movss dword [esp + 0x40], xmm0
cvtsi2ss xmm0, eax
mulss xmm0, dword [0x57f940]
push ecx
lea eax, [esp + 0x44]
movss dword [esp], xmm0
push eax
call fcn.004030d7
mov esi, dword [ebp + 0x20]
mov eax, dword [esi]
pop ecx
pop ecx
mov ecx, esi
call dword [eax + 0x2f4]
mov edi, eax
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x2f4]
movss xmm0, dword [eax]
movss xmm1, dword [eax + 4]
movss xmm2, dword [eax + 8]
movss xmm3, dword [0x559c80]
addss xmm0, dword [edi]
addss xmm1, dword [edi + 4]
addss xmm2, dword [edi + 8]
mov eax, dword [ebx]
mulss xmm0, xmm3
mulss xmm1, xmm3
mulss xmm2, xmm3
mov ecx, ebx
movss dword [esp + 0x1c], xmm0
movss dword [esp + 0x20], xmm1
movss dword [esp + 0x24], xmm2
call dword [eax + 0x2f4]
movss xmm0, dword [eax + 4]
movss xmm1, dword [eax + 8]
movss xmm2, dword [eax]
subss xmm0, dword [esp + 0x20]
subss xmm1, dword [esp + 0x24]
subss xmm2, dword [esp + 0x1c]
mov eax, dword [esi]
mov ecx, esi
movss dword [esp + 0x28], xmm2
movss dword [esp + 0x2c], xmm0
movss dword [esp + 0x30], xmm1
call dword [eax + 0x2f4]
movss xmm0, dword [eax + 4]
movss xmm1, dword [eax + 8]
movss xmm2, dword [eax]
subss xmm0, dword [esp + 0x20]
subss xmm1, dword [esp + 0x24]
subss xmm2, dword [esp + 0x1c]
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x2c]
push eax
push eax
movss dword [esp + 0x40], xmm2
movss dword [esp + 0x44], xmm0
movss dword [esp + 0x48], xmm1
call fcn.004152ae
lea eax, [esp + 0x4c]
push eax
lea eax, [esp + 0x44]
push eax
push eax
call fcn.004152ae
movss xmm0, dword [esp + 0x40]
addss xmm0, dword [esp + 0x34]
mov eax, dword [ebx]
movss dword [esp + 0x40], xmm0
movss xmm0, dword [esp + 0x44]
addss xmm0, dword [esp + 0x38]
movss dword [esp + 0x44], xmm0
movss xmm0, dword [esp + 0x48]
addss xmm0, dword [esp + 0x3c]
movss dword [esp + 0x48], xmm0
movss xmm0, dword [esp + 0x4c]
addss xmm0, dword [esp + 0x34]
movss dword [esp + 0x4c], xmm0
movss xmm0, dword [esp + 0x50]
addss xmm0, dword [esp + 0x38]
add esp, 0x18
movss dword [esp + 0x38], xmm0
movss xmm0, dword [esp + 0x3c]
addss xmm0, dword [esp + 0x24]
push 0
lea ecx, [esp + 0x2c]
push ecx
mov ecx, ebx
movss dword [esp + 0x44], xmm0
call dword [eax + 0x5cc]
mov edi, dword [esp + 0x10]
mov eax, dword [ebx]
push edi
mov ecx, ebx
call dword [eax + 0x590]
mov eax, dword [esi]
push 0
lea ecx, [esp + 0x38]
push ecx
mov ecx, esi
call dword [eax + 0x5cc]
mov eax, dword [esi]
add edi, 0x8000
push edi
mov ecx, esi
call dword [eax + 0x590]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x1fc]
mov ebx, dword [ebp + 8]
mov ecx, dword [ebx + 0x28]
push dword [esp + 0x14]
mov dword [ebx + 0x70], ecx
mov eax, dword [ecx]
call dword [eax + 0x44]
fldz
mov eax, dword [ebx + 0x28]
push ecx
mov byte [eax + 0x90], 0
fstp dword [esp]
push dword [ebx + 0x14]
mov eax, dword [ebx + 0x70]
xor ecx, ecx
call fcn.00494dd3
mov eax, dword [ebx + 0x28]
mov cx, word [esp + 0x18]
mov word [eax + 0xb8], cx
lea edi, [ebx + 0x60]
lea esi, [ebp + 0x10]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub esp, 0xc
mov edi, esp
lea esi, [ebp + 0x10]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push ebx
mov byte [ebx + 0x5c], 0
movsd dword es:[edi], dword [esi]
call fcn.00493fa6
mov al, 1
jmp 0x493a7e
mov dword [esp + 0x14], ecx
jmp 0x49372b
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x20