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

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x728]
sub rsp, 0x800
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x88], xmm11
movaps xmmword [rax - 0x98], xmm12
movaps xmmword [rax - 0xa8], xmm13
movaps xmmword [rax - 0xb8], xmm14
movaps xmmword [rax - 0xc8], xmm15
mov rax, qword [0x14012c040]
xor rax, rsp
mov qword [rbp + 0x650], rax
mov qword [rbp - 0x18], r9
mov qword [rbp - 0x40], r8
mov r13, rdx
mov r15, rcx
mov rax, qword [rbp + 0x758]
mov qword [rsp + 0x70], rax
mov rax, qword [rbp + 0x750]
mov qword [rsp + 0x50], rax
xor ebx, ebx
mov esi, ebx
mov dword [rsp + 0x40], ebx
lea rdi, [0x14012e430]
mov qword [rbp + 0x18], rdi
mov rcx, rdi
call qword [sym.imp.MSVCP140.dll__Mtx_lock]
test eax, eax
je 0x140017607
lea ecx, ds:[rbx + 5]
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
cmp dword [0x14012e47c], 0x7fffffff
jne 0x140017629
mov dword [0x14012e47c], 0x7ffffffe
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0x120], xmm0
mov qword [rbp + 0x130], rbx
mov qword [rbp + 0x138], 0xf
mov byte [rbp + 0x120], 0
mov r12, 0xffffffffffffffff
cmp byte [0x14012c10c], 0
jne 0x140017669
cmp byte [0x14012d8e8], 0
je 0x140017705
xor edx, edx
mov r8d, 0x100
lea rcx, [rbp + 0x550]
call sub.VCRUNTIME140.dll_memset
mov edx, dword [0x14012c204]
add rdx, qword [r15 + 8]
lea r8, [rbp + 0x550]
call fcn.140022a80
test al, al
je 0x140017705
lea rax, [rbp + 0x550]
mov r14, r12
inc r14
cmp byte [rax + r14], 0
jne 0x1400176a1
mov rax, qword [rbp + 0x138]
cmp r14, rax
ja 0x1400176ee
lea rbx, ds:[rbp + 0x120]
cmp rax, 0xf
cmova rbx, qword [rbp + 0x120]
mov qword [rbp + 0x130], r14
mov r8, r14
lea rdx, [rbp + 0x550]
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [rbx + r14], 0
xor ebx, ebx
jmp 0x140017705
lea r9, ds:[rbp + 0x550]
mov rdx, r14
lea rcx, [rbp + 0x120]
call fcn.140024060
mov edx, dword [0x14012c15c]
add rdx, qword [r15]
call fcn.140022560
mov edx, eax
mov dword [rbp - 0x70], eax
cmp byte [0x14012da64], 0
je 0x140017745
mov ecx, dword [0x14012e0b8]
cmp dword [r15 + 0x10], ecx
jne 0x140017745
test eax, eax
jne 0x140017745
mov dword [0x14012e0b8], ebx
mov byte [0x14012da64], al
mov byte [0x14012da65], 1
cmp byte [0x14012d8e8], 0
je 0x1400177a1
test eax, eax
jne 0x1400177a1
mov rcx, qword [r15 + 8]
call fcn.140017340
test al, al
je 0x14001779e
mov rax, qword [0x14012e0c8]
cmp rax, qword [0x14012e0d0]
je 0x140017788
lea rdx, [rbp + 0x120]
mov rcx, rax
call fcn.140007c60
add qword [0x14012e0c8], 0x20
jmp 0x14001779e
lea r8, [rbp + 0x120]
mov rdx, rax
lea rcx, [0x14012e0c0]
call fcn.1400263e0
mov edx, dword [rbp - 0x70]
cmp byte [0x14012c10f], 0
je 0x1400177ba
mov eax, dword [0x14012d980]
cmp dword [r15 + 0x14], eax
je 0x14001974c
nop word [rax + rax]
test edx, edx
je 0x14001974c
cmp dword [r15 + 0x14], 0
je 0x14001974c
cmp byte [0x14012d8e0], 0
nop word [rax + rax]
je 0x1400178a5
xor edx, edx
mov r8d, 0x100
lea rcx, [rbp + 0x550]
call sub.VCRUNTIME140.dll_memset
mov edx, dword [0x14012c1b0]
add rdx, qword [r15]
lea r8, [rbp + 0x550]
call fcn.140022a80
test al, al
je 0x1400178a5
xorps xmm0, xmm0
movups xmmword [rbp - 0x68], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x58], xmm1
lea rax, [rbp + 0x550]
nop dword [rax]
inc r12
cmp byte [rax + r12], 0
jne 0x140017830
mov r8, r12
lea rdx, [rbp + 0x550]
lea rcx, [rbp - 0x68]
call fcn.140007b40
nop
mov rdx, qword [0x14012e0a8]
cmp rdx, qword [0x14012e0b0]
je 0x140017888
movups xmm0, xmmword [rbp - 0x68]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rbp - 0x58]
movups xmmword [rdx + 0x10], xmm1
movdqa xmm0, xmmword [0x140115c00]
movdqu xmmword [rbp - 0x58], xmm0
mov byte [rbp - 0x68], 0
add qword [0x14012e0a8], 0x20
jmp 0x140017899
lea r8, [rbp - 0x68]
lea rcx, [0x14012e0a0]
call fcn.140026180
nop
lea rcx, ds:[rbp - 0x68]
call fcn.140004140
mov qword [rsp + 0x48], rbx
mov edx, dword [0x14012c160]
add rdx, qword [r15]
lea r8, [rsp + 0x48]
call fcn.1400041b0
nop dword [rax]
test al, al
je 0x14001974c
xorps xmm7, xmm7
xorps xmm10, xmm10
movss dword [rsp + 0x60], xmm10
xorps xmm8, xmm8
movss dword [rsp + 0x64], xmm8
xorps xmm11, xmm11
movss dword [rsp + 0x68], xmm11
mov rbx, qword [rsp + 0x48]
test rbx, rbx
je 0x14001791e
mov edx, dword [0x14012c164]
add rdx, rbx
lea r8, [rsp + 0x60]
call fcn.1400229e0
movss xmm11, dword [rsp + 0x68]
movss xmm8, dword [rsp + 0x64]
movss xmm10, dword [rsp + 0x60]
movaps xmm2, xmm8
mulss xmm2, dword [0x14012d88c]
movaps xmm0, xmm10
mulss xmm0, dword [0x14012d888]
addss xmm2, xmm0
movaps xmm1, xmm11
mulss xmm1, dword [0x14012d890]
addss xmm2, xmm1
addss xmm2, dword [0x14012d894]
cvtps2pd xmm0, xmm2
comisd xmm0, xmmword [0x140115a10]
jbe 0x14001974c
mov rax, qword [0x14012e228]
movss xmm15, dword [rax + 0xec]
mulss xmm15, dword [0x1401159c0]
movss xmm5, dword [0x140115a0c]
movaps xmm3, xmm5
divss xmm3, xmm2
movaps xmm9, xmm8
mulss xmm9, dword [0x14012d85c]
movaps xmm0, xmm10
mulss xmm0, dword [0x14012d858]
addss xmm9, xmm0
movaps xmm1, xmm11
mulss xmm1, dword [0x14012d860]
addss xmm9, xmm1
addss xmm9, dword [0x14012d864]
mulss xmm9, xmm3
addss xmm9, xmm5
mulss xmm9, dword [rax + 0xe8]
mulss xmm9, dword [0x1401159c0]
movaps xmm2, xmm8
mulss xmm2, dword [0x14012d86c]
movaps xmm0, xmm10
mulss xmm0, dword [0x14012d868]
addss xmm2, xmm0
movaps xmm1, xmm11
mulss xmm1, dword [0x14012d870]
addss xmm2, xmm1
addss xmm2, dword [0x14012d874]
mulss xmm2, xmm3
mulss xmm2, xmm15
subss xmm15, xmm2
movss xmm1, dword [r13 + 4]
subss xmm1, xmm8
movss xmm2, dword [r13]
subss xmm2, xmm10
movss xmm0, dword [r13 + 8]
subss xmm0, xmm11
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm2, xmm1
mulss xmm0, xmm0
addss xmm2, xmm0
comiss xmm2, dword [0x140115b50]
setb r14b
cmp byte [0x14012d8e9], 0
je 0x140017a76
test r14b, r14b
je 0x140017a76
mov al, 1
jmp 0x140017a78
xor al, al
movss xmm12, dword [0x140115a50]
lea r13, [0x140000000]
movzx edx, byte [0x14012d8ed]
test dl, dl
jne 0x140017a9b
test al, al
je 0x140017c2e
movsxd r9, dword [r15 + 0x10]
mov r12, qword [rbp - 0x40]
mov r8, qword [r12]
mov rcx, qword [r13 + r9*8 + 0x12dda0]
cmp rcx, r8
je 0x140017bb9
jl 0x140017bb9
nop
test al, al
je 0x140017b9b
sub rcx, r8
movabs rax, 0x431bde82d7b634db
imul rcx
sar rdx, 0x12
mov rax, rdx
shr rax, 0x3f
add rdx, rax
xorps xmm0, xmm0
cvtsi2ss xmm0, rdx
movss xmm4, dword [0x140115b28]
subss xmm4, xmm0
movaps xmm1, xmm4
mulss xmm1, dword [0x1401159c4]
movss xmm3, dword [0x140115b0c]
subss xmm3, xmm1
minss xmm3, dword [0x140115b08]
movss xmm2, dword [0x14012c4a8]
movss xmm0, dword [0x14012c4ac]
movss xmm1, dword [0x14012c4b0]
shufps xmm2, xmm2, 0xe1
movss xmm2, xmm0
shufps xmm2, xmm2, 0xc6
movss xmm2, xmm1
shufps xmm2, xmm2, 0x27
movss xmm2, xmm3
shufps xmm2, xmm2, 0x39
movups xmmword [rsp + 0x60], xmm2
movdqa xmmword [rbp - 0x40], xmm2
lea rax, [r9 + r9*2]
movsd xmm0, qword [r13 + rax*4 + 0x12da70]
movsd qword [rsp + 0x60], xmm0
mov eax, dword [r13 + rax*4 + 0x12da78]
mov dword [rsp + 0x68], eax
mulss xmm4, dword [0x140115974]
movaps xmm3, xmm12
lea r8, [rbp - 0x40]
movaps xmm1, xmm4
lea rcx, [rsp + 0x60]
call fcn.140016fe0
movzx edx, byte [0x14012d8ed]
nop dword [rax + rax]
test r14b, r14b
je 0x140017c2e
test dl, dl
je 0x140017c2e
mov r13b, 1
jmp 0x140017c31
mov edx, dword [0x14012c224]
add rdx, qword [r15]
lea r8, [rsp + 0x48]
call fcn.1400223a0
test al, al
je 0x140017c2e
test r14b, r14b
je 0x140017c2e
movsxd rcx, dword [r15 + 0x10]
movss xmm2, dword [rsp + 0x48]
ucomiss xmm2, dword [r13 + rcx*4 + 0x12dfa0]
je 0x140017c2e
mov rax, qword [r12]
add rax, 0x1dcd6500
mov qword [r13 + rcx*8 + 0x12dda0], rax
movsxd rax, dword [r15 + 0x10]
lea rcx, [rax + rax*2]
movaps xmm0, xmm10
unpcklps xmm0, xmm8
movsd qword [r13 + rcx*4 + 0x12da70], xmm0
movss dword [r13 + rcx*4 + 0x12da78], xmm11
movsxd rax, dword [r15 + 0x10]
movss dword [r13 + rax*4 + 0x12dfa0], xmm2
xor r13b, r13b
xorps xmm0, xmm0
movups xmmword [rbp + 0x100], xmm0
movups xmmword [rbp + 0x110], xmm0
xor eax, eax
mov qword [rbp + 0x100], rax
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x108], xmm1
mov qword [rbp + 0x118], rax
mov qword [rsp + 0x48], rax
mov edx, dword [0x14012c168]
add rdx, rbx
lea r8, [rsp + 0x48]
call fcn.1400041b0
test al, al
je 0x14001973f
xor edx, edx
mov r8d, 0x3c0
lea rcx, [rbp + 0x190]
call sub.VCRUNTIME140.dll_memset
lea rcx, [rbp + 0x190]
call fcn.1400041d0
lea r8, [rbp + 0x190]
mov rdx, qword [rsp + 0x48]
call fcn.140004440
test al, al
je 0x14001973f
lea rbx, [rbp + 0x190]
lea r14, [rbp + 0x190]
mov r12d, 0x1e
mov r9, qword [rbp + 0x110]
mov qword [rsp + 0x48], 0
lea r8, [rsp + 0x48]
mov rdx, r14
lea rcx, [0x14012d858]
call fcn.1400039d0
movsd xmm0, qword [rbx]
movsd qword [rbp - 0x30], xmm0
mov ecx, dword [rbx + 8]
mov dword [rbp - 0x28], ecx
movsd xmm0, qword [rsp + 0x48]
movsd qword [rbp - 0x24], xmm0
mov byte [rbp - 0x1c], al
cmp r9, qword [rbp + 0x118]
je 0x140017d3b
movups xmm0, xmmword [rbp - 0x30]
movups xmmword [r9], xmm0
movsd xmm1, qword [rbp - 0x20]
movsd qword [r9 + 0x10], xmm1
mov r9, qword [rbp + 0x110]
add r9, 0x18
mov qword [rbp + 0x110], r9
jmp 0x140017d55
lea r8, [rbp - 0x30]
mov rdx, r9
lea rcx, [rbp + 0x108]
call fcn.1400048a0
mov r9, qword [rbp + 0x110]
add r14, 0x20
add rbx, 0x20
sub r12, 1
jne 0x140017cd1
mov r8, qword [rbp + 0x108]
sub r9, r8
movabs rax, 0x2aaaaaaaaaaaaaab
imul r9
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x14001973f
movups xmm6, xmmword [r8 + 0x90]
movups xmmword [rbp - 0x40], xmm6
movsd xmm0, qword [r8 + 0xa0]
movsd qword [rbp - 0x58], xmm0
mov rax, qword [rbp - 0x18]
cmp byte [rax], r12b
je 0x1400183e7
movaps xmm13, xmm7
movss dword [rsp + 0x60], xmm7
movaps xmm14, xmm7
movss dword [rsp + 0x64], xmm7
movss dword [rsp + 0x48], xmm7
movss dword [rsp + 0x68], xmm7
mov rax, qword [r15]
test rax, rax
je 0x140017e19
mov edx, dword [0x14012c1f0]
add rdx, rax
lea r8, [rsp + 0x60]
call fcn.1400229e0
mov r8, qword [rbp + 0x108]
movss xmm0, dword [rsp + 0x68]
movss dword [rsp + 0x48], xmm0
movss xmm14, dword [rsp + 0x64]
movss xmm13, dword [rsp + 0x60]
mov rax, qword ds:[r15]
test rax, rax
je 0x140017e3f
mov edx, dword [0x14012c1ac]
add rdx, rax
lea r8, [rsp + 0x40]
call fcn.140022920
mov r8, qword [rbp + 0x108]
cmp byte [rsp + 0x40], 0
jne 0x1400180b7
movsxd r9, dword [0x14012da30]
shl r9, 5
add r9, qword [0x14012e410]
mov rcx, qword [r9 + 0x10]
movabs rbx, 0x7fffffffffffffff
mov rax, rbx
sub rax, rcx
cmp rax, 0xf
jb 0x1400197d4
cmp qword ds:[r9 + 0x18], 0xf
jbe 0x140017e85
mov r9, qword [r9]
mov qword [rsp + 0x30], 0xf
lea r14, [0x14010e0e8]
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rcx
lea rcx, [rbp - 8]
call fcn.140024940
nop
mov esi, 0x11
mov dword [rsp + 0x40], esi
lea r8, [rbp - 8]
lea rdx, [rsp + 0x60]
call fcn.1400232c0
mov rcx, qword [rax]
cmp byte [rcx + 0x50], 1
jne 0x1400197ce
cmp byte [rcx + 0x40], 0
je 0x140017f19
movaps xmm1, xmm12
movaps xmm0, xmm14
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
movaps xmm6, xmm0
movaps xmm1, xmm12
movaps xmm0, xmm13
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
addss xmm6, xmm0
movaps xmm1, xmm12
movss xmm0, dword [rsp + 0x48]
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
addss xmm6, xmm0
comiss xmm6, dword [0x140115b4c]
jbe 0x140017f93
movsxd r9, dword [0x14012da30]
shl r9, 5
add r9, qword [0x14012e410]
mov rcx, qword [r9 + 0x10]
mov rax, rbx
sub rax, rcx
cmp rax, 0xf
jb 0x1400197da
cmp qword [r9 + 0x18], 0xf
jbe 0x140017f49
mov r9, qword [r9]
mov qword [rsp + 0x30], 0xf
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rcx
lea rcx, [rbp + 0x60]
call fcn.140024940
nop
mov esi, 0x33
mov dword [rsp + 0x40], esi
lea r8, [rbp + 0x60]
lea rdx, [rbp - 0x18]
call fcn.1400232c0
mov rcx, qword [rax]
cmp byte [rcx + 0x50], 1
jne 0x1400197f8
cmp byte [rcx + 0x40], 0
jne 0x1400180b0
movsxd r9, dword [0x14012da30]
shl r9, 5
add r9, qword [0x14012e410]
mov rcx, qword [r9 + 0x10]
mov rax, rbx
sub rax, rcx
cmp rax, 7
jb 0x1400197e0
cmp qword ds:[r9 + 0x18], 0xf
jbe 0x140017fc5
mov r9, qword [r9]
mov qword [rsp + 0x30], 7
lea r14, [0x14010e0e0]
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rcx
lea rcx, [rbp + 0x40]
call fcn.140024940
or esi, 0x40
or esi, 4
mov dword [rsp + 0x40], esi
lea r8, [rbp + 0x40]
lea rdx, [rbp + 0x98]
call fcn.1400232c0
mov rcx, qword [rax]
cmp byte [rcx + 0x50], 1
jne 0x1400197f2
cmp byte [rcx + 0x40], 0
je 0x140018031
movsxd rax, dword [r15 + 0x10]
lea rcx, [0x140000000]
cmp byte [rax + rcx + 0x12d940], 0
jne 0x1400180a5
movsxd r9, dword [0x14012da30]
shl r9, 5
add r9, qword [0x14012e410]
mov rax, qword [r9 + 0x10]
sub rbx, rax
cmp rbx, 7
jb 0x1400197e6
cmp qword [r9 + 0x18], 0xf
jbe 0x14001805e
mov r9, qword [r9]
mov qword [rsp + 0x30], 7
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rax
lea rcx, [rbp + 0x20]
call fcn.140024940
bts esi, 7
or esi, 8
mov dword [rsp + 0x40], esi
lea r8, [rbp + 0x20]
lea rdx, [rbp - 0x30]
call fcn.1400232c0
mov rcx, qword [rax]
cmp byte [rcx + 0x50], 1
jne 0x1400197ec
cmp byte [rcx + 0x40], 0
jne 0x1400180b0
mov bl, 1
mov r8, qword [rbp + 0x108]
jmp 0x1400180b9
mov r8, qword [rbp + 0x108]
xor bl, bl
test sil, 8
je 0x1400180d2
and esi, 0xfffffff7
lea rcx, [rbp + 0x20]
call fcn.140004140
mov r8, qword [rbp + 0x108]
test sil, 4
je 0x1400180ec
and esi, 0xfffffffb
lea rcx, [rbp + 0x40]
call fcn.140004140
mov r8, qword [rbp + 0x108]
test sil, 2
je 0x140018105
and esi, 0xfffffffd
lea rcx, [rbp + 0x60]
call fcn.140004140
mov r8, qword [rbp + 0x108]
test sil, 1
je 0x14001811b
lea rcx, [rbp - 8]
call fcn.140004140
mov r8, qword [rbp + 0x108]
nop dword [rax + rax]
test bl, bl
je 0x1400183e3
movss xmm5, dword [0x140115b58]
movaps xmm2, xmm5
mov edx, dword [0x14012c0b8]
cmp edx, 0xffffffff
jne 0x140018316
movss xmm4, dword [0x14012c374]
movaps xmm1, xmm4
subss xmm1, dword [r8 + 0xa0]
movss xmm3, dword [0x14012c370]
movaps xmm0, xmm3
subss xmm0, dword [r8 + 0x9c]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
xorps xmm1, xmm1
sqrtss xmm1, xmm0
comiss xmm1, xmm5
jae 0x14001818c
movaps xmm2, xmm1
movaps xmm6, xmm2
mov eax, 6
mov edx, 0
cmovae eax, edx
movaps xmm1, xmm4
subss xmm1, dword [r8 + 0x88]
movaps xmm0, xmm3
subss xmm0, dword [r8 + 0x84]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
xorps xmm5, xmm5
sqrtss xmm5, xmm0
comiss xmm5, xmm2
jae 0x1400181cf
movaps xmm2, xmm5
movss dword [rsp + 0x40], xmm2
mov ecx, 5
comiss xmm6, xmm5
cmovbe ecx, eax
movaps xmm1, xmm4
subss xmm1, dword [r8 + 0x70]
movaps xmm0, xmm3
subss xmm0, dword [r8 + 0x6c]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
xorps xmm5, xmm5
sqrtss xmm5, xmm0
comiss xmm5, xmm2
jae 0x14001820d
movaps xmm2, xmm5
movaps xmm6, xmm2
mov eax, 4
movss xmm0, dword [rsp + 0x40]
comiss xmm0, xmm5
cmovbe eax, ecx
movaps xmm1, xmm4
subss xmm1, dword [r8 + 0x40]
movaps xmm0, xmm3
subss xmm0, dword [r8 + 0x3c]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
xorps xmm5, xmm5
sqrtss xmm5, xmm0
comiss xmm5, xmm2
jae 0x14001824e
movaps xmm2, xmm5
movss dword [rsp + 0x40], xmm2
mov ecx, 2
comiss xmm6, xmm5
cmovbe ecx, eax
movaps xmm1, xmm4
subss xmm1, dword [r8 + 0x10]
movaps xmm0, xmm3
subss xmm0, dword [r8 + 0xc]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
xorps xmm5, xmm5
sqrtss xmm5, xmm0
comiss xmm5, xmm2
jae 0x14001828c
movaps xmm2, xmm5
movaps xmm6, xmm2
movss xmm0, dword [rsp + 0x40]
comiss xmm0, xmm5
cmovbe edx, ecx
movaps xmm1, xmm4
subss xmm1, dword [r8 + 0x220]
movaps xmm0, xmm3
subss xmm0, dword [r8 + 0x21c]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
xorps xmm5, xmm5
sqrtss xmm5, xmm0
comiss xmm5, xmm2
jae 0x1400182ce
movaps xmm2, xmm5
movaps xmm1, xmm2
mov eax, 0x16
comiss xmm6, xmm5
cmovbe eax, edx
subss xmm4, dword [r8 + 0x268]
subss xmm3, dword [r8 + 0x264]
mulss xmm3, xmm3
mulss xmm4, xmm4
addss xmm3, xmm4
xorps xmm0, xmm0
sqrtss xmm0, xmm3
comiss xmm0, xmm2
jae 0x140018309
movaps xmm2, xmm0
mov edx, 0x19
comiss xmm1, xmm0
cmovbe edx, eax
jmp 0x14001834b
lea rcx, [rdx + rdx*2]
movss xmm1, dword [0x14012c374]
subss xmm1, dword [r8 + rcx*8 + 0x10]
movss xmm0, dword [0x14012c370]
subss xmm0, dword [r8 + rcx*8 + 0xc]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
xorps xmm2, xmm2
sqrtss xmm2, xmm0
cmp byte [0x14012da64], 0
jne 0x140018365
mov r9, qword [rsp + 0x50]
comiss xmm2, dword [r9]
jb 0x14001837a
nop
jmp 0x1400183e3
mov eax, dword [0x14012e0b8]
cmp dword [r15 + 0x10], eax
jne 0x1400183e3
mov r9, qword [rsp + 0x50]
lea rcx, [rdx + rdx*2]
movsd xmm1, qword [r8 + rcx*8]
mov eax, dword [r8 + rcx*8 + 8]
movss xmm0, dword [0x140115950]
mulss xmm14, xmm0
movss xmm3, dword [rsp + 0x48]
mulss xmm3, xmm0
mulss xmm13, xmm0
movsd qword [rsp + 0x60], xmm1
addss xmm13, xmm1
mov rcx, qword [rsp + 0x70]
movss dword [rcx], xmm13
addss xmm14, dword [rsp + 0x64]
movss dword [rcx + 4], xmm14
movd xmm0, eax
addss xmm0, xmm3
movss dword [rcx + 8], xmm0
mov eax, dword [r15 + 0x10]
mov dword [0x14012e0b8], eax
movss dword [r9], xmm2
movups xmm6, xmmword [rbp - 0x40]
cmp dword [0x14012d8d8], 0
jne 0x140018410
cmp byte [0x14012d8f0], 0
je 0x14001973f
cmp byte [0x14012d8ed], 0
je 0x14001842f
test r13b, r13b
jne 0x14001842f
jmp 0x14001973f
cmp byte [0x14012d8f0], 0
jne 0x14001842f
cmp byte [0x14012d8ed], 0
je 0x14001973f
test r13b, r13b
je 0x14001973f
movaps xmm14, xmm7
movaps xmm13, xmm7
movss dword [rsp + 0x40], xmm7
movaps xmm0, xmm6
shufps xmm0, xmm6, 0xaa
movaps xmmword [rsp + 0x60], xmm0
movzx r9d, byte [0x14012d8cb]
test r9b, r9b
jne 0x14001846c
cmp byte [0x14012c0ed], r9b
jne 0x14001846c
cmp byte [0x14012c0ea], r9b
je 0x1400185b6
subss xmm0, xmm11
cvttss2si ecx, xmm0
lea eax, [rcx - 0x40]
mov edx, eax
neg edx
cmovs edx, eax
lea eax, [rcx - 0x20]
mov ecx, eax
neg ecx
cmovs ecx, eax
mov eax, 0x30
mov r10d, 0x40
cmp ecx, edx
cmovge eax, r10d
movd xmm4, eax
cvtdq2ps xmm4, xmm4
addss xmm4, xmm11
movaps xmm2, xmm7
movaps xmm3, xmm8
mulss xmm3, dword [0x14012d88c]
movaps xmm0, xmm10
mulss xmm0, dword [0x14012d888]
addss xmm3, xmm0
movaps xmm1, xmm4
mulss xmm1, dword [0x14012d890]
addss xmm3, xmm1
addss xmm3, dword [0x14012d894]
xorps xmm0, xmm0
cvtss2sd xmm0, xmm3
movss xmm5, dword [0x1401159c0]
comisd xmm0, xmmword [0x140115a10]
jbe 0x140018544
mov rax, qword [0x14012e228]
movss xmm2, dword [rax + 0xec]
mulss xmm2, xmm5
movaps xmm1, xmm8
mulss xmm1, dword [0x14012d86c]
movaps xmm0, xmm10
mulss xmm0, dword [0x14012d868]
addss xmm1, xmm0
mulss xmm4, dword [0x14012d870]
addss xmm1, xmm4
addss xmm1, dword [0x14012d874]
divss xmm1, xmm3
mulss xmm1, xmm2
subss xmm2, xmm1
subss xmm15, xmm2
mulss xmm15, dword [0x140115a24]
movaps xmm1, xmm15
mulss xmm1, dword [0x1401159b8]
movaps xmm0, xmm15
mulss xmm0, dword [0x140115968]
subss xmm2, xmm0
cvttss2si eax, xmm15
xorps xmm3, xmm3
cvtsi2ss xmm3, eax
movss dword [rsp + 0x40], xmm3
movaps xmm0, xmm1
mulss xmm0, xmm5
subss xmm9, xmm0
cvttss2si eax, xmm9
xorps xmm15, xmm15
cvtsi2ss xmm15, eax
cvttss2si eax, xmm2
xorps xmm14, xmm14
cvtsi2ss xmm14, eax
cvttss2si eax, xmm1
xorps xmm13, xmm13
cvtsi2ss xmm13, eax
jmp 0x1400185ba
movaps xmm15, xmm7
subss xmm10, xmm6
movaps xmm0, xmm6
shufps xmm0, xmm6, 0x55
subss xmm8, xmm0
subss xmm11, dword [rsp + 0x60]
mulss xmm8, xmm8
mulss xmm10, xmm10
addss xmm8, xmm10
mulss xmm11, xmm11
addss xmm8, xmm11
comiss xmm8, dword [0x140115b48]
ja 0x140018873
cmp byte [0x14012c0e8], 0
je 0x140018783
movups xmm9, xmmword [0x14012c4c8]
mov qword [rsp + 0x7c], 0
mov byte [rbp - 0x7c], 0
mov r13, qword [0x14012e248]
mov r12, qword [0x14012e240]
cmp r12, r13
je 0x140018783
nop dword [rax]
nop word [rax + rax]
movaps xmm2, xmm7
movaps xmm0, xmm7
movaps xmm1, xmm7
mov r14, qword [r12]
mov rbx, qword [r14]
cmp rbx, r14
je 0x14001876a
nop dword [rax]
mov eax, dword ds:[rbx + 0x10]
lea rcx, [rax + rax*2]
movups xmm6, xmmword [r8 + rcx*8]
movsd xmm8, qword [r8 + rcx*8 + 0x10]
movsd qword [rbp + 0x90], xmm8
ucomiss xmm2, xmm7
jne 0x140018690
ucomiss xmm0, xmm7
jne 0x140018690
ucomiss xmm1, xmm7
je 0x14001873d
mov rax, qword ds:[rbp - 0x80]
shr rax, 0x20
test al, al
je 0x14001873d
mov rsi, qword [rbp + 0x90]
mov rax, rsi
shr rax, 0x20
test al, al
je 0x14001873d
movdqa xmmword ds:[rsp + 0x60], xmm9
mov rax, qword [0x14012da48]
mov rax, qword [rax + 0x48d0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.1400353c0
mov r10, rax
lea rcx, [rsp + 0x60]
call fcn.140031550
movaps xmm0, xmm6
shufps xmm0, xmm6, 0xff
movss dword [rsp + 0x50], xmm0
mov dword [rsp + 0x54], esi
movss xmm1, dword [rsp + 0x7c]
movss dword [rsp + 0x48], xmm1
movss xmm0, dword [rbp - 0x80]
movss dword [rsp + 0x4c], xmm0
movss dword [rsp + 0x20], xmm12
mov r9d, eax
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x48]
mov rcx, r10
call fcn.1400582c0
mov r8, qword [rbp + 0x108]
movsd qword [rbp - 0x80], xmm8
movups xmmword [rsp + 0x70], xmm6
mov rax, qword [rbx]
mov rbx, rax
cmp rax, r14
je 0x14001876a
movss xmm1, dword [rsp + 0x78]
movss xmm0, dword [rsp + 0x74]
movss xmm2, dword [rsp + 0x70]
jmp 0x140018660
add r12, 0x10
cmp r12, r13
jne 0x140018640
movzx r9d, byte [0x14012d8cb]
movups xmm6, xmmword [rbp - 0x40]
test r9b, r9b
je 0x140018873
movss xmm9, dword [rbp - 0x58]
shufps xmm6, xmm6, 0xff
ucomiss xmm6, xmm7
jne 0x1400187a6
ucomiss xmm9, xmm7
je 0x140018873
movups xmm0, xmmword [0x14012c0f8]
movdqa xmmword [rsp + 0x60], xmm0
movaps xmm8, xmm13
mulss xmm8, dword [0x14011597c]
mov rax, qword [0x14012da48]
mov rax, qword [rax + 0x48d0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.1400353c0
mov rbx, rax
lea rcx, [rsp + 0x60]
call fcn.140031550
mov esi, eax
movss dword [rsp + 0x50], xmm6
movss dword [rsp + 0x54], xmm9
test eax, 0xff000000
je 0x140018873
movss xmm0, dword [0x1401159c0]
comiss xmm8, xmm0
jb 0x140018873
subss xmm8, xmm0
mov dword [rsp + 0x28], 0x31
movss xmm0, dword [0x140115a80]
movss dword [rsp + 0x20], xmm0
movaps xmm3, xmm7
movaps xmm2, xmm8
lea rdx, [rsp + 0x50]
mov rcx, rbx
call fcn.1400578a0
movss dword [rsp + 0x28], xmm12
mov dword [rsp + 0x20], 1
mov r9d, esi
mov r8d, dword [rbx + 0x78]
mov rdx, qword [rbx + 0x80]
mov rcx, rbx
call fcn.140055dc0
xor r13d, r13d
mov dword [rbx + 0x78], r13d
jmp 0x140018876
xor r13d, r13d
cmp byte [0x14012c0ed], 0
nop dword [rax]
je 0x140019059
movups xmm10, xmmword [0x14012c438]
movups xmmword [rsp + 0x60], xmm10
movsxd rax, dword [r15 + 0x10]
lea rcx, [0x140000000]
cmp byte [rax + rcx + 0x12d940], 0
jne 0x1400188b7
movups xmm10, xmmword [0x14012c508]
movups xmmword [rsp + 0x60], xmm10
movaps xmm3, xmm14
movss xmm6, dword [0x140115a0c]
subss xmm3, xmm6
movaps xmm8, xmm15
subss xmm8, xmm6
lea r9, [rsp + 0x70]
cmp dword [0x14012d8e4], 0
jne 0x1400189a5
movss xmm10, dword ds:[rsp + 0x40]
movaps xmm2, xmm10
addss xmm2, xmm12
movaps xmm1, xmm13
addss xmm1, xmm12
movaps xmm0, xmmword [0x140115de0]
movaps xmmword [rsp + 0x70], xmm0
unpcklps xmm1, xmm2
movq r8, xmm1
movaps xmm2, xmm8
unpcklps xmm2, xmm3
movq rdx, xmm2
call fcn.14007d400
movaps xmm4, xmm10
subss xmm4, xmm12
movaps xmm1, xmm13
subss xmm1, xmm12
movaps xmm3, xmm14
addss xmm3, xmm6
movaps xmm2, xmm15
addss xmm2, xmm6
movaps xmm0, xmmword [0x140115de0]
movaps xmmword [rsp + 0x70], xmm0
lea r9, [rsp + 0x70]
unpcklps xmm1, xmm4
movq r8, xmm1
unpcklps xmm2, xmm3
movq rdx, xmm2
call fcn.14007d400
movups xmm0, xmmword [rsp + 0x60]
movdqa xmmword [rsp + 0x60], xmm0
lea r9, [rsp + 0x60]
movaps xmm0, xmm13
unpcklps xmm0, xmm10
movq r8, xmm0
movaps xmm1, xmm15
unpcklps xmm1, xmm14
movq rdx, xmm1
call fcn.14007d400
nop dword [rax]
jmp 0x140019060
movss xmm9, dword [rsp + 0x40]
movaps xmm0, xmm9
mulss xmm0, dword [0x140115970]
cvttss2si eax, xmm0
movd xmm11, eax
cvtdq2ps xmm11, xmm11
movaps xmm6, xmm11
addss xmm6, xmm12
movaps xmm0, xmmword [0x140115de0]
movaps xmmword [rsp + 0x70], xmm0
movaps xmm1, xmm6
movss xmm0, dword [0x140115a58]
unpcklps xmm1, xmm0
movq r8, xmm1
movaps xmm2, xmm8
unpcklps xmm2, xmm3
movq rdx, xmm2
call fcn.14007d400
movaps xmm7, xmm9
addss xmm7, xmm14
movaps xmm3, xmm7
subss xmm3, dword [0x140115a0c]
movaps xmm0, xmmword [0x140115de0]
movaps xmmword [rsp + 0x70], xmm0
lea r9, [rsp + 0x70]
movaps xmm1, xmm6
movss xmm0, dword [0x140115a58]
unpcklps xmm1, xmm0
movq r8, xmm1
movaps xmm2, xmm8
unpcklps xmm2, xmm3
movq rdx, xmm2
call fcn.14007d400
movaps xmm3, xmm14
movss xmm6, dword [0x140115a0c]
addss xmm3, xmm6
movaps xmm0, xmmword [0x140115de0]
movaps xmmword [rsp + 0x70], xmm0
lea r9, [rsp + 0x70]
movss xmm1, dword [0x140115a58]
unpcklps xmm1, xmm11
movq r8, xmm1
movaps xmm2, xmm8
unpcklps xmm2, xmm3
movq rdx, xmm2
call fcn.14007d400
subss xmm7, xmm11
subss xmm7, xmm6
movaps xmm0, xmmword [0x140115de0]
movaps xmmword [rsp + 0x70], xmm0
lea r9, [rsp + 0x70]
movss xmm1, dword [0x140115a58]
unpcklps xmm1, xmm11
movq r8, xmm1
movaps xmm2, xmm8
unpcklps xmm2, xmm7
movq rdx, xmm2
call fcn.14007d400
movaps xmm7, xmm11
movss xmm2, dword [0x140115a58]
addss xmm7, xmm2
movaps xmm3, xmm14
subss xmm3, xmm6
movaps xmm8, xmm13
addss xmm8, xmm15
movaps xmm6, xmm8
subss xmm6, xmm11
subss xmm6, dword [0x140115a0c]
movaps xmm0, xmmword [0x140115de0]
movaps xmmword [rsp + 0x70], xmm0
lea r9, [rsp + 0x70]
movaps xmm1, xmm7
unpcklps xmm1, xmm2
movq r8, xmm1
movaps xmm2, xmm6
unpcklps xmm2, xmm3
movq rdx, xmm2
call fcn.14007d400
movaps xmm2, xmm11
subss xmm2, dword [0x140115a0c]
movaps xmm3, xmm14
addss xmm3, xmm12
subss xmm8, dword [0x140115a0c]
movaps xmm0, xmmword [0x140115de0]
movaps xmmword [rsp + 0x70], xmm0
lea r9, [rsp + 0x70]
movss xmm1, dword [0x140115a58]
unpcklps xmm1, xmm2
movq r8, xmm1
movaps xmm2, xmm8
unpcklps xmm2, xmm3
movq rdx, xmm2
call fcn.14007d400
movaps xmm3, xmm9
addss xmm3, xmm14
subss xmm3, dword [0x140115a0c]
movaps xmm0, xmmword [0x140115de0]
movaps xmmword [rsp + 0x70], xmm0
lea r9, [rsp + 0x70]
movaps xmm1, xmm7
movss xmm7, dword [0x140115a58]
unpcklps xmm1, xmm7
movq r8, xmm1
movaps xmm2, xmm6
unpcklps xmm2, xmm3
movq rdx, xmm2
call fcn.14007d400
movaps xmm3, xmm9
addss xmm3, xmm14
subss xmm3, xmm11
movss xmm6, dword [0x140115a0c]
subss xmm3, xmm6
movaps xmm0, xmmword [0x140115de0]
movaps xmmword [rsp + 0x70], xmm0
lea r9, [rsp + 0x70]
movaps xmm1, xmm7
unpcklps xmm1, xmm11
movq r8, xmm1
movaps xmm2, xmm8
unpcklps xmm2, xmm3
movq rdx, xmm2
call fcn.14007d400
movaps xmm8, xmm11
addss xmm8, xmm15
movdqa xmmword [rsp + 0x70], xmm10
mov rax, qword [0x14012da48]
mov rax, qword [rax + 0x48d0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.1400353c0
mov r10, rax
lea rcx, [rsp + 0x70]
call fcn.140031550
movss dword [rsp + 0x50], xmm8
movss dword [rsp + 0x54], xmm14
movss dword [rsp + 0x48], xmm15
movss dword [rsp + 0x4c], xmm14
movss dword [rsp + 0x20], xmm6
mov r9d, eax
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x48]
mov rcx, r10
call fcn.1400582c0
movaps xmm7, xmm9
addss xmm7, xmm14
movaps xmm6, xmm9
addss xmm6, xmm14
movdqa xmmword [rsp + 0x70], xmm10
mov rax, qword [0x14012da48]
mov rax, qword [rax + 0x48d0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.1400353c0
mov r10, rax
lea rcx, [rsp + 0x70]
call fcn.140031550
movss dword ds:[rsp + 0x50], xmm8
movss dword [rsp + 0x54], xmm7
movss dword [rsp + 0x48], xmm15
movss dword [rsp + 0x4c], xmm6
movss xmm6, dword [0x140115a0c]
movss dword [rsp + 0x20], xmm6
mov r9d, eax
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x48]
mov rcx, r10
call fcn.1400582c0
movaps xmm10, xmm11
addss xmm10, xmm14
movups xmm8, xmmword [rsp + 0x60]
movdqa xmmword [rsp + 0x70], xmm8
mov rax, qword [0x14012da48]
mov rax, qword [rax + 0x48d0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.1400353c0
mov r10, rax
lea rcx, [rsp + 0x70]
call fcn.140031550
movss dword [rsp + 0x50], xmm15
movss dword [rsp + 0x54], xmm10
movss dword [rsp + 0x48], xmm15
movss dword [rsp + 0x4c], xmm14
movss dword [rsp + 0x20], xmm6
mov r9d, eax
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x48]
mov rcx, r10
call fcn.1400582c0
movaps xmm7, xmm9
addss xmm7, xmm14
subss xmm7, xmm11
movaps xmm6, xmm9
addss xmm6, xmm14
movdqa xmmword [rsp + 0x70], xmm8
mov rax, qword [0x14012da48]
mov rax, qword [rax + 0x48d0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.1400353c0
mov r10, rax
lea rcx, [rsp + 0x70]
call fcn.140031550
movss dword [rsp + 0x50], xmm15
movss dword [rsp + 0x54], xmm7
movss dword [rsp + 0x48], xmm15
movss dword [rsp + 0x4c], xmm6
movss xmm0, dword [0x140115a0c]
movss dword [rsp + 0x20], xmm0
mov r9d, eax
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x48]
mov rcx, r10
call fcn.1400582c0
movaps xmm7, xmm13
addss xmm7, xmm15
subss xmm7, xmm11
movaps xmm6, xmm13
addss xmm6, xmm15
movdqa xmmword [rsp + 0x70], xmm8
mov rax, qword [0x14012da48]
mov rax, qword [rax + 0x48d0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.1400353c0
mov r10, rax
lea rcx, [rsp + 0x70]
call fcn.140031550
movss dword [rsp + 0x50], xmm7
movss dword [rsp + 0x54], xmm14
movss dword [rsp + 0x48], xmm6
movss dword [rsp + 0x4c], xmm14
movss xmm0, dword [0x140115a0c]
movss dword [rsp + 0x20], xmm0
mov r9d, eax
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x48]
mov rcx, r10
call fcn.1400582c0
addss xmm9, xmm14
movaps xmm8, xmm13
addss xmm8, xmm15
subss xmm8, xmm11
movss xmm7, dword [rsp + 0x40]
addss xmm7, xmm14
movaps xmm6, xmm13
addss xmm6, xmm15
addss xmm6, dword [0x140115a0c]
movups xmm0, xmmword [rsp + 0x60]
movdqa xmmword [rsp + 0x70], xmm0
mov rax, qword [0x14012da48]
mov rax, qword [rax + 0x48d0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.1400353c0
mov r10, rax
lea rcx, [rsp + 0x70]
call fcn.140031550
movss dword [rsp + 0x50], xmm8
movss dword [rsp + 0x54], xmm9
movss dword [rsp + 0x48], xmm6
movss dword [rsp + 0x4c], xmm7
movss xmm8, dword [0x140115a0c]
movss dword [rsp + 0x20], xmm8
mov r9d, eax
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x48]
mov rcx, r10
call fcn.1400582c0
movaps xmm7, xmm13
addss xmm7, xmm15
movaps xmm6, xmm13
addss xmm6, xmm15
movups xmm0, xmmword [rsp + 0x60]
movdqa xmmword [rsp + 0x70], xmm0
mov rax, qword [0x14012da48]
mov rax, qword [rax + 0x48d0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.1400353c0
mov r10, rax
lea rcx, [rsp + 0x70]
call fcn.140031550
movss dword [rsp + 0x50], xmm7
movss dword [rsp + 0x54], xmm10
movss dword [rsp + 0x48], xmm6
movss dword [rsp + 0x4c], xmm14
movss dword [rsp + 0x20], xmm8
mov r9d, eax
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x48]
mov rcx, r10
call fcn.1400582c0
movss xmm10, dword [rsp + 0x40]
movaps xmm9, xmm10
addss xmm9, xmm14
subss xmm9, xmm11
movaps xmm7, xmm13
addss xmm7, xmm15
movaps xmm8, xmm10
addss xmm8, xmm14
movaps xmm6, xmm13
addss xmm6, xmm15
movups xmm0, xmmword [rsp + 0x60]
movdqa xmmword [rsp + 0x60], xmm0
mov rax, qword [0x14012da48]
mov rax, qword [rax + 0x48d0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.1400353c0
mov r10, rax
lea rcx, [rsp + 0x60]
call fcn.140031550
movss dword [rsp + 0x50], xmm7
movss dword [rsp + 0x54], xmm9
movss dword [rsp + 0x48], xmm6
movss dword [rsp + 0x4c], xmm8
movss xmm0, dword [0x140115a0c]
movss dword [rsp + 0x20], xmm0
mov r9d, eax
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x48]
mov rcx, r10
call fcn.1400582c0
jmp 0x140019060
movss xmm10, dword [rsp + 0x40]
cmp byte [0x14012c0ea], 0
je 0x14001909c
movaps xmm1, xmm15
subss xmm1, dword [0x140115a7c]
movd xmm2, dword [rbp - 0x70]
cvtdq2ps xmm2, xmm2
movaps xmm0, xmm12
unpcklps xmm0, xmm10
movsd qword [rsp + 0x20], xmm0
unpcklps xmm1, xmm14
movq r9, xmm1
mov ecx, dword [r15]
call fcn.1400084e0
movzx ecx, byte [0x14012d8ee]
test cl, cl
jne 0x1400190c2
movzx eax, byte [0x14012c10d]
test al, al
jne 0x1400190c2
cmp byte [0x14012d8f2], al
je 0x1400190eb
cmp byte [0x14012c10e], al
je 0x1400190eb
mov edx, dword [0x14012c1a8]
add rdx, qword [r15]
lea r8, [rsp + 0x70]
call fcn.1400041b0
test al, al
je 0x14001973f
movzx ecx, byte [0x14012d8ee]
movzx eax, byte [0x14012c10d]
xorps xmm0, xmm0
movups xmmword [rbp + 0x140], xmm0
movdqa xmm1, xmmword [0x140115c00]
movdqa xmmword [rbp + 0x150], xmm1
mov byte [rbp + 0x140], 0
movups xmmword [rbp + 0x160], xmm0
movdqa xmmword [rbp + 0x170], xmm1
mov byte [rbp + 0x160], 0
mov qword [rbp + 0x180], 0
mov r14, qword [rsp + 0x70]
movss xmm9, dword [0x140115aac]
test cl, cl
jne 0x140019148
nop
test al, al
je 0x140019356
mov edx, dword [0x14012c218]
add rdx, r14
lea r8, [rsp + 0x70]
call fcn.1400041b0
nop dword [rax + rax]
test al, al
je 0x140019726
mov rbx, qword [rsp + 0x70]
mov rcx, rbx
shr rcx, 9
and ecx, 0x3f
mov rax, qword [0x14012d930]
lea rcx, [rcx + 2]
lea rdx, [rax + rcx*8]
lea r8, [rsp + 0x70]
call fcn.1400041b0
test al, al
je 0x140019726
and ebx, 0x1ff
imul rdx, rbx, 0x78
add rdx, qword [rsp + 0x70]
lea r8, [rsp + 0x70]
call fcn.1400041b0
test al, al
je 0x140019726
mov edx, dword [0x14012c220]
add rdx, qword [rsp + 0x70]
lea r8, [rsp + 0x40]
call fcn.140022b40
test al, al
je 0x140019726
movzx edx, word [rsp + 0x40]
lea rcx, [rbp + 0xb0]
call fcn.1400165a0
mov rbx, rax
mov rdx, rax
lea rcx, [rbp + 0x140]
call fcn.140021320
lea rdx, [rbx + 0x20]
lea rcx, [rbp + 0x160]
call fcn.140021320
mov esi, dword [rbx + 0x40]
mov dword [rbp + 0x180], esi
mov eax, dword [rbx + 0x44]
mov dword [rbp + 0x184], eax
lea rcx, [rbp + 0xd0]
call fcn.140004140
lea rcx, [rbp + 0xb0]
call fcn.140004140
movzx eax, byte [0x14012d8ee]
nop word [rax + rax]
test al, al
je 0x1400192dd
movss xmm1, dword [0x140115ba0]
movd xmm0, esi
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm9
ja 0x140019265
movss xmm1, dword [0x140115a58]
movups xmm7, xmmword [0x14012c488]
movaps xmm8, xmm10
addss xmm8, xmm14
addss xmm8, xmm1
movaps xmm6, xmm13
movss xmm11, dword [0x1401159c0]
mulss xmm6, xmm11
addss xmm6, xmm15
lea rdx, [rbp + 0x160]
lea rcx, [rbp - 8]
call fcn.140007c60
movdqa xmmword [rsp + 0x60], xmm7
mov esi, dword [rbp + 0x180]
movd xmm0, esi
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x20], xmm0
lea r9, [rsp + 0x60]
unpcklps xmm6, xmm8
movq r8, xmm6
mov rdx, rax
call fcn.14007d080
movzx eax, byte [0x14012d8ee]
jmp 0x1400192e6
movss xmm11, dword [0x1401159c0]
cmp byte [0x14012c10d], 0
je 0x140019356
test al, al
je 0x14001930b
cmp esi, 0xf
jg 0x140019307
movss xmm12, dword [0x140115ab4]
jmp 0x14001930b
movaps xmm12, xmm9
movups xmm7, xmmword [0x14012c408]
addss xmm10, xmm14
addss xmm10, xmm12
movaps xmm6, xmm13
mulss xmm6, xmm11
addss xmm6, xmm15
lea rdx, [rbp + 0x140]
lea rcx, [rbp - 8]
call fcn.140007c60
movdqa xmmword [rsp + 0x60], xmm7
lea r9, [rsp + 0x60]
unpcklps xmm6, xmm10
movq r8, xmm6
mov rdx, rax
call fcn.14007d1c0
cmp byte [0x14012d8f2], 0
nop dword [rax]
je 0x1400196ca
mov r12d, r13d
mov edx, dword [0x14012c1a4]
add rdx, qword [r15]
lea r8, [rsp + 0x70]
call fcn.1400041b0
nop dword [rax]
test al, al
je 0x140019726
movss xmm10, dword [0x140115a9c]
mov rbx, qword ds:[rsp + 0x70]
cmp byte [0x14012c0bc], 0
je 0x14001942f
test rbx, rbx
je 0x1400193be
mov edx, dword [0x14012c210]
add rdx, rbx
lea r8, [rsp + 0x40]
call fcn.140022920
cmp byte [rsp + 0x40], 0
je 0x14001942f
movups xmm6, xmmword [0x14012c520]
movaps xmm7, xmm13
addss xmm7, xmm15
addss xmm7, xmm10
xorps xmm0, xmm0
movups xmmword [rbp - 0x68], xmm0
mov qword [rbp - 0x58], r13
mov qword [rbp - 0x50], r13
mov r8d, 1
lea rdx, [0x14010e278]
lea rcx, [rbp - 0x68]
call fcn.140007b40
movdqa xmmword [rsp + 0x60], xmm6
movss dword [rsp + 0x20], xmm9
lea r9, [rsp + 0x60]
unpcklps xmm7, xmm14
movq r8, xmm7
lea rdx, [rbp - 0x68]
call fcn.14007d080
mov r12d, 0xf
cmp byte [0x14012d8ef], 0
je 0x1400194d6
mov rax, qword ds:[r15]
test rax, rax
je 0x140019458
mov edx, dword [0x14012c208]
add rdx, rax
lea r8, [rsp + 0x48]
call fcn.1400229b0
cmp dword ds:[rsp + 0x48], 0
je 0x1400194d6
movups xmm7, xmmword [0x14012c468]
movd xmm8, r12d
cvtdq2ps xmm8, xmm8
addss xmm8, xmm14
movaps xmm6, xmm13
addss xmm6, xmm15
addss xmm6, xmm10
xorps xmm0, xmm0
movups xmmword [rbp - 0x68], xmm0
mov qword [rbp - 0x58], r13
mov qword [rbp - 0x50], r13
mov r8d, 1
lea rdx, [0x14010df54]
lea rcx, [rbp - 0x68]
call fcn.140007b40
movdqa xmmword [rsp + 0x60], xmm7
movss dword [rsp + 0x20], xmm9
lea r9, [rsp + 0x60]
unpcklps xmm6, xmm8
movq r8, xmm6
lea rdx, [rbp - 0x68]
call fcn.14007d080
add r12d, 0xf
cmp byte [0x14012c0e9], 0
nop dword [rax]
je 0x140019579
test rbx, rbx
je 0x1400194fe
mov edx, dword [0x14012c20c]
add rdx, rbx
lea r8, [rsp + 0x40]
call fcn.140022920
cmp byte [rsp + 0x40], 0
je 0x140019579
movups xmm7, xmmword [0x14012c428]
movd xmm8, r12d
cvtdq2ps xmm8, xmm8
addss xmm8, xmm14
movaps xmm6, xmm13
addss xmm6, xmm15
addss xmm6, xmm10
xorps xmm0, xmm0
movups xmmword [rbp - 0x68], xmm0
mov qword [rbp - 0x58], r13
mov qword [rbp - 0x50], r13
mov r8d, 1
lea rdx, [0x14010e27c]
lea rcx, [rbp - 0x68]
call fcn.140007b40
movdqa xmmword [rsp + 0x60], xmm7
movss dword [rsp + 0x20], xmm9
lea r9, [rsp + 0x60]
unpcklps xmm6, xmm8
movq r8, xmm6
lea rdx, [rbp - 0x68]
call fcn.14007d080
add r12d, 0xf
cmp byte [0x14012c10e], 0
je 0x1400196ca
mov edx, dword [0x14012c214]
add rdx, r14
lea r8, [rsp + 0x60]
call fcn.140022be0
nop dword [rax]
test al, al
je 0x1400196ca
mov eax, dword [rsp + 0x60]
cmp eax, 0xb
ja 0x140019726
mov rsi, r13
mov r15d, eax
test eax, eax
je 0x1400196ca
mov r14, qword [rsp + 0x68]
nop dword [rax]
lea r8, [rsp + 0x70]
mov rdx, r14
call fcn.1400041b0
nop dword [rax]
test al, al
je 0x14001964c
mov rbx, qword [rsp + 0x70]
mov rcx, rbx
shr rcx, 9
and ecx, 0x3f
mov rax, qword [0x14012d930]
lea rcx, [rcx + 2]
lea rdx, [rax + rcx*8]
lea r8, [rbp - 0x18]
call fcn.1400041b0
test al, al
je 0x14001964c
and ebx, 0x1ff
imul rdx, rbx, 0x78
add rdx, qword [rbp - 0x18]
lea r8, [rbp - 0x40]
call fcn.1400041b0
test al, al
je 0x14001964c
mov edx, dword [0x14012c220]
add rdx, qword [rbp - 0x40]
lea r8, [rsp + 0x40]
call fcn.140022b40
nop
test al, al
je 0x14001964c
cmp word [rsp + 0x40], 0x31
je 0x14001965e
inc rsi
add r14, 4
cmp rsi, r15
jb 0x1400195d0
jmp 0x1400196ca
movups xmm7, xmmword [0x14012c418]
movd xmm8, r12d
cvtdq2ps xmm8, xmm8
addss xmm8, xmm14
movaps xmm6, xmm13
addss xmm6, xmm15
addss xmm6, xmm10
xorps xmm0, xmm0
movups xmmword [rbp - 0x68], xmm0
mov qword [rbp - 0x58], r13
mov qword [rbp - 0x50], r13
mov r8d, 1
lea rdx, [0x14010e1ec]
lea rcx, [rbp - 0x68]
call fcn.140007b40
movdqa xmmword [rsp + 0x60], xmm7
movss dword [rsp + 0x20], xmm9
lea r9, [rsp + 0x60]
unpcklps xmm6, xmm8
movq r8, xmm6
lea rdx, [rbp - 0x68]
call fcn.14007d080
cmp byte [0x14012c10c], 0
je 0x140019726
movups xmm6, xmmword [0x14012c4d8]
subss xmm14, dword [0x140115aa8]
mulss xmm13, dword [0x1401159c0]
addss xmm13, xmm15
lea rdx, [rbp + 0x120]
lea rcx, [rbp - 8]
call fcn.140007c60
movdqa xmmword ds:[rsp + 0x60], xmm6
lea r9, [rsp + 0x60]
unpcklps xmm13, xmm14
movq r8, xmm13
mov rdx, rax
call fcn.14007d1c0
nop
lea rcx, [rbp + 0x160]
call fcn.140004140
lea rcx, [rbp + 0x140]
call fcn.140004140
nop
lea rcx, [rbp + 0x108]
call fcn.140020780
nop
lea rcx, [rbp + 0x120]
call fcn.140004140
nop
mov rcx, rdi
call qword [sym.imp.MSVCP140.dll__Mtx_unlock]
mov rcx, qword [rbp + 0x650]
xor rcx, rsp
call fcn.140088df0
lea r11, [rsp + 0x800]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.140004ba0
nop
call fcn.140004c40
nop
call fcn.140004c40
nop
call fcn.140004c40
nop
call fcn.140004c40
nop
call fcn.140004ba0
nop
call fcn.140004ba0
nop
call fcn.140004ba0
int3