Function at 0x105411a
Capabilities:
Delete directory
Delete file
Get common file path

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x21c
mov eax, dword [0x107fa78]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
push esi
xor esi, esi
cmp ebx, esi
push edi
mov dword [ebp - 0x218], ecx
mov dword [ebp - 0x210], esi
mov dword [ebp - 0x21c], esi
je 0x105421d
push ebx
call fcn.0105970f
test eax, eax
je 0x10541d4
mov eax, ebx
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
cmp cx, si
jne 0x1054160
sub eax, edx
sar eax, 1
lea edi, [eax + 0xd]
xor ecx, ecx
push 2
pop edx
mov eax, edi
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call sub.msvcrt.dll_void____cdecl_operator_new___unsigned_int_
mov esi, eax
test esi, esi
pop ecx
jne 0x1054198
mov eax, 0x8007000e
jmp 0x10543ab
push ebx
push edi
push esi
call fcn.01034c79
mov ebx, eax
test ebx, ebx
push esi
jge 0x10541b4
call sub.msvcrt.dll_void___cdecl_operator_delete___void__
pop ecx
mov eax, ebx
jmp 0x10543ab
call fcn.01056bba
push 0x1007580
push edi
push esi
call fcn.01034cee
test eax, eax
mov dword [ebp - 0x210], eax
jge 0x105421d
jmp 0x105439e
push ebx
call fcn.01056f43
test eax, eax
je 0x105421d
mov eax, ebx
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
cmp cx, si
jne 0x10541e3
sub eax, edx
sar eax, 1
lea edi, [eax + 1]
xor ecx, ecx
push 2
pop edx
mov eax, edi
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call sub.msvcrt.dll_void____cdecl_operator_new___unsigned_int_
mov esi, eax
test esi, esi
pop ecx
je 0x105418e
push ebx
push edi
push esi
call fcn.01034c79
and dword [ebp - 0x214], 0
mov edi, 0x104
test esi, esi
je 0x1054244
push esi
call fcn.01056f43
test eax, eax
jne 0x1054240
push esi
call sub.msvcrt.dll_void___cdecl_operator_delete___void__
pop ecx
xor esi, esi
test esi, esi
jne 0x10542b5
push 0x208
call sub.msvcrt.dll_void____cdecl_operator_new___unsigned_int_
mov esi, eax
test esi, esi
pop ecx
je 0x105434e
mov ebx, dword [ebp - 0x218]
mov ecx, ebx
call fcn.0105073a
test eax, eax
jl 0x10542a9
push dword [ebx + 0x23c]
push edi
push esi
call fcn.01034c79
test eax, eax
jl 0x10542a9
push esi
call fcn.01056bba
push 0x1007580
push edi
push esi
call fcn.01034cee
push 1
push esi
mov ecx, ebx
call fcn.01052406
mov dword [ebp - 0x210], eax
mov dword [ebp - 0x21c], 1
jmp 0x10542bb
mov dword [ebp - 0x210], 0x80004005
jmp 0x10542bb
mov ebx, dword [ebp - 0x218]
cmp dword [ebp - 0x210], 0
jl 0x10542d6
push ebx
push 0x10540f6
push esi
call fcn.01068c3d
mov dword [ebp - 0x210], eax
cmp dword [ebp - 0x210], 0xc00d1388
jne 0x10542f1
test esi, esi
je 0x1054339
push esi
call sub.msvcrt.dll_void___cdecl_operator_delete___void__
pop ecx
xor esi, esi
jmp 0x1054339
cmp dword [ebp - 0x210], 0x80040154
jne 0x105436c
push 0x103
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
test eax, eax
je 0x1054339
push 0x1008d10
push edi
lea eax, [ebp - 0x20c]
push eax
call fcn.01034cee
push 0
push 1
lea eax, [ebp - 0x20c]
push eax
call fcn.0105aed9
test eax, eax
jge 0x105435a
inc dword [ebp - 0x214]
cmp dword [ebp - 0x214], 2
jl 0x1054229
jmp 0x105436c
mov dword [ebp - 0x210], 0x8007000e
jmp 0x105436c
push ebx
push 0x10540f6
push esi
call fcn.01068c3d
mov dword [ebp - 0x210], eax
cmp dword [ebp - 0x21c], 0
je 0x105439a
test esi, esi
je 0x10543a5
push esi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push 0x5c
push esi
call dword [sym.imp.msvcrt.dll_wcsrchr]
test eax, eax
pop ecx
pop ecx
je 0x1054393
and word [eax], 0
push esi
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
test esi, esi
je 0x10543a5
push esi
call sub.msvcrt.dll_void___cdecl_operator_delete___void__
pop ecx
mov eax, dword [ebp - 0x210]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.01047417
leave
ret 4