Function at 0x23a13ab0
Capabilities:
Check if file exists
Delete file
Get common file path
Get file attributes
Set file attributes

Disassembly:
push 0xffffffffffffffff
push 0x23bcef78
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x4a0
push ebx
push ebp
push esi
mov esi, ecx
mov ebx, 7
xor eax, eax
xor ecx, ecx
push edi
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x28], eax
mov word [esp + 0x18], cx
xor edx, edx
mov dword [esp + 0x4b8], eax
mov dword [esp + 0x64], ebx
mov dword [esp + 0x60], eax
mov word [esp + 0x50], dx
mov ebp, dword [esp + 0x4c0]
mov eax, dword [ebp + 4]
push eax
lea ecx, [esp + 0x34]
mov byte [esp + 0x4bc], 1
call fcn.23a01000
lea ecx, [esp + 0x4c]
push ecx
lea edx, [esp + 0x34]
push edx
mov byte [esp + 0x4c0], 2
call fcn.23a03ac0
add esp, 8
cmp dword [esp + 0x48], 0x10
mov byte [esp + 0x4b8], 1
jb 0x23a13b4f
mov eax, dword [esp + 0x34]
push eax
call fcn.23a2ed1b
add esp, 4
mov ecx, dword [esp + 0x50]
mov edi, 8
cmp dword [esp + 0x64], edi
jae 0x23a13b62
lea ecx, [esp + 0x50]
cmp dword [esi + 0x54], edi
jb 0x23a13b6c
mov eax, dword [esi + 0x40]
jmp 0x23a13b6f
lea eax, [esi + 0x40]
push ecx
push eax
lea ecx, [esp + 0x1c]
call fcn.23a034b0
mov eax, dword [esp + 0x18]
cmp dword [esp + 0x2c], edi
jae 0x23a13b88
lea eax, [esp + 0x18]
mov ecx, dword [ebp]
push ecx
push eax
push str.Going_to_extract:__s___u_bytes_
call dword [0x23c41f20]
mov eax, dword [esp + 0x24]
add esp, 0xc
cmp dword [esp + 0x2c], edi
jae 0x23a13ba9
lea eax, [esp + 0x18]
push eax
lea ecx, [esi + 0x2c4]
call fcn.23a126b0
test eax, eax
mov eax, dword [esp + 0x18]
je 0x23a13c17
cmp dword [esp + 0x2c], edi
jae 0x23a13bc7
lea eax, [esp + 0x18]
push eax
push str.__s__file_found_within_the_m_DeleteFiles_map
call dword [0x23c41f28]
add esp, 8
cmp dword [esp + 0x64], edi
jb 0x23a13be9
mov edx, dword [esp + 0x50]
push edx
call fcn.23a2ed1b
add esp, 4
xor eax, eax
mov dword [esp + 0x64], ebx
mov dword [esp + 0x60], 0
mov word [esp + 0x50], ax
cmp dword [esp + 0x2c], edi
jb 0x23a13c0f
mov ecx, dword [esp + 0x18]
push ecx
call fcn.23a2ed1b
add esp, 4
or eax, 0xffffffff
jmp 0x23a13fc0
cmp dword [esp + 0x2c], edi
jae 0x23a13c21
lea eax, [esp + 0x18]
push eax
lea ecx, [esi + 0x19c]
call fcn.23a126b0
mov ebp, eax
test ebp, ebp
jne 0x23a13c8a
mov eax, dword [esp + 0x18]
cmp dword [esp + 0x2c], edi
jae 0x23a13c41
lea eax, [esp + 0x18]
push eax
lea ecx, [esi + 0x230]
call fcn.23a126b0
mov ebp, eax
test ebp, ebp
jne 0x23a13c8a
mov eax, dword [esp + 0x18]
cmp dword [esp + 0x2c], edi
jae 0x23a13c61
lea eax, [esp + 0x18]
push eax
push str.__s__file_not_found_in_the_installation_maps
call dword [0x23c41f28]
add esp, 8
lea ecx, [esp + 0x4c]
call fcn.23a022f0
lea ecx, [esp + 0x14]
call fcn.23a022f0
or eax, 0xffffffff
jmp 0x23a13fc0
mov eax, dword [esp + 0x18]
cmp dword [esp + 0x2c], edi
jae 0x23a13c98
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x34]
call fcn.23a01070
mov ebx, 3
lea ecx, [esp + 0x30]
mov byte [esp + 0x4b8], bl
call fcn.23a035f0
mov eax, dword [esp + 0x34]
cmp dword [esp + 0x48], edi
jae 0x23a13cc5
lea eax, [esp + 0x34]
push eax
mov ecx, esi
call fcn.23a12b60
mov byte [esp + 0x4b8], 1
cmp dword [esp + 0x48], edi
jb 0x23a13ce8
mov edx, dword [esp + 0x34]
push edx
call fcn.23a2ed1b
add esp, 4
mov eax, dword [esp + 0x18]
mov dword [esi + 0x24], ebx
cmp dword [esp + 0x2c], edi
jae 0x23a13cf9
lea eax, [esp + 0x18]
push eax
mov ecx, esi
call fcn.23a12af0
mov eax, dword [esi]
mov edx, dword [eax + 4]
mov ecx, esi
call edx
mov eax, dword [esp + 0x4c0]
mov ecx, dword [eax + 4]
push 0x23be3398
push ecx
call fcn.23a4a314
add esp, 8
test eax, eax
sete al
mov byte [esp + 0x13], al
test al, al
jne 0x23a13d4d
mov eax, dword [esp + 0x18]
cmp dword [esp + 0x2c], edi
jae 0x23a13d3d
lea eax, [esp + 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x23a13eb3
mov eax, dword [esp + 0x18]
cmp dword [esp + 0x2c], edi
jae 0x23a13d5b
lea eax, [esp + 0x18]
push 0x80
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
xor edx, edx
push 0xffffffffffffffff
push edx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x3c]
mov dword [esp + 0x54], 7
mov dword [esp + 0x50], 0
mov word [esp + 0x40], dx
call fcn.23a02610
mov bl, 4
lea ecx, [esp + 0x30]
mov byte [esp + 0x4b8], bl
call fcn.23a035f0
mov eax, dword [esp + 0x34]
cmp dword [esp + 0x48], edi
jae 0x23a13daf
lea eax, [esp + 0x34]
lea ecx, [esp + 0xa0]
push ecx
push 0
push 0x23be3390
push eax
call dword [sym.imp.KERNEL32.dll_GetTempFileNameW]
lea edx, [esp + 0xa0]
push edx
lea ecx, [esp + 0x88]
call fcn.23a01070
push 0xffffffffffffffff
push 0
lea eax, [esp + 0x8c]
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x4c4], 5
call fcn.23a02610
mov byte [esp + 0x4b8], bl
cmp dword [esp + 0x9c], edi
jb 0x23a13e16
mov ecx, dword [esp + 0x88]
push ecx
call fcn.23a2ed1b
add esp, 4
mov eax, dword [esp + 0x18]
cmp dword [esp + 0x2c], edi
jae 0x23a13e24
lea eax, [esp + 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
cmp dword [esp + 0x2c], edi
mov edi, dword [esp + 0x18]
jae 0x23a13e39
lea edi, [esp + 0x18]
lea ecx, [ebp + 4]
test edi, edi
jne 0x23a13e44
xor eax, eax
jmp 0x23a13e5f
mov eax, edi
lea ebx, [eax + 2]
lea esp, [esp]
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x23a13e50
sub eax, ebx
sar eax, 1
push eax
push edi
call fcn.23a10f60
mov eax, dword [esp + 0x18]
mov edi, 8
cmp dword [esp + 0x2c], edi
jae 0x23a13e79
lea eax, [esp + 0x18]
push eax
push str.Temporary_file:__s
call dword [0x23c41f20]
add esp, 8
cmp byte [esp + 0x13], 0
je 0x23a13ea0
push 0xffffffffffffffff
push 0
lea edx, [esp + 0x1c]
lea ecx, [esi + 0x58]
push edx
call fcn.23a02610
cmp dword [esp + 0x48], edi
jb 0x23a13eb3
mov eax, dword [esp + 0x34]
push eax
call fcn.23a2ed1b
add esp, 4
mov edi, 0xf
mov dword [esp + 0x80], edi
mov dword [esp + 0x7c], 0
mov byte [esp + 0x6c], 0
mov eax, dword [esp + 0x18]
mov ebp, 8
mov bl, 6
mov byte [esp + 0x4b8], bl
cmp dword [esp + 0x2c], ebp
jae 0x23a13ee8
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x88]
call fcn.23a01070
lea ecx, [esp + 0x68]
push ecx
lea edx, [esp + 0x88]
push edx
mov byte [esp + 0x4c0], 7
call fcn.23a039b0
add esp, 8
mov byte [esp + 0x4b8], bl
cmp dword [esp + 0x9c], ebp
jb 0x23a13f32
mov eax, dword [esp + 0x88]
push eax
call fcn.23a2ed1b
add esp, 4
mov eax, dword [esp + 0x6c]
mov ebx, 0x10
cmp dword [esp + 0x80], ebx
jae 0x23a13f48
lea eax, [esp + 0x6c]
push 0x180
push 0x8321
push eax
call fcn.23a4a1d9
add esp, 0xc
mov esi, eax
cmp dword [esp + 0x80], ebx
jb 0x23a13f73
mov ecx, dword [esp + 0x6c]
push ecx
call fcn.23a2ed1b
add esp, 4
mov dword [esp + 0x80], edi
xor edi, edi
mov dword [esp + 0x7c], edi
mov byte [esp + 0x6c], 0
cmp dword [esp + 0x64], ebp
jb 0x23a13f98
mov edx, dword [esp + 0x50]
push edx
call fcn.23a2ed1b
add esp, 4
xor eax, eax
mov dword [esp + 0x64], 7
mov dword [esp + 0x60], edi
mov word [esp + 0x50], ax
cmp dword [esp + 0x2c], ebp
jb 0x23a13fbe
mov ecx, dword [esp + 0x18]
push ecx
call fcn.23a2ed1b
add esp, 4
mov eax, esi
mov ecx, dword [esp + 0x4b0]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x4ac
ret 4