Function at 0x140026fa0
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 [0x14019f580]
lea rax, [0x14015f8c8]
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 0x140027481
test rcx, rcx
je 0x140027481
test rdx, rdx
je 0x140027481
cmp byte [r14], sil
je 0x140027481
cmp byte [rcx], sil
je 0x140027481
cmp byte [rdx], sil
je 0x140027481
mov rcx, r14
mov qword [rsp + 0x8c0], r13
call fcn.140025a90
mov r13, rax
test rax, rax
jne 0x140027079
mov rdx, r14
lea rcx, str.Could_not_convert__s_to_UTF_16
call fcn.14004f2f0
jmp 0x140027432
mov rcx, rbx
call fcn.140025a90
mov rsi, rax
test rax, rax
jne 0x14002709d
mov rdx, rbx
lea rcx, str.Could_not_convert__s_to_UTF_16
call fcn.14004f2f0
jmp 0x140027432
mov rcx, rdi
call fcn.140025a90
mov qword [rsp + 0x30], rax
test rax, rax
jne 0x1400270c3
mov rdx, rdi
lea rcx, str.Could_not_convert__s_to_UTF_16
call fcn.14004f2f0
jmp 0x140027432
lea rdx, str.r__ccsUNICODE
mov rcx, r13
call fcn.1400e9094
mov r14, rax
test rax, rax
jne 0x1400270f0
mov rdx, qword [rsp + 0x38]
lea rcx, str.Could_not_open_file__s_n
call fcn.14004f2f0
jmp 0x140027432
mov r9, r14
lea rcx, [rsp + 0x20]
mov edx, 2
mov r8d, 1
call fcn.14010a6f0
cmp rax, 1
jne 0x140027142
movzx eax, word [rsp + 0x20]
cmp eax, 0xbbef
je 0x14002712d
cmp eax, 0xfeff
mov ebx, 2
cmovne ebx, ebp
mov dword [rsp + 0x28], ebx
jmp 0x140027135
mov dword [rsp + 0x28], 1
xor r8d, r8d
xor edx, edx
mov rcx, r14
call fcn.140109418
mov rcx, 0xffffffffffffffff
nop dword [rax]
inc rcx
cmp word [r13 + rcx*2], bp
jne 0x140027150
add rcx, 2
mov edx, 2
call fcn.1400c4f6c
mov r15, rax
test rax, rax
jne 0x14002718a
lea rcx, str.Could_not_allocate_space_for_temporary_output_name_n
call fcn.14004f2f0
mov rcx, r14
call fcn.1400e9320
jmp 0x140027432
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 0x1400271a0
mov rax, 0xffffffffffffffff
nop word [rax + rax]
cmp word [r15 + rax*2 + 2], bp
lea rax, [rax + 1]
jne 0x1400271c0
mov edx, dword [rsp + 0x28]
mov rcx, r15
mov word [r15 + rax*2], 0x7e
mov rdx, qword [rsp + rdx*8 + 0x48]
call fcn.1400e9094
mov rdi, rax
test rax, rax
jne 0x140027205
mov rdx, qword [rsp + 0x38]
lea rcx, str.Could_not_open_temporary_output_file__s_n
call fcn.14004f2f0
mov rcx, r14
jmp 0x140027425
mov r8, r14
lea rcx, [rsp + 0x60]
mov edx, 0x400
call fcn.140109800
test rax, rax
je 0x140027334
lea rdx, [0x1401524a8]
lea rcx, [rsp + 0x60]
call fcn.140109d34
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 0x140027307
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp word [rsi + r8*2], bp
jne 0x140027260
mov rdx, rsi
mov rcx, rax
call fcn.14010a2d4
test eax, eax
jne 0x140027307
mov rax, 0xffffffffffffffff
inc rax
cmp word [rsi + rax*2], bp
jne 0x140027284
add rbx, rax
lea rcx, [rsp + 0x60]
lea rdx, [0x1401524a8]
lea rcx, [rcx + rbx*2]
call fcn.140109d34
add rbx, rax
lea rcx, [rsp + 0x60]
cmp word [rsp + rbx*2 + 0x60], 0x3d
jne 0x14002730c
inc rbx
lea rdx, [0x1401524a8]
lea rcx, [rcx + rbx*2]
call fcn.140109d34
add rax, rbx
add rax, rax
cmp rax, 0x800
jae 0x140027485
mov rdx, rdi
mov word [rsp + rax + 0x60], bp
lea rcx, [rsp + 0x60]
call fcn.140108ea4
mov r8, qword [rsp + 0x30]
lea rdx, [0x14015f998]
mov rcx, rdi
call fcn.140017390
mov r12, qword [rsp + 0x40]
jmp 0x140027314
lea rcx, [rsp + 0x60]
mov rdx, rdi
call fcn.140108ea4
mov r8, r14
lea rcx, [rsp + 0x60]
mov edx, 0x400
call fcn.140109800
test rax, rax
jne 0x140027220
test r12, r12
jne 0x140027350
mov r9, qword [rsp + 0x30]
lea rdx, str._s___s_n
mov r8, rsi
mov rcx, rdi
call fcn.140017390
mov r12, qword [rsp + 0x40]
mov rcx, r14
call fcn.1400e9320
mov rcx, rdi
call fcn.1400e9320
lea rdx, [0x14015f364]
mov rcx, r15
call fcn.1400e9094
lea rdx, [0x14015f9b4]
mov rcx, r13
mov rdi, rax
call fcn.1400e9094
mov rbx, rax
test rdi, rdi
je 0x1400273fc
test rax, rax
je 0x1400273fc
cmp dword [rsp + 0x28], 2
lea rcx, [rsp + 0x24]
mov r9, rdi
mov r8d, 1
sete bpl
inc rbp
mov rdx, rbp
call fcn.14010a6f0
cmp rax, 1
jne 0x1400273f2
nop word [rax + rax]
mov r9, rbx
lea rcx, [rsp + 0x24]
mov r8d, 1
mov rdx, rbp
call fcn.140109c90
mov r9, rdi
lea rcx, [rsp + 0x24]
mov r8d, 1
mov rdx, rbp
call fcn.14010a6f0
cmp rax, 1
je 0x1400273c0
mov rcx, rdi
call fcn.1400e9320
jmp 0x140027422
mov rdx, qword [rsp + 0x38]
lea rcx, str.Could_not_write__s___original_file_has_been_left_unmodified_n
call fcn.14004f2f0
mov r12, rbp
test rdi, rdi
je 0x14002741d
mov rcx, rdi
call fcn.1400e9320
test rbx, rbx
je 0x14002742a
mov rcx, rbx
call fcn.1400e9320
mov rcx, r15
call fcn.14010a868
mov rcx, r13
call fcn.1400e8c70
mov rcx, r15
call fcn.1400e8c70
mov rcx, rsi
call fcn.1400e8c70
mov rcx, qword [rsp + 0x30]
call fcn.1400e8c70
mov r13, qword [rsp + 0x8c0]
mov rax, r12
mov rcx, qword [rsp + 0x860]
xor rcx, rsp
call fcn.1400b2a30
add rsp, 0x870
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
xor eax, eax
jmp 0x14002745f
call fcn.1400b2b58
int3