Function at 0x40ae10
Capabilities:
Delete directory
Delete file
Get common file path
Set current directory

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x47233b
mov eax, dword fs:[0]
push eax
sub esp, 0x354
mov eax, dword [0x48f840]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
lea ecx, [ebp - 0x300]
call dword [sym.imp.DuiLib.dll_public:_void___thiscall_DuiLib::CDuiString::constructor_void_]
mov dword [ebp - 4], 0
lea eax, [ebp - 0x300]
push dword [0x496470]
mov ebx, dword [sym.imp.DuiLib.dll_public:_int___cdecl_DuiLib::CDuiString::Format_wchar_t_const__]
push 0x47f024
push eax
call ebx
mov eax, dword [0x496568]
lea ecx, [ebp - 0x300]
add esp, 0xc
mov esi, dword [eax]
call dword [sym.imp.DuiLib.dll_public:_wchar_t_const____thiscall_DuiLib::CDuiString::operator_wchar_t_const__void_const]
mov ecx, dword [0x496568]
push eax
call dword [esi + 0x2c]
push 0x2c
lea eax, [ebp - 0x274]
push 0
push eax
call fcn.00446bf0
add esp, 0xc
lea ecx, [ebp - 0x274]
push 0
push 0
call fcn.00401210
xorps xmm0, xmm0
mov dword [ebp - 0x21c], 0
movq qword [ebp - 0x224], xmm0
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x224], 0x4963d0
movq qword [ebp - 0x248], xmm0
mov dword [ebp - 0x240], 0
mov dword [ebp - 0x240], 0
mov dword [ebp - 0x244], 0
mov dword [ebp - 0x248], 0x4963d0
movq qword [ebp - 0x230], xmm0
mov edi, 0x4963d0
mov dword [ebp - 0x228], 0
mov dword [ebp - 0x228], 0
mov dword [ebp - 0x22c], 0
mov dword [ebp - 0x230], edi
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x23c]
push str.3DData_
movq qword [ebp - 0x23c], xmm0
mov dword [ebp - 0x234], 0
call fcn.00401c70
lea eax, [ebp - 0x218]
mov byte [ebp - 4], 5
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
mov esi, dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
push str.3DData
call esi
test eax, eax
mov eax, dword [ebp - 0x23c]
je 0x40b4b0
lea ecx, [ebp - 0x274]
call fcn.004013e0
lea eax, [ebp - 0x218]
push eax
call esi
call fcn.0040a6f0
test eax, eax
jne 0x40afee
push dword [0x496470]
lea eax, [ebp - 0x300]
push str.Pak_
push eax
call ebx
mov eax, dword [0x496568]
lea ecx, [ebp - 0x300]
add esp, 0xc
mov esi, dword [eax]
call dword [sym.imp.DuiLib.dll_public:_wchar_t_const____thiscall_DuiLib::CDuiString::operator_wchar_t_const__void_const]
mov ecx, dword [0x496568]
push eax
call dword [esi + 0x2c]
jmp 0x40b4aa
mov esi, dword [ebp - 0x25c]
mov ecx, dword [ebp - 0x258]
mov dword [ebp - 0x254], ecx
mov eax, dword [esi]
cmp eax, esi
je 0x40b025
mov edx, dword [eax + 8]
cmp dword [edx + 0x14], 0
je 0x40b01f
dec ecx
mov dword [ebp - 0x254], ecx
add ecx, dword [edx + 0x1c]
mov dword [ebp - 0x254], ecx
mov eax, dword [eax]
cmp eax, esi
jne 0x40b006
push ecx
push 0
push 0x464
push dword [0x4963d4]
mov dword [ebp - 0x304], 0
call dword [sym.imp.USER32.dll_PostMessageW]
lea ecx, [ebp - 0x274]
call fcn.004016d0
lea eax, [ebp - 0x224]
push eax
lea ecx, [ebp - 0x274]
call fcn.00401710
test eax, eax
je 0x40b309
mov edi, dword [sym.imp.USER32.dll_PostMessageW]
mov edi, edi
cmp eax, 2
jne 0x40b2d2
push 0x47e92c
lea ecx, [ebp - 0x33c]
call fcn.00401c70
mov esi, dword [ebp - 0x33c]
mov eax, esi
mov ecx, dword [ebp - 0x224]
mov dx, word [ecx]
cmp dx, word [eax]
jne 0x40b0bd
test dx, dx
je 0x40b0b9
mov dx, word [ecx + 2]
cmp dx, word [eax + 2]
jne 0x40b0bd
add ecx, 4
add eax, 4
test dx, dx
jne 0x40b097
xor eax, eax
jmp 0x40b0c2
sbb eax, eax
or eax, 1
xor ebx, ebx
test eax, eax
sete bl
cmp esi, 0x4963d0
je 0x40b0da
push esi
call fcn.0043d952
add esp, 4
test ebx, ebx
jne 0x40b2d2
push 0x47f020
lea ecx, [ebp - 0x348]
call fcn.00401c70
push ecx
lea eax, [ebp - 0x360]
mov byte [ebp - 4], 6
push eax
lea ecx, [ebp - 0x224]
call fcn.004020b0
mov esi, dword [ebp - 0x348]
mov ecx, esi
mov eax, dword [eax]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x40b139
test dx, dx
je 0x40b135
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x40b139
add eax, 4
add ecx, 4
test dx, dx
jne 0x40b113
xor eax, eax
jmp 0x40b13e
sbb eax, eax
or eax, 1
xor ebx, ebx
test eax, eax
mov eax, dword [ebp - 0x360]
sete bl
cmp eax, 0x4963d0
je 0x40b15b
push eax
call fcn.0043d952
add esp, 4
mov byte [ebp - 4], 5
cmp esi, 0x4963d0
je 0x40b170
push esi
call fcn.0043d952
add esp, 4
test ebx, ebx
je 0x40b1bc
mov eax, dword [ebp - 0x220]
lea ecx, [ebp - 0x224]
dec eax
push eax
lea eax, [ebp - 0x354]
push eax
call fcn.00402190
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x224]
push dword [eax]
push dword [eax + 4]
call fcn.00401d10
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x354]
cmp eax, 0x4963d0
je 0x40b1bc
push eax
call fcn.0043d952
add esp, 4
push str..pak
lea ecx, [ebp - 0x330]
call fcn.00401c70
lea eax, [ebp - 0x330]
mov byte [ebp - 4], 8
push eax
lea edx, [ebp - 0x224]
lea ecx, [ebp - 0x31c]
call fcn.00401f10
add esp, 4
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x248]
push dword [eax]
push dword [eax + 4]
call fcn.00401d10
mov eax, dword [ebp - 0x31c]
cmp eax, 0x4963d0
je 0x40b215
push eax
call fcn.0043d952
add esp, 4
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x330]
cmp eax, 0x4963d0
je 0x40b22f
push eax
call fcn.0043d952
add esp, 4
lea eax, [ebp - 0x224]
push eax
lea edx, [ebp - 0x23c]
lea ecx, [ebp - 0x310]
call fcn.00401f10
add esp, 4
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x230]
push dword [eax]
push dword [eax + 4]
call fcn.00401d10
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x310]
cmp eax, 0x4963d0
je 0x40b278
push eax
call fcn.0043d952
add esp, 4
sub esp, 0xc
lea eax, [ebp - 0x230]
mov ecx, esp
mov dword [ebp - 0x320], esp
push eax
call fcn.00401b50
sub esp, 0xc
mov byte [ebp - 4], 0xb
lea eax, [ebp - 0x248]
mov ecx, esp
push eax
call fcn.00401b50
mov byte [ebp - 4], 5
call fcn.0040a790
test eax, eax
je 0x40b2ee
push dword [ebp - 0x254]
mov ebx, dword [ebp - 0x304]
inc ebx
push ebx
push 0x464
push dword [0x4963d4]
mov dword [ebp - 0x304], ebx
call edi
lea eax, [ebp - 0x224]
push eax
lea ecx, [ebp - 0x274]
call fcn.00401710
test eax, eax
jne 0x40b070
jmp 0x40b303
mov eax, dword [ebp - 0x254]
push eax
push eax
push 0x464
push dword [0x4963d4]
call edi
mov edi, dword [ebp - 0x230]
lea ecx, [ebp - 0x274]
call fcn.004016d0
lea eax, [ebp - 0x224]
push eax
lea ecx, [ebp - 0x274]
call fcn.00401710
test eax, eax
je 0x40b40e
mov edi, edi
cmp eax, 1
jne 0x40b3f4
push 0x47e92c
lea ecx, [ebp - 0x310]
call fcn.00401c70
mov esi, dword [ebp - 0x310]
mov ecx, esi
mov eax, dword [ebp - 0x224]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x40b37d
test dx, dx
je 0x40b379
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x40b37d
add eax, 4
add ecx, 4
test dx, dx
jne 0x40b357
xor eax, eax
jmp 0x40b382
sbb eax, eax
or eax, 1
xor ebx, ebx
test eax, eax
sete bl
cmp esi, 0x4963d0
je 0x40b39a
push esi
call fcn.0043d952
add esp, 4
test ebx, ebx
jne 0x40b3f4
lea eax, [ebp - 0x224]
push eax
lea edx, [ebp - 0x23c]
lea ecx, [ebp - 0x31c]
call fcn.00401f10
add esp, 4
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x230]
push dword [eax]
push dword [eax + 4]
call fcn.00401d10
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x31c]
cmp eax, 0x4963d0
je 0x40b3e7
push eax
call fcn.0043d952
add esp, 4
mov edi, dword [ebp - 0x230]
push edi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea eax, [ebp - 0x224]
push eax
lea ecx, [ebp - 0x274]
call fcn.00401710
test eax, eax
jne 0x40b330
lea ecx, [ebp - 0x274]
call fcn.004016d0
lea eax, [ebp - 0x224]
push eax
lea ecx, [ebp - 0x274]
call fcn.00401710
mov esi, dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
test eax, eax
je 0x40b4a2
cmp eax, 2
jne 0x40b48c
lea eax, [ebp - 0x224]
push eax
lea edx, [ebp - 0x23c]
lea ecx, [ebp - 0x310]
call fcn.00401f10
add esp, 4
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x230]
push dword [eax]
push dword [eax + 4]
call fcn.00401d10
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x310]
cmp eax, 0x4963d0
je 0x40b483
push eax
call fcn.0043d952
add esp, 4
mov edi, dword [ebp - 0x230]
push edi
call esi
lea eax, [ebp - 0x224]
push eax
lea ecx, [ebp - 0x274]
call fcn.00401710
test eax, eax
jne 0x40b435
push dword [ebp - 0x23c]
call esi
mov eax, dword [ebp - 0x23c]
cmp eax, 0x4963d0
je 0x40b4c0
push eax
call fcn.0043d952
add esp, 4
cmp edi, 0x4963d0
je 0x40b4d1
push edi
call fcn.0043d952
add esp, 4
mov eax, dword [ebp - 0x248]
cmp eax, 0x4963d0
je 0x40b4e7
push eax
call fcn.0043d952
add esp, 4
mov eax, dword [ebp - 0x224]
cmp eax, 0x4963d0
je 0x40b4fd
push eax
call fcn.0043d952
add esp, 4
lea ecx, [ebp - 0x274]
mov byte [ebp - 4], 0
call fcn.004012f0
lea ecx, [ebp - 0x300]
mov dword [ebp - 4], 0xffffffff
call dword [sym.imp.DuiLib.dll_public:_void___thiscall_DuiLib::CDuiString::destructor_void_]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0043d762
mov esp, ebp
pop ebp
ret