Function at 0x140007620
Capabilities:
Set registry value

Disassembly:
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
sub rsp, 0x30
mov rcx, qword [rdx]
xor r13d, r13d
mov eax, 1
mov qword [rsp + 0x58], r13
sub eax, dword [rcx - 8]
mov r12, r9
or eax, dword [rcx - 0xc]
mov rbp, r8
mov rsi, rdx
mov edi, r13d
jge 0x140007661
xor edx, edx
mov rcx, rsi
call fcn.140006eb0
mov rdx, qword [rsi]
lea r8, [0x1400149f0]
lea rcx, [rsp + 0x58]
mov qword [rsp + 0x50], rbx
call fcn.140006be0
test eax, eax
je 0x140007733
mov rcx, qword [rbp]
mov eax, 1
sub eax, dword [rcx - 8]
or eax, dword [rcx - 0xc]
jge 0x14000769d
xor edx, edx
mov rcx, rbp
call fcn.140006eb0
mov rbx, qword [rbp]
mov rdi, qword [rsp + 0x58]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
lea rdx, str.Buysupplies_URL
mov r9d, 1
lea eax, [rax + rax + 1]
xor r8d, r8d
mov rcx, rdi
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rbx
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov r11, qword [r12]
mov eax, 1
sub eax, dword [r11 - 8]
or eax, dword [r11 - 0xc]
jge 0x1400076f2
xor edx, edx
mov rcx, r12
call fcn.140006eb0
mov rbx, qword [r12]
mov rdi, qword [rsp + 0x58]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
lea rdx, str.Buysupplies_PORT
mov r9d, 1
lea eax, [rax + rax + 1]
xor r8d, r8d
mov rcx, rdi
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rbx
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test eax, eax
mov edi, r13d
sete dil
mov rcx, qword [rsi]
test rcx, rcx
jne 0x140007740
mov eax, r13d
jmp 0x140007751
movsxd rdx, dword [rcx - 0xc]
call fcn.14000b274
test eax, eax
js 0x14000787d
mov rcx, qword [rsi]
cmp eax, dword [rcx - 0xc]
jg 0x14000787d
mov dword [rcx - 0x10], eax
movsxd rcx, eax
mov rax, qword [rsi]
mov word [rax + rcx*2], r13w
mov rcx, qword [rbp]
test rcx, rcx
jne 0x140007779
mov eax, r13d
jmp 0x14000778a
movsxd rdx, dword [rcx - 0xc]
call fcn.14000b274
test eax, eax
js 0x140007872
mov rcx, qword [rbp]
cmp eax, dword [rcx - 0xc]
jg 0x140007872
mov dword [rcx - 0x10], eax
movsxd rcx, eax
mov rax, qword [rbp]
mov word [rax + rcx*2], r13w
mov rcx, qword [r12]
test rcx, rcx
jne 0x1400077b4
mov eax, r13d
jmp 0x1400077c5
movsxd rdx, dword [rcx - 0xc]
call fcn.14000b274
test eax, eax
js 0x140007867
mov rcx, qword [r12]
cmp eax, dword [rcx - 0xc]
jg 0x140007867
mov dword [rcx - 0x10], eax
movsxd rcx, eax
mov rax, qword [r12]
mov word [rax + rcx*2], r13w
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x1400077f1
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rdx, qword [rsi]
sub rdx, 0x18
or ebx, 0xffffffff
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140007811
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rdx, qword [rbp]
mov eax, ebx
sub rdx, 0x18
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14000782f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rdx, qword [r12]
sub rdx, 0x18
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x14000784c
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [r8 + 8]
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
mov eax, edi
add rsp, 0x30
pop r13
pop r12
pop rdi
ret
mov ecx, 0x80070057
call fcn.140003000
int3
mov ecx, 0x80070057
call fcn.140003000
int3
mov ecx, 0x80070057
call fcn.140003000
int3