Function at 0x140025ae0
Capabilities:
Get session user name
Query or enumerate registry key
Query or enumerate registry value

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x12c8]
mov eax, 0x13c8
call fcn.14003d9b0
sub rsp, rax
mov qword [rbp + 0x40], 0xfffffffffffffffe
mov rax, qword [0x14007b658]
xor rax, rsp
mov qword [rbp + 0x12b0], rax
mov r14, r9
mov esi, r8d
mov r15, rdx
mov rbx, rcx
xor edx, edx
mov r8d, 0x200
lea rcx, [rbp + 0x720]
call fcn.14003f490
mov dword [rbp + 0x198], 0x80
xor r12d, r12d
mov dword [rbp + 0x1a4], r12d
mov qword [rbp + 0x190], r12
mov qword [rbp + 0x180], r12
xor edx, edx
mov r8d, 0x80
lea rcx, [rbp + 0x420]
call fcn.14003f490
lea rdx, [0x140055950]
lea rcx, [rbp + 0x2b0]
call fcn.14000a680
nop
lea rdx, [0x140055950]
lea rcx, [rbp + 0x1d0]
call fcn.14000a680
nop
test esi, esi
jne 0x140025bb2
lea rdx, [0x1400898a4]
lea rcx, [rbp + 0x1d0]
call fcn.1400029b0
jmp 0x140025bdc
mov rdx, rbx
lea rcx, [rbp + 0x270]
call fcn.140019cf0
mov rdx, rax
lea rcx, [rbp + 0x1d0]
call fcn.14000a6e0
lea rcx, [rbp + 0x270]
call fcn.140002990
mov edx, 0x7f
lea rcx, [0x14008da10]
call fcn.14000a780
mov r8, rax
lea rdx, [rbp + 0x1d0]
lea rcx, [rbp + 0x390]
call fcn.14000a200
nop
lea rcx, [rbp + 0x390]
call fcn.140009de0
mov rdx, rax
lea rax, [rbp + 0x190]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x140027403
cmp dword [0x14008e400], eax
jne 0x140025c56
cmp esi, 1
jne 0x140025c56
lea rcx, [rbp + 0x1d0]
call fcn.14001df00
mov edi, r12d
lea r13, str.Connection
mov dword [rbp + 0x1a4], 0x40
xor edx, edx
mov r8d, 0x80
lea rcx, [rbp + 0x420]
call fcn.14003f490
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r12
lea r9, [rbp + 0x1a4]
lea r8, [rbp + 0x420]
mov edx, edi
mov rcx, qword [rbp + 0x190]
call qword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
test eax, eax
jne 0x14002693f
lea rcx, [rbp + 0x420]
mov rax, 0xffffffffffffffff
inc rax
cmp word [rcx + rax*2], 0
jne 0x140025cc5
cmp rax, 4
jne 0x140026931
xor edx, edx
mov r8d, 0x100
lea rcx, [rbp + 0x4a0]
call fcn.14003f490
xor edx, edx
mov r8d, 0x80
lea rcx, [rbp + 0x6a0]
call fcn.14003f490
xor edx, edx
mov r8d, 0x200
lea rcx, [rbp + 0x10a0]
call fcn.14003f490
xor eax, eax
mov qword [rbp + 0x3f0], rax
mov qword [rbp + 0x3f8], rax
mov qword [rbp + 0x400], rax
mov qword [rbp + 0x408], rax
mov qword [rbp + 0x410], rax
mov qword [rbp + 0x418], rax
xor edx, edx
mov r8d, 0x100
lea rcx, [rbp + 0xca0]
call fcn.14003f490
xor edx, edx
mov r8d, 0x100
lea rcx, [rbp + 0xea0]
call fcn.14003f490
xor edx, edx
mov r8d, 0x100
lea rcx, [rbp + 0xda0]
call fcn.14003f490
xor edx, edx
mov r8d, 0x100
lea rcx, [rbp + 0x9a0]
call fcn.14003f490
xor edx, edx
mov r8d, 0x100
lea rcx, [rbp + 0xba0]
call fcn.14003f490
xor edx, edx
mov r8d, 0x80
lea rcx, [rbp + 0x620]
call fcn.14003f490
lea rcx, [rbp + 0x1b0]
call fcn.14000a6c0
nop
lea rdx, [0x140055950]
lea rcx, [rbp + 0x350]
call fcn.14000a680
nop
mov edx, 0x25
lea rcx, [0x14008da10]
call fcn.14000a780
mov rdx, rax
lea rcx, [rbp + 0x290]
call fcn.140002940
nop
lea r8, [0x1400760ac]
lea rdx, [rbp + 0x390]
lea rcx, [rbp + 0x148]
call fcn.14000a290
nop
lea r8, [rbp + 0x420]
mov rdx, rax
lea rcx, [rbp + 0x370]
call fcn.14000a1c0
nop
lea rcx, [rbp + 0x148]
call fcn.140002990
lea rcx, [rbp + 0x370]
call fcn.140009de0
mov rdx, rax
lea rax, [rbp + 0x180]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x140026652
mov dword [rbp + 0x198], 0x100
xor edx, edx
mov r8d, 0x100
lea rcx, [rbp + 0x4a0]
call fcn.14003f490
mov edx, 0x3e
lea rcx, [0x140088710]
call fcn.14000a780
mov rcx, rax
call fcn.140009de0
lea rcx, [rbp + 0x198]
mov qword [rsp + 0x28], rcx
lea rcx, [rbp + 0x4a0]
mov qword [rsp + 0x20], rcx
xor r9d, r9d
xor r8d, r8d
mov rdx, rax
mov rcx, qword [rbp + 0x180]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov dword [rbp + 0x198], 4
mov dword [rbp + 0x19c], r12d
lea rax, [rbp + 0x198]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x19c]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea rdx, str.Characteristics
mov rcx, qword [rbp + 0x180]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test byte [rbp + 0x19c], 4
jne 0x140025f35
mov rcx, qword [rbp + 0x180]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x1400268fe
test eax, eax
je 0x140025f94
xor edx, edx
mov r8d, 0x100
lea rcx, [rbp + 0x4a0]
call fcn.14003f490
mov edx, 0x3f
lea rcx, [0x140088710]
call fcn.14000a780
mov rcx, rax
call fcn.140009de0
lea rcx, [rbp + 0x198]
mov qword [rsp + 0x28], rcx
lea rcx, [rbp + 0x4a0]
mov qword [rsp + 0x20], rcx
xor r9d, r9d
xor r8d, r8d
mov rdx, rax
mov rcx, qword [rbp + 0x180]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
lea rax, [rbp + 0x4a0]
mov rdx, 0xffffffffffffffff
inc rdx
cmp word [rax + rdx*2], 0
jne 0x140025fa2
lea rcx, [rbp + 0x4a0]
call fcn.140014530
mov edx, 0x20
lea rcx, [0x140088710]
call fcn.14000a780
mov rcx, rax
call fcn.140009de0
mov rdx, rax
lea rcx, [rbp + 0x4a0]
call fcn.14003b3c0
test rax, rax
jne 0x140026022
lea edx, [rax + 0x1f]
lea rcx, [0x140088710]
call fcn.14000a780
mov rcx, rax
call fcn.140009de0
mov rdx, rax
lea rcx, [rbp + 0x4a0]
call fcn.14003b3c0
test rax, rax
jne 0x140026022
mov rcx, qword [rbp + 0x180]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x1400268fe
lea rdx, [rbp + 0x4a0]
lea rcx, [rbp + 0x1b0]
call fcn.1400029b0
mov r8d, 5
lea rdx, [0x1400760ac]
lea rcx, [rbp + 0x1b0]
call fcn.140009ea0
mov r9d, eax
xor r8d, r8d
lea rdx, [rbp + 0x210]
lea rcx, [rbp + 0x1b0]
call fcn.14000e7f0
mov rdx, rax
lea rcx, [rbp + 0x1b0]
call fcn.14000a6e0
lea rcx, [rbp + 0x210]
call fcn.140002990
mov dword [rbp + 0x198], 0x100
mov edx, 0x40
lea rcx, [0x140088710]
call fcn.14000a780
mov rcx, rax
call fcn.140009de0
lea rcx, [rbp + 0x198]
mov qword [rsp + 0x28], rcx
lea rcx, [rbp + 0x620]
mov qword [rsp + 0x20], rcx
xor r9d, r9d
xor r8d, r8d
mov rdx, rax
mov rcx, qword [rbp + 0x180]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x140026578
mov qword [rbp + 0x178], r12
lea edx, [rax + 0x48]
lea rcx, [0x140088710]
call fcn.14000a780
mov rcx, rax
call fcn.140009de0
mov rdx, rax
lea rcx, [rbp + 0x210]
call fcn.14000a680
nop
mov edx, 0x45
lea rcx, [0x140088710]
call fcn.14000a780
mov rcx, rax
call fcn.140009de0
mov rdx, rax
lea rcx, [rbp + 0x2f0]
call fcn.14000a680
nop
mov edx, 0x42
lea rcx, [0x140088710]
call fcn.14000a780
mov rcx, rax
call fcn.140009de0
mov rdx, rax
lea rcx, [rbp + 0x2d0]
call fcn.14000a680
nop
lea rdx, str.NameServer
lea rcx, [rbp + 0x310]
call fcn.14000a680
nop
lea rax, [rbp + 0x620]
mov rdx, 0xffffffffffffffff
nop dword [rax]
inc rdx
cmp word [rax + rdx*2], 0
jne 0x140026180
lea rcx, [rbp + 0x620]
call fcn.140014530
mov edx, 0x7e
lea rcx, [0x14008da10]
call fcn.14000a780
mov rcx, rax
call fcn.140009de0
mov rbx, rax
lea rcx, [rbp + 0x1d0]
call fcn.140009de0
lea rcx, [rbp + 0x620]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rbx
mov r9, rax
lea r8, str._s_s_s
mov edx, 0x100
lea rcx, [rbp + 0x720]
call fcn.14000e0c0
lea rax, [rbp + 0x178]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
lea rdx, [rbp + 0x720]
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x14002633e
mov dword [rbp + 0x168], r12d
mov dword [rbp + 0x198], 8
lea edx, [rax + 0x43]
lea rcx, [0x140088710]
call fcn.14000a780
mov rcx, rax
call fcn.140009de0
lea rcx, [rbp + 0x198]
mov qword [rsp + 0x28], rcx
lea rcx, [rbp + 0x168]
mov qword [rsp + 0x20], rcx
xor r9d, r9d
xor r8d, r8d
mov rdx, rax
mov rcx, qword [rbp + 0x178]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
cmp dword [rbp + 0x168], 1
jne 0x14002633e
mov edx, 0x24
lea rcx, [0x14008da10]
call fcn.14000a780
mov rdx, rax
lea rcx, [rbp + 0x290]
call fcn.14000a730
mov edx, 0x49
lea rcx, [0x140088710]
call fcn.14000a780
mov rcx, rax
call fcn.140009de0
mov rdx, rax
lea rcx, [rbp + 0x210]
call fcn.1400029b0
mov edx, 0x44
lea rcx, [0x140088710]
call fcn.14000a780
mov rcx, rax
call fcn.140009de0
mov rdx, rax
lea rcx, [rbp + 0x2f0]
call fcn.1400029b0
mov edx, 0x46
lea rcx, [0x140088710]
call fcn.14000a780
mov rcx, rax
call fcn.140009de0
mov rdx, rax
lea rcx, [rbp + 0x2d0]
call fcn.1400029b0
mov edx, 0x47
lea rcx, [0x140088710]
call fcn.14000a780
mov rcx, rax
call fcn.140009de0
mov rdx, rax
lea rcx, [rbp + 0x310]
call fcn.1400029b0
mov dword [rbp + 0x198], 0x100
lea rcx, [rbp + 0x210]
call fcn.140009de0
lea rcx, [rbp + 0x198]
mov qword [rsp + 0x28], rcx
lea rcx, [rbp + 0xca0]
mov qword [rsp + 0x20], rcx
xor r9d, r9d
xor r8d, r8d
mov rdx, rax
mov rcx, qword [rbp + 0x178]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov dword [rbp + 0x198], 0x100
lea rcx, [rbp + 0x2f0]
call fcn.140009de0
lea rcx, [rbp + 0x198]
mov qword [rsp + 0x28], rcx
lea rcx, [rbp + 0xea0]
mov qword [rsp + 0x20], rcx
xor r9d, r9d
xor r8d, r8d
mov rdx, rax
mov rcx, qword [rbp + 0x178]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov dword [rbp + 0x198], 0x100
lea rcx, [rbp + 0x2d0]
call fcn.140009de0
lea rcx, [rbp + 0x198]
mov qword [rsp + 0x28], rcx
lea rcx, [rbp + 0xda0]
mov qword [rsp + 0x20], rcx
xor r9d, r9d
xor r8d, r8d
mov rdx, rax
mov rcx, qword [rbp + 0x178]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov dword [rbp + 0x198], 0x100
lea rcx, [rbp + 0x310]
call fcn.140009de0
lea rcx, [rbp + 0x198]
mov qword [rsp + 0x28], rcx
lea rcx, [rbp + 0x9a0]
mov qword [rsp + 0x20], rcx
xor r9d, r9d
xor r8d, r8d
mov rdx, rax
mov rcx, qword [rbp + 0x178]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov rcx, qword [rbp + 0x178]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov edx, 0x80
lea rcx, [0x14008da10]
call fcn.14000a780
mov rcx, rax
call fcn.140009de0
mov rbx, rax
lea rcx, [rbp + 0x1d0]
call fcn.140009de0
mov qword [rsp + 0x30], r13
lea rcx, [rbp + 0x620]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rbx
mov r9, rax
lea r8, str._s_s_s_s
mov edx, 0x100
lea rcx, [rbp + 0x720]
call fcn.14000e0c0
mov qword [rbp + 0x188], r12
lea rax, [rbp + 0x188]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
lea rdx, [rbp + 0x720]
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x140026545
mov dword [rbp + 0x198], 0x100
lea edx, [rax + 0x21]
lea rcx, [0x140088710]
call fcn.14000a780
mov rcx, rax
call fcn.140009de0
lea rcx, [rbp + 0x198]
mov qword [rsp + 0x28], rcx
lea rcx, [rbp + 0xba0]
mov qword [rsp + 0x20], rcx
xor r9d, r9d
xor r8d, r8d
mov rdx, rax
mov rcx, qword [rbp + 0x188]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov rcx, qword [rbp + 0x188]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop
lea rcx, [rbp + 0x310]
call fcn.140002990
nop
lea rcx, [rbp + 0x2d0]
call fcn.140002990
nop
lea rcx, [rbp + 0x2f0]
call fcn.140002990
nop
lea rcx, [rbp + 0x210]
call fcn.140002990
mov dword [rbp + 0x198], 0x200
mov edx, 0x38
lea rcx, [0x140088710]
call fcn.14000a780
mov rcx, rax
call fcn.140009de0
lea rcx, [rbp + 0x198]
mov qword [rsp + 0x28], rcx
lea rcx, [rbp + 0x10a0]
mov qword [rsp + 0x20], rcx
xor r9d, r9d
xor r8d, r8d
mov rdx, rax
mov rcx, qword [rbp + 0x180]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
xor edx, edx
mov r8d, 0x80
lea rcx, [rbp + 0x920]
call fcn.14003f490
mov dword [rbp + 0x198], 0x80
mov edx, 0x3d
lea rcx, [0x140088710]
call fcn.14000a780
mov rcx, rax
call fcn.140009de0
lea rcx, [rbp + 0x198]
mov qword [rsp + 0x28], rcx
lea rcx, [rbp + 0x920]
mov qword [rsp + 0x20], rcx
xor r9d, r9d
xor r8d, r8d
mov rdx, rax
mov rcx, qword [rbp + 0x180]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x140026645
lea rdx, [rbp + 0x3f0]
lea rcx, [rbp + 0x920]
call fcn.140036bf0
mov rcx, qword [rbp + 0x180]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea r8, [0x140088748]
lea rdx, [rbp + 0x10a0]
lea rcx, [rsp + 0x40]
call fcn.140015650
nop
lea r8, [rbp + 0xba0]
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.14000a1c0
nop
lea r8, [rbp + 0x350]
mov rdx, rax
lea rcx, [rbp - 0x80]
call fcn.14000a180
nop
lea r8, [0x140088748]
mov rdx, rax
lea rcx, [rbp + 0x88]
call fcn.14000a180
nop
lea r8, [rbp + 0x3f0]
mov rdx, rax
lea rcx, [rbp + 0xa8]
call fcn.14000a1c0
nop
lea r8, [0x140088748]
mov rdx, rax
lea rcx, [rbp + 0xc8]
call fcn.14000a180
nop
lea r8, [rbp + 0x1b0]
mov rdx, rax
lea rcx, [rbp + 0xe8]
call fcn.14000a180
nop
lea r8, [0x140088748]
mov rdx, rax
lea rcx, [rbp + 0x108]
call fcn.14000a180
nop
lea r8, [rbp + 0x290]
mov rdx, rax
lea rcx, [rbp + 0x20]
call fcn.14000a180
nop
lea r8, [0x140088748]
mov rdx, rax
lea rcx, [rbp + 0x128]
call fcn.14000a180
nop
lea r8, [rbp + 0xca0]
mov rdx, rax
lea rcx, [rbp - 0x40]
call fcn.14000a1c0
nop
lea r8, [0x140088748]
mov rdx, rax
lea rcx, [rbp - 0x20]
call fcn.14000a180
nop
lea r8, [rbp + 0xda0]
mov rdx, rax
lea rcx, [rbp]
call fcn.14000a1c0
nop
lea r8, [0x140088748]
mov rdx, rax
lea rcx, [rbp + 0x48]
call fcn.14000a180
nop
lea r8, [rbp + 0xea0]
mov rdx, rax
lea rcx, [rbp + 0x68]
call fcn.14000a1c0
nop
lea r8, [0x140088748]
mov rdx, rax
lea rcx, [rbp - 0x60]
call fcn.14000a180
nop
lea r8, [rbp + 0x9a0]
mov rdx, rax
lea rcx, [rbp + 0x310]
call fcn.14000a1c0
nop
lea r8, [0x140088748]
mov rdx, rax
lea rcx, [rbp + 0x2d0]
call fcn.14000a180
nop
lea r8, [rbp + 0x620]
mov rdx, rax
lea rcx, [rbp + 0x2f0]
call fcn.14000a1c0
nop
lea r8, [0x1400886d8]
mov rdx, rax
lea rcx, [rbp + 0x210]
call fcn.14000a180
nop
mov rdx, rax
lea rcx, [rbp + 0x2b0]
call fcn.14000a830
nop
lea rcx, [rbp + 0x210]
call fcn.140002990
nop
lea rcx, [rbp + 0x2f0]
call fcn.140002990
nop
lea rcx, [rbp + 0x2d0]
call fcn.140002990
nop
lea rcx, [rbp + 0x310]
call fcn.140002990
nop
lea rcx, [rbp - 0x60]
call fcn.140002990
nop
lea rcx, [rbp + 0x68]
call fcn.140002990
nop
lea rcx, [rbp + 0x48]
call fcn.140002990
nop
lea rcx, [rbp]
call fcn.140002990
nop
lea rcx, [rbp - 0x20]
call fcn.140002990
nop
lea rcx, [rbp - 0x40]
call fcn.140002990
nop
lea rcx, [rbp + 0x128]
call fcn.140002990
nop
lea rcx, [rbp + 0x20]
call fcn.140002990
nop
lea rcx, [rbp + 0x108]
call fcn.140002990
nop
lea rcx, [rbp + 0xe8]
call fcn.140002990
nop
lea rcx, [rbp + 0xc8]
call fcn.140002990
nop
lea rcx, [rbp + 0xa8]
call fcn.140002990
nop
lea rcx, [rbp + 0x88]
call fcn.140002990
nop
lea rcx, [rbp - 0x80]
call fcn.140002990
nop
lea rcx, [rsp + 0x60]
call fcn.140002990
nop
lea rcx, [rsp + 0x40]
call fcn.140002990
nop
lea rcx, [rbp + 0x370]
call fcn.140002990
nop
lea rcx, [rbp + 0x290]
call fcn.140002990
nop
lea rcx, [rbp + 0x350]
call fcn.140002990
nop
lea rcx, [rbp + 0x1b0]
call fcn.140002990
inc edi
cmp edi, 0x80
jb 0x140025c60
mov qword [rbp + 0x170], r12
lea rdx, [0x140055950]
lea rcx, [rbp + 0x230]
call fcn.14000a680
nop
lea rdx, [0x140055950]
lea rcx, [rbp + 0x1f0]
call fcn.14000a680
nop
xor edx, edx
mov r8d, 0x100
lea rcx, [rbp + 0xaa0]
call fcn.14003f490
lea rcx, [rbp + 0x270]
call fcn.14000a6c0
nop
mov dword [rbp + 0x1a0], r12d
lea rax, str.MicrosoftWindows_NTCurrentVersion
mov qword [rsp + 0x20], rax
mov r9, r15
lea r8, [0x1400573a0]
mov edx, 0x100
lea rcx, [rbp + 0x720]
call fcn.14000e0c0
lea rax, [rbp + 0x170]
mov qword [rsp + 0x20], rax
mov r9d, 0x20119
xor r8d, r8d
lea rdx, [rbp + 0x720]
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x140026b0d
mov dword [rbp + 0x198], 0x100
lea edx, [rax + 0x3c]
lea rcx, [0x140088710]
call fcn.14000a780
mov rcx, rax
call fcn.140009de0
lea rcx, [rbp + 0x198]
mov qword [rsp + 0x28], rcx
lea rcx, [rbp + 0xaa0]
mov qword [rsp + 0x20], rcx
xor r9d, r9d
xor r8d, r8d
mov rdx, rax
mov rcx, qword [rbp + 0x170]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov dword [rbp + 0x168], r12d
mov dword [rbp + 0x198], 4
mov edx, 0x3b
lea rcx, [0x140088710]
call fcn.14000a780
mov rcx, rax
call fcn.140009de0
lea rcx, [rbp + 0x198]
mov qword [rsp + 0x28], rcx
lea rcx, [rbp + 0x168]
mov qword [rsp + 0x20], rcx
xor r9d, r9d
xor r8d, r8d
mov rdx, rax
mov rcx, qword [rbp + 0x170]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov r9, r14
mov r8d, esi
mov edx, dword [rbp + 0x168]
lea rcx, [rsp + 0x40]
call fcn.140029f30
mov rdx, rax
lea rcx, [rbp + 0x270]
call fcn.14000a6e0
lea rcx, [rsp + 0x40]
call fcn.140002990
mov dword [rbp + 0x198], 8
lea rax, [rbp + 0x198]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x1a0]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea rdx, [0x140061f00]
mov rcx, qword [rbp + 0x170]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov rcx, qword [rbp + 0x170]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [rbp + 0x1a8], r12d
lea rdx, [0x140055950]
lea rcx, [rbp + 0x250]
call fcn.14000a680
nop
cmp esi, 1
jne 0x140026ce8
lea edx, [rsi + 0x59]
lea rcx, [0x140088710]
call fcn.14000a780
mov rcx, rax
call fcn.140009de0
mov qword [rsp + 0x20], rax
mov r9, r15
lea r8, [0x1400573a0]
mov edx, 0x100
lea rcx, [rbp + 0x720]
call fcn.14000e0c0
lea rax, [rbp + 0x170]
mov qword [rsp + 0x20], rax
mov r9d, 0x20119
xor r8d, r8d
lea rdx, [rbp + 0x720]
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x140026c4b
xor edx, edx
mov r8d, 0x100
lea rcx, [rbp + 0x9a0]
call fcn.14003f490
mov dword [rbp + 0x198], 0x100
lea edx, [rsi + 0x36]
lea rcx, [0x140088710]
call fcn.14000a780
mov rcx, rax
call fcn.140009de0
lea rcx, [rbp + 0x198]
mov qword [rsp + 0x28], rcx
lea rcx, [rbp + 0x9a0]
mov qword [rsp + 0x20], rcx
xor r9d, r9d
xor r8d, r8d
mov rdx, rax
mov rcx, qword [rbp + 0x170]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
lea rdx, [rbp + 0x9a0]
lea rcx, [rsp + 0x40]
call fcn.14000a680
lea r9d, [rsi + 1]
lea r8, [0x1400760ac]
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.140014bb0
mov rdx, rax
lea rcx, [rbp + 0x1f0]
call fcn.14000a6e0
lea rcx, [rsp + 0x60]
call fcn.140002990
mov rcx, qword [rbp + 0x170]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea rax, str.MicrosoftWindows_NTCurrentVersionEditionVersion
mov qword [rsp + 0x20], rax
mov r9, r15
lea r8, [0x1400573a0]
mov edx, 0x100
lea rcx, [rbp + 0x720]
call fcn.14000e0c0
lea rax, [rbp + 0x170]
mov qword [rsp + 0x20], rax
mov r9d, 0x20119
xor r8d, r8d
lea rdx, [rbp + 0x720]
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x140026ce8
mov dword [rbp + 0x198], 8
lea rax, [rbp + 0x198]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x1a8]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea rdx, str.EditionBuildNumber
mov rcx, qword [rbp + 0x170]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov rcx, qword [rbp + 0x170]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor edx, edx
mov r8d, 0x100
lea rcx, [rbp + 0xfa0]
call fcn.14003f490
mov edx, 0x59
lea rcx, [0x140088710]
call fcn.14000a780
mov rcx, rax
call fcn.140009de0
mov rbx, rax
lea rcx, [rbp + 0x1d0]
call fcn.140009de0
mov qword [rsp + 0x20], rbx
mov r9, rax
lea r8, [0x1400573a0]
mov edx, 0x100
lea rcx, [rbp + 0x720]
call fcn.14000e0c0
lea rax, [rbp + 0x170]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
lea rdx, [rbp + 0x720]
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x140026dcd
mov dword [rbp + 0x198], 0x100
lea edx, [rax + 0x39]
lea rcx, [0x140088710]
call fcn.14000a780
mov rcx, rax
call fcn.140009de0
lea rcx, [rbp + 0x198]
mov qword [rsp + 0x28], rcx
lea rcx, [rbp + 0xfa0]
mov qword [rsp + 0x20], rcx
xor r9d, r9d
xor r8d, r8d
mov rdx, rax
mov rcx, qword [rbp + 0x170]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov rcx, qword [rbp + 0x170]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rcx, qword [rbp + 0x190]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea rdx, [rbp + 0xaa0]
lea rcx, [rbp + 0x230]
call fcn.1400029b0
mov dword [rbp + 0x178], r12d
mov dword [rbp + 0x188], r12d
mov dword [rbp + 0x19c], r12d
mov dword [rbp + 0x168], r12d
xor edx, edx
mov r8d, 0x80
lea rcx, [rbp + 0x5a0]
call fcn.14003f490
lea r8, str.WindowsSystem32kernel32.dll
mov rdx, r14
lea rcx, [rbp + 0x3b0]
call fcn.14000a290
nop
test esi, esi
jne 0x140026f22
lea r9, [0x140088ce4]
lea r8, [0x140061fa0]
lea edx, [rsi + 0x40]
lea rcx, [rbp + 0x5a0]
call fcn.14000e0c0
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp + 0x10a0]
call fcn.14003f490
lea rdx, [rbp + 0x198]
lea rcx, [rbp + 0x10a0]
call qword [sym.imp.ADVAPI32.dll_GetUserNameW]
lea edx, [rsi + 0x16]
lea rcx, [0x14008da10]
call fcn.14000a780
mov rdx, rax
lea rcx, [rbp + 0x1f0]
call fcn.14000a730
lea rdx, [rbp + 0x10a0]
lea rcx, [rbp + 0x1f0]
call fcn.14000a840
lea edx, [rsi + 0x17]
lea rcx, [0x14008da10]
call fcn.14000a780
mov rdx, rax
mov r8, r14
lea rcx, [rsp + 0x60]
call fcn.14000a200
nop
lea r8, [0x140061fac]
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.14000a1c0
mov rdx, rax
lea rcx, [rbp + 0x250]
call fcn.14000a6e0
lea rcx, [rsp + 0x40]
call fcn.140002990
nop
lea rcx, [rsp + 0x60]
call fcn.140002990
lea rdx, [0x14008d544]
lea rcx, [rbp + 0x230]
call fcn.14000a730
jmp 0x1400270e2
lea rax, [rbp + 0x168]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x19c]
lea r8, [rbp + 0x188]
lea rdx, [rbp + 0x178]
lea rcx, [rbp + 0x3b0]
call fcn.14001ddb0
mov ecx, dword [rbp + 0x1a0]
cmp ecx, dword [rbp + 0x168]
cmovb ecx, dword [rbp + 0x168]
mov dword [rbp + 0x1a0], ecx
mov ebx, dword [rbp + 0x19c]
cmp dword [rbp + 0x1a8], ebx
cmova ebx, dword [rbp + 0x1a8]
mov dword [rsp + 0x30], ecx
mov dword [rsp + 0x28], ebx
mov esi, dword [rbp + 0x188]
mov dword [rsp + 0x20], esi
mov edi, dword [rbp + 0x178]
mov r9d, edi
lea r8, str.__d._d._d._d_
mov edx, 0x40
lea rcx, [rbp + 0x5a0]
call fcn.14000e0c0
mov edx, 0x19
lea rcx, [0x14008da10]
call fcn.14000a780
mov rdx, rax
lea r8, [rbp + 0x1f0]
lea rcx, [rsp + 0x40]
call fcn.14000a200
mov rdx, rax
lea rcx, [rbp + 0x1f0]
call fcn.14000a6e0
lea rcx, [rsp + 0x40]
call fcn.140002990
mov edx, 0x1a
lea rcx, [0x14008da10]
call fcn.14000a780
mov rdx, rax
mov r8, r14
lea rcx, [rbp - 0x80]
call fcn.14000a200
nop
lea r8, [0x140061fac]
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.14000a1c0
mov rdx, rax
lea rcx, [rbp + 0x250]
call fcn.14000a6e0
lea rcx, [rsp + 0x60]
call fcn.140002990
nop
lea rcx, [rbp - 0x80]
call fcn.140002990
cmp edi, 9
jbe 0x14002708f
cmp ebx, 0x55ef
jbe 0x1400270e2
xor r8d, r8d
lea rdx, [0x140061fd4]
lea rcx, [rbp + 0x230]
call fcn.140009ea0
cmp rax, 0xffffffffffffffff
je 0x1400270e2
lea r9, [0x140061fdc]
mov r8d, 2
mov rdx, rax
lea rcx, [rbp + 0x230]
call fcn.140014600
jmp 0x1400270e2
cmp word [rbp + 0xaa0], 0
jne 0x1400270e2
mov dword [rsp + 0x20], esi
mov r9d, edi
lea r8, str._d._d
mov edx, 0x100
lea rcx, [rbp + 0x720]
call fcn.14000e0c0
lea rdx, [rbp + 0x720]
lea rcx, [rsp + 0x40]
call fcn.140029990
mov rdx, rax
lea rcx, [rbp + 0x230]
call fcn.14000a6e0
lea rcx, [rsp + 0x40]
call fcn.140002990
lea rcx, [rbp + 0x330]
call fcn.14000a6c0
nop
lea rcx, [rbp + 0x3b0]
call fcn.140009de0
mov rcx, rax
call fcn.1400170d0
lea rcx, [rbp + 0x330]
cmp eax, 0x40
lea rdx, [0x140062028]
je 0x14002711d
lea rdx, [0x140062030]
call fcn.1400029b0
lea rdx, [rbp + 0x230]
lea rcx, [rbp + 0x250]
call fcn.14000a830
mov edx, 0xb
lea rcx, [0x14008da10]
call fcn.14000a780
mov rdx, rax
lea rcx, [rbp + 0x3d0]
call fcn.140002940
nop
lea rdx, [0x140062038]
lea rcx, [rbp + 0x3d0]
call fcn.14000a840
lea r8, [rbp + 0xfa0]
lea rdx, [rbp + 0x3d0]
lea rcx, [rbp - 0x60]
call fcn.14000a290
nop
lea r8, [0x14008d968]
mov rdx, rax
lea rcx, [rbp + 0x68]
call fcn.14000a180
nop
lea r8, [rbp + 0x1f0]
mov rdx, rax
lea rcx, [rbp + 0x48]
call fcn.14000a180
nop
lea r8, [0x14008d968]
mov rdx, rax
lea rcx, [rbp]
call fcn.14000a180
nop
lea r8, [rbp + 0x250]
mov rdx, rax
lea rcx, [rbp - 0x20]
call fcn.14000a180
nop
lea r8, [0x140088728]
mov rdx, rax
lea rcx, [rbp - 0x40]
call fcn.14000a180
nop
lea r8, [rbp + 0x5a0]
mov rdx, rax
lea rcx, [rbp + 0x128]
call fcn.14000a1c0
nop
lea r8, [0x140088728]
mov rdx, rax
lea rcx, [rbp + 0x20]
call fcn.14000a180
nop
lea r8, [rbp + 0x330]
mov rdx, rax
lea rcx, [rbp + 0x108]
call fcn.14000a180
nop
lea r8, [0x14008d968]
mov rdx, rax
lea rcx, [rbp + 0xe8]
call fcn.14000a180
nop
lea r8, [rbp + 0x270]
mov rdx, rax
lea rcx, [rbp + 0xc8]
call fcn.14000a180
nop
lea r8, [0x14008d968]
mov rdx, rax
lea rcx, [rbp + 0xa8]
call fcn.14000a180
nop
lea r8, [0x14008d968]
mov rdx, rax
lea rcx, [rbp + 0x88]
call fcn.14000a180
nop
lea r8, [0x14008d9a0]
mov rdx, rax
lea rcx, [rbp - 0x80]
call fcn.14000a180
nop
lea r8, [0x14008d968]
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.14000a180
nop
lea r8, [rbp + 0x2b0]
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.14000a180
mov rdx, rax
lea rcx, [rbp + 0x2b0]
call fcn.14000a6e0
lea rcx, [rsp + 0x40]
call fcn.140002990
nop
lea rcx, [rsp + 0x60]
call fcn.140002990
nop
lea rcx, [rbp - 0x80]
call fcn.140002990
nop
lea rcx, [rbp + 0x88]
call fcn.140002990
nop
lea rcx, [rbp + 0xa8]
call fcn.140002990
nop
lea rcx, [rbp + 0xc8]
call fcn.140002990
nop
lea rcx, [rbp + 0xe8]
call fcn.140002990
nop
lea rcx, [rbp + 0x108]
call fcn.140002990
nop
lea rcx, [rbp + 0x20]
call fcn.140002990
nop
lea rcx, [rbp + 0x128]
call fcn.140002990
nop
lea rcx, [rbp - 0x40]
call fcn.140002990
nop
lea rcx, [rbp - 0x20]
call fcn.140002990
nop
lea rcx, [rbp]
call fcn.140002990
nop
lea rcx, [rbp + 0x48]
call fcn.140002990
nop
lea rcx, [rbp + 0x68]
call fcn.140002990
nop
lea rcx, [rbp - 0x60]
call fcn.140002990
mov rcx, r14
call fcn.140009de0
movzx ecx, word [rax]
shl rcx, 5
lea rax, [0x14008cd44]
add rcx, rax
lea rdx, [rbp + 0x2b0]
call fcn.14000a730
nop
lea rcx, [rbp + 0x3d0]
call fcn.140002990
nop
lea rcx, [rbp + 0x330]
call fcn.140002990
nop
lea rcx, [rbp + 0x3b0]
call fcn.140002990
nop
lea rcx, [rbp + 0x250]
call fcn.140002990
nop
lea rcx, [rbp + 0x270]
call fcn.140002990
nop
lea rcx, [rbp + 0x1f0]
call fcn.140002990
nop
lea rcx, [rbp + 0x230]
call fcn.140002990
nop
lea rcx, [rbp + 0x390]
call fcn.140002990
nop
lea rcx, [rbp + 0x1d0]
call fcn.140002990
nop
lea rcx, [rbp + 0x2b0]
call fcn.140002990
mov rcx, qword [rbp + 0x12b0]
xor rcx, rsp
call fcn.14003da20
add rsp, 0x13c8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret