Function at 0x1400f46b0
Capabilities:
Write file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xb8
mov rax, qword [rcx]
movzx r9d, byte [rax]
cmp r9, 1
jne 0x1400f5165
mov rbp, rcx
mov rax, qword [rcx + 8]
add rax, 0xffffffffffffffff
cmp rax, 2
jb 0x1400f4b32
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcessId]
mov r15d, eax
cmp qword [0x140ce74e8], r15
jne 0x1400f470b
mov r15, qword [0x140ce74f0]
mov rcx, qword [rbp + 8]
cmp rcx, 0xffffffffffffffff
je 0x1400f4728
cmp qword [rbp + 0x2010], r15
je 0x1400f4b32
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea r14, [rbp + 0x1010]
lea r9, [rbp + 0x10]
cmp byte [0x140250850], 0
je 0x1400f4756
mov qword [rsp + 0x28], r15
lea rax, [0x140ce7510]
mov qword [rsp + 0x20], rax
lea r8, str._s._s._zu
jmp 0x1400f4762
mov qword [rsp + 0x20], r15
lea r8, str._s._zu
mov edx, 0x1000
mov rcx, r14
call fcn.1400d9e10
mov r11, qword [0x140250858]
test r11, r11
je 0x1400f4add
mov ebx, 1
xor edx, edx
nop word cs:[rax + rax]
mov rsi, rbx
cmp byte [r11 + rdx], 0
lea rdx, [rdx + 1]
lea rbx, [rbx + 1]
jne 0x1400f4790
lea r8, [rdx - 1]
xor ecx, ecx
nop dword [rax + rax]
cmp byte [rbp + rcx + 0x1010], 0
je 0x1400f4804
cmp byte [rbp + rcx + 0x1011], 0
je 0x1400f47ee
cmp byte [rbp + rcx + 0x1012], 0
je 0x1400f4800
cmp byte [rbp + rcx + 0x1013], 0
je 0x1400f49bc
add rcx, 4
cmp rcx, 0x1000
jne 0x1400f47b0
jmp 0x1400f4add
add rcx, 1
cmp rcx, 0x1000
jne 0x1400f4811
jmp 0x1400f4add
add rcx, 2
cmp rcx, 0x1000
je 0x1400f4add
lea r9, [rcx + rbp]
add r9, 0x1010
mov edi, 0x1000
sub rdi, rcx
cmp r8, rdi
jae 0x1400f48f0
cmp r9, r11
jae 0x1400f49d2
movabs rbx, 0x7fffffffffffffff
cmp r8, rbx
jae 0x1400f4add
cmp rdx, 8
jb 0x1400f4873
lea rbx, [r11 + rdx]
cmp r9, rbx
jae 0x1400f4c3c
lea rbx, [rcx + rbp]
add rbx, rdx
add rbx, 0x1010
cmp r11, rbx
jae 0x1400f4c3c
xor ebx, ebx
mov r8, rbx
not r8
add r8, rdx
test dl, 3
je 0x1400f48a8
lea r9, [rcx + rbp]
add r9, 0x1010
movzx esi, sil
and esi, 3
movzx eax, byte [r11 + rbx]
mov byte [r9 + rbx], al
add rbx, 1
add rsi, 0xffffffffffffffff
jne 0x1400f4895
cmp r8, 3
jb 0x1400f4add
add rcx, rbp
add rcx, 0x1013
movzx eax, byte [r11 + rbx]
mov byte [rcx + rbx - 3], al
movzx eax, byte [r11 + rbx + 1]
mov byte [rcx + rbx - 2], al
movzx eax, byte [r11 + rbx + 2]
mov byte [rcx + rbx - 1], al
movzx eax, byte [r11 + rbx + 3]
mov byte [rcx + rbx], al
add rbx, 4
cmp rdx, rbx
jne 0x1400f48bc
jmp 0x1400f4add
mov r10d, 0xfff
sub r10, rcx
cmp r9, r11
jae 0x1400f4a78
cmp rcx, 0xffe
ja 0x1400f4ad6
cmp r10, 8
jb 0x1400f493d
lea r9, [rcx + rbp]
add r9, 0x1010
lea rax, [r11 + r10]
cmp r9, rax
jae 0x1400f4c49
lea rax, [rbp + 0x200f]
cmp r11, rax
jae 0x1400f4c49
xor edx, edx
mov esi, 3
sub esi, ecx
lea r8, [rcx + rdx]
and rsi, 3
je 0x1400f496d
lea rbx, [rcx + rbp]
add rbx, 0x1010
movzx eax, byte [r11 + rdx]
mov byte [rbx + rdx], al
add rdx, 1
add rsi, 0xffffffffffffffff
jne 0x1400f495b
add r8, 0xfffffffffffff004
cmp r8, 3
jb 0x1400f4ad6
add rcx, rbp
add rcx, 0x1013
movzx eax, byte [r11 + rdx]
mov byte [rcx + rdx - 3], al
movzx eax, byte [r11 + rdx + 1]
mov byte [rcx + rdx - 2], al
movzx eax, byte [r11 + rdx + 2]
mov byte [rcx + rdx - 1], al
movzx eax, byte [r11 + rdx + 3]
mov byte [rcx + rdx], al
add rdx, 4
cmp r10, rdx
jne 0x1400f4988
jmp 0x1400f4ad6
add rcx, 3
cmp rcx, 0x1000
jne 0x1400f4811
jmp 0x1400f4add
movabs rax, 0x7fffffffffffffff
cmp r8, rax
jae 0x1400f4add
cmp r9, r11
jbe 0x1400f4add
xor r8d, r8d
test rdx, rdx
setne r8b
mov r10, rdx
sub r10, r8
add r10, 1
cmp r10, 4
jb 0x1400f4a4e
xor esi, esi
xor eax, eax
test rdx, rdx
sete r9b
setne al
add rax, rcx
add rax, rbp
add rax, 0x100f
lea rdi, [r11 + rdx]
cmp rax, rdi
jae 0x1400f4c56
lea rax, [rcx + rbp]
add rax, rdx
add rax, 0x1010
mov sil, r9b
mov rdi, r11
sub rdi, rsi
cmp rdi, rax
jae 0x1400f4c56
mov rsi, rdx
add rcx, rbp
add rcx, 0x100f
nop dword [rax + rax]
movzx eax, byte [r11 + rsi - 1]
mov byte [rcx + rsi], al
lea rax, [rsi - 1]
cmp rsi, 1
mov rsi, rax
ja 0x1400f4a60
jmp 0x1400f4add
cmp rcx, 0xffe
ja 0x1400f4ad6
cmp r9, r11
jbe 0x1400f4ad6
cmp r10, 4
jb 0x1400f4ab3
lea rax, [rcx + rbp]
add rax, 0x1010
lea rdx, [r11 + r10]
cmp rax, rdx
jae 0x1400f4c64
lea rax, [rbp + 0x200f]
cmp r11, rax
jae 0x1400f4c64
mov rbx, r10
add rcx, rbp
add rcx, 0x100f
movzx eax, byte [r11 + rbx - 1]
mov byte [rcx + rbx], al
lea rax, [rbx - 1]
cmp rbx, 1
mov rbx, rax
ja 0x1400f4ac0
mov byte [rbp + 0x200f], 0
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], pe_nt_image_headers64
mov dword [rsp + 0x20], 2
mov rcx, r14
mov edx, 0x40000000
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov rsi, rax
cmp rax, 0xffffffffffffffff
je 0x1400f4b46
cmp rsi, 1
je 0x1400f51a3
cmp rsi, 2
je 0x1400f51c7
mov qword [rbp + 8], rsi
mov qword [rbp + 0x2010], r15
add rsp, 0xb8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov qword [rbp + 8], rsi
mov ecx, 0xfffffff4
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
test rax, rax
je 0x1400f4b90
mov qword [rsp + 0x20], 0
lea rdx, str.ERROR:_Cant_open_file:
lea r9, [rsp + 0x50]
mov rcx, rax
mov r8d, 0x18
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x1400f4b90
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, 0xffffffff
mov rax, r14
nop dword [rax + rax]
add edi, 1
cmp byte [rax], 0
lea rax, [rax + 1]
jne 0x1400f4ba0
mov ecx, 0xfffffff4
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
test rax, rax
je 0x1400f4be3
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0x50]
mov rcx, rax
mov rdx, r14
mov r8d, edi
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x1400f4be3
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r8, str.__reason:__d_
lea rcx, [rsp + 0x50]
mov edx, 0x64
mov r9d, ebx
call fcn.1400d9e10
mov r8, 0xffffffffffffffff
nop word cs:[rax + rax]
nop dword [rax]
cmp byte [rsp + r8 + 0x51], 0
lea r8, [r8 + 1]
jne 0x1400f4c10
mov qword [rsp + 0x20], 0
lea rdx, [rsp + 0x50]
mov ecx, 2
xor r9d, r9d
call fcn.1400f43c0
call fcn.1400d2110
cmp rdx, 0x20
jae 0x1400f4c75
xor ebx, ebx
jmp 0x1400f4e1c
cmp r10, 0x20
jae 0x1400f4c9d
xor edx, edx
jmp 0x1400f4f10
cmp r10, 0x10
jae 0x1400f4ccb
xor r9d, r9d
jmp 0x1400f501a
cmp r10, 0x10
jae 0x1400f4cfb
xor edx, edx
jmp 0x1400f5121
mov rbx, rdx
and rbx, 0xffffffffffffffe0
lea rdi, [rbx - 0x20]
mov r8, rdi
shr r8, 5
add r8, 1
cmp rdi, 0x60
jae 0x1400f4d29
xor r9d, r9d
jmp 0x1400f4db6
mov rdx, r10
and rdx, 0xffffffffffffffe0
lea rsi, [rdx - 0x20]
mov rax, rsi
shr rax, 5
add rax, 1
mov r8d, eax
and r8d, 3
cmp rsi, 0x60
jae 0x1400f4e50
xor ebx, ebx
jmp 0x1400f4ec1
neg r8
mov r9, r10
and r9, 0xfffffffffffffff0
lea rsi, [r9 - 0x10]
mov rax, rsi
shr rax, 4
add rax, 1
cmp rsi, 0x30
mov qword [rsp + 0x40], r8
jae 0x1400f4f39
xor r12d, r12d
jmp 0x1400f4fa9
mov rdx, r10
and rdx, 0xfffffffffffffff0
lea rax, [rdx - 0x10]
mov rsi, rax
shr rsi, 4
add rsi, 1
mov r8d, esi
and r8d, 3
cmp rax, 0x30
jae 0x1400f507e
xor ebx, ebx
jmp 0x1400f50d5
lea r10, [rcx + rbp]
add r10, 0x1080
mov rax, rdx
and rax, 0xffffffffffffffe0
add rax, 0xffffffffffffffe0
shr rax, 5
add rax, 1
and rax, 0xfffffffffffffffc
xor r9d, r9d
movups xmm0, xmmword [r11 + r9]
movups xmm1, xmmword [r11 + r9 + 0x10]
movups xmmword [r10 + r9 - 0x70], xmm0
movups xmmword [r10 + r9 - 0x60], xmm1
movups xmm0, xmmword [r11 + r9 + 0x20]
movups xmm1, xmmword [r11 + r9 + 0x30]
movups xmmword [r10 + r9 - 0x50], xmm0
movups xmmword [r10 + r9 - 0x40], xmm1
movups xmm0, xmmword [r11 + r9 + 0x40]
movups xmm1, xmmword [r11 + r9 + 0x50]
movups xmmword [r10 + r9 - 0x30], xmm0
movups xmmword [r10 + r9 - 0x20], xmm1
movups xmm0, xmmword [r11 + r9 + 0x60]
movups xmm1, xmmword [r11 + r9 + 0x70]
movups xmmword [r10 + r9 - 0x10], xmm0
movups xmmword [r10 + r9], xmm1
sub r9, 0xffffffffffffff80
add rax, 0xfffffffffffffffc
jne 0x1400f4d4e
test r8b, 3
je 0x1400f4e0a
lea rdi, [rcx + r9]
lea r8, [rdi + rbp]
add r8, 0x1020
add r9, r11
add r9, 0x10
mov eax, edx
and al, 0x60
add al, 0xe0
shr al, 5
add al, 1
movzx r10d, al
and r10d, 3
shl r10, 5
xor edi, edi
movups xmm0, xmmword [r9 + rdi - 0x10]
movups xmm1, xmmword [r9 + rdi]
movups xmmword [r8 + rdi - 0x10], xmm0
movups xmmword [r8 + rdi], xmm1
add rdi, 0x20
cmp r10, rdi
jne 0x1400f4deb
cmp rdx, rbx
je 0x1400f4add
test dl, 0x18
je 0x1400f4875
mov rdi, rbx
mov rbx, rdx
and rbx, 0xfffffffffffffff8
lea r8, [rcx + rbp]
add r8, 0x1010
mov rax, qword [r11 + rdi]
mov qword [r8 + rdi], rax
add rdi, 8
cmp rbx, rdi
jne 0x1400f4e31
cmp rdx, rbx
je 0x1400f4add
jmp 0x1400f4875
and rax, 0xfffffffffffffffc
lea rsi, [rcx + rbp]
add rsi, 0x1080
xor ebx, ebx
movups xmm0, xmmword [r11 + rbx]
movups xmm1, xmmword [r11 + rbx + 0x10]
movups xmmword [rsi + rbx - 0x70], xmm0
movups xmmword [rsi + rbx - 0x60], xmm1
movups xmm0, xmmword [r11 + rbx + 0x20]
movups xmm1, xmmword [r11 + rbx + 0x30]
movups xmmword [rsi + rbx - 0x50], xmm0
movups xmmword [rsi + rbx - 0x40], xmm1
movups xmm0, xmmword [r11 + rbx + 0x40]
movups xmm1, xmmword [r11 + rbx + 0x50]
movups xmmword [rsi + rbx - 0x30], xmm0
movups xmmword [rsi + rbx - 0x20], xmm1
movups xmm0, xmmword [r11 + rbx + 0x60]
movups xmm1, xmmword [r11 + rbx + 0x70]
movups xmmword [rsi + rbx - 0x10], xmm0
movups xmmword [rsi + rbx], xmm1
sub rbx, 0xffffffffffffff80
add rax, 0xfffffffffffffffc
jne 0x1400f4e61
test r8, r8
je 0x1400f4efd
lea rax, [rcx + rbx]
lea rsi, [rax + rbp]
add rsi, 0x1020
add rbx, r11
add rbx, 0x10
shl r8, 5
xor edi, edi
movups xmm0, xmmword [rbx + rdi - 0x10]
movups xmm1, xmmword [rbx + rdi]
movups xmmword [rsi + rdi - 0x10], xmm0
movups xmmword [rsi + rdi], xmm1
add rdi, 0x20
cmp r8, rdi
jne 0x1400f4ee2
cmp r10, rdx
je 0x1400f4ad6
test r10b, 0x18
je 0x1400f493f
mov rbx, rdx
mov rdx, r10
and rdx, 0xfffffffffffffff8
mov rax, qword [r11 + rbx]
mov qword [r9 + rbx], rax
add rbx, 8
cmp rdx, rbx
jne 0x1400f4f1a
cmp r10, rdx
je 0x1400f4ad6
jmp 0x1400f493f
mov qword [rsp + 0x48], rax
lea rsi, [r8 + rdx]
add rsi, 1
and rsi, 0xfffffffffffffff0
add rsi, 0xfffffffffffffff0
shr rsi, 4
add rsi, 1
and rsi, 0xfffffffffffffffc
lea r13, [rcx + rbp]
add r13, 0x1000
xor r12d, r12d
lea rdi, [r11 + r12]
movups xmm0, xmmword [rdx + rdi - 0x10]
lea rax, [r12 + r13]
movups xmmword [rdx + rax], xmm0
movups xmm0, xmmword [rdx + rdi - 0x20]
movups xmmword [rdx + rax - 0x10], xmm0
movups xmm0, xmmword [rdx + rdi - 0x30]
movups xmmword [rdx + rax - 0x20], xmm0
movups xmm0, xmmword [rdx + rdi - 0x40]
movups xmmword [rdx + rax - 0x30], xmm0
add r12, 0xffffffffffffffc0
add rsi, 0xfffffffffffffffc
jne 0x1400f4f68
neg r12
mov rax, qword [rsp + 0x48]
test al, 3
je 0x1400f5007
mov r8, rcx
sub r8, r12
mov rax, qword [rsp + 0x40]
lea esi, [rax + rdx]
add sil, 1
and sil, 0x30
add sil, 0xf0
shr sil, 4
add sil, 1
movzx r13d, sil
and r13d, 3
shl r13, 4
mov rsi, r11
sub rsi, r12
add r8, rbp
xor edi, edi
lea rax, [rsi + rdi]
movups xmm0, xmmword [rdx + rax - 0x10]
lea rax, [r8 + rdi]
movups xmmword [rdx + rax + 0x1000], xmm0
add rdi, 0xfffffffffffffff0
mov rax, r13
add rax, rdi
jne 0x1400f4fe6
cmp r10, r9
je 0x1400f4add
test r10b, 0xc
je 0x1400f5186
xor eax, eax
test rdx, rdx
setne al
mov r8, rdx
sub r8, rax
add r8, 1
mov r10, r8
and r10, 0xfffffffffffffffc
sub rbx, rax
and rbx, 0xfffffffffffffffc
mov rsi, rdx
sub rsi, rbx
mov r13, rcx
sub r13, r9
mov r12, r11
sub r12, r9
sub r9, r10
add r13, rbp
xor edi, edi
lea rax, [r12 + rdi]
mov eax, dword [rdx + rax - 4]
lea rbx, [rdi + r13]
mov dword [rdx + rbx + 0x100c], eax
add rdi, 0xfffffffffffffffc
cmp r9, rdi
jne 0x1400f5054
cmp r8, r10
jne 0x1400f4a51
jmp 0x1400f4add
and rsi, 0xfffffffffffffffc
mov r9, r11
sub r9, rcx
add r9, 0xfef
xor ebx, ebx
movups xmm0, xmmword [r9 + rbx]
movups xmmword [rbp + rbx + 0x1fff], xmm0
movups xmm0, xmmword [r9 + rbx - 0x10]
movups xmmword [rbp + rbx + 0x1fef], xmm0
movups xmm0, xmmword [r9 + rbx - 0x20]
movups xmmword [rbp + rbx + 0x1fdf], xmm0
movups xmm0, xmmword [r9 + rbx - 0x30]
movups xmmword [rbp + rbx + 0x1fcf], xmm0
add rbx, 0xffffffffffffffc0
add rsi, 0xfffffffffffffffc
jne 0x1400f5091
neg rbx
test r8, r8
je 0x1400f5112
mov r9, rbp
sub r9, rbx
add r9, 0x1fff
add rbx, rcx
mov rsi, r11
sub rsi, rbx
add rsi, 0xfef
shl r8, 4
xor ebx, ebx
movups xmm0, xmmword [rsi + rbx]
movups xmmword [r9 + rbx], xmm0
add rbx, 0xfffffffffffffff0
mov rax, r8
add rax, rbx
jne 0x1400f50fd
cmp r10, rdx
je 0x1400f4ad6
test r10b, 0xc
je 0x1400f519a
mov r8, r10
and r8, 0xfffffffffffffffc
mov ebx, r10d
and ebx, 3
neg rdx
mov rsi, r11
sub rsi, rcx
add rsi, 0xffb
mov rdi, r8
neg rdi
mov eax, dword [rsi + rdx]
mov dword [rbp + rdx + 0x200b], eax
add rdx, 0xfffffffffffffffc
cmp rdi, rdx
jne 0x1400f5144
cmp r10, r8
jne 0x1400f4ab6
jmp 0x1400f4ad6
mov qword [rsp + 0x20], 1
lea rcx, str....._sanitizer_common_sanitizer_mutex.h
lea r8, str.__atomic_load_state___memory_order_relaxed_______1__
mov edx, 0x2c
call fcn.1400be3d0
mov rax, qword [rsp + 0x40]
add rax, rbx
and rax, 0xfffffffffffffff0
sub rdx, rax
jmp 0x1400f4a4e
and r10d, 0xf
jmp 0x1400f4ab3
mov qword [rsp + 0x20], 0
lea rcx, str.gotsan.cpp
lea r8, str.__res_____fd_t_1_____fd_t_1_____fd_t__1_______0_
mov edx, 0x2485
xor r9d, r9d
call fcn.1400be3d0
mov qword [rsp + 0x20], 0
lea rcx, str.gotsan.cpp
lea r8, str.__res_____fd_t_2_____fd_t_2_____fd_t__1_______0_
mov edx, 0x2486
xor r9d, r9d
call fcn.1400be3d0
int3