Function at 0x1400599a4
Capabilities:
Check os version
Get system information on windows
Make suspicious ntquerysysteminformation call

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x3a8]
sub rsp, 0x480
mov rax, qword [0x140451b38]
xor rax, rsp
mov qword [rbp + 0x370], rax
mov rax, qword [rbp + 0x3e8]
mov rsi, r8
mov r15, qword [rbp + 0x3e0]
mov r14d, edx
mov qword [rbp - 0x40], rax
mov rbx, rcx
xor eax, eax
mov qword [rbp + 0x68], r15
xor edx, edx
mov qword [rbp - 0x68], rax
lea rcx, [rbp + 0x130]
mov qword [rbp - 0x30], rax
mov r13d, r9d
mov qword [rbp - 0x28], rax
lea r8d, [rax + 0x54]
mov qword [rbp - 0x38], rax
mov edi, eax
call sub.msvcrt.dll_memset
xor ecx, ecx
mov dword [rbp + 0x2b0], 0x1000200
xor eax, eax
mov qword [rsp + 0x40], rcx
mov dword [rbp + 0x2cd], eax
mov r12d, ecx
mov word [rbp + 0x2d1], ax
xorps xmm0, xmm0
mov byte [rbp + 0x2d3], al
lea rax, str.Volume:GVLK
mov qword [rbp + 0xd0], rax
lea rax, str.Retail:TB:Eval
mov qword [rbp + 0xd8], rax
xor eax, eax
mov dword [rsp + 0x4c], ecx
mov qword [rbp + 0x60], rcx
mov qword [rbp - 0x18], rcx
mov qword [rbp + 0xb8], rcx
mov qword [rsp + 0x50], rcx
mov qword [rbp + 0x58], rcx
mov qword [rbp + 0x50], rcx
mov qword [rbp - 0x20], rcx
mov qword [rbp - 0x48], rcx
mov qword [rbp - 0x10], rcx
mov qword [rbp - 8], rcx
mov qword [rbp + 0x48], rcx
mov qword [rbp + 0x40], rcx
mov qword [rbp - 0x50], rcx
lea rcx, [rbp + 0x88]
mov qword [rbp + 0x88], rax
movdqu xmmword [rbp + 0xa8], xmm0
mov dword [rbp + 0x2b4], 0x5020001
mov dword [rbp + 0x2b8], 0x10300
mov dword [rbp + 0x2bc], 0x6000204
mov dword [rbp + 0x2c0], 0x7080001
mov dword [rbp + 0x2c4], 0x30900
mov dword [rbp + 0x2c8], 0xc00010a
mov byte [rbp + 0x2cc], 7
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
jne 0x140059b37
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x140059b1e
mov r14d, 0x80004005
jmp 0x140059b2f
movzx r14d, ax
or r14d, 0x80070000
test eax, eax
cmovle r14d, eax
mov ecx, r14d
jmp 0x14005a634
test rsi, rsi
jne 0x140059b49
mov ecx, 0x80070057
mov r14d, ecx
jmp 0x14005a634
test r15, r15
je 0x140059b3c
cmp qword [rbp - 0x40], rdi
je 0x140059b3c
mov rax, qword [rbx + 0x28]
test rax, rax
je 0x14005a628
mov rdi, rax
lock inc dword [rax]
mov rcx, qword [rbx + 0x28]
or eax, 0xffffffff
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x140059b81
test rcx, rcx
je 0x140059b81
call fcn.14006b690
and qword [rbx + 0x28], r12
lea rax, [rbp - 0x68]
and dword [rsp + 0x78], 0
lea rdx, [rsp + 0x58]
mov qword [rbp - 0x78], rax
mov ebx, 3
lea rax, [0x140002adc]
mov qword [rsp + 0x7c], rsi
mov qword [rsp + 0x60], rax
xor r9d, r9d
lea rax, [rbp + 0x70]
mov dword [rbp - 0x7c], r14d
lea esi, [rbx + 0x3d]
mov qword [rsp + 0x68], rax
lea rax, [rsp + 0x48]
mov qword [rsp + 0x70], rdi
lea r14d, [rsi + 0x79]
mov qword [rbp - 0x70], rax
mov ecx, r14d
mov qword [rsp + 0x58], rbx
mov r8d, esi
mov r12d, 0xc004c600
call sub.ntdll.dll_NtQuerySystemInformation
mov eax, dword [rbp + 0x70]
mov r15d, 0x80004005
mov dword [rbp - 0x58], eax
test eax, eax
js 0x140059c8b
mov eax, dword [rsp + 0x48]
lea rdx, [rbp - 0x28]
mov dword [rbp + 0xc8], eax
lea rcx, [rbp + 0xc0]
mov rax, qword [rbp - 0x68]
mov qword [rbp + 0xc0], rax
call fcn.140063af8
mov r14d, eax
test eax, eax
jns 0x140059c39
mov ecx, eax
call fcn.14007ac40
mov r12, qword [rsp + 0x40]
jmp 0x14005a639
mov rax, qword [rbp - 0x28]
lea rdx, [rsp + 0x58]
mov qword [rsp + 0x70], rax
mov r14d, 0xb9
lea rax, [0x14000621c]
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x60], rax
xor r9d, r9d
lea rax, [rbp + 0x3c]
mov r8, rsi
mov qword [rsp + 0x68], rax
mov ecx, r14d
lea rax, [rbp - 0x38]
mov qword [rsp + 0x78], rax
call sub.ntdll.dll_NtQuerySystemInformation
cmp dword [rbp + 0x3c], 0
jl 0x140059caf
xor r12d, r12d
mov dword [rbp - 0x58], r12d
mov rbx, qword [0x14045c980]
mov qword [rbp + 0x80], rbx
test rbx, rbx
jne 0x140059d01
and qword [rbp + 0x80], rbx
lea eax, [rbx + 8]
mov qword [rsp + 0x40], rax
jmp 0x140059d14
mov rax, qword [rbp - 0x68]
lea rdx, [rsp + 0x58]
mov qword [rsp + 0x70], rax
xor r9d, r9d
lea rax, [0x14000585c]
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x60], rax
mov r8, rsi
lea rax, [rbp + 0x74]
mov rcx, r14
mov qword [rsp + 0x68], rax
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x78], eax
call sub.ntdll.dll_NtQuerySystemInformation
mov r12d, dword [rbp + 0x74]
cmp r12d, r15d
jne 0x140059c87
mov r14d, r15d
mov ecx, r15d
jmp 0x140059c2a
and dword [rsp + 0x4c], 0
lea rax, [rbx + 8]
mov qword [rsp + 0x40], rax
test rax, rax
je 0x140059d29
mov edx, 1
mov rcx, rax
call fcn.140073644
mov dword [rsp + 0x4c], 1
mov rax, qword [rdi + 8]
test rax, rax
je 0x14005a5e8
mov qword [rsp + 0x70], rax
lea rdx, [0x14045642c]
lea rax, [0x14000551c]
mov ebx, 3
mov qword [rsp + 0x60], rax
lea rcx, [0x140428ab0]
lea rax, [rbp + 0x78]
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x68], rax
lea rax, [rbp + 0x130]
mov qword [rsp + 0x78], rax
call fcn.1400f3670
xor r9d, r9d
lea rdx, [rsp + 0x58]
mov r8, rsi
mov rcx, r14
call sub.ntdll.dll_NtQuerySystemInformation
mov r14d, dword [rbp + 0x78]
cmp r14d, 0xc004f012
jne 0x140059da7
mov r14d, 0xc004f015
mov ecx, r14d
jmp 0x140059c2a
test r14d, r14d
js 0x140059d9f
test r12d, r12d
js 0x140059e93
mov rax, qword [rbp + 0x3d0]
test rax, rax
je 0x140059e93
and dword [rsp + 0x78], 0
lea rcx, [rbp - 0x30]
mov qword [rbp - 0x78], rcx
lea rdx, [rsp + 0x58]
lea rcx, [0x140002adc]
mov qword [rsp + 0x7c], rax
mov qword [rsp + 0x60], rcx
lea rax, [rbp + 0x24]
lea rcx, [rbp + 0x20]
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x68], rcx
mov r14d, 0xb9
mov ecx, r14d
mov qword [rsp + 0x58], rbx
xor r9d, r9d
mov dword [rbp - 0x7c], r13d
mov r8, rsi
mov qword [rbp - 0x70], rax
call sub.ntdll.dll_NtQuerySystemInformation
cmp dword [rbp + 0x20], 0
jl 0x140059e6c
mov rax, qword [rbp - 0x30]
lea rdx, [rsp + 0x58]
mov qword [rsp + 0x78], rax
xor r9d, r9d
lea rax, [0x14000481c]
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x60], rax
mov r8, rsi
lea rax, [rbp + 0x90]
mov ecx, r14d
mov qword [rsp + 0x68], rax
lea rax, [rbp + 0x130]
mov qword [rsp + 0x70], rax
mov eax, dword [rbp + 0x24]
mov dword [rbp - 0x80], eax
call sub.ntdll.dll_NtQuerySystemInformation
mov rcx, qword [rbp - 0x38]
lea rdx, [rbp + 0xa8]
call fcn.140059700
test eax, eax
js 0x140059e93
lea rdx, [rbp + 0xa8]
lea rcx, [rbp + 0x130]
call fcn.140062314
mov rax, qword [0x1403d9f60]
mov r13d, 1
cmp rax, qword [rbp + 0x130]
jne 0x140059ff9
mov rax, qword [0x1403d9f68]
cmp rax, qword [rbp + 0x138]
jne 0x140059ff9
lea rdx, [rbp + 0x40]
lea rcx, [rbp + 0x130]
call fcn.14004e06c
lea rdx, [0x1404564b4]
mov r14d, eax
lea rcx, [0x140432b78]
call fcn.1400f43c0
lea rdx, [0x14045756c]
lea rcx, [0x14042e690]
call fcn.1400f3d14
test r14d, r14d
js 0x140059d9f
mov rsi, qword [0x14045c9f8]
mov rax, qword [rsi]
mov rbx, qword [rax + 0x130]
mov rax, qword [0x1403d25b8]
mov rcx, rbx
call rax
mov rdx, qword [rbp + 0x40]
lea rcx, [rbp - 0x50]
mov qword [rsp + 0x20], rcx
mov rax, rbx
mov rcx, rsi
mov r9d, r13d
mov r8d, r13d
call rax
mov r14d, eax
test eax, eax
js 0x140059c28
mov rbx, qword [rbp - 0x50]
mov rax, qword [rbx]
mov rsi, qword [rax + 0x18]
mov rax, qword [0x1403d25b8]
mov rcx, rsi
call rax
mov rax, rsi
lea rdx, [rbp + 0x28]
mov rcx, rbx
call rax
mov r14d, eax
test eax, eax
js 0x140059c28
cmp dword [rbp + 0x28], r13d
je 0x140059f85
mov r14d, 0x8000ffff
jmp 0x140059d9f
mov rbx, qword [rbp - 0x50]
mov rax, qword [rbx]
mov rsi, qword [rax + 0x20]
mov rax, qword [0x1403d25b8]
mov rcx, rsi
call rax
mov rax, rsi
lea r8, [rbp + 0x110]
xor edx, edx
mov rcx, rbx
call rax
mov r14d, eax
test eax, eax
js 0x140059c28
xor ebx, ebx
lea rsi, [rbp + 0xd0]
mov rdx, qword [rsi]
lea r8, [rbp - 0x60]
mov rcx, qword [rbp + 0x120]
and dword [rbp - 0x60], 0
call fcn.1400f0e88
mov r14d, eax
test eax, eax
js 0x140059c28
cmp dword [rbp - 0x60], 0
jne 0x140059ff6
inc ebx
add rsi, 8
cmp ebx, 2
jb 0x140059fc1
jmp 0x140059ff9
xor r13d, r13d
test r12d, r12d
js 0x14005a436
test r13d, r13d
je 0x14005a436
mov r14, qword [0x14045c9c0]
lea rcx, [0x14045c980]
mov rax, qword [r14]
mov rbx, qword [rax + 0x28]
call fcn.14004eaa4
mov rsi, rax
mov rcx, rbx
mov rax, qword [0x1403d25b8]
call rax
lea rcx, [rsp + 0x50]
mov rax, rbx
mov qword [rsp + 0x20], rcx
lea r9, [0x1403dd5f0]
mov rcx, r14
lea r8, str.msft:rm_algorithm_hwid_4.0
mov rdx, rsi
call rax
mov r14d, eax
test eax, eax
js 0x140059c28
mov rbx, qword [rsp + 0x50]
mov rax, qword [rbx]
mov rsi, qword [rax + 0x60]
mov rax, qword [0x1403d25b8]
mov rcx, rsi
call rax
mov rax, rsi
mov rcx, rbx
call rax
mov r14d, eax
test eax, eax
js 0x140059c28
mov rbx, qword [rsp + 0x50]
lea rax, str.SppHwidBindingPolicyTolerance
mov qword [rbp], rax
mov r13d, 1
mov dword [rbp + 8], r13d
mov dword [rbp + 0x10], SafeArrayGetElement
mov rax, qword [rbx]
mov rsi, qword [rax + 0x48]
mov rax, qword [0x1403d25b8]
mov rcx, rsi
call rax
mov rax, rsi
lea rdx, [rbp]
mov r8d, r13d
mov rcx, rbx
call rax
mov r14d, eax
test eax, eax
js 0x140059c28
mov rbx, qword [rsp + 0x50]
lea rax, str.SppHwidBindingPolicyTimeWeightVector
mov qword [rbp], rax
lea rax, [rbp + 0x2b0]
mov qword [rbp + 0x10], rax
mov dword [rbp + 8], 4
mov dword [rbp + 0x18], 0x24
mov rax, qword [rbx]
mov rsi, qword [rax + 0x48]
mov rax, qword [0x1403d25b8]
mov rcx, rsi
call rax
mov rax, rsi
lea rdx, [rbp]
mov r8d, r13d
mov rcx, rbx
call rax
mov r14d, eax
test eax, eax
js 0x140059c28
mov rbx, qword [rsp + 0x50]
mov rax, qword [rbx]
mov rsi, qword [rax + 0x30]
mov rax, qword [0x1403d25b8]
mov rcx, rsi
call rax
mov rax, rsi
lea r8, [rbp + 0xf0]
lea rdx, str.SppBindingLicenseData
mov rcx, rbx
call rax
mov r14d, eax
test eax, eax
js 0x140059c28
mov edx, dword [rbp + 0x108]
lea r9, [rbp + 0x58]
mov rcx, qword [rbp + 0x100]
call fcn.140069e54
mov r14d, eax
test eax, eax
js 0x140059c28
mov r8, qword [rbp + 0x58]
lea rdx, str.Hwid_s_
lea rcx, [rbp - 0x10]
call fcn.14006aa38
mov r14d, eax
test eax, eax
js 0x140059c28
lea r9, [rbp + 0x2e0]
mov dword [rbp + 0x2c], 0x41
lea r8, [rbp + 0x2c]
xor ecx, ecx
call fcn.1401acee0
mov r14d, eax
test eax, eax
js 0x140059c28
lea r8, [rbp + 0x2e0]
lea rdx, str.Pfn_s_
lea rcx, [rbp - 0x10]
call fcn.14006aa38
mov r14d, eax
test eax, eax
js 0x140059c28
lea rcx, [rbp + 0x190]
mov dword [rbp + 0x190], 0x11c
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
jne 0x14005a233
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x14005a21d
mov r14d, r15d
jmp 0x140059d9f
movzx r14d, ax
or r14d, 0x80070000
test eax, eax
cmovle r14d, eax
jmp 0x140059d9f
mov eax, dword [rbp + 0x1a0]
lea rdx, str.OSMajorVersion_d_OSMinorVersion_d_OSPlatformId_d_
mov r9d, dword [rbp + 0x198]
lea rcx, [rbp - 0x10]
mov r8d, dword [rbp + 0x194]
mov dword [rsp + 0x20], eax
call fcn.14006aa38
mov r14d, eax
test eax, eax
js 0x140059c28
mov rax, qword gs:[0x60]
lea rdx, str.PP_d_
lea rcx, [rbp - 0x10]
movzx r8d, byte [rax + 3]
shr r8d, 1
and r8d, r13d
call fcn.14006aa38
mov r14d, eax
test eax, eax
js 0x140059c28
mov eax, dword [rbp - 8]
lea r9, [rbp + 0x48]
mov rcx, qword [rbp - 0x10]
lea edx, [rax*2 + 2]
call fcn.140069e54
mov r14d, eax
test eax, eax
js 0x140059c28
mov r8, qword [rbp + 0x48]
lea rdx, str.SL_GET_GENUINE_AUTHZ:_s
lea rcx, [rbp + 0x50]
call fcn.140079e68
mov r14d, eax
test eax, eax
js 0x140059c28
mov rsi, qword [0x14045ca00]
mov rax, qword [rsi]
mov rbx, qword [rax + 0x20]
mov rax, qword [0x1403d25b8]
mov rcx, rbx
call rax
mov r8, qword [rbp + 0x50]
lea rcx, [rbp - 0x20]
mov qword [rsp + 0x28], rcx
lea r9, [rbp + 0xa0]
lea rcx, [rbp + 0x30]
mov rax, rbx
mov qword [rsp + 0x20], rcx
lea rdx, [0x1403d9f60]
mov rcx, rsi
call rax
mov r14d, eax
test eax, eax
js 0x140059c28
lea r8, [rbp - 0x48]
xor edx, edx
lea rcx, [0x1403dd800]
call fcn.1400829a4
mov r14d, eax
test eax, eax
js 0x140059c28
mov rbx, qword [rbp - 0x48]
lea rax, str.SppNotificationPackageFamilyName
mov qword [rbp], rax
lea rax, [rbp + 0x2e0]
mov qword [rbp + 0x10], rax
mov dword [rbp + 8], 2
mov rax, qword [rbx]
mov rsi, qword [rax + 0x48]
mov rax, qword [0x1403d25b8]
mov rcx, rsi
call rax
mov rax, rsi
lea rdx, [rbp]
mov r8d, r13d
mov rcx, rbx
call rax
mov r14d, eax
test eax, eax
js 0x140059c28
mov ecx, dword [rbp + 0x30]
lea rdx, str.SppGenuineBlobResult
mov rax, qword [rbp - 0x20]
dec ecx
mov dword [rbp + 0x18], ecx
mov qword [rbp + 0x10], rax
mov qword [rbp], rdx
mov dword [rbp + 8], 4
mov rax, qword [rbx]
mov rsi, qword [rax + 0x48]
mov rax, qword [0x1403d25b8]
mov rcx, rsi
call rax
mov rax, rsi
lea rdx, [rbp]
mov r8d, r13d
mov rcx, rbx
call rax
mov r14d, eax
test eax, eax
js 0x140059c28
mov rsi, qword [0x14045c9d0]
lea rdx, [0x140457c50]
lea rcx, [0x14042a75c]
mov rax, qword [rsi]
mov rbx, qword [rax + 0x28]
call fcn.1400f39c8
mov rax, qword [0x1403d25b8]
mov rcx, rbx
call rax
mov r8, qword [rbp - 0x48]
lea rdx, str.msft:spp_notifications_common_processtsl
and qword [rsp + 0x20], 0
mov rax, rbx
mov r9d, r13d
mov rcx, rsi
call rax
mov r14d, eax
test eax, eax
jns 0x14005a43c
jmp 0x140059c28
mov r13d, 1
cmp dword [rbp + 0x3d8], 0
je 0x14005a5e8
lea rdx, [rbp + 0x60]
lea rcx, [rbp + 0x130]
call fcn.14004e06c
test eax, eax
js 0x14005a483
mov rsi, qword [0x14045ca10]
mov rax, qword [rsi]
mov rbx, qword [rax + 0x38]
mov rax, qword [0x1403d25b8]
mov rcx, rbx
call rax
mov rdx, qword [rbp + 0x60]
mov rax, rbx
mov rcx, rsi
call rax
mov ebx, 3
mov dword [rsp + 0x78], r12d
lea rax, [0x140004e9c]
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x60], rax
lea rdx, [rsp + 0x58]
lea rax, [rbp + 0x34]
xor r9d, r9d
lea esi, [rbx + 0x3d]
mov qword [rsp + 0x68], rax
lea rax, [rbp + 0x130]
mov r8d, esi
lea r14d, [rsi + 0x79]
mov qword [rsp + 0x70], rax
mov ecx, r14d
call sub.ntdll.dll_NtQuerySystemInformation
cmp dword [rbp + 0x34], 0
jl 0x14005a5e8
test r12d, r12d
jne 0x14005a5c8
lea rdx, [0x140458a8c]
lea rcx, [0x14042b3c0]
call fcn.1400f3318
lea rax, [0x14000419c]
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x60], rax
lea rdx, [rsp + 0x58]
lea rax, [rbp + 0x38]
xor r9d, r9d
mov qword [rsp + 0x68], rax
mov r8d, esi
mov rax, qword [rbp + 0x80]
mov ecx, r14d
mov qword [rsp + 0x70], rax
lea rax, [rbp + 0x130]
mov qword [rsp + 0x78], rax
lea rax, [rbp - 0x5c]
mov qword [rbp - 0x80], rax
lea rax, [rbp - 0x18]
mov qword [rbp - 0x78], rax
call sub.ntdll.dll_NtQuerySystemInformation
cmp dword [rbp + 0x38], r12d
jl 0x14005a5aa
lea rdx, [0x1404549d8]
lea rcx, [0x14043a8bc]
call fcn.1400f50f4
xor r15d, r15d
cmp dword [rbp - 0x5c], r15d
jbe 0x14005a5aa
mov r14, qword [0x14045ca00]
mov ebx, r15d
shl rbx, 4
add rbx, qword [rbp - 0x18]
mov rax, qword [r14]
mov rsi, qword [rax + 0x28]
mov rax, qword [0x1403d25b8]
mov rcx, rsi
call rax
mov rax, rsi
lea r8, str.SL_ACTIVATION_VALIDATION_IN_PROGRESS
mov rdx, rbx
mov rcx, r14
call rax
add r15d, r13d
cmp r15d, dword [rbp - 0x5c]
jb 0x14005a56a
and qword [rsp + 0x20], 0
mov ecx, 4
mov r8, qword [rdi + 8]
xor r9d, r9d
mov edx, 0x40003011
call fcn.14004eeb8
jmp 0x14005a5e8
and qword [rsp + 0x28], 0
mov ecx, r13d
and qword [rsp + 0x20], 0
mov r8d, r12d
mov r9, qword [rdi + 8]
mov edx, 0xc0002011
call fcn.14004ef44
mov eax, dword [rbp - 0x58]
mov r14d, eax
test eax, eax
js 0x140059c28
mov rcx, qword [rbp + 0x68]
lea rdx, [0x140454f24]
mov eax, dword [rsp + 0x48]
mov dword [rcx], eax
lea rcx, [0x14043ae04]
call fcn.1400f406c
mov rax, qword [rbp - 0x68]
mov rcx, qword [rbp - 0x40]
and qword [rbp - 0x68], 0
mov qword [rcx], rax
jmp 0x140059c2f
mov r15d, 0x80004005
mov r14d, r15d
mov ecx, r15d
call fcn.14007ac40
cmp dword [0x140451890], 5
jbe 0x14005a6c8
movabs r15, 0x400000000000
test qword [0x1404518a0], r15
je 0x14005a6c8
mov rbx, qword [0x1404518a8]
lea rdx, [0x140457ca8]
lea rcx, [0x14042a77c]
call fcn.1400f470c
and rbx, r15
cmp rbx, qword [0x1404518a8]
jne 0x14005a6c8
mov rcx, qword [rbp + 0x88]
call fcn.140079a88
mov qword [rbp + 0x68], rax
lea rdx, [0x1404452f2]
lea rax, [rbp + 0x68]
mov dword [rbp - 0x40], r14d
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x40]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x98]
mov qword [rsp + 0x20], rax
mov qword [rbp + 0x98], 0x1000000
call fcn.1400014e0
mov ecx, r14d
call fcn.14007ace8
mov rbx, qword [rbp - 0x50]
test rbx, rbx
je 0x14005a6f9
mov rax, qword [rbx]
mov rsi, qword [rax + 0x10]
mov rax, qword [0x1403d25b8]
mov rcx, rsi
call rax
mov rax, rsi
mov rcx, rbx
call rax
and qword [rbp - 0x50], 0
mov rcx, qword [rbp + 0x40]
test rcx, rcx
je 0x14005a708
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov rax, qword [rbp + 0x48]
test rax, rax
je 0x14005a730
lea rbx, [rax - 4]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor ecx, ecx
call fcn.14007ace8
mov rbx, qword [rbp - 0x10]
test rbx, rbx
je 0x14005a74d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
lea rdx, [0x14045bf38]
lea rcx, [0x140431e50]
call fcn.1400f470c
mov rbx, qword [rbp - 0x48]
test rbx, rbx
je 0x14005a784
mov rax, qword [rbx]
mov rsi, qword [rax + 0x10]
mov rax, qword [0x1403d25b8]
mov rcx, rsi
call rax
mov rax, rsi
mov rcx, rbx
call rax
mov rcx, qword [rbp - 0x20]
test rcx, rcx
je 0x14005a798
call qword [sym.imp.KERNEL32.dll_LocalFree]
and qword [rbp - 0x20], 0
mov rax, qword [rbp + 0x50]
test rax, rax
je 0x14005a7c0
lea rbx, [rax - 4]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor ecx, ecx
call fcn.14007ace8
mov rax, qword [rbp + 0x58]
test rax, rax
je 0x14005a7e8
lea rbx, [rax - 4]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor ecx, ecx
call fcn.14007ace8
mov rbx, qword [rsp + 0x50]
test rbx, rbx
je 0x14005a813
mov rax, qword [rbx]
mov rsi, qword [rax + 0x10]
mov rax, qword [0x1403d25b8]
mov rcx, rsi
call rax
mov rax, rsi
mov rcx, rbx
call rax
and qword [rsp + 0x50], 0
and qword [rsp + 0x68], 0
lea rax, [0x140003b1c]
xor r9d, r9d
mov qword [rsp + 0x60], rax
lea rax, [rbp + 0xa8]
mov qword [rsp + 0x58], 3
lea rdx, [rsp + 0x58]
mov qword [rsp + 0x70], rax
lea r8d, [r9 + 0x40]
lea ecx, [r8 + 0x79]
call sub.ntdll.dll_NtQuerySystemInformation
mov rcx, qword [rbp - 0x18]
test rcx, rcx
je 0x14005a863
call qword [sym.imp.KERNEL32.dll_LocalFree]
and qword [rbp - 0x18], 0
mov rcx, qword [rbp + 0x60]
test rcx, rcx
je 0x14005a872
call qword [sym.imp.KERNEL32.dll_LocalFree]
test r12, r12
je 0x14005a886
cmp dword [rsp + 0x4c], 0
je 0x14005a886
mov rcx, r12
call fcn.1400734c0
mov rbx, qword [rbp - 0x38]
test rbx, rbx
je 0x14005a8af
mov rax, qword [rbx]
mov rsi, qword [rax + 0x10]
mov rax, qword [0x1403d25b8]
mov rcx, rsi
call rax
mov rax, rsi
mov rcx, rbx
call rax
and qword [rbp - 0x38], 0
mov rbx, qword [rbp - 0x28]
test rbx, rbx
je 0x14005a8eb
mov rax, qword [rbx]
mov rsi, qword [rax + 0x10]
mov rax, qword [0x1403d25b8]
mov rcx, rsi
call rax
mov rax, rsi
mov rcx, rbx
call rax
and qword [rbp - 0x28], 0
lea rdx, [0x140457e54]
lea rcx, [0x140434034]
call fcn.1400f4a64
test rdi, rdi
je 0x14005a917
or ebx, 0xffffffff
lock xadd dword [rdi], ebx
lea rdx, [0x140455988]
lea rcx, [0x140432370]
call fcn.1400f4dac
cmp ebx, 1
jne 0x14005a917
mov rcx, rdi
call fcn.14006b690
mov rcx, qword [rbp - 0x30]
test rcx, rcx
je 0x14005a92b
call qword [sym.imp.KERNEL32.dll_LocalFree]
and qword [rbp - 0x30], 0
mov rcx, qword [rbp - 0x68]
test rcx, rcx
je 0x14005a93a
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, r14d
mov rcx, qword [rbp + 0x370]
xor rcx, rsp
call fcn.140388a40
lea r11, [rsp + 0x480]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret