Function at 0x4375d7
Capabilities:
Get common file path
Get startup folder
Persist via run registry key
Set file attributes
Terminate process

Disassembly:
push ebp
sub esp, 0x58
mov eax, 0x69cb79
call fcn.00640244
sub esp, 0x96c
push ebx
push esi
push edi
push str.classic_uninstall
lea ecx, [ebp - 0x24]
call fcn.0040eeff
sub esp, 0x18
lea eax, [ebp - 0x24]
mov ecx, esp
mov dword [ebp - 0x40], esp
xor ebx, ebx
mov dword [ebp], ecx
mov dword [ebp - 4], ebx
push eax
call fcn.0040f4ab
xor eax, eax
lea ecx, [ebp + 0x5b]
inc eax
mov byte [ebp - 4], al
call fcn.005a284f
push eax
lea ecx, [ebp + 0x5b]
mov byte [ebp - 4], bl
call fcn.005a293a
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x24]
xor esi, esi
push ebx
inc esi
push esi
call fcn.0040f52f
push 0x104
lea eax, [ebp - 0x770]
push eax
push ebx
call dword [sym.imp.KERNEL32.DLL_GetModuleFileNameW]
call fcn.00462ceb
test al, al
jne 0x4376f5
cmp byte [0x7aafd8], 6
jb 0x4376f5
push str._UNINSTALL
lea ecx, [ebp + 0x28]
call fcn.00429973
mov dword [ebp - 4], 2
cmp byte [ebp + 0x64], bl
je 0x43769b
mov esi, 0x6c1830
push esi
call fcn.00428460
pop ecx
push eax
push esi
lea ecx, [ebp + 0x28]
call fcn.004282ce
cmp byte [ebp + 0x68], 0
je 0x4376b7
mov esi, str.__REMSETTINGS
push esi
call fcn.00428460
pop ecx
push eax
push esi
lea ecx, [ebp + 0x28]
call fcn.004282ce
xor eax, eax
mov dword [ebp - 0x10], 7
mov dword [ebp - 0x14], ebx
mov word [ebp - 0x24], ax
cmp dword [ebp + 0x3c], 8
mov eax, dword [ebp + 0x28]
mov byte [ebp - 4], 3
jae 0x4376d7
lea eax, [ebp + 0x28]
push ebx
xor esi, esi
lea ecx, [ebp - 0x24]
inc esi
push esi
push ebx
push ecx
push eax
lea eax, [ebp - 0x770]
push eax
call fcn.004340ab
push ebx
call dword [sym.imp.KERNEL32.DLL_ExitProcess]
mov bl, byte [ebp + 0x64]
test bl, bl
jne 0x437750
lea ecx, [ebp - 0xa8]
call fcn.0058e7a8
mov dword [ebp - 0xa8], 0x6c1624
lea eax, [ebp + 0x68]
mov dword [ebp - 4], 4
push eax
push 0xfe
call fcn.0058dbd3
push eax
lea ecx, [ebp - 0xa8]
call fcn.0058f4ca
lea ecx, [ebp - 0xa8]
cmp byte [ebp - 0x74], bl
jne 0x437747
call fcn.0058e83f
jmp 0x437d1a
or dword [ebp - 4], 0xffffffff
call fcn.0058e83f
call fcn.00437406
test al, al
jne 0x437782
test bl, bl
jne 0x437782
push 0x10
push 0x7fc
call fcn.0058c7b7
push eax
push 0x7fd
call fcn.0058c7b7
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
jmp 0x437d1a
push dword [ebp + 0x68]
call fcn.00485e75
xor ebx, ebx
mov dword [0x7e10a8], ebx
mov dword [0x7e10a0], ebx
mov dword [0x7e10a4], ebx
call fcn.0047544b
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push 8
pop edi
push edi
call fcn.004333c6
lea ecx, [ebp - 0x158]
call fcn.00599a14
push edi
push 0x7acde0
lea ecx, [ebp - 0x158]
mov dword [ebp - 4], 5
call fcn.0059a4e8
xor eax, eax
mov dword [ebp + 0x54], 7
mov dword [ebp + 0x50], ebx
mov word [ebp + 0x40], ax
push 0x104
lea eax, [ebp - 0x978]
mov byte [ebp - 4], 6
push eax
push str.InstallLocation
push str.SoftwareMicrosoftWindowsCurrentVersionUninstalluTorrent
push reloc.WS2_32.dll_accept
call fcn.004867b7
test al, al
je 0x437a69
lea eax, [ebp + 0x40]
push eax
lea eax, [ebp - 0x978]
push eax
call fcn.004862b4
test eax, eax
je 0x43782b
push ebx
jmp 0x437d06
push esi
lea eax, [ebp - 0x770]
push eax
call fcn.0046047f
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.00429352
push eax
sub esp, 0x18
mov byte [ebp - 4], 7
lea eax, [ebp + 0x40]
mov ecx, esp
push eax
call fcn.00427b8e
lea eax, [ebp + 0x28]
push eax
call fcn.00460380
xor ebx, ebx
mov byte [ebp - 4], 9
push ebx
push esi
lea ecx, [ebp - 0x70]
call fcn.004281f2
push esi
lea eax, [ebp - 0x770]
push eax
call fcn.0046047f
push eax
lea eax, [ebp - 0xc0]
push eax
call fcn.00429352
push eax
sub esp, 0x18
mov byte [ebp - 4], 0xa
lea eax, [ebp - 0x978]
mov ecx, esp
push eax
call fcn.00429973
lea eax, [ebp - 0x3c]
push eax
call fcn.00460380
push ebx
push esi
lea ecx, [ebp - 0xc0]
mov byte [ebp - 4], 0xc
call fcn.004281f2
mov eax, dword [ebp + 0x28]
cmp dword [ebp + 0x3c], edi
jae 0x4378c3
lea eax, [ebp + 0x28]
push eax
call fcn.0047b424
mov eax, dword [ebp - 0x3c]
cmp dword [ebp - 0x28], edi
jae 0x4378d4
lea eax, [ebp - 0x3c]
push eax
call fcn.0047b424
mov eax, dword [ebp + 0x28]
cmp dword [ebp + 0x3c], edi
jae 0x4378e5
lea eax, [ebp + 0x28]
push eax
call fcn.00437d2e
mov eax, dword [ebp - 0x3c]
cmp dword [ebp - 0x28], edi
jae 0x4378f6
lea eax, [ebp - 0x3c]
push eax
call fcn.00437d2e
push esi
push 0x28
lea eax, [ebp - 0x360]
push eax
push ebx
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
mov dword [ebp + 0x64], 0x18
test eax, eax
je 0x437a10
lea ecx, [ebp - 0x360]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, bx
jne 0x437925
mov eax, dword [ebp + 0x40]
sub ecx, edx
sar ecx, 1
cmp dword [ebp + 0x54], edi
jae 0x43793f
lea eax, [ebp + 0x40]
push ecx
lea ecx, [ebp - 0x360]
push ecx
push eax
call fcn.00665c03
add esp, 0xc
test eax, eax
jne 0x437a10
lea eax, [ebp - 0x568]
push eax
call fcn.0042ef44
lea eax, [ebp - 0x568]
push eax
lea ecx, [ebp - 0x70]
call fcn.00429973
push esi
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 0xd
push eax
sub esp, 0x18
lea eax, [ebp - 0x360]
mov ecx, esp
push eax
call fcn.00429973
lea eax, [ebp - 0x24]
push eax
call fcn.00460380
push ebx
push esi
lea ecx, [ebp - 0x70]
call fcn.004281f2
mov dword [ebp + 4], ebx
mov dword [ebp + 8], ebx
mov dword [ebp + 0xc], ebx
mov eax, dword [ebp - 0x24]
mov byte [ebp - 4], 0x10
cmp dword [ebp - 0x10], edi
jae 0x4379b8
lea eax, [ebp - 0x24]
push ebx
push eax
lea eax, [ebp + 4]
push eax
call fcn.00461131
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 4]
sub eax, ecx
cdq
idiv dword [ebp + 0x64]
cmp eax, esi
jne 0x4379fe
push 0x6c11e8
call fcn.00438eb2
test eax, eax
jne 0x4379fe
lea eax, [ebp - 0x360]
push eax
call fcn.00428460
pop ecx
push eax
lea eax, [ebp - 0x360]
push eax
lea ecx, [ebp + 0x40]
call fcn.00438cfb
lea ecx, [ebp + 4]
call fcn.00438b7a
push ebx
push esi
lea ecx, [ebp - 0x24]
call fcn.004281f2
mov dword [ebp + 0x1c], ebx
mov dword [ebp + 0x20], ebx
mov dword [ebp + 0x24], ebx
mov eax, dword [ebp + 0x40]
mov byte [ebp - 4], 0x11
cmp dword [ebp + 0x54], edi
jae 0x437a28
lea eax, [ebp + 0x40]
push ebx
push eax
lea eax, [ebp + 0x1c]
push eax
call fcn.00461131
mov eax, dword [ebp + 0x20]
sub eax, dword [ebp + 0x1c]
push 0x18
pop ecx
cdq
idiv ecx
lea ecx, [ebp + 0x1c]
cmp esi, eax
sbb bl, bl
inc bl
call fcn.00438b7a
xor edi, edi
lea ecx, [ebp - 0x3c]
push edi
push esi
call fcn.004281f2
push edi
push esi
lea ecx, [ebp + 0x28]
mov byte [ebp - 4], 6
call fcn.004281f2
jmp 0x437a6b
xor edi, edi
push 0x6c111c
lea eax, [ebp - 0x58]
push eax
call fcn.0047354f
cmp byte [ebp + 0x68], 0
mov byte [ebp - 4], 0x12
je 0x437b12
cmp dword [ebp - 0x48], 0
je 0x437b12
cmp dword [ebp - 0x44], 8
mov eax, dword [ebp - 0x58]
jae 0x437a9d
lea eax, [ebp - 0x58]
push eax
call fcn.00460e1e
push 0x6c18f4
push 0x6c1910
sub esp, 0x18
lea eax, [ebp + 0x28]
lea esi, [ebp + 0x40]
push 6
pop ecx
mov edi, esp
push 0x6c1914
rep movsd dword es:[edi], dword [esi]
push eax
call fcn.004654e1
add esp, 0x28
cmp dword [ebp + 0x3c], 8
mov eax, dword [ebp + 0x28]
mov byte [ebp - 4], 0x13
jae 0x437adb
lea eax, [ebp + 0x28]
push eax
call fcn.004730e8
test eax, eax
je 0x437afd
cmp dword [ebp + 0x3c], 8
mov eax, dword [ebp + 0x28]
jae 0x437af1
lea eax, [ebp + 0x28]
push 0x80
push eax
call dword [sym.imp.KERNEL32.DLL_SetFileAttributesW]
xor eax, eax
mov byte [ebp - 4], 0x12
xor edi, edi
lea ecx, [ebp + 0x28]
inc eax
push edi
push eax
mov bl, al
call fcn.004281f2
call fcn.004324bf
test al, al
je 0x437b2f
push 0x6c11e8
push str.SoftwareMicrosoftWindowsCurrentVersionRun
push reloc.WS2_32.dll_accept
call fcn.00486549
push 0x6c1924
push 0x6c1958
call fcn.00433142
push str.application_x_bittorrentsearchdescriptionxml
push 0x6c19cc
call fcn.00433142
push str.application_x_bittorrent_skin
push 0x6c1a1c
call fcn.00433142
push str.application_x_bittorrent_key
push 0x6c1a68
call fcn.00433142
push str.application_x_bittorrent_app
push 0x6c1ab4
call fcn.00433142
push str.application_x_bittorrent_appinst
push 0x6c1b0c
call fcn.00433142
push str.Magnet
call fcn.00433338
push 0x6c1b34
call fcn.00433338
push 0x6c1ab6
call fcn.00433338
push 0x6c1b0e
call fcn.00433338
push 0x6c1a1e
call fcn.00433338
push 0x6c1a6a
call fcn.00433338
movzx eax, byte [0x7aafd8]
cmp eax, 5
push str.SoftwareClassesuTorrent
sbb esi, esi
neg esi
add esi, reloc.WS2_32.dll_accept
push esi
call fcn.0048610b
push str.SoftwareClassesApplicationsuTorrent.exe
push esi
call fcn.0048610b
push str.SoftwareBitTorrent
mov esi, reloc.WS2_32.dll_accept
push esi
call fcn.0048610b
push str.SoftwareBitTorrentuTorrent
push esi
call fcn.0048610b
push str.SoftwareBitTorrentengine
push esi
call fcn.0048610b
push str.SoftwareMicrosoftWindowsCurrentVersionUninstalluTorrent
push esi
call fcn.004860c1
push str.SoftwareMicrosoftWindowsCurrentVersionUninstalluTorrent
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.004860c1
test bl, bl
je 0x437cf3
xor eax, eax
mov dword [ebp + 0x24], 7
mov dword [ebp + 0x20], edi
mov word [ebp + 0x10], ax
cmp dword [0x7aafd8], 0x80000000
mov esi, str.rmdir__S__Q
mov byte [ebp - 4], 0x14
jb 0x437c61
mov esi, str.deltree__Y
push esi
call fcn.00428460
pop ecx
push eax
push esi
lea ecx, [ebp + 0x10]
call fcn.00438cfb
cmp dword [ebp + 0x54], 8
mov eax, dword [ebp + 0x40]
jae 0x437c7e
lea eax, [ebp + 0x40]
mov esi, dword [sym.imp.KERNEL32.DLL_GetShortPathNameW]
push edi
push edi
push eax
call esi
cmp dword [ebp + 0x54], 8
mov ecx, dword [ebp + 0x40]
jae 0x437c95
lea ecx, [ebp + 0x40]
push eax
lea eax, [ebp - 0x568]
push eax
push ecx
call esi
test eax, eax
jne 0x437cb5
push 0xffffffffffffffff
push edi
lea eax, [ebp + 0x40]
push eax
lea ecx, [ebp + 0x10]
call fcn.0042823e
jmp 0x437cd2
lea eax, [ebp - 0x568]
push eax
call fcn.00428460
pop ecx
push eax
lea eax, [ebp - 0x568]
push eax
lea ecx, [ebp + 0x10]
call fcn.004282ce
cmp dword [ebp + 0x24], 8
mov eax, dword [ebp + 0x10]
jae 0x437cde
lea eax, [ebp + 0x10]
push eax
call fcn.0059d0a9
xor esi, esi
lea ecx, [ebp + 0x10]
push edi
inc esi
push esi
call fcn.004281f2
jmp 0x437cfb
call fcn.0059d2ab
xor esi, esi
inc esi
push edi
push esi
lea ecx, [ebp - 0x58]
call fcn.004281f2
push edi
push esi
lea ecx, [ebp + 0x40]
call fcn.004281f2
lea ecx, [ebp - 0x158]
call fcn.0042a2a8
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
lea esp, [ebp + 0x5c]
pop ebp
ret 8