Function at 0x1047aee
Capabilities:
Delete file

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push ecx
push ecx
and dword [ebp - 4], 0
and dword [ebp - 8], 0
push ebx
mov ebx, dword [ebp + 0xc]
cmp byte [ebx], 0x21
push esi
mov esi, dword [0x109a6f8]
push edi
mov edi, esi
jne 0x1047b18
mov dword [ebp - 8], 1
inc ebx
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1047b1d
sub eax, edx
mov dword [ebp + 0xc], eax
jne 0x1047b53
jmp 0x1047b4d
push dword [ebp + 8]
lea eax, [esi + 0x104]
push eax
call dword [sym.imp.msvcrt.dll__stricmp]
test eax, eax
pop ecx
pop ecx
je 0x1047d49
mov esi, dword [esi + 0x20c]
test esi, esi
jne 0x1047b2d
xor edi, edi
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1047b58
mov esi, dword [sym.imp.msvcrt.dll__strcmpi]
sub eax, edx
cmp eax, 3
jbe 0x1047b97
cmp byte [ebx], cl
je 0x1047b97
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1047b75
sub eax, edx
lea eax, [eax + ebx - 3]
push 0x1009c84
push eax
call esi
test eax, eax
pop ecx
pop ecx
jne 0x1047b97
mov dword [ebp - 4], 1
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1047b9c
sub eax, edx
mov dword [ebp + 0xc], eax
je 0x1047c32
push dword [ebp - 4]
push ebx
push dword [ebp + 8]
call fcn.0104794e
test eax, eax
jne 0x1047c32
mov esi, dword [0x109a6f8]
jmp 0x1047bf3
lea eax, [esi + 0x104]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1047bcf
sub eax, edx
mov dword [ebp + 0xc], eax
jne 0x1047bed
push ebx
push esi
call dword [sym.imp.msvcrt.dll__stricmp]
test eax, eax
pop ecx
pop ecx
jne 0x1047bed
mov byte [esi], al
mov esi, dword [esi + 0x20c]
test esi, esi
jne 0x1047bc6
cmp dword [ebp + 0x10], 1
je 0x1047ccc
push dword [ebp + 8]
mov esi, 0x1106960
push 0x1015218
push esi
call dword [sym.imp.msvcrt.dll_sprintf]
add esp, 0xc
push esi
call fcn.01071aad
push dword [ebp + 8]
call fcn.0104739e
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
jmp 0x1047d49
test edi, edi
je 0x1047ccc
lea eax, [edi + 0x104]
push ebx
push eax
call esi
test eax, eax
pop ecx
pop ecx
je 0x1047c56
mov edi, dword [edi + 0x20c]
test edi, edi
jne 0x1047c3a
jmp 0x1047cc8
push dword [ebp - 4]
push edi
push dword [ebp + 8]
call fcn.0104794e
test eax, eax
mov esi, 0x1106960
je 0x1047ca1
push edi
push 0x10151e8
push esi
call dword [sym.imp.msvcrt.dll_sprintf]
add esp, 0xc
push esi
call fcn.01071aad
push edi
call fcn.0104739e
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov eax, dword [ebp + 8]
mov edx, edi
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x1047c95
jmp 0x1047cc8
push dword [ebp + 8]
push 0x10151b8
push esi
call dword [sym.imp.msvcrt.dll_sprintf]
add esp, 0xc
push esi
call fcn.01071aad
push dword [ebp + 8]
call fcn.0104739e
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
test edi, edi
jne 0x1047d49
push 0x210
call dword [sym.imp.msvcrt.dll_malloc]
xor edi, edi
cmp eax, edi
pop ecx
je 0x1047d3f
mov ecx, dword [ebp + 8]
mov esi, eax
sub esi, ecx
mov dl, byte [ecx]
mov byte [esi + ecx], dl
inc ecx
test dl, dl
jne 0x1047ce5
lea esi, [eax + 0x104]
mov ecx, ebx
sub esi, ebx
mov dl, byte [ecx]
mov byte [esi + ecx], dl
inc ecx
test dl, dl
jne 0x1047cf9
cmp dword [ebp - 8], edi
je 0x1047d12
mov dword [eax + 0x208], 1
mov dword [eax + 0x20c], edi
cmp dword [0x109a6f8], edi
jne 0x1047d2c
mov dword [0x109a6fc], eax
mov dword [0x109a6f8], eax
jmp 0x1047d49
mov ecx, dword [0x109a6fc]
mov dword [ecx + 0x20c], eax
mov dword [0x109a6fc], eax
jmp 0x1047d49
push 0x1015188
call fcn.01071aad
pop edi
pop esi
pop ebx
leave
ret 0xc