Function at 0x4135cb
Capabilities:
Delete file

Disassembly:
push ebp
lea ebp, [esp - 0x45c]
sub esp, 0x4dc
mov eax, dword [0x4806f0]
xor eax, ebp
mov dword [ebp + 0x458], eax
push ebx
push esi
xor ebx, ebx
push edi
mov esi, ecx
mov dword [ebp + 0x54], ebx
call fcn.0040e0cc
test eax, eax
je 0x413a6f
cmp dword [esi + 0x2d4], ebx
je 0x413a6f
mov eax, dword [esi + 0x2c8]
mov dword [esi + 0x29c], ebx
mov dword [esi + 0x2a0], ebx
mov dword [esi + 0x2a4], ebx
mov edi, dword [eax + 8]
lea ecx, [esi + 0x2c4]
call fcn.00430130
lea ecx, [ebp - 0x50]
call fcn.0040bf97
lea eax, [ebp - 0x50]
mov dword [esi + 0x388], eax
lea eax, [esi + 0x98]
push eax
lea ecx, [ebp + 0xc]
mov dword [esi + 0x38c], edi
call fcn.0042f130
push ebx
lea eax, [ebp + 0xc]
push eax
lea ecx, [ebp - 0x1c]
call fcn.0040ca75
lea ecx, [ebp + 0xc]
call fcn.0042f1e0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea ebx, [edi + 0x64]
mov dword [edi + 0x28], eax
cmp byte [ebx + 7], 0xff
mov eax, dword [esi + 0x28]
mov ecx, ebx
jne 0x413683
mov ecx, dword [ebx]
xor edx, edx
test eax, eax
push 0
setne dl
lea eax, [ebp - 0x1c]
push edx
push dword [esi + 0x77c]
push edi
push ecx
push eax
push esi
push esi
lea ecx, [ebp - 0x50]
call fcn.0040c264
mov dword [ebp + 0x50], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [edi + 0x2c], eax
xor eax, eax
mov dword [esi + 0x388], eax
mov dword [esi + 0x38c], eax
cmp dword [edi + 4], eax
jne 0x4136cb
cmp dword [esi + 0x2c], eax
jne 0x413940
push 0x3ff
push eax
lea eax, [ebp + 0x59]
push eax
mov byte [ebp + 0x58], 0
call fcn.0044f280
lea eax, [edi + 0xa4]
add esp, 0xc
cmp byte [eax + 7], 0xff
jne 0x4136ef
mov eax, dword [eax]
cmp byte [ebx + 7], 0xff
jne 0x4136f7
mov ebx, dword [ebx]
lea ecx, [edi + 0x3c]
cmp byte [ecx + 7], 0xff
mov dword [ebp + 0x2c], ecx
jne 0x413705
mov ecx, dword [ecx]
push eax
push dword [ebp - 0x44]
lea eax, [ebp + 0x58]
push ebx
push ecx
push str.Package_URL___s____s__Status_Code___d__Launch___s
push eax
call fcn.0044fbcf
add esp, 0x18
lea eax, [ebp + 0x58]
push eax
lea ecx, [ebp + 0x14]
call fcn.0042f200
lea eax, [ebp + 0x14]
push eax
mov ecx, esi
call fcn.0040da11
lea ecx, [ebp + 0x14]
call fcn.0042f1e0
xor ebx, ebx
cmp dword [ebp + 0x50], ebx
jl 0x41395e
cmp dword [ebp - 0x3c], ebx
je 0x413940
lea eax, [ebp - 0xc]
push eax
lea ecx, [ebp + 0x1c]
call fcn.0042f130
lea eax, [ebp + 0x1c]
lea ecx, [edi + 0x74]
push eax
call fcn.0042f220
lea ecx, [ebp + 0x1c]
call fcn.0042f1e0
lea eax, [ebp - 0xc]
push eax
lea ecx, [ebp + 0x24]
call fcn.0042f130
lea eax, [ebp + 0x24]
push eax
lea ecx, [ebp - 0x80]
call fcn.00437f60
lea ecx, [ebp + 0x24]
call fcn.0042f1e0
or dword [ebp + 0x54], 1
lea eax, [ebp + 0x38]
push eax
lea ecx, [ebp - 0x80]
call fcn.00437ef0
cmp byte [eax + 7], 0xff
jne 0x4137a7
mov eax, dword [eax]
push 0x47300c
push eax
call fcn.0044ebc0
pop ecx
pop ecx
test eax, eax
je 0x4137e5
or dword [ebp + 0x54], 2
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0x80]
call fcn.00437ef0
cmp byte [eax + 7], 0xff
jne 0x4137d0
mov eax, dword [eax]
push 0x473038
push eax
call fcn.0044ebc0
pop ecx
pop ecx
test eax, eax
je 0x4137e5
xor bl, bl
jmp 0x4137e7
mov bl, 1
test byte [ebp + 0x54], 2
je 0x4137f9
and dword [ebp + 0x54], 0xfffffffd
lea ecx, [ebp - 0x24]
call fcn.0042f1e0
test byte [ebp + 0x54], 1
je 0x41380b
and dword [ebp + 0x54], 0xfffffffe
lea ecx, [ebp + 0x38]
call fcn.0042f1e0
test bl, bl
je 0x4138bf
lea ecx, [edi + 0x6c]
call fcn.00401005
test al, al
jne 0x4139ef
lea eax, [esi + 0x98]
push eax
lea ecx, [ebp + 0x48]
lea ebx, [esi + 4]
call fcn.0042f130
cmp byte [ebp + 0x4f], 0xff
lea eax, [ebp + 0x48]
jne 0x413841
mov eax, dword [ebp + 0x48]
mov dword [ebp + 0x50], eax
lea eax, [ebp - 0xc]
push eax
lea ecx, [ebp + 0x30]
call fcn.0042f130
cmp byte [ebp + 0x37], 0xff
lea eax, [ebp + 0x30]
jne 0x41385c
mov eax, dword [ebp + 0x30]
push dword [ebp + 0x50]
push eax
push ebx
call fcn.0040d1f0
add esp, 0xc
lea ecx, [ebp + 0x30]
mov ebx, eax
call fcn.0042f1e0
lea ecx, [ebp + 0x48]
call fcn.0042f1e0
test ebx, ebx
jl 0x4139ef
lea eax, [esi + 0x98]
push eax
lea ecx, [ebp + 4]
call fcn.0042f130
lea eax, [edi + 0x6c]
push eax
lea eax, [ebp + 4]
push eax
lea eax, [ebp + 0x40]
push eax
call fcn.0042f950
add esp, 0xc
push eax
lea ecx, [edi + 0x74]
call fcn.0042f220
lea ecx, [ebp + 0x40]
call fcn.0042f1e0
lea ecx, [ebp + 4]
call fcn.0042f1e0
lea ebx, [edi + 0x74]
mov dword [edi + 0xc], 1
cmp byte [ebx + 7], 0xff
mov eax, ebx
jne 0x4138d3
mov eax, dword [ebx]
push 0
push eax
call fcn.00401bf8
mov dword [edi + 0x24], eax
add edi, 0x4c
cmp byte [edi + 7], 0xff
pop ecx
pop ecx
jne 0x4138eb
mov edi, dword [edi]
push str.main
push edi
call fcn.0044ebc0
pop ecx
pop ecx
test eax, eax
jne 0x413911
mov eax, dword [ebp - 0x40]
push ebx
lea ecx, [esi + 0xa0]
mov dword [esi + 0x220], eax
call fcn.0042f220
lea edi, [esi + 0x2ac]
mov ecx, edi
call fcn.00401005
test al, al
jne 0x41392e
push 0x47396c
mov ecx, edi
call fcn.0042f630
push dword [ebp + 0x2c]
mov ecx, edi
call fcn.0042f690
lea ecx, [ebp - 0x80]
call fcn.00437fa0
lea ecx, [ebp - 0x1c]
call fcn.0040caa8
lea ecx, [ebp - 0x50]
call fcn.0040c243
mov ecx, esi
call fcn.0040e0cc
xor ebx, ebx
jmp 0x4135f5
cmp dword [esi + 0x30], ebx
jne 0x4139cf
lea ecx, [esi + 0x110]
call fcn.00401005
add edi, 0x3c
push ebx
test al, al
jne 0x413983
push str._missing
push edi
push str.actionerrorvaluelocal_
jmp 0x41399e
cmp dword [ebp + 0x50], 0x800705b4
jne 0x413993
push 0x473d20
jmp 0x413998
push str._missing
push edi
push str.actionerrorvalue
lea eax, [ebp + 0x38]
push eax
call fcn.0042fa40
add esp, 0xc
push eax
lea eax, [ebp + 0x40]
push eax
call fcn.0042f9d0
add esp, 0xc
push eax
mov ecx, esi
call fcn.004118f7
lea ecx, [ebp + 0x40]
call fcn.0042f1e0
lea ecx, [ebp + 0x38]
call fcn.0042f1e0
lea ecx, [esi + 0x22c]
call fcn.0040b6f1
lea ecx, [ebp - 0x1c]
call fcn.0040caa8
lea ecx, [ebp - 0x50]
call fcn.0040c243
jmp 0x413a99
lea eax, [ebp - 0xc]
push eax
lea ecx, [ebp + 0x48]
call fcn.0042f130
cmp byte [ebp + 0x4f], 0xff
lea eax, [ebp + 0x48]
jne 0x413a07
mov eax, dword [ebp + 0x48]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea ecx, [ebp + 0x48]
call fcn.0042f1e0
push 0
push str._invalid
add edi, 0x3c
push edi
lea eax, [ebp + 0x38]
push str.actionerrorvalue
push eax
call fcn.0042fa40
add esp, 0xc
push eax
lea eax, [ebp + 0x40]
push eax
call fcn.0042f9d0
add esp, 0xc
push eax
mov ecx, esi
call fcn.004118f7
lea ecx, [ebp + 0x40]
call fcn.0042f1e0
lea ecx, [ebp + 0x38]
call fcn.0042f1e0
lea ecx, [esi + 0x22c]
call fcn.0040b6f1
lea ecx, [ebp - 0x80]
call fcn.00437fa0
jmp 0x4139da
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esi + 0x2b8], eax
jmp 0x413a88
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [esi + 0x34], ebx
jne 0x413a7d
cmp dword [esi + 0x30], ebx
jne 0x413a99
mov dword [esi + 0x3c], 1
mov ecx, dword [ebp + 0x458]
pop edi
pop esi
xor ecx, ebp
xor eax, eax
pop ebx
call fcn.0044f6e0
add ebp, 0x45c
leave
ret