Function at 0x402170
Capabilities:
Delete file

Disassembly:
push 0xffffffffffffffff
push 0x42887b
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x19c
push ebx
push ebp
push esi
push edi
push 0
mov ebp, ecx
push str.DataFileList
lea ecx, [esp + 0x28]
call fcn.00414ab0
push 0xffffffffffffffff
push 4
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x2c]
mov dword [esp + 0x1c0], 0
call fcn.00414ad0
mov eax, dword [esp + 0x10]
lea ecx, [eax + eax*4]
shl ecx, 4
push ecx
call fcn.0041c3e3
mov ebx, eax
mov eax, dword [esp + 0x14]
add esp, 4
lea edx, [eax + eax*4]
push 0xffffffffffffffff
shl edx, 4
push edx
push ebx
lea ecx, [esp + 0x2c]
mov dword [esp + 0x28], ebx
call fcn.00414ad0
lea ecx, [esp + 0x20]
call fcn.004149e0
push str.DataFileList
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov eax, dword [esp + 0x10]
cdq
and edx, 7
add eax, edx
sar eax, 3
inc eax
push eax
call fcn.0041c3e3
mov esi, eax
mov eax, dword [esp + 0x14]
cdq
and edx, 7
add eax, edx
mov ecx, eax
sar ecx, 3
add esp, 4
inc ecx
mov edx, ecx
shr ecx, 2
xor eax, eax
mov edi, esi
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov eax, dword [esp + 0x10]
xor edi, edi
cmp eax, edi
mov dword [esp + 0x14], esi
mov dword [ebp + 0x1644], edi
mov dword [esp + 0x18], edi
jle 0x4023b0
add ebx, 0x44
lea esp, [esp]
mov esi, dword [ebp + 0x1650]
test esi, esi
je 0x4022e4
lea ebx, [ebx]
lea eax, [esi + 0xc]
push eax
lea eax, [ebx - 0x44]
push eax
call fcn.004281be
add esp, 8
test eax, eax
je 0x40228d
mov esi, dword [esi + 4]
test esi, esi
jne 0x402270
jmp 0x4022e4
test esi, esi
je 0x4022e4
mov ecx, dword [esi + 0x2c]
cmp ecx, dword [ebx - 4]
jne 0x4022e4
mov edx, dword [esi + 0x30]
cmp edx, dword [ebx]
jne 0x4022e4
mov eax, dword [esi + 0x34]
cmp eax, dword [ebx + 4]
jne 0x4022e4
mov ecx, dword [esi + 0x38]
cmp ecx, dword [ebx + 8]
jne 0x4022e4
add esi, 0xc
push esi
lea edx, [esp + 0x130]
push str.Data_s
push edx
call fcn.0041cca5
mov ecx, dword [0x458a78]
mov eax, dword [ecx]
add esp, 0xc
lea edx, [esp + 0x12c]
push edx
call dword [eax + 0x2c]
test eax, eax
jne 0x402394
mov edx, dword [ebp + 0x1644]
mov ecx, dword [esp + 0x14]
inc edx
mov dword [ebp + 0x1644], edx
mov eax, edi
cdq
and edx, 7
add eax, edx
sar eax, 3
add eax, ecx
mov ecx, edi
and ecx, 7
mov dl, 1
shl dl, cl
mov cl, byte [eax]
push 0x3c
or cl, dl
mov byte [eax], cl
call fcn.0041c3e3
xor esi, esi
add esp, 4
cmp eax, esi
je 0x402331
mov dword [eax + 4], esi
mov dword [eax + 8], esi
mov dword [eax], 0x42a30c
mov edx, eax
jmp 0x402333
xor edx, edx
xor eax, eax
mov ecx, 0xf
mov edi, edx
rep stosd dword es:[edi], eax
lea eax, [ebx - 0x44]
mov ecx, edx
sub ecx, eax
lea edi, [ecx + 0xc]
mov cl, byte [eax]
mov byte [edi + eax], cl
inc eax
test cl, cl
jne 0x402348
mov eax, dword [ebx - 4]
mov dword [edx + 0x2c], eax
mov ecx, dword [ebx]
mov dword [edx + 0x30], ecx
mov eax, dword [ebx + 4]
mov dword [edx + 0x34], eax
mov ecx, dword [ebx + 8]
mov dword [edx + 0x38], ecx
mov dword [edx + 8], esi
mov eax, dword [ebp + 0x165c]
mov dword [edx + 4], eax
mov eax, dword [ebp + 0x165c]
cmp eax, esi
je 0x402384
mov dword [eax + 8], edx
jmp 0x40238a
mov dword [ebp + 0x1660], edx
mov edi, dword [esp + 0x18]
mov dword [ebp + 0x165c], edx
mov eax, dword [esp + 0x10]
inc edi
add ebx, 0x50
cmp edi, eax
mov dword [esp + 0x18], edi
jl 0x402260
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
mov edi, dword [0x432d20]
movzx ecx, word [edi + 0x2010]
cmp ecx, dword [edi + 0x4014]
lea eax, [edi + 0x2010]
jge 0x4023dc
mov byte [ecx + edi + 0x2014], 0xb
inc word [eax]
mov edi, dword [0x432d20]
mov eax, dword [esp + 0x10]
movzx ebp, word [edi + 0x2010]
mov ecx, dword [edi + 0x4014]
cdq
and edx, 7
add eax, edx
sar eax, 3
lea edx, [edi + 0x2010]
inc eax
sub ecx, eax
cmp ebp, ecx
jge 0x402425
mov ecx, eax
mov ebx, ecx
shr ecx, 2
lea edi, [edi + ebp + 0x2014]
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
mov ebx, dword [esp + 0x1c]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
add word [edx], ax
mov esi, dword [esp + 0x14]
push ebx
call fcn.0041c3de
push esi
call fcn.0041c3de
add esp, 8
lea ecx, [esp + 0x20]
mov dword [esp + 0x1b4], 0xffffffff
call fcn.004149e0
mov ecx, dword [esp + 0x1ac]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x1a8
ret