Function at 0x43f8f0
Capabilities:
Get disk size

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4db2b8
mov eax, dword fs:[0]
push eax
sub esp, 0x83c
mov eax, dword [0x540c80]
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 esi, ecx
mov dword [ebp - 0x834], esi
mov dword [ebp - 4], 0
mov dword [ebp - 0x820], 0
mov eax, dword [0x5406d8]
mov ecx, 0x5406d8
mov dword [ebp - 0x848], esi
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
mov dword [ebp - 4], 0
xor eax, eax
mov ebx, 1
push 0x7fe
mov dword [ebp - 0x820], ebx
push eax
mov word [ebp - 0x810], ax
lea eax, [ebp - 0x80e]
push eax
call fcn.004b4a90
mov ecx, dword [0x545d90]
mov eax, ecx
imul eax, ecx
cdq
mov edi, 0x17
idiv edi
add esp, 0xc
cmp edx, 5
jne 0x43f9ad
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceW]
mov ecx, dword [0x545d90]
imul ecx, ecx
mov eax, ecx
cdq
mov ecx, 0xe
idiv ecx
mov dword [ebp - 0x830], 0x400
cmp edx, 0xc
jne 0x43f9df
call fcn.004aff67
mov ecx, dword [0x545d90]
cmp ecx, eax
jne 0x43f9df
dec ecx
mov dword [0x545d90], ecx
mov dword [ebp - 0x82c], 0
mov dword [ebp - 0x828], 0
mov dword [ebp - 0x824], 0
mov dword [ebp - 4], 2
push str.SOFTWAREWow6432NodeMicr
lea ecx, [ebp - 0x818]
call fcn.004025a0
mov byte [ebp - 4], 3
mov eax, dword [0x545d90]
imul eax, eax
cdq
mov ecx, 7
idiv ecx
cmp edx, 6
jne 0x43fa44
push 0x85
push 0x84
push 0x525714
call fcn.004b05f1
add esp, 0xc
push 0x17
push str.osoftInternet_Explorer
lea ecx, [ebp - 0x818]
call fcn.0040fe40
mov eax, dword [ebp - 0x818]
mov edx, 1
sub edx, dword [eax - 4]
mov ecx, dword [eax - 8]
or ecx, edx
jge 0x43fa7e
push 0
lea ecx, [ebp - 0x818]
call fcn.00402850
mov eax, dword [ebp - 0x818]
push 1
push eax
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp - 0x82c]
call fcn.00419460
mov ecx, dword [0x545d90]
mov dword [ebp - 0x81c], eax
lea eax, [ecx + 1]
imul eax, ecx
cdq
idiv edi
cmp edx, 0x16
jne 0x43fab5
call fcn.004aff67
mov dword [0x545d90], eax
or edi, 0xffffffff
cmp dword [ebp - 0x81c], 0
jne 0x43fcef
lea eax, [ebp - 0x830]
push eax
lea eax, [ebp - 0x810]
push eax
push str.svcVersion
lea ecx, [ebp - 0x82c]
call fcn.00419510
test eax, eax
jne 0x43fb17
lea eax, [ebp - 0x810]
push eax
lea ecx, [ebp - 0x81c]
call fcn.004025a0
mov byte [ebp - 4], 4
mov ebx, 3
mov dword [ebp - 0x820], ebx
mov eax, dword [eax]
mov byte [ebp - 0x811], 1
cmp dword [eax - 0xc], 0
jne 0x43fb1e
mov byte [ebp - 0x811], 0
mov dword [ebp - 4], 3
test bl, 2
je 0x43fb56
and ebx, 0xfffffffd
mov dword [ebp - 0x820], ebx
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x81c]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x43fb56
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebp - 0x811], 0
je 0x43fb93
lea ecx, [ebp - 0x810]
lea edx, [ecx + 2]
jmp 0x43fb70
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x43fb70
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [ebp - 0x810]
push eax
mov ecx, esi
call fcn.00402790
jmp 0x43fcc8
mov eax, dword [0x545d90]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 0x8000000f
jns 0x43fbab
dec ecx
or ecx, 0xfffffff0
inc ecx
cmp ecx, 0xf
jne 0x43fc18
mov eax, dword [0x525740]
movq xmm0, qword [str.R927pYKICuohEA]
mov dword [ebp - 0x83c], eax
mov ax, word [0x525744]
mov word [ebp - 0x838], ax
mov al, byte [0x525746]
mov byte [ebp - 0x836], al
lea eax, [ebp - 0x844]
movq qword [ebp - 0x844], xmm0
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x43fbf0
sub eax, edx
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004aed89
push eax
call fcn.004afe1b
add esp, 8
lea eax, [ebp - 0x830]
push eax
lea eax, [ebp - 0x810]
push eax
push 0x525748
lea ecx, [ebp - 0x82c]
mov dword [ebp - 0x830], 0x400
call fcn.00419510
test eax, eax
jne 0x43fc72
lea eax, [ebp - 0x810]
push eax
lea ecx, [ebp - 0x81c]
call fcn.004025a0
mov byte [ebp - 4], 6
or ebx, 4
mov dword [ebp - 0x820], ebx
mov eax, dword [eax]
mov byte [ebp - 0x811], 1
cmp dword [eax - 0xc], 0
jne 0x43fc79
mov byte [ebp - 0x811], 0
mov dword [ebp - 4], 3
test bl, 4
je 0x43fcb1
and ebx, 0xfffffffb
mov dword [ebp - 0x820], ebx
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x81c]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x43fcb1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebp - 0x811], 0
je 0x43fcc8
lea eax, [ebp - 0x810]
push eax
mov ecx, esi
call fcn.00402740
mov esi, dword [ebp - 0x82c]
mov ebx, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test esi, esi
je 0x43fce3
push esi
call ebx
xor esi, esi
mov dword [ebp - 0x82c], esi
mov dword [ebp - 0x828], 0
jmp 0x43fcfb
mov esi, dword [ebp - 0x82c]
mov ebx, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x818]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], edi
dec edi
test edi, edi
jg 0x43fd1c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0
test esi, esi
je 0x43fd31
push esi
call ebx
mov dword [ebp - 0x82c], 0
mov eax, dword [ebp - 0x834]
mov dword [ebp - 0x828], 0
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.004af5ba
mov esp, ebp
pop ebp
ret