Function at 0x4ad2e2
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.004a9919
lea ecx, [ebp - 4]
mov dword [ebp - 4], eax
lea ebx, [esi + 0x40]
call fcn.0048ea50
mov ecx, eax
call fcn.004a21a0
push eax
push str._s.torrent
call fcn.0048d60e
pop ecx
pop ecx
mov edx, eax
mov ecx, ebx
call fcn.0048d9fe
mov edx, dword [0x5507ac]
mov ecx, dword [0x5507c0]
push 0x1807
push ebx
call fcn.00426a40
lea ecx, [ebp - 4]
test al, al
jne 0x4ad355
call fcn.0048e75f
xor al, al
pop edi
pop esi
pop ebx
leave
ret
call fcn.0048ea50
push eax
call dword [sym.imp.KERNEL32.DLL_GetFileAttributesW]
mov dword [ebp - 0xc], eax
cmp eax, 0xffffffff
jne 0x4ad3b9
mov ecx, dword [ebp - 4]
test ecx, ecx
je 0x4ad382
mov ebx, dword [0x5507b4]
xor eax, eax
cmp word [ecx], ax
sete al
test al, al
je 0x4ad388
mov ebx, dword [0x550798]
lea ecx, [ebp - 4]
mov dword [ebp - 0x2c], 1
mov dword [ebp - 0x28], 0x30
call fcn.0048ea50
push eax
lea eax, [ebp - 0x2c]
push ebx
push eax
call fcn.0046960b
add esp, 0xc
push edi
mov ecx, esi
call fcn.004ad2bb
lea ecx, [ebp - 4]
jmp 0x4ad349
push 0x42d
mov ecx, esi
call fcn.00467de0
mov ecx, eax
mov edx, str.http
mov dword [ebp - 0x30], ecx
call fcn.0048d7e9
xor ebx, ebx
inc ebx
test al, al
jne 0x4ad413
mov ecx, dword [ebp - 0x30]
mov edx, 0x50f234
call fcn.0048d7e9
test al, al
jne 0x4ad413
push dword [0x55079c]
lea eax, [ebp - 0x2c]
push eax
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x28], 0x24
call fcn.0046960b
pop ecx
pop ecx
cmp eax, 6
je 0x4ad413
push 0x42d
jmp 0x4ad3ad
mov eax, dword [esi]
push ebx
mov ecx, esi
mov byte [esi + 0x3c], 0
call dword [eax + 0x30]
test byte [ebp - 0xc], 0x10
je 0x4ad51b
push ebx
push 5
lea eax, [ebp - 0x238]
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
test eax, eax
je 0x4ad476
lea eax, [ebp - 0x238]
push eax
lea ecx, [ebp - 4]
call fcn.0048eb58
test al, al
je 0x4ad476
push dword [0x5507b0]
lea eax, [ebp - 0x2c]
push eax
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x28], 0x124
call fcn.0046960b
pop ecx
pop ecx
cmp eax, 6
jne 0x4ad3ac
lea ecx, [ebp - 4]
call fcn.0048ea50
mov ecx, dword [esi + 0x2c]
push eax
call fcn.00404da6
mov ecx, esi
test al, al
jne 0x4ad4be
push edi
call fcn.004ad2bb
mov esi, dword [0x5507b4]
lea ecx, [ebp - 4]
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x28], 0x30
call fcn.0048ea50
push eax
lea eax, [ebp - 0x2c]
push esi
push eax
call fcn.0046960b
add esp, 0xc
jmp 0x4ad3b4
call fcn.004acb55
push eax
push 0
mov ecx, esi
mov dword [ebp - 0xc], eax
call fcn.004ad00f
mov ecx, dword [ebp - 0xc]
mov dl, bl
mov byte [ebp - 5], al
call fcn.0046b3e9
cmp byte [ebp - 5], 0
je 0x4ad3ac
mov ecx, dword [esi + 0x2c]
call fcn.0040512e
or eax, edx
mov ecx, esi
jne 0x4ad52f
push edi
call fcn.004ad2bb
push dword [0x55078c]
lea eax, [ebp - 0x2c]
push eax
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x28], 0x30
call fcn.0046960b
pop ecx
pop ecx
jmp 0x4ad3b4
lea ecx, [ebp - 4]
call fcn.0048ea50
push eax
mov ecx, esi
call fcn.004acd93
test al, al
jmp 0x4ad4e1
call fcn.004acb74
mov ecx, dword [esi + 0x2c]
push eax
call fcn.004050d6
mov ecx, esi
test al, al
jne 0x4ad579
push 0x430
call fcn.004ad2bb
push dword [0x5507b8]
lea eax, [ebp - 0x2c]
push eax
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x28], 0x30
call fcn.0046960b
pop ecx
pop ecx
xor bl, bl
lea ecx, [ebp - 4]
call fcn.0048e75f
mov al, bl
jmp 0x4ad350
push 0
push edi
call fcn.004a9919
mov edx, eax
mov ecx, 0x54b940
call fcn.004a384c
mov eax, dword [esi + 0x2c]
mov edi, dword [eax]
push 0x54b
mov ecx, esi
add edi, 4
call fcn.00467d80
mov ecx, dword [esi + 0x2c]
movzx eax, al
push eax
call dword [edi]
jmp 0x4ad56a