Function at 0x140054130
Capabilities:
Capture screenshot
Encode data using xor
Generate random numbers using a mersenne twister
Hide graphical window
Log keystrokes via application hook
Log keystrokes via polling

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x48]
sub rsp, 0x148
xor r15d, r15d
cmp byte [0x1400ee94a], r15b
je 0x140055ee7
mov ebx, 4
mov rax, qword gs:[0x58]
add rbx, qword [rax]
mov qword [rbp + 0xa8], rbx
mov eax, dword [rbx]
cmp dword [0x1400f1644], eax
jle 0x1400541a8
lea rcx, [0x1400f1644]
call fcn.14006ec98
cmp dword [0x1400f1644], 0xffffffff
jne 0x1400541a8
lea rcx, [0x1400f1630]
call fcn.140037dd0
lea rcx, [0x1400f1644]
call fcn.14006ec2c
mov eax, dword [rbx]
cmp dword [0x1400f1638], eax
jle 0x1400541df
lea rcx, [0x1400f1638]
call fcn.14006ec98
cmp dword [0x1400f1638], 0xffffffff
jne 0x1400541df
lea rcx, [0x1400f1470]
call fcn.140037dd0
lea rcx, [0x1400f1638]
call fcn.14006ec2c
mov eax, dword [rbx]
cmp dword [0x1400f1498], eax
jle 0x140054216
lea rcx, [0x1400f1498]
call fcn.14006ec98
cmp dword [0x1400f1498], 0xffffffff
jne 0x140054216
lea rcx, [0x1400f1418]
call fcn.140037dd0
lea rcx, [0x1400f1498]
call fcn.14006ec2c
mov eax, dword [rbx]
cmp dword [0x1400f163c], eax
jle 0x14005424d
lea rcx, [0x1400f163c]
call fcn.14006ec98
cmp dword [0x1400f163c], 0xffffffff
jne 0x14005424d
lea rcx, [0x1400f1458]
call fcn.140037dd0
lea rcx, [0x1400f163c]
call fcn.14006ec2c
mov eax, dword [rbx]
cmp dword [0x1400f1668], eax
jle 0x140054284
lea rcx, [0x1400f1668]
call fcn.14006ec98
cmp dword [0x1400f1668], 0xffffffff
jne 0x140054284
lea rcx, [0x1400f1468]
call fcn.140037dd0
lea rcx, [0x1400f1668]
call fcn.14006ec2c
mov eax, dword [rbx]
cmp dword [0x1400f1410], eax
jle 0x1400542bb
lea rcx, [0x1400f1410]
call fcn.14006ec98
cmp dword [0x1400f1410], 0xffffffff
jne 0x1400542bb
lea rcx, [0x1400f1480]
call fcn.140037dd0
lea rcx, [0x1400f1410]
call fcn.14006ec2c
mov eax, dword [rbx]
cmp dword [0x1400f1420], eax
jle 0x1400542f2
lea rcx, [0x1400f1420]
call fcn.14006ec98
cmp dword [0x1400f1420], 0xffffffff
jne 0x1400542f2
lea rcx, [0x1400f1478]
call fcn.140037dd0
lea rcx, [0x1400f1420]
call fcn.14006ec2c
mov eax, dword [rbx]
cmp dword [0x1400f1490], eax
jle 0x140054329
lea rcx, [0x1400f1490]
call fcn.14006ec98
cmp dword [0x1400f1490], 0xffffffff
jne 0x140054329
lea rcx, [0x1400f1448]
call fcn.140037dd0
lea rcx, [0x1400f1490]
call fcn.14006ec2c
mov eax, dword [rbx]
cmp dword [0x1400f1494], eax
jle 0x140054360
lea rcx, [0x1400f1494]
call fcn.14006ec98
cmp dword [0x1400f1494], 0xffffffff
jne 0x140054360
lea rcx, [0x1400f1460]
call fcn.140037dd0
lea rcx, [0x1400f1494]
call fcn.14006ec2c
mov eax, dword [rbx]
cmp dword [0x1400f166c], eax
jle 0x140054397
lea rcx, [0x1400f166c]
call fcn.14006ec98
cmp dword [0x1400f166c], 0xffffffff
jne 0x140054397
lea rcx, [0x1400f1488]
call fcn.140037dd0
lea rcx, [0x1400f166c]
call fcn.14006ec2c
mov eax, dword [rbx]
cmp dword [0x1400f149c], eax
jle 0x1400543f2
lea rcx, [0x1400f149c]
call fcn.14006ec98
cmp dword [0x1400f149c], 0xffffffff
jne 0x1400543f2
xorps xmm0, xmm0
movups xmmword [0x1400f13f0], xmm0
mov qword [0x1400f1400], r15
mov qword [0x1400f1408], 0xf
mov byte [0x1400f13f0], 0
lea rcx, [0x140074280]
call fcn.14006ef38
nop
lea rcx, [0x1400f149c]
call fcn.14006ec2c
mov eax, dword [rbx]
cmp dword [0x1400f1450], eax
jle 0x14005444d
lea rcx, [0x1400f1450]
call fcn.14006ec98
cmp dword [0x1400f1450], 0xffffffff
jne 0x14005444d
xorps xmm0, xmm0
movups xmmword [0x1400f1648], xmm0
mov qword [0x1400f1658], r15
mov qword [0x1400f1660], 0xf
mov byte [0x1400f1648], 0
lea rcx, [0x140074210]
call fcn.14006ef38
nop
lea rcx, [0x1400f1450]
call fcn.14006ec2c
mov eax, dword [rbx]
cmp dword [0x1400f1640], eax
jle 0x1400544a8
lea rcx, [0x1400f1640]
call fcn.14006ec98
cmp dword [0x1400f1640], 0xffffffff
jne 0x1400544a8
xorps xmm0, xmm0
movups xmmword [0x1400f1428], xmm0
mov qword [0x1400f1438], r15
mov qword [0x1400f1440], 0xf
mov byte [0x1400f1428], 0
lea rcx, [0x1400741a0]
call fcn.14006ef38
nop
lea rcx, [0x1400f1640]
call fcn.14006ec2c
lea rcx, [rbp + 0x98]
call fcn.140037dd0
xor r14b, r14b
mov byte [rbp + 0x90], r14b
xor sil, sil
mov dword [rsp + 0x70], 0x44534157
lea rbx, [rsp + 0x70]
mov dil, 0x57
lea r12, [0x1400f1648]
nop dword [rax + rax]
movsx ecx, dil
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140054502
cmp dword [0x1400ef948], 0
jne 0x140054502
cmp qword [0x1400f1658], 0
je 0x140054514
inc rbx
lea rax, [rsp + 0x74]
cmp rbx, rax
je 0x140054553
movzx edi, byte [rbx]
jmp 0x1400544e0
mov r14b, 1
mov byte [rbp + 0x90], r14b
cmp dil, 0x41
je 0x14005452a
cmp dil, 0x44
jne 0x140054553
mov qword [0x1400f1400], 1
lea rax, [0x1400f13f0]
cmp qword [0x1400f1408], 0xf
cmova rax, qword [0x1400f13f0]
mov byte [rax], dil
mov byte [rax + 1], sil
mov dword [rbp - 0x50], 1
mov dword [rbp - 0x4c], 2
lea rbx, [rbp - 0x50]
mov ecx, dword [rbx]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x140054581
add rbx, 4
lea rax, [rbp - 0x48]
cmp rbx, rax
jne 0x140054565
jmp 0x140054584
mov sil, 1
mov rbx, qword [rbp + 0x98]
mov rax, rbx
sub rax, qword [0x1400f1458]
movabs rcx, 0x29e8d60800
cmp rax, rcx
jl 0x1400545d7
lea rcx, [rbp + 0x98]
call fcn.140037dd0
mov rcx, qword [rax]
mov qword [0x1400f1458], rcx
call fcn.140052110
call fcn.1400535f0
call fcn.140051fd0
cmp byte [0x1400ede96], 0
je 0x1400545d7
call fcn.140052ad0
mov rax, rbx
sub rax, qword [0x1400f1468]
movabs rcx, 0x2540be400
cmp rax, rcx
jl 0x14005460b
lea rcx, [rbp + 0x98]
call fcn.140037dd0
mov rcx, qword [rax]
mov qword [0x1400f1468], rcx
call fcn.140051fd0
mov rax, qword [0x1400ee950]
cmp dword [rax + 0x3f24], 0
jne 0x14005473a
lea rdx, [0x1400ee1c0]
call fcn.140064df0
movzx ecx, word [rax]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14005473a
mov rax, rbx
sub rax, qword [0x1400f1418]
cmp rax, 0xbebc200
jl 0x14005473a
lea rcx, [rbp + 0x98]
call fcn.140037dd0
mov rcx, qword [rax]
mov qword [0x1400f1418], rcx
lea rcx, [rsp + 0x50]
cmp byte [0x1400ef78d], 0
je 0x1400546d6
lea rdx, str.stop
call fcn.140046e00
nop
lea rcx, [rsp + 0x50]
call fcn.140068d60
nop
mov rdx, qword [rsp + 0x68]
cmp rdx, 7
jbe 0x1400546cd
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400546c8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140054727
call fcn.14006eb78
mov byte [0x1400ef78d], 0
jmp 0x14005473a
lea rdx, [0x140083220]
call fcn.140046e00
nop
lea rcx, [rsp + 0x50]
call fcn.140068d60
nop
mov rdx, qword [rsp + 0x68]
cmp rdx, 7
jbe 0x140054733
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005472e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14005472e
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14006eb78
mov byte [0x1400ef78d], 1
mov rax, qword [0x1400ee950]
cmp dword [rax + 0x3f24], 0
jne 0x14005477e
lea rdx, [0x1400ee038]
call fcn.140064df0
movzx ecx, word [rax]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14005477e
mov eax, dword [0x1400ef8b0]
mov ecx, eax
inc eax
mov dword [0x1400ef8b0], eax
cmp ecx, 2
jl 0x14005477e
call fcn.14000e400
mov rax, qword [0x1400ee950]
cmp dword [rax + 0x3f24], 0
jne 0x140054883
lea rdx, [0x1400ee2a8]
call fcn.140064df0
movzx ecx, word [rax]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140054883
mov rax, rbx
sub rax, qword [0x1400f1418]
cmp rax, 0xbebc200
jl 0x140054883
lea rcx, [rbp + 0x98]
call fcn.140037dd0
mov rcx, qword [rax]
mov qword [0x1400f1418], rcx
mov dword [rsp + 0x30], 0x43
xor r9d, r9d
xor r8d, r8d
mov rcx, qword [0x1400ee9e0]
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], r15d
cmp byte [0x1400ee94c], r8b
je 0x140054860
mov rdx, 0xffffffffffffffff
call qword [sym.imp.USER32.dll_SetWindowPos]
mov rdi, qword [0x1400ee9e0]
mov edx, 5
mov rcx, rdi
call qword [sym.imp.USER32.dll_ShowWindow]
cmp byte [0x1400ee94d], 0
je 0x140054857
mov dword [rsp + 0x30], 0x43
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], r15d
xor r9d, r9d
xor r8d, r8d
mov rdx, 0xffffffffffffffff
mov rcx, rdi
call qword [sym.imp.USER32.dll_SetWindowPos]
mov byte [0x1400ee94c], 0
jmp 0x140054883
mov rdx, 0xfffffffffffffffe
call qword [sym.imp.USER32.dll_SetWindowPos]
xor edx, edx
mov rcx, qword [0x1400ee9e0]
call qword [sym.imp.USER32.dll_ShowWindow]
mov byte [0x1400ee94c], 1
mov rax, qword [0x1400ee950]
cmp dword [rax + 0x3f24], 0
jne 0x1400548bd
lea rdx, [0x1400ee0a0]
call fcn.140064df0
movzx ecx, word [rax]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1400548bd
cmp byte [0x1400ee94c], 0
jne 0x1400548bd
mov dl, 1
call fcn.140054060
cmp byte [0x1400eef0d], 0
je 0x1400549fd
mov rax, rbx
sub rax, qword [0x1400f1448]
movabs rcx, 0x12a05f200
cmp rax, rcx
jl 0x1400549fd
lea rcx, [rbp + 0x98]
call fcn.140037dd0
mov rcx, qword [rax]
mov qword [0x1400f1448], rcx
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
movdqa xmm1, xmmword [0x1400850a0]
movdqu xmmword [rsp + 0x60], xmm1
mov eax, dword [str.Space]
mov dword [rsp + 0x50], eax
movzx eax, byte [0x140077958]
mov byte [rsp + 0x54], al
mov byte [rsp + 0x55], 0
lea rcx, [rsp + 0x50]
call fcn.14006ab00
lea rcx, [rsp + 0x50]
call fcn.14006ac00
nop
mov rdx, qword [rsp + 0x68]
cmp rdx, 0xf
jbe 0x140054982
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005497d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14005497d
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14006eb78
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
movdqa xmm1, xmmword [0x140085060]
movdqu xmmword [rsp + 0x60], xmm1
movzx eax, word [0x140077a6c]
mov byte [rsp + 0x50], al
mov byte [rsp + 0x51], 0
lea rcx, [rsp + 0x50]
call fcn.14006ab00
lea rcx, [rsp + 0x50]
call fcn.14006ac00
nop
mov rdx, qword [rsp + 0x68]
cmp rdx, 0xf
jbe 0x1400549fd
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400549f8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400549f8
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14006eb78
mov rcx, r12
cmp qword [0x1400f1660], 0xf
cmova rcx, qword [0x1400f1648]
mov r8, qword [0x1400f1658]
test r8, r8
jne 0x140054a2c
lea rdx, [0x14007614a]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x140054a67
cmp byte [0x1400eef09], 0
je 0x140054a67
lea rcx, [rbp + 0x98]
call fcn.140037dd0
mov rcx, qword [rax]
cmp qword [0x1400f1460], rcx
jge 0x140054a67
mov rcx, r12
call fcn.14006ac00
xor r8d, r8d
lea rdx, [0x14007614a]
mov rcx, r12
call fcn.1400653d0
lea rdx, [0x1400ee080]
call fcn.140064df0
movzx ecx, word [rax]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x140054a8d
cmp byte [0x1400ef78d], al
je 0x140055ee7
test sil, sil
je 0x140054abb
movsxd rbx, dword [reloc.WS2_32.dll_sendto]
lea rcx, [rbp + 0x90]
call fcn.140037dd0
imul rdx, rbx, 0xf4240
add rdx, qword [rax]
mov qword [0x1400f1470], rdx
jmp 0x140055ee7
test r14b, r14b
je 0x140054ad2
cmp byte [0x1400ede94], 0
jne 0x140054ad2
movsxd rbx, dword [0x1400ee280]
jmp 0x140054a99
movabs rdi, 0x6c6f72746e6f434c
cmp byte [0x1400eef0f], 0
je 0x140054c70
cmp dword [0x1400ef948], 0
jne 0x140054c70
cmp byte [0x1400eef0c], 0
je 0x140054c70
lea rcx, [rbp + 0x98]
call fcn.140037dd0
mov rax, qword [rax]
cmp qword [0x1400f1480], rax
jge 0x140054c70
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], 8
mov qword [rsp + 0x68], socket
mov qword [rsp + 0x50], rdi
mov byte [rsp + 0x58], 0
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x78]
lea rcx, [0x1400eeef8]
call fcn.140048280
mov r14, qword [0x1400eeef8]
mov rdi, qword [rbp - 0x78]
cmp byte [rdi + 0x19], 0
jne 0x140054ba1
lea rdx, [rdi + 0x20]
mov rsi, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x140054b7c
mov rdx, qword [rdx]
mov r8d, 8
cmp rsi, r8
cmovb r8, rsi
lea rcx, [rsp + 0x50]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x140054b9f
cmp rsi, 8
ja 0x140054ba1
jmp 0x140054ba4
jns 0x140054ba4
mov rdi, r14
cmp rdi, r14
je 0x140054be7
movzx eax, word [rdi + 0x40]
xorps xmm0, xmm0
xor ecx, ecx
movups xmmword [rbp - 0x48], xmm0
movups xmmword [rbp - 0x38], xmm0
mov qword [rbp - 0x28], rcx
mov dword [rbp - 0x48], 1
mov word [rbp - 0x40], ax
mov dword [rbp - 0x3c], 2
mov r8d, 0x28
lea rdx, [rbp - 0x48]
mov ecx, 1
call qword [sym.imp.USER32.dll_SendInput]
jmp 0x140054c29
lea rdx, str.Error:_Unknown_key:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140065e80
lea rdx, [rsp + 0x50]
cmp qword [rsp + 0x68], 0xf
cmova rdx, qword [rsp + 0x50]
mov r8, qword [rsp + 0x60]
mov rcx, rax
call fcn.14006db70
lea rdx, [0x140066060]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
mov rdx, qword [rsp + 0x68]
cmp rdx, 0xf
jbe 0x140054c69
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140054c64
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140054c64
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14006eb78
mov byte [0x1400eef0c], 0
cmp byte [0x1400eef0b], 0
je 0x140054e7a
cmp byte [0x1400eef08], 0
je 0x140054e7a
lea rcx, [rbp + 0x98]
call fcn.140037dd0
mov rcx, qword [rax]
cmp qword [0x1400f1478], rcx
jge 0x140054e7a
mov rcx, qword [0x1400ee988]
call qword [sym.imp.USER32.dll_UnhookWindowsHookEx]
mov byte [0x1400eef08], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
movdqa xmm1, xmmword [0x140085060]
movdqu xmmword [rsp + 0x60], xmm1
movzx eax, word [0x140077a6c]
mov byte [rsp + 0x50], al
mov byte [rsp + 0x51], 0
lea rcx, [rsp + 0x50]
call fcn.14006ad00
mov rdx, qword [rsp + 0x68]
cmp rdx, 0xf
jbe 0x140054d2a
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140054d25
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140054d25
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14006eb78
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
movdqa xmm1, xmmword [0x140085060]
movdqu xmmword [rsp + 0x60], xmm1
movzx eax, word [0x140077a14]
mov byte [rsp + 0x50], al
mov byte [rsp + 0x51], 0
lea rcx, [rsp + 0x50]
call fcn.14006ad00
mov rdx, qword [rsp + 0x68]
cmp rdx, 0xf
jbe 0x140054d9a
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140054d95
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140054d95
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14006eb78
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
movdqa xmm1, xmmword [0x140085060]
movdqu xmmword [rsp + 0x60], xmm1
movzx eax, word [0x140077a5c]
mov byte [rsp + 0x50], al
mov byte [rsp + 0x51], 0
lea rcx, [rsp + 0x50]
call fcn.14006ad00
mov rdx, qword [rsp + 0x68]
cmp rdx, 0xf
jbe 0x140054e0a
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140054e05
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140054e05
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14006eb78
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
movdqa xmm1, xmmword [0x140085060]
movdqu xmmword [rsp + 0x60], xmm1
movzx eax, word [0x140077a20]
mov byte [rsp + 0x50], al
mov byte [rsp + 0x51], 0
lea rcx, [rsp + 0x50]
call fcn.14006ad00
mov rdx, qword [rsp + 0x68]
cmp rdx, 0xf
jbe 0x140054e7a
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140054e75
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140054e75
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14006eb78
cmp dword [0x1400ef948], 0
jg 0x140055e82
mov rcx, rbx
sub rcx, qword [0x1400f1630]
movabs rax, 0x431bde82d7b634db
imul rcx
sar rdx, 0x12
mov rax, rdx
shr rax, 0x3f
add rdx, rax
movsxd rax, dword [0x1400ee284]
cmp rdx, rax
jl 0x140055e79
lea rcx, [rbp + 0x98]
call fcn.140037dd0
mov rax, qword [rax]
cmp qword [0x1400f1470], rax
jge 0x140055e79
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov r13d, eax
mov ecx, 1
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov dword [rbp + 0x98], eax
mov r15d, dword [0x1400ee078]
mov r12d, dword [0x1400ee07c]
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetDC]
mov rdi, rax
test rax, rax
je 0x140055f39
mov rcx, rax
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov rsi, rax
test rax, rax
je 0x140055f5c
mov r8d, r15d
mov edx, r12d
mov rcx, rdi
call qword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
mov qword [rbp + 0xa0], rax
mov rcx, rsi
test rax, rax
je 0x140055f8a
mov rdx, rax
call qword [sym.imp.GDI32.dll_SelectObject]
mov r14, rax
mov eax, r12d
cdq
sub eax, edx
sar eax, 1
mov ecx, eax
mov eax, r13d
cdq
sub eax, edx
sar eax, 1
mov r8d, eax
sub r8d, ecx
mov eax, r15d
cdq
sub eax, edx
sar eax, 1
mov ecx, eax
mov eax, dword [rbp + 0x98]
cdq
sub eax, edx
sar eax, 1
sub eax, ecx
mov dword [rsp + 0x40], 0xcc0020
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], r8d
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], r15d
mov r9d, r12d
xor r8d, r8d
xor edx, edx
mov rcx, rsi
call qword [sym.imp.GDI32.dll_BitBlt]
mov rdx, r14
mov rcx, rsi
test eax, eax
je 0x140055fbe
call qword [sym.imp.GDI32.dll_SelectObject]
mov rcx, rsi
call qword [sym.imp.GDI32.dll_DeleteDC]
mov rdx, rdi
xor ecx, ecx
call qword [sym.imp.USER32.dll_ReleaseDC]
mov rdx, qword [rbp + 0xa0]
lea rcx, [rsp + 0x78]
call fcn.1400698d0
nop
mov r12, qword [rsp + 0x78]
mov qword [rbp + 0x98], r12
mov r13, qword [rbp - 0x80]
cmp r12, r13
je 0x140055e61
lea rdi, [0x1400f1810]
lea rsi, str.Bubble
nop word [rax + rax]
movzx ecx, byte [r12 + 2]
movzx r9d, byte [r12 + 1]
movzx edx, byte [r12]
cmp dword [0x1400ef940], 0
jne 0x14005507d
cmp ecx, 0xc8
jbe 0x140055e4d
cmp edx, 0xc8
jbe 0x140055e4d
cmp r9d, 0x96
jae 0x140055e4d
sub ecx, r9d
mov r8d, dword [0x1400ede9c]
cmp ecx, r8d
jle 0x140055e4d
sub edx, r9d
cmp edx, r8d
jmp 0x140055121
cmp dword [0x1400ef940], 1
jne 0x1400550d6
cmp ecx, 0xd7
jb 0x140055e4d
lea eax, [rdx - 0x41]
cmp eax, 0x3c
ja 0x140055e4d
cmp r9d, 0xd7
jb 0x140055e4d
cmp ecx, edx
jbe 0x140055e4d
cmp r9d, edx
jbe 0x140055e4d
sub ecx, edx
mov r8d, dword [0x1400ede9c]
cmp ecx, r8d
jle 0x140055e4d
sub r9d, edx
cmp r9d, r8d
jmp 0x140055121
cmp dword [0x1400ef940], 2
jne 0x140055e4d
cmp ecx, 0xc8
jbe 0x140055e4d
cmp edx, 0x96
jae 0x140055e4d
cmp r9d, 0x96
jae 0x140055e4d
mov r8d, dword [0x1400ede9c]
lea eax, [r8 + rdx]
cmp ecx, eax
jle 0x140055e4d
lea eax, [r8 + r9]
cmp ecx, eax
jle 0x140055e4d
cmp dword [0x1400ef950], 4
jne 0x1400551cb
mov rax, qword [rbp + 0xa8]
mov eax, dword [rax]
cmp dword [0x1400f2b98], eax
jle 0x1400551b5
lea rcx, [0x1400f2b98]
call fcn.14006ec98
cmp dword [0x1400f2b98], 0xffffffff
jne 0x1400551b5
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov dword [0x1400f2b94], 0xffffffff
mov dword [0x1400f1814], eax
mov edx, 1
nop word [rax + rax]
mov ecx, eax
shr ecx, 0x1e
xor ecx, eax
imul eax, ecx, 0x6c078965
add eax, edx
mov dword [rdi + rdx*4 + 4], eax
inc rdx
cmp rdx, 0x270
jb 0x140055180
mov dword [0x1400f1810], 0x270
lea rcx, [0x1400f2b98]
call fcn.14006ec2c
mov rcx, rdi
call fcn.14006e690
shr eax, 0x1f
add eax, 0x80000001
btc eax, 0x1f
jmp 0x1400551d3
mov eax, dword [0x1400ef950]
inc eax
mov dword [0x1400ef948], eax
cmp byte [0x1400eef09], 0
je 0x1400558a6
cmp byte [rbp + 0x90], 0
jne 0x1400558a6
lea rcx, [0x1400f1648]
cmp qword [0x1400f1660], 0xf
cmova rcx, qword [0x1400f1648]
mov r8, qword [0x1400f1658]
test r8, r8
jne 0x1400558a6
lea rdx, [0x14007614a]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1400558a6
lea rcx, [0x1400f13f0]
mov rsi, qword [0x1400f13f0]
mov r14, qword [0x1400f1408]
cmp r14, 0xf
cmova rcx, rsi
mov r12, qword [0x1400f1440]
mov r15, qword [0x1400f1438]
mov r13, qword [0x1400f1428]
mov rdi, qword [0x1400f1400]
cmp rdi, 1
jne 0x14005550a
mov r8, rdi
lea rdx, [0x140077a20]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x14005550a
lea rdx, [0x1400f13f0]
cmp r14, 0xf
cmova rdx, rsi
lea rcx, [0x1400f1428]
cmp r12, 0xf
cmova rcx, r13
cmp r15, rdi
jne 0x1400552bb
mov r8, r15
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x14005550a
mov rax, qword [0x1400f1660]
movabs r15, 0x7fffffffffffffff
cmp rax, 1
jb 0x140055302
lea rcx, [0x1400f1648]
cmp rax, 0xf
cmova rcx, qword [0x1400f1648]
mov qword [0x1400f1658], 1
movzx eax, word [0x140077a20]
mov byte [rcx], al
mov byte [rcx + 1], 0
jmp 0x1400553e8
mov r14, qword [0x1400f1660]
mov rcx, r14
shr rcx, 1
mov rax, r15
sub rax, rcx
cmp r14, rax
jbe 0x14005532d
mov rsi, r15
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x140055360
lea rax, [r14 + rcx]
mov esi, recvfrom
cmp rax, rsi
cmova rsi, rax
lea rcx, [rsi + 1]
test rcx, rcx
jne 0x14005534a
xor eax, eax
jmp 0x140055384
cmp rcx, 0x1000
jb 0x14005537f
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140055f33
mov rcx, rax
call fcn.14006ef50
test rax, rax
je 0x140055efb
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x140055387
call fcn.14006ef50
mov rdi, rax
mov qword [0x1400f1658], 1
mov qword [0x1400f1660], rsi
movzx ecx, word [0x140077a20]
mov byte [rdi], cl
mov byte [rdi + 1], 0
cmp r14, 0xf
jbe 0x1400553e1
lea rdx, [r14 + 1]
mov rcx, qword [0x1400f1648]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400553dc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140055efb
call fcn.14006eb78
mov qword [0x1400f1648], rdi
mov rsi, qword [0x1400f1440]
cmp rsi, 1
jb 0x140055425
lea rcx, [0x1400f1428]
cmp rsi, 0xf
cmova rcx, qword [0x1400f1428]
mov qword [0x1400f1438], 1
movzx eax, word [0x140077a20]
mov byte [rcx], al
mov byte [rcx + 1], 0
jmp 0x140055867
mov rcx, rsi
shr rcx, 1
mov rax, r15
sub rax, rcx
cmp rsi, rax
jbe 0x140055449
mov r14, r15
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x14005547d
lea rax, [rcx + rsi]
mov r14d, sendto
cmp rax, r14
cmova r14, rax
lea rcx, [r14 + 1]
test rcx, rcx
jne 0x140055467
xor eax, eax
jmp 0x1400554a1
cmp rcx, 0x1000
jb 0x14005549c
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140055f33
mov rcx, rax
call fcn.14006ef50
test rax, rax
je 0x140055efb
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x1400554a4
call fcn.14006ef50
mov rdi, rax
movzx ecx, word [0x140077a20]
mov qword [0x1400f1438], 1
mov qword [0x1400f1440], r14
mov byte [rdi], cl
cmp rsi, 0xf
mov byte [rdi + 1], 0
jbe 0x1400554fe
lea rdx, [rsi + 1]
mov rcx, qword [0x1400f1428]
cmp rdx, 0x1000
mov rax, rcx
jb 0x1400554f9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140055efb
call fcn.14006eb78
mov qword [0x1400f1428], rdi
jmp 0x140055867
lea rcx, [0x1400f13f0]
cmp r14, 0xf
cmova rcx, rsi
cmp rdi, 1
jne 0x140055777
mov r8, rdi
lea rdx, [0x140077a20]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x140055777
lea rdx, [0x1400f13f0]
cmp r14, 0xf
cmova rdx, rsi
lea rcx, [0x1400f1428]
cmp r12, 0xf
cmova rcx, r13
cmp r15, rdi
jne 0x140055777
mov r8, r15
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x140055777
mov rax, qword [0x1400f1660]
movabs r15, 0x7fffffffffffffff
cmp rax, rdi
jb 0x1400555b3
lea rcx, [0x1400f1648]
cmp rax, 0xf
cmova rcx, qword [0x1400f1648]
mov qword [0x1400f1658], rdi
movzx eax, word [0x140077a14]
mov byte [rcx], al
mov byte [rcx + 1], 0
jmp 0x140055699
mov r14, qword [0x1400f1660]
mov rcx, r14
shr rcx, 1
mov rax, r15
sub rax, rcx
cmp r14, rax
jbe 0x1400555de
mov rsi, r15
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x140055611
lea rax, [r14 + rcx]
mov esi, recvfrom
cmp rax, rsi
cmova rsi, rax
lea rcx, [rsi + 1]
test rcx, rcx
jne 0x1400555fb
xor eax, eax
jmp 0x140055635
cmp rcx, 0x1000
jb 0x140055630
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140055f33
mov rcx, rax
call fcn.14006ef50
test rax, rax
je 0x140055efb
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x140055638
call fcn.14006ef50
mov rdi, rax
mov qword [0x1400f1658], 1
mov qword [0x1400f1660], rsi
movzx ecx, word [0x140077a14]
mov byte [rdi], cl
mov byte [rdi + 1], 0
cmp r14, 0xf
jbe 0x140055692
lea rdx, [r14 + 1]
mov rcx, qword [0x1400f1648]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005568d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140055efb
call fcn.14006eb78
mov qword [0x1400f1648], rdi
mov rsi, qword [0x1400f1440]
cmp rsi, 1
jb 0x1400556d6
lea rcx, [0x1400f1428]
cmp rsi, 0xf
cmova rcx, qword [0x1400f1428]
mov qword [0x1400f1438], 1
movzx eax, word [0x140077a14]
mov byte [rcx], al
mov byte [rcx + 1], 0
jmp 0x140055867
mov rcx, rsi
shr rcx, 1
mov rax, r15
sub rax, rcx
cmp rsi, rax
jbe 0x1400556fa
mov r14, r15
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x14005573a
lea rax, [rsi + rcx]
mov r14d, sendto
cmp rax, r14
cmova r14, rax
lea rcx, [r14 + 1]
test rcx, rcx
jne 0x140055724
xor eax, eax
mov edi, eax
movzx ecx, word [0x140077a14]
jmp 0x1400554ab
cmp rcx, 0x1000
jb 0x140055763
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140055f33
mov rcx, rax
call fcn.14006ef50
test rax, rax
je 0x140055efb
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
movzx ecx, word [0x140077a14]
jmp 0x1400554ab
call fcn.14006ef50
mov rdi, rax
movzx ecx, word [0x140077a14]
jmp 0x1400554ab
lea rcx, [0x1400f13f0]
cmp r14, 0xf
cmova rcx, rsi
cmp rdi, 1
jne 0x1400557ea
mov r8, rdi
lea rdx, [0x140077a14]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1400557ea
lea rdx, [0x1400f13f0]
cmp r14, 0xf
cmova rdx, rsi
lea rcx, [0x1400f1428]
cmp r12, 0xf
cmova rcx, r13
cmp r15, rdi
jne 0x1400557ce
mov r8, r15
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1400557ea
lea rdx, [0x140077a14]
lea rcx, [0x1400f1648]
call fcn.140065130
lea rdx, [0x140077a14]
jmp 0x14005585b
lea rcx, [0x1400f13f0]
cmp r14, 0xf
cmova rcx, rsi
cmp rdi, 1
jne 0x140055867
mov r8, rdi
lea rdx, [0x140077a14]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x140055867
lea rdx, [0x1400f13f0]
cmp r14, 0xf
cmova rdx, rsi
lea rcx, [0x1400f1428]
cmp r12, 0xf
cmova rcx, r13
cmp r15, rdi
jne 0x140055867
mov r8, r15
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x140055867
lea rdx, [0x140077a20]
lea rcx, [0x1400f1648]
call fcn.140065130
lea rdx, [0x140077a20]
lea rcx, [0x1400f1428]
call fcn.140065130
lea rcx, [0x1400f1648]
call fcn.14006ab00
movsxd rdi, dword [0x1400ef944]
lea rcx, [rbp + 8]
call fcn.140037dd0
imul rdx, rdi, 0xf4240
add rdx, qword [rax]
mov qword [0x1400f1460], rdx
mov r12, qword [rbp + 0x98]
mov r13, qword [rbp - 0x80]
lea rsi, str.Bubble
cmp byte [0x1400eef0e], 0
je 0x140055a5f
lea rcx, [rbp + 0x10]
call fcn.140037dd0
mov rax, qword [rax]
cmp qword [0x1400f1488], rax
jge 0x140055a5f
lea rcx, [rbp + 0x18]
call fcn.140037dd0
mov rcx, qword [rax]
add rcx, 0x1dcd6500
mov qword [0x1400f1488], rcx
movsxd rax, dword [0x1400ef94c]
mov rdx, qword [rsi + rax*8]
xorps xmm0, xmm0
movups xmmword [rbp - 0x70], xmm0
xor r15d, r15d
mov qword [rbp - 0x60], r15
mov qword [rbp - 0x58], r15
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp byte [rdx + r8], r15b
jne 0x140055910
lea rcx, [rbp - 0x70]
call fcn.140047820
nop
lea rsi, [rbp - 0x70]
mov rcx, qword [rbp - 0x70]
mov r8, qword [rbp - 0x58]
cmp r8, 0xf
cmova rsi, rcx
lea r14, [rbp - 0x70]
cmova r14, rcx
mov rdx, qword [rbp - 0x60]
add r14, rdx
lea rdi, [rbp - 0x70]
cmp r8, 0xf
cmova rdi, rcx
cmp rdi, r14
je 0x140055980
sub rsi, rdi
nop word [rax + rax]
movsx ecx, byte [rdi]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_tolower]
mov byte [rsi + rdi], al
inc rdi
cmp rdi, r14
jne 0x140055960
mov r8, qword [rbp - 0x58]
mov rdx, qword [rbp - 0x60]
mov rcx, qword [rbp - 0x70]
lea r9, [rbp - 0x70]
cmp r8, 0xf
cmova r9, rcx
add r9, rdx
lea rdx, [rbp - 0x70]
cmp r8, 0xf
cmova rdx, rcx
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], r15
mov qword [rsp + 0x68], r15
cmp rdx, r9
jne 0x1400559c8
mov qword [rsp + 0x60], r15
mov qword [rsp + 0x68], 7
mov word [rsp + 0x50], r15w
jmp 0x1400559d6
sub r9, rdx
lea rcx, [rsp + 0x50]
call fcn.140067330
nop
lea rcx, [rsp + 0x50]
call fcn.140068d60
nop
mov rdx, qword [rsp + 0x68]
cmp rdx, 7
jbe 0x140055a24
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140055a1e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140055f02
call fcn.14006eb78
nop
mov rdx, qword [rbp - 0x58]
cmp rdx, 0xf
jbe 0x140055a5f
inc rdx
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140055a5a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140055f09
call fcn.14006eb78
cmp byte [0x1400ef78f], 0
je 0x140055a95
lea rcx, [0x1400ee240]
call fcn.14006ad00
movsxd rdi, dword [0x1400ef8b4]
lea rcx, [rbp + 0x20]
call fcn.140037dd0
imul rdx, rdi, 0xf4240
add rdx, qword [rax]
mov qword [0x1400f1470], rdx
cmp byte [0x1400eef0f], 0
je 0x140055c1a
cmp byte [0x1400eef0c], 0
jne 0x140055c1a
lea rcx, [rbp + 0x28]
call fcn.140037dd0
mov rcx, qword [rax]
add rcx, 0xbebc200
mov qword [0x1400f1480], rcx
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], 8
mov qword [rsp + 0x68], socket
movabs rax, 0x6c6f72746e6f434c
mov qword [rsp + 0x50], rax
mov byte [rsp + 0x58], 0
lea r8, [rsp + 0x50]
lea rdx, [rbp - 0x48]
lea rcx, [0x1400eeef8]
call fcn.140048280
mov r15, qword [0x1400eeef8]
mov rsi, qword [rbp - 0x38]
cmp byte [rsi + 0x19], 0
jne 0x140055b55
lea rdx, [rsi + 0x20]
mov r14, qword [rdx + 0x10]
mov edi, 8
lea rcx, [rsp + 0x50]
cmp qword [rdx + 0x18], 0xf
jbe 0x140055b39
mov rdx, qword [rdx]
mov r8, rdi
cmp r14, rdi
cmovb r8, r14
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x140055b53
cmp rdi, r14
jb 0x140055b55
jmp 0x140055b58
jns 0x140055b58
mov rsi, r15
cmp rsi, r15
je 0x140055b94
movzx eax, word [rsi + 0x40]
xorps xmm0, xmm0
xor ecx, ecx
movups xmmword [rbp - 0x20], xmm0
movups xmmword [rbp - 0x10], xmm0
mov qword [rbp], rcx
mov dword [rbp - 0x20], 1
mov word [rbp - 0x18], ax
mov r8d, 0x28
lea rdx, [rbp - 0x20]
mov ecx, 1
call qword [sym.imp.USER32.dll_SendInput]
jmp 0x140055bd6
lea rdx, str.Error:_Unknown_key:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140065e80
lea rdx, [rsp + 0x50]
cmp qword [rsp + 0x68], 0xf
cmova rdx, qword [rsp + 0x50]
mov r8, qword [rsp + 0x60]
mov rcx, rax
call fcn.14006db70
lea rdx, [0x140066060]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
mov rdx, qword [rsp + 0x68]
cmp rdx, 0xf
jbe 0x140055c13
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140055c0e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140055f10
call fcn.14006eb78
mov byte [0x1400eef0c], 1
cmp byte [0x1400eef0b], 0
je 0x140055e3f
cmp byte [0x1400eef08], 0
jne 0x140055e3f
movsxd rdi, dword [0x1400ee280]
lea rcx, [rbp + 0x30]
call fcn.140037dd0
imul rdx, rdi, 0xf4240
add rdx, qword [rax]
mov qword [0x1400f1478], rdx
mov byte [0x1400eef08], 1
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], 1
mov qword [rsp + 0x68], socket
movzx eax, word [0x140077a6c]
mov byte [rsp + 0x50], al
mov byte [rsp + 0x51], 0
lea rcx, [rsp + 0x50]
call fcn.14006ad00
mov rdx, qword [rsp + 0x68]
cmp rdx, 0xf
jbe 0x140055ccd
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140055cc8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140055f17
call fcn.14006eb78
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], 1
mov qword [rsp + 0x68], socket
movzx eax, word [0x140077a14]
mov byte [rsp + 0x50], al
mov byte [rsp + 0x51], 0
lea rcx, [rsp + 0x50]
call fcn.14006ad00
mov rdx, qword [rsp + 0x68]
cmp rdx, 0xf
jbe 0x140055d3e
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140055d39
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140055f1e
call fcn.14006eb78
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], 1
mov qword [rsp + 0x68], socket
movzx eax, word [0x140077a5c]
mov byte [rsp + 0x50], al
mov byte [rsp + 0x51], 0
lea rcx, [rsp + 0x50]
call fcn.14006ad00
mov rdx, qword [rsp + 0x68]
cmp rdx, 0xf
jbe 0x140055daf
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140055daa
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140055f25
call fcn.14006eb78
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], 1
mov qword [rsp + 0x68], socket
movzx eax, word [0x140077a20]
mov byte [rsp + 0x50], al
mov byte [rsp + 0x51], 0
lea rcx, [rsp + 0x50]
call fcn.14006ad00
mov rdx, qword [rsp + 0x68]
cmp rdx, 0xf
jbe 0x140055e20
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140055e1b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140055f2c
call fcn.14006eb78
xor r9d, r9d
xor r8d, r8d
lea rdx, [0x14004e610]
mov ecx, recvfrom
call qword [sym.imp.USER32.dll_SetWindowsHookExW]
mov qword [0x1400ee988], rax
lea rdi, [0x1400f1810]
lea rsi, str.Bubble
add r12, 0xc
mov qword [rbp + 0x98], r12
cmp r12, r13
jne 0x140055020
mov rcx, qword [rbp + 0xa0]
call qword [sym.imp.GDI32.dll_DeleteObject]
nop
lea rcx, [rsp + 0x78]
call fcn.140065350
cmp dword [0x1400ef948], 0
jle 0x140055ee7
sub rbx, qword [0x1400f1630]
cmp rbx, 0x7270e00
jl 0x140055ee7
lea rcx, [rbp + 0x90]
call fcn.140037dd0
mov rcx, qword [rax]
cmp qword [0x1400f1470], rcx
jge 0x140055ee7
dec dword [0x1400ef948]
lea rcx, [0x1400ee200]
call fcn.14006ad00
lea rcx, [rbp + 0x90]
call fcn.140037dd0
mov rcx, qword [rax]
mov qword [0x1400f1630], rcx
cmp byte [0x1400ef78c], 0
je 0x140055ee7
lea rcx, str.NONE
call fcn.14006ad00
add rsp, 0x148
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
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]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140037ce0
nop
lea rdx, str.Failed_to_get_screen_DC.
lea rcx, [rsp + 0x78]
call fcn.140067b50
lea rdx, [0x14008ed48]
lea rcx, [rsp + 0x78]
call sub.VCRUNTIME140.dll__CxxThrowException
int3
mov rdx, rdi
xor ecx, ecx
call qword [sym.imp.USER32.dll_ReleaseDC]
lea rdx, str.Failed_to_create_compatible_DC.
lea rcx, [rsp + 0x78]
call fcn.140067b50
lea rdx, [0x14008ed48]
lea rcx, [rsp + 0x78]
call sub.VCRUNTIME140.dll__CxxThrowException
int3
call qword [sym.imp.GDI32.dll_DeleteDC]
mov rdx, rdi
xor ecx, ecx
call qword [sym.imp.USER32.dll_ReleaseDC]
lea rdx, str.Failed_to_create_compatible_bitmap.
lea rcx, [rsp + 0x78]
call fcn.140067b50
lea rdx, [0x14008ed48]
lea rcx, [rsp + 0x78]
call sub.VCRUNTIME140.dll__CxxThrowException
int3
call qword [sym.imp.GDI32.dll_SelectObject]
mov rcx, qword [rbp + 0xa0]
call qword [sym.imp.GDI32.dll_DeleteObject]
mov rcx, rsi
call qword [sym.imp.GDI32.dll_DeleteDC]
mov rdx, rdi
xor ecx, ecx
call qword [sym.imp.USER32.dll_ReleaseDC]
lea rdx, str.BitBlt_operation_failed.
lea rcx, [rsp + 0x78]
call fcn.140067b50
lea rdx, [0x14008ed48]
lea rcx, [rsp + 0x78]
call sub.VCRUNTIME140.dll__CxxThrowException
int3