Function at 0x10001708
Capabilities:
Set registry value

Disassembly:
jmp 0x1000e7d0
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
mov eax, 0x2328
call fcn.10069640
sub rsp, rax
mov qword [rsp + 0x22d8], 0xfffffffffffffffe
mov rax, qword [0x10086540]
xor rax, rsp
mov qword [rsp + 0x2310], rax
mov word [rsp + 0x38], 0
mov dword [rsp + 0x34], 0
mov dword [rsp + 0x30], 0
lea rdx, [rsp + 0x50]
mov rcx, qword [rsp + 0x2330]
call fcn.10001348
mov dword [rsp + 0x3c], eax
cmp dword [rsp + 0x3c], 0
jge 0x1000e84c
mov eax, dword [rsp + 0x3c]
jmp 0x1000ed91
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x50]
call fcn.100010d7
test eax, eax
jne 0x1000e876
mov edx, 0x20f
mov rcx, qword [rsp + 0x2330]
call fcn.1000143d
jmp 0x1000ed91
mov rcx, qword [rsp + 0x2330]
call fcn.10001578
lea rdx, [rsp + 0x50]
mov rcx, qword [rsp + 0x2330]
call fcn.10001348
mov dword [rsp + 0x3c], eax
cmp dword [rsp + 0x3c], 0
jge 0x1000e8a9
mov eax, dword [rsp + 0x3c]
jmp 0x1000ed91
movzx eax, word [rsp + 0x38]
mov dword [rsp + 0x22e0], eax
cmp dword [rsp + 0x22e0], 8
je 0x1000e8ed
cmp dword [rsp + 0x22e0], 0x11
je 0x1000eb5d
cmp dword [rsp + 0x22e0], 0x13
je 0x1000eade
cmp dword [rsp + 0x22e0], 0x4008
je 0x1000e916
jmp 0x1000ed4f
mov r9d, 1
lea r8, [rsp + 0x50]
mov rdx, qword [rsp + 0x2340]
mov rcx, qword [rsp + 0x2338]
call fcn.10001334
mov dword [rsp + 0x34], eax
jmp 0x1000ed4f
lea rcx, [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
add eax, 2
mov dword [rsp + 0x2160], eax
lea rcx, [rsp + 0x2050]
call fcn.10001622
nop
movsxd rax, dword [rsp + 0x2160]
mov rdx, rax
lea rcx, [rsp + 0x2050]
call fcn.100012d0
nop
lea rcx, [rsp + 0x2050]
call fcn.100013b6
test rax, rax
je 0x1000eac4
lea rcx, [rsp + 0x2050]
call fcn.100013b6
mov qword [rsp + 0x2168], rax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x2170], rax
mov dword [rsp + 0x2160], 0
mov rax, qword [rsp + 0x2170]
movzx eax, word [rax]
test eax, eax
je 0x1000ea6b
mov rcx, qword [rsp + 0x2170]
call qword [sym.imp.USER32.dll_CharNextW]
mov qword [rsp + 0x2178], rax
mov rax, qword [rsp + 0x2170]
movzx eax, word [rax]
cmp eax, 0x5c
jne 0x1000ea17
mov rax, qword [rsp + 0x2178]
movzx eax, word [rax]
cmp eax, 0x30
jne 0x1000ea17
mov rax, qword [rsp + 0x2168]
mov word [rax], 0
mov rax, qword [rsp + 0x2168]
add rax, 2
mov qword [rsp + 0x2168], rax
mov rcx, qword [rsp + 0x2178]
call qword [sym.imp.USER32.dll_CharNextW]
mov qword [rsp + 0x2170], rax
jmp 0x1000ea55
mov rax, qword [rsp + 0x2168]
mov rcx, qword [rsp + 0x2170]
movzx ecx, word [rcx]
mov word [rax], cx
mov rax, qword [rsp + 0x2168]
add rax, 2
mov qword [rsp + 0x2168], rax
mov rax, qword [rsp + 0x2170]
add rax, 2
mov qword [rsp + 0x2170], rax
mov eax, dword [rsp + 0x2160]
add eax, 1
mov dword [rsp + 0x2160], eax
jmp 0x1000e995
mov rax, qword [rsp + 0x2168]
mov word [rax], 0
mov rax, qword [rsp + 0x2168]
add rax, 2
mov qword [rsp + 0x2168], rax
mov rax, qword [rsp + 0x2168]
mov word [rax], 0
lea rcx, [rsp + 0x2050]
call fcn.100013b6
mov r8, rax
mov rdx, qword [rsp + 0x2340]
mov rcx, qword [rsp + 0x2338]
call fcn.1000155a
mov dword [rsp + 0x34], eax
jmp 0x1000eacc
mov dword [rsp + 0x34], reloc.ODBC32.dll_SQLFreeConnect
lea rcx, [rsp + 0x2050]
call fcn.1000135c
jmp 0x1000ed4f
call fcn.100014ab
mov dword [rsp + 0x2198], eax
lea rcx, [rsp + 0x21a0]
call fcn.100012d5
nop
mov edx, 0x400
lea rcx, [rsp + 0x50]
call fcn.1000126c
mov qword [rsp + 0x2190], rax
lea r9, [rsp + 0x21a8]
xor r8d, r8d
xor edx, edx
mov rcx, qword [rsp + 0x2190]
call qword [sym.imp.OLEAUT32.dll_VarUI4FromDisp]
mov r8d, dword [rsp + 0x21a8]
mov rdx, qword [rsp + 0x2340]
mov rcx, qword [rsp + 0x2338]
call fcn.100015d7
mov dword [rsp + 0x34], eax
lea rcx, [rsp + 0x21a0]
call fcn.1000128f
jmp 0x1000ed4f
lea rcx, [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov dword [rsp + 0x21b0], eax
mov eax, dword [rsp + 0x21b0]
and eax, 1
test eax, eax
je 0x1000eb87
mov eax, 0x80004005
jmp 0x1000ed91
mov eax, dword [rsp + 0x21b0]
cdq
sub eax, edx
sar eax, 1
mov dword [rsp + 0x21ac], eax
lea rcx, [rsp + 0x21c0]
call fcn.10001186
nop
movsxd rax, dword [rsp + 0x21ac]
mov rdx, rax
lea rcx, [rsp + 0x21c0]
call fcn.1000156e
nop
lea rcx, [rsp + 0x21c0]
call fcn.100015eb
test rax, rax
jne 0x1000ebf7
mov dword [rsp + 0x22d4], 0x80004005
lea rcx, [rsp + 0x21c0]
call fcn.100012cb
mov eax, dword [rsp + 0x22d4]
jmp 0x1000ed91
movsxd rax, dword [rsp + 0x21ac]
mov qword [rsp + 0x22e8], rax
lea rcx, [rsp + 0x21c0]
call fcn.100015eb
mov rcx, qword [rsp + 0x22e8]
mov r8, rcx
xor edx, edx
mov rcx, rax
call fcn.1001cf60
mov dword [rsp + 0x22d0], 0
jmp 0x1000ec47
mov eax, dword [rsp + 0x22d0]
add eax, 1
mov dword [rsp + 0x22d0], eax
mov eax, dword [rsp + 0x21b0]
cmp dword [rsp + 0x22d0], eax
jge 0x1000ecea
mov eax, dword [rsp + 0x22d0]
cdq
sub eax, edx
sar eax, 1
cdqe
mov qword [rsp + 0x22f0], rax
lea rcx, [rsp + 0x21c0]
call fcn.100015eb
mov rcx, qword [rsp + 0x22f0]
add rax, rcx
mov qword [rsp + 0x22f8], rax
mov eax, dword [rsp + 0x22d0]
and eax, 1
mov ecx, 1
sub ecx, eax
mov eax, ecx
shl eax, 2
mov dword [rsp + 0x2300], eax
movsxd rcx, dword [rsp + 0x22d0]
movzx ecx, word [rsp + rcx*2 + 0x50]
call fcn.100012ee
movzx eax, al
mov ecx, dword [rsp + 0x2300]
shl eax, cl
mov rcx, qword [rsp + 0x22f8]
movzx ecx, byte [rcx]
or ecx, eax
mov eax, ecx
mov rcx, qword [rsp + 0x22f8]
mov byte [rcx], al
jmp 0x1000ec36
lea rcx, [rsp + 0x21c0]
call fcn.100015eb
mov qword [rsp + 0x2308], rax
mov rcx, qword [rsp + 0x2338]
call fcn.1000100a
mov ecx, dword [rsp + 0x21ac]
mov dword [rsp + 0x28], ecx
mov rcx, qword [rsp + 0x2308]
mov qword [rsp + 0x20], rcx
mov r9d, 3
xor r8d, r8d
mov rdx, qword [rsp + 0x2340]
mov rcx, rax
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov dword [rsp + 0x34], eax
lea rcx, [rsp + 0x21c0]
call fcn.100012cb
cmp dword [rsp + 0x34], 0
je 0x1000ed69
mov dword [rsp + 0x30], 0x204
mov ecx, dword [rsp + 0x34]
call fcn.1000164a
jmp 0x1000ed91
mov rdx, qword [rsp + 0x2348]
mov rcx, qword [rsp + 0x2330]
call fcn.10001348
mov dword [rsp + 0x3c], eax
cmp dword [rsp + 0x3c], 0
jge 0x1000ed8f
mov eax, dword [rsp + 0x3c]
jmp 0x1000ed91
xor eax, eax
mov rcx, qword [rsp + 0x2310]
xor rcx, rsp
call fcn.1001d0c0
add rsp, 0x2328
ret