Function at 0x14003bb40
Capabilities:
Encode data using xor
Hash data using fnv
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x2c8]
sub rsp, 0x390
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rax - 0x88], xmm10
movaps xmmword [rax - 0x98], xmm11
movaps xmmword [rax - 0xa8], xmm12
movaps xmmword [rax - 0xb8], xmm15
mov rax, qword [0x1401ef0c0]
xor rax, rsp
mov qword [rbp + 0x200], rax
movzx esi, r9b
mov byte [rbp + 0x178], r9b
mov qword [rbp + 0x48], r8
mov rdi, rdx
mov qword [rbp + 0x18], rdx
mov r12, rcx
mov qword [rbp - 0x58], rcx
mov qword [rbp + 0x160], rdx
xor r15d, r15d
mov dword [rsp + 0x5c], r15d
lea rcx, [rbp + 0x30]
call fcn.140039970
lea r8, [rbp + 0x30]
lea rdx, [rbp - 0x60]
mov rcx, qword [0x140273d10]
call fcn.1400ec5b0
lea rcx, [rbp + 0x180]
call fcn.140037de0
lea rcx, [rbp + 0x180]
call fcn.14004a600
nop
lea rcx, [rbp + 0x198]
call fcn.140037de0
lea rcx, [rbp + 0x198]
call fcn.140010660
nop
mov rcx, r12
call fcn.140039ad0
mov dword [rbp - 0x6c], eax
lea r8, [rbp - 0x6c]
lea rdx, [rsp + 0x40]
lea rcx, [0x140271ce0]
call fcn.140033bf0
xorps xmm10, xmm10
mov rcx, qword [0x140271ce0]
cmp qword [rax], rcx
jne 0x14003bc71
mov rcx, r12
call fcn.140039ad0
mov dword [rbp - 0x78], eax
mov dword [rbp - 0x74], r15d
lea r8, [rbp - 0x78]
lea rdx, [rbp - 0x50]
lea rcx, [0x140271ce0]
call fcn.140036460
mov rcx, r12
call fcn.140039ad0
mov qword [rsp + 0x40], rax
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x48]
lea rcx, [0x140271cc0]
call fcn.14004a640
mov rcx, qword [0x140271cc0]
cmp qword [rax], rcx
jne 0x14003bcc7
mov rcx, r12
call fcn.140039ad0
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], r15
lea r8, [rsp + 0x70]
lea rdx, [rbp - 0x50]
lea rcx, [0x140271cc0]
call fcn.14002a7d0
mov rcx, r12
call fcn.140039ad0
mov qword [rsp + 0x40], rax
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x48]
lea rcx, [rbp + 0x180]
call fcn.14004a640
mov ebx, 1
mov rcx, qword [rbp + 0x180]
cmp qword [rax], rcx
jne 0x14003bda8
mov rcx, r12
call fcn.140039ad0
mov qword [rsp + 0x40], rax
lea rdx, [0x1401beef6]
lea rcx, [rbp + 0x58]
call fcn.140008b20
nop
lea rax, [rbp + 0x58]
mov qword [rsp + 0x70], rax
lea rax, [rbp + 0x78]
mov qword [rsp + 0x78], rax
movaps xmm0, xmmword [rsp + 0x70]
movdqa xmmword [rbp + 0x1f0], xmm0
lea rdx, [rbp + 0x1f0]
lea rcx, [rbp - 0x28]
call fcn.140026030
nop
lea r8, [rbp - 0x28]
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0xb0]
call fcn.14004ab00
nop
lea r8, [rbp + 0xb0]
lea rdx, [rbp - 0x50]
lea rcx, [rbp + 0x180]
call fcn.14004ab30
nop
lea rcx, [rbp + 0xb8]
call fcn.140008d70
nop
lea rcx, [rbp - 0x28]
call fcn.140008d70
nop
lea r9, [fcn.140008a80]
mov r8d, ebx
lea edx, [rbx + 0x1f]
lea rcx, [rbp + 0x58]
call fcn.14015d7bc
mov rcx, r12
call fcn.140039ad0
mov dword [rbp - 0x6c], eax
lea r8, [rbp - 0x6c]
lea rdx, [rsp + 0x40]
lea rcx, [0x140271cd0]
call fcn.14004a910
mov rcx, qword [0x140271cd0]
cmp qword [rax], rcx
jne 0x14003be0e
mov rcx, r12
call fcn.140039ad0
mov qword [rsp + 0x40], rax
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x28]
call fcn.14004ac50
nop
lea r8, [rbp - 0x28]
lea rdx, [rbp - 0x50]
lea rcx, [0x140271cd0]
call fcn.14004ac90
nop
lea rcx, [rbp - 0x20]
call fcn.140008e00
mov rcx, r12
call fcn.140039ad0
mov dword [rbp - 0x6c], eax
lea r8, [rbp - 0x6c]
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x198]
call fcn.140033bf0
mov rcx, qword [rbp + 0x198]
cmp qword [rax], rcx
jne 0x14003be60
mov rcx, r12
call fcn.140039ad0
mov dword [rbp - 0x78], eax
mov dword [rbp - 0x74], 0xffffffec
lea r8, [rbp - 0x78]
lea rdx, [rbp - 0x50]
lea rcx, [rbp + 0x198]
call fcn.140036460
movss xmm9, dword [rbp - 0x5c]
test sil, sil
je 0x14003be7a
addss xmm9, dword [0x1401cb018]
movss dword [rbp - 0x5c], xmm9
mov rax, qword [0x140273d10]
cvttss2si ecx, dword [rax + 0x238]
add ecx, 0xffffffd5
mov ebx, 0x12c
cmp ecx, ebx
cmovl ebx, ecx
mov dword [rbp - 0x70], ebx
call fcn.1400ec4d0
mov r9, rax
movd xmm6, ebx
cvtdq2ps xmm6, xmm6
movss dword [rbp - 0x30], xmm6
mov dword [rbp - 0x2c], 0x41980000
mov dword [rbp - 0x78], 0
mov dword [rbp - 0x74], 0x41900000
lea r8, [rbp - 0x78]
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x60]
call fcn.1400ec5e0
lea r8, [rbp - 0x30]
mov rdx, rax
mov rcx, r9
call fcn.1400ec460
test al, al
je 0x14003bf36
call fcn.1400ec4d0
mov r10, rax
mov r8, qword [0x140273d10]
lea rdx, [r8 + 0x238]
lea rcx, [rsp + 0x48]
call fcn.1400ec540
mov r9, rax
lea rdx, [r8 + 0x230]
lea rcx, [rbp + 0x20]
call fcn.1400ec540
mov r8, r9
mov rdx, rax
mov rcx, r10
call fcn.1400ec460
test al, al
je 0x14003bf36
test sil, sil
mov byte [rsp + 0x58], 1
jne 0x14003bf3b
mov byte [rsp + 0x58], 0
call fcn.1400ec4d0
mov r9, rax
movss dword [rbp - 0x78], xmm6
mov eax, dword [rbp + 0x2f0]
lea esi, [rax + rax*4]
shl esi, 2
mov dword [rbp - 0x6c], esi
movd xmm7, esi
cvtdq2ps xmm7, xmm7
movss dword [rbp - 0x74], xmm7
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x40]
call fcn.1400ec540
lea r8, [rbp - 0x78]
mov rdx, rax
mov rcx, r9
call fcn.1400ec460
test al, al
je 0x14003bfcd
call fcn.1400ec4d0
mov r9, rax
mov r10, qword [0x140273d10]
lea rdx, [r10 + 0x238]
lea rcx, [rsp + 0x48]
call fcn.1400ec540
mov r8, rax
lea rdx, [r10 + 0x230]
lea rcx, [rbp + 0x20]
call fcn.1400ec540
mov rdx, rax
mov rcx, r9
call fcn.1400ec460
test al, al
je 0x14003bfd4
mov byte [rsp + 0x59], 1
jmp 0x14003bfd9
mov r10, qword [0x140273d10]
mov byte [rsp + 0x59], 0
mov dword [rsp + 0x20], 0xff
mov edx, 0x12
mov r9d, edx
mov r8d, edx
lea rcx, [rbp + 0x168]
call fcn.14000b000
movzx ecx, byte [rax + 3]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [r10 + 0x2f0]
cvttss2si ecx, xmm0
movzx r9d, byte [rax + 2]
movzx r8d, byte [rax + 1]
movzx edx, byte [rax]
mov dword [rsp + 0x20], ecx
lea rcx, [rbp + 0x170]
call fcn.14000b000
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x40]
call fcn.1400ec540
mov rbx, rax
mov ecx, dword [rbp + 0x170]
mov dword [rbp + 0x170], ecx
call fcn.140056380
mov r10, rax
lea rdx, [rbp - 0x50]
lea rcx, [rbp + 0x170]
call fcn.140081000
mov rcx, rax
call fcn.140053cc0
movss xmm2, dword [rbx + 4]
addss xmm7, xmm2
movss xmm1, dword [rbx]
movaps xmm0, xmm1
addss xmm0, xmm6
movss dword [rbp - 0x78], xmm0
movss dword [rbp - 0x74], xmm7
movss dword [rbp - 0x30], xmm1
movss dword [rbp - 0x2c], xmm2
mov dword [rsp + 0x28], r15d
movss dword [rsp + 0x20], xmm10
mov r9d, eax
lea r8, [rbp - 0x78]
lea rdx, [rbp - 0x30]
mov rcx, r10
call fcn.140073900
movss dword [rbp - 0x78], xmm6
lea eax, [rsi - 2]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp - 0x74], xmm0
movaps xmm1, xmm9
movss xmm15, dword [0x1401caf0c]
addss xmm1, xmm15
movss xmm12, dword [rbp - 0x60]
movss dword [rbp - 0x30], xmm12
movss dword [rbp - 0x2c], xmm1
mov r8b, 1
lea rdx, [rbp - 0x78]
lea rcx, [rbp - 0x30]
call fcn.140082dc0
xor sil, sil
mov dword [rbp + 0x170], esi
xor r14b, r14b
mov dword [rsp + 0x54], r14d
mov dword [rsp + 0x50], r15d
mov rcx, qword [rdi + 8]
mov rdx, qword [rdi]
mov rax, rcx
sub rax, rdx
sar rax, 5
movss xmm11, dword [0x1401cb01c]
test rax, rax
je 0x14003cbc8
mov r13, r15
nop dword [rax]
nop dword [rax + rax]
sub rcx, rdx
sar rcx, 5
cmp rcx, r13
jbe 0x14003f58b
mov rax, r13
shl rax, 5
mov qword [rbp + 0x190], rax
add rdx, rax
lea rcx, [rbp + 0x1c8]
call fcn.140008b60
nop
lea rsi, [rbp + 0x1c8]
cmp qword [rbp + 0x1e0], 0xf
jbe 0x14003c195
mov rsi, qword [rbp + 0x1c8]
mov rbx, qword [rbp + 0x1d8]
add rbx, rsi
mov rdi, rsi
jmp 0x14003c1aa
lea rbx, [rbp + 0x1c8]
add rbx, qword [rbp + 0x1d8]
lea rdi, [rbp + 0x1c8]
cmp rdi, rbx
je 0x14003c1c5
sub rsi, rdi
movsx ecx, byte [rdi]
call fcn.1401697c8
mov byte [rdi + rsi], al
inc rdi
cmp rdi, rbx
jne 0x14003c1b2
mov rcx, r12
call fcn.140039ad0
mov dword [rbp + 0x10], eax
lea rdx, [rbp + 0x10]
lea rcx, [0x140271cd0]
call fcn.14004a800
mov rdx, rax
lea rcx, [rbp + 0x1a8]
call fcn.140008b60
nop
lea rsi, [rbp + 0x1a8]
mov rax, qword [rbp + 0x1a8]
mov rcx, qword [rbp + 0x1c0]
mov r14, qword [rbp + 0x1b8]
cmp rcx, 0xf
jbe 0x14003c21e
mov rsi, rax
lea rbx, [rax + r14]
mov rdi, rax
jmp 0x14003c22f
lea rbx, [rbp + 0x1a8]
add rbx, r14
lea rdi, [rbp + 0x1a8]
cmp rdi, rbx
je 0x14003c25f
sub rsi, rdi
movsx ecx, byte [rdi]
call fcn.1401697c8
mov byte [rdi + rsi], al
inc rdi
cmp rdi, rbx
jne 0x14003c237
mov rcx, qword [rbp + 0x1c0]
mov r14, qword [rbp + 0x1b8]
mov rax, qword [rbp + 0x1a8]
lea r9, [rbp + 0x1a8]
cmp rcx, 0xf
cmova r9, rax
lea rcx, [rbp + 0x1c8]
cmp qword [rbp + 0x1e0], 0xf
cmova rcx, qword [rbp + 0x1c8]
mov qword [rsp + 0x20], r14
mov rdx, qword [rbp + 0x1d8]
call fcn.14000bfc0
cmp rax, 0xffffffffffffffff
jne 0x14003c2a5
test r14, r14
jne 0x14003cb76
mov rcx, r12
call fcn.140039ad0
mov rbx, rax
mov rdi, qword [rbp + 0x180]
mov rcx, qword [rdi + 8]
mov qword [rbp - 0x50], rcx
mov dword [rbp - 0x48], r15d
mov rax, rdi
cmp byte [rcx + 0x19], 0
jne 0x14003c2fa
mov r12d, 1
mov qword [rbp - 0x50], rcx
cmp qword [rcx + 0x20], rbx
jae 0x14003c2e6
mov dword [rbp - 0x48], r15d
mov rcx, qword [rcx + 0x10]
jmp 0x14003c2f0
mov dword [rbp - 0x48], r12d
mov rax, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], 0
je 0x14003c2d2
mov r12, qword [rbp - 0x58]
cmp byte [rax + 0x19], 0
jne 0x14003c312
cmp rbx, qword [rax + 0x20]
jb 0x14003c312
movabs rsi, 0x3ffffffffffffff
jmp 0x14003c38c
movabs rsi, 0x3ffffffffffffff
cmp qword [rbp + 0x188], rsi
je 0x14003f585
lea rax, [rbp + 0x180]
mov qword [rbp + 0x90], rax
mov qword [rbp + 0x98], r15
mov ecx, 0x40
call fcn.14015d780
nop
mov qword [rax + 0x20], rbx
mov qword [rax + 0x28], r15
mov qword [rax + 0x30], r15
mov qword [rax + 0x38], r15
mov qword [rax], rdi
mov qword [rax + 8], rdi
mov qword [rax + 0x10], rdi
mov word [rax + 0x18], 0
mov qword [rbp + 0x98], r15
movups xmm0, xmmword [rbp - 0x50]
movaps xmmword [rbp - 0x50], xmm0
mov r8, rax
lea rdx, [rbp - 0x50]
lea rcx, [rbp + 0x180]
call fcn.140009ba0
lea rbx, [rax + 0x28]
mov rax, qword [rbp + 0x18]
mov rcx, qword [rax]
mov rax, qword [rax + 8]
sub rax, rcx
sar rax, 5
cmp rax, r13
jbe 0x14003f57f
mov r13, qword [rbp + 0x190]
lea r8, [rcx + r13]
mov rax, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
je 0x14003c3d2
mov rdx, r8
mov rcx, rax
call fcn.140008b60
add qword [rbx + 8], 0x20
jmp 0x14003c3dd
mov rdx, rax
mov rcx, rbx
call fcn.1400267c0
mov rcx, r12
call fcn.140039ad0
mov rbx, rax
mov rdi, qword [rbp + 0x198]
mov rcx, qword [rdi + 8]
mov qword [rbp - 0x50], rcx
mov dword [rbp - 0x48], r15d
mov rax, rdi
cmp byte [rcx + 0x19], 0
jne 0x14003c43a
mov r13d, 1
nop word [rax + rax]
mov qword [rbp - 0x50], rcx
cmp dword [rcx + 0x1c], ebx
jge 0x14003c423
mov dword [rbp - 0x48], r15d
mov rcx, qword [rcx + 0x10]
jmp 0x14003c42d
mov dword [rbp - 0x48], r13d
mov rax, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], 0
je 0x14003c410
mov r13, qword [rbp + 0x190]
cmp byte [rax + 0x19], 0
jne 0x14003c445
cmp ebx, dword [rax + 0x1c]
jge 0x14003c4b6
movabs rax, 0x666666666666666
cmp qword [rbp + 0x1a0], rax
je 0x14003f579
lea rax, [rbp + 0x198]
mov qword [rbp + 0xa0], rax
mov qword [rbp + 0xa8], r15
mov ecx, 0x28
call fcn.14015d780
nop
mov dword [rax + 0x1c], ebx
mov dword [rax + 0x20], r15d
mov qword [rax], rdi
mov qword [rax + 8], rdi
mov qword [rax + 0x10], rdi
mov word [rax + 0x18], 0
mov qword [rbp + 0xa8], r15
movups xmm0, xmmword [rbp - 0x50]
movaps xmmword [rbp - 0x50], xmm0
mov r8, rax
lea rdx, [rbp - 0x50]
lea rcx, [rbp + 0x198]
call fcn.140009ba0
add dword [rax + 0x20], 0x14
mov rcx, r12
call fcn.140039ad0
mov rbx, rax
mov rdi, qword [rbp + 0x180]
mov rcx, qword [rdi + 8]
mov qword [rbp - 0x50], rcx
mov dword [rbp - 0x48], r15d
mov rax, rdi
cmp byte [rcx + 0x19], 0
jne 0x14003c51b
mov r13d, 1
nop word [rax + rax]
mov qword [rbp - 0x50], rcx
cmp qword [rcx + 0x20], rbx
jae 0x14003c504
mov dword [rbp - 0x48], r15d
mov rcx, qword [rcx + 0x10]
jmp 0x14003c50e
mov dword [rbp - 0x48], r13d
mov rax, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], 0
je 0x14003c4f0
mov r13, qword [rbp + 0x190]
cmp byte [rax + 0x19], 0
jne 0x14003c527
cmp rbx, qword [rax + 0x20]
jae 0x14003c597
cmp qword [rbp + 0x188], rsi
je 0x14003f573
lea rax, [rbp + 0x180]
mov qword [rbp + 0xb0], rax
mov qword [rbp + 0xb8], r15
mov ecx, 0x40
call fcn.14015d780
nop
mov qword [rax + 0x20], rbx
mov qword [rax + 0x28], r15
mov qword [rax + 0x30], r15
mov qword [rax + 0x38], r15
mov qword [rax], rdi
mov qword [rax + 8], rdi
mov qword [rax + 0x10], rdi
mov word [rax + 0x18], 0
mov qword [rbp + 0xb8], r15
movups xmm0, xmmword [rbp - 0x50]
movaps xmmword [rbp - 0x50], xmm0
mov r8, rax
lea rdx, [rbp - 0x50]
lea rcx, [rbp + 0x180]
call fcn.140009ba0
mov r14, qword [rax + 0x30]
sub r14, qword [rax + 0x28]
sar r14, 5
mov rcx, r12
call fcn.140039ad0
mov rdi, rax
mov rcx, r12
call fcn.140039ad0
mov dword [rbp + 0x14], eax
mov rsi, qword [rbp + 0x198]
mov rcx, qword [rsi + 8]
mov qword [rbp - 0x50], rcx
mov dword [rbp - 0x48], r15d
mov rbx, rsi
cmp byte [rcx + 0x19], 0
jne 0x14003c60a
mov r13d, 1
nop dword [rax + rax]
mov qword [rbp - 0x50], rcx
cmp dword [rcx + 0x1c], edi
jge 0x14003c5f3
mov dword [rbp - 0x48], r15d
mov rcx, qword [rcx + 0x10]
jmp 0x14003c5fd
mov dword [rbp - 0x48], r13d
mov rbx, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], 0
je 0x14003c5e0
mov r13, qword [rbp + 0x190]
cmp byte [rbx + 0x19], 0
jne 0x14003c615
cmp edi, dword [rbx + 0x1c]
jge 0x14003c689
movabs rax, 0x666666666666666
cmp qword [rbp + 0x1a0], rax
je 0x14003f56d
lea rax, [rbp + 0x198]
mov qword [rbp + 0x1f0], rax
mov qword [rbp + 0x1f8], r15
mov ecx, 0x28
call fcn.14015d780
nop
mov dword [rax + 0x1c], edi
mov dword [rax + 0x20], r15d
mov qword [rax], rsi
mov qword [rax + 8], rsi
mov qword [rax + 0x10], rsi
mov word [rax + 0x18], 0
mov qword [rbp + 0x1f8], r15
movups xmm0, xmmword [rbp - 0x50]
movaps xmmword [rbp - 0x50], xmm0
mov r8, rax
lea rdx, [rbp - 0x50]
lea rcx, [rbp + 0x198]
call fcn.140009ba0
mov rbx, rax
lea rdx, [rbp + 0x14]
call fcn.14004a960
movd xmm2, dword [rbx + 0x20]
cvtdq2ps xmm2, xmm2
addss xmm2, dword [rax]
addss xmm2, xmm9
movaps xmm0, xmm12
addss xmm0, xmm10
movss dword [rbp - 0x30], xmm0
movss dword [rbp - 0x2c], xmm2
movsxd rax, dword [rbp + 0x2f0]
cmp rax, r14
sbb ecx, ecx
and ecx, 6
mov eax, dword [rbp - 0x70]
sub eax, ecx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp - 0x78], xmm0
mov dword [rbp - 0x74], 0x41a00000
movaps xmm1, xmm9
subss xmm1, xmm11
comiss xmm2, xmm1
setae cl
addss xmm2, xmm11
mov eax, dword [rbp - 0x6c]
add eax, 0xffffffec
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movaps xmm0, xmm9
addss xmm0, xmm11
addss xmm1, xmm0
comiss xmm1, xmm2
setae al
test cl, cl
je 0x14003cb4c
test al, al
je 0x14003cb4c
cmp byte [rsp + 0x59], 0
je 0x14003c8ec
call fcn.1400ec4d0
mov r9, rax
mov qword [rbp + 0x78], 0x40c00000
lea r8, [rbp + 0x78]
lea rdx, [rbp + 0x120]
lea rcx, [rbp - 0x78]
call fcn.1400ec5e0
mov r8, rax
lea rdx, [rbp - 0x30]
lea rcx, [rbp + 0x128]
call fcn.1400ec540
mov rdx, rax
mov rcx, r9
call fcn.1400ec460
test al, al
je 0x14003c8ec
cmp byte [rsp + 0x58], 0
jne 0x14003c8ec
call fcn.1400ec4d0
mov r9, rax
mov r10, qword [0x140273d10]
lea rdx, [r10 + 0x238]
lea rcx, [rbp + 0x130]
call fcn.1400ec540
mov r8, rax
lea rdx, [r10 + 0x230]
lea rcx, [rbp + 0x138]
call fcn.1400ec540
mov rdx, rax
mov rcx, r9
call fcn.1400ec460
test al, al
je 0x14003c8f3
cmp qword [r10 + 0x260], 0
jne 0x14003c8f3
mov dword [rsp + 0x20], 0xff
mov edx, 0x12
mov r9d, edx
mov r8d, edx
lea rcx, [rbp + 0x84]
call fcn.14000b000
movzx ecx, byte [rax + 3]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [r10 + 0x2f0]
cvttss2si ecx, xmm0
movzx r9d, byte [rax + 2]
movzx r8d, byte [rax + 1]
movzx edx, byte [rax]
mov dword [rsp + 0x20], ecx
lea rcx, [rbp]
call fcn.14000b000
lea rdx, [rbp - 0x78]
lea rcx, [rbp + 0x140]
call fcn.1400ec540
mov rdi, rax
lea rdx, [rbp - 0x30]
lea rcx, [rbp + 0x148]
call fcn.1400ec540
mov rbx, rax
mov ecx, dword [rbp]
mov dword [rbp + 0x190], ecx
call fcn.140056380
mov r10, rax
lea rdx, [rbp + 0x58]
lea rcx, [rbp + 0x190]
call fcn.140081000
mov rcx, rax
call fcn.140053cc0
movss xmm3, dword [rbx + 4]
movaps xmm2, xmm3
addss xmm2, dword [rdi + 4]
movss xmm1, dword [rbx]
movaps xmm0, xmm1
addss xmm0, dword [rdi]
movss dword [rbp + 0x38], xmm0
movss dword [rbp + 0x3c], xmm2
movss dword [rbp + 0x40], xmm1
movss dword [rbp + 0x44], xmm3
mov dword [rsp + 0x28], r15d
movss dword [rsp + 0x20], xmm10
mov r9d, eax
lea r8, [rbp + 0x38]
lea rdx, [rbp + 0x40]
mov rcx, r10
call fcn.140073900
call fcn.1400ec4d0
mov edx, 1
call fcn.1400ec4a0
test al, al
je 0x14003c8ec
mov eax, dword [rsp + 0x50]
mov r10, qword [rbp + 0x48]
mov dword [r10], eax
mov r10, qword [0x140273d10]
jmp 0x14003c8f7
mov r10, qword [0x140273d10]
mov eax, dword [rsp + 0x50]
mov rcx, qword [rbp + 0x48]
mov dword [rsp + 0x20], 0xff
cmp dword [rcx], eax
je 0x14003c9b7
mov edx, 0xc8
mov r9d, edx
mov r8d, edx
lea rcx, [rbp + 0x28]
call fcn.14000b000
movzx ecx, byte [rax + 3]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [r10 + 0x2f0]
cvttss2si ecx, xmm0
movzx r9d, byte [rax + 2]
movzx r8d, byte [rax + 1]
movzx edx, byte [rax]
mov dword [rsp + 0x20], ecx
lea rcx, [rbp - 0x68]
call fcn.14000b000
mov dword [rbp + 0x50], 0x41200000
mov dword [rbp + 0x54], 0x40800000
lea r8, [rbp + 0x50]
lea rdx, [rbp + 0x150]
lea rcx, [rbp - 0x30]
call fcn.1400ec5b0
mov rbx, rax
mov rcx, qword [rbp + 0x18]
mov rcx, qword [rcx]
add rcx, r13
call fcn.140010830
mov rdx, rax
lea rcx, [rbp - 0x50]
call fcn.140008b20
mov dword [rsp + 0x20], r15d
xor r9d, r9d
mov r8d, dword [rbp - 0x68]
mov rdx, rbx
mov rcx, rax
call fcn.140082420
mov edi, dword [rsp + 0x54]
mov ebx, dword [rbp + 0x170]
jmp 0x14003cb6c
mov edx, 0x12
mov r9d, edx
mov r8d, edx
lea rcx, [rbp - 0x80]
call fcn.14000b000
movzx ecx, byte [rax + 3]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [r10 + 0x2f0]
cvttss2si ecx, xmm0
movzx r9d, byte [rax + 2]
movzx r8d, byte [rax + 1]
movzx edx, byte [rax]
mov dword [rsp + 0x20], ecx
lea rcx, [rsp + 0x60]
call fcn.14000b000
lea rdx, [rbp - 0x78]
lea rcx, [rbp + 0x158]
call fcn.1400ec540
mov rdi, rax
lea rdx, [rbp - 0x30]
lea rcx, [rbp + 8]
call fcn.1400ec540
mov rbx, rax
mov ecx, dword [rsp + 0x60]
mov dword [rbp + 0x190], ecx
call fcn.140056380
mov r10, rax
lea rdx, [rbp - 0x28]
lea rcx, [rbp + 0x190]
call fcn.140081000
mov rcx, rax
call fcn.140053cc0
movss xmm3, dword [rbx + 4]
movaps xmm2, xmm3
addss xmm2, dword [rdi + 4]
movss xmm1, dword [rbx]
movaps xmm0, xmm1
addss xmm0, dword [rdi]
movss dword [rbp + 0x20], xmm0
movss dword [rbp + 0x24], xmm2
movss dword [rsp + 0x48], xmm1
movss dword [rsp + 0x4c], xmm3
mov dword [rsp + 0x28], r15d
movss dword [rsp + 0x20], xmm10
mov r9d, eax
lea r8, [rbp + 0x20]
lea rdx, [rsp + 0x48]
mov rcx, r10
call fcn.140073900
mov rax, qword [0x140273d10]
mov rdx, qword [0x1402723e8]
movzx ecx, byte [rdx + 3]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [rax + 0x2f0]
cvttss2si eax, xmm0
movzx r9d, byte [rdx + 2]
movzx r8d, byte [rdx + 1]
movzx edx, byte [rdx]
mov dword [rsp + 0x20], eax
lea rcx, [rbp + 0x168]
call fcn.14000b000
mov dword [rsp + 0x40], 0x41200000
mov dword [rsp + 0x44], 0x40800000
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x70]
lea rcx, [rbp - 0x30]
call fcn.1400ec5b0
mov rbx, rax
mov rcx, qword [rbp + 0x18]
mov rcx, qword [rcx]
add rcx, r13
call fcn.140010830
mov rdx, rax
lea rcx, [rbp - 0x50]
call fcn.140008b20
mov dword [rsp + 0x20], r15d
xor r9d, r9d
mov r8d, dword [rbp + 0x168]
mov rdx, rbx
mov rcx, rax
call fcn.140082420
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x54], eax
mov eax, dword [rbp + 0x170]
mov dword [rbp + 0x170], eax
jmp 0x14003cb76
mov ebx, dword [rbp + 0x170]
movzx ebx, bl
test al, al
mov eax, 1
cmove ebx, eax
mov edi, dword [rsp + 0x54]
movzx edi, dil
test cl, cl
cmove edi, eax
mov dword [rsp + 0x54], edi
mov dword [rbp + 0x170], ebx
lea rcx, [rbp + 0x1a8]
call fcn.140008e00
nop
lea rcx, [rbp + 0x1c8]
call fcn.140008e00
mov r8d, dword [rsp + 0x50]
inc r8d
mov dword [rsp + 0x50], r8d
mov rdi, qword [rbp + 0x18]
mov rcx, qword [rdi + 8]
mov rdx, qword [rdi]
mov rax, rcx
sub rax, rdx
sar rax, 5
movsxd r13, r8d
cmp r13, rax
jb 0x14003c140
mov esi, dword [rbp + 0x170]
mov r14d, dword [rsp + 0x54]
mov rax, qword [0x1402718d8]
mov rax, qword [rax + 0x48b8]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.1400561d0
mov rdx, rax
mov eax, dword [rax + 0x58]
sub eax, 1
mov dword [rdx + 0x58], eax
jne 0x14003cc02
mov rcx, qword [rdx + 0x38]
add rcx, 0x1c
jmp 0x14003cc0f
dec eax
movsxd rcx, eax
shl rcx, 4
add rcx, qword [rdx + 0x60]
movups xmm0, xmmword [rcx]
movups xmmword [rdx + 0x88], xmm0
mov rcx, rdx
call fcn.140070d50
mov rax, 0xffffffffffffffff
mov dword [rsp + 0x54], eax
mov dword [rsp + 0x50], eax
mov r8, qword [r12 + 0x10]
mov rdx, r12
cmp qword [r12 + 0x18], 0xf
jbe 0x14003cc44
mov rdx, qword [r12]
movabs r13, 0xcbf29ce484222325
mov rbx, r13
mov rcx, r15
movabs r9, 0x100000001b3
test r8, r8
je 0x14003cc83
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
xor rbx, rax
imul rbx, r9
inc rcx
cmp rcx, r8
jb 0x14003cc70
mov rdi, qword [rbp + 0x180]
mov rax, qword [rdi + 8]
mov qword [rbp - 0x28], rax
mov dword [rbp - 0x20], r15d
mov rdx, rdi
cmp byte [rax + 0x19], 0
jne 0x14003ccc7
nop
mov qword [rbp - 0x28], rax
cmp qword [rax + 0x20], rbx
jae 0x14003ccb4
mov dword [rbp - 0x20], r15d
mov rax, qword [rax + 0x10]
jmp 0x14003ccc1
mov dword [rbp - 0x20], 1
mov rdx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x14003cca0
cmp byte [rdx + 0x19], 0
jne 0x14003ccd3
cmp rbx, qword [rdx + 0x20]
jae 0x14003cd4a
movabs rax, 0x3ffffffffffffff
cmp qword [rbp + 0x188], rax
je 0x14003f591
lea rax, [rbp + 0x180]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], r15
mov ecx, 0x40
call fcn.14015d780
nop
mov qword [rax + 0x20], rbx
mov qword [rax + 0x28], r15
mov qword [rax + 0x30], r15
mov qword [rax + 0x38], r15
mov qword [rax], rdi
mov qword [rax + 8], rdi
mov qword [rax + 0x10], rdi
mov word [rax + 0x18], 0
movups xmm0, xmmword [rbp - 0x28]
movaps xmmword [rbp - 0x50], xmm0
mov r8, rax
lea rdx, [rbp - 0x50]
lea rcx, [rbp + 0x180]
call fcn.140009ba0
mov rdx, rax
mov rdi, qword [rbp + 0x180]
mov rcx, qword [rdx + 0x30]
sub rcx, qword [rdx + 0x28]
sar rcx, 5
movsxd rax, dword [rbp + 0x2f0]
movss xmm6, dword [0x1401caf40]
cmp rcx, rax
jbe 0x14003d21f
mov rcx, r12
call fcn.140039ad0
mov rbx, rax
mov rcx, qword [rdi + 8]
mov qword [rbp - 0x28], rcx
mov dword [rbp - 0x20], r15d
mov rax, rdi
cmp byte [rcx + 0x19], 0
jne 0x14003cdbc
mov esi, 1
mov qword [rbp - 0x28], rcx
cmp qword [rcx + 0x20], rbx
jae 0x14003cda7
mov dword [rbp - 0x20], r15d
mov rcx, qword [rcx + 0x10]
jmp 0x14003cdb0
mov dword [rbp - 0x20], esi
mov rax, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], 0
je 0x14003cd93
mov esi, dword [rbp + 0x170]
cmp byte [rax + 0x19], 0
jne 0x14003cdc8
cmp rbx, qword [rax + 0x20]
jae 0x14003ce3c
movabs rax, 0x3ffffffffffffff
cmp qword [rbp + 0x188], rax
je 0x14003f597
lea rax, [rbp + 0x180]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], r15
mov ecx, 0x40
call fcn.14015d780
nop
mov qword [rax + 0x20], rbx
mov qword [rax + 0x28], r15
mov qword [rax + 0x30], r15
mov qword [rax + 0x38], r15
mov qword [rax], rdi
mov qword [rax + 8], rdi
mov qword [rax + 0x10], rdi
mov word [rax + 0x18], 0
movups xmm0, xmmword [rbp - 0x28]
movaps xmmword [rbp - 0x50], xmm0
mov r8, rax
lea rdx, [rbp - 0x50]
lea rcx, [rbp + 0x180]
call fcn.140009ba0
mov rdi, qword [rbp + 0x180]
mov rdx, qword [rax + 0x30]
sub rdx, qword [rax + 0x28]
sar rdx, 5
mov eax, dword [rbp - 0x6c]
add eax, 0x14
movd xmm2, eax
cvtdq2ps xmm2, xmm2
inc rdx
lea rdx, [rdx + rdx*4]
shl rdx, 2
xorps xmm1, xmm1
test rdx, rdx
js 0x14003ce6f
cvtsi2ss xmm1, rdx
jmp 0x14003ce84
mov rax, rdx
shr rax, 1
and edx, 1
or rax, rdx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
movaps xmm0, xmm2
divss xmm0, xmm1
mulss xmm0, xmm2
cvttss2si eax, xmm0
mov dword [rsp + 0x54], eax
mov r8, qword [r12 + 0x10]
mov r9, r12
mov r10, qword [r12 + 0x18]
cmp r10, 0xf
jbe 0x14003ceae
mov r9, qword [r12]
mov rcx, r13
mov rdx, r15
movabs r11, 0x100000001b3
test r8, r8
je 0x14003cee4
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rdx + r9]
xor rcx, rax
imul rcx, r11
inc rdx
cmp rdx, r8
jb 0x14003ced0
mov dword [rbp + 0x168], ecx
mov rdx, r12
cmp r10, 0xf
jbe 0x14003cef7
mov rdx, qword [r12]
mov rbx, r13
mov rcx, r15
test r8, r8
je 0x14003cf15
movzx eax, byte [rcx + rdx]
xor rbx, rax
imul rbx, r11
inc rcx
cmp rcx, r8
jb 0x14003cf02
mov rax, qword [rdi + 8]
mov qword [rbp - 0x28], rax
mov dword [rbp - 0x20], r15d
mov rcx, rdi
cmp byte [rax + 0x19], 0
jne 0x14003cf57
nop word [rax + rax]
mov qword [rbp - 0x28], rax
cmp qword [rax + 0x20], rbx
jae 0x14003cf44
mov dword [rbp - 0x20], r15d
mov rax, qword [rax + 0x10]
jmp 0x14003cf51
mov dword [rbp - 0x20], 1
mov rcx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x14003cf30
cmp byte [rcx + 0x19], 0
jne 0x14003cf63
cmp rbx, qword [rcx + 0x20]
jae 0x14003cfd3
movabs rax, 0x3ffffffffffffff
cmp qword [rbp + 0x188], rax
je 0x14003f59d
lea rax, [rbp + 0x180]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], r15
mov ecx, 0x40
call fcn.14015d780
nop
mov qword [rax + 0x20], rbx
mov qword [rax + 0x28], r15
mov qword [rax + 0x30], r15
mov qword [rax + 0x38], r15
mov qword [rax], rdi
mov qword [rax + 8], rdi
mov qword [rax + 0x10], rdi
mov word [rax + 0x18], 0
movups xmm0, xmmword [rbp - 0x28]
movaps xmmword [rbp - 0x50], xmm0
mov r8, rax
lea rdx, [rbp - 0x50]
lea rcx, [rbp + 0x180]
call fcn.140009ba0
mov rcx, rax
mov rbx, qword [rcx + 0x30]
sub rbx, qword [rcx + 0x28]
sar rbx, 5
lea rdx, [rbp + 0x168]
call fcn.14004a960
movss xmm1, dword [rax]
movss xmm7, dword [0x1401cb910]
xorps xmm1, xmm7
lea rcx, [rbx + rbx*4]
shl rcx, 2
xorps xmm0, xmm0
test rcx, rcx
js 0x14003d011
cvtsi2ss xmm0, rcx
jmp 0x14003d026
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
divss xmm1, xmm0
mov edi, dword [rbp + 0x2f0]
lea eax, [rdi + rdi*4]
shl eax, 2
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm0
comiss xmm1, xmm6
jbe 0x14003d0d1
mov rcx, r12
call fcn.140039ad0
mov dword [rsp + 0x60], eax
mov rcx, r12
call fcn.140039ad0
mov qword [rbp - 0x58], rax
lea rdx, [rbp - 0x58]
lea rcx, [rbp + 0x180]
call fcn.14004a500
mov rbx, qword [rax + 8]
sub rbx, qword [rax]
sar rbx, 5
lea rdx, [rsp + 0x60]
call fcn.14004a960
movss xmm1, dword [rax]
xorps xmm1, xmm7
lea rcx, [rbx + rbx*4]
shl rcx, 2
xorps xmm0, xmm0
test rcx, rcx
js 0x14003d0a5
cvtsi2ss xmm0, rcx
jmp 0x14003d0ba
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
divss xmm1, xmm0
lea eax, [rdi + rdi*4]
shl eax, 2
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm0
jmp 0x14003d0d4
movaps xmm1, xmm6
lea eax, [rdi + rdi*4]
shl eax, 2
sub eax, dword [rsp + 0x54]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm0, xmm6
comiss xmm0, xmm1
jbe 0x14003d20d
mov rcx, r12
call fcn.140039ad0
mov dword [rbp - 0x68], eax
mov rcx, r12
call fcn.140039ad0
mov qword [rsp + 0x40], rax
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x180]
call fcn.14004a500
mov rbx, qword [rax + 8]
sub rbx, qword [rax]
sar rbx, 5
lea rdx, [rbp - 0x68]
call fcn.14004a960
movss xmm1, dword [rax]
xorps xmm1, xmm7
lea rcx, [rbx + rbx*4]
shl rcx, 2
xorps xmm0, xmm0
test rcx, rcx
js 0x14003d14d
cvtsi2ss xmm0, rcx
jmp 0x14003d162
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
divss xmm1, xmm0
lea eax, [rdi + rdi*4]
shl eax, 2
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm0
comiss xmm1, xmm6
jbe 0x14003d210
mov rcx, r12
call fcn.140039ad0
mov dword [rbp + 0x190], eax
mov rcx, r12
call fcn.140039ad0
mov qword [rsp + 0x48], rax
lea rdx, [rsp + 0x48]
lea rcx, [rbp + 0x180]
call fcn.14004a500
mov rbx, qword [rax + 8]
sub rbx, qword [rax]
sar rbx, 5
lea rdx, [rbp + 0x190]
call fcn.14004a960
movss xmm6, dword [rax]
xorps xmm6, xmm7
lea rcx, [rbx + rbx*4]
shl rcx, 2
xorps xmm0, xmm0
test rcx, rcx
js 0x14003d1e1
cvtsi2ss xmm0, rcx
jmp 0x14003d1f6
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
divss xmm6, xmm0
lea eax, [rdi + rdi*4]
shl eax, 2
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm6, xmm0
jmp 0x14003d210
movaps xmm6, xmm0
cvttss2si eax, xmm6
mov dword [rsp + 0x50], eax
mov rdi, qword [rbp + 0x180]
movabs rax, 0x7fffffffffffffff
lea rdx, [0x1401bef70]
cmp byte [rsp + 0x59], 0
jne 0x14003d2f1
mov rcx, qword [r12 + 0x10]
sub rax, rcx
cmp rax, 1
jb 0x14003f5a3
mov r9, r12
cmp qword [r12 + 0x18], 0xf
jbe 0x14003d25c
mov r9, qword [r12]
mov eax, 1
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rcx
lea rcx, [rbp + 0xf0]
call fcn.140039850
nop
mov eax, 0x11
mov dword [rsp + 0x5c], eax
lea r8, [rbp + 0xf0]
cmp qword [rbp + 0x108], 0xf
cmova r8, qword [rbp + 0xf0]
mov rcx, r13
mov rdx, r15
mov r9, qword [rbp + 0x100]
movabs r10, 0x100000001b3
test r9, r9
je 0x14003d2d4
nop dword [rax]
movzx eax, byte [r8 + rdx]
xor rcx, rax
imul rcx, r10
inc rdx
cmp rdx, r9
jb 0x14003d2c0
mov rax, qword [0x140273d10]
cmp qword [rax + 0x260], rcx
jne 0x14003d41f
mov rdi, qword [rbp + 0x180]
jmp 0x14003d2fb
movabs r10, 0x100000001b3
mov r8, qword [r12 + 0x10]
mov rdx, r12
cmp qword [r12 + 0x18], 0xf
jbe 0x14003d30f
mov rdx, qword [r12]
mov rbx, r13
mov rcx, r15
test r8, r8
je 0x14003d333
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
xor rbx, rax
imul rbx, r10
inc rcx
cmp rcx, r8
jb 0x14003d320
mov rax, qword [rdi + 8]
mov qword [rbp - 0x28], rax
mov dword [rbp - 0x20], r15d
mov rdx, rdi
cmp byte [rax + 0x19], 0
jne 0x14003d377
nop dword [rax + rax]
mov qword [rbp - 0x28], rax
cmp qword [rax + 0x20], rbx
jae 0x14003d364
mov dword [rbp - 0x20], r15d
mov rax, qword [rax + 0x10]
jmp 0x14003d371
mov dword [rbp - 0x20], 1
mov rdx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x14003d350
cmp byte [rdx + 0x19], 0
jne 0x14003d383
cmp rbx, qword [rdx + 0x20]
jae 0x14003d3f3
movabs rax, 0x3ffffffffffffff
cmp qword [rbp + 0x188], rax
je 0x14003f5a9
lea rax, [rbp + 0x180]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], r15
mov ecx, 0x40
call fcn.14015d780
nop
mov qword [rax + 0x20], rbx
mov qword [rax + 0x28], r15
mov qword [rax + 0x30], r15
mov qword [rax + 0x38], r15
mov qword [rax], rdi
mov qword [rax + 8], rdi
mov qword [rax + 0x10], rdi
mov word [rax + 0x18], 0
movups xmm0, xmmword [rbp - 0x28]
movaps xmmword [rbp - 0x50], xmm0
mov r8, rax
lea rdx, [rbp - 0x50]
lea rcx, [rbp + 0x180]
call fcn.140009ba0
mov rdx, rax
mov rcx, qword [rdx + 0x30]
sub rcx, qword [rdx + 0x28]
sar rcx, 5
movsxd rax, dword [rbp + 0x2f0]
mov edi, dword [rsp + 0x50]
cmp rcx, rax
jbe 0x14003d423
cmp dword [rsp + 0x54], 0xffffffff
je 0x14003d423
cmp edi, 0xffffffff
je 0x14003d423
mov bl, 1
jmp 0x14003d425
mov edi, dword [rsp + 0x50]
xor bl, bl
mov eax, dword [rsp + 0x5c]
test al, 1
je 0x14003d440
and eax, 0xfffffffe
mov dword [rsp + 0x5c], eax
lea rcx, [rbp + 0xf0]
call fcn.140008e00
mov rax, qword [0x140273d10]
test bl, bl
je 0x14003dad6
cmp qword [rax + 0x260], 0
jne 0x14003d4ef
call fcn.1400ec4d0
mov rax, qword [0x1402718d8]
movss xmm0, dword [rax + 0xe10]
comiss xmm0, xmm10
jbe 0x14003d49c
mov rcx, r12
call fcn.140039ad0
mov dword [rbp + 0x168], eax
lea rdx, [rbp + 0x168]
call fcn.14004a960
movss xmm6, dword [rax]
addss xmm6, xmm11
jmp 0x14003d4d5
call fcn.1400ec4d0
mov rax, qword [0x1402718d8]
comiss xmm10, dword [rax + 0xe10]
jbe 0x14003d4ef
mov rcx, r12
call fcn.140039ad0
mov dword [rbp + 0x168], eax
lea rdx, [rbp + 0x168]
call fcn.14004a960
movss xmm6, dword [rax]
subss xmm6, xmm11
mov rcx, r12
call fcn.140039ad0
mov dword [rsp + 0x60], eax
lea rdx, [rsp + 0x60]
call fcn.14004a960
movss dword [rax], xmm6
call fcn.1400ec4d0
movd xmm4, dword [rsp + 0x54]
cvtdq2ps xmm4, xmm4
mov ecx, dword [rbp - 0x70]
add ecx, 0xfffffffb
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
lea ecx, [rdi + 1]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movaps xmm2, xmm9
addss xmm2, xmm0
movaps xmm0, xmm12
addss xmm0, xmm1
movss xmm3, dword [rax]
comiss xmm3, xmm0
jbe 0x14003d551
movss xmm1, dword [rax + 4]
comiss xmm1, xmm2
jbe 0x14003d551
addss xmm0, dword [0x1401caf88]
comiss xmm0, xmm3
jbe 0x14003d551
addss xmm2, xmm4
comiss xmm2, xmm1
jbe 0x14003d551
mov bl, 1
jmp 0x14003d553
xor bl, bl
cmp qword [0x140272c18], 0
jne 0x14003d57a
mov ecx, 8
call fcn.14015d780
mov qword [rsp + 0x70], rax
mov qword [rax], r15
mov dword [rax + 4], r15d
mov qword [0x140272c18], rax
mov rax, qword [0x140273d10]
cmp qword [rax + 0x260], 0
jne 0x14003d5e1
test bl, bl
je 0x14003d89d
call fcn.1400ec4d0
mov edx, 1
call fcn.1400ec3d0
test al, al
je 0x14003d89d
lea r8, [0x1401bef70]
mov rdx, r12
lea rcx, [rbp - 0x28]
call fcn.14003b8b0
mov rcx, rax
call fcn.140039ad0
mov rcx, qword [0x140273d10]
mov qword [rcx + 0x260], rax
lea rcx, [rbp - 0x28]
call fcn.140008e00
jmp 0x14003d89d
lea r8, [0x1401bef70]
mov rdx, r12
lea rcx, [rbp - 0x28]
call fcn.14003b8b0
mov rcx, rax
call fcn.140039ad0
mov rdi, rax
mov rcx, qword [0x140273d10]
mov rbx, qword [rcx + 0x260]
lea rcx, [rbp - 0x28]
call fcn.140008e00
cmp rbx, rdi
jne 0x14003d89d
call fcn.1400ec4d0
mov edx, 1
call fcn.1400ec3d0
test al, al
je 0x14003d885
mov eax, dword [rbp + 0x2f0]
lea ebx, [rax + rax*4]
shl ebx, 2
mov rcx, r12
call fcn.140039ad0
mov qword [rbp - 0x58], rax
lea rdx, [rbp - 0x58]
lea rcx, [rbp + 0x180]
call fcn.14004a500
mov rdx, qword [rax + 8]
sub rdx, qword [rax]
sar rdx, 5
lea ecx, [rbx - 0x18]
mov eax, ecx
imul eax, ebx
movd xmm6, eax
cvtdq2ps xmm6, xmm6
movsxd rdi, ecx
lea rax, [rdx + rdx*4]
lea rcx, [rdi + rax*4]
xorps xmm1, xmm1
test rcx, rcx
js 0x14003d692
cvtsi2ss xmm1, rcx
jmp 0x14003d6a7
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
movaps xmm0, xmm6
divss xmm0, xmm1
movss xmm2, dword [0x1401cb058]
comiss xmm0, xmm2
jbe 0x14003d71a
mov rcx, r12
call fcn.140039ad0
mov qword [rsp + 0x40], rax
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x180]
call fcn.14004a500
mov rcx, qword [rax + 8]
sub rcx, qword [rax]
sar rcx, 5
lea rax, [rcx + rcx*4]
lea rcx, [rdi + rax*4]
xorps xmm0, xmm0
test rcx, rcx
js 0x14003d6ff
cvtsi2ss xmm0, rcx
divss xmm6, xmm0
jmp 0x14003d71d
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
divss xmm6, xmm0
jmp 0x14003d71d
movaps xmm6, xmm2
mov rax, qword gs:[0x58]
mov rdi, qword [rax]
mov eax, 4
mov eax, dword [rax + rdi]
cmp dword [0x140276bd8], eax
jle 0x14003d765
lea rcx, [0x140276bd8]
call fcn.14015dba8
cmp dword [0x140276bd8], 0xffffffff
jne 0x14003d765
mov qword [0x140276bc8], 0
lea rcx, [0x140276bd8]
call fcn.14015db3c
mov eax, 4
mov eax, dword [rax + rdi]
cmp dword [0x140276bf8], eax
jle 0x14003d7a1
lea rcx, [0x140276bf8]
call fcn.14015dba8
cmp dword [0x140276bf8], 0xffffffff
jne 0x14003d7a1
mov qword [0x140276be0], 0
lea rcx, [0x140276bf8]
call fcn.14015db3c
call fcn.1400ec4d0
mov rdx, rax
lea rcx, [rbp - 0x58]
call fcn.1400ec540
lea r8, [rbp - 0x58]
lea rdx, [rsp + 0x70]
lea rcx, [0x140276bc8]
call fcn.1400ec5e0
movss xmm3, dword [rax + 4]
movss xmm2, dword [rax]
movss dword [0x140276be0], xmm2
movss dword [0x140276be4], xmm3
mov rcx, r12
call fcn.140039ad0
mov qword [rsp + 0x40], rax
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x180]
call fcn.14004a500
mov rcx, qword [rax + 8]
sub rcx, qword [rax]
sar rcx, 5
lea eax, [rcx + rcx*4]
shl eax, 2
cvttss2si edx, dword [0x140276be4]
movd xmm0, ebx
cvtdq2ps xmm0, xmm0
subss xmm0, xmm6
cvttss2si r9d, xmm0
mov dword [rsp + 0x28], eax
call fcn.14003f5d0
movaps xmm6, xmm0
mov rcx, r12
call fcn.140039ad0
mov dword [rbp + 0x168], eax
lea rdx, [rbp + 0x168]
call fcn.14004a960
addss xmm6, dword [rax]
movss dword [rax], xmm6
call fcn.1400ec4d0
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.1400ec540
movss xmm1, dword [rsp + 0x40]
movss dword [0x140276bc8], xmm1
movss xmm2, dword [rsp + 0x44]
movss dword [0x140276bcc], xmm2
jmp 0x14003d89d
mov dword [0x140272bd0], 0
mov rax, qword [0x140273d10]
mov qword [rax + 0x260], r15
cmp qword [0x140272c18], 0
jne 0x14003d8c4
mov ecx, 8
call fcn.14015d780
mov qword [rsp + 0x70], rax
mov qword [rax], r15
mov dword [rax + 4], r15d
mov qword [0x140272c18], rax
mov rax, qword [0x140272c18]
movss xmm0, dword [rax + 4]
movss dword [0x140272bd0], xmm0
mov rax, qword [0x140273d10]
mov byte [rax + 0x2ec], 1
mov dword [rbp + 0x190], r15d
mov r8, qword [r12 + 0x10]
mov rdx, r12
cmp qword [r12 + 0x18], 0xf
jbe 0x14003d901
mov rdx, qword [r12]
mov rbx, r13
mov rcx, r15
test r8, r8
je 0x14003d939
movabs rsi, 0x100000001b3
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
xor rbx, rax
imul rbx, rsi
inc rcx
cmp rcx, r8
jb 0x14003d920
mov esi, dword [rbp + 0x170]
mov rdi, qword [rbp + 0x180]
mov rax, qword [rdi + 8]
mov qword [rbp - 0x28], rax
mov dword [rbp - 0x20], r15d
mov rdx, rdi
cmp byte [rax + 0x19], 0
jne 0x14003d97c
mov qword [rbp - 0x28], rax
cmp qword [rax + 0x20], rbx
jae 0x14003d969
mov dword [rbp - 0x20], r15d
mov rax, qword [rax + 0x10]
jmp 0x14003d976
mov dword [rbp - 0x20], 1
mov rdx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x14003d955
cmp byte [rdx + 0x19], 0
jne 0x14003d988
cmp rbx, qword [rdx + 0x20]
jae 0x14003d9f8
movabs rax, 0x3ffffffffffffff
cmp qword [rbp + 0x188], rax
je 0x14003f5af
lea rax, [rbp + 0x180]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], r15
mov ecx, 0x40
call fcn.14015d780
nop
mov qword [rax + 0x20], rbx
mov qword [rax + 0x28], r15
mov qword [rax + 0x30], r15
mov qword [rax + 0x38], r15
mov qword [rax], rdi
mov qword [rax + 8], rdi
mov qword [rax + 0x10], rdi
mov word [rax + 0x18], 0
movups xmm0, xmmword [rbp - 0x28]
movaps xmmword [rbp - 0x50], xmm0
mov r8, rax
lea rdx, [rbp - 0x50]
lea rcx, [rbp + 0x180]
call fcn.140009ba0
mov rdx, rax
mov rcx, qword [rdx + 0x30]
sub rcx, qword [rdx + 0x28]
sar rcx, 5
mov eax, dword [rbp + 0x2f0]
sub eax, ecx
inc eax
lea ebx, [rax + rax*4]
shl ebx, 2
mov dword [rsp + 0x60], ebx
mov r9, qword [r12 + 0x10]
mov r8, r12
cmp qword [r12 + 0x18], 0xf
jbe 0x14003da2c
mov r8, qword [r12]
mov rcx, r13
mov rdx, r15
movabs rdi, 0x100000001b3
test r9, r9
je 0x14003da55
movzx eax, byte [r8 + rdx]
xor rcx, rax
imul rcx, rdi
inc rdx
cmp rdx, r9
jb 0x14003da41
mov dword [rbp + 0x168], ecx
lea rdx, [rbp + 0x168]
call fcn.14004a960
cvttss2si edx, dword [rax]
mov dword [rbp - 0x68], edx
lea rcx, [rsp + 0x60]
lea rax, [rbp - 0x68]
cmp edx, ebx
cmovge rcx, rax
lea rax, [rbp + 0x190]
test edx, edx
cmovle rax, rcx
movd xmm6, dword [rax]
cvtdq2ps xmm6, xmm6
mov r9, qword [r12 + 0x10]
mov r8, r12
cmp qword [r12 + 0x18], 0xf
jbe 0x14003daa5
mov r8, qword [r12]
mov rcx, r13
mov rdx, r15
test r9, r9
je 0x14003dac4
movzx eax, byte [r8 + rdx]
xor rcx, rax
imul rcx, rdi
inc rdx
cmp rdx, r9
jb 0x14003dab0
mov dword [rbp], ecx
lea rdx, [rbp]
call fcn.14004a960
movss dword [rax], xmm6
jmp 0x14003dadd
mov byte [rax + 0x2ec], 0
mov r8, qword [r12 + 0x10]
mov rdx, r12
cmp qword [r12 + 0x18], 0xf
jbe 0x14003daf1
mov rdx, qword [r12]
mov rbx, r13
mov rcx, r15
test r8, r8
je 0x14003db29
movabs rsi, 0x100000001b3
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
xor rbx, rax
imul rbx, rsi
inc rcx
cmp rcx, r8
jb 0x14003db10
mov esi, dword [rbp + 0x170]
mov rdi, qword [rbp + 0x180]
mov rax, qword [rdi + 8]
mov qword [rbp - 0x28], rax
mov dword [rbp - 0x20], r15d
mov rdx, rdi
cmp byte [rax + 0x19], 0
jne 0x14003db6c
mov qword [rbp - 0x28], rax
cmp qword [rax + 0x20], rbx
jae 0x14003db59
mov dword [rbp - 0x20], r15d
mov rax, qword [rax + 0x10]
jmp 0x14003db66
mov dword [rbp - 0x20], 1
mov rdx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x14003db45
cmp byte [rdx + 0x19], 0
jne 0x14003db78
cmp rbx, qword [rdx + 0x20]
jae 0x14003dbef
movabs rax, 0x3ffffffffffffff
cmp qword [rbp + 0x188], rax
je 0x14003f5b5
lea rax, [rbp + 0x180]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], r15
mov ecx, 0x40
call fcn.14015d780
nop
mov qword [rax + 0x20], rbx
mov qword [rax + 0x28], r15
mov qword [rax + 0x30], r15
mov qword [rax + 0x38], r15
mov qword [rax], rdi
mov qword [rax + 8], rdi
mov qword [rax + 0x10], rdi
mov word [rax + 0x18], 0
movups xmm0, xmmword [rbp - 0x28]
movaps xmmword [rbp - 0x50], xmm0
mov r8, rax
lea rdx, [rbp - 0x50]
lea rcx, [rbp + 0x180]
call fcn.140009ba0
mov rdx, rax
mov rdi, qword [rbp + 0x180]
mov rcx, qword [rdx + 0x30]
sub rcx, qword [rdx + 0x28]
sar rcx, 5
movsxd rax, dword [rbp + 0x2f0]
cmp rcx, rax
jbe 0x14003deff
cmp dword [rsp + 0x54], 0xffffffff
je 0x14003deff
cmp dword [rsp + 0x50], 0xffffffff
je 0x14003deff
mov dword [rsp + 0x20], 0xff
mov edx, 0x12
mov r9d, edx
mov r8d, edx
lea rcx, [rbp - 0x80]
call fcn.14000b000
mov rcx, qword [0x140273d10]
movzx edx, byte [rax + 3]
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [rcx + 0x2f0]
cvttss2si ecx, xmm0
movzx r9d, byte [rax + 2]
movzx r8d, byte [rax + 1]
movzx edx, byte [rax]
mov dword [rsp + 0x20], ecx
lea rcx, [rbp + 0x168]
call fcn.14000b000
mov edi, dword [rbp - 0x70]
lea ecx, [rdi - 6]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x40], xmm0
mov dword [rsp + 0x44], 0x3f800000
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x70]
lea rcx, [rbp - 0x60]
call fcn.1400ec5b0
mov rbx, rax
mov ecx, dword [rbp + 0x168]
mov dword [rbp + 0x168], ecx
call fcn.140056380
mov r10, rax
lea rdx, [rbp - 0x28]
lea rcx, [rbp + 0x168]
call fcn.140081000
mov rcx, rax
call fcn.140053cc0
movss xmm3, dword [rbx + 4]
mov ecx, dword [rbp + 0x2f0]
lea ecx, [rcx + rcx*4]
lea ecx, [rcx*4 - 1]
movd xmm2, ecx
cvtdq2ps xmm2, xmm2
addss xmm2, xmm3
movss xmm1, dword [rbx]
movaps xmm0, xmm1
addss xmm0, dword [0x1401cafa8]
movss dword [rsp + 0x40], xmm0
movss dword [rsp + 0x44], xmm2
movss dword [rsp + 0x48], xmm1
movss dword [rsp + 0x4c], xmm3
mov dword [rsp + 0x28], r15d
movss dword [rsp + 0x20], xmm10
mov r9d, eax
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x48]
mov rcx, r10
call fcn.140073900
call fcn.1400ec4d0
mov r9, rax
mov dword [rsp + 0x48], 0x40800000
movd xmm6, dword [rsp + 0x54]
cvtdq2ps xmm6, xmm6
movss dword [rsp + 0x4c], xmm6
lea ecx, [rdi - 5]
movd xmm7, ecx
cvtdq2ps xmm7, xmm7
movss dword [rsp + 0x40], xmm7
mov ecx, dword [rsp + 0x50]
inc ecx
movd xmm8, ecx
cvtdq2ps xmm8, xmm8
movss dword [rsp + 0x44], xmm8
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x70]
lea rcx, [rbp - 0x60]
call fcn.1400ec5b0
lea r8, [rsp + 0x48]
mov rdx, rax
mov rcx, r9
call fcn.1400ec460
test al, al
jne 0x14003ddeb
lea r8, [0x1401bef70]
mov rdx, r12
lea rcx, [rbp + 0x58]
call fcn.14003b8b0
nop
mov edi, dword [rsp + 0x5c]
or edi, 2
mov dword [rsp + 0x5c], edi
mov rcx, rax
call fcn.140039ad0
mov r10, qword [0x140273d10]
cmp qword [r10 + 0x260], rax
je 0x14003ddf6
mov edx, 0x41
lea rcx, [rbp - 0x80]
jmp 0x14003ddff
mov r10, qword [0x140273d10]
mov edi, dword [rsp + 0x5c]
mov edx, 0x50
lea rcx, [rbp + 0x28]
mov dword [rsp + 0x20], 0xff
mov r9d, edx
mov r8d, edx
call fcn.14000b000
movzx ecx, byte [rax + 3]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [r10 + 0x2f0]
cvttss2si ecx, xmm0
mov dword [rsp + 0x20], ecx
movzx r9d, byte [rax + 2]
movzx r8d, byte [rax + 1]
movzx edx, byte [rax]
lea rcx, [rbp + 0x168]
call fcn.14000b000
mov r9d, dword [rbp + 0x168]
movss dword [rsp + 0x40], xmm7
movss dword [rsp + 0x44], xmm8
lea r8, [rsp + 0x40]
lea rdx, [rbp + 8]
lea rcx, [rbp - 0x60]
call fcn.1400ec5b0
mov rbx, rax
mov dword [rbp + 0x168], r9d
call fcn.140056380
mov r10, rax
lea rdx, [rbp - 0x28]
lea rcx, [rbp + 0x168]
call fcn.140081000
mov rcx, rax
call fcn.140053cc0
movss xmm2, dword [rbx + 4]
addss xmm6, xmm2
movss xmm1, dword [rbx]
movaps xmm0, xmm1
addss xmm0, dword [0x1401caf88]
movss dword [rsp + 0x40], xmm0
movss dword [rsp + 0x44], xmm6
movss dword [rsp + 0x48], xmm1
movss dword [rsp + 0x4c], xmm2
mov dword [rsp + 0x28], r15d
movss dword [rsp + 0x20], xmm10
mov r9d, eax
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x48]
mov rcx, r10
call fcn.140073900
nop
test dil, 2
je 0x14003def8
lea rcx, [rbp + 0x58]
call fcn.140008e00
mov rdi, qword [rbp + 0x180]
movss xmm7, dword [0x1401cafa0]
movss xmm8, dword [0x1401caf5c]
test sil, sil
je 0x14003e510
mov rcx, r12
call fcn.140039ad0
mov qword [rsp + 0x40], rax
mov rcx, qword [rdi + 8]
mov qword [rbp - 0x28], rcx
mov dword [rbp - 0x20], r15d
mov rdx, rdi
cmp byte [rcx + 0x19], 0
jne 0x14003df67
nop dword [rax + rax]
mov qword [rbp - 0x28], rcx
cmp qword [rcx + 0x20], rax
jae 0x14003df54
mov dword [rbp - 0x20], r15d
mov rcx, qword [rcx + 0x10]
jmp 0x14003df61
mov dword [rbp - 0x20], 1
mov rdx, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], 0
je 0x14003df40
lea r8, [rsp + 0x40]
call fcn.14004afb0
test al, al
jne 0x14003dfe9
movabs rax, 0x3ffffffffffffff
cmp qword [rbp + 0x188], rax
je 0x14003f5bb
lea rax, [rsp + 0x40]
mov qword [rbp - 0x58], rax
lea rax, [rbp - 0x58]
mov qword [rsp + 0x20], rax
mov r8, rdi
lea rdx, [rbp + 0x180]
lea rcx, [rbp - 0x50]
call fcn.14004afd0
mov rcx, rax
call fcn.14004afa0
mov rbx, rax
lea rcx, [rbp - 0x50]
call fcn.14004af60
movups xmm0, xmmword [rbp - 0x28]
movaps xmmword [rbp + 0x1f0], xmm0
mov r8, rbx
lea rdx, [rbp + 0x1f0]
lea rcx, [rbp + 0x180]
call fcn.140009ba0
mov rdx, rax
mov rcx, qword [rdx + 0x30]
sub rcx, qword [rdx + 0x28]
sar rcx, 5
movsxd rdi, dword [rbp + 0x2f0]
cmp rcx, rdi
jbe 0x14003e516
mov rcx, r12
call fcn.140039ad0
mov qword [rbp - 0x58], rax
lea rdx, [rbp - 0x58]
lea rcx, [rbp + 0x180]
call fcn.14004a500
mov rcx, qword [rax + 8]
sub rcx, qword [rax]
sar rcx, 5
mov esi, dword [rsp + 0x54]
mov ebx, dword [rsp + 0x50]
cmp rcx, rdi
jbe 0x14003e51e
cmp esi, 0xffffffff
je 0x14003e51e
cmp ebx, 0xffffffff
je 0x14003e51e
mov dword [rsp + 0x20], 0xff
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rbp - 0x80]
call fcn.14000b000
mov rcx, qword [0x140273d10]
movzx edx, byte [rax + 3]
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [rcx + 0x2f0]
cvttss2si ecx, xmm0
movzx r9d, byte [rax + 2]
movzx r8d, byte [rax + 1]
movzx edx, byte [rax]
mov dword [rsp + 0x20], ecx
lea rcx, [rbp + 0x168]
call fcn.14000b000
movd xmm0, dword [rbp - 0x70]
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x40], xmm0
lea eax, [rdi + rdi*4]
lea eax, [rax*4 - 2]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x44], xmm0
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x70]
lea rcx, [rbp - 0x60]
call fcn.1400ec5b0
mov dword [rsp + 0x40], 0x41880000
mov dword [rsp + 0x44], 0x41200000
lea r8, [rsp + 0x40]
lea rdx, [rbp + 8]
mov rcx, rax
call fcn.1400ec5e0
mov rbx, rax
mov ecx, dword [rbp + 0x168]
mov dword [rbp + 0x168], ecx
call fcn.140056380
mov r10, rax
lea rdx, [rbp - 0x28]
lea rcx, [rbp + 0x168]
call fcn.140081000
mov rcx, rax
call fcn.140053cc0
movss xmm3, dword [rbx + 4]
movaps xmm2, xmm3
addss xmm2, xmm15
movss xmm1, dword [rbx]
movaps xmm0, xmm1
addss xmm0, xmm7
movss dword [rsp + 0x40], xmm0
movss dword [rsp + 0x44], xmm2
movss dword [rsp + 0x48], xmm1
movss dword [rsp + 0x4c], xmm3
mov dword [rsp + 0x28], r15d
movss dword [rsp + 0x20], xmm10
mov r9d, eax
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x48]
mov rcx, r10
call fcn.140073900
mov dword [rsp + 0x20], 0xff
mov edx, 0xcc
mov r9d, edx
mov r8d, edx
lea rcx, [rbp - 0x80]
call fcn.14000b000
mov rcx, qword [0x140273d10]
movzx edx, byte [rax + 3]
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [rcx + 0x2f0]
cvttss2si ecx, xmm0
movzx r9d, byte [rax + 2]
movzx r8d, byte [rax + 1]
movzx edx, byte [rax]
mov dword [rsp + 0x20], ecx
lea rcx, [rbp + 0x168]
call fcn.14000b000
movd xmm0, dword [rbp - 0x70]
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x40], xmm0
lea eax, [rdi + rdi*4]
lea eax, [rax*4 - 2]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x44], xmm0
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x70]
lea rcx, [rbp - 0x60]
call fcn.1400ec5b0
mov dword [rsp + 0x40], 0x41880000
mov dword [rsp + 0x44], 0x41100000
lea r8, [rsp + 0x40]
lea rdx, [rbp + 8]
mov rcx, rax
call fcn.1400ec5e0
mov rbx, rax
mov ecx, dword [rbp + 0x168]
mov dword [rbp + 0x168], ecx
call fcn.140056380
mov r10, rax
lea rdx, [rbp - 0x28]
lea rcx, [rbp + 0x168]
call fcn.140081000
mov rcx, rax
call fcn.140053cc0
movss xmm3, dword [rbx + 4]
movaps xmm2, xmm3
addss xmm2, xmm15
movss xmm1, dword [rbx]
movaps xmm0, xmm1
addss xmm0, xmm7
movss dword [rsp + 0x40], xmm0
movss dword [rsp + 0x44], xmm2
movss dword [rsp + 0x48], xmm1
movss dword [rsp + 0x4c], xmm3
mov dword [rsp + 0x28], r15d
movss dword [rsp + 0x20], xmm10
mov r9d, eax
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x48]
mov rcx, r10
call fcn.140073900
mov dword [rsp + 0x20], 0xff
mov edx, 0xcc
mov r9d, edx
mov r8d, edx
lea rcx, [rbp - 0x80]
call fcn.14000b000
mov rcx, qword [0x140273d10]
movzx edx, byte [rax + 3]
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [rcx + 0x2f0]
cvttss2si ecx, xmm0
movzx r9d, byte [rax + 2]
movzx r8d, byte [rax + 1]
movzx edx, byte [rax]
mov dword [rsp + 0x20], ecx
lea rcx, [rbp + 0x168]
call fcn.14000b000
movd xmm0, dword [rbp - 0x70]
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x40], xmm0
lea eax, [rdi + rdi*4]
lea eax, [rax*4 - 2]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x44], xmm0
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x70]
lea rcx, [rbp - 0x60]
call fcn.1400ec5b0
mov dword [rsp + 0x40], 0x41800000
mov dword [rsp + 0x44], 0x41000000
lea r8, [rsp + 0x40]
lea rdx, [rbp + 8]
mov rcx, rax
call fcn.1400ec5e0
mov rbx, rax
mov ecx, dword [rbp + 0x168]
mov dword [rbp + 0x168], ecx
call fcn.140056380
mov r10, rax
lea rdx, [rbp - 0x28]
lea rcx, [rbp + 0x168]
call fcn.140081000
mov rcx, rax
call fcn.140053cc0
movss xmm3, dword [rbx + 4]
movaps xmm2, xmm3
addss xmm2, xmm15
movss xmm1, dword [rbx]
movaps xmm0, xmm1
addss xmm0, xmm8
movss dword [rsp + 0x40], xmm0
movss dword [rsp + 0x44], xmm2
movss dword [rsp + 0x48], xmm1
movss dword [rsp + 0x4c], xmm3
mov dword [rsp + 0x28], r15d
movss dword [rsp + 0x20], xmm10
mov r9d, eax
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x48]
mov rcx, r10
call fcn.140073900
mov dword [rsp + 0x20], 0xff
mov edx, 0xcc
mov r9d, edx
mov r8d, edx
lea rcx, [rbp - 0x80]
call fcn.14000b000
mov rcx, qword [0x140273d10]
movzx edx, byte [rax + 3]
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [rcx + 0x2f0]
cvttss2si ecx, xmm0
movzx r9d, byte [rax + 2]
movzx r8d, byte [rax + 1]
movzx edx, byte [rax]
mov dword [rsp + 0x20], ecx
lea rcx, [rbp + 0x168]
call fcn.14000b000
movd xmm0, dword [rbp - 0x70]
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x40], xmm0
lea eax, [rdi + rdi*4]
lea eax, [rax*4 - 2]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x44], xmm0
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x70]
lea rcx, [rbp - 0x60]
call fcn.1400ec5b0
mov dword [rsp + 0x40], 0x41700000
mov dword [rsp + 0x44], 0x40e00000
lea r8, [rsp + 0x40]
lea rdx, [rbp + 8]
mov rcx, rax
call fcn.1400ec5e0
mov rbx, rax
mov ecx, dword [rbp + 0x168]
mov dword [rbp + 0x168], ecx
call fcn.140056380
mov r10, rax
lea rdx, [rbp - 0x28]
lea rcx, [rbp + 0x168]
call fcn.140081000
mov rcx, rax
call fcn.140053cc0
movss xmm3, dword [rbx + 4]
movaps xmm2, xmm3
addss xmm2, xmm15
movss xmm1, dword [rbx]
movaps xmm0, xmm1
addss xmm0, xmm15
movss dword [rsp + 0x40], xmm0
movss dword [rsp + 0x44], xmm2
movss dword [rsp + 0x48], xmm1
movss dword [rsp + 0x4c], xmm3
mov dword [rsp + 0x28], r15d
movss dword [rsp + 0x20], xmm10
mov r9d, eax
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x48]
mov rcx, r10
call fcn.140073900
jmp 0x14003e51a
mov edi, dword [rbp + 0x2f0]
mov esi, dword [rsp + 0x54]
mov ebx, dword [rsp + 0x50]
test r14b, r14b
je 0x14003ea39
mov r9, qword [r12 + 0x10]
mov r8, r12
cmp qword [r12 + 0x18], 0xf
jbe 0x14003e53b
mov r8, qword [r12]
mov rcx, r13
mov rdx, r15
test r9, r9
je 0x14003e568
movabs rsi, 0x100000001b3
movzx eax, byte [rdx + r8]
xor rcx, rax
imul rcx, rsi
inc rdx
cmp rdx, r9
jb 0x14003e550
mov esi, dword [rsp + 0x54]
mov dword [rbp + 0x168], ecx
lea rdx, [rbp + 0x168]
call fcn.14004a960
movss xmm0, dword [0x1401cb200]
comiss xmm0, dword [rax]
jb 0x14003ea39
mov rcx, r12
call fcn.140039ad0
mov qword [rbp - 0x58], rax
lea rdx, [rbp - 0x58]
lea rcx, [rbp + 0x180]
call fcn.14004a500
mov rcx, qword [rax + 8]
sub rcx, qword [rax]
sar rcx, 5
movsxd rax, edi
cmp rcx, rax
jbe 0x14003ea39
cmp esi, 0xffffffff
je 0x14003ea39
cmp ebx, 0xffffffff
je 0x14003ea39
mov dword [rsp + 0x20], 0xff
mov edx, 0xcc
mov r9d, edx
mov r8d, edx
lea rcx, [rbp - 0x80]
call fcn.14000b000
mov rcx, qword [0x140273d10]
movzx edx, byte [rax + 3]
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [rcx + 0x2f0]
cvttss2si ecx, xmm0
movzx r9d, byte [rax + 2]
movzx r8d, byte [rax + 1]
movzx edx, byte [rax]
mov dword [rsp + 0x20], ecx
lea rcx, [rbp + 0x168]
call fcn.14000b000
mov ecx, dword [rbp - 0x70]
add ecx, 0xffffffec
movd xmm6, ecx
cvtdq2ps xmm6, xmm6
movss dword [rsp + 0x40], xmm6
mov dword [rsp + 0x44], 0x40e00000
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x70]
lea rcx, [rbp - 0x60]
call fcn.1400ec5b0
mov qword [rsp + 0x40], 0x40a00000
lea r8, [rsp + 0x40]
lea rdx, [rbp + 8]
mov rcx, rax
call fcn.1400ec5b0
mov rbx, rax
mov ecx, dword [rbp + 0x168]
mov dword [rbp + 0x168], ecx
call fcn.140056380
mov r10, rax
lea rdx, [rbp - 0x28]
lea rcx, [rbp + 0x168]
call fcn.140081000
mov rcx, rax
call fcn.140053cc0
movss xmm3, dword [rbx + 4]
movaps xmm2, xmm3
addss xmm2, xmm15
movss xmm1, dword [rbx]
movaps xmm0, xmm1
addss xmm0, xmm15
movss dword [rsp + 0x40], xmm0
movss dword [rsp + 0x44], xmm2
movss dword [rsp + 0x48], xmm1
movss dword [rsp + 0x4c], xmm3
mov dword [rsp + 0x28], r15d
movss dword [rsp + 0x20], xmm10
mov r9d, eax
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x48]
mov rcx, r10
call fcn.140073900
mov dword [rsp + 0x20], 0xff
mov edx, 0xcc
mov r9d, edx
mov r8d, edx
lea rcx, [rbp - 0x80]
call fcn.14000b000
mov rcx, qword [0x140273d10]
movzx edx, byte [rax + 3]
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [rcx + 0x2f0]
cvttss2si ecx, xmm0
movzx r9d, byte [rax + 2]
movzx r8d, byte [rax + 1]
movzx edx, byte [rax]
mov dword [rsp + 0x20], ecx
lea rcx, [rbp + 0x168]
call fcn.14000b000
movss dword [rsp + 0x40], xmm6
mov dword [rsp + 0x44], 0x40e00000
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x70]
lea rcx, [rbp - 0x60]
call fcn.1400ec5b0
mov dword [rsp + 0x40], 0x40800000
mov dword [rsp + 0x44], 0x3f800000
lea r8, [rsp + 0x40]
lea rdx, [rbp + 8]
mov rcx, rax
call fcn.1400ec5b0
mov rbx, rax
mov ecx, dword [rbp + 0x168]
mov dword [rbp + 0x168], ecx
call fcn.140056380
mov r10, rax
lea rdx, [rbp - 0x28]
lea rcx, [rbp + 0x168]
call fcn.140081000
mov rcx, rax
call fcn.140053cc0
movss xmm3, dword [rbx + 4]
movaps xmm2, xmm3
addss xmm2, xmm15
movss xmm1, dword [rbx]
movaps xmm0, xmm1
addss xmm0, xmm8
movss dword [rsp + 0x40], xmm0
movss dword [rsp + 0x44], xmm2
movss dword [rsp + 0x48], xmm1
movss dword [rsp + 0x4c], xmm3
mov dword [rsp + 0x28], r15d
movss dword [rsp + 0x20], xmm10
mov r9d, eax
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x48]
mov rcx, r10
call fcn.140073900
mov dword [rsp + 0x20], 0xff
mov edx, 0xcc
mov r9d, edx
mov r8d, edx
lea rcx, [rbp - 0x80]
call fcn.14000b000
mov rcx, qword [0x140273d10]
movzx edx, byte [rax + 3]
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [rcx + 0x2f0]
cvttss2si ecx, xmm0
movzx r9d, byte [rax + 2]
movzx r8d, byte [rax + 1]
movzx edx, byte [rax]
mov dword [rsp + 0x20], ecx
lea rcx, [rbp + 0x168]
call fcn.14000b000
movss dword [rsp + 0x40], xmm6
mov dword [rsp + 0x44], 0x40e00000
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x70]
lea rcx, [rbp - 0x60]
call fcn.1400ec5b0
mov dword [rsp + 0x40], 0x40400000
mov dword [rsp + 0x44], 0x40000000
lea r8, [rsp + 0x40]
lea rdx, [rbp + 8]
mov rcx, rax
call fcn.1400ec5b0
mov rbx, rax
mov ecx, dword [rbp + 0x168]
mov dword [rbp + 0x168], ecx
call fcn.140056380
mov r10, rax
lea rdx, [rbp - 0x28]
lea rcx, [rbp + 0x168]
call fcn.140081000
mov rcx, rax
call fcn.140053cc0
movss xmm3, dword [rbx + 4]
movaps xmm2, xmm3
addss xmm2, xmm15
movss xmm1, dword [rbx]
movaps xmm0, xmm1
addss xmm0, xmm7
movss dword [rsp + 0x40], xmm0
movss dword [rsp + 0x44], xmm2
movss dword [rsp + 0x48], xmm1
movss dword [rsp + 0x4c], xmm3
mov dword [rsp + 0x28], r15d
movss dword [rsp + 0x20], xmm10
mov r9d, eax
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x48]
mov rcx, r10
call fcn.140073900
mov dword [rsp + 0x20], 0xff
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rbp - 0x80]
call fcn.14000b000
mov rcx, qword [0x140273d10]
movzx edx, byte [rax + 3]
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [rcx + 0x2f0]
cvttss2si ecx, xmm0
movzx r9d, byte [rax + 2]
movzx r8d, byte [rax + 1]
movzx edx, byte [rax]
mov dword [rsp + 0x20], ecx
lea rcx, [rbp + 0x168]
call fcn.14000b000
movss dword [rsp + 0x40], xmm6
mov dword [rsp + 0x44], 0x40e00000
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x70]
lea rcx, [rbp - 0x60]
call fcn.1400ec5b0
mov dword [rsp + 0x40], 0x40400000
mov dword [rsp + 0x44], 0x40400000
lea r8, [rsp + 0x40]
lea rdx, [rbp + 8]
mov rcx, rax
call fcn.1400ec5b0
mov rbx, rax
mov ecx, dword [rbp + 0x168]
mov dword [rbp + 0x168], ecx
call fcn.140056380
mov r10, rax
lea rdx, [rbp - 0x28]
lea rcx, [rbp + 0x168]
call fcn.140081000
mov rcx, rax
call fcn.140053cc0
movss xmm3, dword [rbx + 4]
movaps xmm2, xmm3
addss xmm2, xmm15
movss xmm1, dword [rbx]
movaps xmm0, xmm1
addss xmm0, xmm7
movss dword [rsp + 0x40], xmm0
movss dword [rsp + 0x44], xmm2
movss dword [rsp + 0x48], xmm1
movss dword [rsp + 0x4c], xmm3
mov dword [rsp + 0x28], r15d
movss dword [rsp + 0x20], xmm10
mov r9d, eax
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x48]
mov rcx, r10
call fcn.140073900
cmp byte [rbp + 0x178], 0
je 0x14003f46d
mov dword [rsp + 0x20], 0xff
mov edx, 0x12
mov r9d, edx
mov r8d, edx
lea rcx, [rbp - 0x80]
call fcn.14000b000
mov rcx, qword [0x140273d10]
movzx edx, byte [rax + 3]
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [rcx + 0x2f0]
cvttss2si ebx, xmm0
movzx r14d, byte [rax]
movzx esi, byte [rax + 1]
movzx edi, byte [rax + 2]
movaps xmm7, xmm9
subss xmm7, dword [0x1401cb00c]
movaps xmm6, xmm12
subss xmm6, xmm10
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 xmm3, ecx
cvtdq2ps xmm3, xmm3
movss xmm8, dword [0x1401cb110]
divss xmm3, xmm8
movd xmm2, edi
cvtdq2ps xmm2, xmm2
divss xmm2, xmm8
movd xmm1, esi
cvtdq2ps xmm1, xmm1
divss xmm1, xmm8
movd xmm0, r14d
cvtdq2ps xmm0, xmm0
divss xmm0, xmm8
movss dword [rsp + 0x70], xmm0
movss dword [rsp + 0x74], xmm1
movss dword [rsp + 0x78], xmm2
movss dword [rsp + 0x7c], xmm3
lea rcx, [rsp + 0x70]
call fcn.140053cc0
movaps xmm1, xmm7
addss xmm1, dword [0x1401cb018]
mov r14d, dword [rbp - 0x70]
movd xmm0, r14d
cvtdq2ps xmm0, xmm0
addss xmm0, xmm6
movss dword [rsp + 0x40], xmm0
movss dword [rsp + 0x44], xmm1
movss dword [rsp + 0x48], xmm6
movss dword [rsp + 0x4c], xmm7
mov dword [rsp + 0x28], r15d
movss dword [rsp + 0x20], xmm10
mov r9d, eax
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x48]
mov rcx, r10
call fcn.140073900
movabs rcx, 0x3100350b8e9dcaf4
movabs rbx, 0x21d880e9763f68ac
movabs rdx, 0x31005d68fcfcaf87
mov rax, qword [0x140273d10]
cmp qword [rax + 0x260], 0
jne 0x14003ec54
cmp byte [rax + 0x2eb], 0
je 0x14003ebbc
mov byte [rax + 0x2eb], 0
cmp byte [rsp + 0x58], 0
je 0x14003f43f
call fcn.1400ec4d0
mov esi, 1
mov edx, esi
call fcn.1400ec3d0
movabs rdi, 0x3100350b8e9dcaf4
test al, al
je 0x14003f184
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x78], rbx
movabs rax, 0x31005d68fcfcaf87
mov qword [rbp + 0x1f0], rax
mov qword [rbp + 0x1f8], rbx
movdqa xmm0, xmmword [rsp + 0x70]
xorps xmm0, xmmword [rbp + 0x1f0]
movdqa xmmword [rsp + 0x70], xmm0
lea r8, [rsp + 0x70]
mov rdx, r12
lea rcx, [rbp - 0x28]
call fcn.14003b8b0
mov rcx, rax
call fcn.140039ad0
mov rcx, qword [0x140273d10]
mov qword [rcx + 0x260], rax
lea rcx, [rbp - 0x28]
call fcn.140008e00
jmp 0x14003f184
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x78], rbx
mov qword [rbp + 0x1f0], rdx
mov qword [rbp + 0x1f8], rbx
movdqa xmm0, xmmword [rsp + 0x70]
xorps xmm0, xmmword [rbp + 0x1f0]
movdqa xmmword [rsp + 0x70], xmm0
lea r8, [rsp + 0x70]
mov rdx, r12
lea rcx, [rbp - 0x28]
call fcn.14003b8b0
mov rcx, rax
call fcn.140039ad0
mov rdi, rax
mov rcx, qword [0x140273d10]
mov rbx, qword [rcx + 0x260]
lea rcx, [rbp - 0x28]
call fcn.140008e00
cmp rbx, rdi
jne 0x14003f16b
mov rax, qword [0x140273d10]
cmp byte [rax + 0x2eb], 0
jne 0x14003ecd2
mov byte [rax + 0x2eb], 1
call fcn.1400ec4d0
mov edx, 1
call fcn.1400ec4a0
test al, al
je 0x14003ecfa
cmp byte [rsp + 0x58], 0
jne 0x14003ecfa
mov rax, qword [0x140273d10]
mov qword [rax + 0x260], r15
mov edi, r15d
mov ecx, 0xa2
call fcn.14007bd70
mov esi, eax
nop dword [rax]
cmp qword [0x140272c18], 0
jne 0x14003ed37
mov ecx, 8
call fcn.14015d780
mov qword [rsp + 0x70], rax
mov qword [rax], r15
mov dword [rax + 4], r15d
mov qword [0x140272c18], rax
lea eax, [rdi - 1]
cmp eax, 0xfe
ja 0x14003eeeb
mov ecx, edi
call fcn.14007bd70
xor r8d, r8d
xor edx, edx
mov ecx, eax
call fcn.14005ee80
test al, al
je 0x14003eeeb
cmp edi, 8
je 0x14003ee52
cmp edi, 0x1b
je 0x14003ee3f
cmp edi, 0xd
je 0x14003ee3f
lea eax, [rdi - 0x41]
cmp eax, 0x19
ja 0x14003eded
call fcn.1400ec4d0
mov edx, 0x10
call fcn.1400ec3d0
test al, al
jne 0x14003eda9
mov ecx, 0x14
call qword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
lea ebx, [rdi + 0x20]
je 0x14003edab
mov ebx, edi
mov rcx, r12
call fcn.140039ad0
mov dword [rbp + 0x168], eax
lea rdx, [rbp + 0x168]
lea rcx, [0x140271cd0]
call fcn.14004a800
mov rcx, rax
movzx edx, bl
call fcn.14004aaa0
mov rcx, r12
call fcn.140039ad0
mov dword [rsp + 0x60], eax
lea rdx, [rsp + 0x60]
jmp 0x14003eee3
lea eax, [rdi - 0x30]
cmp eax, 9
jbe 0x14003edfe
cmp edi, 0x20
jne 0x14003eeeb
mov rcx, r12
call fcn.140039ad0
mov dword [rbp - 0x68], eax
lea rdx, [rbp - 0x68]
lea rcx, [0x140271cd0]
call fcn.14004a800
mov rcx, rax
movzx edx, dil
call fcn.14004aaa0
mov rcx, r12
call fcn.140039ad0
mov dword [rbp + 0x190], eax
lea rdx, [rbp + 0x190]
jmp 0x14003eee3
mov rax, qword [0x140273d10]
mov qword [rax + 0x260], r15
jmp 0x14003eeeb
mov rcx, r12
call fcn.140039ad0
mov dword [rbp], eax
lea rdx, [rbp]
lea rcx, [0x140271cd0]
call fcn.14004a800
mov rbx, rax
mov rcx, r12
call fcn.140039ad0
mov dword [rbp + 0x14], eax
lea rdx, [rbp + 0x14]
lea rcx, [0x140271cd0]
call fcn.14004a800
mov r9, qword [rax + 0x10]
dec r9
xor r8d, r8d
lea rdx, [rbp - 0x28]
mov rcx, rbx
call fcn.140034390
mov rbx, rax
mov rcx, r12
call fcn.140039ad0
mov dword [rbp + 0x10], eax
lea rdx, [rbp + 0x10]
lea rcx, [0x140271cd0]
call fcn.14004a800
mov rcx, rax
mov rdx, rbx
call fcn.140008a90
nop
lea rcx, [rbp - 0x28]
call fcn.140008e00
mov rcx, r12
call fcn.140039ad0
mov dword [rbp - 0x6c], eax
lea rdx, [rbp - 0x6c]
call fcn.14004a960
mov dword [rax], r15d
cmp qword [0x140272c18], 0
jne 0x14003ef12
mov ecx, 8
call fcn.14015d780
mov qword [rsp + 0x70], rax
mov qword [rax], r15
mov dword [rax + 4], r15d
mov qword [0x140272c18], rax
mov ecx, esi
call fcn.14005ee00
test al, al
je 0x14003efdd
call fcn.1400ec4d0
mov edx, 8
call fcn.1400ec3d0
test al, al
je 0x14003efdd
mov rcx, r12
call fcn.140039ad0
mov dword [rsp + 0x5c], eax
lea rdx, [rsp + 0x5c]
lea rcx, [0x140271cd0]
call fcn.14004a800
mov rbx, rax
mov rcx, r12
call fcn.140039ad0
mov dword [rbp + 0x170], eax
lea rdx, [rbp + 0x170]
lea rcx, [0x140271cd0]
call fcn.14004a800
mov r9, qword [rax + 0x10]
dec r9
xor r8d, r8d
lea rdx, [rbp - 0x28]
mov rcx, rbx
call fcn.140034390
mov rbx, rax
mov rcx, r12
call fcn.140039ad0
mov dword [rsp + 0x54], eax
lea rdx, [rsp + 0x54]
lea rcx, [0x140271cd0]
call fcn.14004a800
mov rcx, rax
mov rdx, rbx
call fcn.140008a90
nop
lea rcx, [rbp - 0x28]
call fcn.140008e00
mov rcx, r12
call fcn.140039ad0
mov dword [rsp + 0x50], eax
lea rdx, [rsp + 0x50]
call fcn.14004a960
mov dword [rax], r15d
inc edi
cmp edi, 0xff
jl 0x14003ed10
cmp qword [0x140272c18], 0
jne 0x14003f012
mov ecx, 8
call fcn.14015d780
mov qword [rsp + 0x70], rax
mov qword [rax], r15
mov dword [rax + 4], r15d
mov qword [0x140272c18], rax
mov ecx, 8
call fcn.14007bd70
mov ecx, eax
call fcn.14005ee00
test al, al
jne 0x14003f04f
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov rbx, rax
mov rcx, r12
call fcn.140039ad0
mov qword [rbp - 0x58], rax
lea rdx, [rbp - 0x58]
lea rcx, [0x140271cc0]
call fcn.14004a700
mov qword [rax], rbx
mov r9, qword [r12 + 0x10]
mov r8, r12
cmp qword [r12 + 0x18], 0xf
jbe 0x14003f063
mov r8, qword [r12]
mov rcx, r13
mov rdx, r15
test r9, r9
je 0x14003f098
movabs r14, 0x100000001b3
nop dword [rax + rax]
movzx eax, byte [r8 + rdx]
xor rcx, rax
imul rcx, r14
inc rdx
cmp rdx, r9
jb 0x14003f080
mov r14d, dword [rbp - 0x70]
mov qword [rbp - 0x58], rcx
lea rdx, [rbp - 0x58]
lea rcx, [0x140271cc0]
call fcn.14004a700
mov rbx, qword [rax]
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
sub rax, rbx
cmp rax, 0x1f4
jbe 0x14003f16b
mov rcx, r12
call fcn.140039ad0
mov dword [rbp + 0x168], eax
lea rdx, [rbp + 0x168]
lea rcx, [0x140271cd0]
call fcn.14004a800
mov rbx, rax
mov rcx, r12
call fcn.140039ad0
mov dword [rsp + 0x60], eax
lea rdx, [rsp + 0x60]
lea rcx, [0x140271cd0]
call fcn.14004a800
mov r9, qword [rax + 0x10]
dec r9
xor r8d, r8d
lea rdx, [rbp - 0x28]
mov rcx, rbx
call fcn.140034390
mov rbx, rax
mov rcx, r12
call fcn.140039ad0
mov dword [rbp - 0x68], eax
lea rdx, [rbp - 0x68]
lea rcx, [0x140271cd0]
call fcn.14004a800
mov rcx, rax
mov rdx, rbx
call fcn.140008a90
nop
lea rcx, [rbp - 0x28]
call fcn.140008e00
mov rcx, r12
call fcn.140039ad0
mov dword [rbp + 0x190], eax
lea rdx, [rbp + 0x190]
call fcn.14004a960
mov dword [rax], r15d
movabs rdi, 0x3100350b8e9dcaf4
movabs rbx, 0x21d880e9763f68ac
mov esi, 1
movd xmm0, r14d
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x40], xmm0
mov dword [rsp + 0x44], 0x41900000
movaps xmm1, xmm9
subss xmm1, xmm11
movss dword [rsp + 0x48], xmm12
movss dword [rsp + 0x4c], xmm1
mov r8b, 1
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x48]
call fcn.140082dc0
mov rax, qword [0x140273d10]
movss xmm0, dword [rax + 0x2f0]
mulss xmm0, xmm8
cvttss2si eax, xmm0
mov word [rsp + 0x5c], 0xc8c8
mov byte [rsp + 0x5e], 0xc8
mov byte [rsp + 0x5f], al
subss xmm9, dword [0x1401cb004]
subss xmm12, dword [0x1401cb1f0]
movss dword [rsp + 0x40], xmm12
movss dword [rsp + 0x44], xmm9
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x78], rbx
movabs rax, 0x31005d68fcfcaf87
mov qword [rbp + 0x1f0], rax
mov qword [rbp + 0x1f8], rbx
movdqa xmm0, xmmword [rsp + 0x70]
xorps xmm0, xmmword [rbp + 0x1f0]
movdqa xmmword [rsp + 0x70], xmm0
mov rdx, qword [r12 + 0x10]
lea rax, [rsp + 0x70]
mov rbx, 0xffffffffffffffff
mov rcx, rbx
inc rcx
cmp byte [rax + rcx], 0
jne 0x14003f253
movabs r14, 0x7fffffffffffffff
mov rax, r14
sub rax, rdx
cmp rax, rcx
jb 0x14003f5c1
mov r9, r12
cmp qword [r12 + 0x18], 0xf
jbe 0x14003f284
mov r9, qword [r12]
mov qword [rsp + 0x30], rcx
lea rax, [rsp + 0x70]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdx
lea rcx, [rbp + 0xd0]
call fcn.140039850
nop
lea r8, [rbp + 0xd0]
cmp qword [rbp + 0xe8], 0xf
cmova r8, qword [rbp + 0xd0]
mov rcx, r13
mov rdx, r15
mov r9, qword [rbp + 0xe0]
movabs r10, 0x100000001b3
test r9, r9
je 0x14003f2f4
nop dword [rax + rax]
movzx eax, byte [r8 + rdx]
xor rcx, rax
imul rcx, r10
inc rdx
cmp rdx, r9
jb 0x14003f2e0
mov edx, 0x5f
mov rax, qword [0x140273d10]
cmp qword [rax + 0x260], rcx
mov edi, 0x20
cmove edi, edx
mov r9, qword [r12 + 0x10]
mov r8, r12
cmp qword [r12 + 0x18], 0xf
jbe 0x14003f323
mov r8, qword [r12]
mov rcx, r13
mov rdx, r15
test r9, r9
je 0x14003f344
nop
movzx eax, byte [rdx + r8]
xor rcx, rax
imul rcx, r10
inc rdx
cmp rdx, r9
jb 0x14003f330
mov dword [rbp + 0x168], ecx
lea rdx, [rbp + 0x168]
lea rcx, [0x140271cd0]
call fcn.14004a800
mov byte [rbp + 0x178], dil
mov rcx, qword [rax + 0x10]
cmp rcx, r14
je 0x14003f567
cmp qword [rax + 0x18], 0xf
jbe 0x14003f37b
mov rax, qword [rax]
mov qword [rsp + 0x30], rsi
lea rdx, [rbp + 0x178]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rcx
mov r9, rax
lea rcx, [rbp + 0x58]
call fcn.140039850
nop
lea rdx, [rbp + 0x58]
cmp qword [rbp + 0x70], 0xf
cmova rdx, qword [rbp + 0x58]
xorps xmm0, xmm0
movups xmmword [rbp - 0x28], xmm0
mov qword [rbp - 0x18], r15
mov qword [rbp - 0x10], r15
nop dword [rax + rax]
inc rbx
cmp byte [rdx + rbx], 0
jne 0x14003f3c0
mov r8, rbx
lea rcx, [rbp - 0x28]
call fcn.140009150
mov dword [rsp + 0x20], r15d
xor r9d, r9d
mov r8d, dword [rsp + 0x5c]
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x28]
call fcn.140082420
nop
lea rcx, [rbp + 0x58]
call fcn.140008e00
nop
lea rcx, [rbp + 0xd0]
call fcn.140008e00
mov rax, qword [0x1402718d8]
mov rax, qword [rax + 0x48b8]
lea r8, str.Foreground
mov rdx, rsi
mov rcx, qword [rax]
call fcn.1400561d0
mov rdx, rax
mov eax, dword [rax + 0x58]
sub eax, 1
mov dword [rdx + 0x58], eax
jne 0x14003f447
mov rcx, qword [rdx + 0x38]
add rcx, 0x1c
jmp 0x14003f454
mov rdi, rcx
jmp 0x14003f17f
dec eax
movsxd rcx, eax
shl rcx, 4
add rcx, qword [rdx + 0x60]
movups xmm0, xmmword [rcx]
movups xmmword [rdx + 0x88], xmm0
mov rcx, rdx
call fcn.140070d50
mov ecx, 0x1e
jmp 0x14003f472
mov ecx, 0xa
mov eax, dword [rbp + 0x2f0]
lea eax, [rax + rax*4]
lea ecx, [rcx + rax*4]
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
addss xmm1, dword [rbp + 0x34]
movss xmm0, dword [rbp + 0x30]
addss xmm0, xmm10
movss dword [rsp + 0x40], xmm0
movss dword [rsp + 0x44], xmm1
lea rcx, [rsp + 0x40]
call fcn.1400399f0
mov rdx, qword [r12 + 0x10]
cmp qword [r12 + 0x18], 0xf
jbe 0x14003f4bb
mov r12, qword [r12]
test rdx, rdx
je 0x14003f4de
movzx eax, byte [r12 + r15]
xor r13, rax
movabs rax, 0x100000001b3
imul r13, rax
inc r15
cmp r15, rdx
jb 0x14003f4c0
mov rax, qword [0x140273d10]
cmp qword [rax + 0x260], r13
sete bl
lea rcx, [rbp + 0x198]
call fcn.140008880
nop
lea rcx, [rbp + 0x180]
call fcn.14004a690
nop
mov rcx, qword [rbp + 0x18]
call fcn.140008d70
movzx eax, bl
mov rcx, qword [rbp + 0x200]
xor rcx, rsp
call fcn.14015d760
lea r11, [rsp + 0x390]
mov rbx, qword [r11 + 0x58]
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 xmm15, xmmword [r11 - 0x80]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1400059a0
nop
call fcn.1400059f0
int3
call fcn.1400059f0
int3
call fcn.1400059f0
int3
call fcn.1400260f0
int3
call fcn.1400059f0
nop
call fcn.1400260f0
int3
call fcn.1400059f0
int3
call fcn.1400059f0
int3
call fcn.1400059f0
int3
call fcn.1400059a0
nop
call fcn.1400059f0
nop
call fcn.1400059f0
int3
call fcn.1400059f0
int3
call fcn.1400059f0
int3
call fcn.1400059a0
int3