Function at 0x140015100
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, [0x140049ef6]
call fcn.140024fd0
test rax, rax
je 0x140015453
mov rsi, rax
mov rcx, rax
xor edx, edx
mov r8d, 2
call fcn.140020884
mov ebp, 6
test eax, eax
jne 0x140015449
mov rcx, rsi
call fcn.1400216b0
test eax, eax
jle 0x140015449
mov r13d, eax
lea rcx, [r13 + 1]
call fcn.1400156f8
mov r12, rax
mov rcx, rsi
xor edx, edx
xor r8d, r8d
call fcn.140020884
mov ebp, 6
test eax, eax
jne 0x140015441
mov edx, 1
mov rcx, r12
mov r8, r13
mov r9, rsi
call fcn.140026f34
cmp rax, r13
jne 0x140015441
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 0x1400151d5
cmp eax, 0xd
jne 0x1400151dd
inc rbp
inc rdx
jmp 0x1400151c7
mov ecx, eax
mov r15, rbp
test eax, eax
je 0x140015436
cmp cl, 0xa
je 0x140015207
movzx ecx, cl
cmp ecx, 0xd
je 0x140015207
mov cl, byte [r15 + 1]
inc r15
test cl, cl
jne 0x1400151ea
xor r15d, r15d
jmp 0x140015211
mov byte [r15], 0
inc r15
mov al, byte [rbp]
cmp al, 0x23
je 0x14001542d
movzx ecx, al
cmp ecx, 0x3b
je 0x14001542d
jmp 0x140015235
cmp ecx, 0x20
jne 0x14001524c
mov al, byte [rbp + 1]
inc rbp
inc rdx
movzx ecx, al
cmp ecx, 0x1f
jg 0x140015227
cmp ecx, 9
je 0x14001522c
test ecx, ecx
je 0x14001542d
jmp 0x14001528d
cmp ecx, 0x5b
jne 0x14001528d
lea rcx, [rbp + 1]
mov rax, rdx
movzx r8d, byte [rbp + 1]
inc rbp
inc rdx
cmp r8d, 0x5d
je 0x140015255
test r8d, r8d
jne 0x140015276
xor r8d, r8d
jmp 0x14001542d
cmp r8b, 0x5d
je 0x1400152c3
mov r8b, byte [rbp + 1]
inc rbp
inc rax
test r8b, r8b
jne 0x140015276
jmp 0x1400152dd
test r8b, 1
je 0x14001542d
mov r13, rbp
cmp al, 0x3d
jne 0x1400152a7
mov al, byte [r13 + 1]
inc r13
jmp 0x14001529a
test al, al
je 0x14001542d
cmp al, 0x3d
je 0x140015317
mov al, byte [r13 + 1]
inc r13
test al, al
jne 0x1400152af
xor r13d, r13d
jmp 0x14001531f
mov byte [rbp], 0
movzx edx, byte [rax]
cmp edx, 9
je 0x1400152d4
cmp edx, 0x20
jne 0x1400152d9
inc rax
jmp 0x1400152c7
test edx, edx
jne 0x1400152f3
mov dword [rsp + 0x2c], r10d
test r9, r9
je 0x140015379
mov rdx, r9
jmp 0x14001537c
cmp dl, 9
je 0x14001539d
movzx ecx, dl
cmp ecx, 0x20
je 0x14001539d
mov dl, byte [rax + 1]
inc rax
test dl, dl
jne 0x1400152f3
jmp 0x14001526e
mov byte [r13], 0
inc r13
test r14, r14
je 0x14001542d
cmp byte [r14], 0
je 0x14001542d
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.140027bc0
test eax, eax
je 0x1400153a5
mov rcx, r12
call fcn.140028050
add r12, rax
inc r12
mov eax, dword [rsp + 0x34]
inc eax
cmp byte [r12], 0
jne 0x140015346
jmp 0x14001540f
mov rdx, r11
mov r13, r9
mov rbp, r11
call fcn.140027bc0
mov r11, rbp
mov r9, r13
test eax, eax
sete r8b
mov r10d, dword [rsp + 0x2c]
jmp 0x14001542d
mov byte [rax], 0
jmp 0x14001526e
mov ebp, dword [rsp + 0x34]
cmp ebp, edi
jae 0x14001540f
mov rcx, r13
call fcn.140028050
lea rcx, [rax + 1]
mov qword [rsp + 0x40], rcx
call fcn.1400156f8
mov r12, rax
mov rcx, rax
xor edx, edx
mov r8, qword [rsp + 0x40]
call fcn.14003cd40
mov ebp, ebp
mov rcx, qword [rbx + rbp*8]
mov qword [rbx + rbp*8], r12
test rcx, rcx
je 0x1400153ed
call fcn.140015700
mov r12, qword [rbx + rbp*8]
mov rcx, r12
mov rdx, r13
call fcn.140027ce0
mov r10d, dword [rsp + 0x2c]
inc r10d
mov r12, qword [rsp + 0x38]
mov r9, qword [rsp + 0xb0]
jmp 0x140015421
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 0x1400151c0
xor eax, eax
cmp r10d, edi
setne al
lea ebp, [rax + rax*4]
mov rcx, r12
call fcn.140015700
mov rcx, rsi
call fcn.1400265ec
jmp 0x140015458
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