Function at 0x405000
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x135c
call fcn.00414f30
mov eax, dword [0x429460]
xor eax, esp
mov dword [esp + 0x1358], eax
push ebx
mov ebx, dword [ebp + 0x10]
lea eax, [esp + 0x258]
push esi
mov esi, dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
push edi
mov edi, dword [ebp + 8]
push 0
push 0
push 0x100
push eax
push 0xffffffffffffffff
push str.1.0.11
push 0
push 0
call esi
cmp byte [esp + 0x260], 0
jne 0x405059
xor ecx, ecx
jmp 0x40506c
lea ecx, [esp + 0x260]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x405063
sub ecx, edx
push ecx
lea eax, [esp + 0x264]
mov ecx, 0x42ccb8
push eax
call fcn.00401a60
cmp byte [str.utm_sourceoffergatecpiutm_campaign6utm_mediummlutm_site1379utm_clickidproductid_253D46_2526sourceid_253D1379_2526partnerid_253D6_2526landingid_253D229_2526site_253D10torrent.net_2526version_253D2utm_ntbpack9landingl5], 0
jne 0x40508c
xor ecx, ecx
jmp 0x40509d
mov ecx, str.utm_sourceoffergatecpiutm_campaign6utm_mediummlutm_site1379utm_clickidproductid_253D46_2526sourceid_253D1379_2526partnerid_253D6_2526landingid_253D229_2526site_253D10torrent.net_2526version_253D2utm_ntbpack9landingl5
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x405094
sub ecx, edx
push ecx
push str.utm_sourceoffergatecpiutm_campaign6utm_mediummlutm_site1379utm_clickidproductid_253D46_2526sourceid_253D1379_2526partnerid_253D6_2526landingid_253D229_2526site_253D10torrent.net_2526version_253D2utm_ntbpack9landingl5
mov ecx, 0x42ccd0
call fcn.00401a60
call fcn.00404de0
test al, al
jne 0x4050bb
call fcn.00404cb0
cmp dword [0x42cc94], 8
lea ecx, [esp + 0x160]
push 0
push 0
push 0x100
push ecx
push 0xffffffffffffffff
mov eax, 0x42cc80
cmovae eax, dword [0x42cc80]
push eax
push 0
push 0
call esi
cmp byte [esp + 0x160], 0
jne 0x4050f6
xor ecx, ecx
jmp 0x405109
lea ecx, [esp + 0x160]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x405100
sub ecx, edx
push ecx
lea eax, [esp + 0x164]
mov ecx, 0x42cce8
push eax
call fcn.00401a60
push ecx
push ebx
call fcn.004021f0
push str.update
call fcn.004029f0
test al, al
lea eax, [esp + 0x360]
push 0x1000
setne bl
push 0
push eax
mov byte [0x42e0fb], bl
call fcn.00414f60
add esp, 0xc
mov dword [esp + 0x5c], 0xf
mov dword [esp + 0x58], 0
mov byte [esp + 0x48], 0
test bl, bl
jne 0x405256
call fcn.004049e0
lea eax, [esp + 0x360]
xor edx, edx
push eax
push 0
xor ecx, ecx
call fcn.0040ab80
lea ecx, [esp + 0x368]
add esp, 8
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x405191
sub ecx, edx
je 0x405256
mov byte [esp + 0x30], al
xor eax, eax
cmp byte [esp + 0x360], al
mov dword [esp + 0x44], 0xf
cmove ecx, eax
mov dword [esp + 0x40], 0
push ecx
lea eax, [esp + 0x364]
push eax
lea ecx, [esp + 0x38]
call fcn.00401a60
cmp dword [esp + 0x44], 0x10
lea eax, [esp + 0x60]
lea ecx, [esp + 0x30]
cmovae ecx, dword [esp + 0x30]
push eax
call fcn.0040d060
add esp, 4
test eax, eax
je 0x405243
cmp dword [eax], 0
jne 0x405243
lea ecx, [eax + 8]
mov edx, str.easy_install
call fcn.0040dbc0
test eax, eax
je 0x405243
cmp dword [eax], 2
jne 0x405243
push dword [eax + 8]
lea ecx, [esp + 0x4c]
call fcn.00406d70
mov edx, 0x42523c
lea ecx, [esp + 0x48]
call fcn.00406db0
test al, al
jne 0x40523c
mov edx, str.TRUE
lea ecx, [esp + 0x48]
call fcn.00406db0
test al, al
je 0x405243
mov byte [0x42e0f8], 1
cmp dword [esp + 0x44], 0x10
jb 0x405256
push dword [esp + 0x30]
call fcn.0040dff7
add esp, 4
push str.silent
call fcn.004029f0
test al, al
je 0x405286
lea eax, [esp + 0x2c]
push eax
push 0
push 0
push 0x4056f0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [0x42e0f4], eax
jmp 0x40532b
mov esi, dword [sym.imp.USER32.dll_LoadStringW]
push 0x64
push 0x42e028
push 0x67
push edi
call esi
push 0x64
push 0x42df60
push 0x6d
push edi
call esi
mov ecx, edi
call fcn.00405380
mov edx, dword [ebp + 0x14]
mov ecx, edi
call fcn.00405410
test eax, eax
je 0x40534e
push 0x6d
push edi
call dword [sym.imp.USER32.dll_LoadAcceleratorsW]
mov esi, dword [sym.imp.USER32.dll_GetMessageW]
push 0
push 0
mov dword [esp + 0x34], eax
lea eax, [esp + 0x18]
push 0
push eax
call esi
test eax, eax
je 0x405326
mov edi, dword [sym.imp.USER32.dll_TranslateMessage]
mov ebx, dword [sym.imp.USER32.dll_DispatchMessageW]
lea ecx, [ecx]
lea eax, [esp + 0x10]
push eax
push dword [esp + 0x30]
push dword [esp + 0x18]
call dword [sym.imp.USER32.dll_TranslateAcceleratorW]
test eax, eax
jne 0x405315
lea eax, [esp + 0x10]
push eax
call edi
lea eax, [esp + 0x10]
push eax
call ebx
push 0
push 0
push 0
lea eax, [esp + 0x1c]
push eax
call esi
test eax, eax
jne 0x4052f0
mov eax, dword [0x42e0f4]
test eax, eax
je 0x40534e
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push dword [0x42e0f4]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [0x42e0f4], 0
cmp dword [esp + 0x5c], 0x10
jb 0x405361
push dword [esp + 0x48]
call fcn.0040dff7
add esp, 4
mov ecx, dword [esp + 0x1364]
xor eax, eax
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0040dfe8
mov esp, ebp
pop ebp
ret 0x10