Function at 0x43f040
Capabilities:
Get system information on windows

Disassembly:
push rbp
sub rsp, 0x1a0
mov rbp, rsp
mov qword [rbp + 0x38], rcx
mov qword [rbp + 0x48], 0
mov qword [rbp + 0x40], 0
nop
mov rcx, qword [rbp + 0x38]
lea rdx, [0x0043f3a4]
call fcn.0040c4a0
lea rcx, [rbp + 0x50]
call sub.kernel32.dll_GetSystemInfo
mov dword [rbp + 0x84], 0x11c
lea rcx, [rbp + 0x84]
call sub.kernel32.dll_GetVersionExW
test eax, eax
je 0x43f31d
mov eax, dword [rbp + 0x88]
sub eax, 5
test eax, eax
je 0x43f0bf
sub eax, 1
test eax, eax
je 0x43f185
sub eax, 4
test eax, eax
jne 0x43f2d8
jmp 0x43f274
mov eax, dword [rbp + 0x8c]
sub eax, 1
cmp eax, 0xffffffff
je 0x43f0da
test eax, eax
je 0x43f0ef
sub eax, 1
test eax, eax
jne 0x43f128
jmp 0x43f104
mov rcx, qword [rbp + 0x38]
lea rdx, [0x0043f3b8]
call fcn.0040c4a0
jmp 0x43f2d8
mov rcx, qword [rbp + 0x38]
lea rdx, [0x0043f3d4]
call fcn.0040c4a0
jmp 0x43f2d8
cmp word [rbp + 0x19c], 0x8000
jne 0x43f2d8
mov rcx, qword [rbp + 0x38]
lea rdx, [0x0043f3ec]
call fcn.0040c4a0
jmp 0x43f2d8
cmp byte [rbp + 0x19e], 1
jne 0x43f14d
cmp word [rbp + 0x50], 9
jne 0x43f14d
mov rcx, qword [rbp + 0x38]
lea rdx, [0x0043f404]
call fcn.0040c4a0
jmp 0x43f2d8
mov ecx, 0x59
call sub.user32.dll_GetSystemMetrics
test eax, eax
je 0x43f170
mov rcx, qword [rbp + 0x38]
lea rdx, [0x0043f42c]
call fcn.0040c4a0
jmp 0x43f2d8
mov rcx, qword [rbp + 0x38]
lea rdx, [0x0043f450]
call fcn.0040c4a0
jmp 0x43f2d8
mov eax, dword [rbp + 0x8c]
sub eax, 1
cmp eax, 0xffffffff
je 0x43f1ae
test eax, eax
je 0x43f1e1
sub eax, 1
test eax, eax
je 0x43f214
sub eax, 1
test eax, eax
jne 0x43f2d8
jmp 0x43f247
cmp byte [rbp + 0x19e], 1
jne 0x43f1cc
mov rcx, qword [rbp + 0x38]
lea rdx, [0x0043f470]
call fcn.0040c4a0
jmp 0x43f2d8
mov rcx, qword [rbp + 0x38]
lea rdx, [0x0043f48c]
call fcn.0040c4a0
jmp 0x43f2d8
cmp byte [rbp + 0x19e], 1
jne 0x43f1ff
mov rcx, qword [rbp + 0x38]
lea rdx, [0x0043f4ac]
call fcn.0040c4a0
jmp 0x43f2d8
mov rcx, qword [rbp + 0x38]
lea rdx, [0x0043f4c4]
call fcn.0040c4a0
jmp 0x43f2d8
cmp byte [rbp + 0x19e], 1
jne 0x43f232
mov rcx, qword [rbp + 0x38]
lea rdx, [0x0043f4e8]
call fcn.0040c4a0
jmp 0x43f2d8
mov rcx, qword [rbp + 0x38]
lea rdx, [0x0043f500]
call fcn.0040c4a0
jmp 0x43f2d8
cmp byte [rbp + 0x19e], 1
jne 0x43f262
mov rcx, qword [rbp + 0x38]
lea rdx, [0x0043f520]
call fcn.0040c4a0
jmp 0x43f2d8
mov rcx, qword [rbp + 0x38]
lea rdx, [0x0043f538]
call fcn.0040c4a0
jmp 0x43f2d8
cmp dword [rbp + 0x90], 0x55f0
jae 0x43f2ad
cmp byte [rbp + 0x19e], 1
jne 0x43f29b
mov rcx, qword [rbp + 0x38]
lea rdx, [0x0043f55c]
call fcn.0040c4a0
jmp 0x43f2d8
mov rcx, qword [rbp + 0x38]
lea rdx, [0x0043f574]
call fcn.0040c4a0
jmp 0x43f2d8
cmp byte [rbp + 0x19e], 1
jne 0x43f2c8
mov rcx, qword [rbp + 0x38]
lea rdx, [0x0043f59c]
call fcn.0040c4a0
jmp 0x43f2d8
mov rcx, qword [rbp + 0x38]
lea rdx, [0x0043f5b4]
call fcn.0040c4a0
lea rcx, [rbp + 0x48]
movzx edx, word [rbp + 0x198]
call fcn.004225b0
lea rcx, [rbp + 0x40]
mov rdx, qword [rbp + 0x48]
xor r8, r8
call fcn.0040cff0
mov rcx, qword [rbp + 0x38]
mov edx, 3
mov rax, qword [rbp + 0x38]
mov r8, qword [rax]
lea r9, [0x0043f5d4]
mov rax, qword [rbp + 0x40]
mov qword [rsp + 0x20], rax
call fcn.0040cce0
call fcn.0043ef80
test al, al
je 0x43f338
mov rcx, qword [rbp + 0x38]
lea rdx, [0x0043f5e4]
call fcn.0040c910
jmp 0x43f348
mov rcx, qword [rbp + 0x38]
lea rdx, [0x0043f5f8]
call fcn.0040c910
nop
lea rcx, [rbp + 0x40]
call fcn.0040bd40
lea rcx, [rbp + 0x48]
call fcn.0040bcf0
mov rax, qword [rbp + 0x38]
lea rsp, [rbp + 0x1a0]
pop rbp
ret