Function at 0x421e9e
Capabilities:
Check for time delay via gettickcount
Delete file

Disassembly:
push 0x94
mov eax, 0x488017
call fcn.00480695
mov eax, dword [0x4b457c]
mov ebx, ecx
mov edi, 0x4b457c
mov ecx, edi
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x40], 1
call dword [eax + 0xc]
add eax, 0x10
mov ecx, edi
lea esi, [ebp - 0x70]
mov dword [ebp - 0x74], eax
call fcn.00402112
mov ecx, edi
lea esi, [ebp - 0x6c]
call fcn.00402112
xor edi, edi
mov dword [ebp - 4], edi
mov dword [ebp - 0x98], edi
mov dword [ebp - 0x94], edi
mov dword [ebp - 0x90], edi
mov dword [ebp - 0x64], edi
mov dword [ebp - 0x60], edi
mov dword [ebp - 0x5c], edi
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x50], edi
mov dword [ebp - 0x4c], edi
mov byte [ebp - 4], 3
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp dword [0x4b4f14], edi
mov dword [ebp - 0xa0], eax
jne 0x422437
push str.updatefailed
call fcn.0042183d
cmp eax, 0x1e
pop ecx
jae 0x422437
cmp dword [0x4b4f54], edi
je 0x421f60
lea eax, [ebp - 0x48]
push eax
call fcn.004604c3
push dword [ebp - 0x48]
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov eax, dword [ebp - 0x48]
add eax, 0xfffffff0
call fcn.0040214e
push 0x498434
call fcn.00412193
pop ecx
lea eax, [ebp - 0x3c]
push eax
call fcn.00423240
mov byte [ebp - 4], 4
mov eax, dword [eax]
lea ecx, [ebx + 8]
push eax
push ecx
mov dword [ebp - 0x48], ecx
call fcn.0045ed6a
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x3c]
add eax, 0xfffffff0
call fcn.0040214e
cmp dword [0x4b4f68], edi
lea ecx, [ebx + 0x12c]
mov dword [ebp - 0x3c], ecx
je 0x421fb9
call fcn.00421542
test eax, eax
je 0x421fda
mov dword [ebx + 0x30], 1
jmp 0x421fda
xor esi, esi
jmp 0x421fd1
cmp esi, 0xa
jge 0x421fda
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [ebp - 0x3c]
inc esi
call fcn.004214d5
test eax, eax
jne 0x421fbd
lea esi, [ebp - 0x34]
mov dword [ebp - 0x28], edi
call fcn.00421424
mov byte [ebp - 4], 5
mov edi, dword [ebp - 0x3c]
lea eax, [ebp - 0x8c]
push eax
add edi, 0x10
call fcn.00401000
mov eax, dword [eax + 8]
mov edi, dword [ebp - 0x3c]
push eax
mov eax, esi
add edi, 8
push eax
mov esi, edi
call fcn.004213a6
lea esi, [ebp - 0x8c]
call fcn.004010bd
mov edi, dword [edi + 4]
test edi, edi
je 0x422028
push edi
call dword [sym.imp.KERNEL32.dll_ResetEvent]
cmp dword [ebp - 0x28], 0
je 0x422037
push dword [ebp - 0x28]
call dword [sym.imp.KERNEL32.dll_LocalFree]
and dword [ebp - 0x28], 0
lea esi, [ebp - 0x34]
call fcn.00421424
mov byte [ebp - 4], 6
mov edi, dword [ebp - 0x3c]
lea eax, [ebp - 0x8c]
push eax
add edi, 0x10
call fcn.00401000
push dword [eax + 4]
mov edi, dword [ebp - 0x3c]
mov eax, esi
push eax
mov esi, edi
call fcn.004213a6
lea esi, [ebp - 0x8c]
call fcn.004010bd
mov eax, dword [edi + 4]
test eax, eax
je 0x422082
push eax
call dword [sym.imp.KERNEL32.dll_SetEvent]
mov byte [ebp - 4], 3
cmp dword [ebp - 0x28], 0
je 0x422095
push dword [ebp - 0x28]
call dword [sym.imp.KERNEL32.dll_LocalFree]
lea esi, [ebp - 0x38]
call fcn.00420e73
mov byte [ebp - 4], 7
mov eax, dword [eax]
lea ecx, [ebx + 0xc]
push eax
push ecx
call fcn.00402394
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x38]
add eax, 0xfffffff0
call fcn.0040214e
mov eax, 0x4b4ffc
lea ecx, [ebp - 0x9c]
call fcn.00421053
xor esi, esi
xor edi, edi
cmp dword [ebp - 0x98], edi
je 0x422131
mov eax, dword [ebp - 0x94]
sub eax, dword [ebp - 0x98]
sar eax, 2
cmp esi, eax
jae 0x422131
lea edi, [ebp - 0x9c]
call fcn.00404080
push dword [eax]
lea eax, [ebp - 0x38]
push eax
call fcn.00402357
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 8
call fcn.0040232d
lea eax, [ebp - 0x38]
push eax
add ebx, 0x10
lea edi, [ebp - 0x80]
call fcn.0041555d
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x38]
add eax, 0xfffffff0
call fcn.0040214e
mov ebx, dword [ebp - 0x44]
inc esi
jmp 0x4220ce
cmp dword [0x4b4ed0], edi
jne 0x422140
mov dword [ebx + 0x48], 1
push dword [ebp - 0x48]
call fcn.0045f8e5
test eax, eax
jne 0x422248
mov esi, str.cs3requestfailed
push esi
call fcn.0042183d
cmp eax, edi
pop ecx
jne 0x422167
push esi
call fcn.004217d6
pop ecx
call fcn.00420d76
test eax, eax
je 0x4221f7
mov dword [ebp - 0x40], edi
and dword [ebp - 0x28], 0
lea esi, [ebp - 0x34]
call fcn.00421424
mov byte [ebp - 4], 0xb
mov edi, dword [ebp - 0x3c]
lea eax, [ebp - 0x8c]
push eax
add edi, 0x10
call fcn.00401000
push dword [eax + 4]
mov edi, dword [ebp - 0x3c]
mov eax, esi
push eax
mov esi, edi
call fcn.004213a6
lea esi, [ebp - 0x8c]
call fcn.004010bd
mov edi, dword [edi + 4]
test edi, edi
je 0x4221c2
push edi
call dword [sym.imp.KERNEL32.dll_ResetEvent]
cmp dword [ebp - 0x28], 0
je 0x4221d1
push dword [ebp - 0x28]
call dword [sym.imp.KERNEL32.dll_LocalFree]
xor edi, edi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp - 0xa0]
mov esi, dword [ebp - 0x54]
cmp esi, edi
mov dword [0x4b4cd0], eax
je 0x422454
mov ebx, dword [ebp - 0x50]
jmp 0x422447
call fcn.0040adf3
push esi
mov edi, eax
call fcn.0042183d
cmp eax, 2
pop ecx
jb 0x42221d
and dword [ebp - 0x40], 0
mov dword [0x4b4f10], 1
jmp 0x422177
push 0x498448
mov dword [ebp - 0x40], 0x10
call fcn.00412193
mov dword [esp], 0x49845c
call fcn.00412193
pop ecx
inc edi
push edi
call fcn.0040ae73
pop ecx
jmp 0x422177
push 0x48f268
push str.cs3requestfailed
call fcn.004218e7
mov eax, dword [ebx + 0x38]
push edi
mov dword [0x4b4f58], eax
call fcn.0040ae73
add esp, 0xc
push dword [ebp - 0x48]
lea ebx, [ebp - 0x58]
call fcn.004601f0
and dword [ebp - 0x38], 0
cmp dword [ebp - 0x54], 0
je 0x422355
mov eax, dword [ebp - 0x50]
sub eax, dword [ebp - 0x54]
push 0x1c
cdq
pop ecx
idiv ecx
cmp dword [ebp - 0x38], eax
jae 0x422355
push dword [ebp - 0x38]
lea esi, [ebp - 0x58]
call fcn.00423694
lea edi, [ebp - 0x74]
call fcn.004024a3
push dword [ebp - 0x38]
call fcn.00423694
add eax, 0x14
lea edi, [ebp - 0x70]
call fcn.004024a3
push dword [ebp - 0x38]
call fcn.00423694
add eax, 0x18
lea edi, [ebp - 0x6c]
call fcn.004024a3
mov ecx, dword [ebp - 0x64]
test ecx, ecx
mov esi, dword [ebp - 0x60]
je 0x422305
mov eax, esi
sub eax, ecx
cdq
push 0xc
pop edi
idiv edi
push 0xc
pop ebx
mov edi, eax
mov eax, dword [ebp - 0x5c]
sub eax, ecx
cdq
idiv ebx
cmp edi, eax
jae 0x422305
lea eax, [ebp - 0x74]
push eax
push 1
push esi
call fcn.00429dd8
mov dword [ebp - 0x60], eax
jmp 0x422324
cmp ecx, esi
jbe 0x42230f
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
push esi
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x7c]
push eax
lea eax, [ebp - 0x68]
call fcn.004236b4
push dword [ebp - 0x38]
lea esi, [ebp - 0x58]
call fcn.00423694
cmp dword [eax + 4], 2
jne 0x42234d
push dword [ebp - 0x38]
call fcn.00423694
mov esi, dword [ebp - 0x44]
add esi, 0x238
mov ebx, eax
call fcn.004224a3
inc dword [ebp - 0x38]
jmp 0x422277
mov edi, dword [ebp - 0x44]
lea eax, [ebp - 0x68]
lea esi, [edi + 0x200]
push eax
push esi
mov dword [ebp - 0x44], esi
call fcn.0042c3e5
mov eax, esi
call fcn.0042d246
test eax, eax
je 0x422177
call fcn.00420d76
test eax, eax
je 0x42238c
and dword [ebp - 0x40], 0
jmp 0x422177
xor ebx, ebx
cmp dword [edi + 0x2c], ebx
je 0x42239d
call fcn.0040b6a1
cmp dword [edi + 0x2c], ebx
jne 0x4223ed
call fcn.0040b60e
test eax, eax
je 0x4223bd
mov dword [0x4b4f10], 1
call fcn.0040b6a1
mov dword [ebp - 0x40], ebx
jmp 0x422177
cmp dword [edi + 0x2c], ebx
jne 0x4223ed
lea esi, [ebp - 0x80]
call fcn.0041553a
mov eax, esi
push eax
push dword [ebp - 0x44]
mov byte [ebp - 4], 9
call fcn.0042c4ee
mov eax, esi
push eax
push dword [ebp - 0x48]
call fcn.0046069c
mov byte [ebp - 4], 3
call fcn.00415845
cmp dword [edi + 0x28], ebx
jne 0x422422
lea esi, [ebp - 0x80]
call fcn.0041553a
mov eax, esi
push eax
push str.fast
push dword [ebp - 0x44]
mov byte [ebp - 4], 0xa
call fcn.0042c595
mov eax, esi
push eax
push dword [ebp - 0x48]
call fcn.0046069c
mov byte [ebp - 4], 3
call fcn.00415845
mov eax, dword [ebp - 0x44]
call fcn.0042d246
test eax, eax
je 0x422177
jmp 0x422383
mov dword [ebp - 0x40], edi
jmp 0x4221d3
call fcn.00421a77
add esi, 0x1c
cmp esi, ebx
jne 0x42243f
push dword [ebp - 0x54]
call sub.MSVCR80.dll_void___cdecl_operator_delete_void__
pop ecx
mov esi, dword [ebp - 0x64]
cmp esi, edi
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x50], edi
mov dword [ebp - 0x4c], edi
je 0x42247e
mov ebx, dword [ebp - 0x60]
jmp 0x422471
call fcn.004011c5
add esi, 0xc
cmp esi, ebx
jne 0x422469
push dword [ebp - 0x64]
call sub.MSVCR80.dll_void___cdecl_operator_delete_void__
pop ecx
lea esi, [ebp - 0x9c]
mov dword [ebp - 0x64], edi
mov dword [ebp - 0x60], edi
mov dword [ebp - 0x5c], edi
call fcn.0040ca41
lea esi, [ebp - 0x74]
call fcn.004011c5
mov eax, dword [ebp - 0x40]
call fcn.00480718
ret