Function at 0x10032805
Capabilities:
Get disk size

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1006ed10
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
sub esp, 0x15c
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
movzx eax, byte [ebp + 0x24]
test eax, eax
je 0x10033033
lea eax, [ebp + 0x1c]
mov dword [ebp - 0xfc], eax
mov eax, dword [ebp + 0x28]
mov dword [ebp - 0xd4], eax
lea eax, [ebp + 0xc]
mov dword [ebp - 0x100], eax
lea eax, [ebp + 0x18]
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp + 0x2c]
mov dword [ebp - 0xa8], eax
lea eax, [ebp + 0x14]
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0x100]
movzx eax, byte [eax]
test eax, eax
je 0x1003288e
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceW]
jmp 0x1003302e
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0xfc]
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x118], 0
mov dword [ebp - 0x114], 0
mov dword [ebp - 0x110], 0
push 2
lea ecx, [ebp - 0x13c]
call fcn.10021765
and dword [ebp - 4], 0
mov dword [ebp - 0x24], 0x43250e6d
mov dword [ebp - 0xbc], 0
push 0
push 0x13a0
push 1
lea eax, [ebp - 0x14c]
push eax
push 0x559a
lea eax, [ebp - 0x13c]
push eax
push 0xae9
push 0x4774
call fcn.100290b0
add esp, 0x20
push 4
pop eax
imul eax, eax, 3
mov eax, dword [ebp + eax - 0x11c]
mov dword [ebp - 0x9c], eax
push 0
lea ecx, [ebp - 0x13c]
call fcn.1002185c
mov ecx, dword [ebp - 0x9c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0xbc], eax
push 4
pop eax
shl eax, 1
imul eax, dword [ebp + eax - 0x11c], 0xffff
test eax, eax
je 0x100329c9
mov dword [ebp - 0x24], 0xffffffee
jmp 0x1003299d
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0x17
jge 0x100329c7
mov byte [ebp - 0x15], 0
movzx eax, byte [ebp - 0x15]
test eax, eax
je 0x100329c5
push 0
push 0x1536
push 1
push 0x2159
call fcn.10025f1a
add esp, 0x10
jmp 0x10032996
jmp 0x10032a48
push 3
lea ecx, [ebp - 0x148]
call fcn.10021765
mov byte [ebp - 4], 1
lea eax, [ebp - 0x15c]
push eax
push 0x22e7
push 0x4abe
push 0
lea eax, [ebp - 0x148]
push eax
push 1
push 0x3e20
push 0x4238
call fcn.1002ab15
add esp, 0x20
push 0x43b7
push 1
lea eax, [ebp - 0x148]
push eax
push 0
push 0x2b66
push 0x7374
push 0x195d
push 0x66bc
push 0x1ba4
call fcn.1002b390
add esp, 0x24
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x148]
call fcn.100217e7
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x13c]
call fcn.100217e7
mov dword [ebp - 0x14], 1
mov dword [ebp - 0x98], 1
mov dword [ebp - 0x2c], 0
jmp 0x10032a78
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 2
jge 0x10032a8b
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x60], 0x24a8c6a5
jmp 0x10032a71
mov dword [ebp - 0x14], 0
jmp 0x10032a9b
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
jge 0x10032aae
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x60], 0
jmp 0x10032a94
mov dword [ebp - 0x14], 1
jmp 0x10032abe
mov eax, dword [ebp - 0x14]
dec eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jl 0x10032c1f
mov dword [ebp - 0xd0], 8
mov dword [ebp - 0x88], 2
mov dword [ebp - 0xe8], 1
mov eax, dword [ebp - 0x14]
cmp dword [ebp + eax*4 - 0x60], 0
je 0x10032b5f
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x60]
mov dword [ebp - 0x164], eax
mov eax, 0x2573
imul eax, eax, 0xf393
test eax, eax
jne 0x10032b18
cmp dword [ebp - 0x14], 0
jne 0x10032b18
and dword [ebp - 0x64], 0
jmp 0x10032b1f
mov dword [ebp - 0x64], 1
mov eax, dword [ebp - 0xd0]
cmp dword [ebp - 0x64], eax
jl 0x10032b36
mov dword [ebp - 0xc4], 1
jmp 0x10032b3d
and dword [ebp - 0xc4], 0
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x60]
mov dword [ebp - 0x160], eax
mov eax, 0x67b4
test eax, eax
je 0x10032b5f
mov dword [ebp - 0xa4], 1
jmp 0x10032b66
and dword [ebp - 0xa4], 0
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0
je 0x10032b89
or eax, 0xffffffff
je 0x10032b89
mov dword [ebp - 0x70], 1
jmp 0x10032b8d
and dword [ebp - 0x70], 0
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x98]
cmp eax, dword [ebp - 0x14]
jne 0x10032baa
mov dword [ebp - 0x78], 1
jmp 0x10032bae
and dword [ebp - 0x78], 0
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x78], eax
je 0x10032bc2
mov dword [ebp - 0x90], 1
jmp 0x10032bc9
and dword [ebp - 0x90], 0
cmp dword [ebp - 0x90], 0xcea2ff3e
jne 0x10032bde
mov dword [ebp - 0x80], 1
jmp 0x10032be2
and dword [ebp - 0x80], 0
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x60]
add eax, dword [ebp - 0x80]
jne 0x10032c04
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x60], 0
jne 0x10032c04
and dword [ebp - 0xa0], 0
jmp 0x10032c0e
mov dword [ebp - 0xa0], 1
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0xe8], eax
jmp 0x10032ab7
mov eax, dword [ebp - 0xcc]
mov eax, dword [eax]
mov ecx, dword [ebp - 0xf0]
mov ecx, dword [ecx]
mov edx, dword [ebp - 0xf8]
mov edx, dword [edx]
shl edx, 4
lea ecx, [edx + ecx*8 + 0x100745e4]
mov edx, dword [ebp - 0x48]
mov eax, dword [ecx + eax*4]
mov dword [edx], eax
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x24]
and eax, 0x4000000
je 0x1003302e
mov dword [ebp - 0x68], 0x1729
mov dword [ebp - 0xd8], 0x10007fc8
cmp dword [ebp - 0x68], 0x1a1d
jle 0x10032d0d
and dword [ebp - 0x38], 0
jmp 0x10032c88
mov eax, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0x97d
jge 0x10032d0d
and dword [ebp - 0x44], 0
jmp 0x10032c9e
mov eax, dword [ebp - 0x44]
inc eax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0xcb6
jge 0x10032d08
and dword [ebp - 0x40], 0
jmp 0x10032cb4
mov eax, dword [ebp - 0x40]
inc eax
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0x7b2e
jge 0x10032d06
and dword [ebp - 0x30], 0
jmp 0x10032cca
mov eax, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0x1350
jge 0x10032d04
mov eax, dword [ebp - 0x38]
add eax, dword [ebp - 0x44]
and eax, dword [ebp - 0x40]
or eax, dword [ebp - 0x30]
cdq
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x108], edx
push dword [ebp - 0x108]
push dword [ebp - 0x10c]
mov ecx, 0x10616598
call fcn.10021518
jmp 0x10032cc3
jmp 0x10032cad
jmp 0x10032c97
jmp 0x10032c81
mov dword [ebp - 4], 2
cmp dword [ebp - 0x68], 0x1496
jge 0x10032d2d
mov edx, dword [ebp - 0xd8]
mov ecx, 0x10616598
call fcn.100246df
jmp 0x10032d49
or dword [ebp - 4], 0xffffffff
jmp 0x10032d53
push 4
lea ecx, [ebp - 0x54]
call fcn.10021765
mov dword [ebp - 4], 4
mov dword [ebp - 0x3c], 0xbeab1d6a
mov dword [ebp - 0x1c], 0x294bb489
mov dword [ebp - 0xf4], 0x951b
mov dword [ebp - 0x34], 0
jmp 0x10032d8c
mov eax, dword [ebp - 0x34]
inc eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 4
jge 0x10032da5
push dword [ebp - 0x34]
lea ecx, [ebp - 0x54]
call fcn.1002185c
mov dword [eax], 0x923e64f1
jmp 0x10032d85
push 0
lea ecx, [ebp - 0x54]
call fcn.1002185c
mov esi, eax
push 1
lea ecx, [ebp - 0x54]
call fcn.1002185c
mov eax, dword [eax]
cmp eax, dword [esi]
jl 0x10032dcd
mov dword [ebp - 0x8c], 1
jmp 0x10032dd4
and dword [ebp - 0x8c], 0
push 1
lea ecx, [ebp - 0x54]
call fcn.1002185c
cmp dword [eax], 0xf6802998
jbe 0x10032e81
push 0
lea ecx, [ebp - 0x54]
call fcn.1002185c
mov esi, eax
push 1
lea ecx, [ebp - 0x54]
call fcn.1002185c
mov eax, dword [eax]
cmp eax, dword [esi]
jne 0x10032e0f
mov dword [ebp - 0x6c], 1
jmp 0x10032e13
and dword [ebp - 0x6c], 0
imul esi, dword [ebp - 0x6c], 0x796
push 1
lea ecx, [ebp - 0x54]
call fcn.1002185c
sub esi, dword [eax]
push 0
lea ecx, [ebp - 0x54]
call fcn.1002185c
cmp esi, dword [eax]
jge 0x10032e3d
mov dword [ebp - 0x74], 1
jmp 0x10032e41
and dword [ebp - 0x74], 0
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0
je 0x10032e65
push 1
lea ecx, [ebp - 0x54]
call fcn.1002185c
cmp dword [eax], 0
je 0x10032e65
mov dword [ebp - 0x7c], 1
jmp 0x10032e69
and dword [ebp - 0x7c], 0
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
je 0x10032e81
mov dword [ebp - 0x84], 1
jmp 0x10032e88
and dword [ebp - 0x84], 0
cmp dword [ebp - 0x84], 0x9d2e819d
jae 0x10032ea0
mov dword [ebp - 0x94], 1
jmp 0x10032ea7
and dword [ebp - 0x94], 0
mov esi, dword [ebp - 0xf4]
mov edi, dword [ebp - 0x8c]
imul edi, dword [ebp - 0x94]
neg edi
push 1
lea ecx, [ebp - 0x54]
call fcn.1002185c
imul edi, dword [eax]
imul edi, esi
test edi, edi
je 0x10032ef2
mov eax, 0xfff9
test eax, eax
je 0x10032ef2
mov byte [ebp - 0x1e], 0
push 0
lea eax, [ebp - 0x1e]
push eax
push 1
call fcn.1002defb
add esp, 0xc
jmp 0x10033013
mov dword [ebp - 0xe4], 0x7f3c88fe
mov dword [ebp - 0x130], 0xbb9a
mov dword [ebp - 0x12c], 0xbb9a
mov dword [ebp - 0x128], 0xbb9a
mov dword [ebp - 0x124], 0xbb9a
lea ecx, [ebp - 0x55]
call fcn.10021871
push eax
lea eax, [ebp - 0x120]
push eax
lea eax, [ebp - 0x130]
push eax
lea ecx, [ebp - 0x16c]
call fcn.10021874
push dword [eax + 4]
push dword [eax]
lea ecx, [ebp - 0x158]
call fcn.100217c1
mov byte [ebp - 4], 5
mov dword [ebp - 0x3c], 0x547507a
mov dword [ebp - 0x1c], 0
jmp 0x10032f71
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 1
jne 0x10033004
mov dword [ebp - 0x104], 0x50169ff9
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0xe4]
push eax
push 0x9fc
push 0
push 0x58ab
push 0x4ee4
push 0x241c
push 1
push 0
push 0x4082
push 0x13cb
push 0x3d5d
call fcn.1002a2f7
add esp, 0x30
push 0x2c73
push 1
push 0
push 1
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x158]
push eax
push 0x623d
lea eax, [ebp - 0x104]
push eax
push 0x4fc9
push 0x2bd8
push 0x321
push 0x6d9a
call fcn.1002d78c
add esp, 0x30
jmp 0x10032f6a
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x158]
call fcn.100217e7
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x54]
call fcn.100217e7
mov eax, dword [ebp - 0x48]
mov eax, dword [eax]
or eax, 0x200
mov ecx, dword [ebp - 0x48]
mov dword [ecx], eax
jmp 0x100330d4
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0xac], eax
lea eax, [ebp + 0x20]
mov dword [ebp - 0xec], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xec]
movzx eax, byte [eax]
test eax, eax
je 0x100330c0
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp - 0xb0]
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0x28]
mov dword [eax], 0
jmp 0x1003309e
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 0x28]
mov dword [ecx], eax
mov eax, dword [ebp - 0x28]
cmp dword [eax], 3
jge 0x100330be
mov eax, dword [ebp - 0x28]
push dword [eax]
mov ecx, dword [ebp - 0xc8]
call fcn.1002185c
mov dword [eax], 0x3342eb90
jmp 0x10033093
jmp 0x100330d4
mov byte [ebp - 0x1d], 0
movzx eax, byte [ebp - 0x1d]
test eax, eax
je 0x100330d4
push 0
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret