Function at 0x14002d110
Capabilities:
Get disk information
Get memory capacity
Get system information on windows

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x568
vmovups xmmword [rsp + 0x530], xmm6
vmovups xmmword [rsp + 0x540], xmm7
vmovups xmmword [rsp + 0x550], xmm8
mov rax, qword [0x1400ea280]
mov rdx, qword [0x1400ea4b0]
movabs rsi, 0x44aee1cfd0f41860
movabs rdi, 0x28cfb2b6aa956a23
vmovq xmm1, rsi
vmovq xmm2, rdi
movabs r8, 0xc52e3b3f9c747604
add rax, 0x18
mov rbx, rcx
lea r12, [rsp + 0x3b0]
movabs rcx, 0xc52e4f53fd270f70
vpinsrq xmm6, xmm1, r8, 1
vpinsrq xmm0, xmm2, rcx, 1
add rdx, 0x10
vmovq xmm8, rax
vpxor xmm6, xmm6, xmm0
lea r13, [rsp + 0xa0]
mov rcx, r12
vpinsrq xmm7, xmm8, rdx, 1
vmovdqu xmmword [rsp + 0x3b0], xmm6
mov qword [rsp + 0x90], r13
call sub.msvcrt.dll_strlen
cmp rax, 1
je 0x14002d8c0
test rax, rax
jne 0x14002d880
mov qword [rsp + 0x98], rax
lea rcx, [rsp + 0xb0]
mov byte [rsp + rax + 0xa0], 0
call qword [sym.imp.KERNEL32.DLL_GetSystemInfo]
mov dword [rsp + 0xe0], 0x40
lea rcx, [rsp + 0xe0]
call qword [sym.imp.KERNEL32.DLL_GlobalMemoryStatusEx]
lea rdx, [rsp + 0x120]
mov dword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0x8c]
mov r8d, 0x105
lea rcx, [0x1400e4180]
call qword [sym.imp.KERNEL32.DLL_GetVolumeInformationA]
lea r14, [rsp + 0x2a0]
lea rsi, [rsp + 0x230]
mov rcx, r14
mov qword [rsp + 0x48], r14
call fcn.1400cf760
vpxor xmm3, xmm3, xmm3
mov word [rsp + 0x380], 0
mov qword [rsp + 0x378], 0
vmovdqu ymmword [rsp + 0x388], ymm3
xor edx, edx
mov r10, qword [0x1400ea1e0]
mov rax, qword [0x1400ea700]
mov rdi, qword [r10 + 8]
mov r15, qword [r10 + 0x10]
add rax, 0x10
mov qword [rsp + 0x2a0], rax
mov rcx, qword [rdi - 0x18]
mov qword [rsp + 0x230], rdi
add rcx, rsi
mov qword [rcx], r15
vzeroupper
call fcn.1400d07a0
mov rcx, qword [0x1400ea280]
vpxor xmm4, xmm4, xmm4
vpxor xmm5, xmm5, xmm5
vmovdqu xmmword [rsp + 0x230], xmm7
vmovdqu ymmword [rsp + 0x240], ymm4
vmovdqu xmmword [rsp + 0x260], xmm5
add rcx, 0x40
mov qword [rsp + 0x2a0], rcx
lea rcx, [rsp + 0x270]
mov qword [rsp + 0x40], rcx
vzeroupper
call fcn.1400b4ec0
lea rdx, [rsp + 0x290]
mov rcx, r14
mov r11, qword [0x1400ea270]
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x280], rdx
lea rdx, [rsp + 0x238]
mov dword [rsp + 0x278], 0x10
mov qword [rsp + 0x288], 0
mov byte [rsp + 0x290], 0
add r11, 0x10
mov qword [rsp + 0x238], r11
call fcn.1400d07a0
mov edx, dword [rsp + 0xd4]
mov rcx, rsi
call fcn.14008be00
mov rdx, qword [rsp + 0xe8]
mov rcx, rsi
call fcn.14008c240
mov edx, dword [rsp + 0x8c]
mov rcx, rsi
call fcn.14008be00
mov edx, dword [rsp + 0xd0]
mov rcx, rsi
call fcn.14008be00
mov r8, qword [rsp + 0x98]
mov rdx, qword [rsp + 0x90]
mov rcx, rsi
call fcn.1400d2ef0
mov r9d, dword [rsp + 0x8c]
test r9d, r9d
jne 0x14002d540
mov rbp, qword [0x1400ea160]
mov r8d, 0x19
lea rdx, str.Volume_serial_number_is_0
mov rcx, rbp
call fcn.1400d2ef0
mov rdx, qword [rbp]
mov rax, qword [rdx - 0x18]
mov r12, qword [rax + rbp + 0xf0]
test r12, r12
je 0x14002ddd5
cmp byte [r12 + 0x38], 0
je 0x14002d8d0
movsx edx, byte [r12 + 0x43]
mov rcx, rbp
call fcn.14008aa40
mov rcx, rax
call fcn.14008ac20
lea rsi, [rbx + 0x10]
mov qword [rbx + 8], 0
mov byte [rbx + 0x10], 0
mov qword [rbx], rsi
mov rcx, qword [0x1400ea280]
mov r11, qword [0x1400ea270]
mov r9, qword [rsp + 0x50]
add rcx, 0x40
mov qword [rsp + 0x2a0], rcx
mov rcx, qword [rsp + 0x280]
add r11, 0x10
vpinsrq xmm7, xmm8, r11, 1
vmovdqu xmmword [rsp + 0x230], xmm7
cmp rcx, r9
je 0x14002d49d
mov rbp, qword [rsp + 0x290]
lea rdx, [rbp + 1]
call fcn.1400d9ca0
mov rdx, qword [0x1400ea4b0]
mov rcx, qword [rsp + 0x40]
add rdx, 0x10
mov qword [rsp + 0x238], rdx
call fcn.1400b4f80
mov qword [rsp + 0x230], rdi
mov rdi, qword [rdi - 0x18]
mov rcx, qword [rsp + 0x48]
mov qword [rsp + rdi + 0x230], r15
mov r15, qword [0x1400ea700]
add r15, 0x10
mov qword [rsp + 0x2a0], r15
call fcn.1400cf800
mov rcx, qword [rsp + 0x90]
cmp rcx, r13
je 0x14002d50a
mov r13, qword [rsp + 0xa0]
lea rdx, [r13 + 1]
call fcn.1400d9ca0
nop
vmovups xmm6, xmmword [rsp + 0x530]
vmovups xmm7, xmmword [rsp + 0x540]
mov rax, rbx
vmovups xmm8, xmmword [rsp + 0x550]
add rsp, 0x568
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rbp, qword [rsp + 0x260]
lea r14, [rsp + 0x3c0]
mov qword [rsp + 0x3b8], 0
mov byte [rsp + 0x3c0], 0
mov qword [rsp + 0x3b0], r14
test rbp, rbp
je 0x14002dac0
mov r11, qword [rsp + 0x250]
mov r9, qword [rsp + 0x258]
mov rdx, rbp
cmp r11, rbp
mov qword [rsp + 0x58], r9
cmovae rbp, r11
test r11, r11
cmove rbp, rdx
sub rbp, r9
js 0x14002ddda
cmp rbp, 0xf
ja 0x14002db50
cmp qword [rsp + 0x58], r14
je 0x14002df70
test rbp, rbp
jne 0x14002daa0
mov r10, r14
mov qword [rsp + 0x3b8], rbp
mov byte [r10 + rbp], 0
mov r8d, 0xc70f6907
mov rcx, qword [rsp + 0x3b0]
mov rdx, qword [rsp + 0x3b8]
call fcn.1400d1b70
mov rcx, qword [rsp + 0x3b0]
mov rbp, rax
cmp rcx, r14
je 0x14002d60e
mov r14, qword [rsp + 0x3c0]
lea rdx, [r14 + 1]
call fcn.1400d9ca0
lea r14, [rsp + 0x420]
mov rcx, r14
mov qword [rsp + 0x60], r14
call fcn.1400cf760
vpxor xmm1, xmm1, xmm1
mov word [rsp + 0x500], 0
mov qword [rsp + 0x4f8], 0
vmovdqu ymmword [rsp + 0x508], ymm1
mov qword [rsp + 0x3b0], rdi
xor edx, edx
mov rcx, qword [rdi - 0x18]
mov r9, qword [0x1400ea700]
add rcx, r12
add r9, 0x10
mov qword [rsp + 0x420], r9
mov qword [rcx], r15
vzeroupper
call fcn.1400d07a0
mov rax, qword [0x1400ea280]
vpxor xmm2, xmm2, xmm2
vpxor xmm0, xmm0, xmm0
lea rcx, [rsp + 0x3f0]
mov qword [rsp + 0x58], rcx
vmovdqu xmmword [rsp + 0x3b0], xmm7
vmovdqu ymmword [rsp + 0x3c0], ymm2
vmovdqu xmmword [rsp + 0x3e0], xmm0
add rax, 0x40
mov qword [rsp + 0x420], rax
vzeroupper
call fcn.1400b4ec0
lea r10, [rsp + 0x410]
lea rdx, [rsp + 0x3b8]
mov r8, qword [0x1400ea270]
mov rcx, r14
mov dword [rsp + 0x3f8], 0x10
mov qword [rsp + 0x68], r10
mov qword [rsp + 0x400], r10
mov qword [rsp + 0x408], 0
mov byte [rsp + 0x410], 0
add r8, 0x10
mov qword [rsp + 0x3b8], r8
call fcn.1400d07a0
mov r11, qword [rsp + 0x3b0]
mov rcx, r12
mov rdx, qword [r11 - 0x18]
add rdx, r12
mov r14d, dword [rdx + 0x18]
and r14d, 0xffffffb5
or r14d, 8
mov dword [rdx + 0x18], r14d
mov rdx, rbp
call fcn.14008c240
mov rbp, qword [rsp + 0x3e0]
lea r14, [rbx + 0x10]
mov qword [rbx + 8], 0
mov byte [rbx + 0x10], 0
mov qword [rbx], r14
test rbp, rbp
je 0x14002db10
mov rcx, qword [rsp + 0x3d0]
mov r10, qword [rsp + 0x3d8]
mov r8, rbp
cmp rcx, rbp
mov qword [rsp + 0x70], r10
cmovae rbp, rcx
test rcx, rcx
cmove rbp, r8
sub rbp, r10
js 0x14002dde6
cmp rbp, 0xf
ja 0x14002dbd0
cmp qword [rsp + 0x70], r14
je 0x14002df9b
test rbp, rbp
je 0x14002d7d0
cmp rbp, 1
je 0x14002dc70
mov rdx, r10
mov r8, rbp
mov rcx, r14
call sub.msvcrt.dll_memcpy
nop word cs:[rax + rax]
mov rax, qword [0x1400ea270]
mov qword [rbx + 8], rbp
mov byte [r14 + rbp], 0
mov rbp, qword [0x1400ea280]
mov rcx, qword [rsp + 0x400]
mov r8, qword [rsp + 0x68]
add rax, 0x10
add rbp, 0x40
vpinsrq xmm6, xmm8, rax, 1
mov qword [rsp + 0x420], rbp
vmovdqu xmmword [rsp + 0x3b0], xmm6
cmp rcx, r8
je 0x14002d829
mov r10, qword [rsp + 0x410]
lea rdx, [r10 + 1]
call fcn.1400d9ca0
mov rcx, qword [0x1400ea4b0]
add rcx, 0x10
mov qword [rsp + 0x3b8], rcx
mov rcx, qword [rsp + 0x58]
call fcn.1400b4f80
mov r11, qword [0x1400ea700]
mov qword [rsp + 0x3b0], rdi
mov r12, qword [rdi - 0x18]
mov rcx, qword [rsp + 0x60]
add r11, 0x10
mov qword [rsp + r12 + 0x3b0], r15
mov qword [rsp + 0x420], r11
call fcn.1400cf800
jmp 0x14002d44d
mov rbp, r13
mov r15, r12
cmp eax, 8
jae 0x14002d950
xor r8d, r8d
test al, 4
jne 0x14002d930
test al, 2
jne 0x14002d910
test al, 1
je 0x14002d1e0
movzx r15d, byte [r15 + r8]
mov byte [rbp + r8], r15b
jmp 0x14002d1e0
vpextrb byte [rsp + 0xa0], xmm6, 0
jmp 0x14002d1e0
mov rcx, r12
call fcn.14003ce70
mov r8, qword [r12]
lea r10, [0x14003d660]
mov edx, 0xa
mov r14, qword [r8 + 0x30]
cmp r14, r10
je 0x14002d42a
mov rcx, r12
call r14
movsx edx, al
jmp 0x14002d42a
movzx edi, word [r15 + r8]
mov word [rbp + r8], di
add r8, 2
test al, 1
je 0x14002d1e0
jmp 0x14002d8a6
mov esi, dword [r15]
mov r8d, 4
mov dword [rbp], esi
test al, 2
je 0x14002d89e
jmp 0x14002d910
xor r11d, r11d
mov ebp, eax
mov r15d, 8
mov r9, qword [r12 + r11]
and ebp, 0xfffffff8
lea r10d, [rbp - 1]
shr r10d, 3
and r10d, 7
mov qword [r13 + r11], r9
cmp r15d, ebp
jae 0x14002da90
test r10d, r10d
je 0x14002da1d
cmp r10d, 1
je 0x14002da08
cmp r10d, 2
je 0x14002d9f8
cmp r10d, 3
je 0x14002d9e8
cmp r10d, 4
je 0x14002d9d8
cmp r10d, 5
je 0x14002d9c8
cmp r10d, 6
je 0x14002d9b8
mov r14, qword [r12 + r15]
mov qword [r13 + r15], r14
mov r15d, 0x10
mov edx, r15d
add r15d, 8
mov rsi, qword [r12 + rdx]
mov qword [r13 + rdx], rsi
mov r8d, r15d
add r15d, 8
mov rdi, qword [r12 + r8]
mov qword [r13 + r8], rdi
mov ecx, r15d
add r15d, 8
mov r10, qword [r12 + rcx]
mov qword [r13 + rcx], r10
mov r11d, r15d
add r15d, 8
mov r9, qword [r12 + r11]
mov qword [r13 + r11], r9
mov r14d, r15d
add r15d, 8
mov rdx, qword [r12 + r14]
mov qword [r13 + r14], rdx
mov esi, r15d
add r15d, 8
mov r8, qword [r12 + rsi]
mov qword [r13 + rsi], r8
cmp r15d, ebp
jae 0x14002da90
mov edi, r15d
lea r10d, [r15 + 8]
lea r14d, [r15 + 0x10]
lea edx, [r15 + 0x18]
mov rcx, qword [r12 + rdi]
mov r11, qword [r12 + r10]
lea r8d, [r15 + 0x20]
mov r9, qword [r12 + r14]
mov rsi, qword [r12 + rdx]
mov qword [r13 + rdi], rcx
mov qword [r13 + r10], r11
lea ecx, [r15 + 0x28]
lea r11d, [r15 + 0x30]
mov qword [r13 + r14], r9
mov qword [r13 + rdx], rsi
lea edx, [r15 + 0x38]
add r15d, 0x40
mov rdi, qword [r12 + r8]
mov r10, qword [r12 + rcx]
mov r14, qword [r12 + r11]
mov r9, qword [r12 + rdx]
mov qword [r13 + r8], rdi
mov qword [r13 + rcx], r10
mov qword [r13 + r11], r14
mov qword [r13 + rdx], r9
cmp r15d, ebp
jb 0x14002da1d
nop dword [rax]
lea rbp, [r13 + r15]
add r15, r12
jmp 0x14002d88f
cmp rbp, 1
je 0x14002dc60
mov rdx, r9
mov r8, rbp
mov rcx, r14
call sub.msvcrt.dll_memcpy
jmp 0x14002d5c2
mov rbp, qword [rsp + 0x288]
cmp rbp, 0xf
ja 0x14002dc80
test rbp, rbp
je 0x14002daf5
mov rdx, qword [rsp + 0x280]
cmp rbp, 1
jne 0x14002ddb0
movzx r8d, byte [rdx]
mov byte [rsp + 0x3c0], r8b
mov rcx, r14
mov qword [rsp + 0x3b8], rbp
mov byte [rcx + rbp], 0
jmp 0x14002d5d2
mov rbp, qword [rsp + 0x408]
cmp rbp, 0xf
ja 0x14002dd10
test rbp, rbp
je 0x14002d7d0
mov rdx, qword [rsp + 0x400]
cmp rbp, 1
jne 0x14002ddd0
movzx esi, byte [rdx]
mov byte [rbx + 0x10], sil
jmp 0x14002d7d0
cmp rbp, 0x1d
jbe 0x14002dc30
mov rcx, rbp
mov qword [rsp + 0x60], rbp
inc rcx
js 0x14002dda0
call fcn.1400d9ce0
mov r10, rax
mov rax, qword [rsp + 0x58]
test rax, rax
je 0x14002db8e
mov rcx, r10
mov r8, rbp
mov rdx, rax
call sub.msvcrt.dll_memcpy
mov r10, rax
mov rcx, qword [rsp + 0x3b0]
cmp rcx, r14
je 0x14002dbb6
mov r8, qword [rsp + 0x3c0]
mov qword [rsp + 0x58], r10
lea rdx, [r8 + 1]
call fcn.1400d9ca0
mov r10, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x60]
mov qword [rsp + 0x3b0], r10
mov qword [rsp + 0x3c0], rcx
jmp 0x14002d5c5
cmp rbp, 0x1d
jbe 0x14002dc50
mov rcx, rbp
mov qword [rsp + 0x78], rbp
inc rcx
js 0x14002ddc0
call fcn.1400d9ce0
mov r11, qword [rsp + 0x70]
mov r12, rax
test r11, r11
je 0x14002dc07
mov r8, rbp
mov rdx, r11
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov rcx, qword [rbx]
cmp r14, rcx
je 0x14002dc1c
mov rdx, qword [rbx + 0x10]
lea rdx, [rdx + 1]
call fcn.1400d9ca0
mov r14, qword [rsp + 0x78]
mov qword [rbx], r12
mov qword [rbx + 0x10], r14
mov r14, r12
jmp 0x14002d7d0
mov qword [rsp + 0x60], 0x1e
mov ecx, 0x1f
jmp 0x14002db6b
mov qword [rsp + 0x78], 0x1e
mov ecx, 0x1f
jmp 0x14002dbe7
movzx edx, byte [r9]
mov byte [rsp + 0x3c0], dl
jmp 0x14002d5c2
movzx esi, byte [r10]
mov byte [rbx + 0x10], sil
jmp 0x14002d7d0
test rbp, rbp
js 0x14002ddfe
cmp rbp, 0x1d
ja 0x14002dd71
mov qword [rsp + 0x58], 0x1e
mov ecx, 0x1f
call fcn.1400d9ce0
mov rcx, qword [rsp + 0x3b0]
cmp rcx, r14
je 0x14002dcce
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x3c0]
lea rdx, [rax + 1]
call fcn.1400d9ca0
mov rax, qword [rsp + 0x60]
mov r10, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x280]
mov qword [rsp + 0x3b0], rax
mov qword [rsp + 0x3c0], r10
mov rcx, rax
mov r8, rbp
call sub.msvcrt.dll_memcpy
mov rcx, qword [rsp + 0x3b0]
jmp 0x14002daf8
test rbp, rbp
js 0x14002ddf2
cmp rbp, 0x1d
ja 0x14002dd87
mov qword [rsp + 0x70], 0x1e
mov ecx, 0x1f
call fcn.1400d9ce0
mov rcx, qword [rbx]
mov r12, rax
cmp r14, rcx
je 0x14002dd4a
mov r9, qword [rbx + 0x10]
lea rdx, [r9 + 1]
call fcn.1400d9ca0
mov rax, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x400]
mov qword [rbx], r12
mov qword [rbx + 0x10], rax
mov r8, rbp
mov rcx, r12
call sub.msvcrt.dll_memcpy
mov r14, qword [rbx]
jmp 0x14002d7d0
mov rcx, rbp
mov qword [rsp + 0x58], rbp
inc rcx
jns 0x14002dca1
call fcn.1400de6a0
mov rcx, rbp
mov qword [rsp + 0x70], rbp
inc rcx
jns 0x14002dd2d
call fcn.1400de6a0
nop dword [rax]
call fcn.1400de6a0
nop word cs:[rax + rax]
mov rax, r14
jmp 0x14002dceb
call fcn.1400de6a0
nop word cs:[rax + rax]
mov r12, r14
jmp 0x14002dd5e
call fcn.1400de720
lea rcx, [0x1400e419e]
call fcn.1400de890
lea rcx, [0x1400e419e]
call fcn.1400de890
lea rcx, [0x1400e41b7]
call fcn.1400de890
lea rcx, [0x1400e41b7]
call fcn.1400de890
mov rcx, r12
mov rbx, rax
vzeroupper
call fcn.1400b6330
mov rcx, rsi
call fcn.1400cb4a0
lea rcx, [rsp + 0x90]
call fcn.1400b6330
mov rcx, rbx
call fcn.14000cd00
mov rbx, rax
vzeroupper
mov rcx, r12
call fcn.1400cb4a0
jmp 0x14002de18
xor r11d, r11d
mov qword [rsp + 0x20], rbp
mov r9, r14
xor r8d, r8d
mov qword [rsp + 0x28], r11
mov rdx, r14
mov rcx, r12
call fcn.1400b6ea0
mov r10, qword [rsp + 0x3b0]
jmp 0x14002d5c5
xor r9d, r9d
mov qword [rsp + 0x20], rbp
xor r8d, r8d
mov rdx, r14
mov qword [rsp + 0x28], r9
mov rcx, rbx
mov r9, r14
call fcn.1400b6ea0
jmp 0x14002dd69