// File: /workspace/github_cpp_makefile_star2_O3/lunasorcery[P]brailify/./stb/stb_image_resize.h
// Function: stbir__resize_arbitrary(void*, void const*, int, int, int, void*, int, int, int, float, float, float, float, float*, int, int, unsigned int, stbir_datatype, stbir_filter, stbir_filter, stbir_edge, stbir_edge, stbir_colorspace)
static int stbir__resize_arbitrary(
    void *alloc_context,
    const void* input_data, int input_w, int input_h, int input_stride_in_bytes,
    void* output_data, int output_w, int output_h, int output_stride_in_bytes,
    float s0, float t0, float s1, float t1, float *transform,
    int channels, int alpha_channel, stbir_uint32 flags, stbir_datatype type,
    stbir_filter h_filter, stbir_filter v_filter,
    stbir_edge edge_horizontal, stbir_edge edge_vertical, stbir_colorspace colorspace)
{
    stbir__info info;
    int result;
    size_t memory_required;
    void* extra_memory;

    stbir__setup(&info, input_w, input_h, output_w, output_h, channels);
    stbir__calculate_transform(&info, s0,t0,s1,t1,transform);
    stbir__choose_filter(&info, h_filter, v_filter);
    memory_required = stbir__calculate_memory(&info);
    extra_memory = STBIR_MALLOC(memory_required, alloc_context);

    if (!extra_memory)
        return 0;

    result = stbir__resize_allocated(&info, input_data, input_stride_in_bytes,
                                            output_data, output_stride_in_bytes, 
                                            alpha_channel, flags, type,
                                            edge_horizontal, edge_vertical,
                                            colorspace, extra_memory, memory_required);

    STBIR_FREE(extra_memory, alloc_context);

    return result;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x1d8, %rsp            # imm = 0x1D8
movq %r8, %r13
movl %ecx, -0x30(%rbp)
movq %rdi, %rbx
movl 0x50(%rbp), %eax
movl 0x48(%rbp), %ecx
movq 0x20(%rbp), %r8
movl 0x10(%rbp), %edi
movl 0x28(%rbp), %r10d
movl %esi, -0x1e8(%rbp)
movl %edx, -0x1e4(%rbp)
movl %r9d, -0x1d0(%rbp)
movl %edi, -0x1cc(%rbp)
movl %r10d, -0x1a4(%rbp)
movss %xmm0, -0x1c4(%rbp)
movss %xmm1, -0x1c0(%rbp)
movss %xmm2, -0x1bc(%rbp)
movss %xmm3, -0x1b8(%rbp)
testq %r8, %r8
je 0x31a2
movss (%r8), %xmm5
movss 0x4(%r8), %xmm4
movss 0x8(%r8), %xmm7
movss 0xc(%r8), %xmm6
jmp 0x31e3
cvtsi2ss %r9d, %xmm7
cvtsi2ss %esi, %xmm4
movaps %xmm7, %xmm5
divss %xmm4, %xmm5
subss %xmm0, %xmm2
cvtsi2ss %edi, %xmm6
divss %xmm2, %xmm5
cvtsi2ss %edx, %xmm8
movaps %xmm6, %xmm4
divss %xmm8, %xmm4
subss %xmm1, %xmm3
divss %xmm3, %xmm4
mulss %xmm0, %xmm7
divss %xmm2, %xmm7
mulss %xmm1, %xmm6
divss %xmm3, %xmm6
leaq -0x1f0(%rbp), %rdi
movss %xmm5, 0x44(%rdi)
movss %xmm4, 0x48(%rdi)
movss %xmm7, 0x3c(%rdi)
movss 0x12e07(%rip), %xmm0    # 0x16008
xorl %edx, %edx
ucomiss %xmm0, %xmm5
setbe %dl
orl $0x4, %edx
testl %ecx, %ecx
cmovnel %ecx, %edx
movss %xmm6, 0x40(%rdi)
xorl %ecx, %ecx
ucomiss %xmm0, %xmm4
setbe %cl
orl $0x4, %ecx
testl %eax, %eax
cmovnel %eax, %ecx
movl %edx, 0x5c(%rdi)
movl %ecx, 0x60(%rdi)
callq 0x12441
movl %eax, %r12d
movq %r12, %rdi
callq 0x1120
testq %rax, %rax
je 0x35a5
movq %rbx, -0x60(%rbp)
movq %rax, -0xc0(%rbp)
movl 0x18(%rbp), %r15d
leaq -0x1f0(%rbp), %r14
movq %r14, %rdi
callq 0x12441
movl 0x4c(%r14), %ebx
cmpl $0x0, -0x30(%rbp)
jne 0x328a
movl -0x1e8(%rbp), %ecx
imull %ebx, %ecx
movl 0x40(%rbp), %edx
leaq 0x12e20(%rip), %rsi     # 0x160a0
movzbl (%rdx,%rsi), %edx
imull %ecx, %edx
movl %edx, -0x30(%rbp)
testl %r15d, %r15d
jne 0x32ab
movl -0x1d0(%rbp), %ecx
imull %ebx, %ecx
movl 0x40(%rbp), %edx
leaq 0x12dfe(%rip), %rsi     # 0x160a0
movzbl (%rdx,%rsi), %r15d
imull %ecx, %r15d
testl %ebx, %ebx
js 0x41b9
cmpl $0x41, %ebx
jae 0x41d8
movl -0x194(%rbp), %r14d
cmpq $0x6, %r14
jae 0x41f7
movq %r13, -0x80(%rbp)
movl -0x190(%rbp), %esi
cmpq $0x6, %rsi
jae 0x4216
movq %r12, %rdx
movl 0x38(%rbp), %ecx
movl 0x30(%rbp), %r13d
movl %ecx, %r12d
orl $0x3, %r12d
testl %r13d, %r13d
cmovnsl %ecx, %r12d
movl %r12d, %ecx
notl %ecx
testb $0x3, %cl
je 0x3315
testl %r13d, %r13d
js 0x4235
cmpl %r13d, %ebx
jbe 0x4235
xorl %ecx, %ecx
cmpl %r13d, %ebx
jle 0x411b
movq %rsi, -0x40(%rbp)
cmpl %edx, %eax
ja 0x4254
movq -0xc0(%rbp), %rdi
xorl %esi, %esi
movq %rdx, -0x88(%rbp)
callq 0x1060
movq -0x60(%rbp), %rax
movq %rax, -0x1f0(%rbp)
movl -0x30(%rbp), %eax
movl %eax, -0x1e0(%rbp)
movq -0x80(%rbp), %rax
movq %rax, -0x1d8(%rbp)
movl %r15d, -0x1c8(%rbp)
movl %r13d, -0x1a0(%rbp)
movl %r12d, -0x19c(%rbp)
movl 0x40(%rbp), %eax
movl %eax, -0x198(%rbp)
movl 0x58(%rbp), %eax
movl %eax, -0x18c(%rbp)
movl 0x60(%rbp), %eax
movl %eax, -0x188(%rbp)
movl 0x68(%rbp), %eax
movl %eax, -0x184(%rbp)
movss -0x1ac(%rbp), %xmm3
movaps %xmm3, -0x60(%rbp)
movq %r14, %rax
shlq $0x4, %rax
leaq 0x1899d(%rip), %r15     # 0x1bd50
movss 0x12c4d(%rip), %xmm0    # 0x16008
movaps %xmm0, %xmm1
divss %xmm3, %xmm1
cmpnltss %xmm3, %xmm0
movaps %xmm0, %xmm2
andnps %xmm1, %xmm2
andps %xmm3, %xmm0
orps %xmm2, %xmm0
callq *0x8(%rax,%r15)
addss %xmm0, %xmm0
callq 0x1070
cvttss2si %xmm0, %eax
movl %eax, -0x148(%rbp)
movss -0x1a8(%rbp), %xmm3
movaps %xmm3, -0xb0(%rbp)
movq -0x40(%rbp), %r12
movq %r12, %rax
shlq $0x4, %rax
movss 0x12bfb(%rip), %xmm0    # 0x16008
movaps %xmm0, %xmm2
divss %xmm3, %xmm2
cmpnltss %xmm3, %xmm0
movaps %xmm0, %xmm1
movaps %xmm2, -0x80(%rbp)
andnps %xmm2, %xmm1
andps %xmm3, %xmm0
orps %xmm1, %xmm0
callq *0x8(%rax,%r15)
addss %xmm0, %xmm0
callq 0x1070
cvttss2si %xmm0, %eax
movl %eax, -0x144(%rbp)
movl %r14d, %edi
movaps -0x60(%rbp), %xmm0
callq 0x126e5
movl %eax, -0x140(%rbp)
movl %r12d, %edi
movaps -0xb0(%rbp), %xmm0
callq 0x126e5
movl %eax, -0x30(%rbp)
movl %eax, -0x13c(%rbp)
movl %r14d, %edi
movaps -0x60(%rbp), %xmm0
callq 0x126e5
movl %eax, %r14d
shrl $0x1f, %r14d
addl %eax, %r14d
movl %r14d, %eax
sarl %eax
movl %eax, -0x138(%rbp)
movl %r12d, %edi
movaps -0xb0(%rbp), %xmm0
callq 0x126e5
movl %eax, %edi
shrl $0x1f, %edi
addl %eax, %edi
sarl %edi
movl -0x1e8(%rbp), %ecx
movl -0x1d0(%rbp), %r8d
imull %r8d, %ebx
shll $0x2, %ebx
andl $-0x2, %r14d
addl %ecx, %r14d
movslq -0x108(%rbp), %rsi
movq -0xc0(%rbp), %r9
addq %r9, %rsi
movslq -0x104(%rbp), %r13
addq %rsi, %r13
movslq -0x100(%rbp), %r12
addq %r13, %r12
movslq -0xfc(%rbp), %rdx
addq %r12, %rdx
movq %r9, %rax
addq -0x88(%rbp), %rax
movaps -0xb0(%rbp), %xmm0
ucomiss 0x12b02(%rip), %xmm0    # 0x16008
movl %edi, -0xa0(%rbp)
movl %edi, -0x134(%rbp)
movl %ebx, -0x128(%rbp)
movl %r14d, -0x160(%rbp)
movq %r9, %rdi
movq %r9, -0x180(%rbp)
movq %rsi, -0x178(%rbp)
movq %r13, -0x170(%rbp)
movq %r12, -0x168(%rbp)
movq %rdx, -0x158(%rbp)
movq %r15, %r14
ja 0x35ac
movslq -0xf8(%rbp), %r9
addq %r9, %rdx
movq %rdx, -0x150(%rbp)
movslq -0xf4(%rbp), %r9
addq %rdx, %r9
movq %r9, -0x118(%rbp)
movq $0x0, -0x110(%rbp)
movslq -0xf0(%rbp), %rdx
addq %r9, %rdx
cmpq %rdx, %rax
je 0x35ec
leaq 0x14660(%rip), %rdi     # 0x17bed
leaq 0x142e0(%rip), %rsi     # 0x17874
leaq 0x144b1(%rip), %rcx     # 0x17a4c
movl $0x94f, %edx            # imm = 0x94F
callq 0x1080
xorl %eax, %eax
jmp 0x412b
movq $0x0, -0x150(%rbp)
movslq -0xf8(%rbp), %r9
addq %r9, %rdx
movq %rdx, -0x118(%rbp)
movslq -0xf0(%rbp), %r9
addq %rdx, %r9
movq %r9, -0x110(%rbp)
movslq -0xec(%rbp), %rdx
addq %r9, %rdx
cmpq %rdx, %rax
jne 0x4273
movl $0xffffffff, -0x11c(%rbp) # imm = 0xFFFFFFFF
movl -0x194(%rbp), %edx
movss -0x1b4(%rbp), %xmm1
movaps -0x60(%rbp), %xmm0
callq 0x12a1c
movl -0x190(%rbp), %ebx
movss -0x1b0(%rbp), %xmm1
movl -0x1e4(%rbp), %r15d
movl -0x1cc(%rbp), %eax
movq %r13, %rdi
movq %r12, %rsi
movl %eax, %r12d
movl %ebx, %edx
movaps -0xb0(%rbp), %xmm0
movl %r15d, %ecx
movl %eax, %r8d
callq 0x12a1c
movaps -0xb0(%rbp), %xmm0
shlq $0x4, %rbx
ucomiss 0x129b1(%rip), %xmm0    # 0x16008
movq 0x8(%rbx,%r14), %rax
movl -0xa0(%rbp), %r14d
ja 0x3ad8
callq *%rax
addl %r14d, %r15d
negl %r14d
cmpl %r14d, %r15d
jle 0x3ac4
movl %r12d, -0xc8(%rbp)
divss -0xb0(%rbp), %xmm0
movss %xmm0, -0xd0(%rbp)
movl %r15d, -0xb8(%rbp)
xorps %xmm0, %xmm0
cvtsi2ss %r14d, %xmm0
movss -0x1b0(%rbp), %xmm1
addss 0x1295c(%rip), %xmm0    # 0x1600c
movss -0xd0(%rbp), %xmm2
movaps %xmm2, %xmm3
addss %xmm0, %xmm3
subss %xmm2, %xmm0
movaps -0xb0(%rbp), %xmm2
mulss %xmm2, %xmm0
subss %xmm1, %xmm0
mulss %xmm2, %xmm3
subss %xmm1, %xmm3
movss %xmm3, -0x60(%rbp)
cvtss2sd %xmm0, %xmm0
addsd 0x13645(%rip), %xmm0    # 0x16d30
callq 0x11b0
cvttsd2si %xmm0, %r12d
xorps %xmm0, %xmm0
cvtss2sd -0x60(%rbp), %xmm0
addsd 0x13633(%rip), %xmm0    # 0x16d38
callq 0x11b0
cvttsd2si %xmm0, %ebx
movl %ebx, %eax
subl %r12d, %eax
cmpl -0x30(%rbp), %eax
jg 0x417b
testl %ebx, %ebx
js 0x3ab1
cmpl %r12d, -0xc8(%rbp)
jle 0x3ab1
leaq -0x1f0(%rbp), %r13
movq %r13, %rdi
movl %r12d, %esi
callq 0x1548d
movq %r13, %rdi
movl %r14d, %esi
callq 0x13452
movq -0x150(%rbp), %r15
movslq -0x1d0(%rbp), %rax
movslq -0x1a4(%rbp), %rdx
imulq %rax, %rdx
shlq $0x2, %rdx
movq %r15, %rdi
xorl %esi, %esi
callq 0x1060
movss -0x1ac(%rbp), %xmm0
ucomiss 0x12884(%rip), %xmm0    # 0x16008
ja 0x3793
movq %r13, %rdi
movq %r15, %rsi
callq 0x14887
jmp 0x379e
movq %r13, %rdi
movq %r15, %rsi
callq 0x143ce
cmpl $0x0, -0x11c(%rbp)
movl -0xb8(%rbp), %r15d
jns 0x37bd
leaq -0x1f0(%rbp), %rdi
movl %r12d, %esi
callq 0x147de
movl -0x120(%rbp), %esi
cmpl %ebx, %esi
leaq -0x1f0(%rbp), %r12
jge 0x37e2
incl %esi
movq %r12, %rdi
callq 0x147de
movl -0x120(%rbp), %esi
cmpl %ebx, %esi
jl 0x37ce
movss -0x1a8(%rbp), %xmm0
ucomiss 0x12817(%rip), %xmm0    # 0x16008
ja 0x419a
movq -0x170(%rbp), %rax
movl -0x13c(%rbp), %ecx
movl %ecx, -0x30(%rbp)
movslq -0x134(%rbp), %rdx
movslq %r14d, %rcx
addq %rdx, %rcx
movl (%rax,%rcx,8), %esi
movl 0x4(%rax,%rcx,8), %eax
cmpl %eax, %esi
jg 0x3ab1
movl %r14d, -0xa0(%rbp)
movl -0x1d0(%rbp), %r8d
movq -0x168(%rbp), %rdx
movq %rdx, -0x80(%rbp)
movl -0x1a4(%rbp), %r10d
movq -0x150(%rbp), %r11
movq -0x118(%rbp), %rdx
movl -0x11c(%rbp), %edi
movl -0x128(%rbp), %r9d
sarl $0x2, %r9d
movl %r9d, -0x48(%rbp)
imull -0x144(%rbp), %ecx
subl %esi, %ecx
subl -0x124(%rbp), %edi
movq %rdi, -0x88(%rbp)
incl %eax
movl %eax, -0x60(%rbp)
movq %r8, %r14
shlq $0x4, %r14
leaq 0xc(%rdx), %rax
movq %rax, -0x68(%rbp)
leaq (,%r8,4), %rax
leaq (%rax,%rax,2), %r15
leaq 0x8(%rdx), %rax
movq %rax, -0xe0(%rbp)
movq %rdx, -0x40(%rbp)
leaq 0x4(%rdx), %rax
movq %rax, -0xd8(%rbp)
leal -0x1(%r10), %r9d
leal (%rcx,%rsi), %eax
cltq
movq -0x80(%rbp), %rdx
movss (%rdx,%rax,4), %xmm0
movq -0x88(%rbp), %rax
addl %esi, %eax
cltd
idivl -0x30(%rbp)
imull -0x48(%rbp), %edx
movslq %edx, %rdx
movq -0x40(%rbp), %rax
leaq (%rax,%rdx,4), %rax
cmpl $0x3, %r9d
ja 0x3a55
leaq 0x1286b(%rip), %rbx     # 0x16160
movslq (%rbx,%r9,4), %rdi
addq %rbx, %rdi
jmpq *%rdi
testl %r8d, %r8d
jle 0x3a97
xorl %edx, %edx
movss (%r11,%rdx,4), %xmm1
mulss %xmm0, %xmm1
addss (%rax,%rdx,4), %xmm1
movss %xmm1, (%rax,%rdx,4)
incq %rdx
cmpq %rdx, %r8
jne 0x3909
jmp 0x3a97
testl %r8d, %r8d
jle 0x3a97
movq -0xe0(%rbp), %rax
leaq (%rax,%rdx,4), %rax
xorl %edx, %edx
movss (%r11,%rdx), %xmm1
mulss %xmm0, %xmm1
addss -0x8(%rax,%rdx), %xmm1
movss %xmm1, -0x8(%rax,%rdx)
movss 0x4(%r11,%rdx), %xmm1
mulss %xmm0, %xmm1
addss -0x4(%rax,%rdx), %xmm1
movss %xmm1, -0x4(%rax,%rdx)
movss 0x8(%r11,%rdx), %xmm1
mulss %xmm0, %xmm1
addss (%rax,%rdx), %xmm1
movss %xmm1, (%rax,%rdx)
addq $0xc, %rdx
cmpq %rdx, %r15
jne 0x3940
jmp 0x3a97
testl %r8d, %r8d
jle 0x3a97
movq -0x68(%rbp), %rax
leaq (%rax,%rdx,4), %rax
xorl %edx, %edx
movss (%r11,%rdx), %xmm1
mulss %xmm0, %xmm1
addss -0xc(%rax,%rdx), %xmm1
movss %xmm1, -0xc(%rax,%rdx)
movss 0x4(%r11,%rdx), %xmm1
mulss %xmm0, %xmm1
addss -0x8(%rax,%rdx), %xmm1
movss %xmm1, -0x8(%rax,%rdx)
movss 0x8(%r11,%rdx), %xmm1
mulss %xmm0, %xmm1
addss -0x4(%rax,%rdx), %xmm1
movss %xmm1, -0x4(%rax,%rdx)
movss 0xc(%r11,%rdx), %xmm1
mulss %xmm0, %xmm1
addss (%rax,%rdx), %xmm1
movss %xmm1, (%rax,%rdx)
addq $0x10, %rdx
cmpq %rdx, %r14
jne 0x39a3
jmp 0x3a97
testl %r8d, %r8d
jle 0x3a97
movq -0xd8(%rbp), %rax
leaq (%rax,%rdx,4), %rax
xorl %edx, %edx
movss (%r11,%rdx,8), %xmm1
mulss %xmm0, %xmm1
addss -0x4(%rax,%rdx,8), %xmm1
movss %xmm1, -0x4(%rax,%rdx,8)
movss 0x4(%r11,%rdx,8), %xmm1
mulss %xmm0, %xmm1
addss (%rax,%rdx,8), %xmm1
movss %xmm1, (%rax,%rdx,8)
incq %rdx
cmpq %rdx, %r8
jne 0x3a20
jmp 0x3a97
testl %r8d, %r8d
jle 0x3a97
xorl %edx, %edx
xorl %r13d, %r13d
testl %r10d, %r10d
jle 0x3a8c
movl %edx, %edi
leaq (%rax,%rdi,4), %rbx
leaq (%r11,%rdi,4), %r12
xorl %edi, %edi
movss (%r12,%rdi,4), %xmm1
mulss %xmm0, %xmm1
addss (%rbx,%rdi,4), %xmm1
movss %xmm1, (%rbx,%rdi,4)
incq %rdi
cmpq %rdi, %r10
jne 0x3a70
incq %r13
addl %r10d, %edx
cmpq %r8, %r13
jne 0x3a5f
incq %rsi
cmpl %esi, -0x60(%rbp)
jne 0x38ba
movl -0xa0(%rbp), %r14d
movl -0xb8(%rbp), %r15d
incl %r14d
cmpl %r15d, %r14d
jne 0x3698
movl -0x1cc(%rbp), %r12d
leaq -0x1f0(%rbp), %rdi
movl %r12d, %esi
callq 0x1548d
jmp 0x4116
movaps -0x80(%rbp), %xmm0
callq *%rax
movl $0x1, %ecx
testl %r12d, %r12d
jle 0x411b
mulss -0xb0(%rbp), %xmm0
xorl %r15d, %r15d
leaq -0x1f0(%rbp), %r13
movss %xmm0, -0xe4(%rbp)
cvtsi2ss %r15d, %xmm3
movss -0x1b0(%rbp), %xmm1
addss 0x124f1(%rip), %xmm3    # 0x1600c
movaps %xmm0, %xmm4
addss %xmm3, %xmm4
subss %xmm0, %xmm3
addss %xmm1, %xmm3
movaps -0xb0(%rbp), %xmm2
divss %xmm2, %xmm3
addss %xmm1, %xmm4
divss %xmm2, %xmm4
movss %xmm4, -0x30(%rbp)
xorps %xmm0, %xmm0
cvtss2sd %xmm3, %xmm0
addsd 0x131df(%rip), %xmm0    # 0x16d30
callq 0x11b0
cvttsd2si %xmm0, %ebx
xorps %xmm0, %xmm0
cvtss2sd -0x30(%rbp), %xmm0
addsd 0x131ce(%rip), %xmm0    # 0x16d38
callq 0x11b0
cvttsd2si %xmm0, %r14d
movl %r14d, %eax
subl %ebx, %eax
movl -0x13c(%rbp), %ecx
cmpl %ecx, %eax
jg 0x413d
movl -0x11c(%rbp), %edx
testl %edx, %edx
js 0x3bf3
movl -0x124(%rbp), %edi
movl -0x120(%rbp), %esi
cmpl %ebx, %edi
jge 0x3c03
movl %ebx, %r8d
negl %r8d
incl %edi
movl %esi, %r9d
negl %r9d
leal (%r9,%rdi), %eax
cmpl $0x1, %eax
je 0x3bde
movl %edi, -0x124(%rbp)
incl %edx
movl %edx, %eax
cltd
idivl %ecx
movl %edx, -0x11c(%rbp)
leal (%r8,%rdi), %eax
incl %eax
incl %edi
cmpl $0x1, %eax
jne 0x3baf
testl %edx, %edx
jns 0x3c03
jmp 0x3bf3
movl $0xffffffff, -0x11c(%rbp) # imm = 0xFFFFFFFF
movq $0x0, -0x124(%rbp)
movq %r13, %rdi
movl %ebx, %esi
callq 0x133fd
movl -0x120(%rbp), %esi
cmpl %r14d, %esi
jge 0x3c0f
incl %esi
movq %r13, %rdi
jmp 0x3bf8
movq %r15, -0x88(%rbp)
movss -0x1a8(%rbp), %xmm0
ucomiss 0x123e3(%rip), %xmm0    # 0x16008
jbe 0x415c
movslq -0x1d0(%rbp), %r15
movl %r15d, %r12d
movq -0x170(%rbp), %rax
movq -0x168(%rbp), %rcx
movq %rcx, -0x98(%rbp)
movslq -0x1a4(%rbp), %rsi
movl %esi, %r13d
movl -0x1a0(%rbp), %ecx
movl %ecx, -0xe0(%rbp)
movl -0x198(%rbp), %ecx
movq %rcx, -0xd8(%rbp)
movslq -0x144(%rbp), %rdi
movl -0x128(%rbp), %ecx
sarl $0x2, %ecx
movl %ecx, -0x60(%rbp)
movq -0x88(%rbp), %rcx
movslq %ecx, %rdx
movq %rdx, -0xd0(%rbp)
imulq %rdx, %rdi
movq %rdi, -0x90(%rbp)
movl 0x4(%rax,%rcx,8), %edx
movq %rdx, -0x48(%rbp)
movl (%rax,%rcx,8), %ebx
movq %r15, %rdx
movq %rsi, -0x68(%rbp)
imulq %rsi, %rdx
shlq $0x2, %rdx
movl -0x184(%rbp), %eax
movq %rax, -0xb8(%rbp)
movl -0x13c(%rbp), %eax
movl %eax, -0x40(%rbp)
movq -0x1d8(%rbp), %rax
movq %rax, -0xc8(%rbp)
movq -0x110(%rbp), %r14
movq -0x118(%rbp), %rax
movq %rax, -0x30(%rbp)
movl -0x11c(%rbp), %eax
movq %rax, -0x80(%rbp)
movl -0x124(%rbp), %eax
movl %eax, -0x34(%rbp)
movslq -0x1c8(%rbp), %rax
movq %rax, -0xa0(%rbp)
movq %r14, %rdi
xorl %esi, %esi
callq 0x1060
leal -0x1(%r13), %eax
cmpl $0x3, %eax
ja 0x3ffd
leaq 0x12425(%rip), %rcx     # 0x16150
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0x48(%rbp), %rdi
cmpl %edi, %ebx
movq -0x68(%rbp), %r8
movl -0x40(%rbp), %r9d
movq -0x80(%rbp), %r10
jg 0x40ab
subl -0x34(%rbp), %r10d
movslq -0x90(%rbp), %rax
subl %ebx, %edi
incl %edi
movq -0x98(%rbp), %rcx
leaq (%rcx,%rax,4), %rcx
xorl %esi, %esi
leal (%r10,%rbx), %eax
cltd
idivl %r9d
testl %r12d, %r12d
jle 0x3da8
imull -0x60(%rbp), %edx
movslq %edx, %rax
movq -0x30(%rbp), %rdx
leaq (%rdx,%rax,4), %rax
movss (%rcx,%rsi,4), %xmm0
xorl %edx, %edx
movss (%rax,%rdx,4), %xmm1
mulss %xmm0, %xmm1
addss (%r14,%rdx,4), %xmm1
movss %xmm1, (%r14,%rdx,4)
incq %rdx
cmpq %rdx, %r12
jne 0x3d8b
incq %rsi
incl %ebx
cmpq %rdi, %rsi
jne 0x3d68
jmp 0x40ab
movq -0x48(%rbp), %r9
cmpl %r9d, %ebx
movq -0x68(%rbp), %r8
movl -0x40(%rbp), %r10d
movq -0x80(%rbp), %r11
jg 0x40ab
subl -0x34(%rbp), %r11d
movslq -0x90(%rbp), %rax
subl %ebx, %r9d
incl %r9d
movq -0x98(%rbp), %rcx
leaq (%rcx,%rax,4), %rcx
movq %r12, %rax
shlq $0x2, %rax
leaq (%rax,%rax,2), %rsi
addq $0x8, -0x30(%rbp)
xorl %edi, %edi
leal (%r11,%rbx), %eax
cltd
idivl %r10d
testl %r12d, %r12d
jle 0x3e6f
imull -0x60(%rbp), %edx
movslq %edx, %rax
movss (%rcx,%rdi,4), %xmm0
movq -0x30(%rbp), %rdx
leaq (%rdx,%rax,4), %rax
xorl %edx, %edx
movss -0x8(%rax,%rdx), %xmm1
mulss %xmm0, %xmm1
addss (%r14,%rdx), %xmm1
movss %xmm1, (%r14,%rdx)
movss -0x4(%rax,%rdx), %xmm1
mulss %xmm0, %xmm1
addss 0x4(%r14,%rdx), %xmm1
movss %xmm1, 0x4(%r14,%rdx)
movss (%rax,%rdx), %xmm1
mulss %xmm0, %xmm1
addss 0x8(%r14,%rdx), %xmm1
movss %xmm1, 0x8(%r14,%rdx)
addq $0xc, %rdx
cmpq %rdx, %rsi
jne 0x3e21
incq %rdi
incl %ebx
cmpq %r9, %rdi
jne 0x3dfe
jmp 0x40ab
movq -0x48(%rbp), %r9
cmpl %r9d, %ebx
movq -0x68(%rbp), %r8
movl -0x40(%rbp), %r10d
movq -0x80(%rbp), %r11
jg 0x40ab
subl -0x34(%rbp), %r11d
subl %ebx, %r9d
incl %r9d
movq -0x98(%rbp), %rax
movq -0x90(%rbp), %rcx
leaq (%rax,%rcx,4), %rcx
movq %r12, %rsi
shlq $0x4, %rsi
addq $0xc, -0x30(%rbp)
xorl %edi, %edi
leal (%r11,%rbx), %eax
cltd
idivl %r10d
testl %r12d, %r12d
jle 0x3f4a
imull -0x60(%rbp), %edx
movslq %edx, %rax
movss (%rcx,%rdi,4), %xmm0
movq -0x30(%rbp), %rdx
leaq (%rdx,%rax,4), %rax
xorl %edx, %edx
movss -0xc(%rax,%rdx), %xmm1
mulss %xmm0, %xmm1
addss (%r14,%rdx), %xmm1
movss %xmm1, (%r14,%rdx)
movss -0x8(%rax,%rdx), %xmm1
mulss %xmm0, %xmm1
addss 0x4(%r14,%rdx), %xmm1
movss %xmm1, 0x4(%r14,%rdx)
movss -0x4(%rax,%rdx), %xmm1
mulss %xmm0, %xmm1
addss 0x8(%r14,%rdx), %xmm1
movss %xmm1, 0x8(%r14,%rdx)
movss (%rax,%rdx), %xmm1
mulss %xmm0, %xmm1
addss 0xc(%r14,%rdx), %xmm1
movss %xmm1, 0xc(%r14,%rdx)
addq $0x10, %rdx
cmpq %rdx, %rsi
jne 0x3ee4
incq %rdi
incl %ebx
cmpq %r9, %rdi
jne 0x3ec1
jmp 0x40ab
movq -0x48(%rbp), %rdi
cmpl %edi, %ebx
movq -0x68(%rbp), %r8
movl -0x40(%rbp), %r9d
movq -0x80(%rbp), %r10
jg 0x40ab
subl -0x34(%rbp), %r10d
movslq -0x90(%rbp), %rax
subl %ebx, %edi
incl %edi
movq -0x98(%rbp), %rcx
leaq (%rcx,%rax,4), %rcx
addq $0x4, -0x30(%rbp)
xorl %esi, %esi
leal (%r10,%rbx), %eax
cltd
idivl %r9d
testl %r12d, %r12d
jle 0x3fee
imull -0x60(%rbp), %edx
movslq %edx, %rax
movss (%rcx,%rsi,4), %xmm0
movq -0x30(%rbp), %rdx
leaq (%rdx,%rax,4), %rax
xorl %edx, %edx
movss -0x4(%rax,%rdx,8), %xmm1
mulss %xmm0, %xmm1
addss (%r14,%rdx,8), %xmm1
movss %xmm1, (%r14,%rdx,8)
movss (%rax,%rdx,8), %xmm1
mulss %xmm0, %xmm1
addss 0x4(%r14,%rdx,8), %xmm1
movss %xmm1, 0x4(%r14,%rdx,8)
incq %rdx
cmpq %rdx, %r12
jne 0x3fb9
incq %rsi
incl %ebx
cmpq %rdi, %rsi
jne 0x3f96
jmp 0x40ab
movq -0x48(%rbp), %rcx
cmpl %ecx, %ebx
movq -0x68(%rbp), %r8
movl -0x40(%rbp), %edi
movq -0x80(%rbp), %rdx
jg 0x40ab
subl -0x34(%rbp), %edx
movslq -0x90(%rbp), %rax
subl %ebx, %ecx
incl %ecx
movq -0x98(%rbp), %rsi
leaq (%rsi,%rax,4), %rax
movq %rax, -0x48(%rbp)
xorl %esi, %esi
movq %rdx, -0x80(%rbp)
leal (%rdx,%rbx), %eax
cltd
idivl %edi
testl %r12d, %r12d
jle 0x409a
imull -0x60(%rbp), %edx
movslq %edx, %rax
movq -0x48(%rbp), %rdx
movss (%rdx,%rsi,4), %xmm0
movq -0x30(%rbp), %rdx
leaq (%rdx,%rax,4), %rax
xorl %edx, %edx
xorl %edi, %edi
testl %r13d, %r13d
jle 0x408f
movl %edx, %r9d
leaq (%r14,%r9,4), %r11
leaq (%rax,%r9,4), %r9
xorl %r10d, %r10d
movss (%r9,%r10,4), %xmm1
mulss %xmm0, %xmm1
addss (%r11,%r10,4), %xmm1
movss %xmm1, (%r11,%r10,4)
incq %r10
cmpq %r10, %r13
jne 0x4071
incq %rdi
addl %r8d, %edx
cmpq %r15, %rdi
jne 0x405e
incq %rsi
incl %ebx
cmpq %rcx, %rsi
movl -0x40(%rbp), %edi
movq -0x80(%rbp), %rdx
jne 0x4037
movq -0xa0(%rbp), %rax
imulq -0xd0(%rbp), %rax
movq -0xc8(%rbp), %rdx
addq %rax, %rdx
movq -0xd8(%rbp), %rax
movq -0xb8(%rbp), %rcx
leal (%rcx,%rax,2), %eax
movl %eax, (%rsp)
leaq -0x1f0(%rbp), %r13
movq %r13, %rdi
movl %r12d, %esi
movq %r14, %rcx
movl -0xe0(%rbp), %r9d
callq 0x14d3a
movq -0x88(%rbp), %r15
incq %r15
movslq -0x1cc(%rbp), %rax
cmpq %rax, %r15
movss -0xe4(%rbp), %xmm0
jl 0x3b06
movl $0x1, %ecx
movq -0xc0(%rbp), %rdi
movl %ecx, %ebx
callq 0x10f0
movl %ebx, %eax
addq $0x1d8, %rsp            # imm = 0x1D8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x13eef(%rip), %rdi     # 0x18033
leaq 0x13729(%rip), %rsi     # 0x17874
leaq 0x13eb1(%rip), %rcx     # 0x18003
movl $0x818, %edx            # imm = 0x818
callq 0x1080
leaq 0x1426f(%rip), %rdi     # 0x183d2
leaq 0x1370a(%rip), %rsi     # 0x17874
leaq 0x141c4(%rip), %rcx     # 0x18335
movl $0x760, %edx            # imm = 0x760
callq 0x1080
leaq 0x142ab(%rip), %rdi     # 0x1842d
leaq 0x136eb(%rip), %rsi     # 0x17874
leaq 0x1426b(%rip), %rcx     # 0x183fb
movl $0x87d, %edx            # imm = 0x87D
callq 0x1080
leaq 0x14230(%rip), %rdi     # 0x183d1
leaq 0x136cc(%rip), %rsi     # 0x17874
leaq 0x142d0(%rip), %rcx     # 0x1847f
movl $0x7ce, %edx            # imm = 0x7CE
callq 0x1080
leaq 0x13878(%rip), %rdi     # 0x17a38
leaq 0x136ad(%rip), %rsi     # 0x17874
leaq 0x1387e(%rip), %rcx     # 0x17a4c
movl $0x8ff, %edx            # imm = 0x8FF
callq 0x1080
leaq 0x13915(%rip), %rdi     # 0x17af4
leaq 0x1368e(%rip), %rsi     # 0x17874
leaq 0x1385f(%rip), %rcx     # 0x17a4c
movl $0x900, %edx            # imm = 0x900
callq 0x1080
leaq 0x136c3(%rip), %rdi     # 0x178c1
leaq 0x1366f(%rip), %rsi     # 0x17874
leaq 0x13840(%rip), %rcx     # 0x17a4c
movl $0x905, %edx            # imm = 0x905
callq 0x1080
leaq 0x13724(%rip), %rdi     # 0x17941
leaq 0x13650(%rip), %rsi     # 0x17874
leaq 0x13821(%rip), %rcx     # 0x17a4c
movl $0x906, %edx            # imm = 0x906
callq 0x1080
leaq 0x138cd(%rip), %rdi     # 0x17b09
leaq 0x13631(%rip), %rsi     # 0x17874
leaq 0x13802(%rip), %rcx     # 0x17a4c
movl $0x911, %edx            # imm = 0x911
callq 0x1080
leaq 0x138e3(%rip), %rdi     # 0x17b3e
leaq 0x13612(%rip), %rsi     # 0x17874
leaq 0x137e3(%rip), %rcx     # 0x17a4c
movl $0x91b, %edx            # imm = 0x91B
callq 0x1080
leaq 0x138ed(%rip), %rdi     # 0x17b67
leaq 0x135f3(%rip), %rsi     # 0x17874
leaq 0x137c4(%rip), %rcx     # 0x17a4c
movl $0x947, %edx            # imm = 0x947
callq 0x1080