Function at 0x140021d34
Capabilities:
Query or enumerate registry value

Disassembly:
push rdi
sub rsp, 0x1e0
mov rax, qword [0x1400de010]
xor rax, rsp
mov qword [rsp + 0x1d0], rax
mov byte [rsp + 0x128], 0x37
movsx eax, byte [rsp + 0x128]
mov ecx, 1
imul rcx, rcx, 0
lea rdx, str.VMWARE
movsx ecx, byte [rdx + rcx]
xor ecx, eax
mov eax, ecx
mov byte [rsp + 0x129], al
movsx eax, byte [rsp + 0x128]
mov ecx, 1
imul rcx, rcx, 1
lea rdx, str.VMWARE
movsx ecx, byte [rdx + rcx]
xor ecx, eax
mov eax, ecx
mov byte [rsp + 0x12a], al
movsx eax, byte [rsp + 0x128]
mov ecx, 1
imul rcx, rcx, 2
lea rdx, str.VMWARE
movsx ecx, byte [rdx + rcx]
xor ecx, eax
mov eax, ecx
mov byte [rsp + 0x12b], al
movsx eax, byte [rsp + 0x128]
mov ecx, 1
imul rcx, rcx, 3
lea rdx, str.VMWARE
movsx ecx, byte [rdx + rcx]
xor ecx, eax
mov eax, ecx
mov byte [rsp + 0x12c], al
movsx eax, byte [rsp + 0x128]
mov ecx, 1
imul rcx, rcx, 4
lea rdx, str.VMWARE
movsx ecx, byte [rdx + rcx]
xor ecx, eax
mov eax, ecx
mov byte [rsp + 0x12d], al
movsx eax, byte [rsp + 0x128]
mov ecx, 1
imul rcx, rcx, 5
lea rdx, str.VMWARE
movsx ecx, byte [rdx + rcx]
xor ecx, eax
mov eax, ecx
mov byte [rsp + 0x12e], al
movsx eax, byte [rsp + 0x128]
mov ecx, 1
imul rcx, rcx, 6
lea rdx, str.VMWARE
movsx ecx, byte [rdx + rcx]
xor ecx, eax
mov eax, ecx
mov byte [rsp + 0x12f], al
movsx eax, byte [rsp + 0x128]
mov ecx, 1
imul rcx, rcx, 7
lea rdx, str.VMWARE
movsx ecx, byte [rdx + rcx]
xor ecx, eax
mov eax, ecx
mov byte [rsp + 0x130], al
lea rax, [rsp + 0x131]
lea rax, [rsp + 0x131]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
mov qword [rsp + 0x40], 0
jmp 0x140021ec3
mov rax, qword [rsp + 0x40]
inc rax
mov qword [rsp + 0x40], rax
cmp qword [rsp + 0x40], 8
jae 0x140021f1e
mov rax, qword [rsp + 0x40]
lea rax, [rsp + rax + 0x129]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x80]
movsx eax, byte [rax]
movsx ecx, byte [rsp + 0x128]
xor eax, ecx
mov byte [rsp + 0x34], al
mov rax, qword [rsp + 0x40]
lea rax, [rsp + rax + 0x129]
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x88]
mov cl, byte [rsp + 0x34]
mov byte [rax], cl
jmp 0x140021eb6
mov eax, 8
imul rax, rax, 1
lea rax, [rsp + rax + 0x129]
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x90]
mov byte [rax], 0
lea rax, [rsp + 0x129]
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x178], rax
mov byte [rsp + 0x120], 0x7a
movsx eax, byte [rsp + 0x120]
mov ecx, 1
imul rcx, rcx, 0
lea rdx, str.VBOX
movsx ecx, byte [rdx + rcx]
xor ecx, eax
mov eax, ecx
mov byte [rsp + 0x121], al
movsx eax, byte [rsp + 0x120]
mov ecx, 1
imul rcx, rcx, 1
lea rdx, str.VBOX
movsx ecx, byte [rdx + rcx]
xor ecx, eax
mov eax, ecx
mov byte [rsp + 0x122], al
movsx eax, byte [rsp + 0x120]
mov ecx, 1
imul rcx, rcx, 2
lea rdx, str.VBOX
movsx ecx, byte [rdx + rcx]
xor ecx, eax
mov eax, ecx
mov byte [rsp + 0x123], al
movsx eax, byte [rsp + 0x120]
mov ecx, 1
imul rcx, rcx, 3
lea rdx, str.VBOX
movsx ecx, byte [rdx + rcx]
xor ecx, eax
mov eax, ecx
mov byte [rsp + 0x124], al
movsx eax, byte [rsp + 0x120]
mov ecx, 1
imul rcx, rcx, 4
lea rdx, str.VBOX
movsx ecx, byte [rdx + rcx]
xor ecx, eax
mov eax, ecx
mov byte [rsp + 0x125], al
movsx eax, byte [rsp + 0x120]
mov ecx, 1
imul rcx, rcx, 5
lea rdx, str.VBOX
movsx ecx, byte [rdx + rcx]
xor ecx, eax
mov eax, ecx
mov byte [rsp + 0x126], al
lea rax, [rsp + 0x127]
lea rax, [rsp + 0x127]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
mov qword [rsp + 0x48], 0
jmp 0x140022088
mov rax, qword [rsp + 0x48]
inc rax
mov qword [rsp + 0x48], rax
cmp qword [rsp + 0x48], 6
jae 0x1400220e3
mov rax, qword [rsp + 0x48]
lea rax, [rsp + rax + 0x121]
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0xa0]
movsx eax, byte [rax]
movsx ecx, byte [rsp + 0x120]
xor eax, ecx
mov byte [rsp + 0x35], al
mov rax, qword [rsp + 0x48]
lea rax, [rsp + rax + 0x121]
mov qword [rsp + 0xa8], rax
mov rax, qword [rsp + 0xa8]
mov cl, byte [rsp + 0x35]
mov byte [rax], cl
jmp 0x14002207b
mov eax, 6
imul rax, rax, 1
lea rax, [rsp + rax + 0x121]
mov qword [rsp + 0xb0], rax
mov rax, qword [rsp + 0xb0]
mov byte [rax], 0
lea rax, [rsp + 0x121]
mov qword [rsp + 0xb8], rax
mov rax, qword [rsp + 0xb8]
mov qword [rsp + 0x180], rax
mov byte [rsp + 0x138], 0x28
movsx eax, byte [rsp + 0x138]
mov ecx, 1
imul rcx, rcx, 0
lea rdx, str.VIRTUAL
movsx ecx, byte [rdx + rcx]
xor ecx, eax
mov eax, ecx
mov byte [rsp + 0x139], al
movsx eax, byte [rsp + 0x138]
mov ecx, 1
imul rcx, rcx, 1
lea rdx, str.VIRTUAL
movsx ecx, byte [rdx + rcx]
xor ecx, eax
mov eax, ecx
mov byte [rsp + 0x13a], al
movsx eax, byte [rsp + 0x138]
mov ecx, 1
imul rcx, rcx, 2
lea rdx, str.VIRTUAL
movsx ecx, byte [rdx + rcx]
xor ecx, eax
mov eax, ecx
mov byte [rsp + 0x13b], al
movsx eax, byte [rsp + 0x138]
mov ecx, 1
imul rcx, rcx, 3
lea rdx, str.VIRTUAL
movsx ecx, byte [rdx + rcx]
xor ecx, eax
mov eax, ecx
mov byte [rsp + 0x13c], al
movsx eax, byte [rsp + 0x138]
mov ecx, 1
imul rcx, rcx, 4
lea rdx, str.VIRTUAL
movsx ecx, byte [rdx + rcx]
xor ecx, eax
mov eax, ecx
mov byte [rsp + 0x13d], al
movsx eax, byte [rsp + 0x138]
mov ecx, 1
imul rcx, rcx, 5
lea rdx, str.VIRTUAL
movsx ecx, byte [rdx + rcx]
xor ecx, eax
mov eax, ecx
mov byte [rsp + 0x13e], al
movsx eax, byte [rsp + 0x138]
mov ecx, 1
imul rcx, rcx, 6
lea rdx, str.VIRTUAL
movsx ecx, byte [rdx + rcx]
xor ecx, eax
mov eax, ecx
mov byte [rsp + 0x13f], al
movsx eax, byte [rsp + 0x138]
mov ecx, 1
imul rcx, rcx, 7
lea rdx, str.VIRTUAL
movsx ecx, byte [rdx + rcx]
xor ecx, eax
mov eax, ecx
mov byte [rsp + 0x140], al
movsx eax, byte [rsp + 0x138]
mov ecx, 1
imul rcx, rcx, 8
lea rdx, str.VIRTUAL
movsx ecx, byte [rdx + rcx]
xor ecx, eax
mov eax, ecx
mov byte [rsp + 0x141], al
lea rax, [rsp + 0x142]
lea rax, [rsp + 0x142]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
mov qword [rsp + 0x50], 0
jmp 0x1400222c2
mov rax, qword [rsp + 0x50]
inc rax
mov qword [rsp + 0x50], rax
cmp qword [rsp + 0x50], 9
jae 0x14002231d
mov rax, qword [rsp + 0x50]
lea rax, [rsp + rax + 0x139]
mov qword [rsp + 0xc0], rax
mov rax, qword [rsp + 0xc0]
movsx eax, byte [rax]
movsx ecx, byte [rsp + 0x138]
xor eax, ecx
mov byte [rsp + 0x36], al
mov rax, qword [rsp + 0x50]
lea rax, [rsp + rax + 0x139]
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0xc8]
mov cl, byte [rsp + 0x36]
mov byte [rax], cl
jmp 0x1400222b5
mov eax, 9
imul rax, rax, 1
lea rax, [rsp + rax + 0x139]
mov qword [rsp + 0xd0], rax
mov rax, qword [rsp + 0xd0]
mov byte [rax], 0
lea rax, [rsp + 0x139]
mov qword [rsp + 0xd8], rax
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0x188], rax
mov dword [rsp + 0x68], 0x3f
mov byte [rsp + 0x148], 0x7a
movsx eax, byte [rsp + 0x148]
mov ecx, 1
imul rcx, rcx, 0
lea rdx, str.SYSTEMControlSet001ServicesDiskEnum
movsx ecx, byte [rdx + rcx]
xor ecx, eax
mov eax, ecx
mov byte [rsp + 0x149], al
movsx eax, byte [rsp + 0x148]
mov ecx, 1
imul rcx, rcx, 1
lea rdx, str.SYSTEMControlSet001ServicesDiskEnum
movsx ecx, byte [rdx + rcx]
xor ecx, eax
mov eax, ecx
mov byte [rsp + 0x14a], al
movsx eax, byte [rsp + 0x148]
mov ecx, 1
imul rcx, rcx, 2
lea rdx, str.SYSTEMControlSet001ServicesDiskEnum
movsx ecx, byte [rdx + rcx]
xor ecx, eax
mov eax, ecx
mov byte [rsp + 0x14b], al
movsx eax, byte [rsp + 0x148]
mov ecx, 1
imul rcx, rcx, 3
lea rdx, str.SYSTEMControlSet001ServicesDiskEnum
movsx ecx, byte [rdx + rcx]
xor ecx, eax
mov eax, ecx
mov byte [rsp + 0x14c], al
movsx eax, byte [rsp + 0x148]
mov ecx, 1
imul rcx, rcx, 4
lea rdx, str.SYSTEMControlSet001ServicesDiskEnum
movsx ecx, byte [rdx + rcx]
xor ecx, eax
mov eax, ecx
mov byte [rsp + 0x14d], al
movsx eax, byte [rsp + 0x148]
mov ecx, 1
imul rcx, rcx, 5
lea rdx, str.SYSTEMControlSet001ServicesDiskEnum
movsx ecx, byte [rdx + rcx]
xor ecx, eax
mov eax, ecx
mov byte [rsp + 0x14e], al
movsx eax, byte [rsp + 0x148]
mov ecx, 1
imul rcx, rcx, 6
lea rdx, str.SYSTEMControlSet001ServicesDiskEnum
movsx ecx, byte [rdx + rcx]
xor ecx, eax
mov eax, ecx
mov byte [rsp + 0x14f], al
movsx eax, byte [rsp + 0x148]
mov ecx, 1
imul rcx, rcx, 7
lea rdx, str.SYSTEMControlSet001ServicesDiskEnum
movsx ecx, byte [rdx + rcx]
xor ecx, eax
mov eax, ecx
mov byte [rsp + 0x150], al
movsx eax, byte [rsp + 0x148]
mov ecx, 1
imul rcx, rcx, 8
lea rdx, str.SYSTEMControlSet001ServicesDiskEnum
movsx ecx, byte [rdx + rcx]
xor ecx, eax
mov eax, ecx
mov byte [rsp + 0x151], al
movsx eax, byte [rsp + 0x148]
mov ecx, 1
imul rcx, rcx, 9
lea rdx, str.SYSTEMControlSet001ServicesDiskEnum
movsx ecx, byte [rdx + rcx]
xor ecx, eax
mov eax, ecx
mov byte [rsp + 0x152], al
movsx eax, byte [rsp + 0x148]
mov ecx, 1
imul rcx, rcx, 0xa
lea rdx, str.SYSTEMControlSet001ServicesDiskEnum
movsx ecx, byte [rdx + rcx]
xor ecx, eax
mov eax, ecx
mov byte [rsp + 0x153], al
movsx eax, byte [rsp + 0x148]
mov ecx, 1
imul rcx, rcx, 0xb
lea rdx, str.SYSTEMControlSet001ServicesDiskEnum
movsx ecx, byte [rdx + rcx]
xor ecx, eax
mov eax, ecx
mov byte [rsp + 0x154], al
movsx eax, byte [rsp + 0x148]
mov ecx, 1
imul rcx, rcx, 0xc
lea rdx, str.SYSTEMControlSet001ServicesDiskEnum
movsx ecx, byte [rdx + rcx]
xor ecx, eax
mov eax, ecx
mov byte [rsp + 0x155], al
movsx eax, byte [rsp + 0x148]
mov ecx, 1
imul rcx, rcx, 0xd
lea rdx, str.SYSTEMControlSet001ServicesDiskEnum
movsx ecx, byte [rdx + rcx]
xor ecx, eax
mov eax, ecx
mov byte [rsp + 0x156], al
movsx eax, byte [rsp + 0x148]
mov ecx, 1
imul rcx, rcx, 0xe
lea rdx, str.SYSTEMControlSet001ServicesDiskEnum
movsx ecx, byte [rdx + rcx]
xor ecx, eax
mov eax, ecx
mov byte [rsp + 0x157], al
movsx eax, byte [rsp + 0x148]
mov ecx, 1
imul rcx, rcx, 0xf
lea rdx, str.SYSTEMControlSet001ServicesDiskEnum
movsx ecx, byte [rdx + rcx]
xor ecx, eax
mov eax, ecx
mov byte [rsp + 0x158], al
movsx eax, byte [rsp + 0x148]
mov ecx, 1
imul rcx, rcx, 0x10
lea rdx, str.SYSTEMControlSet001ServicesDiskEnum
movsx ecx, byte [rdx + rcx]
xor ecx, eax
mov eax, ecx
mov byte [rsp + 0x159], al
movsx eax, byte [rsp + 0x148]
mov ecx, 1
imul rcx, rcx, 0x11
lea rdx, str.SYSTEMControlSet001ServicesDiskEnum
movsx ecx, byte [rdx + rcx]
xor ecx, eax
mov eax, ecx
mov byte [rsp + 0x15a], al
movsx eax, byte [rsp + 0x148]
mov ecx, 1
imul rcx, rcx, 0x12
lea rdx, str.SYSTEMControlSet001ServicesDiskEnum
movsx ecx, byte [rdx + rcx]
xor ecx, eax
mov eax, ecx
mov byte [rsp + 0x15b], al
movsx eax, byte [rsp + 0x148]
mov ecx, 1
imul rcx, rcx, 0x13
lea rdx, str.SYSTEMControlSet001ServicesDiskEnum
movsx ecx, byte [rdx + rcx]
xor ecx, eax
mov eax, ecx
mov byte [rsp + 0x15c], al
movsx eax, byte [rsp + 0x148]
mov ecx, 1
imul rcx, rcx, 0x14
lea rdx, str.SYSTEMControlSet001ServicesDiskEnum
movsx ecx, byte [rdx + rcx]
xor ecx, eax
mov eax, ecx
mov byte [rsp + 0x15d], al
movsx eax, byte [rsp + 0x148]
mov ecx, 1
imul rcx, rcx, 0x15
lea rdx, str.SYSTEMControlSet001ServicesDiskEnum
movsx ecx, byte [rdx + rcx]
xor ecx, eax
mov eax, ecx
mov byte [rsp + 0x15e], al
movsx eax, byte [rsp + 0x148]
mov ecx, 1
imul rcx, rcx, 0x16
lea rdx, str.SYSTEMControlSet001ServicesDiskEnum
movsx ecx, byte [rdx + rcx]
xor ecx, eax
mov eax, ecx
mov byte [rsp + 0x15f], al
movsx eax, byte [rsp + 0x148]
mov ecx, 1
imul rcx, rcx, 0x17
lea rdx, str.SYSTEMControlSet001ServicesDiskEnum
movsx ecx, byte [rdx + rcx]
xor ecx, eax
mov eax, ecx
mov byte [rsp + 0x160], al
movsx eax, byte [rsp + 0x148]
mov ecx, 1
imul rcx, rcx, 0x18
lea rdx, str.SYSTEMControlSet001ServicesDiskEnum
movsx ecx, byte [rdx + rcx]
xor ecx, eax
mov eax, ecx
mov byte [rsp + 0x161], al
movsx eax, byte [rsp + 0x148]
mov ecx, 1
imul rcx, rcx, 0x19
lea rdx, str.SYSTEMControlSet001ServicesDiskEnum
movsx ecx, byte [rdx + rcx]
xor ecx, eax
mov eax, ecx
mov byte [rsp + 0x162], al
movsx eax, byte [rsp + 0x148]
mov ecx, 1
imul rcx, rcx, 0x1a
lea rdx, str.SYSTEMControlSet001ServicesDiskEnum
movsx ecx, byte [rdx + rcx]
xor ecx, eax
mov eax, ecx
mov byte [rsp + 0x163], al
movsx eax, byte [rsp + 0x148]
mov ecx, 1
imul rcx, rcx, 0x1b
lea rdx, str.SYSTEMControlSet001ServicesDiskEnum
movsx ecx, byte [rdx + rcx]
xor ecx, eax
mov eax, ecx
mov byte [rsp + 0x164], al
movsx eax, byte [rsp + 0x148]
mov ecx, 1
imul rcx, rcx, 0x1c
lea rdx, str.SYSTEMControlSet001ServicesDiskEnum
movsx ecx, byte [rdx + rcx]
xor ecx, eax
mov eax, ecx
mov byte [rsp + 0x165], al
movsx eax, byte [rsp + 0x148]
mov ecx, 1
imul rcx, rcx, 0x1d
lea rdx, str.SYSTEMControlSet001ServicesDiskEnum
movsx ecx, byte [rdx + rcx]
xor ecx, eax
mov eax, ecx
mov byte [rsp + 0x166], al
movsx eax, byte [rsp + 0x148]
mov ecx, 1
imul rcx, rcx, 0x1e
lea rdx, str.SYSTEMControlSet001ServicesDiskEnum
movsx ecx, byte [rdx + rcx]
xor ecx, eax
mov eax, ecx
mov byte [rsp + 0x167], al
movsx eax, byte [rsp + 0x148]
mov ecx, 1
imul rcx, rcx, 0x1f
lea rdx, str.SYSTEMControlSet001ServicesDiskEnum
movsx ecx, byte [rdx + rcx]
xor ecx, eax
mov eax, ecx
mov byte [rsp + 0x168], al
movsx eax, byte [rsp + 0x148]
mov ecx, 1
imul rcx, rcx, 0x20
lea rdx, str.SYSTEMControlSet001ServicesDiskEnum
movsx ecx, byte [rdx + rcx]
xor ecx, eax
mov eax, ecx
mov byte [rsp + 0x169], al
movsx eax, byte [rsp + 0x148]
mov ecx, 1
imul rcx, rcx, 0x21
lea rdx, str.SYSTEMControlSet001ServicesDiskEnum
movsx ecx, byte [rdx + rcx]
xor ecx, eax
mov eax, ecx
mov byte [rsp + 0x16a], al
movsx eax, byte [rsp + 0x148]
mov ecx, 1
imul rcx, rcx, 0x22
lea rdx, str.SYSTEMControlSet001ServicesDiskEnum
movsx ecx, byte [rdx + rcx]
xor ecx, eax
mov eax, ecx
mov byte [rsp + 0x16b], al
movsx eax, byte [rsp + 0x148]
mov ecx, 1
imul rcx, rcx, 0x23
lea rdx, str.SYSTEMControlSet001ServicesDiskEnum
movsx ecx, byte [rdx + rcx]
xor ecx, eax
mov eax, ecx
mov byte [rsp + 0x16c], al
movsx eax, byte [rsp + 0x148]
mov ecx, 1
imul rcx, rcx, 0x24
lea rdx, str.SYSTEMControlSet001ServicesDiskEnum
movsx ecx, byte [rdx + rcx]
xor ecx, eax
mov eax, ecx
mov byte [rsp + 0x16d], al
movsx eax, byte [rsp + 0x148]
mov ecx, 1
imul rcx, rcx, 0x25
lea rdx, str.SYSTEMControlSet001ServicesDiskEnum
movsx ecx, byte [rdx + rcx]
xor ecx, eax
mov eax, ecx
mov byte [rsp + 0x16e], al
movsx eax, byte [rsp + 0x148]
mov ecx, 1
imul rcx, rcx, 0x26
lea rdx, str.SYSTEMControlSet001ServicesDiskEnum
movsx ecx, byte [rdx + rcx]
xor ecx, eax
mov eax, ecx
mov byte [rsp + 0x16f], al
lea rax, [rsp + 0x170]
lea rax, [rsp + 0x170]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
mov qword [rsp + 0x58], 0
jmp 0x140022996
mov rax, qword [rsp + 0x58]
inc rax
mov qword [rsp + 0x58], rax
cmp qword [rsp + 0x58], 0x27
jae 0x1400229f1
mov rax, qword [rsp + 0x58]
lea rax, [rsp + rax + 0x149]
mov qword [rsp + 0xe0], rax
mov rax, qword [rsp + 0xe0]
movsx eax, byte [rax]
movsx ecx, byte [rsp + 0x148]
xor eax, ecx
mov byte [rsp + 0x37], al
mov rax, qword [rsp + 0x58]
lea rax, [rsp + rax + 0x149]
mov qword [rsp + 0xe8], rax
mov rax, qword [rsp + 0xe8]
mov cl, byte [rsp + 0x37]
mov byte [rax], cl
jmp 0x140022989
mov eax, 0x27
imul rax, rax, 1
lea rax, [rsp + rax + 0x149]
mov qword [rsp + 0xf0], rax
mov rax, qword [rsp + 0xf0]
mov byte [rax], 0
lea rax, [rsp + 0x149]
mov qword [rsp + 0xf8], rax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
mov rdx, qword [rsp + 0xf8]
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x140022bc5
mov byte [rsp + 0x30], 0x16
movsx eax, byte [rsp + 0x30]
mov ecx, 1
imul rcx, rcx, 0
lea rdx, [0x1400d5360]
movsx ecx, byte [rdx + rcx]
xor ecx, eax
mov eax, ecx
mov byte [rsp + 0x31], al
lea rax, [rsp + 0x32]
lea rax, [rsp + 0x32]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
mov qword [rsp + 0x60], 0
jmp 0x140022aa9
mov rax, qword [rsp + 0x60]
inc rax
mov qword [rsp + 0x60], rax
cmp qword [rsp + 0x60], 1
jae 0x140022afb
mov rax, qword [rsp + 0x60]
lea rax, [rsp + rax + 0x31]
mov qword [rsp + 0x100], rax
mov rax, qword [rsp + 0x100]
movsx eax, byte [rax]
movsx ecx, byte [rsp + 0x30]
xor eax, ecx
mov byte [rsp + 0x38], al
mov rax, qword [rsp + 0x60]
lea rax, [rsp + rax + 0x31]
mov qword [rsp + 0x108], rax
mov rax, qword [rsp + 0x108]
mov cl, byte [rsp + 0x38]
mov byte [rax], cl
jmp 0x140022a9c
mov eax, 1
imul rax, rax, 1
lea rax, [rsp + rax + 0x31]
mov qword [rsp + 0x110], rax
mov rax, qword [rsp + 0x110]
mov byte [rax], 0
lea rax, [rsp + 0x31]
mov qword [rsp + 0x118], rax
lea rax, [rsp + 0x68]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x190]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [rsp + 0x118]
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x140022bba
mov dword [rsp + 0x3c], 0
jmp 0x140022b71
mov eax, dword [rsp + 0x3c]
inc eax
mov dword [rsp + 0x3c], eax
movsxd rax, dword [rsp + 0x3c]
cmp rax, 3
jae 0x140022bba
movsxd rax, dword [rsp + 0x3c]
mov rax, qword [rsp + rax*8 + 0x178]
mov qword [rsp + 0x78], rax
mov rdx, qword [rsp + 0x78]
lea rcx, [rsp + 0x190]
call qword [sym.imp.VCRUNTIME140.dll_strstr]
test rax, rax
je 0x140022bb8
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, 1
jmp 0x140022bc7
jmp 0x140022b67
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor eax, eax
mov rcx, qword [rsp + 0x1d0]
xor rcx, rsp
call fcn.140083400
add rsp, 0x1e0
pop rdi
ret