Function at 0x4155f0
Capabilities:
Get disk size

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x50b479
mov eax, dword fs:[0]
push eax
sub esp, 0x68
mov eax, dword [0x567680]
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 eax, dword [ebp + 8]
mov edi, dword [ebp + 0x10]
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x74], eax
mov eax, dword [ebp + 0xc]
xor ebx, ebx
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x3c], ebx
lea esi, [ebx + 1]
call fcn.0041d3c0
xor ecx, ecx
push ecx
push ecx
test al, al
push ecx
cmovne esi, ecx
push esi
push 0x51707c
call fcn.00418c90
mov esi, eax
add esp, 0x14
test esi, esi
jne 0x415679
test edi, edi
je 0x415668
push str.InternetOpenFailed
mov ecx, edi
call fcn.004027d0
mov edi, dword [ebp - 0x50]
push edi
call fcn.00414a00
add esp, 4
jmp 0x415af7
push 0
lea ecx, [ebp - 0x70]
call fcn.0046b9e0
push 0x51ad1c
lea ecx, [ebp - 0x4c]
mov dword [ebp - 4], 1
call fcn.0046b9a0
lea eax, [ebp - 0x4c]
push eax
push str.method
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 2
call fcn.0046bf90
mov ecx, eax
call fcn.0046bda0
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 1
call fcn.0046bd00
push dword [ebp - 0x2c]
lea eax, [ebp - 0x28]
push eax
call fcn.00493510
add esp, 8
push eax
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 3
call fcn.0046b8d0
lea eax, [ebp - 0x4c]
push eax
push 0x51acd8
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 4
call fcn.0046bf90
mov ecx, eax
call fcn.0046bda0
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 3
call fcn.0046bd00
cmp dword [ebp - 0x14], 0x10
mov byte [ebp - 4], 1
jb 0x415718
push dword [ebp - 0x28]
call fcn.004e8c3e
add esp, 4
push 0x51ad34
lea ecx, [ebp - 0x4c]
call fcn.0046b9a0
lea eax, [ebp - 0x4c]
push eax
push str.acceptedStatusCodes
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 5
call fcn.0046bf90
mov ecx, eax
call fcn.0046c5b0
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 1
call fcn.0046bd00
push 0x51ad44
lea ecx, [ebp - 0x4c]
call fcn.0046b9a0
lea eax, [ebp - 0x4c]
push eax
push str.acceptTypes
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 6
call fcn.0046bf90
mov ecx, eax
call fcn.0046bda0
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 1
call fcn.0046bd00
push str.Accept_Encoding:_gzip__deflate_r_n
lea ecx, [ebp - 0x4c]
call fcn.0046b9a0
lea eax, [ebp - 0x4c]
push eax
push str.additionalRequestHeaders
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 7
call fcn.0046bf90
mov ecx, eax
call fcn.0046bda0
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 1
call fcn.0046bd00
push 0
push 0
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x60]
push esi
push eax
mov dword [ebp - 0x2c], 0
call fcn.00415b20
add esp, 0x18
push esi
mov byte [ebp - 4], 8
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov eax, dword [0x568ad4]
imul eax, eax
and eax, 0x8000000f
jns 0x4157f6
dec eax
or eax, 0xfffffff0
inc eax
cmp eax, 0xe
jne 0x41580b
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceW]
lea eax, [ebp - 0x38]
push eax
call fcn.00414a00
add esp, 4
push str.result
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 9
call fcn.0046bf90
mov ecx, eax
call fcn.0046d170
or esi, 0xffffffff
test al, al
je 0x4158c2
push str.result
lea ecx, [ebp - 0x60]
call fcn.0046bf90
mov ecx, eax
call fcn.0046c5e0
test al, al
je 0x4158c2
push str.content
lea ecx, [ebp - 0x60]
call fcn.0046bf90
mov ecx, eax
call fcn.0046d270
test al, al
je 0x4158c2
push str.content
lea ecx, [ebp - 0x60]
call fcn.0046bf90
mov ecx, eax
call fcn.0046c650
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401010
lea eax, [ebp - 0x2c]
push eax
call fcn.00493440
add esp, 0x1c
push eax
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0xa
call fcn.004026d0
mov edx, dword [ebp - 0x2c]
add edx, 0xfffffff0
mov byte [ebp - 4], 9
lea eax, [edx + 0xc]
mov ecx, esi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4158c2
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
test edi, edi
je 0x4158ec
lea eax, [ebp - 0x2c]
push eax
call fcn.00414a00
push eax
lea eax, [ebp - 0x38]
mov ebx, 2
push eax
mov dword [ebp - 0x3c], ebx
call fcn.00402920
add esp, 0xc
mov byte [ebp - 0x2d], 1
test al, al
jne 0x4158f0
mov byte [ebp - 0x2d], 0
test bl, 2
je 0x415917
mov edx, dword [ebp - 0x2c]
add edx, 0xfffffff0
and ebx, 0xfffffffd
mov dword [ebp - 0x3c], ebx
lea eax, [edx + 0xc]
mov ecx, esi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x415917
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebp - 0x2d], 0
je 0x415aa4
push str.errorDesc
lea ecx, [ebp - 0x60]
call fcn.0046bf90
mov ecx, eax
call fcn.0046d270
test al, al
je 0x415a98
call fcn.00418bb0
test al, al
jne 0x41594c
inc dword [0x568ad4]
push str.errorDesc
lea ecx, [ebp - 0x60]
call fcn.0046bf90
mov ecx, eax
call fcn.0046c650
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401010
lea eax, [ebp - 0x2c]
push eax
call fcn.00493440
add esp, 0x1c
push eax
mov ecx, edi
mov byte [ebp - 4], 0xb
call fcn.004026d0
mov edx, dword [ebp - 0x2c]
add edx, 0xfffffff0
mov byte [ebp - 4], 9
lea eax, [edx + 0xc]
mov ecx, esi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4159a3
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push str.errorCode
lea ecx, [ebp - 0x60]
call fcn.0046bf90
mov ecx, eax
call fcn.0046d270
test al, al
je 0x415a23
push 0x51a8b8
mov ecx, edi
call fcn.00402ea0
push str.errorCode
lea ecx, [ebp - 0x60]
call fcn.0046bf90
mov ecx, eax
call fcn.0046c650
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401010
lea eax, [ebp - 0x2c]
push eax
call fcn.00493440
add esp, 0x1c
mov eax, dword [eax]
mov ecx, edi
push dword [eax - 0xc]
mov byte [ebp - 4], 0xc
push eax
call fcn.00402f20
mov edx, dword [ebp - 0x2c]
add edx, 0xfffffff0
mov byte [ebp - 4], 9
lea eax, [edx + 0xc]
mov ecx, esi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x415a23
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push str._L_
lea ecx, [ebp - 0x2c]
call fcn.00401c30
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x34]
push eax
mov byte [ebp - 4], 0xd
call fcn.00414050
add esp, 8
push 0x51707c
push dword [eax]
mov ecx, edi
mov byte [ebp - 4], 0xe
call fcn.00408690
mov edx, dword [ebp - 0x34]
add edx, 0xfffffff0
mov byte [ebp - 4], 0xd
lea eax, [edx + 0xc]
mov ecx, esi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x415a76
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x2c]
add edx, 0xfffffff0
mov byte [ebp - 4], 9
lea eax, [edx + 0xc]
mov ecx, esi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x415aa4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x415aa4
push str.noError
mov ecx, edi
call fcn.004027d0
mov eax, dword [ebp - 0x38]
add eax, 0xfffffff0
push eax
call fcn.00405030
mov edx, dword [ebp - 0x38]
mov edi, dword [ebp - 0x50]
add eax, 0x10
add edx, 0xfffffff0
or ebx, 1
mov dword [edi], eax
add esp, 4
mov dword [ebp - 0x3c], ebx
mov byte [ebp - 4], 8
lea eax, [edx + 0xc]
lock xadd dword [eax], esi
dec esi
test esi, esi
jg 0x415adf
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 1
call fcn.0046bd00
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0
call fcn.0046bd00
mov eax, edi
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.004e9514
mov esp, ebp
pop ebp
ret