Function at 0x140010440
Capabilities:
Get system information on windows

Disassembly:
sub rsp, 0x168
mov rax, rdx
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0xa8], rax
mov edx, dword [rax + 4]
mov ecx, dword [rax + 8]
movzx eax, byte [rax + 0x11a]
mov dword [rsp + 0x64], edx
mov dword [rsp + 0x68], ecx
mov dword [rsp + 0x6c], eax
mov eax, dword [rsp + 0x64]
mov dword [rsp + 0x4c], eax
sub eax, 5
je 0x1400104da
jmp 0x140010489
mov eax, dword [rsp + 0x4c]
sub eax, 6
je 0x1400104b6
jmp 0x140010494
mov eax, dword [rsp + 0x4c]
sub eax, 0xa
je 0x1400104ad
jmp 0x14001049f
mov qword [rsp + 0x50], 0
jmp 0x140010564
cmp dword [rsp + 0x68], 0
je 0x14001050a
jmp 0x14001049f
mov eax, dword [rsp + 0x68]
mov qword [rsp + 0x28], rax
sub rax, 3
ja 0x14001049f
mov rax, qword [rsp + 0x28]
lea rcx, [0x14012a604]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x24], eax
test eax, eax
je 0x140010697
jmp 0x1400104ec
mov eax, dword [rsp + 0x24]
sub eax, 1
je 0x14001067d
jmp 0x1400104fb
mov eax, dword [rsp + 0x24]
sub eax, 2
je 0x1400106b1
jmp 0x14001049f
cmp dword [rsp + 0x6c], 1
jne 0x140010521
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0xc], 0x55f0
jae 0x14001054f
jmp 0x140010538
lea rax, [0x14012abfc]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], 0x13
jmp 0x140010564
lea rax, str.Windows_10Windows_11Windows_Server_2016Windows_8.1Windows_Server_2012_R2Windows_8Windows_Server_2012Windows_7Windows_Server_2008_R2Windows_VistaWindows_Server_2008Windows_XPWindows_2000
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], 0xa
jmp 0x140010564
lea rax, [0x14012abf2]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], 0xa
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x50]
mov r8, qword [rsp + 0x58]
call dbg.core::option::Option<T>::map::h2fbf0765b34103df
mov rax, qword [rsp + 0x40]
add rsp, 0x168
ret
cmp dword [rsp + 0x6c], 1
je 0x1400105b3
jmp 0x1400105ca
cmp dword [rsp + 0x6c], 1
je 0x1400105e1
jmp 0x1400105fb
cmp dword [rsp + 0x6c], 1
je 0x140010615
jmp 0x14001062f
cmp dword [rsp + 0x6c], 1
je 0x140010649
jmp 0x140010663
lea rax, [0x14012ac0f]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], 0xb
jmp 0x140010564
lea rax, [0x14012ac1a]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], 0x16
jmp 0x140010564
lea rax, [0x14012ac30]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], 9
jmp 0x140010564
lea rax, [0x14012ac39]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], 0x13
jmp 0x140010564
lea rax, [0x14012ac4c]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], 9
jmp 0x140010564
lea rax, [0x14012ac55]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], 0x16
jmp 0x140010564
lea rax, [0x14012ac6b]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], 0xd
jmp 0x140010564
lea rax, [0x14012ac78]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], 0x13
jmp 0x140010564
lea rax, [0x14012ac8b]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], 0xa
jmp 0x140010564
lea rax, [0x14012ac95]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], 0xc
jmp 0x140010564
mov ecx, 0x59
call sub.user32.dll_GetSystemMetrics
cmp eax, 0
jne 0x14001049f
mov byte [rsp + 0xb7], 0
mov qword [rsp + 0xb8], 1
mov byte [rsp + 0xc7], 0
mov qword [rsp + 0xc8], 1
lea rax, [rsp + 0x100]
mov qword [rsp + 0x160], rax
lea rcx, [rsp + 0x100]
xor edx, edx
mov r8d, 0x30
call sub.msvcrt.dll_memset
lea rcx, [rsp + 0xd0]
lea rdx, [rsp + 0x100]
mov r8d, 0x30
call sym.memcpy
lea rcx, [rsp + 0x130]
lea rdx, [rsp + 0xd0]
mov r8d, 0x30
call sym.memcpy
lea rcx, [rsp + 0x70]
lea rdx, [rsp + 0x130]
mov r8d, 0x30
call sym.memcpy
lea rcx, [rsp + 0x70]
call sub.kernel32.dll_GetSystemInfo
mov rax, qword [rsp + 0x30]
mov cx, word [rax + 0x118]
call dbg.into<u16, u32>
and eax, 0x8000
cmp eax, 0x8000
je 0x140010796
mov rax, qword [rsp + 0x30]
cmp byte [rax + 0x11a], 1
je 0x1400107ba
jmp 0x1400107b0
lea rax, [0x14012acf6]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], 0x13
jmp 0x140010564
mov byte [rsp + 0xa7], 0
jmp 0x1400107cc
cmp word [rsp + 0x70], 9
sete al
and al, 1
mov byte [rsp + 0xa7], al
test byte [rsp + 0xa7], 1
jne 0x1400107f0
lea rax, str.Windows_Server_2003Windows_XP_Professional_x64_EditionWindows_Home_ServerEmpty_module_name
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], 0x13
jmp 0x140010564
lea rax, [0x14012acd3]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], 0x23
jmp 0x140010564