Function at 0x10009450
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 [0x100597c0]
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.1000e74c
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.10029a40
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], 0x10051ebe
call dword [sym.imp.KERNEL32.dll_GetVolumeInformationW]
test eax, eax
je 0x10009583
lea eax, [esp + 0xa0]
push dword [esp + 0x1c]
push eax
call fcn.1000b960
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 0x1004bc60
call sub.dxgi.dll_CreateDXGIFactory
test eax, eax
js 0x10009659
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 0x1000964f
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 0x10009645
lea eax, [esp + 0x80]
push dword [esp + 0x1a4]
push eax
call fcn.1000b960
add esp, 8
mov eax, dword [esp + 0x404]
cmp eax, 0x10
jb 0x10009623
mov ecx, dword [esp + 0x3f0]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x10009619
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x10009d14
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.1000e781
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.1000ba90
add esp, 8
mov eax, dword [esp + 0x444]
cmp eax, 0x10
jb 0x100096cf
mov ecx, dword [esp + 0x430]
lea ebx, [eax + 1]
cmp ebx, 0x1000
jb 0x100096c5
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x10009d14
add eax, 0x24
mov ebx, eax
mov ecx, edx
push ebx
push ecx
call fcn.1000e781
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.1000bbf0
add esp, 0xc
mov eax, dword [esp + 0x424]
cmp eax, 0x10
jb 0x1000976a
mov ecx, dword [esp + 0x410]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x10009760
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x10009d14
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.1000e781
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 0x10009d19
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 0x100097fc
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 0x1000980a
lea eax, [ecx + 0x24]
push eax
call fcn.1000e74c
add esp, 4
lea ebx, [eax + 0x23]
and ebx, 0xffffffe0
mov dword [ebx - 4], eax
jmp 0x10009818
lea ebx, [esp + 0x20]
mov dword [esp + 4], 0xf
jmp 0x10009828
lea eax, [ecx + 1]
push eax
call fcn.1000e74c
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.100294c0
add esp, 0xc
mov byte [ebx + esi + 3], 0
mov eax, dword [esp + 0x400]
cmp dword [esp + 0x404], 0x10
jb 0x10009877
mov ebx, dword [esp + 0x3f0]
jmp 0x1000987e
lea ebx, [esp + 0x3f0]
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
mov esi, ecx
sub esi, edx
cmp esi, eax
jae 0x100098b5
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.10004ad0
mov ebx, eax
jmp 0x100098ed
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 0x100098d5
mov esi, dword [esp + 0x20]
add edx, esi
push eax
push dword [esp + 8]
push edx
call fcn.100294c0
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 0x1000992b
mov ebx, dword [esp + 0x430]
jmp 0x10009932
lea ebx, [esp + 0x430]
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
mov esi, ecx
sub esi, edx
cmp esi, eax
jae 0x10009969
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.10004ad0
mov ebx, eax
jmp 0x100099a1
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 0x10009989
mov esi, dword [esp + 0x40]
add edx, esi
push eax
push dword [esp + 8]
push edx
call fcn.100294c0
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 0x100099df
mov ebx, dword [esp + 0x410]
jmp 0x100099e6
lea ebx, [esp + 0x410]
mov edx, dword [esp + 0x70]
mov ecx, dword [esp + 0x74]
mov esi, ecx
sub esi, edx
cmp esi, eax
jae 0x10009a1d
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.10004ad0
mov ebx, eax
jmp 0x10009a55
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 0x10009a3d
mov esi, dword [esp + 0x60]
add edx, esi
push eax
push dword [esp + 8]
push edx
call fcn.100294c0
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 0x10009ac0
mov ecx, dword [esp + 0x60]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x10009ab6
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x10009d14
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.1000e781
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 0x10009b0f
mov ecx, dword [esp + 0x40]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x10009b05
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x10009d14
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.1000e781
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 0x10009b5e
mov ecx, dword [esp + 0x20]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x10009b54
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x10009d14
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.1000e781
add esp, 8
cmp dword [esp + 0x94], 0x10
jb 0x10009b6f
mov ebx, dword [esp + 0x80]
push dword [esp + 0xc]
push ebx
call fcn.1000c790
add esp, 8
lea ebx, [edi + 0x18]
xor esi, esi
jmp 0x10009b9f
mov ecx, ebx
push edx
push eax
call fcn.1000af00
inc esi
cmp esi, 0x10
je 0x10009bb8
mov eax, dword [esp + 0xc]
lea edx, [eax + esi]
mov eax, dword [edi + 0x1c]
cmp eax, dword [edi + 0x20]
je 0x10009b90
movzx ecx, byte [edx]
mov byte [eax], cl
inc dword [edi + 0x1c]
jmp 0x10009b99
mov eax, dword [esp + 0x94]
cmp eax, 0x10
jb 0x10009bf8
mov ecx, dword [esp + 0x80]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x10009bee
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x10009d14
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.1000e781
add esp, 8
push 0x10
push dword [esp + 0x10]
call fcn.1000e781
add esp, 8
mov eax, dword [esp + 0x3e4]
cmp eax, 0x10
jb 0x10009c46
mov ecx, dword [esp + 0x3d0]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x10009c3c
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x10009d14
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.1000e781
add esp, 8
mov eax, dword [esp + 0x404]
cmp eax, 0x10
jb 0x10009c86
mov ecx, dword [esp + 0x3f0]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x10009c7c
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x10009d14
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.1000e781
add esp, 8
mov eax, dword [esp + 0x424]
cmp eax, 0x10
jb 0x10009cc2
mov ecx, dword [esp + 0x410]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x10009cb8
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x10009d14
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.1000e781
add esp, 8
mov eax, dword [esp + 0x444]
cmp eax, 0x10
jb 0x10009cfe
mov ecx, dword [esp + 0x430]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x10009cf4
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x10009d14
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.1000e781
add esp, 8
mov ecx, dword [esp + 0x448]
xor ecx, ebp
call fcn.1000e7b7
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.1002f997
call fcn.100015d0
int3