Function at 0x589f58
Capabilities:
Copy file
Delete file

Disassembly:
push ebp
sub esp, 0x4c
mov eax, 0x6bdf95
call fcn.00651da4
sub esp, 0x15c
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
xor ecx, ecx
sub esp, 0x18
mov byte [ebp + 0x4f], cl
mov eax, esp
mov dword [ebp + 0x18], esp
mov dword [eax + 0x14], 0xf
mov dword [eax + 0x10], ecx
cmp dword [eax + 0x14], 0x10
jb 0x589f91
mov eax, dword [eax]
mov byte [eax], cl
mov esi, dword [ebp + 0x58]
lea eax, [ebp - 0x40]
push esi
push eax
mov dword [ebp - 4], ecx
call fcn.0047abab
xor ebx, ebx
inc ebx
cmp dword [eax + 0x14], 0x10
mov byte [ebp - 4], bl
jb 0x589fb1
mov eax, dword [eax]
lea ecx, [ebp + 0x4f]
mov byte [ebp - 4], 2
push ecx
push 0
push eax
lea ecx, [ebp - 0x168]
call fcn.0043f7f1
push 0
push ebx
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 4
call fcn.0040facf
mov edi, dword [ebp + 0x60]
mov eax, str.NULL
mov ecx, edi
test edi, edi
jne 0x589fe6
mov ecx, eax
cmp dword [ebp + 0x5c], 0
je 0x589fef
mov eax, dword [ebp + 0x5c]
push ecx
push eax
push esi
push str.LoadKnownFileType_called_with__s___s___s_n
call fcn.0040e854
add esp, 0x10
push 0x6da7c4
push esi
call fcn.0047ae37
test al, al
je 0x58a29d
test edi, edi
je 0x58a025
push str.torrent
push edi
call fcn.0047ae37
test al, al
jne 0x58a057
cmp byte [ebp + 0x4f], 0
je 0x58a10c
cmp dword [ebp - 0x124], 0x10
mov eax, dword [ebp - 0x138]
jae 0x58a044
lea eax, [ebp - 0x138]
push 0x6deac8
push eax
call fcn.0047a8ba
test al, al
je 0x58a10c
push dword [ebp + 0x64]
push 0xa0
push 4
push dword [ebp + 0x74]
push dword [ebp + 0x70]
push dword [ebp + 0x5c]
push esi
xor esi, esi
push esi
push 0x586fb2
call fcn.00589e12
push 0x756a0c
lea ecx, [ebp + 0x1c]
call fcn.0040f49f
push str.success
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 5
call fcn.0040f49f
push str.http_add_torrent
lea ecx, [ebp]
mov byte [ebp - 4], 6
call fcn.0040f49f
push str.AddTorrent
lea ecx, [ebp + 0x34]
mov byte [ebp - 4], 7
call fcn.0040f49f
fld dword [0x6e7c44]
lea eax, [ebp + 0x1c]
push ecx
fstp dword [esp]
push esi
push eax
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 8
push eax
lea eax, [ebp]
push eax
lea eax, [ebp + 0x34]
push eax
push esi
call fcn.00536471
push esi
push ebx
lea ecx, [ebp + 0x34]
call fcn.0040facf
push esi
push ebx
lea ecx, [ebp]
call fcn.0040facf
push esi
push ebx
lea ecx, [ebp - 0x28]
call fcn.0040facf
lea ecx, [ebp + 0x1c]
push esi
push ebx
call fcn.0040facf
push esi
push esi
jmp 0x58a4fe
test edi, edi
je 0x58a11f
push str.btkey
push edi
call fcn.0047aeb4
test al, al
jne 0x58a149
cmp byte [ebp + 0x4f], 0
je 0x58a16b
cmp dword [ebp - 0x124], 0x10
mov eax, dword [ebp - 0x138]
jae 0x58a13a
lea eax, [ebp - 0x138]
push str..btkey
push eax
call fcn.0047a8ba
test al, al
je 0x58a16b
xor eax, eax
push eax
push 0xa0
push 4
push eax
push dword [ebp + 0x70]
push dword [ebp + 0x5c]
push esi
push eax
push 0x586ed2
call fcn.00589e12
jmp 0x58a50f
test edi, edi
je 0x58a17e
push str.btinstall
push edi
call fcn.0047aeb4
test al, al
jne 0x58a1b0
cmp byte [ebp + 0x4f], 0
je 0x58a230
cmp dword [ebp - 0x124], 0x10
mov eax, dword [ebp - 0x138]
jae 0x58a19d
lea eax, [ebp - 0x138]
push str..btinstall
push eax
call fcn.0047a8ba
test al, al
je 0x58a230
push 0x38
call fcn.00651ae6
pop ecx
mov dword [ebp + 0x64], eax
mov byte [ebp - 4], 9
test eax, eax
je 0x58a1d6
push edi
push esi
push dword [ebp + 0x6c]
mov ecx, eax
push dword [ebp + 0x68]
call fcn.005861cb
mov edi, eax
jmp 0x58a1d8
xor edi, edi
push esi
lea eax, [ebp + 0x1c]
mov byte [ebp - 4], 4
push eax
call fcn.0047abab
cmp dword [eax + 0x14], 0x10
mov byte [ebp - 4], 0xa
jb 0x58a1f2
mov eax, dword [eax]
push 0x587281
push edi
xor edi, edi
push edi
push dword [ebp + 0x5c]
push eax
push edi
call fcn.005c2370
push edi
push ebx
lea ecx, [ebp + 0x1c]
mov byte [ebp - 4], 4
mov esi, eax
call fcn.0040facf
test esi, esi
je 0x58a50f
mov ecx, esi
call fcn.0058716c
push esi
push edi
push 0x801d
jmp 0x58a503
test edi, edi
je 0x58a243
push 0x6e3134
push edi
call fcn.0047aeb4
test al, al
jne 0x58a26d
cmp byte [ebp + 0x4f], 0
je 0x58a27b
cmp dword [ebp - 0x124], 0x10
mov eax, dword [ebp - 0x138]
jae 0x58a25e
lea eax, [ebp - 0x138]
push str..btapp
push eax
call fcn.0047a8ba
test al, al
je 0x58a27b
push 0
push 0
push 0x8023
jmp 0x58a503
mov eax, dword [ebp + 0x64]
shr eax, 2
and al, 1
movzx eax, al
push eax
sub esp, 0x18
mov eax, esp
push esi
push eax
call fcn.004295d6
call fcn.005ee740
jmp 0x58a50f
push 0x6d29c4
push esi
call fcn.0047aeb4
test al, al
jne 0x58a50f
push 0x6d2a60
push esi
call fcn.0047aeb4
test al, al
je 0x58a2fe
push 0
lea eax, [ebp + 0x5c]
push eax
push esi
call fcn.0045fb4c
push dword [ebp + 0x5c]
mov esi, eax
mov byte [ebp - 4], 0xe
push esi
mov dword [ebp + 0x64], esi
call fcn.005b582e
jmp 0x58a2eb
push ebx
push esi
mov dword [ebp - 4], 4
call fcn.0045c46f
jmp 0x58a50f
push str.magnet:
push esi
call fcn.0047ae37
test al, al
je 0x58a3c0
xor eax, eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push fcn.004a0429
push eax
push dword [ebp + 0x5c]
mov eax, dword [ebp + 0x64]
or eax, 0x200
push eax
push esi
call fcn.004cb98a
push 0x756a0c
lea ecx, [ebp + 0x34]
call fcn.0040f49f
push str.success
lea ecx, [ebp]
mov byte [ebp - 4], 0x10
call fcn.0040f49f
push str.add_magnetlink
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x11
call fcn.0040f49f
push str.AddTorrent
lea ecx, [ebp + 0x1c]
mov byte [ebp - 4], 0x12
call fcn.0040f49f
fld dword [0x6e7c44]
lea eax, [ebp + 0x34]
push ecx
fstp dword [esp]
xor esi, esi
mov byte [ebp - 4], 0x13
push esi
push eax
lea eax, [ebp]
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp + 0x1c]
push eax
push esi
call fcn.00536471
push esi
push ebx
lea ecx, [ebp + 0x1c]
call fcn.0040facf
push esi
push ebx
lea ecx, [ebp - 0x28]
call fcn.0040facf
push esi
push ebx
lea ecx, [ebp]
call fcn.0040facf
lea ecx, [ebp + 0x34]
jmp 0x58a0fe
push 0x6d2aac
push esi
call fcn.0047aeb4
test al, al
jne 0x58a26d
push 0x6d2b04
push esi
call fcn.0047aeb4
test al, al
je 0x58a402
push 0x756a0c
push dword [ebp + 0x6c]
push dword [ebp + 0x68]
push dword [ebp + 0x64]
push edi
push ebx
push dword [ebp + 0x5c]
push esi
push 0
call fcn.00589c57
jmp 0x58a50f
test edi, edi
je 0x58a415
push 0x71fe48
push edi
call fcn.0047aeb4
test al, al
jne 0x58a428
push 0x6d2a14
push esi
call fcn.0047aeb4
test al, al
je 0x58a4e0
push str.current.btskin
lea eax, [ebp + 0x34]
push eax
call fcn.0047014f
test dword [ebp + 0x64], 0x400
mov byte [ebp - 4], 0x14
je 0x58a45b
mov edi, str.user_set
push edi
call fcn.0040f6ae
pop ecx
push eax
push edi
mov ecx, 0x7c2798
call fcn.0040f427
push str.default
push esi
call fcn.006775ba
pop ecx
test eax, eax
mov eax, dword [ebp + 0x34]
pop ecx
jne 0x58a481
cmp dword [ebp + 0x48], 8
jae 0x58a478
lea eax, [ebp + 0x34]
push eax
call dword [sym.imp.KERNEL32.DLL_DeleteFileW]
jmp 0x58a4ad
cmp dword [ebp + 0x48], 8
jae 0x58a48a
lea eax, [ebp + 0x34]
push eax
push esi
call fcn.006775ba
pop ecx
pop ecx
test eax, eax
je 0x58a4ad
cmp dword [ebp + 0x48], 8
mov eax, dword [ebp + 0x34]
jae 0x58a4a3
lea eax, [ebp + 0x34]
push 0
push eax
push esi
call dword [sym.imp.KERNEL32.DLL_CopyFileW]
call fcn.005ff5cf
call fcn.005c91e9
push ebx
push ebx
call fcn.005c1717
call fcn.0060413c
push dword [0x7d4820]
call fcn.0058c169
call fcn.005a0ce0
push 0
push ebx
lea ecx, [ebp + 0x34]
call fcn.004284eb
jmp 0x58a50f
xor ebx, ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push fcn.004a0429
push ebx
push dword [ebp + 0x5c]
push dword [ebp + 0x64]
push esi
call fcn.004cb98a
push ebx
push ebx
push 0x803c
push dword [0x7f9cc8]
call dword [sym.imp.USER32.dll_PostMessageW]
lea ecx, [ebp - 0x168]
call fcn.0043f952
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
lea esp, [ebp + 0x50]
pop ebp
ret 0x20