Function at 0x18009c5e0
Capabilities:
Set registry value

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x78
movaps xmmword [rsp + 0x60], xmm6
mov rsi, rcx
mov rax, qword [0x1800cb028]
xor rax, rsp
mov qword [rsp + 0x58], rax
cmp byte [0x1800cd1f0], 0
je 0x18009cc7a
mov r14, rdx
lea rdi, [rsp + 0x38]
mov rcx, rdi
call fcn.180012470
cmp byte [rdi + 8], 0
jne 0x18009cc8d
lea r15, [rsp + 0x38]
mov rdi, qword [r15]
mov rcx, r15
call fcn.180012520
cmp byte [r15 + 8], 0
jne 0x18009cc95
mov rbx, qword [rsp + 0x38]
mov ebp, dword [r14]
lea r8, str.ScreenX
mov rcx, r15
mov rdx, rbx
call fcn.1800125d0
mov dword [rsp + 0x30], ebp
cmp qword [rsp + 0x50], 8
jb 0x18009c674
mov r15, qword [rsp + 0x38]
lea r12, [rsp + 0x30]
mov qword [rsp + 0x20], r12
mov dword [rsp + 0x28], 4
mov rcx, rdi
mov rdx, r15
xor r8d, r8d
mov r9d, 4
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov ebp, eax
mov rax, qword [rsp + 0x50]
cmp rax, 7
jbe 0x18009c6dc
mov rcx, qword [rsp + 0x38]
inc rax
movabs rdx, 0x7ffffffffffff800
test rax, rdx
je 0x18009c6d7
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x18009cca1
mov rcx, rax
call sym.mozglue.dll__aligned_free
mov r13d, 7
test ebp, ebp
jne 0x18009cc86
mov ebp, dword [r14 + 4]
lea r8, [0x1800bfe3c]
lea r15, [rsp + 0x38]
mov rcx, r15
mov rdx, rbx
call fcn.1800125d0
mov dword [rsp + 0x30], ebp
cmp qword [r15 + 0x18], 8
jb 0x18009c715
mov r15, qword [rsp + 0x38]
mov qword [rsp + 0x20], r12
mov dword [rsp + 0x28], 4
mov rcx, rdi
mov rdx, r15
xor r8d, r8d
mov r9d, 4
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov ebp, eax
mov rax, qword [rsp + 0x50]
cmp rax, 8
jb 0x18009c778
mov rcx, qword [rsp + 0x38]
inc rax
movabs rdx, 0x7ffffffffffff800
test rax, rdx
je 0x18009c773
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x18009cca1
mov rcx, rax
call sym.mozglue.dll__aligned_free
test ebp, ebp
jne 0x18009cc86
mov ebp, dword [r14 + 8]
lea r8, str.Width
lea r15, [rsp + 0x38]
mov rcx, r15
mov rdx, rbx
call fcn.1800125d0
mov dword [rsp + 0x30], ebp
cmp qword [r15 + 0x18], 8
jb 0x18009c7ab
mov r15, qword [rsp + 0x38]
mov qword [rsp + 0x20], r12
mov dword [rsp + 0x28], 4
mov rcx, rdi
mov rdx, r15
xor r8d, r8d
mov r9d, 4
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov ebp, eax
mov rax, qword [rsp + 0x50]
cmp rax, 8
jb 0x18009c80e
mov rcx, qword [rsp + 0x38]
inc rax
movabs rdx, 0x7ffffffffffff800
test rax, rdx
je 0x18009c809
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x18009cca1
mov rcx, rax
call sym.mozglue.dll__aligned_free
test ebp, ebp
jne 0x18009cc86
mov ebp, dword [r14 + 0xc]
lea r8, str.Height
lea r15, [rsp + 0x38]
mov rcx, r15
mov rdx, rbx
call fcn.1800125d0
mov dword [rsp + 0x30], ebp
cmp qword [r15 + 0x18], 8
jb 0x18009c841
mov r15, qword [rsp + 0x38]
mov qword [rsp + 0x20], r12
mov dword [rsp + 0x28], 4
mov rcx, rdi
mov rdx, r15
xor r8d, r8d
mov r9d, 4
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov ebp, eax
mov rax, qword [rsp + 0x50]
cmp rax, 8
jb 0x18009c8a4
mov rcx, qword [rsp + 0x38]
inc rax
movabs rdx, 0x7ffffffffffff800
test rax, rdx
je 0x18009c89f
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x18009cca1
mov rcx, rax
call sym.mozglue.dll__aligned_free
test ebp, ebp
jne 0x18009cc86
movzx ebp, byte [r14 + 0x50]
lea r8, str.Maximized
lea r15, [rsp + 0x38]
mov rcx, r15
mov rdx, rbx
call fcn.1800125d0
mov dword [rsp + 0x30], ebp
cmp qword [r15 + 0x18], 8
jb 0x18009c8d8
mov r15, qword [rsp + 0x38]
mov qword [rsp + 0x20], r12
mov dword [rsp + 0x28], 4
mov rcx, rdi
mov rdx, r15
xor r8d, r8d
mov r9d, 4
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov ebp, eax
mov rax, qword [rsp + 0x50]
cmp rax, 8
jb 0x18009c93b
mov rcx, qword [rsp + 0x38]
inc rax
movabs rdx, 0x7ffffffffffff800
test rax, rdx
je 0x18009c936
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x18009cca1
mov rcx, rax
call sym.mozglue.dll__aligned_free
test ebp, ebp
jne 0x18009cc86
movzx eax, byte [r14 + 0x51]
mov ecx, eax
or ecx, 2
cmp byte [r14 + 0x52], 0
cmove ecx, eax
mov eax, ecx
or eax, 4
cmp byte [r14 + 0x53], 0
cmove eax, ecx
mov ecx, dword [r14 + 0x54]
mov edx, eax
or edx, 8
cmp ecx, 1
cmovne edx, eax
mov ebp, edx
or ebp, 0x10
cmp ecx, 2
cmovne ebp, edx
lea r8, str.Flags
lea r15, [rsp + 0x38]
mov rcx, r15
mov rdx, rbx
call fcn.1800125d0
mov dword [rsp + 0x30], ebp
cmp qword [r15 + 0x18], 8
jb 0x18009c9a3
mov r15, qword [rsp + 0x38]
mov qword [rsp + 0x20], r12
mov dword [rsp + 0x28], 4
mov rcx, rdi
mov rdx, r15
xor r8d, r8d
mov r9d, 4
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov ebp, eax
mov rax, qword [rsp + 0x50]
cmp rax, 8
jb 0x18009ca06
mov rcx, qword [rsp + 0x38]
inc rax
movabs rdx, 0x7ffffffffffff800
test rax, rdx
je 0x18009ca01
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x18009cca1
mov rcx, rax
call sym.mozglue.dll__aligned_free
test ebp, ebp
jne 0x18009cc86
movsd xmm6, qword [r14 + 0x30]
lea r8, str.CssToDevPixelScaling
lea r15, [rsp + 0x38]
mov rcx, r15
mov rdx, rbx
call fcn.1800125d0
movsd qword [rsp + 0x30], xmm6
cmp qword [r15 + 0x18], 8
jb 0x18009ca3d
mov r15, qword [rsp + 0x38]
mov qword [rsp + 0x20], r12
mov dword [rsp + 0x28], 8
mov rcx, rdi
mov rdx, r15
xor r8d, r8d
mov r9d, 3
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov ebp, eax
mov rax, qword [rsp + 0x50]
cmp rax, 8
jb 0x18009caa0
mov rcx, qword [rsp + 0x38]
inc rax
movabs rdx, 0x7ffffffffffff800
test rax, rdx
je 0x18009ca9b
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x18009cca1
mov rcx, rax
call sym.mozglue.dll__aligned_free
test ebp, ebp
jne 0x18009cc86
lea r15, [r14 + 0x10]
lea r8, str.UrlbarCSSSpan
lea r12, [rsp + 0x38]
mov rcx, r12
mov rdx, rbx
call fcn.1800125d0
mov dword [rsp + 0x20], 1
lea r13, [rsp + 0x30]
mov rcx, r13
mov rdx, rdi
mov r8, r12
mov r9, r15
call fcn.18009ccb0
mov r13, qword [r13]
mov rax, qword [r12 + 0x18]
cmp rax, 8
jb 0x18009cb24
mov rcx, qword [rsp + 0x38]
inc rax
movabs rdx, 0x7ffffffffffff800
test rax, rdx
je 0x18009cb1f
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x18009cca1
mov rcx, rax
call sym.mozglue.dll__aligned_free
movabs rbp, 0xff0000000000
test r13, rbp
je 0x18009cc86
lea r15, [r14 + 0x20]
lea r8, str.SearchbarCSSSpan
lea r12, [rsp + 0x38]
mov rcx, r12
mov rdx, rbx
call fcn.1800125d0
mov dword [rsp + 0x20], 1
lea r13, [rsp + 0x30]
mov rcx, r13
mov rdx, rdi
mov r8, r12
mov r9, r15
call fcn.18009ccb0
mov r13, qword [r13]
mov rax, qword [r12 + 0x18]
cmp rax, 8
jb 0x18009cbb3
mov rcx, qword [rsp + 0x38]
inc rax
movabs rdx, 0x7ffffffffffff800
test rax, rdx
je 0x18009cbae
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x18009cca1
mov rcx, rax
call sym.mozglue.dll__aligned_free
test r13, rbp
je 0x18009cc86
mov r12d, dword [r14 + 0x40]
mov r14, qword [r14 + 0x38]
lea r8, str.SpringsCSSSpan
lea r15, [rsp + 0x38]
mov rcx, r15
mov rdx, rbx
call fcn.1800125d0
mov dword [rsp + 0x20], r12d
lea r12, [rsp + 0x30]
mov rcx, r12
mov rdx, rdi
mov r8, r15
mov r9, r14
call fcn.18009ccb0
mov r13, qword [r12]
mov rax, qword [r15 + 0x18]
cmp rax, 8
jb 0x18009cc34
mov rcx, qword [rsp + 0x38]
inc rax
movabs rdx, 0x7ffffffffffff800
test rax, rdx
je 0x18009cc2f
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x18009cca1
mov rcx, rax
call sym.mozglue.dll__aligned_free
mov al, 1
test r13, rbp
je 0x18009cc86
mov byte [rsi + 5], al
test rbx, rbx
je 0x18009cc4b
mov rcx, rbx
call sym.mozglue.dll__aligned_free
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.180062020
mov rax, rsi
movaps xmm6, xmmword [rsp + 0x60]
add rsp, 0x78
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov dword [rsi], 1
mov byte [rsi + 5], 0
jmp 0x18009cc54
mov dword [rsi], r13d
xor eax, eax
jmp 0x18009cc3b
mov eax, dword [rsp + 0x38]
mov dword [rsi], eax
jmp 0x18009cc80
mov eax, dword [rsp + 0x38]
mov dword [rsi], eax
mov byte [rsi + 5], 0
jmp 0x18009cc4b
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3