Function at 0x14008e6b0
Capabilities:
Encode data using xor

Disassembly:
mov r11, rsp
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [r11 - 0x138]
sub rsp, 0x218
movaps xmmword [r11 - 0x58], xmm6
movaps xmmword [r11 - 0x88], xmm9
movaps xmmword [r11 - 0xd8], xmm14
mov rax, qword [0x140232100]
xor rax, rsp
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x160]
xor esi, esi
mov rbx, qword [rbp + 0x188]
mov r13, qword [rbp + 0x198]
mov r14, qword [rbp + 0x1e0]
mov r12, qword [rbp + 0x1f8]
mov rdi, qword [rbp + 0x1d0]
mov qword [rbp - 0x18], rax
mov rax, qword [rbp + 0x168]
mov qword [rbp + 8], rax
mov rax, qword [rbp + 0x170]
mov qword [rbp + 0x10], rax
mov rax, qword [rbp + 0x178]
mov qword [rbp], rax
mov rax, qword [rbp + 0x180]
mov qword [rbp + 0x20], rax
mov rax, qword [rbp + 0x190]
mov qword [rbp - 0x10], rax
mov rax, qword [rbp + 0x1a8]
mov qword [rbp - 8], rax
mov rax, qword [rbp + 0x1d8]
movaps xmmword [r11 - 0x68], xmm7
movaps xmmword [r11 - 0x98], xmm10
xorps xmm10, xmm10
mov qword [rbp + 0x18], rax
mov rax, qword [rbp + 0x1e8]
mov qword [rbp - 0x30], rdx
mov rdx, qword [rbp + 0x1f0]
mov qword [rbp - 0x20], rax
mov rax, qword [rbp + 0x1c8]
movaps xmmword [r11 - 0xa8], xmm11
mov qword [rdx], rsi
movaps xmmword [r11 - 0xb8], xmm12
movsd xmm6, qword [rax]
movsd xmm12, qword [rax + 0x10]
movsd qword [rbp - 0x28], xmm6
movsd qword [rbp - 0x38], xmm10
movsd xmm1, qword [rbp - 0x28]
movsd xmm0, qword [rbp - 0x38]
mov qword [rbp - 0x48], rcx
mov rcx, qword [rbp + 0x1a0]
add r13, rcx
movsd qword [rbp - 0x78], xmm6
comisd xmm0, xmm1
mov byte [rbp - 0x80], r9b
mov qword [rbp - 0x40], r8
lea r15, [rbx + rcx]
mov qword [rbp - 0x58], r14
mov qword [rbp + 0x28], rdx
mov qword [rbp - 0x68], r12
jb 0x14008e80b
movsd xmm6, qword [0x140215d88]
movsd qword [rbp - 0x78], xmm6
mov qword [rdi + 0x2d28], rsi
lea rcx, [rdi + 0x260]
mov qword [rdi + 0x2d30], rsi
mov qword [rdi + 0x2d38], rsi
mov qword [rdi + 0x2d60], rsi
mov qword [rdi + 0x2d40], rsi
mov qword [rdi + 0x2d48], rsi
mov qword [rdi + 0x2d50], rsi
mov qword [rdi + 0x2d58], rsi
mov qword [rdx], rsi
cmp qword [rcx], r13
jge 0x14008e85d
mov r8, r12
mov rdx, r13
call fcn.14003e440
cmp qword [rdi], r13
jge 0x14008e870
mov r8, r12
mov rdx, r13
mov rcx, rdi
call fcn.14003e440
cmp qword [rdi + 0x2180], r13
jge 0x14008e88b
mov r8, r12
lea rcx, [rdi + 0x2180]
mov rdx, r13
call fcn.14003e440
cmp qword [rdi + 0x330], r15
jge 0x14008e8a6
mov r8, r12
lea rcx, [rdi + 0x330]
mov rdx, r15
call fcn.14003e440
cmp qword [rdi + 0x370], r15
jge 0x14008e8c1
mov r8, r12
lea rcx, [rdi + 0x370]
mov rdx, r15
call fcn.14003e440
cmp qword [rdi + 0x470], r15
jge 0x14008e8dc
mov r8, r12
lea rcx, [rdi + 0x470]
mov rdx, r15
call fcn.14003e440
cmp qword [rdi + 0x3b0], r15
jge 0x14008e8f7
mov r8, r12
lea rcx, [rdi + 0x3b0]
mov rdx, r15
call fcn.14003e440
cmp qword [rdi + 0x3f0], r15
jge 0x14008e912
mov r8, r12
lea rcx, [rdi + 0x3f0]
mov rdx, r15
call fcn.14003e440
cmp qword [rdi + 0x430], r15
jge 0x14008e92d
mov r8, r12
lea rcx, [rdi + 0x430]
mov rdx, r15
call fcn.14003e440
lea r12, [rdi + 0x2200]
cmp qword [r12], r15
jge 0x14008e949
mov r8, qword [rbp - 0x68]
mov rdx, r15
mov rcx, r12
call fcn.14003e440
mov rax, qword [rbp + 0x1a0]
lea rcx, [rdi + 0x2ca8]
cmp qword [rcx], rax
jge 0x14008e96f
mov r8, qword [rbp - 0x68]
mov rdx, rax
call fcn.14003e440
mov rax, qword [rbp + 0x1a0]
lea rcx, [rdi + 0x2ce8]
cmp qword [rcx], rax
jge 0x14008e987
mov r8, qword [rbp - 0x68]
mov rdx, rax
call fcn.14003e440
cmp qword [r14], rbx
jge 0x14008e99b
mov r8, qword [rbp - 0x68]
mov rdx, rbx
mov rcx, r14
call fcn.14003e440
mov rax, qword [rbp - 0x20]
cmp qword [rax], r13
jge 0x14008e9b3
mov r8, qword [rbp - 0x68]
mov rdx, r13
mov rcx, rax
call fcn.14003e440
lea r8, [rbx - 1]
mov rcx, rsi
mov qword [rbp - 0x28], r8
test r8, r8
js 0x14008ea91
cmp rbx, 2
jb 0x14008ea39
mov r9, qword [r14 + 0x38]
lea rax, [r14 + 0x38]
lea rdx, [r9 + r8*8]
cmp r9, rax
ja 0x14008e9e3
cmp rdx, rax
jae 0x14008ea39
mov rax, rbx
cqo
and eax, 1
xor rax, rdx
sub rax, rdx
mov rdx, r8
sub rdx, rax
nop word [rax + rax]
add rcx, 2
mov rbx, rcx
cmp rcx, rdx
jle 0x14008ea00
lea rax, [rdx + 2]
mov rcx, r9
cqo
sub rax, rdx
xor edx, edx
sar rax, 1
shl rax, 4
and rax, 0xfffffffffffffff8
mov r8, rax
call fcn.140172380
mov r8, qword [rbp - 0x28]
mov rcx, rbx
cmp rbx, r8
jg 0x14008ea91
mov rax, r8
sub rax, rcx
inc rax
cmp rax, 4
jl 0x14008ea7c
lea rdx, [r8 - 3]
nop dword [rax]
mov rax, qword [r14 + 0x38]
mov qword [rax + rcx*8], rsi
mov rax, qword [r14 + 0x38]
mov qword [rax + rcx*8 + 8], rsi
mov rax, qword [r14 + 0x38]
mov qword [rax + rcx*8 + 0x10], rsi
mov rax, qword [r14 + 0x38]
mov qword [rax + rcx*8 + 0x18], rsi
add rcx, 4
cmp rcx, rdx
jle 0x14008ea50
cmp rcx, r8
jg 0x14008ea91
mov rax, qword [r14 + 0x38]
mov qword [rax + rcx*8], rsi
inc rcx
cmp rcx, r8
jle 0x14008ea81
lea r14, [r13 - 1]
mov rcx, rsi
test r14, r14
js 0x14008eb80
mov r8, qword [rbp - 0x20]
cmp r13, 2
jb 0x14008eb19
mov r9, qword [r8 + 0x38]
lea rax, [r8 + 0x38]
lea rdx, [r9 + r14*8]
cmp r9, rax
ja 0x14008eac1
cmp rdx, rax
jae 0x14008eb19
mov rax, r13
cqo
and eax, 1
xor rax, rdx
sub rax, rdx
mov rdx, r14
sub rdx, rax
nop word [rax + rax]
add rcx, 2
mov rbx, rcx
cmp rcx, rdx
jle 0x14008eae0
lea rax, [rdx + 2]
mov rcx, r9
cqo
sub rax, rdx
xor edx, edx
sar rax, 1
shl rax, 4
and rax, 0xfffffffffffffff8
mov r8, rax
call fcn.140172380
mov rcx, rbx
cmp rbx, r14
jg 0x14008eb80
mov r8, qword [rbp - 0x20]
mov rax, r14
sub rax, rcx
inc rax
cmp rax, 4
jl 0x14008eb70
lea rdx, [r14 - 3]
nop dword [rax]
mov rax, qword [r8 + 0x38]
mov qword [rax + rcx*8], rsi
mov rax, qword [r8 + 0x38]
mov qword [rax + rcx*8 + 8], rsi
mov rax, qword [r8 + 0x38]
mov qword [rax + rcx*8 + 0x10], rsi
mov rax, qword [r8 + 0x38]
mov qword [rax + rcx*8 + 0x18], rsi
add rcx, 4
cmp rcx, rdx
jle 0x14008eb30
cmp rcx, r14
jg 0x14008eb80
nop dword [rax]
nop word [rax + rax]
mov rax, qword [r8 + 0x38]
mov qword [rax + rcx*8], rsi
inc rcx
cmp rcx, r14
jle 0x14008eb70
mov rax, qword [rbp - 0x68]
movzx ebx, byte [rbp + 0x1c0]
movzx r9d, byte [rbp - 0x80]
mov r8, qword [rbp - 0x40]
mov rdx, qword [rbp - 0x30]
mov rcx, qword [rbp - 0x48]
mov qword [rsp + 0x98], rax
mov rax, qword [rbp + 0x18]
mov qword [rsp + 0x90], rax
mov rax, qword [rbp - 8]
mov qword [rsp + 0x88], rdi
mov byte [rsp + 0x80], bl
mov qword [rsp + 0x78], rsi
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x68], rax
mov rax, qword [rbp + 0x1a0]
mov qword [rsp + 0x60], rax
mov rax, qword [rbp + 0x198]
mov qword [rsp + 0x58], rax
mov rax, qword [rbp - 0x10]
mov qword [rsp + 0x50], rax
mov rax, qword [rbp + 0x188]
mov qword [rsp + 0x48], rax
mov rax, qword [rbp + 0x20]
mov qword [rsp + 0x40], rax
mov rax, qword [rbp]
mov qword [rsp + 0x38], rax
mov rax, qword [rbp + 0x10]
mov qword [rsp + 0x30], rax
mov rax, qword [rbp + 8]
mov qword [rsp + 0x28], rax
mov rax, qword [rbp - 0x18]
mov qword [rsp + 0x20], rax
call fcn.140091c00
mov rax, qword [rbp - 0x68]
lea r8, [rdi + 0x2240]
mov qword [rsp + 0x40], rax
lea r9, [rdi + 0x210]
mov rax, qword [rbp + 0x1a0]
lea rdx, [rdi + 0x90]
mov qword [rsp + 0x38], r8
lea rcx, [rdi + 0x40]
mov r8, qword [rbp + 0x188]
mov byte [rsp + 0x30], bl
mov qword [rsp + 0x28], rax
mov rax, qword [rbp + 0x198]
mov qword [rsp + 0x20], rax
call fcn.1400931b0
mov rax, qword [rbp - 0x68]
lea rcx, [rdi + 0x40]
mov rdx, qword [rbp + 0x188]
movaps xmm14, xmm0
mov qword [rsp + 0x48], rax
movaps xmm9, xmm0
lea rax, [rbp - 0x70]
unpcklpd xmm14, xmm14
mov qword [rsp + 0x40], rax
lea rax, [rbp - 0x50]
mov qword [rsp + 0x38], rax
lea rax, [rdi + 0x2240]
mov qword [rsp + 0x30], rax
mov rax, qword [rbp + 0x1a0]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], rax
movsd qword [rbp - 0x60], xmm0
movaps xmmword [rbp + 0x30], xmm14
call fcn.140093880
mov rbx, qword [rbp - 0x50]
mov rcx, qword [rbp + 0x198]
add rcx, rbx
mov qword [rdi + 0x2d48], rbx
mov qword [rbp - 0x48], rcx
mov rcx, qword [rbp + 0x188]
lea rdx, [rbx - 1]
add rcx, rbx
mov qword [rbp - 0x30], rcx
mov rcx, rsi
test rdx, rdx
js 0x14008ed37
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rdi + 0x2d20]
mov qword [rax + rcx*8], 1
inc rcx
cmp rcx, rdx
jle 0x14008ed20
mov r8, qword [rbp + 0x1a0]
mov rcx, rbx
lea rdx, [r8 - 1]
mov qword [rbp - 0x18], rdx
cmp rbx, rdx
jg 0x14008ed63
nop
mov rax, qword [rdi + 0x2d20]
mov qword [rax + rcx*8], rsi
inc rcx
cmp rcx, rdx
jle 0x14008ed50
mov rcx, rsi
test r14, r14
js 0x14008ede0
nop dword [rax + rax]
mov rax, qword [rdi + 0x298]
mov qword [rax + rcx*8], rcx
inc rcx
cmp rcx, r14
jle 0x14008ed70
mov rcx, rsi
cmp r13, 4
jl 0x14008edd0
lea rdx, [r14 - 3]
mov rax, qword [rdi + 0x38]
mov qword [rax + rcx*8], rsi
mov rax, qword [rdi + 0x38]
mov qword [rax + rcx*8 + 8], rsi
mov rax, qword [rdi + 0x38]
mov qword [rax + rcx*8 + 0x10], rsi
mov rax, qword [rdi + 0x38]
mov qword [rax + rcx*8 + 0x18], rsi
add rcx, 4
cmp rcx, rdx
jle 0x14008ed90
cmp rcx, r14
jg 0x14008ede0
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rdi + 0x38]
mov qword [rax + rcx*8], rsi
inc rcx
cmp rcx, r14
jle 0x14008edd0
lea rcx, [r15 - 1]
mov r12, rsi
test rcx, rcx
js 0x14008ee8e
movabs r9, 0x3ff0000000000000
cmp r15, 4
jl 0x14008ee70
lea rdx, [rcx - 3]
mov rax, qword [rdi + 0x468]
mov qword [rax + r12*8], r9
mov rax, qword [rdi + 0x4a8]
mov qword [rax + r12*8], rsi
mov rax, qword [rdi + 0x468]
mov qword [rax + r12*8 + 8], r9
mov rax, qword [rdi + 0x4a8]
mov qword [rax + r12*8 + 8], rsi
mov rax, qword [rdi + 0x468]
mov qword [rax + r12*8 + 0x10], r9
mov rax, qword [rdi + 0x4a8]
mov qword [rax + r12*8 + 0x10], rsi
mov rax, qword [rdi + 0x468]
mov qword [rax + r12*8 + 0x18], r9
mov rax, qword [rdi + 0x4a8]
mov qword [rax + r12*8 + 0x18], rsi
add r12, 4
cmp r12, rdx
jle 0x14008ee04
cmp r12, rcx
jg 0x14008ee8e
mov rax, qword [rdi + 0x468]
mov qword [rax + r12*8], r9
mov rax, qword [rdi + 0x4a8]
mov qword [rax + r12*8], rsi
inc r12
cmp r12, rcx
jle 0x14008ee70
mov r15, qword [rbp + 0x188]
lea rcx, [rdi + 0x1d0]
mov rdx, r15
lea r9, [rdi + 0x370]
call fcn.140090bb0
mov rax, qword [rbp + 0x1c8]
movsd xmm7, qword [0x140216110]
movsd xmm11, qword [0x140215ec0]
mov r13, qword [rbp + 0x198]
cmp qword [rax + 8], 1
mov qword [rbp - 0x10], rsi
mov qword [rbp - 8], rsi
mov qword [rbp - 0x28], rsi
js 0x14008f9f4
movsd xmm9, qword [rbp - 0x78]
movaps xmm14, xmm6
mulsd xmm14, qword [0x140215e30]
movaps xmmword [rsp + 0x1e0], xmm8
movaps xmmword [rsp + 0x190], xmm13
xorps xmm13, xmm13
cvtsi2sd xmm13, r15
movaps xmmword [rsp + 0x170], xmm15
mulsd xmm13, qword [0x140215e68]
movsd xmm15, qword [0x140216048]
addsd xmm13, xmm11
movsd xmm8, qword [0x140215e88]
mov r14, qword [rbp - 0x30]
lea r10, [rdi + 0x2e0]
mov rcx, qword [r10]
lea r11, [rdi + 0x508]
movabs rax, 0x5555555555555556
cmp rcx, r14
jl 0x14008ef65
cmp qword [rdi + 0x2e8], r14
jge 0x14008efa1
imul r14
mov r12, rdx
shr r12, 0x3f
inc r12
add r12, rdx
add r12, r14
test r12, r12
jle 0x14008efa1
cmp rcx, r12
jl 0x14008ef88
cmp qword [r10 + 8], r12
jge 0x14008efa1
mov r9, qword [rbp - 0x68]
mov r8, r12
mov rdx, r12
mov rcx, r10
call fcn.14003e950
lea r11, [rdi + 0x508]
mov rax, qword [r11]
cmp rax, r14
jl 0x14008efb2
cmp qword [rdi + 0x510], r14
jge 0x14008efd4
test r12, r12
jle 0x14008efd4
cmp rax, r12
jl 0x14008efc2
cmp qword [r11 + 8], r12
jge 0x14008efd4
mov r9, qword [rbp - 0x68]
mov r8, r12
mov rdx, r12
mov rcx, r11
call fcn.14003e950
lea rcx, [rdi + 0x1b70]
mov rax, qword [rcx]
cmp rax, r14
jl 0x14008efec
cmp qword [rdi + 0x1b78], r14
jge 0x14008f00b
test r12, r12
jle 0x14008f00b
cmp rax, r12
jl 0x14008effc
cmp qword [rcx + 8], r12
jge 0x14008f00b
mov r9, qword [rbp - 0x68]
mov r8, r12
mov rdx, r12
call fcn.14003e950
mov r12, qword [rbp - 0x68]
lea rax, [rdi + 0x2240]
mov qword [rsp + 0x88], r12
lea r9, [rdi + 0x150]
mov qword [rsp + 0x80], rax
lea rdx, [rdi + 0x90]
lea rax, [rdi + 0x3f0]
mov r8, r15
mov qword [rsp + 0x78], rax
lea rcx, [rdi + 0x40]
lea rax, [rdi + 0x3b0]
mov qword [rsp + 0x70], rax
lea rax, [rdi + 0x330]
mov qword [rsp + 0x68], rax
lea rax, [rdi + 0x2e0]
mov qword [rsp + 0x60], rax
lea rax, [rdi + 0x210]
movsd qword [rsp + 0x58], xmm12
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x38], rax
lea rax, [rdi + 0x110]
mov qword [rsp + 0x30], rax
lea rax, [rdi + 0x190]
mov qword [rsp + 0x28], rax
lea rax, [rdi + 0xd0]
mov qword [rsp + 0x20], rax
call fcn.140090130
lea rbx, [rdi + 0x4b0]
xorps xmm6, xmm6
cvtsi2sd xmm6, r14
movabs rax, 0x3eb0c6f7a0b5ed8d
mov qword [rbx + 8], rsi
mov qword [rbx + 0x10], rax
mov eax, 5
mov qword [rbx + 0x18], rsi
mov word [rbx + 0x20], 0x101
mov qword [rbx + 0x28], rax
movaps xmm0, xmm6
mulsd xmm0, qword [0x140215e78]
addsd xmm0, xmm11
addsd xmm0, xmm8
call fcn.14016cb20
mulsd xmm6, qword [0x140215e48]
mov ecx, 5
mov qword [rbx + 0x40], rsi
cvttsd2si rax, xmm0
addsd xmm6, xmm11
cmp rax, 5
cmovl rax, rcx
mov qword [rbx + 0x30], rax
addsd xmm6, xmm8
movaps xmm0, xmm6
call fcn.14016cb20
mov qword [rsp + 0x78], r12
cvttsd2si rax, xmm0
mov qword [rbx + 0x38], rax
lea rax, [rbp + 0x40]
mov qword [rsp + 0x70], rax
lea rax, [rdi + 0x370]
mov qword [rsp + 0x68], rax
lea rax, [rdi + 0x4f8]
mov qword [rsp + 0x60], rax
lea rax, [rdi + 0x470]
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x48], rax
lea rax, [rdi + 0x430]
mov qword [rsp + 0x40], rax
lea rax, [rdi + 0x3f0]
mov qword [rsp + 0x38], rax
lea rax, [rdi + 0x3b0]
mov qword [rsp + 0x30], rax
lea rax, [rdi + 0x330]
mov qword [rsp + 0x28], rax
movsd qword [rdi + 0x4c0], xmm14
mov qword [rdi + 0x4c8], 0x32
mov qword [rbx], rsi
mov qword [rdi + 0x4b8], rsi
mov byte [rdi + 0x4d1], 1
mov r9d, 2
mov byte [rsp + 0x20], 1
lea r8, [rdi + 0x2e0]
lea rdx, [rdi + 0x29e8]
lea rcx, [rdi + 0x2350]
call fcn.140088280
mov rax, qword [rdi + 0x2170]
mov r14, rsi
add qword [rdi + 0x2d38], rax
mov rdx, qword [rbp - 0x18]
test rdx, rdx
js 0x14008f25c
mov rax, qword [rdi + 0x258]
mov r9d, 1
mov r8, qword [rdi + 0x3a8]
mov edx, r9d
mov qword [rsp + 0x20], r15
lea rcx, [rax + r14*8]
mov rbx, qword [rcx + r13*8]
mov rcx, rbx
call fcn.14003ed50
subsd xmm0, qword [rbx + r15*8]
mov rax, qword [rdi + 0x2ce0]
mov rdx, qword [rbp - 0x18]
movsd qword [rax + r14*8], xmm0
inc r14
cmp r14, rdx
jle 0x14008f211
mov rcx, qword [rbp - 0x48]
xor r15b, r15b
movsd qword [rbp - 0x40], xmm10
mov r12, rsi
movsd qword [rbp - 0x78], xmm13
movsd xmm1, qword [rbp - 0x40]
movsd xmm0, qword [rbp - 0x78]
comisd xmm0, xmm1
mov byte [rbp - 0x80], r15b
mov qword [rbp - 0x38], rsi
jbe 0x14008f472
nop
mov rbx, qword [rbp - 0x50]
cmp rbx, qword [rbp + 0x1a0]
jge 0x14008f476
mov qword [rbp + 0x40], rbx
mov rcx, rbx
cmp rbx, rdx
jg 0x14008f2f7
nop dword [rax]
mov rax, qword [rdi + 0x2ce0]
movsd xmm0, qword [rax + rcx*8]
mov rax, qword [rdi + 0x2ce0]
movsd qword [rbp - 0x78], xmm0
movsd xmm1, qword [rax + rbx*8]
movsd qword [rbp - 0x40], xmm1
movsd xmm2, qword [rbp - 0x78]
movsd xmm0, qword [rbp - 0x40]
comisd xmm2, xmm0
jbe 0x14008f2eb
mov rbx, rcx
mov qword [rbp + 0x40], rcx
jmp 0x14008f2ef
mov rbx, qword [rbp + 0x40]
inc rcx
cmp rcx, rdx
jle 0x14008f2b0
mov rax, qword [rdi + 0x2ce0]
movsd xmm0, qword [rax + rbx*8]
movsd qword [rbp - 0x78], xmm0
movsd qword [rbp - 0x40], xmm10
movsd xmm1, qword [rbp - 0x78]
movsd xmm0, qword [rbp - 0x40]
comisd xmm1, xmm0
jbe 0x14008f46e
mov r8, qword [rbp + 0x40]
lea rcx, [rdi + 0x210]
mov rbx, qword [rbp - 0x50]
add r8, r13
mov r9, 0xffffffffffffffff
lea r14, [rbx + r13]
mov rdx, r14
call fcn.140036940
mov r8, qword [rbp + 0x40]
cmp rbx, r8
je 0x14008f39c
mov rcx, qword [rdi + 0x2ce0]
mov rax, qword [rcx + r8*8]
movsd xmm0, qword [rcx + rbx*8]
mov qword [rcx + rbx*8], rax
mov rax, qword [rdi + 0x2ce0]
movsd qword [rax + r8*8], xmm0
mov r8, qword [rbp + 0x40]
cmp rbx, r8
je 0x14008f39c
mov rcx, qword [rdi + 0x2d20]
mov rax, qword [rcx + r8*8]
mov rdx, qword [rcx + rbx*8]
mov qword [rcx + rbx*8], rax
mov rax, qword [rdi + 0x2d20]
mov qword [rax + r8*8], rdx
mov r8, qword [rbp + 0x40]
lea r9, [r8 + r13]
cmp r14, r9
je 0x14008f3c7
mov rcx, qword [rdi + 0x298]
mov rax, qword [rcx + r9*8]
mov rdx, qword [rcx + r14*8]
mov qword [rcx + r14*8], rax
mov rax, qword [rdi + 0x298]
mov qword [rax + r9*8], rdx
mov r8, qword [rbp + 0x40]
lea rdx, [r8 + r13]
cmp r14, rdx
je 0x14008f3f1
mov rcx, qword [rdi + 0x2d8]
mov rax, qword [rcx + rdx*8]
movsd xmm0, qword [rcx + r14*8]
mov qword [rcx + r14*8], rax
mov rax, qword [rdi + 0x2d8]
movsd qword [rax + rdx*8], xmm0
mov rax, qword [rdi + 0x3a8]
inc r12
mov rcx, qword [rbp + 0x188]
xorps xmm0, xmm0
inc qword [rbp - 0x30]
add rcx, rbx
mov rdx, qword [rbp - 0x18]
mov r15b, 1
cvtsi2sd xmm0, r12
mov qword [rbp - 0x38], r12
mov qword [rax + rcx*8], rsi
lea rcx, [rbx + r13]
mov rax, qword [rdi + 0x38]
mov byte [rbp - 0x80], r15b
mov qword [rax + rcx*8], rsi
mov rax, qword [rdi + 0x2d20]
mov rcx, qword [rbp - 0x48]
inc rcx
mov qword [rbp - 0x48], rcx
inc qword [rax + rbx*8]
inc rbx
mov qword [rbp - 0x50], rbx
movsd qword [rbp - 0x40], xmm0
movsd qword [rbp - 0x78], xmm13
movsd xmm1, qword [rbp - 0x40]
movsd xmm0, qword [rbp - 0x78]
comisd xmm0, xmm1
ja 0x14008f290
jmp 0x14008f472
mov rcx, qword [rbp - 0x48]
mov rbx, qword [rbp - 0x50]
cmp byte [rbp - 0x70], 0
je 0x14008f657
lea r8, [rbx - 1]
mov qword [rbp + 0x40], r8
test r8, r8
js 0x14008f657
mov rsi, qword [rbp + 0x188]
mov r15, qword [rbp - 0x30]
nop dword [rax]
mov rax, qword [rdi + 0x2ce0]
movsd xmm1, qword [0x140216150]
movsd xmm0, qword [rax + r8*8]
movsd qword [rbp - 0x78], xmm0
movsd qword [rbp - 0x40], xmm1
movsd xmm2, qword [rbp - 0x78]
movsd xmm0, qword [rbp - 0x40]
comisd xmm0, xmm2
mov r8, qword [rbp + 0x40]
jbe 0x14008f636
mov rax, qword [rdi + 0x2d20]
cmp qword [rax + r8*8], 1
jg 0x14008f636
mov r14, qword [rbp - 0x50]
lea rcx, [rdi + 0x210]
add r8, r13
mov r9, 0xffffffffffffffff
lea rbx, [r14 - 1]
add rbx, r13
mov rdx, rbx
call fcn.140036940
mov r8, qword [rbp + 0x40]
lea r9, [r8 + r13]
cmp rbx, r9
je 0x14008f53c
mov rcx, qword [rdi + 0x298]
mov rax, qword [rcx + r9*8]
mov rdx, qword [rcx + rbx*8]
mov qword [rcx + rbx*8], rax
mov rax, qword [rdi + 0x298]
mov qword [rax + r9*8], rdx
mov r8, qword [rbp + 0x40]
lea rdx, [r8 + r13]
cmp rbx, rdx
je 0x14008f569
mov rcx, qword [rdi + 0x2d8]
mov rax, qword [rcx + rdx*8]
movsd xmm0, qword [rcx + rbx*8]
mov qword [rcx + rbx*8], rax
mov rax, qword [rdi + 0x2d8]
movsd qword [rax + rdx*8], xmm0
mov r8, qword [rbp + 0x40]
lea rbx, [r14 - 1]
cmp rbx, r8
je 0x14008f5be
mov rcx, qword [rdi + 0x2ce0]
mov rax, qword [rcx + r8*8]
movsd xmm0, qword [rcx + rbx*8]
mov qword [rcx + rbx*8], rax
mov rax, qword [rdi + 0x2ce0]
movsd qword [rax + r8*8], xmm0
mov r8, qword [rbp + 0x40]
cmp rbx, r8
je 0x14008f5be
mov rcx, qword [rdi + 0x2d20]
mov rax, qword [rcx + r8*8]
mov rdx, qword [rcx + rbx*8]
mov qword [rcx + rbx*8], rax
mov rax, qword [rdi + 0x2d20]
mov qword [rax + r8*8], rdx
mov r8, qword [rbp + 0x40]
lea r9, [rsi - 1]
add r9, r14
lea rdx, [r8 + rsi]
cmp r9, rdx
je 0x14008f5f3
mov rcx, qword [rdi + 0x3a8]
mov rax, qword [rcx + rdx*8]
movsd xmm0, qword [rcx + r9*8]
mov qword [rcx + r9*8], rax
mov rax, qword [rdi + 0x3a8]
movsd qword [rax + rdx*8], xmm0
mov r8, qword [rbp + 0x40]
lea r9, [r13 - 1]
add r9, r14
lea rdx, [r8 + r13]
cmp r9, rdx
je 0x14008f622
mov rcx, qword [rdi + 0x38]
mov rax, qword [rcx + rdx*8]
movsd xmm0, qword [rcx + r9*8]
mov qword [rcx + r9*8], rax
mov rax, qword [rdi + 0x38]
movsd qword [rax + rdx*8], xmm0
mov r8, qword [rbp + 0x40]
mov rcx, qword [rbp - 0x48]
dec r15
dec rcx
mov qword [rbp - 0x50], rbx
mov qword [rbp - 0x48], rcx
jmp 0x14008f63a
mov rbx, qword [rbp - 0x50]
sub r8, 1
mov qword [rbp + 0x40], r8
jns 0x14008f4a0
mov r12, qword [rbp - 0x38]
xor esi, esi
mov qword [rbp - 0x30], r15
movzx r15d, byte [rbp - 0x80]
cmp qword [rdi + 0x2d50], 0
jne 0x14008f668
mov qword [rdi + 0x2d50], rbx
mov qword [rdi + 0x2d58], rbx
test r15b, r15b
je 0x14008f687
inc qword [rdi + 0x2d40]
mov r15, qword [rbp + 0x188]
jmp 0x14008ef38
mov r8, qword [rdi + 0x38]
mov rax, rcx
mov r9, qword [rdi + 0x21b8]
cqo
sub rax, rdx
sar rax, 1
test rax, rax
jle 0x14008f6c2
mov rcx, qword [r8]
mov qword [r9], rcx
mov rcx, qword [r8 + 8]
add r8, 0x10
mov qword [r9 + 8], rcx
add r9, 0x10
sub rax, 1
jne 0x14008f6a2
mov rcx, qword [rbp - 0x48]
test cl, 1
je 0x14008f6cd
mov rax, qword [r8]
mov qword [r9], rax
mov rax, qword [rbp - 0x68]
lea r9, [rdi + 0x150]
mov r15, qword [rbp + 0x188]
lea rdx, [rdi + 0x90]
mov qword [rsp + 0x68], rax
lea rcx, [rdi + 0x40]
mov qword [rsp + 0x60], rdi
lea rax, [rdi + 0x2180]
mov qword [rsp + 0x58], rax
mov r8, r15
lea rax, [rdi + 0x370]
mov qword [rsp + 0x50], rax
lea rax, [rdi + 0x210]
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x38], rax
lea rax, [rdi + 0x110]
mov qword [rsp + 0x30], rax
lea rax, [rdi + 0x190]
mov qword [rsp + 0x28], rax
lea rax, [rdi + 0xd0]
mov qword [rsp + 0x20], rax
call fcn.140090d50
mov r14, qword [rbp - 0x48]
movaps xmm8, xmm7
sub r14, 1
movaps xmm7, xmm10
mov r12, rsi
js 0x14008f8fd
mov rbx, r15
lea r11, [r15 - 1]
sub rbx, r13
movaps xmm6, xmm10
movaps xmm3, xmm10
mov r10, rsi
test r11, r11
js 0x14008f868
mov rax, qword [rdi + 0x258]
mov r9, qword [rdi + 0x3a8]
mov r8, qword [rax + r12*8]
cmp r15, 4
jl 0x14008f835
mov rcx, r8
lea rax, [r9 + 8]
sub rcx, r9
mov rdx, r15
shr rdx, 2
lea r10, [rdx*4]
nop word [rax + rax]
movsd xmm1, qword [rcx + rax - 8]
movsd xmm2, qword [rcx + rax]
movaps xmm0, xmm1
mulsd xmm0, qword [rax - 8]
mulsd xmm1, xmm1
addsd xmm6, xmm0
movaps xmm0, xmm2
mulsd xmm0, qword [rax]
addsd xmm3, xmm1
mulsd xmm2, xmm2
movsd xmm1, qword [rcx + rax + 8]
addsd xmm6, xmm0
movaps xmm0, xmm1
mulsd xmm0, qword [rax + 8]
addsd xmm3, xmm2
mulsd xmm1, xmm1
movsd xmm2, qword [rcx + rax + 0x10]
addsd xmm6, xmm0
movaps xmm0, xmm2
mulsd xmm0, qword [rax + 0x10]
add rax, 0x20
mulsd xmm2, xmm2
addsd xmm3, xmm1
addsd xmm6, xmm0
addsd xmm3, xmm2
sub rdx, 1
jne 0x14008f7c0
cmp r10, r11
jg 0x14008f868
mov rcx, r11
lea rax, [r9 + r10*8]
sub rcx, r10
sub r8, r9
inc rcx
movsd xmm1, qword [r8 + rax]
movaps xmm0, xmm1
mulsd xmm1, xmm1
mulsd xmm0, qword [rax]
add rax, 8
addsd xmm3, xmm1
addsd xmm6, xmm0
sub rcx, 1
jne 0x14008f845
cmp r12, r13
jl 0x14008f882
mov rax, qword [rdi + 0x3a8]
lea rcx, [r12 + rbx]
addsd xmm3, xmm11
addsd xmm6, qword [rax + rcx*8]
mov rax, qword [rdi + 0x258]
mov rcx, qword [rax + r12*8]
subsd xmm6, qword [rcx + r15*8]
movsd qword [rbp - 0x38], xmm3
movsd qword [rbp - 0x78], xmm10
movsd xmm1, qword [rbp - 0x38]
movsd xmm0, qword [rbp - 0x78]
ucomisd xmm1, xmm0
jp 0x14008f8b4
jne 0x14008f8b4
movaps xmm3, xmm11
xorps xmm0, xmm0
ucomisd xmm0, xmm3
ja 0x14008f8c6
xorps xmm0, xmm0
sqrtsd xmm0, xmm3
jmp 0x14008f8d2
movaps xmm0, xmm3
call fcn.140170bf8
lea r11, [r15 - 1]
mov rax, qword [rdi + 0x21b8]
mov rcx, qword [rdi + 0x38]
divsd xmm6, xmm0
mov rax, qword [rax + r12*8]
mov qword [rcx + r12*8], rax
inc r12
mulsd xmm6, xmm6
addsd xmm7, xmm6
cmp r12, r14
jle 0x14008f771
xorps xmm0, xmm0
ucomisd xmm0, xmm7
ja 0x14008f90c
sqrtsd xmm7, xmm7
jmp 0x14008f917
movaps xmm0, xmm7
call fcn.140170bf8
movaps xmm7, xmm0
movsd qword [rbp - 0x38], xmm7
movsd qword [rbp - 0x78], xmm9
movsd xmm2, qword [rbp - 0x38]
movsd xmm1, qword [rbp - 0x78]
comisd xmm1, xmm2
jbe 0x14008f93b
mov r8, qword [rbp - 0x10]
inc r8
jmp 0x14008f93e
mov r8, rsi
mulsd xmm8, qword [0x140215e78]
mov qword [rbp - 0x10], r8
movsd qword [rbp - 0x38], xmm7
movsd qword [rbp - 0x78], xmm8
movsd xmm1, qword [rbp - 0x38]
movsd xmm0, qword [rbp - 0x78]
comisd xmm1, xmm0
jbe 0x14008f96f
mov rdx, qword [rbp - 8]
inc rdx
jmp 0x14008f972
mov rdx, rsi
mov qword [rbp - 8], rdx
cmp r8, 2
jge 0x14008f9ca
cmp rdx, 2
jl 0x14008f98d
mulsd xmm12, qword [0x140215f38]
jmp 0x14008f996
mulsd xmm12, qword [0x140215ee0]
mov rdx, qword [rbp - 0x28]
movaps xmm0, xmm12
mov rax, qword [rbp + 0x1c8]
inc rdx
movaps xmm12, xmm15
mov qword [rbp - 0x28], rdx
minsd xmm12, xmm0
mov rax, qword [rax + 8]
dec rax
cmp rdx, rax
jg 0x14008f9ca
mov rbx, qword [rbp - 0x50]
jmp 0x14008ef2f
mov rbx, qword [rbp - 0x50]
movsd xmm9, qword [rbp - 0x60]
movaps xmm14, xmmword [rbp + 0x30]
movaps xmm15, xmmword [rsp + 0x170]
movaps xmm13, xmmword [rsp + 0x190]
movaps xmm8, xmmword [rsp + 0x1e0]
movsd xmm6, qword [0x140216560]
lea rax, [rbx + r13]
movaps xmm12, xmmword [rsp + 0x1a0]
lea r9, [rax - 1]
movaps xmm10, xmmword [rsp + 0x1c0]
mov rdx, rsi
movaps xmm7, xmmword [rsp + 0x1f0]
test r9, r9
js 0x14008fb58
mov r10, qword [rbp - 0x20]
cmp rax, 4
jl 0x14008fb1a
lea r8, [r9 - 3]
nop dword [rax]
mov rax, qword [rdi + 0x38]
movsd xmm0, qword [rax + rdx*8]
mov rax, qword [rdi + 0x2d8]
xorps xmm0, xmm6
mulsd xmm0, xmm9
divsd xmm0, qword [rax + rdx*8]
mov rax, qword [rdi + 0x298]
mov rcx, qword [rax + rdx*8]
mov rax, qword [r10 + 0x38]
movsd qword [rax + rcx*8], xmm0
mov rax, qword [rdi + 0x38]
movsd xmm1, qword [rax + rdx*8 + 8]
mov rax, qword [rdi + 0x2d8]
xorps xmm1, xmm6
mulsd xmm1, xmm9
divsd xmm1, qword [rax + rdx*8 + 8]
mov rax, qword [rdi + 0x298]
mov rcx, qword [rax + rdx*8 + 8]
mov rax, qword [r10 + 0x38]
movsd qword [rax + rcx*8], xmm1
mov rax, qword [rdi + 0x38]
movsd xmm0, qword [rax + rdx*8 + 0x10]
mov rax, qword [rdi + 0x2d8]
xorps xmm0, xmm6
mulsd xmm0, xmm9
divsd xmm0, qword [rax + rdx*8 + 0x10]
mov rax, qword [rdi + 0x298]
mov rcx, qword [rax + rdx*8 + 0x10]
mov rax, qword [r10 + 0x38]
movsd qword [rax + rcx*8], xmm0
mov rax, qword [rdi + 0x38]
movsd xmm1, qword [rax + rdx*8 + 0x18]
mov rax, qword [rdi + 0x2d8]
xorps xmm1, xmm6
mulsd xmm1, xmm9
divsd xmm1, qword [rax + rdx*8 + 0x18]
mov rax, qword [rdi + 0x298]
mov rcx, qword [rax + rdx*8 + 0x18]
add rdx, 4
mov rax, qword [r10 + 0x38]
movsd qword [rax + rcx*8], xmm1
cmp rdx, r8
jle 0x14008fa40
cmp rdx, r9
jg 0x14008fb58
mov rax, qword [rdi + 0x38]
movsd xmm0, qword [rax + rdx*8]
mov rax, qword [rdi + 0x2d8]
xorps xmm0, xmm6
mulsd xmm0, xmm9
divsd xmm0, qword [rax + rdx*8]
mov rax, qword [rdi + 0x298]
mov rcx, qword [rax + rdx*8]
inc rdx
mov rax, qword [r10 + 0x38]
movsd qword [rax + rcx*8], xmm0
cmp rdx, r9
jle 0x14008fb1f
lea rcx, [rdi + 0x21c0]
cmp qword [rcx], r15
jge 0x14008fb70
mov r8, qword [rbp - 0x68]
mov rdx, r15
call fcn.14003e440
lea r14, [r15 - 1]
mov r9, rsi
test r14, r14
js 0x14008fc5a
mov rax, qword [rdi + 0xc8]
mov r11, rsi
mov r8, qword [rdi + 0x88]
mov r10, qword [rdi + 0x3a8]
movsd xmm2, qword [rax + r9*8]
mov r8, qword [r8 + r9*8]
cmp r15, 4
jl 0x14008fc19
mov rcx, r8
lea rax, [r10 + 8]
sub rcx, r10
mov rdx, r15
shr rdx, 2
lea r11, [rdx*4]
nop word [rax + rax]
movsd xmm1, qword [rcx + rax - 8]
mulsd xmm1, qword [rax - 8]
movsd xmm0, qword [rcx + rax]
mulsd xmm0, qword [rax]
addsd xmm2, xmm1
movsd xmm1, qword [rcx + rax + 8]
mulsd xmm1, qword [rax + 8]
addsd xmm2, xmm0
movsd xmm0, qword [rcx + rax + 0x10]
mulsd xmm0, qword [rax + 0x10]
add rax, 0x20
addsd xmm2, xmm1
addsd xmm2, xmm0
sub rdx, 1
jne 0x14008fbd0
cmp r11, r14
jg 0x14008fc41
mov rcx, r14
lea rax, [r10 + r11*8]
sub rcx, r11
sub r8, r10
inc rcx
movsd xmm0, qword [r8 + rax]
mulsd xmm0, qword [rax]
add rax, 8
addsd xmm2, xmm0
sub rcx, 1
jne 0x14008fc29
mov rax, qword [rdi + 0x21f8]
movsd qword [rax + r9*8], xmm2
inc r9
cmp r9, r14
jle 0x14008fb80
movsd xmm2, qword [0x140216160]
lea rax, [rdi + 0x21c0]
mov qword [rsp + 0x58], rsi
lea r9, [rdi + 0x210]
mov qword [rsp + 0x50], rax
lea rdx, [rbx + r13]
movsd qword [rsp + 0x48], xmm11
mov rcx, r15
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x30], 1
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rsi
call fcn.140047830
movaps xmm11, xmmword [rsp + 0x1b0]
lea r8, [r15 - 1]
mov rdx, rsi
test r8, r8
js 0x14008ff6d
mov r13, qword [rbp - 0x58]
nop word [rax + rax]
mov rax, qword [rdi + 0x108]
lea rcx, [rdx*8]
cmp byte [rdx + rax], 0
je 0x14008fd19
mov rax, qword [rdi + 0x3a8]
movsd xmm0, qword [rcx + rax]
mov rax, qword [rdi + 0x188]
movsd qword [rbp - 0x58], xmm0
movsd xmm1, qword [rcx + rax]
movsd qword [rbp - 0x60], xmm1
movsd xmm2, qword [rbp - 0x58]
movsd xmm0, qword [rbp - 0x60]
ucomisd xmm2, xmm0
jp 0x14008fd19
je 0x14008fd5a
mov rax, qword [rdi + 0x148]
cmp byte [rdx + rax], 0
je 0x14008fd72
mov rax, qword [rdi + 0x3a8]
movsd xmm0, qword [rcx + rax]
mov rax, qword [rdi + 0x1c8]
movsd qword [rbp - 0x58], xmm0
movsd xmm1, qword [rcx + rax]
movsd qword [rbp - 0x60], xmm1
movsd xmm2, qword [rbp - 0x58]
movsd xmm0, qword [rbp - 0x60]
ucomisd xmm2, xmm0
jp 0x14008fd72
jne 0x14008fd72
mov rax, qword [rdi + 0x21f8]
movsd xmm0, qword [rax + rcx]
mov rax, qword [r13 + 0x38]
xorps xmm0, xmm6
movsd qword [rcx + rax], xmm0
inc rdx
cmp rdx, r8
jle 0x14008fcd0
mov r12, qword [rbp]
lea r10, [r15 - 1]
mov rdx, r10
mov r8, rsi
cmp r15, 8
jb 0x14008fe86
mov rcx, qword [r13 + 0x38]
lea r11, [r12 + 0x38]
mov r9, qword [r11]
lea r14, [r13 + 0x38]
lea rbx, [rcx + r10*8]
lea rax, [r9 + r10*8]
cmp rcx, rax
ja 0x14008fdbc
cmp rbx, r9
jae 0x14008fe86
cmp rcx, r11
ja 0x14008fdcd
mov rdx, r10
cmp rbx, r11
jae 0x14008fe86
cmp rcx, r14
ja 0x14008fdde
mov rdx, r10
cmp rbx, r14
jae 0x14008fe86
mov rax, r15
mov r11, r10
cqo
and edx, 7
add rax, rdx
and eax, 7
sub rax, rdx
sub r11, rax
mov eax, 0x20
mov rdx, r10
nop dword [rax]
movups xmm0, xmmword [rax + rcx - 0x20]
lea rax, [rax + 0x40]
add r8, 8
movaps xmm1, xmm14
mulpd xmm1, xmm0
movups xmm0, xmmword [rax + r9 - 0x60]
divpd xmm1, xmm0
movups xmmword [rax + rcx - 0x60], xmm1
movaps xmm1, xmm14
movups xmm0, xmmword [rax + rcx - 0x50]
mulpd xmm1, xmm0
movups xmm0, xmmword [rax + r9 - 0x50]
divpd xmm1, xmm0
movups xmmword [rax + rcx - 0x50], xmm1
movaps xmm1, xmm14
movups xmm0, xmmword [rax + rcx - 0x40]
mulpd xmm1, xmm0
movups xmm0, xmmword [rax + r9 - 0x40]
divpd xmm1, xmm0
movups xmmword [rax + rcx - 0x40], xmm1
movaps xmm1, xmm14
movups xmm0, xmmword [rax + rcx - 0x30]
mulpd xmm1, xmm0
movups xmm0, xmmword [rax + r9 - 0x30]
divpd xmm1, xmm0
movups xmmword [rax + rcx - 0x30], xmm1
cmp r8, r11
jle 0x14008fe00
cmp r8, rdx
jg 0x14008ff71
mov rax, rdx
sub rax, r8
inc rax
cmp rax, 4
jl 0x14008ff40
lea r9, [rdx - 3]
nop dword [rax]
mov rcx, qword [r13 + 0x38]
movaps xmm0, xmm9
mov rax, qword [r12 + 0x38]
mulsd xmm0, qword [rcx + r8*8]
divsd xmm0, qword [rax + r8*8]
movsd qword [rcx + r8*8], xmm0
movaps xmm0, xmm9
mov rcx, qword [r13 + 0x38]
mov rax, qword [r12 + 0x38]
mulsd xmm0, qword [rcx + r8*8 + 8]
divsd xmm0, qword [rax + r8*8 + 8]
movsd qword [rcx + r8*8 + 8], xmm0
movaps xmm0, xmm9
mov rcx, qword [r13 + 0x38]
mov rax, qword [r12 + 0x38]
mulsd xmm0, qword [rcx + r8*8 + 0x10]
divsd xmm0, qword [rax + r8*8 + 0x10]
movsd qword [rcx + r8*8 + 0x10], xmm0
movaps xmm0, xmm9
mov rcx, qword [r13 + 0x38]
mov rax, qword [r12 + 0x38]
mulsd xmm0, qword [rcx + r8*8 + 0x18]
divsd xmm0, qword [rax + r8*8 + 0x18]
movsd qword [rcx + r8*8 + 0x18], xmm0
add r8, 4
cmp r8, r9
jle 0x14008fea0
cmp r8, rdx
jg 0x14008ff71
nop word [rax + rax]
mov rcx, qword [r13 + 0x38]
movaps xmm0, xmm9
mov rax, qword [r12 + 0x38]
mulsd xmm0, qword [rcx + r8*8]
divsd xmm0, qword [rax + r8*8]
movsd qword [rcx + r8*8], xmm0
inc r8
cmp r8, rdx
jle 0x14008ff40
lea rdx, [r15 - 1]
jmp 0x14008ff7e
mov r12, qword [rbp]
lea rdx, [r15 - 1]
test rdx, rdx
js 0x1400900ec
mov r8, qword [rbp + 0x18]
mov rax, qword [rdi + 0x3a8]
mov rcx, qword [r12 + 0x38]
movsd xmm0, qword [rax + rsi*8]
mulsd xmm0, qword [rcx + rsi*8]
mov rax, qword [rbp + 0x20]
mov rax, qword [rax + 0x38]
addsd xmm0, qword [rax + rsi*8]
mov rax, qword [r8 + 0x38]
movsd qword [rax + rsi*8], xmm0
mov rax, qword [rdi + 0x108]
cmp byte [rsi + rax], 0
je 0x140090047
mov rax, qword [r8 + 0x38]
mov rcx, qword [rbp + 8]
movsd xmm0, qword [rax + rsi*8]
mov rax, qword [rcx + 0x38]
movsd qword [rbp - 0x58], xmm0
movsd xmm0, qword [rax + rsi*8]
movsd qword [rbp - 0x60], xmm0
movsd xmm2, qword [rbp - 0x58]
movsd xmm1, qword [rbp - 0x60]
comisd xmm1, xmm2
jbe 0x140090003
mov rax, qword [rcx + 0x38]
mov rcx, qword [r8 + 0x38]
mov rax, qword [rax + rsi*8]
mov qword [rcx + rsi*8], rax
mov rcx, qword [rbp + 8]
mov rax, qword [rdi + 0x3a8]
movsd xmm0, qword [rax + rsi*8]
mov rax, qword [rdi + 0x188]
movsd qword [rbp - 0x58], xmm0
movsd xmm1, qword [rax + rsi*8]
movsd qword [rbp - 0x60], xmm1
movsd xmm2, qword [rbp - 0x58]
movsd xmm0, qword [rbp - 0x60]
ucomisd xmm2, xmm0
jp 0x140090047
jne 0x140090047
mov rax, qword [rcx + 0x38]
mov rcx, qword [r8 + 0x38]
mov rax, qword [rax + rsi*8]
mov qword [rcx + rsi*8], rax
mov rax, qword [rdi + 0x148]
cmp byte [rsi + rax], 0
je 0x1400900e0
mov rax, qword [r8 + 0x38]
mov rcx, qword [rbp + 0x10]
movsd xmm0, qword [rax + rsi*8]
mov rax, qword [rcx + 0x38]
movsd qword [rbp - 0x58], xmm0
movsd xmm0, qword [rax + rsi*8]
movsd qword [rbp - 0x60], xmm0
movsd xmm2, qword [rbp - 0x58]
movsd xmm1, qword [rbp - 0x60]
comisd xmm2, xmm1
jbe 0x14009009c
mov rax, qword [rcx + 0x38]
mov rcx, qword [r8 + 0x38]
mov rax, qword [rax + rsi*8]
mov qword [rcx + rsi*8], rax
mov rcx, qword [rbp + 0x10]
mov rax, qword [rdi + 0x3a8]
movsd xmm0, qword [rax + rsi*8]
mov rax, qword [rdi + 0x1c8]
movsd qword [rbp - 0x58], xmm0
movsd xmm1, qword [rax + rsi*8]
movsd qword [rbp - 0x60], xmm1
movsd xmm2, qword [rbp - 0x58]
movsd xmm0, qword [rbp - 0x60]
ucomisd xmm2, xmm0
jp 0x1400900e0
jne 0x1400900e0
mov rax, qword [rcx + 0x38]
mov rcx, qword [r8 + 0x38]
mov rax, qword [rax + rsi*8]
mov qword [rcx + rsi*8], rax
inc rsi
cmp rsi, rdx
jle 0x14008ff82
mov rax, qword [rbp + 0x28]
mov qword [rax], 2
mov rcx, qword [rbp + 0x48]
xor rcx, rsp
call fcn.140138160
lea r11, [rsp + 0x218]
movaps xmm6, xmmword [r11 - 0x18]
movaps xmm9, xmmword [r11 - 0x48]
movaps xmm14, xmmword [r11 - 0x98]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret