Function at 0x140010950
Capabilities:
Read file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x38
mov rdi, r9
mov r12d, r8d
mov r14, rdx
lea rdx, [0x1400409ba]
call fcn.14001fbe4
test rax, rax
je 0x140010c37
mov rsi, rax
mov rcx, rax
xor edx, edx
mov r8d, 2
call fcn.14001b9f8
mov ebp, 6
test eax, eax
jne 0x140010c58
mov rcx, rsi
call fcn.14001c610
test eax, eax
jle 0x140010c58
mov qword [rsp + 0x28], rdi
mov edi, eax
lea rcx, [rdi + 1]
call fcn.1400137e4
mov rbx, rax
mov rcx, rsi
xor edx, edx
xor r8d, r8d
call fcn.14001b9f8
mov ebp, 6
test eax, eax
jne 0x140010c50
mov edx, 1
mov rcx, rbx
mov r8, rdi
mov r9, rsi
call fcn.140021758
cmp rax, rdi
jne 0x140010c50
mov byte [rbx + rdi], 0
mov dword [rsp + 0x20], 0
mov dword [rsp + 0x24], 0
mov qword [rsp + 0x30], rbx
mov rbp, rbx
mov rax, rbp
movzx ecx, byte [rbp]
cmp ecx, 0xa
je 0x140010a50
cmp ecx, 0xd
je 0x140010a50
test ecx, ecx
je 0x140010c3e
lea r15, [rax + 1]
mov rbp, r15
mov edx, ecx
cmp dl, 0xa
je 0x140010a58
movzx edx, dl
cmp edx, 0xd
je 0x140010a58
mov dl, byte [rbp]
inc rbp
test dl, dl
jne 0x140010a35
xor ebp, ebp
jmp 0x140010a5e
inc rax
mov rbp, rax
jmp 0x140010a13
mov byte [rbp - 1], 0
mov cl, byte [rax]
cmp cl, 0x23
je 0x140010bd7
movzx edx, cl
cmp edx, 0x3b
je 0x140010bd7
lea rdx, [rax + 2]
add rax, 3
movzx edi, cl
cmp edi, 0x1f
jg 0x140010a8a
cmp edi, 9
je 0x140010a8f
jmp 0x140010a9d
cmp edi, 0x20
jne 0x140010aa7
mov cl, byte [r15]
inc r15
inc rdx
inc rax
jmp 0x140010a7b
test edi, edi
je 0x140010bd7
jmp 0x140010ac2
cmp edi, 0x5b
jne 0x140010ac2
mov rcx, r15
movzx edi, byte [rcx]
cmp edi, 0x5d
jne 0x140010ae4
inc rcx
inc rdx
inc rax
jmp 0x140010aaf
cmp byte [rsp + 0x20], 0
je 0x140010bd7
lea rax, [r15 - 1]
mov rbx, rax
cmp cl, 0x3d
jne 0x140010b0f
mov cl, byte [rax + 1]
inc rax
inc r15
jmp 0x140010ad4
test edi, edi
jne 0x140010af5
mov dword [rsp + 0x20], 0
jmp 0x140010bd7
cmp dil, 0x5d
je 0x140010b2e
mov dil, byte [rcx + 1]
inc rcx
inc rdx
inc rax
test dil, dil
jne 0x140010af5
jmp 0x140010b4a
movzx eax, cl
test eax, eax
je 0x140010bd7
cmp cl, 0x3d
je 0x140010b8c
mov cl, byte [r15]
inc r15
test cl, cl
jne 0x140010b1a
xor r15d, r15d
jmp 0x140010b91
mov byte [rcx], 0
movzx ecx, byte [rdx]
cmp ecx, 9
je 0x140010b3e
cmp ecx, 0x20
jne 0x140010b46
inc rdx
inc rax
jmp 0x140010b31
test ecx, ecx
jne 0x140010b71
mov rdx, qword [rsp + 0xa0]
mov rcx, r15
test rdx, rdx
jne 0x140010b61
lea rdx, str.Strings
call fcn.140022080
test eax, eax
sete al
mov dword [rsp + 0x20], eax
jmp 0x140010bd7
cmp cl, 9
je 0x140010bc9
movzx ecx, cl
cmp ecx, 0x20
je 0x140010bc9
mov cl, byte [rax]
inc rax
test cl, cl
jne 0x140010b71
jmp 0x140010ae8
mov byte [r15 - 1], 0
test r14, r14
je 0x140010bd7
cmp byte [r14], 0
je 0x140010bd7
xor r13d, r13d
mov rdi, r14
mov rcx, rbx
mov rdx, rdi
call fcn.140022080
test eax, eax
je 0x140010bd2
mov rcx, rdi
call fcn.1400224c0
add rdi, rax
inc rdi
inc r13
cmp byte [rdi], 0
jne 0x140010ba2
jmp 0x140010bd7
mov byte [rax - 1], 0
jmp 0x140010ae8
cmp r13d, r12d
jb 0x140010be2
test rbp, rbp
jne 0x140010a13
jmp 0x140010c3e
mov rcx, r15
call fcn.1400224c0
lea rbx, [rax + 1]
mov rcx, rbx
call fcn.1400137e4
mov rdi, rax
mov rcx, rax
xor edx, edx
mov r8, rbx
call fcn.140015da0
mov rax, qword [rsp + 0x28]
mov rcx, qword [rax + r13*8]
mov qword [rax + r13*8], rdi
test rcx, rcx
je 0x140010c26
call fcn.140013a88
mov rax, qword [rsp + 0x28]
mov rdi, qword [rax + r13*8]
mov rcx, rdi
mov rdx, r15
call fcn.1400221a0
inc dword [rsp + 0x24]
jmp 0x140010bd7
mov ebp, 6
jmp 0x140010c60
xor eax, eax
cmp dword [rsp + 0x24], r12d
setne al
lea ebp, [rax + rax*4]
mov rbx, qword [rsp + 0x30]
mov rcx, rbx
call fcn.140013a88
mov rcx, rsi
call fcn.140021088
mov eax, ebp
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret