Function at 0x140004160
Capabilities:
Get system information on windows

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x30]
sub rsp, 0x130
mov rax, qword [0x1405bdaa0]
xor rax, rsp
mov qword [rbp + 0x28], rax
mov rbx, r8
mov r14, rcx
mov qword [rsp + 0x60], rcx
mov dword [rsp + 0x30], 1
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rcx], xmm0
mov qword [rcx], rax
mov qword [rcx + 8], rax
mov qword [rcx + 0x10], rax
mov dword [rsp + 0x30], 1
mov r8d, edx
xor edx, edx
mov ecx, 0x410
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov r12, rax
mov qword [rsp + 0x48], rax
test rax, rax
je 0x1400046c0
lea rcx, [rbp - 0x68]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov r15, qword [rbp - 0x60]
mov qword [rsp + 0x38], r15
mov r13, qword [rbp - 0x58]
mov qword [rsp + 0x50], r13
mov rdx, rbx
lea rcx, [rbp - 0x18]
call fcn.14000f680
nop
lea rdi, [rbp - 0x18]
mov r8, qword [rbp - 0x18]
cmp qword [rbp], 0x10
cmovae rdi, r8
lea rcx, [rbp - 0x18]
cmovae rcx, r8
mov rsi, qword [rbp - 8]
add rsi, rcx
lea rbx, [rbp - 0x18]
cmp qword [rbp], 0x10
cmovae rbx, r8
cmp rbx, rsi
je 0x14000424b
sub rdi, rbx
movsx ecx, byte [rbx]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_tolower]
mov byte [rbx + rdi], al
inc rbx
cmp rbx, rsi
jne 0x140004237
cmp r15, r13
jae 0x140004669
movabs rsi, 0x7fffffffffffffff
nop
mov r9d, 0x30
lea r8, [rsp + 0x68]
mov rdx, r15
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_VirtualQueryEx]
test rax, rax
je 0x140004669
cmp dword [rbp - 0x78], 0x1000
jne 0x140004657
mov eax, dword [rbp - 0x74]
cmp eax, 1
je 0x140004657
cmp eax, 0x100
je 0x140004657
mov rdi, qword [rbp - 0x80]
xorps xmm1, xmm1
movdqu xmmword [rbp + 8], xmm1
xor ebx, ebx
mov qword [rbp + 0x18], rbx
test rdi, rdi
je 0x140004320
cmp rdi, rsi
ja 0x1400046f6
cmp rdi, 0x1000
jb 0x1400042f6
lea rcx, [rdi + 0x27]
cmp rcx, rdi
jbe 0x1400046f0
call fcn.1401c4190
test rax, rax
je 0x1400046b3
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x140004301
mov rcx, rdi
call fcn.1401c4190
mov rsi, rax
mov qword [rbp + 8], rsi
lea rbx, [rsi + rdi]
mov qword [rbp + 0x18], rbx
mov r8, rdi
xor edx, edx
mov rcx, rsi
call sub.VCRUNTIME140.dll_memset
mov qword [rbp + 0x10], rbx
jmp 0x140004328
mov rbx, qword [rbp + 0x10]
mov rsi, qword [rbp + 8]
lea rax, [rbp + 0x20]
mov qword [rsp + 0x20], rax
mov r9, rdi
mov r8, rsi
mov rdx, qword [rsp + 0x68]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
je 0x140004615
xorps xmm0, xmm0
movups xmmword [rbp - 0x38], xmm0
xor eax, eax
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], rax
cmp rsi, rbx
jne 0x14000437a
mov ecx, eax
mov qword [rbp - 0x28], rax
mov edi, reloc.WS2_32.dll_ntohs
mov qword [rbp - 0x20], rdi
mov byte [rbp - 0x38], al
jmp 0x140004454
sub rbx, rsi
movabs rcx, 0x7fffffffffffffff
cmp rbx, rcx
ja 0x1400046ea
mov qword [rbp - 0x20], reloc.WS2_32.dll_ntohs
cmp rbx, 0x10
jae 0x1400043bb
mov qword [rbp - 0x28], rbx
mov r8, rbx
mov rdx, rsi
lea rcx, [rbp - 0x38]
call sub.VCRUNTIME140.dll_memcpy
mov byte [rbp + rbx - 0x38], 0
jmp 0x14000444c
mov rdi, rbx
or rdi, 0xf
cmp rdi, rcx
jbe 0x1400043cc
mov rdi, rcx
jmp 0x1400043d9
cmp rdi, 0x16
mov ecx, socket
cmovb rdi, rcx
mov rcx, rdi
add rcx, 1
mov rdx, 0xffffffffffffffff
cmovb rcx, rdx
cmp rcx, 0x1000
jb 0x140004420
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1400046fc
mov rcx, rax
call fcn.1401c4190
test rax, rax
je 0x1400046ac
lea r15, [rax + 0x27]
and r15, 0xffffffffffffffe0
mov qword [r15 - 8], rax
jmp 0x14000442d
test rcx, rcx
je 0x14000442a
call fcn.1401c4190
mov r15, rax
mov qword [rbp - 0x38], r15
mov qword [rbp - 0x28], rbx
mov qword [rbp - 0x20], rdi
mov r8, rbx
mov rdx, rsi
mov rcx, r15
call sub.VCRUNTIME140.dll_memcpy
mov byte [r15 + rbx], 0
mov rcx, qword [rbp - 0x28]
mov rdi, qword [rbp - 0x20]
lea r12, [rbp - 0x38]
cmp rdi, 0x10
setae al
mov r15, qword [rbp - 0x38]
cmovae r12, r15
lea rdx, [rbp - 0x38]
test al, al
je 0x140004478
mov rbx, r15
lea r13, [rcx + r15]
jmp 0x140004480
lea r13, [rcx + rdx]
lea rbx, [rbp - 0x38]
cmp rbx, r13
je 0x1400044b1
sub r12, rbx
nop dword [rax + rax]
movsx ecx, byte [rbx]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_tolower]
mov byte [rbx + r12], al
inc rbx
cmp rbx, r13
jne 0x140004490
mov rdi, qword [rbp - 0x20]
mov rcx, qword [rbp - 0x28]
mov r15, qword [rbp - 0x38]
lea r13, [rbp - 0x18]
cmp qword [rbp], 0x10
cmovae r13, qword [rbp - 0x18]
lea rax, [rbp - 0x38]
cmp rdi, 0x10
cmovae rax, r15
mov qword [rsp + 0x40], rax
mov r12, qword [rbp - 8]
cmp r12, rcx
ja 0x1400045cf
sub rcx, r12
test r12, r12
jne 0x1400044e9
xor ebx, ebx
jmp 0x140004560
inc rcx
add rcx, rax
mov qword [rsp + 0x58], rcx
movsx edx, byte [r13]
mov r8, rcx
sub r8, rax
mov rcx, rax
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
je 0x1400045cf
nop dword [rax]
nop word [rax + rax]
mov r8, r12
mov rdx, r13
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x140004554
inc rbx
mov r8, qword [rsp + 0x58]
sub r8, rbx
movsx edx, byte [r13]
mov rcx, rbx
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
jne 0x140004520
jmp 0x1400045cf
sub rbx, qword [rsp + 0x40]
cmp rbx, 0xffffffffffffffff
je 0x1400045cf
nop
mov rcx, qword [rsp + 0x68]
add rcx, rbx
mov qword [rsp + 0x40], rcx
mov rdx, qword [r14 + 8]
cmp rdx, qword [r14 + 0x10]
je 0x140004581
mov qword [rdx], rcx
add qword [r14 + 8], 8
jmp 0x14000458e
lea r8, [rsp + 0x40]
mov rcx, r14
call fcn.140010d90
lea r9, [rbp - 0x18]
cmp qword [rbp], 0x10
cmovae r9, qword [rbp - 0x18]
lea rcx, [rbp - 0x38]
mov r15, qword [rbp - 0x38]
mov rdi, qword [rbp - 0x20]
cmp rdi, 0x10
cmovae rcx, r15
lea r8, [rbx + 1]
mov rax, qword [rbp - 8]
mov qword [rsp + 0x20], rax
mov rdx, qword [rbp - 0x28]
call fcn.140010570
mov rbx, rax
cmp rax, 0xffffffffffffffff
jne 0x140004560
cmp rdi, 0x10
jb 0x140004606
lea rdx, [rdi + 1]
mov rax, r15
cmp rdx, 0x1000
jb 0x1400045fe
add rdx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400046ac
mov rcx, r15
call fcn.1401c44ec
mov r13, qword [rsp + 0x50]
mov r12, qword [rsp + 0x48]
mov r15, qword [rsp + 0x38]
test rsi, rsi
je 0x14000464d
mov rcx, qword [rbp + 0x18]
sub rcx, rsi
mov rax, rsi
cmp rcx, 0x1000
jb 0x140004642
add rcx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400046b3
mov rdx, rcx
mov rcx, rsi
call fcn.1401c44ec
movabs rsi, 0x7fffffffffffffff
add r15, qword [rbp - 0x80]
mov qword [rsp + 0x38], r15
cmp r15, r13
jb 0x140004260
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
mov rdx, qword [rbp]
cmp rdx, 0x10
jb 0x1400046c0
inc rdx
mov rcx, qword [rbp - 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400046ba
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400046ba
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call fcn.1401c44ec
nop
mov rax, r14
mov rcx, qword [rbp + 0x28]
xor rcx, rsp
call fcn.1401c4160
mov rbx, qword [rsp + 0x188]
add rsp, 0x130
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.140001670
nop
call fcn.1400015d0
int3
call fcn.140010b80
nop
call fcn.1400015d0
int3