Function at 0x509e20
Capabilities:
Resolve function by parsing pe exports

Disassembly:
lea r12, [rsp - 0x160]
cmp r12, qword [r14 + 0x10]
jbe 0x50b052
push rbp
mov rbp, rsp
sub rsp, 0x1d8
mov qword [rsp + 0x250], rbx
mov qword [rsp + 0x258], rcx
movsd xmm2, qword [rax]
movsd xmm3, qword [0x005d9900]
ucomisd xmm0, xmm3
jbe 0x509e6c
movups xmm4, xmm0
mulsd xmm0, xmm2
divsd xmm3, xmm4
jmp 0x509e77
movups xmm0, xmm2
movsd xmm3, qword [0x005d9900]
movsd xmm4, qword [0x005d9900]
ucomisd xmm1, xmm4
jbe 0x509e8f
mulsd xmm2, xmm1
divsd xmm4, xmm1
jmp 0x509e97
movsd xmm4, qword [0x005d9900]
mov qword [rsp + 0x248], rax
mov qword [rsp + 0x280], r10
mov qword [rsp + 0x298], r11
mov qword [rsp + 0x1b0], rsi
mov qword [rsp + 0x1a8], rdi
mov qword [rsp + 0x258], rcx
mov qword [rsp + 0x250], rbx
movsd qword [rsp + 0x58], xmm4
movsd qword [rsp + 0x78], xmm3
movsd qword [rsp + 0x60], xmm2
movsd qword [rsp + 0x80], xmm0
movzx edx, byte [0x0072686f]
test edx, edx
je 0x509efd
roundsd xmm1, xmm0, 2
jmp 0x509f08
nop dword [rax]
call sym.math.Ceil
movups xmm1, xmm0
cvttsd2si rdx, xmm1
lea rcx, [rdx + rdx]
lea rcx, [rcx + 1]
mov qword [rsp + 0x70], rcx
lea rax, [0x0056bbe0]
mov rbx, rcx
call sym.runtime.makeslice
mov qword [rsp + 0x1d0], rax
movzx edx, byte [0x0072686f]
test edx, edx
je 0x509f4a
movsd xmm0, qword [rsp + 0x60]
roundsd xmm1, xmm0, 2
jmp 0x509f58
movsd xmm0, qword [rsp + 0x60]
call sym.math.Ceil
movups xmm1, xmm0
cvttsd2si rdx, xmm1
lea rcx, [rdx + rdx]
lea rcx, [rcx + 1]
mov qword [rsp + 0x48], rcx
lea rax, [0x0056bbe0]
mov rbx, rcx
call sym.runtime.makeslice
mov qword [rsp + 0x1c8], rax
mov rdx, qword [rsp + 0x298]
mov rsi, qword [rdx + 0x20]
mov qword [rsp + 0xb8], rsi
mov rdi, qword [rdx + 0x28]
mov qword [rsp + 0x1b8], rdi
mov r8, qword [rdx + 0x30]
mov qword [rsp + 0x1a0], r8
mov r9, qword [rdx + 0x38]
mov qword [rsp + 0x198], r9
mov r10, qword [rdx]
mov qword [rsp + 0x128], r10
mov r11, qword [rdx + 8]
mov qword [rsp + 0x1c0], r11
mov r12, qword [rdx + 0x18]
mov qword [rsp + 0x190], r12
mov rdx, qword [rdx + 0x10]
mov qword [rsp + 0x188], rdx
mov r13, qword [rsp + 0x238]
mov r15, qword [rsp + 0x220]
mov rcx, qword [rsp + 0x218]
mov rbx, qword [rsp + 0x240]
mov qword [rsp + 0x140], rax
mov rax, qword [rsp + 0x1f0]
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0x140]
jmp 0x50a06f
lea edx, [r12 + 1]
mov r9, qword [rsp + 0x1e8]
mov r12, qword [rsp + 0x228]
mov rdi, qword [rsp + 0x1b8]
mov r9, qword [rsp + 0x198]
mov r10, qword [rsp + 0x128]
mov r11, qword [rsp + 0x1c0]
mov r12, qword [rsp + 0x190]
mov dword [rsp + 0x40], edx
mov rdx, qword [rsp + 0x188]
mov r11, qword [rsp + 0x200]
mov r12d, dword [rsp + 0x40]
nop dword [rax]
cmp r11d, r12d
jle 0x50a0e7
movsxd rdx, r12d
mov qword [rsp + 0x180], rdx
mov r10, qword [rsp + 0x1b0]
add rdx, r10
mov qword [rsp + 0x178], rdx
xorps xmm0, xmm0
cvtsi2sd xmm0, rdx
movsd xmm1, qword [0x005d98f8]
addsd xmm0, xmm1
movsd qword [rsp + 0x120], xmm0
movsd xmm2, qword [rsp + 0x80]
mov qword [rsp + 0x138], rax
mov rax, qword [rsp + 0x1e8]
mov dword [rsp + 0x44], eax
mov rax, qword [rsp + 0x138]
jmp 0x50a138
add rsp, 0x1d8
pop rbp
ret
lea eax, [r9 + 1]
mov rdx, qword [rsp + 0x178]
mov rsi, qword [rsp + 0xb8]
mov rdi, qword [rsp + 0x1b8]
mov r8, qword [rsp + 0x1a0]
mov r9, qword [rsp + 0x198]
mov r10, qword [rsp + 0x1b0]
mov r11, qword [rsp + 0x200]
mov dword [rsp + 0x44], eax
mov rax, qword [rsp + 0x1c8]
mov rdi, qword [rsp + 0x1f8]
mov r9d, dword [rsp + 0x44]
cmp edi, r9d
jle 0x50a026
movsxd r8, r9d
mov qword [rsp + 0x170], r8
mov rsi, qword [rsp + 0x1a8]
add r8, rsi
mov qword [rsp + 0x168], r8
xorps xmm3, xmm3
cvtsi2sd xmm3, r8
addsd xmm3, xmm1
mov r8, qword [rsp + 0x280]
movsd xmm4, qword [r8]
mulsd xmm4, xmm3
movsd xmm5, qword [r8 + 8]
mulsd xmm5, xmm0
addsd xmm5, xmm4
addsd xmm5, qword [r8 + 0x10]
movsd xmm4, qword [r8 + 0x18]
mulsd xmm4, xmm3
movsd xmm3, qword [r8 + 0x20]
mulsd xmm3, xmm0
addsd xmm3, xmm4
addsd xmm3, qword [r8 + 0x28]
cvttsd2si rdx, xmm5
add rdx, r13
cvttsd2si rax, xmm3
add rax, rbx
cmp rcx, rdx
jg 0x50a3f8
mov r10, qword [rsp + 0x228]
nop dword [rax]
cmp r10, rdx
jle 0x50a3e8
cmp r15, rax
jg 0x50a3d8
mov rdx, r11
mov r11, qword [rsp + 0x230]
nop dword [rax]
cmp r11, rax
jle 0x50a0f0
movsd qword [rsp + 0xa8], xmm3
xorps xmm4, xmm4
cvtsi2sd xmm4, r13
addsd xmm5, xmm4
subsd xmm5, xmm1
movsd qword [rsp + 0xb0], xmm5
movups xmm4, xmm5
subsd xmm5, xmm2
mov eax, r12d
movzx r12d, byte [0x0072686f]
nop dword [rax]
test r12d, r12d
je 0x50a250
roundsd xmm5, xmm5, 1
jmp 0x50a2e8
movups xmm0, xmm5
call sym.math.Floor
mov eax, dword [rsp + 0x40]
mov rcx, qword [rsp + 0x218]
mov rdx, qword [rsp + 0x200]
mov rbx, qword [rsp + 0x240]
mov rsi, qword [rsp + 0x1a8]
mov rdi, qword [rsp + 0x1f8]
mov r8, qword [rsp + 0x280]
mov r9d, dword [rsp + 0x44]
mov r10, qword [rsp + 0x228]
mov r11, qword [rsp + 0x230]
movzx r12d, byte [0x0072686f]
mov r13, qword [rsp + 0x238]
mov r15, qword [rsp + 0x220]
movsd xmm1, qword [0x005d98f8]
movsd xmm2, qword [rsp + 0x80]
movsd xmm3, qword [rsp + 0xa8]
movsd xmm4, qword [rsp + 0xb0]
movups xmm5, xmm0
movsd xmm0, qword [rsp + 0x120]
cvttsd2si rdx, xmm5
cmp rcx, rdx
jle 0x50a2fa
test r12d, r12d
mov rdx, rcx
jmp 0x50a308
test r12d, r12d
mov rcx, rdx
mov rdx, qword [rsp + 0x218]
mov qword [rsp + 0x118], rcx
movups xmm5, xmm4
addsd xmm4, xmm2
je 0x50a325
roundsd xmm4, xmm4, 2
nop
jmp 0x50a3b9
movups xmm0, xmm4
call sym.math.Ceil
mov rcx, qword [rsp + 0x118]
mov rdx, qword [rsp + 0x218]
mov rbx, qword [rsp + 0x240]
mov rsi, qword [rsp + 0x1a8]
mov rdi, qword [rsp + 0x1f8]
mov r8, qword [rsp + 0x280]
mov r9d, dword [rsp + 0x44]
mov r10, qword [rsp + 0x228]
mov r11, qword [rsp + 0x230]
movzx r12d, byte [0x0072686f]
mov r13, qword [rsp + 0x238]
mov r15, qword [rsp + 0x220]
movsd xmm1, qword [0x005d98f8]
movsd xmm2, qword [rsp + 0x80]
movsd xmm3, qword [rsp + 0xa8]
movsd xmm5, qword [rsp + 0xb0]
movups xmm4, xmm0
movsd xmm0, qword [rsp + 0x120]
cvttsd2si rax, xmm4
cmp r10, rax
cmovl rax, r10
mov qword [rsp + 0x108], rax
movsd xmm4, qword [rsp + 0x78]
xorps xmm6, xmm6
jmp 0x50a450
mov rdx, r11
mov r11, qword [rsp + 0x230]
jmp 0x50a0f0
mov rdx, r11
mov r11, qword [rsp + 0x230]
jmp 0x50a0f0
mov rdx, r11
mov r10, qword [rsp + 0x228]
mov r11, qword [rsp + 0x230]
jmp 0x50a0f0
mov rdx, qword [rsp + 0x1d0]
movsd qword [rdx + rcx*8], xmm5
mov rcx, qword [rsp + 0xf8]
inc rcx
addsd xmm6, xmm5
mov rdx, qword [rsp + 0x218]
mov r8, qword [rsp + 0x280]
mov r10, qword [rsp + 0x228]
mov r13, qword [rsp + 0x238]
movups xmm5, xmm8
cmp rcx, rax
jge 0x50a585
xorps xmm7, xmm7
cvtsi2sd xmm7, rcx
movups xmm8, xmm5
subsd xmm5, xmm7
mulsd xmm5, xmm4
xorps xmm7, xmm7
ucomisd xmm7, xmm5
jbe 0x50a484
movsd xmm9, qword [0x005d98e8]
pxor xmm5, xmm9
mov qword [rsp + 0xf8], rcx
mov r10, qword [rsp + 0x248]
movsd xmm9, qword [r10]
ucomisd xmm9, xmm5
nop
ja 0x50a4aa
xorps xmm5, xmm5
jmp 0x50a566
movsd qword [rsp + 0xa0], xmm6
mov rdx, qword [r10 + 8]
mov rax, qword [rdx]
movups xmm0, xmm5
call rax
mov rax, qword [rsp + 0x108]
mov rcx, qword [rsp + 0xf8]
mov rdx, qword [rsp + 0x218]
mov rbx, qword [rsp + 0x240]
mov rsi, qword [rsp + 0x1a8]
mov rdi, qword [rsp + 0x1f8]
mov r8, qword [rsp + 0x280]
mov r9d, dword [rsp + 0x44]
mov r10, qword [rsp + 0x248]
mov r11, qword [rsp + 0x230]
movzx r12d, byte [0x0072686f]
mov r13, qword [rsp + 0x238]
mov r15, qword [rsp + 0x220]
movsd xmm1, qword [0x005d98f8]
movsd xmm2, qword [rsp + 0x80]
movsd xmm3, qword [rsp + 0xa8]
movsd xmm4, qword [rsp + 0x78]
movsd xmm6, qword [rsp + 0xa0]
xorps xmm7, xmm7
movsd xmm8, qword [rsp + 0xb0]
movups xmm5, xmm0
movsd xmm0, qword [rsp + 0x120]
mov r13, qword [rsp + 0x118]
sub rcx, r13
mov r8, qword [rsp + 0x70]
cmp r8, rcx
ja 0x50a410
nop
jmp 0x50b046
mov rcx, r10
mov r10, qword [rsp + 0x118]
sub rax, r10
mov r13, qword [rsp + 0x70]
nop dword [rax + rax]
cmp r13, rax
jb 0x50b03b
xor r12d, r12d
mov qword [rsp + 0x88], r12
movzx r12d, byte [0x0072686f]
jmp 0x50a5f1
mov rcx, qword [rsp + 0x1d0]
movsd xmm5, qword [rcx + r8*8]
divsd xmm5, xmm6
movsd qword [rcx + r8*8], xmm5
inc r8
mov rcx, qword [rsp + 0x228]
mov qword [rsp + 0x88], r8
mov r8, qword [rsp + 0x280]
mov r8, qword [rsp + 0x88]
cmp r8, rax
jl 0x50a5be
xorps xmm5, xmm5
cvtsi2sd xmm5, rbx
addsd xmm3, xmm5
subsd xmm3, xmm1
movsd qword [rsp + 0xa8], xmm3
movsd xmm5, qword [rsp + 0x60]
movups xmm6, xmm3
subsd xmm3, xmm5
test r12d, r12d
je 0x50a634
roundsd xmm3, xmm3, 1
jmp 0x50a6c0
movups xmm0, xmm3
call sym.math.Floor
mov rcx, qword [rsp + 0x228]
mov rdx, qword [rsp + 0x218]
mov rbx, qword [rsp + 0x240]
mov rsi, qword [rsp + 0x1a8]
mov rdi, qword [rsp + 0x1f8]
mov r9d, dword [rsp + 0x44]
mov r10, qword [rsp + 0x118]
mov r11, qword [rsp + 0x230]
movzx r12d, byte [0x0072686f]
mov r13, qword [rsp + 0x70]
mov r15, qword [rsp + 0x220]
movsd xmm1, qword [0x005d98f8]
movsd xmm2, qword [rsp + 0x80]
movsd xmm4, qword [rsp + 0x78]
movsd xmm5, qword [rsp + 0x60]
movsd xmm6, qword [rsp + 0xa8]
movups xmm3, xmm0
movsd xmm0, qword [rsp + 0x120]
cvttsd2si r8, xmm3
cmp r15, r8
jle 0x50a6d2
test r12d, r12d
mov rax, r15
jmp 0x50a6db
test r12d, r12d
mov rax, r15
mov r15, r8
mov qword [rsp + 0x110], r15
movups xmm3, xmm6
addsd xmm6, xmm5
je 0x50a6f7
roundsd xmm6, xmm6, 2
jmp 0x50a78b
movups xmm0, xmm6
call sym.math.Ceil
mov rax, qword [rsp + 0x220]
mov rcx, qword [rsp + 0x228]
mov rdx, qword [rsp + 0x218]
mov rbx, qword [rsp + 0x240]
mov rsi, qword [rsp + 0x1a8]
mov rdi, qword [rsp + 0x1f8]
mov r9d, dword [rsp + 0x44]
mov r10, qword [rsp + 0x118]
mov r11, qword [rsp + 0x230]
movzx r12d, byte [0x0072686f]
mov r13, qword [rsp + 0x70]
mov r15, qword [rsp + 0x110]
movsd xmm1, qword [0x005d98f8]
movsd xmm2, qword [rsp + 0x80]
movsd xmm3, qword [rsp + 0xa8]
movsd xmm4, qword [rsp + 0x78]
movsd xmm5, qword [rsp + 0x60]
movups xmm6, xmm0
movsd xmm0, qword [rsp + 0x120]
cvttsd2si r8, xmm6
cmp r11, r8
cmovl r8, r11
mov qword [rsp + 0x100], r8
movsd xmm6, qword [rsp + 0x58]
xorps xmm7, xmm7
jmp 0x50a7eb
mov rax, qword [rsp + 0x1c8]
movsd qword [rax + r15*8], xmm3
mov r15, qword [rsp + 0xe8]
inc r15
addsd xmm7, xmm3
mov rax, qword [rsp + 0x220]
mov rdi, qword [rsp + 0x1f8]
mov r11, qword [rsp + 0x230]
movzx r12d, byte [0x0072686f]
movups xmm3, xmm9
cmp r15, r8
jge 0x50a92e
xorps xmm8, xmm8
cvtsi2sd xmm8, r15
movups xmm9, xmm3
subsd xmm3, xmm8
mulsd xmm3, xmm6
xorps xmm8, xmm8
ucomisd xmm8, xmm3
jbe 0x50a823
movsd xmm10, qword [0x005d98e8]
pxor xmm3, xmm10
mov qword [rsp + 0xe8], r15
mov r12, qword [rsp + 0x248]
movsd xmm10, qword [r12]
ucomisd xmm10, xmm3
nop
ja 0x50a84a
xorps xmm3, xmm3
jmp 0x50a90a
movsd qword [rsp + 0x98], xmm7
mov rdx, qword [r12 + 8]
mov rax, qword [rdx]
movups xmm0, xmm3
nop
call rax
mov rax, qword [rsp + 0x220]
mov rcx, qword [rsp + 0x228]
mov rdx, qword [rsp + 0x218]
mov rbx, qword [rsp + 0x240]
mov rsi, qword [rsp + 0x1a8]
mov rdi, qword [rsp + 0x1f8]
mov r8, qword [rsp + 0x100]
mov r9d, dword [rsp + 0x44]
mov r10, qword [rsp + 0x118]
mov r11, qword [rsp + 0x230]
mov r12, qword [rsp + 0x248]
mov r13, qword [rsp + 0x70]
mov r15, qword [rsp + 0xe8]
movsd xmm1, qword [0x005d98f8]
movsd xmm2, qword [rsp + 0x80]
movsd xmm4, qword [rsp + 0x78]
movsd xmm5, qword [rsp + 0x60]
movsd xmm6, qword [rsp + 0x58]
movsd xmm7, qword [rsp + 0x98]
xorps xmm8, xmm8
movsd xmm9, qword [rsp + 0xa8]
movups xmm3, xmm0
movsd xmm0, qword [rsp + 0x120]
mov r11, qword [rsp + 0x110]
sub r15, r11
mov rdi, qword [rsp + 0x48]
nop word [rax + rax]
cmp rdi, r15
ja 0x50a7aa
jmp 0x50b030
mov r15, qword [rsp + 0x110]
sub r8, r15
mov r12, qword [rsp + 0x48]
nop
cmp r12, r8
jb 0x50b025
mov qword [rsp + 0x130], rax
xor eax, eax
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x130]
jmp 0x50a992
mov rax, qword [rsp + 0x1c8]
movsd xmm3, qword [rax + r11*8]
divsd xmm3, xmm7
movsd qword [rax + r11*8], xmm3
inc r11
mov rax, qword [rsp + 0x220]
mov qword [rsp + 0x68], r11
mov r11, qword [rsp + 0x230]
mov r11, qword [rsp + 0x68]
cmp r11, r8
jl 0x50a962
mov r8, qword [rsp + 0x108]
mov r11, qword [rsp + 0x1d0]
xorps xmm3, xmm3
xorps xmm7, xmm7
xorps xmm8, xmm8
xorps xmm9, xmm9
jmp 0x50a9dc
mov r15, qword [rsp + 0xe0]
inc r15
mov rdx, qword [rsp + 0x218]
mov rdi, qword [rsp + 0x1f8]
mov r9d, dword [rsp + 0x44]
mov rdx, qword [rsp + 0x100]
cmp r15, rdx
jge 0x50aa33
mov qword [rsp + 0xe0], r15
mov rdi, qword [rsp + 0x110]
sub r15, rdi
nop dword [rax]
cmp r12, r15
jbe 0x50b018
mov r9, qword [rsp + 0x1c8]
movsd xmm10, qword [r9 + r15*8]
xorps xmm11, xmm11
ucomisd xmm11, xmm10
jne 0x50aa24
jnp 0x50a9bc
movsd qword [rsp + 0x50], xmm10
mov r15, r10
jmp 0x50ada0
ucomisd xmm3, xmm7
jbe 0x50aa3e
movups xmm3, xmm7
jmp 0x50aa49
movups xmm10, xmm3
movups xmm3, xmm7
movups xmm7, xmm10
ucomisd xmm8, xmm3
jbe 0x50aa56
movups xmm8, xmm3
jmp 0x50aa62
movups xmm10, xmm8
movups xmm8, xmm3
movups xmm3, xmm10
movsd qword [rsp + 0xc8], xmm3
movsd qword [rsp + 0xc0], xmm7
movsd qword [rsp + 0x160], xmm8
ucomisd xmm9, xmm8
ja 0x50aa89
movups xmm8, xmm9
movsd qword [rsp + 0xd0], xmm8
mov rdx, qword [rsp + 0x250]
mov rsi, qword [rdx + 0x30]
mov rax, qword [rsp + 0x258]
mov rbx, qword [rsp + 0x168]
mov rcx, qword [rsp + 0x178]
call rsi
movsd xmm0, qword [rsp + 0xc0]
movsd xmm1, qword [0x005d98f8]
addsd xmm0, xmm1
cvttsd2si edx, xmm0
cmp edx, 0xffff
jle 0x50aae2
mov edx, 0xffffffff
nop
jmp 0x50aae8
test edx, edx
jg 0x50aae8
xor edx, edx
movsd xmm0, qword [rsp + 0xc8]
addsd xmm0, xmm1
cvttsd2si r10d, xmm0
nop word [rax + rax]
cmp r10d, 0xffff
jle 0x50ab11
mov r10d, 0xffffffff
jmp 0x50ab19
test r10d, r10d
jg 0x50ab19
xor r10d, r10d
movsd xmm0, qword [rsp + 0xd0]
addsd xmm0, xmm1
cvttsd2si r11d, xmm0
cmp r11d, 0xffff
jle 0x50ab40
mov r11d, 0xffffffff
jmp 0x50ab48
test r11d, r11d
jg 0x50ab48
xor r11d, r11d
movsd xmm0, qword [rsp + 0x160]
addsd xmm0, xmm1
cvttsd2si r12d, xmm0
nop word [rax + rax]
cmp r12d, 0xffff
jle 0x50ab71
mov r12d, 0xffffffff
jmp 0x50ab79
test r12d, r12d
jg 0x50ab79
xor r12d, r12d
movzx edx, dx
movzx r10d, r10w
movzx r11d, r11w
movzx r12d, r12w
mov r13, qword [rsp + 0x128]
test r13, r13
je 0x50ac7e
mov word [rsp + 0x2e], bx
mov word [rsp + 0x2c], di
mov word [rsp + 0x2a], cx
mov word [rsp + 0x28], ax
mov dword [rsp + 0x30], edx
mov dword [rsp + 0x34], r10d
mov dword [rsp + 0x38], r11d
mov dword [rsp + 0x3c], r12d
mov rdx, qword [r13 + 0x18]
mov rsi, qword [rsp + 0x1a8]
mov rdi, qword [rsp + 0x188]
lea r8, [rdi + rsi]
mov r9, qword [rsp + 0x170]
lea rbx, [r8 + r9]
mov r8, qword [rsp + 0x1b0]
mov r9, qword [rsp + 0x190]
lea r10, [r9 + r8]
mov r11, qword [rsp + 0x180]
lea rcx, [r10 + r11]
mov rax, qword [rsp + 0x1c0]
call rdx
mov rdx, qword [rax + 0x18]
mov rax, rbx
call rdx
mov edx, dword [rsp + 0x30]
imul edx, edi
mov edx, edx
mov r10d, 0x80008001
imul rdx, r10
mov esi, dword [rsp + 0x34]
imul esi, edi
mov esi, esi
imul rsi, r10
mov r8d, dword [rsp + 0x38]
imul r8d, edi
mov r11d, r8d
imul r11, r10
mov r8d, dword [rsp + 0x3c]
imul edi, r8d
mov r12d, edi
imul r12, r10
shr rdx, 0x2f
shr rsi, 0x2f
shr r11, 0x2f
shr r12, 0x2f
movzx eax, word [rsp + 0x28]
movzx ecx, word [rsp + 0x2a]
movzx ebx, word [rsp + 0x2e]
movzx edi, word [rsp + 0x2c]
mov r10, rsi
lea r13d, [r12 - 0xffff]
neg r13d
movzx r15d, ax
imul r15d, r13d
mov r15d, r15d
mov eax, r12d
mov r12d, 0x80008001
imul r15, r12
shr r15, 0x2f
add edx, r15d
movzx r15d, bx
imul r15d, r13d
mov r15d, r15d
imul r15, r12
shr r15, 0x2f
lea esi, [r10 + r15]
movzx r10d, cx
imul r10d, r13d
mov r10d, r10d
imul r10, r12
shr r10, 0x2f
lea r8d, [r11 + r10]
movzx r10d, di
imul r10d, r13d
mov r10d, r10d
imul r10, r12
shr r10, 0x2f
lea r9d, [rax + r10]
mov r10, qword [rsp + 0x250]
mov r11, qword [r10 + 0x40]
mov rax, qword [rsp + 0x258]
mov rbx, qword [rsp + 0x168]
mov rcx, qword [rsp + 0x178]
mov edi, edx
call r11
mov rcx, qword [rsp + 0x218]
mov rdx, qword [rsp + 0x200]
mov rbx, qword [rsp + 0x240]
mov rsi, qword [rsp + 0x1a8]
mov rdi, qword [rsp + 0x1f8]
mov r8, qword [rsp + 0x280]
mov r9d, dword [rsp + 0x44]
mov r10, qword [rsp + 0x228]
mov r11, qword [rsp + 0x230]
mov r12d, dword [rsp + 0x40]
mov r13, qword [rsp + 0x238]
mov r15, qword [rsp + 0x220]
movsd xmm0, qword [rsp + 0x120]
movsd xmm1, qword [0x005d98f8]
movsd xmm2, qword [rsp + 0x80]
jmp 0x50a0f0
mov r10, qword [rsp + 0xf0]
inc r10
nop word [rax + rax]
cmp r10, r8
jge 0x50b005
mov qword [rsp + 0xf0], r10
sub r10, r15
cmp r13, r10
jbe 0x50b00d
movsd xmm12, qword [r11 + r10*8]
mulsd xmm12, xmm10
ucomisd xmm12, xmm11
jne 0x50add1
jnp 0x50ad8f
movsd qword [rsp + 0x90], xmm12
movsd qword [rsp + 0x158], xmm9
movsd qword [rsp + 0x150], xmm8
movsd qword [rsp + 0xd8], xmm7
movsd qword [rsp + 0x148], xmm3
mov rdx, qword [rsp + 0x208]
mov rsi, qword [rdx + 0x30]
mov rax, qword [rsp + 0x210]
mov rbx, qword [rsp + 0xf0]
mov rcx, qword [rsp + 0xe0]
call rsi
mov rdx, qword [rsp + 0xb8]
test rdx, rdx
je 0x50aeef
mov word [rsp + 0x26], di
mov word [rsp + 0x24], cx
mov word [rsp + 0x22], bx
mov word [rsp + 0x20], ax
mov rsi, qword [rdx + 0x18]
mov rdi, qword [rsp + 0xf0]
mov r8, qword [rsp + 0x1a0]
lea rbx, [r8 + rdi]
mov r9, qword [rsp + 0xe0]
mov r10, qword [rsp + 0x198]
lea rcx, [r10 + r9]
mov rax, qword [rsp + 0x1b8]
call rsi
mov rdx, qword [rax + 0x18]
mov rax, rbx
call rdx
movzx edx, word [rsp + 0x20]
movzx edx, dx
imul edx, edi
mov eax, edx
mov ebx, 0x80008001
imul rax, rbx
movzx edx, word [rsp + 0x22]
movzx edx, dx
imul edx, edi
mov edx, edx
imul rdx, rbx
movzx esi, word [rsp + 0x24]
movzx esi, si
imul esi, edi
mov ecx, esi
imul rcx, rbx
movzx esi, word [rsp + 0x26]
movzx esi, si
imul esi, edi
mov edi, esi
imul rdi, rbx
shr rax, 0x2f
shr rdx, 0x2f
shr rcx, 0x2f
shr rdi, 0x2f
mov rbx, rdx
mov rdx, qword [rsp + 0xb8]
movzx esi, ax
xorps xmm3, xmm3
cvtsi2sd xmm3, esi
movsd xmm8, qword [rsp + 0x90]
mulsd xmm3, xmm8
movzx esi, bx
xorps xmm0, xmm0
cvtsi2sd xmm0, esi
mulsd xmm0, xmm8
movzx esi, cx
xorps xmm9, xmm9
cvtsi2sd xmm9, esi
mulsd xmm9, xmm8
movzx esi, di
xorps xmm7, xmm7
cvtsi2sd xmm7, esi
mulsd xmm7, xmm8
movsd xmm1, qword [rsp + 0x148]
addsd xmm3, xmm1
movsd xmm8, qword [rsp + 0x150]
addsd xmm8, xmm0
movsd xmm0, qword [rsp + 0x158]
addsd xmm9, xmm0
movsd xmm0, qword [rsp + 0xd8]
addsd xmm7, xmm0
mov rax, qword [rsp + 0x220]
mov rcx, qword [rsp + 0x228]
mov rdx, qword [rsp + 0x100]
mov rbx, qword [rsp + 0x240]
mov rsi, qword [rsp + 0x1a8]
mov rdi, qword [rsp + 0x110]
mov r8, qword [rsp + 0x108]
mov r9, qword [rsp + 0x1c8]
mov r11, qword [rsp + 0x1d0]
mov r12, qword [rsp + 0x48]
mov r13, qword [rsp + 0x70]
mov r15, qword [rsp + 0x118]
movsd xmm0, qword [rsp + 0x120]
movsd xmm1, qword [0x005d98f8]
movsd xmm2, qword [rsp + 0x80]
movsd xmm4, qword [rsp + 0x78]
movsd xmm5, qword [rsp + 0x60]
movsd xmm6, qword [rsp + 0x58]
movsd xmm10, qword [rsp + 0x50]
xorps xmm11, xmm11
nop
jmp 0x50ad8f
mov r10, r15
jmp 0x50a9bc
mov rax, r10
mov rcx, r13
call sym.runtime.panicIndex
mov rax, r15
mov rcx, r12
nop
call sym.runtime.panicIndex
mov rcx, r8
mov rdx, r12
call sym.runtime.panicSliceAcap
mov rax, r15
mov rcx, rdi
call sym.runtime.panicIndex
mov rcx, rax
mov rdx, r13
call sym.runtime.panicSliceAcap
mov rax, rcx
mov rcx, r8
call sym.runtime.panicIndex
nop
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x78], rcx
mov qword [rsp + 0x80], rdi
mov qword [rsp + 0x88], rsi
mov qword [rsp + 0x90], r8
mov qword [rsp + 0x98], r9
mov qword [rsp + 0xa0], r10
movsd qword [rsp + 0xa8], xmm0
movsd qword [rsp + 0xb0], xmm1
mov qword [rsp + 0xb8], r11
call sym.runtime.morestack_noctxt.abi0
mov rax, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x80]
mov rsi, qword [rsp + 0x88]
mov r8, qword [rsp + 0x90]
mov r9, qword [rsp + 0x98]
mov r10, qword [rsp + 0xa0]
movsd xmm0, qword [rsp + 0xa8]
movsd xmm1, qword [rsp + 0xb0]
mov r11, qword [rsp + 0xb8]
jmp sym.golang.org_x_image_draw._Kernel_.transform_RGBA64Image_RGBA64Image_Over