Function at 0x14002da6c
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 - 0x5e0]
sub rsp, 0x6e0
mov rax, qword [0x14003d0f8]
xor rax, rsp
mov qword [rbp + 0x5d0], rax
mov esi, 0x104
mov qword [rsp + 0x60], rdx
mov r15, rdx
mov byte [rbp + 0x180], 1
mov rdi, rcx
mov qword [rbp + 0x188], rsi
xor ebx, ebx
lea rcx, [rsp + 0x70]
mov r8d, esi
mov qword [rsp + 0x50], rbx
xor edx, edx
mov qword [rbp + 0x178], rbx
or r14d, 0xffffffff
call sub.msvcrt.dll_memset
mov r8d, esi
mov qword [rbp + 0x5b8], rbx
xor edx, edx
mov byte [rbp + 0x5c0], 1
lea rcx, [rbp + 0x3b0]
mov qword [rbp + 0x5c8], rsi
call sub.msvcrt.dll_memset
mov r8d, esi
mov qword [rbp + 0x398], rbx
xor edx, edx
mov byte [rbp + 0x3a0], 1
lea rcx, [rbp + 0x190]
mov qword [rbp + 0x3a8], rsi
call sub.msvcrt.dll_memset
mov al, byte [rbp + 0x180]
lea rcx, [rsp + 0x70]
neg al
mov r12d, 0x7ee3
sbb rdx, rdx
and rdx, r12
add rdx, rsi
call fcn.14000ca40
test eax, eax
js 0x14002e38e
mov al, byte [rbp + 0x5c0]
lea rcx, [rbp + 0x3b0]
neg al
sbb rdx, rdx
and rdx, r12
add rdx, rsi
call fcn.14000ca40
test eax, eax
js 0x14002e38e
mov al, byte [rbp + 0x3a0]
lea rcx, [rbp + 0x190]
neg al
sbb rdx, rdx
and rdx, r12
add rdx, rsi
call fcn.14000ca40
test eax, eax
js 0x14002e38e
xor r9d, r9d
lea r8, [rsp + 0x48]
mov ecx, 0xfe00
call fcn.140005194
mov qword [rsp + 0x58], rax
mov r13, rax
test rax, rax
je 0x14002e38e
cmp dword [0x140045ac0], ebx
mov r12d, dword [rsp + 0x48]
je 0x14002dbf4
lea r9d, [r14 + 2]
mov ecx, r12d
lea r8, [rsp + 0x40]
call fcn.140005194
mov qword [rsp + 0x50], rax
test rax, rax
je 0x14002e38e
cmp r12d, dword [rsp + 0x40]
cmovae r12d, dword [rsp + 0x40]
mov rdi, qword [rdi + 0x40]
mov rcx, qword [rdi]
call fcn.140016fb4
test eax, eax
jne 0x14002dc12
mov rdi, qword [rdi + 0x40]
test rdi, rdi
jne 0x14002dbf8
jmp 0x14002e368
mov rdx, qword [rdi]
lea rax, [rsp + 0x48]
mov qword [rsp + 0x28], rax
lea rcx, [0x140018590]
mov rax, qword [rdi + 0x30]
xor r9d, r9d
mov qword [rsp + 0x20], rax
lea r8d, [r9 + 0x21]
call fcn.14001823c
mov rsi, qword [rsp + 0x48]
and dword [rdi + 0x38], 0xffff3fff
mov eax, dword [rdi + 0x38]
test al, 4
je 0x14002dc57
and eax, 0xfffffffb
or eax, 2
mov dword [rdi + 0x38], eax
cmp dword [0x140041924], ebx
jne 0x14002e35b
cmp qword [rbp + 0x5b8], rbx
lea rdx, [rbp + 0x3b0]
mov r8d, dword [rbp + 0x5c8]
mov rcx, rdi
cmovne rdx, qword [rbp + 0x5b8]
call fcn.1400050b0
cmp eax, 1
je 0x14002e35b
mov rdx, qword [rdi + 8]
lea rcx, str._s_r_n
call fcn.140013448
cmp qword [rbp + 0x178], rbx
lea r8, [rsp + 0x70]
mov r9d, dword [rbp + 0x188]
mov rdx, r15
cmovne r8, qword [rbp + 0x178]
mov rcx, rdi
mov dword [rsp + 0x20], ebx
call fcn.140004a30
cmp eax, 1
je 0x14002e35b
mov rcx, qword [rbp + 0x178]
lea rax, [rsp + 0x70]
test rcx, rcx
cmovne rax, rcx
cmp word [rax], bx
je 0x14002e1c8
test rcx, rcx
lea rdx, [rsp + 0x70]
cmovne rdx, rcx
mov rcx, qword [rdi + 8]
call fcn.14002e558
mov rcx, qword [rdi + 8]
test eax, eax
je 0x14002dd27
mov r9d, r12d
mov r8, r13
mov rdx, rdi
call fcn.14002e3e8
mov r14d, eax
mov dword [rsp + 0x40], eax
jmp 0x14002dfa2
mov edx, dword [rdi + 0x38]
and edx, 0x800
shl edx, 0xa
call fcn.140007420
mov r15d, eax
cmp eax, 0xffffffff
je 0x14002e33c
mov ecx, eax
call fcn.1400101b8
test eax, eax
lea rcx, [rsp + 0x70]
mov eax, 0x80
lea r9, [rsp + 0x44]
cmovne r12d, eax
mov rdx, r13
cmp qword [rbp + 0x178], rbx
mov r8d, r12d
cmovne rcx, qword [rbp + 0x178]
mov qword [rsp + 0x30], rcx
mov ecx, r15d
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], rdi
call fcn.140004fe8
cmp dword [0x140045ba8], ebx
mov dword [rsp + 0x48], eax
jne 0x14002e315
cmp qword [rbp + 0x178], rbx
lea rcx, [rsp + 0x70]
cmovne rcx, qword [rbp + 0x178]
call qword [sym.imp.api_ms_win_core_file_l1_1_0.dll_GetFileAttributesW]
nop dword [rax + rax]
lea rcx, [rsp + 0x70]
test al, 2
jne 0x14002de08
cmp qword [rbp + 0x178], rbx
cmovne rcx, qword [rbp + 0x178]
call fcn.1400059e4
mov dword [rsp + 0x40], eax
mov r14d, eax
cmp eax, 0xffffffff
je 0x14002e2ee
mov ecx, eax
call qword [sym.imp.msvcrt.dll__get_osfhandle]
nop dword [rax + rax]
mov rcx, rax
call qword [sym.imp.api_ms_win_core_file_l1_1_0.dll_SetEndOfFile]
nop dword [rax + rax]
jmp 0x14002de28
cmp qword [rbp + 0x178], rbx
mov edx, 1
cmovne rcx, qword [rbp + 0x178]
call fcn.140007420
mov r14d, eax
mov dword [rsp + 0x40], eax
cmp r14d, 0xffffffff
je 0x14002e2ee
cmp dword [0x140045b98], ebx
je 0x14002deca
mov r8d, dword [rsp + 0x44]
test r8d, r8d
jle 0x14002debe
cmp qword [rbp + 0x178], rbx
lea r9, [rsp + 0x70]
mov rdx, r13
mov dword [rsp + 0x20], r15d
cmovne r9, qword [rbp + 0x178]
mov ecx, r14d
call fcn.14002e810
cmp dword [0x140045ac0], ebx
je 0x14002debe
mov ecx, r14d
call fcn.1400101b8
test eax, eax
jne 0x14002debe
cmp qword [rbp + 0x178], rbx
lea rdx, [rsp + 0x70]
mov rax, qword [rsp + 0x50]
lea rcx, [rsp + 0x40]
cmovne rdx, qword [rbp + 0x178]
mov r9, r13
mov r8d, dword [rsp + 0x44]
mov qword [rsp + 0x20], rax
call fcn.14002d878
cmp eax, 1
je 0x14002e255
mov r14d, dword [rsp + 0x40]
cmp dword [0x140045b98], ebx
jne 0x14002df94
mov eax, dword [rsp + 0x48]
cmp eax, 1
jne 0x14002df94
cmp qword [rbp + 0x178], rbx
lea r9, [rsp + 0x70]
mov r8d, dword [rsp + 0x44]
mov rdx, r13
cmovne r9, qword [rbp + 0x178]
mov ecx, r14d
mov dword [rsp + 0x20], r15d
call fcn.14002e810
cmp dword [0x140045ac0], ebx
je 0x14002df52
mov ecx, r14d
call fcn.1400101b8
test eax, eax
jne 0x14002df52
cmp qword [rbp + 0x178], rbx
lea rdx, [rsp + 0x70]
mov rax, qword [rsp + 0x50]
lea rcx, [rsp + 0x40]
cmovne rdx, qword [rbp + 0x178]
mov r9, r13
mov r8d, dword [rsp + 0x44]
mov qword [rsp + 0x20], rax
call fcn.14002d878
cmp eax, 1
je 0x14002e27b
mov r14d, dword [rsp + 0x40]
cmp qword [rbp + 0x178], rbx
lea rax, [rsp + 0x70]
lea r9, [rsp + 0x44]
mov r8d, r12d
cmovne rax, qword [rbp + 0x178]
mov rdx, r13
mov qword [rsp + 0x30], rax
mov ecx, r15d
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], rdi
call fcn.140004fe8
cmp dword [0x140045b98], ebx
je 0x14002dece
mov ecx, r15d
mov dword [0x140045b98], ebx
call fcn.14000d208
mov r15, qword [rdi + 0x40]
mov dword [0x140045ac4], ebx
test r15, r15
je 0x14002e1b2
mov eax, dword [r15 + 0x38]
test al, 4
je 0x14002dfc7
and eax, 0xfffffffb
or eax, 2
mov dword [r15 + 0x38], eax
cmp qword [rbp + 0x398], rbx
lea rcx, [rbp + 0x190]
mov r9, qword [rdi + 8]
cmovne rcx, qword [rbp + 0x398]
mov r8, qword [r15]
mov edx, dword [rbp + 0x3a8]
call fcn.140004c18
test eax, eax
je 0x14002dffe
xor edx, edx
mov ecx, eax
call fcn.140003240
jmp 0x14002e020
cmp qword [rbp + 0x398], rbx
lea rdx, [rbp + 0x190]
lea rcx, str._s_r_n
cmovne rdx, qword [rbp + 0x398]
call fcn.140013448
cmp qword [rbp + 0x398], rbx
lea rcx, [rbp + 0x190]
cmovne rcx, qword [rbp + 0x398]
call fcn.140016fb4
test eax, eax
je 0x14002e1a0
cmp qword [rbp + 0x178], rbx
lea rdx, [rsp + 0x70]
lea rcx, [rbp + 0x190]
cmovne rdx, qword [rbp + 0x178]
cmp qword [rbp + 0x398], rbx
cmovne rcx, qword [rbp + 0x398]
call fcn.14002e558
test eax, eax
je 0x14002e087
xor edx, edx
mov ecx, 0x2340
call fcn.140003240
jmp 0x14002e1a0
cmp qword [rbp + 0x398], rbx
lea rcx, [rbp + 0x190]
cmovne rcx, qword [rbp + 0x398]
xor edx, edx
call fcn.140007420
mov r13d, eax
cmp eax, 0xffffffff
je 0x14002e2c7
mov ecx, eax
call fcn.1400101b8
test eax, eax
mov eax, 0x80
cmovne r12d, eax
jmp 0x14002e186
cmp qword [rbp + 0x178], rbx
lea rax, [rsp + 0x70]
mov rdx, qword [rsp + 0x58]
lea r9, [rsp + 0x44]
cmovne rax, qword [rbp + 0x178]
mov r8d, r12d
mov qword [rsp + 0x30], rax
mov ecx, r13d
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], r15
call fcn.140004fe8
test eax, eax
je 0x14002e192
cmp qword [rbp + 0x178], rbx
lea r9, [rsp + 0x70]
mov r8d, dword [rsp + 0x44]
mov ecx, r14d
cmovne r9, qword [rbp + 0x178]
mov rdx, qword [rsp + 0x58]
mov dword [rsp + 0x20], r13d
call fcn.14002e810
cmp dword [0x140045ac0], ebx
je 0x14002e186
mov ecx, r14d
call fcn.1400101b8
test eax, eax
jne 0x14002e186
cmp qword [rbp + 0x178], rbx
lea rdx, [rsp + 0x70]
mov rax, qword [rsp + 0x50]
lea rcx, [rsp + 0x40]
cmovne rdx, qword [rbp + 0x178]
mov r9, qword [rsp + 0x58]
mov r8d, dword [rsp + 0x44]
mov qword [rsp + 0x20], rax
call fcn.14002d878
cmp eax, 1
je 0x14002e2a1
mov r14d, dword [rsp + 0x40]
cmp dword [0x140045b98], ebx
je 0x14002e0c7
mov ecx, r13d
mov dword [0x140045b98], ebx
call fcn.14000d208
mov r15, qword [r15 + 0x40]
test r15, r15
jne 0x14002dfb5
mov r13, qword [rsp + 0x58]
mov r15, qword [rsp + 0x60]
xor r9d, r9d
mov rdx, r15
mov r8d, r14d
mov rcx, rdi
call fcn.140004f58
mov rdx, qword [rdi + 0x30]
lea rcx, [0x140018590]
mov r9, rsi
mov r8d, 0x21
call fcn.140018a70
test al, al
jne 0x14002dc40
mov rcx, rsi
call fcn.140013a0c
mov rcx, qword [rbp + 0x398]
mov qword [rbp + 0x398], rbx
test rcx, rcx
je 0x14002e210
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
nop dword [rax + rax]
mov rcx, qword [rbp + 0x5b8]
mov qword [rbp + 0x5b8], rbx
test rcx, rcx
je 0x14002e22f
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
nop dword [rax + rax]
mov rcx, qword [rbp + 0x178]
mov qword [rbp + 0x178], rbx
test rcx, rcx
je 0x14002e24e
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
nop dword [rax + rax]
xor eax, eax
jmp 0x14002e3b5
mov rcx, rsi
call fcn.140013a0c
mov ecx, r15d
call fcn.14000d208
mov ecx, dword [rsp + 0x40]
call fcn.14000d208
mov edx, 1
xor ecx, ecx
call fcn.14002d9d0
int3
mov rcx, rsi
call fcn.140013a0c
mov ecx, r15d
call fcn.14000d208
mov ecx, dword [rsp + 0x40]
call fcn.14000d208
mov edx, 1
xor ecx, ecx
call fcn.14002d9d0
int3
mov rcx, rsi
call fcn.140013a0c
mov ecx, r13d
call fcn.14000d208
mov ecx, dword [rsp + 0x40]
call fcn.14000d208
mov edx, 1
xor ecx, ecx
call fcn.14002d9d0
int3
mov rcx, rsi
call fcn.140013a0c
mov ecx, r14d
call fcn.14000d208
mov ecx, 0x6e
call fcn.14002f1d8
mov edx, 1
xor ecx, ecx
call fcn.14002d9d0
int3
mov rcx, rsi
call fcn.140013a0c
mov ecx, r15d
call fcn.14000d208
mov ecx, 0x6e
call fcn.14002f1d8
mov edx, 1
xor ecx, ecx
call fcn.14002d9d0
int3
mov rcx, rsi
call fcn.140013a0c
mov ecx, r15d
call fcn.14000d208
mov ecx, 0x6e
call fcn.14002f1d8
mov edx, 1
xor ecx, ecx
call fcn.14002d9d0
int3
mov rcx, rsi
call fcn.140013a0c
mov ecx, 0x6e
call fcn.14002f1d8
mov edx, 1
xor ecx, ecx
call fcn.14002d9d0
int3
mov rcx, rsi
call fcn.140013a0c
mov ebx, 1
lea rcx, [rbp + 0x190]
call fcn.14001855c
lea rcx, [rbp + 0x3b0]
call fcn.14001855c
lea rcx, [rsp + 0x70]
call fcn.14001855c
mov eax, ebx
jmp 0x14002e3b5
lea rcx, [rbp + 0x190]
call fcn.14001855c
lea rcx, [rbp + 0x3b0]
call fcn.14001855c
lea rcx, [rsp + 0x70]
call fcn.14001855c
mov eax, 1
mov rcx, qword [rbp + 0x5d0]
xor rcx, rsp
call fcn.140018f80
mov rbx, qword [rsp + 0x730]
add rsp, 0x6e0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret