Function at 0x43533b
Capabilities:
Get disk size

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x40
push ebx
push esi
push edi
xor esi, esi
mov ebx, edx
mov edi, ecx
mov dword [ebp - 0x18], ebx
inc esi
lea ecx, [ebp - 0x34]
push esi
call fcn.00421789
xor edx, edx
mov dword [ebp - 0x10], esi
mov dword [ebp - 0xc], edx
jmp 0x435371
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x34]
mov dword [eax + ecx*4], 0xa5d6
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], esi
jl 0x435361
mov dword [ebp - 0xc], edx
jmp 0x435385
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 8], esi
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], esi
jl 0x43537b
mov dword [ebp - 8], edx
cmp dword [ebp - 8], edx
jl 0x435483
mov dword [ebp - 0x14], 0xcd49598a
lea ecx, [ebp - 0x40]
push 2
call fcn.00421789
mov dword [ebp - 0xc], 0
jmp 0x4353c0
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x40]
mov dword [eax + ecx*4], 0x1c5a3d7f
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 2
jl 0x4353b0
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x34]
cmp dword [eax + ecx*4], 0
je 0x435427
mov eax, dword [ebp - 8]
mov ecx, 0xbd652568
cmp ecx, eax
mov eax, dword [ebp - 0x14]
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
setge cl
cmp ecx, 0xa9b27fa3
jae 0x4353ff
mov eax, dword [ebp - 0x40]
cmp dword [eax + 4], 0
je 0x4353ff
mov edx, esi
jmp 0x435401
xor edx, edx
mov esi, dword [ebp - 8]
xor ecx, ecx
mov eax, dword [ebp - 0x10]
cmp edx, eax
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x34]
sete cl
sub edx, ecx
neg edx
mov eax, dword [eax + esi*4]
sbb edx, edx
inc edx
sub eax, edx
je 0x435427
xor esi, esi
inc esi
jmp 0x435429
xor esi, esi
mov ecx, dword [ebp - 8]
xor ebx, ebx
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x34]
cmp dword [eax + ecx*4], esi
setge bl
sub ebx, dword [eax + edx*4]
mov eax, dword [ebp - 0x14]
neg ebx
sbb ebx, ebx
inc ebx
imul eax, ebx
test eax, eax
jne 0x435458
cmp dword [ebp - 8], eax
jne 0x435458
xor esi, esi
xor edx, edx
inc esi
jmp 0x43545d
xor esi, esi
inc esi
mov edx, esi
mov eax, dword [ebp - 8]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x40]
setle cl
mov dword [eax + 4], ecx
lea ecx, [ebp - 0x40]
call fcn.00421a31
dec dword [ebp - 8]
jns 0x435396
mov ebx, dword [ebp - 0x18]
xor edx, edx
mov byte [ebp - 1], dl
cmp byte [ebp - 1], 0
je 0x435497
push edx
push edx
push edx
push edx
push edx
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceW]
lea ecx, [ebp - 0x34]
call fcn.00421a31
mov dword [ebp - 0xc], 0x45d811f0
xor edx, edx
mov dword [ebp - 0x14], 0xfffd
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x1c], 0xfffffffc
mov dword [ebp - 0x10], 0xdbfe
mov dword [ebp - 0x10], edx
jmp 0x4354de
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x28], 0xfffffff6
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x4354d0
cmp dword [ebp - 0xc], edx
je 0x4354f2
mov dword [ebp - 0x28], esi
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
sub ecx, eax
sub ecx, dword [ebp - 0x14]
neg ecx
sbb ecx, ecx
inc ecx
imul eax, ecx, 0xfbc3
mov dword [ebp - 0x10], eax
mov dword [edi], edx
jmp 0x43553d
mov ecx, dword [edi]
mov eax, dword [ebx]
mov dword [eax + ecx*4], 0xdfce9586
inc dword [edi]
cmp dword [edi], 4
jl 0x435530
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret