Function at 0x10002209
Capabilities:
Delete directory
Delete file
Move file

Disassembly:
mov eax, 0x10055121
call fcn.10048e6c
sub esp, 0x8f4
push ebx
push esi
push edi
mov eax, dword [ebp + 8]
xor ebx, ebx
cmp eax, ebx
mov dword [ebp - 4], 1
je 0x10002230
mov esi, dword [eax]
jmp 0x10002232
xor esi, esi
mov al, byte [ebp + 0xf]
push ebx
lea ecx, [ebp - 0x50]
mov byte [ebp - 0x50], al
call fcn.10026566
push esi
call fcn.100492e5
pop ecx
push eax
push esi
lea ecx, [ebp - 0x50]
call fcn.100275d3
mov esi, 0x1006b844
push esi
mov byte [ebp - 4], 2
call fcn.100492e5
pop ecx
push eax
push esi
lea ecx, [ebp - 0x50]
call fcn.10027575
mov al, byte [ebp + 0xf]
push ebx
lea ecx, [ebp - 0x68]
mov byte [ebp - 0x68], al
call fcn.10026566
mov edi, dword [0x1005c50c]
mov esi, str..dll
push esi
mov byte [ebp - 4], 3
call fcn.100492e5
pop ecx
push eax
push edi
push esi
lea ecx, [ebp + 0x10]
call fcn.1002643e
mov ecx, dword [0x1005c50c]
cmp eax, ecx
je 0x100022db
push esi
mov edi, ecx
call fcn.100492e5
pop ecx
push eax
push edi
push esi
lea ecx, [ebp + 0x10]
call fcn.1002643e
push dword [0x1005c50c]
lea ecx, [ebp + 0x10]
push eax
call fcn.100246c2
push dword [0x1005c50c]
lea ecx, [ebp - 0x68]
push ebx
push eax
call fcn.1002618e
jmp 0x100022f1
mov esi, str.toolbar
push esi
call fcn.100492e5
pop ecx
push eax
push esi
lea ecx, [ebp - 0x68]
call fcn.100275d3
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x9c]
push eax
call fcn.1002b196
push 0x1006b81c
push eax
lea eax, [ebp - 0x8c]
push eax
mov byte [ebp - 4], 4
call fcn.1002b0ea
add esp, 0x18
push 1
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 6
call fcn.10026566
mov edi, dword [ebp - 0x88]
cmp edi, ebx
mov esi, 0x1005c508
jne 0x10002348
mov edi, esi
cmp edi, ebx
jne 0x10002348
xor eax, eax
jmp 0x10002370
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea esi, [eax + eax + 2]
mov eax, esi
add eax, 3
and eax, 0xfffffffc
call fcn.100499d0
mov eax, esp
push ebx
push esi
push edi
push eax
call fcn.100028d3
mov esi, 0x1005c508
push 0x1006b818
push eax
call fcn.100499b0
mov edi, eax
cmp edi, ebx
pop ecx
pop ecx
je 0x10002465
push edi
lea eax, [ebp - 0x900]
push 0x400
push eax
call fcn.1004991d
add esp, 0xc
test byte [edi + 0xc], 0x10
jne 0x1000245e
push edi
lea eax, [ebp - 0x49c]
push 0x400
push eax
call fcn.1004991d
add esp, 0xc
test byte [edi + 0xc], 0x10
jne 0x1000245e
lea eax, [ebp - 0x49c]
push eax
call fcn.10049700
mov byte [ebp + eax - 0x49d], bl
lea eax, [ebp - 0x49c]
test eax, eax
pop ecx
je 0x10002417
lea eax, [ebp - 0x49c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov esi, eax
inc esi
lea eax, [esi + esi]
add eax, 3
and eax, 0xfffffffc
call fcn.100499d0
mov eax, esp
push ebx
push esi
lea ecx, [ebp - 0x49c]
push ecx
push eax
call fcn.100028ad
mov esi, 0x1005c508
push eax
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.1002b0ea
mov eax, dword [ebp - 0x24]
add esp, 0xc
cmp byte [ebp + 0x20], bl
je 0x10002442
cmp eax, ebx
jne 0x10002436
mov eax, esi
push 4
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
jmp 0x1000244f
cmp eax, ebx
jne 0x10002448
mov eax, esi
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push 1
lea ecx, [ebp - 0x28]
call fcn.10026566
jmp 0x1000239c
push edi
call fcn.100498a0
pop ecx
lea eax, [ebp + 0x10]
push eax
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.1002b196
add esp, 0xc
cmp byte [ebp + 0x20], bl
mov eax, dword [ebp - 0x3c]
mov byte [ebp - 4], 7
je 0x10002497
cmp eax, ebx
jne 0x1000248b
mov eax, esi
push 4
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
jmp 0x100024a4
cmp eax, ebx
jne 0x1000249d
mov eax, esi
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push 0x1006b81c
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp - 0x78]
push eax
call fcn.1002b0ea
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x28]
push eax
mov byte [ebp - 4], 8
call fcn.1002b196
add esp, 0x18
push dword [0x1005c50c]
lea ecx, [ebp - 0x40]
push ebx
push eax
mov byte [ebp - 4], 9
call fcn.1002618e
push 1
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 8
call fcn.10026566
cmp byte [ebp + 0x20], bl
mov eax, dword [ebp - 0x3c]
je 0x1000250a
cmp eax, ebx
jne 0x100024fe
mov eax, esi
push 4
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
jmp 0x10002517
cmp eax, ebx
jne 0x10002510
mov eax, esi
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov esi, 0x1006b7f8
push esi
call fcn.100492e5
pop ecx
push eax
push esi
lea ecx, [ebp - 0x78]
call fcn.100275d3
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.1002b196
add esp, 0xc
push dword [0x1005c50c]
lea ecx, [ebp - 0x40]
push ebx
push eax
mov byte [ebp - 4], 0xa
call fcn.1002618e
push 1
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 8
call fcn.10026566
cmp byte [ebp + 0x20], bl
mov eax, dword [ebp - 0x3c]
je 0x10002580
cmp eax, ebx
jne 0x10002574
mov eax, 0x1005c508
push 4
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
jmp 0x10002590
cmp eax, ebx
jne 0x10002589
mov eax, 0x1005c508
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov al, byte [ebp + 0xf]
push ebx
lea ecx, [ebp - 0x28]
mov byte [ebp - 0x28], al
call fcn.10026566
mov word [ebp - 0xa8], 0x5c
mov dword [ebp - 0xa4], ebx
mov dword [ebp - 0xa0], ebx
push str..
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0xc
call fcn.1000101a
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0xd
call fcn.100019c9
mov eax, dword [eax]
cmp eax, ebx
mov byte [ebp - 4], 0xe
je 0x100025e7
mov eax, dword [eax]
jmp 0x100025e9
xor eax, eax
push eax
lea ecx, [ebp - 0x500]
call fcn.10018150
lea ecx, [ebp - 0x18]
mov esi, eax
call fcn.100019b6
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0xc
call fcn.100019b6
cmp esi, ebx
je 0x100027ea
mov edi, 0x1006b7f0
lea ecx, [ebp - 0x500]
call fcn.100181f3
lea ecx, [ebp - 0x500]
mov dword [ebp - 0x58], eax
call fcn.10017e90
test eax, eax
jne 0x100027e1
lea eax, [ebp - 0x54]
push eax
lea ecx, [ebp - 0x500]
call fcn.10017a30
push dword [eax]
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [ebp - 0x10], eax
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0xf
call fcn.10013e55
lea ecx, [ebp - 0x10]
call fcn.100028fa
push 0x10
lea ecx, [ebp - 0x500]
call fcn.10017e74
test eax, eax
je 0x1000276e
push dword [ebp - 0x10]
lea ecx, [ebp - 0x30]
call fcn.100012fe
mov eax, dword [eax]
cmp eax, ebx
mov byte [ebp - 4], 0x10
je 0x10002695
mov esi, dword [eax]
jmp 0x10002697
xor esi, esi
push esi
call fcn.100492e5
pop ecx
push eax
push esi
lea ecx, [ebp - 0x28]
call fcn.100275d3
mov ecx, dword [ebp - 0x30]
cmp ecx, ebx
mov byte [ebp - 4], 0xf
je 0x100026bb
call fcn.10001129
mov dword [ebp - 0x30], ebx
mov eax, dword [0x1005c50c]
push 1
push eax
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x14], 0x5c
call fcn.1002643e
push edi
mov esi, eax
call fcn.100492e5
pop ecx
push eax
push esi
push edi
lea ecx, [ebp - 0x28]
call fcn.1002637a
mov ecx, dword [0x1005c50c]
cmp eax, ecx
jne 0x10002732
push 1
push ecx
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x14], 0x5c
call fcn.1002643e
push str.cache
mov esi, eax
call fcn.100492e5
pop ecx
push eax
push esi
push str.cache
lea ecx, [ebp - 0x28]
call fcn.1002637a
cmp eax, dword [0x1005c50c]
je 0x100027d4
push dword [ebp + 0x20]
lea eax, [ebp + 0x10]
sub esp, 0x10
mov ecx, esp
mov dword [ebp - 0x14], esp
push eax
call fcn.1002463f
push 1
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0x11
call fcn.1002597a
push ecx
mov ecx, esp
mov dword [ebp - 0x7c], esp
push eax
call fcn.100012fe
mov byte [ebp - 4], 0xf
call fcn.10002209
add esp, 0x1c
jmp 0x100027d4
cmp byte [ebp + 0xc], bl
je 0x100027d4
cmp byte [ebp + 0x20], bl
push dword [ebp - 0x10]
je 0x100027aa
lea ecx, [ebp - 0x2c]
call fcn.100012fe
mov eax, dword [eax]
cmp eax, ebx
je 0x1000278d
mov eax, dword [eax]
jmp 0x1000278f
xor eax, eax
push 4
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
mov ecx, dword [ebp - 0x2c]
cmp ecx, ebx
je 0x100027d4
call fcn.10001129
mov dword [ebp - 0x2c], ebx
jmp 0x100027d4
lea ecx, [ebp - 0x18]
call fcn.100012fe
mov eax, dword [eax]
cmp eax, ebx
je 0x100027bc
mov eax, dword [eax]
jmp 0x100027be
xor eax, eax
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov ecx, dword [ebp - 0x18]
cmp ecx, ebx
je 0x100027d4
call fcn.10001129
mov dword [ebp - 0x18], ebx
push dword [ebp - 0x10]
mov byte [ebp - 4], 0xc
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
cmp dword [ebp - 0x58], ebx
jne 0x10002618
lea ecx, [ebp - 0x500]
mov byte [ebp - 4], 0xb
call fcn.1001841c
push 1
pop esi
push esi
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 8
call fcn.10026566
cmp byte [ebp + 0x20], bl
mov eax, dword [ebp + 8]
je 0x10002827
cmp eax, ebx
je 0x10002819
mov eax, dword [eax]
jmp 0x1000281b
xor eax, eax
push 4
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
jmp 0x10002838
cmp eax, ebx
je 0x1000282f
mov eax, dword [eax]
jmp 0x10002831
xor eax, eax
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
push esi
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 7
call fcn.10026566
push esi
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 6
call fcn.10026566
push esi
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 3
call fcn.10026566
push esi
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 2
call fcn.10026566
push esi
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 1
call fcn.10026566
mov ecx, dword [ebp + 8]
cmp ecx, ebx
je 0x1000288b
call fcn.10001129
mov dword [ebp + 8], ebx
or dword [ebp - 4], 0xffffffff
push esi
lea ecx, [ebp + 0x10]
call fcn.10026566
mov ecx, dword [ebp - 0xc]
lea esp, [ebp - 0x90c]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret