Function at 0x42a7d0
Capabilities:
Delete file

Disassembly:
sub esp, 0x210
mov eax, dword [0x5ecfcc]
xor eax, esp
mov dword [esp + 0x20c], eax
push ebp
push esi
mov esi, dword [esp + 0x220]
push edi
mov edi, ecx
mov ebp, dword [edi + 4]
mov dword [esp + 0xc], esi
test ebp, ebp
jg 0x42a865
push 1
call fcn.0042a590
mov eax, dword [edi]
mov edx, esi
add eax, 0x200
jmp 0x42a810
mov cl, byte [edx]
mov byte [eax], cl
inc edx
inc eax
test cl, cl
jne 0x42a810
mov ecx, dword [esp + 0x220]
mov edx, dword [edi]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x42a823
mov ecx, dword [edi]
mov eax, ecx
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x42a834
sub eax, esi
cmp byte [ecx + eax - 1], 0x5c
jne 0x42a85d
mov eax, ecx
lea esi, [eax + 1]
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x42a850
sub eax, esi
mov byte [ecx + eax - 1], dl
inc dword [edi + 4]
jmp 0x42aa0e
mov eax, dword [esp + 0x220]
lea edx, [esp + 0x10]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x42a872
lea eax, [esp + 0x10]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42a883
sub eax, edx
cmp byte [esp + eax + 0xf], 0x5c
jne 0x42a8ad
lea eax, [esp + 0x10]
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42a8a0
sub eax, edx
mov byte [esp + eax + 0xf], cl
dec ebp
mov eax, ebp
cdq
sub eax, edx
mov esi, eax
sar esi, 1
mov ecx, esi
push ebx
shl ecx, 0xa
add ecx, dword [edi]
lea eax, [esp + 0x14]
push eax
push ecx
xor ebx, ebx
call fcn.00566c26
add esp, 8
test eax, eax
je 0x42a90a
jle 0x42a8da
lea ebp, [esi - 1]
jmp 0x42a8dd
lea ebx, [esi + 1]
cmp ebp, ebx
jl 0x42a906
lea eax, [ebx + ebp]
cdq
sub eax, edx
mov esi, eax
sar esi, 1
mov eax, esi
shl eax, 0xa
add eax, dword [edi]
lea edx, [esp + 0x14]
push edx
push eax
call fcn.00566c26
add esp, 8
test eax, eax
jne 0x42a8d3
jmp 0x42a90a
test eax, eax
jne 0x42a96f
mov ecx, dword [edi]
mov ebx, dword [esp + 0x10]
shl esi, 0xa
lea edx, [esi + ecx + 0x200]
push ebx
push edx
call fcn.00566c26
add esp, 8
test eax, eax
je 0x42a94e
mov eax, dword [edi]
lea ecx, [esi + eax + 0x200]
push ecx
call fcn.0042ea10
add esp, 4
test al, al
je 0x42a94e
mov edx, dword [edi]
lea eax, [esi + edx + 0x200]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov edx, dword [edi]
mov ecx, ebx
lea edx, [esi + edx + 0x200]
lea esp, [esp]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x42a960
jmp 0x42aa0d
push 1
mov ecx, edi
call fcn.0042a590
sub esi, 2
jns 0x42a97f
xor esi, esi
cmp esi, dword [edi + 4]
jge 0x42a9b2
mov ebx, esi
shl ebx, 0xa
lea esp, [esp]
mov ecx, dword [edi]
lea eax, [esp + 0x14]
push eax
add ecx, ebx
push ecx
call fcn.00566c26
add esp, 8
test eax, eax
jge 0x42a9b2
inc esi
add ebx, 0x400
cmp esi, dword [edi + 4]
jl 0x42a990
mov eax, dword [edi + 4]
cmp esi, eax
jge 0x42a9d8
mov ecx, dword [edi]
sub eax, esi
mov edx, esi
shl edx, 0xa
shl eax, 0xa
add ecx, edx
push eax
push ecx
add ecx, 0x400
push ecx
call fcn.0055c910
add esp, 0xc
mov edx, dword [edi]
mov ecx, dword [esp + 0x10]
shl esi, 0xa
lea edx, [esi + edx + 0x200]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x42a9e8
mov eax, dword [edi]
lea edx, [esp + 0x14]
add eax, esi
lea ebx, [ebx]
mov cl, byte [edx]
mov byte [eax], cl
inc edx
inc eax
test cl, cl
jne 0x42aa00
inc dword [edi + 4]
pop ebx
mov ecx, dword [esp + 0x218]
pop edi
pop esi
pop ebp
xor ecx, esp
call fcn.0055953b
add esp, 0x210
ret 8