Function at 0x4081b0
Capabilities:
Delete file
Move file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x854
mov eax, dword [0x436008]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, ecx
push esi
push edi
test ebx, ebx
je 0x4083c6
mov eax, dword [ebx + 0x60]
mov ecx, dword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll__stat64i32]
mov dword [ebp - 0x844], 0
test eax, eax
je 0x408283
lea edx, [ebp - 0x838]
push edx
push eax
call ecx
add esp, 8
test eax, eax
jns 0x408209
mov ecx, dword [ebx + 0x60]
mov edx, 0x1ed
call fcn.004050f0
mov ecx, dword [ebx + 0x60]
lea edx, [ebp - 0x408]
sub edx, ecx
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx - 1], al
test al, al
jne 0x408214
mov edx, 0x43a85c
mov esi, edx
mov al, byte [edx]
inc edx
test al, al
jne 0x408228
lea edi, [ebp - 0x408]
sub edx, esi
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x408238
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov edx, 0x43a860
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, edx
mov al, byte [edx]
inc edx
test al, al
jne 0x408255
lea edi, [ebp - 0x408]
sub edx, esi
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x408265
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll__stat64i32]
jmp 0x40829e
movq xmm0, qword [str.version.xml]
mov eax, dword [0x43a874]
movq qword [ebp - 0x408], xmm0
mov dword [ebp - 0x400], eax
lea eax, [ebp - 0x838]
push eax
lea eax, [ebp - 0x408]
push eax
call ecx
add esp, 8
test eax, eax
jns 0x40836f
xor ecx, ecx
nop dword [eax + eax]
mov al, byte [ebp + ecx - 0x408]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x809], al
test al, al
jne 0x4082c0
mov edx, 0x43a878
mov esi, edx
nop dword [eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x4082e0
lea edi, [ebp - 0x808]
sub edx, esi
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4082f0
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea edx, [ebp - 0x808]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push 0
mov ecx, str.http:__itunes.apple.com_check_version
call fcn.004062b0
add esp, 4
test eax, eax
jne 0x408379
lea eax, [ebp - 0x408]
push eax
call dword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll_remove]
add esp, 4
lea eax, [ebp - 0x408]
push eax
lea eax, [ebp - 0x808]
push eax
call dword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll_rename]
add esp, 8
test eax, eax
jns 0x408360
lea eax, [ebp - 0x408]
push eax
push str.ERROR:_Could_not_update__s_n
call fcn.00404d10
add esp, 8
jmp 0x408379
push str.NOTE:_Updated_version_data._n
call fcn.00404cb0
add esp, 4
jmp 0x408379
mov dword [ebp - 0x844], 1
lea eax, [ebp - 0x840]
mov dword [ebp - 0x83c], 0
push eax
lea edx, [ebp - 0x83c]
mov dword [ebp - 0x840], 0
lea ecx, [ebp - 0x408]
call fcn.00404e80
mov edi, dword [ebp - 0x83c]
add esp, 4
test edi, edi
jne 0x4083da
lea eax, [ebp - 0x408]
push eax
push str.ERROR:_Could_not_load__s_n
call fcn.00404d10
add esp, 8
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042eb3e
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x840]
mov dword [ebx + 0xc], 0
test eax, eax
je 0x408413
add eax, edi
mov dword [ebp - 0x850], edi
lea edx, [ebx + 0xc]
mov dword [ebp - 0x84c], eax
lea ecx, [ebp - 0x850]
mov dword [ebp - 0x848], 0
call fcn.00426670
jmp 0x40841a
mov dword [ebx + 0xc], 0
push edi
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
cmp dword [ebx + 0xc], 0
jne 0x408462
lea eax, [ebp - 0x408]
push eax
call dword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll_remove]
add esp, 4
lea eax, [ebp - 0x408]
push eax
push str.ERROR:_Cannot_parse_plist_data_from__s._n
call fcn.00404d10
add esp, 8
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042eb3e
mov esp, ebp
pop ebp
ret
cmp dword [ebp - 0x844], 0
je 0x408478
push str.NOTE:_using_cached_version_data_n
call fcn.00404cb0
add esp, 4
mov ecx, dword [ebp - 4]
xor eax, eax
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0042eb3e
mov esp, ebp
pop ebp
ret