Function at 0x4ad23eb4
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
sub rsp, 0xab0
mov rax, qword [0x4ad2e1c8]
xor rax, rsp
mov qword [rsp + 0xaa0], rax
mov r12, rdx
mov qword [rsp + 0x50], rdx
mov rsi, rcx
mov edi, 0x80
lea r8, [rsp + 0x40]
xor r9d, r9d
mov edx, edi
mov ecx, 0xfe00
call fcn.4ad11494
xor r13d, r13d
mov r15, rax
cmp rax, r13
jne 0x4ad23f14
lea eax, [rdi - 0x7f]
jmp 0x4ad2456a
mov ebx, 1
cmp dword [0x4ad2e160], r13d
je 0x4ad23f53
mov edx, edi
mov edi, dword [rsp + 0x40]
lea r8, [rsp + 0x58]
mov ecx, edi
mov r9d, ebx
call fcn.4ad11494
mov qword [rsp + 0x48], rax
cmp rax, r13
je 0x4ad24568
mov r14d, dword [rsp + 0x58]
cmp edi, r14d
cmovb r14d, edi
jmp 0x4ad23f62
mov rax, qword [rsp + 0x50]
mov r14d, dword [rsp + 0x40]
mov qword [rsp + 0x48], rax
mov rdi, qword [rsi + 0x40]
jmp 0x4ad23f75
mov rdi, qword [rdi + 0x40]
cmp rdi, r13
je 0x4ad24469
mov rcx, qword [rdi]
call fcn.4ad07bb0
cmp eax, r13d
je 0x4ad23f68
mov rdx, qword [rdi]
lea rax, [rsp + 0x58]
xor r9d, r9d
mov qword [rsp + 0x28], rax
mov rax, qword [rdi + 0x30]
lea r8d, [r9 + 0x21]
lea rcx, [0x4ad04960]
mov qword [rsp + 0x20], rax
call fcn.4ad04688
mov rsi, qword [rsp + 0x58]
mov ebp, dword [rsp + 0x40]
and dword [rdi + 0x38], 0xffff3fff
mov eax, dword [rdi + 0x38]
test al, 4
je 0x4ad23fcb
and eax, 0xfffffffb
or eax, 2
mov dword [rdi + 0x38], eax
cmp dword [0x4ad2e19c], r13d
jne 0x4ad24560
lea rdx, [rsp + 0x890]
mov r8d, 0x104
mov rcx, rdi
call fcn.4ad11520
cmp eax, ebx
je 0x4ad24560
mov rdx, qword [rdi + 8]
lea rcx, str._s_r_n
call fcn.4ad05fc4
lea r8, [rsp + 0x60]
mov r9d, 0x104
mov rdx, r12
mov rcx, rdi
mov dword [rsp + 0x20], r13d
call fcn.4ad12480
cmp eax, ebx
je 0x4ad24560
cmp word [rsp + 0x60], r13w
je 0x4ad2443f
mov r8, qword [rdi + 8]
lea rcx, [rsp + 0x480]
mov edx, 0x208
call fcn.4ad045b0
cmp eax, r13d
jne 0x4ad24064
lea rdx, [rsp + 0x480]
lea rcx, [rsp + 0x60]
call fcn.4ad24700
jmp 0x4ad24067
mov eax, r13d
mov rcx, qword [rdi + 8]
cmp eax, r13d
je 0x4ad24089
mov r9d, r14d
mov r8, r15
mov rdx, rdi
call fcn.4ad24820
mov ebp, eax
mov dword [rsp + 0x40], eax
jmp 0x4ad24279
mov edx, dword [rdi + 0x38]
mov r9d, ebx
mov r8d, 3
and edx, 0x800
shl edx, 0xa
call fcn.4ad11788
mov r12d, eax
cmp eax, 0xffffffff
je 0x4ad24544
mov ecx, eax
call fcn.4ad03380
lea r9, [rsp + 0x44]
mov rdx, r15
cmp eax, r13d
mov eax, 0x80
mov ecx, r12d
cmovne r14d, eax
lea rax, [rsp + 0x60]
mov qword [rsp + 0x30], rax
mov r8d, r14d
mov dword [rsp + 0x28], ebp
mov qword [rsp + 0x20], rdi
call fcn.4ad116c4
cmp dword [0x4ad2e13c], 0
mov r13d, eax
jne 0x4ad24520
lea rcx, [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
lea rcx, [rsp + 0x60]
test al, 2
jne 0x4ad24133
call fcn.4ad129c0
mov ebp, eax
mov dword [rsp + 0x40], eax
cmp eax, 0xffffffff
je 0x4ad244fc
mov ecx, eax
call qword [sym.imp.msvcrt.dll__get_osfhandle]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetEndOfFile]
jmp 0x4ad24147
xor r9d, r9d
mov edx, ebx
lea r8d, [r9 + 3]
call fcn.4ad11788
mov ebp, eax
mov dword [rsp + 0x40], eax
cmp ebp, 0xffffffff
je 0x4ad244fc
cmp dword [0x4ad2e138], 0
je 0x4ad241c9
mov r8d, dword [rsp + 0x44]
test r8d, r8d
jle 0x4ad24255
lea r9, [rsp + 0x60]
mov rdx, r15
mov ecx, ebp
mov dword [rsp + 0x20], r12d
call fcn.4ad24604
cmp dword [0x4ad2e160], 0
je 0x4ad24255
mov ecx, ebp
call fcn.4ad03380
test eax, eax
jne 0x4ad24255
mov rax, qword [rsp + 0x48]
mov r8d, dword [rsp + 0x44]
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x40]
mov r9, r15
mov qword [rsp + 0x20], rax
call fcn.4ad2497c
cmp eax, ebx
je 0x4ad24470
mov ebp, dword [rsp + 0x40]
jmp 0x4ad24255
cmp r13d, ebx
jne 0x4ad24262
mov r8d, dword [rsp + 0x44]
lea r9, [rsp + 0x60]
mov rdx, r15
mov ecx, ebp
mov dword [rsp + 0x20], r12d
call fcn.4ad24604
cmp dword [0x4ad2e160], 0
je 0x4ad2422c
mov ecx, ebp
call fcn.4ad03380
test eax, eax
jne 0x4ad2422c
mov rax, qword [rsp + 0x48]
mov r8d, dword [rsp + 0x44]
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x40]
mov r9, r15
mov qword [rsp + 0x20], rax
call fcn.4ad2497c
cmp eax, ebx
je 0x4ad24493
mov ebp, dword [rsp + 0x40]
lea rax, [rsp + 0x60]
lea r9, [rsp + 0x44]
mov r8d, r14d
mov qword [rsp + 0x30], rax
mov rdx, r15
mov ecx, r12d
mov dword [rsp + 0x28], ebp
mov qword [rsp + 0x20], rdi
call fcn.4ad116c4
mov r13d, eax
cmp dword [0x4ad2e138], 0
je 0x4ad241c9
xor r13d, r13d
mov ecx, r12d
mov dword [0x4ad2e138], r13d
call fcn.4ad0319c
mov r12, qword [rsp + 0x50]
mov dword [0x4ad2e1bc], r13d
mov r13, qword [rdi + 0x40]
test r13, r13
je 0x4ad24425
mov eax, dword [r13 + 0x38]
test al, 4
je 0x4ad2429f
and eax, 0xfffffffb
or eax, 2
mov dword [r13 + 0x38], eax
mov r9, qword [rdi + 8]
mov r8, qword [r13]
lea rcx, [rsp + 0x270]
mov edx, 0x104
call fcn.4ad125b0
test eax, eax
je 0x4ad242c8
xor edx, edx
mov ecx, eax
call fcn.4ad07d88
jmp 0x4ad242dc
lea rdx, [rsp + 0x270]
lea rcx, str._s_r_n
call fcn.4ad05fc4
lea rcx, [rsp + 0x270]
call fcn.4ad07bb0
test eax, eax
je 0x4ad24413
lea r8, [rsp + 0x270]
lea rcx, [rsp + 0x480]
mov edx, 0x208
call fcn.4ad045b0
test eax, eax
jne 0x4ad24323
lea rdx, [rsp + 0x480]
lea rcx, [rsp + 0x60]
call fcn.4ad24700
jmp 0x4ad24325
xor eax, eax
test eax, eax
je 0x4ad2433a
xor edx, edx
mov ecx, 0x2340
call fcn.4ad07d88
jmp 0x4ad24413
xor edx, edx
lea rcx, [rsp + 0x270]
mov r9d, ebx
lea r8d, [rdx + 3]
call fcn.4ad11788
mov r12d, eax
cmp eax, 0xffffffff
je 0x4ad244d9
mov ecx, eax
call fcn.4ad03380
test eax, eax
mov eax, 0x80
cmovne r14d, eax
jmp 0x4ad243f7
lea rax, [rsp + 0x60]
lea r9, [rsp + 0x44]
mov r8d, r14d
mov qword [rsp + 0x30], rax
mov rdx, r15
mov ecx, r12d
mov dword [rsp + 0x28], ebp
mov qword [rsp + 0x20], r13
call fcn.4ad116c4
test eax, eax
je 0x4ad24404
mov r8d, dword [rsp + 0x44]
lea r9, [rsp + 0x60]
mov rdx, r15
mov ecx, ebp
mov dword [rsp + 0x20], r12d
call fcn.4ad24604
cmp dword [0x4ad2e160], 0
je 0x4ad243f7
mov ecx, ebp
call fcn.4ad03380
test eax, eax
jne 0x4ad243f7
mov rax, qword [rsp + 0x48]
mov r8d, dword [rsp + 0x44]
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x40]
mov r9, r15
mov qword [rsp + 0x20], rax
call fcn.4ad2497c
cmp eax, ebx
je 0x4ad244b6
mov ebp, dword [rsp + 0x40]
cmp dword [0x4ad2e138], 0
je 0x4ad24373
and dword [0x4ad2e138], 0
mov ecx, r12d
call fcn.4ad0319c
mov r13, qword [r13 + 0x40]
test r13, r13
jne 0x4ad2428d
mov r12, qword [rsp + 0x50]
xor r9d, r9d
mov r8d, ebp
mov rdx, r12
mov rcx, rdi
call fcn.4ad11600
mov dword [0x4ad2e1c0], ebx
xor r13d, r13d
mov rdx, qword [rdi + 0x30]
lea rcx, [0x4ad04960]
mov r9, rsi
mov r8d, 0x21
call fcn.4ad0b630
cmp al, r13b
jne 0x4ad23fb4
mov rcx, rsi
call fcn.4ad0478c
xor eax, eax
jmp 0x4ad2456a
mov rcx, rsi
call fcn.4ad0478c
mov ecx, r12d
call fcn.4ad0319c
mov ecx, dword [rsp + 0x40]
call fcn.4ad0319c
mov edx, ebx
xor ecx, ecx
call fcn.4ad2477c
int3
mov rcx, rsi
call fcn.4ad0478c
mov ecx, r12d
call fcn.4ad0319c
mov ecx, dword [rsp + 0x40]
call fcn.4ad0319c
mov edx, ebx
xor ecx, ecx
call fcn.4ad2477c
int3
mov rcx, rsi
call fcn.4ad0478c
mov ecx, r12d
call fcn.4ad0319c
mov ecx, dword [rsp + 0x40]
call fcn.4ad0319c
mov edx, ebx
xor ecx, ecx
call fcn.4ad2477c
int3
mov rcx, rsi
call fcn.4ad0478c
mov ecx, ebp
call fcn.4ad0319c
mov ecx, 0x6e
call fcn.4ad110f8
mov edx, ebx
xor ecx, ecx
call fcn.4ad2477c
int3
mov rcx, rsi
call fcn.4ad0478c
mov ecx, r12d
call fcn.4ad0319c
mov ecx, 0x6e
call fcn.4ad110f8
mov edx, ebx
xor ecx, ecx
call fcn.4ad2477c
int3
mov rcx, rsi
call fcn.4ad0478c
mov ecx, r12d
call fcn.4ad0319c
mov ecx, 0x6e
call fcn.4ad110f8
mov edx, ebx
xor ecx, ecx
call fcn.4ad2477c
int3
mov rcx, rsi
call fcn.4ad0478c
mov ecx, 0x6e
call fcn.4ad110f8
mov edx, ebx
xor ecx, ecx
call fcn.4ad2477c
int3
mov rcx, rsi
call fcn.4ad0478c
mov eax, ebx
mov rcx, qword [rsp + 0xaa0]
xor rcx, rsp
call fcn.4ad01000
mov rbx, qword [rsp + 0xb00]
add rsp, 0xab0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret