Function at 0x41fa6e
Capabilities:
Get common file path
Get disk size

Disassembly:
push 0x2b4
mov eax, 0x52a550
call fcn.004e41bf
mov edi, ecx
mov eax, dword [ebp + 0xc]
or eax, dword [ebp + 0x10]
mov esi, dword [ebp + 0x14]
push 1
pop ebx
je 0x41fe94
mov ebx, 0x55695c
lea ecx, [ebp - 0x248]
push ebx
call fcn.0040996a
and dword [ebp - 4], 0
lea ecx, [ebp - 0x230]
push ebx
call fcn.0040996a
mov ebx, 0x104
mov byte [ebp - 4], 1
push ebx
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.004fce20
add esp, 0xc
lea eax, [ebp - 0x218]
push eax
push ebx
call dword [sym.imp.KERNEL32.DLL_GetTempPathW]
lea eax, [ebp - 0x218]
push eax
call fcn.00401903
pop ecx
push eax
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x248]
call fcn.004022b0
push 2
push 0
lea eax, [ebp - 0x278]
push eax
lea ecx, [ebp - 0x248]
call fcn.00402110
push eax
lea ecx, [ebp - 0x230]
call fcn.0040214d
xor ebx, ebx
lea ecx, [ebp - 0x278]
push 0
inc ebx
push ebx
call fcn.004021c6
cmp dword [ebp - 0x21c], 8
lea ecx, [ebp - 0x280]
push 0
push 0
lea eax, [ebp - 0x230]
cmovae eax, dword [ebp - 0x230]
push ecx
push eax
call dword [sym.imp.KERNEL32.DLL_GetDiskFreeSpaceExW]
test eax, eax
je 0x41fcbb
mov ecx, dword [ebp - 0x27c]
cmp ecx, dword [ebp + 0x10]
ja 0x41fcbb
mov eax, dword [ebp - 0x280]
jb 0x41fb7c
cmp eax, dword [ebp + 0xc]
ja 0x41fcbb
push ecx
push ecx
push str.int___thiscall_InstallUIMainWnd::EnoughFreeSpace_bool___int64_unsigned___int64__
push 0x9ce
push str........._srcCommoninstall_ui_mainwnd.cpp
mov dword [esi + 4], ecx
lea ecx, [ebp - 0x2c0]
push 0x80
mov dword [esi], eax
call fcn.004064ae
push str.default
push ebx
push eax
mov byte [ebp - 4], 2
call fcn.00406541
mov esi, eax
add esp, 0xc
cmp byte [esi + 0x1c], 0
je 0x41fc04
push str._PC_space_not_enough1:
lea ecx, [esi + 0x20]
call fcn.004063d6
cmp byte [esi + 0x1c], 0
je 0x41fc04
lea eax, [ebp - 0x280]
push eax
lea ecx, [esi + 0x20]
call fcn.004188f8
cmp byte [esi + 0x1c], 0
je 0x41fc04
push 0x55dc3c
lea ecx, [esi + 0x20]
call fcn.004063d6
cmp byte [esi + 0x1c], 0
je 0x41fc04
lea eax, [ebp + 0xc]
push eax
lea ecx, [esi + 0x20]
call fcn.0040f6e9
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x2c0]
mov dword [ebp - method.el::base::Writer.virtual_0], vtable.el::base::Writer.0
call fcn.004067a0
lea ecx, [ebp - 0x294]
call fcn.00409800
xor edi, edi
mov byte [ebp - 4], bl
push edi
push str.DL008
push str.FlowError
mov esi, str.Other
push esi
call fcn.004319f3
mov ecx, eax
call fcn.00431a4f
push dword [ebp - 0x27c]
lea ecx, [ebp - 0x260]
push dword [ebp - 0x280]
call fcn.00419117
push eax
mov edx, str.download_
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x278]
call fcn.0042715d
add esp, 0xc
mov byte [ebp - 4], 5
cmp dword [eax + 0x14], 0x10
jb 0x41fc85
mov eax, dword [eax]
push edi
push eax
push str.NoEnoughSpace
push esi
call fcn.004319f3
mov ecx, eax
call fcn.00431a4f
push edi
push ebx
lea ecx, [ebp - 0x278]
call fcn.0040bfcb
push edi
push ebx
lea ecx, [ebp - 0x260]
call fcn.0040bfcb
or esi, 0xffffffff
jmp 0x41fe5a
lea eax, [ebp - 0x248]
mov ecx, edi
push eax
call fcn.0041adbf
push 2
xor edi, edi
lea eax, [ebp - 0x260]
push edi
push eax
lea ecx, [ebp - 0x248]
call fcn.00402110
mov edx, eax
lea ecx, [ebp - 0x230]
call fcn.004273f5
push edi
push 1
lea ecx, [ebp - 0x260]
mov bl, al
call fcn.004021c6
xor eax, eax
lea ecx, [ebp - 0x248]
test bl, bl
push 2
setne al
add eax, 2
mov dword [ebp - 0x284], eax
lea eax, [ebp - 0x260]
push edi
push eax
call fcn.00402110
push eax
lea ecx, [ebp - 0x230]
call fcn.0040214d
xor ebx, ebx
lea ecx, [ebp - 0x260]
push edi
inc ebx
push ebx
call fcn.004021c6
cmp dword [ebp - 0x21c], 8
lea ecx, [ebp - 0x280]
push edi
push edi
lea eax, [ebp - 0x230]
cmovae eax, dword [ebp - 0x230]
push ecx
push eax
call dword [sym.imp.KERNEL32.DLL_GetDiskFreeSpaceExW]
test eax, eax
je 0x41fe7a
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push edi
push dword [ebp - 0x284]
call fcn.004e4280
mov edi, dword [ebp - 0x27c]
cmp edi, edx
ja 0x41fe78
mov ecx, dword [ebp - 0x280]
jb 0x41fd9a
cmp ecx, eax
ja 0x41fe78
push ecx
push ecx
push str.int___thiscall_InstallUIMainWnd::EnoughFreeSpace_bool___int64_unsigned___int64__
push 0x9de
push str........._srcCommoninstall_ui_mainwnd.cpp
mov dword [esi], ecx
lea ecx, [ebp - 0x2c0]
push 0x80
mov dword [esi + 4], edi
mov dword [ebp - 0x288], eax
mov dword [ebp - 0x284], edx
call fcn.004064ae
push str.default
push ebx
push eax
mov byte [ebp - 4], 6
call fcn.00406541
mov esi, eax
add esp, 0xc
cmp byte [esi + 0x1c], 0
je 0x41fe31
push str._PC_space_not_enough2:
lea ecx, [esi + 0x20]
call fcn.004063d6
cmp byte [esi + 0x1c], 0
je 0x41fe31
lea eax, [ebp - 0x280]
push eax
lea ecx, [esi + 0x20]
call fcn.004188f8
cmp byte [esi + 0x1c], 0
je 0x41fe31
push 0x55dc3c
lea ecx, [esi + 0x20]
call fcn.004063d6
cmp byte [esi + 0x1c], 0
je 0x41fe31
lea eax, [ebp - 0x288]
push eax
lea ecx, [esi + 0x20]
call fcn.0040f6e9
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x2c0]
mov dword [ebp - method.el::base::Writer.virtual_0], vtable.el::base::Writer.0
call fcn.004067a0
lea ecx, [ebp - 0x294]
call fcn.00409800
push 0xfffffffffffffffe
pop esi
xor edi, edi
push edi
push ebx
lea ecx, [ebp - 0x230]
call fcn.004021c6
push edi
push ebx
lea ecx, [ebp - 0x248]
call fcn.004021c6
mov eax, esi
jmp 0x41fe96
xor edi, edi
push edi
push ebx
lea ecx, [ebp - 0x230]
call fcn.004021c6
push edi
push ebx
lea ecx, [ebp - 0x248]
call fcn.004021c6
mov eax, ebx
call fcn.004e4169
ret 0x10