Function at 0x14000e9e0
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 [0x1401166d8]
lea rcx, [rax + 0xf]
cmp rcx, rax
ja 0x14000ea39
movabs rcx, 0xffffffffffffff0
and rcx, 0xfffffffffffffff0
mov rax, rcx
call fcn.1400ddab0
sub rsp, rcx
xor r15d, r15d
cmp r15w, word [0x1401166d8]
mov r14d, r15d
lea r12, [rsp + 0x20]
jae 0x14000eb29
mov rdi, r12
mov esi, r15d
nop word [rax + rax]
cmp byte [0x1401157f3], r15b
mov rax, qword [0x1401166c8]
mov rbx, qword [rsi + rax]
je 0x14000ea90
mov rcx, rbx
call fcn.140008820
test al, al
je 0x14000ead7
cmp word [rbx + 6], r15w
je 0x14000eabf
cmp byte [rbx + 0x19], r15b
je 0x14000ead7
mov byte [rdi], r15b
movzx eax, byte [rbx + 0x12]
cmp byte [rbx + 0x14], r15b
je 0x14000ed15
test al, al
jne 0x14000ed1d
mov byte [rbx + 0x12], 1
jmp 0x14000ed1d
mov rax, qword [rbx + 0x28]
test rax, rax
je 0x14000ead7
cmp byte [rax + 0x28], r15b
jne 0x14000ea9d
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x14000eac8
mov byte [rdi], 1
cmp byte [rbx + 0x18], r15b
je 0x14000eb0f
movzx edx, word [rbx + 4]
mov rcx, qword [0x1401156f0]
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 0x14000eb0f
mov byte [rax + 0x27], r15b
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x14000eb02
movzx eax, word [0x1401166d8]
inc r14d
add rsi, 8
inc rdi
cmp r14d, eax
jl 0x14000ea70
movzx ecx, word [0x1401166d8]
mov ebx, r15d
test ecx, ecx
je 0x14000ec34
mov rdi, r15
mov r11, r12
cmp byte [r11], r15b
jne 0x14000ec1c
mov rax, qword [0x1401166c8]
mov rdx, qword [rdi + rax]
cmp byte [rdx + 0x16], r15b
je 0x14000ebaa
cmp byte [rdx + 0x10], r15b
je 0x14000ebaa
mov r8d, r15d
test ecx, ecx
je 0x14000ebaa
mov r9, r15
nop dword [rax + rax]
mov rax, qword [0x1401166c8]
mov rcx, qword [r9 + rax]
movzx eax, byte [rdx + 0x10]
cmp byte [rcx + 0x10], al
jne 0x14000eb97
cmp byte [rcx + 0x12], r15b
jne 0x14000eb97
movzx eax, byte [rdx + 0xf]
cmp byte [rcx + 0xf], al
jne 0x14000eb97
mov byte [rcx + 0x12], 1
movzx eax, word [0x1401166d8]
inc r8d
add r9, 8
cmp r8d, eax
jl 0x14000eb70
cmp byte [rdx + 0x15], r15b
je 0x14000ec1c
cmp byte [rdx + 0x10], r15b
je 0x14000ec1c
cmp byte [rdx + 0xe], r15b
jne 0x14000ec1c
cmp word [rdx + 0xa], r15w
jne 0x14000ec1c
cmp byte [rdx + 0x11], r15b
jne 0x14000ec1c
cmp r15w, word [0x1401166d8]
mov r9d, r15d
jae 0x14000ec1c
mov r10, r15
nop dword [rax]
mov rax, qword [0x1401166c8]
mov r8, qword [r10 + rax]
movzx eax, byte [rdx + 0x10]
cmp byte [r8 + 0x10], al
jne 0x14000ec09
cmp byte [r8 + 0x12], r15b
jne 0x14000ec09
mov eax, dword [rdx]
and eax, dword [r8]
cmp eax, dword [rdx]
jne 0x14000ec09
mov byte [r8 + 0x12], 1
movzx eax, word [0x1401166d8]
inc r9d
add r10, 8
cmp r9d, eax
jl 0x14000ebe0
movzx ecx, word [0x1401166d8]
inc ebx
inc r11
add rdi, 8
cmp ebx, ecx
jl 0x14000eb41
cmp qword [0x1401156d8], r15
setne byte [0x14011655d]
cmp r15w, word [0x1401166d8]
jae 0x14000eeab
mov rsi, r15
cmp byte [r12], 0
jne 0x14000ee91
mov rax, qword [0x1401166c8]
mov rdi, qword [rsi + rax]
movzx ecx, byte [rdi + 0x12]
test cl, cl
jne 0x14000ed5d
movzx eax, byte [rdi + 0x10]
mov cl, 1
mov byte [rdi + 0x12], 1
cmp byte [rbp + rax], 0
jne 0x14000ed5d
mov rbx, qword [rdi + 0x28]
test rbx, rbx
je 0x14000ed5d
nop word [rax + rax]
cmp qword [rbx + 8], 0
jne 0x14000ed4c
cmp byte [rbx + 0x28], 0
je 0x14000ed4c
cmp byte [0x1401157f3], 0
je 0x14000ed08
mov r9, qword [rbx]
mov rcx, r9
call fcn.1400ad8f0
test eax, eax
je 0x14000ecd2
cmp eax, 1
jne 0x14000ed4c
mov rcx, qword [r9 + 0x10]
test rcx, rcx
je 0x14000ed4c
cmp byte [rcx], 0xcd
jne 0x14000ed4c
movzx eax, byte [rcx + 1]
test al, al
je 0x14000ed08
mov rcx, qword [rcx + 8]
movzx eax, byte [rcx]
test al, al
jne 0x14000ed33
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14000ed02
cmp qword [rax], 0
jne 0x14000ed08
cmp byte [rcx + 1], 0
je 0x14000ed37
movzx eax, byte [rdi + 0x18]
mov byte [rdi + 0x12], 0
jmp 0x14000ee19
cmp al, 1
jne 0x14000ed1d
mov byte [rbx + 0x12], r15b
movzx eax, byte [rbx + 0x11]
test al, al
je 0x14000eb0f
mov byte [rbp + rax], 1
jmp 0x14000eb0f
cmp al, 1
je 0x14000ed08
mov rcx, qword [rcx + 8]
lea rdx, [0x1400f5d64]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
test eax, eax
jne 0x14000ed08
mov rbx, qword [rbx + 0x10]
test rbx, rbx
jne 0x14000eca0
movzx ecx, byte [rdi + 0x12]
cmp cl, 2
jne 0x14000ee11
cmp word [rdi + 0xa], 0
jne 0x14000edc1
cmp word [rdi + 8], 0
jne 0x14000edc1
cmp word [rdi + 6], 0
jne 0x14000edc1
movzx eax, byte [rdi + 0xf]
test al, 0xc0
je 0x14000ed87
test al, 0xc
je 0x14000edc1
movzx edx, byte [rdi + 0x10]
test dl, dl
je 0x14000eda5
lea eax, [rdx - 1]
cmp al, 5
ja 0x14000ed9d
cmp dl, 3
jne 0x14000eda5
jmp 0x14000edc1
add dl, 0x66
cmp dl, 5
ja 0x14000edc1
movzx edx, byte [rdi + 0x11]
test dl, dl
je 0x14000ee11
lea eax, [rdx - 1]
cmp al, 5
ja 0x14000edb9
cmp dl, 3
jne 0x14000edc5
add dl, 0x66
cmp dl, 5
jbe 0x14000edc5
mov byte [rdi + 0x12], 3
movzx eax, byte [rdi + 0x18]
test al, al
je 0x14000ede6
movzx edx, word [rdi + 4]
mov rcx, qword [0x1401156f0]
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 0x14000ee8a
sub ecx, 1
je 0x14000ee81
cmp ecx, 1
jne 0x14000ee91
or byte [0x14011655d], 3
jmp 0x14000ee91
movzx eax, byte [rdi + 0x18]
test cl, cl
jne 0x14000edc9
test al, al
jne 0x14000ede6
movzx r9d, byte [rdi + 0x10]
mov r8d, dword [rdi]
mov ecx, r9d
sub ecx, 0x10
je 0x14000ee53
sub ecx, 1
je 0x14000ee4d
sub ecx, 1
je 0x14000ee47
sub ecx, 0x49
je 0x14000ee41
cmp ecx, 1
jne 0x14000ee57
or r8d, 8
jmp 0x14000ee57
or r8d, 1
jmp 0x14000ee57
or r8d, 2
jmp 0x14000ee57
or r8d, 4
movzx edx, word [rdi + 4]
mov rcx, qword [0x1401156f0]
call qword [sym.imp.USER32.dll_RegisterHotKey]
test eax, eax
setne cl
mov byte [rdi + 0x18], cl
test eax, eax
jne 0x14000ede6
mov byte [rdi + 0x12], 1
jmp 0x14000ede6
or byte [0x14011655d], 2
jmp 0x14000ee91
or byte [0x14011655d], 1
movzx eax, word [0x1401166d8]
inc r15d
inc r12
add rsi, 8
cmp r15d, eax
jl 0x14000ec53
mov eax, dword [0x1401166d0]
test eax, eax
jne 0x14000eed0
cmp dword [reloc.OLEAUT32.dll_VariantInit], 7
jne 0x14000eed0
cmp dword [reloc.OLEAUT32.dll_VariantInit], 7
jne 0x14000eed0
cmp dword [reloc.OLEAUT32.dll_VariantInit], 7
je 0x14000eed7
or byte [0x14011655d], 1
cmp byte [0x140115703], 0
jne 0x14000eeed
cmp byte [0x14011394c], 0
je 0x14000eef4
test eax, eax
je 0x14000eef4
or byte [0x14011655d], 2
movzx edx, word [0x1401166d8]
movzx r9d, byte [0x14011655e]
movzx r8d, byte [0x14011655d]
mov rcx, qword [0x1401166c8]
call fcn.14000c560
cmp dword [0x1401166c0], 0
je 0x14000ef4b
cmp byte [0x140115542], 0
jne 0x14000ef4b
mov rcx, qword [0x1401156f0]
xor r9d, r9d
lea edx, [r9 + 9]
lea r8d, [r9 + 0xa]
call qword [sym.imp.USER32.dll_SetTimer]
test rax, rax
setne byte [0x140115542]
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