Function at 0x4015bf
Capabilities:
Check if file exists
Get disk size

Disassembly:
push 0x5c
mov eax, 0x42c6a3
call fcn.0042707c
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultLangID]
movzx esi, ax
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x4c]
push eax
push 0x4305f0
mov dword [ebp - 0x30], esi
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExW]
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x28], eax
and dword [ebp - 0x28], 0x80000000
and eax, 0x7fffffff
xor ebx, ebx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x24], ecx
fild qword [ebp - 0x24]
mov dword [ebp - 0x2c], ebx
fild qword [ebp - 0x2c]
fchs
faddp st(1)
fld qword [0x433928]
fmul st(1), st(0)
fmulp st(1)
fcomp qword [0x433920]
fnstsw ax
test ah, 5
jp 0x40165d
push 4
mov eax, esi
pop ecx
and eax, 0x3ff
push 0x30
cmp cx, ax
jne 0x40164c
push 0x4305f8
push 0x430600
jmp 0x401656
push str.Warning
push str.C_disk_space_will_cause_the_software_can_not_be_used_
push ebx
call dword [sym.imp.USER32.dll_MessageBoxW]
mov byte [ebp - 0x11], 1
call fcn.0040148a
test al, al
jne 0x401672
mov byte [ebp - 0x11], bl
jmp 0x40179a
push str.zlib1.dll
lea ecx, [ebp - 0x20]
call fcn.00401152
pop ecx
push dword [eax]
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [edi + 4], eax
mov eax, dword [ebp - 0x20]
add eax, 0xfffffff0
call fcn.00402ca1
push 0x4307d0
lea ecx, [ebp - 0x20]
call fcn.00401152
pop ecx
mov dword [ebp - 4], ebx
push dword [eax]
lea esi, [ebp - 0x68]
call fcn.00401b60
push 0xffffffffffffffff
push ebx
lea ecx, [edi + 0x10]
mov eax, esi
mov byte [ebp - 4], 1
call fcn.004021f5
push ebx
push 1
call fcn.00401f05
or dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x20]
add eax, 0xfffffff0
call fcn.00402ca1
push str.cdf283818fda91abb904873e7125055e
lea ecx, [ebp - 0x68]
call fcn.00401a9f
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x68]
push eax
lea ecx, [edi + 0x2c]
mov dword [ebp - 4], 2
call fcn.00401dc4
or dword [ebp - 4], 0xffffffff
push ebx
push 1
lea ecx, [ebp - 0x68]
call fcn.00401e95
lea eax, [ebp - 0x64]
push eax
call fcn.004013e8
pop ecx
lea ecx, [edi + 0xc]
push ecx
mov ecx, eax
mov dword [ebp - 4], 3
call fcn.00403a10
mov bl, al
neg bl
sbb bl, bl
or dword [ebp - 4], 0xffffffff
lea esi, [ebp - 0x64]
inc bl
call fcn.00401c67
test bl, bl
je 0x401745
mov byte [ebp - 0x11], 0
jmp 0x40178a
push str.AndroidAssistHelper.dll
lea ecx, [ebp - 0x20]
call fcn.00401152
mov esi, dword [sym.imp.KERNEL32.dll_LoadLibraryW]
pop ecx
push dword [eax]
call esi
mov dword [edi + 8], eax
mov eax, dword [ebp - 0x20]
add eax, 0xfffffff0
call fcn.00402ca1
push str.RootGenius.dll
lea ecx, [ebp - 0x28]
call fcn.00401152
pop ecx
push dword [eax]
call esi
mov dword [edi], eax
mov eax, dword [ebp - 0x28]
add eax, 0xfffffff0
call fcn.00402ca1
call fcn.004014fd
cmp byte [ebp - 0x11], 0
jne 0x4017c7
mov esi, dword [ebp - 0x30]
xor ebx, ebx
push 4
pop eax
and esi, 0x3ff
push 0x30
cmp ax, si
jne 0x4017b6
push 0x430718
push str.Root
jmp 0x4017c0
push 0x43073c
push str.Root_Genius_failed_to_initialize_
push ebx
call dword [sym.imp.USER32.dll_MessageBoxW]
push str.DataTextAuthList
lea ecx, [ebp - 0x18]
call fcn.00401152
pop ecx
push dword [ebp - 0x18]
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x4017f2
lea eax, [ebp - 0x18]
push eax
push 0xcc
call fcn.0040135a
pop ecx
pop ecx
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff0
call fcn.00402ca1
mov al, byte [ebp - 0x11]
call fcn.0042711b
ret