Function at 0x140017410
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov r11, rsp
push rbp
lea rbp, [r11 - 0x118]
sub rsp, 0x210
mov rax, qword [0x140067010]
xor rax, rsp
mov qword [rbp + 0xd0], rax
mov qword [r11 - 0x30], r14
mov eax, r8d
mov r14, rcx
mov qword [r11 - 0x38], r15
mov rcx, qword [0x140069338]
mov r15d, edx
mov dword [rsp + 0x64], r9d
mov dword [rsp + 0x60], eax
test rcx, rcx
je 0x14001746f
mov edx, 0x64
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_WaitForSingleObject]
mov rcx, qword [0x140069338]
mov eax, dword [rsp + 0x60]
cmp word [r14 + 0x230], 0
jbe 0x140017f48
mov qword [rsp + 0x1f8], r12
mov qword [rsp + 0x1f0], r13
test r15d, r15d
jne 0x14001749c
mov edx, 0x40000000
test eax, eax
je 0x1400174a1
mov edx, 0xc0000000
xor eax, eax
lea rcx, [r14 + 0x18]
mov qword [rsp + 0x30], rax
mov r13d, 3
mov dword [rsp + 0x28], eax
xor r9d, r9d
mov r8d, r13d
mov dword [rsp + 0x20], r13d
call qword [sym.imp.api_ms_win_core_file_l1_1_0.dll_CreateFileW]
mov r12, rax
cmp rax, 0xffffffffffffffff
je 0x140017f31
mov qword [rsp + 0x228], rbx
mov qword [rsp + 0x208], rsi
movzx esi, word [r14 + 0x230]
mov ecx, esi
mov qword [rsp + 0x200], rdi
mov ebx, esi
call fcn.140032e84
mov rdi, rax
test rax, rax
je 0x140017f10
cmp dword [rsp + 0x60], 0
jne 0x140017527
test r15d, r15d
je 0x14001751e
cmp dword [rbp + 0x140], 0
je 0x140017527
mov dword [rbp - 0x6c], 0
jmp 0x14001752e
mov dword [rbp - 0x6c], 1
mov dword [rsp + 0x60], 0
test r15d, r15d
je 0x140017803
mov r8, rbx
mov dword [rbp - 0x58], 0x5553415a
xor edx, edx
mov dword [rbp - 0x54], 0x65542053
mov rcx, rdi
mov dword [rbp - 0x50], 0x492e6863
mov dword [rbp - 0x4c], 0x2e636e
call fcn.140034ac0
movzx r8d, si
mov rdx, rdi
mov rcx, r12
mov byte [rdi], 0x5a
call qword [sym.imp.HID.DLL_HidD_GetFeature]
mov r15d, 0x10
test al, al
je 0x140017795
cmp si, r13w
mov word [rsp + 0x74], 0xf45a
mov r8, r13
mov byte [rsp + 0x76], 0x6b
cmovb r8, rbx
mov dword [rbp - 0x70], 0xc4c5ba5a
lea rdx, [rsp + 0x74]
mov dword [rbp - 0x64], 0x3120055a
mov rcx, rdi
mov word [rbp - 0x60], 0x800
mov word [rsp + 0x78], 0xb05a
mov byte [rsp + 0x7a], 0xd2
mov word [rsp + 0x7c], 0xb15a
mov byte [rsp + 0x7e], 0xd2
mov word [rsp + 0x70], 0xbb5a
mov word [rbp - 0x80], 0xc25a
mov byte [rbp - 0x7e], 0x4b
mov word [rbp - 0x7c], 0xd05a
mov byte [rbp - 0x7a], 0x4e
mov word [rbp - 0x78], 0xd05a
mov byte [rbp - 0x76], 0x7c
mov word [rbp - 0x74], 0xd05a
mov byte [rbp - 0x72], 0x85
mov word [rsp + 0x6c], 0xd05a
mov byte [rsp + 0x6e], 0x35
call fcn.14004c0b0
test eax, eax
je 0x14001776a
cmp si, r15w
lea rdx, [rbp - 0x58]
mov r8d, r15d
mov rcx, rdi
cmovb r8, rbx
call fcn.14004c0b0
test eax, eax
je 0x14001776a
mov r8d, 4
lea rdx, [rbp - 0x70]
cmp si, r8w
mov rcx, rdi
cmovb r8, rbx
call fcn.14004c0b0
test eax, eax
je 0x14001776a
mov r8d, 6
lea rdx, [rbp - 0x64]
cmp si, r8w
mov rcx, rdi
cmovb r8, rbx
call fcn.14004c0b0
test eax, eax
je 0x14001776a
cmp si, r13w
lea rdx, [rsp + 0x78]
mov r8, r13
mov rcx, rdi
cmovb r8, rbx
call fcn.14004c0b0
test eax, eax
je 0x14001776a
cmp si, r13w
lea rdx, [rsp + 0x7c]
mov r8, r13
mov rcx, rdi
cmovb r8, rbx
call fcn.14004c0b0
test eax, eax
je 0x14001776a
mov r8d, 2
lea rdx, [rsp + 0x70]
cmp si, r8w
mov rcx, rdi
cmovb r8, rbx
call fcn.14004c0b0
test eax, eax
je 0x14001776a
cmp si, r13w
lea rdx, [rbp - 0x80]
mov r8, r13
mov rcx, rdi
cmovb r8, rbx
call fcn.14004c0b0
test eax, eax
je 0x14001776a
cmp si, r13w
lea rdx, [rbp - 0x7c]
mov r8, r13
mov rcx, rdi
cmovb r8, rbx
call fcn.14004c0b0
test eax, eax
je 0x14001776a
cmp si, r13w
lea rdx, [rbp - 0x78]
mov r8, r13
mov rcx, rdi
cmovb r8, rbx
call fcn.14004c0b0
test eax, eax
je 0x14001776a
cmp si, r13w
lea rdx, [rbp - 0x74]
mov r8, r13
mov rcx, rdi
cmovb r8, rbx
call fcn.14004c0b0
test eax, eax
je 0x14001776a
cmp si, r13w
lea rdx, [rsp + 0x6c]
mov r8, r13
mov rcx, rdi
cmovb r8, rbx
call fcn.14004c0b0
test eax, eax
jne 0x140017795
cmp dword [rbp + 0x140], 0
je 0x140017803
mov dword [r14 + 0x294], 0x100
mov r15d, 1
mov dword [r14 + 0x2a8], 0x100
jmp 0x140017808
lea rax, str.SetFeature_Initial_string
movzx r8d, si
mov qword [rsp + 0x28], rax
lea r9, [rbp - 0x58]
mov rdx, rdi
mov word [rsp + 0x20], r15w
mov rcx, r12
call fcn.140017f80
cmp dword [0x140069838], 0
jne 0x1400177e6
cmp dword [0x1400692a8], 0
jne 0x1400177e6
cmp dword [0x14006922c], 0
jne 0x1400177e6
cmp dword [0x14006a104], 0
je 0x140017803
mov r15d, 1
jmp 0x140017808
mov r15d, dword [rsp + 0x60]
mov qword [r14 + 0x294], 0x100
mov dword [r14 + 0x2a8], 0x100
jmp 0x140017812
mov r15d, dword [rsp + 0x60]
cmp dword [rbp - 0x6c], 0
je 0x140017a58
mov rcx, qword [0x140067b00]
lea rax, [0x140067b00]
cmp rcx, rax
je 0x140017845
test byte [rcx + 0x1c], 4
je 0x140017845
mov rcx, qword [rcx + 0x10]
lea rax, str.Check_HID_device_Configuration
mov edx, 0xa
mov qword [rsp + 0x20], rax
call fcn.140031fc0
mov eax, 0x182f
cmp word [r14 + 0x26e], ax
je 0x140017a58
cmp dword [r14 + 0x298], 0
jne 0x140017a58
mov dword [r14 + 0x298], 1
lea rax, str.SetFeature_Configuration
xor r15d, r15d
nop dword [rax + rax]
mov qword [rsp + 0x28], rax
lea r9, [rbp - 0x6c]
mov eax, 6
mov dword [rbp - 0x6c], 0x3120055a
movzx r8d, si
mov word [rsp + 0x20], ax
mov rdx, rdi
mov word [rbp - 0x68], 0x800
mov rcx, r12
call fcn.140017f80
test eax, eax
je 0x140017a61
mov r8, rbx
xor edx, edx
mov rcx, rdi
call fcn.140034ac0
movzx r8d, si
mov rdx, rdi
mov rcx, r12
mov byte [rdi], 0x5a
call qword [sym.imp.HID.DLL_HidD_GetFeature]
test al, al
je 0x140017a61
cmp si, 8
jb 0x140017a61
xor edx, edx
lea rcx, [rbp - 0x40]
mov r8d, 0x104
call fcn.140034ac0
movzx ecx, byte [rdi + 6]
movzx edx, byte [rdi + 5]
movzx r8d, byte [rdi + 4]
movzx r9d, byte [rdi + 3]
movzx eax, byte [rdi + 7]
movzx r10d, byte [rdi + 2]
movzx r11d, byte [rdi + 1]
movzx ebx, byte [rdi]
mov dword [rsp + 0x58], eax
mov dword [rsp + 0x50], ecx
lea rcx, [rbp - 0x40]
mov dword [rsp + 0x48], edx
mov edx, 0x104
mov dword [rsp + 0x40], r8d
lea r8, str.GetFeature_success__retry___d__with_0x_x__0x_x__0x_x__0x_x__0x_x__0x_x__0x_x__0x_x
mov dword [rsp + 0x38], r9d
mov r9d, r15d
mov dword [rsp + 0x30], r10d
mov dword [rsp + 0x28], r11d
mov dword [rsp + 0x20], ebx
call fcn.140006460
mov rcx, qword [0x140067b00]
lea rax, [0x140067b00]
cmp rcx, rax
je 0x140017989
test byte [rcx + 0x1c], 4
je 0x140017989
mov rcx, qword [rcx + 0x10]
lea rax, [rbp - 0x40]
mov edx, 0xa
mov qword [rsp + 0x20], rax
call fcn.140031fc0
mov r8d, 6
movzx ebx, si
cmp si, r8w
lea rdx, [rbp - 0x6c]
mov rcx, rdi
cmovb r8d, ebx
call fcn.14004c0b0
test eax, eax
je 0x140017a15
mov rcx, qword [0x140069338]
test rcx, rcx
je 0x1400179c3
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_ReleaseMutex]
mov rcx, qword [0x140069338]
mov rax, qword [0x1400691c0]
test rax, rax
je 0x1400179ef
mov edx, 0x1f4
mov rcx, rax
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_WaitForSingleObject]
mov rcx, qword [0x140069338]
test eax, eax
mov eax, 4
cmove r15d, eax
test rcx, rcx
je 0x1400179ff
mov edx, 0x64
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_WaitForSingleObject]
inc r15d
lea rax, str.SetFeature_Configuration
cmp r15d, 4
jl 0x140017880
jmp 0x140017a61
movzx eax, byte [rdi + 6]
and eax, 1
mov dword [r14 + 0x290], eax
movzx eax, byte [rdi + 6]
shr eax, 5
and eax, 1
mov dword [r14 + 0x29c], eax
movzx eax, byte [rdi + 7]
shr eax, 5
and eax, 1
mov dword [r14 + 0x2a0], eax
movzx eax, byte [rdi + 7]
shr eax, 6
and eax, 1
mov dword [r14 + 0x2a4], eax
jmp 0x140017a61
test r15d, r15d
je 0x140017bf6
cmp dword [r14 + 0x29c], 0
je 0x140017ac3
lea rcx, [rbp - 0x6c]
call fcn.14002dc40
test eax, eax
je 0x140017ac3
mov eax, dword [rbp - 0x6c]
cmp dword [r14 + 0x2a8], eax
je 0x140017ac3
test eax, eax
mov dword [r14 + 0x2a8], eax
lea r9, [rsp + 0x6c]
mov word [rsp + 0x6c], 0xbb5a
setne al
movzx r8d, si
inc al
mov rdx, rdi
mov byte [rsp + 0x6e], al
mov rcx, r12
lea rax, str.SetFeature_N_Key_rollover
mov qword [rsp + 0x28], rax
mov word [rsp + 0x20], r13w
call fcn.140017f80
xor r15d, r15d
lea rcx, [rbp - 0x6c]
mov dword [rbp - 0x6c], r15d
call fcn.14002dd10
lea ebx, [r15 + 4]
test eax, eax
je 0x140017b0e
cmp dword [rbp - 0x6c], r15d
je 0x140017b0e
lea rax, str.SetFeature_Arrowy_key
mov dword [rsp + 0x60], 0x14bc25a
mov qword [rsp + 0x28], rax
lea r9, [rsp + 0x60]
movzx r8d, si
mov word [rsp + 0x20], bx
mov rdx, rdi
mov rcx, r12
call fcn.140017f80
cmp dword [0x14006a104], r15d
je 0x140017b51
mov word [rsp + 0x60], 0xd05a
mov byte [rsp + 0x62], 0x4e
call fcn.14002dfe0
mov byte [rsp + 0x63], al
lea r9, [rsp + 0x60]
lea rax, str.SetFeature_Fn_switch
movzx r8d, si
mov qword [rsp + 0x28], rax
mov rdx, rdi
mov rcx, r12
mov word [rsp + 0x20], bx
call fcn.140017f80
cmp dword [r14 + 0x2a0], r15d
je 0x140017ba3
cmp dword [0x1400692a8], r15d
je 0x140017ba3
mov eax, dword [0x140067958]
cmp eax, 1
ja 0x140017ba3
mov byte [rsp + 0x63], al
lea r9, [rsp + 0x60]
lea rax, str.SetFeature_Mic_mute_LED
mov word [rsp + 0x60], 0xd05a
mov qword [rsp + 0x28], rax
movzx r8d, si
mov rdx, rdi
mov word [rsp + 0x20], bx
mov rcx, r12
mov byte [rsp + 0x62], 0x7c
call fcn.140017f80
cmp dword [r14 + 0x2a4], r15d
je 0x140017bf9
cmp dword [0x14006922c], r15d
je 0x140017bf9
call fcn.14000c4c0
cmp eax, 1
ja 0x140017bf9
mov byte [rsp + 0x63], al
lea r9, [rsp + 0x60]
lea rax, str.SetFeature_Camera_mask_LED
mov word [rsp + 0x60], 0xd05a
mov qword [rsp + 0x28], rax
movzx r8d, si
mov rdx, rdi
mov word [rsp + 0x20], bx
mov rcx, r12
mov byte [rsp + 0x62], 0x85
call fcn.140017f80
jmp 0x140017bf9
xor r15d, r15d
mov ecx, dword [rsp + 0x64]
cmp ecx, 1
jne 0x140017c1a
mov word [rsp + 0x6c], 0xf45a
lea rax, str.SetFeature_PTP
mov byte [rsp + 0x6e], 0x6b
jmp 0x140017ee9
cmp ecx, 2
jne 0x140017c9c
cmp dword [r14 + 0x290], 0
je 0x140017f08
xor r8d, r8d
lea rdx, [rsp + 0x64]
lea rcx, [rbp - 0x6c]
call fcn.140020680
test eax, eax
je 0x140017f08
cmp dword [rsp + 0x64], 0
je 0x140017c58
cmp dword [rbp - 0x6c], r13d
cmovb r13d, dword [rbp - 0x6c]
jmp 0x140017c5b
mov r13d, r15d
cmp dword [r14 + 0x294], r13d
je 0x140017f08
lea rax, str.SetFeature_Keyboard_light
mov dword [r14 + 0x294], r13d
mov ecx, 5
mov qword [rsp + 0x28], rax
mov word [rsp + 0x20], cx
lea r9, [rsp + 0x64]
mov dword [rsp + 0x64], 0xc4c5ba5a
mov byte [rsp + 0x68], r13b
jmp 0x140017ef9
lea eax, [rcx - 3]
cmp eax, 1
jbe 0x140017eb3
cmp ecx, 5
jne 0x140017d03
cmp dword [r14 + 0x29c], 0
je 0x140017f08
lea rcx, [rsp + 0x64]
call fcn.14002dc40
test eax, eax
je 0x140017f08
mov eax, dword [rsp + 0x64]
cmp dword [r14 + 0x2a8], eax
je 0x140017f08
test eax, eax
mov dword [r14 + 0x2a8], eax
mov word [rsp + 0x6c], 0xbb5a
setne al
inc al
mov byte [rsp + 0x6e], al
lea rax, str.SetFeature_N_Key_rollover
jmp 0x140017ee9
cmp ecx, 6
jne 0x140017d52
lea rcx, [rbp - 0x6c]
mov dword [rbp - 0x6c], r15d
call fcn.14002dd10
test eax, eax
je 0x140017f08
cmp dword [rbp - 0x6c], 0
lea rax, str.SetFeature_Arrowy_key
mov qword [rsp + 0x28], rax
lea r9, [rsp + 0x60]
mov eax, 4
mov word [rsp + 0x60], 0xc25a
mov word [rsp + 0x20], ax
setne byte [rsp + 0x63]
mov byte [rsp + 0x62], 0x4b
jmp 0x140017ef9
cmp ecx, 7
jne 0x140017d99
cmp dword [0x14006a104], 0
je 0x140017f08
mov word [rsp + 0x60], 0xd05a
mov byte [rsp + 0x62], 0x4e
call fcn.14002dfe0
mov byte [rsp + 0x63], al
lea r9, [rsp + 0x60]
lea rax, str.SetFeature_Fn_switch
mov qword [rsp + 0x28], rax
mov eax, 4
mov word [rsp + 0x20], ax
jmp 0x140017ef9
cmp ecx, 8
jne 0x140017df8
cmp dword [r14 + 0x2a0], 0
je 0x140017f08
cmp dword [0x1400692a8], 0
je 0x140017f08
mov eax, dword [0x140067958]
cmp eax, 1
ja 0x140017f08
mov byte [rsp + 0x63], al
lea r9, [rsp + 0x60]
lea rax, str.SetFeature_Mic_mute_LED
mov word [rsp + 0x60], 0xd05a
mov qword [rsp + 0x28], rax
mov eax, 4
mov word [rsp + 0x20], ax
mov byte [rsp + 0x62], 0x7c
jmp 0x140017ef9
cmp ecx, 9
jne 0x140017e56
cmp dword [r14 + 0x2a4], 0
je 0x140017f08
cmp dword [0x14006922c], 0
je 0x140017f08
call fcn.14000c4c0
cmp eax, 1
ja 0x140017f08
mov byte [rsp + 0x63], al
lea r9, [rsp + 0x60]
lea rax, str.SetFeature_Camera_mask_LED
mov word [rsp + 0x60], 0xd05a
mov qword [rsp + 0x28], rax
mov eax, 4
mov word [rsp + 0x20], ax
mov byte [rsp + 0x62], 0x85
jmp 0x140017ef9
cmp ecx, 0xa
jne 0x140017f08
mov eax, dword [0x140067980]
cmp eax, 2
jne 0x140017e75
call fcn.140021d70
mov eax, dword [0x140067980]
cmp eax, 1
jne 0x140017f08
cmp dword [0x140067974], 0
lea rax, str.SetFeature_Monitor_status
mov qword [rsp + 0x28], rax
lea r9, [rsp + 0x60]
mov eax, 4
mov word [rsp + 0x60], 0xd05a
mov word [rsp + 0x20], ax
setne byte [rsp + 0x63]
mov byte [rsp + 0x62], 0x35
jmp 0x140017ef9
mov eax, dword [0x1400679bc]
cmp eax, 2
jne 0x140017ec7
mov dword [0x1400679bc], r15d
jmp 0x140017f08
cmp eax, 1
jne 0x140017f08
cmp ecx, r13d
mov byte [rsp + 0x6c], 0x5a
mov byte [rsp + 0x6e], 0xd2
setne al
add al, 0xb0
mov byte [rsp + 0x6d], al
lea rax, str.SetFeature_Keyboard_Touchpad_lock
mov qword [rsp + 0x28], rax
lea r9, [rsp + 0x6c]
mov word [rsp + 0x20], r13w
movzx r8d, si
mov rdx, rdi
mov rcx, r12
call fcn.140017f80
mov rcx, rdi
call fcn.140032e8c
mov rcx, r12
call qword [sym.imp.api_ms_win_core_handle_l1_1_0.dll_CloseHandle]
mov rdi, qword [rsp + 0x200]
mov rsi, qword [rsp + 0x208]
mov rbx, qword [rsp + 0x228]
mov rcx, qword [0x140069338]
mov r12, qword [rsp + 0x1f8]
mov r13, qword [rsp + 0x1f0]
mov r15, qword [rsp + 0x1e0]
mov r14, qword [rsp + 0x1e8]
test rcx, rcx
je 0x140017f63
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_ReleaseMutex]
mov rcx, qword [rbp + 0xd0]
xor rcx, rsp
call fcn.140032e60
add rsp, 0x210
pop rbp
ret