Function at 0x1000ad80
Capabilities:
Get disk information
Get memory capacity

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x450
mov edi, ecx
mov eax, dword [0x1005a900]
xor eax, ebp
mov dword [esp + 0x448], eax
xorps xmm0, xmm0
movaps xmmword [esp + 0x430], xmm0
mov dword [esp + 0x440], 0
mov dword [esp + 0x444], 0xf
movaps xmmword [esp + 0x410], xmm0
mov dword [esp + 0x420], 0
mov dword [esp + 0x424], 0xf
movaps xmmword [esp + 0x3f0], xmm0
mov dword [esp + 0x400], 0
mov dword [esp + 0x404], 0xf
movaps xmmword [esp + 0x3d0], xmm0
mov dword [esp + 0x3e0], 0
mov dword [esp + 0x3e4], 0xf
push 0x10
call fcn.1001003c
add esp, 4
mov dword [esp + 0xc], eax
xorps xmm0, xmm0
movups xmmword [eax], xmm0
lea esi, [esp + 0x1c6]
push 0x20a
push 0
push esi
call fcn.1002b4d0
add esp, 0xc
mov dword [esp + 0x1c], 0
sub esp, 0x20
xorps xmm0, xmm0
movups xmmword [esp + 0x10], xmm0
lea eax, [esp + 0x3c]
mov dword [esp + 0xc], eax
mov dword [esp + 4], esi
mov dword [esp + 8], 0x105
mov dword [esp], 0x100531ee
call dword [sym.imp.KERNEL32.dll_GetVolumeInformationW]
test eax, eax
je 0x1000aeb3
lea eax, [esp + 0xa0]
push dword [esp + 0x1c]
push eax
call fcn.1000ee30
add esp, 8
movsd xmm0, qword [esp + 0xb0]
movsd qword [esp + 0x3e0], xmm0
movups xmm0, xmmword [esp + 0xa0]
movaps xmmword [esp + 0x3d0], xmm0
lea eax, [esp + 0x18]
push eax
push 0x1004cee0
call sub.dxgi.dll_CreateDXGIFactory
test eax, eax
js 0x1000af89
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
lea edx, [esp + 0x60]
push edx
push 0
push eax
call dword [ecx + 0x1c]
cmp eax, 0x887a0002
je 0x1000af7f
mov eax, dword [esp + 0x60]
mov ecx, dword [eax]
lea edx, [esp + 0xa0]
push edx
push eax
call dword [ecx + 0x20]
test eax, eax
js 0x1000af75
lea eax, [esp + 0x80]
push dword [esp + 0x1a4]
push eax
call fcn.1000ee30
add esp, 8
mov eax, dword [esp + 0x404]
cmp eax, 0x10
jb 0x1000af53
mov ecx, dword [esp + 0x3f0]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x1000af49
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x1000b644
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.10010071
add esp, 8
movsd xmm0, qword [esp + 0x90]
movsd qword [esp + 0x400], xmm0
movups xmm0, xmmword [esp + 0x80]
movaps xmmword [esp + 0x3f0], xmm0
mov eax, dword [esp + 0x60]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
xor eax, eax
xor ecx, ecx
cpuid
mov esi, eax
shr esi, 0x10
add eax, ebx
shr ebx, 0x10
add eax, esi
add ebx, ecx
shr ecx, 0x10
add ebx, eax
add ecx, edx
shr edx, 0x10
add edx, ecx
add edx, ebx
movzx eax, dx
lea esi, [esp + 0xa0]
push eax
push esi
call fcn.1000ef60
add esp, 8
mov eax, dword [esp + 0x444]
cmp eax, 0x10
jb 0x1000afff
mov ecx, dword [esp + 0x430]
lea ebx, [eax + 1]
cmp ebx, 0x1000
jb 0x1000aff5
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x1000b644
add eax, 0x24
mov ebx, eax
mov ecx, edx
push ebx
push ecx
call fcn.10010071
add esp, 8
movsd xmm0, qword [esp + 0xb0]
movsd qword [esp + 0x440], xmm0
movups xmm0, xmmword [esp + 0xa0]
movaps xmmword [esp + 0x430], xmm0
mov dword [esp + 0xa0], 0x40
push esi
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0xac]
shrd eax, ecx, 0x14
shr ecx, 0x14
lea edx, [esp + 0x80]
push ecx
push eax
push edx
call fcn.1000f0c0
add esp, 0xc
mov eax, dword [esp + 0x424]
cmp eax, 0x10
jb 0x1000b09a
mov ecx, dword [esp + 0x410]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x1000b090
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x1000b644
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.10010071
add esp, 8
movsd xmm0, qword [esp + 0x90]
movsd qword [esp + 0x420], xmm0
movups xmm0, xmmword [esp + 0x80]
movaps xmmword [esp + 0x410], xmm0
mov esi, dword [esp + 0x3e0]
cmp esi, 0x7ffffffd
jae 0x1000b649
mov ecx, dword [esp + 0x3d0]
mov eax, dword [esp + 0x3e4]
xorps xmm0, xmm0
movaps xmmword [esp + 0x20], xmm0
lea edx, [esi + 3]
cmp esi, 0xd
jb 0x1000b12c
mov dword [esp + 0x10], eax
mov dword [esp + 8], ecx
mov dword [esp + 0x14], edx
mov eax, edx
or eax, 0xf
cmp eax, 0x17
mov ecx, 0x16
cmovae ecx, eax
cmp ecx, 0xfff
mov dword [esp + 4], ecx
jb 0x1000b13a
lea eax, [ecx + 0x24]
push eax
call fcn.1001003c
add esp, 4
lea ebx, [eax + 0x23]
and ebx, 0xffffffe0
mov dword [ebx - 4], eax
jmp 0x1000b148
lea ebx, [esp + 0x20]
mov dword [esp + 4], 0xf
jmp 0x1000b158
lea eax, [ecx + 1]
push eax
call fcn.1001003c
add esp, 4
mov ebx, eax
mov dword [esp + 0x20], ebx
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
cmp eax, 0x10
lea eax, [esp + 0x3d0]
cmovae eax, ecx
mov dword [esp + 0x30], edx
mov ecx, dword [esp + 4]
mov dword [esp + 0x34], ecx
mov byte [ebx + 2], 0x6d
mov word [ebx], 0x6c65
lea ecx, [ebx + 3]
push esi
push eax
push ecx
call fcn.1002af50
add esp, 0xc
mov byte [ebx + esi + 3], 0
mov eax, dword [esp + 0x400]
cmp dword [esp + 0x404], 0x10
jb 0x1000b1a7
mov ebx, dword [esp + 0x3f0]
jmp 0x1000b1ae
lea ebx, [esp + 0x3f0]
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
mov esi, ecx
sub esi, edx
cmp esi, eax
jae 0x1000b1e5
sub esp, 0x10
movzx ecx, byte [esp + 0x90]
mov byte [esp + 4], cl
mov dword [esp + 0xc], eax
mov dword [esp + 8], ebx
mov dword [esp], eax
lea ecx, [esp + 0x30]
call fcn.10005e80
mov ebx, eax
jmp 0x1000b21d
mov dword [esp + 4], ebx
lea ebx, [edx + eax]
mov esi, ebx
mov dword [esp + 8], ebx
mov dword [esp + 0x30], ebx
lea ebx, [esp + 0x20]
mov esi, ebx
cmp ecx, 0x10
jb 0x1000b205
mov esi, dword [esp + 0x20]
add edx, esi
push eax
push dword [esp + 8]
push edx
call fcn.1002af50
add esp, 0xc
mov eax, dword [esp + 8]
mov byte [esi + eax], 0
movsd xmm0, qword [ebx + 0x10]
movsd qword [esp + 0x50], xmm0
movups xmm0, xmmword [ebx]
movaps xmmword [esp + 0x40], xmm0
mov dword [ebx + 0x10], 0
mov dword [ebx + 0x14], 0xf
mov byte [ebx], 0
mov eax, dword [esp + 0x440]
cmp dword [esp + 0x444], 0x10
jb 0x1000b25b
mov ebx, dword [esp + 0x430]
jmp 0x1000b262
lea ebx, [esp + 0x430]
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
mov esi, ecx
sub esi, edx
cmp esi, eax
jae 0x1000b299
sub esp, 0x10
movzx ecx, byte [esp + 0x90]
mov byte [esp + 4], cl
mov dword [esp + 0xc], eax
mov dword [esp + 8], ebx
mov dword [esp], eax
lea ecx, [esp + 0x50]
call fcn.10005e80
mov ebx, eax
jmp 0x1000b2d1
mov dword [esp + 4], ebx
lea ebx, [edx + eax]
mov esi, ebx
mov dword [esp + 8], ebx
mov dword [esp + 0x50], ebx
lea ebx, [esp + 0x40]
mov esi, ebx
cmp ecx, 0x10
jb 0x1000b2b9
mov esi, dword [esp + 0x40]
add edx, esi
push eax
push dword [esp + 8]
push edx
call fcn.1002af50
add esp, 0xc
mov eax, dword [esp + 8]
mov byte [esi + eax], 0
movsd xmm0, qword [ebx + 0x10]
movsd qword [esp + 0x70], xmm0
movups xmm0, xmmword [ebx]
movaps xmmword [esp + 0x60], xmm0
mov dword [ebx + 0x10], 0
mov dword [ebx + 0x14], 0xf
mov byte [ebx], 0
mov eax, dword [esp + 0x420]
cmp dword [esp + 0x424], 0x10
jb 0x1000b30f
mov ebx, dword [esp + 0x410]
jmp 0x1000b316
lea ebx, [esp + 0x410]
mov edx, dword [esp + 0x70]
mov ecx, dword [esp + 0x74]
mov esi, ecx
sub esi, edx
cmp esi, eax
jae 0x1000b34d
sub esp, 0x10
movzx ecx, byte [esp + 0x90]
mov byte [esp + 4], cl
mov dword [esp + 0xc], eax
mov dword [esp + 8], ebx
mov dword [esp], eax
lea ecx, [esp + 0x70]
call fcn.10005e80
mov ebx, eax
jmp 0x1000b385
mov dword [esp + 4], ebx
lea ebx, [edx + eax]
mov esi, ebx
mov dword [esp + 8], ebx
mov dword [esp + 0x70], ebx
lea ebx, [esp + 0x60]
mov esi, ebx
cmp ecx, 0x10
jb 0x1000b36d
mov esi, dword [esp + 0x60]
add edx, esi
push eax
push dword [esp + 8]
push edx
call fcn.1002af50
add esp, 0xc
mov eax, dword [esp + 8]
mov byte [esi + eax], 0
movsd xmm0, qword [ebx + 0x10]
movsd qword [esp + 0x90], xmm0
movups xmm0, xmmword [ebx]
movaps xmmword [esp + 0x80], xmm0
mov dword [ebx + 0x10], 0
mov dword [ebx + 0x14], 0xf
mov byte [ebx], 0
mov eax, dword [esp + 0x74]
cmp eax, 0x10
lea ebx, [esp + 0x80]
jb 0x1000b3f0
mov ecx, dword [esp + 0x60]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x1000b3e6
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x1000b644
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.10010071
add esp, 8
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0xf
mov byte [esp + 0x60], 0
mov eax, dword [esp + 0x54]
cmp eax, 0x10
jb 0x1000b43f
mov ecx, dword [esp + 0x40]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x1000b435
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x1000b644
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.10010071
add esp, 8
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0xf
mov byte [esp + 0x40], 0
mov eax, dword [esp + 0x34]
cmp eax, 0x10
jb 0x1000b48e
mov ecx, dword [esp + 0x20]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x1000b484
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x1000b644
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.10010071
add esp, 8
cmp dword [esp + 0x94], 0x10
jb 0x1000b49f
mov ebx, dword [esp + 0x80]
push dword [esp + 0xc]
push ebx
call fcn.1000fc60
add esp, 8
lea ebx, [edi + 0x18]
xor esi, esi
jmp 0x1000b4cf
mov ecx, ebx
push edx
push eax
call fcn.1000c930
inc esi
cmp esi, 0x10
je 0x1000b4e8
mov eax, dword [esp + 0xc]
lea edx, [eax + esi]
mov eax, dword [edi + 0x1c]
cmp eax, dword [edi + 0x20]
je 0x1000b4c0
movzx ecx, byte [edx]
mov byte [eax], cl
inc dword [edi + 0x1c]
jmp 0x1000b4c9
mov eax, dword [esp + 0x94]
cmp eax, 0x10
jb 0x1000b528
mov ecx, dword [esp + 0x80]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x1000b51e
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x1000b644
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.10010071
add esp, 8
push 0x10
push dword [esp + 0x10]
call fcn.10010071
add esp, 8
mov eax, dword [esp + 0x3e4]
cmp eax, 0x10
jb 0x1000b576
mov ecx, dword [esp + 0x3d0]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x1000b56c
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x1000b644
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.10010071
add esp, 8
mov eax, dword [esp + 0x404]
cmp eax, 0x10
jb 0x1000b5b6
mov ecx, dword [esp + 0x3f0]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x1000b5ac
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x1000b644
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.10010071
add esp, 8
mov eax, dword [esp + 0x424]
cmp eax, 0x10
jb 0x1000b5f2
mov ecx, dword [esp + 0x410]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x1000b5e8
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x1000b644
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.10010071
add esp, 8
mov eax, dword [esp + 0x444]
cmp eax, 0x10
jb 0x1000b62e
mov ecx, dword [esp + 0x430]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x1000b624
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x1000b644
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.10010071
add esp, 8
mov ecx, dword [esp + 0x448]
xor ecx, ebp
call fcn.100100a7
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.10031671
call fcn.10002670
int3