Function at 0x403d43
Capabilities:
Delete file

Disassembly:
mov eax, 0x433f6e
call fcn.0041c8ac
sub esp, 0x860
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
lea eax, [ebp - 0x18]
push eax
xor ebx, ebx
push 0x436154
push ebx
mov esi, ecx
mov dword [ebp - 0x18], ebx
mov byte [edi], bl
call fcn.0041911d
push dword [ebp + 0xc]
push edi
call fcn.004114c8
add esp, 0x14
test eax, eax
je 0x403d96
cmp dword [esi + 0x1878], ebx
je 0x403d8f
cmp dword [ebp - 0x18], 8
jne 0x403d96
xor eax, eax
jmp 0x4040c4
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cmp eax, 2
jl 0x403db6
push edi
call fcn.00410fa1
pop ecx
test eax, eax
jne 0x403db6
mov dword [ebp - 0x10], 4
jmp 0x403dcc
lea eax, [esi + 0x370]
push edi
push eax
mov dword [ebp - 0x10], 2
call fcn.00418c10
pop ecx
pop ecx
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x18], eax
je 0x403de3
push eax
push 0x436164
push ebx
call fcn.00417f13
add esp, 0xc
mov dword [ebp + 0xc], ebx
call fcn.00418011
mov edi, 0x3ff
push edi
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x46b]
push ebx
push eax
mov byte [ebp - 0x46c], bl
call fcn.0041bdb0
push edi
lea eax, [ebp - 0x86b]
push ebx
push eax
mov byte [ebp - 0x86c], bl
call fcn.0041bdb0
add esp, 0x18
cmp dword [ebp - 0x10], 2
mov dword [ebp - 0x14], 0x77
jne 0x403ffc
cmp dword [ebp - 0x1c], ebx
je 0x403ed7
cmp dword [esi + 0x1878], ebx
jne 0x403e6b
push str.Download_Status:_Bef_Stage1_DL__No_Pre
call fcn.00419926
mov eax, dword [esi]
pop ecx
push dword [ebp + 8]
lea edi, [esi + 0x370]
push edi
push esi
call dword [eax + 0x14]
push str.Download_Status:_Aft_Stage1_DL__No_Pre
mov dword [ebp + 0xc], eax
call fcn.00419926
pop ecx
jmp 0x403ec9
push ebx
lea ecx, [ebp - 0x6c]
call fcn.00403acd
mov ecx, dword [ebp + 8]
xor eax, eax
inc eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x4c]
push ebx
lea edi, [esi + 0x370]
push eax
mov dword [ebp - 4], ebx
mov dword [ebp - 0x64], edi
mov dword [ebp - 0x58], ecx
call fcn.00411525
push str.Download_Status:_Bef_Stage1_PreDL
call fcn.00419926
add esp, 0xc
lea eax, [ebp - 0x6c]
push eax
call fcn.0040209e
push str.Download_Status:_Aft_Stage1_PreDL
mov dword [ebp + 0xc], eax
call fcn.00419926
or dword [ebp - 4], 0xffffffff
pop ecx
lea ecx, [ebp - 0x6c]
call fcn.00403c12
cmp dword [ebp + 0xc], ebx
jge 0x403f0e
cmp dword [ebp + 0xc], 0x80070200
jne 0x403f09
push str.Using_Sync_download
call fcn.0041866b
mov eax, dword [esi]
pop ecx
xor ecx, ecx
cmp dword [esi + 0x1878], ebx
lea edi, [esi + 0x370]
sete cl
push ecx
push 1
push dword [ebp + 8]
push edi
push esi
call dword [eax + 0x1c]
mov dword [ebp + 0xc], eax
mov dword [esi + 0x1878], ebx
cmp dword [ebp + 0xc], ebx
jl 0x403f82
push dword [ebp + 8]
push 0x436220
push ebx
call fcn.00417e71
lea eax, [esi + 0x1778]
add esp, 0xc
mov dword [ebp - 0x10], 8
cmp byte [eax], bl
je 0x403f47
push 0x20
push 0x800c
push eax
push dword [ebp + 8]
call fcn.00410f51
add esp, 0x10
test eax, eax
je 0x403f69
push edi
push dword [ebp + 8]
call fcn.00411476
pop ecx
pop ecx
mov dword [ebp - 0x14], eax
cmp eax, ebx
je 0x403fe3
mov dword [ebp - 0x14], 0x88
cmp eax, 0xfffffffc
je 0x403f70
mov dword [ebp - 0x14], 0x74
push str.Download_Status:_Verification_of_Installer_failed
mov dword [ebp + 0xc], 0x80004005
call fcn.00419926
pop ecx
call fcn.0041a4ea
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
cmp dword [esi + 0x1880], ebx
je 0x4040b6
mov esi, dword [sym.imp.USER32.dll_LoadStringA]
push 0x400
lea eax, [ebp - 0x46c]
push eax
push dword [ebp - 0x14]
push dword [0x4480d8]
call esi
push 0x104
push dword [ebp + 8]
push 0x72
push dword [0x4480d8]
call esi
push 0x10
push dword [ebp + 8]
lea eax, [ebp - 0x46c]
push eax
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x4040c1
cmp dword [esi + 0x1878], ebx
je 0x403ff7
cmp dword [ebp - 0x1c], ebx
je 0x403ff7
mov dword [ebp - 0x10], 4
cmp dword [ebp + 0xc], ebx
jl 0x403f82
cmp dword [ebp - 0x10], 4
jne 0x404091
push str.Download_Status:_Bef_Stage2_PreDL
call fcn.00419926
push 4
push 0x436288
push ebx
call fcn.00417f13
push dword [ebp + 8]
mov edi, 0x400
push 0x436298
push 0xffffffffffffffff
lea eax, [ebp - 0x86c]
push edi
push eax
call fcn.0041becc
lea eax, [esi + 0xbf0]
push eax
push str.__download
lea eax, [ebp - 0x86c]
push eax
push str.__s___s__s
push 0xffffffffffffffff
lea eax, [ebp - 0x46c]
push edi
push eax
call fcn.0041becc
add esp, 0x40
push 1
lea eax, [ebp - 0x46c]
push eax
lea eax, [ebp - 0x86c]
push eax
mov ecx, esi
mov dword [ebp - 0x14], 0x77
call fcn.00403469
test eax, eax
jne 0x40408a
mov dword [ebp + 0xc], ebx
jmp 0x40409a
mov dword [ebp + 0xc], 0x80004005
cmp dword [ebp + 0xc], ebx
jl 0x403f82
push 8
push 0x4362b4
push ebx
call fcn.00417f13
push str.Download_Status:_Stage2_PreDL_Success
call fcn.00419926
add esp, 0x10
jmp 0x4040c1
push str.Download_Status:_Stage2_PreDL_Failed
call fcn.00419926
pop ecx
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret 8