Function at 0x180001430
Capabilities:
Encode data using base64
Log keystrokes via polling

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 - 0x258]
sub rsp, 0x330
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 [0x18004a010]
xor rax, rsp
mov qword [rbp + 0x188], rax
mov rax, qword [0x18004abd0]
mov rax, qword [rax + 0x3430]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.1800083e0
mov rbx, rax
movaps xmm0, xmmword [0x1800428d0]
movups xmmword [rbp + 0x140], xmm0
lea rcx, [rbp + 0x140]
call fcn.180005e60
mov edi, eax
movss xmm0, dword [0x18004a430]
movss dword [rsp + 0x60], xmm0
movss xmm1, dword [0x18004a434]
movss dword [rsp + 0x64], xmm1
xor r14d, r14d
xorps xmm8, xmm8
test eax, 0xff000000
je 0x180001554
movss xmm2, dword [0x18004a054]
comiss xmm8, xmm2
jae 0x180001554
mov dword [rsp + 0x20], 0x30
xor r9d, r9d
lea rdx, [rsp + 0x60]
mov rcx, rbx
call fcn.180024680
dec dword [rbx + 0x78]
mov r9d, edi
mov r8d, dword [rbx + 0x78]
mov rdx, qword [rbx + 0x80]
mov rcx, rbx
call fcn.1800240f0
mov dword [rbx + 0x78], r14d
mov rax, qword [0x18004abd0]
mov rax, qword [rax + 0x3430]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.1800083e0
mov rbx, rax
movaps xmm0, xmmword [0x1800429d0]
movups xmmword [rbp + 0x140], xmm0
lea rcx, [rbp + 0x140]
call fcn.180005e60
mov edi, eax
movss xmm0, dword [0x18004a430]
movss dword [rsp + 0x60], xmm0
movss xmm1, dword [0x18004a434]
movss dword [rsp + 0x64], xmm1
movss xmm13, dword [0x18004272c]
test eax, 0xff000000
je 0x18000161b
movss xmm2, dword [0x18004a054]
comiss xmm8, xmm2
jae 0x18000161b
subss xmm2, dword [0x1800426f4]
mov dword [rsp + 0x20], 0x30
xor r9d, r9d
lea rdx, [rsp + 0x60]
mov rcx, rbx
call fcn.180024680
dec dword [rbx + 0x78]
movss dword [rsp + 0x28], xmm13
mov dword [rsp + 0x20], 1
mov r9d, edi
mov r8d, dword [rbx + 0x78]
mov rdx, qword [rbx + 0x80]
mov rcx, rbx
call fcn.180023210
mov dword [rbx + 0x78], r14d
mov rdi, qword [0x18004ac48]
test rdi, rdi
jne 0x1800016c1
mov ebx, r14d
mov r9, qword [0x18004abf0]
mov eax, dword [r9 + 0x14]
test eax, eax
jle 0x180001b47
test ebx, ebx
js 0x1800016a7
cmp ebx, eax
jg 0x1800016a7
mov eax, ebx
cdq
movzx edx, dx
add eax, edx
mov ecx, eax
movzx eax, ax
sub eax, edx
sar ecx, 0x10
movsxd r8, ecx
mov rdx, qword [r9]
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rdx + r8*8]
mov rdi, qword [rax + rcx*8]
test rdi, rdi
je 0x1800016a7
call fcn.18003aba0
mov rcx, qword [rdi + 0x10]
test rcx, rcx
je 0x1800016a0
cmp rcx, rax
je 0x180001692
mov rcx, qword [rcx + 0x40]
test rcx, rcx
jne 0x180001682
jmp 0x1800016a0
mov eax, dword [rdi + 8]
shr eax, 4
test al, 1
je 0x180001760
mov r9, qword [0x18004abf0]
inc ebx
mov eax, dword [r9 + 0x14]
cmp ebx, eax
jl 0x180001641
mov rdi, qword [0x18004ac48]
test rdi, rdi
je 0x180001b47
mov rdi, qword [rdi + 0x788]
test rdi, rdi
je 0x180001b47
mov rdi, qword [rdi + 0x78]
test rdi, rdi
je 0x180001b47
mov rax, qword [rdi + 0x188]
test rax, rax
je 0x180001b47
mov rax, qword [rax + 0x38]
mov rcx, qword [rax]
test rcx, rcx
je 0x180001b47
mov r13, qword [rcx + 0x30]
test r13, r13
je 0x180001b47
mov r12, qword [r13 + 0x228]
mov qword [rbp - 0x80], r12
test r12, r12
je 0x180001b47
mov r15, qword [r13 + 0x2a0]
mov qword [rbp - 0x28], r15
test r15, r15
je 0x180001b47
mov rbx, qword [r15 + 0x610]
test rbx, rbx
je 0x18000178f
call fcn.18003ae00
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x18000178f
nop dword [rax]
cmp rcx, rax
je 0x18000176c
mov rcx, qword [rcx + 0x40]
test rcx, rcx
jne 0x180001750
jmp 0x18000178f
mov qword [0x18004ac48], rdi
jmp 0x1800016b8
mov qword [rbx + 0x7b8], r14
mov qword [rbx + 0x680], r14
mov qword [rbx + 0x7e0], r14
mov qword [rbx + 0x7f0], r14
mov qword [rbx + 0x5a0], r14
cmp qword [rdi + 0x130], r14
je 0x180001b47
mov rax, qword [rdi + 0x30]
test rax, rax
je 0x180001b47
mov rdx, qword [rax + 0x98]
mov qword [rsp + 0x58], rdx
test rdx, rdx
je 0x180001b47
movsxd rcx, dword [rax + 0xa0]
test ecx, ecx
je 0x180001b47
movss xmm15, dword [0x1800427dc]
movaps xmm14, xmm15
mov qword [rbp - 0x78], r14
mov dword [rbp - 0x70], r14d
mov qword [rsp + 0x78], r14
mov qword [rsp + 0x70], r14
mov qword [rsp + 0x50], rcx
jle 0x180001b47
mov rsi, r14
mov qword [rsp + 0x60], r14
movss xmm9, dword [rsp + 0x50]
movss xmm10, dword [rsp + 0x50]
mov rax, rcx
mov r14, qword [rdx + rsi*8]
test r14, r14
je 0x180001b36
call fcn.18003aeb0
mov rcx, qword [r14 + 0x10]
test rcx, rcx
je 0x180001842
nop dword [rax + rax]
cmp rcx, rax
je 0x180001a5b
mov rcx, qword [rcx + 0x40]
test rcx, rcx
jne 0x180001830
xor al, al
test al, al
je 0x18000262e
mov rdi, qword [r14 + 0x240]
test rdi, rdi
je 0x180001b2c
cmp r12, rdi
je 0x180001b2c
mov rdx, qword [0x18004ac50]
xor r12d, r12d
test rdx, rdx
jne 0x180001987
mov rbx, qword [rdi + 0x10]
mov qword [rbp + 0xf0], r12
mov qword [rbp + 0x100], r12
mov qword [rbp + 0x108], 0xf
mov byte [rbp + 0xf0], r12b
lea r8d, [rdx + 0xd]
lea rdx, str.GetPlayerName
lea rcx, [rbp + 0xf0]
call fcn.1800037d0
nop
mov qword [rbp - 0x18], r12
mov qword [rbp - 8], r12
mov qword [rbp], 0xf
mov byte [rbp - 0x18], r12b
lea r8d, [r12 + 0xb]
lea rdx, str.PlayerState
lea rcx, [rbp - 0x18]
call fcn.1800037d0
nop
lea r8, [rbp + 0xf0]
lea rdx, [rbp - 0x18]
mov rcx, rbx
call fcn.18003a2a0
mov rdx, rax
mov qword [0x18004ac50], rax
mov rax, qword [rbp]
cmp rax, 0x10
jb 0x18000193e
lea rdx, [rax + 1]
mov rcx, qword [rbp - 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180001932
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800026b4
call fcn.18003b4d4
mov rdx, qword [0x18004ac50]
mov rax, qword [rbp + 0x108]
cmp rax, 0x10
jb 0x180001987
lea rdx, [rax + 1]
mov rcx, qword [rbp + 0xf0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000197b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800026bb
call fcn.18003b4d4
mov rdx, qword [0x18004ac50]
mov qword [rbp + 0x140], r12
mov qword [rbp + 0x148], 0
mov ebx, dword [rdx + 0xb0]
mov eax, ebx
bts eax, 0xa
mov dword [rdx + 0xb0], eax
mov rax, qword [rdi]
mov r9, qword [rax + 0x210]
lea r8, [rbp + 0x140]
mov rcx, rdi
call r9
mov rax, qword [0x18004ac50]
mov dword [rax + 0xb0], ebx
movaps xmm0, xmmword [rbp + 0x140]
movdqa xmmword [rsp + 0x70], xmm0
lea rdx, [rbp + 0x150]
lea rcx, [rsp + 0x70]
call fcn.180001280
nop
mov qword [rbp + 8], 0
mov dword [rbp + 0x10], 0
lea r8, [rbp + 8]
mov rdx, r14
mov rcx, r13
call fcn.18003a810
movzx r12d, al
mov rbx, qword [r14 + 0x280]
test rbx, rbx
je 0x180001a62
mov r8d, 0x3d
lea rdx, [rbp + 0xb8]
mov rcx, rbx
call fcn.18003ac50
mov r8, qword [rax]
lea rdx, [rbp + 0x78]
mov rcx, rbx
call fcn.18003a650
lea r8, [rbp + 0x70]
lea rdx, [rbp + 0x78]
mov rcx, r13
call fcn.18003a9d0
test al, al
je 0x180001a62
movsd xmm0, qword [rbp + 0x70]
jmp 0x180001a6a
mov al, 1
jmp 0x180001844
movaps xmm0, xmm8
unpcklps xmm0, xmm8
movsd qword [rbp - 0x68], xmm0
mov rbx, qword [r14 + 0x280]
test rbx, rbx
je 0x180001ac7
mov r8d, 0x30
lea rdx, [rbp + 0xb0]
mov rcx, rbx
call fcn.18003ac50
mov r8, qword [rax]
lea rdx, [rbp + 0x88]
mov rcx, rbx
call fcn.18003a650
lea r8, [rbp - 0x40]
lea rdx, [rbp + 0x88]
mov rcx, r13
call fcn.18003a9d0
test al, al
je 0x180001ac7
movss xmm11, dword [rbp - 0x40]
movss xmm12, dword [rbp - 0x3c]
jmp 0x180001acf
movaps xmm12, xmm8
movaps xmm11, xmm8
ucomiss xmm11, xmm8
jp 0x180001ad7
je 0x180001ae7
ucomiss xmm12, xmm8
jp 0x180001baf
jne 0x180001baf
mov rdx, qword [rbp + 0x168]
cmp rdx, 0x10
jb 0x180001b28
inc rdx
mov rcx, qword [rbp + 0x150]
cmp rdx, 0x1000
mov rax, rcx
jb 0x180001b23
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800026f3
call fcn.18003b4d4
mov r12, qword [rbp - 0x80]
mov rdx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x50]
inc rsi
mov qword [rsp + 0x60], rsi
cmp rsi, rax
jl 0x180001810
mov rcx, qword [rbp + 0x188]
xor rcx, rsp
call fcn.18003b020
lea r11, [rsp + 0x330]
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
movaps xmm0, xmmword [0x180042a30]
movups xmmword [rsp + 0x70], xmm0
test r12b, r12b
je 0x180001bc8
mov dword [rsp + 0x74], 0x3da0a0a1
movzx eax, byte [r15 + 0x8c8]
cmp byte [r14 + 0x8c8], al
jne 0x180001be9
mov dword [rsp + 0x70], 0x3da0a0a1
mov dword [rsp + 0x74], 0x3f800000
cmp byte [0x18004a037], 0
je 0x180002386
xorps xmm0, xmm0
movdqa xmm1, xmmword [0x180042870]
movdqu xmmword [rbp - 0x58], xmm1
mov dword [rbp - 0x48], 0x2d
movdqu xmmword [rbp + 0xf0], xmm0
xor r15d, r15d
mov qword [rbp + 0x100], r15
lea ecx, [r15 + 0x14]
call fcn.18003b040
mov qword [rbp + 0xf0], rax
mov qword [rbp + 0xf8], rax
lea rbx, [rax + 0x14]
mov qword [rbp + 0x100], rbx
lea r8d, [r15 + 0x14]
lea rdx, [rbp - 0x58]
mov rcx, rax
call sub.VCRUNTIME140.dll_memmove
mov qword [rbp + 0xf8], rbx
xorps xmm0, xmm0
movdqa xmm1, xmmword [0x180042880]
movdqu xmmword [rbp - 0x18], xmm1
mov dword [rbp - 8], 0x32
mov dword [rbp - 4], 0x34
movdqu xmmword [rbp + 0x128], xmm0
mov qword [rbp + 0x138], r15
lea ecx, [r15 + 0x18]
call fcn.18003b040
mov qword [rbp + 0x128], rax
mov qword [rbp + 0x130], rax
lea rbx, [rax + 0x18]
mov qword [rbp + 0x138], rbx
lea r8d, [r15 + 0x18]
lea rdx, [rbp - 0x18]
mov rcx, rax
call sub.VCRUNTIME140.dll_memmove
mov qword [rbp + 0x130], rbx
xorps xmm0, xmm0
movdqa xmm1, xmmword [0x180042890]
movdqu xmmword [rbp - 0x58], xmm1
movdqu xmmword [rbp + 0x110], xmm0
mov qword [rbp + 0x120], r15
lea ecx, [r15 + 0x10]
call fcn.18003b040
mov qword [rbp + 0x110], rax
mov qword [rbp + 0x118], rax
lea rbx, [rax + 0x10]
mov qword [rbp + 0x120], rbx
lea r8d, [r15 + 0x10]
lea rdx, [rbp - 0x58]
mov rcx, rax
call sub.VCRUNTIME140.dll_memmove
mov qword [rbp + 0x118], rbx
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0xd8], xmm0
mov qword [rbp + 0xe8], rax
movdqa xmmword [rbp + 0x20], xmm0
mov qword [rbp + 0x30], r15
mov rsi, qword [rbp + 0xf0]
mov rdi, qword [rbp + 0xf8]
cmp rsi, rdi
je 0x180001dd9
mov rax, rdi
sub rax, rsi
sar rax, 2
movabs rcx, 0x3fffffffffffffff
cmp rax, rcx
ja 0x180002700
lea rbx, [rax*4]
cmp rbx, 0x1000
jb 0x180001da3
lea rcx, [rbx + 0x27]
cmp rcx, rbx
jbe 0x180002700
call fcn.18003b040
mov rcx, rax
test rax, rax
je 0x1800026c2
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x180001db5
test rbx, rbx
je 0x180001db2
mov rcx, rbx
call fcn.18003b040
jmp 0x180001db5
mov rax, r15
mov qword [rbp + 0x20], rax
mov qword [rbp + 0x28], rax
add rbx, rax
mov qword [rbp + 0x30], rbx
sub rdi, rsi
mov r8, rdi
mov rdx, rsi
mov rcx, rax
call sub.VCRUNTIME140.dll_memmove
mov qword [rbp + 0x28], rbx
mov qword [rbp + 0x38], r15
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x40], xmm0
mov rsi, qword [rbp + 0x128]
mov rdi, qword [rbp + 0x130]
cmp rsi, rdi
je 0x180001e8c
mov rax, rdi
sub rax, rsi
sar rax, 2
movabs rcx, 0x3fffffffffffffff
cmp rax, rcx
ja 0x180002706
lea rbx, [rax*4]
cmp rbx, 0x1000
jb 0x180001e56
lea rcx, [rbx + 0x27]
cmp rcx, rbx
jbe 0x180002706
call fcn.18003b040
mov rcx, rax
test rax, rax
je 0x1800026c9
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x180001e68
test rbx, rbx
je 0x180001e65
mov rcx, rbx
call fcn.18003b040
jmp 0x180001e68
mov rax, r15
mov qword [rbp + 0x38], rax
mov qword [rbp + 0x40], rax
add rbx, rax
mov qword [rbp + 0x48], rbx
sub rdi, rsi
mov r8, rdi
mov rdx, rsi
mov rcx, rax
call sub.VCRUNTIME140.dll_memmove
mov qword [rbp + 0x40], rbx
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x50], xmm0
mov qword [rbp + 0x60], r15
mov rsi, qword [rbp + 0x110]
mov rdi, qword [rbp + 0x118]
cmp rsi, rdi
je 0x180001f3f
mov rax, rdi
sub rax, rsi
sar rax, 2
movabs rcx, 0x3fffffffffffffff
cmp rax, rcx
ja 0x18000270c
lea rbx, [rax*4]
cmp rbx, 0x1000
jb 0x180001f09
lea rcx, [rbx + 0x27]
cmp rcx, rbx
jbe 0x18000270c
call fcn.18003b040
mov rcx, rax
test rax, rax
je 0x1800026d0
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x180001f1b
test rbx, rbx
je 0x180001f18
mov rcx, rbx
call fcn.18003b040
jmp 0x180001f1b
mov rax, r15
mov qword [rbp + 0x50], rax
mov qword [rbp + 0x58], rax
add rbx, rax
mov qword [rbp + 0x60], rbx
sub rdi, rsi
mov r8, rdi
mov rdx, rsi
mov rcx, rax
call sub.VCRUNTIME140.dll_memmove
mov qword [rbp + 0x58], rbx
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xd8], xmm0
mov qword [rbp + 0xe8], r15
mov ecx, 0x48
call fcn.18003b040
mov rbx, rax
mov qword [rbp + 0xd8], rax
mov qword [rbp + 0xe0], rax
lea rcx, [rax + 0x48]
mov qword [rbp + 0xe8], rcx
lea rax, [rbp + 0xd8]
mov qword [rbp - 0x58], rax
lea rdi, [rbp + 0x20]
xorps xmm0, xmm0
movups xmmword [rbp + 0x170], xmm0
mov qword [rbp + 0x170], rbx
mov qword [rbp + 0x178], rbx
lea rax, [rbp + 0xd8]
mov qword [rbp + 0x180], rax
nop dword [rax]
mov rdx, rdi
mov rcx, rbx
call fcn.180003440
add rbx, 0x18
mov qword [rbp + 0x178], rbx
add rdi, 0x18
lea rax, [rbp + 0x68]
cmp rdi, rax
jne 0x180001fb0
mov qword [rbp + 0x170], rbx
mov rdx, rbx
mov rcx, rbx
call fcn.180003f40
mov qword [rbp + 0xe0], rbx
lea r9, [0x1800033e0]
mov edx, 0x18
lea r8d, [rdx - 0x15]
lea rcx, [rbp + 0x20]
call fcn.18003b07c
mov rsi, qword [rbp + 0xd8]
mov r15, qword [rbp + 0xe0]
cmp rsi, r15
je 0x180002143
nop dword [rax]
xor ebx, ebx
mov rcx, qword [rsi + 8]
mov rdx, qword [rsi]
mov rax, rcx
sub rax, rdx
sar rax, 2
test rax, rax
je 0x180002136
nop dword [rax]
sub rcx, rdx
sar rcx, 2
cmp rcx, rbx
jbe 0x1800026fa
mov rdi, qword [r14 + 0x280]
test rdi, rdi
je 0x1800020a4
mov r8d, dword [rdx + rbx*4]
lea rdx, [rbp + 0xa8]
mov rcx, rdi
call fcn.18003ac50
mov r8, qword [rax]
lea rdx, [rbp + 0x98]
mov rcx, rdi
call fcn.18003a650
lea r8, [rbp - 0x38]
lea rdx, [rbp + 0x98]
mov rcx, r13
call fcn.18003a9d0
test al, al
je 0x1800020a4
movss xmm6, dword [rbp - 0x38]
movss xmm7, dword [rbp - 0x34]
jmp 0x1800020ac
movaps xmm7, xmm8
movaps xmm6, xmm8
test rbx, rbx
je 0x180002111
mov rax, qword [0x18004abd0]
mov rax, qword [rax + 0x3430]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.1800083e0
mov r10, rax
lea rcx, [rsp + 0x70]
call fcn.180005e60
movaps xmm0, xmm6
unpcklps xmm0, xmm7
movsd qword [rbp - 0x58], xmm0
movss dword [rbp - 0x30], xmm10
movss dword [rbp - 0x2c], xmm9
movss dword [rsp + 0x20], xmm13
mov r9d, eax
lea r8, [rbp - 0x58]
lea rdx, [rbp - 0x30]
mov rcx, r10
call fcn.180025560
movaps xmm10, xmm6
movaps xmm9, xmm7
inc rbx
mov rcx, qword [rsi + 8]
mov rdx, qword [rsi]
mov rax, rcx
sub rax, rdx
sar rax, 2
cmp rbx, rax
jb 0x180002040
add rsi, 0x18
cmp rsi, r15
jne 0x180002020
mov rax, qword [0x18004abd0]
mov rax, qword [rax + 0x3430]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.1800083e0
mov rbx, rax
lea rcx, [rsp + 0x70]
call fcn.180005e60
mov edi, eax
movaps xmm0, xmm11
unpcklps xmm0, xmm12
movsd qword [rbp - 0x58], xmm0
test eax, 0xff000000
je 0x1800021d6
mov dword [rsp + 0x20], 0x30
xor r9d, r9d
movss xmm2, dword [0x180042740]
lea rdx, [rbp - 0x58]
mov rcx, rbx
call fcn.180024680
dec dword [rbx + 0x78]
movss dword [rsp + 0x28], xmm13
mov dword [rsp + 0x20], 1
mov r9d, edi
mov r8d, dword [rbx + 0x78]
mov rdx, qword [rbx + 0x80]
mov rcx, rbx
call fcn.180023210
xor edi, edi
mov dword [rbx + 0x78], edi
jmp 0x1800021d8
xor edi, edi
mov rcx, qword [rbp + 0xd8]
test rcx, rcx
je 0x180002263
mov rdx, qword [rbp + 0xe0]
call fcn.180003f40
mov rcx, qword [rbp + 0xe8]
mov r8, qword [rbp + 0xd8]
sub rcx, r8
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rdx, [rdx + rdx*2]
shl rdx, 3
mov rax, r8
cmp rdx, 0x1000
jb 0x180002249
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800026d7
mov rcx, r8
call fcn.18003b4d4
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xd8], xmm0
mov qword [rbp + 0xe8], rdi
mov rcx, qword [rbp + 0x110]
test rcx, rcx
je 0x1800022c1
mov rax, qword [rbp + 0x120]
sub rax, rcx
sar rax, 2
lea rdx, [rax*4]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800022aa
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800026de
call fcn.18003b4d4
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x110], xmm0
mov qword [rbp + 0x120], rdi
mov rcx, qword [rbp + 0x128]
test rcx, rcx
je 0x18000231f
mov rax, qword [rbp + 0x138]
sub rax, rcx
sar rax, 2
lea rdx, [rax*4]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180002308
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800026e5
call fcn.18003b4d4
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x128], xmm0
mov qword [rbp + 0x138], rdi
mov rcx, qword [rbp + 0xf0]
test rcx, rcx
je 0x18000237d
mov rax, qword [rbp + 0x100]
sub rax, rcx
sar rax, 2
lea rdx, [rax*4]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180002366
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800026ec
call fcn.18003b4d4
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xf0], xmm0
mov qword [rbp + 0x100], rdi
mov r15, qword [rbp - 0x28]
mov rsi, qword [rsp + 0x60]
cmp byte [0x18004a035], 0
je 0x1800024f2
lea rax, [rbp + 0x150]
cmp qword [rbp + 0x168], 0x10
cmovae rax, qword [rbp + 0x150]
mov rbx, qword [0x18004abd0]
movss xmm7, dword [rbx + 0x2fa0]
test rax, rax
jne 0x1800023c4
movaps xmm6, xmm8
jmp 0x180002419
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], rax
movss xmm0, dword [0x1800427ec]
movss dword [rsp + 0x20], xmm0
movaps xmm3, xmm15
movaps xmm2, xmm7
lea rdx, [rbp - 0x60]
mov rcx, qword [rbx + 0x2f98]
call fcn.180029280
movss xmm0, dword [rbp - 0x60]
addss xmm0, dword [0x180042724]
cvttss2si eax, xmm0
movd xmm6, eax
cvtdq2ps xmm6, xmm6
movss dword [rbp - 0x60], xmm6
movss xmm7, dword [rbp - 0x5c]
mov rax, qword [rbx + 0x3430]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.1800083e0
mov r10, rax
lea r8, [rbp + 0x150]
cmp qword [rbp + 0x168], 0x10
cmovae r8, qword [rbp + 0x150]
lea rcx, [rsp + 0x70]
call fcn.180005e60
mov r9d, eax
mulss xmm7, dword [0x1800426f4]
movss xmm1, dword [rbp - 0x64]
subss xmm1, xmm7
mulss xmm6, dword [0x1800426f4]
movss xmm0, dword [rbp - 0x68]
subss xmm0, xmm6
movss dword [rbp - 0x20], xmm0
movss dword [rbp - 0x1c], xmm1
test eax, 0xff000000
je 0x1800024f2
mov rcx, 0xffffffffffffffff
inc rcx
cmp byte [r8 + rcx], 0
jne 0x180002495
add rcx, r8
cmp r8, rcx
je 0x1800024f2
mov rax, qword [r10 + 0x38]
movups xmm0, xmmword [r10 + 0x88]
movups xmmword [rsp + 0x70], xmm0
mov byte [rsp + 0x48], 0
movss dword [rsp + 0x40], xmm8
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], r8
lea rcx, [rsp + 0x70]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], r9d
mov r9, qword [rbp - 0x20]
movss xmm2, dword [rax + 0x10]
mov rdx, r10
mov rcx, qword [rax + 8]
call fcn.1800294a0
movzx eax, byte [r15 + 0x8c8]
cmp byte [r14 + 0x8c8], al
jne 0x18000251d
mov rax, qword [rbp + 0x168]
cmp rax, 0x10
jb 0x180001b28
lea rdx, [rax + 1]
jmp 0x180001af7
cmp byte [0x18004a034], 0
je 0x180002503
cmp byte [0x18004a036], 0
jne 0x180002547
mov ecx, 6
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x18000255c
cmp byte [0x18004a036], al
je 0x180002503
test r12b, r12b
je 0x180002503
mov ecx, 6
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180002503
movss xmm1, dword [0x18004a430]
movss xmm0, dword [0x18004a434]
subss xmm1, xmm11
subss xmm0, xmm12
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm1, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm1
ja 0x180002593
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x18000259b
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
comiss xmm14, xmm0
jbe 0x180002503
movss xmm1, dword [0x18004a054]
comiss xmm1, xmm0
jbe 0x180002503
mov ecx, dword [0x18004ab20]
test ecx, ecx
je 0x1800025e1
sub ecx, 1
je 0x1800025d9
cmp ecx, 1
jne 0x1800025d0
lea r8d, [rcx + 0x39]
jmp 0x1800025e7
mov r8d, dword [0x18004a050]
jmp 0x1800025ee
mov r8d, 5
jmp 0x1800025e7
mov r8d, 0x30
mov dword [0x18004a050], r8d
movaps xmm14, xmm0
mov rbx, qword [r14 + 0x280]
lea rdx, [rbp + 0xc0]
mov rcx, rbx
call fcn.18003ac50
mov r8, qword [rax]
lea rdx, [rbp + 0xc8]
mov rcx, rbx
call fcn.18003a650
movsd xmm0, qword [rax]
movsd qword [rbp - 0x78], xmm0
mov eax, dword [rax + 8]
mov dword [rbp - 0x70], eax
jmp 0x180002503
cmp byte [0x18004a034], 0
je 0x180001b2c
call fcn.18003af60
mov rcx, qword [r14 + 0x10]
test rcx, rcx
je 0x180001b2c
nop dword [rax]
cmp rcx, rax
je 0x180002663
mov rcx, qword [rcx + 0x40]
test rcx, rcx
jne 0x180002650
jmp 0x180001b2c
cmp qword [r14 + 0x278], r13
jne 0x180001b2c
movss xmm0, dword [rbp - 0x78]
ucomiss xmm0, xmm8
jp 0x180002681
je 0x180001b2c
movss xmm0, dword [rbp - 0x74]
ucomiss xmm0, xmm8
jp 0x180002692
je 0x180001b2c
movss xmm0, dword [rbp - 0x70]
ucomiss xmm0, xmm8
jp 0x1800026a3
je 0x180001b2c
lea rdx, [rbp - 0x78]
mov rcx, r14
call fcn.18003a450
jmp 0x180001b2c
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call fcn.180003630
nop
call fcn.1800011a0
nop
call fcn.1800011a0
nop
call fcn.1800011a0
int3