Function at 0x1400328b0
Capabilities:
Delete registry value
Query or enumerate registry value
Set registry value

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x20], r9
mov byte [rsp + 0x18], r8b
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1b0]
sub rsp, 0x2b0
mov r14, r9
movzx r15d, r8b
mov r13, rdx
mov r12, rcx
xor edi, edi
mov dword [rsp + 0x60], edi
mov rbx, qword [rdx]
mov eax, dword [rbx - 0x10]
test eax, eax
jne 0x140032946
lea rdx, [rbx - 0x18]
mov eax, dword [rdx + 0x10]
lea esi, [rdi - 1]
cmp eax, 0x7ffffc17
je 0x140032929
mov eax, dword [rdx + 0x10]
cmp eax, esi
je 0x14003291f
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140032929
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [r14]
sub rdx, 0x18
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x140032bc9
mov eax, dword [rdx + 0x10]
jmp 0x140032bb0
mov esi, 0xffffffff
test eax, eax
jle 0x140032973
lea edx, [rsi + 0x2f]
mov rcx, rbx
call fcn.14008f928
test rax, rax
je 0x140032973
cmp word [rax], 0
je 0x140032973
sub rax, rbx
sar rax, 1
cmp eax, esi
jne 0x140032a2e
call fcn.140002000
mov r10, qword [rax]
mov byte [rsp + 0x30], 1
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 0
mov r9d, esi
mov r8d, esi
lea rdx, [0x1400c7458]
mov rcx, rax
call qword [r10 + 0x28]
mov qword [rbp + 0x118], rax
mov r8, r13
lea rdx, [rbp + 0x118]
lea rcx, [rbp + 0x170]
call fcn.140016f20
nop
mov rdx, rax
mov rcx, r13
call fcn.1400103b0
nop
mov rdx, qword [rbp + 0x170]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x1400329fb
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x1400329f1
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400329fb
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rbp + 0x118]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x140032a2e
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x140032a24
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140032a2e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov qword [rbp + 0x10], rdi
mov dword [rbp + 0x18], esi
mov qword [rbp + 0x20], rdi
lea rax, vtable.JRStringArray.0
mov qword [rbp + 8], rax
mov rdx, r13
lea rcx, [rbp + 0x178]
call fcn.14000bff0
lea r8, [rbp + 8]
mov rdx, rax
call fcn.14003f8a0
test al, al
je 0x140032aa0
mov ebx, edi
cmp dword [rbp + 0x10], edi
jle 0x140032aa0
nop word [rax + rax]
movsxd rcx, ebx
mov rax, qword [rbp + 0x20]
lea rdx, [rax + rcx*8]
lea rcx, [rbp + 0x1a8]
call fcn.14000bff0
mov r9, r13
movzx r8d, r15b
mov rdx, rax
mov rcx, r12
call fcn.140031a80
inc ebx
cmp ebx, dword [rbp + 0x10]
jl 0x140032a70
test r15b, r15b
je 0x140032bd0
mov rbx, qword [r13]
lea rax, str..dat
cmp rbx, rax
je 0x140032ad8
call fcn.140002000
mov rcx, rax
lea r8, str..dat
mov rdx, rbx
call fcn.140001f10
test eax, eax
jne 0x140032bd0
lea rax, vtable.JRCoreArray_class_JRString__class_JRString_const____ptr64__0_.0
mov qword [rbp + 8], rax
cmp qword [rbp + 0x20], 0
je 0x140032b69
mov ebx, edi
cmp dword [rbp + 0x10], edi
jle 0x140032b59
lea r15, [fcn.1400022d0]
nop dword [rax + rax]
mov r8, qword [rax + 0x10]
cmp r8, r15
je 0x140032b12
mov edx, ebx
lea rcx, [rbp + 8]
call r8
mov rax, qword [rbp + 0x20]
mov rdx, qword [rdi + rax]
sub rdx, 0x18
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x140032b46
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x140032b3c
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140032b46
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
inc ebx
add rdi, 8
cmp ebx, dword [rbp + 0x10]
jge 0x140032b57
mov rax, qword [rbp + 8]
jmp 0x140032b00
xor edi, edi
mov rcx, qword [rbp + 0x20]
call fcn.14008d9d8
mov qword [rbp + 0x20], rdi
mov dword [rbp + 0x14], edi
mov dword [rbp + 0x10], edi
mov rdx, qword [r13]
sub rdx, 0x18
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x140032b9c
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x140032b92
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140032b9c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [r14]
sub rdx, 0x18
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x140032bc9
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x140032bbf
lock xadd dword [rdx + 0x10], esi
sub esi, 1
jg 0x140032bc9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
xor al, al
jmp 0x140034dad
mov rax, qword [r14]
cmp dword [rax - 0x10], 0
jne 0x140032c2b
mov r8, r13
lea rdx, [rbp + 0x188]
mov rcx, r12
call fcn.140037a10
nop
mov rdx, rax
mov rcx, r14
call fcn.1400103b0
nop
mov rdx, qword [rbp + 0x188]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x140032c2b
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x140032c21
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140032c2b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov qword [rsp + 0x50], rdi
mov dword [rsp + 0x58], edi
mov qword [rbp + 0x120], rdi
lea rax, [rbp + 0x14c]
mov qword [rsp + 0x40], rax
lea rax, [rbp + 0x120]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], 0x2001f
mov dword [rsp + 0x20], edi
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [r13]
mov rcx, 0xffffffff80000000
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x140032ca1
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x140032c8f
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rax, qword [rbp + 0x120]
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x58], edi
jmp 0x140032ca6
mov rax, qword [rsp + 0x50]
lea rbx, [0x1400c5494]
test rax, rax
je 0x1400336a3
call fcn.140002000
mov r10, qword [rax]
mov byte [rsp + 0x30], 1
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 0
mov r9d, esi
mov r8d, esi
mov rdx, rbx
mov rcx, rax
call qword [r10 + 0x28]
mov qword [rbp - 0x38], rax
mov dword [rsp + 0x60], 2
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x140032eaf
mov dword [rbp - 0x44], 1
mov dword [rbp - 0x48], edi
lea rax, [rbp - 0x48]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdi
lea r9, [rbp - 0x44]
xor r8d, r8d
mov rdx, rbx
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x140032eaf
mov ecx, dword [rbp - 0x44]
lea eax, [rcx - 1]
cmp eax, 1
jbe 0x140032e23
cmp ecx, 4
jne 0x140032eaf
mov dword [rsp + 0x78], edi
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x140032e07
mov dword [rbp + 0x88], 4
mov dword [rbp], 0xffffffff
lea rax, [rbp + 0x88]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x78]
mov qword [rsp + 0x20], rax
lea r9, [rbp]
xor r8d, r8d
mov rdx, rbx
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
je 0x140032d92
mov dword [rsp + 0x78], edi
jmp 0x140032e07
mov eax, dword [rbp]
cmp eax, 4
je 0x140032e07
mov dword [rsp + 0x78], edi
cmp eax, 1
jne 0x140032e07
mov r9, rbx
mov r8, rbx
lea rdx, [rbp + 0x128]
lea rcx, [rsp + 0x50]
call fcn.140029c70
nop
mov rax, qword [rbp + 0x128]
cmp dword [rax - 0x10], 0
jle 0x140032ddb
mov rcx, rax
call fcn.140017960
mov dword [rsp + 0x78], eax
mov rax, qword [rbp + 0x128]
lea rdx, [rax - 0x18]
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x140032e07
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x140032dfd
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140032e07
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
movsxd rdx, dword [rsp + 0x78]
mov r9d, 0xa
xor r8d, r8d
lea rcx, [rbp - 0x38]
call fcn.140013580
jmp 0x140032eaf
mov edi, dword [rbp - 0x48]
inc rdi
shr rdi, 1
lea edx, [rdi + 1]
mov r9b, 1
xor r8d, r8d
lea rcx, [rbp - 0x38]
call fcn.140010590
mov rbx, rax
lea rax, [rbp - 0x48]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
lea r9, [rbp - 0x44]
xor r8d, r8d
lea rdx, [0x1400c5494]
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
movsxd rcx, edi
xor edi, edi
mov word [rbx + rcx*2], di
mov rax, qword [rbp - 0x38]
test rax, rax
jne 0x140032e7e
mov edx, edi
jmp 0x140032e95
mov rdx, rax
movzx ecx, word [rdx]
add rdx, 2
test cx, cx
jne 0x140032e81
sub rdx, rax
sar rdx, 1
dec edx
mov dword [rax - 0x10], edx
mov ecx, dword [rax - 8]
lea rbx, [0x1400c5494]
cmp ecx, 0xffffffff
jne 0x140032eaf
mov ecx, 1
xchg dword [rax - 8], ecx
lea r8, [rbp - 0x38]
test r15b, r15b
je 0x1400339ee
lea rdx, [rbp + 0x40]
call fcn.140037f10
nop
mov rcx, qword [r12 + 8]
mov rax, qword [rbp + 0x40]
cmp rax, rcx
je 0x140032f2c
test rcx, rcx
cmovne rbx, rcx
call fcn.140002000
mov rcx, rax
mov r8, rbx
mov rdx, qword [rbp + 0x40]
call fcn.140001f10
test eax, eax
je 0x140032f28
mov rdx, qword [rbp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x140032f23
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x140032f19
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140032f23
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov r15b, 1
jmp 0x140032f5b
mov rax, qword [rbp + 0x40]
lea rdx, [rax - 0x18]
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x140032f58
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x140032f4e
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140032f58
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
xor r15b, r15b
mov r14, qword [r14]
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x1400330c8
lea rax, [rbp + 0x168]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdi
lea r9, [rbp + 0x8c]
xor r8d, r8d
lea rbx, [0x1400c5494]
mov rdx, rbx
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x140033284
cmp dword [rbp + 0x8c], 1
jne 0x140033284
test r15b, r15b
je 0x140033284
mov r9, rbx
mov r8, rbx
lea rdx, [rbp + 0x48]
lea rcx, [rsp + 0x50]
call fcn.140029c70
nop
call fcn.140002000
mov r10, qword [rax]
mov byte [rsp + 0x30], 1
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 0
mov r9d, esi
mov r8d, esi
mov rdx, r14
mov rcx, rax
call qword [r10 + 0x28]
xor bl, bl
mov rcx, qword [rbp + 0x48]
test rcx, rcx
jne 0x14003300a
test rax, rax
je 0x140033006
cmp word [rax], cx
jne 0x14003305f
mov bl, 1
jmp 0x14003305f
test rax, rax
jne 0x140033014
cmp word [rcx], ax
jmp 0x14003305c
movzx edx, word [rcx]
cmp dx, word [rax]
jne 0x14003305f
mov r10d, edi
cmp dx, 0
je 0x14003304b
mov r9, rdi
mov r8, rdi
nop dword [rax + rax]
cmp dx, word [rax + r8]
jne 0x14003304b
inc r10d
inc r9
lea r8, [r9 + r9]
movzx edx, word [rcx + r8]
test dx, dx
jne 0x140033030
movsxd rdx, r10d
lea r8, [rdx + rdx]
movzx edx, word [rax + r8]
cmp word [rcx + r8], dx
sete bl
lea rdx, [rax - 0x18]
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x14003308b
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x140033081
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14003308b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
test bl, bl
je 0x140033182
mov rdx, qword [rbp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x1400330c3
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x1400330b9
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400330c3
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rcx, qword [rsp + 0x50]
lea r14, [0x1400c5494]
test rcx, rcx
je 0x140033659
lea rax, [rbp + 0x164]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdi
lea r9, [rbp + 0x94]
xor r8d, r8d
lea rdx, str.PerceivedType
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x1400334b6
cmp dword [rbp + 0x94], 1
jne 0x1400334b6
test r15b, r15b
je 0x1400334b6
mov r9, r14
lea r8, str.PerceivedType
lea rdx, [rbp + 0x50]
lea rcx, [rsp + 0x50]
call fcn.140029c70
nop
call fcn.140002000
mov r10, qword [rax]
mov byte [rsp + 0x30], 1
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 0
mov r9d, esi
mov r8d, esi
mov rdx, r14
mov rcx, rax
call qword [r10 + 0x28]
xor bl, bl
mov rcx, qword [rbp + 0x50]
test rcx, rcx
jne 0x1400332fb
test rax, rax
je 0x14003317b
cmp word [rax], cx
jne 0x14003334f
mov bl, 1
jmp 0x14003334f
lea r8, [0x1400c5494]
lea rdx, [rbp + 0xc8]
mov rcx, r12
call fcn.1400311c0
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x140033221
lea rax, [rbp + 0x15c]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdi
lea r9, [rbp + 0x90]
xor r8d, r8d
mov rdx, qword [rbp + 0xc8]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x1400331d7
cmp dword [rbp + 0x90], 1
je 0x140033221
mov rbx, qword [rbp + 0x48]
mov rdi, qword [rbp + 0xc8]
cmp qword [rsp + 0x50], 0
je 0x14003321f
test rbx, rbx
je 0x14003321f
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [rax*2 + 2]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rbx
mov r9d, 1
xor r8d, r8d
mov rdx, rdi
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
xor edi, edi
mov rdx, qword [rbp + 0xc8]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x140033254
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x14003324a
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140033254
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rbp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x140033284
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x14003327a
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140033284
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rcx, qword [rsp + 0x50]
test r14, r14
jne 0x1400332b1
lea r14, [0x1400c5494]
test rcx, rcx
je 0x140033659
mov rdx, r14
call qword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
mov rcx, qword [rsp + 0x50]
jmp 0x1400330cf
test rcx, rcx
je 0x1400330c8
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [rax*2 + 2]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], r14
mov r9d, 1
xor r8d, r8d
lea r14, [0x1400c5494]
mov rdx, r14
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rsp + 0x50]
jmp 0x1400330cf
test rax, rax
jne 0x140033305
cmp word [rcx], ax
jmp 0x14003334c
movzx edx, word [rcx]
cmp dx, word [rax]
jne 0x14003334f
mov r10d, edi
cmp dx, 0
je 0x14003333b
mov r9, rdi
mov r8, rdi
nop dword [rax]
cmp dx, word [r8 + rax]
jne 0x14003333b
inc r10d
inc r9
lea r8, [r9 + r9]
movzx edx, word [rcx + r8]
test dx, dx
jne 0x140033320
movsxd rdx, r10d
lea r8, [rdx + rdx]
movzx edx, word [rax + r8]
cmp word [rcx + r8], dx
sete bl
lea rdx, [rax - 0x18]
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x14003337b
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x140033371
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14003337b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
test bl, bl
je 0x1400333b4
mov rdx, qword [rbp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x1400333af
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x1400333a5
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400333af
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
jmp 0x1400334f8
lea r8, str.PerceivedType
lea rdx, [rbp + 0xc0]
mov rcx, r12
call fcn.1400311c0
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x140033453
lea rax, [rbp + 0x16c]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdi
lea r9, [rbp + 0x98]
xor r8d, r8d
mov rdx, qword [rbp + 0xc0]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x140033409
cmp dword [rbp + 0x98], 1
je 0x140033453
mov rbx, qword [rbp + 0x50]
mov rdi, qword [rbp + 0xc0]
cmp qword [rsp + 0x50], 0
je 0x140033451
test rbx, rbx
je 0x140033451
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [rax*2 + 2]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rbx
mov r9d, 1
xor r8d, r8d
mov rdx, rdi
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
xor edi, edi
mov rdx, qword [rbp + 0xc0]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x140033486
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x14003347c
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140033486
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rbp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x1400334b6
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x1400334ac
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400334b6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x140033659
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [rax*2 + 2]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], r14
mov r9d, 1
xor r8d, r8d
lea rdx, str.PerceivedType
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x140033659
lea rax, [rbp + 0x148]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdi
lea r9, [rbp + 0x9c]
xor r8d, r8d
lea rdx, str.Content_Type
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x1400339a2
cmp dword [rbp + 0x9c], 1
jne 0x1400339a2
test r15b, r15b
je 0x1400339a2
mov r9, r14
lea r8, str.Content_Type
lea rdx, [rbp + 0x58]
lea rcx, [rsp + 0x50]
call fcn.140029c70
nop
call fcn.140002000
mov r10, qword [rax]
mov byte [rsp + 0x30], 1
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 0
mov r9d, esi
mov r8d, esi
mov rdx, r14
mov rcx, rax
call qword [r10 + 0x28]
xor bl, bl
mov rcx, qword [rbp + 0x58]
test rcx, rcx
jne 0x1400335a5
test rax, rax
je 0x1400335a1
cmp word [rax], cx
jne 0x1400335f5
mov bl, 1
jmp 0x1400335f5
test rax, rax
jne 0x1400335af
cmp word [rcx], ax
jmp 0x1400335f2
movzx edx, word [rcx]
cmp dx, word [rax]
jne 0x1400335f5
mov r10d, edi
cmp dx, 0
je 0x1400335e1
mov r9, rdi
mov r8, rdi
cmp dx, word [r8 + rax]
jne 0x1400335e1
inc r10d
inc r9
lea r8, [r9 + r9]
movzx edx, word [r8 + rcx]
test dx, dx
jne 0x1400335c6
movsxd rdx, r10d
lea r8, [rdx + rdx]
movzx edx, word [r8 + rax]
cmp word [rcx + r8], dx
sete bl
lea rdx, [rax - 0x18]
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x140033621
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x140033617
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140033621
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
test bl, bl
je 0x1400338a0
mov rdx, qword [rbp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x140033659
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x14003364f
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140033659
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
lea rbx, [0x1400c5494]
movzx r15d, byte [rbp + 0x200]
mov dword [rsp + 0x60], edi
mov rdx, qword [rbp - 0x38]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x14003369c
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x140033692
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14003369c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov r14, qword [rbp + 0x208]
call fcn.140002000
mov r10, qword [rax]
mov byte [rsp + 0x30], 1
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 0
mov r9d, esi
mov r8d, esi
lea rdx, str.SoftwareMicrosoftWindowsCurrentVersionExplorerFileExts_
mov rcx, rax
call qword [r10 + 0x28]
mov qword [rbp + 0xf8], rax
mov r8, r13
lea rdx, [rbp + 0xf8]
lea rcx, [rbp + 0x190]
call fcn.140016f20
mov rdx, qword [rax]
mov qword [rsp + 0x68], rdi
mov dword [rsp + 0x70], edi
mov qword [rbp + 0x110], rdi
lea rax, [rbp + 0x110]
mov qword [rsp + 0x20], rax
mov r9d, 0x2001f
xor r8d, r8d
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x140033744
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x140033734
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rax, qword [rbp + 0x110]
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x70], edi
mov rdx, qword [rbp + 0x190]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x140033777
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x14003376d
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140033777
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rbp + 0xf8]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x1400337aa
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x1400337a0
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400337aa
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x140034cf5
call fcn.140002000
mov r10, qword [rax]
mov byte [rsp + 0x30], 1
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 0
mov r9d, esi
mov r8d, esi
mov rdx, rbx
mov rcx, rax
call qword [r10 + 0x28]
mov qword [rbp - 0x40], rax
mov dword [rsp + 0x60], 1
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x14003456e
mov dword [rbp - 0x54], 1
mov dword [rbp - 0x58], edi
lea rax, [rbp - 0x58]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdi
lea r9, [rbp - 0x54]
xor r8d, r8d
lea rdx, str.Progid
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14003456e
mov ecx, dword [rbp - 0x54]
lea eax, [rcx - 1]
cmp eax, 1
jbe 0x1400344d9
cmp ecx, 4
jne 0x14003456e
mov dword [rbp - 0x78], edi
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x1400344be
mov dword [rbp + 0xb8], 4
mov dword [rbp - 8], 0xffffffff
lea rax, [rbp + 0xb8]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x78]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 8]
xor r8d, r8d
lea rdx, str.Progid
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
je 0x140034447
mov dword [rbp - 0x78], edi
jmp 0x1400344be
lea r8, str.Content_Type
lea rdx, [rbp + 0xf0]
mov rcx, r12
call fcn.1400311c0
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x14003393f
lea rax, [rbp + 0x150]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdi
lea r9, [rbp + 0xa0]
xor r8d, r8d
mov rdx, qword [rbp + 0xf0]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x1400338f5
cmp dword [rbp + 0xa0], 1
je 0x14003393f
mov rbx, qword [rbp + 0x58]
mov rdi, qword [rbp + 0xf0]
cmp qword [rsp + 0x50], 0
je 0x14003393d
test rbx, rbx
je 0x14003393d
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [rax*2 + 2]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rbx
mov r9d, 1
xor r8d, r8d
mov rdx, rdi
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
xor edi, edi
mov rdx, qword [rbp + 0xf0]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x140033972
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x140033968
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140033972
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rbp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x1400339a2
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x140033998
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400339a2
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
cmp qword [rsp + 0x50], 0
je 0x140033659
lea rbx, [0x1400c5494]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [rax*2 + 2]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rbx
mov r9d, 1
xor r8d, r8d
lea rdx, str.Content_Type
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
jmp 0x140033660
lea rdx, [rbp + 0x60]
call fcn.140037f10
nop
mov rcx, qword [r12 + 8]
mov rax, qword [rbp + 0x60]
cmp rax, rcx
je 0x140033a47
test rcx, rcx
cmovne rbx, rcx
call fcn.140002000
mov rcx, rax
mov r8, rbx
mov rdx, qword [rbp + 0x60]
call fcn.140001f10
test eax, eax
je 0x140033a43
mov rdx, qword [rbp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x14003442e
mov eax, dword [rdx + 0x10]
jmp 0x140034413
mov rax, qword [rbp + 0x60]
lea rdx, [rax - 0x18]
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x140033a73
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x140033a69
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140033a73
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
cmp qword [rsp + 0x50], 0
je 0x14003442e
lea rbx, [0x1400c5494]
mov r8, rbx
lea rdx, [rbp + 0x68]
mov rcx, r12
call fcn.1400311c0
nop
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x140033d81
lea rax, [rbp + 0x1a4]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdi
lea r9, [rbp + 0xa4]
xor r8d, r8d
mov rdx, qword [rbp + 0x68]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x140033d6d
cmp dword [rbp + 0xa4], 1
jne 0x140033d6d
mov r14, qword [rbp + 0x68]
call fcn.140002000
mov r10, qword [rax]
mov byte [rsp + 0x30], 1
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 0
mov r9d, esi
mov r8d, esi
mov rdx, rbx
mov rcx, rax
call qword [r10 + 0x28]
mov rbx, rax
mov qword [rbp - 0x18], rax
mov dword [rsp + 0x60], 0x20002
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x140033cdb
mov dword [rbp - 0x6c], 1
mov dword [rbp - 0x70], edi
lea rax, [rbp - 0x70]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdi
lea r9, [rbp - 0x6c]
xor r8d, r8d
mov rdx, r14
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x140033cdb
mov ecx, dword [rbp - 0x6c]
lea eax, [rcx - 1]
cmp eax, 1
jbe 0x140033c56
cmp ecx, 4
jne 0x140033cdb
mov dword [rsp + 0x7c], edi
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x140033c3a
mov dword [rbp + 0xa8], 4
mov dword [rbp + 4], 0xffffffff
lea rax, [rbp + 0xa8]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x7c]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 4]
xor r8d, r8d
mov rdx, r14
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
je 0x140033bc1
mov dword [rsp + 0x7c], edi
jmp 0x140033c3a
mov eax, dword [rbp + 4]
cmp eax, 4
je 0x140033c3a
mov dword [rsp + 0x7c], edi
cmp eax, 1
jne 0x140033c3a
lea r9, [0x1400c5494]
mov r8, r14
lea rdx, [rbp + 0x130]
lea rcx, [rsp + 0x50]
call fcn.140029c70
nop
mov rax, qword [rbp + 0x130]
cmp dword [rax - 0x10], 0
jle 0x140033c0e
mov rcx, rax
call fcn.140017960
mov dword [rsp + 0x7c], eax
mov rax, qword [rbp + 0x130]
lea rdx, [rax - 0x18]
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x140033c3a
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x140033c30
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140033c3a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
movsxd rdx, dword [rsp + 0x7c]
mov r9d, 0xa
xor r8d, r8d
lea rcx, [rbp - 0x18]
call fcn.140013580
jmp 0x140033cd7
mov edi, dword [rbp - 0x70]
inc rdi
shr rdi, 1
lea edx, [rdi + 1]
mov r9b, 1
xor r8d, r8d
lea rcx, [rbp - 0x18]
call fcn.140010590
mov rbx, rax
lea rax, [rbp - 0x70]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
lea r9, [rbp - 0x6c]
xor r8d, r8d
mov rdx, r14
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
movsxd rcx, edi
xor edi, edi
mov word [rbx + rcx*2], di
mov rax, qword [rbp - 0x18]
test rax, rax
jne 0x140033cad
mov edx, edi
jmp 0x140033cc4
mov rdx, rax
movzx ecx, word [rdx]
add rdx, 2
test cx, cx
jne 0x140033cb0
sub rdx, rax
sar rdx, 1
dec edx
mov dword [rax - 0x10], edx
mov ecx, dword [rax - 8]
cmp ecx, 0xffffffff
jne 0x140033cd7
mov ecx, 1
xchg dword [rax - 8], ecx
mov rbx, qword [rbp - 0x18]
cmp qword [rsp + 0x50], 0
je 0x140033d30
test rbx, rbx
je 0x140033d1c
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [rax*2 + 2]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rbx
mov r9d, 1
xor r8d, r8d
lea rdx, [0x1400c5494]
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x140033d30
mov rdx, qword [rbp + 0x68]
call qword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
mov dword [rsp + 0x60], 2
lea rdx, [rbx - 0x18]
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x140033d64
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x140033d5a
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140033d64
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
lea rbx, [0x1400c5494]
jmp 0x140033d81
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x140033d81
mov rdx, rbx
call qword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
nop
mov rdx, qword [rbp + 0x68]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x140033db1
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x140033da7
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140033db1
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
cmp qword [rsp + 0x50], 0
je 0x14003442e
lea r8, str.PerceivedType
lea rdx, [rbp + 0x70]
mov rcx, r12
call fcn.1400311c0
nop
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x1400340be
lea rax, [rbp + 0x1a0]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdi
lea r9, [rbp + 0xac]
xor r8d, r8d
mov rdx, qword [rbp + 0x70]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x1400340a6
cmp dword [rbp + 0xac], 1
jne 0x1400340a6
mov r14, qword [rbp + 0x70]
call fcn.140002000
mov r10, qword [rax]
mov byte [rsp + 0x30], 1
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 0
mov r9d, esi
mov r8d, esi
mov rdx, rbx
mov rcx, rax
call qword [r10 + 0x28]
mov rbx, rax
mov qword [rbp - 0x20], rax
mov dword [rsp + 0x60], 0x10002
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x14003401b
mov dword [rbp - 0x64], 1
mov dword [rbp - 0x68], edi
lea rax, [rbp - 0x68]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdi
lea r9, [rbp - 0x64]
xor r8d, r8d
mov rdx, r14
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14003401b
mov ecx, dword [rbp - 0x64]
lea eax, [rcx - 1]
cmp eax, 1
jbe 0x140033f8b
cmp ecx, 4
jne 0x14003401b
mov dword [rbp - 0x80], edi
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x140033f70
mov dword [rbp + 0xb0], 4
mov dword [rbp - 0x10], 0xffffffff
lea rax, [rbp + 0xb0]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x80]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x10]
xor r8d, r8d
mov rdx, r14
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
je 0x140033ef9
mov dword [rbp - 0x80], edi
jmp 0x140033f70
mov eax, dword [rbp - 0x10]
cmp eax, 4
je 0x140033f70
mov dword [rbp - 0x80], edi
cmp eax, 1
jne 0x140033f70
lea r9, [0x1400c5494]
mov r8, r14
lea rdx, [rbp + 0x138]
lea rcx, [rsp + 0x50]
call fcn.140029c70
nop
mov rax, qword [rbp + 0x138]
cmp dword [rax - 0x10], 0
jle 0x140033f44
mov rcx, rax
call fcn.140017960
mov dword [rbp - 0x80], eax
mov rax, qword [rbp + 0x138]
lea rdx, [rax - 0x18]
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x140033f70
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x140033f66
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140033f70
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
movsxd rdx, dword [rbp - 0x80]
mov r9d, 0xa
xor r8d, r8d
lea rcx, [rbp - 0x20]
call fcn.140013580
jmp 0x140034017
mov edi, dword [rbp - 0x68]
inc rdi
shr rdi, 1
lea edx, [rdi + 1]
mov r9b, 1
xor r8d, r8d
lea rcx, [rbp - 0x20]
call fcn.140010590
mov rbx, rax
lea rax, [rbp - 0x68]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
lea r9, [rbp - 0x64]
xor r8d, r8d
mov rdx, r14
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
movsxd rcx, edi
xor edi, edi
mov word [rbx + rcx*2], di
mov rax, qword [rbp - 0x20]
test rax, rax
jne 0x140033fe2
mov edx, edi
jmp 0x140034004
mov rdx, rax
nop word [rax + rax]
movzx ecx, word [rdx]
add rdx, 2
test cx, cx
jne 0x140033ff0
sub rdx, rax
sar rdx, 1
dec edx
mov dword [rax - 0x10], edx
mov ecx, dword [rax - 8]
cmp ecx, 0xffffffff
jne 0x140034017
mov ecx, 1
xchg dword [rax - 8], ecx
mov rbx, qword [rbp - 0x20]
cmp qword [rsp + 0x50], 0
je 0x140034070
test rbx, rbx
je 0x14003405c
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [rax*2 + 2]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rbx
mov r9d, 1
xor r8d, r8d
lea rdx, str.PerceivedType
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x140034070
mov rdx, qword [rbp + 0x70]
call qword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
mov dword [rsp + 0x60], 2
lea rdx, [rbx - 0x18]
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x1400340a4
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x14003409a
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400340a4
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
jmp 0x1400340be
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x1400340be
lea rdx, str.PerceivedType
call qword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
nop
mov rdx, qword [rbp + 0x70]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x1400340ee
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x1400340e4
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400340ee
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
cmp qword [rsp + 0x50], 0
je 0x14003442e
lea r8, str.Content_Type
lea rdx, [rbp + 0x78]
mov rcx, r12
call fcn.1400311c0
nop
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x1400343fe
lea rax, [rbp + 0x180]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdi
lea r9, [rbp + 0xe8]
xor r8d, r8d
mov rdx, qword [rbp + 0x78]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x1400343e6
cmp dword [rbp + 0xe8], 1
jne 0x1400343e6
mov r14, qword [rbp + 0x78]
call fcn.140002000
mov r10, qword [rax]
mov byte [rsp + 0x30], 1
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 0
mov r9d, esi
mov r8d, esi
lea rdx, [0x1400c5494]
mov rcx, rax
call qword [r10 + 0x28]
mov rbx, rax
mov qword [rbp - 0x28], rax
mov dword [rsp + 0x60], 0x8002
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x14003435b
mov dword [rbp - 0x5c], 1
mov dword [rbp - 0x60], edi
lea rax, [rbp - 0x60]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdi
lea r9, [rbp - 0x5c]
xor r8d, r8d
mov rdx, r14
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14003435b
mov ecx, dword [rbp - 0x5c]
lea eax, [rcx - 1]
cmp eax, 1
jbe 0x1400342cc
cmp ecx, 4
jne 0x14003435b
mov dword [rbp - 0x7c], edi
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x1400342b1
mov dword [rbp + 0xb4], 4
mov dword [rbp - 0xc], 0xffffffff
lea rax, [rbp + 0xb4]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x7c]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0xc]
xor r8d, r8d
mov rdx, r14
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
je 0x14003423a
mov dword [rbp - 0x7c], edi
jmp 0x1400342b1
mov eax, dword [rbp - 0xc]
cmp eax, 4
je 0x1400342b1
mov dword [rbp - 0x7c], edi
cmp eax, 1
jne 0x1400342b1
lea r9, [0x1400c5494]
mov r8, r14
lea rdx, [rbp + 0x140]
lea rcx, [rsp + 0x50]
call fcn.140029c70
nop
mov rax, qword [rbp + 0x140]
cmp dword [rax - 0x10], 0
jle 0x140034285
mov rcx, rax
call fcn.140017960
mov dword [rbp - 0x7c], eax
mov rax, qword [rbp + 0x140]
lea rdx, [rax - 0x18]
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x1400342b1
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x1400342a7
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400342b1
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
movsxd rdx, dword [rbp - 0x7c]
mov r9d, 0xa
xor r8d, r8d
lea rcx, [rbp - 0x28]
call fcn.140013580
jmp 0x140034357
mov edi, dword [rbp - 0x60]
inc rdi
shr rdi, 1
lea edx, [rdi + 1]
mov r9b, 1
xor r8d, r8d
lea rcx, [rbp - 0x28]
call fcn.140010590
mov rbx, rax
lea rax, [rbp - 0x60]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
lea r9, [rbp - 0x5c]
xor r8d, r8d
mov rdx, r14
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
movsxd rcx, edi
xor edi, edi
mov word [rbx + rcx*2], di
mov rax, qword [rbp - 0x28]
test rax, rax
jne 0x140034323
mov edx, edi
jmp 0x140034344
mov rdx, rax
nop word [rax + rax]
movzx ecx, word [rdx]
add rdx, 2
test cx, cx
jne 0x140034330
sub rdx, rax
sar rdx, 1
dec edx
mov dword [rax - 0x10], edx
mov ecx, dword [rax - 8]
cmp ecx, 0xffffffff
jne 0x140034357
mov ecx, 1
xchg dword [rax - 8], ecx
mov rbx, qword [rbp - 0x28]
cmp qword [rsp + 0x50], 0
je 0x1400343b0
test rbx, rbx
je 0x14003439c
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [rax*2 + 2]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rbx
mov r9d, 1
xor r8d, r8d
lea rdx, str.Content_Type
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x1400343b0
mov rdx, qword [rbp + 0x78]
call qword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
mov dword [rsp + 0x60], 2
lea rdx, [rbx - 0x18]
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x1400343e4
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x1400343da
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400343e4
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
jmp 0x1400343fe
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x1400343fe
lea rdx, str.Content_Type
call qword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
nop
mov rdx, qword [rbp + 0x78]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x14003442e
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x140034424
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14003442e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
lea rdx, [rsp + 0x50]
mov rcx, r12
call fcn.1400313a0
lea rbx, [0x1400c5494]
jmp 0x140033668
mov eax, dword [rbp - 8]
cmp eax, 4
je 0x1400344be
mov dword [rbp - 0x78], edi
cmp eax, 1
jne 0x1400344be
mov r9, rbx
lea r8, str.Progid
lea rdx, [rbp + 0x100]
lea rcx, [rsp + 0x68]
call fcn.140029c70
nop
mov rax, qword [rbp + 0x100]
cmp dword [rax - 0x10], 0
jle 0x140034492
mov rcx, rax
call fcn.140017960
mov dword [rbp - 0x78], eax
mov rax, qword [rbp + 0x100]
lea rdx, [rax - 0x18]
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x1400344be
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x1400344b4
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400344be
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
movsxd rdx, dword [rbp - 0x78]
mov r9d, 0xa
xor r8d, r8d
lea rcx, [rbp - 0x40]
call fcn.140013580
jmp 0x14003456e
mov edi, dword [rbp - 0x58]
inc rdi
shr rdi, 1
lea edx, [rdi + 1]
mov r9b, 1
xor r8d, r8d
lea rcx, [rbp - 0x40]
call fcn.140010590
mov rbx, rax
lea rax, [rbp - 0x58]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
lea r9, [rbp - 0x54]
xor r8d, r8d
lea rdx, str.Progid
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
movsxd rcx, edi
xor edi, edi
mov word [rbx + rcx*2], di
mov rax, qword [rbp - 0x40]
test rax, rax
jne 0x140034534
mov edx, edi
jmp 0x140034554
mov rdx, rax
nop word [rax + rax]
movzx ecx, word [rdx]
add rdx, 2
test cx, cx
jne 0x140034540
sub rdx, rax
sar rdx, 1
dec edx
mov dword [rax - 0x10], edx
mov ecx, dword [rax - 8]
lea rbx, [0x1400c5494]
cmp ecx, 0xffffffff
jne 0x14003456e
mov ecx, 1
xchg dword [rax - 8], ecx
lea r8, [rbp - 0x40]
test r15b, r15b
je 0x1400348f7
lea rdx, [rbp + 0x80]
call fcn.140037f10
nop
mov rcx, qword [r12 + 8]
mov rax, qword [rbp + 0x80]
cmp rax, rcx
je 0x1400345f9
test rcx, rcx
cmovne rbx, rcx
call fcn.140002000
mov rcx, rax
mov r8, rbx
mov rdx, qword [rbp + 0x80]
call fcn.140001f10
test eax, eax
je 0x1400345f2
mov rdx, qword [rbp + 0x80]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x1400345ee
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x1400345e4
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400345ee
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
xor bl, bl
jmp 0x140034627
mov rax, qword [rbp + 0x80]
lea rdx, [rax - 0x18]
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x140034625
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x14003461b
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140034625
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov bl, 1
mov r14, qword [r14]
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x140034cc0
lea rax, [rbp + 0x160]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdi
lea r9, [rbp + 0xbc]
xor r8d, r8d
lea rdx, str.Progid
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14003488d
cmp dword [rbp + 0xbc], 1
jne 0x14003488d
test bl, bl
jne 0x14003488d
lea r9, [0x1400c5494]
lea r8, str.Progid
lea rdx, [rbp + 0x28]
lea rcx, [rsp + 0x68]
call fcn.140029c70
nop
call fcn.140002000
mov r10, qword [rax]
mov byte [rsp + 0x30], 1
mov byte [rsp + 0x28], bl
mov byte [rsp + 0x20], bl
mov r9d, esi
mov r8d, esi
mov rdx, r14
mov rcx, rax
call qword [r10 + 0x28]
mov rcx, qword [rbp + 0x28]
test rcx, rcx
jne 0x1400346d6
test rax, rax
je 0x1400346d2
cmp word [rax], cx
jne 0x140034726
mov bl, 1
jmp 0x140034726
test rax, rax
jne 0x1400346e0
cmp word [rcx], ax
jmp 0x140034723
movzx edx, word [rcx]
cmp dx, word [rax]
jne 0x140034726
mov r10d, edi
cmp dx, 0
je 0x140034712
mov r9, rdi
mov r8, rdi
cmp dx, word [r8 + rax]
jne 0x140034712
inc r10d
inc r9
lea r8, [r9 + r9]
movzx edx, word [r8 + rcx]
test dx, dx
jne 0x1400346f7
movsxd rdx, r10d
lea r8, [rdx + rdx]
movzx edx, word [r8 + rax]
cmp word [r8 + rcx], dx
sete bl
lea rdx, [rax - 0x18]
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x140034752
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x140034748
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140034752
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
test bl, bl
je 0x14003478b
mov rdx, qword [rbp + 0x28]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x140034786
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x14003477c
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140034786
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
jmp 0x140034cc0
lea r8, str.Progid
lea rdx, [rbp + 0xe0]
mov rcx, r12
call fcn.1400311c0
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x14003482a
lea rax, [rbp + 0x158]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdi
lea r9, [rbp + 0xd4]
xor r8d, r8d
mov rdx, qword [rbp + 0xe0]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x1400347e0
cmp dword [rbp + 0xd4], 1
je 0x14003482a
mov rbx, qword [rbp + 0x28]
mov rdi, qword [rbp + 0xe0]
cmp qword [rsp + 0x68], 0
je 0x140034828
test rbx, rbx
je 0x140034828
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [rax*2 + 2]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rbx
mov r9d, 1
xor r8d, r8d
mov rdx, rdi
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
xor edi, edi
mov rdx, qword [rbp + 0xe0]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x14003485d
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x140034853
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14003485d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rbp + 0x28]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x14003488d
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x140034883
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14003488d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
test r14, r14
jne 0x1400348b2
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x140034cc0
lea rdx, str.Progid
call qword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
jmp 0x140034cc0
cmp qword [rsp + 0x68], 0
je 0x140034cc0
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [rax*2 + 2]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], r14
mov r9d, 1
xor r8d, r8d
lea rdx, str.Progid
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
jmp 0x140034cc0
lea rdx, [rbp + 0x38]
call fcn.140037f10
nop
mov rcx, qword [r12 + 8]
mov rax, qword [rbp + 0x38]
cmp rax, rcx
je 0x140034950
test rcx, rcx
cmovne rbx, rcx
call fcn.140002000
mov rcx, rax
mov r8, rbx
mov rdx, qword [rbp + 0x38]
call fcn.140001f10
test eax, eax
je 0x14003494c
mov rdx, qword [rbp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x140034cb2
mov eax, dword [rdx + 0x10]
jmp 0x140034c97
mov rax, qword [rbp + 0x38]
lea rdx, [rax - 0x18]
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x14003497c
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x140034972
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14003497c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
cmp qword [rsp + 0x68], 0
je 0x140034cb2
lea r8, str.Progid
lea rdx, [rbp + 0x30]
mov rcx, r12
call fcn.1400311c0
nop
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x140034c82
lea rax, [rbp + 0x154]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdi
lea r9, [rbp + 0xd8]
xor r8d, r8d
mov rdx, qword [rbp + 0x30]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x140034c6a
cmp dword [rbp + 0xd8], 1
jne 0x140034c6a
mov r14, qword [rbp + 0x30]
call fcn.140002000
mov r10, qword [rax]
mov byte [rsp + 0x30], 1
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 0
mov r9d, esi
mov r8d, esi
lea rdx, [0x1400c5494]
mov rcx, rax
call qword [r10 + 0x28]
mov rbx, rax
mov qword [rbp - 0x30], rax
mov dword [rsp + 0x60], 0x4001
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x140034bdf
mov dword [rbp - 0x4c], 1
mov dword [rbp - 0x50], edi
lea rax, [rbp - 0x50]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdi
lea r9, [rbp - 0x4c]
xor r8d, r8d
mov rdx, r14
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x140034bdf
mov ecx, dword [rbp - 0x4c]
lea eax, [rcx - 1]
cmp eax, 1
jbe 0x140034b5a
cmp ecx, 4
jne 0x140034bdf
mov dword [rbp - 0x74], edi
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x140034b3f
mov dword [rbp + 0xd0], 4
mov dword [rbp - 4], 0xffffffff
lea rax, [rbp + 0xd0]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x74]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 4]
xor r8d, r8d
mov rdx, r14
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
je 0x140034ac8
mov dword [rbp - 0x74], edi
jmp 0x140034b3f
mov eax, dword [rbp - 4]
cmp eax, 4
je 0x140034b3f
mov dword [rbp - 0x74], edi
cmp eax, 1
jne 0x140034b3f
lea r9, [0x1400c5494]
mov r8, r14
lea rdx, [rbp + 0x108]
lea rcx, [rsp + 0x68]
call fcn.140029c70
nop
mov rax, qword [rbp + 0x108]
cmp dword [rax - 0x10], 0
jle 0x140034b13
mov rcx, rax
call fcn.140017960
mov dword [rbp - 0x74], eax
mov rax, qword [rbp + 0x108]
lea rdx, [rax - 0x18]
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x140034b3f
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x140034b35
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140034b3f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
movsxd rdx, dword [rbp - 0x74]
mov r9d, 0xa
xor r8d, r8d
lea rcx, [rbp - 0x30]
call fcn.140013580
jmp 0x140034bdb
mov edi, dword [rbp - 0x50]
inc rdi
shr rdi, 1
lea edx, [rdi + 1]
mov r9b, 1
xor r8d, r8d
lea rcx, [rbp - 0x30]
call fcn.140010590
mov rbx, rax
lea rax, [rbp - 0x50]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
lea r9, [rbp - 0x4c]
xor r8d, r8d
mov rdx, r14
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
movsxd rcx, edi
xor edi, edi
mov word [rbx + rcx*2], di
mov rax, qword [rbp - 0x30]
test rax, rax
jne 0x140034bb1
mov edx, edi
jmp 0x140034bc8
mov rdx, rax
movzx ecx, word [rdx]
add rdx, 2
test cx, cx
jne 0x140034bb4
sub rdx, rax
sar rdx, 1
dec edx
mov dword [rax - 0x10], edx
mov ecx, dword [rax - 8]
cmp ecx, 0xffffffff
jne 0x140034bdb
mov ecx, 1
xchg dword [rax - 8], ecx
mov rbx, qword [rbp - 0x30]
cmp qword [rsp + 0x68], 0
je 0x140034c34
test rbx, rbx
je 0x140034c20
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [rax*2 + 2]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rbx
mov r9d, 1
xor r8d, r8d
lea rdx, str.Progid
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x140034c34
mov rdx, qword [rbp + 0x30]
call qword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
mov dword [rsp + 0x60], 1
lea rdx, [rbx - 0x18]
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x140034c68
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x140034c5e
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140034c68
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
jmp 0x140034c82
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x140034c82
lea rdx, str.Progid
call qword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
nop
mov rdx, qword [rbp + 0x30]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x140034cb2
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x140034ca8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140034cb2
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
lea rdx, [rsp + 0x68]
mov rcx, r12
call fcn.1400313a0
nop
mov rdx, qword [rbp - 0x40]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x140034cf0
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x140034ce6
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140034cf0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rcx, qword [rsp + 0x68]
test r15b, r15b
je 0x140034cff
mov byte [r12], 1
mov byte [r12 + 1], 1
test rcx, rcx
je 0x140034d15
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov qword [rsp + 0x68], rdi
mov dword [rsp + 0x70], edi
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x140034d2e
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov qword [rsp + 0x50], rdi
mov dword [rsp + 0x58], edi
lea rax, vtable.JRCoreArray_class_JRString__class_JRString_const____ptr64__0_.0
mov qword [rbp + 8], rax
lea rcx, [rbp + 8]
call fcn.140018120
nop
mov rdx, qword [r13]
sub rdx, 0x18
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x140034d77
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x140034d6d
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140034d77
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rbp + 0x208]
mov rdx, qword [rdx]
sub rdx, 0x18
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x140034dab
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x140034da1
lock xadd dword [rdx + 0x10], esi
sub esi, 1
jg 0x140034dab
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov al, 1
mov rbx, qword [rsp + 0x2f0]
add rsp, 0x2b0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret