Function at 0x401df0
Capabilities:
Delete file

Disassembly:
sub esp, 8
push ebx
push ebp
mov ebp, dword [esp + 0x14]
push esi
push edi
xor esi, esi
mov edi, ecx
mov dword [esp + 0x14], ebp
mov dword [esp + 0x10], esi
cmp dword [edi + 0x54], esi
jbe 0x401ed2
mov ecx, dword [edi + 0x14]
xor edx, edx
mov eax, esi
div ecx
mov ebp, edx
cmp ebp, ecx
jbe 0x401e24
call fcn.004392c0
mov ebx, 0x10
cmp dword [edi + 0x18], ebx
jb 0x401e33
mov eax, dword [edi + 4]
jmp 0x401e36
lea eax, [edi + 4]
mov dword [esp + 0x10], eax
cmp esi, dword [edi + 0x4c]
jbe 0x401e44
call fcn.004392c0
cmp dword [edi + 0x50], ebx
jb 0x401e4e
mov eax, dword [edi + 0x3c]
jmp 0x401e51
lea eax, [edi + 0x3c]
mov bl, byte [eax + esi]
mov ecx, dword [esp + 0x10]
xor bl, byte [ecx + ebp]
cmp esi, dword [edi + 0x4c]
jbe 0x401e65
call fcn.004392c0
cmp dword [edi + 0x50], 0x10
jb 0x401e70
mov eax, dword [edi + 0x3c]
jmp 0x401e73
lea eax, [edi + 0x3c]
mov byte [eax + esi], bl
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 0
mov ebx, eax
call fcn.0043a6c4
add esp, 4
mov dword [esp + 0x10], ebx
fild dword [esp + 0x10]
mov ebp, eax
test ebx, ebx
jge 0x401e9c
fadd qword [0x458208]
call fcn.004485f0
mov dword [esp + 0x10], ebp
fild dword [esp + 0x10]
test ebp, ebp
jge 0x401eb3
fadd qword [0x458208]
fcompp
fnstsw ax
test ah, 5
jp 0x401ec4
push 0
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
inc esi
cmp esi, dword [edi + 0x54]
jb 0x401e10
mov ebp, dword [esp + 0x14]
mov ebx, dword [edi + 0x4c]
xor edx, edx
mov dword [ebp + 0x18], 7
mov dword [ebp + 0x14], 0
mov esi, ebp
mov word [ebp + 4], dx
call fcn.00403040
mov eax, dword [ebp + 0x18]
cmp eax, 8
jb 0x401f01
mov esi, dword [ebp + 4]
mov dword [esp + 0x10], esi
jmp 0x401f0a
lea ecx, [ebp + 4]
mov dword [esp + 0x10], ecx
mov esi, ecx
test esi, esi
je 0x401f35
lea edx, [ebp + 4]
cmp eax, 8
jb 0x401f1a
mov ecx, dword [edx]
jmp 0x401f1c
mov ecx, edx
cmp ecx, esi
ja 0x401f35
cmp eax, 8
jb 0x401f29
mov eax, dword [edx]
jmp 0x401f2b
mov eax, edx
mov ecx, dword [ebp + 0x14]
lea edx, [eax + ecx*2]
cmp esi, edx
jbe 0x401f3a
call fcn.004392c0
mov esi, dword [edi + 0x50]
lea eax, [edi + 0x3c]
cmp esi, 0x10
jb 0x401f49
mov ecx, dword [eax]
jmp 0x401f4b
mov ecx, eax
mov edx, dword [edi + 0x4c]
lea ebx, [edx + ecx]
mov dword [esp + 0x14], ebx
test ebx, ebx
je 0x401f75
cmp esi, 0x10
jb 0x401f62
mov ecx, dword [eax]
jmp 0x401f64
mov ecx, eax
cmp ecx, ebx
ja 0x401f75
cmp esi, 0x10
jb 0x401f6f
mov eax, dword [eax]
add edx, eax
cmp ebx, edx
jbe 0x401f7a
call fcn.004392c0
mov edx, dword [edi + 0x50]
lea eax, [edi + 0x3c]
cmp edx, 0x10
jb 0x401f89
mov esi, dword [eax]
jmp 0x401f8b
mov esi, eax
test esi, esi
je 0x401fae
cmp edx, 0x10
jb 0x401f98
mov ecx, dword [eax]
jmp 0x401f9a
mov ecx, eax
cmp ecx, esi
ja 0x401fae
cmp edx, 0x10
jb 0x401fa5
mov eax, dword [eax]
mov ecx, dword [edi + 0x4c]
add ecx, eax
cmp esi, ecx
jbe 0x401fb3
call fcn.004392c0
mov ecx, ebx
sub ecx, esi
cmp ebp, 0xfffffffc
je 0x401ff2
mov edi, dword [ebp + 0x18]
lea eax, [ebp + 4]
cmp edi, 8
jb 0x401fcb
mov edx, dword [eax]
jmp 0x401fcd
mov edx, eax
mov ebx, dword [esp + 0x10]
lea ecx, [ebx + ecx*2]
mov ebx, dword [ebp + 0x14]
lea edx, [edx + ebx*2]
cmp ecx, edx
ja 0x401fe9
cmp edi, 8
jb 0x401fe5
mov eax, dword [eax]
cmp ecx, eax
jae 0x401fee
call fcn.004392c0
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov eax, esi
cmp esi, ebx
je 0x40200f
lea esp, [esp]
movsx dx, byte [eax]
mov word [ecx], dx
inc eax
add ecx, 2
cmp eax, ebx
jne 0x402000
pop edi
pop esi
mov eax, ebp
pop ebp
pop ebx
add esp, 8
ret 4