Function at 0x140058ae0
Capabilities:
Get system information on windows
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x118
movaps xmmword [rsp + 0x100], xmm6
mov qword [rsp + 0x50], r9
mov rbx, r8
mov edi, edx
mov ebp, ecx
mov rax, qword [0x14029a038]
xor rax, rsp
mov qword [rsp + 0xf8], rax
test r8, r8
je 0x140058b37
mov edx, 0x100
mov rcx, rbx
call fcn.14017cb38
cmp rax, 0x100
je 0x140058e32
cmp byte [0x1402a47a8], 0
je 0x14005917f
xor r13d, r13d
cmp byte [0x1402a47a9], 1
adc r13d, 1
test ebp, ebp
cmovne r13d, ebp
xorps xmm0, xmm0
movaps xmmword [rsp + 0xb0], xmm0
movaps xmmword [rsp + 0x90], xmm0
movaps xmmword [rsp + 0x80], xmm0
mov qword [rsp + 0x58], 0xffffffffffffffff
movaps xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], 0
test rbx, rbx
je 0x140058d21
mov rcx, rbx
call fcn.14017bd98
lea r14, [rsp + 0x60]
mov rcx, r14
mov rdx, rbx
mov r8, rax
call fcn.14001c5a0
movzx ecx, byte [r14 + 0x17]
mov rax, qword [r14]
mov r8, rcx
test cl, cl
jns 0x140058bc5
mov r8, qword [rsp + 0x68]
mov r14, rax
add r8, r8
test r8, r8
je 0x140058be7
lea rdx, [r8 - 2]
cmp word [r14 + r8 - 2], 0x5c
mov r8, rdx
je 0x140058bc8
cmp rdx, 0xfffffffffffffffe
jne 0x140059113
test cl, cl
jns 0x140058e62
mov word [rax], 0
mov qword [rsp + 0x68], 0
mov al, byte [rsp + 0x77]
test al, al
jns 0x140058e70
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x140058d21
mov eax, edi
not eax
test eax, 0x300
je 0x140058d21
cmp r13d, 2
lea rax, [0x1402a4a00]
lea rcx, [0x1402a4c00]
cmove rcx, rax
cmp word [rcx], 0
jne 0x140058d21
xorps xmm0, xmm0
lea rbx, [rsp + 0xc0]
movaps xmmword [rbx + 0x20], xmm0
movaps xmmword [rbx + 0x10], xmm0
movaps xmmword [rbx], xmm0
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetNativeSystemInfo]
cmp word [rbx], 0
je 0x140058d21
cmp byte [0x1402a49f0], 0
setne al
bt edi, 8
jb 0x140058d21
mov ecx, edi
shr ecx, 9
and ecx, 1
or cl, al
je 0x140058d21
cmp r13d, 2
lea rax, str.SOFTWAREClasses
lea rbp, str.SOFTWARE
cmove rbp, rax
movzx r15d, byte [rsp + 0x77]
test r15b, r15b
jns 0x140059758
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x30], rax
mov r15, qword [rsp + 0x68]
mov r14d, 1
xor esi, esi
xor eax, eax
mov qword [rsp + 0x48], rax
xor eax, eax
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x3c], 0
mov r12, qword [rbp + 8]
mov rbx, r15
sub rbx, r12
jb 0x140058d0a
mov rdx, qword [rbp]
mov rcx, qword [rsp + 0x30]
mov r8, r12
call fcn.14017c2cc
test eax, eax
je 0x140059666
add rbp, 0x28
inc rsi
cmp rsi, r14
jb 0x140058ce5
cmp dword [rsp + 0x3c], 0
jne 0x140059767
cmp r13d, 2
jne 0x140058d35
cmp word [0x1402a4a00], 0
jne 0x1400596ba
cmp r13d, 1
jne 0x140058d49
cmp word [0x1402a4c00], 0
jne 0x1400596f2
cmp r13d, 2
lea rax, [0x1402a4e10]
lea rdx, str.RegistryMachine_
cmove rdx, rax
lea rcx, [rsp + 0xc0]
call fcn.1401bc8c0
lea rsi, [rsp + 0xc0]
movzx eax, byte [rsi + 0x17]
mov r9d, eax
and r9d, 0x7f
test al, al
cmovs r9, qword [rsi + 8]
mov r8, qword [rsi]
cmovns r8, rsi
lea r14, [rsp + 0x60]
mov rcx, r14
xor edx, edx
call fcn.14002cc50
cmp byte [rsi + 0x17], 0
jns 0x140058daf
mov rcx, qword [rsp + 0xc0]
call fcn.14017b254
or edi, 1
mov rax, qword [0x1402a47c0]
cmp byte [rsp + 0x77], 0
jns 0x140058dc5
mov r14, qword [rsp + 0x60]
lea rbx, [rsp + 0xb0]
mov rcx, rbx
mov rdx, r14
call qword [case.0x1401e7f70.0]
lea r8, [rsp + 0x80]
mov dword [r8], 0x30
mov qword [r8 + 8], 0
mov dword [r8 + 0x18], 0x40
mov qword [r8 + 0x10], rbx
xorps xmm0, xmm0
movaps xmmword [r8 + 0x20], xmm0
mov rax, qword [0x1402a47c8]
lea rcx, [rsp + 0x58]
mov edx, edi
xor r9d, r9d
call qword [case.0x1401e7f70.0]
mov edi, eax
cmp byte [rsp + 0x77], 0
jns 0x140058e2e
mov rcx, qword [rsp + 0x60]
call fcn.14017b254
test edi, edi
jns 0x140058e78
xor esi, esi
mov rcx, qword [rsp + 0xf8]
xor rcx, rsp
call fcn.14017e7b0
mov eax, esi
movaps xmm6, xmmword [rsp + 0x100]
add rsp, 0x118
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov word [rsp + 0x60], 0
mov byte [rsp + 0x77], 0
xor eax, eax
movzx eax, al
jmp 0x140058c0e
mov rdi, qword [rsp + 0x58]
xorps xmm6, xmm6
movaps xmmword [rsp + 0x80], xmm6
mov qword [rsp + 0x90], 0
cmp byte [0x1402a47a8], 0
je 0x140059797
lea rcx, [rsp + 0x60]
movaps xmmword [rcx], xmm6
mov rax, qword [0x1402a47c0]
mov rdx, qword [rsp + 0x50]
call qword [case.0x1401e7f70.0]
mov dword [rsp + 0xb0], 0x18
mov ecx, 0x18
call fcn.14017b1d8
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xc8], rax
lea r14, [rax + 0x18]
mov qword [rsp + 0xd0], r14
test rax, rax
je 0x14005965d
mov rsi, rax
mov byte [rax], 0
cmp rax, 0xffffffffffffffff
je 0x14005965d
mov byte [rsi + 1], 0
cmp rsi, 0xfffffffffffffffe
je 0x14005965d
mov byte [rsi + 2], 0
cmp rsi, 0xfffffffffffffffd
je 0x14005965d
mov byte [rsi + 3], 0
cmp rsi, 0xfffffffffffffffc
je 0x14005965d
mov byte [rsi + 4], 0
cmp rsi, 0xfffffffffffffffb
je 0x14005965d
mov byte [rsi + 5], 0
cmp rsi, 0xfffffffffffffffa
je 0x14005965d
mov byte [rsi + 6], 0
cmp rsi, 0xfffffffffffffff9
je 0x14005965d
mov byte [rsi + 7], 0
cmp rsi, 0xfffffffffffffff8
je 0x14005965d
mov byte [rsi + 8], 0
cmp rsi, 0xfffffffffffffff7
je 0x14005965d
mov byte [rsi + 9], 0
cmp rsi, 0xfffffffffffffff6
je 0x14005965d
mov byte [rsi + 0xa], 0
cmp rsi, 0xfffffffffffffff5
je 0x14005965d
mov byte [rsi + 0xb], 0
cmp rsi, 0xfffffffffffffff4
je 0x14005965d
mov byte [rsi + 0xc], 0
cmp rsi, 0xfffffffffffffff3
je 0x14005965d
mov byte [rsi + 0xd], 0
cmp rsi, 0xfffffffffffffff2
je 0x14005965d
mov byte [rsi + 0xe], 0
cmp rsi, 0xfffffffffffffff1
je 0x14005965d
mov byte [rsi + 0xf], 0
cmp rsi, 0xfffffffffffffff0
je 0x14005965d
mov byte [rsi + 0x10], 0
cmp rsi, 0xffffffffffffffef
je 0x14005965d
mov byte [rsi + 0x11], 0
cmp rsi, 0xffffffffffffffee
je 0x14005965d
mov byte [rsi + 0x12], 0
cmp rsi, 0xffffffffffffffed
je 0x14005965d
mov byte [rsi + 0x13], 0
cmp rsi, 0xffffffffffffffec
je 0x14005965d
mov byte [rsi + 0x14], 0
cmp rsi, 0xffffffffffffffeb
je 0x14005965d
mov byte [rsi + 0x15], 0
cmp rsi, 0xffffffffffffffea
je 0x14005965d
mov byte [rsi + 0x16], 0
cmp rsi, 0xffffffffffffffe9
je 0x14005965d
mov byte [rsi + 0x17], 0
mov qword [rsp + 0xc8], r14
mov rax, qword [0x1402a47d0]
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x20], 0x18
lea rdx, [rsp + 0x60]
mov rcx, rdi
mov r8d, 1
mov r9, rsi
call qword [case.0x1401e7f70.0]
cmp eax, 0x80000005
je 0x140059191
cmp eax, 0xc0000023
je 0x140059191
test eax, eax
js 0x1400592c2
mov edi, dword [rsi + 4]
mov r8d, dword [rsi + 0xc]
test r8, r8
je 0x140059476
mov edx, dword [rsi + 8]
add rdx, rsi
add r8, rdx
lea rcx, [rsp + 0x80]
call fcn.1401691e0
mov bl, 1
mov rcx, qword [rsp + 0xc0]
test rcx, rcx
je 0x1400590d0
mov qword [rsp + 0xc8], rcx
call fcn.14017b254
test bl, bl
jne 0x1400597a9
xor esi, esi
mov rcx, qword [rsp + 0x80]
test rcx, rcx
jne 0x1400597e0
mov rdi, qword [rsp + 0x58]
cmp byte [0x1402a47a8], 0
jne 0x1400590fe
call fcn.140059860
mov rax, qword [0x1402a47b0]
mov rcx, rdi
call qword [case.0x1401e7f70.0]
jmp 0x140058e34
sar rdx, 1
inc rdx
lea rbx, [rsp + 0x60]
mov rcx, rbx
xor r8d, r8d
call fcn.14014b240
mov dl, byte [rbx + 0x17]
test dl, dl
mov rax, qword [rbx]
mov r8, qword [rbx + 8]
movzx ecx, dl
mov r9, rcx
cmovs r9, r8
mov r14, rbx
cmovs r14, rax
test r9, r9
jne 0x140059161
test dl, dl
jns 0x140059274
mov qword [rsp + 0x68], 0
jmp 0x14005927d
lea r11, [r9 + r9]
xor r10d, r10d
cmp word [r14 + r10], 0x5c
jne 0x1400592cb
add r10, 2
cmp r11, r10
jne 0x140059168
jmp 0x14005914b
call fcn.140059860
test al, al
jne 0x140058b44
jmp 0x140058e32
mov r13d, dword [rsp + 0xb0]
cmp r13, 0x18
ja 0x1400593fb
cmp r13d, 0x18
jne 0x140059840
mov r12, r14
mov r13d, 0x18
mov rax, qword [0x1402a47d0]
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x20], r13d
lea rdx, [rsp + 0x60]
mov rcx, rdi
mov r8d, 1
mov r9, rsi
call qword [case.0x1401e7f70.0]
cmp eax, 0x80000005
je 0x1400591f0
cmp eax, 0xc0000023
jne 0x140059086
mov r13d, dword [rsp + 0xb0]
mov r15, r12
sub r15, rsi
cmp r15, r13
jb 0x14005949f
ja 0x140059853
mov rbp, r12
mov rax, qword [0x1402a47d0]
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x20], r13d
lea rdx, [rsp + 0x60]
mov rcx, rdi
mov r8d, 1
mov r9, rsi
call qword [case.0x1401e7f70.0]
cmp eax, 0x80000005
je 0x14005924a
cmp eax, 0xc0000023
jne 0x140059086
mov edx, dword [rsp + 0xb0]
sub rbp, rsi
cmp rbp, rdx
jb 0x1400594db
jbe 0x1400594f8
lea rax, [rsi + rdx]
mov qword [rsp + 0xc8], rax
jmp 0x1400594f8
lea rax, [rsp + 0x60]
mov byte [rax + 0x17], 0
mov word [rax], 0
mov dl, byte [rsp + 0x77]
mov rax, qword [rsp + 0x60]
mov r8, qword [rsp + 0x68]
movzx ecx, dl
test dl, dl
cmovs rcx, r8
cmovns rax, rbx
test rcx, rcx
je 0x140058bfd
add rcx, rcx
xor r14d, r14d
cmp word [rax + r14], 0x5c
je 0x140059315
add r14, 2
cmp rcx, r14
jne 0x1400592ac
jmp 0x140058bfd
xor edi, edi
xor ebx, ebx
jmp 0x1400590b6
sar r10, 1
je 0x140059293
cmp r10, 0xffffffffffffffff
je 0x14005914b
cmp r9, r10
mov rax, r10
cmovb rax, r9
mov rsi, r9
sub rsi, rax
cmp r9, r10
jbe 0x140059303
lea rdx, [r14 + rax*2]
lea r8, [rsi + rsi]
mov rcx, r14
call fcn.140180220
mov dl, byte [rsp + 0x77]
test dl, dl
jns 0x140059487
mov qword [rsp + 0x68], rsi
jmp 0x140059496
cmp rcx, r14
je 0x140058bfd
cmp r14, 0xfffffffffffffffe
je 0x140058bfd
sar r14, 1
lea rax, [r14 + 1]
mov cl, byte [rsp + 0x77]
test cl, cl
jns 0x1400593a5
mov rsi, qword [rsp + 0x68]
cmp rsi, r14
jbe 0x140059663
mov r15, qword [rsp + 0x60]
cmp word [r15 + r14*2 + 2], 0x5c
jne 0x1400593bd
xor r12d, r12d
mov r8, rsi
sub r8, rax
setne r12b
cmp r8, 2
jb 0x14005937d
sub r8, r12
lea rcx, [r15 + rax*2]
lea rdx, [rcx + r12*2]
add r8, r8
call fcn.140180220
mov cl, byte [rsp + 0x77]
sub rsi, r12
test cl, cl
js 0x1400593f4
cmp rsi, 0xb
jae 0x140059794
mov byte [rsp + 0x77], sil
mov word [r15 + rsi*2], 0
cmp r14, 0xffffffffffffffff
jne 0x14005932b
jmp 0x140058bfd
movzx esi, cl
cmp r14, rsi
jae 0x140059663
cmp word [rsp + r14*2 + 0x62], 0x5c
mov r15, rbx
je 0x140059353
cmp rsi, rax
jbe 0x140058bfd
add r14, r14
add r14, 2
add rsi, rsi
cmp word [r15 + r14], 0x5c
je 0x1400593e6
add r14, 2
cmp rsi, r14
jne 0x1400593d0
jmp 0x140058bfd
cmp rsi, r14
je 0x140058bfd
sar r14, 1
jmp 0x14005939a
mov qword [rsp + 0x68], rsi
jmp 0x140059393
cmp r13, 0x31
mov r14d, 0x30
cmovae r14, r13
mov rcx, r14
call fcn.14017b1d8
mov r15, rax
add r14, rax
lea r12, [rax + r13]
mov eax, 0x18
mov rcx, r15
add rcx, rax
je 0x14005965a
mov byte [rcx], 0
inc rax
cmp r13, rax
jne 0x140059420
mov rax, qword [rsi + 0x10]
mov qword [r15 + 0x10], rax
movups xmm0, xmmword [rsi]
movups xmmword [r15], xmm0
mov qword [rsp + 0xc0], r15
mov qword [rsp + 0xc8], r12
mov qword [rsp + 0xd0], r14
mov rcx, rsi
call fcn.14017b254
mov r13d, dword [rsp + 0xb0]
mov rsi, r15
jmp 0x1400591b6
mov qword [rsp + 0x88], 0
jmp 0x1400590b4
cmp rsi, 0xb
jae 0x14005985c
mov byte [rsp + 0x77], sil
lea rax, [r14 + rsi*2]
jmp 0x14005927d
mov rax, r13
sub rax, r15
mov rcx, r14
sub rcx, r12
cmp rcx, rax
jb 0x1400595c6
lea rbp, [r12 + rax]
test r12, r12
je 0x1400597f2
mov byte [r12], 0
inc r12
dec rax
jne 0x1400594b8
mov qword [rsp + 0xc8], rbp
jmp 0x140059210
sub rdx, rbp
lea rsi, [rsp + 0xc0]
mov rcx, rsi
call fcn.14016aeb0
mov rsi, qword [rsi]
mov edx, dword [rsp + 0xb0]
mov rax, qword [0x1402a47d0]
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x20], edx
lea rdx, [rsp + 0x60]
mov rcx, rdi
mov r8d, 1
mov r9, rsi
call qword [case.0x1401e7f70.0]
cmp eax, 0x80000005
je 0x140059531
cmp eax, 0xc0000023
jne 0x140059086
mov edx, dword [rsp + 0xb0]
mov rsi, qword [rsp + 0xc0]
mov rax, qword [rsp + 0xc8]
sub rax, rsi
cmp rax, rdx
jb 0x140059560
jbe 0x14005957d
lea rax, [rsi + rdx]
mov qword [rsp + 0xc8], rax
jmp 0x14005957d
sub rdx, rax
lea rsi, [rsp + 0xc0]
mov rcx, rsi
call fcn.14016aeb0
mov rsi, qword [rsi]
mov edx, dword [rsp + 0xb0]
mov rax, qword [0x1402a47d0]
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x20], edx
lea rdx, [rsp + 0x60]
mov rcx, rdi
mov r8d, 1
mov r9, rsi
call qword [case.0x1401e7f70.0]
xor edi, edi
cmp eax, 0x80000005
je 0x1400592c4
mov ebx, 0
cmp eax, 0xc0000023
jne 0x140059086
jmp 0x1400590b6
sub r14, rsi
lea rax, [r14 + r14]
cmp rax, r13
cmovbe rax, r13
movabs rcx, 0x3fffffffffffffff
cmp r14, rcx
movabs r12, 0x7fffffffffffffff
cmovb r12, rax
mov rcx, r12
call fcn.14017b1d8
mov r14, rax
add r12, rax
lea rbp, [rax + r13]
mov rax, r15
mov rcx, r14
add rcx, rax
je 0x140059660
mov byte [rcx], 0
inc rax
cmp r13, rax
jne 0x140059604
mov rcx, r14
mov rdx, rsi
mov r8, r15
call fcn.140180220
mov qword [rsp + 0xc0], r14
mov qword [rsp + 0xc8], rbp
mov qword [rsp + 0xd0], r12
test rsi, rsi
je 0x140059652
mov rcx, rsi
call fcn.14017b254
mov r13d, dword [rsp + 0xb0]
mov rsi, r14
jmp 0x140059210
int3
int3
int3
int3
mov rax, qword [rsp + 0x30]
movzx ecx, word [rax + r12*2]
cmp ecx, 0x5c
je 0x14005967d
test ecx, ecx
jne 0x140058d0a
mov rax, qword [rsp + 0x30]
lea rax, [rax + r12*2]
mov edx, dword [rbp + 0x10]
mov dword [rsp + 0x3c], edx
cmp edx, 1
je 0x1400597f5
cmp dword [rsp + 0x3c], 2
jne 0x14005980b
lea rdx, str.WOW6432Node
mov qword [rsp + 0x48], rdx
mov rdx, rax
mov qword [rsp + 0x40], rax
jmp 0x14005980b
movabs rax, 0xaaaaaaaaaaaaaaaa
lea rbx, [rsp + 0xc0]
mov qword [rbx + 0x10], rax
movaps xmm0, xmmword [0x140270690]
movaps xmmword [rbx], xmm0
lea rdx, [0x1402a4e10]
mov rcx, rbx
call fcn.1401bc8c0
lea r14, [0x1402a4a00]
jmp 0x140059728
movabs rax, 0xaaaaaaaaaaaaaaaa
lea rbx, [rsp + 0xc0]
mov qword [rbx + 0x10], rax
movaps xmm0, xmmword [0x140270690]
movaps xmmword [rbx], xmm0
lea rdx, [0x1402a4e10]
mov rcx, rbx
call fcn.1401bc8c0
lea r14, [0x1402a4c00]
mov rcx, r14
call fcn.14017bd98
mov rcx, rbx
mov rdx, r14
mov r8, rax
call fcn.140017700
lea rdx, [0x140271d5c]
mov r8d, 1
mov rcx, rbx
call fcn.140017700
jmp 0x140058d6c
lea rax, [rsp + 0x60]
mov qword [rsp + 0x30], rax
jmp 0x140058cc7
lea rcx, [rsp + 0x60]
cmp byte [rcx + 0x17], 0
mov rax, rcx
jns 0x14005977a
mov rax, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x40]
sub rdx, rax
sar rdx, 1
mov r8, qword [rsp + 0x48]
call fcn.1401dc0d0
jmp 0x140058d21
int3
call fcn.140059860
test al, al
jne 0x140058ea1
jmp 0x1400590d8
add edi, 0xfffffffd
cmp edi, 0xfffffffe
jb 0x1400590d8
mov rsi, qword [rsp + 0x180]
lea rdi, [rsp + 0x80]
mov rcx, rdi
call fcn.1401fc030
mov rdx, qword [rdi]
mov rcx, rsi
call fcn.140076e40
mov sil, 1
jmp 0x1400590da
mov qword [rsp + 0x88], rcx
call fcn.14017b254
jmp 0x1400590eb
int3
lea rdx, str.WOW6432Node_
mov qword [rsp + 0x48], rdx
mov rdx, qword [rsp + 0x30]
mov qword [rsp + 0x40], rdx
cmp cx, 0x5c
jne 0x140059829
lea rcx, [rax + 2]
dec rbx
cmp word [rax + 2], 0x5c
mov qword [rsp + 0x30], rcx
mov rax, rcx
je 0x140059811
jmp 0x14005982e
mov qword [rsp + 0x30], rax
mov r14, qword [rbp + 0x20]
mov rbp, qword [rbp + 0x18]
xor esi, esi
mov r15, rbx
jmp 0x140058d11
mov r12, rsi
add r12, r13
mov qword [rsp + 0xc8], r12
jmp 0x1400591b6
lea rbp, [rsi + r13]
jmp 0x1400594ce
int3