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

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x1e8]
sub rsp, 0x2c0
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 [0x1401ef0c0]
xor rax, rsp
mov qword [rbp + 0x110], rax
mov r15d, r9d
mov dword [rsp + 0x54], r8d
mov r12d, edx
mov r13d, ecx
mov dword [rsp + 0x5c], ecx
movss xmm14, dword [rbp + 0x228]
mov r14, qword [rbp + 0x210]
mov qword [rbp - 0x38], r14
mov qword [rbp - 0x30], r14
mov rsi, qword [rbp + 0x218]
xor ecx, ecx
xorps xmm0, xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x20], xmm1
mov qword [rbp + 0x30], rcx
movabs rdx, 0x1c6d998239bf85be
movabs r8, 0xd684dce356998ba9
movss xmm6, dword [0x1401cb110]
movzx edi, byte [rbp + 0x220]
test dil, dil
jne 0x140017b98
mov rax, qword [rsi + 0x70]
cmp dword [rax], 2
jne 0x140017b98
movups xmmword [rbp - 0x18], xmm0
mov qword [rbp - 8], rcx
mov qword [rbp], 0xf
mov byte [rbp - 0x18], dil
mov dword [rbp + 0x10], 0xffffffff
mov dword [rbp + 0x15], 0xffffffff
mov dword [rbp - 0x20], ecx
movabs rax, 0xb7e6b4973af8eee1
mov qword [rsp + 0x40], rax
movabs rax, 0x1c6d998239bf85cc
mov qword [rsp + 0x48], rax
mov qword [rbp + 0xc0], r8
mov qword [rbp + 0xc8], rdx
movdqa xmm0, xmmword [rsp + 0x40]
xorps xmm0, xmmword [rbp + 0xc0]
movdqa xmmword [rsp + 0x40], xmm0
lea rax, [rsp + 0x40]
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [rax + rbx], 0
jne 0x140017a81
lea rcx, [rbp - 0x18]
cmp rbx, 0xf
ja 0x140017aac
mov qword [rbp - 8], rbx
mov r8, rbx
lea rdx, [rsp + 0x40]
call fcn.14018f070
mov byte [rbp + rbx - 0x18], 0
jmp 0x140017ab9
lea r9, [rsp + 0x40]
mov rdx, rbx
call fcn.1400092a0
movss xmm1, dword [r14 + 0x144]
movss dword [rbp + 8], xmm1
movss xmm0, dword [r14 + 0x148]
movss dword [rbp + 0xc], xmm0
mulss xmm1, dword [0x1401cb10c]
divss xmm1, xmm0
comiss xmm1, xmm6
jbe 0x140017ae9
movaps xmm1, xmm6
mov byte [rsp + 0x30], 0x96
cvttss2si eax, xmm1
mov byte [rsp + 0x31], al
mov word [rsp + 0x32], 0xc800
mov eax, dword [rsp + 0x30]
mov dword [rbp + 0x10], eax
mov rax, qword [rsi + 0x78]
movzx ecx, byte [rax]
mov byte [rbp + 0x14], cl
mov rax, qword [rsi + 0x80]
mov ecx, dword [rax]
mov dword [rbp + 0x15], ecx
mov rbx, qword [rbp + 0x28]
cmp rbx, qword [rbp + 0x30]
je 0x140017b6a
mov eax, dword [rbp - 0x20]
mov dword [rbx], eax
lea rcx, [rbx + 8]
lea rdx, [rbp - 0x18]
call fcn.140008b60
movss xmm0, dword [rbp + 8]
movss dword [rbx + 0x28], xmm0
movss xmm1, dword [rbp + 0xc]
movss dword [rbx + 0x2c], xmm1
mov eax, dword [rbp + 0x10]
mov dword [rbx + 0x30], eax
movzx eax, byte [rbp + 0x14]
mov byte [rbx + 0x34], al
mov eax, dword [rbp + 0x15]
mov dword [rbx + 0x35], eax
mov eax, dword [rbp + 0x1c]
mov dword [rbx + 0x3c], eax
add qword [rbp + 0x28], 0x40
jmp 0x140017b7b
lea r8, [rbp - 0x20]
mov rdx, rbx
lea rcx, [rbp + 0x20]
call fcn.14001a330
nop
lea rcx, [rbp - 0x18]
call fcn.140008e00
movabs rdx, 0x1c6d998239bf85be
movabs r8, 0xd684dce356998ba9
movss xmm0, dword [r14 + 0x140]
comiss xmm0, dword [0x1401cae68]
jbe 0x140017cfe
test dil, dil
jne 0x140017cfe
mov rax, qword [rsi + 0x88]
xor edi, edi
cmp dword [rax], 2
jne 0x140017d00
xorps xmm0, xmm0
movups xmmword [rbp - 0x18], xmm0
mov qword [rbp - 8], rdi
mov qword [rbp], 0xf
mov byte [rbp - 0x18], dil
mov dword [rbp + 0x10], 0xffffffff
mov dword [rbp + 0x15], 0xffffffff
mov dword [rbp - 0x20], edi
movabs rax, 0xa4e5be9139f4f9e8
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rdx
mov qword [rbp + 0xc0], r8
mov qword [rbp + 0xc8], rdx
movdqa xmm0, xmmword [rsp + 0x40]
xorps xmm0, xmmword [rbp + 0xc0]
movdqa xmmword [rsp + 0x40], xmm0
lea rax, [rsp + 0x40]
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [rax + rbx], 0
jne 0x140017c32
lea rcx, [rbp - 0x18]
cmp rbx, 0xf
ja 0x140017c5d
mov qword [rbp - 8], rbx
mov r8, rbx
lea rdx, [rsp + 0x40]
call fcn.14018f070
mov byte [rbp + rbx - 0x18], 0
jmp 0x140017c6a
lea r9, [rsp + 0x40]
mov rdx, rbx
call fcn.1400092a0
movss xmm0, dword [r14 + 0x140]
movss dword [rbp + 8], xmm0
mov dword [rbp + 0xc], 0x42c80000
mov dword [rsp + 0x30], 0xffd57c44
mov eax, dword [rsp + 0x30]
mov dword [rbp + 0x10], eax
mov byte [rbp + 0x14], 0
mov rbx, qword [rbp + 0x28]
cmp rbx, qword [rbp + 0x30]
je 0x140017ce2
mov eax, dword [rbp - 0x20]
mov dword [rbx], eax
lea rcx, [rbx + 8]
lea rdx, [rbp - 0x18]
call fcn.140008b60
movss xmm0, dword [rbp + 8]
movss dword [rbx + 0x28], xmm0
movss xmm1, dword [rbp + 0xc]
movss dword [rbx + 0x2c], xmm1
mov eax, dword [rbp + 0x10]
mov dword [rbx + 0x30], eax
movzx eax, byte [rbp + 0x14]
mov byte [rbx + 0x34], al
mov eax, dword [rbp + 0x15]
mov dword [rbx + 0x35], eax
mov eax, dword [rbp + 0x1c]
mov dword [rbx + 0x3c], eax
add qword [rbp + 0x28], 0x40
jmp 0x140017cf3
lea r8, [rbp - 0x20]
mov rdx, rbx
lea rcx, [rbp + 0x20]
call fcn.14001a330
nop
lea rcx, [rbp - 0x18]
call fcn.140008e00
jmp 0x140017d00
xor edi, edi
mov rax, qword [rsi + 0x90]
cmp dword [rax], 2
jne 0x140017e06
xorps xmm0, xmm0
movups xmmword [rbp + 0x48], xmm0
mov qword [rbp + 0x58], rdi
mov qword [rbp + 0x60], 0xf
mov byte [rbp + 0x48], 0
mov dword [rbp + 0x70], 0xffffffff
mov dword [rbp + 0x75], 0xffffffff
mov dword [rbp + 0x40], 1
lea r9, [r14 + 0x158]
lea rax, [rbp + 0x48]
cmp rax, r9
je 0x140017d82
mov rbx, qword [r9 + 0x10]
cmp qword [r9 + 0x18], 0xf
jbe 0x140017d5a
mov r9, qword [r9]
lea rcx, [rbp + 0x48]
cmp rbx, 0xf
ja 0x140017d7a
mov qword [rbp + 0x58], rbx
mov r8, rbx
mov rdx, r9
call fcn.14018f070
mov byte [rbp + rbx + 0x48], 0
jmp 0x140017d82
mov rdx, rbx
call fcn.1400092a0
mov rax, qword [rsi + 0x98]
mov ecx, dword [rax]
mov dword [rbp + 0x70], ecx
mov dword [rbp + 0x7c], 1
cmp qword [rbp + 0x58], 0
je 0x140017dfd
mov rbx, qword [rbp + 0x28]
cmp rbx, qword [rbp + 0x30]
je 0x140017dec
mov eax, dword [rbp + 0x40]
mov dword [rbx], eax
lea rcx, [rbx + 8]
lea rdx, [rbp + 0x48]
call fcn.140008b60
movss xmm0, dword [rbp + 0x68]
movss dword [rbx + 0x28], xmm0
movss xmm1, dword [rbp + 0x6c]
movss dword [rbx + 0x2c], xmm1
mov eax, dword [rbp + 0x70]
mov dword [rbx + 0x30], eax
movzx eax, byte [rbp + 0x74]
mov byte [rbx + 0x34], al
mov eax, dword [rbp + 0x75]
mov dword [rbx + 0x35], eax
mov eax, dword [rbp + 0x7c]
mov dword [rbx + 0x3c], eax
add qword [rbp + 0x28], 0x40
jmp 0x140017dfd
lea r8, [rbp + 0x40]
mov rdx, rbx
lea rcx, [rbp + 0x20]
call fcn.14001a330
nop
lea rcx, [rbp + 0x48]
call fcn.140008e00
mov ecx, dword [r14 + 0x138]
test ecx, ecx
je 0x1400181be
mov rax, qword [rsi + 0xa0]
cmp byte [rax], 0
je 0x140017fdb
xorps xmm0, xmm0
movups xmmword [rbp - 0x18], xmm0
mov qword [rbp - 8], rdi
mov qword [rbp], 0xf
mov byte [rbp - 0x18], 0
mov dword [rbp + 0x10], 0xffffffff
mov dword [rbp + 0x15], 0xffffffff
mov dword [rbp - 0x20], 1
mov r8, qword [0x140272c68]
mov rax, qword [r8 + 8]
mov rdx, r8
cmp byte [rax + 0x19], 0
jne 0x140017e7c
cmp dword [rax + 0x20], ecx
jae 0x140017e70
mov rax, qword [rax + 0x10]
jmp 0x140017e76
mov rdx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x140017e65
cmp byte [rdx + 0x19], 0
jne 0x140017ea1
cmp ecx, dword [rdx + 0x20]
jb 0x140017ea1
cmp rdx, r8
je 0x140017ea1
add rdx, 0x28
lea rcx, [rbp + 0xd0]
call fcn.140008b60
jmp 0x140017f1c
movabs rcx, 0xd684dce356998ba9
mov qword [rsp + 0x40], rcx
movabs rax, 0x1c6d998239bf85be
mov qword [rsp + 0x48], rax
mov qword [rbp + 0xc0], rcx
mov qword [rbp + 0xc8], rax
movdqa xmm0, xmmword [rsp + 0x40]
xorps xmm0, xmmword [rbp + 0xc0]
movdqa xmmword [rsp + 0x40], xmm0
xorps xmm0, xmm0
movups xmmword [rbp + 0xd0], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0xe0], xmm1
lea rax, [rsp + 0x40]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x140017f01
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0xd0]
call fcn.140009150
movups xmm0, xmmword [rbp + 0xd0]
movups xmmword [rbp - 0x18], xmm0
movups xmm6, xmmword [rbp + 0xe0]
movups xmmword [rbp - 8], xmm6
mov qword [rbp + 0xe0], rdi
mov qword [rbp + 0xe8], 0xf
mov byte [rbp + 0xd0], 0
lea rcx, [rbp + 0xd0]
call fcn.140008e00
mov rax, qword [rsi + 0xb0]
mov ecx, dword [rax]
mov dword [rbp + 0x10], ecx
mov dword [rbp + 0x1c], edi
movq rax, xmm6
test rax, rax
je 0x140017fd2
mov rbx, qword [rbp + 0x28]
cmp rbx, qword [rbp + 0x30]
je 0x140017fc1
mov dword [rbx], 1
lea rcx, [rbx + 8]
lea rdx, [rbp - 0x18]
call fcn.140008b60
movss xmm0, dword [rbp + 8]
movss dword [rbx + 0x28], xmm0
movss xmm1, dword [rbp + 0xc]
movss dword [rbx + 0x2c], xmm1
mov eax, dword [rbp + 0x10]
mov dword [rbx + 0x30], eax
movzx eax, byte [rbp + 0x14]
mov byte [rbx + 0x34], al
mov eax, dword [rbp + 0x15]
mov dword [rbx + 0x35], eax
mov eax, dword [rbp + 0x1c]
mov dword [rbx + 0x3c], eax
add qword [rbp + 0x28], 0x40
jmp 0x140017fd2
lea r8, [rbp - 0x20]
mov rdx, rbx
lea rcx, [rbp + 0x20]
call fcn.14001a330
nop
lea rcx, [rbp - 0x18]
call fcn.140008e00
mov rax, qword [rsi + 0xa8]
cmp byte [rax], 0
je 0x1400181be
xorps xmm0, xmm0
movups xmmword [rbp - 0x18], xmm0
mov qword [rbp - 8], rdi
mov qword [rbp], 0xf
mov byte [rbp - 0x18], 0
mov dword [rbp + 0x10], 0xffffffff
mov dword [rbp + 0x15], 0xffffffff
mov dword [rbp - 0x20], 1
mov ecx, dword [r14 + 0x138]
mov r8, qword [0x140272c58]
mov rax, qword [r8 + 8]
mov rdx, r8
cmp byte [rax + 0x19], 0
jne 0x140018049
cmp dword [rax + 0x1c], ecx
jae 0x14001803d
mov rax, qword [rax + 0x10]
jmp 0x140018043
mov rdx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x140018032
cmp byte [rdx + 0x19], 0
jne 0x14001807d
cmp ecx, dword [rdx + 0x1c]
jb 0x14001807d
cmp rdx, r8
je 0x14001807d
xorps xmm0, xmm0
movups xmmword [rbp + 0xd0], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0xe0], xmm1
add rdx, 0x20
mov r8d, 1
jmp 0x1400180ef
movabs rcx, 0xd684dce356998ba9
mov qword [rsp + 0x40], rcx
movabs rax, 0x1c6d998239bf85be
mov qword [rsp + 0x48], rax
mov qword [rbp + 0xc0], rcx
mov qword [rbp + 0xc8], rax
movdqa xmm0, xmmword [rsp + 0x40]
xorps xmm0, xmmword [rbp + 0xc0]
movdqa xmmword [rsp + 0x40], xmm0
xorps xmm0, xmm0
movups xmmword [rbp + 0xd0], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0xe0], xmm1
lea rax, [rsp + 0x40]
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x1400180e0
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0xd0]
call fcn.140009150
movups xmm0, xmmword [rbp + 0xd0]
movups xmmword [rbp - 0x18], xmm0
movups xmm6, xmmword [rbp + 0xe0]
movups xmmword [rbp - 8], xmm6
mov qword [rbp + 0xe0], rdi
mov qword [rbp + 0xe8], 0xf
mov byte [rbp + 0xd0], 0
lea rcx, [rbp + 0xd0]
call fcn.140008e00
mov rax, qword [rsi + 0xb0]
mov ecx, dword [rax]
mov dword [rbp + 0x10], ecx
mov dword [rbp + 0x1c], 0xa
movq rax, xmm6
test rax, rax
je 0x1400181b5
mov rbx, qword [rbp + 0x28]
cmp rbx, qword [rbp + 0x30]
je 0x1400181a4
mov dword [rbx], 1
lea rcx, [rbx + 8]
lea rdx, [rbp - 0x18]
call fcn.140008b60
movss xmm0, dword [rbp + 8]
movss dword [rbx + 0x28], xmm0
movss xmm1, dword [rbp + 0xc]
movss dword [rbx + 0x2c], xmm1
mov eax, dword [rbp + 0x10]
mov dword [rbx + 0x30], eax
movzx eax, byte [rbp + 0x14]
mov byte [rbx + 0x34], al
mov eax, dword [rbp + 0x15]
mov dword [rbx + 0x35], eax
mov eax, dword [rbp + 0x1c]
mov dword [rbx + 0x3c], eax
add qword [rbp + 0x28], 0x40
jmp 0x1400181b5
lea r8, [rbp - 0x20]
mov rdx, rbx
lea rcx, [rbp + 0x20]
call fcn.14001a330
nop
lea rcx, [rbp - 0x18]
call fcn.140008e00
mov rax, qword [rsi + 0xb8]
cmp byte [rax], 0
je 0x14001833b
xorps xmm0, xmm0
movups xmmword [rbp - 0x18], xmm0
mov qword [rbp - 8], rdi
mov qword [rbp], 0xf
mov byte [rbp - 0x18], 0
mov dword [rbp + 0x10], 0xffffffff
mov dword [rbp + 0x15], 0xffffffff
mov dword [rbp - 0x20], 1
cvttss2si r8d, dword [r14 + 0x2c]
movabs rax, 0xd684dce356f4ef8c
mov qword [rsp + 0x40], rax
movabs rax, 0x1c6d998239bf85be
mov qword [rsp + 0x48], rax
movabs rcx, 0xd684dce356998ba9
mov qword [rbp + 0xc0], rcx
mov qword [rbp + 0xc8], rax
movdqa xmm0, xmmword [rsp + 0x40]
xorps xmm0, xmmword [rbp + 0xc0]
movdqa xmmword [rsp + 0x40], xmm0
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0xf0]
call fcn.140016740
lea rax, [rbp + 0xf0]
mov rdi, 0xffffffffffffffff
nop dword [rax + rax]
inc rdi
cmp byte [rax + rdi], 0
jne 0x140018270
mov rax, qword [rbp]
cmp rdi, rax
ja 0x1400182ab
lea rbx, [rbp - 0x18]
cmp rax, 0xf
cmova rbx, qword [rbp - 0x18]
mov qword [rbp - 8], rdi
mov r8, rdi
lea rdx, [rbp + 0xf0]
mov rcx, rbx
call fcn.14018f070
mov byte [rbx + rdi], 0
jmp 0x1400182be
lea r9, [rbp + 0xf0]
mov rdx, rdi
lea rcx, [rbp - 0x18]
call fcn.1400092a0
mov rax, qword [rsi + 0xc0]
mov ecx, dword [rax]
mov dword [rbp + 0x10], ecx
mov dword [rbp + 0x1c], 0
mov rbx, qword [rbp + 0x28]
cmp rbx, qword [rbp + 0x30]
je 0x140018321
mov eax, dword [rbp - 0x20]
mov dword [rbx], eax
lea rcx, [rbx + 8]
lea rdx, [rbp - 0x18]
call fcn.140008b60
movss xmm0, dword [rbp + 8]
movss dword [rbx + 0x28], xmm0
movss xmm1, dword [rbp + 0xc]
movss dword [rbx + 0x2c], xmm1
mov eax, dword [rbp + 0x10]
mov dword [rbx + 0x30], eax
movzx eax, byte [rbp + 0x14]
mov byte [rbx + 0x34], al
mov eax, dword [rbp + 0x15]
mov dword [rbx + 0x35], eax
mov eax, dword [rbp + 0x1c]
mov dword [rbx + 0x3c], eax
add qword [rbp + 0x28], 0x40
jmp 0x140018332
lea r8, [rbp - 0x20]
mov rdx, rbx
lea rcx, [rbp + 0x20]
call fcn.14001a330
nop
lea rcx, [rbp - 0x18]
call fcn.140008e00
mov rdi, qword [rbp + 0x28]
mov qword [rsp + 0x40], rdi
mov rbx, qword [rbp + 0x20]
cmp rbx, rdi
je 0x1400187ee
movd xmm13, r13d
cvtdq2ps xmm13, xmm13
movaps xmm11, xmm13
lea rdi, [rbx + 0x28]
lea eax, [r12 + r15]
lea r14d, [rax + 3]
lea r15d, [rax + 5]
lea r13d, [rax + 4]
movss xmm15, dword [0x1401caed0]
movss xmm12, dword [0x1401caf5c]
nop dword [rax]
nop dword [rax + rax]
mov eax, dword [rdi - 0x28]
mov dword [rbp + 0x80], eax
lea rdx, [rdi - 0x20]
lea rcx, [rbp + 0x88]
call fcn.140008b60
movss xmm10, dword [rdi]
movss dword [rbp + 0xa8], xmm10
movss xmm9, dword [rdi + 4]
movss dword [rbp + 0xac], xmm9
mov esi, dword [rdi + 8]
mov dword [rbp + 0xb0], esi
mov ebx, esi
shr ebx, 8
mov dword [rsp + 0x60], ebx
mov eax, esi
shr eax, 0x10
mov dword [rsp + 0x58], eax
mov ecx, esi
shr ecx, 0x18
movzx eax, byte [rdi + 0xc]
mov byte [rsp + 0x50], al
mov byte [rbp + 0xb4], al
mov r12d, dword [rdi + 0xd]
mov dword [rbp + 0xb5], r12d
mov eax, r12d
shr eax, 8
mov dword [rsp + 0x68], eax
mov eax, r12d
shr eax, 0x10
mov dword [rsp + 0x64], eax
mov eax, r12d
shr eax, 0x18
mov dword [rsp + 0x70], eax
mov eax, dword [rdi + 0x14]
mov dword [rbp + 0xbc], eax
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm14
cvttss2si eax, xmm0
mov dword [rsp + 0x30], eax
cmp dword [rbp + 0x80], 1
jne 0x1400184da
movd xmm0, dword [rsp + 0x54]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm15
addss xmm0, xmm11
movss dword [rsp + 0x78], xmm0
movd xmm0, r14d
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x7c], xmm0
lea rdx, [rbp + 0x88]
lea rcx, [rbp - 0x20]
call fcn.140008b60
mov r10, rax
movzx r8d, byte [rsp + 0x30]
shl r8d, 8
movzx ecx, byte [rsp + 0x58]
or r8d, ecx
shl r8d, 8
movzx ecx, bl
or r8d, ecx
shl r8d, 8
movzx ecx, sil
or r8d, ecx
mov eax, dword [rbp + 0xbc]
mov dword [rsp + 0x20], eax
mov r9d, 0xa
lea rdx, [rsp + 0x78]
mov rcx, r10
call fcn.140082420
add r14d, 0xc
add r13d, 0xc
add r15d, 0xc
movaps xmm11, xmm13
jmp 0x1400187c3
mov eax, dword [rsp + 0x54]
inc eax
movd xmm8, eax
cvtdq2ps xmm8, xmm8
mulss xmm8, xmm10
divss xmm8, xmm9
movaps xmm0, xmm14
mulss xmm0, dword [0x1401cb100]
cvttss2si ebx, xmm0
mov eax, dword [rsp + 0x5c]
dec eax
movd xmm7, eax
cvtdq2ps xmm7, xmm7
movd xmm6, r14d
cvtdq2ps xmm6, xmm6
mov rax, qword [0x1402718d8]
mov rax, qword [rax + 0x48b8]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.1400561d0
mov r10, rax
movzx ecx, bl
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x1401cb110]
mov qword [rbp - 0x58], 0
mov dword [rbp - 0x50], 0
movss dword [rbp - 0x4c], xmm0
lea rcx, [rbp - 0x58]
call fcn.140053cc0
movaps xmm1, xmm6
addss xmm1, dword [0x1401cafa0]
mov ecx, dword [rsp + 0x54]
add ecx, 3
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
addss xmm0, xmm7
movss dword [rbp - 0x80], xmm0
movss dword [rbp - 0x7c], xmm1
movss dword [rbp - 0x78], xmm7
movss dword [rbp - 0x74], xmm6
mov dword [rsp + 0x28], 0
xorps xmm0, xmm0
movss dword [rsp + 0x20], xmm0
mov r9d, eax
lea r8, [rbp - 0x80]
lea rdx, [rbp - 0x78]
mov rcx, r10
call fcn.140073900
movd xmm6, r13d
cvtdq2ps xmm6, xmm6
mov rax, qword [0x1402718d8]
mov rax, qword [rax + 0x48b8]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.1400561d0
mov r10, rax
movzx ecx, byte [rsp + 0x30]
movd xmm3, ecx
cvtdq2ps xmm3, xmm3
movss xmm4, dword [0x1401cb110]
divss xmm3, xmm4
movzx ecx, byte [rsp + 0x58]
movd xmm2, ecx
cvtdq2ps xmm2, xmm2
divss xmm2, xmm4
movzx ecx, byte [rsp + 0x60]
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
divss xmm1, xmm4
movzx ecx, sil
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
divss xmm0, xmm4
movss dword [rbp - 0x48], xmm0
movss dword [rbp - 0x44], xmm1
movss dword [rbp - 0x40], xmm2
movss dword [rbp - 0x3c], xmm3
lea rcx, [rbp - 0x48]
call fcn.140053cc0
movaps xmm0, xmm6
addss xmm0, xmm12
movaps xmm7, xmm11
addss xmm7, xmm8
movss dword [rbp - 0x70], xmm7
movss dword [rbp - 0x6c], xmm0
movss dword [rbp - 0x68], xmm11
movss dword [rbp - 0x64], xmm6
xor esi, esi
mov dword [rsp + 0x28], esi
xorps xmm0, xmm0
movss dword [rsp + 0x20], xmm0
mov r9d, eax
lea r8, [rbp - 0x70]
lea rdx, [rbp - 0x68]
mov rcx, r10
call fcn.140073900
cmp byte [rsp + 0x50], sil
je 0x1400187b7
subss xmm9, xmm12
comiss xmm9, xmm10
jbe 0x1400187b7
movabs rax, 0xd684dce35699ef8c
mov qword [rbp + 0xc0], rax
movabs rax, 0x1c6d998239bf85be
mov qword [rbp + 0xc8], rax
movabs rcx, 0xd684dce356998ba9
mov qword [rbp + 0xf0], rcx
mov qword [rbp + 0xf8], rax
movdqa xmm0, xmmword [rbp + 0xc0]
xorps xmm0, xmmword [rbp + 0xf0]
movdqa xmmword [rbp + 0xc0], xmm0
cvttss2si r8d, xmm10
lea rdx, [rbp + 0xc0]
lea rcx, [rbp + 0xd0]
call fcn.140016740
movd xmm0, dword [rsp + 0x70]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm14
cvttss2si ebx, xmm0
movss dword [rbp - 0x60], xmm7
movd xmm0, r15d
cvtdq2ps xmm0, xmm0
movss dword [rbp - 0x5c], xmm0
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], rsi
mov qword [rbp - 8], rsi
lea rax, [rbp + 0xd0]
mov r8, 0xffffffffffffffff
nop
inc r8
cmp byte [rax + r8], sil
jne 0x140018760
lea rdx, [rbp + 0xd0]
lea rcx, [rbp - 0x20]
call fcn.140009150
movzx r8d, bl
shl r8d, 8
movzx eax, byte [rsp + 0x64]
or r8d, eax
shl r8d, 8
movzx eax, byte [rsp + 0x68]
or r8d, eax
shl r8d, 8
movzx eax, r12b
or r8d, eax
mov dword [rsp + 0x20], esi
mov r9d, 0xe
lea rdx, [rbp - 0x60]
lea rcx, [rbp - 0x20]
call fcn.140082420
add r14d, 6
add r13d, 6
add r15d, 6
lea rcx, [rbp + 0x88]
call fcn.140008e00
add rdi, 0x40
lea rax, [rdi - 0x28]
cmp rax, qword [rsp + 0x40]
jne 0x140018390
mov rdi, qword [rbp + 0x28]
mov rbx, qword [rbp + 0x20]
mov r14, qword [rbp - 0x38]
test rbx, rbx
je 0x14001885e
cmp rbx, rdi
je 0x140018816
nop dword [rax + rax]
lea rcx, [rbx + 8]
call fcn.140008e00
add rbx, 0x40
cmp rbx, rdi
jne 0x140018800
mov rbx, qword [rbp + 0x20]
mov rdx, qword [rbp + 0x30]
sub rdx, rbx
and rdx, 0xffffffffffffffc0
mov rax, rbx
cmp rdx, 0x1000
jb 0x140018846
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400188d2
mov rcx, rbx
call fcn.14015dacc
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x20], xmm0
mov qword [rbp + 0x30], 0
lea rcx, [r14 + 0x158]
call fcn.140008e00
mov rcx, qword [rbp + 0x110]
xor rcx, rsp
call fcn.14015d760
lea r11, [rsp + 0x2c0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
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.140164ab0
nop
int3