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 [0x1072c48]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
push esi
xor esi, esi
push edi
mov dword [ebp - 0x218], ecx
mov dword [ebp - 0x210], esi
mov dword [ebp - 0x21c], esi
cmp ebx, esi
je 0x105421d
push ebx
call fcn.010587e2
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
pop ecx
test esi, esi
jne 0x1054198
mov eax, 0x8007000e
jmp 0x10543ac
push ebx
push edi
push esi
call fcn.01035831
mov ebx, eax
push esi
test ebx, ebx
jge 0x10541b4
call sub.msvcrt.dll_void___cdecl_operator_delete___void__
pop ecx
mov eax, ebx
jmp 0x10543ac
call fcn.01055e5e
push 0x1007490
push edi
push esi
call fcn.010358a6
mov dword [ebp - 0x210], eax
test eax, eax
jge 0x105421d
jmp 0x105439f
push ebx
call fcn.010561eb
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
pop ecx
test esi, esi
je 0x105418e
push ebx
push edi
push esi
call fcn.01035831
and dword [ebp - 0x214], 0
mov edi, 0x104
test esi, esi
je 0x1054244
push esi
call fcn.010561eb
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
pop ecx
test esi, esi
je 0x105434e
mov ebx, dword [ebp - 0x218]
mov ecx, ebx
call fcn.01050822
test eax, eax
jl 0x10542a9
push dword [ebx + 0x23c]
push edi
push esi
call fcn.01035831
test eax, eax
jl 0x10542a9
push esi
call fcn.01055e5e
push 0x1007490
push edi
push esi
call fcn.010358a6
push 1
push esi
mov ecx, ebx
call fcn.01052484
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.010652f0
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 0x1009000
push edi
lea eax, [ebp - 0x20c]
push eax
call fcn.010358a6
push 0
push 1
lea eax, [ebp - 0x20c]
push eax
call fcn.01059bcb
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.010652f0
mov dword [ebp - 0x210], eax
cmp dword [ebp - 0x21c], 0
je 0x105439b
test esi, esi
je 0x10543a6
push esi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push 0x5c
push esi
call dword [sym.imp.msvcrt.dll_wcsrchr]
pop ecx
pop ecx
test eax, eax
je 0x1054394
xor ecx, ecx
mov word [eax], cx
push esi
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
test esi, esi
je 0x10543a6
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.01047480
leave
ret 4