Function at 0x411f90
Capabilities:
Get disk size

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x465990
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xe4
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x24], ebx
mov eax, dword [0x4798c8]
cmp eax, 1
je 0x41239c
push 0x4679d8
call fcn.00416760
push 0x4679e0
call fcn.004172b0
add esp, 8
movzx eax, byte [0x4750c8]
test eax, eax
je 0x412171
mov dword [ebp - 0x6c], 0xf
lea edx, [ebp - 0x84]
xor eax, eax
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x34], 0x4679e4
mov byte [ebp - 0x80], al
mov dword [ebp - 0x30], 2
mov dword [ebp - 0x38], edx
lea edx, [ebp - 0x80]
mov eax, 0x4679e4
cmp eax, edx
jae 0x41233b
xor eax, eax
test eax, eax
je 0x4120b4
lea edx, [ebp - 0x80]
lea eax, [ebp - 0x84]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], eax
mov ebx, 0x4679e4
sub ebx, edx
mov edx, dword [ebp - 0x70]
mov dword [ebp - 0x3c], ebx
cmp edx, ebx
jb 0x412061
mov edi, edx
sub edi, ebx
cmp edi, 2
jbe 0x41205c
mov edi, 2
mov dword [ebp - 0x4c], edi
jmp 0x41207d
call fcn.00461253
mov edx, dword [ebp - 0x70]
mov ebx, dword [ebp - 0x3c]
mov edi, edx
sub edi, ebx
cmp edi, 2
jbe 0x41207a
mov edi, 2
mov dword [ebp - 0x4c], edi
add edi, ebx
cmp edx, edi
jae 0x41208e
call fcn.00461253
mov edx, dword [ebp - 0x70]
mov ebx, dword [ebp - 0x3c]
mov esi, edx
sub esi, edi
cmp esi, 0xffffffff
jb 0x41209c
mov esi, 0xffffffff
test esi, esi
ja 0x412260
cmp edx, ebx
jae 0x4120aa
mov ebx, edx
test ebx, ebx
ja 0x41221e
jmp 0x4120c4
mov eax, 2
mov dword [ebp - 0x48], eax
test eax, eax
ja 0x4122f4
mov dword [ebp - 4], 5
lea eax, [ebp - 0xa0]
lea edx, [ebp - 0x84]
add esp, 0xfffffff4
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], 0x4679e8
call fcn.0040e1c0
add esp, 0xc
mov dword [ebp - 4], 6
mov eax, dword [ebp - 0x88]
cmp eax, 0x10
jb 0x41210b
mov eax, dword [ebp - 0x9c]
jmp 0x412111
lea eax, [ebp - 0x9c]
push edi
mov dword [esp], eax
call fcn.004172b0
pop ecx
mov dword [ebp - 4], 5
mov eax, dword [ebp - 0x88]
cmp eax, 0x10
jae 0x4122e3
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x6c]
mov dword [ebp - 0x88], 0xf
xor eax, eax
cmp edx, 0x10
mov dword [ebp - 0x8c], eax
mov byte [ebp - 0x20], al
mov byte [ebp - 0x9c], al
jae 0x4122d5
mov dword [ebp - 0x6c], 0xf
xor eax, eax
mov dword [ebp - 0x70], eax
mov byte [ebp - 0x1c], al
mov byte [ebp - 0x80], al
mov dword [ebp - 4], 4
mov ecx, dword [0x4799f0]
lea ebx, [ebp - 0x68]
mov dword [ebx + 0x18], 0xf
xor eax, eax
mov byte [ebp - 0x14], al
mov dword [ebx + 0x14], eax
mov byte [ebp - 0x64], al
test ecx, ecx
je 0x4121a8
push ebx
mov eax, dword [ecx]
call dword [eax + 8]
movzx eax, al
test eax, eax
jne 0x412388
xor eax, eax
test eax, eax
je 0x4121d0
mov ecx, dword [0x4799f0]
test ecx, ecx
je 0x4121cc
lea eax, [ebp - 0x68]
push eax
mov edx, dword [ecx]
call dword [edx + 8]
movzx eax, al
test eax, eax
jne 0x412363
xor eax, eax
jmp 0x4121aa
call fcn.004189e0
push 0x4798a0
mov ecx, dword [ebp + 8]
call fcn.00417b30
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x50]
cmp eax, 0x10
jae 0x41237a
mov edi, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x24]
xor eax, eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], 0xf
mov byte [ebp - 0x18], al
mov byte [ebp - 0x64], al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x6c]
cmp ecx, 0x10
jb 0x41222b
mov esi, dword [ebp - 0x80]
jmp 0x41222e
lea esi, [ebp - 0x80]
lea eax, [ebx + esi]
sub edx, ebx
push edx
push eax
push ecx
push esi
call fcn.0044abd5
add esp, 0x10
mov edx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x6c]
sub edx, ebx
mov dword [ebp - 0x70], edx
cmp eax, 0x10
jb 0x412254
mov eax, dword [ebp - 0x80]
jmp 0x412257
lea eax, [ebp - 0x80]
mov byte [eax + edx], 0
jmp 0x4120c4
mov ecx, dword [ebp - 0x6c]
cmp ecx, 0x10
jb 0x41226d
mov eax, dword [ebp - 0x80]
jmp 0x412270
lea eax, [ebp - 0x80]
mov dword [ebp - 0xc4], ebx
lea ebx, [edi + eax]
mov dword [ebp - 0xc0], ebx
sub ecx, edi
lea ebx, [edi + esi]
add ebx, eax
mov eax, esi
neg eax
sub eax, edi
add eax, edx
push eax
push ebx
mov ebx, dword [ebp - 0xc4]
push ecx
push dword [ebp - 0xc0]
call fcn.0044abd5
add esp, 0x10
mov edx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x6c]
sub edx, esi
mov dword [ebp - 0x70], edx
cmp eax, 0x10
jb 0x4122ba
mov eax, dword [ebp - 0x80]
jmp 0x4122bd
lea eax, [ebp - 0x80]
mov byte [eax + edx], 0
mov edx, dword [ebp - 0x70]
jmp 0x4120a4
push dword [ebp - 0x80]
call fcn.0042e7a2
pop ecx
jmp 0x41215f
push dword [ebp - 0x9c]
call fcn.0042e7a2
pop ecx
jmp 0x412131
mov ebx, dword [ebp - 0x38]
mov eax, dword [ebx + 0x18]
cmp eax, 0x10
jb 0x412304
mov edx, dword [ebx + 4]
jmp 0x412307
lea edx, [ebx + 4]
mov esi, dword [ebp - 0x30]
push esi
push dword [ebp - 0x34]
push eax
push edx
call fcn.0044a80e
add esp, 0x10
mov eax, dword [ebx + 0x18]
mov dword [ebx + 0x14], esi
cmp eax, 0x10
jb 0x412328
mov ebx, dword [ebx + 4]
jmp 0x41232b
add ebx, 4
xor eax, eax
mov byte [ebp - 0xa4], al
mov byte [ebx + esi], al
jmp 0x4120c4
lea eax, [ebp - 0x80]
mov edx, dword [ebp - 0x70]
add edx, eax
mov eax, 0x4679e4
cmp edx, eax
jbe 0x412024
mov eax, 1
jmp 0x412026
lea eax, [ebp - 0x68]
push edi
mov dword [esp], eax
call fcn.00412420
pop ecx
mov eax, 1
jmp 0x4121aa
push dword [ebp - 0x64]
call fcn.0042e7a2
pop ecx
jmp 0x4121f5
push edi
mov dword [esp], ebx
call fcn.00412420
pop ecx
mov eax, 1
jmp 0x4121aa
mov eax, dword [0x479994]
cmp eax, 0x10
jb 0x4123ae
mov edi, dword [0x479980]
jmp 0x4123b3
mov edi, 0x479980
mov esi, dword [0x4798a8]
mov ebx, dword [0x4798ac]
lea ecx, [ebp - 0xac]
lea edx, [ebp - 0xb4]
lea eax, [ebp - 0xbc]
push eax
push edx
push ecx
push edi
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExA]
test eax, eax
je 0x4123f5
mov eax, dword [ebp - 0xac]
mov edx, dword [ebp - 0xa8]
sub eax, esi
sbb edx, ebx
jae 0x4123f5
xor eax, eax
jmp 0x4123fa
mov eax, 1
test eax, eax
je 0x411fc8
mov dword [0x4798c8], 0
jmp 0x411fc8