Function at 0x140085f2c
Capabilities:
Query or enumerate registry key
Query or enumerate registry value

Disassembly:
mov rax, rsp
mov byte [rax + 0x18], r8b
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x148
mov rdi, rcx
lea rcx, [rax - 0x70]
mov r15, rdx
mov qword [rsp + 0x110], rdx
call fcn.140061940
xor esi, esi
lea rcx, [rsp + 0x198]
mov r14b, 0xff
mov qword [rsp + 0x120], rdi
mov qword [rsp + 0x128], rsi
mov byte [rsp + 0x63], sil
mov byte [rsp + 0x64], sil
mov byte [rsp + 0xa1], r14b
mov byte [rsp + 0x71], sil
mov qword [rsp + 0xf0], rsi
call fcn.140059340
lea r8d, [rsi + 0xa]
lea rdx, [rsp + 0x198]
lea rcx, str.___initram
call fcn.14006439c
cmp al, sil
jne 0x1400867fb
mov rdi, rsi
mov qword [rsp + 0x90], rsi
lea edx, [rsi + 0x2a]
lea ecx, [rsi + 0x2d]
lea r8d, [rsi + 9]
lea r9d, [rsi + 0xd]
lea r12d, [rsi + 2]
mov rbp, qword [rsp + 0x198]
movabs rax, 0xfffffff000000000
mov byte [rsp + 0x1a8], sil
cmp cx, word [rbp]
mov qword [rsp + 0xf8], rax
movzx eax, dl
cmove eax, ecx
mov byte [rsp + 0x70], sil
mov byte [rsp + 0x61], sil
movsx ebx, al
movzx eax, word [rbp]
mov byte [rsp + 0x60], sil
mov byte [rsp + 0xb8], sil
mov byte [rsp + 0x62], sil
mov byte [rsp + 0xa0], sil
mov byte [rsp + 0xb0], sil
mov r13d, esi
mov dword [rsp + 0xd8], esi
cmp ebx, eax
jne 0x140086490
mov r15b, byte [rsp + 0x64]
mov dil, byte [rsp + 0x63]
mov r14d, 0x20
jmp 0x140086071
mov r8d, 9
lea r9d, [r8 + 4]
movzx eax, word [rbp + 2]
cmp ebx, eax
jne 0x14008646b
mov ecx, 0xffdf
lea r11, [rbp + 4]
movzx eax, word [r11]
and ax, cx
mov ecx, 0x48
cmp cx, ax
je 0x14008646b
cmp r8w, word [r11]
ja 0x1400860ab
cmp word [r11], r9w
jbe 0x14008646b
cmp r14w, word [r11]
je 0x14008646b
mov ebp, 1
lea rcx, [0x14011f5b0]
mov rdx, r11
mov r8d, ebp
mov qword [rsp + 0x198], r11
call fcn.14005a9ec
cmp al, sil
je 0x140086173
movzx eax, word [r11]
lea r8, [r11 + 2]
cmp ax, si
je 0x140086116
lea ecx, [rbp + 8]
lea r9d, [rbp + 0xc]
cmp cx, ax
ja 0x1400860fc
cmp ax, r9w
jbe 0x140086116
cmp r14w, ax
je 0x140086116
add r11, r12
mov qword [rsp + 0x198], r11
mov ax, word [r11]
cmp ax, si
jne 0x1400860f1
lea rcx, [rsp + 0x198]
call fcn.140059340
mov ecx, 0x3a
cmp cx, word [r8]
je 0x140086137
or r13d, 7
jmp 0x140086457
add r8, r12
lea rdx, [rsp + 0xb4]
lea rcx, [rsp + 0x88]
mov dword [rsp + 0xb4], esi
mov qword [rsp + 0x88], r8
call fcn.14006608c
cmp eax, esi
jle 0x140086457
or r13d, dword [rsp + 0xb4]
jmp 0x140086457
lea rcx, [0x14011f5ac]
mov r8d, r12d
mov rdx, r11
call fcn.14005a9ec
cmp al, sil
je 0x140086216
lea rax, [r11 + 4]
mov qword [rsp + 0x88], rax
movzx eax, word [r11]
cmp ax, si
je 0x1400861d1
mov ecx, 9
lea r9d, [rcx + 4]
cmp cx, ax
ja 0x1400861b7
cmp ax, r9w
jbe 0x1400861d1
cmp r14w, ax
je 0x1400861d1
add r11, r12
mov qword [rsp + 0x198], r11
mov ax, word [r11]
cmp ax, si
jne 0x1400861ac
lea rcx, [rsp + 0x198]
call fcn.140059340
lea rdx, [rsp + 0xb4]
lea rcx, [rsp + 0x88]
mov dword [rsp + 0xb4], esi
call fcn.140071a90
cmp eax, esi
jle 0x140086457
mov eax, dword [rsp + 0xb4]
mov qword [rsp + 0xf8], rax
jmp 0x140086457
lea rdx, [rsp + 0x198]
lea rcx, [0x14011a798]
mov r8d, r12d
call fcn.14006439c
cmp al, sil
je 0x14008623c
mov byte [rsp + 0x61], bpl
jmp 0x140086457
lea rdx, [rsp + 0x198]
lea rcx, [0x14011f5a8]
mov r8d, 3
call fcn.14006439c
cmp al, sil
je 0x140086265
mov byte [rsp + 0x71], bpl
jmp 0x140086457
lea rdx, [rsp + 0x198]
lea rcx, str.byte
mov r8d, 4
call fcn.14006439c
cmp al, sil
je 0x14008628e
mov byte [rsp + 0x62], bpl
jmp 0x140086457
lea rdx, [rsp + 0x198]
lea rcx, [0x1401187b0]
mov r8d, ebp
call fcn.14006439c
cmp al, sil
je 0x1400862b4
mov byte [rsp + 0x60], 3
jmp 0x140086457
lea rdx, [rsp + 0x198]
lea rcx, [0x14011f59c]
mov r8d, r12d
call fcn.14006439c
cmp al, sil
je 0x1400862da
or byte [rsp + 0x60], bpl
jmp 0x140086457
lea rdx, [rsp + 0x198]
lea rcx, [0x14011f598]
mov r8d, r12d
call fcn.14006439c
cmp al, sil
je 0x140086300
or byte [rsp + 0x60], r12b
jmp 0x140086457
lea rdx, [rsp + 0x198]
lea rcx, str.name
mov r8d, 4
call fcn.14006439c
cmp al, sil
je 0x14008632c
mov byte [rsp + 0xb8], bpl
jmp 0x140086457
lea rdx, [rsp + 0x198]
lea rcx, [0x14011f58c]
mov r8d, ebp
call fcn.14006439c
cmp al, sil
je 0x140086350
add dil, bpl
jmp 0x140086457
lea rdx, [rsp + 0x198]
lea rcx, [0x14011f588]
mov r8d, r12d
call fcn.14006439c
cmp al, sil
je 0x140086374
dec dil
jmp 0x140086457
lea rdx, [rsp + 0x198]
lea rcx, [0x14011f584]
mov r8d, ebp
call fcn.14006439c
cmp al, sil
je 0x140086398
add r15b, bpl
jmp 0x140086457
lea rdx, [rsp + 0x198]
lea rcx, [0x14011f580]
mov r8d, r12d
call fcn.14006439c
cmp al, sil
je 0x1400863c1
mov byte [rsp + 0xa0], bpl
jmp 0x140086457
lea rdx, [rsp + 0x198]
lea rcx, str.init
mov r8d, 4
call fcn.14006439c
cmp al, sil
je 0x1400863ea
mov byte [rsp + 0xb0], bpl
jmp 0x140086457
lea rdx, [rsp + 0x198]
lea rcx, [0x140115b84]
mov r8d, r12d
call fcn.14006439c
cmp al, sil
je 0x14008640d
call fcn.14005e868
jmp 0x140086457
mov rcx, qword [rsp + 0x198]
movzx eax, word [rcx]
cmp ax, si
je 0x14008644a
mov edx, 9
lea r9d, [rdx + 4]
cmp dx, ax
ja 0x140086431
cmp ax, r9w
jbe 0x140086442
cmp r14w, ax
je 0x140086442
add rcx, r12
mov ax, word [rcx]
cmp ax, si
jne 0x140086426
mov qword [rsp + 0x198], rcx
lea rcx, [rsp + 0x198]
call fcn.140059340
mov rbp, qword [rsp + 0x198]
movzx eax, word [rbp]
cmp ebx, eax
je 0x140086067
mov r14b, byte [rsp + 0xa1]
mov byte [rsp + 0x63], dil
mov byte [rsp + 0x64], r15b
mov r15, qword [rsp + 0x110]
mov rdi, rsi
mov dword [rsp + 0xd8], r13d
lea rcx, [rsp + 0x98]
call fcn.140061940
lea rcx, [rsp + 0xc8]
call fcn.140061940
lea rcx, [rsp + 0x80]
call fcn.140061940
lea rcx, [rsp + 0xc0]
call fcn.140061940
lea rcx, [rsp + 0xa8]
call fcn.140061940
movzx eax, word [rbp]
mov ecx, 0x6e
or ax, 0x20
cmp cx, ax
je 0x140086551
mov ecx, 0x75
cmp cx, ax
je 0x140086551
mov ecx, 0x62
cmp cx, ax
je 0x140086551
lea eax, [rcx - 4]
cmp ax, word [rbp]
je 0x140086551
lea eax, [rcx - 0x37]
cmp ax, word [rbp]
je 0x140086551
lea eax, [rcx - 0x3f]
lea r13d, [rcx - 0x3e]
cmp ax, word [rbp]
je 0x140086557
lea eax, [rcx - 0x22]
cmp ax, word [rbp]
je 0x140086557
cmp r13w, word [rbp]
je 0x140086557
lea eax, [rcx - 0x38]
cmp ax, word [rbp]
je 0x140086557
lea eax, [rcx + 0x1c]
cmp ax, word [rbp]
je 0x140086557
cmp word [rbp], 0x2e
je 0x140086557
lea eax, [rcx - 0x23]
cmp ax, word [rbp]
je 0x140086557
mov bl, byte [rsp + 0x1a8]
jmp 0x14008656c
mov r13d, 0x24
mov bl, byte [rbp]
add rbp, r12
mov byte [rsp + 0x1a8], bl
mov qword [rsp + 0x198], rbp
cmp bl, sil
je 0x140086589
lea rcx, [rsp + 0x1a8]
call fcn.14006140c
movsx ecx, byte [rax]
movzx eax, word [rbp]
cmp ecx, eax
je 0x140086590
cmp r13w, word [rbp]
jne 0x1400865a2
mov al, byte [rbp]
add rbp, r12
mov byte [rsp + 0x70], al
mov qword [rsp + 0x198], rbp
lea eax, [rbx - 0x41]
cmp al, 0x19
ja 0x1400865b3
or bl, 0x20
mov byte [rsp + 0x1a8], bl
lea rcx, [rsp + 0x198]
call fcn.140059340
mov r13, qword [rsp + 0x198]
lea rdx, [0x14011f570]
mov rcx, r13
mov qword [rsp + 0x88], r13
mov rbp, r13
call qword [sym.imp.SHLWAPI.dll_StrStrW]
mov rbx, rax
cmp rax, rsi
je 0x1400865ef
lea rbp, [rax + 4]
mov qword [rsp + 0xe8], rbp
mov r8, rbp
mov r9d, 0x3d
cmp word [rbp], si
je 0x1400866f2
lea r10d, [r9 - 0x11]
cmp r10w, word [r8]
je 0x14008666d
cmp r9w, word [r8]
je 0x1400866f2
mov eax, 0x21
cmp ax, word [r8]
jne 0x140086657
lea rax, [r8 + 2]
lea rcx, [rsp + 0x198]
mov qword [rsp + 0x198], rax
call fcn.140059340
mov rcx, qword [rsp + 0x198]
cmp word [rcx], si
je 0x1400866f2
lea r8, [rcx - 2]
add r8, r12
mov qword [rsp + 0xe8], r8
cmp word [r8], si
jne 0x14008660e
jmp 0x1400866f2
lea rcx, [r8 + 2]
mov edx, r9d
call qword [sym.imp.SHLWAPI.dll_StrChrW]
mov r8, rax
cmp rax, rsi
je 0x14008668c
mov qword [rsp + 0xe8], rax
jmp 0x1400866ec
mov rcx, qword [rsp + 0xe8]
mov edx, 0x21
add rcx, r12
call qword [sym.imp.SHLWAPI.dll_StrChrW]
mov r11, rax
cmp rax, rsi
je 0x1400866e4
lea rcx, [rax + 2]
mov qword [rsp + 0x198], rcx
lea rcx, [rsp + 0x198]
call fcn.140059340
mov r8, qword [rsp + 0xe8]
mov rcx, qword [rsp + 0x198]
cmp word [rcx], si
cmove r8, r11
mov qword [rsp + 0xe8], r8
jmp 0x1400866ec
mov r8, qword [rsp + 0xe8]
mov r9d, 0x3d
mov eax, 0x2c
cmp ax, word [r8]
je 0x14008670e
cmp r9w, word [r8]
je 0x14008670e
mov eax, 0x21
cmp ax, word [r8]
jne 0x140086736
mov r15b, byte [r8]
mov word [r8], si
add qword [rsp + 0xe8], r12
mov byte [rsp + 0x198], r15b
cmp r15b, sil
jne 0x140086880
mov r15, qword [rsp + 0x110]
inc r14b
cmp r14b, sil
mov byte [rsp + 0xa1], r14b
jg 0x140086836
mov rcx, qword [rsp + 0x190]
lea r8, [rsp + 0xf0]
xor r9d, r9d
mov rdx, r15
mov byte [rsp + 0x20], 1
call fcn.140078dc8
mov rdx, qword [rsp + 0xf0]
lea rcx, [rsp + 0xa8]
mov qword [rsp + 0x198], rdx
call fcn.140059370
lea rcx, [rsp + 0xc0]
call fcn.140059370
lea rcx, [rsp + 0x80]
call fcn.140059370
lea rcx, [rsp + 0xc8]
call fcn.140059370
lea rcx, [rsp + 0x98]
call fcn.140059370
lea rcx, [rsp + 0x198]
call fcn.140059340
lea rdx, [rsp + 0x198]
lea rcx, str.___initram
mov r8d, 0xa
call fcn.14006439c
mov ecx, 0x2d
lea edx, [rcx - 3]
lea r8d, [rcx - 0x24]
lea r9d, [rcx - 0x20]
cmp al, sil
je 0x140085fe4
mov ecx, 3
call fcn.14001b2e0
lea rcx, [rsp + 0xf0]
call fcn.140059370
lea rcx, [rsp + 0x118]
call fcn.140059370
mov rax, rsi
add rsp, 0x148
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
lea rcx, [rsp + 0xa8]
call fcn.140059370
lea rcx, [rsp + 0xc0]
call fcn.140059370
lea rcx, [rsp + 0x80]
call fcn.140059370
lea rcx, [rsp + 0xc8]
call fcn.140059370
lea rcx, [rsp + 0x98]
call fcn.140059370
mov rsi, 0xffffffff80070057
jmp 0x140086805
mov qword [rsp + 0xd0], rsi
mov r14d, 0x5c
cmp rbx, rsi
jne 0x1400869a7
mov r8d, r14d
xor edx, edx
mov rcx, rbp
call qword [sym.imp.SHLWAPI.dll_StrRChrW]
mov rbx, rax
cmp rax, rsi
jne 0x1400869a7
lea r8d, [r14 - 0x30]
lea rdx, [rsp + 0x88]
lea rcx, [rsp + 0x118]
mov r9b, 1
call fcn.14007c440
lea rdx, [rsp + 0x98]
xor r8d, r8d
mov rcx, rax
call fcn.140065830
mov rbp, qword [rsp + 0x98]
mov edx, r14d
mov rcx, rbp
mov qword [rsp + 0x88], rbp
call qword [sym.imp.SHLWAPI.dll_StrChrW]
mov r14, rax
cmp rax, rsi
jne 0x140086916
lea rcx, [rsp + 0xd0]
call fcn.140059370
jmp 0x140086836
add r14, r12
lea rdx, [0x14011f570]
mov word [rax], si
mov rcx, r14
mov qword [rsp + 0x110], r14
call qword [sym.imp.SHLWAPI.dll_StrStrW]
mov rbx, rax
mov qword [rsp + 0x108], rax
cmp byte [rsp + 0x60], sil
je 0x140086963
cmp rax, rsi
jne 0x14008698b
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd rcx, eax
lea rbx, [r14 + rcx*2]
mov qword [rsp + 0x108], rbx
cmp rbx, rsi
jne 0x14008698b
xor edx, edx
mov rcx, r14
lea r8d, [rdx + 0x5c]
call qword [sym.imp.SHLWAPI.dll_StrRChrW]
mov rbx, rax
mov qword [rsp + 0x108], rax
cmp rax, rsi
je 0x140086904
mov r13, qword [rsp + 0x190]
cmp word [rbx], si
je 0x140086a35
mov word [rbx], si
add rbx, r12
jmp 0x140086a2d
mov rdx, r13
mov r13, qword [rsp + 0x190]
mov word [rbx], si
lea r8, [rsp + 0x98]
xor r9d, r9d
mov rcx, r13
add rbx, r12
mov byte [rsp + 0x20], 1
call fcn.140078dc8
mov rbp, qword [rsp + 0x98]
mov edx, r14d
mov rcx, rbp
mov qword [rsp + 0x88], rbp
call qword [sym.imp.SHLWAPI.dll_StrChrW]
mov r14, rax
mov qword [rsp + 0x110], rax
cmp rax, rsi
je 0x140086a0a
add r14, r12
mov word [rax], si
mov qword [rsp + 0x110], r14
lea r8, [rsp + 0xd0]
xor r9d, r9d
mov rdx, rbx
mov rcx, r13
mov byte [rsp + 0x20], 1
call fcn.140078dc8
mov rbx, qword [rsp + 0xd0]
mov qword [rsp + 0x108], rbx
mov eax, 0x5c
cmp ax, word [rbx]
jne 0x140086a4a
add rbx, r12
mov qword [rsp + 0x108], rbx
mov qword [rsp + 0xe0], rsi
cmp byte [rsp + 0xb8], sil
je 0x140086a86
lea r8, [rsp + 0xe0]
lea rdx, [rsp + 0xe8]
mov rcx, r13
call fcn.1400767e8
mov rdx, qword [rsp + 0xe0]
mov qword [rsp + 0xe8], rdx
jmp 0x140086a8e
mov rdx, qword [rsp + 0xe8]
mov eax, 0x2c
cmp r15b, al
jne 0x140086b6e
lea rdx, [rsp + 0xe8]
lea rcx, [rsp + 0x118]
mov r8d, eax
mov r9b, 1
mov r15d, eax
call fcn.14007c440
lea rdx, [rsp + 0x80]
xor r8d, r8d
mov rcx, rax
call fcn.140065830
lea rdx, [rsp + 0x80]
xor r8d, r8d
mov rcx, r13
call fcn.14000395c
cmp byte [rsp + 0x1a8], 0x2e
jne 0x140086b44
mov rax, qword [rsp + 0xe8]
cmp r15w, word [rax]
jne 0x140086b44
add rax, r12
lea rdx, [rsp + 0xe8]
lea rcx, [rsp + 0x118]
mov r8d, r15d
mov r9b, 1
mov qword [rsp + 0xe8], rax
call fcn.14007c440
lea rdx, [rsp + 0xa8]
xor r8d, r8d
mov rcx, rax
call fcn.140065830
lea rdx, [rsp + 0xa8]
xor r8d, r8d
mov rcx, r13
call fcn.14000395c
mov rax, qword [rsp + 0x80]
cmp word [rax], si
jne 0x140086ce5
lea rdx, str.RegDat
lea rcx, [rsp + 0x80]
call fcn.14006d930
jmp 0x140086ce5
mov eax, 0x21
cmp r15b, al
je 0x140086ce5
mov al, byte [rsp + 0x1a8]
cmp word [rdx], si
jne 0x140086bba
cmp al, 0x24
je 0x140086be5
mov r8d, 0x2a
lea ecx, [r8 + 0x54]
cmp al, r8b
je 0x140086bc3
cmp al, cl
je 0x140086bc3
cmp byte [rsp + 0x64], sil
je 0x140086ce5
mov rdi, rdx
mov qword [rsp + 0x90], rdx
jmp 0x140086ce5
mov ecx, 0x7e
lea r8d, [rcx - 0x54]
cmp al, 0x24
je 0x140086be5
cmp al, r8b
je 0x140086be5
cmp al, cl
je 0x140086be5
lea rcx, [rsp + 0xe8]
call fcn.140059340
mov rdx, qword [rsp + 0xe8]
lea rcx, [rsp + 0x138]
call fcn.14006d8b0
mov rdi, qword [rsp + 0x138]
lea rcx, [rsp + 0x78]
mov qword [rsp + 0x78], rdi
call fcn.140059340
mov rdx, rdi
cmp byte [rsp + 0x1a0], sil
je 0x140086c25
lea rcx, [rsp + 0xc0]
call fcn.14006d930
jmp 0x140086c3d
lea r8, [rsp + 0xc0]
xor r9d, r9d
mov rcx, r13
mov byte [rsp + 0x20], 1
call fcn.1400770b4
mov rdi, qword [rsp + 0xc0]
lea rcx, [rsp + 0x68]
mov qword [rsp + 0x90], rdi
mov qword [rsp + 0x68], rdi
call fcn.140059340
mov cl, byte [rsp + 0x1a8]
cmp cl, sil
jne 0x140086cad
mov rdx, qword [rsp + 0x78]
lea rcx, [0x14011f554]
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
cmp eax, esi
jne 0x140086c87
lea rdi, [0x1401145d8]
jmp 0x140086cd0
mov rax, qword [rsp + 0x68]
mov ecx, 0x23
cmp cx, word [rax]
je 0x140086ca0
mov ecx, 0x40
cmp cx, word [rax]
jne 0x140086cd8
mov rdi, rax
mov qword [rsp + 0x90], rax
jmp 0x140086cd8
mov eax, 0x23
cmp cl, al
je 0x140086cbf
mov eax, 0x40
cmp cl, al
jne 0x140086cd8
mov rcx, qword [rsp + 0x68]
movzx eax, word [rcx]
neg ax
sbb rdi, rdi
and rdi, rcx
mov qword [rsp + 0x90], rdi
lea rcx, [rsp + 0x138]
call fcn.140059370
lea rdx, str.HKLM
mov rcx, rbp
mov qword [rsp + 0x68], rsi
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
cmp eax, esi
je 0x140086e28
lea rdx, str.HKEY_LOCAL_MACHINE
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
cmp eax, esi
je 0x140086e28
lea rdx, str.HKCU
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
cmp eax, esi
je 0x140086e1f
lea rdx, str.HKEY_CURRENT_USER
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
cmp eax, esi
je 0x140086e1f
lea rdx, str.HKCR
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
cmp eax, esi
je 0x140086e16
lea rdx, str.HKEY_CLASSES_ROOT
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
cmp eax, esi
je 0x140086e16
lea rdx, [0x14011f4a8]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
cmp eax, esi
je 0x140086e0d
lea rdx, str.HKEY_USERS
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
cmp eax, esi
je 0x140086e0d
lea rdx, str.HKCC
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
cmp eax, esi
je 0x140086e04
lea rdx, str.HKEY_CURRENT_CONFIG
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
cmp eax, esi
je 0x140086e04
lea rdx, [rsp + 0x68]
lea rcx, [rsp + 0x88]
call fcn.140065f2c
cmp eax, esi
je 0x140086df2
mov r15, qword [rsp + 0x68]
mov qword [rsp + 0x88], r15
cmp r15, rsi
jne 0x140086e37
lea rcx, [rsp + 0xe0]
call fcn.140059370
jmp 0x140086904
mov r15, 0xffffffff80000005
jmp 0x140086e2f
mov r15, 0xffffffff80000003
jmp 0x140086e2f
mov r15, 0xffffffff80000000
jmp 0x140086e2f
mov r15, 0xffffffff80000001
jmp 0x140086e2f
mov r15, 0xffffffff80000002
mov qword [rsp + 0x88], r15
mov rax, qword [rsp + 0x80]
cmp word [rax], si
je 0x1400879a5
mov cl, byte [rsp + 0x1a8]
mov edx, 0x3f
cmp cl, 0x2e
je 0x140086e60
mov r13d, esi
cmp cl, dl
jne 0x140086e6a
mov r13d, 1
cmp cl, dl
je 0x140086e78
cmp r13d, esi
je 0x140086e74
cmp word [rax], si
je 0x140086e78
mov ebp, esi
jmp 0x140086e7d
mov ebp, 1
xor ecx, ecx
mov dword [rsp + 0x100], ebp
call qword [sym.imp.KERNEL32.dll_SetLastError]
lea rcx, [rsp + 0x78]
mov edx, 0x64
mov dword [rsp + 0x138], esi
call fcn.1400619b4
lea rcx, [rsp + 0x90]
call fcn.140061940
cmp byte [rsp + 0x1a8], 0x2e
lea rax, [rsp + 0x78]
lea r14, [rsp + 0x90]
lea rcx, [rsp + 0x68]
mov edx, 0x1000
cmovne r14, rax
mov qword [rsp + 0x88], r14
call fcn.1400616c8
mov rdx, qword [rsp + 0x110]
mov dword [rsp + 0xb4], 0xfff
mov dword [rsp + 0x198], esi
mov dword [rsp + 0x130], esi
mov rcx, r15
cmp byte [rsp + 0x60], sil
je 0x140087197
lea rax, [rsp + 0x88]
mov r9d, 9
xor r8d, r8d
mov dword [rsp + 0x108], esi
mov dword [rsp + 0xd8], esi
mov dword [rsp + 0x198], esi
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x100], esi
mov dword [rsp + 0xf8], esi
mov qword [rsp + 0x88], rsi
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x38], rsi
lea rax, [rsp + 0x198]
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0xd8]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyW]
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x48], rsi
lea rax, [rsp + 0xf8]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x100]
xor edx, edx
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x198]
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0xd8]
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyW]
mov ecx, dword [rsp + 0x198]
cmp ecx, dword [rsp + 0xf8]
mov ebx, eax
cmovb ecx, dword [rsp + 0xf8]
mov dword [rsp + 0x198], ecx
lea r15d, [rcx*4 + 0x20]
lea rcx, [rsp + 0x110]
movsxd rdx, r15d
shr rdx, 1
add rdx, 8
call fcn.1400619b4
mov rdi, qword [rsp + 0x110]
mov eax, 0xd
mov word [rdi], ax
mov eax, 0xa
mov ecx, 0x76
mov word [rdi + 2], ax
lea rax, [rdi + 4]
lea r13, [rdi + 8]
mov word [rax], cx
mov ecx, 0x20
mov rbp, rax
mov word [rdi + 6], cx
mov cl, byte [rsp + 0x60]
mov word [r13], si
cmp cl, 3
cmovne r13, rax
cmp ebx, esi
jne 0x140087172
test cl, 1
je 0x1400870ff
cmp dword [rsp + 0x100], esi
mov ebx, esi
jle 0x1400870ff
mov qword [rsp + 0x38], rsi
mov dword [rsp + 0x108], r15d
mov word [r13], si
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 0x30], rsi
lea r9, [rsp + 0x108]
mov r8, r13
mov edx, ebx
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rsi
call qword [sym.imp.ADVAPI32.dll_RegEnumValueW]
cmp eax, esi
jne 0x1400870ec
lea rcx, [rsp + 0x78]
mov rdx, rbp
call fcn.140061a7c
mov rbp, rdi
inc ebx
cmp ebx, dword [rsp + 0x100]
jl 0x14008709c
mov cl, byte [rsp + 0x60]
lea rax, [rdi + 4]
mov edx, 0x6b
mov word [rax], dx
test r12b, cl
je 0x140087172
cmp dword [rsp + 0xd8], esi
mov ebx, esi
jle 0x140087172
mov qword [rsp + 0x38], rsi
mov dword [rsp + 0x108], r15d
mov word [r13], si
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 0x30], rsi
lea r9, [rsp + 0x108]
mov r8, r13
mov edx, ebx
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rsi
call qword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
cmp eax, esi
jne 0x140087167
lea rcx, [rsp + 0x78]
mov rdx, rbp
call fcn.140061a7c
mov rbp, rdi
inc ebx
cmp ebx, dword [rsp + 0xd8]
jl 0x140087117
mov rcx, qword [rsp + 0x88]
cmp rcx, rsi
je 0x140087185
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea rcx, [rsp + 0x110]
call fcn.140059370
jmp 0x1400878bc
lea rax, [rsp + 0x198]
lea r9, [rsp + 0x68]
mov r8, rbx
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0xb4]
mov qword [rsp + 0x20], rax
call fcn.1400671f0
movsxd rdi, dword [rsp + 0x198]
mov ebx, eax
cmp edi, esi
je 0x1400872cf
mov rax, qword [rsp + 0x108]
cmp word [rax], si
jne 0x14008720e
cmp edi, r12d
jne 0x14008720e
cmp ebx, 0xfffffffe
jne 0x14008720e
cmp r13d, esi
je 0x1400878bc
lea rdx, [0x14011f454]
or rax, 0xffffffffffffffff
mov rcx, r14
mov r8, rax
mov r9, rax
call fcn.140061afc
jmp 0x1400878bc
mov dword [rsp + 0x138], edi
cmp r13d, esi
je 0x140087223
lea rdx, str.ERROR
jmp 0x1400871f7
cmp byte [rsp + 0xb0], sil
jne 0x1400878bc
lea rcx, [rsp + 0x68]
call fcn.140059370
lea rcx, [rsp + 0x90]
call fcn.140059370
lea rcx, [rsp + 0x78]
call fcn.140059370
lea rcx, [rsp + 0xe0]
call fcn.140059370
lea rcx, [rsp + 0xd0]
call fcn.140059370
lea rcx, [rsp + 0xa8]
call fcn.140059370
lea rcx, [rsp + 0xc0]
call fcn.140059370
lea rcx, [rsp + 0x80]
call fcn.140059370
lea rcx, [rsp + 0xc8]
call fcn.140059370
lea rcx, [rsp + 0x98]
call fcn.140059370
lea rcx, [rsp + 0xf0]
call fcn.140059370
lea rcx, [rsp + 0x118]
call fcn.140059370
mov rax, rdi
jmp 0x140086822
mov r8, qword [rsp + 0xf8]
cmp r8, rsi
jl 0x1400872e7
mov r15d, 1
cmp r8, rbx
jne 0x1400872ea
mov r15d, esi
or rax, 0xffffffffffffffff
mov cl, sil
lea rdx, str.REG_SZ
mov dil, al
cmp ebx, 1
jne 0x140087308
mov dil, sil
lea ebx, [rax + 0x25]
jmp 0x14008732a
cmp ebx, 6
jne 0x140087318
lea rdx, str.REG_LINK
mov bl, 0x5e
jmp 0x14008732a
cmp ebx, 0x15
jne 0x14008741d
lea rdx, str.REG_MUI_SZ
mov bl, 0x75
cmp r13d, esi
je 0x14008734d
mov r9, rax
mov r8, rax
mov rcx, r14
call fcn.140061afc
cmp ebp, esi
jne 0x1400878bc
mov r8, qword [rsp + 0xf8]
cmp r15d, esi
jne 0x14008737b
cmp r8, rsi
jge 0x140087626
mov al, byte [rsp + 0x1a8]
cmp bl, al
je 0x140087626
cmp al, 0x2e
je 0x140087626
cmp dil, al
je 0x140087626
lea rcx, [rsp + 0x68]
call fcn.140059370
lea rcx, [rsp + 0x90]
call fcn.140059370
lea rcx, [rsp + 0x78]
call fcn.140059370
lea rcx, [rsp + 0xe0]
call fcn.140059370
lea rcx, [rsp + 0xd0]
call fcn.140059370
lea rcx, [rsp + 0xa8]
call fcn.140059370
lea rcx, [rsp + 0xc0]
call fcn.140059370
lea rcx, [rsp + 0x80]
call fcn.140059370
lea rcx, [rsp + 0xc8]
call fcn.140059370
lea rcx, [rsp + 0x98]
call fcn.140059370
lea rcx, [rsp + 0xf0]
call fcn.140059370
lea rcx, [rsp + 0x118]
call fcn.140059370
mov rax, 0xffffffff80070057
jmp 0x140086822
cmp ebx, 0xb
jne 0x14008749d
cmp r13d, esi
je 0x14008744c
lea rdx, str.REG_QWORD
mov r9, rax
mov r8, rax
mov rcx, r14
call fcn.140061afc
cmp ebp, esi
jne 0x1400878bc
mov r8, qword [rsp + 0xf8]
cmp r15d, esi
jne 0x14008737b
cmp r8, rsi
jge 0x14008746d
mov al, byte [rsp + 0x1a8]
cmp al, 0x2b
je 0x14008746d
cmp al, 0x2e
jne 0x14008737b
mov al, byte [rsp + 0x71]
mov rdx, qword [rsp + 0x68]
lea rcx, str._I64u
mov rdx, qword [rdx]
cmp al, sil
lea r8, str.0x_I64x
cmovne r8, rcx
mov rcx, qword [rsp + 0x78]
call fcn.1400df61c
jmp 0x1400878bc
mov rdi, qword [rsp + 0x68]
cmp ebx, 4
jne 0x1400874fc
cmp r13d, esi
je 0x1400874d1
lea rdx, str.REG_DWORD
mov r9, rax
mov r8, rax
mov rcx, r14
call fcn.140061afc
cmp ebp, esi
jne 0x1400878bc
mov r8, qword [rsp + 0xf8]
cmp r15d, esi
jne 0x14008737b
cmp r8, rsi
jge 0x14008756b
mov al, byte [rsp + 0x1a8]
mov ecx, 0x23
cmp al, cl
je 0x14008756b
cmp al, 0x2e
je 0x14008756b
jmp 0x14008737b
cmp ebx, 5
jne 0x140087597
cmp r13d, esi
je 0x14008752f
lea rdx, str.REG_DWORD_BIG_ENDIAN
mov r9, rax
mov r8, rax
mov rcx, r14
call fcn.140061afc
cmp ebp, esi
jne 0x1400878bc
mov r8, qword [rsp + 0xf8]
cmp r15d, esi
jne 0x14008737b
cmp r8, rsi
jge 0x140087555
mov al, byte [rsp + 0x1a8]
mov ecx, 0x62
cmp al, cl
je 0x140087555
cmp al, 0x2e
jne 0x14008737b
mov al, byte [rdi + 3]
mov cl, byte [rdi]
mov byte [rdi], al
mov byte [rdi + 3], cl
mov al, byte [rdi + 2]
mov cl, byte [rdi + 1]
mov byte [rdi + 1], al
mov byte [rdi + 2], cl
mov al, byte [rsp + 0x71]
mov r8d, dword [rdi]
lea rcx, [0x14011aba8]
cmp al, sil
lea rdx, str.0x_lx
cmovne rdx, rcx
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.USER32.dll_wsprintfW]
jmp 0x1400878bc
cmp ebx, r12d
jne 0x14008763f
cmp r13d, esi
je 0x1400875ca
lea rdx, str.REG_EXPAND_SZ
mov r9, rax
mov r8, rax
mov rcx, r14
call fcn.140061afc
cmp ebp, esi
jne 0x1400878bc
mov r8, qword [rsp + 0xf8]
cmp r15d, esi
jne 0x14008737b
cmp r8, rsi
jge 0x1400875f0
mov al, byte [rsp + 0x1a8]
mov ecx, 0x7e
cmp al, cl
je 0x1400875f0
cmp al, 0x2e
jne 0x14008737b
mov r8b, byte [rsp + 0x70]
cmp r8b, sil
je 0x140087626
mov rdx, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x190]
lea r8, [rsp + 0x78]
xor r9d, r9d
mov qword [rsp + 0xe8], rdx
mov byte [rsp + 0x20], 1
call fcn.140078dc8
jmp 0x1400878bc
mov rcx, qword [rsp + 0x78]
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x68], rcx
jmp 0x1400878bc
cmp ebx, 7
jne 0x14008775e
cmp r13d, esi
je 0x140087672
lea rdx, str.REG_MULTI_SZ
mov r9, rax
mov r8, rax
mov rcx, r14
call fcn.140061afc
cmp ebp, esi
jne 0x1400878bc
mov r8, qword [rsp + 0xf8]
cmp r15d, esi
jne 0x14008737b
cmp r8, rsi
mov ebx, 0x2a
jge 0x140087698
mov al, byte [rsp + 0x1a8]
cmp al, bl
je 0x140087698
cmp al, 0x2e
jne 0x14008737b
movsxd rdi, dword [rsp + 0xb4]
lea rcx, [rsp + 0x78]
shr rdi, 1
lea edx, [rdi*4 + 6]
call fcn.140061a40
mov rcx, qword [rsp + 0x68]
mov r11, qword [rsp + 0x78]
mov eax, edi
lea rdi, [rcx + rax*2]
cmp rcx, rdi
jae 0x140087755
mov r8b, byte [rsp + 0x70]
mov edx, 0x30
mov r9d, 0x5c
cmp r8b, bl
jne 0x140087710
cmp r9w, word [rcx]
jne 0x140087710
lea rax, [rcx + 2]
cmp dx, word [rax]
je 0x1400876fc
cmp r9w, word [rax]
je 0x1400876fc
cmp word [rax], si
jne 0x140087710
lea rcx, [r12 + rax]
mov word [r11], r9w
movzx eax, word [rax]
add r11, r12
mov word [r11], ax
jmp 0x14008774d
movzx eax, word [rcx]
cmp ax, si
je 0x140087724
mov word [r11], ax
add r11, r12
add rcx, r12
jmp 0x140087750
add rcx, r12
cmp r8b, 0x24
jne 0x140087742
cmp rcx, rdi
jae 0x140087755
mov eax, 0xd
mov word [r11], ax
mov eax, 0xa
jmp 0x140087707
mov word [r11], r9w
add r11, r12
mov word [r11], dx
add r11, r12
cmp rcx, rdi
jb 0x1400876d7
mov word [r11], si
jmp 0x1400878bc
cmp ebx, 3
jne 0x14008776c
lea rdx, str.REG_BINARY
jmp 0x1400877af
cmp ebx, esi
jne 0x140087779
lea rdx, str.REG_NONE
jmp 0x1400877af
mov ebp, 8
cmp ebx, ebp
jne 0x14008778b
lea rdx, str.REG_RESOURCE_LIST
jmp 0x1400877af
mov edx, 9
cmp ebx, edx
jne 0x14008779d
lea rdx, str.REG_FULL_RESOURCE_DESCRIPTOR
jmp 0x1400877af
mov r9d, 0xa
cmp ebx, r9d
jne 0x1400877d3
lea rdx, str.REG_RESOURCE_REQUIREMENTS_LIST
cmp r13d, esi
je 0x1400877cf
mov r9, rax
mov r8, rax
mov rcx, r14
call fcn.140061afc
cmp dword [rsp + 0x100], esi
jne 0x1400878bc
mov cl, 0x40
jmp 0x140087808
cmp r13d, esi
je 0x140087808
mov edx, 0x32
mov rcx, r14
call fcn.140061a40
mov rcx, qword [r14]
lea rdx, str.0x_lx
mov r8d, ebx
call qword [sym.imp.USER32.dll_wsprintfW]
cmp dword [rsp + 0x100], esi
jne 0x1400878bc
mov cl, sil
mov rax, qword [rsp + 0xf8]
cmp rax, rsi
jge 0x140087828
mov al, byte [rsp + 0x1a8]
cmp cl, al
je 0x140087828
cmp al, 0x2e
jne 0x14008737b
cmp r15d, esi
jne 0x14008737b
mov eax, dword [rsp + 0xb4]
lea ecx, [rax + rax*4 + 7]
movsxd rdx, ecx
lea rcx, [rsp + 0x78]
call fcn.140061a40
mov rdi, qword [rsp + 0x78]
mov rbp, qword [rsp + 0x68]
mov word [rdi], si
mov word [rdi + 2], si
cmp dword [rsp + 0xb4], esi
mov dword [rsp + 0x130], 1
mov r12d, esi
jle 0x1400878bc
mov al, byte [rsp + 0x71]
lea rcx, [0x14011f330]
lea rbx, str._0x_02X
cmp al, sil
mov r14d, 0xa
cmovne rbx, rcx
movzx r8d, byte [rbp]
mov rdx, rbx
mov rcx, rdi
call qword [sym.imp.USER32.dll_wsprintfW]
inc r12d
inc rbp
add rdi, r14
cmp r12d, dword [rsp + 0xb4]
jl 0x140087890
mov r14, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x80]
mov rdi, qword [rsp + 0x190]
cmp word [rdx], si
je 0x1400878ea
movsxd rcx, dword [rsp + 0x130]
mov rax, qword [rsp + 0x78]
lea r8, [rax + rcx*2]
mov rcx, rdi
call fcn.140060d64
mov rdx, qword [rsp + 0xa8]
cmp word [rdx], si
je 0x140087902
mov r8, qword [r14]
mov rcx, rdi
call fcn.140060d64
lea rcx, [rsp + 0x68]
call fcn.140059370
lea rcx, [rsp + 0x90]
call fcn.140059370
lea rcx, [rsp + 0x78]
call fcn.140059370
lea rcx, [rsp + 0xe0]
call fcn.140059370
lea rcx, [rsp + 0xd0]
call fcn.140059370
lea rcx, [rsp + 0xa8]
call fcn.140059370
lea rcx, [rsp + 0xc0]
call fcn.140059370
lea rcx, [rsp + 0x80]
call fcn.140059370
lea rcx, [rsp + 0xc8]
call fcn.140059370
lea rcx, [rsp + 0x98]
call fcn.140059370
lea rcx, [rsp + 0xf0]
call fcn.140059370
lea rcx, [rsp + 0x118]
call fcn.140059370
movsxd rax, dword [rsp + 0x138]
jmp 0x140086822
cmp rdi, rsi
je 0x140088152
mov al, byte [rsp + 0x63]
mov qword [rsp + 0x190], rsi
mov ebp, 8
cmp al, sil
mov qword [rsp + 0x68], rsi
lea r13, [rsp + 0x68]
jg 0x1400879d5
cmp byte [rsp + 0x64], sil
je 0x1400879fd
movsx r8d, al
mov rdx, r14
mov rcx, r15
call fcn.14005d878
cmp byte [rsp + 0x63], r12b
movsxd rbx, eax
jge 0x1400880c8
cmp byte [rsp + 0x64], sil
jne 0x1400880c8
mov al, byte [rsp + 0x1a8]
mov ecx, 0x2b
cmp al, cl
je 0x140087a26
cmp al, sil
jne 0x140087b7d
cmp cx, word [rdi]
jne 0x140087a5a
add rdi, r12
mov qword [rsp + 0x90], rdi
mov r14d, 0xb
cmp byte [rsp + 0x62], sil
je 0x140087f56
movsx r8d, byte [rsp + 0x61]
lea rdx, [rsp + 0x190]
mov rcx, rdi
call fcn.14006736c
mov r13, qword [rsp + 0x190]
jmp 0x140087fd7
mov ecx, 0x23
cmp cx, word [rdi]
jne 0x140087aa8
add rdi, r12
mov qword [rsp + 0x90], rdi
mov ebx, 4
mov r14, rbx
cmp byte [rsp + 0x62], sil
je 0x140087e62
movsx r8d, byte [rsp + 0x61]
lea rdx, [rsp + 0x190]
mov rcx, rdi
call fcn.14006736c
mov r13, qword [rsp + 0x190]
mov rbp, rbx
jmp 0x140087fd7
mov ecx, 0x2a
cmp cx, word [rdi]
jne 0x140087aec
add rdi, r12
mov r14d, 7
mov qword [rsp + 0xf8], r14
cmp byte [rsp + 0x62], sil
je 0x140087d2c
movsx r8d, byte [rsp + 0x61]
lea rdx, [rsp + 0x190]
mov rcx, rdi
call fcn.14006736c
movsxd rbp, eax
jmp 0x140087a4d
mov ecx, 0x7e
cmp cx, word [rdi]
jne 0x140087b61
add rdi, r12
mov r14, r12
cmp byte [rsp + 0x62], sil
jne 0x140087ace
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_lstrlenW]
lea rcx, [rsp + 0x190]
add eax, r12d
movsxd rdx, eax
call fcn.140061a40
mov r13, qword [rsp + 0x190]
mov rbp, r13
cmp word [rdi], si
je 0x140087d1d
mov edx, 0x30
lea ecx, [rdx + 0x2c]
movzx eax, word [rdi]
cmp cx, ax
jne 0x140087d0a
cmp dx, word [rdi + 2]
jne 0x140087d0a
mov word [rbp], si
add rbp, r12
add rdi, 4
jmp 0x140087d14
mov ecx, 0x40
cmp cx, word [rdi]
jne 0x140087ca9
add rdi, r12
mov r14d, 3
jmp 0x140087ace
mov ecx, 0x23
cmp al, cl
je 0x140087a6f
mov ecx, 0x62
cmp al, cl
jne 0x140087c71
lea r14d, [rcx - 0x5d]
cmp byte [rsp + 0x62], sil
je 0x140087bc5
movsx r8d, byte [rsp + 0x61]
lea rdx, [rsp + 0x190]
mov rcx, rdi
call fcn.14006736c
mov r13, qword [rsp + 0x190]
jmp 0x140087c67
cmp byte [rsp + 0x61], sil
je 0x140087c2c
mov edx, 0x30
cmp word [rdi], dx
jb 0x140087bdc
cmp word [rdi], 0x39
jbe 0x140087bff
movzx eax, word [rdi]
mov ecx, 0x20
or ax, cx
cmp ax, 0x61
jb 0x140087bf3
cmp ax, 0x66
jbe 0x140087c04
mov rsi, 0xffffffff80070057
jmp 0x140087ee9
mov ecx, 0x20
cmp dx, word [rdi]
jne 0x140087c1e
movzx eax, word [rdi + 2]
or ax, cx
mov ecx, 0x78
cmp cx, ax
jne 0x140087c1e
add rdi, 4
mov rcx, rdi
call fcn.140062d24
mov dword [rsp + 0x68], eax
jmp 0x140087c47
lea rdx, [rsp + 0x68]
lea rcx, [rsp + 0x90]
call fcn.140071a90
cmp eax, 1
jl 0x140087ee4
mov cl, byte [rsp + 0x68]
mov al, byte [rsp + 0x6b]
mov byte [rsp + 0x68], al
mov al, byte [rsp + 0x6a]
mov byte [rsp + 0x6b], cl
mov cl, byte [rsp + 0x69]
mov byte [rsp + 0x69], al
mov byte [rsp + 0x6a], cl
mov ebp, 4
jmp 0x140087fd7
mov ecx, 0x2a
cmp al, cl
je 0x140087ab5
mov ecx, 0x7e
cmp al, cl
je 0x140087af9
mov ecx, 0x40
cmp al, cl
je 0x140087b72
mov ecx, 0x6e
cmp al, cl
jne 0x140087ca9
mov r14, rsi
jmp 0x140087ace
mov r14, qword [rsp + 0xf8]
cmp r14, rsi
jge 0x140087ace
cmp al, 0x5e
jne 0x140087cc6
mov r14d, 6
jmp 0x140087ce8
mov ecx, 0x75
cmp al, cl
jne 0x140087cd5
lea r14d, [rcx - 0x60]
jmp 0x140087ce8
cmp al, sil
je 0x140087ce2
cmp al, 0x24
jne 0x140087bf3
mov r14d, 1
cmp byte [rsp + 0x62], sil
jne 0x140087ace
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov r13, rdi
movsxd rbp, eax
add rbp, rbp
jmp 0x140087fd7
mov word [rbp], ax
add rbp, r12
add rdi, r12
cmp word [rdi], si
jne 0x140087b3b
mov word [rbp], si
sub rbp, r13
add rbp, r12
jmp 0x140087fd7
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov ebx, esi
movsxd r14, eax
lea ecx, [r14 + 0x10]
movsxd rdx, ecx
lea rcx, [rsp + 0x190]
call fcn.140061a40
mov r13, qword [rsp + 0x190]
lea r8, [rdi + r14*2]
mov qword [rsp + 0x90], r13
mov rbp, r13
cmp rdi, r8
jae 0x140087e27
mov r13b, byte [rsp + 0x70]
mov edx, 0x30
lea r15d, [rdx + 0x2c]
lea r9d, [rdx - 0x26]
mov eax, 0x2a
mov word [rbp], si
cmp r13b, al
jne 0x140087dae
cmp r15w, word [rdi]
jne 0x140087ddf
lea rax, [rdi + 2]
cmp r15w, word [rax]
jne 0x140087ddf
lea rdi, [r12 + rax]
movzx eax, word [rax]
mov word [rbp], ax
add rbp, r12
jmp 0x140087e07
cmp r13b, 0x24
jne 0x140087ddf
movzx eax, word [rdi]
mov ecx, 0xd
cmp cx, ax
jne 0x140087dcd
cmp r9w, word [rdi + 2]
jne 0x140087dcd
add rdi, r12
jmp 0x140087dd3
cmp r9w, ax
jne 0x140087dfd
add rdi, r12
mov word [rbp], si
add rbp, r12
jmp 0x140087df9
mov ax, word [rdi]
cmp r15w, ax
jne 0x140087dfd
cmp dx, word [rdi + 2]
jne 0x140087dfd
mov word [rbp], si
add rbp, r12
add rdi, 4
inc ebx
jmp 0x140087e09
mov word [rbp], ax
add rbp, r12
add rdi, r12
mov ebx, esi
cmp rdi, r8
jb 0x140087d80
cmp ebx, 1
mov r13, qword [rsp + 0x90]
mov r15, qword [rsp + 0x88]
jge 0x140087e30
inc ebx
mov word [rbp], si
add rbp, r12
cmp r14d, esi
jle 0x140087e4e
cmp ebx, r12d
jge 0x140087e4e
sub r12d, ebx
mov rdi, rbp
movzx eax, si
mov ecx, r12d
lea rbp, [rbp + r12*2]
rep stosw word [rdi], ax
mov r14, qword [rsp + 0xf8]
mov word [rbp], si
sub rbp, r13
jmp 0x140087fd7
cmp byte [rsp + 0x61], sil
je 0x140087ec9
mov edx, 0x30
cmp word [rdi], dx
jb 0x140087e79
cmp word [rdi], 0x39
jbe 0x140087e9a
movzx eax, word [rdi]
mov ecx, 0x20
or ax, cx
cmp ax, 0x61
jb 0x140087bf3
cmp ax, 0x66
ja 0x140087bf3
jmp 0x140087e9f
mov ecx, 0x20
cmp dx, word [rdi]
jne 0x140087eb8
movzx eax, word [rdi + 2]
or ax, cx
mov ecx, 0x78
cmp cx, ax
jne 0x140087eb8
add rdi, rbx
mov rcx, rdi
call fcn.140062d24
mov dword [rsp + 0x68], eax
jmp 0x140087aa0
lea rdx, [rsp + 0x68]
lea rcx, [rsp + 0x90]
call fcn.140071a90
cmp eax, 1
jge 0x140087aa0
mov esi, 1
lea rcx, [rsp + 0x190]
call fcn.140059370
lea rcx, [rsp + 0xe0]
call fcn.140059370
lea rcx, [rsp + 0xd0]
call fcn.140059370
lea rcx, [rsp + 0xa8]
call fcn.140059370
lea rcx, [rsp + 0xc0]
call fcn.140059370
lea rcx, [rsp + 0x80]
call fcn.140059370
lea rcx, [rsp + 0xc8]
call fcn.140059370
lea rcx, [rsp + 0x98]
call fcn.140059370
jmp 0x140086805
cmp byte [rsp + 0x61], sil
je 0x140087fbc
mov edx, 0x30
cmp word [rdi], dx
jb 0x140087f6d
cmp word [rdi], 0x39
jbe 0x140087f8e
movzx eax, word [rdi]
mov ecx, 0x20
or ax, cx
cmp ax, 0x61
jb 0x140087bf3
cmp ax, 0x66
ja 0x140087bf3
jmp 0x140087f93
mov ecx, 0x20
cmp dx, word [rdi]
jne 0x140087fad
movzx eax, word [rdi + 2]
or ax, cx
mov ecx, 0x78
cmp cx, ax
jne 0x140087fad
add rdi, 4
mov rcx, rdi
call fcn.140062d24
mov qword [rsp + 0x68], rax
jmp 0x140087fd7
lea rdx, [rsp + 0x68]
lea rcx, [rsp + 0x90]
call fcn.140071820
cmp eax, 1
jl 0x140087ee4
mov rbx, qword [rsp + 0x110]
mov r12b, byte [rsp + 0xa0]
mov r8, qword [rsp + 0x108]
mov dword [rsp + 0x28], ebp
mov edi, esi
mov qword [rsp + 0x20], r13
mov r9d, r14d
mov rdx, rbx
mov rcx, r15
cmp r12b, sil
je 0x140088012
call qword [0x1401343b0]
mov edi, eax
jmp 0x140088017
call fcn.14005a804
cmp edi, 0x3fd
jne 0x14008803e
cmp byte [rsp + 0x63], sil
jne 0x14008803e
mov r8d, 1
mov rdx, rbx
mov rcx, r15
mov byte [rsp + 0x63], 1
call fcn.14005d878
jmp 0x140087fe7
lea rcx, [rsp + 0x190]
call fcn.140059370
lea rcx, [rsp + 0xe0]
call fcn.140059370
lea rcx, [rsp + 0xd0]
call fcn.140059370
lea rcx, [rsp + 0xa8]
call fcn.140059370
lea rcx, [rsp + 0xc0]
call fcn.140059370
lea rcx, [rsp + 0x80]
call fcn.140059370
lea rcx, [rsp + 0xc8]
call fcn.140059370
lea rcx, [rsp + 0x98]
call fcn.140059370
lea rcx, [rsp + 0xf0]
call fcn.140059370
lea rcx, [rsp + 0x118]
call fcn.140059370
movsxd rax, edi
jmp 0x140086822
lea rcx, [rsp + 0x190]
call fcn.140059370
lea rcx, [rsp + 0xe0]
call fcn.140059370
lea rcx, [rsp + 0xd0]
call fcn.140059370
lea rcx, [rsp + 0xa8]
call fcn.140059370
lea rcx, [rsp + 0xc0]
call fcn.140059370
lea rcx, [rsp + 0x80]
call fcn.140059370
lea rcx, [rsp + 0xc8]
call fcn.140059370
lea rcx, [rsp + 0x98]
call fcn.140059370
lea rcx, [rsp + 0xf0]
call fcn.140059370
lea rcx, [rsp + 0x118]
call fcn.140059370
mov rax, rbx
jmp 0x140086822
mov eax, 0x21
cmp byte [rsp + 0x198], al
jne 0x140088187
cmp word [rbx], si
jne 0x140088187
mov eax, dword [rsp + 0xd8]
mov rdx, r14
mov rcx, r15
cmp eax, esi
je 0x140088180
mov r8d, eax
call fcn.14006f0cc
jmp 0x1400881ee
call fcn.14006edd4
jmp 0x1400881ee
mov eax, dword [rsp + 0xd8]
mov rdx, r14
mov rcx, r15
cmp eax, esi
je 0x1400881e6
mov qword [rsp + 0x40], rsi
lea rax, [rsp + 0x198]
xor r9d, r9d
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rsi
xor r8d, r8d
mov dword [rsp + 0x28], 0x2001b
mov qword [rsp + 0x198], rsi
mov dword [rsp + 0x20], esi
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
mov rcx, qword [rsp + 0x198]
mov edi, eax
cmp rcx, rsi
je 0x1400881f0
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x1400881f0
mov r8, rbx
call fcn.14005a880
mov edi, eax
cmp edi, r12d
cmove edi, esi
jmp 0x14008804b