Function at 0x140014750
Capabilities:
Log keystrokes via polling
Open clipboard
Write clipboard data

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x1d8]
sub rsp, 0x2b0
movaps xmmword [rax - 0x38], xmm6
mov rax, qword [0x1400cf100]
xor rax, rsp
mov qword [rbp + 0x190], rax
movzx ebx, r8b
mov byte [rsp + 0x48], dl
mov r15, rcx
mov qword [rbp + 0xb0], rcx
xor eax, eax
mov r14d, eax
mov dword [rsp + 0x44], eax
lea rcx, [rbp + 0xd8]
call qword [sym.imp.USER32.dll_GetCursorPos]
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetDC]
mov r12, rax
test rax, rax
je 0x140015eba
mov edi, dword [rbp + 0xd8]
mov esi, dword [rbp + 0xdc]
mov byte [rsp + 0x40], r14b
lea r13, [0x1400d0950]
test bl, bl
je 0x140014913
mov byte [rsp + 0x40], 1
mov rcx, qword [0x1400d0968]
mov rax, r13
mov r8, qword [0x1400d0950]
cmp rcx, 7
cmova rax, r8
cmp word [rax + 0xc], 0x3e
je 0x140014d86
mov rax, r13
cmp rcx, 7
cmova rax, r8
cmp word [rax + 0xc], 0x3a
je 0x140014d86
mov rax, qword [0x1400d0960]
lea r9, [rax - 1]
xorps xmm0, xmm0
movups xmmword [rbp - 0x10], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp], xmm1
cmp rax, 6
jb 0x140015f1b
add rax, 0xfffffffffffffffa
cmp rax, r9
cmovb r9, rax
mov rdx, r13
cmp rcx, 7
cmova rdx, r8
add rdx, 0xc
mov r8, r9
lea rcx, [rbp - 0x10]
call fcn.140004340
mov r14d, 0x20000
call fcn.140080eac
mov r13, rax
lea rbx, [rbp - 0x10]
cmp qword [rbp + 8], 7
cmova rbx, qword [rbp - 0x10]
mov dword [rax], 0
mov r8d, 0xa
lea rdx, [rbp + 0xb0]
mov rcx, rbx
call fcn.14007d260
cmp rbx, qword [rbp + 0xb0]
je 0x140015f21
cmp dword [r13], 0x22
je 0x140015f2e
imul ecx, eax, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
nop
mov rdx, qword [rbp + 8]
cmp rdx, 7
jbe 0x14001490c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140014907
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140015f3b
call fcn.140076910
lea r13, [0x1400d0950]
movd xmm0, esi
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x1400cfd90]
cvttsd2si r8d, xmm0
movd xmm0, edi
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x1400cfd90]
cvttsd2si edx, xmm0
mov rcx, r12
call qword [sym.imp.GDI32.dll_GetPixel]
mov ebx, eax
mov rdx, r12
xor ecx, ecx
call qword [sym.imp.USER32.dll_ReleaseDC]
cmp ebx, 0xffffffff
je 0x140015eba
mov eax, ebx
shr eax, 0x10
movzx r8d, al
lea r9, [rbp + 0x12a]
nop dword [rax + rax]
sub r9, 2
mov eax, 0xcccccccd
mul r8d
shr edx, 3
movzx eax, dx
shl ax, 2
lea ecx, [rax + rdx]
add cx, cx
sub r8w, cx
add r8w, 0x30
mov word [r9], r8w
mov r8d, edx
test edx, edx
jne 0x140014970
lea r8, [rbp + 0x12a]
mov rdx, r9
lea rcx, [rbp - 0x30]
call fcn.14004a550
or r14d, 0x180
movzx r8d, bx
shr r8d, 8
lea r9, [rbp + 0x12a]
nop dword [rax]
sub r9, 2
mov eax, 0xcccccccd
mul r8d
shr edx, 3
movzx eax, dx
shl ax, 2
lea ecx, [rax + rdx]
add cx, cx
sub r8w, cx
add r8w, 0x30
mov word [r9], r8w
mov r8d, edx
test edx, edx
jne 0x1400149d0
lea r8, [rbp + 0x12a]
mov rdx, r9
lea rcx, [rsp + 0x70]
call fcn.14004a550
or r14d, 0x600
movzx r8d, bl
lea r9, [rbp + 0x12a]
nop word [rax + rax]
sub r9, 2
mov eax, 0xcccccccd
mul r8d
shr edx, 3
movzx eax, dx
shl ax, 2
lea ecx, [rax + rdx]
add cx, cx
sub r8w, cx
add r8w, 0x30
mov word [r9], r8w
mov r8d, edx
test edx, edx
jne 0x140014a30
lea r8, [rbp + 0x12a]
mov rdx, r9
lea rcx, [rbp + 0x30]
call fcn.14004a550
or r14d, 0x1800
lea rbx, [0x1400b9668]
mov rdx, rbx
lea rcx, [rbp + 0x30]
call fcn.14003e5f0
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x70], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x60], xmm1
mov qword [rax + 0x18], 7
xor r12d, r12d
mov qword [rax + 0x10], r12
mov word [rax], r12w
bts r14d, 0xd
lea r9, [rsp + 0x70]
lea r8, [rbp - 0x70]
lea rcx, [rbp + 0x10]
call fcn.140049b30
bts r14d, 0xe
mov rdx, rbx
lea rcx, [rbp + 0x10]
call fcn.14003e5f0
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x50], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x60], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 7
mov word [rax], r12w
bts r14d, 0xf
lea r9, [rbp - 0x30]
lea r8, [rsp + 0x50]
lea rcx, [rbp + 0xb8]
call fcn.140049b30
bts r14d, 0x10
mov dword [rsp + 0x44], r14d
mov rdx, qword [rsp + 0x68]
cmp rdx, 7
jbe 0x140014b5f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140014b59
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140015f41
call fcn.140076910
nop
mov rdx, qword [rbp + 0x28]
cmp rdx, 7
jbe 0x140014b9f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140014b9a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140015f47
call fcn.140076910
movdqa xmm6, xmmword [0x1400c0230]
movdqu xmmword [rbp + 0x20], xmm6
mov word [rbp + 0x10], r12w
mov rdx, qword [rbp - 0x58]
cmp rdx, 7
jbe 0x140014bf2
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140014bec
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140015f4d
call fcn.140076910
nop
mov rdx, qword [rbp + 0x48]
cmp rdx, 7
jbe 0x140014c32
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140014c2d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140015f53
call fcn.140076910
movdqu xmmword [rbp + 0x40], xmm6
mov word [rbp + 0x30], r12w
mov rdx, qword [rbp - 0x78]
cmp rdx, 7
jbe 0x140014c7e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140014c78
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140015f59
call fcn.140076910
nop
mov rdx, qword [rbp - 0x18]
cmp rdx, 7
jbe 0x140014cbe
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140014cb9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140015f5f
call fcn.140076910
cmp byte [rsp + 0x48], 0
je 0x1400155d7
cmp byte [rsp + 0x40], 0
je 0x1400153db
xorps xmm0, xmm0
movups xmmword [rbp + 0xe0], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0xf0], xmm1
xor r8d, r8d
lea rdx, [0x1400b9664]
lea rcx, [rbp + 0xe0]
call fcn.140004340
nop
mov ecx, 0xa1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x140014d2a
mov rax, r13
cmp qword [0x1400d0968], 7
cmova rax, qword [0x1400d0950]
cmp word [rax + 0xc], 0x3a
jne 0x140014d3d
lea rdx, [0x1400ba680]
lea rcx, [rbp + 0xe0]
call fcn.14003e5f0
mov ebx, 0x2d
lea r9, [rbp + 0x12a]
test esi, esi
jns 0x140014da0
neg esi
nop
sub r9, 2
mov eax, 0xcccccccd
mul esi
shr edx, 3
movzx eax, dx
shl ax, 2
lea ecx, [rax + rdx]
add cx, cx
sub si, cx
add si, 0x30
mov word [r9], si
mov esi, edx
test edx, edx
jne 0x140014d50
add r9, 0xfffffffffffffffe
mov word [r9], bx
jmp 0x140014dcc
mov ecx, 0xbb8
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x140014913
sub r9, 2
mov eax, 0xcccccccd
mul esi
shr edx, 3
movzx eax, dx
shl ax, 2
lea ecx, [rax + rdx]
add cx, cx
sub si, cx
add si, 0x30
mov word [r9], si
mov esi, edx
test edx, edx
jne 0x140014da0
lea r8, [rbp + 0x12a]
mov rdx, r9
lea rcx, [rbp + 0x130]
call fcn.14004a550
or r14d, 0x180000
lea r9, [rbp + 0x12a]
test edi, edi
jns 0x140014e40
neg edi
nop word [rax + rax]
sub r9, 2
mov eax, 0xcccccccd
mul edi
shr edx, 3
movzx eax, dx
shl ax, 2
lea ecx, [rax + rdx]
add cx, cx
sub di, cx
add di, 0x30
mov word [r9], di
mov edi, edx
test edx, edx
jne 0x140014e00
add r9, 0xfffffffffffffffe
mov word [r9], bx
jmp 0x140014e6c
sub r9, 2
mov eax, 0xcccccccd
mul edi
shr edx, 3
movzx eax, dx
shl ax, 2
lea ecx, [rax + rdx]
add cx, cx
sub di, cx
add di, 0x30
mov word [r9], di
mov edi, edx
test edx, edx
jne 0x140014e40
lea r8, [rbp + 0x12a]
mov rdx, r9
lea rcx, [rsp + 0x50]
call fcn.14004a550
or r14d, 0x600000
movabs rax, 0x7ffffffffffffffe
mov rcx, qword [rbp + 0xc8]
sub rax, rcx
cmp rax, 1
jb 0x140015f65
lea r9, [rbp + 0xb8]
cmp qword [rbp + 0xd0], 7
cmova r9, qword [rbp + 0xb8]
mov qword [rsp + 0x30], 1
lea rdi, [0x1400b9668]
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x70]
call fcn.14003e9e0
bts r14d, 0x17
lea r9, [rsp + 0x50]
lea r8, [rsp + 0x70]
lea rcx, [rbp - 0x50]
call fcn.140049b30
bts r14d, 0x18
mov rdx, rdi
lea rcx, [rbp - 0x50]
call fcn.14003e5f0
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x70], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x60], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 7
mov word [rax], r12w
bts r14d, 0x19
lea r9, [rbp + 0x130]
lea r8, [rbp - 0x70]
lea rcx, [rbp - 0x30]
call fcn.140049b30
bts r14d, 0x1a
mov dword [rsp + 0x44], r14d
lea rdx, [rbp - 0x30]
lea rcx, [rbp + 0xe0]
call fcn.14003e690
nop
mov rdx, qword [rbp - 0x18]
cmp rdx, 7
jbe 0x140014f9d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140014f97
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140015f6b
call fcn.140076910
nop
mov rdx, qword [rbp - 0x58]
cmp rdx, 7
jbe 0x140014fde
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140014fd8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140015f71
call fcn.140076910
nop
mov rdx, qword [rbp - 0x38]
cmp rdx, 7
jbe 0x14001501e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140015019
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140015f77
call fcn.140076910
movdqu xmmword [rbp - 0x40], xmm6
mov word [rbp - 0x50], r12w
mov rdx, qword [rbp - 0x78]
cmp rdx, 7
jbe 0x14001506a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140015064
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140015f7d
call fcn.140076910
nop
mov rdx, qword [rsp + 0x68]
cmp rdx, 7
jbe 0x1400150ad
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400150a7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140015f83
call fcn.140076910
nop
mov rdx, qword [rbp + 0x148]
cmp rdx, 7
jbe 0x1400150f3
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x130]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400150ee
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140015f89
call fcn.140076910
mov ecx, 0xa1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov rbx, 0xffffffffffffffff
test ax, ax
jne 0x140015126
cmp qword [0x1400d0968], 7
cmova r13, qword [0x1400d0950]
cmp word [r13 + 0xc], 0x3a
jne 0x140015276
mov r10, qword [0x1400d3f68]
mov r11, qword [r10 + 0x10]
mov r9, r10
cmp qword [r10 + 0x18], 7
jbe 0x14001513e
mov r9, qword [r10]
mov rcx, r11
test r11, r11
cmovne rcx, r12
lea rsi, [0x1400b9664]
mov rax, rsi
test rcx, rcx
je 0x140015174
sub r9, rsi
nop word [rax + rax]
movzx edx, word [rax + r9]
cmp dx, word [rax]
jne 0x14001518f
add rax, 2
sub rcx, 1
jne 0x140015160
test r11, r11
je 0x14001519b
mov rdx, r10
lea rcx, [rbp + 0x100]
call fcn.14003eb60
nop
or r14d, 1
jmp 0x1400151c8
mov eax, 1
cmovb eax, ebx
test eax, eax
jns 0x140015179
xorps xmm0, xmm0
movups xmmword [rbp - 0x50], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x40], xmm1
mov r8d, 1
lea rdx, [0x1400b96dc]
lea rcx, [rbp - 0x50]
call fcn.140004340
lea rax, [rbp - 0x50]
or r14d, 2
mov dword [rsp + 0x44], r14d
mov rdx, rax
lea rcx, [rbp + 0xe0]
call fcn.14003e690
nop
test r14b, 2
je 0x140015228
and r14d, 0xfffffffd
mov rdx, qword [rbp - 0x38]
cmp rdx, 7
jbe 0x140015228
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140015222
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140015f8f
call fcn.140076910
nop
test r14b, 1
je 0x14001527d
mov rdx, qword [rbp + 0x118]
cmp rdx, 7
jbe 0x14001527d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x100]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001526f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140015f95
call fcn.140076910
jmp 0x14001527d
lea rsi, [0x1400b9664]
lea rax, [rbp + 0xe0]
cmp qword [rbp + 0xf8], 7
cmova rax, qword [rbp + 0xe0]
lea rbx, [rbx + 1]
cmp word [rax + rbx*2], 0
jne 0x140015294
lea rdi, [rbx*2 + 2]
mov rdx, rdi
mov ecx, 0x2000
call qword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov rbx, rax
test rax, rax
je 0x140015318
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GlobalLock]
test rax, rax
je 0x1400152ed
lea rdx, [rbp + 0xe0]
cmp qword [rbp + 0xf8], 7
cmova rdx, qword [rbp + 0xe0]
mov r8, rdi
mov rcx, rax
call fcn.1400a1c50
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
xor ecx, ecx
call qword [sym.imp.USER32.dll_OpenClipboard]
call qword [sym.imp.USER32.dll_EmptyClipboard]
mov rdx, rbx
mov ecx, 0xd
call qword [sym.imp.USER32.dll_SetClipboardData]
call qword [sym.imp.USER32.dll_CloseClipboard]
xorps xmm0, xmm0
movups xmmword [r15], xmm0
mov qword [r15 + 0x10], r12
mov qword [r15 + 0x18], r12
xor r8d, r8d
mov rdx, rsi
mov rcx, r15
call fcn.140004340
nop
mov rdx, qword [rbp + 0xf8]
cmp rdx, 7
jbe 0x14001537c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0xe0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140015377
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140015f9b
call fcn.140076910
movdqu xmmword [rbp + 0xf0], xmm6
mov word [rbp + 0xe0], r12w
mov rdx, qword [rbp + 0xd0]
cmp rdx, 7
jbe 0x140015edd
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0xb8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400153d1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140015fa1
call fcn.140076910
jmp 0x140015edd
mov ebx, 0x2d
lea r9, [rbp + 0x12a]
test edi, edi
jns 0x140015430
neg edi
nop dword [rax]
sub r9, 2
mov eax, 0xcccccccd
mul edi
shr edx, 3
movzx eax, dx
shl ax, 2
lea ecx, [rax + rdx]
add cx, cx
sub di, cx
add di, 0x30
mov word [r9], di
mov edi, edx
test edx, edx
jne 0x1400153f0
add r9, 0xfffffffffffffffe
mov word [r9], bx
jmp 0x14001545c
sub r9, 2
mov eax, 0xcccccccd
mul edi
shr edx, 3
movzx eax, dx
shl ax, 2
lea ecx, [rax + rdx]
add cx, cx
sub di, cx
add di, 0x30
mov word [r9], di
mov edi, edx
test edx, edx
jne 0x140015430
lea r8, [rbp + 0x12a]
mov rdx, r9
lea rcx, [rbp + 0x130]
call fcn.14004a550
lea rdx, [rbp + 0x130]
lea rcx, [0x1400d0550]
call fcn.14003e940
mov rdx, qword [rbp + 0x148]
cmp rdx, 7
jbe 0x1400154cb
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x130]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400154c6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140015fa7
call fcn.140076910
lea r9, [rbp + 0x12a]
test esi, esi
jns 0x140015520
neg esi
nop dword [rax + rax]
sub r9, 2
mov eax, 0xcccccccd
mul esi
shr edx, 3
movzx eax, dx
shl ax, 2
lea ecx, [rax + rdx]
add cx, cx
sub si, cx
add si, 0x30
mov word [r9], si
mov esi, edx
test edx, edx
jne 0x1400154e0
add r9, 0xfffffffffffffffe
mov word [r9], bx
jmp 0x14001554c
sub r9, 2
mov eax, 0xcccccccd
mul esi
shr edx, 3
movzx eax, dx
shl ax, 2
lea ecx, [rax + rdx]
add cx, cx
sub si, cx
add si, 0x30
mov word [r9], si
mov esi, edx
test edx, edx
jne 0x140015520
lea r8, [rbp + 0x12a]
mov rdx, r9
lea rcx, [rbp + 0x130]
call fcn.14004a550
lea rdx, [rbp + 0x130]
lea rcx, [0x1400d0370]
call fcn.14003e940
mov rdx, qword [rbp + 0x148]
cmp rdx, 7
jbe 0x1400155bb
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x130]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400155b6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140015fa7
call fcn.140076910
movups xmm0, xmmword [rbp + 0xb8]
movups xmmword [r15], xmm0
movups xmm1, xmmword [rbp + 0xc8]
movups xmmword [r15 + 0x10], xmm1
jmp 0x140015edd
mov ecx, 0xa0
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov r10, qword [0x1400d3f68]
mov r11, qword [r10 + 0x10]
mov r9, r10
test ax, ax
je 0x140015bc3
cmp qword [r10 + 0x18], 7
jbe 0x140015603
mov r9, qword [r10]
mov rcx, r11
test r11, r11
cmovne rcx, r12
lea r13, [0x1400b9664]
mov rax, r13
test rcx, rcx
je 0x140015634
sub r9, r13
nop
movzx edx, word [rax + r9]
cmp dx, word [rax]
jne 0x140015651
add rax, 2
sub rcx, 1
jne 0x140015620
test r11, r11
je 0x140015664
mov rdx, r10
lea rcx, [rbp + 0x90]
call fcn.14003eb60
mov r12, rax
or r14d, 8
jmp 0x140015695
mov eax, 1
mov rbx, 0xffffffffffffffff
cmovb eax, ebx
test eax, eax
jns 0x140015639
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x60], xmm1
mov r8d, 1
lea rdx, [0x1400b96dc]
lea rcx, [rsp + 0x50]
call fcn.140004340
lea r12, [rsp + 0x50]
or r14d, 0x10
mov dword [rsp + 0x44], r14d
mov ebx, 0x2d
lea r9, [rbp + 0x18a]
test esi, esi
jns 0x1400156f0
neg esi
nop dword [rax]
sub r9, 2
mov eax, 0xcccccccd
mul esi
shr edx, 3
movzx eax, dx
shl ax, 2
lea ecx, [rax + rdx]
add cx, cx
sub si, cx
add si, 0x30
mov word [r9], si
mov esi, edx
test edx, edx
jne 0x1400156b0
add r9, 0xfffffffffffffffe
mov word [r9], bx
jmp 0x14001571c
sub r9, 2
mov eax, 0xcccccccd
mul esi
shr edx, 3
movzx eax, dx
shl ax, 2
lea ecx, [rax + rdx]
add cx, cx
sub si, cx
add si, 0x30
mov word [r9], si
mov esi, edx
test edx, edx
jne 0x1400156f0
lea r8, [rbp + 0x18a]
mov rdx, r9
lea rcx, [rbp + 0x100]
call fcn.14004a550
or r14d, 0x80000000
mov dword [rsp + 0x44], r14d
lea r9, [rbp + 0x15a]
test edi, edi
jns 0x140015790
neg edi
nop dword [rax + rax]
sub r9, 2
mov eax, 0xcccccccd
mul edi
shr edx, 3
movzx eax, dx
shl ax, 2
lea ecx, [rax + rdx]
add cx, cx
sub di, cx
add di, 0x30
mov word [r9], di
mov edi, edx
test edx, edx
jne 0x140015750
add r9, 0xfffffffffffffffe
mov word [r9], bx
jmp 0x1400157bc
sub r9, 2
mov eax, 0xcccccccd
mul edi
shr edx, 3
movzx eax, dx
shl ax, 2
lea ecx, [rax + rdx]
add cx, cx
sub di, cx
add di, 0x30
mov word [r9], di
mov edi, edx
test edx, edx
jne 0x140015790
lea r8, [rbp + 0x15a]
mov rdx, r9
lea rcx, [rbp + 0x160]
call fcn.14004a550
nop
movabs rax, 0x7ffffffffffffffe
mov rcx, qword [rbp + 0xc8]
sub rax, rcx
cmp rax, 0x14
jb 0x140015fad
lea rax, [rbp + 0xb8]
cmp qword [rbp + 0xd0], 7
cmova rax, qword [rbp + 0xb8]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0x14
lea r9, [0x1400ba690]
lea rcx, [rbp + 0x70]
call fcn.14003e9e0
nop
lea rdi, [0x1400b9668]
mov rdx, rdi
lea rcx, [rbp + 0x70]
call fcn.14003e5f0
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x70], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x80], xmm1
mov qword [rax + 0x18], 7
xor ebx, ebx
mov qword [rax + 0x10], rbx
mov word [rax], bx
lea r9, [rbp + 0x160]
lea r8, [rsp + 0x70]
lea rcx, [rbp + 0x50]
call fcn.140049b30
nop
mov rdx, rdi
lea rcx, [rbp + 0x50]
call fcn.14003e5f0
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x70], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x60], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], 7
mov word [rax], bx
lea r9, [rbp + 0x100]
lea r8, [rbp - 0x70]
lea rcx, [rbp - 0x30]
call fcn.140049b30
nop
mov r9, r12
lea r8, [rbp - 0x30]
lea rcx, [rbp + 0x130]
call fcn.140049b30
lea rdx, [rbp + 0x130]
mov rcx, qword [0x1400d3f70]
call fcn.14003e940
mov rdx, qword [rbp + 0x148]
cmp rdx, 7
jbe 0x140015922
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x130]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001591c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140015fb3
call fcn.140076910
nop
mov rdx, qword [rbp - 0x18]
cmp rdx, 7
jbe 0x140015963
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001595d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140015fb9
call fcn.140076910
nop
mov rdx, qword [rbp - 0x58]
cmp rdx, 7
jbe 0x1400159a4
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001599e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140015fbf
call fcn.140076910
nop
mov rdx, qword [rbp + 0x68]
cmp rdx, 7
jbe 0x1400159e4
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400159df
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140015fc5
call fcn.140076910
movdqu xmmword [rbp + 0x60], xmm6
xor r12d, r12d
mov word [rbp + 0x50], r12w
mov rdx, qword [rbp - 0x78]
cmp rdx, 7
jbe 0x140015a33
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140015a2d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140015fcb
call fcn.140076910
nop
mov rdx, qword [rbp + 0x88]
cmp rdx, 7
jbe 0x140015a76
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140015a71
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140015fd1
call fcn.140076910
movdqu xmmword [rbp + 0x80], xmm6
mov word [rbp + 0x70], r12w
mov rdx, qword [rbp + 0x178]
cmp rdx, 7
jbe 0x140015aca
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x160]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140015ac4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140015fd7
call fcn.140076910
nop
mov rdx, qword [rbp + 0x118]
cmp rdx, 7
jbe 0x140015b11
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x100]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140015b0b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140015fdd
call fcn.140076910
nop
test r14b, 0x10
je 0x140015b5e
and r14d, 0xffffffef
mov rdx, qword [rsp + 0x68]
cmp rdx, 7
jbe 0x140015b5e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140015b58
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140015fe3
call fcn.140076910
nop
test r14b, 8
je 0x140015e1f
mov rdx, qword [rbp + 0xa8]
cmp rdx, 7
jbe 0x140015bae
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x90]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140015ba9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140015fe9
call fcn.140076910
movdqu xmmword [rbp + 0xa0], xmm6
mov word [rbp + 0x90], r12w
jmp 0x140015e1f
cmp qword [r10 + 0x18], 7
jbe 0x140015bcd
mov r9, qword [r10]
mov rcx, r11
test r11, r11
cmovne rcx, r12
lea r13, [0x1400b9664]
mov rax, r13
test rcx, rcx
je 0x140015c04
sub r9, r13
nop dword [rax]
movzx edx, word [rax + r9]
cmp dx, word [rax]
jne 0x140015c1f
add rax, 2
sub rcx, 1
jne 0x140015bf0
test r11, r11
je 0x140015c32
mov rdx, r10
lea rcx, [rsp + 0x70]
call fcn.14003eb60
mov rbx, rax
or r14d, 0x20
jmp 0x140015c63
mov eax, 1
mov rbx, 0xffffffffffffffff
cmovb eax, ebx
test eax, eax
jns 0x140015c09
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x60], xmm1
mov r8d, 1
lea rdx, [0x1400b96dc]
lea rcx, [rsp + 0x50]
call fcn.140004340
lea rbx, [rsp + 0x50]
or r14d, 0x40
mov dword [rsp + 0x44], r14d
movabs rax, 0x7ffffffffffffffe
mov rcx, qword [rbp + 0xc8]
sub rax, rcx
cmp rax, 0x14
jb 0x140015fef
lea rax, [rbp + 0xb8]
cmp qword [rbp + 0xd0], 7
cmova rax, qword [rbp + 0xb8]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0x14
lea r9, [0x1400ba690]
lea rcx, [rbp + 0x160]
call fcn.14003e9e0
nop
mov r9, rbx
lea r8, [rbp + 0x160]
lea rcx, [rbp + 0x100]
call fcn.140049b30
bts r14d, 0x12
lea rdx, [rbp + 0x100]
mov rcx, qword [0x1400d3f70]
call fcn.14003e940
mov rdx, qword [rbp + 0x118]
cmp rdx, 7
jbe 0x140015d39
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x100]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140015d33
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140015ff5
call fcn.140076910
nop
mov rdx, qword [rbp + 0x178]
cmp rdx, 7
jbe 0x140015d80
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x160]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140015d7a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140015ffb
call fcn.140076910
nop
test r14b, 0x40
je 0x140015dcd
and r14d, 0xffffffbf
mov rdx, qword [rsp + 0x68]
cmp rdx, 7
jbe 0x140015dcd
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140015dc7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140016001
call fcn.140076910
nop
test r14b, 0x20
je 0x140015e1f
mov rdx, qword [rbp - 0x78]
cmp rdx, 7
jbe 0x140015e14
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140015e0f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140016007
call fcn.140076910
movdqu xmmword [rbp - 0x80], xmm6
mov word [rsp + 0x70], r12w
mov r9, qword [0x1400d3f70]
mov rcx, qword [0x1400d3eb0]
cmp rcx, r9
je 0x140015e78
mov rdx, qword [r9 + 0x10]
cmp qword [r9 + 0x18], 7
jbe 0x140015e40
mov r9, qword [r9]
mov rax, qword [rcx + 0x18]
cmp rdx, rax
ja 0x140015e72
mov rdi, rcx
cmp rax, 7
jbe 0x140015e55
mov rdi, qword [rcx]
mov qword [rcx + 0x10], rdx
lea rbx, [rdx + rdx]
mov r8, rbx
mov rdx, r9
mov rcx, rdi
call fcn.1400a1c50
mov word [rdi + rbx], r12w
jmp 0x140015e78
call fcn.140047cc0
nop
mov rdx, qword [rbp + 0xd0]
cmp rdx, 7
jbe 0x140015eba
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0xb8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140015eb5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140015f15
call fcn.140076910
xorps xmm0, xmm0
movups xmmword [r15], xmm0
xor eax, eax
mov qword [r15 + 0x10], rax
mov qword [r15 + 0x18], rax
xor r8d, r8d
lea rdx, [0x1400b9664]
mov rcx, r15
call fcn.140004340
mov rax, r15
mov rcx, qword [rbp + 0x190]
xor rcx, rsp
call fcn.1400768f0
lea r11, [rsp + 0x2b0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.140086abc
int3
call fcn.140043760
nop
lea rcx, str.invalid_stoi_argument
call fcn.140053f2c
int3
lea rcx, str.stoi_argument_out_of_range
call fcn.140053f74
nop
call fcn.140086abc
nop
call fcn.140086abc
nop
call fcn.140086abc
nop
call fcn.140086abc
nop
call fcn.140086abc
nop
call fcn.140086abc
nop
call fcn.140086abc
nop
call fcn.140002170
nop
call fcn.140086abc
nop
call fcn.140086abc
nop
call fcn.140086abc
nop
call fcn.140086abc
nop
call fcn.140086abc
nop
call fcn.140086abc
nop
call fcn.140086abc
nop
call fcn.140086abc
nop
call fcn.140086abc
nop
call fcn.140086abc
nop
call fcn.140086abc
nop
call fcn.140002170
nop
call fcn.140086abc
nop
call fcn.140086abc
nop
call fcn.140086abc
nop
call fcn.140086abc
nop
call fcn.140086abc
nop
call fcn.140086abc
nop
call fcn.140086abc
nop
call fcn.140086abc
nop
call fcn.140086abc
nop
call fcn.140086abc
nop
call fcn.140002170
nop
call fcn.140086abc
nop
call fcn.140086abc
nop
call fcn.140086abc
nop
call fcn.140086abc
int3