Function at 0x408db0
Capabilities:
Create process on windows
Get common file path

Disassembly:
push 0x51c
mov eax, 0x46af0c
call fcn.0042a2ac
mov esi, ecx
xor edi, edi
lea eax, [ebp - 0x428]
push eax
push edi
push edi
push 0x1c
push edi
mov dword [ebp - 0x4ec], edi
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
test eax, eax
jne 0x4090bc
mov dword [ebp - 0x42c], 7
mov dword [ebp - 0x430], edi
mov word [ebp - 0x440], ax
mov dword [ebp - 4], edi
cmp dword [esi + 0x10], edi
je 0x408e13
push esi
lea ecx, [ebp - 0x4e8]
call fcn.00407178
xor ebx, ebx
inc ebx
jmp 0x408e21
lea ecx, [ebp - 0x4d0]
call fcn.00408b87
push 2
pop ebx
push eax
lea ecx, [ebp - 0x458]
call fcn.00403e83
mov dword [ebp - 4], 2
test bl, 2
je 0x408e4a
push edi
push 1
lea ecx, [ebp - 0x4d0]
and ebx, 0xfffffffd
call fcn.004041d3
mov byte [ebp - 4], 3
test bl, 1
je 0x408e65
xor ebx, ebx
lea ecx, [ebp - 0x4e8]
push edi
inc ebx
push ebx
call fcn.004041d3
jmp 0x408e68
xor ebx, ebx
inc ebx
lea ecx, [ebp - 0x458]
call fcn.004080c7
test al, al
je 0x408f26
mov esi, str..torrent
push esi
call fcn.0040359e
pop ecx
push eax
push ecx
push esi
lea ecx, [ebp - 0x458]
call fcn.004098d1
cmp eax, 0xffffffff
jne 0x408eb9
mov esi, str..tor
push esi
call fcn.0040359e
pop ecx
push eax
push ecx
push esi
lea ecx, [ebp - 0x458]
call fcn.004098d1
cmp eax, 0xffffffff
je 0x408f26
xor dl, dl
mov ecx, 0x478900
call fcn.00405132
lea eax, [ebp - 0x458]
mov edx, 0x47890c
push eax
lea ecx, [ebp - 0x470]
call fcn.00409bf6
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x4b8]
mov edx, eax
mov dword [esp], 0x478908
call fcn.004059a7
pop ecx
push 0xffffffffffffffff
push edi
push eax
lea ecx, [ebp - 0x440]
mov byte [ebp - 4], 5
call fcn.00405c31
push edi
push ebx
lea ecx, [ebp - 0x4b8]
call fcn.004041d3
push edi
push ebx
lea ecx, [ebp - 0x470]
mov byte [ebp - 4], 3
call fcn.004041d3
lea ecx, [ebp - 0x4a0]
call fcn.00408c33
mov byte [ebp - 4], 6
cmp dword [ebp - 0x490], 0
je 0x408fab
xor dl, dl
mov ecx, 0x478900
call fcn.00405132
lea eax, [ebp - 0x4a0]
mov edx, 0x47890c
push eax
lea ecx, [ebp - 0x4b8]
call fcn.00409bf6
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x470]
mov edx, eax
mov dword [esp], 0x478908
call fcn.004059a7
pop ecx
push 0xffffffffffffffff
push edi
push eax
lea ecx, [ebp - 0x440]
mov byte [ebp - 4], 8
call fcn.00405c31
push edi
push ebx
lea ecx, [ebp - 0x470]
call fcn.004041d3
push edi
push ebx
lea ecx, [ebp - 0x4b8]
mov byte [ebp - 4], 6
call fcn.004041d3
push 0x208
lea eax, [ebp - 0x218]
push edi
push eax
call fcn.0042ccd0
add esp, 0xc
lea eax, [ebp - 0x440]
cmp dword [ebp - 0x42c], 8
cmovae eax, dword [ebp - 0x440]
push eax
lea eax, [ebp - 0x218]
push 0x104
push eax
call fcn.00420757
add esp, 0xc
lea eax, [ebp - 0x428]
lea ecx, [ebp - 0x470]
push eax
call fcn.00403e52
push str.itorrentitorrent.exe
mov edx, eax
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x488]
call fcn.004059a7
pop ecx
push edi
push ebx
lea ecx, [ebp - 0x470]
call fcn.004041d3
push 0x3c
pop esi
push esi
lea eax, [ebp - 0x528]
push edi
push eax
call fcn.0042ccd0
add esp, 0xc
mov dword [ebp - 0x528], esi
cmp dword [ebp - 0x474], 8
lea eax, [ebp - 0x488]
mov dword [ebp - 0x520], edi
cmovae eax, dword [ebp - 0x488]
mov dword [ebp - 0x518], eax
lea eax, [ebp - 0x218]
mov dword [ebp - 0x514], eax
lea eax, [ebp - 0x528]
push eax
mov dword [ebp - 0x51c], str.open
mov dword [ebp - 0x510], edi
mov dword [ebp - 0x50c], ebx
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
push edi
push ebx
lea ecx, [ebp - 0x488]
call fcn.004041d3
push edi
push ebx
lea ecx, [ebp - 0x4a0]
call fcn.004041d3
push edi
push ebx
lea ecx, [ebp - 0x458]
call fcn.004041d3
push edi
push ebx
lea ecx, [ebp - 0x440]
call fcn.004041d3
call fcn.0042a25b
ret