Function at 0x14001495c
Capabilities:
Set registry value

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x11a8
call fcn.14004e4b0
sub rsp, rax
lea rbp, [rsp + 0x30]
mov qword [rbp + 0x48], 0xfffffffffffffffe
mov rax, qword [0x140066550]
xor rax, rbp
mov qword [rbp + 0x1160], rax
mov r14, r8
mov r15, rdx
mov qword [rbp + 8], rdx
mov r13, rcx
mov qword [rbp + 0x40], rcx
mov qword [rbp + 0x38], rdx
mov qword [rbp + 0x18], r8
mov qword [rbp + 0x20], r9
xor edi, edi
mov word [rbp], di
lea rdx, [rbp + 0x160]
call fcn.14000bbc8
cmp eax, edi
jl 0x140014abe
lea rdx, [rbp]
lea rcx, [rbp + 0x160]
call fcn.14000b9c8
cmp eax, edi
jne 0x14001459d
lea rax, str.D:Program_FilesMicrosoft_Visual_Studio_9.0VCATLMFCINCLUDE_statreg.h
mov qword [rbp + 0x20], rax
mov dword [rbp + 0x28], 0x36e
lea rax, [rbp + 0x160]
mov qword [rsp + 0x20], rax
lea r9, str._s_Type_not_supported_n
xor r8d, r8d
mov rdx, qword [0x1400681d0]
lea rcx, [rbp + 0x20]
call fcn.14000b174
mov eax, 0x80020009
jmp 0x140014abe
mov rcx, qword [r13]
cmp byte [rcx], 9
jl 0x1400145c1
cmp byte [rcx], 0xa
jle 0x1400145b5
cmp byte [rcx], 0xd
je 0x1400145b5
cmp byte [rcx], 0x20
jne 0x1400145c1
call qword [sym.imp.USER32.dll_CharNextA]
mov qword [r13], rax
jmp 0x14001459d
lea rdx, [rbp + 0x160]
mov rcx, r13
call fcn.14000bbc8
cmp eax, edi
jl 0x140014abe
movzx eax, word [rbp]
cmp eax, 8
je 0x140014a36
cmp eax, 0x11
je 0x1400148cb
cmp eax, 0x13
je 0x140014753
cmp eax, 0x4008
jne 0x140014aab
lea rax, str.D:Program_FilesMicrosoft_Visual_Studio_9.0VCATLMFCINCLUDE_statreg.h
mov qword [rbp + 8], rax
mov dword [rbp + 0x10], 0x381
lea rcx, str.default
mov rax, r14
cmp r14, rdi
cmove rax, rcx
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x160]
mov qword [rsp + 0x20], rax
lea r9, str.Setting_Value__s_at__s_n
mov r8d, 2
mov rdx, qword [0x1400681d0]
lea rcx, [rbp + 8]
call fcn.14000b174
lea rcx, [rbp + 0x160]
call qword [sym.imp.KERNEL32.dll_lstrlenA]
add eax, 2
mov qword [rbp + 0x50], rdi
movsxd rcx, eax
cmp rcx, rdi
jne 0x140014674
mov rcx, rdi
jmp 0x140014683
xor edx, edx
or rax, 0xffffffffffffffff
div rcx
cmp rax, 1
jb 0x140014692
mov rdx, rcx
lea rcx, [rbp + 0x50]
call fcn.1400116bc
nop
jmp 0x1400146ab
mov ecx, 0x80070057
call fcn.14000b1c4
nop
xor edi, edi
mov r13, qword [rbp + 0x40]
mov r15, qword [rbp + 0x38]
mov r14, qword [rbp + 0x18]
mov rbx, qword [rbp + 0x50]
cmp rbx, rdi
je 0x140014733
lea rsi, [rbp + 0x160]
cmp byte [rbp + 0x160], dil
je 0x140014715
mov rcx, rsi
call qword [sym.imp.USER32.dll_CharNextA]
mov cl, byte [rsi]
cmp cl, 0x5c
jne 0x1400146ed
cmp byte [rax], 0x30
jne 0x1400146ed
mov byte [rbx], dil
inc rbx
mov rcx, rax
call qword [sym.imp.USER32.dll_CharNextA]
mov rsi, rax
jmp 0x140014710
mov byte [rbx], cl
mov cl, byte [rsi]
call qword [sym.imp.KERNEL32.dll_IsDBCSLeadByte]
cmp eax, edi
je 0x14001470a
inc rbx
inc rsi
mov al, byte [rsi]
cmp al, dil
je 0x140014715
mov byte [rbx], al
inc rbx
inc rsi
cmp byte [rsi], dil
jne 0x1400146c4
mov byte [rbx], dil
mov byte [rbx + 1], dil
mov r8, qword [rbp + 0x50]
mov rdx, r14
mov rcx, r15
call fcn.14000b7b0
mov esi, eax
mov rbx, qword [rbp + 0x50]
jmp 0x140014738
mov esi, 0xe
lea rax, [rbp + 0x58]
cmp rbx, rax
je 0x140014a9e
lea rcx, [rbp + 0x50]
call fcn.14000e95c
jmp 0x140014a9e
mov rbx, rdi
mov qword [rbp + 8], rbx
lea rcx, [rbp + 0x160]
call qword [sym.imp.KERNEL32.dll_lstrlenA]
inc eax
movsxd r12, eax
add r12, r12
mov eax, 0x80000000
add rax, r12
mov ecx, 0xffffffff
cmp rax, rcx
ja 0x1400148ac
cmp r12d, 0x400
jg 0x1400147c4
movsxd rsi, r12d
mov rcx, rsi
call fcn.14000e990
cmp al, dil
je 0x1400147c4
lea rax, [rsi + 0xf]
cmp rax, rsi
ja 0x1400147b1
movabs rax, 0xffffffffffffff0
and rax, 0xfffffffffffffff0
call fcn.14004e4b0
sub rsp, rax
lea rcx, [rsp + 0x30]
jmp 0x1400147f5
movsxd rsi, r12d
or rax, 0xffffffffffffffff
sub rax, rsi
cmp rax, 0x10
jb 0x1400148a1
lea rcx, [rsi + 0x10]
call fcn.140021c40
cmp rax, rdi
jne 0x1400147eb
mov rcx, rdi
jmp 0x1400147f5
mov qword [rax], rdi
mov rbx, rax
lea rcx, [rax + 0x10]
shr rsi, 1
mov r9d, 3
mov r8d, esi
lea rdx, [rbp + 0x160]
call fcn.14000afb4
cmp rax, rdi
je 0x1400148ac
lea r9, [rbp]
xor r8d, r8d
xor edx, edx
mov rcx, rax
call qword [sym.imp.OLEAUT32.dll_VarUI4FromDisp]
mov r8d, dword [rbp]
mov rdx, r14
mov rcx, r15
call fcn.14000b638
mov esi, eax
lea rax, str.D:Program_FilesMicrosoft_Visual_Studio_9.0VCATLMFCINCLUDE_statreg.h
mov qword [rbp + 8], rax
mov dword [rbp + 0x10], 0x3be
lea rcx, str.default
cmp r14, rdi
cmove r14, rcx
mov qword [rsp + 0x28], r14
mov eax, dword [rbp]
mov dword [rsp + 0x20], eax
lea r9, str.Setting_Value__d_at__s_n
mov r8d, 2
mov rdx, qword [0x1400681d0]
lea rcx, [rbp + 8]
call fcn.14000b174
nop
cmp rbx, rdi
je 0x140014a9e
mov rcx, rbx
mov rbx, qword [rbx]
call fcn.140020cb0
cmp rbx, rdi
jne 0x14001488c
jmp 0x140014a9e
mov ecx, 0x80070057
call fcn.14000b1c4
nop
cmp rbx, rdi
je 0x1400148c1
mov rcx, rbx
mov rbx, qword [rbx]
call fcn.140020cb0
cmp rbx, rdi
jne 0x1400148b1
mov eax, 0x8007000e
jmp 0x140014abe
lea rcx, [rbp + 0x160]
call qword [sym.imp.KERNEL32.dll_lstrlenA]
mov ebx, eax
mov dword [rbp + 0x30], eax
test al, 1
je 0x140014917
lea rax, str.D:Program_FilesMicrosoft_Visual_Studio_9.0VCATLMFCINCLUDE_statreg.h
mov qword [rbp + 0x20], rax
mov dword [rbp + 0x28], 0x3c6
lea r9, str.Binary_Data_does_not_fall_on_BYTE_boundries_n
xor r8d, r8d
mov rdx, qword [0x1400681d0]
lea rcx, [rbp + 0x20]
call fcn.14000b174
mov eax, 0x80004005
jmp 0x140014abe
cdq
sub eax, edx
sar eax, 1
movsxd rsi, eax
mov dword [rbp], esi
mov qword [rbp + 0x50], rdi
mov rcx, rsi
cmp rsi, rdi
jne 0x140014933
mov rcx, rdi
jmp 0x140014942
xor edx, edx
or rax, 0xffffffffffffffff
div rcx
cmp rax, 1
jb 0x140014951
mov rdx, rcx
lea rcx, [rbp + 0x50]
call fcn.1400116bc
nop
jmp 0x140014974
mov ecx, 0x80070057
call fcn.14000b1c4
nop
xor edi, edi
mov ebx, dword [rbp + 0x30]
mov esi, dword [rbp]
mov r13, qword [rbp + 0x40]
mov rax, qword [rbp + 0x38]
mov qword [rbp + 8], rax
mov r14, qword [rbp + 0x18]
mov rcx, qword [rbp + 0x50]
cmp rcx, rdi
jne 0x140014999
lea rax, [rbp + 0x58]
cmp rax, rdi
je 0x14001498f
lea rcx, [rbp + 0x50]
call fcn.14000e95c
mov eax, 0x80004005
jmp 0x140014abe
movsxd r8, esi
xor edx, edx
call fcn.1400205b0
mov r12d, edi
mov r15, rdi
movsxd rax, ebx
cmp rax, rdi
jle 0x1400149f9
mov rsi, rax
mov eax, r12d
cdq
sub eax, edx
sar eax, 1
movsxd rbx, eax
add rbx, qword [rbp + 0x50]
mov cl, byte [rbp + r15 + 0x160]
call fcn.14000babc
mov r11b, al
mov ecx, r12d
and ecx, 1
shl ecx, 2
mov eax, 4
sub eax, ecx
mov cl, al
shl r11b, cl
or byte [rbx], r11b
inc r12d
inc r15
cmp r15, rsi
jl 0x1400149b4
mov esi, dword [rbp]
mov dword [rsp + 0x28], esi
mov rax, qword [rbp + 0x50]
mov qword [rsp + 0x20], rax
mov r9d, 3
xor r8d, r8d
mov rdx, r14
mov rcx, qword [rbp + 8]
mov rcx, qword [rcx]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov esi, eax
lea rax, [rbp + 0x58]
cmp qword [rbp + 0x50], rax
je 0x140014a9e
lea rcx, [rbp + 0x50]
call fcn.14000e95c
jmp 0x140014a9e
mov r9d, 1
lea r8, [rbp + 0x160]
mov rdx, r14
mov rcx, r15
call fcn.14000b6b0
mov esi, eax
lea rax, str.D:Program_FilesMicrosoft_Visual_Studio_9.0VCATLMFCINCLUDE_statreg.h
mov qword [rbp + 8], rax
mov dword [rbp + 0x10], 0x37c
lea rcx, str.default
cmp r14, rdi
cmove r14, rcx
mov qword [rsp + 0x28], r14
lea rax, [rbp + 0x160]
mov qword [rsp + 0x20], rax
lea r9, str.Setting_Value__s_at__s_n
mov r8d, 2
mov rdx, qword [0x1400681d0]
lea rcx, [rbp + 8]
call fcn.14000b174
cmp esi, edi
je 0x140014aab
mov ecx, esi
call fcn.14000b2e0
jmp 0x140014abe
mov rdx, qword [rbp + 0x20]
mov rcx, r13
call fcn.14000bbc8
cmp eax, edi
cmovl edi, eax
mov eax, edi
mov rcx, qword [rbp + 0x1160]
xor rcx, rbp
call fcn.1400206b0
lea rsp, [rbp + 0x1178]
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret