Function at 0x4ad0e6
Capabilities:
Check if file exists
Get common file path
Get file attributes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x238
push ebx
push esi
push edi
push 0x105
mov edi, 0x466
push edi
mov esi, ecx
call fcn.004a9737
lea ecx, [ebp - 4]
mov dword [ebp - 4], eax
lea ebx, [esi + 0x40]
call fcn.0048e806
mov ecx, eax
call fcn.004a1fa5
push eax
push str._s.torrent
call fcn.0048d3ca
pop ecx
pop ecx
mov edx, eax
mov ecx, ebx
call fcn.0048d7ba
mov edx, dword [0x5507a4]
mov ecx, dword [0x5507b8]
push 0x1807
push ebx
call fcn.004269b6
lea ecx, [ebp - 4]
test al, al
jne 0x4ad159
call fcn.0048e50a
xor al, al
pop edi
pop esi
pop ebx
leave
ret
call fcn.0048e806
push eax
call dword [sym.imp.KERNEL32.DLL_GetFileAttributesW]
mov dword [ebp - 0xc], eax
cmp eax, 0xffffffff
jne 0x4ad1bd
mov ecx, dword [ebp - 4]
test ecx, ecx
je 0x4ad186
mov ebx, dword [0x5507ac]
xor eax, eax
cmp word [ecx], ax
sete al
test al, al
je 0x4ad18c
mov ebx, dword [0x550790]
lea ecx, [ebp - 4]
mov dword [ebp - 0x2c], 1
mov dword [ebp - 0x28], 0x30
call fcn.0048e806
push eax
lea eax, [ebp - 0x2c]
push ebx
push eax
call fcn.004693e3
add esp, 0xc
push edi
mov ecx, esi
call fcn.004ad0bf
lea ecx, [ebp - 4]
jmp 0x4ad14d
push 0x42d
mov ecx, esi
call fcn.00467bd9
mov ecx, eax
mov edx, str.http
mov dword [ebp - 0x30], ecx
call fcn.0048d5a5
xor ebx, ebx
inc ebx
test al, al
jne 0x4ad217
mov ecx, dword [ebp - 0x30]
mov edx, 0x50f1f4
call fcn.0048d5a5
test al, al
jne 0x4ad217
push dword [0x550794]
lea eax, [ebp - 0x2c]
push eax
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x28], 0x24
call fcn.004693e3
pop ecx
pop ecx
cmp eax, 6
je 0x4ad217
push 0x42d
jmp 0x4ad1b1
mov eax, dword [esi]
push ebx
mov ecx, esi
mov byte [esi + 0x3c], 0
call dword [eax + 0x30]
test byte [ebp - 0xc], 0x10
je 0x4ad31f
push ebx
push 5
lea eax, [ebp - 0x238]
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
test eax, eax
je 0x4ad27a
lea eax, [ebp - 0x238]
push eax
lea ecx, [ebp - 4]
call fcn.0048e90e
test al, al
je 0x4ad27a
push dword [0x5507a8]
lea eax, [ebp - 0x2c]
push eax
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x28], 0x124
call fcn.004693e3
pop ecx
pop ecx
cmp eax, 6
jne 0x4ad1b0
lea ecx, [ebp - 4]
call fcn.0048e806
mov ecx, dword [esi + 0x2c]
push eax
call fcn.00404d51
mov ecx, esi
test al, al
jne 0x4ad2c2
push edi
call fcn.004ad0bf
mov esi, dword [0x5507ac]
lea ecx, [ebp - 4]
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x28], 0x30
call fcn.0048e806
push eax
lea eax, [ebp - 0x2c]
push esi
push eax
call fcn.004693e3
add esp, 0xc
jmp 0x4ad1b8
call fcn.004ac96e
push eax
push 0
mov ecx, esi
mov dword [ebp - 0xc], eax
call fcn.004ace28
mov ecx, dword [ebp - 0xc]
mov dl, bl
mov byte [ebp - 5], al
call fcn.0046b197
cmp byte [ebp - 5], 0
je 0x4ad1b0
mov ecx, dword [esi + 0x2c]
call fcn.004050d9
or eax, edx
mov ecx, esi
jne 0x4ad333
push edi
call fcn.004ad0bf
push dword [0x550784]
lea eax, [ebp - 0x2c]
push eax
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x28], 0x30
call fcn.004693e3
pop ecx
pop ecx
jmp 0x4ad1b8
lea ecx, [ebp - 4]
call fcn.0048e806
push eax
mov ecx, esi
call fcn.004acbac
test al, al
jmp 0x4ad2e5
call fcn.004ac98d
mov ecx, dword [esi + 0x2c]
push eax
call fcn.00405081
mov ecx, esi
test al, al
jne 0x4ad37d
push 0x430
call fcn.004ad0bf
push dword [0x5507b0]
lea eax, [ebp - 0x2c]
push eax
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x28], 0x30
call fcn.004693e3
pop ecx
pop ecx
xor bl, bl
lea ecx, [ebp - 4]
call fcn.0048e50a
mov al, bl
jmp 0x4ad154
push 0
push edi
call fcn.004a9737
mov edx, eax
mov ecx, 0x54b938
call fcn.004a3651
mov eax, dword [esi + 0x2c]
mov edi, dword [eax]
push 0x54b
mov ecx, esi
add edi, 4
call fcn.00467b79
mov ecx, dword [esi + 0x2c]
movzx eax, al
push eax
call dword [edi]
jmp 0x4ad36e