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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x1f4
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, eax
add esi, 0x98
mov ebx, 0x20
nop
xorps xmm0, xmm0
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x48]
movss dword [esi - 0x18], xmm0
movss dword [esi - 0x14], xmm0
movss dword [esi - 0x10], xmm0
push ecx
push 0
movss dword [esi - 8], xmm0
movss dword [esi - 4], xmm0
movss dword [esi], xmm0
call fcn.00403f60
movss xmm0, dword [esp + 0x38]
movss xmm2, dword [esp + 0x50]
movss dword [esi + 0x14], xmm0
xorps xmm0, xmm0
movss dword [esi + 0x10], xmm2
movaps xmm1, xmm2
mulss xmm1, xmm0
movss dword [esi + 8], xmm1
movss dword [esi + 0xc], xmm1
movss xmm1, dword [0x7389bc]
movss dword [esi + 0x28], xmm0
movss dword [esi + 0x18], xmm0
movss dword [esi + 0x1c], xmm0
movss dword [esi + 0x20], xmm1
movss dword [esi + 0x38], xmm0
movss dword [esi + 0x3c], xmm0
movss dword [esi + 0x40], xmm0
mov dl, byte [esi + 0x58]
xor eax, eax
and dl, 0xf8
mov dword [esi + 0x48], eax
mov dword [esi + 0x4c], eax
mov byte [esi + 0x58], dl
mov dword [esi + 0x54], eax
add esp, 0xc
add esi, 0x80
dec ebx
jne 0x5b2340
mov edx, dword [ebp + 8]
movss xmm1, dword [0x738f10]
movss dword [edx + 0x1084], xmm0
mov eax, dword [0x782cd8]
test eax, eax
movss dword [esp + 0x30], xmm1
mov dword [esp + 0x44], eax
mov dword [esp + 0x38], 0
jle 0x5b2634
lea esi, [esp + 0x120]
mov eax, dword [esp + 0x38]
movss dword [esi + 0x10], xmm0
movss dword [esi], xmm0
movss dword [esi - 0x10], xmm0
movss dword [esi + 0x14], xmm0
movss dword [esi + 4], xmm0
movss dword [esi - 0x1c], xmm0
movss dword [esi + 0x18], xmm0
movss dword [esi - 8], xmm0
movss dword [esi - 0x18], xmm0
movss dword [esi + 0xc], xmm0
movss dword [esi - 4], xmm0
movss dword [esi - 0x14], xmm0
movss xmm0, dword [0x7389bc]
push eax
mov ecx, 0x782c70
movss dword [esi - 0x20], xmm0
movss dword [esi - 0xc], xmm0
movss dword [esi + 8], xmm0
movss dword [esi + 0x1c], xmm0
call fcn.00658430
push eax
mov ecx, 0x784858
call fcn.0065e640
mov ebx, eax
test ebx, ebx
je 0x5b2619
movss xmm0, dword [ebx + 0x40]
subss xmm0, dword [edi]
movss xmm1, dword [ebx + 0x44]
subss xmm1, dword [edi + 4]
movaps xmm2, xmm0
movss xmm0, dword [ebx + 0x48]
subss xmm0, dword [edi + 8]
movss dword [esp + 0x34], xmm1
fld dword [esp + 0x34]
movss dword [esp + 0x3c], xmm0
fmul dword [esp + 0x34]
movss dword [esp + 0x10], xmm2
fld dword [esp + 0x3c]
mulss xmm2, xmm2
fmul dword [esp + 0x3c]
movss dword [esp + 0x2c], xmm2
movss dword [esp + 0x14], xmm1
movss dword [esp + 0x18], xmm0
faddp st(1)
fadd dword [esp + 0x2c]
fsqrt
fstp dword [esp + 0x28]
fld dword [esp + 0x30]
fld dword [esp + 0x28]
fcompi st(1)
fstp st(0)
ja 0x5b251c
movss xmm3, dword [esp + 0x28]
movss dword [esp + 0x30], xmm3
mulss xmm0, xmm0
movaps xmm3, xmm1
mulss xmm3, xmm1
addss xmm0, xmm3
addss xmm0, xmm2
comiss xmm0, dword [0x738d48]
movss dword [esp + 0x40], xmm0
jbe 0x5b2564
fld dword [esp + 0x40]
fsqrt
fdivr dword [0x7389bc]
fld dword [esp + 0x10]
fmul st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x14]
fmul st(1)
fstp dword [esp + 0x14]
fmul dword [esp + 0x18]
jmp 0x5b2568
fld dword [esp + 0x18]
fld st(0)
xorps xmm0, xmm0
fld dword [esp + 0x14]
lea ecx, [esp + 0x50]
fld dword [esp + 0x10]
push ecx
fmul dword [esp + 0x14]
lea ecx, [esi - 0x20]
fld st(2)
movss dword [esp + 0x5c], xmm0
fmul st(3)
faddp st(1)
fsqrt
fstp st(2)
fxch st(1)
fpatan
fchs
fstp dword [esp + 0x54]
fld dword [esp + 0x14]
fxch st(1)
fpatan
fstp dword [esp + 0x58]
call fcn.00404450
movss xmm1, dword [esp + 0x28]
mulss xmm1, dword [0x738f98]
xorps xmm2, xmm2
comiss xmm2, xmm1
movss xmm0, dword [0x7389bc]
ja 0x5b25d9
comiss xmm1, xmm0
jbe 0x5b25d4
movaps xmm1, xmm0
jmp 0x5b25dc
comiss xmm2, xmm1
jbe 0x5b25dc
movaps xmm1, xmm2
subss xmm0, xmm1
comiss xmm0, dword [0x738a10]
jbe 0x5b2619
movss xmm1, dword [0x738aa8]
movss dword [ebx + 0x678], xmm0
movss xmm0, dword [0x738a40]
movss dword [ebx + 0x670], xmm1
movss dword [ebx + 0x674], xmm2
movss dword [ebx + 0x67c], xmm0
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x44]
xorps xmm0, xmm0
inc eax
add esi, 0x40
cmp eax, ecx
mov dword [esp + 0x38], eax
jl 0x5b2423
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [esp + 0x10], eax
mov eax, dword [edx + 8]
movss xmm1, dword [esp + 0x10]
mov dword [esp + 0x18], eax
movss xmm2, dword [esp + 0x18]
movaps xmm3, xmm2
mulss xmm3, xmm2
mov dword [esp + 0x14], ecx
movss xmm2, dword [esp + 0x14]
mov ecx, dword [edx + 0xc]
mulss xmm1, xmm1
addss xmm1, xmm3
movaps xmm3, xmm2
mulss xmm3, xmm2
addss xmm1, xmm3
ucomiss xmm1, xmm0
lahf
test ah, 0x44
mov dword [esp + 0x1c], ecx
movss dword [esp + 0x2c], xmm1
jnp 0x5b26bf
fld dword [esp + 0x2c]
fsqrt
fdivr dword [0x7389bc]
fmul dword [0x738c08]
fld dword [esp + 0x10]
fmul st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x14]
fmul st(1)
fstp dword [esp + 0x14]
fld dword [esp + 0x18]
fmul st(1)
fstp dword [esp + 0x18]
fstp st(0)
mov eax, dword [ebp + 0xc]
fld dword [eax + 8]
lea edx, [esp + 0x50]
fld dword [eax]
movss dword [esp + 0x58], xmm0
fld dword [eax + 4]
movss dword [esp + 0xf0], xmm0
fld st(1)
movss dword [esp + 0xe0], xmm0
fmul st(2)
movss dword [esp + 0xd0], xmm0
fld st(3)
movss dword [esp + 0xf4], xmm0
fmul st(4)
movss dword [esp + 0xe4], xmm0
movss dword [esp + 0xc4], xmm0
movss dword [esp + 0xf8], xmm0
faddp st(1)
movss dword [esp + 0xd8], xmm0
movss dword [esp + 0xc8], xmm0
movss dword [esp + 0xec], xmm0
fsqrt
movss dword [esp + 0xdc], xmm0
movss dword [esp + 0xcc], xmm0
movss xmm0, dword [0x7389bc]
push edx
lea ecx, [esp + 0xc4]
movss dword [esp + 0xc4], xmm0
movss dword [esp + 0xd8], xmm0
movss dword [esp + 0xec], xmm0
movss dword [esp + 0x100], xmm0
fstp st(3)
fxch st(1)
fxch st(2)
fpatan
fstp st(1)
fchs
fstp dword [esp + 0x54]
fld dword [eax]
fld dword [eax + 8]
fpatan
fstp dword [esp + 0x58]
call fcn.00404450
movss xmm0, dword [edi]
addss xmm0, dword [esp + 0x10]
mov esi, dword [ebp + 8]
mov eax, dword [esi + 0x10b0]
movss dword [esp + 0x80], xmm0
movss xmm0, dword [esp + 0x14]
addss xmm0, dword [edi + 4]
movss dword [esp + 0x84], xmm0
movss xmm0, dword [edi + 8]
addss xmm0, dword [esp + 0x18]
lea ecx, [esi + 0x10b0]
movss dword [esp + 0x88], xmm0
call dword [eax + 0x20]
mov ax, word [eax + 0x40]
cmp ax, 0x20
jle 0x5b2801
mov dword [esp + 0x40], 0x20
jmp 0x5b2808
movsx ecx, ax
mov dword [esp + 0x40], ecx
movss xmm1, dword [edi]
movss xmm0, dword [0x738b08]
subss xmm1, xmm0
movss dword [esp + 0x10], xmm1
movss xmm1, dword [edi + 4]
mov ecx, dword [esp + 0x10]
subss xmm1, xmm0
movss dword [esp + 0x14], xmm1
movss xmm1, dword [edi + 8]
lea eax, [esi + 0x1090]
mov edx, eax
mov dword [edx], ecx
mov ecx, dword [esp + 0x14]
mov dword [edx + 4], ecx
subss xmm1, xmm0
movss dword [esp + 0x18], xmm1
mov ecx, dword [esp + 0x18]
mov dword [edx + 8], ecx
mov ecx, dword [esp + 0x1c]
mov dword [edx + 0xc], ecx
movss xmm1, dword [edi]
addss xmm1, xmm0
movss dword [esp + 0x10], xmm1
movss xmm1, dword [edi + 4]
mov edx, dword [esp + 0x10]
add eax, 0x10
addss xmm1, xmm0
movss dword [esp + 0x14], xmm1
movss xmm1, dword [edi + 8]
mov ecx, dword [esp + 0x14]
mov dword [eax], edx
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x1c]
addss xmm1, xmm0
movss dword [esp + 0x18], xmm1
mov edx, dword [esp + 0x18]
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov ecx, dword [ebp + 0x10]
xor eax, eax
cmp ecx, eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x38], eax
jle 0x5b3273
mov ebx, 1
jmp 0x5b28d0
mov esi, dword [ebp + 8]
xor edi, edi
add esi, 0x80
jmp 0x5b28e0
test byte [esi + 0x70], 1
je 0x5b28fb
inc edi
add esi, 0x80
cmp edi, 0x20
jl 0x5b28e0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x4c
xorps xmm0, xmm0
lea edx, [esp + 0x70]
push edx
lea eax, [esp + 0x78]
movss dword [esi], xmm0
movss dword [esi + 4], xmm0
movss dword [esi + 8], xmm0
push eax
push 0
movss dword [esi + 0x10], xmm0
movss dword [esi + 0x14], xmm0
movss dword [esi + 0x18], xmm0
call fcn.00403f60
movss xmm0, dword [esp + 0x7c]
movss xmm2, dword [esp + 0x80]
movss dword [esi + 0x2c], xmm0
xorps xmm0, xmm0
movss dword [esi + 0x28], xmm2
movaps xmm1, xmm2
mulss xmm1, xmm0
movss dword [esi + 0x20], xmm1
movss dword [esi + 0x24], xmm1
movss xmm1, dword [0x7389bc]
movss dword [esi + 0x40], xmm0
movss dword [esi + 0x30], xmm0
movss dword [esi + 0x34], xmm0
movss dword [esi + 0x38], xmm1
movss dword [esi + 0x50], xmm0
movss dword [esi + 0x54], xmm0
movss dword [esi + 0x58], xmm0
mov cl, byte [esi + 0x70]
xor eax, eax
and cl, 0xf8
add esp, 0xc
cmp edi, 0xffffffff
mov dword [esi + 0x60], eax
mov dword [esi + 0x64], eax
mov byte [esi + 0x70], cl
mov dword [esi + 0x6c], eax
je 0x5b3273
mov ecx, dword [ebp + 8]
lea esi, [edi + 1]
shl esi, 7
add esi, ecx
mov ecx, dword [0x77eab0]
imul ecx, ecx, 0x343fd
add ecx, 0x269ec3
mov dword [0x77eab0], ecx
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
mov edx, ecx
mov ecx, dword [esp + 0x84]
shr edx, 0x10
and edx, 0x7fff
cvtsi2ss xmm0, edx
mov edx, dword [esp + 0x80]
lea eax, [esi + 0x50]
mov edi, eax
mov eax, dword [esp + 0x8c]
mov dword [edi], edx
mov dword [edi + 4], ecx
mov ecx, dword [esp + 0x88]
mov dword [edi + 8], ecx
mov dword [edi + 0xc], eax
mov edi, esi
mov dword [edi], edx
mov edx, dword [esp + 0x84]
mov dword [edi + 4], edx
mov dl, byte [esi + 0x70]
mov dword [edi + 8], ecx
mov dword [edi + 0xc], eax
or dl, 1
mov byte [esi + 0x70], dl
mov eax, dword [0x77eab0]
imul eax, eax, 0x343fd
add eax, 0x269ec3
mov dword [0x77eab0], eax
shr eax, 0x10
and eax, 0x7fff
cdq
idiv dword [esp + 0x40]
movss xmm1, dword [0x738a60]
movss xmm2, dword [ebp + 0x14]
movss xmm3, dword [ebp + 0x18]
mov eax, ebx
mulss xmm0, xmm1
subss xmm3, xmm2
mulss xmm0, xmm3
addss xmm0, xmm2
movss dword [esp + 0x2c], xmm0
mov ecx, edx
shl eax, cl
cdq
mov dword [esi + 0x60], eax
mov dword [esi + 0x64], edx
mov ecx, dword [0x77eab0]
imul ecx, ecx, 0x343fd
add ecx, 0x269ec3
mov edx, ecx
shr edx, 0x10
and edx, 0x7fff
mov dword [0x77eab0], ecx
cvtsi2ss xmm0, edx
mulss xmm0, xmm1
mulss xmm0, dword [0x738bb8]
movss dword [esi + 0x40], xmm0
mov edi, dword [0x77eab0]
imul edi, edi, 0x343fd
add edi, 0x269ec3
mov eax, edi
shr eax, 0x10
and eax, 0x7fff
cvtsi2ss xmm0, eax
mulss xmm0, xmm1
movss xmm1, dword [ebp + 0x1c]
comiss xmm1, xmm0
mov dword [0x77eab0], edi
jbe 0x5b2aee
mov dword [esp + 0x30], ebx
lea ecx, [esp + 0x48]
call fcn.0042f9a0
movss xmm0, dword [0x7389bc]
movss xmm1, dword [ebp + 0x20]
movss dword [esp + 0x4c], xmm0
movss xmm0, dword [esp + 0x2c]
comiss xmm1, xmm0
jbe 0x5b2c2c
imul edi, edi, 0x343fd
add edi, 0x269ec3
mov ecx, edi
shr ecx, 0x10
and ecx, 0x7fff
cvtsi2ss xmm0, ecx
mulss xmm0, dword [0x738a60]
comiss xmm0, dword [ebp + 0x24]
mov dword [0x77eab0], edi
jbe 0x5b2b8c
mov edx, dword [esp + 0x64]
cmp edx, dword [ebp + 0x2c]
jge 0x5b2cbe
mov eax, dword [ebp + 0x30]
test eax, eax
je 0x5b2b6c
push eax
lea ecx, [esp + 0x4c]
push ecx
mov ecx, 0x8ce750
call fcn.0043b1a0
mov dl, byte [ebp + 0x28]
mov al, byte [esi + 0x70]
shl dl, 2
xor dl, al
mov cl, al
mov eax, dword [esp + 0x64]
and dl, 4
xor cl, dl
inc eax
mov dword [esp + 0x64], eax
jmp 0x5b2ca7
mov eax, dword [esp + 0x68]
cmp eax, dword [ebp + 0x38]
jge 0x5b2cbe
mov eax, dword [ebp + 0x3c]
test eax, eax
je 0x5b2bb2
mov ecx, eax
push ecx
lea edx, [esp + 0x4c]
push edx
mov ecx, 0x8ce750
call fcn.0043b1a0
mov cl, byte [esi + 0x70]
mov al, byte [ebp + 0x34]
movss xmm0, dword [0x738a1c]
mov edx, dword [esp + 0x68]
shl al, 2
xor al, cl
movss xmm1, dword [0x738b74]
and al, 4
xor cl, al
mov byte [esi + 0x70], cl
mov edi, dword [0x77eab0]
imul edi, edi, 0x343fd
add edi, 0x269ec3
mov ecx, edi
shr ecx, 0x10
and ecx, 0x7fff
movss dword [esp + 0x4c], xmm0
inc edx
cvtsi2ss xmm0, ecx
mulss xmm0, dword [0x738a60]
comiss xmm1, xmm0
mov dword [esp + 0x34], ebx
mov dword [esp + 0x68], edx
mov dword [0x77eab0], edi
jbe 0x5b2cbe
mov dword [esp + 0x30], 0
jmp 0x5b2cbe
comiss xmm0, dword [ebp + 0x40]
jbe 0x5b2cbe
movss xmm1, dword [ebp + 0x44]
imul edi, edi, 0x343fd
add edi, 0x269ec3
mov edx, edi
shr edx, 0x10
and edx, 0x7fff
cvtsi2ss xmm0, edx
mulss xmm0, dword [0x738a60]
comiss xmm1, xmm0
mov dword [0x77eab0], edi
jbe 0x5b2cbe
mov eax, dword [esp + 0x6c]
cmp eax, dword [ebp + 0x4c]
jge 0x5b2cbe
mov eax, dword [ebp + 0x50]
test eax, eax
je 0x5b2c8b
mov ecx, eax
push ecx
lea edx, [esp + 0x4c]
push edx
mov ecx, 0x8ce750
call fcn.0043b1a0
mov al, byte [ebp + 0x48]
mov cl, byte [esi + 0x70]
shl al, 2
xor al, cl
and al, 4
xor cl, al
mov eax, dword [esp + 0x6c]
inc eax
mov dword [esp + 0x34], ebx
mov dword [esp + 0x6c], eax
movss xmm0, dword [0x738a1c]
mov byte [esi + 0x70], cl
mov edi, dword [0x77eab0]
movss dword [esp + 0x4c], xmm0
mov eax, dword [esp + 0x48]
cmp ax, 0xffff
je 0x5b2e77
mov edx, dword [0x8cf1b4]
movsx eax, ax
mov ecx, eax
imul ecx, ecx, 0x98
mov ecx, dword [ecx + edx + 0x84]
test ecx, ecx
jne 0x5b2d3e
cmp eax, 0xffffffff
jne 0x5b2cf1
xor edx, edx
jmp 0x5b2d34
mov ebx, eax
imul ebx, ebx, 0x98
mov ecx, dword [ebx + edx + 0x84]
test ecx, ecx
lea eax, [ebx + edx]
jne 0x5b2d28
mov ecx, dword [0x8cf5c0]
test ecx, ecx
je 0x5b2d28
push eax
push 0x8ce750
call fcn.0043adc0
mov edi, dword [0x77eab0]
mov edx, dword [0x8cf1b4]
mov edx, dword [ebx + edx + 0x84]
mov ebx, 1
mov ecx, edx
test ecx, ecx
je 0x5b2e77
cmp dword [0x80ed08], 8
jge 0x5b2e77
push ecx
lea edi, [esi + 0x68]
push edi
call fcn.005b80b0
test eax, eax
je 0x5b2e71
mov eax, dword [edi]
test eax, eax
jl 0x5b2d7e
cmp eax, 0x1ff
jg 0x5b2d7e
mov ecx, dword [eax*4 + 0x93d390]
test ecx, ecx
je 0x5b2d7e
test byte [ecx + 0xc4], 2
je 0x5b2d86
mov dword [edi], 0xffffffff
jmp 0x5b2d96
mov eax, dword [eax*4 + 0x93d390]
mov edx, dword [eax]
push 0
mov ecx, eax
call dword [edx + 0x18]
mov eax, dword [edi]
test eax, eax
jl 0x5b2db7
cmp eax, 0x1ff
jg 0x5b2db7
mov eax, dword [eax*4 + 0x93d390]
test eax, eax
je 0x5b2db7
test byte [eax + 0xc4], 2
je 0x5b2dbf
mov dword [edi], 0xffffffff
jmp 0x5b2deb
mov edx, esi
mov ebx, dword [edx]
lea ecx, [eax + 0x30]
mov dword [ecx], ebx
mov ebx, dword [edx + 4]
mov dword [ecx + 4], ebx
mov ebx, dword [edx + 8]
mov dword [ecx + 8], ebx
mov edx, dword [edx + 0xc]
mov ebx, 1
mov dword [ecx + 0xc], edx
mov dword [eax + 0x90], ebx
mov dword [eax + 0x94], ebx
movss xmm0, dword [esp + 0x4c]
mov eax, dword [edi]
test eax, eax
movss dword [esp + 0xa0], xmm0
movss dword [esp + 0xa4], xmm0
movss dword [esp + 0xa8], xmm0
jl 0x5b2e2d
cmp eax, 0x1ff
jg 0x5b2e2d
mov eax, dword [eax*4 + 0x93d390]
test eax, eax
je 0x5b2e2d
test byte [eax + 0xc4], 2
je 0x5b2e35
mov dword [edi], 0xffffffff
jmp 0x5b2e6b
mov edx, dword [esp + 0xa0]
lea ecx, [eax + 0x10]
mov dword [ecx], edx
mov edx, dword [esp + 0xa4]
mov dword [ecx + 4], edx
mov edx, dword [esp + 0xa8]
mov dword [ecx + 8], edx
mov edx, dword [esp + 0xac]
mov dword [ecx + 0xc], edx
mov dword [eax + 0x90], ebx
mov dword [eax + 0x94], ebx
inc dword [0x80ed08]
mov edi, dword [0x77eab0]
mov eax, dword [esp + 0x30]
imul edi, edi, 0x343fd
movss xmm3, dword [0x738a60]
add edi, 0x269ec3
mov dword [0x77eab0], edi
imul edi, edi, 0x343fd
add edi, 0x269ec3
test eax, eax
mov eax, dword [0x77eab0]
mov dword [0x77eab0], edi
jne 0x5b2f19
movss xmm2, dword [0x7389e8]
movss xmm4, dword [0x7389bc]
mov ecx, edi
shr eax, 0x10
shr ecx, 0x10
and eax, 0x7fff
and ecx, 0x7fff
lea edi, [esi + 0x10]
cvtsi2ss xmm0, eax
cvtsi2ss xmm1, ecx
mulss xmm0, xmm3
mulss xmm1, xmm3
push ebx
mulss xmm0, xmm2
mulss xmm1, xmm2
subss xmm0, xmm4
subss xmm1, xmm4
push edi
mov ecx, edi
lea eax, [esp + 0xc8]
movss dword [edi], xmm0
movss dword [edi + 4], xmm1
movss dword [edi + 8], xmm2
call fcn.0042e540
jmp 0x5b30eb
shr eax, 0x10
imul edi, edi, 0x343fd
and eax, 0x7fff
cdq
idiv dword [esp + 0x44]
movss xmm2, dword [0x738bbc]
movss xmm4, dword [0x738f94]
add edi, 0x269ec3
mov eax, edi
shr eax, 0x10
and eax, 0x7fff
cvtsi2ss xmm1, eax
mulss xmm1, xmm3
mulss xmm1, xmm2
subss xmm1, dword [str.2_2]
movss dword [esp + 0x3c], xmm1
mov ebx, edx
mov edx, dword [0x77eab0]
shr edx, 0x10
and edx, 0x7fff
cvtsi2ss xmm0, edx
mulss xmm0, xmm3
mulss xmm0, xmm2
subss xmm0, xmm2
xorps xmm2, xmm2
comiss xmm2, xmm0
movss dword [esp + 0x28], xmm0
mov dword [0x77eab0], edi
jbe 0x5b2fc3
comiss xmm0, xmm4
jbe 0x5b2fc3
movaps xmm0, xmm4
movss dword [esp + 0x28], xmm0
movss xmm3, dword [0x738f90]
comiss xmm2, xmm1
jbe 0x5b2fe0
comiss xmm1, xmm4
jbe 0x5b2fe0
movss dword [esp + 0x3c], xmm4
jmp 0x5b2ff0
comiss xmm0, xmm2
jbe 0x5b2fa9
movss xmm3, dword [0x738f90]
comiss xmm3, xmm0
jbe 0x5b2fb1
movaps xmm0, xmm3
movss dword [esp + 0x28], xmm0
jmp 0x5b2fb1
comiss xmm1, xmm2
jbe 0x5b2ff0
comiss xmm3, xmm1
jbe 0x5b2ff0
movss dword [esp + 0x3c], xmm3
comiss xmm0, xmm2
jbe 0x5b3003
mulss xmm0, dword [0x7389c8]
movss dword [esp + 0x28], xmm0
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0x78]
push ecx
lea edx, [esp + 0x9c]
push edx
push eax
call fcn.00403f60
movss xmm2, dword [esp + 0x84]
xorps xmm1, xmm1
movss xmm0, dword [esp + 0xa4]
mov eax, dword [esp + 0x48]
lea ecx, [esp + 0xa0]
push ecx
movaps xmm3, xmm2
lea edx, [esp + 0x8c]
mulss xmm3, xmm1
subss xmm3, xmm0
push edx
mulss xmm0, xmm1
addss xmm0, xmm2
push eax
movss dword [esp + 0x6c], xmm3
movss dword [esp + 0x70], xmm0
call fcn.00403f60
movss xmm0, dword [esp + 0x70]
movss xmm1, dword [esp + 0x94]
movss xmm3, dword [esp + 0xac]
xorps xmm2, xmm2
add esp, 0x18
movaps xmm4, xmm0
mulss xmm4, xmm1
movaps xmm5, xmm3
push 1
lea ecx, [esp + 0x54]
shl ebx, 6
mulss xmm5, xmm2
mulss xmm0, xmm3
mulss xmm1, xmm2
addss xmm4, xmm5
subss xmm0, xmm1
push ecx
lea eax, [esp + ebx + 0x108]
movss dword [esp + 0x58], xmm4
movss dword [esp + 0x60], xmm0
call fcn.0042e540
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
lea edi, [esi + 0x10]
mov edx, edi
mov dword [edx], eax
mov eax, dword [esp + 0x58]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x5c]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
mov ebx, 1
mov eax, dword [esp + 0x34]
test eax, eax
je 0x5b3105
movss xmm0, dword [esi + 0x14]
addss xmm0, dword [0x7389bc]
movss dword [esi + 0x14], xmm0
xorps xmm2, xmm2
mov edx, edi
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [esp + 0x10], eax
mov eax, dword [edx + 8]
movss xmm1, dword [esp + 0x10]
mov dword [esp + 0x18], eax
movss xmm0, dword [esp + 0x18]
movaps xmm4, xmm1
movaps xmm5, xmm0
mov dword [esp + 0x14], ecx
mov ecx, dword [edx + 0xc]
mulss xmm4, xmm1
mulss xmm5, xmm0
addss xmm4, xmm5
comiss xmm4, dword [0x738d48]
mov dword [esp + 0x1c], ecx
movaps xmm3, xmm2
movss dword [esp + 0x90], xmm4
jbe 0x5b319b
fld dword [esp + 0x90]
fsqrt
fdivr dword [0x7389bc]
fld dword [esp + 0x10]
fmul st(1)
fstp dword [esp + 0x10]
movss xmm1, dword [esp + 0x10]
fld dword [0x738a54]
fmul st(1)
fstp dword [esp + 0x14]
movss xmm3, dword [esp + 0x14]
fld dword [esp + 0x18]
fmul st(1)
fstp dword [esp + 0x18]
movss xmm0, dword [esp + 0x18]
fstp st(0)
mulss xmm3, xmm2
movaps xmm4, xmm3
subss xmm4, xmm0
movss dword [esp + 0xb0], xmm4
mov edx, dword [esp + 0xb0]
mulss xmm0, xmm2
movaps xmm4, xmm1
add esi, 0x30
mov dword [esi], edx
mov edx, dword [esp + 0xbc]
mulss xmm4, xmm2
subss xmm0, xmm4
movss dword [esp + 0xb4], xmm0
mov eax, dword [esp + 0xb4]
subss xmm1, xmm3
mov dword [esi + 4], eax
movss dword [esp + 0xb8], xmm1
mov ecx, dword [esp + 0xb8]
mov dword [esi + 8], ecx
mov dword [esi + 0xc], edx
movss xmm3, dword [edi + 4]
movss xmm1, dword [edi + 8]
movss xmm0, dword [edi]
movaps xmm4, xmm3
mulss xmm4, xmm3
mulss xmm0, xmm0
movaps xmm3, xmm1
addss xmm0, xmm4
mulss xmm3, xmm1
addss xmm0, xmm3
ucomiss xmm0, xmm2
lahf
test ah, 0x44
movss dword [esp + 0x9c], xmm0
jnp 0x5b325f
fld dword [esp + 0x9c]
fsqrt
fdivr dword [0x7389bc]
fmul dword [esp + 0x2c]
fld st(0)
fmul dword [edi]
fstp dword [edi]
fld st(0)
fmul dword [edi + 4]
fstp dword [edi + 4]
fmul dword [edi + 8]
fstp dword [edi + 8]
mov eax, dword [esp + 0x38]
mov ecx, dword [ebp + 0x10]
inc eax
cmp eax, ecx
mov dword [esp + 0x38], eax
jl 0x5b28d0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x4c