Function at 0x140002850
Capabilities:
Set registry value

Disassembly:
mov r11, rsp
push rbp
push rdi
lea rbp, [r11 - 0x2b8]
sub rsp, 0x3a8
mov rax, qword [0x14003e040]
xor rax, rsp
mov qword [rbp + 0x280], rax
lea eax, [rcx - 3]
mov rdi, rdx
cmp eax, 1
ja 0x140002d1b
mov qword [r11 + 0x18], rsi
mov qword [r11 - 0x18], r13
xor r13b, r13b
mov qword [r11 - 0x20], r14
mov qword [r11 + 8], rbx
mov qword [r11 + 0x20], r12
mov qword [r11 - 0x28], r15
cmp ecx, 4
jne 0x1400028e2
mov rdx, qword [rdx + 0x18]
lea r8, str._downgrade
mov rcx, 0xffffffffffffffff
nop word [rax + rax]
movzx eax, word [rdx + rcx*2 + 2]
cmp ax, word [r8 + rcx*2 + 2]
jne 0x1400028e2
add rcx, 2
cmp rcx, 0xb
je 0x140002935
movzx eax, word [rdx + rcx*2]
cmp ax, word [r8 + rcx*2]
je 0x1400028c0
xor ebx, ebx
mov r15d, ebx
mov dword [rsp + 0x48], ebx
mov r12d, ebx
mov rcx, qword [rdi + 8]
call fcn.14000f778
mov r14, qword [rdi + 0x10]
xor ecx, ecx
mov esi, eax
call qword [sym.imp.ole32.dll_CoInitialize]
mov edi, eax
test eax, eax
jns 0x14000296e
lea rdx, str.CoInitialize_failed_with_error:
lea rcx, [0x14003f570]
call fcn.140004c40
mov rcx, rax
mov edx, edi
call fcn.140002d60
mov rcx, rax
call fcn.140004f00
jmp 0x140002a5f
xor ebx, ebx
lea r8, [rsp + 0x48]
lea rdx, [rsp + 0x30]
mov dword [rsp + 0x38], ebx
lea rcx, [rsp + 0x38]
mov dword [rsp + 0x30], ebx
mov dword [rsp + 0x48], ebx
mov r13b, 1
call fcn.140002540
mov eax, dword [rsp + 0x48]
mov r15d, dword [rsp + 0x38]
mov r12d, dword [rsp + 0x30]
mov dword [rsp + 0x48], eax
jmp 0x1400028ee
lea rdx, [rsp + 0x58]
lea rcx, str.C2CF3110_460E_4FC1_B9D0_8A1C0C9CC4BD
call qword [sym.imp.ole32.dll_CLSIDFromString]
mov edi, eax
test eax, eax
jns 0x140002992
lea rdx, str.CLSIDFromString_failed_with_error:
jmp 0x140002a3b
lea rdx, [rsp + 0x68]
lea rcx, str.B92B56A9_8B55_4E14_9A89_0199BBB6F93B
call qword [sym.imp.ole32.dll_IIDFromString]
mov edi, eax
test eax, eax
jns 0x1400029b6
lea rdx, str.IIDFromString_failed_with_error:
jmp 0x140002a3b
xorps xmm0, xmm0
mov qword [rsp + 0x40], rbx
xorps xmm1, xmm1
mov qword [rbp - 0x60], rbx
mov r8d, 0x32
lea rdx, [rbp - 0x50]
lea rcx, [rsp + 0x58]
movdqu xmmword [rsp + 0x7c], xmm0
movdqu xmmword [rbp - 0x70], xmm1
call qword [sym.imp.ole32.dll_StringFromGUID2]
lea rax, [rbp - 0x50]
mov r9d, esi
lea r8, str.session:_d_new:_s
mov qword [rsp + 0x20], rax
mov edx, 0x12c
lea rcx, [rbp + 0x20]
call fcn.140002480
lea r9, [rsp + 0x40]
mov dword [rsp + 0x78], 0x30
lea r8, [rsp + 0x68]
mov dword [rbp - 0x74], 4
lea rdx, [rsp + 0x78]
lea rcx, [rbp + 0x20]
call qword [sym.imp.ole32.dll_CoGetObject]
mov edi, eax
test eax, eax
jns 0x140002aad
lea rdx, str.CoCreateInstanceInSession_failed_with_error:
lea rcx, [0x14003f570]
call fcn.140004c40
mov rcx, rax
mov edx, edi
call fcn.140002d60
mov rcx, rax
call fcn.140004f00
call qword [sym.imp.ole32.dll_CoUninitialize]
mov eax, 1
mov rbx, qword [rsp + 0x3c0]
mov r12, qword [rsp + 0x3d8]
mov r15, qword [rsp + 0x390]
mov rsi, qword [rsp + 0x3d0]
mov r13, qword [rsp + 0x3a0]
mov r14, qword [rsp + 0x398]
mov rcx, qword [rbp + 0x280]
xor rcx, rsp
call fcn.140009300
add rsp, 0x3a8
pop rdi
pop rbp
ret
mov rcx, qword [rsp + 0x40]
lea rdx, [rsp + 0x50]
mov rax, qword [rcx]
call qword [rax + 0x30]
mov edi, eax
test eax, eax
jns 0x140002af8
lea rdx, str.GetMonitorDevicePathCount_failed_with_error:
lea rcx, [0x14003f570]
call fcn.140004c40
mov rcx, rax
mov edx, edi
call fcn.140002d60
mov rcx, rax
call fcn.140004f00
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx]
call qword [rax + 0x10]
jmp 0x140002a59
cmp dword [rsp + 0x50], 0
jbe 0x140002b90
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [rsp + 0x40]
lea r8, [rsp + 0x30]
mov edx, ebx
mov rax, qword [rcx]
call qword [rax + 0x28]
mov edi, eax
test eax, eax
jns 0x140002b4f
lea rdx, str.GetMonitorDevicePathAt_failed_with_error:
lea rcx, [0x14003f570]
call fcn.140004c40
mov rcx, rax
mov edx, edi
call fcn.140002d60
mov rcx, rax
call fcn.140004f00
jmp 0x140002b88
mov rcx, qword [rsp + 0x40]
mov r8, r14
mov rdx, qword [rsp + 0x30]
mov rax, qword [rcx]
call qword [rax + 0x18]
lea rdx, str.___Check_Responder
lea rcx, [0x14003f440]
call fcn.140004c40
mov rcx, rax
call fcn.140004f00
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
inc ebx
cmp ebx, dword [rsp + 0x50]
jb 0x140002b10
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx]
call qword [rax + 0x10]
call qword [sym.imp.ole32.dll_CoUninitialize]
test r13b, r13b
je 0x140002d14
lea rax, [rsp + 0x38]
mov dword [rsp + 0x30], r15d
mov r9d, 0x20006
mov qword [rsp + 0x20], rax
xor r8d, r8d
lea rdx, str.SYSTEMCurrentControlSetControlLsa
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x140002c14
mov rcx, qword [rsp + 0x38]
lea rax, [rsp + 0x30]
mov dword [rsp + 0x28], 4
lea rdx, str.LMCompatibilityLevel
mov r9d, 4
mov qword [rsp + 0x20], rax
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x140002c20
lea rcx, str.Error_writing_registry_key._n
call fcn.140001220
lea rax, [rsp + 0x38]
mov dword [rsp + 0x30], r12d
mov r9d, 0x20006
mov qword [rsp + 0x20], rax
xor r8d, r8d
lea rdx, str.SYSTEMCurrentControlSetControlLsaMSV1_0
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x140002c8a
mov rcx, qword [rsp + 0x38]
lea rax, [rsp + 0x30]
mov dword [rsp + 0x28], 4
lea rdx, str.NtlmMinClientSec
mov r9d, 4
mov qword [rsp + 0x20], rax
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x140002c96
lea rcx, str.Error_writing_registry_key._n
call fcn.140001220
mov eax, dword [rsp + 0x48]
lea rdx, str.SYSTEMCurrentControlSetControlLsaMSV1_0
mov dword [rsp + 0x48], eax
mov r9d, 0x20006
lea rax, [rsp + 0x30]
xor r8d, r8d
mov rcx, 0xffffffff80000002
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x140002d08
mov rcx, qword [rsp + 0x30]
lea rax, [rsp + 0x48]
mov dword [rsp + 0x28], 4
lea rdx, str.RestrictSendingNTLMTraffic
mov r9d, 4
mov qword [rsp + 0x20], rax
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor eax, eax
jmp 0x140002a64
lea rcx, str.Error_writing_registry_key._n
call fcn.140001220
xor eax, eax
jmp 0x140002a64
lea rdx, str.Usage:
lea rcx, [0x14003f570]
call fcn.140004c40
mov rdx, qword [rdi]
mov rcx, rax
call fcn.140004c40
mov rcx, rax
lea rdx, str.__session___image_path____downgrade_
call fcn.140004c40
mov rcx, rax
call fcn.140004f00
mov eax, 1
jmp 0x140002a94