Function at 0x140026ef0
Capabilities:
Read file on windows

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x870
mov rax, qword [0x140193440]
xor rax, rsp
mov qword [rsp + 0x860], rax
mov r14, qword [0x14019f500]
lea rax, [0x14015f818]
xor ebp, ebp
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x40], rdx
lea rax, str.w__ccsUTF_8
mov qword [rsp + 0x50], rax
lea rax, str.w__ccsUTF_16LE
mov qword [rsp + 0x58], rax
mov rdi, rdx
mov qword [rsp + 0x38], r14
mov rbx, rcx
mov qword [rsp + 0x30], rbp
mov esi, ebp
mov word [rsp + 0x20], bp
mov r15d, ebp
mov dword [rsp + 0x28], ebp
mov r12d, ebp
test r14, r14
je 0x1400273d1
test rcx, rcx
je 0x1400273d1
test rdx, rdx
je 0x1400273d1
cmp byte [r14], sil
je 0x1400273d1
cmp byte [rcx], sil
je 0x1400273d1
cmp byte [rdx], sil
je 0x1400273d1
mov rcx, r14
mov qword [rsp + 0x8c0], r13
call fcn.1400259f0
mov r13, rax
test rax, rax
jne 0x140026fc9
mov rdx, r14
lea rcx, str.Could_not_convert__s_to_UTF_16
call fcn.14004f910
jmp 0x140027382
mov rcx, rbx
call fcn.1400259f0
mov rsi, rax
test rax, rax
jne 0x140026fed
mov rdx, rbx
lea rcx, str.Could_not_convert__s_to_UTF_16
call fcn.14004f910
jmp 0x140027382
mov rcx, rdi
call fcn.1400259f0
mov qword [rsp + 0x30], rax
test rax, rax
jne 0x140027013
mov rdx, rdi
lea rcx, str.Could_not_convert__s_to_UTF_16
call fcn.14004f910
jmp 0x140027382
lea rdx, str.r__ccsUNICODE
mov rcx, r13
call fcn.1400e94a4
mov r14, rax
test rax, rax
jne 0x140027040
mov rdx, qword [rsp + 0x38]
lea rcx, str.Could_not_open_file__s_n
call fcn.14004f910
jmp 0x140027382
mov edx, 2
lea rcx, [rsp + 0x20]
mov r9, r14
lea r8d, [rdx - 1]
call fcn.14010ab00
cmp rax, 1
jne 0x140027090
movzx eax, word [rsp + 0x20]
cmp eax, 0xbbef
je 0x14002707b
cmp eax, 0xfeff
mov ebx, 2
cmovne ebx, ebp
mov dword [rsp + 0x28], ebx
jmp 0x140027083
mov dword [rsp + 0x28], 1
xor r8d, r8d
xor edx, edx
mov rcx, r14
call fcn.140109828
mov rcx, 0xffffffffffffffff
nop word [rax + rax]
inc rcx
cmp word [r13 + rcx*2], bp
jne 0x1400270a0
add rcx, 2
mov edx, 2
call fcn.1400c537c
mov r15, rax
test rax, rax
jne 0x1400270da
lea rcx, str.Could_not_allocate_space_for_temporary_output_name_n
call fcn.14004f910
mov rcx, r14
call fcn.1400e9730
jmp 0x140027382
mov rdx, r15
mov rcx, r13
sub rdx, r13
nop dword [rax]
nop word [rax + rax]
movzx eax, word [rcx]
mov word [rdx + rcx], ax
lea rcx, [rcx + 2]
test ax, ax
jne 0x1400270f0
mov rax, 0xffffffffffffffff
nop word [rax + rax]
cmp word [r15 + rax*2 + 2], bp
lea rax, [rax + 1]
jne 0x140027110
mov edx, dword [rsp + 0x28]
mov rcx, r15
mov word [r15 + rax*2], 0x7e
mov rdx, qword [rsp + rdx*8 + 0x48]
call fcn.1400e94a4
mov rdi, rax
test rax, rax
jne 0x140027155
mov rdx, qword [rsp + 0x38]
lea rcx, str.Could_not_open_temporary_output_file__s_n
call fcn.14004f910
mov rcx, r14
jmp 0x140027375
mov r8, r14
lea rcx, [rsp + 0x60]
mov edx, 0x400
call fcn.140109c10
test rax, rax
je 0x140027284
lea rdx, [0x140152478]
lea rcx, [rsp + 0x60]
call fcn.14010a144
mov rbx, rax
mov edx, 0xffdf
lea rax, [rsp + 0x60]
movzx ecx, word [rax + rbx*2]
lea rax, [rax + rbx*2]
sub cx, 0x3b
test dx, cx
je 0x140027257
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp word [rsi + r8*2], bp
jne 0x1400271b0
mov rdx, rsi
mov rcx, rax
call fcn.14010a6e4
test eax, eax
jne 0x140027257
mov rax, 0xffffffffffffffff
inc rax
cmp word [rsi + rax*2], bp
jne 0x1400271d4
add rbx, rax
lea rcx, [rsp + 0x60]
lea rdx, [0x140152478]
lea rcx, [rcx + rbx*2]
call fcn.14010a144
add rbx, rax
lea rcx, [rsp + 0x60]
cmp word [rsp + rbx*2 + 0x60], 0x3d
jne 0x14002725c
inc rbx
lea rdx, [0x140152478]
lea rcx, [rcx + rbx*2]
call fcn.14010a144
add rax, rbx
add rax, rax
cmp rax, 0x800
jae 0x1400273d5
mov rdx, rdi
mov word [rsp + rax + 0x60], bp
lea rcx, [rsp + 0x60]
call fcn.1401092b4
mov r8, qword [rsp + 0x30]
lea rdx, [0x14015f8e8]
mov rcx, rdi
call fcn.140016bd0
mov r12, qword [rsp + 0x40]
jmp 0x140027264
lea rcx, [rsp + 0x60]
mov rdx, rdi
call fcn.1401092b4
mov r8, r14
lea rcx, [rsp + 0x60]
mov edx, 0x400
call fcn.140109c10
test rax, rax
jne 0x140027170
test r12, r12
jne 0x1400272a0
mov r9, qword [rsp + 0x30]
lea rdx, str._s___s_n
mov r8, rsi
mov rcx, rdi
call fcn.140016bd0
mov r12, qword [rsp + 0x40]
mov rcx, r14
call fcn.1400e9730
mov rcx, rdi
call fcn.1400e9730
lea rdx, [0x14015f2b4]
mov rcx, r15
call fcn.1400e94a4
lea rdx, [0x14015f904]
mov rcx, r13
mov rdi, rax
call fcn.1400e94a4
mov rbx, rax
test rdi, rdi
je 0x14002734c
test rax, rax
je 0x14002734c
cmp dword [rsp + 0x28], 2
lea rcx, [rsp + 0x24]
mov r9, rdi
mov r8d, 1
sete bpl
inc rbp
mov rdx, rbp
call fcn.14010ab00
cmp rax, 1
jne 0x140027342
nop word [rax + rax]
mov r9, rbx
lea rcx, [rsp + 0x24]
mov r8d, 1
mov rdx, rbp
call fcn.14010a0a0
mov r9, rdi
lea rcx, [rsp + 0x24]
mov r8d, 1
mov rdx, rbp
call fcn.14010ab00
cmp rax, 1
je 0x140027310
mov rcx, rdi
call fcn.1400e9730
jmp 0x140027372
mov rdx, qword [rsp + 0x38]
lea rcx, str.Could_not_write__s___original_file_has_been_left_unmodified_n
call fcn.14004f910
mov r12, rbp
test rdi, rdi
je 0x14002736d
mov rcx, rdi
call fcn.1400e9730
test rbx, rbx
je 0x14002737a
mov rcx, rbx
call fcn.1400e9730
mov rcx, r15
call fcn.14010ac78
mov rcx, r13
call fcn.1400e9080
mov rcx, r15
call fcn.1400e9080
mov rcx, rsi
call fcn.1400e9080
mov rcx, qword [rsp + 0x30]
call fcn.1400e9080
mov r13, qword [rsp + 0x8c0]
mov rax, r12
mov rcx, qword [rsp + 0x860]
xor rcx, rsp
call fcn.1400b1f80
add rsp, 0x870
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
xor eax, eax
jmp 0x1400273af
call fcn.1400b20a8
int3