Function at 0x140015190
Capabilities:
Read file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
mov rbx, r9
mov edi, r8d
mov r14, rdx
lea rdx, [0x140049f3c]
call fcn.140025060
test rax, rax
je 0x1400154e3
mov rsi, rax
mov rcx, rax
xor edx, edx
mov r8d, 2
call fcn.140020914
mov ebp, 6
test eax, eax
jne 0x1400154d9
mov rcx, rsi
call fcn.140021740
test eax, eax
jle 0x1400154d9
mov r13d, eax
lea rcx, [r13 + 1]
call fcn.140015780
mov r12, rax
mov rcx, rsi
xor edx, edx
xor r8d, r8d
call fcn.140020914
mov ebp, 6
test eax, eax
jne 0x1400154d1
mov edx, 1
mov rcx, r12
mov r8, r13
mov r9, rsi
call fcn.140026fc4
cmp rax, r13
jne 0x1400154d1
mov r9, qword [rsp + 0xb0]
mov byte [r12 + r13], 0
lea r11, str.Strings
xor r8d, r8d
xor r10d, r10d
mov r15, r12
lea rdx, [r15 + 2]
mov rbp, r15
movzx eax, byte [rbp]
cmp eax, 0xa
je 0x140015265
cmp eax, 0xd
jne 0x14001526d
inc rbp
inc rdx
jmp 0x140015257
mov ecx, eax
mov r15, rbp
test eax, eax
je 0x1400154c6
cmp cl, 0xa
je 0x140015297
movzx ecx, cl
cmp ecx, 0xd
je 0x140015297
mov cl, byte [r15 + 1]
inc r15
test cl, cl
jne 0x14001527a
xor r15d, r15d
jmp 0x1400152a1
mov byte [r15], 0
inc r15
mov al, byte [rbp]
cmp al, 0x23
je 0x1400154bd
movzx ecx, al
cmp ecx, 0x3b
je 0x1400154bd
jmp 0x1400152c5
cmp ecx, 0x20
jne 0x1400152dc
mov al, byte [rbp + 1]
inc rbp
inc rdx
movzx ecx, al
cmp ecx, 0x1f
jg 0x1400152b7
cmp ecx, 9
je 0x1400152bc
test ecx, ecx
je 0x1400154bd
jmp 0x14001531d
cmp ecx, 0x5b
jne 0x14001531d
lea rcx, [rbp + 1]
mov rax, rdx
movzx r8d, byte [rbp + 1]
inc rbp
inc rdx
cmp r8d, 0x5d
je 0x1400152e5
test r8d, r8d
jne 0x140015306
xor r8d, r8d
jmp 0x1400154bd
cmp r8b, 0x5d
je 0x140015353
mov r8b, byte [rbp + 1]
inc rbp
inc rax
test r8b, r8b
jne 0x140015306
jmp 0x14001536d
test r8b, 1
je 0x1400154bd
mov r13, rbp
cmp al, 0x3d
jne 0x140015337
mov al, byte [r13 + 1]
inc r13
jmp 0x14001532a
test al, al
je 0x1400154bd
cmp al, 0x3d
je 0x1400153a7
mov al, byte [r13 + 1]
inc r13
test al, al
jne 0x14001533f
xor r13d, r13d
jmp 0x1400153af
mov byte [rbp], 0
movzx edx, byte [rax]
cmp edx, 9
je 0x140015364
cmp edx, 0x20
jne 0x140015369
inc rax
jmp 0x140015357
test edx, edx
jne 0x140015383
mov dword [rsp + 0x2c], r10d
test r9, r9
je 0x140015409
mov rdx, r9
jmp 0x14001540c
cmp dl, 9
je 0x14001542d
movzx ecx, dl
cmp ecx, 0x20
je 0x14001542d
mov dl, byte [rax + 1]
inc rax
test dl, dl
jne 0x140015383
jmp 0x1400152fe
mov byte [r13], 0
inc r13
test r14, r14
je 0x1400154bd
cmp byte [r14], 0
je 0x1400154bd
mov dword [rsp + 0x30], r8d
mov dword [rsp + 0x2c], r10d
mov qword [rsp + 0x38], r12
xor eax, eax
mov r12, r14
mov dword [rsp + 0x34], eax
mov rcx, rbp
mov rdx, r12
call fcn.140027c50
test eax, eax
je 0x140015435
mov rcx, r12
call fcn.1400280e0
add r12, rax
inc r12
mov eax, dword [rsp + 0x34]
inc eax
cmp byte [r12], 0
jne 0x1400153d6
jmp 0x14001549f
mov rdx, r11
mov r13, r9
mov rbp, r11
call fcn.140027c50
mov r11, rbp
mov r9, r13
test eax, eax
sete r8b
mov r10d, dword [rsp + 0x2c]
jmp 0x1400154bd
mov byte [rax], 0
jmp 0x1400152fe
mov ebp, dword [rsp + 0x34]
cmp ebp, edi
jae 0x14001549f
mov rcx, r13
call fcn.1400280e0
lea rcx, [rax + 1]
mov qword [rsp + 0x40], rcx
call fcn.140015780
mov r12, rax
mov rcx, rax
xor edx, edx
mov r8, qword [rsp + 0x40]
call fcn.14003cdd0
mov ebp, ebp
mov rcx, qword [rbx + rbp*8]
mov qword [rbx + rbp*8], r12
test rcx, rcx
je 0x14001547d
call fcn.140015790
mov r12, qword [rbx + rbp*8]
mov rcx, r12
mov rdx, r13
call fcn.140027d70
mov r10d, dword [rsp + 0x2c]
inc r10d
mov r12, qword [rsp + 0x38]
mov r9, qword [rsp + 0xb0]
jmp 0x1400154b1
mov r12, qword [rsp + 0x38]
mov r9, qword [rsp + 0xb0]
mov r10d, dword [rsp + 0x2c]
lea r11, str.Strings
mov r8d, dword [rsp + 0x30]
test r15, r15
jne 0x140015250
xor eax, eax
cmp r10d, edi
setne al
lea ebp, [rax + rax*4]
mov rcx, r12
call fcn.140015790
mov rcx, rsi
call fcn.14002667c
jmp 0x1400154e8
mov ebp, 6
mov eax, ebp
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret