Function at 0x483b30
Capabilities:
Get disk size

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x51745e
mov eax, dword fs:[0]
push eax
sub esp, 0xf8
mov eax, dword [0x577680]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov eax, dword [ebp + 8]
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0xf4], eax
mov eax, dword [0x5771f0]
mov ecx, 0x5771f0
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0xe8], eax
mov eax, dword [edi + 0xc4]
or ebx, 0xffffffff
cmp dword [eax - 0xc], 0
mov dword [ebp - 4], 0
je 0x483cda
lea eax, [ebp - 0xe4]
push eax
call fcn.00413f20
mov esi, eax
push str._rnd
lea eax, [edi + 0xc4]
push eax
lea eax, [ebp - 0xe0]
push eax
mov byte [ebp - 4], 1
call fcn.00402b40
push esi
push eax
lea eax, [ebp - 0xec]
push eax
mov byte [ebp - 4], 2
call fcn.00402a80
lea ecx, [ebp - 0xe8]
push ecx
push eax
mov byte [ebp - 4], 3
call fcn.0041a9c0
mov edx, dword [ebp - 0xec]
add esp, 0x24
test al, al
sete byte [ebp - 0xd9]
add edx, 0xfffffff0
mov byte [ebp - 4], 2
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x483c1e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0xe0]
add edx, 0xfffffff0
mov byte [ebp - 4], 1
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x483c41
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0xe4]
add edx, 0xfffffff0
mov byte [ebp - 4], 0
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x483c64
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebp - 0xd9], 0
je 0x483cb1
cmp byte [edi + 0xc8], 0
jne 0x483c9d
push str.request_alt_list
lea ecx, [ebp - 0xe0]
call fcn.00401c30
lea eax, [ebp - 0xe0]
push eax
mov ecx, edi
mov byte [ebp - 4], 4
call fcn.0040c040
jmp 0x483e3f
lea eax, [ebp - 0xe4]
push eax
mov ecx, edi
call fcn.004088a0
mov byte [ebp - 4], 5
jmp 0x483cf5
mov eax, dword [ebp - 0xe8]
cmp dword [eax - 0xc], 0
jne 0x483d24
cmp byte [edi + 0xc8], 0
je 0x483d24
lea eax, [ebp - 0xe4]
push eax
mov ecx, edi
call fcn.004088a0
mov byte [ebp - 4], 6
jmp 0x483cf5
cmp byte [edi + 0xc8], 0
je 0x483d24
lea eax, [ebp - 0xe4]
push eax
mov ecx, edi
call fcn.004088a0
mov byte [ebp - 4], 7
push eax
lea ecx, [ebp - 0xe8]
call fcn.004026b0
mov edx, dword [ebp - 0xe4]
add edx, 0xfffffff0
mov byte [ebp - 4], 0
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x483d24
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0xe8]
cmp dword [eax - 0xc], 0
jne 0x483e6f
call fcn.00493c50
test al, al
jne 0x483d5f
mov eax, 0x66
mov esi, 0xc3
test esi, esi
je 0x483d58
cdq
idiv esi
mov ecx, esi
mov eax, ecx
mov esi, edx
test ecx, ecx
jne 0x483d47
add eax, esi
mov dword [0x578ad4], eax
cmp byte [edi + 0xc8], 0
mov edx, 0x52e4a0
mov eax, str._from_res
cmove eax, edx
push eax
lea ecx, [ebp - 0xe0]
call fcn.00401c30
mov eax, dword [0x5771f0]
mov ecx, 0x5771f0
mov byte [ebp - 4], 8
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0xe4], esi
lea eax, [ebp - 0xe4]
push eax
lea eax, [ebp - 0xec]
push str.alt_list_response_empty
push eax
mov byte [ebp - 4], 9
call fcn.00402ce0
lea ecx, [ebp - 0xe0]
push ecx
push eax
lea eax, [ebp - 0xf0]
push eax
mov byte [ebp - 4], 0xa
call fcn.0046cc80
add esp, 0x18
push eax
mov ecx, edi
mov byte [ebp - 4], 0xb
call fcn.0040c040
mov edx, dword [ebp - 0xf0]
add edx, 0xfffffff0
mov byte [ebp - 4], 0xa
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x483dff
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0xec]
add edx, 0xfffffff0
mov byte [ebp - 4], 9
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x483e22
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea edx, [esi - 0x10]
mov byte [ebp - 4], 8
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x483e3f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0xe0]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
mov byte [ebp - 4], 0
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x483e62
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
xor cl, cl
mov byte [ebp - 0xd9], cl
jmp 0x48419d
lea ecx, [ebp - 0xd8]
call fcn.0046d2e0
push 0
lea ecx, [ebp - 0x104]
mov byte [ebp - 4], 0xc
call fcn.004707b0
lea eax, [ebp - 0xe8]
push eax
lea eax, [ebp - 0x68]
push eax
mov byte [ebp - 4], 0xd
call fcn.0049acd0
add esp, 8
push 1
lea ecx, [ebp - 0x104]
push ecx
push eax
lea ecx, [ebp - 0xd8]
mov byte [ebp - 4], 0xe
call fcn.0046eac0
test al, al
sete al
cmp dword [ebp - 0x54], 0x10
mov byte [ebp - 0xd9], al
mov byte [ebp - 4], 0xd
jb 0x483ee1
push dword [ebp - 0x68]
call fcn.004f03fe
mov al, byte [ebp - 0xd9]
add esp, 4
test al, al
je 0x483f35
push str.parse_alt_list
lea ecx, [ebp - 0xe0]
call fcn.00401c30
lea eax, [ebp - 0xe0]
push eax
mov ecx, edi
mov byte [ebp - 4], 0xf
call fcn.0040c040
mov edx, dword [ebp - 0xe0]
add edx, 0xfffffff0
mov byte [ebp - 4], 0xd
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x484039
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
xor al, al
jmp 0x484177
push str.alt_list
lea ecx, [ebp - 0x104]
call fcn.00470d60
mov ecx, eax
call fcn.00471f10
test al, al
jne 0x484040
mov edx, dword [0x578ad4]
lea ecx, [edx + 1]
lea eax, [edx + 2]
imul eax, ecx
imul eax, edx
cdq
mov ecx, 0x16
idiv ecx
cmp edx, 7
jne 0x483fc9
xor esi, esi
call fcn.004f1791
movd xmm0, eax
cvtdq2pd xmm0, xmm0
inc esi
movsd qword [ebp + esi*8 - 0x58], xmm0
cmp esi, 8
jb 0x483f75
xor ecx, ecx
mov eax, 7
cmp ecx, eax
jge 0x483fc3
lea esp, [esp]
movsd xmm0, qword [ebp + eax*8 - 0x50]
movsd xmm1, qword [ebp + eax*8 - 0x58]
comisd xmm0, xmm1
jbe 0x483fbe
movsd qword [ebp + eax*8 - 0x50], xmm1
movsd qword [ebp + eax*8 - 0x58], xmm0
dec eax
cmp eax, ecx
jg 0x483fa0
inc ecx
cmp ecx, 8
jl 0x483f90
push str.invalid_alt_list
lea ecx, [ebp - 0xe0]
call fcn.00401c30
lea eax, [ebp - 0xe0]
push eax
mov ecx, edi
mov byte [ebp - 4], 0x10
call fcn.0040c040
mov edx, dword [ebp - 0xe0]
add edx, 0xfffffff0
mov byte [ebp - 4], 0xd
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x48400e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [0x578ad4]
mov eax, ecx
imul eax, ecx
imul eax, ecx
cdq
mov ecx, 0x15
idiv ecx
cmp edx, 9
jne 0x484039
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceW]
xor al, al
jmp 0x484177
push str.alt_list
lea ecx, [ebp - 0x104]
xor edi, edi
call fcn.00470d60
mov ecx, eax
call fcn.00472560
test eax, eax
jle 0x484164
push edi
push str.alt_list
lea ecx, [ebp - 0x104]
call fcn.00470d60
mov ecx, eax
call fcn.00470c20
mov esi, eax
mov ecx, esi
call fcn.00471f10
test al, al
je 0x484144
mov ecx, esi
call fcn.00472560
cmp eax, 2
jne 0x484144
push 0
mov ecx, esi
call fcn.00470da0
mov ecx, eax
call fcn.00471820
push eax
lea ecx, [ebp - 0xe0]
call fcn.00401ba0
mov ecx, dword [ebp - 0xf0]
lea eax, [ebp - 0xe0]
push eax
mov byte [ebp - 4], 0x11
call fcn.00416fa0
mov edx, dword [ebp - 0xe0]
add edx, 0xfffffff0
mov byte [ebp - 4], 0xd
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4840ef
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 1
mov ecx, esi
call fcn.00470da0
mov ecx, eax
call fcn.00471820
push eax
lea ecx, [ebp - 0xec]
call fcn.00401ba0
mov ecx, dword [ebp - 0xf4]
lea eax, [ebp - 0xec]
push eax
mov byte [ebp - 4], 0x12
call fcn.00416fa0
mov edx, dword [ebp - 0xec]
add edx, 0xfffffff0
mov byte [ebp - 4], 0xd
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x484144
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push str.alt_list
lea ecx, [ebp - 0x104]
inc edi
call fcn.00470d60
mov ecx, eax
call fcn.00472560
cmp edi, eax
jl 0x484061
mov ecx, dword [ebp - 0xf0]
mov eax, dword [ecx + 4]
sub eax, dword [ecx]
sar eax, 2
test eax, eax
setne al
lea ecx, [ebp - 0x104]
mov byte [ebp - 0xd9], al
mov byte [ebp - 4], 0xc
call fcn.00470ad0
lea ecx, [ebp - 0xd8]
call fcn.00402630
mov cl, byte [ebp - 0xd9]
mov esi, dword [ebp - 0xe8]
add esi, 0xfffffff0
mov dword [ebp - 4], 0xffffffff
lea eax, [esi + 0xc]
lock xadd dword [eax], ebx
dec ebx
test ebx, ebx
jg 0x4841c9
mov ecx, dword [esi]
push esi
mov edx, dword [ecx]
call dword [edx + 4]
mov al, byte [ebp - 0xd9]
jmp 0x4841cb
mov al, cl
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004f0cd4
mov esp, ebp
pop ebp
ret 8