Function at 0x140018870
Capabilities:
Check for software breakpoints

Disassembly:
push rbp
push r14
push r15
sub rsp, 0x120
lea rbp, [rsp + 0x20]
mov qword [rbp + 0x120], rbx
lea rcx, [rbp]
mov qword [rbp + 0x128], rsi
xor edx, edx
mov qword [rbp + 0x130], rdi
mov r8d, 0x100
mov qword [rbp + 0x138], r12
call sub.VCRUNTIME140.dll_memset
movzx eax, word [0x140132e04]
lea rcx, [rax + 0xf]
cmp rcx, rax
ja 0x1400188c9
movabs rcx, 0xffffffffffffff0
and rcx, 0xfffffffffffffff0
mov rax, rcx
call fcn.1400f7000
sub rsp, rcx
xor r15d, r15d
cmp r15w, word [0x140132e04]
mov esi, r15d
lea r12, [rsp + 0x20]
jae 0x1400189b7
mov rdi, r12
mov r14d, r15d
nop word [rax + rax]
cmp byte [0x140132908], r15b
mov rax, qword [0x140133b08]
mov rbx, qword [r14 + rax]
je 0x140018920
mov rcx, rbx
call fcn.140012850
test al, al
je 0x140018967
cmp word [rbx + 6], r15w
je 0x14001894f
cmp byte [rbx + 0x19], r15b
je 0x140018967
mov byte [rdi], r15b
movzx eax, byte [rbx + 0x12]
cmp byte [rbx + 0x14], r15b
je 0x140018bcb
test al, al
jne 0x140018bd3
mov byte [rbx + 0x12], 1
jmp 0x140018bd3
mov rax, qword [rbx + 0x28]
test rax, rax
je 0x140018967
cmp byte [rax + 0x28], r15b
jne 0x14001892d
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x140018958
mov byte [rdi], 1
cmp byte [rbx + 0x18], r15b
je 0x14001899f
movzx edx, word [rbx + 4]
mov rcx, qword [0x140132ab0]
call qword [sym.imp.USER32.dll_UnregisterHotKey]
test eax, eax
sete al
mov byte [rbx + 0x18], al
mov rax, qword [rbx + 0x28]
test rax, rax
je 0x14001899f
mov byte [rax + 0x27], r15b
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x140018992
movzx eax, word [0x140132e04]
inc esi
add r14, 8
inc rdi
cmp esi, eax
jl 0x140018900
cmp r15w, word [0x140132e04]
mov esi, r15d
jae 0x140018aeb
mov r14, r15
mov rdi, r12
nop
cmp byte [rdi], r15b
jne 0x140018ad3
mov rax, qword [0x140133b08]
mov rdx, qword [r14 + rax]
cmp byte [rdx + 0x16], r15b
je 0x140018a56
movzx ecx, byte [rdx + 0x10]
test cl, cl
je 0x140018a56
cmp r15w, word [0x140132e04]
mov r11d, r15d
jae 0x140018a56
mov r10, r15
nop dword [rax]
nop word [rax + rax]
mov rax, qword [0x140133b08]
movzx r8d, cl
mov r9, qword [r10 + rax]
cmp byte [r9 + 0x10], cl
jne 0x140018a3f
cmp byte [r9 + 0x12], r15b
jne 0x140018a3f
movzx eax, byte [rdx + 0xf]
cmp byte [r9 + 0xf], al
jne 0x140018a3f
mov byte [r9 + 0x12], 1
movzx r8d, byte [rdx + 0x10]
movzx eax, word [0x140132e04]
inc r11d
add r10, 8
movzx ecx, r8b
cmp r11d, eax
jl 0x140018a10
cmp byte [rdx + 0x15], r15b
je 0x140018ad3
movzx r8d, byte [rdx + 0x10]
test r8b, r8b
je 0x140018ad3
cmp byte [rdx + 0xe], r15b
jne 0x140018ad3
cmp word [rdx + 0xa], r15w
jne 0x140018ad3
cmp byte [rdx + 0x11], r15b
jne 0x140018ad3
cmp r15w, word [0x140132e04]
mov ebx, r15d
jae 0x140018ad3
mov r11, r15
nop dword [rax]
mov rax, qword [0x140133b08]
movzx r9d, r8b
mov r10, qword [r11 + rax]
cmp byte [r10 + 0x10], r8b
jne 0x140018abe
cmp byte [r10 + 0x12], r15b
jne 0x140018abe
mov eax, dword [rdx]
and eax, dword [r10]
cmp eax, dword [rdx]
jne 0x140018abe
mov byte [r10 + 0x12], 1
movzx r9d, byte [rdx + 0x10]
movzx eax, word [0x140132e04]
inc ebx
add r11, 8
movzx r8d, r9b
cmp ebx, eax
jl 0x140018a90
movzx eax, word [0x140132e04]
inc esi
inc rdi
add r14, 8
cmp esi, eax
jl 0x1400189d0
cmp qword [0x140132a98], r15
setne byte [0x140132bb2]
cmp r15w, word [0x140132e04]
jae 0x140018d55
mov rsi, r15
nop word [rax + rax]
cmp byte [r12], 0
jne 0x140018d3b
mov rax, qword [0x140133b08]
mov rdi, qword [rsi + rax]
cmp byte [rdi + 0x12], 0
jne 0x140018c24
movzx eax, byte [rdi + 0x10]
movzx ecx, byte [rbp + rax]
mov byte [rdi + 0x12], 1
test cl, cl
jne 0x140018c24
mov rbx, qword [rdi + 0x28]
test rbx, rbx
je 0x140018c24
cmp qword [rbx + 8], 0
jne 0x140018c11
cmp byte [rbx + 0x28], 0
je 0x140018c11
cmp byte [0x140132908], 0
je 0x140018c20
mov r9, qword [rbx]
mov rcx, r9
call fcn.1400c4a80
test eax, eax
je 0x140018b8c
cmp eax, 1
jne 0x140018c11
mov ecx, reloc.WSOCK32.dll_recv
mov rcx, qword [r9 + rcx]
test rcx, rcx
je 0x140018c11
cmp byte [rcx], 0xcd
jne 0x140018c0b
movzx eax, byte [rcx + 1]
test al, al
je 0x140018c07
mov rax, qword [rcx + 8]
movzx edx, byte [rax]
test dl, dl
jne 0x140018be9
mov rdx, qword [rax + 0x10]
test rdx, rdx
je 0x140018bc1
cmp qword [rdx], 0
jne 0x140018c07
cmp byte [rax + 1], 0
je 0x140018bee
mov al, 1
jmp 0x140018c0d
cmp al, 1
jne 0x140018bd3
mov byte [rbx + 0x12], r15b
movzx eax, byte [rbx + 0x11]
test al, al
je 0x14001899f
mov byte [rbp + rax], 1
jmp 0x14001899f
cmp dl, 1
je 0x140018c07
mov rcx, qword [rcx + 8]
lea rdx, [0x140110264]
mov rcx, qword [rcx + 8]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
test eax, eax
je 0x140018c0b
mov al, 1
jmp 0x140018c0d
xor al, al
test al, al
jne 0x140018c20
mov rbx, qword [rbx + 0x10]
test rbx, rbx
jne 0x140018b52
jmp 0x140018c24
mov byte [rdi + 0x12], 0
cmp byte [rdi + 0x12], 2
jne 0x140018c87
cmp word [rdi + 0xa], 0
jne 0x140018c83
cmp word [rdi + 8], 0
jne 0x140018c83
cmp word [rdi + 6], 0
jne 0x140018c83
movzx eax, byte [rdi + 0xf]
test al, 0xc0
je 0x140018c4b
test al, 0xc
je 0x140018c83
movzx ecx, byte [rdi + 0x10]
test cl, cl
je 0x140018c67
lea eax, [rcx - 1]
cmp al, 5
ja 0x140018c5f
cmp cl, 3
jne 0x140018c67
add cl, 0x66
cmp cl, 5
ja 0x140018c83
movzx ecx, byte [rdi + 0x11]
test cl, cl
je 0x140018c87
lea eax, [rcx - 1]
cmp al, 5
ja 0x140018c7b
cmp cl, 3
jne 0x140018c87
add cl, 0x66
cmp cl, 5
jbe 0x140018c87
mov byte [rdi + 0x12], 3
cmp byte [rdi + 0x12], 0
movzx eax, byte [rdi + 0x18]
jne 0x140018cf2
test al, al
jne 0x140018d0f
movzx r9d, byte [rdi + 0x10]
mov r8d, dword [rdi]
mov ecx, r9d
sub ecx, 0x10
je 0x140018ccb
sub ecx, 1
je 0x140018cc5
sub ecx, 1
je 0x140018cbf
sub ecx, 0x49
je 0x140018cb9
cmp ecx, 1
jne 0x140018ccf
or r8d, 8
jmp 0x140018ccf
or r8d, 1
jmp 0x140018ccf
or r8d, 2
jmp 0x140018ccf
or r8d, 4
movzx edx, word [rdi + 4]
mov rcx, qword [0x140132ab0]
call qword [sym.imp.USER32.dll_RegisterHotKey]
test eax, eax
setne cl
mov byte [rdi + 0x18], cl
test eax, eax
jne 0x140018d0f
mov byte [rdi + 0x12], 1
jmp 0x140018d0f
test al, al
je 0x140018d0f
movzx edx, word [rdi + 4]
mov rcx, qword [0x140132ab0]
call qword [sym.imp.USER32.dll_UnregisterHotKey]
test eax, eax
sete al
mov byte [rdi + 0x18], al
movzx ecx, byte [rdi + 0x12]
sub ecx, 1
je 0x140018d34
sub ecx, 1
je 0x140018d2b
cmp ecx, 1
jne 0x140018d3b
or byte [0x140132bb2], 3
jmp 0x140018d3b
or byte [0x140132bb2], 2
jmp 0x140018d3b
or byte [0x140132bb2], 1
movzx eax, word [0x140132e04]
inc r15d
inc r12
add rsi, 8
cmp r15d, eax
jl 0x140018b10
mov eax, dword [0x140133b14]
test eax, eax
jne 0x140018d7a
cmp dword [reloc.OLEAUT32.dll_VariantInit], 7
jne 0x140018d7a
cmp dword [reloc.OLEAUT32.dll_VariantInit], 7
jne 0x140018d7a
cmp dword [reloc.OLEAUT32.dll_VariantInit], 7
je 0x140018d81
or byte [0x140132bb2], 1
cmp byte [0x140132909], 0
jne 0x140018d97
cmp byte [0x14012f23c], 0
je 0x140018d9e
test eax, eax
je 0x140018d9e
or byte [0x140132bb2], 2
movzx edx, word [0x140132e04]
movzx r9d, byte [0x140132bb3]
movzx r8d, byte [0x140132bb2]
mov rcx, qword [0x140133b08]
call fcn.140016590
cmp dword [0x140133b04], 0
je 0x140018df8
cmp byte [0x1401328be], 0
jne 0x140018df8
mov rcx, qword [0x140132ab0]
xor r9d, r9d
mov edx, 9
mov r8d, 0xa
call qword [sym.imp.USER32.dll_SetTimer]
test rax, rax
setne byte [0x1401328be]
mov rbx, qword [rbp + 0x120]
mov rsi, qword [rbp + 0x128]
mov rdi, qword [rbp + 0x130]
mov r12, qword [rbp + 0x138]
lea rsp, [rbp + 0x100]
pop r15
pop r14
pop rbp
ret