Function at 0x14008bd55
Capabilities:
Read file on windows

Disassembly:
mov al, byte [r13]
cmp al, 0x1a
je 0x14002e4aa
cmp al, r12b
je 0x14002e3d2
mov byte [rbx], al
inc rbx
inc r13
jmp 0x14002e49e
mov rax, qword [rbp - 0x18]
dec rax
cmp r13, rax
jae 0x14002e3f5
lea rax, [r13 + 1]
cmp byte [rax], 0xa
jne 0x14002e3ed
add r13, 2
jmp 0x14002e46b
mov r13, rax
jmp 0x14002e498
mov rcx, qword [r8 + r15*8 + 0x4c740]
lea r9, [rbp - 0x24]
lea rdx, [rbp + 0x58]
mov rcx, qword [rcx + rsi]
mov r8d, 1
inc r13
mov qword [rsp + 0x20], rdi
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x14002e42b
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x14002e491
cmp dword [rbp - 0x24], edi
je 0x14002e491
lea r8, [0x140000000]
mov rax, qword [r8 + r15*8 + 0x4c740]
test byte [rax + rsi + 8], 0x48
je 0x14002e460
cmp byte [rbp + 0x58], 0xa
je 0x14002e46b
mov byte [rbx], r12b
mov rcx, qword [r8 + r15*8 + 0x4c740]
mov al, byte [rbp + 0x58]
mov byte [rcx + rsi + 9], al
jmp 0x14002e49b
cmp rbx, r14
jne 0x14002e470
cmp byte [rbp + 0x58], 0xa
jne 0x14002e470
mov byte [rbx], 0xa
jmp 0x14002e49b
mov ecx, dword [rbp + 0x48]
mov r8d, 1
or rdx, 0xffffffffffffffff
call fcn.1400292d4
cmp byte [rbp + 0x58], 0xa
lea r8, [0x140000000]
je 0x14002e49e
jmp 0x14002e498
lea r8, [0x140000000]
mov byte [rbx], r12b
inc rbx
cmp r13, qword [rbp - 0x18]
jb 0x14002e3b4
jmp 0x14002e4c9
mov rax, qword [r8 + r15*8 + 0x4c740]
test byte [rax + rsi + 8], 0x40
jne 0x14002e4c0
or byte [rax + rsi + 8], 2
jmp 0x14002e4c9
mov al, byte [r13]
mov byte [rbx], al
inc rbx
mov r12d, ebx
sub r12d, r14d
cmp byte [rbp + 0x60], 1
jne 0x14002e7aa
test r12d, r12d
je 0x14002e7aa
dec rbx
test byte [rbx], 0x80
jne 0x14002e4f2
inc rbx
jmp 0x14002e5a3
mov edx, 1
jmp 0x14002e508
cmp edx, 4
jg 0x14002e515
cmp rbx, r14
jb 0x14002e515
dec rbx
inc edx
movzx eax, byte [rbx]
cmp byte [rax + r8 + 0x43bb0], dil
je 0x14002e4f9
movzx ecx, byte [rbx]
movsx eax, byte [rcx + r8 + 0x43bb0]
test eax, eax
jne 0x14002e538
call fcn.14002029c
mov dword [rax], 0x2a
or ebx, 0xffffffff
jmp 0x14002e7ad
inc eax
cmp eax, edx
jne 0x14002e546
movsxd rax, edx
add rbx, rax
jmp 0x14002e5a3
mov rax, qword [r8 + r15*8 + 0x4c740]
test byte [rax + rsi + 8], 0x48
je 0x14002e590
inc rbx
mov byte [rax + rsi + 9], cl
cmp edx, 2
jl 0x14002e572
mov al, byte [rbx]
mov rcx, qword [r8 + r15*8 + 0x4c740]
inc rbx
mov byte [rcx + rsi + 0x39], al
cmp edx, 3
jne 0x14002e588
mov al, byte [rbx]
mov rcx, qword [r8 + r15*8 + 0x4c740]
inc rbx
mov byte [rcx + rsi + 0x3a], al
movsxd rax, edx
sub rbx, rax
jmp 0x14002e5a3
mov ecx, dword [rbp + 0x48]
neg edx
mov r8d, 1
movsxd rdx, edx
call fcn.1400292d4
mov eax, dword [rbp - 0x1c]
mov r13, qword [rbp + 0x50]
sub ebx, r14d
shr eax, 1
mov r9d, ebx
mov r8, r14
mov dword [rsp + 0x28], eax
xor edx, edx
mov ecx, 0xfde9
mov qword [rsp + 0x20], r13
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov r12d, eax
test eax, eax
jne 0x14002e5e7
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.1400202dc
or ebx, 0xffffffff
jmp 0x14002e7b1
cmp eax, ebx
mov ebx, dword [rbp - 0x20]
lea rax, [0x140000000]
mov rax, qword [rax + r15*8 + 0x4c740]
setne dil
add r12d, r12d
mov dword [rax + rsi + 0x48], edi
jmp 0x14002e7b1
mov ebx, dword [rbp - 0x20]
mov r13, qword [rbp + 0x50]
cmp r14, r13
je 0x14002e7be
mov rcx, r14
call fcn.14001ccf0
cmp ebx, 0xfffffffe
cmove ebx, r12d
mov eax, ebx
jmp 0x14002e822
add rsp, 0x58
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
xor r14w, 0x26af
mov r15, r14
push rbx
add r15w, 0x5949
mov rax, qword [rsp + 0x68]
mov rax, qword [rax]
mov r13, rbp
mov qword [rsp + 0x68], rbp
push rdi
cmp rbp, r14
jge 0x14002e421
call fcn.140065159