// File: /workspace/github_cpp_makefile_star2_O2/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 $0x1a8, %rsp            # imm = 0x1A8
movq %r8, %r12
movl %ecx, -0x30(%rbp)
movq %rdi, %r13
movl 0x50(%rbp), %eax
movl 0x48(%rbp), %ecx
movq 0x20(%rbp), %r8
movl 0x10(%rbp), %edi
movl 0x28(%rbp), %r10d
movl %esi, -0x1b0(%rbp)
movl %edx, -0x1ac(%rbp)
movl %r9d, -0x198(%rbp)
movl %edi, -0x194(%rbp)
movl %r10d, -0x16c(%rbp)
movss %xmm0, -0x18c(%rbp)
movss %xmm1, -0x188(%rbp)
movss %xmm2, -0x184(%rbp)
movss %xmm3, -0x180(%rbp)
testq %r8, %r8
je 0x2eb9
movss (%r8), %xmm5
movss 0x4(%r8), %xmm4
movss 0x8(%r8), %xmm7
movss 0xc(%r8), %xmm6
jmp 0x2efa
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 -0x1b8(%rbp), %rdi
movss %xmm5, 0x44(%rdi)
movss %xmm4, 0x48(%rdi)
movss %xmm7, 0x3c(%rdi)
movss 0xd0f0(%rip), %xmm0     # 0x10008
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 0xc982
movl %eax, %ebx
movq %rbx, %rdi
callq 0x1130
testq %rax, %rax
je 0x320d
movq %rbx, -0x50(%rbp)
movq %rax, -0x80(%rbp)
movl 0x18(%rbp), %r14d
leaq -0x1b8(%rbp), %rbx
movq %rbx, %rdi
callq 0xc982
movl 0x4c(%rbx), %r15d
movl 0x40(%rbp), %ecx
leaq 0xd11c(%rip), %rdx      # 0x100a0
cmpl $0x0, -0x30(%rbp)
jne 0x2f9e
movl -0x1b0(%rbp), %esi
imull %r15d, %esi
movzbl (%rcx,%rdx), %edi
imull %esi, %edi
movl %edi, -0x30(%rbp)
testl %r14d, %r14d
jne 0x2fb6
movl -0x198(%rbp), %esi
imull %r15d, %esi
movzbl (%rcx,%rdx), %r14d
imull %esi, %r14d
testl %r15d, %r15d
js 0x3cba
cmpl $0x41, %r15d
jae 0x3cd9
movl -0x15c(%rbp), %ecx
movl %ecx, -0x48(%rbp)
cmpl $0x6, %ecx
jae 0x3cf8
movq %r13, -0x68(%rbp)
movq %r12, -0x40(%rbp)
movl -0x158(%rbp), %ebx
cmpl $0x6, %ebx
jae 0x3d17
movl 0x38(%rbp), %ecx
movl 0x30(%rbp), %r12d
movl %ecx, %r13d
orl $0x3, %r13d
testl %r12d, %r12d
cmovnsl %ecx, %r13d
movl %r13d, %ecx
notl %ecx
testb $0x3, %cl
je 0x3023
testl %r12d, %r12d
js 0x3d36
cmpl %r12d, %r15d
jbe 0x3d36
movl $0x0, -0x6c(%rbp)
cmpl %r12d, %r15d
jle 0x3c20
movq -0x50(%rbp), %rcx
cmpl %ecx, %eax
ja 0x3d55
movq -0x80(%rbp), %rdi
xorl %esi, %esi
movq %rcx, %rdx
callq 0x1060
movq -0x68(%rbp), %rax
movq %rax, -0x1b8(%rbp)
movl -0x30(%rbp), %eax
movl %eax, -0x1a8(%rbp)
movq -0x40(%rbp), %rax
movq %rax, -0x1a0(%rbp)
movl %r14d, -0x190(%rbp)
movl %r12d, -0x168(%rbp)
movl %r13d, -0x164(%rbp)
movl 0x40(%rbp), %eax
movl %eax, -0x160(%rbp)
movl 0x58(%rbp), %eax
movl %eax, -0x154(%rbp)
movl 0x60(%rbp), %eax
movl %eax, -0x150(%rbp)
movl 0x68(%rbp), %eax
movl %eax, -0x14c(%rbp)
movss -0x174(%rbp), %xmm0
movss %xmm0, -0x40(%rbp)
movl -0x48(%rbp), %r12d
movl %r12d, %edi
callq 0xced9
movl %eax, -0x110(%rbp)
movss -0x170(%rbp), %xmm0
movss %xmm0, -0x30(%rbp)
movl %ebx, %edi
callq 0xced9
movl %eax, -0x10c(%rbp)
movl %r12d, %edi
movss -0x40(%rbp), %xmm0
callq 0xcb80
movl %eax, -0x108(%rbp)
movl %ebx, %edi
movss -0x30(%rbp), %xmm0
callq 0xcb80
movl %eax, -0x104(%rbp)
movl %r12d, %edi
movss -0x40(%rbp), %xmm0
callq 0xcb6f
movl %eax, %r14d
movl %eax, -0x100(%rbp)
movl %ebx, %edi
movq -0x80(%rbp), %rbx
movss -0x30(%rbp), %xmm0
callq 0xcb6f
movl %eax, -0xfc(%rbp)
movl -0x1b0(%rbp), %ecx
movl -0x198(%rbp), %r8d
imull %r8d, %r15d
shll $0x2, %r15d
movl %r15d, -0xf0(%rbp)
leal (%rcx,%r14,2), %eax
movl %eax, -0x128(%rbp)
movq %rbx, -0x148(%rbp)
movslq -0xd0(%rbp), %rsi
addq %rbx, %rsi
movq %rsi, -0x140(%rbp)
movslq -0xcc(%rbp), %rax
addq %rsi, %rax
movq %rax, -0x138(%rbp)
movslq -0xc8(%rbp), %rdi
addq %rax, %rdi
movq %rdi, -0x130(%rbp)
movslq -0xc4(%rbp), %rdx
addq %rdi, %rdx
movq %rdx, -0x120(%rbp)
movq %rbx, %rax
addq -0x50(%rbp), %rax
movss -0x30(%rbp), %xmm0
ucomiss 0xce55(%rip), %xmm0     # 0x10008
ja 0x3214
movslq -0xc0(%rbp), %rdi
addq %rdi, %rdx
movq %rdx, -0x118(%rbp)
movslq -0xbc(%rbp), %rdi
addq %rdx, %rdi
movq %rdi, -0xe0(%rbp)
andq $0x0, -0xd8(%rbp)
movslq -0xb8(%rbp), %rdx
addq %rdi, %rdx
cmpq %rdx, %rax
je 0x3251
leaq 0xe918(%rip), %rdi      # 0x11b0d
leaq 0xe598(%rip), %rsi      # 0x11794
leaq 0xe769(%rip), %rcx      # 0x1196c
movl $0x94f, %edx            # imm = 0x94F
callq 0x1080
xorl %eax, %eax
jmp 0x3c2c
andq $0x0, -0x118(%rbp)
movslq -0xc0(%rbp), %rdi
addq %rdi, %rdx
movq %rdx, -0xe0(%rbp)
movslq -0xb8(%rbp), %rdi
addq %rdx, %rdi
movq %rdi, -0xd8(%rbp)
movslq -0xb4(%rbp), %rdx
addq %rdi, %rdx
cmpq %rdx, %rax
jne 0x3d74
orl $-0x1, -0xe4(%rbp)
movss -0x17c(%rbp), %xmm1
movq %rbx, %rdi
movl %r12d, %edx
movss -0x40(%rbp), %xmm0
callq 0xcf1a
movq -0x138(%rbp), %rdi
movq -0x130(%rbp), %rsi
movl -0x158(%rbp), %edx
movss -0x170(%rbp), %xmm0
movss -0x178(%rbp), %xmm1
movl -0x1ac(%rbp), %ecx
movl -0x194(%rbp), %r8d
callq 0xcf1a
movss -0x170(%rbp), %xmm1
ucomiss 0xcd53(%rip), %xmm1     # 0x10008
pushq $0x1
popq %rax
movl %eax, -0x6c(%rbp)
movss %xmm1, -0x34(%rbp)
ja 0x36c8
leaq -0x1b8(%rbp), %rbx
movl 0x24(%rbx), %eax
movl %eax, -0x60(%rbp)
movl 0x60(%rbx), %eax
shlq $0x4, %rax
leaq 0x12a6f(%rip), %rcx     # 0x15d50
movaps %xmm1, %xmm0
callq *0x8(%rax,%rcx)
movss -0x34(%rbp), %xmm3
divss %xmm3, %xmm0
movss %xmm0, -0x88(%rbp)
movl 0xbc(%rbx), %edi
movl 0xc(%rbx), %eax
addl %edi, %eax
negl %edi
cmpl %eax, %edi
cmovgl %edi, %eax
movl %eax, -0x90(%rbp)
cmpl -0x90(%rbp), %edi
je 0x3c11
movss -0x178(%rbp), %xmm2
movl %edi, -0x78(%rbp)
movss -0x88(%rbp), %xmm0
movaps %xmm3, %xmm1
leaq -0x58(%rbp), %rsi
leaq -0x54(%rbp), %rdx
leaq -0xb0(%rbp), %rcx
callq 0xd7c7
movl -0x54(%rbp), %ebx
movl -0x58(%rbp), %r15d
movl %ebx, %eax
subl %r15d, %eax
cmpl -0x104(%rbp), %eax
jg 0x3c3e
testl %ebx, %ebx
movss -0x34(%rbp), %xmm3
js 0x36be
cmpl -0x60(%rbp), %r15d
jge 0x36be
leaq -0x1b8(%rbp), %r14
movq %r14, %rdi
movl %r15d, %esi
callq 0xf29e
movq %r14, %rdi
movl -0x78(%rbp), %r13d
movl %r13d, %esi
callq 0xd89e
movq -0x118(%rbp), %r12
movslq -0x198(%rbp), %rax
movslq -0x16c(%rbp), %rdx
imulq %rax, %rdx
shlq $0x2, %rdx
movq %r12, %rdi
xorl %esi, %esi
callq 0x1060
movss -0x174(%rbp), %xmm0
ucomiss 0xcc3b(%rip), %xmm0     # 0x10008
ja 0x33dc
movq %r14, %rdi
movq %r12, %rsi
callq 0xe6bd
jmp 0x33e7
movq %r14, %rdi
movq %r12, %rsi
callq 0xe1dc
cmpl $0x0, -0xe4(%rbp)
movss -0x34(%rbp), %xmm3
jns 0x3405
movq %r14, %rdi
movl %r15d, %esi
callq 0xe617
movss -0x34(%rbp), %xmm3
movl -0xe8(%rbp), %r15d
cmpl %r15d, %ebx
jle 0x3416
incl %r15d
jmp 0x33f5
movss -0x170(%rbp), %xmm0
ucomiss 0xcbe3(%rip), %xmm0     # 0x10008
ja 0x3c9b
movq -0x130(%rbp), %rax
movq %rax, -0x50(%rbp)
movslq -0x16c(%rbp), %rsi
movl -0x104(%rbp), %eax
movl %eax, -0x40(%rbp)
movq -0x118(%rbp), %r8
movq -0xe0(%rbp), %r9
movl -0xf0(%rbp), %eax
sarl $0x2, %eax
movl %eax, -0x48(%rbp)
movq -0x138(%rbp), %rax
movslq -0xfc(%rbp), %rcx
movslq %r13d, %rdx
addq %rcx, %rdx
movl -0x198(%rbp), %r11d
movslq (%rax,%rdx,8), %r15
movl -0xe4(%rbp), %ecx
movl -0x10c(%rbp), %r13d
imull %edx, %r13d
subl -0xec(%rbp), %ecx
movq %rcx, -0x68(%rbp)
subl %r15d, %r13d
testl %r11d, %r11d
movl $0x0, %ecx
cmovlel %ecx, %r11d
testl %esi, %esi
movl $0x0, %r14d
cmovgl %esi, %r14d
movslq 0x4(%rax,%rdx,8), %rax
movq %rax, -0x30(%rbp)
movq %r11, %rcx
shlq $0x4, %rcx
leaq 0xc(%r9), %rax
movq %rax, -0xa8(%rbp)
leaq 0x8(%r9), %rax
movq %rax, -0xa0(%rbp)
imulq $0xc, %r11, %rdi
movq %r9, %rbx
leaq 0x4(%r9), %rax
movq %rax, -0x98(%rbp)
movq %rsi, %r12
leaq (,%rsi,4), %r10
cmpq -0x30(%rbp), %r15
jg 0x36be
leal (%r15,%r13), %eax
cltq
movq -0x50(%rbp), %rdx
movss (%rdx,%rax,4), %xmm0
movq -0x68(%rbp), %rax
addl %r15d, %eax
cltd
idivl -0x40(%rbp)
imull -0x48(%rbp), %edx
movslq %edx, %rdx
leaq (%rbx,%rdx,4), %rax
leal -0x1(%r12), %esi
cmpl $0x3, %esi
ja 0x367e
leaq 0xcbb4(%rip), %r9       # 0x100f0
movslq (%r9,%rsi,4), %rsi
addq %r9, %rsi
jmpq *%rsi
xorl %edx, %edx
cmpq %rdx, %r11
je 0x36b6
movss (%r8,%rdx,4), %xmm1
mulss %xmm0, %xmm1
addss (%rax,%rdx,4), %xmm1
movss %xmm1, (%rax,%rdx,4)
incq %rdx
jmp 0x3547
movq -0xa0(%rbp), %rax
leaq (%rax,%rdx,4), %rax
xorl %edx, %edx
cmpq %rdx, %rdi
je 0x36b6
movss (%r8,%rdx), %xmm1
mulss %xmm0, %xmm1
addss -0x8(%rax,%rdx), %xmm1
movss %xmm1, -0x8(%rax,%rdx)
movss 0x4(%r8,%rdx), %xmm1
mulss %xmm0, %xmm1
addss -0x4(%rax,%rdx), %xmm1
movss %xmm1, -0x4(%rax,%rdx)
movss 0x8(%r8,%rdx), %xmm1
mulss %xmm0, %xmm1
addss (%rax,%rdx), %xmm1
movss %xmm1, (%rax,%rdx)
addq $0xc, %rdx
jmp 0x3576
movq -0xa8(%rbp), %rax
leaq (%rax,%rdx,4), %rax
xorl %edx, %edx
cmpq %rdx, %rcx
je 0x36b6
movss (%r8,%rdx), %xmm1
mulss %xmm0, %xmm1
addss -0xc(%rax,%rdx), %xmm1
movss %xmm1, -0xc(%rax,%rdx)
movss 0x4(%r8,%rdx), %xmm1
mulss %xmm0, %xmm1
addss -0x8(%rax,%rdx), %xmm1
movss %xmm1, -0x8(%rax,%rdx)
movss 0x8(%r8,%rdx), %xmm1
mulss %xmm0, %xmm1
addss -0x4(%rax,%rdx), %xmm1
movss %xmm1, -0x4(%rax,%rdx)
movss 0xc(%r8,%rdx), %xmm1
mulss %xmm0, %xmm1
addss (%rax,%rdx), %xmm1
movss %xmm1, (%rax,%rdx)
addq $0x10, %rdx
jmp 0x35d4
movq -0x98(%rbp), %rax
leaq (%rax,%rdx,4), %rax
xorl %edx, %edx
cmpq %rdx, %r11
je 0x36b6
movss (%r8,%rdx,8), %xmm1
mulss %xmm0, %xmm1
addss -0x4(%rax,%rdx,8), %xmm1
movss %xmm1, -0x4(%rax,%rdx,8)
movss 0x4(%r8,%rdx,8), %xmm1
mulss %xmm0, %xmm1
addss (%rax,%rdx,8), %xmm1
movss %xmm1, (%rax,%rdx,8)
incq %rdx
jmp 0x3649
movq %r8, %rdx
xorl %esi, %esi
cmpq %r11, %rsi
je 0x36b6
xorl %r9d, %r9d
cmpq %r9, %r14
je 0x36ab
movss (%rdx,%r9,4), %xmm1
mulss %xmm0, %xmm1
addss (%rax,%r9,4), %xmm1
movss %xmm1, (%rax,%r9,4)
incq %r9
jmp 0x368b
incq %rsi
addq %r10, %rax
addq %r10, %rdx
jmp 0x3683
incq %r15
jmp 0x34f8
movl -0x78(%rbp), %edi
incl %edi
jmp 0x3311
leaq -0x1b8(%rbp), %r14
movl 0x60(%r14), %eax
shlq $0x4, %rax
leaq 0x12672(%rip), %rcx     # 0x15d50
movss 0xc922(%rip), %xmm0     # 0x10008
divss %xmm1, %xmm0
callq *0x8(%rax,%rcx)
movss -0x34(%rbp), %xmm1
mulss %xmm1, %xmm0
movss %xmm0, -0xac(%rbp)
xorl %r15d, %r15d
movslq -0x194(%rbp), %rax
cmpq %rax, %r15
jge 0x3c20
andl $0x0, -0x58(%rbp)
andl $0x0, -0x54(%rbp)
movss -0x178(%rbp), %xmm2
movl %r15d, %edi
movss -0xac(%rbp), %xmm0
leaq -0x58(%rbp), %rsi
leaq -0x54(%rbp), %rdx
leaq -0xb0(%rbp), %rcx
callq 0xd745
movl -0x54(%rbp), %ebx
movl -0x58(%rbp), %esi
movl %ebx, %eax
subl %esi, %eax
movl -0x104(%rbp), %ecx
cmpl %ecx, %eax
jg 0x3c5d
movl -0xe4(%rbp), %eax
testl %eax, %eax
js 0x37a5
movl -0xec(%rbp), %edi
movl -0xe8(%rbp), %r8d
cmpl %edi, %esi
jle 0x3790
cmpl %edi, %r8d
je 0x3796
incl %edi
movl %edi, -0xec(%rbp)
incl %eax
cltd
idivl %ecx
movl %edx, %eax
movl %edx, -0xe4(%rbp)
jmp 0x3770
testl %eax, %eax
jns 0x37ad
jmp 0x37a5
orl $-0x1, -0xe4(%rbp)
andq $0x0, -0xec(%rbp)
movq %r14, %rdi
callq 0xd849
movl -0xe8(%rbp), %esi
cmpl %esi, %ebx
jle 0x37bb
incl %esi
jmp 0x37a5
movss -0x170(%rbp), %xmm0
ucomiss 0xc83e(%rip), %xmm0     # 0x10008
jbe 0x3c7c
movslq -0x198(%rbp), %rdx
movq -0x138(%rbp), %rax
movq -0x130(%rbp), %rcx
movq %rcx, -0x60(%rbp)
movslq -0x16c(%rbp), %rsi
movq %rsi, -0x40(%rbp)
movl -0x168(%rbp), %ecx
movl %ecx, -0xa8(%rbp)
movl -0x160(%rbp), %ecx
movq %rcx, -0xa0(%rbp)
movl -0x14c(%rbp), %ecx
movq %rcx, -0x98(%rbp)
movslq -0x10c(%rbp), %rdi
movl -0xf0(%rbp), %r14d
sarl $0x2, %r14d
movslq %r15d, %rcx
movq %rcx, -0x78(%rbp)
imulq %rcx, %rdi
movq %rdi, -0x1c0(%rbp)
movl 0x4(%rax,%r15,8), %ecx
movl %ecx, -0x30(%rbp)
movl -0xe4(%rbp), %r13d
movq %r15, -0x68(%rbp)
movl (%rax,%r15,8), %r12d
movq %rdx, -0x48(%rbp)
imulq %rsi, %rdx
shlq $0x2, %rdx
subl -0xec(%rbp), %r13d
movl -0x104(%rbp), %eax
movl %eax, -0x50(%rbp)
movq -0x1a0(%rbp), %rax
movq %rax, -0x90(%rbp)
movq -0xd8(%rbp), %r15
movq -0xe0(%rbp), %rbx
movslq -0x190(%rbp), %rax
movq %rax, -0x88(%rbp)
movq %r15, %rdi
xorl %esi, %esi
callq 0x1060
movq -0x1c0(%rbp), %rsi
movq -0x40(%rbp), %rax
leal -0x1(%rax), %ecx
movslq %esi, %rax
cmpl $0x3, %ecx
ja 0x3b20
leaq 0xc81a(%rip), %rdx      # 0x100e0
movslq (%rdx,%rcx,4), %rcx
addq %rdx, %rcx
jmpq *%rcx
movq -0x48(%rbp), %rdx
testl %edx, %edx
movl $0x0, %ecx
cmovgl %edx, %ecx
movq -0x60(%rbp), %rdx
leaq (%rdx,%rax,4), %rsi
xorl %edi, %edi
movl -0x30(%rbp), %r8d
movl -0x50(%rbp), %r9d
cmpl %r8d, %r12d
jg 0x3bb5
leal (%r12,%r13), %eax
cltd
idivl %r9d
imull %r14d, %edx
movslq %edx, %rax
leaq (%rbx,%rax,4), %rax
movss (%rsi,%rdi,4), %xmm0
xorl %edx, %edx
cmpq %rdx, %rcx
je 0x3931
movss (%rax,%rdx,4), %xmm1
mulss %xmm0, %xmm1
addss (%r15,%rdx,4), %xmm1
movss %xmm1, (%r15,%rdx,4)
incq %rdx
jmp 0x3912
incq %rdi
incl %r12d
jmp 0x38ef
movq -0x48(%rbp), %rcx
testl %ecx, %ecx
movl $0x0, %edx
cmovgl %ecx, %edx
movq -0x60(%rbp), %rcx
leaq (%rcx,%rax,4), %rcx
addq $0x8, %rbx
imulq $0xc, %rdx, %rsi
xorl %edi, %edi
movl -0x30(%rbp), %r8d
movl -0x50(%rbp), %r9d
cmpl %r8d, %r12d
jg 0x3bb5
leal (%r12,%r13), %eax
cltd
idivl %r9d
imull %r14d, %edx
movslq %edx, %rax
movss (%rcx,%rdi,4), %xmm0
leaq (%rbx,%rax,4), %rax
xorl %edx, %edx
cmpq %rdx, %rsi
je 0x39d4
movss -0x8(%rax,%rdx), %xmm1
mulss %xmm0, %xmm1
addss (%r15,%rdx), %xmm1
movss %xmm1, (%r15,%rdx)
movss -0x4(%rax,%rdx), %xmm1
mulss %xmm0, %xmm1
addss 0x4(%r15,%rdx), %xmm1
movss %xmm1, 0x4(%r15,%rdx)
movss (%rax,%rdx), %xmm1
mulss %xmm0, %xmm1
addss 0x8(%r15,%rdx), %xmm1
movss %xmm1, 0x8(%r15,%rdx)
addq $0xc, %rdx
jmp 0x3984
incq %rdi
incl %r12d
jmp 0x3961
movq -0x48(%rbp), %rax
testl %eax, %eax
movl $0x0, %ecx
cmovgl %eax, %ecx
movq -0x60(%rbp), %rax
leaq (%rax,%rsi,4), %rsi
addq $0xc, %rbx
shlq $0x4, %rcx
xorl %edi, %edi
movl -0x30(%rbp), %r8d
movl -0x50(%rbp), %r9d
cmpl %r8d, %r12d
jg 0x3bb5
leal (%r12,%r13), %eax
cltd
idivl %r9d
imull %r14d, %edx
movslq %edx, %rax
movss (%rsi,%rdi,4), %xmm0
leaq (%rbx,%rax,4), %rax
xorl %edx, %edx
cmpq %rdx, %rcx
je 0x3a8f
movss -0xc(%rax,%rdx), %xmm1
mulss %xmm0, %xmm1
addss (%r15,%rdx), %xmm1
movss %xmm1, (%r15,%rdx)
movss -0x8(%rax,%rdx), %xmm1
mulss %xmm0, %xmm1
addss 0x4(%r15,%rdx), %xmm1
movss %xmm1, 0x4(%r15,%rdx)
movss -0x4(%rax,%rdx), %xmm1
mulss %xmm0, %xmm1
addss 0x8(%r15,%rdx), %xmm1
movss %xmm1, 0x8(%r15,%rdx)
movss (%rax,%rdx), %xmm1
mulss %xmm0, %xmm1
addss 0xc(%r15,%rdx), %xmm1
movss %xmm1, 0xc(%r15,%rdx)
addq $0x10, %rdx
jmp 0x3a27
incq %rdi
incl %r12d
jmp 0x3a04
movq -0x48(%rbp), %rdx
testl %edx, %edx
movl $0x0, %ecx
cmovgl %edx, %ecx
movq -0x60(%rbp), %rdx
leaq (%rdx,%rax,4), %rsi
addq $0x4, %rbx
xorl %edi, %edi
movl -0x30(%rbp), %r8d
movl -0x50(%rbp), %r9d
cmpl %r8d, %r12d
jg 0x3bb5
leal (%r12,%r13), %eax
cltd
idivl %r9d
imull %r14d, %edx
movslq %edx, %rax
movss (%rsi,%rdi,4), %xmm0
leaq (%rbx,%rax,4), %rax
xorl %edx, %edx
cmpq %rdx, %rcx
je 0x3b18
movss -0x4(%rax,%rdx,8), %xmm1
mulss %xmm0, %xmm1
addss (%r15,%rdx,8), %xmm1
movss %xmm1, (%r15,%rdx,8)
movss (%rax,%rdx,8), %xmm1
mulss %xmm0, %xmm1
addss 0x4(%r15,%rdx,8), %xmm1
movss %xmm1, 0x4(%r15,%rdx,8)
incq %rdx
jmp 0x3ae1
incq %rdi
incl %r12d
jmp 0x3abe
movq -0x40(%rbp), %r8
testl %r8d, %r8d
movl $0x0, %ecx
cmovgl %r8d, %ecx
movq -0x48(%rbp), %rdx
testl %edx, %edx
movl $0x0, %esi
cmovgl %edx, %esi
movq -0x60(%rbp), %rdx
leaq (%rdx,%rax,4), %rdi
leaq (,%r8,4), %r8
xorl %r9d, %r9d
cmpl -0x30(%rbp), %r12d
movl -0x50(%rbp), %r10d
jg 0x3bb5
leal (%r12,%r13), %eax
cltd
idivl %r10d
imull %r14d, %edx
movslq %edx, %rax
leaq (%rbx,%rax,4), %rax
movss (%rdi,%r9,4), %xmm0
movq %r15, %rdx
xorl %r10d, %r10d
cmpq %rsi, %r10
je 0x3bad
xorl %r11d, %r11d
cmpq %r11, %rcx
je 0x3ba2
movss (%rax,%r11,4), %xmm1
mulss %xmm0, %xmm1
addss (%rdx,%r11,4), %xmm1
movss %xmm1, (%rdx,%r11,4)
incq %r11
jmp 0x3b82
incq %r10
addq %r8, %rdx
addq %r8, %rax
jmp 0x3b7a
incq %r9
incl %r12d
jmp 0x3b51
movq -0x88(%rbp), %rax
imulq -0x78(%rbp), %rax
movq -0x90(%rbp), %rdx
addq %rax, %rdx
movq -0xa0(%rbp), %rax
movq -0x98(%rbp), %rcx
leal (%rcx,%rax,2), %eax
movl %eax, (%rsp)
leaq -0x1b8(%rbp), %r14
movq %r14, %rdi
movq -0x48(%rbp), %rsi
movq %r15, %rcx
movq -0x40(%rbp), %r8
movl -0xa8(%rbp), %r9d
callq 0xebac
movq -0x68(%rbp), %r15
incq %r15
movss -0x34(%rbp), %xmm1
jmp 0x3702
leaq -0x1b8(%rbp), %rdi
movl 0x24(%rdi), %esi
callq 0xf29e
movq -0x80(%rbp), %rdi
callq 0x1100
movl -0x6c(%rbp), %eax
addq $0x1a8, %rsp            # imm = 0x1A8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0xe708(%rip), %rdi      # 0x1234d
leaq 0xdb48(%rip), %rsi      # 0x11794
leaq 0xe6c8(%rip), %rcx      # 0x1231b
movl $0x87d, %edx            # imm = 0x87D
callq 0x1080
leaq 0xe2ef(%rip), %rdi      # 0x11f53
leaq 0xdb29(%rip), %rsi      # 0x11794
leaq 0xe2b1(%rip), %rcx      # 0x11f23
movl $0x818, %edx            # imm = 0x818
callq 0x1080
leaq 0xe66f(%rip), %rdi      # 0x122f2
leaq 0xdb0a(%rip), %rsi      # 0x11794
leaq 0xe5c4(%rip), %rcx      # 0x12255
movl $0x760, %edx            # imm = 0x760
callq 0x1080
leaq 0xe64f(%rip), %rdi      # 0x122f1
leaq 0xdaeb(%rip), %rsi      # 0x11794
leaq 0xe6ef(%rip), %rcx      # 0x1239f
movl $0x7ce, %edx            # imm = 0x7CE
callq 0x1080
leaq 0xdc97(%rip), %rdi      # 0x11958
leaq 0xdacc(%rip), %rsi      # 0x11794
leaq 0xdc9d(%rip), %rcx      # 0x1196c
movl $0x8ff, %edx            # imm = 0x8FF
callq 0x1080
leaq 0xdd34(%rip), %rdi      # 0x11a14
leaq 0xdaad(%rip), %rsi      # 0x11794
leaq 0xdc7e(%rip), %rcx      # 0x1196c
movl $0x900, %edx            # imm = 0x900
callq 0x1080
leaq 0xdae2(%rip), %rdi      # 0x117e1
leaq 0xda8e(%rip), %rsi      # 0x11794
leaq 0xdc5f(%rip), %rcx      # 0x1196c
movl $0x905, %edx            # imm = 0x905
callq 0x1080
leaq 0xdb43(%rip), %rdi      # 0x11861
leaq 0xda6f(%rip), %rsi      # 0x11794
leaq 0xdc40(%rip), %rcx      # 0x1196c
movl $0x906, %edx            # imm = 0x906
callq 0x1080
leaq 0xdcec(%rip), %rdi      # 0x11a29
leaq 0xda50(%rip), %rsi      # 0x11794
leaq 0xdc21(%rip), %rcx      # 0x1196c
movl $0x911, %edx            # imm = 0x911
callq 0x1080
leaq 0xdd02(%rip), %rdi      # 0x11a5e
leaq 0xda31(%rip), %rsi      # 0x11794
leaq 0xdc02(%rip), %rcx      # 0x1196c
movl $0x91b, %edx            # imm = 0x91B
callq 0x1080
leaq 0xdd0c(%rip), %rdi      # 0x11a87
leaq 0xda12(%rip), %rsi      # 0x11794
leaq 0xdbe3(%rip), %rcx      # 0x1196c
movl $0x947, %edx            # imm = 0x947
callq 0x1080