Function at 0x14001ba00
Capabilities:
Read file on windows
Terminate process

Disassembly:
mov qword [rsp + 0x18], rbx
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0x20
mov r12, rcx
mov r13d, 0x10000
mov ecx, r13d
mov r14, rdx
xor esi, esi
xor ebx, ebx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rdi, rax
test rax, rax
jne 0x14001baa5
cmp dword [0x140028678], 1
jl 0x14001ba99
lea ecx, [rsi + 2]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea r8d, [rsi + 0x19]
lea rdx, str.Error__i_:
call fcn.140015200
cmp dword [0x140028678], 1
jl 0x14001ba99
lea ecx, [rsi + 2]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str.Allocation_error_:_not_enough_memory_for_circular_buffer
call fcn.140015200
cmp dword [0x140028678], 1
jl 0x14001ba99
lea ecx, [rsi + 2]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, [0x140024bf0]
call fcn.140015200
mov ecx, 0x19
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
test r14, r14
jne 0x14001bb20
cmp dword [0x140028678], 1
jl 0x14001bb14
lea ecx, [r14 + 2]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea r8d, [r14 + 0x1a]
lea rdx, str.Error__i_:
call fcn.140015200
cmp dword [0x140028678], 1
jl 0x14001bb14
lea ecx, [r14 + 2]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str.Dictionary_error_:_no_filename_provided
call fcn.140015200
cmp dword [0x140028678], 1
jl 0x14001bb14
lea ecx, [r14 + 2]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, [0x140024bf0]
call fcn.140015200
mov ecx, 0x1a
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
mov rcx, r14
mov qword [rsp + 0x58], r15
call fcn.14001aeb0
mov r15, rax
test rax, rax
jne 0x14001bbaa
cmp dword [0x140028678], 1
jl 0x14001bb9e
lea ecx, [rax + 2]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea r8d, [r15 + 0x1b]
lea rdx, str.Error__i_:
call fcn.140015200
cmp dword [0x140028678], 1
jl 0x14001bb9e
lea ecx, [r15 + 2]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str.Dictionary_error_:_could_not_open_dictionary_file
call fcn.140015200
cmp dword [0x140028678], 1
jl 0x14001bb9e
lea ecx, [r15 + 2]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, [0x140024bf0]
call fcn.140015200
mov ecx, 0x1b
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
mov qword [rsp + 0x50], rbp
lea rdx, str.stdin
xor ecx, ecx
nop dword [rax + rax]
movzx eax, byte [r14 + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x14001bbd6
cmp rcx, 6
jne 0x14001bbc0
jmp 0x14001bbec
mov rdx, 0xffffffffffff0000
mov r8d, 2
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__fseeki64]
mov ebp, 1
nop dword [rax]
nop word [rax + rax]
mov r8, r13
lea rcx, [rdi + rsi]
sub r8, rsi
mov r9, r15
mov rdx, rbp
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
add rbx, rax
lea rcx, [rax + rsi]
movzx esi, cx
test rax, rax
jne 0x14001bc00
cmp rbx, r13
cmova rbx, r13
sub rsi, rbx
mov qword [r12], rbx
movzx r14d, si
test r14, r14
jne 0x14001bc46
mov rsi, rdi
xor edi, edi
jmp 0x14001bcfe
test rbx, rbx
cmovne rbp, rbx
mov rcx, rbp
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rsi, rax
test rax, rax
jne 0x14001bcd1
cmp dword [0x140028678], 1
jl 0x14001bcc5
lea ecx, [rax + 2]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea r8d, [rsi + 0x1c]
lea rdx, str.Error__i_:
call fcn.140015200
cmp dword [0x140028678], 1
jl 0x14001bcc5
lea ecx, [rsi + 2]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str.Allocation_error_:_not_enough_memory
call fcn.140015200
cmp dword [0x140028678], 1
jl 0x14001bcc5
lea ecx, [rsi + 2]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, [0x140024bf0]
call fcn.140015200
mov ecx, 0x1c
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
mov r8, r13
lea rdx, [r14 + rdi]
sub r8, r14
mov rcx, rsi
call sub.VCRUNTIME140.dll_memcpy
mov rcx, rsi
lea r8, [r14 - 0x10000]
sub rcx, r14
add r8, rbx
add rcx, r13
mov rdx, rdi
call sub.VCRUNTIME140.dll_memcpy
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rbp, qword [rsp + 0x50]
mov rax, rsi
mov r15, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x60]
add rsp, 0x20
pop r14
pop r13
pop r12
pop rdi
pop rsi
ret