Function at 0x48729d
Capabilities:
Delete file
Get common file path
Read file on windows

Disassembly:
push 0x654
mov eax, 0x7b0b46
call fcn.005b93f9
mov eax, dword [ebp + 0xc]
xor ebx, ebx
mov edi, dword [ebp + 8]
mov esi, dword [ebp + 0x10]
mov dword [ebp - 0x658], eax
mov eax, dword [ebp + 0x14]
push 0x208
mov dword [ebp - 0x660], eax
lea eax, [ebp - 0x218]
push ebx
push eax
call fcn.007351d0
and dword [ebp - 0x620], ebx
add esp, 0xc
mov dword [ebp - 0x61c], 0xf
mov byte [ebp - 0x630], bl
and dword [ebp - 4], ebx
test edi, edi
je 0x4875bb
cmp byte [edi], bl
je 0x4875bb
lea eax, [ebp - 0x618]
push edi
push eax
call fcn.00467c3c
pop ecx
pop ecx
push 0x208
lea eax, [ebp - 0x218]
mov byte [ebp - 4], 1
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
lea eax, [ebp - 0x218]
push eax
push str._sCfgOfSfUpt.dat
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
cmp dword [ebp - 0x604], 8
lea eax, [ebp - 0x618]
cmovae eax, dword [ebp - 0x618]
push eax
lea eax, [ebp - 0x648]
push eax
call fcn.00467b35
add esp, 0x14
lea ecx, [ebp - 0x630]
push eax
call fcn.00457819
push ebx
push 1
lea ecx, [ebp - 0x648]
call fcn.0045beb4
cmp dword [ebp - 0x620], ebx
jne 0x487388
push ebx
jmp 0x4875ae
push dword [ebp - 0x658]
cmp dword [ebp - 0x61c], 0x10
lea ecx, [ebp - 0x218]
lea eax, [ebp - 0x630]
cmovae eax, dword [ebp - 0x630]
push ecx
push eax
lea ecx, [ebp - 0x659]
call fcn.004712ce
mov dword [ebp - 0x64c], eax
test eax, eax
jne 0x4873d9
push 0
push 1
lea ecx, [ebp - 0x618]
call fcn.0045bf09
mov ebx, dword [ebp - 0x64c]
jmp 0x4875bb
xor ebx, ebx
lea eax, [ebp - 0x600]
mov edi, 0x1f4
mov dword [ebp - 0x64c], ebx
push edi
push ebx
push eax
mov dword [ebp - 0x650], ebx
call fcn.007351d0
push edi
lea eax, [ebp - 0x40c]
push ebx
push eax
call fcn.007351d0
push 0x7c9cc0
lea eax, [ebp - 0x218]
mov edi, ebx
push eax
lea eax, [ebp - 0x650]
push eax
call fcn.0073d470
add esp, 0x24
cmp dword [ebp - 0x650], ebx
je 0x4875ad
push dword [ebp - 0x650]
lea eax, [ebp - 0x600]
push 0x1f4
push 1
push eax
call fcn.0073d79b
push dword [ebp - 0x650]
mov dword [ebp - 0x658], eax
call fcn.0073d54f
add esp, 0x14
mov dword [ebp - 0x650], ebx
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
cmp byte [ebp - 0x600], 0xd
je 0x4875ad
cmp byte [ebp - 0x600], 0xa
je 0x4875ad
cmp dword [ebp - 0x658], ebx
jbe 0x487560
mov dl, byte [ebp + ebx - 0x600]
cmp dl, 0xd
jne 0x487527
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4874ac
sub ecx, edx
jne 0x4874e4
push edi
lea eax, [ebp - 0x40c]
push eax
push esi
call fcn.00734c50
mov ecx, esi
add esp, 0xc
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4874cd
sub ecx, edx
lea eax, [ecx + 1]
push eax
push esi
call fcn.007435e6
pop ecx
pop ecx
jmp 0x48750e
mov ecx, dword [ebp - 0x660]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4874ed
sub ecx, edx
jne 0x487560
push edi
lea eax, [ebp - 0x40c]
push eax
push dword [ebp - 0x660]
call fcn.00734c50
add esp, 0xc
push 0x1f4
xor edi, edi
lea eax, [ebp - 0x40c]
push edi
push eax
call fcn.007351d0
add esp, 0xc
jmp 0x487553
cmp dl, 0xa
je 0x487553
mov ecx, esi
lea eax, [ecx + 1]
mov dword [ebp - 0x654], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x487537
sub ecx, dword [ebp - 0x654]
jne 0x48754b
cmp edi, 0x21
jg 0x487560
mov byte [ebp + edi - 0x40c], dl
inc edi
inc ebx
cmp ebx, dword [ebp - 0x658]
jb 0x487497
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x487563
sub esi, ecx
cmp esi, 0x20
jne 0x4873bf
mov ebx, dword [ebp - 0x660]
mov ecx, ebx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x487580
sub ecx, edx
jne 0x48759c
push edi
lea eax, [ebp - 0x40c]
push eax
push ebx
call fcn.00734c50
add esp, 0xc
xor eax, eax
inc eax
push 0
mov dword [ebp - 0x64c], eax
push eax
jmp 0x4873c3
push ebx
push 1
lea ecx, [ebp - 0x618]
call fcn.0045bf09
push 0
push 1
lea ecx, [ebp - 0x630]
call fcn.0045beb4
mov eax, ebx
call fcn.005b93a3
ret 0x10