Function at 0x140023b50
Capabilities:
Clear file content
Get file attributes

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x5b0]
sub rsp, 0x6b0
mov rax, qword [0x14002f008]
xor rax, rsp
mov qword [rbp + 0x5a0], rax
mov rdi, rcx
mov qword [rsp + 0x60], rdx
xor r14d, r14d
lea r8, [rsp + 0x48]
mov ecx, 0xfe00
mov qword [rsp + 0x50], r14
xor r9d, r9d
mov r15, rdx
or esi, 0xffffffff
call fcn.140013934
mov qword [rsp + 0x58], rax
mov r13, rax
test rax, rax
jne 0x140023bbd
lea eax, [rsi + 2]
jmp 0x140024189
cmp dword [0x140030338], r14d
mov ebx, 1
mov r12d, dword [rsp + 0x48]
je 0x140023bfc
mov r9d, ebx
lea r8, [rsp + 0x40]
mov ecx, r12d
call fcn.140013934
mov qword [rsp + 0x50], rax
mov r14, rax
test rax, rax
je 0x140024187
cmp r12d, dword [rsp + 0x40]
cmovae r12d, dword [rsp + 0x40]
mov rdi, qword [rdi + 0x40]
mov rcx, qword [rdi]
call fcn.1400022f0
test eax, eax
jne 0x140023c1c
mov rdi, qword [rdi + 0x40]
test rdi, rdi
jne 0x140023c00
xor eax, eax
jmp 0x140024189
mov rdx, qword [rdi]
lea rax, [rsp + 0x48]
mov qword [rsp + 0x28], rax
lea rcx, [fcn.140005b00]
mov rax, qword [rdi + 0x30]
xor r9d, r9d
mov qword [rsp + 0x20], rax
lea r8d, [r9 + 0x21]
call fcn.140005954
mov r14, qword [rsp + 0x48]
and dword [rdi + 0x38], 0xffff3fff
mov eax, dword [rdi + 0x38]
test al, 4
je 0x140023c61
and eax, 0xfffffffb
or eax, 2
mov dword [rdi + 0x38], eax
xor eax, eax
cmp dword [0x14002f70c], eax
jne 0x14002417f
lea rdx, [rbp + 0x390]
mov rcx, rdi
call fcn.1400134f4
cmp eax, ebx
je 0x14002417f
mov rdx, qword [rdi + 8]
lea rcx, str._s_r_n
call fcn.14000ed0c
xor eax, eax
lea r8, [rsp + 0x70]
mov rdx, r15
mov dword [rsp + 0x20], eax
mov rcx, rdi
call fcn.1400120b0
cmp eax, ebx
je 0x14002417f
xor eax, eax
cmp word [rsp + 0x70], ax
je 0x140024061
mov rcx, qword [rdi + 8]
lea rdx, [rsp + 0x70]
call fcn.140024314
mov rcx, qword [rdi + 8]
test eax, eax
je 0x140023cf0
mov r9d, r12d
mov r8, r13
mov rdx, rdi
call fcn.1400241bc
mov esi, eax
mov dword [rsp + 0x40], eax
jmp 0x140023ec6
mov edx, dword [rdi + 0x38]
and edx, 0x800
shl edx, 0xa
call fcn.140014474
mov r15d, eax
cmp eax, 0xffffffff
je 0x140024163
mov ecx, eax
call fcn.14000b708
test eax, eax
lea r9, [rsp + 0x44]
mov eax, 0x80
mov rdx, r13
cmovne r12d, eax
mov ecx, r15d
lea rax, [rsp + 0x70]
mov r8d, r12d
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rdi
call fcn.140013438
mov dword [rsp + 0x48], eax
xor eax, eax
cmp dword [0x140046d88], eax
jne 0x14002413f
lea rcx, [rsp + 0x70]
call qword [sym.imp.api_ms_win_core_file_l1_2_1.dll_GetFileAttributesW]
lea rcx, [rsp + 0x70]
test al, 2
jne 0x140023d92
call fcn.1400143e8
mov dword [rsp + 0x40], eax
mov esi, eax
cmp eax, 0xffffffff
je 0x14002411b
mov ecx, eax
call qword [sym.imp.msvcrt.dll__get_osfhandle]
mov rcx, rax
call qword [sym.imp.api_ms_win_core_file_l1_2_1.dll_SetEndOfFile]
jmp 0x140023d9f
mov edx, ebx
call fcn.140014474
mov esi, eax
mov dword [rsp + 0x40], eax
cmp esi, 0xffffffff
je 0x14002411b
cmp dword [0x140030394], 0
je 0x140023e1d
mov r8d, dword [rsp + 0x44]
test r8d, r8d
jle 0x140023e10
lea r9, [rsp + 0x70]
mov dword [rsp + 0x20], r15d
mov rdx, r13
mov ecx, esi
call fcn.140024490
cmp dword [0x140030338], 0
je 0x140023e10
mov ecx, esi
call fcn.14000b708
test eax, eax
jne 0x140023e10
mov rax, qword [rsp + 0x50]
lea rdx, [rsp + 0x70]
mov r8d, dword [rsp + 0x44]
lea rcx, [rsp + 0x40]
mov r9, r13
mov qword [rsp + 0x20], rax
call fcn.140023990
cmp eax, ebx
je 0x14002408f
mov esi, dword [rsp + 0x40]
cmp dword [0x140030394], 0
jne 0x140023eb7
mov eax, dword [rsp + 0x48]
cmp eax, ebx
jne 0x140023eb7
mov r8d, dword [rsp + 0x44]
lea r9, [rsp + 0x70]
mov rdx, r13
mov dword [rsp + 0x20], r15d
mov ecx, esi
call fcn.140024490
xor eax, eax
cmp dword [0x140030338], eax
je 0x140023e84
mov ecx, esi
call fcn.14000b708
test eax, eax
jne 0x140023e84
mov rax, qword [rsp + 0x50]
lea rdx, [rsp + 0x70]
mov r8d, dword [rsp + 0x44]
lea rcx, [rsp + 0x40]
mov r9, r13
mov qword [rsp + 0x20], rax
call fcn.140023990
cmp eax, ebx
je 0x1400240b2
mov esi, dword [rsp + 0x40]
lea rax, [rsp + 0x70]
mov r8d, r12d
mov qword [rsp + 0x30], rax
lea r9, [rsp + 0x44]
mov dword [rsp + 0x28], esi
mov rdx, r13
mov ecx, r15d
mov qword [rsp + 0x20], rdi
call fcn.140013438
cmp dword [0x140030394], 0
je 0x140023e21
and dword [0x140030394], 0
mov ecx, r15d
call fcn.140008c50
mov r15, qword [rdi + 0x40]
xor eax, eax
mov dword [0x140030334], eax
test r15, r15
je 0x14002404b
xor r13d, r13d
mov eax, dword [r15 + 0x38]
test al, 4
je 0x140023ef0
and eax, 0xfffffffb
or eax, 2
mov dword [r15 + 0x38], eax
mov r9, qword [rdi + 8]
lea rcx, [rbp + 0x180]
mov r8, qword [r15]
call fcn.140012624
test eax, eax
je 0x140023f12
xor edx, edx
mov ecx, eax
call fcn.140004ae0
jmp 0x140023f25
lea rdx, [rbp + 0x180]
lea rcx, str._s_r_n
call fcn.14000ed0c
lea rcx, [rbp + 0x180]
call fcn.1400022f0
test eax, eax
je 0x140024039
lea rdx, [rsp + 0x70]
lea rcx, [rbp + 0x180]
call fcn.140024314
test eax, eax
je 0x140023f5f
xor edx, edx
mov ecx, 0x2340
call fcn.140004ae0
jmp 0x140024039
xor edx, edx
lea rcx, [rbp + 0x180]
call fcn.140014474
mov r13d, eax
cmp eax, 0xffffffff
je 0x1400240f8
mov ecx, eax
call fcn.14000b708
test eax, eax
mov eax, 0x80
cmovne r12d, eax
jmp 0x14002401a
mov rdx, qword [rsp + 0x58]
lea rax, [rsp + 0x70]
mov qword [rsp + 0x30], rax
lea r9, [rsp + 0x44]
mov dword [rsp + 0x28], esi
mov r8d, r12d
mov ecx, r13d
mov qword [rsp + 0x20], r15
call fcn.140013438
test eax, eax
je 0x140024027
mov r8d, dword [rsp + 0x44]
lea r9, [rsp + 0x70]
mov rdx, qword [rsp + 0x58]
mov ecx, esi
mov dword [rsp + 0x20], r13d
call fcn.140024490
cmp dword [0x140030338], 0
je 0x14002401a
mov ecx, esi
call fcn.14000b708
test eax, eax
jne 0x14002401a
mov rax, qword [rsp + 0x50]
lea rdx, [rsp + 0x70]
mov r9, qword [rsp + 0x58]
lea rcx, [rsp + 0x40]
mov r8d, dword [rsp + 0x44]
mov qword [rsp + 0x20], rax
call fcn.140023990
cmp eax, ebx
je 0x1400240d5
mov esi, dword [rsp + 0x40]
cmp dword [0x140030394], 0
je 0x140023f90
and dword [0x140030394], 0
mov ecx, r13d
call fcn.140008c50
xor r13d, r13d
mov r15, qword [r15 + 0x40]
test r15, r15
jne 0x140023ede
mov r13, qword [rsp + 0x58]
mov r15, qword [rsp + 0x60]
xor r9d, r9d
mov rdx, r15
mov r8d, esi
mov rcx, rdi
call fcn.14001339c
mov rdx, qword [rdi + 0x30]
lea rcx, [fcn.140005b00]
mov r9, r14
mov r8d, 0x21
call fcn.140003588
test al, al
jne 0x140023c4a
mov rcx, r14
call fcn.140006a48
jmp 0x140023c15
mov rcx, r14
call fcn.140006a48
mov ecx, r15d
call fcn.140008c50
mov ecx, dword [rsp + 0x40]
call fcn.140008c50
mov edx, ebx
xor ecx, ecx
call fcn.140023ab8
int3
mov rcx, r14
call fcn.140006a48
mov ecx, r15d
call fcn.140008c50
mov ecx, dword [rsp + 0x40]
call fcn.140008c50
mov edx, ebx
xor ecx, ecx
call fcn.140023ab8
int3
mov rcx, r14
call fcn.140006a48
mov ecx, r13d
call fcn.140008c50
mov ecx, dword [rsp + 0x40]
call fcn.140008c50
mov edx, ebx
xor ecx, ecx
call fcn.140023ab8
int3
mov rcx, r14
call fcn.140006a48
mov ecx, esi
call fcn.140008c50
mov ecx, 0x6e
call fcn.140024bb8
mov edx, ebx
xor ecx, ecx
call fcn.140023ab8
int3
mov rcx, r14
call fcn.140006a48
mov ecx, r15d
call fcn.140008c50
mov ecx, 0x6e
call fcn.140024bb8
mov edx, ebx
xor ecx, ecx
call fcn.140023ab8
int3
mov rcx, r14
call fcn.140006a48
mov ecx, r15d
call fcn.140008c50
mov ecx, 0x6e
call fcn.140024bb8
mov edx, ebx
xor ecx, ecx
call fcn.140023ab8
int3
mov rcx, r14
call fcn.140006a48
mov ecx, 0x6e
call fcn.140024bb8
mov edx, ebx
xor ecx, ecx
call fcn.140023ab8
int3
mov rcx, r14
call fcn.140006a48
mov eax, ebx
mov rcx, qword [rbp + 0x5a0]
xor rcx, rsp
call fcn.1400151c0
mov rbx, qword [rsp + 0x700]
add rsp, 0x6b0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret