Function at 0x140033ed0
Capabilities:
Write file on windows

Disassembly:
push rdi
push rsi
push rbx
sub rsp, 0x50
movaps xmmword [rsp + 0x20], xmm6
movaps xmmword [rsp + 0x30], xmm7
movaps xmmword [rsp + 0x40], xmm8
mov rax, qword [rcx + 0x268]
mov rbx, rcx
test rax, rax
je 0x1400341f2
mov rdx, qword [rcx + 0x140]
mov r8d, dword [rcx + 0x214]
mov rcx, qword [rcx + 0x240]
lea r9d, [r8 + 1]
mov r8, qword [rdx + 8]
mov rdx, qword [rdx]
call rax
mov ecx, dword [rbx + 0x164]
test ecx, ecx
je 0x1400341e3
mov rax, qword [rbx + 0x230]
mov r9, qword [rbx + 0x180]
mov r8d, dword [rbx + 0x214]
mov edx, dword [rax + 0x28]
test edx, edx
jne 0x140034230
cmp dword [rax + 0x1c], r8d
jge 0x140033f7c
mov rdx, r9
mov ecx, 0xa
call sym.fputc
mov rdx, qword [rbx + 0x230]
mov r9, qword [rbx + 0x180]
mov eax, dword [rdx + 0x1c]
add eax, 1
cmp eax, dword [rbx + 0x214]
mov dword [rdx + 0x1c], eax
jl 0x140033f50
mov rax, qword [rbx + 0x140]
mov r8d, 0x12
mov edx, 1
lea rcx, str.pragma_BEGINDUMP_n
mov rdi, qword [rax + 8]
mov rsi, qword [rax]
call sym.fwrite
mov r9, qword [rbx + 0x180]
mov edx, 1
mov r8, rdi
mov rcx, rsi
call sym.fwrite
cmp rdi, rax
jne 0x140034210
mov r9, qword [rbx + 0x180]
mov edx, 1
mov r8d, 0x10
lea rcx, str.pragma_ENDDUMP_n
call sym.fwrite
lea rdx, [rdi - 1]
test rdi, rdi
je 0x140034290
cmp rdx, 0xe
jbe 0x140034297
mov rcx, rdi
pxor xmm1, xmm1
pxor xmm5, xmm5
mov rax, rsi
and rcx, 0xfffffffffffffff0
movdqa xmm7, xmmword [str._n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n]
movdqa xmm6, xmmword [0x1400b95e0]
pxor xmm4, xmm4
add rcx, rsi
nop
movdqu xmm0, xmmword [rax]
movdqa xmm3, xmm5
add rax, 0x10
pcmpeqb xmm0, xmm7
pand xmm0, xmm6
pcmpgtb xmm3, xmm0
movdqa xmm2, xmm0
punpcklbw xmm2, xmm3
punpckhbw xmm0, xmm3
movdqa xmm3, xmm4
pcmpgtw xmm3, xmm2
movdqa xmm8, xmm2
punpcklwd xmm8, xmm3
punpckhwd xmm2, xmm3
movdqa xmm3, xmm0
paddd xmm1, xmm8
paddd xmm1, xmm2
movdqa xmm2, xmm4
pcmpgtw xmm2, xmm0
punpcklwd xmm3, xmm2
punpckhwd xmm0, xmm2
paddd xmm1, xmm3
paddd xmm1, xmm0
cmp rax, rcx
jne 0x140034020
movdqa xmm0, xmm1
mov rcx, rdi
psrldq xmm0, 8
and rcx, 0xfffffffffffffff0
paddd xmm0, xmm1
add rsi, rcx
sub rdx, rcx
movdqa xmm1, xmm0
psrldq xmm1, 4
paddd xmm0, xmm1
movd eax, xmm0
cmp rdi, rcx
je 0x1400341d0
xor ecx, ecx
cmp byte [rsi], 0xa
sete cl
add eax, ecx
test rdx, rdx
je 0x1400341d0
xor ecx, ecx
cmp byte [rsi + 1], 0xa
sete cl
add eax, ecx
cmp rdx, 1
je 0x1400341d0
xor ecx, ecx
cmp byte [rsi + 2], 0xa
sete cl
add eax, ecx
cmp rdx, 2
je 0x1400341d0
xor ecx, ecx
cmp byte [rsi + 3], 0xa
sete cl
add eax, ecx
cmp rdx, 3
je 0x1400341d0
xor ecx, ecx
cmp byte [rsi + 4], 0xa
sete cl
add eax, ecx
cmp rdx, 4
je 0x1400341d0
xor ecx, ecx
cmp byte [rsi + 5], 0xa
sete cl
add eax, ecx
cmp rdx, 5
je 0x1400341d0
xor ecx, ecx
cmp byte [rsi + 6], 0xa
sete cl
add eax, ecx
cmp rdx, 6
je 0x1400341d0
xor ecx, ecx
cmp byte [rsi + 7], 0xa
sete cl
add eax, ecx
cmp rdx, 7
je 0x1400341d0
xor ecx, ecx
cmp byte [rsi + 8], 0xa
sete cl
add eax, ecx
cmp rdx, 8
je 0x1400341d0
xor ecx, ecx
cmp byte [rsi + 9], 0xa
sete cl
add eax, ecx
cmp rdx, 9
je 0x1400341d0
xor ecx, ecx
cmp byte [rsi + 0xa], 0xa
sete cl
add eax, ecx
cmp rdx, 0xa
je 0x1400341d0
xor ecx, ecx
cmp byte [rsi + 0xb], 0xa
sete cl
add eax, ecx
cmp rdx, 0xb
je 0x1400341d0
xor ecx, ecx
cmp byte [rsi + 0xc], 0xa
sete cl
add eax, ecx
cmp rdx, 0xc
je 0x1400341d0
xor ecx, ecx
cmp byte [rsi + 0xd], 0xa
sete cl
add eax, ecx
cmp rdx, 0xd
je 0x1400341d0
xor edx, edx
cmp byte [rsi + 0xe], 0xa
sete dl
add eax, edx
nop dword [rax + rax]
add eax, dword [rbx + 0x214]
mov rdx, qword [rbx + 0x230]
add eax, 2
mov dword [rdx + 0x1c], eax
mov rax, qword [rbx + 0x140]
mov qword [rax + 8], 0
movaps xmm6, xmmword [rsp + 0x20]
movaps xmm7, xmmword [rsp + 0x30]
movaps xmm8, xmmword [rsp + 0x40]
add rsp, 0x50
pop rbx
pop rsi
pop rdi
ret
mov r8, qword [rbx + 0x178]
mov edx, 0x22
mov rcx, rbx
call sym.hb_pp_error.constprop.30
jmp 0x140033fc1
lea rdx, str.line__d
mov rcx, r9
call sym.fprintf
mov rax, qword [rbx + 0x230]
mov r8, qword [rax]
test r8, r8
je 0x140034261
mov rcx, qword [rbx + 0x180]
lea rdx, str.___s_
call sym.fprintf
mov rdx, qword [rbx + 0x180]
mov ecx, 0xa
call sym.fputc
mov rax, qword [rbx + 0x230]
mov r9, qword [rbx + 0x180]
mov dword [rax + 0x28], 0
jmp 0x140033f7c
xor eax, eax
jmp 0x1400341d0
xor eax, eax
jmp 0x1400340b8