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

Disassembly:
mov eax, 0x67f180
call fcn.006313fc
sub esp, 0x260
push ebx
push ebp
push esi
push edi
mov ebp, 0x466
lea eax, [esp + 0x10]
push ebp
push eax
mov edi, ecx
call fcn.005c027f
and dword [esp + 0x278], 0
cmp dword [esp + 0x24], 8
mov eax, dword [esp + 0x10]
jae 0x5d2ad2
lea eax, [esp + 0x10]
push eax
call fcn.0045dcfa
push eax
lea eax, [esp + 0x2c]
push str._s.torrent
push eax
call fcn.0047224d
add esp, 0xc
lea esi, [edi + 0x54]
mov ecx, esi
push eax
call fcn.0044dbe6
push 0
push 1
lea ecx, [esp + 0x30]
call fcn.0042341c
push 0x1807
push esi
push 0x74
call fcn.00582370
push eax
push 0x79
call fcn.00582370
push eax
call fcn.0058ecc9
test al, al
je 0x5d2b89
cmp dword [esp + 0x24], 8
mov eax, dword [esp + 0x10]
jae 0x5d2b31
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.KERNEL32.DLL_GetFileAttributesW]
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x5d2bae
cmp dword [esp + 0x20], 0
je 0x5d2b4a
push 0x76
jmp 0x5d2b4c
push 0x6e
call fcn.00582370
cmp dword [esp + 0x24], 8
mov ecx, eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x28], 1
mov dword [esp + 0x2c], 0x30
jae 0x5d2b72
lea eax, [esp + 0x10]
push eax
push ecx
lea eax, [esp + 0x30]
push eax
call fcn.00583334
add esp, 0xc
mov ecx, edi
push ebp
call fcn.005d2a55
xor bl, bl
push 0
push 1
lea ecx, [esp + 0x18]
call fcn.0042341c
mov ecx, dword [esp + 0x270]
mov al, bl
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
leave
ret
mov esi, 0x42d
lea eax, [esp + 0x50]
push esi
push eax
mov ecx, edi
call fcn.005c027f
cmp dword [esp + 0x64], 8
mov eax, dword [esp + 0x50]
mov byte [esp + 0x278], 1
jae 0x5d2bd7
lea eax, [esp + 0x50]
push eax
call fcn.00661295
test eax, eax
je 0x5d2c34
xor ecx, ecx
dec eax
je 0x5d2bf4
dec eax
je 0x5d2bf0
dec eax
jne 0x5d2bfd
push 0x6f
jmp 0x5d2bf6
push 0x72
jmp 0x5d2bf6
push 0x7c
call fcn.00582370
mov ecx, eax
push ecx
lea eax, [esp + 0x2c]
mov dword [esp + 0x2c], 1
push eax
mov dword [esp + 0x34], 0x24
call fcn.00583334
pop ecx
pop ecx
cmp eax, 6
je 0x5d2c25
push esi
jmp 0x5d2de0
push 0x689954
push esi
push dword [edi + 4]
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
mov eax, dword [edi]
mov ecx, edi
push 1
mov byte [edi + 0x50], 0
call dword [eax + 0x48]
push 0x6b9
mov ecx, edi
call fcn.00584c2e
test al, al
je 0x5d2cd0
mov ebp, 0x7638d8
push ebp
call fcn.00466f49
call fcn.004c8a58
movzx eax, ax
mov esi, 0x7637d0
push esi
mov dword [esp + 0x4c], eax
lea eax, [esp + 0x4c]
push 2
push eax
call fcn.0056b64a
push esi
push 0x20
lea eax, [esp + 0x30]
push eax
call fcn.0056b713
push ebp
call fcn.0046703c
push 0x310
call fcn.00630af1
pop ecx
mov dword [esp + 0x4c], eax
mov byte [esp + 0x278], 2
test eax, eax
je 0x5d2cb8
push 0x20
lea ecx, [esp + 0x2c]
push ecx
mov ecx, eax
call fcn.0051cbb6
jmp 0x5d2cba
xor eax, eax
mov ecx, dword [edi + 0x3c]
push eax
mov byte [esp + 0x27c], 1
call fcn.00660ff4
mov ebp, 0x466
test bl, 0x10
je 0x5d2dcf
xor ebx, ebx
lea eax, [esp + 0x68]
inc ebx
push ebx
push 5
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
test eax, eax
je 0x5d2d3d
lea eax, [esp + 0x68]
push eax
call fcn.004236bc
pop ecx
push eax
lea eax, [esp + 0x6c]
push eax
push dword [esp + 0x28]
lea ecx, [esp + 0x1c]
push 0
call fcn.00434bba
test eax, eax
jne 0x5d2d3d
push 0x75
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], 0x124
call fcn.00582370
push eax
lea eax, [esp + 0x2c]
push eax
call fcn.00583334
pop ecx
pop ecx
cmp eax, 6
jne 0x5d2ddf
mov ecx, dword [edi + 0x3c]
lea eax, [esp + 0x10]
push eax
call fcn.00661070
mov ecx, edi
test al, al
jne 0x5d2d8c
push ebp
call fcn.005d2a55
cmp dword [esp + 0x24], 8
mov eax, dword [esp + 0x10]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], 0x30
jae 0x5d2d71
lea eax, [esp + 0x10]
push eax
push 0x76
call fcn.00582370
push eax
lea eax, [esp + 0x30]
push eax
call fcn.00583334
add esp, 0xc
jmp 0x5d2e43
lea eax, [esp + 0x28]
push eax
call fcn.005d2f69
cmp dword [eax + 0x14], 8
mov byte [esp + 0x278], 3
jb 0x5d2da6
mov eax, dword [eax]
push eax
push 0
mov ecx, edi
call fcn.005d252b
and dword [edi + 0x30], 0
lea ecx, [esp + 0x28]
push 0
push 1
mov bl, al
mov byte [esp + 0x280], 1
call fcn.0042341c
test bl, bl
jmp 0x5d2ddd
lea eax, [esp + 0x10]
mov ecx, edi
push eax
call fcn.005d2784
test al, al
jne 0x5d2de9
push ebp
mov ecx, edi
call fcn.005d2a55
jmp 0x5d2e43
mov ecx, dword [edi + 0x3c]
call fcn.0066097f
or eax, edx
mov ecx, edi
jne 0x5d2e01
push ebp
call fcn.005d2a55
push 0x6b
jmp 0x5d2e21
call fcn.005d2a11
mov ecx, dword [edi + 0x3c]
push eax
call fcn.00661001
mov ecx, edi
test al, al
jne 0x5d2e47
push 0x431
call fcn.005d2a55
push 0x77
mov dword [esp + 0x2c], 1
mov dword [esp + 0x30], 0x30
call fcn.00582370
push eax
lea eax, [esp + 0x2c]
push eax
call fcn.00583334
pop ecx
pop ecx
xor bl, bl
jmp 0x5d2e7a
sub esp, 0x18
mov eax, esp
push ebp
push eax
call fcn.005c027f
push 0x75f794
call fcn.00469152
mov eax, dword [edi + 0x3c]
mov ecx, edi
push 0x54c
mov esi, dword [eax]
call fcn.00584c2e
mov ecx, dword [edi + 0x3c]
movzx eax, al
push eax
call dword [esi + 4]
mov bl, 1
push 0
push 1
lea ecx, [esp + 0x58]
call fcn.0042341c
jmp 0x5d2b8b