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

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x16c8]
mov eax, 0x17c8
call fcn.18006ce90
sub rsp, rax
mov r12d, dword [rbp + 0x1728]
mov eax, r9d
mov edi, dword [0x1800ce90c]
mov r13, r8
mov r9, rdx
mov dword [rbp - 0x48], r12d
mov r10, rcx
lea esi, [rax + 0xf]
cmp eax, esi
jae 0x180052ee2
movzx ecx, byte [rbp + 0x1728]
lea ebx, [rax - 0x72]
mov eax, dword [rbp + 0x1728]
mov edx, dword [rbp + 0x1728]
mov r14d, dword [rbp + 0x1728]
movzx r15d, byte [rbp + 0x1728]
mov dword [rsp + 0x60], eax
movzx eax, byte [rbp + 0x1728]
mov qword [rsp + 0x70], rax
mov eax, dword [rbp + 0x1728]
mov dword [rbp - 0x58], eax
mov dword [rsp + 0x64], edx
mov qword [rsp + 0x68], rcx
lea r11, [0x18000f760]
lea r8, [0x180013bc0]
cmp ebx, 0x54
ja case.0x180052afb.2
lea rcx, [0x180000000]
movzx eax, byte [rcx + rbx + 0x5401c]
mov ecx, dword [rcx + rax*4 + 0x53fdc]
lea rax, [0x180000000]
add rcx, rax
jmp rcx
test edx, edx
jg 0x180052b18
xor ecx, ecx
mov qword [r13], rcx
mov edx, ecx
mov edi, dword [0x1800ce90c]
mov dword [rsp + 0x64], ecx
jmp case.0x180052afb.2
mov r8d, dword [rsp + 0x60]
lea eax, [r14 - 2]
mov r9, qword [rsp + 0x70]
mov r11, qword [rsp + 0x68]
cmp edx, eax
jle 0x180052e7f
movd xmm0, eax
cvtdq2pd xmm0, xmm0
cvttsd2si edx, xmm0
movsd qword [r13], xmm0
mov edi, dword [0x1800ce90c]
mov dword [rsp + 0x64], edx
jmp 0x180052e7f
mov r9d, dword [r10]
sar r9, 0x10
mov qword [rsp + 0x70], r9
jmp 0x180052e75
mov r11d, dword [r10]
mov r9, qword [rsp + 0x70]
sar r11, 0x18
mov qword [rsp + 0x68], r11
jmp 0x180052e7a
mov qword [r13 + 0x20], r8
mov edi, dword [0x1800ce90c]
jmp case.0x180052afb.2
movups xmm1, xmmword [str.Error_Failed_to_get_data_from_table_kAppletRegInfoTable]
mov eax, 1
movups xmm2, xmmword [0x1800982e8]
mov r12d, eax
mov dword [rbp - 0x48], eax
movups xmm3, xmmword [0x1800982f8]
xor eax, eax
movsd xmm0, qword [0x180098308]
mov dword [rbp + 0xb0], eax
movups xmmword [rbp + 0x78], xmm1
movups xmmword [rbp + 0x88], xmm2
movups xmmword [rbp + 0x98], xmm3
movsd qword [rbp + 0xa8], xmm0
jmp case.0x180052afb.2
mov rax, qword [r10]
lea rdx, [rbp - 0x68]
mov r15, rax
movzx ecx, al
sar r15, 8
mov r8d, 0xa
call fcn.180072358
lea rcx, [r13 - 1]
nop dword [rax]
cmp byte [rcx + 1], 0
lea rcx, [rcx + 1]
jne 0x180052c00
lea r8, [rbp - 0x68]
xor edx, edx
movzx eax, byte [r8 + rdx]
mov byte [rcx + rdx], al
lea rdx, [rdx + 1]
test al, al
jne 0x180052c10
mov edi, dword [0x1800ce90c]
mov edx, dword [rsp + 0x64]
mov r10, qword [rbp + 0x1710]
jmp case.0x180052afb.2
mov qword [0x1800b60f0], r13
mov qword [r13 + 0x10], r11
mov qword [r13 + 0x18], r10
mov edi, dword [0x1800ce90c]
jmp case.0x180052afb.2
mov eax, dword [r13]
mov dword [rbp + 0x161c], eax
jmp case.0x180052afb.2
cmp dword [r9], 0
cvttsd2si edx, qword [r13]
mov r8d, dword [0x1800ce910]
mov r9, qword [rsp + 0x70]
cmovne r8d, edi
mov r11, qword [rsp + 0x68]
mov dword [rsp + 0x60], r8d
mov dword [rsp + 0x64], edx
jmp 0x180052e7f
cmp dword [r9], 0
mov r14d, edi
cmovne r14d, dword [0x1800ce910]
jmp case.0x180052afb.2
mov byte [r13], 0
mov edi, dword [0x1800ce90c]
jmp case.0x180052afb.2
mov eax, 1
mov dword [rbp - 0x2c], 0x400
mov word [rbp - 0x78], ax
lea r8, [rbp]
mov rax, qword [r13]
lea rdx, [rbp - 0x78]
mov r9d, 0x47
mov qword [rbp], rax
lea rcx, [rbp + 0xaa0]
call fcn.180015320
lea rcx, [rbp + 0x790]
mov edx, 2
nop
lea rcx, [rcx + 0x80]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
lea rax, [rax + 0x80]
movups xmmword [rcx - 0x80], xmm0
movups xmm0, xmmword [rax - 0x60]
movups xmmword [rcx - 0x70], xmm1
movups xmm1, xmmword [rax - 0x50]
movups xmmword [rcx - 0x60], xmm0
movups xmm0, xmmword [rax - 0x40]
movups xmmword [rcx - 0x50], xmm1
movups xmm1, xmmword [rax - 0x30]
movups xmmword [rcx - 0x40], xmm0
movups xmm0, xmmword [rax - 0x20]
movups xmmword [rcx - 0x30], xmm1
movups xmm1, xmmword [rax - 0x10]
movups xmmword [rcx - 0x20], xmm0
movups xmmword [rcx - 0x10], xmm1
sub rdx, 1
jne 0x180052cf0
mov rax, qword [rax]
mov edx, 2
mov qword [rcx], rax
lea rcx, [rbp + 0x580]
lea rax, [rbp + 0x790]
nop dword [rax]
lea rcx, [rcx + 0x80]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
lea rax, [rax + 0x80]
movups xmmword [rcx - 0x80], xmm0
movups xmm0, xmmword [rax - 0x60]
movups xmmword [rcx - 0x70], xmm1
movups xmm1, xmmword [rax - 0x50]
movups xmmword [rcx - 0x60], xmm0
movups xmm0, xmmword [rax - 0x40]
movups xmmword [rcx - 0x50], xmm1
movups xmm1, xmmword [rax - 0x30]
movups xmmword [rcx - 0x40], xmm0
movups xmm0, xmmword [rax - 0x20]
movups xmmword [rcx - 0x30], xmm1
movups xmm1, xmmword [rax - 0x10]
movups xmmword [rcx - 0x20], xmm0
movups xmmword [rcx - 0x10], xmm1
sub rdx, 1
jne 0x180052d60
mov eax, dword [rax]
lea r8, [rbp + 0x580]
mov dword [rcx], eax
lea rdx, [rbp - 0x60]
xor eax, eax
mov r9d, 0xb6
xor ecx, ecx
mov dword [rbp - 0x60], eax
mov qword [rsp + 0x20], rax
call fcn.180034b90
mov edx, dword [rsp + 0x64]
mov r10, qword [rbp + 0x1710]
mov edi, dword [0x1800ce90c]
jmp case.0x180052afb.2
lea rcx, [r13 - 1]
cmp byte [rcx + 1], 0
lea rcx, [rcx + 1]
jne 0x180052df3
movzx eax, word [0x180098310]
lea rdx, [rbp - 0x68]
mov word [rcx], ax
mov r8d, 0xa
movzx ecx, r15b
call fcn.180072358
lea rcx, [r13 - 1]
nop
cmp byte [rcx + 1], 0
lea rcx, [rcx + 1]
jne 0x180052e20
lea r8, [rbp - 0x68]
xor edx, edx
movzx eax, byte [r8 + rdx]
mov byte [rcx + rdx], al
lea rdx, [rdx + 1]
test al, al
jne 0x180052e30
lea rcx, [r13 - 1]
cmp byte [rcx + 1], 0
lea rcx, [rcx + 1]
jne 0x180052e44
movzx eax, word [0x180098310]
mov edx, dword [rsp + 0x64]
mov r10, qword [rbp + 0x1710]
mov word [rcx], ax
mov edi, dword [0x1800ce90c]
jmp case.0x180052afb.2
xor eax, eax
mov dword [rbp - 0x58], eax
mov r9, qword [rsp + 0x70]
mov r11, qword [rsp + 0x68]
mov r8d, dword [rsp + 0x60]
inc ebx
lea eax, [rbx + 0x72]
cmp eax, esi
jae 0x180052f1f
mov r9, qword [rbp + 0x1718]
jmp 0x180052ac4
mov eax, dword [r13]
lea r8, [rbp - 0x48]
mov r9, qword [rbp + 0x1730]
xor edx, edx
mov dword [rbp + 0x1728], eax
xor ecx, ecx
lea rax, [rbp + 0x1728]
mov dword [rsp + 0x30], 0xab
mov qword [rsp + 0x28], r10
mov qword [rsp + 0x20], rax
mov dword [rbp - 0x48], 0
call fcn.180054110
mov dword [rbp - 0x10], eax
mov rax, qword [rbp - 0x10]
jmp 0x180053f29
movzx r9d, byte [rbp + 0x1728]
movzx r11d, byte [rbp + 0x1728]
mov r8d, dword [rbp + 0x1728]
mov r15d, dword [rbp + 0x1728]
mov esi, dword [rbp + 0x1728]
mov qword [rsp + 0x70], r9
mov qword [rsp + 0x68], r11
mov dword [rsp + 0x60], r8d
mov dword [rsp + 0x64], r15d
mov dword [rbp - 0x58], esi
jmp 0x180052f2d
mov r15d, dword [rsp + 0x64]
mov esi, dword [rbp - 0x58]
mov eax, dword [rbp + 0x1728]
lea edx, [rax + 0x10]
movaps xmmword [rsp + 0x17b0], xmm6
mov dword [rsp + 0x78], edx
cmp eax, edx
jae case.0x180052f80.167
mov rbx, qword [0x1800ce918]
movsd xmm6, qword [rbp - 0x28]
mov r14d, dword [rbp - 0x7c]
add eax, 0xffffff8e
cmp eax, 0x52
ja case.0x180052f80.117
lea rcx, [0x180000000]
movzx eax, byte [rcx + rax + 0x540b4]
mov ecx, dword [rcx + rax*4 + 0x54074]
lea rax, [0x180000000]
add rcx, rax
jmp rcx
mov rax, qword [rbp]
lea r9, [rbp - 0x70]
xor esi, esi
mov dword [rbp - 0x70], eax
mov rax, qword [r13]
lea rcx, [rbp + 0xb8]
mov qword [rsp + 0x40], rsi
xor r8d, r8d
mov qword [rsp + 0x38], rsi
xor edx, edx
mov qword [rbp - 0x50], rax
lea rax, [rbp - 0x50]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], 0x28
call fcn.180036ed0
mov edi, dword [0x1800ce90c]
mov rbx, qword [0x1800ce918]
mov edx, dword [rsp + 0x78]
jmp case.0x180052f80.117
lea rax, [rbp - 0x18]
mov qword [rbp], 0xffffffffffffffff
mov r9d, 0x20019
mov qword [rsp + 0x20], rax
xor r8d, r8d
lea rdx, [rbp + 0x78]
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x18005389d
mov rcx, qword [rbp - 0x18]
lea rax, [rbp + 0x18]
xor edi, edi
xor r9d, r9d
mov qword [rsp + 0x58], rdi
xor r8d, r8d
mov qword [rsp + 0x50], rdi
xor edx, edx
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x38], rax
lea rax, [rbp - 8]
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyW]
test eax, eax
jne 0x180053893
mov eax, dword [rbp - 8]
lea r8, [rbp + 0x580]
mov r9d, 0xb6
mov dword [rbp - 0x58], eax
lea rdx, [rbp - 0x58]
mov qword [rsp + 0x20], rdi
xor ecx, ecx
call fcn.180034b90
mov eax, dword [rbp - 8]
lea rcx, [rbp + 0x20]
mov qword [rsp + 0x38], rcx
lea r9, [rbp - 0x2c]
mov rcx, qword [rbp - 0x18]
lea r8, [rbp + 0xcc0]
mov qword [rsp + 0x30], rdi
mov edx, esi
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rdi
mov qword [rbp], rax
call qword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
cmp eax, 0x103
je 0x18005388e
mov rcx, qword [rbp - 0x18]
lea rax, [rbp - 0x20]
mov r9d, 0x20019
mov qword [rsp + 0x20], rax
xor r8d, r8d
lea rdx, [rbp + 0xcc0]
inc esi
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x180053846
mov ebx, 0x12a
cmp ebx, 0x9353a
ja 0x180053415
je 0x1800533e1
cmp ebx, 0x4301a
ja 0x1800532e5
je 0x180053281
cmp ebx, 0x12a
je 0x180053241
cmp ebx, 0xd75a
je 0x18005321f
cmp ebx, 0x1ad8a
je 0x18005320f
cmp ebx, 0x283ba
je 0x1800531c3
cmp ebx, 0x359ea
jne 0x180053834
mov rcx, rdi
nop word [rax + rax]
movzx eax, byte [rbp + rcx + 0x690]
mov byte [rbp + rcx + 0x380], al
lea rcx, [rcx + 1]
test al, al
jne 0x180053160
mov rcx, qword [rbp - 0x20]
lea rax, [rsp + 0x7c]
mov qword [rsp + 0x28], rax
lea rdx, [0x180098338]
lea rax, [rbp + 0x8a0]
mov dword [rsp + 0x7c], 0xff
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
je 0x180053834
mov dword [rbp + 0x8a0], 0x612f6e
jmp 0x180053834
mov rcx, qword [rbp - 0x20]
lea rax, [rsp + 0x7c]
mov qword [rsp + 0x28], rax
lea rdx, str.Display
lea rax, [rbp + 0x690]
mov dword [rsp + 0x7c], 0xff
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
je 0x180053834
mov dword [rbp + 0x690], 0x612f6e
jmp 0x180053834
movups xmm0, xmmword [rbp + 0x44]
movups xmmword [rbp + 0x114], xmm0
jmp 0x180053834
mov eax, dword [rbp + 0x40]
movups xmm0, xmmword [rbp + 0x54]
mov dword [rbp + 0x178], eax
mov eax, dword [rbp + 0x3c]
movups xmmword [rbp + 0x168], xmm0
mov dword [rbp + 0x124], eax
jmp 0x180053834
mov rcx, qword [rbp - 0x20]
lea rax, [rsp + 0x7c]
mov qword [rsp + 0x28], rax
lea rdx, [0x180098318]
lea rax, [rbp + 0x38]
mov dword [rsp + 0x7c], 0x2c
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov eax, dword [rbp + 0x38]
mov dword [rbp + 0xd0], eax
jmp 0x180053834
mov r8d, dword [rsp + 0x7c]
lea rdx, [rbp + 0x8a0]
lea rcx, [rbp + 0x128]
call fcn.18007396c
mov rcx, qword [rbp - 0x20]
lea rax, [rsp + 0x7c]
mov qword [rsp + 0x28], rax
lea rdx, [0x180098340]
lea rax, [rbp + 0x9a0]
mov dword [rsp + 0x7c], 0xff
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
je 0x180053834
mov dword [rbp + 0x9a0], 0x612f6e
jmp 0x180053834
cmp ebx, 0x5064a
je 0x1800533ba
cmp ebx, 0x5dc7a
je 0x180053396
cmp ebx, 0x6b2aa
je 0x18005337e
cmp ebx, 0x788da
je 0x180053366
cmp ebx, 0x85f0a
jne 0x180053834
movzx ecx, word [rbp + 0x14]
lea rdx, [rbp - 0x38]
mov r8d, 0xa
call fcn.180072358
mov rcx, rdi
nop
movzx eax, byte [rbp + rcx - 0x40]
mov byte [rbp + rcx + 0x280], al
lea rcx, [rcx + 1]
test al, al
jne 0x180053330
lea rcx, [rbp + 0x280]
dec rcx
nop
cmp byte [rcx + 1], dil
lea rcx, [rcx + 1]
jne 0x180053350
movzx eax, word [0x180098320]
jmp 0x180053831
movzx ecx, word [rbp + 0x12]
lea rdx, [rbp - 0x3c]
mov r8d, 0xa
call fcn.180072358
jmp 0x180053834
movzx ecx, word [rbp + 0x10]
lea rdx, [rbp - 0x40]
mov r8d, 0xa
call fcn.180072358
jmp 0x180053834
lea rcx, [rbp + 0x68]
call qword [sym.imp.KERNEL32.dll_GetSystemTime]
lea r8, [rbp + 8]
lea rdx, [rbp + 0x68]
lea rcx, [rbp + 0xd0]
call qword [sym.imp.KERNEL32.dll_SystemTimeToTzSpecificLocalTime]
jmp 0x180053834
mov r8d, dword [rsp + 0x7c]
lea rdx, [rbp + 0x9a0]
lea rcx, [rbp + 0xd4]
call fcn.18007396c
mov rcx, qword [rbp - 0x20]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x180053834
lea rcx, [rbp + 0x280]
dec rcx
nop dword [rax + rax]
cmp byte [rcx + 1], dil
lea rcx, [rcx + 1]
jne 0x1800533f0
lea r8, [rbp - 0x3c]
xor edx, edx
movzx eax, byte [r8 + rdx]
mov byte [rcx + rdx], al
lea rdx, [rdx + 1]
test al, al
jne 0x180053400
jmp 0x180053834
cmp ebx, 0xe3a5a
ja 0x180053595
je 0x180053525
cmp ebx, 0xa0b6a
je 0x180053344
cmp ebx, 0xae19a
je 0x1800534f1
cmp ebx, 0xbb7ca
je 0x1800534d8
cmp ebx, 0xc8dfa
je 0x18005348a
cmp ebx, 0xd642a
jne 0x180053834
movzx ecx, word [rbp + 0xa]
lea rdx, [rbp - 0x34]
mov r8d, 0xa
call fcn.180072358
movzx ecx, word [rbp + 8]
lea rdx, [rbp + 0x28]
mov r8d, 0xa
call fcn.180072358
jmp 0x180053834
lea rcx, [rbp + 0x380]
dec rcx
cmp byte [rcx + 1], dil
lea rcx, [rcx + 1]
jne 0x180053494
lea r8, [rbp + 0x280]
xor edx, edx
nop word [rax + rax]
movzx eax, byte [r8 + rdx]
mov byte [rcx + rdx], al
lea rdx, [rdx + 1]
test al, al
jne 0x1800534b0
movzx ecx, word [rbp + 0xe]
lea rdx, [rbp - 0x30]
mov r8d, 0xa
call fcn.180072358
jmp 0x180053834
lea rcx, [rbp + 0x380]
dec rcx
cmp byte [rcx + 1], dil
lea rcx, [rcx + 1]
jne 0x1800534e2
jmp 0x18005382a
lea rcx, [rbp + 0x280]
dec rcx
nop dword [rax + rax]
cmp byte [rcx + 1], dil
lea rcx, [rcx + 1]
jne 0x180053500
lea r8, [rbp - 0x38]
xor edx, edx
movzx eax, byte [r8 + rdx]
mov byte [rcx + rdx], al
lea rdx, [rdx + 1]
test al, al
jne 0x180053510
jmp 0x180053834
mov rcx, rdi
nop dword [rax + rax]
movzx eax, byte [rbp + rcx - 0x34]
mov byte [rbp + rcx + 0x180], al
lea rcx, [rcx + 1]
test al, al
jne 0x180053530
lea rcx, [rbp + 0x180]
dec rcx
nop
cmp byte [rcx + 1], dil
lea rcx, [rcx + 1]
jne 0x180053550
movzx eax, word [0x180095de8]
mov word [rcx], ax
lea rcx, [rbp + 0x180]
dec rcx
nop
cmp byte [rcx + 1], dil
lea rcx, [rcx + 1]
jne 0x180053570
lea r8, [rbp - 0x30]
xor edx, edx
movzx eax, byte [r8 + rdx]
mov byte [rcx + rdx], al
lea rdx, [rdx + 1]
test al, al
jne 0x180053580
jmp 0x180053834
cmp ebx, 0xf108a
je 0x1800537b9
cmp ebx, 0xfe6ba
je 0x18005374f
cmp ebx, 0x10bcea
je 0x1800536cf
cmp ebx, 0x11931a
jne 0x180053834
lea rcx, [rbp + 0x380]
dec rcx
nop
cmp byte [rcx + 1], dil
lea rcx, [rcx + 1]
jne 0x1800535d0
lea r8, [rbp + 0x180]
xor edx, edx
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [r8 + rdx]
mov byte [rcx + rdx], al
lea rdx, [rdx + 1]
test al, al
jne 0x1800535f0
lea rcx, [rbp + 0xaa0]
mov edx, 2
lea rax, [rbp + 0x580]
nop dword [rax]
nop word [rax + rax]
lea rcx, [rcx + 0x80]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
lea rax, [rax + 0x80]
movups xmmword [rcx - 0x80], xmm0
movups xmm0, xmmword [rax - 0x60]
movups xmmword [rcx - 0x70], xmm1
movups xmm1, xmmword [rax - 0x50]
movups xmmword [rcx - 0x60], xmm0
movups xmm0, xmmword [rax - 0x40]
movups xmmword [rcx - 0x50], xmm1
movups xmm1, xmmword [rax - 0x30]
movups xmmword [rcx - 0x40], xmm0
movups xmm0, xmmword [rax - 0x20]
movups xmmword [rcx - 0x30], xmm1
movups xmm1, xmmword [rax - 0x10]
movups xmmword [rcx - 0x20], xmm0
movups xmmword [rcx - 0x10], xmm1
sub rdx, 1
jne 0x180053620
mov eax, dword [rax]
mov dword [rcx], eax
lea rcx, [rbp + 0x380]
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], dil
jne 0x180053685
mov qword [rbp - 0x48], rax
lea r9, [rbp + 0x380]
mov eax, r12d
lea r8, [rbp - 0x48]
mov qword [rbp - 0x50], rax
lea rcx, [rbp + 0xbb0]
lea rax, [rbp + 0xaa0]
mov edx, 0xa5
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x50]
mov qword [rsp + 0x20], rax
call fcn.18003b5b0
jmp 0x180053834
lea rcx, [rbp + 0x380]
dec rcx
nop dword [rax]
cmp byte [rcx + 1], dil
lea rcx, [rcx + 1]
jne 0x1800536e0
movzx eax, word [0x180098348]
mov word [rcx], ax
lea rcx, [rbp + 0x380]
dec rcx
nop
cmp byte [rcx + 1], dil
lea rcx, [rcx + 1]
jne 0x180053700
lea r8, [rbp + 0x280]
xor edx, edx
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [r8 + rdx]
mov byte [rcx + rdx], al
lea rdx, [rdx + 1]
test al, al
jne 0x180053720
lea rcx, [rbp + 0x380]
dec rcx
nop word [rax + rax]
cmp byte [rcx + 1], dil
lea rcx, [rcx + 1]
jne 0x180053740
jmp 0x18005382a
lea rcx, [rbp + 0x380]
dec rcx
nop dword [rax]
cmp byte [rcx + 1], dil
lea rcx, [rcx + 1]
jne 0x180053760
lea r8, [rbp + 0x180]
xor edx, edx
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [r8 + rdx]
mov byte [rcx + rdx], al
lea rdx, [rdx + 1]
test al, al
jne 0x180053780
mov rcx, rdi
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rbp + rcx + 0x690]
mov byte [rbp + rcx + 0x380], al
lea rcx, [rcx + 1]
test al, al
jne 0x1800537a0
jmp 0x180053834
lea rcx, [rbp + 0x180]
dec rcx
cmp byte [rcx + 1], dil
lea rcx, [rcx + 1]
jne 0x1800537c3
movzx eax, word [0x180095de8]
mov word [rcx], ax
lea rcx, [rbp + 0x180]
dec rcx
cmp byte [rcx + 1], dil
lea rcx, [rcx + 1]
jne 0x1800537e1
lea r8, [rbp + 0x28]
xor edx, edx
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [r8 + rdx]
mov byte [rcx + rdx], al
lea rdx, [rdx + 1]
test al, al
jne 0x180053800
lea rcx, [rbp + 0x380]
dec rcx
nop word [rax + rax]
cmp byte [rcx + 1], dil
lea rcx, [rcx + 1]
jne 0x180053820
movzx eax, word [0x180098348]
mov word [rcx], ax
add ebx, 0xd630
cmp ebx, 0x126820
jbe 0x1800530f3
mov rcx, qword [rbp - 0x18]
lea rax, [rbp + 0x20]
mov qword [rsp + 0x38], rax
lea r9, [rbp - 0x2c]
mov qword [rsp + 0x30], rdi
lea r8, [rbp + 0xcc0]
mov qword [rsp + 0x28], rdi
mov edx, esi
mov qword [rsp + 0x20], rdi
inc r12d
mov dword [rbp - 0x2c], 0x400
call qword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
cmp eax, 0x103
jne 0x1800530c1
mov dword [rbp - 0x48], r12d
inc esi
mov dword [rbp - 0x58], esi
mov rcx, qword [rbp - 0x18]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea rcx, [rbp + 0x790]
mov edx, 2
lea rax, [rbp + 0x580]
lea rcx, [rcx + 0x80]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
lea rax, [rax + 0x80]
movups xmmword [rcx - 0x80], xmm0
movups xmm0, xmmword [rax - 0x60]
movups xmmword [rcx - 0x70], xmm1
movups xmm1, xmmword [rax - 0x50]
movups xmmword [rcx - 0x60], xmm0
movups xmm0, xmmword [rax - 0x40]
movups xmmword [rcx - 0x50], xmm1
movups xmm1, xmmword [rax - 0x30]
movups xmmword [rcx - 0x40], xmm0
movups xmm0, xmmword [rax - 0x20]
movups xmmword [rcx - 0x30], xmm1
movups xmm1, xmmword [rax - 0x10]
movups xmmword [rcx - 0x20], xmm0
movups xmmword [rcx - 0x10], xmm1
sub rdx, 1
jne 0x1800538b0
mov eax, dword [rax]
lea r9, [rbp - 0x50]
mov dword [rcx], eax
lea r8, [rbp + 0x790]
mov eax, 1
mov byte [rbp - 0x78], dl
mov word [rbp - 0x70], ax
lea rcx, [rbp - 0x70]
mov rax, qword [r13]
mov edx, 0x26
mov qword [rbp - 0x50], rax
lea rax, [rbp - 0x78]
mov qword [rsp + 0x20], rax
call fcn.18005fbb0
jmp 0x180052fc8
movzx ecx, r11b
lea rdx, [rbp - 0x68]
mov r8d, 0xa
call fcn.180072358
lea rcx, [r13 - 1]
nop dword [rax]
cmp byte [rcx + 1], 0
lea rcx, [rcx + 1]
jne 0x180053960
lea r8, [rbp - 0x68]
xor edx, edx
movzx eax, byte [r8 + rdx]
mov byte [rcx + rdx], al
lea rdx, [rdx + 1]
test al, al
jne 0x180053970
jmp 0x180052fc8
xor eax, eax
mov word [0x1800ce8f8], ax
jmp case.0x180052f80.117
movsd xmm0, qword [r10]
call fcn.18007c510
mov rax, qword [rbp + 0x1730]
cvttsd2si r14d, xmm0
movsd xmm0, qword [rax]
mov dword [rbp - 0x7c], r14d
call fcn.18007c510
mov edx, dword [rsp + 0x78]
cvttsd2si eax, xmm0
mov dword [rbp - 0x60], eax
jmp case.0x180052f80.117
mov eax, dword [rbp - 0x60]
sub eax, r14d
mov dword [rbp - 0x80], eax
jmp case.0x180052f80.117
mov eax, dword [rbp - 0x80]
movaps xmm1, xmm6
inc eax
movd xmm0, eax
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
movsd qword [rbp - 0x10], xmm1
jmp case.0x180052f80.117
lea rax, [0x180013bd0]
mov qword [r13 + 0x40], rax
mov rax, qword [rbp - 0x28]
mov qword [r13 + 0x48], rax
mov edi, dword [0x1800ce90c]
mov rbx, qword [0x1800ce918]
jmp case.0x180052f80.117
mov rbx, qword [rbp + 0x1730]
lea rax, [0x180013e00]
mov ecx, 8
mov qword [r13 + 0x28], rbx
mov qword [r13 + 0x50], rax
call fcn.18006caa8
mov qword [rbp - 0x28], rax
mov qword [rax], rbx
jmp 0x180052fc8
mov eax, 0x34
nop dword [rax + rax]
cmp eax, 0x34
je 0x180053eed
add eax, 0xe6c
cmp eax, 0xe6c
jbe 0x180053a50
mov r12d, dword [rbp - 0x7c]
xor esi, esi
test r12d, r12d
mov eax, esi
cmovns eax, r12d
mov dword [rbp - 0x7c], eax
cmp eax, r8d
jl 0x180053a86
lea r14d, [r8 - 1]
mov dword [rbp - 0x7c], r14d
jmp 0x180053a89
mov r14d, eax
mov ecx, dword [rbp - 0x60]
mov eax, esi
test ecx, ecx
cmovns eax, ecx
lea ecx, [r8 - 1]
cmp eax, r8d
cmovl ecx, eax
mov dword [rbp - 0x60], ecx
jmp case.0x180052f80.117
mov r13d, dword [rbp - 0x80]
cmp r13d, 1
jle 0x180053f3d
cmp r13d, 0x32
mov eax, 0x32
xorps xmm6, xmm6
cmovg r13d, eax
xor eax, eax
mov ecx, eax
mov dword [rbp - 0x80], r13d
lea eax, [r13 + 1]
cmp eax, 4
jl 0x180053d26
mov ecx, dword [rbp - 0x7c]
lea r9d, [r15 + 1]
mov edx, dword [rbp - 0x60]
mov r14d, edi
mov rax, qword [rbp + 0x1718]
mov r12d, edx
sub r12d, ecx
movd xmm0, r15d
imul r14d, r15d
movd xmm4, r9d
mov esi, dword [rax]
mov rax, qword [rbp + 0x1720]
lea r15d, [r12*4]
cvtdq2pd xmm4, xmm4
movsd xmm3, qword [rax]
mov eax, r13d
imul eax, ecx
subsd xmm4, xmm3
mov r13d, edx
sub r13d, ecx
cvtdq2pd xmm0, xmm0
lea r8d, [rax + r12*2]
mov eax, ecx
mov ecx, dword [rbp - 0x80]
sub eax, edx
subsd xmm3, xmm0
lea r11d, [rax + rax]
add r13d, r11d
lea r10d, [rcx + 1]
shr r10, 2
lea eax, [r10*4]
mov dword [rbp - 0x70], eax
nop word [rax + rax]
lea eax, [r11 + r8]
cdq
idiv ecx
test esi, esi
je 0x180053b93
mov ecx, r9d
imul ecx, edi
add ecx, eax
add eax, r14d
add ecx, ecx
movsxd rcx, ecx
add eax, eax
cdqe
movsx edx, word [rbx + rcx*2 + 2]
movsx ecx, word [rbx + rax*2 + 2]
movd xmm1, edx
movd xmm0, ecx
jmp 0x180053bb0
imul eax, edi
add eax, dword [rsp + 0x64]
add eax, eax
movsxd rcx, eax
movsx eax, word [rbx + rcx*2 + 4]
movd xmm1, eax
movsx eax, word [rbx + rcx*2]
movd xmm0, eax
cvtdq2pd xmm1, xmm1
lea eax, [r8 + r13]
cdq
idiv dword [rbp - 0x80]
mulsd xmm1, xmm3
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm4
addsd xmm1, xmm0
addsd xmm1, xmm6
test esi, esi
je 0x180053bfc
mov ecx, r9d
imul ecx, edi
add ecx, eax
add eax, r14d
add ecx, ecx
movsxd rcx, ecx
add eax, eax
cdqe
movsx edx, word [rbx + rcx*2 + 2]
movsx ecx, word [rbx + rax*2 + 2]
movd xmm2, edx
movd xmm0, ecx
jmp 0x180053c19
imul eax, edi
add eax, dword [rsp + 0x64]
add eax, eax
movsxd rcx, eax
movsx eax, word [rbx + rcx*2 + 4]
movd xmm2, eax
movsx eax, word [rbx + rcx*2]
movd xmm0, eax
cvtdq2pd xmm2, xmm2
mov eax, r8d
cdq
idiv dword [rbp - 0x80]
mulsd xmm2, xmm3
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm4
addsd xmm2, xmm0
addsd xmm2, xmm1
test esi, esi
je 0x180053c64
mov ecx, r9d
imul ecx, edi
add ecx, eax
add eax, r14d
add ecx, ecx
movsxd rcx, ecx
add eax, eax
cdqe
movsx edx, word [rbx + rcx*2 + 2]
movsx ecx, word [rbx + rax*2 + 2]
movd xmm1, edx
movd xmm0, ecx
jmp 0x180053c81
imul eax, edi
add eax, dword [rsp + 0x64]
add eax, eax
movsxd rcx, eax
movsx eax, word [rbx + rcx*2 + 4]
movd xmm1, eax
movsx eax, word [rbx + rcx*2]
movd xmm0, eax
cvtdq2pd xmm1, xmm1
lea eax, [r12 + r8]
cdq
idiv dword [rbp - 0x80]
mulsd xmm1, xmm3
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm4
addsd xmm1, xmm0
addsd xmm1, xmm2
test esi, esi
je 0x180053ccd
mov ecx, r9d
imul ecx, edi
add ecx, eax
add eax, r14d
add ecx, ecx
movsxd rcx, ecx
add eax, eax
cdqe
movsx edx, word [rbx + rcx*2 + 2]
movsx ecx, word [rbx + rax*2 + 2]
movd xmm6, edx
movd xmm0, ecx
jmp 0x180053cea
imul eax, edi
add eax, dword [rsp + 0x64]
add eax, eax
movsxd rcx, eax
movsx eax, word [rbx + rcx*2 + 4]
movd xmm6, eax
movsx eax, word [rbx + rcx*2]
movd xmm0, eax
mov ecx, dword [rbp - 0x80]
add r8d, r15d
cvtdq2pd xmm6, xmm6
cvtdq2pd xmm0, xmm0
mulsd xmm6, xmm3
mulsd xmm0, xmm4
addsd xmm6, xmm0
addsd xmm6, xmm1
sub r10, 1
jne 0x180053b60
mov ecx, dword [rbp - 0x70]
mov r13d, dword [rbp - 0x80]
cmp ecx, r13d
jle 0x180053d46
mov r14d, dword [rbp - 0x7c]
mov edx, dword [rsp + 0x78]
mov r15d, dword [rsp + 0x64]
cmp ecx, r13d
jg 0x180053e11
mov rax, qword [rbp + 0x1718]
mov r14d, edi
imul r14d, r15d
mov esi, dword [rax]
jmp 0x180053d4b
mov r15d, dword [rsp + 0x64]
mov rax, qword [rbp + 0x1720]
lea r11d, [r15 + 1]
mov r10d, dword [rbp - 0x60]
mov r8d, r13d
sub r10d, dword [rbp - 0x7c]
mov r9d, r13d
imul r8d, dword [rbp - 0x7c]
sub r9d, ecx
movsd xmm2, qword [rax]
mov eax, r10d
imul eax, ecx
movd xmm3, r11d
movd xmm0, r15d
cvtdq2pd xmm3, xmm3
add r8d, eax
inc r9d
cvtdq2pd xmm0, xmm0
subsd xmm3, xmm2
subsd xmm2, xmm0
mov eax, r8d
cdq
idiv r13d
test esi, esi
je 0x180053dc9
mov ecx, r11d
imul ecx, edi
add ecx, eax
add eax, r14d
add ecx, ecx
movsxd rcx, ecx
add eax, eax
cdqe
movsx edx, word [rbx + rcx*2 + 2]
movsx ecx, word [rbx + rax*2 + 2]
movd xmm1, edx
movd xmm0, ecx
jmp 0x180053de5
imul eax, edi
add eax, r15d
add eax, eax
movsxd rcx, eax
movsx eax, word [rbx + rcx*2 + 4]
movd xmm1, eax
movsx eax, word [rbx + rcx*2]
movd xmm0, eax
cvtdq2pd xmm1, xmm1
add r8d, r10d
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm2
mulsd xmm0, xmm3
addsd xmm1, xmm0
addsd xmm1, xmm6
movaps xmm6, xmm1
sub r9, 1
jne 0x180053d96
mov r14d, dword [rbp - 0x7c]
mov edx, dword [rsp + 0x78]
mov r13, qword [rbp + 0x1720]
mov eax, dword [rbp + 0x1728]
inc eax
mov dword [rbp + 0x1728], eax
cmp eax, edx
jae case.0x180052f80.167
mov r12d, dword [rbp - 0x48]
mov esi, dword [rbp - 0x58]
mov r10, qword [rbp + 0x1710]
mov r8d, dword [rsp + 0x60]
mov r9, qword [rsp + 0x70]
mov r11, qword [rsp + 0x68]
jmp 0x180052f54
mov rax, qword [rbp + 0x1730]
lea r8, [rbp - 0x70]
xor r9d, r9d
mov dword [rbp + 0x1620], eax
mov rdx, r10
mov dword [rbp - 0x70], 0x200
lea rcx, [rbp + 0x12c0]
mov dword [rsp + 0x20], 0x157
call fcn.1800108e0
mov ecx, 0xffffff22
lea rdx, [rbp + 0x10c0]
call qword [0x1800ce8f0]
jmp 0x180052fc8
movzx ecx, r9b
lea rdx, [rbp - 0x68]
mov r8d, 0xa
call fcn.180072358
lea rcx, [r13 - 1]
cmp byte [rcx + 1], 0
lea rcx, [rcx + 1]
jne 0x180053eb0
lea r8, [rbp - 0x68]
xor edx, edx
movzx eax, byte [r8 + rdx]
mov byte [rcx + rdx], al
lea rdx, [rdx + 1]
test al, al
jne 0x180053ec0
lea rcx, [r13 - 1]
cmp byte [rcx + 1], 0
lea rcx, [rcx + 1]
jne 0x180053ed4
movzx eax, word [0x180098310]
mov word [rcx], ax
jmp 0x180052fc8
lea rax, [0x1800137a0]
mov qword [r13 + 0x38], r10
mov qword [r13 + 0x30], rax
xor r9d, r9d
mov rax, qword [rbp + 0x1730]
mov edx, 0x102
mov rcx, r13
mov r8, qword [rax + 0x98]
call fcn.180043de0
mov byte [rbp - 0x10], al
mov rax, qword [rbp - 0x10]
movaps xmm6, xmmword [rsp + 0x17b0]
add rsp, 0x17c8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov rax, qword [rbp + 0x1718]
lea r9, [rbp - 0x28]
mov r8d, 0xc7
lea rdx, [rbp + 0x1728]
lea rcx, [rbp - 0x50]
cmp dword [rax], 0
je 0x180053f9d
movsd xmm1, qword [r10]
mov eax, 1
mov dword [rbp + 0x1728], eax
mov rax, qword [rbp + 0x1720]
movsd xmm0, qword [rax]
mov rax, qword [rbp + 0x1730]
movsd qword [rbp - 0x28], xmm0
addsd xmm1, qword [rax]
mulsd xmm1, qword [0x18009c2c8]
movsd qword [rbp - 0x50], xmm1
call fcn.18005a820
jmp 0x180053f21
movsd xmm0, qword [r10]
xor eax, eax
mov dword [rbp + 0x1728], eax
mov rax, qword [rbp + 0x1730]
addsd xmm0, qword [rax]
mov rax, qword [rbp + 0x1720]
mulsd xmm0, qword [0x18009c2c8]
movsd qword [rbp - 0x28], xmm0
movsd xmm0, qword [rax]
movsd qword [rbp - 0x50], xmm0
call fcn.18005a820
jmp 0x180053f21