Function at 0x140037ec0
Capabilities:
Read file on windows

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x60
movaps xmmword [rsp + 0x50], xmm6
xor eax, eax
cmp dword [rcx + 0x210], 7
sete al
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x38], eax
mov rax, qword [rcx + 0x248]
mov rbx, rcx
mov rsi, rdx
mov dword [rsp + 0x28], 1
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x20], 0
call sym.hb_pp_FileNew
mov rdi, rax
test rax, rax
je 0x140038370
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x1400380c1
mov r8d, 2
xor edx, edx
call sym.fseek
mov rcx, qword [rdi + 8]
call sym.ftell
mov rcx, qword [rdi + 8]
xor r8d, r8d
xor edx, edx
cdqe
mov qword [rsp + 0x48], rax
call sym.fseek
mov rcx, qword [rsp + 0x48]
cmp rcx, 0x1000000
ja 0x1400380d7
cmp qword [rbx + 0x1f8], 0
je 0x140038385
mov rsi, qword [rbx + 0x208]
test rsi, rsi
je 0x1400383a0
test rcx, rcx
je 0x140037fe7
cmp qword [rdi + 8], 0
je 0x140038345
call sym.hb_xgrab
mov r9, qword [rdi + 8]
mov rsi, rax
test r9, r9
je 0x1400383d7
mov r8, qword [rsp + 0x48]
mov edx, 1
mov rcx, rax
call sym.fread
mov qword [rsp + 0x48], rax
mov rbp, rax
cmp dword [rbx + 0x210], 5
je 0x1400383f0
mov rcx, qword [rbx + 0x208]
mov r8, rbp
mov rdx, rsi
call sym.hb_membufAddData
mov rcx, rsi
call sym.hb_xfree
mov rax, qword [rbx + 0x230]
lea rdx, [rax + 0x10]
mov qword [rbx + 0x138], rdx
mov rdx, qword [rax + 0x10]
test rdx, rdx
je 0x1400382f7
movzx eax, word [rdx + 0x28]
mov rsi, rdx
movzx ecx, al
cmp cx, 0x1f
jne 0x140038040
jmp 0x14003807a
mov qword [rbx + 0x138], rdx
test rsi, rsi
je 0x1400382f7
movzx eax, word [rsi + 0x28]
mov rdx, rsi
movzx ecx, al
cmp cx, 0x1f
je 0x14003807a
mov rsi, qword [rdx]
cmp cx, 0x1e
jne 0x140038020
test rsi, rsi
je 0x1400382f0
movzx eax, word [rsi + 0x28]
mov ecx, eax
and cx, 0xfe
cmp cx, 0x20
je 0x1400380ec
movzx ecx, al
mov qword [rbx + 0x138], rdx
mov rdx, rsi
cmp cx, 0x1f
jne 0x140038040
test ah, 0x40
je 0x140038407
mov rdx, qword [0x1400bc3b0]
or ah, 0x40
mov qword [rsi + 0x18], 1
mov ebp, 1
mov word [rsi + 0x28], ax
mov rax, qword [rbx + 0x138]
mov rdx, qword [rdx + 0x1d8]
movdqa xmm6, xmmword [0x1400b95f0]
mov qword [rsi + 0x10], rdx
mov rdx, qword [rax]
mov byte [rdx + 0x28], 0x1e
jmp 0x1400380f6
mov rcx, qword [rax + 0x40]
mov qword [rsp + 0x48], rcx
cmp rcx, 0x1000000
jbe 0x140037f63
mov r8, rsi
mov edx, 0x1b
mov rcx, rbx
call sym.hb_pp_error.constprop.30
jmp 0x14003824e
movdqa xmm6, xmmword [0x1400b95f0]
xor ebp, ebp
mov qword [rbx + 0x138], rdx
mov rsi, qword [rdx]
mov rdx, qword [rbx + 0x1f8]
test rdx, rdx
je 0x1400382d3
mov rax, qword [rbx + 0x208]
mov rcx, rbx
mov r9, qword [rax + 8]
mov r8, qword [rax]
call sym.hb_pp_tokenAddStreamFunc
mov rdx, qword [rbx + 0x200]
test rdx, rdx
je 0x1400381e7
cmp qword [rbx + 0x1f8], 0
je 0x1400381d1
mov ecx, 0x30
mov r12, qword [rbx + 0x1d8]
call sym.hb_xgrab
lea rdx, [0x1400b8488]
pxor xmm0, xmm0
mov qword [rax + 0x10], rdx
mov rdx, qword [rbx + 0x138]
mov qword [rax + 0x20], r12
mov qword [rax + 0x18], 1
mov dword [rax + 0x28], 0x401e
movups xmmword [rax], xmm0
mov qword [rdx], rax
mov qword [rbx + 0x138], rax
mov rax, qword [rbx + 0x230]
add dword [rax + 0x24], 1
mov eax, dword [rbx + 0x228]
mov dword [rbx + 0x1f4], 1
mov dword [rbx + 0x1ec], 0
test eax, eax
je 0x1400381ca
cmp eax, 5
jne 0x1400381c0
add dword [rbx + 0x224], 1
mov dword [rbx + 0x228], 0
mov rdx, qword [rbx + 0x200]
mov rax, qword [rbx + 0x208]
mov rcx, rbx
mov r9, qword [rax + 8]
mov r8, qword [rax]
call sym.hb_pp_tokenAddStreamFunc
mov ecx, 0x30
test ebp, ebp
je 0x1400382b3
call sym.hb_xgrab
lea rdx, [0x1400b8533]
mov qword [rax + 0x10], rdx
mov dword [rax + 0x28], 0x401f
movups xmmword [rax + 0x18], xmm6
mov rdx, qword [rbx + 0x138]
pxor xmm0, xmm0
movups xmmword [rax], xmm0
mov qword [rdx], rax
mov rdx, qword [rbx + 0x230]
mov qword [rbx + 0x138], rax
add dword [rdx + 0x24], 1
mov dword [rbx + 0x1f4], 1
mov qword [rax], rsi
mov rax, qword [rbx + 0x208]
mov qword [rax + 8], 0
mov r8, qword [rbx + 0x250]
lea rcx, [rbx + 0x240]
mov rdx, rdi
call sym.hb_pp_FileFree.isra.10
mov rax, qword [rbx + 0x1f8]
test rax, rax
je 0x140038283
cmp word [rax + 0x28], 0
js 0x140038283
lea rcx, [rbx + 0x1f8]
call sym.hb_pp_tokenListFree.part.7
mov rax, qword [rbx + 0x200]
test rax, rax
je 0x1400382a3
cmp word [rax + 0x28], 0
js 0x1400382a3
lea rcx, [rbx + 0x200]
call sym.hb_pp_tokenListFree.part.7
nop
movaps xmm6, xmmword [rsp + 0x50]
add rsp, 0x60
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
call sym.hb_xgrab
lea rdx, [0x1400b8488]
mov qword [rax + 0x10], rdx
movups xmmword [rax + 0x18], xmm6
mov dword [rax + 0x28], 0x401e
jmp 0x14003820f
mov rdx, qword [rbx + 0x200]
test rdx, rdx
jne 0x1400381d1
jmp 0x1400381e7
mov qword [rbx + 0x138], rdx
mov ecx, 0x30
lea rsi, [0x1400b8533]
xor ebp, ebp
call sym.hb_xgrab
mov rdx, qword [rbx + 0x138]
pxor xmm0, xmm0
movdqa xmm6, xmmword [0x1400b95f0]
movups xmmword [rax], xmm0
mov qword [rax + 0x10], rsi
movups xmmword [rax + 0x18], xmm6
mov dword [rax + 0x28], 0x401f
mov qword [rdx], rax
mov rdx, qword [rbx + 0x230]
add dword [rdx + 0x24], 1
mov rdx, qword [rax]
jmp 0x1400380f6
cmp dword [rbx + 0x210], 5
je 0x140037f91
mov rdx, qword [rdi + 0x38]
mov r8, rcx
mov rcx, rsi
call sym.hb_membufAddData
jmp 0x140037fe7
mov r8, rsi
mov edx, 0x1d
mov rcx, rbx
call sym.hb_pp_error.constprop.30
jmp 0x140038264
cmp qword [rbx + 0x200], 0
jne 0x140037f71
jmp 0x14003824e
mov ecx, 0x18
call sym.hb_xgrab
movdqa xmm0, xmmword [0x1400b95c0]
mov ecx, 0x100
mov rsi, rax
movups xmmword [rax + 8], xmm0
call sym.hb_xgrab
mov qword [rbx + 0x208], rsi
mov rcx, qword [rsp + 0x48]
mov qword [rsi], rax
jmp 0x140037f81
mov rbp, qword [rsp + 0x48]
mov rdx, qword [rdi + 0x38]
mov rcx, rax
mov r8, rbp
call sym.memcpy
jmp 0x140037fc0
lea rdx, [rsp + 0x48]
mov rcx, rsi
call sym.hb_strRemEscSeq
mov rbp, qword [rsp + 0x48]
jmp 0x140037fcd
mov rcx, qword [rsi + 0x10]
call sym.hb_xfree
movzx eax, word [rsi + 0x28]
jmp 0x140038083