Function at 0x1400158c0
Capabilities:
Check mutex on windows
Encode data using xor
Generate random numbers using a mersenne twister
Log keystrokes via polling
Set console window title

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
mov eax, 0x1910
call fcn.140072230
sub rsp, rax
movaps xmmword [rsp + 0x1900], xmm6
movaps xmmword [rsp + 0x18f0], xmm7
movaps xmmword [rsp + 0x18e0], xmm8
movaps xmmword [rsp + 0x18d0], xmm9
movaps xmmword [rsp + 0x18c0], xmm10
movaps xmmword [rsp + 0x18b0], xmm11
movaps xmmword [rsp + 0x18a0], xmm12
lea rbp, [rsp + 0x60]
and rbp, 0xffffffffffffffe0
mov rax, qword [0x1400d62c0]
xor rax, rsp
mov qword [rbp + 0x1830], rax
xor r15d, r15d
call fcn.140071438
mov dword [rbp + 0x15e4], 0xffffffff
mov dword [rbp + 0x264], eax
lea edx, [r15 + 1]
nop dword [rax + rax]
mov ecx, eax
shr ecx, 0x1e
xor ecx, eax
imul eax, ecx, 0x6c078965
add eax, edx
mov dword [rbp + rdx*4 + 0x264], eax
inc rdx
cmp rdx, 0x270
jb 0x140015960
mov dword [rbp + 0x260], 0x270
xorps xmm0, xmm0
movups xmmword [rbp + 0x1820], xmm0
mov rdi, r15
lea rsi, str.abcdefghi9182345jklmnopqrstuv211935960473wxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890
lea rcx, [rbp + 0x260]
call fcn.140018ec0
mov ecx, eax
imul rbx, rcx, 0x64
cmp ebx, 0x5f
ja 0x1400159d7
nop word [rax + rax]
lea rcx, [rbp + 0x260]
call fcn.140018ec0
mov ecx, eax
imul rbx, rcx, 0x64
cmp ebx, 0x60
jb 0x1400159c0
shr rbx, 0x20
call fcn.140081aec
lea ecx, [rbx + 1]
cdq
idiv ecx
movsxd rax, edx
movzx ecx, word [rsi + rax*2]
add word [rbp + rdi*2 + 0x1820], cx
inc rdi
cmp rdi, 7
jne 0x1400159a0
lea rcx, [rbp + 0x1820]
call qword [sym.imp.KERNEL32.dll_SetConsoleTitleW]
call fcn.140058f10
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov edx, 0xc0000000
lea r8d, [rdi - 4]
lea rcx, str.CONIN_
call qword [sym.imp.KERNEL32.dll_CreateFileW]
lea edx, [rdi + 0x79]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetConsoleMode]
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
lea edx, [rdi + 0x79]
call qword [sym.imp.KERNEL32.dll_SetPriorityClass]
lea rcx, str._clsclear
call fcn.140081f08
lea edx, [rdi + 0xd]
lea ecx, [rdi + 0x21]
call fcn.140009a80
movabs rax, 0x218e2277b724210d
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x80], rax
movabs rax, 0x1806c1be75624479
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x88], rax
movabs rdi, 0x198c60dde265c91f
mov qword [rbp], rdi
mov rax, qword [rbp]
mov qword [rbp + 0x90], rax
movabs rax, 0xfa5ba7fc3133b498
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x98], rax
movabs rbx, 0xd68f4a131fd89d71
mov qword [rbp], rbx
mov rax, qword [rbp]
mov qword [rbp + 0xa0], rax
movabs r14, 0xcbb0cdba3303768a
mov qword [rbp], r14
mov rax, qword [rbp]
mov qword [rbp + 0xa8], rax
movabs r13, 0x7eae02579704012d
mov qword [rbp], r13
mov rax, qword [rbp]
mov qword [rbp + 0x16a0], rax
movabs r12, 0x38269e9e553d1b26
mov qword [rbp], r12
mov rax, qword [rbp]
mov qword [rbp + 0x16a8], rax
movabs rax, 0x39ac40fdc245e93f
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x16b0], rax
movabs rax, 0xda0487dc111394b8
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x16b8], rax
movabs rsi, 0xd6856a333ff8bd51
mov qword [rbp], rsi
mov rax, qword [rbp]
mov qword [rbp + 0x16c0], rax
mov qword [rbp], r14
mov rax, qword [rbp]
mov qword [rbp + 0x16c8], rax
vmovdqu ymm0, ymmword [rbp + 0x80]
vpxor ymm1, ymm0, ymmword [rbp + 0x16a0]
vmovdqa ymmword [rbp + 0x80], ymm1
vmovdqa xmm0, xmmword [rbp + 0xa0]
vxorps xmm0, xmm0, xmmword [rbp + 0x16c0]
vmovdqa xmmword [rbp + 0xa0], xmm0
lea rdx, [rbp + 0x80]
lea rcx, [0x1400d7e30]
vzeroupper
call fcn.140006be0
movabs rax, 0x21d22277b724210d
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xc0], rax
movabs rax, 0x185abee2091d4479
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xc8], rax
mov qword [rbp], rdi
mov rax, qword [rbp]
mov qword [rbp + 0xd0], rax
movabs rax, 0xa624fbfc3133b498
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xd8], rax
mov qword [rbp], rbx
mov rax, qword [rbp]
mov qword [rbp + 0xe0], rax
mov qword [rbp], r14
mov rax, qword [rbp]
mov qword [rbp + 0xe8], rax
mov qword [rbp], r13
mov rax, qword [rbp]
mov qword [rbp + 0x16e0], rax
mov qword [rbp], r12
mov rax, qword [rbp]
mov qword [rbp + 0x16e8], rax
movabs rdi, 0x39ac40fdc245e93f
mov qword [rbp], rdi
mov rax, qword [rbp]
mov qword [rbp + 0x16f0], rax
movabs rbx, 0xda0487dc111394b8
mov qword [rbp], rbx
mov rax, qword [rbp]
mov qword [rbp + 0x16f8], rax
mov qword [rbp], rsi
mov rax, qword [rbp]
mov qword [rbp + 0x1700], rax
mov qword [rbp], r14
mov rax, qword [rbp]
mov qword [rbp + 0x1708], rax
vmovdqu ymm0, ymmword [rbp + 0xc0]
vpxor ymm1, ymm0, ymmword [rbp + 0x16e0]
vmovdqa ymmword [rbp + 0xc0], ymm1
vmovdqa xmm0, xmmword [rbp + 0xe0]
vxorps xmm0, xmm0, xmmword [rbp + 0x1700]
vmovdqa xmmword [rbp + 0xe0], xmm0
lea rdx, [rbp + 0xc0]
lea rcx, [0x1400d7e30]
vzeroupper
call fcn.140006be0
movabs rax, 0x5e8e2208c8245e0d
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x100], rax
movabs rax, 0x675abee275144479
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x108], rax
movabs rax, 0x66f31fdd9d1ab61f
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x110], rax
movabs rax, 0xa624fb834e33b498
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x118], rax
movabs rax, 0xd68f4a1360a7e271
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x120], rax
mov qword [rbp], r14
mov rax, qword [rbp]
mov qword [rbp + 0x128], rax
mov qword [rbp], r13
mov rax, qword [rbp]
mov qword [rbp + 0x1720], rax
mov qword [rbp], r12
mov rax, qword [rbp]
mov qword [rbp + 0x1728], rax
mov qword [rbp], rdi
mov rax, qword [rbp]
mov qword [rbp + 0x1730], rax
mov qword [rbp], rbx
mov rax, qword [rbp]
mov qword [rbp + 0x1738], rax
mov qword [rbp], rsi
mov rax, qword [rbp]
mov qword [rbp + 0x1740], rax
mov qword [rbp], r14
mov rax, qword [rbp]
mov qword [rbp + 0x1748], rax
vmovdqu ymm0, ymmword [rbp + 0x100]
vpxor ymm1, ymm0, ymmword [rbp + 0x1720]
vmovdqa ymmword [rbp + 0x100], ymm1
vmovdqa xmm0, xmmword [rbp + 0x120]
vxorps xmm0, xmm0, xmmword [rbp + 0x1740]
vmovdqa xmmword [rbp + 0x120], xmm0
lea rdx, [rbp + 0x100]
lea rcx, [0x1400d7e30]
vzeroupper
call fcn.140006be0
movabs rax, 0x28e5e77c8232151
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x140], rax
movabs rax, 0x6779bee2691d4479
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x148], rax
movabs rax, 0x19f360d29d1ac910
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x150], rax
movabs rax, 0xa624e783313cb4e4
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x158], rax
movabs rax, 0xd68f4a6f1fa79d7e
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x160], rax
mov qword [rbp], r14
mov rax, qword [rbp]
mov qword [rbp + 0x168], rax
mov qword [rbp], r13
mov rax, qword [rbp]
mov qword [rbp + 0x1760], rax
mov qword [rbp], r12
mov rax, qword [rbp]
mov qword [rbp + 0x1768], rax
mov qword [rbp], rdi
mov rax, qword [rbp]
mov qword [rbp + 0x1770], rax
mov qword [rbp], rbx
mov rax, qword [rbp]
mov qword [rbp + 0x1778], rax
mov qword [rbp], rsi
mov rax, qword [rbp]
mov qword [rbp + 0x1780], rax
mov qword [rbp], r14
mov rax, qword [rbp]
mov qword [rbp + 0x1788], rax
vmovdqu ymm0, ymmword [rbp + 0x140]
vpxor ymm1, ymm0, ymmword [rbp + 0x1760]
vmovdqa ymmword [rbp + 0x140], ymm1
vmovdqa xmm0, xmmword [rbp + 0x160]
vxorps xmm0, xmm0, xmmword [rbp + 0x1780]
vmovdqa xmmword [rbp + 0x160], xmm0
lea rdx, [rbp + 0x140]
lea rcx, [0x1400d7e30]
vzeroupper
call fcn.140006be0
movabs rax, 0x21d2222bb7782151
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x180], rax
movabs rax, 0x445abee275144479
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x188], rax
movabs rax, 0x10f368ddbe1ac11f
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x190], rax
movabs rax, 0xa624fb833933e898
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x198], rax
movabs rax, 0xd68f4a1c60a79d71
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x1a0], rax
mov qword [rbp], r14
mov rax, qword [rbp]
mov qword [rbp + 0x1a8], rax
mov qword [rbp], r13
mov rax, qword [rbp]
mov qword [rbp + 0x17a0], rax
mov qword [rbp], r12
mov rax, qword [rbp]
mov qword [rbp + 0x17a8], rax
mov qword [rbp], rdi
mov rax, qword [rbp]
mov qword [rbp + 0x17b0], rax
mov qword [rbp], rbx
mov rax, qword [rbp]
mov qword [rbp + 0x17b8], rax
mov qword [rbp], rsi
mov rax, qword [rbp]
mov qword [rbp + 0x17c0], rax
mov qword [rbp], r14
mov rax, qword [rbp]
mov qword [rbp + 0x17c8], rax
vmovdqu ymm0, ymmword [rbp + 0x180]
vpxor ymm1, ymm0, ymmword [rbp + 0x17a0]
vmovdqa ymmword [rbp + 0x180], ymm1
vmovdqa xmm0, xmmword [rbp + 0x1a0]
vxorps xmm0, xmm0, xmmword [rbp + 0x17c0]
vmovdqa xmmword [rbp + 0x1a0], xmm0
lea rdx, [rbp + 0x180]
lea rcx, [0x1400d7e30]
vzeroupper
call fcn.140006be0
movabs rax, 0x21d25d2bb7785e51
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x1c0], rax
movabs rax, 0x6779c2be7a624479
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x1c8], rax
movabs rax, 0x66f31fa19d1ab663
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x1d0], rax
movabs rax, 0xa65bab834e4fb497
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x1d8], rax
movabs rax, 0xd68f4a4f60a7e20d
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x1e0], rax
mov qword [rbp], r14
mov rax, qword [rbp]
mov qword [rbp + 0x1e8], rax
mov qword [rbp], r13
mov rax, qword [rbp]
mov qword [rbp + 0x17e0], rax
mov qword [rbp], r12
mov rax, qword [rbp]
mov qword [rbp + 0x17e8], rax
mov qword [rbp], rdi
mov rax, qword [rbp]
mov qword [rbp + 0x17f0], rax
mov qword [rbp], rbx
mov rax, qword [rbp]
mov qword [rbp + 0x17f8], rax
mov qword [rbp], rsi
mov rax, qword [rbp]
mov qword [rbp + 0x1800], rax
mov qword [rbp], r14
mov rax, qword [rbp]
mov qword [rbp + 0x1808], rax
vmovdqu ymm0, ymmword [rbp + 0x1c0]
vpxor ymm1, ymm0, ymmword [rbp + 0x17e0]
vmovdqa ymmword [rbp + 0x1c0], ymm1
vmovdqa xmm0, xmmword [rbp + 0x1e0]
vxorps xmm0, xmm0, xmmword [rbp + 0x1800]
vmovdqa xmmword [rbp + 0x1e0], xmm0
lea rdx, [rbp + 0x1c0]
lea rcx, [0x1400d7e30]
vzeroupper
call fcn.140006be0
movabs rsi, 0x7eae025797040127
mov qword [rbp], rsi
mov rax, qword [rbp]
mov qword [rbp + 0x20], rax
mov qword [rbp], r12
mov rax, qword [rbp]
mov qword [rbp + 0x28], rax
mov qword [rbp], r13
mov rax, qword [rbp]
mov qword [rbp + 0x1660], rax
mov qword [rbp], r12
mov rax, qword [rbp]
mov qword [rbp + 0x1668], rax
movdqa xmm0, xmmword [rbp + 0x20]
xorps xmm0, xmmword [rbp + 0x1660]
movdqa xmmword [rbp + 0x20], xmm0
lea rdx, [rbp + 0x20]
lea rcx, [0x1400d7e30]
call fcn.140006be0
mov qword [rbp], rsi
mov rax, qword [rbp]
mov qword [rbp + 0x30], rax
mov qword [rbp], r12
mov rax, qword [rbp]
mov qword [rbp + 0x38], rax
mov qword [rbp], r13
mov rax, qword [rbp]
mov qword [rbp + 0x1670], rax
mov qword [rbp], r12
mov rax, qword [rbp]
mov qword [rbp + 0x1678], rax
movdqa xmm0, xmmword [rbp + 0x30]
xorps xmm0, xmmword [rbp + 0x1670]
movdqa xmmword [rbp + 0x30], xmm0
lea rdx, [rbp + 0x30]
lea rcx, [0x1400d7e30]
call fcn.140006be0
mov qword [rbp], rsi
mov rax, qword [rbp]
mov qword [rbp + 0x40], rax
mov qword [rbp], r12
mov rax, qword [rbp]
mov qword [rbp + 0x48], rax
mov qword [rbp], r13
mov rax, qword [rbp]
mov qword [rbp + 0x1680], rax
mov qword [rbp], r12
mov rax, qword [rbp]
mov qword [rbp + 0x1688], rax
movdqa xmm0, xmmword [rbp + 0x40]
xorps xmm0, xmmword [rbp + 0x1680]
movdqa xmmword [rbp + 0x40], xmm0
lea rdx, [rbp + 0x40]
lea rcx, [0x1400d7e30]
call fcn.140006be0
mov qword [rbp], 0x64
lea rcx, [rbp]
call fcn.1400186a0
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rax, qword [0x1401199b8]
test rax, rax
jne 0x140016300
xor r8d, r8d
lea edx, [rax + 1]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateMutexW]
mov qword [0x1401199b8], rax
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov edx, 0x11de
mov ecx, 0x5bf
call sym.client.exe_hid_enumerate
test rax, rax
je 0x140016335
mov ecx, 0xff00
cmp word [rax + 0x30], cx
je 0x140016478
mov rax, qword [rax + 0x38]
test rax, rax
jne 0x140016322
movabs rax, 0xa8e6632fb6d604b
mov qword [rbp + 0x200], rax
mov rax, qword [rbp + 0x200]
mov qword [rbp + 0x220], rax
movabs rax, 0x3207faff3a513b49
mov qword [rbp + 0x200], rax
mov rax, qword [rbp + 0x200]
mov qword [rbp + 0x228], rax
mov qword [rbp + 0x200], rdi
mov rax, qword [rbp + 0x200]
mov qword [rbp + 0x230], rax
mov qword [rbp + 0x200], rbx
mov rax, qword [rbp + 0x200]
mov qword [rbp + 0x238], rax
mov qword [rbp + 0x200], r13
mov rax, qword [rbp + 0x200]
mov qword [rbp + 0x1600], rax
mov qword [rbp + 0x200], r12
mov rax, qword [rbp + 0x200]
mov qword [rbp + 0x1608], rax
mov qword [rbp + 0x200], rdi
mov rax, qword [rbp + 0x200]
mov qword [rbp + 0x1610], rax
mov qword [rbp + 0x200], rbx
mov rax, qword [rbp + 0x200]
mov qword [rbp + 0x1618], rax
vmovdqu ymm0, ymmword [rbp + 0x1600]
vpxor ymm1, ymm0, ymmword [rbp + 0x220]
vmovdqa ymmword [rbp + 0x220], ymm1
lea rcx, [rbp + 0x220]
vzeroupper
call fcn.140081d60
mov ecx, 0x9c4
call qword [sym.imp.KERNEL32.dll_Sleep]
xor eax, eax
mov rcx, qword [rbp + 0x1830]
xor rcx, rsp
call fcn.1400719c0
lea r11, [rsp + 0x1910]
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]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
mov rcx, qword [rax]
call sym.client.exe_hid_open_path
mov qword [0x1400d98f0], rax
test rax, rax
jne 0x140016498
mov qword [0x1400d98f0], r15
jmp 0x140016335
xor r9d, r9d
lea rdx, str.Connected
xor ecx, ecx
call fcn.140003a00
xor r9d, r9d
lea rdx, str.Connected
lea ecx, [r9 - 1]
call fcn.140003a00
movabs rax, 0x748f6632f3656e41
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x200], rax
mov qword [rbp], r12
mov rax, qword [rbp]
mov qword [rbp + 0x208], rax
mov qword [rbp], r13
mov rax, qword [rbp]
mov qword [rbp + 0x1640], rax
mov qword [rbp], r12
mov rax, qword [rbp]
mov qword [rbp + 0x1648], rax
movdqa xmm0, xmmword [rbp + 0x200]
xorps xmm0, xmmword [rbp + 0x1640]
movdqa xmmword [rbp + 0x200], xmm0
lea rcx, [rbp + 0x200]
call fcn.140081d60
mov qword [rbp], rsi
mov rax, qword [rbp]
mov qword [rbp + 0x50], rax
mov qword [rbp], r12
mov rax, qword [rbp]
mov qword [rbp + 0x58], rax
mov qword [rbp], r13
mov rax, qword [rbp]
mov qword [rbp + 0x1620], rax
mov qword [rbp], r12
mov rax, qword [rbp]
mov qword [rbp + 0x1628], rax
movdqa xmm0, xmmword [rbp + 0x50]
xorps xmm0, xmmword [rbp + 0x1620]
movdqa xmmword [rbp + 0x50], xmm0
lea rdx, [rbp + 0x50]
lea rcx, [0x1400d7e30]
call fcn.140006be0
movabs rax, 0x3bfc4300d3564065
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x1620], rax
movabs rax, 0x7669d7cd07784d06
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x1628], rax
movabs rax, 0x39ac40fdc245e935
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x1630], rax
mov qword [rbp], rbx
mov rax, qword [rbp]
mov qword [rbp + 0x1638], rax
mov qword [rbp], r13
mov rax, qword [rbp]
mov qword [rbp + 0x1640], rax
mov qword [rbp], r12
mov rax, qword [rbp]
mov qword [rbp + 0x1648], rax
mov qword [rbp], rdi
mov rax, qword [rbp]
mov qword [rbp + 0x1650], rax
mov qword [rbp], rbx
mov rax, qword [rbp]
mov qword [rbp + 0x1658], rax
vmovdqu ymm0, ymmword [rbp + 0x1620]
vpxor ymm1, ymm0, ymmword [rbp + 0x1640]
vmovdqa ymmword [rbp + 0x1620], ymm1
lea rdx, [rbp + 0x1620]
lea rcx, [0x1400d7e30]
vzeroupper
call fcn.140006be0
lea rdx, [0x140119b08]
lea rcx, [0x1400d7e30]
call fcn.140006be0
movabs rax, 0x88e2277b724210d
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x60], rax
mov qword [rbp], r12
mov rax, qword [rbp]
mov qword [rbp + 0x68], rax
mov qword [rbp], r13
mov rax, qword [rbp]
mov qword [rbp + 0x1600], rax
mov qword [rbp], r12
mov rax, qword [rbp]
mov qword [rbp + 0x1608], rax
movdqa xmm0, xmmword [rbp + 0x60]
xorps xmm0, xmmword [rbp + 0x1600]
movdqa xmmword [rbp + 0x60], xmm0
lea rdx, [rbp + 0x60]
lea rcx, [0x1400d7e30]
call fcn.140006be0
movsd xmm1, qword [0x1400c7d90]
lea rcx, [0x1400d7e30]
call fcn.140004a10
mov ecx, 0x5dc
call qword [sym.imp.KERNEL32.dll_Sleep]
lea rcx, str._clsclear
call fcn.140081f08
call fcn.14000e810
mov edx, 8
lea ecx, [rdx + 0x1b]
call fcn.140009a80
mov edx, 1
lea rcx, [0x140009650]
call qword [sym.imp.KERNEL32.dll_SetConsoleCtrlHandler]
mov ecx, 8
call fcn.1400719e0
lea rcx, [0x140015410]
mov qword [rax], rcx
mov qword [rbp + 0x200], rax
lea rcx, [rbp + 0x18]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], r15d
mov r9, rax
lea r8, [0x140019050]
xor edx, edx
xor ecx, ecx
call fcn.140081a04
mov qword [rbp + 0x10], rax
test rax, rax
je 0x140016dbf
cmp dword [rbp + 0x18], 0
je 0x140016db4
movaps xmm0, xmmword [rbp + 0x10]
movdqa xmmword [rbp + 0x1600], xmm0
lea rcx, [rbp + 0x1600]
call fcn.14007150c
test eax, eax
jne 0x140016db4
xorps xmm0, xmm0
movups xmmword [rbp + 0x230], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x220], xmm1
mov qword [rbp + 0x230], r15
lea ecx, [rax + 0x38]
call fcn.1400719e0
mov rsi, rax
mov qword [rbp + 0x200], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
mov qword [rax], r15
mov qword [rax + 8], r15
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], r15
mov qword [rax + 0x20], r15
mov qword [rax + 0x28], r15
mov qword [rax + 0x30], r15
mov rcx, rax
call fcn.140001890
nop
mov qword [rbp + 0x238], rsi
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x240], xmm1
mov rbx, r15
mov qword [rbp + 0x250], rbx
movsd xmm10, qword [0x1400c7d78]
movaps xmm8, xmm10
divsd xmm8, qword [0x140119db8]
mov eax, dword [0x140119e40]
cdq
idiv dword [0x140119d0c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movaps xmm9, xmm8
divsd xmm9, xmm0
mulsd xmm9, qword [0x1400c7d88]
mov eax, dword [0x140119e44]
cdq
idiv dword [0x140119a5c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
divsd xmm8, xmm0
mulsd xmm8, qword [0x1400c7d88]
movsd xmm12, qword [0x1400c7de0]
xorps xmm11, xmm11
movsd xmm6, qword [0x1400c7d80]
movsd xmm7, qword [0x1400c7db8]
mov rdi, qword [rbp + 0x240]
nop word [rax + rax]
mov ecx, dword [0x140119cac]
call qword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x140016b34
test rsi, rsi
je 0x1400168a2
mov rcx, rsi
call fcn.1400014a0
mov r8d, dword [0x1401199c8]
lea rdx, [rbp + 0x1600]
lea rcx, [rbp + 0x220]
call fcn.140001cb0
mov rsi, rax
lea rax, [rbp + 0x240]
cmp rax, rsi
je 0x140016932
test rdi, rdi
je 0x140016907
sub rbx, rdi
and rbx, 0xfffffffffffffffc
mov rax, rdi
cmp rbx, 0x1000
jb 0x1400168fc
add rbx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140016dce
mov rdx, rbx
mov rcx, rdi
call fcn.140071a1c
mov rdi, qword [rsi]
mov qword [rbp + 0x240], rdi
mov rax, qword [rsi + 8]
mov qword [rbp + 0x248], rax
mov rbx, qword [rsi + 0x10]
mov qword [rbp + 0x250], rbx
mov qword [rsi], r15
mov qword [rsi + 8], r15
mov qword [rsi + 0x10], r15
mov rcx, qword [rbp + 0x1600]
test rcx, rcx
je 0x140016976
mov rdx, qword [rbp + 0x1610]
sub rdx, rcx
and rdx, 0xfffffffffffffffc
mov rax, rcx
cmp rdx, 0x1000
jb 0x140016971
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140016dce
call fcn.140071a1c
cmp dword [rdi], 0
jne 0x140016985
cmp dword [rdi + 4], 0
je 0x140016af0
mov eax, dword [0x140119b00]
cmp eax, dword [0x140119a90]
jl 0x14001699d
movsd xmm4, qword [0x140119bc0]
jmp 0x1400169a5
movsd xmm4, qword [0x140119bc8]
movsd qword [0x140119ab8], xmm4
mov ecx, dword [0x140119b74]
cmp eax, ecx
jl 0x140016a00
test ecx, ecx
je 0x140016a00
movd xmm0, dword [0x140119dec]
cvtdq2pd xmm0, xmm0
movsd xmm3, qword [0x140119df0]
addsd xmm3, xmm0
movsd qword [0x140119df0], xmm3
movd xmm0, dword [0x140119d1c]
cvtdq2pd xmm0, xmm0
comisd xmm3, xmm0
jbe 0x140016a08
mov dword [0x140119da4], 1
mov dword [0x140119c68], r15d
jmp 0x140016a08
movsd xmm3, qword [0x140119df0]
mov ecx, dword [0x140119c8c]
cmp eax, ecx
jle 0x140016a1a
test ecx, ecx
jne 0x140016af0
movd xmm2, dword [0x140119b5c]
cvtdq2pd xmm2, xmm2
mulsd xmm2, xmm9
movsd qword [0x140119b48], xmm2
movd xmm1, dword [0x140119c68]
cvtdq2pd xmm1, xmm1
addsd xmm1, xmm3
mulsd xmm1, xmm8
movsd qword [0x140119a48], xmm1
movaps xmm3, xmm2
movaps xmm5, xmm2
movaps xmm0, xmm2
andps xmm0, xmm12
comisd xmm10, xmm0
jbe 0x140016a8f
comisd xmm2, xmm11
jbe 0x140016a7e
movsd qword [0x140119b48], xmm6
movaps xmm2, xmm6
movaps xmm3, xmm6
movaps xmm5, xmm6
jmp 0x140016a8f
movsd qword [0x140119b48], xmm7
movaps xmm2, xmm7
movaps xmm3, xmm7
movaps xmm5, xmm7
movaps xmm0, xmm1
andps xmm0, xmm12
comisd xmm10, xmm0
jbe 0x140016ac2
comisd xmm1, xmm11
jbe 0x140016ab4
movsd qword [0x140119a48], xmm6
movaps xmm3, xmm2
movaps xmm1, xmm6
jmp 0x140016ac2
movsd qword [0x140119a48], xmm7
movaps xmm3, xmm5
movaps xmm1, xmm7
cvttsd2si ecx, xmm3
mov dword [0x1401199c0], ecx
cvttsd2si edx, xmm1
mov dword [0x140119a98], edx
cvtpd2ps xmm2, xmm4
cmp dword [0x140119da4], 0
je 0x140016ae5
xor edx, edx
call fcn.140009730
inc dword [0x140119b00]
mov dword [0x140119a98], r15d
mov dword [0x1401199c0], r15d
movsxd rax, dword [0x140119c2c]
mov qword [rbp + 0x200], rax
lea rcx, [rbp + 0x200]
call fcn.1400186a0
mov ecx, dword [0x140119cac]
call qword [sym.imp.USER32.dll_GetKeyState]
mov rsi, qword [rbp + 0x238]
test ax, ax
js 0x140016895
mov ecx, dword [0x140119cf0]
call qword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x140016d98
nop dword [rax]
test rsi, rsi
je 0x140016b5d
mov rcx, rsi
call fcn.1400014a0
mov r8d, dword [0x1401199c4]
lea rdx, [rbp + 0x1600]
lea rcx, [rbp + 0x220]
call fcn.140001cb0
mov rsi, rax
lea rax, [rbp + 0x240]
cmp rax, rsi
je 0x140016bed
test rdi, rdi
je 0x140016bc2
sub rbx, rdi
and rbx, 0xfffffffffffffffc
mov rax, rdi
cmp rbx, 0x1000
jb 0x140016bb7
add rbx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140016dd4
mov rdx, rbx
mov rcx, rdi
call fcn.140071a1c
mov rdi, qword [rsi]
mov qword [rbp + 0x240], rdi
mov rax, qword [rsi + 8]
mov qword [rbp + 0x248], rax
mov rbx, qword [rsi + 0x10]
mov qword [rbp + 0x250], rbx
mov qword [rsi], r15
mov qword [rsi + 8], r15
mov qword [rsi + 0x10], r15
mov rcx, qword [rbp + 0x1600]
test rcx, rcx
je 0x140016c31
mov rdx, qword [rbp + 0x1610]
sub rdx, rcx
and rdx, 0xfffffffffffffffc
mov rax, rcx
cmp rdx, 0x1000
jb 0x140016c2c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140016dd4
call fcn.140071a1c
mov ecx, dword [rdi]
test ecx, ecx
jne 0x140016c40
cmp dword [rdi + 4], ecx
je 0x140016d6e
movsd xmm2, qword [0x140119b40]
cvtpd2ps xmm2, xmm2
mov eax, dword [rdi + 4]
add eax, dword [0x140119a8c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm8
cvttsd2si edx, xmm0
movd xmm1, ecx
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm9
cvttsd2si ecx, xmm1
call fcn.140009730
mov qword [rbp + 0x200], 2
lea rcx, [rbp + 0x200]
call fcn.1400186a0
mov edx, 0xffffffff
mov rcx, qword [0x1401199b8]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
or byte [0x1400d70f5], 1
mov dword [0x1400d70f6], r15d
mov byte [0x1400d70fa], 0
mov r8d, 0x41
lea rdx, [0x1400d70f0]
mov rcx, qword [0x1400d98f0]
call sym.client.exe_hid_write
cmp eax, 0x41
jne 0x140016ce1
lea ecx, [rax - 0x40]
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rcx, qword [0x1401199b8]
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov ecx, 0xa
call qword [sym.imp.KERNEL32.dll_Sleep]
mov edx, 0xffffffff
mov rcx, qword [0x1401199b8]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
and byte [0x1400d70f5], 0xfe
mov dword [0x1400d70f6], r15d
mov byte [0x1400d70fa], 0
mov r8d, 0x41
lea rdx, [0x1400d70f0]
mov rcx, qword [0x1400d98f0]
call sym.client.exe_hid_write
cmp eax, 0x41
jne 0x140016d47
lea ecx, [rax - 0x40]
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rcx, qword [0x1401199b8]
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
movsxd rax, dword [0x140119ae4]
mov qword [rbp + 0x200], rax
lea rcx, [rbp + 0x200]
call fcn.1400186a0
mov dword [0x1401199c0], r15d
mov dword [0x140119a98], r15d
mov ecx, dword [0x140119cf0]
call qword [sym.imp.USER32.dll_GetKeyState]
mov rsi, qword [rbp + 0x238]
test ax, ax
js 0x140016b50
mov qword [rbp + 0x200], 2
lea rcx, [rbp + 0x200]
call fcn.1400186a0
jmp 0x140016880
mov ecx, 1
call fcn.1400712e4
nop
mov dword [rbp + 0x18], r15d
mov ecx, 6
call fcn.1400712e4
nop
call fcn.140078a5c
int3
call fcn.140078a5c
int3