Function at 0x4bd3c6
Capabilities:
Delete file
Terminate process

Disassembly:
push ebp
lea ebp, [esp - 0x74]
sub esp, 0x5c0
push ebx
push esi
mov dword [ebp + 0x44], ecx
push edi
mov ecx, str.Process_started
mov dword [ebp + 0x58], edx
call fcn.004448e5
xor ebx, ebx
xor esi, esi
cmp dword [ebp + 0x58], ebx
je 0x4bc9bf
mov eax, dword [ebp + 0x7c]
mov ecx, dword [eax + esi*4]
call fcn.004448e5
inc esi
cmp esi, dword [ebp + 0x58]
jne 0x4bc9ae
mov ecx, str.End_Args
call fcn.004448e5
mov ecx, 0x549be4
call fcn.00405f9f
mov dword [0x549a48], ebx
mov dword [0x549a4c], 0x549a48
mov dword [0x549c68], ebx
mov dword [0x549c70], ebx
mov dword [0x549c6c], ebx
mov dword [0x549c40], ebx
mov dword [0x549c48], ebx
mov dword [0x549c44], ebx
mov dword [0x549c4c], ebx
mov dword [0x549c54], ebx
mov dword [0x549c50], ebx
call fcn.004080f9
call fcn.004a3d7e
mov esi, eax
mov edi, edx
xor ecx, ecx
mov dword [0x549a98], esi
mov dword [0x549a9c], edi
call fcn.0046c08a
push edi
add eax, 5
push esi
mov dword [0x549ac8], eax
mov dword [0x548aa8], esi
mov dword [0x548aac], edi
call fcn.004a2542
mov edx, str.SetDllDirectoryA
mov ecx, 0x4f55c4
call fcn.004a3fa7
cmp eax, ebx
je 0x4bca6f
push 0x4f1e13
call eax
call dword [sym.imp.KERNEL32.DLL_GetCurrentThreadId]
mov dword [0x54aed4], eax
call fcn.0043ece8
call fcn.0041fe0a
xor ebx, ebx
push ebx
push ebx
lea ecx, [ebp + 0x20]
call fcn.0046b226
push dword [ebp + 0x7c]
lea ecx, [ebp + 0x20]
push dword [ebp + 0x58]
call fcn.0046b286
push str.logfile
lea ecx, [ebp + 0x20]
call fcn.0046b1fb
mov edi, eax
push 2
pop eax
cmp edi, ebx
je 0x4bcad3
cmp dword [edi + 8], eax
jl 0x4bcac7
mov ecx, dword [edi + 4]
mov edx, dword [edi]
mov ebx, dword [edx + ecx*4 + 4]
mov dword [edi + 0x14], eax
jmp 0x4bcacc
mov ebx, str.bt.log
mov ecx, ebx
call fcn.004200c8
lea ecx, [ebp + 0x64]
call fcn.004889e8
mov ecx, eax
call fcn.0048ea50
mov esi, 0x5497a8
push esi
call fcn.00494088
lea ecx, [ebp + 0x64]
call fcn.0048e75f
call fcn.004448e5
push esi
push str.Settings_path:___s__n
call fcn.004448e5
push 0x682f
call fcn.004448e5
add esp, 0xc
push str.AUTOUPDATE
lea ecx, [ebp + 0x20]
call fcn.0046b1fb
mov esi, eax
test esi, esi
je 0x4bcba4
mov edi, dword [esi + 8]
cmp edi, 2
push 0x1a
mov byte [ebp + 0x7f], 1
pop ebx
jl 0x4bcb42
mov eax, dword [esi + 4]
mov ecx, dword [esi]
mov eax, dword [ecx + eax*4 + 4]
mov dword [ebp + 0x5c], eax
jmp 0x4bcb46
and dword [ebp + 0x5c], 0
push str.NORUN
lea ecx, [ebp + 0x20]
call fcn.0046b1fb
test eax, eax
je 0x4bcb60
mov byte [ebp + 0x7f], 0
call fcn.00444fd3
cmp edi, 3
jl 0x4bcba0
mov eax, dword [esi + 4]
mov ecx, dword [esi]
push dword [ecx + eax*4 + 8]
call sub.MSVCRT.dll__wtoi
pop ecx
push 3
mov ebx, eax
pop eax
mov dword [esi + 0x14], eax
mov ecx, str.Unknown
xor esi, esi
call fcn.0045f2b4
mov dl, byte [ebp + 0x7f]
mov ecx, dword [ebp + 0x5c]
push ebx
call fcn.0042f066
test al, al
je 0x4bcb99
inc esi
push esi
call dword [sym.imp.KERNEL32.DLL_ExitProcess]
mov eax, edi
jmp 0x4bcb79
test edi, edi
je 0x4bcbca
test ebx, ebx
je 0x4bcbb7
push ebx
call fcn.004448e5
add esp, 4
jmp 0x4bcbbc
mov ebx, str.stdout
push ebx
push str.Log_file_set_to_path:__s__n
call fcn.004448e5
add esp, 8
call fcn.004a7ca2
mov ecx, 0x4f1b50
call fcn.004a8440
push fcn.0046e84d
lea ecx, [ebp - 8]
call fcn.0048f245
push fcn.00439b37
lea ecx, [ebp - 0x14]
call fcn.0048f245
call fcn.004a49a0
call dword [sym.imp.KERNEL32.DLL_GetProcessHeap]
mov ecx, eax
mov dword [0x54a828], eax
call fcn.004a2fbe
mov ecx, fcn.0042ecd3
call fcn.004df6b4
push 1
call dword [sym.imp.KERNEL32.DLL_SetErrorMode]
call fcn.00472285
push str.AUTOMATION
lea ecx, [ebp + 0x20]
mov byte [ebp + 0x73], 0
call fcn.0046b1fb
mov esi, eax
xor ebx, ebx
cmp esi, ebx
je 0x4bcc6d
xor ecx, ecx
inc ecx
call fcn.004b93b9
push 2
pop edi
cmp dword [esi + 8], edi
jl 0x4bcc74
push 0x75
pop eax
mov word [0x537818], ax
mov ecx, dword [esi]
mov eax, dword [esi + 4]
mov edx, dword [ecx + eax*4 + 4]
push 0xd
mov ecx, 0x537828
call fcn.0042260d
mov dword [esi + 0x14], edi
jmp 0x4bcc74
push 2
mov byte [ebp + 0x73], 1
pop edi
push 0x5113c4
lea ecx, [ebp + 0x20]
call fcn.0046b1fb
test eax, eax
je 0x4bcc90
mov ecx, edi
call fcn.004b93b9
mov byte [ebp + 0x73], 0
cmp byte [ebp + 0x73], 0
je 0x4bcc9d
xor ecx, ecx
call fcn.004b93b9
push str.MINIMIZED
lea ecx, [ebp + 0x20]
call fcn.0046b1fb
test eax, eax
je 0x4bccb5
mov byte [0x54aed1], 1
push dword [ebp + 0x44]
mov ecx, 0x548878
call fcn.00467671
mov dword [0x54887c], 0x4f3aa8
call fcn.004a4a00
call fcn.004e44d6
push str.recover
lea ecx, [ebp + 0x20]
mov byte [ebp + 0x5c], 0
call fcn.0046b1fb
mov esi, eax
cmp esi, ebx
je 0x4bcd2c
call fcn.004448e5
mov dl, 1
lea ecx, [ebp + 0x6c]
mov byte [ebp + 0x5c], 1
mov byte [0x54794c], 1
mov dword [ebp + 0x6c], ebx
call fcn.004b6866
mov dl, 1
mov ecx, eax
call fcn.0046b3e9
cmp dword [esi + 8], edi
jl 0x4bcd2c
mov eax, dword [esi + 4]
mov ecx, dword [esi]
mov edx, dword [ebp + 0x6c]
mov dword [esi + 0x14], edi
mov ecx, dword [ecx + eax*4 + 4]
call fcn.004df8e4
mov ecx, str.temp
call fcn.00488a27
push eax
lea ecx, [ebp + 0x3c]
call fcn.0048ea2a
lea ecx, [ebp + 0x3c]
call fcn.0048ea50
mov ecx, eax
call fcn.004b5fa1
call fcn.0046e83e
mov byte [ebp + 0x69], 0
mov byte [ebp + 0x6b], 0
mov byte [ebp + 0x62], 0
cmp dword [0x54baf8], ebx
jne 0x4bcd71
mov dword [0x54baf8], 0x621682f
call fcn.0043259d
push 0x5497a8
call fcn.004448e5
add esp, 4
call fcn.0048a386
call fcn.004b5f36
call fcn.00488cfa
call fcn.00440419
and byte [ebp + 0x55], 0xfe
mov esi, 0x4f20b4
lea ecx, [ebp + 0x48]
mov dword [ebp + 0x48], esi
mov byte [ebp + 0x54], 0
mov dword [ebp + 0x4c], ebx
mov dword [ebp + 0x50], ebx
call fcn.00406861
mov ecx, str.dht_feed.dat
call fcn.00488a4e
push eax
lea ecx, [ebp + 0x6c]
call fcn.0048ea2a
lea ecx, [ebp + 0x6c]
call fcn.0048ea50
lea edx, [ebp + 0x48]
mov ecx, eax
call fcn.00488b45
test al, al
je 0x4bcdec
cmp byte [ebp + 0x54], 4
jne 0x4bcdec
lea ecx, [ebp + 0x48]
call fcn.00492275
lea ecx, [ebp + 0x6c]
call fcn.0048e75f
lea ecx, [ebp + 0x48]
mov dword [ebp + 0x48], esi
call fcn.004067a4
push str.NOINSTALL
lea ecx, [ebp + 0x20]
mov byte [ebp + 0x63], 0
call fcn.0046b1fb
mov esi, eax
cmp esi, ebx
je 0x4bce1a
mov byte [ebp + 0x63], 1
inc dword [0x54bac8]
cmp dword [0x54b9b0], 0x621682f
je 0x4bce65
push 0xa
pop ecx
push 0xa
xor eax, eax
mov edi, 0x54ba48
rep stosd dword es:[edi], eax
pop ecx
push ebx
push 0x3e8
push 2
push ebx
push ebx
push 0x1a
mov edi, 0x54ba20
push 0xffff
rep stosd dword es:[edi], eax
call dword [sym.imp.USER32.dll_SendMessageTimeoutW]
push eax
call fcn.004448e5
add esp, 4
push 2
pop edi
cmp dword [0x54b008], edi
je 0x4bce74
mov byte [0x54b02a], 0
cmp esi, ebx
je 0x4bce86
mov dword [0x54b024], 0x682f
mov byte [ebp + 0x69], 1
push str.UPDATEINSTALL
lea ecx, [ebp + 0x20]
call fcn.0046b1fb
test eax, eax
je 0x4bce9f
mov byte [ebp + 0x69], 1
mov byte [ebp + 0x6b], 1
mov cl, byte [ebp + 0x6b]
call fcn.00490184
push 0x208
lea eax, [ebp - 0x260]
push eax
push str.UninstallString
mov edx, str.SoftwareMicrosoftWindowsCurrentVersionUninstallBitTorrent_DNA
mov ecx, reloc.WS2_32.dll_accept
call fcn.004464d0
test al, al
je 0x4bd14d
xor bl, bl
call fcn.004448e5
push 8
pop ecx
mov esi, str.DNA4823DF041B09
lea edi, [ebp - 0x58]
rep movsd dword es:[edi], dword [esi]
lea ecx, [ebp - 0x58]
call fcn.0048c271
push eax
xor edi, edi
push edi
push edi
call dword [sym.imp.KERNEL32.DLL_CreateMutexA]
mov esi, eax
push edi
push esi
call dword [sym.imp.KERNEL32.DLL_WaitForSingleObject]
test eax, eax
jne 0x4bcf12
push esi
call dword [sym.imp.KERNEL32.DLL_ReleaseMutex]
inc bl
call fcn.004448e5
push esi
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
test bl, bl
jne 0x4bd0ad
push 1
push 0x1c
lea eax, [ebp - 0x54c]
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
test eax, eax
je 0x4bd09f
mov edx, str.DNACache
lea ecx, [ebp - 0x54c]
call fcn.004a327a
push 0x104
mov edx, eax
lea ecx, [ebp - 0x54c]
mov dword [ebp + 0x6c], eax
call fcn.0042260d
lea ecx, [ebp + 0x6c]
call fcn.0048db07
lea eax, [ebp - 0x54c]
push eax
lea eax, [ebp + 0x64]
push str.__found_DNA_cache_dir:__s
push eax
call fcn.0048f08b
add esp, 0xc
mov ecx, eax
call fcn.0048ea50
call fcn.004448e5
lea ecx, [ebp + 0x64]
call fcn.0048e75f
xor edi, edi
push edi
lea edx, [ebp - 0x54c]
lea ecx, [ebp + 0x4c]
mov byte [ebp + 0x73], 1
mov dword [ebp + 0x4c], edi
mov dword [ebp + 0x54], edi
mov dword [ebp + 0x50], edi
call fcn.004729f8
xor ecx, ecx
call fcn.0046c08a
xor esi, esi
mov ebx, eax
mov dword [ebp + 0x1c], edx
cmp dword [ebp + 0x54], edi
jbe 0x4bd078
mov eax, dword [ebp + 0x4c]
lea eax, [eax + esi*4]
mov edx, dword [eax]
lea ecx, [ebp - 0x54c]
call fcn.004a327a
mov ecx, eax
mov dword [ebp + 0x6c], eax
call fcn.004729b0
push ebx
mov edi, eax
push edi
push dword [ebp + 0x6c]
lea eax, [ebp + 0x64]
push str.__file:__s_timestamp:__d_now:__d
push eax
mov dword [ebp + 0x44], edx
call fcn.0048f08b
add esp, 0x14
mov ecx, eax
call fcn.0048ea50
call fcn.004448e5
lea ecx, [ebp + 0x64]
call fcn.0048e75f
mov ecx, dword [ebp + 0x1c]
mov eax, ebx
sub eax, edi
sbb ecx, dword [ebp + 0x44]
mov dword [ebp - 0x24], ecx
js 0x4bd040
jg 0x4bd02e
cmp eax, 0x12c
jb 0x4bd040
mov ecx, dword [ebp + 0x6c]
mov dl, 1
call fcn.0046b3e9
inc esi
cmp esi, dword [ebp + 0x54]
jb 0x4bcfca
jmp 0x4bd076
push dword [ebp + 0x6c]
lea eax, [ebp + 0x64]
push str.__file:__s_has_a_recent_timestamp__dont_uninstall
push eax
call fcn.0048f08b
add esp, 0xc
mov ecx, eax
call fcn.0048ea50
call fcn.004448e5
lea ecx, [ebp + 0x64]
call fcn.0048e75f
mov ecx, dword [ebp + 0x6c]
mov dl, 1
call fcn.0046b3e9
mov byte [ebp + 0x73], 0
xor edi, edi
xor esi, esi
cmp dword [ebp + 0x54], edi
jbe 0x4bd092
mov eax, dword [ebp + 0x4c]
mov ecx, dword [eax + esi*4]
mov dl, 1
call fcn.0046b3e9
inc esi
cmp esi, dword [ebp + 0x54]
jb 0x4bd07f
lea ecx, [ebp + 0x4c]
mov dword [ebp + 0x54], edi
call fcn.0048e6b4
jmp 0x4bd0a3
mov byte [ebp + 0x73], 1
cmp byte [ebp + 0x73], 0
je 0x4bd14d
lea ecx, [ebp - 0x260]
call fcn.0048c271
lea edx, [ebp - 0x260]
mov cl, byte [eax]
inc eax
mov byte [edx], cl
inc edx
test cl, cl
jne 0x4bd0be
lea eax, [ebp - 0x260]
push str.dna.exe
push eax
call sub.MSVCRT.dll_strstr
mov ebx, eax
pop ecx
pop ecx
test ebx, ebx
jne 0x4bd0fa
lea eax, [ebp - 0x260]
push str._btdna.exe
push eax
call sub.MSVCRT.dll_strstr
mov ebx, eax
pop ecx
pop ecx
test ebx, ebx
je 0x4bd14d
lea edi, [ebp - 0x260]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4bd101
push 4
lea eax, [ebp - 0x260]
mov esi, 0x511c5c
push eax
movsd dword es:[edi], dword [esi]
call dword [sym.imp.KERNEL32.DLL_WinExec]
push 0x7d0
call dword [sym.imp.KERNEL32.DLL_Sleep]
mov byte [ebx], 0
cmp byte [ebp - 0x260], 0x22
lea ecx, [ebp - 0x25f]
je 0x4bd141
lea ecx, [ebp - 0x260]
call fcn.0048c22b
mov ecx, eax
call fcn.0045e827
xor edx, edx
xor cl, cl
call fcn.004b91be
lea ecx, [ebp - 0x14]
call fcn.0043c584
call fcn.00439328
call fcn.0047d59d
call fcn.004942fe
call fcn.004b7c0e
xor ebx, ebx
inc ebx
mov dword [0x554c78], ebx
call fcn.0045f32e
call fcn.0046f37d
lea ecx, [ebp - 8]
call fcn.00472274
xor edi, edi
push 0x511c48
lea ecx, [ebp + 0x20]
mov byte [ebp + 0x73], 0
mov dword [ebp + 0x64], edi
call fcn.0046b1fb
lea ecx, [ebp + 0x20]
test eax, eax
je 0x4bd1e5
push 0x511c44
mov byte [ebp + 0x7f], 0
xor bl, bl
call fcn.0046b1fb
test eax, eax
je 0x4bd1c2
mov byte [ebp + 0x7f], 1
push str.REMSETTINGS
lea ecx, [ebp + 0x20]
call fcn.0046b1fb
test eax, eax
je 0x4bd1d5
mov bl, 1
mov cl, byte [ebp + 0x7f]
mov dl, bl
call fcn.0046270e
push edi
jmp 0x4bcb9a
push str.BIGDUMP
call fcn.0046b1fb
test eax, eax
je 0x4bd1fa
mov byte [0x54f528], 1
push str.DIRECTORY
lea ecx, [ebp + 0x20]
call fcn.0046b1fb
cmp eax, edi
je 0x4bd226
cmp dword [eax + 8], ebx
jle 0x4bd226
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov ecx, dword [edx + ecx*4 + 4]
mov dword [0x54aedc], ecx
mov dword [eax + 0x14], 2
push str.HIDE
lea ecx, [ebp + 0x20]
call fcn.0046b1fb
test eax, eax
je 0x4bd23e
mov byte [0x548881], 1
lea ecx, [ebp + 0x14]
call fcn.0048ea4a
lea ecx, [ebp + 0x10]
call fcn.0048ea4a
push str.LAUNCHBUNDLEDURL
lea ecx, [ebp + 0x20]
mov dword [ebp + 4], edi
mov dword [ebp + 0xc], edi
mov dword [ebp + 8], edi
call fcn.0046b1fb
mov esi, eax
cmp esi, edi
je 0x4bd287
cmp dword [esi + 8], ebx
jle 0x4bd287
mov ecx, dword [esi]
mov eax, dword [esi + 4]
push dword [ecx + eax*4 + 4]
lea ecx, [ebp + 0x14]
call fcn.0048ea75
mov dword [esi + 0x14], 2
push str.LAUNCHBUNDLEDURLTYPE
lea ecx, [ebp + 0x20]
call fcn.0046b1fb
mov esi, eax
cmp esi, edi
je 0x4bd2b7
cmp dword [esi + 8], ebx
jle 0x4bd2b7
mov ecx, dword [esi]
mov eax, dword [esi + 4]
push dword [ecx + eax*4 + 4]
lea ecx, [ebp + 0x10]
call fcn.0048ea75
mov dword [esi + 0x14], 2
push edi
lea eax, [ebp + 0x10]
push eax
lea edx, [ebp + 0x14]
lea ecx, [ebp + 4]
call fcn.004b97a8
cmp dword [ebp + 0xc], 0
jbe 0x4bd2e3
xor esi, esi
mov eax, dword [ebp + 4]
lea ecx, [eax + esi]
call fcn.00461ab0
inc edi
add esi, 0xc
cmp edi, dword [ebp + 0xc]
jb 0x4bd2cf
push str.DOWNLOADINSTALL
lea ecx, [ebp + 0x20]
call fcn.0046b1fb
mov esi, eax
test esi, esi
je 0x4bd504
mov ecx, str.Starting_toolbar_download__called_with__DOWNLOADINSTALL_
call fcn.004448e5
mov eax, dword [esi + 4]
mov ecx, dword [esi]
mov dword [esi + 0x14], 5
mov ebx, dword [ecx + eax*4 + 4]
push dword [ecx + eax*4 + 8]
mov dword [ebp + 0x1c], ebx
call sub.MSVCRT.dll__wtoi
mov edi, eax
mov eax, dword [esi + 4]
pop ecx
mov ecx, dword [esi]
mov eax, dword [ecx + eax*4 + 0xc]
mov dword [0x5484e8], eax
mov eax, dword [esi + 4]
mov ecx, dword [esi]
mov ecx, dword [ecx + eax*4 + 0x10]
call fcn.0048db20
mov esi, 0x548510
mov ecx, esi
mov dword [0x5484e0], eax
call fcn.00406861
test ebx, ebx
je 0x4bd500
cmp word [ebx], 0
je 0x4bd500
mov edx, esi
mov ecx, ebx
call fcn.00488b45
test al, al
je 0x4bd500
mov dword [0x534a08], esi
mov ebx, 0x45c879
test edi, 0xfffffeff
je 0x4bd43f
lea ecx, [ebp + 0x6c]
call fcn.0048ea4a
mov edx, 0x4f6cb8
xor ecx, ecx
call fcn.00472785
push eax
lea ecx, [ebp + 0x6c]
call fcn.0048e768
push 0x14
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov esi, eax
pop ecx
test esi, esi
je 0x4bd3e5
lea ecx, [ebp + 0x6c]
call fcn.0048ea50
mov ecx, dword [0x534a08]
push eax
push 0
push 0
push str.offer_urls
call fcn.0040678c
mov ecx, eax
call fcn.0040601c
push eax
mov ecx, esi
call int.0045c0ef
mov esi, eax
jmp 0x4bd3e7
xor esi, esi
lea ecx, [esi + 4]
mov dword [esi], edi
call fcn.0048ea50
mov ecx, eax
call fcn.004221f4
push 0x537ed8
lea ecx, [ebp + 0x44]
mov dword [0x537ee0], eax
mov dword [0x537edc], ebx
call fcn.0040917f
lea eax, [ebp + 0x44]
push eax
push 1
push esi
lea ecx, [esi + 0xc]
call fcn.0048e964
mov edx, fcn.0046304b
mov ecx, eax
call fcn.00460e04
mov ecx, dword [ebp + 0x44]
test ecx, ecx
je 0x4bd437
call fcn.00407ac5
lea ecx, [ebp + 0x6c]
call fcn.0048e75f
test edi, 0x100
je 0x4bd4f7
lea ecx, [ebp + 0x6c]
call fcn.0048ea4a
mov edx, 0x4f6cb8
xor ecx, ecx
call fcn.00472785
push eax
lea ecx, [ebp + 0x6c]
call fcn.0048e768
push 0x14
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov esi, eax
pop ecx
test esi, esi
je 0x4bd49d
lea ecx, [ebp + 0x6c]
call fcn.0048ea50
mov ecx, dword [0x534a08]
push eax
push 0
push str.share_offer_url
call fcn.0040610a
push eax
mov ecx, esi
call int.0045c0ef
mov esi, eax
jmp 0x4bd49f
xor esi, esi
lea ecx, [esi + 4]
mov dword [esi], edi
call fcn.0048ea50
mov ecx, eax
call fcn.004221f4
push 0x537f00
lea ecx, [ebp + 0x44]
mov dword [0x537f08], eax
mov dword [0x537f04], ebx
call fcn.0040917f
lea eax, [ebp + 0x44]
push eax
push 1
push esi
lea ecx, [esi + 0xc]
call fcn.0048e964
mov edx, 0x45f723
mov ecx, eax
call fcn.00460e04
mov ecx, dword [ebp + 0x44]
test ecx, ecx
je 0x4bd4ef
call fcn.00407ac5
lea ecx, [ebp + 0x6c]
call fcn.0048e75f
push dword [ebp + 0x1c]
call dword [sym.imp.KERNEL32.DLL_DeleteFileW]
mov byte [ebp + 0x73], 1
push str.PERFORMINSTALL
lea ecx, [ebp + 0x20]
call fcn.0046b1fb
mov esi, eax
test esi, esi
je 0x4bd5cb
cmp dword [esi + 8], 2
jl 0x4bd534
mov eax, dword [esi + 4]
mov ecx, dword [esi]
push dword [ecx + eax*4 + 4]
call sub.MSVCRT.dll__wtoi
pop ecx
mov ebx, eax
jmp 0x4bd539
mov ebx, 0x100
mov eax, dword [esi + 8]
cmp eax, 3
jl 0x4bd54c
mov ecx, dword [esi + 4]
mov edx, dword [esi]
mov edi, dword [edx + ecx*4 + 8]
jmp 0x4bd54e
xor edi, edi
cmp eax, 4
jl 0x4bd574
cmp byte [0x54aed0], 0
je 0x4bd574
mov eax, dword [esi + 4]
mov ecx, dword [esi]
push dword [ecx + eax*4 + 0xc]
call sub.MSVCRT.dll__wtol
pop ecx
mov edx, eax
mov cl, 1
call fcn.004b91be
mov eax, dword [esi + 8]
cmp eax, 4
jle 0x4bd57f
push 4
pop eax
mov dword [esi + 0x14], eax
mov ecx, edi
test edi, edi
jne 0x4bd58d
mov ecx, 0x4f1b50
mov eax, ebx
push ecx
or eax, 0x80
push eax
push str.INSTALLDEBUG:__PERFORMINSTALL_with_flags___d__and_path___s__n
call fcn.004448e5
mov edx, dword [ebp + 0x7c]
mov ecx, dword [ebp + 0x58]
add esp, 0xc
push edi
push eax
lea eax, [ebp + 0x6a]
push eax
push dword [ebp + 0x5c]
mov byte [ebp + 0x73], 1
call fcn.00464e7c
test al, al
je 0x4bd5c6
mov dword [ebp + 0x64], 1
call fcn.00444fd3
push str.BRINGTOFRONT
lea ecx, [ebp + 0x20]
call fcn.0046b1fb
test eax, eax
je 0x4bd5e0
mov byte [ebp + 0x62], 1
cmp byte [ebp + 0x73], 0
je 0x4bd5f3
call fcn.0045dd60
push dword [ebp + 0x64]
jmp 0x4bcb9a
push str.STARTAPP
lea ecx, [ebp + 0x20]
call fcn.0046b1fb
mov esi, eax
test esi, esi
je 0x4bd62b
push 2
pop edi
cmp dword [esi + 8], edi
jl 0x4bd62b
mov eax, dword [esi + 4]
mov ecx, dword [esi]
mov ecx, dword [ecx + eax*4 + 4]
call fcn.0048c271
mov edx, eax
mov ecx, 0x54bbb4
call fcn.0048da28
mov dword [esi + 0x14], edi
mov eax, dword [ebp + 0x28]
mov dword [ebp + 0x1c], eax
test eax, eax
je 0x4bd66a
mov edi, dword [eax + 0x14]
lea esi, [eax + 8]
mov ecx, dword [esi]
cmp edi, ecx
jge 0x4bd66a
lea ebx, [eax + 4]
mov eax, dword [ebx]
mov ecx, dword [ebp + 0x1c]
mov ecx, dword [ecx]
add eax, edi
mov eax, dword [ecx + eax*4]
push 4
mov dword [ebp + 0x64], eax
push 1
lea eax, [ebp + 0x64]
push eax
mov ecx, 0x54bc24
call fcn.0048ebd1
inc edi
cmp edi, dword [esi]
jl 0x4bd644
lea ecx, [ebp - 0x20]
call fcn.004bc854
mov cl, byte [ebp + 0x5c]
lea eax, [ebp - 0x20]
push eax
lea edx, [ebp + 0x6a]
call fcn.004bc297
test al, al
jne 0x4bd68c
push 0
jmp 0x4bcb9a
xor ebx, ebx
push ebx
call dword [sym.imp.USER32.dll_GetDC]
mov esi, eax
push 0x58
push esi
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push 0x60
pop ecx
cmp eax, ecx
mov dword [0x54aee8], eax
jg 0x4bd6b2
mov dword [0x54aee8], ecx
push esi
push ebx
call dword [sym.imp.USER32.dll_ReleaseDC]
call fcn.004b5cc0
call fcn.00444f6f
call fcn.00461886
cmp dword [0x54b008], 2
je 0x4bd6e1
call fcn.004b9939
test al, al
jne 0x4bd6e1
push ebx
jmp 0x4bcb9a
call fcn.004b4a18
or al, byte [ebp + 0x69]
jne 0x4bd7d3
push ebx
push ebx
mov edx, dword [ebp + 0x7c]
mov ecx, dword [ebp + 0x58]
lea eax, [ebp + 0x6a]
push eax
push dword [ebp + 0x5c]
call fcn.00464e7c
test al, al
jne 0x4bd6db
mov ecx, str.temp
call fcn.00488a27
push eax
lea ecx, [ebp + 0x3c]
call fcn.0048ea75
lea ecx, [ebp + 0x3c]
call fcn.0048ea50
mov ecx, eax
call fcn.004b5fa1
mov cl, byte [0x54afdc]
call fcn.004b5b53
mov ecx, 0x54aef8
push ecx
call fcn.004448e5
add esp, 4
call fcn.0048c271
push eax
call fcn.004448e5
mov dword [esp], 0x682f
push ebx
push 1
push 3
call fcn.004448e5
mov dl, byte [ebp + 0x63]
mov cl, byte [ebp + 0x5c]
add esp, 0x10
call fcn.004b5f69
lea ecx, [ebp + 0x20]
call fcn.0046b249
call fcn.0046235d
push 0xe
pop edi
test al, al
je 0x4bd786
mov dword [0x54b1e0], edi
call fcn.004b4abf
mov byte [0x54aed2], al
call fcn.00488395
cmp byte [0x54b147], 0
je 0x4bd7b9
xor ecx, ecx
call fcn.00443251
test eax, eax
je 0x4bd7b9
call fcn.004a3d7e
mov dword [0x54aee0], eax
mov dword [0x54aee4], edx
call fcn.0046e5c1
push 0x3c
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
pop ecx
cmp eax, ebx
je 0x4bd7e8
mov ecx, eax
call fcn.0040798a
jmp 0x4bd7ea
cmp byte [ebp + 0x6b], 0
je 0x4bd707
push ebx
push 0x10000
jmp 0x4bd6f1
xor eax, eax
mov esi, dword [sym.imp.KERNEL32.DLL_InterlockedIncrement]
mov dword [0x549ad0], eax
add eax, 4
push eax
call esi
mov ecx, dword [0x549ad0]
call fcn.0046f980
push 0x3c
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
pop ecx
cmp eax, ebx
je 0x4bd81b
mov ecx, eax
call fcn.0040798a
jmp 0x4bd81d
xor eax, eax
mov dword [0x549ad4], eax
add eax, 4
push eax
call esi
mov ecx, dword [0x549ad4]
call fcn.0046f980
push 0x3c
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
pop ecx
cmp eax, ebx
je 0x4bd848
mov ecx, eax
call fcn.0040798a
jmp 0x4bd84a
xor eax, eax
mov dword [0x549acc], eax
add eax, 4
push eax
call esi
mov ecx, dword [0x549acc]
call fcn.0046f980
call fcn.0046e5dd
cmp byte [0x54b1a3], 0
je 0x4bd874
mov dword [0x54b078], ebx
call fcn.00489a4a
mov byte [0x5499b0], al
call fcn.004894d3
mov eax, dword [0x54b9b0]
mov esi, 0x621682f
cmp eax, ebx
je 0x4bd89f
cmp eax, esi
je 0x4bd8b2
call fcn.00488c90
mov eax, dword [0x54b9b0]
cmp eax, esi
je 0x4bd8b2
cmp byte [0x54b192], 0
je 0x4bd8b2
mov dword [0x54b1e0], edi
cmp eax, ebx
jne 0x4bd8c5
cmp dword [0x549784], ebx
je 0x4bd8c9
mov byte [0x54b192], 1
cmp eax, esi
je 0x4bd8ce
call fcn.004b60d6
and dword [0x545154], 0xbfffffff
mov dword [0x54b9b0], esi
call fcn.00493ac7
mov cl, 1
call fcn.004b6049
lea eax, [ebp + 0x7c]
push eax
mov ecx, 0x549bcc
call fcn.00404618
mov ecx, dword [ebp + 0x7c]
call fcn.004396bb
call fcn.00463f71
call fcn.00481c60
cmp dword [0x54b008], 1
je 0x4bd91d
xor dl, dl
lea ecx, [ebp + 0x7c]
call fcn.004b6866
cmp dword [0x54b064], ebx
jne 0x4bd92a
call fcn.0045ed2f
call fcn.0049b5a7
mov esi, eax
cmp esi, 1
je 0x4bd940
cmp esi, 5
je 0x4bd940
cmp esi, 4
jne 0x4bd950
push str.valid_plus_key__but_not_activated._Attempting_activation...
call fcn.0041ffc1
pop ecx
call fcn.0049ba8a
cmp esi, ebx
je 0x4bd959
cmp esi, 1
jne 0x4bd9b3
call fcn.00402152
test al, al
jne 0x4bd979
cmp byte [0x54bc10], al
je 0x4bd979
mov edx, 0x509314
mov ecx, str._get_av
call fcn.0043e345
mov ecx, str.CF59774A_CE9D_454D_AF29_1556367E1AC7
call fcn.004900c1
test al, al
jne 0x4bd996
mov edx, str.transcode.btinstall
mov ecx, str._get_codecs
call fcn.0043e345
mov ecx, str.E3DC5C2B_082C_4800_8C52_B9F655B94D2C
call fcn.004900c1
test al, al
jne 0x4bd9b3
mov edx, str.player.btinstall
mov ecx, str._get_player
call fcn.0043e345
lea ecx, [ebp - 0x344]
call fcn.004b82c1
lea ecx, [ebp - 0x344]
call fcn.004b797a
push ebx
xor edx, edx
mov ecx, 0x493aab
call fcn.004a3130
call fcn.0046235d
test al, al
je 0x4bd9e4
call fcn.0046237b
push 0xa18
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
pop ecx
cmp eax, ebx
je 0x4bda07
push dword [0x54b004]
mov ecx, eax
call fcn.0043f16f
mov dword [0x54aef0], eax
jmp 0x4bda0d
mov dword [0x54aef0], ebx
mov eax, dword [0x54bb40]
cmp eax, ebx
je 0x4bda38
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
cmp cx, bx
jne 0x4bda19
sub eax, edx
sar eax, 1
je 0x4bda38
mov edx, 0x54bb40
mov ecx, 0x54b974
call fcn.0048c187
cmp byte [ebp + 0x62], 0
je 0x4bda52
cmp dword [0x54b008], ebx
je 0x4bda52
push dword [ebp - 0x340]
call dword [sym.imp.USER32.dll_SetForegroundWindow]
call fcn.004662b6
test al, al
je 0x4bda66
push str.IPv6_is_installed
call fcn.0041ffc1
pop ecx
call fcn.0046e5c1
lea ecx, [ebp - 0x38]
call fcn.00492475
test al, al
je 0x4bda90
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x38]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push str.Got_Teredo_Address:__V
movsd dword es:[edi], dword [esi]
call fcn.0041ffc1
add esp, 0x14
call fcn.0047ce1c
call fcn.0046e5dd
call fcn.004448e5
xor edx, edx
mov ecx, 0x119
call fcn.004b4b08
cmp byte [0x54aed1], 0
jne 0x4bdadf
cmp byte [0x548881], 0
jne 0x4bdadf
mov al, byte [0x54b120]
mov cl, al
and cl, 1
shr al, 2
movzx ecx, cl
and al, 1
movzx eax, al
push ecx
mov ecx, dword [0x54b000]
push eax
call fcn.004b9691
mov ecx, 0x548878
call fcn.004676ee
call fcn.004448e5
lea ecx, [ebp - 8]
call fcn.0046e84d
lea ecx, [ebp - 0x14]
call fcn.00439b37
call fcn.004448e5
jmp 0x4bd6db