Function at 0x403dec
Capabilities:
Get system information on windows

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x1a8
lea rbp, [rsp + 0x80]
mov dword [rbp + 0x150], ecx
mov qword [rbp + 0x158], rdx
call fcn.00432b20
mov ecx, 0
call sub.msvcrt.dll__time64
mov ecx, eax
call sub.msvcrt.dll_srand
call fcn.00403c51
mov ecx, eax
call sub.msvcrt.dll_srand
lea rax, [rbp - 0x20]
mov edx, 0x104
mov rcx, rax
call sub.msvcrt.dll__getcwd
mov ecx, 0x18
call sub.msvcrt.dll_malloc
mov qword [rbp + 0x108], rax
mov rdx, qword [rbp + 0x108]
mov rax, qword [rbp + 0x158]
mov r8, rdx
mov rdx, rax
mov ecx, dword [rbp + 0x150]
call fcn.00401560
lea rax, [rbp - 0x50]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetSystemInfo]
call rax
mov eax, dword [rbp - 0x30]
mov edx, eax
lea rax, [0x00452408]
mov dword [rax], edx
lea rax, [0x00452408]
mov eax, dword [rax]
cdqe
imul rax, rax, 0x44f0
mov rcx, rax
call sub.msvcrt.dll_malloc
mov rdx, rax
lea rax, [0x00452430]
mov qword [rax], rdx
lea rax, [0x00452408]
mov eax, dword [rax]
cdqe
shl rax, 2
mov rcx, rax
call sub.msvcrt.dll_malloc
mov rdx, rax
lea rax, [0x0044de60]
mov qword [rax], rdx
lea rax, [0x00452408]
mov eax, dword [rax]
cdqe
shl rax, 3
mov rcx, rax
call sub.msvcrt.dll_malloc
mov qword [rbp + 0x100], rax
lea rax, [0x00452408]
mov eax, dword [rax]
cdqe
shl rax, 3
mov rcx, rax
call sub.msvcrt.dll_malloc
mov qword [rbp + 0xf8], rax
lea rax, [0x00452408]
mov eax, dword [rax]
cdqe
shl rax, 2
mov rcx, rax
call sub.msvcrt.dll_malloc
mov rdx, rax
lea rax, [0x00452450]
mov qword [rax], rdx
lea rax, [0x00452408]
mov eax, dword [rax]
cdqe
shl rax, 3
mov rcx, rax
call sub.msvcrt.dll_malloc
mov rdx, rax
lea rax, [0x00452448]
mov qword [rax], rdx
lea rax, [0x00452408]
mov eax, dword [rax]
cdqe
shl rax, 2
mov rcx, rax
call sub.msvcrt.dll_malloc
mov rdx, rax
lea rax, [0x004523f8]
mov qword [rax], rdx
lea rax, [0x00452408]
mov eax, dword [rax]
cdqe
shl rax, 3
mov rcx, rax
call sub.msvcrt.dll_malloc
mov rdx, rax
lea rax, [0x00452440]
mov qword [rax], rdx
mov edx, 0
lea rax, [0x0044de10]
mov rcx, rax
call fcn.0042e480
mov dword [rbp + 0x11c], 0
jmp 0x4040d9
lea rax, [0x00452440]
mov rax, qword [rax]
mov edx, dword [rbp + 0x11c]
movsxd rdx, edx
shl rdx, 3
add rax, rdx
mov edx, 0
mov rcx, rax
call fcn.0042e480
lea rax, [0x00452450]
mov rax, qword [rax]
mov edx, dword [rbp + 0x11c]
movsxd rdx, edx
shl rdx, 2
add rax, rdx
mov dword [rax], 0xffffffff
lea rax, [0x00452448]
mov rax, qword [rax]
mov edx, dword [rbp + 0x11c]
movsxd rdx, edx
shl rdx, 3
lea rbx, [rax + rdx]
mov ecx, 0x2000
call sub.msvcrt.dll_malloc
mov qword [rbx], rax
mov dword [rbp + 0x118], 0
jmp 0x404084
lea rax, [0x00452448]
mov rax, qword [rax]
mov edx, dword [rbp + 0x11c]
movsxd rdx, edx
shl rdx, 3
add rax, rdx
mov rax, qword [rax]
mov edx, dword [rbp + 0x118]
movsxd rdx, edx
shl rdx, 3
lea rbx, [rax + rdx]
mov ecx, 0x1000
call sub.msvcrt.dll_malloc
mov qword [rbx], rax
add dword [rbp + 0x118], 1
cmp dword [rbp + 0x118], 0x3ff
jle 0x404042
lea rax, [0x004523f8]
mov rax, qword [rax]
mov edx, dword [rbp + 0x11c]
movsxd rdx, edx
shl rdx, 2
add rax, rdx
mov dword [rax], 0
mov eax, dword [rbp + 0x11c]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0xf8]
add rdx, rax
mov eax, dword [rbp + 0x11c]
mov dword [rdx], eax
add dword [rbp + 0x11c], 1
lea rax, [0x00452408]
mov eax, dword [rax]
cmp dword [rbp + 0x11c], eax
jl 0x403fc7
mov rdx, qword [0x00443cc0]
mov rax, qword [0x00443cd0]
mov r8, rax
mov eax, 0x34
mov rdi, rdx
mov rsi, r8
mov rcx, rax
rep movsq qword [rdi], qword [rsi]
lea rax, [0x0044de04]
mov rdx, rax
lea rax, [0x0044de80]
mov rcx, rax
call fcn.0040365d
test eax, eax
jne 0x4045c6
mov dword [rbp + 0x11c], 0
jmp 0x40418a
lea rax, [0x0044de60]
mov rax, qword [rax]
mov edx, dword [rbp + 0x11c]
movsxd rdx, edx
shl rdx, 2
add rdx, rax
lea rax, [0x00452430]
mov rcx, qword [rax]
mov eax, dword [rbp + 0x11c]
cdqe
imul rax, rax, 0x44f0
add rax, rcx
mov rcx, rax
call fcn.0040365d
test eax, eax
jne 0x4045c9
add dword [rbp + 0x11c], 1
lea rax, [0x00452408]
mov eax, dword [rax]
cmp dword [rbp + 0x11c], eax
jl 0x40413d
mov eax, dword [0x00436950]
lea rdx, [0x004523a0]
mov r8, rdx
mov edx, eax
lea rcx, [0x00436020]
call fcn.0040df10
test eax, eax
jne 0x4045cc
mov rcx, qword [0x00443c70]
call fcn.00409e90
mov dword [rbp + 0xf4], eax
cmp dword [rbp + 0xf4], 0
jne 0x4045cf
lea rcx, [0x00439a0c]
call fcn.00409bc0
mov edx, eax
lea rax, [0x0044de00]
mov dword [rax], edx
lea rax, [0x0044de00]
mov eax, dword [rax]
cmp eax, 0xffffffff
je 0x4045d2
mov rcx, qword [0x00443c90]
call fcn.0040a160
mov dword [rbp + 0xf4], eax
cmp dword [rbp + 0xf4], 0
jne 0x4045d5
lea rax, [0x0044de00]
mov eax, dword [rax]
mov ecx, eax
call fcn.00408680
mov dword [rbp + 0xf4], eax
cmp dword [rbp + 0xf4], 0
jne 0x4045d8
lea rcx, [0x00439a10]
call fcn.00409d10
mov edx, eax
lea rax, [0x00452380]
mov dword [rax], edx
lea rax, [0x00452380]
mov eax, dword [rax]
cmp eax, 0xffffffff
je 0x4045db
mov dword [rbp - 0x54], 0x20
lea rax, [rbp - 0x54]
mov rcx, rax
call fcn.00405b90
mov dword [rbp + 0xf4], eax
cmp dword [rbp + 0xf4], 0
jne 0x4045de
lea rax, [0x00452390]
mov rdx, rax
lea rcx, str.182__215__199__144__27__204__106
call fcn.00403aa6
lea rax, [0x00452388]
mov rdx, rax
lea rcx, str.135__205__215__151__27__203__106__148__89__82__207__0__231__127__163__20__3__59__205__65__147__58__45__134__229__186
call fcn.00403aa6
lea rax, [0x00452428]
mov dword [rax], 1
jmp 0x4045b2
lea rax, [0x0044de40]
mov dword [rax], 0
lea rax, [0x0044de40]
mov dword [rax + 4], 0
lea rax, [0x0044de40]
mov dword [rax + 8], 0
lea rax, [0x0044de40]
mov dword [rax + 0xc], 0
lea rax, [0x0044de40]
mov dword [rax + 0x10], 0
lea rax, [0x0044de40]
mov dword [rax + 0x14], 0
lea rax, [0x0044de38]
mov dword [rax], 0
lea rax, [0x0044de58]
mov dword [rax], 1
mov dword [rbp + 0x11c], 0
jmp 0x4043a3
mov eax, dword [rbp + 0x11c]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0xf8]
add rdx, rax
mov eax, dword [rbp + 0x11c]
cdqe
lea rcx, [rax*8]
mov rax, qword [rbp + 0x100]
add rax, rcx
mov r9, rdx
lea r8, [0x004026d0]
mov edx, 0
mov rcx, rax
call fcn.00430400
add dword [rbp + 0x11c], 1
lea rax, [0x00452408]
mov eax, dword [rax]
cmp dword [rbp + 0x11c], eax
jl 0x404351
mov dword [rbp + 0x11c], 0
jmp 0x4043e9
mov eax, dword [rbp + 0x11c]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x100]
add rax, rdx
mov rcx, rax
call fcn.004308d0
add dword [rbp + 0x11c], 1
lea rax, [0x00452408]
mov eax, dword [rax]
cmp dword [rbp + 0x11c], eax
jl 0x4043c0
mov rax, qword [rbp + 0x108]
mov rax, qword [rax + 8]
movzx eax, byte [rax]
test al, al
jne 0x404478
mov ecx, 0x1000
call sub.msvcrt.dll_malloc
mov qword [rbp + 0xe8], rax
mov dword [rbp + 0x114], 0x5a
jmp 0x40445e
mov edx, dword [rbp + 0x114]
mov rax, qword [rbp + 0xe8]
mov r8d, edx
lea rdx, str._c:_
mov rcx, rax
call sub.msvcrt.dll_sprintf
mov rax, qword [rbp + 0xe8]
mov rcx, rax
call fcn.00402206
sub dword [rbp + 0x114], 1
cmp dword [rbp + 0x114], 0x40
jg 0x404429
mov rax, qword [rbp + 0xe8]
mov rcx, rax
call sub.msvcrt.dll_free
jmp 0x40448b
mov rax, qword [rbp + 0x108]
mov rax, qword [rax + 8]
mov rcx, rax
call fcn.00402206
lea rax, [0x00452408]
mov edx, dword [rax]
mov eax, edx
shl eax, 2
add eax, edx
shl eax, 8
mov dword [rbp + 0xe4], eax
jmp 0x4044b4
mov ecx, 0xa
mov rax, qword [sym.imp.KERNEL32.dll_Sleep]
call rax
lea rax, [0x0044de38]
mov eax, dword [rax]
cmp dword [rbp + 0xe4], eax
jg 0x4044a6
mov dword [rbp + 0x110], 0
jmp 0x404583
mov dword [rbp + 0x110], 1
mov dword [rbp + 0x11c], 0
jmp 0x404560
lea rax, [0x00452440]
mov rax, qword [rax]
mov edx, dword [rbp + 0x11c]
movsxd rdx, edx
shl rdx, 3
add rax, rdx
mov rcx, rax
call fcn.0042e060
lea rax, [0x00452450]
mov rax, qword [rax]
mov edx, dword [rbp + 0x11c]
movsxd rdx, edx
shl rdx, 2
add rax, rdx
mov eax, dword [rax]
cmp eax, 0xffffffff
je 0x404537
mov dword [rbp + 0x110], 0
lea rax, [0x00452440]
mov rax, qword [rax]
mov edx, dword [rbp + 0x11c]
movsxd rdx, edx
shl rdx, 3
add rax, rdx
mov rcx, rax
call fcn.0042e330
add dword [rbp + 0x11c], 1
lea rax, [0x00452408]
mov eax, dword [rax]
cmp dword [rbp + 0x11c], eax
jl 0x4044ea
mov ecx, 0xa
mov rax, qword [sym.imp.KERNEL32.dll_Sleep]
call rax
cmp dword [rbp + 0x110], 0
je 0x4044d4
lea rax, [0x0044de58]
mov dword [rax], 0
lea rax, [0x00452428]
mov eax, dword [rax]
lea edx, [rax + 1]
lea rax, [0x00452428]
mov dword [rax], edx
lea rax, [0x00452428]
mov eax, dword [rax]
cmp eax, 1
jle 0x4042d8
jmp 0x4045df
nop
jmp 0x4045df
nop
jmp 0x4045df
nop
jmp 0x4045df
nop
jmp 0x4045df
nop
jmp 0x4045df
nop
jmp 0x4045df
nop
jmp 0x4045df
nop
jmp 0x4045df
nop
lea rax, [0x00452430]
mov rax, qword [rax]
mov rcx, rax
call sub.msvcrt.dll_free
lea rax, [0x0044de60]
mov rax, qword [rax]
mov rcx, rax
call sub.msvcrt.dll_free
mov dword [rbp + 0x11c], 0
jmp 0x404638
lea rax, [0x00452440]
mov rax, qword [rax]
mov edx, dword [rbp + 0x11c]
movsxd rdx, edx
shl rdx, 3
add rax, rdx
mov rcx, rax
call fcn.0042e4d0
add dword [rbp + 0x11c], 1
lea rax, [0x00452408]
mov eax, dword [rax]
cmp dword [rbp + 0x11c], eax
jl 0x40460f
mov rax, qword [rbp + 0x100]
mov rcx, rax
call sub.msvcrt.dll_free
mov rax, qword [rbp + 0xf8]
mov rcx, rax
call sub.msvcrt.dll_free
lea rax, [0x00452450]
mov rax, qword [rax]
mov rcx, rax
call sub.msvcrt.dll_free
mov dword [rbp + 0x11c], 0
jmp 0x40470b
mov dword [rbp + 0x118], 0
jmp 0x4046d3
lea rax, [0x00452448]
mov rax, qword [rax]
mov edx, dword [rbp + 0x11c]
movsxd rdx, edx
shl rdx, 3
add rax, rdx
mov rax, qword [rax]
mov edx, dword [rbp + 0x118]
movsxd rdx, edx
shl rdx, 3
add rax, rdx
mov rax, qword [rax]
mov rcx, rax
call sub.msvcrt.dll_free
add dword [rbp + 0x118], 1
cmp dword [rbp + 0x118], 0x3ff
jle 0x404694
lea rax, [0x00452448]
mov rax, qword [rax]
mov edx, dword [rbp + 0x11c]
movsxd rdx, edx
shl rdx, 3
add rax, rdx
mov rax, qword [rax]
mov rcx, rax
call sub.msvcrt.dll_free
add dword [rbp + 0x11c], 1
lea rax, [0x00452408]
mov eax, dword [rax]
cmp dword [rbp + 0x11c], eax
jl 0x404688
lea rax, [0x00452448]
mov rax, qword [rax]
mov rcx, rax
call sub.msvcrt.dll_free
lea rax, [0x004523f8]
mov rax, qword [rax]
mov rcx, rax
call sub.msvcrt.dll_free
lea rax, [0x00452440]
mov rax, qword [rax]
mov rcx, rax
call sub.msvcrt.dll_free
lea rax, [0x0044de10]
mov rcx, rax
call fcn.0042e4d0
mov rax, qword [rbp + 0x108]
mov rax, qword [rax]
mov rcx, rax
call sub.msvcrt.dll_free
mov rax, qword [rbp + 0x108]
mov rax, qword [rax + 8]
mov rcx, rax
call sub.msvcrt.dll_free
mov rax, qword [rbp + 0x108]
mov rcx, rax
call sub.msvcrt.dll_free
lea rax, [0x00452390]
mov rax, qword [rax]
mov rcx, rax
call sub.msvcrt.dll_free
lea rax, [0x00452388]
mov rax, qword [rax]
mov rcx, rax
call sub.msvcrt.dll_free
mov eax, 0
add rsp, 0x1a8
pop rbx
pop rsi
pop rdi
pop rbp
ret