Function at 0x4089e0
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
mov ebx, ecx
xor ecx, ecx
push esi
push edi
mov dword [ebp - 0xc], ebx
mov eax, dword [ebx + 0x3c]
lea edi, [ebx + 0x440]
mov edx, dword [ebx + 0x34]
mov word [eax + edx*2], cx
mov eax, dword [ebx + 0x3c]
mov dword [ebp - 8], eax
test eax, eax
je 0x408a53
cmp word [eax], cx
je 0x408a53
mov esi, eax
lea ecx, [esi + 2]
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x408a14
sub esi, ecx
sar esi, 1
je 0x408a53
mov ebx, dword [edi]
add ebx, esi
cmp ebx, dword [edi + 4]
jb 0x408a36
push ebx
mov ecx, edi
call fcn.00402830
mov ecx, dword [edi]
lea eax, [esi + esi]
push eax
mov eax, dword [edi + 8]
push dword [ebp - 8]
lea eax, [eax + ecx*2]
push eax
call fcn.00414710
mov dword [edi], ebx
add esp, 0xc
mov ebx, dword [ebp - 0xc]
mov esi, dword [edi]
add esi, 0xa
cmp esi, dword [edi + 4]
jb 0x408a65
push esi
mov ecx, edi
call fcn.00402830
mov ecx, dword [edi]
mov eax, dword [edi + 8]
movups xmm0, xmmword [str.CrashDump]
lea ecx, [eax + ecx*2]
movups xmmword [ecx], xmm0
mov eax, dword [0x42f730]
mov dword [ecx + 0x10], eax
mov dword [edi], esi
inc esi
cmp esi, dword [edi + 4]
jb 0x408a8f
push esi
mov ecx, edi
call fcn.00402830
mov ecx, dword [edi]
mov edx, 0x5f
mov eax, dword [edi + 8]
mov word [eax + ecx*2], dx
mov ecx, edi
mov dword [edi], esi
mov edx, dword [ebx + 4]
call fcn.0040e230
mov esi, eax
mov eax, dword [esi]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [esi + 4]
jb 0x408abe
push eax
mov ecx, esi
call fcn.00402830
mov ecx, dword [esi]
mov edx, 0x5f
mov eax, dword [esi + 8]
mov word [eax + ecx*2], dx
mov ecx, esi
mov eax, dword [ebp - 0xc]
mov dword [esi], eax
mov edx, dword [ebx + 8]
call fcn.0040e230
mov esi, eax
mov ebx, dword [esi]
inc ebx
cmp ebx, dword [esi + 4]
jb 0x408aed
push ebx
mov ecx, esi
call fcn.00402830
mov ecx, dword [esi]
mov edx, 0x5f
mov eax, dword [esi + 8]
mov word [eax + ecx*2], dx
mov dword [esi], ebx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edx, eax
mov ecx, esi
call fcn.0040e230
mov esi, eax
mov ebx, dword [esi]
add ebx, 4
cmp ebx, dword [esi + 4]
jb 0x408b20
push ebx
mov ecx, esi
call fcn.00402830
mov ecx, dword [esi]
xor edx, edx
mov eax, dword [esi + 8]
movq xmm0, qword [str..zip]
push edx
push 0x80
movq qword [eax + ecx*2], xmm0
push 2
mov dword [esi], ebx
mov ecx, dword [edi]
mov eax, dword [edi + 8]
push edx
push edx
push 0x40000000
mov word [eax + ecx*2], dx
push dword [edi + 8]
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
je 0x408c33
push 0x14
call fcn.00411b03
mov ebx, eax
add esp, 4
mov eax, dword [ebp + 8]
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0
mov dword [ebx + 0x10], 0
mov dword [ebx], esi
mov dword [ebx + 4], 0
cmp dword [eax + 0x14], 8
jb 0x408b97
mov eax, dword [eax]
push eax
mov edx, str.crash.dmp
mov ecx, ebx
call fcn.0040f2f5
mov ecx, dword [ebp + 0xc]
add esp, 4
mov byte [ebp - 1], al
cmp dword [ecx + 0x14], 8
jb 0x408bb5
mov ecx, dword [ecx]
push ecx
mov edx, str.otherfile.zip
mov ecx, ebx
call fcn.0040f2f5
mov edx, dword [ebp + 0x10]
mov byte [ebp - 2], al
mov esi, dword [edx]
mov ecx, dword [edx + 8]
push esi
mov byte [esi + ecx], 0
mov ecx, ebx
push dword [edx + 8]
call 0x40f23b
add esp, 0xc
mov byte [ebp - 3], al
mov ecx, ebx
call fcn.0040f42b
cmp byte [ebp - 1], 0
jne 0x408c26
cmp byte [ebp - 2], 0
jne 0x408c26
cmp byte [ebp - 3], 0
jne 0x408c26
mov ecx, dword [edi]
xor edx, edx
mov eax, dword [edi + 8]
xor bl, bl
mov word [eax + ecx*2], dx
push dword [edi + 8]
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov eax, dword [edi + 8]
xor ecx, ecx
mov word [eax], cx
mov al, bl
mov dword [edi], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov bl, 1
mov al, bl
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [edi + 8]
xor ecx, ecx
mov word [eax], cx
xor al, al
mov dword [edi], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc