Function at 0x140031450
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 [0x1400400b0]
xor rax, rsp
mov qword [rbp + 0x5d0], rax
mov r14d, 0x104
mov qword [rsp + 0x60], rdx
mov r15, rdx
mov byte [rbp + 0x180], 1
mov rdi, rcx
mov qword [rbp + 0x188], r14
xor ebx, ebx
lea rcx, [rsp + 0x70]
mov r8d, r14d
mov qword [rsp + 0x50], rbx
xor edx, edx
mov qword [rbp + 0x178], rbx
or esi, 0xffffffff
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov r8d, r14d
mov qword [rbp + 0x5b8], rbx
xor edx, edx
mov byte [rbp + 0x5c0], 1
lea rcx, [rbp + 0x3b0]
mov qword [rbp + 0x5c8], r14
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov r8d, r14d
mov qword [rbp + 0x398], rbx
xor edx, edx
mov byte [rbp + 0x3a0], 1
lea rcx, [rbp + 0x190]
mov qword [rbp + 0x3a8], r14
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov al, byte [rbp + 0x180]
lea rcx, [rsp + 0x70]
neg al
mov r12d, 0x7ee3
sbb rdx, rdx
and rdx, r12
add rdx, r14
call fcn.140010e10
test eax, eax
js 0x140031c4c
mov al, byte [rbp + 0x5c0]
lea rcx, [rbp + 0x3b0]
neg al
sbb rdx, rdx
and rdx, r12
add rdx, r14
call fcn.140010e10
test eax, eax
js 0x140031c4c
mov al, byte [rbp + 0x3a0]
lea rcx, [rbp + 0x190]
neg al
sbb rdx, rdx
and rdx, r12
add rdx, r14
call fcn.140010e10
test eax, eax
js 0x140031c4c
xor r9d, r9d
lea r8, [rsp + 0x48]
mov ecx, 0xfe00
call fcn.1400055f8
mov qword [rsp + 0x58], rax
mov r13, rax
test rax, rax
je 0x140031c4c
cmp dword [0x14004cb60], ebx
mov r12d, dword [rsp + 0x48]
je 0x1400315d8
lea r9d, [rsi + 2]
mov ecx, r12d
lea r8, [rsp + 0x40]
call fcn.1400055f8
mov qword [rsp + 0x50], rax
test rax, rax
je 0x140031c4c
cmp r12d, dword [rsp + 0x40]
cmovae r12d, dword [rsp + 0x40]
mov rdi, qword [rdi + 0x40]
jmp 0x1400315eb
mov rdi, qword [rdi + 0x40]
test rdi, rdi
je 0x140031c26
mov rcx, qword [rdi]
call fcn.14001bd90
test eax, eax
je 0x1400315de
mov rdx, qword [rdi]
lea rax, [rsp + 0x48]
mov qword [rsp + 0x28], rax
lea rcx, [0x14001e0f0]
mov rax, qword [rdi + 0x30]
xor r9d, r9d
mov qword [rsp + 0x20], rax
lea r8d, [r9 + 0x21]
call fcn.14001da20
mov r14, qword [rsp + 0x48]
mov ecx, dword [rdi + 0x38]
mov eax, ecx
and eax, 0xffff3fff
mov dword [rdi + 0x38], eax
test cl, 4
je 0x140031643
and ecx, 0xffff3ffb
or ecx, 2
mov dword [rdi + 0x38], ecx
cmp dword [0x1400449b4], ebx
jne 0x140031c19
cmp qword [rbp + 0x5b8], rbx
lea rdx, [rbp + 0x3b0]
mov r8d, dword [rbp + 0x5c8]
mov rcx, rdi
cmovne rdx, qword [rbp + 0x5b8]
call fcn.1400054c4
cmp eax, 1
je 0x140031c19
mov rdx, qword [rdi + 8]
lea rcx, str._s_r_n
call fcn.14000dc90
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.140004b30
cmp eax, 1
je 0x140031c19
mov rcx, qword [rbp + 0x178]
lea rax, [rsp + 0x70]
test rcx, rcx
cmovne rax, rcx
cmp word [rax], bx
je 0x140031ba4
test rcx, rcx
lea rdx, [rsp + 0x70]
cmovne rdx, rcx
mov rcx, qword [rdi + 8]
call fcn.140031f20
mov rcx, qword [rdi + 8]
test eax, eax
je 0x140031712
mov r9d, r12d
mov r8, r13
mov rdx, rdi
call fcn.140031dac
mov esi, eax
mov dword [rsp + 0x40], eax
jmp 0x140031982
mov edx, dword [rdi + 0x38]
and edx, 0x800
shl edx, 0xa
call fcn.14000a9dc
mov r15d, eax
cmp eax, 0xffffffff
je 0x140031c9e
mov ecx, eax
call fcn.14001447c
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], esi
mov qword [rsp + 0x20], rdi
call fcn.1400053fc
cmp dword [0x14004cc50], ebx
mov dword [rsp + 0x48], eax
jne 0x140031d7c
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 0x1400317f1
cmp qword [rbp + 0x178], rbx
cmovne rcx, qword [rbp + 0x178]
call fcn.14000667c
mov dword [rsp + 0x40], eax
mov esi, eax
cmp eax, 0xffffffff
je 0x140031d55
mov ecx, eax
call qword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o__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 0x140031810
cmp qword [rbp + 0x178], rbx
mov edx, 1
cmovne rcx, qword [rbp + 0x178]
call fcn.14000a9dc
mov esi, eax
mov dword [rsp + 0x40], eax
cmp esi, 0xffffffff
je 0x140031d55
cmp dword [0x14004cc40], ebx
je 0x1400318ae
mov r8d, dword [rsp + 0x44]
test r8d, r8d
jle 0x1400318a2
cmp qword [rbp + 0x178], rbx
lea r9, [rsp + 0x70]
mov rdx, r13
mov dword [rsp + 0x20], r15d
cmovne r9, qword [rbp + 0x178]
mov ecx, esi
call fcn.1400321e4
cmp dword [0x14004cb60], ebx
je 0x1400318a2
mov ecx, esi
call fcn.14001447c
test eax, eax
jne 0x1400318a2
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.140031260
cmp eax, 1
je 0x140031cbd
mov esi, dword [rsp + 0x40]
cmp dword [0x14004cc40], ebx
jne 0x140031974
mov eax, dword [rsp + 0x48]
cmp eax, 1
jne 0x140031974
cmp qword [rbp + 0x178], rbx
lea r9, [rsp + 0x70]
mov r8d, dword [rsp + 0x44]
mov rdx, r13
cmovne r9, qword [rbp + 0x178]
mov ecx, esi
mov dword [rsp + 0x20], r15d
call fcn.1400321e4
cmp dword [0x14004cb60], ebx
je 0x140031933
mov ecx, esi
call fcn.14001447c
test eax, eax
jne 0x140031933
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.140031260
cmp eax, 1
je 0x140031ce3
mov esi, 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], esi
mov qword [rsp + 0x20], rdi
call fcn.1400053fc
cmp dword [0x14004cc40], ebx
je 0x1400318b2
mov ecx, r15d
mov dword [0x14004cc40], ebx
call fcn.140014604
mov r15, qword [rdi + 0x40]
mov dword [0x14004cb64], ebx
test r15, r15
je 0x140031b8e
mov eax, dword [r15 + 0x38]
test al, 4
je 0x1400319a7
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.140004ff8
test eax, eax
je 0x1400319de
xor edx, edx
mov ecx, eax
call fcn.140002bc4
jmp 0x140031a00
cmp qword [rbp + 0x398], rbx
lea rdx, [rbp + 0x190]
lea rcx, str._s_r_n
cmovne rdx, qword [rbp + 0x398]
call fcn.14000dc90
cmp qword [rbp + 0x398], rbx
lea rcx, [rbp + 0x190]
cmovne rcx, qword [rbp + 0x398]
call fcn.14001bd90
test eax, eax
je 0x140031b7c
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.140031f20
test eax, eax
je 0x140031a67
xor edx, edx
mov ecx, 0x2340
call fcn.140002bc4
jmp 0x140031b7c
cmp qword [rbp + 0x398], rbx
lea rcx, [rbp + 0x190]
cmovne rcx, qword [rbp + 0x398]
xor edx, edx
call fcn.14000a9dc
mov r13d, eax
cmp eax, 0xffffffff
je 0x140031d2f
mov ecx, eax
call fcn.14001447c
test eax, eax
mov eax, 0x80
cmovne r12d, eax
jmp 0x140031b62
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], esi
mov qword [rsp + 0x20], r15
call fcn.1400053fc
test eax, eax
je 0x140031b6e
cmp qword [rbp + 0x178], rbx
lea r9, [rsp + 0x70]
mov r8d, dword [rsp + 0x44]
mov ecx, esi
cmovne r9, qword [rbp + 0x178]
mov rdx, qword [rsp + 0x58]
mov dword [rsp + 0x20], r13d
call fcn.1400321e4
cmp dword [0x14004cb60], ebx
je 0x140031b62
mov ecx, esi
call fcn.14001447c
test eax, eax
jne 0x140031b62
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.140031260
cmp eax, 1
je 0x140031d09
mov esi, dword [rsp + 0x40]
cmp dword [0x14004cc40], ebx
je 0x140031aa7
mov ecx, r13d
mov dword [0x14004cc40], ebx
call fcn.140014604
mov r15, qword [r15 + 0x40]
test r15, r15
jne 0x140031995
mov r13, qword [rsp + 0x58]
mov r15, qword [rsp + 0x60]
xor r9d, r9d
mov rdx, r15
mov r8d, esi
mov rcx, rdi
call fcn.140005584
mov rdx, qword [rdi + 0x30]
lea rcx, [0x14001e0f0]
mov r9, r14
mov r8d, 0x21
call fcn.14001e760
test al, al
jne 0x140031625
mov rcx, r14
call fcn.140019110
mov rcx, qword [rbp + 0x398]
mov qword [rbp + 0x398], rbx
test rcx, rcx
je 0x140031be5
call fcn.14001fe90
mov rcx, qword [rbp + 0x5b8]
mov qword [rbp + 0x5b8], rbx
test rcx, rcx
je 0x140031bfd
call fcn.14001fe90
mov rcx, qword [rbp + 0x178]
mov qword [rbp + 0x178], rbx
test rcx, rcx
je 0x140031c15
call fcn.14001fe90
xor eax, eax
jmp 0x140031c73
mov rcx, r14
call fcn.140019110
mov ebx, 1
lea rcx, [rbp + 0x190]
call fcn.14001e0bc
lea rcx, [rbp + 0x3b0]
call fcn.14001e0bc
lea rcx, [rsp + 0x70]
call fcn.14001e0bc
mov eax, ebx
jmp 0x140031c73
lea rcx, [rbp + 0x190]
call fcn.14001e0bc
lea rcx, [rbp + 0x3b0]
call fcn.14001e0bc
lea rcx, [rsp + 0x70]
call fcn.14001e0bc
mov eax, 1
mov rcx, qword [rbp + 0x5d0]
xor rcx, rsp
call fcn.14001f920
mov rbx, qword [rsp + 0x730]
add rsp, 0x6e0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov rcx, r14
call fcn.140019110
mov ecx, 0x6e
call fcn.140032bb8
mov edx, 1
xor ecx, ecx
call fcn.1400313b4
int3
mov rcx, r14
call fcn.140019110
mov ecx, r15d
call fcn.140014604
mov ecx, dword [rsp + 0x40]
call fcn.140014604
mov edx, 1
xor ecx, ecx
call fcn.1400313b4
int3
mov rcx, r14
call fcn.140019110
mov ecx, r15d
call fcn.140014604
mov ecx, dword [rsp + 0x40]
call fcn.140014604
mov edx, 1
xor ecx, ecx
call fcn.1400313b4
int3
mov rcx, r14
call fcn.140019110
mov ecx, r13d
call fcn.140014604
mov ecx, dword [rsp + 0x40]
call fcn.140014604
mov edx, 1
xor ecx, ecx
call fcn.1400313b4
int3
mov rcx, r14
call fcn.140019110
mov ecx, esi
call fcn.140014604
mov ecx, 0x6e
call fcn.140032bb8
mov edx, 1
xor ecx, ecx
call fcn.1400313b4
int3
mov rcx, r14
call fcn.140019110
mov ecx, r15d
call fcn.140014604
mov ecx, 0x6e
call fcn.140032bb8
mov edx, 1
xor ecx, ecx
call fcn.1400313b4
int3
mov rcx, r14
call fcn.140019110
mov ecx, r15d
call fcn.140014604
mov ecx, 0x6e
call fcn.140032bb8
mov edx, 1
xor ecx, ecx
call fcn.1400313b4
int3