Function at 0x180040410
Capabilities:
Query or enumerate registry value
Set registry value

Disassembly:
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x13d0]
mov eax, 0x14d0
call fcn.180096b10
sub rsp, rax
mov qword [rbp - 0x80], 0xfffffffffffffffe
mov qword [rsp + 0x1508], rbx
mov qword [rsp + 0x1510], rsi
mov rax, qword [0x1801548a8]
xor rax, rsp
mov qword [rbp + 0x13c0], rax
mov r12, rcx
xor esi, esi
mov dword [rsp + 0x68], esi
call fcn.18000a5b0
mov rcx, rax
test rax, rax
je 0x180041451
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x60], rax
mov r15, qword [r12]
lea r14, [rsi - 1]
cmp dword [r15 - 0x10], esi
je 0x180040f8e
lea rax, [rbp + 0x198]
mov qword [rbp + 0x190], rax
test r15, r15
jne 0x1800404b3
mov edx, esi
mov qword [rbp + 0x190], rdx
jmp 0x1800405af
mov rdi, r14
nop word [rax + rax]
inc rdi
cmp word [r15 + rdi*2], 0
jne 0x1800404c0
inc edi
lea ebx, [rdi*4]
mov r9d, 0x80
lea r8, [rbp + 0x198]
mov edx, ebx
lea rcx, [rbp + 0x190]
call fcn.1800074b0
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], ebx
mov rax, qword [rbp + 0x190]
mov qword [rsp + 0x20], rax
mov r9d, edi
mov r8, r15
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov ebx, esi
test eax, eax
sete bl
test eax, eax
jne 0x1800405a0
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x1800405a0
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rsi
mov r9d, edi
mov r8, r15
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov ebx, eax
mov r9d, 0x80
lea r8, [rbp + 0x198]
mov edx, eax
lea rcx, [rbp + 0x190]
call fcn.1800074b0
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], ebx
mov rax, qword [rbp + 0x190]
mov qword [rsp + 0x20], rax
mov r9d, edi
mov r8, r15
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov ebx, esi
test eax, eax
sete bl
test ebx, ebx
jne 0x18004145c
mov rdx, qword [rbp + 0x190]
movdqa xmm0, xmmword [0x180100240]
movdqu xmmword [rbp + 0x120], xmm0
mov byte [rbp + 0x110], 0
mov r8, r14
nop dword [rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x1800405d0
lea rcx, [rbp + 0x110]
call fcn.18000c340
nop
lea rax, [rbp + 0x198]
mov rcx, qword [rbp + 0x190]
cmp rcx, rax
je 0x1800405ff
call fcn.1800c8ed8
call fcn.18005ef40
mov r15, rax
lea rax, [rbp + 0x228]
mov qword [rbp + 0x220], rax
test r15, r15
jne 0x180040629
mov rdx, rsi
mov qword [rbp + 0x220], rdx
jmp 0x18004071f
mov rdi, r14
nop dword [rax]
inc rdi
cmp word [r15 + rdi*2], 0
jne 0x180040630
inc edi
lea ebx, [rdi*4]
mov r9d, 0x80
lea r8, [rbp + 0x228]
mov edx, ebx
lea rcx, [rbp + 0x220]
call fcn.1800074b0
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], ebx
mov rax, qword [rbp + 0x220]
mov qword [rsp + 0x20], rax
mov r9d, edi
mov r8, r15
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov ebx, esi
test eax, eax
sete bl
test eax, eax
jne 0x180040710
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x180040710
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rsi
mov r9d, edi
mov r8, r15
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov ebx, eax
mov r9d, 0x80
lea r8, [rbp + 0x228]
mov edx, eax
lea rcx, [rbp + 0x220]
call fcn.1800074b0
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], ebx
mov rax, qword [rbp + 0x220]
mov qword [rsp + 0x20], rax
mov r9d, edi
mov r8, r15
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov ebx, esi
test eax, eax
sete bl
test ebx, ebx
jne 0x18004147b
mov rdx, qword [rbp + 0x220]
mov qword [rbp + 0x80], rsi
mov qword [rbp + 0x88], 0xf
mov byte [rbp + 0x70], 0
mov r8, r14
nop dword [rax + rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x180040740
lea rcx, [rbp + 0x70]
call fcn.18000c340
nop
lea rax, [rbp + 0x228]
mov rcx, qword [rbp + 0x220]
cmp rcx, rax
je 0x18004076c
call fcn.1800c8ed8
movdqa xmm0, xmmword [0x180100240]
movdqu xmmword [rbp + 0xa0], xmm0
mov byte [rbp + 0x90], 0
lea r8, [rbp + 0x90]
lea rdx, [rbp + 0x70]
lea rcx, [rbp + 0x110]
call fcn.180024eb0
test eax, eax
jne 0x180040897
mov rdx, qword [rbp + 0xa8]
cmp rdx, 0x10
jb 0x1800407e3
inc rdx
mov rcx, qword [rbp + 0x90]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800407de
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18004149a
call fcn.1800965cc
movdqa xmm0, xmmword [0x180100240]
movdqu xmmword [rbp + 0xa0], xmm0
mov byte [rbp + 0x90], 0
mov rdx, qword [rbp + 0x88]
cmp rdx, 0x10
jb 0x180040838
inc rdx
mov rcx, qword [rbp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180040833
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800414a0
call fcn.1800965cc
mov qword [rbp + 0x80], rsi
mov qword [rbp + 0x88], 0xf
mov byte [rbp + 0x70], 0
mov rdx, qword [rbp + 0x128]
cmp rdx, 0x10
jb 0x180040f8e
inc rdx
mov rcx, qword [rbp + 0x110]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180040f89
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180041445
jmp 0x180040f89
movdqa xmm0, xmmword [0x180100240]
movdqu xmmword [rbp + 0xc0], xmm0
mov byte [rbp + 0xb0], 0
mov dword [rsp + 0x68], 1
mov rdx, qword [rbp + 0x80]
inc rdx
lea rcx, [rbp + 0xb0]
call fcn.180041590
lea r9, [rbp + 0x70]
cmp qword [rbp + 0x88], 0x10
cmovae r9, qword [rbp + 0x70]
mov rdi, qword [rbp + 0x80]
mov rcx, qword [rbp + 0xc0]
mov rdx, qword [rbp + 0xc8]
mov rax, rdx
sub rax, rcx
cmp rdi, rax
ja 0x180040932
lea rax, [rdi + rcx]
mov qword [rbp + 0xc0], rax
lea rbx, [rbp + 0xb0]
cmp rdx, 0x10
cmovae rbx, qword [rbp + 0xb0]
add rbx, rcx
mov r8, rdi
mov rdx, r9
mov rcx, rbx
call fcn.1800c5d60
mov byte [rbx + rdi], 0
jmp 0x180040949
mov qword [rsp + 0x20], rdi
xor r8d, r8d
mov rdx, rdi
lea rcx, [rbp + 0xb0]
call fcn.180007b10
mov rcx, qword [rbp + 0xc0]
mov rdx, qword [rbp + 0xc8]
mov rax, rdx
sub rax, rcx
cmp rax, 1
jb 0x18004099f
lea rax, [rcx + 1]
mov qword [rbp + 0xc0], rax
lea rbx, [rbp + 0xb0]
cmp rdx, 0x10
cmovae rbx, qword [rbp + 0xb0]
add rbx, rcx
mov r8d, 1
lea rdx, [0x180106404]
mov rcx, rbx
call fcn.1800c5d60
mov byte [rbx + 1], 0
jmp 0x1800409c2
mov qword [rsp + 0x20], 1
lea r9, [0x180106404]
xor r8d, r8d
lea edx, [r8 + 1]
lea rcx, [rbp + 0xb0]
call fcn.180007b10
lea rdx, [rbp + 0x90]
cmp qword [rbp + 0xa8], 0x10
cmovae rdx, qword [rbp + 0x90]
mov r8, qword [rbp + 0xa0]
lea rcx, [rbp + 0xb0]
call fcn.18000c130
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x100], xmm0
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0xf0], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x100], xmm1
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov rdx, qword [rbp + 0xc8]
cmp rdx, 0x10
jb 0x180040a5c
inc rdx
mov rcx, qword [rbp + 0xb0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180040a57
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800414a6
call fcn.1800965cc
movdqa xmm0, xmmword [0x180100240]
movdqu xmmword [rbp + 0xe0], xmm0
mov byte [rbp + 0xd0], 0
movdqu xmmword [rbp + 0x160], xmm0
mov byte [rbp + 0x150], 0
mov r8d, 0x24
lea rdx, str.6804FACB_33CC_48a8_99B1_4E2A487F9638
lea rcx, [rbp + 0x150]
call fcn.18000c340
nop
lea r8, [rbp + 0xd0]
lea rdx, [rbp + 0x150]
lea rcx, [rbp + 0xf0]
call fcn.180024eb0
test eax, eax
sete bl
mov rdx, qword [rbp + 0x168]
cmp rdx, 0x10
jb 0x180040afc
inc rdx
mov rcx, qword [rbp + 0x150]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180040af7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800414ac
call fcn.1800965cc
test bl, bl
je 0x180040ca9
mov rdx, qword [rbp + 0xe8]
cmp rdx, 0x10
jb 0x180040b45
inc rdx
mov rcx, qword [rbp + 0xd0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180040b40
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800414b2
call fcn.1800965cc
movdqa xmm0, xmmword [0x180100240]
movdqu xmmword [rbp + 0xe0], xmm0
mov byte [rbp + 0xd0], 0
mov rdx, qword [rbp + 0x108]
cmp rdx, 0x10
jb 0x180040b9d
inc rdx
mov rcx, qword [rbp + 0xf0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180040b98
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800414b8
call fcn.1800965cc
movdqa xmm0, xmmword [0x180100240]
movdqu xmmword [rbp + 0x100], xmm0
mov byte [rbp + 0xf0], 0
mov rdx, qword [rbp + 0xa8]
cmp rdx, 0x10
jb 0x180040bf5
inc rdx
mov rcx, qword [rbp + 0x90]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180040bf0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800414be
call fcn.1800965cc
movdqa xmm0, xmmword [0x180100240]
movdqu xmmword [rbp + 0xa0], xmm0
mov byte [rbp + 0x90], 0
mov rdx, qword [rbp + 0x88]
cmp rdx, 0x10
jb 0x180040c4a
inc rdx
mov rcx, qword [rbp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180040c45
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800414c4
call fcn.1800965cc
mov qword [rbp + 0x80], rsi
mov qword [rbp + 0x88], 0xf
mov byte [rbp + 0x70], 0
mov rdx, qword [rbp + 0x128]
cmp rdx, 0x10
jb 0x180040f8e
inc rdx
mov rcx, qword [rbp + 0x110]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180040f89
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18004144b
jmp 0x180040f89
lea r15, [rbp + 0xd0]
cmp qword [rbp + 0xe8], 0x10
cmovae r15, qword [rbp + 0xd0]
lea rax, [rbp + 0x2b8]
mov qword [rbp + 0x2b0], rax
test r15, r15
jne 0x180040ce2
mov rdx, rsi
mov qword [rbp + 0x2b0], rdx
jmp 0x180040dae
mov rdi, r14
inc rdi
cmp byte [r15 + rdi], 0
jne 0x180040ce5
inc edi
mov r9d, 0x80
lea r8, [rbp + 0x2b8]
mov edx, edi
lea rcx, [rbp + 0x2b0]
call fcn.180007540
mov dword [rsp + 0x28], edi
mov rax, qword [rbp + 0x2b0]
mov qword [rsp + 0x20], rax
mov r9d, edi
mov r8, r15
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov ebx, esi
test eax, eax
sete bl
test eax, eax
jne 0x180040d9f
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x180040d9f
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rsi
mov r9d, edi
mov r8, r15
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov ebx, eax
mov r9d, 0x80
lea r8, [rbp + 0x2b8]
mov edx, eax
lea rcx, [rbp + 0x2b0]
call fcn.180007540
mov dword [rsp + 0x28], ebx
mov rax, qword [rbp + 0x2b0]
mov qword [rsp + 0x20], rax
mov r9d, edi
mov r8, r15
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov ebx, esi
test eax, eax
sete bl
test ebx, ebx
jne 0x1800414ca
mov rdx, qword [rbp + 0x2b0]
test rdx, rdx
jne 0x180040db7
mov eax, esi
jmp 0x180040dca
mov rax, r14
nop word [rax + rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x180040dc0
mov r8d, eax
lea rcx, [rsp + 0x60]
call fcn.18000b4d0
nop
lea rax, [rbp + 0x2b8]
mov rcx, qword [rbp + 0x2b0]
cmp rcx, rax
je 0x180040df1
call fcn.1800c8ed8
nop
mov rdx, qword [rbp + 0xe8]
cmp rdx, 0x10
jb 0x180040e32
inc rdx
mov rcx, qword [rbp + 0xd0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180040e2d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800414e9
call fcn.1800965cc
movdqa xmm0, xmmword [0x180100240]
movdqu xmmword [rbp + 0xe0], xmm0
mov byte [rbp + 0xd0], 0
mov rdx, qword [rbp + 0x108]
cmp rdx, 0x10
jb 0x180040e8a
inc rdx
mov rcx, qword [rbp + 0xf0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180040e85
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800414ef
call fcn.1800965cc
movdqa xmm0, xmmword [0x180100240]
movdqu xmmword [rbp + 0x100], xmm0
mov byte [rbp + 0xf0], 0
mov rdx, qword [rbp + 0xa8]
cmp rdx, 0x10
jb 0x180040ee2
inc rdx
mov rcx, qword [rbp + 0x90]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180040edd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800414f5
call fcn.1800965cc
movdqa xmm0, xmmword [0x180100240]
movdqu xmmword [rbp + 0xa0], xmm0
mov byte [rbp + 0x90], 0
mov rdx, qword [rbp + 0x88]
cmp rdx, 0x10
jb 0x180040f37
inc rdx
mov rcx, qword [rbp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180040f32
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800414fb
call fcn.1800965cc
mov qword [rbp + 0x80], rsi
mov qword [rbp + 0x88], 0xf
mov byte [rbp + 0x70], 0
mov rdx, qword [rbp + 0x128]
cmp rdx, 0x10
jb 0x180040f8e
inc rdx
mov rcx, qword [rbp + 0x110]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180040f89
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180041501
call fcn.1800965cc
call fcn.18000a5b0
mov rcx, rax
test rax, rax
je 0x180041507
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x50], rax
lea r15, str.url0
cmp r15, 0x10000
jae 0x180040fce
movzx edx, r15w
lea rcx, [rsp + 0x50]
call fcn.18000b100
jmp 0x180040fed
mov rax, r14
inc rax
cmp word [r15 + rax*2], 0
jne 0x180040fd1
mov r8d, eax
mov rdx, r15
lea rcx, [rsp + 0x50]
call fcn.18000b4d0
nop
call fcn.180027a70
mov r9, qword [rax]
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x50]
mov rcx, rax
call qword [r9 + 8]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x180041026
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov dword [rsp + 0x4c], 1
xor edx, edx
mov r8d, 0x1000
lea rcx, [rbp + 0x3c0]
call fcn.1800c61d0
mov dword [rsp + 0x48], 0x800
lea rcx, [rsp + 0x40]
call fcn.18003ee30
mov rdx, rax
lea rax, [rsp + 0x48]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x3c0]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x4c]
mov r8, r15
mov rcx, 0xffffffff80000001
call qword [sym.imp.SHLWAPI.dll_SHGetValueW]
test eax, eax
jne 0x1800410c1
mov rdi, qword [rsp + 0x60]
mov eax, dword [rdi - 0x10]
lea ebx, [rax*2 + 2]
lea rcx, [rsp + 0x41]
call fcn.18003eef0
mov rdx, rax
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rdi
mov r9d, 1
mov r8, r15
mov rcx, 0xffffffff80000001
call qword [sym.imp.SHLWAPI.dll_SHSetValueW]
call fcn.18006eac0
mov r8, qword [rax]
mov edx, 1
mov rcx, rax
call qword [r8 + 0x10]
cmp al, 1
jne 0x180041240
movdqa xmm0, xmmword [0x180100240]
movdqu xmmword [rbp + 0x180], xmm0
mov byte [rbp + 0x170], 0
mov r8d, 0x56
lea rdx, str.d:jenkins.jenkinsworkspacelib_commoncomputerz12hookhomepage_normalhp_helper.cpp
lea rcx, [rbp + 0x170]
call fcn.18000c340
nop
movdqa xmm0, xmmword [0x180100240]
movdqu xmmword [rbp + 0x140], xmm0
mov byte [rbp + 0x130], 0
mov r8d, 3
lea rdx, [0x1800fffb0]
lea rcx, [rbp + 0x130]
call fcn.18000c340
nop
call fcn.18006eac0
mov rdi, rax
mov r9d, 0x65
lea r8, [rbp + 0x170]
lea rdx, [rbp + 0x130]
lea rcx, [rbp - 0x78]
call fcn.180008550
mov rbx, rax
lea rdx, str.set_url0:
mov rcx, rax
call fcn.180009410
mov rcx, qword [r12]
lea rdx, [0x1800ffe98]
test rcx, rcx
cmovne rdx, rcx
mov rcx, rbx
call fcn.180007240
mov rax, qword [rdi]
mov rdx, rbx
mov rcx, rdi
call qword [rax + 0x38]
nop
lea rcx, [rbp - 0x78]
call fcn.180009580
nop
mov rdx, qword [rbp + 0x148]
cmp rdx, 0x10
jb 0x1800411e8
inc rdx
mov rcx, qword [rbp + 0x130]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800411e3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180041512
call fcn.1800965cc
movdqa xmm0, xmmword [0x180100240]
movdqu xmmword [rbp + 0x140], xmm0
mov byte [rbp + 0x130], 0
mov rdx, qword [rbp + 0x188]
cmp rdx, 0x10
jb 0x180041240
inc rdx
mov rcx, qword [rbp + 0x170]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004123b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180041518
call fcn.1800965cc
mov dword [rsp + 0x4c], 4
mov dword [rsp + 0x6c], esi
mov dword [rsp + 0x48], 0x800
lea rcx, [rsp + 0x42]
call fcn.18003ec30
mov rdx, rax
lea rax, [rsp + 0x48]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x6c]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x4c]
lea r15, str.user_unlock
mov r8, r15
mov rcx, 0xffffffff80000001
call qword [sym.imp.SHLWAPI.dll_SHGetValueW]
test eax, eax
jne 0x1800412da
mov rax, qword [r12]
cmp dword [rax - 0x10], 0
sete sil
mov dword [rsp + 0x70], esi
lea rcx, [rsp + 0x43]
call fcn.18003f1b0
mov rdx, rax
mov dword [rsp + 0x28], 4
lea rax, [rsp + 0x70]
mov qword [rsp + 0x20], rax
mov r9d, 4
mov r8, r15
mov rcx, 0xffffffff80000001
call qword [sym.imp.SHLWAPI.dll_SHSetValueW]
mov rdi, qword [r12]
mov eax, dword [rdi - 0x10]
lea ebx, [rax + rax]
lea rcx, [rsp + 0x44]
call fcn.18003f070
mov rdx, rax
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rdi
mov r9d, 1
lea r8, str.Start_Page
mov rcx, 0xffffffff80000001
call qword [sym.imp.SHLWAPI.dll_SHSetValueW]
mov rax, qword [r12]
lea rcx, [0x180106c94]
lea rdx, [0x180106c98]
cmp dword [rax - 0x10], 0
cmove rdx, rcx
lea rcx, [rsp + 0x78]
call fcn.180036f30
nop
call fcn.18000a5b0
mov rcx, rax
test rax, rax
je 0x18004143a
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x58], rax
cmp r15, 0x10000
jae 0x180041372
movzx edx, r15w
lea rcx, [rsp + 0x58]
call fcn.18000b100
jmp 0x180041391
mov rax, r14
inc rax
cmp word [r15 + rax*2], 0
jne 0x180041375
mov r8d, eax
mov rdx, r15
lea rcx, [rsp + 0x58]
call fcn.18000b4d0
nop
call fcn.180027a70
mov r9, qword [rax]
lea r8, [rsp + 0x78]
lea rdx, [rsp + 0x58]
mov rcx, rax
call qword [r9 + 8]
nop
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1800413cb
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x78]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1800413eb
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r14d
sub r14d, 1
jg 0x18004140a
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [r8 + 8]
mov eax, 1
mov rcx, qword [rbp + 0x13c0]
xor rcx, rsp
call fcn.180096b80
lea r11, [rsp + 0x14d0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret
mov ecx, 0x80004005
call fcn.180009b50
nop
call fcn.1800c9338
int3
call fcn.1800c9338
nop
mov ecx, 0x80004005
call fcn.180009b50
nop
mov r8d, 0x80
lea rdx, [rbp + 0x198]
mov rcx, qword [rbp + 0x190]
call fcn.1800075d0
call fcn.180009b80
nop
mov r8d, 0x80
lea rdx, [rbp + 0x228]
mov rcx, qword [rbp + 0x220]
call fcn.1800075d0
call fcn.180009b80
nop
call fcn.1800c9338
nop
call fcn.1800c9338
nop
call fcn.1800c9338
nop
call fcn.1800c9338
nop
call fcn.1800c9338
nop
call fcn.1800c9338
nop
call fcn.1800c9338
nop
call fcn.1800c9338
nop
mov r8d, 0x80
lea rdx, [rbp + 0x2b8]
mov rcx, qword [rbp + 0x2b0]
call fcn.1800075d0
call fcn.180009b80
nop
call fcn.1800c9338
nop
call fcn.1800c9338
nop
call fcn.1800c9338
nop
call fcn.1800c9338
nop
call fcn.1800c9338
int3
mov ecx, 0x80004005
call fcn.180009b50
nop
call fcn.1800c9338
nop
call fcn.1800c9338
int3