Function at 0x1400ed420
Capabilities:
Set registry value

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x40]
sub rsp, 0x140
mov qword [rbp + 8], 0xfffffffffffffffe
mov qword [rsp + 0x188], rbx
mov r12, r8
mov rdi, rdx
mov r13, rcx
mov r9, qword [rcx + 0xa8]
cmp dword [r9 + 4], 0
je 0x1400edcf7
mov rbx, qword [r9 + 0x10]
add rbx, r9
mov rcx, rbx
call fcn.1400ebdb0
test rax, rax
je 0x1400edcf7
cmp byte [rbx + 0x18], 0
jne 0x1400edcf7
mov rcx, rbx
call fcn.1400ebdb0
test rax, rax
je 0x1400edcf7
mov rcx, qword [rdi]
mov qword [rsp + 0x60], rcx
mov eax, dword [rcx]
inc eax
cmp eax, 1
jbe 0x1400ed4aa
lock inc dword [rcx]
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x48]
call fcn.1400eb9f0
nop
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x68]
call fcn.1400ec160
mov rdi, rax
mov rcx, qword [r13 + 0xa8]
xor r14d, r14d
cmp dword [rcx + 4], r14d
je 0x1400ed500
mov rbx, qword [rcx + 0x10]
add rbx, rcx
mov rcx, rbx
call fcn.1400ebdb0
test rax, rax
je 0x1400ed500
cmp byte [rbx + 0x18], r14b
jne 0x1400ed500
mov rcx, rbx
call fcn.1400ebdb0
jmp 0x1400ed503
mov rax, r14
mov r9d, dword [r13 + 0xb4]
mov r8, rdi
mov edx, 0x2001f
mov rcx, rax
call fcn.1400eb420
mov r15, rax
mov qword [rbp - 0x38], rax
mov rcx, qword [rsp + 0x68]
mov edx, dword [rcx]
or esi, 0xffffffff
test edx, edx
je 0x1400ed543
cmp edx, esi
je 0x1400ed551
mov edx, esi
lock xadd dword [rcx], edx
cmp edx, 1
jne 0x1400ed551
mov rcx, qword [rsp + 0x68]
mov edx, 2
lea r8d, [rdx + 6]
call fcn.14002c3b0
test r15, r15
jne 0x1400ed567
lea edx, [r15 + 1]
mov rcx, r13
call fcn.1400c9e40
jmp 0x1400edcc9
lea rax, [0x14017f600]
mov qword [rsp + 0x30], rax
mov rcx, r12
call fcn.1400af8f0
add eax, 0xfffffffe
cmp eax, 0xa
ja case.0x1400ed59a.6
cdqe
lea rdx, [0x140000000]
mov ecx, dword [rdx + rax*4 + 0xedd20]
add rcx, rdx
jmp rcx
mov dword [rbp + 0x80], 7
lea rdx, [rsp + 0x70]
mov rcx, r12
call fcn.1400af5a0
nop
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.1400cba80
nop
mov r14, qword [rsp + 0x70]
mov eax, dword [r14]
test eax, eax
je 0x1400ed5e4
cmp eax, 0xffffffff
je 0x1400ed633
mov eax, esi
lock xadd dword [r14], eax
cmp eax, 1
jne 0x1400ed633
mov r14, qword [rsp + 0x70]
movsxd rbx, dword [r14 + 0xc]
add rbx, 2
lea rbx, [r14 + rbx*8]
movsxd r15, dword [r14 + 8]
add r15, 2
lea r15, [r14 + r15*8]
cmp r15, rbx
je 0x1400ed627
sub rbx, 8
mov rdi, qword [rbx]
test rdi, rdi
je 0x1400ed622
mov rcx, rdi
call fcn.1400abad0
mov edx, 0x10
mov rcx, rdi
call fcn.1400fbee0
cmp rbx, r15
jne 0x1400ed601
mov rcx, r14
call fcn.1400f8420
mov r15, qword [rbp - 0x38]
mov rcx, qword [rsp + 0x40]
movsxd rax, dword [rcx + 8]
add rax, 2
lea rbx, [rcx + rax*8]
movsxd rax, dword [rcx + 0xc]
add rax, 2
lea rax, [rcx + rax*8]
mov qword [rbp - 0x30], rax
cmp rbx, rax
setne al
test al, al
je 0x1400ed768
xor edi, edi
mov rax, qword [rbx]
cmp dword [rax + 4], edi
je 0x1400ed6ad
mov r9d, 1
xor r8d, r8d
movzx edx, di
mov rcx, rbx
call fcn.14001ba40
cmp eax, 0xffffffff
jne 0x1400ed6ad
add rbx, 8
mov rcx, qword [rsp + 0x40]
movsxd rax, dword [rcx + 0xc]
add rax, 2
lea rax, [rcx + rax*8]
mov qword [rbp - 0x30], rax
cmp rbx, rax
setne al
test al, al
jne 0x1400ed664
jmp 0x1400ed768
mov dword [rbp + 0x80], 3
mov rdx, r12
lea rcx, [rsp + 0x50]
call fcn.1400cbb90
nop
mov rax, qword [rsp + 0x50]
mov ecx, dword [rax + 4]
lea ebx, [rcx + rcx]
lea rcx, [rsp + 0x50]
call fcn.140021a50
mov rdx, rax
mov r8d, ebx
lea rcx, [rsp + 0x78]
call fcn.14002cd80
mov rdx, qword [rsp + 0x30]
mov qword [rbp + 0x10], rdx
mov rcx, qword [rax]
mov qword [rsp + 0x30], rcx
mov qword [rax], rdx
mov rcx, qword [rsp + 0x78]
mov eax, dword [rcx]
test eax, eax
je 0x1400ed71e
cmp eax, 0xffffffff
je 0x1400ed72d
mov eax, esi
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x1400ed72d
mov rcx, qword [rsp + 0x78]
mov edx, 1
lea r8d, [rdx + 7]
call fcn.14002c3b0
nop
mov rcx, qword [rsp + 0x50]
mov eax, dword [rcx]
test eax, eax
je 0x1400ed755
cmp eax, 0xffffffff
je 0x1400ed83f
mov eax, esi
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x1400ed83f
mov rcx, qword [rsp + 0x50]
mov edx, 2
lea r8d, [rdx + 6]
call fcn.14002c3b0
jmp 0x1400ed83f
movsxd rax, dword [rcx + 8]
add rax, 2
lea rbx, [rcx + rax*8]
movsxd rax, dword [rcx + 0xc]
add rax, 2
lea rax, [rcx + rax*8]
mov qword [rbp - 0x28], rax
cmp rbx, rax
setne al
test al, al
je 0x1400ed826
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rbx]
mov ecx, dword [rax + 4]
lea edi, [rcx*2 + 2]
mov rcx, rbx
call fcn.140021a50
mov rdx, rax
mov r8d, edi
lea rcx, [rbp - 0x80]
call fcn.14002cd80
nop
mov rdx, rax
lea rcx, [rsp + 0x30]
call fcn.14002d260
nop
mov rcx, qword [rbp - 0x80]
mov eax, dword [rcx]
test eax, eax
je 0x1400ed7f1
cmp eax, 0xffffffff
je 0x1400ed7ff
mov eax, esi
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x1400ed7ff
mov rcx, qword [rbp - 0x80]
mov edx, 1
lea r8d, [rdx + 7]
call fcn.14002c3b0
add rbx, 8
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 0xc]
add rcx, 2
lea rcx, [rax + rcx*8]
mov qword [rbp - 0x28], rcx
cmp rbx, rcx
setne al
test al, al
jne 0x1400ed7a0
xor edx, edx
lea rcx, [rsp + 0x30]
call fcn.14002d330
xor edx, edx
lea rcx, [rsp + 0x30]
call fcn.14002d330
nop
mov rdi, qword [rsp + 0x40]
mov eax, dword [rdi]
test eax, eax
je 0x1400ed85f
cmp eax, 0xffffffff
je 0x1400ed8bc
mov eax, esi
lock xadd dword [rdi], eax
cmp eax, 1
jne 0x1400ed8bc
mov rdi, qword [rsp + 0x40]
movsxd rbx, dword [rdi + 0xc]
add rbx, 2
lea rbx, [rdi + rbx*8]
movsxd r14, dword [rdi + 8]
add r14, 2
lea r14, [rdi + r14*8]
cmp r14, rbx
je 0x1400ed8b3
nop dword [rax]
sub rbx, 8
mov rcx, qword [rbx]
mov eax, dword [rcx]
test eax, eax
je 0x1400ed89d
cmp eax, 0xffffffff
je 0x1400ed8ae
mov eax, esi
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x1400ed8ae
mov edx, 2
lea r8d, [rdx + 6]
mov rcx, qword [rbx]
call fcn.14002c3b0
cmp rbx, r14
jne 0x1400ed880
mov rcx, rdi
call fcn.1400f8420
nop
jmp 0x1400edacb
mov ebx, 4
mov dword [rbp + 0x80], ebx
xor edx, edx
mov rcx, r12
call fcn.1400af3a0
mov dword [rbp + 0x98], eax
mov r8d, ebx
lea rdx, [rbp + 0x98]
lea rcx, [rbp - 0x78]
call fcn.14002cd80
mov rdx, qword [rsp + 0x30]
mov qword [rbp + 0x18], rdx
mov rcx, qword [rax]
mov qword [rsp + 0x30], rcx
mov qword [rax], rdx
mov rcx, qword [rbp - 0x78]
mov eax, dword [rcx]
test eax, eax
je 0x1400ed929
cmp eax, 0xffffffff
je 0x1400edacb
mov eax, esi
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x1400edacb
mov rcx, qword [rbp - 0x78]
mov edx, 1
jmp 0x1400edac0
mov dword [rbp + 0x80], 0xb
xor edx, edx
mov rcx, r12
call fcn.1400af5d0
mov qword [rbp - 0x20], rax
mov r8d, 8
lea rdx, [rbp - 0x20]
lea rcx, [rbp - 0x70]
call fcn.14002cd80
mov rdx, qword [rsp + 0x30]
mov qword [rbp + 0x20], rdx
mov rcx, qword [rax]
mov qword [rsp + 0x30], rcx
mov qword [rax], rdx
mov rcx, qword [rbp - 0x70]
mov eax, dword [rcx]
test eax, eax
je 0x1400ed998
cmp eax, 0xffffffff
je 0x1400edacb
mov eax, esi
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x1400edacb
mov rcx, qword [rbp - 0x70]
mov edx, 1
jmp 0x1400edac0
mov rdx, r12
lea rcx, [rsp + 0x38]
call fcn.1400cbb90
nop
mov r9d, 1
xor r8d, r8d
movzx edx, r14w
lea rcx, [rsp + 0x38]
call fcn.14001ba40
mov ecx, 1
mov edx, 3
cmp eax, 0xffffffff
cmovne ecx, edx
mov dword [rbp + 0x80], ecx
mov rax, qword [rsp + 0x38]
cmp ecx, edx
mov ecx, dword [rax + 4]
jne 0x1400eda39
lea ebx, [rcx + rcx]
lea rcx, [rsp + 0x38]
call fcn.140021a50
mov rdx, rax
mov r8d, ebx
lea rcx, [rbp - 0x68]
call fcn.14002cd80
mov rdx, qword [rsp + 0x30]
mov qword [rbp + 0x28], rdx
mov rcx, qword [rax]
mov qword [rsp + 0x30], rcx
mov qword [rax], rdx
mov rcx, qword [rbp - 0x68]
mov eax, dword [rcx]
test eax, eax
je 0x1400eda8b
cmp eax, 0xffffffff
je 0x1400eda9b
mov eax, esi
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x1400eda9b
mov rcx, qword [rbp - 0x68]
jmp 0x1400eda8b
lea ebx, [rcx*2 + 2]
lea rcx, [rsp + 0x38]
call fcn.140021a50
mov rdx, rax
mov r8d, ebx
lea rcx, [rbp - 0x60]
call fcn.14002cd80
mov rdx, qword [rsp + 0x30]
mov qword [rbp + 0x30], rdx
mov rcx, qword [rax]
mov qword [rsp + 0x30], rcx
mov qword [rax], rdx
mov rcx, qword [rbp - 0x60]
mov eax, dword [rcx]
test eax, eax
je 0x1400eda8b
cmp eax, 0xffffffff
je 0x1400eda9b
mov eax, esi
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x1400eda9b
mov rcx, qword [rbp - 0x60]
mov r8d, 8
lea edx, [r8 - 7]
call fcn.14002c3b0
nop
mov rcx, qword [rsp + 0x38]
mov eax, dword [rcx]
test eax, eax
je 0x1400edabb
cmp eax, 0xffffffff
je 0x1400edacb
mov eax, esi
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x1400edacb
mov rcx, qword [rsp + 0x38]
mov edx, 2
mov r8d, 8
call fcn.14002c3b0
lea rdx, [rsp + 0x48]
lea rcx, [rbp - 0x58]
call fcn.1400ec000
nop
mov rcx, qword [rsp + 0x30]
mov edi, dword [rcx + 4]
mov rbx, qword [rcx + 0x10]
add rbx, rcx
mov rcx, rax
call fcn.140021a50
mov rdx, rax
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rbx
mov r9d, dword [rbp + 0x80]
xor r8d, r8d
mov rcx, r15
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov ebx, eax
mov rcx, qword [rbp - 0x58]
mov eax, dword [rcx]
test eax, eax
je 0x1400edb30
cmp eax, 0xffffffff
je 0x1400edb3e
mov edx, esi
lock xadd dword [rcx], edx
cmp edx, 1
jne 0x1400edb3e
mov rcx, qword [rbp - 0x58]
mov edx, 2
lea r8d, [rdx + 6]
call fcn.14002c3b0
test ebx, ebx
jne 0x1400edb4e
mov byte [r13 + 0xb0], bl
jmp 0x1400edc90
mov edx, ebx
lea rcx, [rbp - 0x40]
call fcn.140040790
nop
lea rdx, [rbp - 0x48]
mov rcx, rax
call fcn.1400131c0
mov rbx, rax
mov rcx, qword [rsp + 0x48]
mov qword [rsp + 0x58], rcx
mov edx, dword [rcx]
inc edx
cmp edx, 1
jbe 0x1400edb7f
lock inc dword [rcx]
lea rdx, [rbp - 0x50]
lea rcx, [rsp + 0x58]
call fcn.1400131c0
nop
mov rdx, qword [rbx]
mov r9, qword [rdx + 0x10]
add r9, rdx
mov rcx, qword [rax]
mov r8, qword [rcx + 0x10]
add r8, rcx
mov qword [rbp - 0x18], 2
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x10], xmm0
lea rax, [0x1402be910]
mov qword [rbp], rax
lea rdx, str.QSettings:_failed_to_set_subkey___s_:__s
lea rcx, [rbp - 0x18]
call fcn.1400132c0
nop
mov rcx, qword [rbp - 0x50]
mov eax, dword [rcx]
test eax, eax
je 0x1400edbec
cmp eax, 0xffffffff
je 0x1400edbfb
mov eax, esi
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x1400edbfb
mov rcx, qword [rbp - 0x50]
mov edx, 1
lea r8d, [rdx + 7]
call fcn.14002c3b0
nop
mov rax, qword [rsp + 0x58]
mov ecx, dword [rax]
test ecx, ecx
je 0x1400edc16
cmp ecx, 0xffffffff
je 0x1400edc2a
mov ecx, esi
lock xadd dword [rax], ecx
cmp ecx, 1
jne 0x1400edc2a
mov edx, 2
lea r8d, [rdx + 6]
mov rcx, qword [rsp + 0x58]
call fcn.14002c3b0
nop
mov rcx, qword [rbp - 0x48]
mov eax, dword [rcx]
test eax, eax
je 0x1400edc48
cmp eax, 0xffffffff
je 0x1400edc57
mov eax, esi
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x1400edc57
mov rcx, qword [rbp - 0x48]
mov edx, 1
lea r8d, [rdx + 7]
call fcn.14002c3b0
nop
mov rcx, qword [rbp - 0x40]
mov eax, dword [rcx]
test eax, eax
je 0x1400edc75
cmp eax, 0xffffffff
je 0x1400edc83
mov eax, esi
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x1400edc83
mov rcx, qword [rbp - 0x40]
mov edx, 2
lea r8d, [rdx + 6]
call fcn.14002c3b0
mov edx, 1
mov rcx, r13
call fcn.1400c9e40
mov rcx, r15
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop
mov rcx, qword [rsp + 0x30]
mov eax, dword [rcx]
test eax, eax
je 0x1400edcba
cmp eax, 0xffffffff
je 0x1400edcc9
mov eax, esi
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x1400edcc9
mov rcx, qword [rsp + 0x30]
mov edx, 1
lea r8d, [rdx + 7]
call fcn.14002c3b0
nop
mov rcx, qword [rsp + 0x48]
mov eax, dword [rcx]
test eax, eax
je 0x1400edce7
cmp eax, 0xffffffff
je 0x1400edd04
lock xadd dword [rcx], esi
cmp esi, 1
jne 0x1400edd04
mov rcx, qword [rsp + 0x48]
mov edx, 2
lea r8d, [rdx + 6]
call fcn.14002c3b0
jmp 0x1400edd04
mov edx, 1
mov rcx, r13
call fcn.1400c9e40
mov rbx, qword [rsp + 0x188]
add rsp, 0x140
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret