// File: Pyboon[P]sage/isi_sage.cpp
// Function: IsiSage::InitAoA(Eigen::Matrix<std::complex<double>, 1, -1, 1, 1, -1>, int)
void IsiSage::InitAoA(const RowVectorXcd tau_data, const int iL){
    Util::log("init AOA...");
    MatrixXcd Y(config.Rx, config.Tx);
    complex<double> cycle_data = 0;
    complex<double> temp = 0;
    for(int i_rx = 0; i_rx < config.Rx; ++i_rx){
        for(int i_tx = 0; i_tx < config.Tx; ++i_tx){
            cycle_data = 0;
            for(int i_cyc = 0; i_cyc < config.cycle_num; ++i_cyc){
                double t = (i_cyc * config.Tcy + i_tx * config.Tt + i_rx * config.Tr) * config.T; 
                temp.real(cos(2*PI* result.doppler(iL) * t));
                temp.imag(-sin(2*PI* result.doppler(iL) * t));
                cycle_data += temp * tau_data(i_cyc * config.subchannel_num + i_tx * config.Rx + i_rx);
            }
            Y(i_rx, i_tx) = cycle_data;
        }
    }
    double min_theta_rx = config.min_theta_rx;
    double max_theta_rx = config.max_theta_rx;
    double min_phi_rx = config.min_phi_rx;
    double max_phi_rx = config.max_phi_rx;
    double step = config.angle_step;
    int theta_size = (max_theta_rx - min_theta_rx)/step + 1;
    int phi_size = (max_phi_rx - min_phi_rx)/step + 1;
    MatrixXd aoa_data(theta_size, phi_size);
    aoa_data.setZero(theta_size, phi_size);
    Util::log("generating aoa_data...(waiting for a few time)");
    for(int i_theta = 0; i_theta < theta_size; ++i_theta){
        for(int i_phi = 0; i_phi < phi_size; ++i_phi){
                MatrixX2cd C2 = getAntennaResponse(min_theta_rx+i_theta*step, min_phi_rx+i_phi*step, 2);
                VectorXcd c_2_1 = C2.col(0) / (C2.col(0).norm());
                VectorXcd c_2_2 = C2.col(1) / (C2.col(1).norm());
                RowVectorXcd c_2_1_H = c_2_1.adjoint();
                RowVectorXcd c_2_2_H = c_2_2.adjoint();
            for(int i_tx = 0; i_tx < config.Tx; ++i_tx){
                VectorXcd y_m1 = Y.col(i_tx);
                complex<double> part1 = c_2_1_H * y_m1;
                complex<double> part2 = c_2_2_H * y_m1;
                double p1_norm = norm(part1);
                double p2_norm = norm(part2);
                RowVectorXcd y_m1_H = y_m1.adjoint();
                complex<double> part3 = y_m1_H * c_2_2 * c_2_1_H * y_m1 * c_2_2_H * c_2_1;
                aoa_data(i_theta, i_phi) += p1_norm + p2_norm - 2 * part3.real();
            }
        }
    }
    int i,j;
    aoa_data.maxCoeff(&i, &j);
    result.theta_rx(iL) = i * config.angle_step + min_theta_rx;
    result.phi_rx(iL) = j * config.angle_step + min_phi_rx;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x620, %rsp            # imm = 0x620
movq %rsi, -0x528(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl %edx, -0x14(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x520(%rbp)
leaq -0x39(%rbp), %rdi
movq %rdi, -0x518(%rbp)
callq 0x9dd0
movq -0x518(%rbp), %rdx
leaq 0x55cad(%rip), %rsi     # 0x6fb83
leaq -0x38(%rbp), %rdi
callq 0xb320
jmp 0x19ee1
leaq -0x38(%rbp), %rdi
callq 0x13b80
jmp 0x19eec
leaq -0x38(%rbp), %rdi
callq 0x9470
leaq -0x39(%rbp), %rdi
callq 0x9840
movq -0x520(%rbp), %rdx
movq %rdx, %rsi
addq $0x8, %rsi
addq $0xc, %rdx
leaq -0x68(%rbp), %rdi
callq 0x20450
leaq -0x78(%rbp), %rdi
xorps %xmm1, %xmm1
movaps %xmm1, %xmm0
callq 0x14330
jmp 0x19f2a
leaq -0x88(%rbp), %rdi
xorps %xmm1, %xmm1
movaps %xmm1, %xmm0
callq 0x14330
jmp 0x19f3e
movl $0x0, -0x8c(%rbp)
movq -0x520(%rbp), %rcx
movl -0x8c(%rbp), %eax
cmpl 0x8(%rcx), %eax
jge 0x1a1ff
movl $0x0, -0x90(%rbp)
movq -0x520(%rbp), %rcx
movl -0x90(%rbp), %eax
cmpl 0xc(%rcx), %eax
jge 0x1a1e9
leaq -0x78(%rbp), %rdi
xorps %xmm0, %xmm0
callq 0x202e0
jmp 0x19f8c
movl $0x0, -0x94(%rbp)
movq -0x520(%rbp), %rcx
movl -0x94(%rbp), %eax
cmpl 0x10(%rcx), %eax
jge 0x1a19f
movq -0x520(%rbp), %rdi
movl -0x94(%rbp), %eax
movl 0xbc(%rdi), %ecx
imull %ecx, %eax
movl -0x90(%rbp), %ecx
movl 0xb4(%rdi), %edx
imull %edx, %ecx
addl %ecx, %eax
movl -0x8c(%rbp), %ecx
movl 0xb8(%rdi), %edx
imull %edx, %ecx
addl %ecx, %eax
cvtsi2sd %eax, %xmm0
movsd 0xa8(%rdi), %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, -0xa0(%rbp)
addq $0x1d0, %rdi            # imm = 0x1D0
movslq -0x14(%rbp), %rsi
callq 0x14140
movq %rax, -0x530(%rbp)
jmp 0x1a015
movq -0x530(%rbp), %rax
movsd (%rax), %xmm0
movsd 0x55848(%rip), %xmm1    # 0x6f870
mulsd %xmm1, %xmm0
movsd -0xa0(%rbp), %xmm1
mulsd %xmm1, %xmm0
callq 0x9e90
leaq -0x88(%rbp), %rdi
callq 0x13d00
jmp 0x1a04b
movq -0x520(%rbp), %rdi
addq $0x1d0, %rdi            # imm = 0x1D0
movslq -0x14(%rbp), %rsi
callq 0x14140
movq %rax, -0x538(%rbp)
jmp 0x1a06b
movq -0x538(%rbp), %rax
movsd (%rax), %xmm0
movsd 0x557f2(%rip), %xmm1    # 0x6f870
mulsd %xmm1, %xmm0
movsd -0xa0(%rbp), %xmm1
mulsd %xmm1, %xmm0
callq 0x9180
movaps 0x557f6(%rip), %xmm1    # 0x6f890
pxor %xmm1, %xmm0
leaq -0x88(%rbp), %rdi
callq 0x13d20
jmp 0x1a0ac
movq -0x528(%rbp), %rdi
movq -0x520(%rbp), %rcx
movl -0x94(%rbp), %eax
movl 0x8(%rcx), %edx
movl 0xa0(%rcx), %ecx
imull %ecx, %eax
movl -0x90(%rbp), %ecx
imull %edx, %ecx
addl %ecx, %eax
movl -0x8c(%rbp), %ecx
addl %ecx, %eax
movslq %eax, %rsi
callq 0x20350
movq %rax, -0x540(%rbp)
jmp 0x1a0f0
movq -0x540(%rbp), %rsi
leaq -0x88(%rbp), %rdi
callq 0x20310
movsd %xmm1, -0x550(%rbp)
movsd %xmm0, -0x548(%rbp)
jmp 0x1a115
movsd -0x550(%rbp), %xmm0
movsd -0x548(%rbp), %xmm1
movsd %xmm1, -0xb0(%rbp)
movsd %xmm0, -0xa8(%rbp)
leaq -0x78(%rbp), %rdi
leaq -0xb0(%rbp), %rsi
callq 0x203e0
jmp 0x1a147
jmp 0x1a149
movl -0x94(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x94(%rbp)
jmp 0x19f96
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x1a180
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x38(%rbp), %rdi
callq 0x9470
leaq -0x39(%rbp), %rdi
callq 0x9840
jmp 0x1ab1d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x1ab14
movslq -0x8c(%rbp), %rsi
movslq -0x90(%rbp), %rdx
leaq -0x68(%rbp), %rdi
callq 0x13c40
movq %rax, -0x558(%rbp)
jmp 0x1a1bf
movq -0x558(%rbp), %rax
movq -0x78(%rbp), %rcx
movq %rcx, (%rax)
movq -0x70(%rbp), %rcx
movq %rcx, 0x8(%rax)
movl -0x90(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x90(%rbp)
jmp 0x19f68
jmp 0x1a1eb
movl -0x8c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x8c(%rbp)
jmp 0x19f48
movq -0x520(%rbp), %rax
movsd 0x100(%rax), %xmm0
movsd %xmm0, -0xb8(%rbp)
movsd 0x108(%rax), %xmm0
movsd %xmm0, -0xc0(%rbp)
movsd 0x110(%rax), %xmm0
movsd %xmm0, -0xc8(%rbp)
movsd 0x118(%rax), %xmm0
movsd %xmm0, -0xd0(%rbp)
movsd 0x128(%rax), %xmm0
movsd %xmm0, -0xd8(%rbp)
movsd -0xc0(%rbp), %xmm0
movsd -0xb8(%rbp), %xmm1
subsd %xmm1, %xmm0
movsd -0xd8(%rbp), %xmm1
divsd %xmm1, %xmm0
movsd 0x53daa(%rip), %xmm1    # 0x6e028
addsd %xmm1, %xmm0
cvttsd2si %xmm0, %eax
movl %eax, -0xdc(%rbp)
movsd -0xd0(%rbp), %xmm0
movsd -0xc8(%rbp), %xmm2
subsd %xmm2, %xmm0
movsd -0xd8(%rbp), %xmm2
divsd %xmm2, %xmm0
addsd %xmm1, %xmm0
cvttsd2si %xmm0, %eax
movl %eax, -0xe0(%rbp)
leaq -0xf8(%rbp), %rdi
leaq -0xdc(%rbp), %rsi
leaq -0xe0(%rbp), %rdx
callq 0x204c0
jmp 0x1a2d6
movslq -0xdc(%rbp), %rsi
movslq -0xe0(%rbp), %rdx
leaq -0xf8(%rbp), %rdi
callq 0x20530
jmp 0x1a2f2
leaq -0x119(%rbp), %rdi
movq %rdi, -0x560(%rbp)
callq 0x9dd0
movq -0x560(%rbp), %rdx
leaq 0x5587c(%rip), %rsi     # 0x6fb8f
leaq -0x118(%rbp), %rdi
callq 0xb320
jmp 0x1a321
leaq -0x118(%rbp), %rdi
callq 0x13b80
jmp 0x1a32f
leaq -0x118(%rbp), %rdi
callq 0x9470
leaq -0x119(%rbp), %rdi
callq 0x9840
movl $0x0, -0x120(%rbp)
movl -0x120(%rbp), %eax
cmpl -0xdc(%rbp), %eax
jge 0x1aa18
movl $0x0, -0x124(%rbp)
movl -0x124(%rbp), %eax
cmpl -0xe0(%rbp), %eax
jge 0x1aa02
movq -0x520(%rbp), %rsi
movsd -0xb8(%rbp), %xmm1
cvtsi2sdl -0x120(%rbp), %xmm0
movsd -0xd8(%rbp), %xmm3
mulsd %xmm3, %xmm0
addsd %xmm1, %xmm0
movsd -0xc8(%rbp), %xmm2
cvtsi2sdl -0x124(%rbp), %xmm1
mulsd %xmm3, %xmm1
addsd %xmm2, %xmm1
movq (%rsi), %rax
movq 0x20(%rax), %rax
leaq -0x138(%rbp), %rdi
movl $0x2, %edx
callq *%rax
jmp 0x1a3d5
xorl %eax, %eax
movl %eax, %edx
leaq -0x1d8(%rbp), %rdi
leaq -0x138(%rbp), %rsi
callq 0x20580
jmp 0x1a3ee
xorl %eax, %eax
movl %eax, %edx
leaq -0x218(%rbp), %rdi
leaq -0x138(%rbp), %rsi
callq 0x20580
jmp 0x1a407
leaq -0x218(%rbp), %rdi
callq 0x20680
movsd %xmm0, -0x568(%rbp)
jmp 0x1a41d
movsd -0x568(%rbp), %xmm0
movsd %xmm0, -0x1e0(%rbp)
leaq -0x1a0(%rbp), %rdi
leaq -0x1d8(%rbp), %rsi
leaq -0x1e0(%rbp), %rdx
callq 0x205d0
jmp 0x1a449
leaq -0x148(%rbp), %rdi
leaq -0x1a0(%rbp), %rsi
callq 0x206e0
jmp 0x1a45e
leaq -0x2b8(%rbp), %rdi
leaq -0x138(%rbp), %rsi
movl $0x1, %edx
callq 0x20580
jmp 0x1a478
leaq -0x2f8(%rbp), %rdi
leaq -0x138(%rbp), %rsi
movl $0x1, %edx
callq 0x20580
jmp 0x1a492
leaq -0x2f8(%rbp), %rdi
callq 0x20680
movsd %xmm0, -0x570(%rbp)
jmp 0x1a4a8
movsd -0x570(%rbp), %xmm0
movsd %xmm0, -0x2c0(%rbp)
leaq -0x280(%rbp), %rdi
leaq -0x2b8(%rbp), %rsi
leaq -0x2c0(%rbp), %rdx
callq 0x205d0
jmp 0x1a4d4
leaq -0x228(%rbp), %rdi
leaq -0x280(%rbp), %rsi
callq 0x206e0
jmp 0x1a4e9
leaq -0x318(%rbp), %rdi
leaq -0x148(%rbp), %rsi
callq 0x20720
jmp 0x1a4fe
leaq -0x308(%rbp), %rdi
leaq -0x318(%rbp), %rsi
callq 0x20770
jmp 0x1a513
leaq -0x338(%rbp), %rdi
leaq -0x228(%rbp), %rsi
callq 0x20720
jmp 0x1a528
leaq -0x328(%rbp), %rdi
leaq -0x338(%rbp), %rsi
callq 0x20770
jmp 0x1a53d
movl $0x0, -0x33c(%rbp)
movq -0x520(%rbp), %rcx
movl -0x33c(%rbp), %eax
cmpl 0xc(%rcx), %eax
jge 0x1a971
movslq -0x33c(%rbp), %rdx
leaq -0x388(%rbp), %rdi
leaq -0x68(%rbp), %rsi
callq 0x207b0
jmp 0x1a576
leaq -0x350(%rbp), %rdi
leaq -0x388(%rbp), %rsi
callq 0x20800
jmp 0x1a58b
leaq -0x308(%rbp), %rdi
leaq -0x350(%rbp), %rsi
callq 0x20840
movq %rdx, -0x580(%rbp)
movq %rax, -0x578(%rbp)
jmp 0x1a5ae
movq -0x580(%rbp), %rax
movq -0x578(%rbp), %rcx
movq %rcx, -0x3a8(%rbp)
movq %rax, -0x3a0(%rbp)
leaq -0x3a8(%rbp), %rdi
callq 0x20890
movsd %xmm1, -0x590(%rbp)
movsd %xmm0, -0x588(%rbp)
jmp 0x1a5e8
movsd -0x590(%rbp), %xmm0
movsd -0x588(%rbp), %xmm1
movsd %xmm1, -0x398(%rbp)
movsd %xmm0, -0x390(%rbp)
leaq -0x328(%rbp), %rdi
leaq -0x350(%rbp), %rsi
callq 0x20840
movq %rdx, -0x5a0(%rbp)
movq %rax, -0x598(%rbp)
jmp 0x1a62b
movq -0x5a0(%rbp), %rax
movq -0x598(%rbp), %rcx
movq %rcx, -0x3c8(%rbp)
movq %rax, -0x3c0(%rbp)
leaq -0x3c8(%rbp), %rdi
callq 0x20890
movsd %xmm1, -0x5b0(%rbp)
movsd %xmm0, -0x5a8(%rbp)
jmp 0x1a665
movsd -0x5b0(%rbp), %xmm0
movsd -0x5a8(%rbp), %xmm1
movsd %xmm1, -0x3b8(%rbp)
movsd %xmm0, -0x3b0(%rbp)
leaq -0x398(%rbp), %rdi
callq 0x20430
movsd %xmm0, -0x5b8(%rbp)
jmp 0x1a69b
movsd -0x5b8(%rbp), %xmm0
movsd %xmm0, -0x3d0(%rbp)
leaq -0x3b8(%rbp), %rdi
callq 0x20430
movsd %xmm0, -0x5c0(%rbp)
jmp 0x1a6c1
movsd -0x5c0(%rbp), %xmm0
movsd %xmm0, -0x3d8(%rbp)
leaq -0x3f8(%rbp), %rdi
leaq -0x350(%rbp), %rsi
callq 0x20720
jmp 0x1a6e6
leaq -0x3e8(%rbp), %rdi
leaq -0x3f8(%rbp), %rsi
callq 0x20770
jmp 0x1a6fb
leaq -0x3e8(%rbp), %rdi
leaq -0x228(%rbp), %rsi
callq 0x20840
movq %rdx, -0x5d0(%rbp)
movq %rax, -0x5c8(%rbp)
jmp 0x1a71e
movq -0x5d0(%rbp), %rax
movq -0x5c8(%rbp), %rcx
movq %rcx, -0x508(%rbp)
movq %rax, -0x500(%rbp)
leaq -0x4f8(%rbp), %rdi
leaq -0x508(%rbp), %rsi
leaq -0x308(%rbp), %rdx
callq 0x209d0
jmp 0x1a756
leaq -0x4c0(%rbp), %rdi
leaq -0x4f8(%rbp), %rsi
leaq -0x350(%rbp), %rdx
callq 0x20a90
jmp 0x1a772
leaq -0x480(%rbp), %rdi
leaq -0x4c0(%rbp), %rsi
leaq -0x328(%rbp), %rdx
callq 0x20910
jmp 0x1a78e
leaq -0x448(%rbp), %rdi
leaq -0x480(%rbp), %rsi
leaq -0x148(%rbp), %rdx
callq 0x20a90
jmp 0x1a7aa
leaq -0x448(%rbp), %rdi
callq 0x20ae0
movsd %xmm1, -0x5e0(%rbp)
movsd %xmm0, -0x5d8(%rbp)
jmp 0x1a7c8
movsd -0x5e0(%rbp), %xmm0
movsd -0x5d8(%rbp), %xmm1
movsd %xmm1, -0x408(%rbp)
movsd %xmm0, -0x400(%rbp)
movsd -0x3d0(%rbp), %xmm0
movsd -0x3d8(%rbp), %xmm1
addsd %xmm1, %xmm0
movsd %xmm0, -0x5f0(%rbp)
leaq -0x408(%rbp), %rdi
callq 0x20b40
movsd %xmm0, -0x5e8(%rbp)
jmp 0x1a81a
movsd -0x5f0(%rbp), %xmm0
movsd -0x5e8(%rbp), %xmm1
addsd %xmm1, %xmm1
subsd %xmm1, %xmm0
movsd %xmm0, -0x600(%rbp)
movslq -0x120(%rbp), %rsi
movslq -0x124(%rbp), %rdx
leaq -0xf8(%rbp), %rdi
callq 0x20b60
movq %rax, -0x5f8(%rbp)
jmp 0x1a85d
movq -0x5f8(%rbp), %rax
movsd -0x600(%rbp), %xmm0
addsd (%rax), %xmm0
movsd %xmm0, (%rax)
leaq -0x3e8(%rbp), %rdi
callq 0x20040
leaq -0x350(%rbp), %rdi
callq 0x20c20
movl -0x33c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x33c(%rbp)
jmp 0x1a547
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x1ab08
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x1a8d7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x118(%rbp), %rdi
callq 0x9470
leaq -0x119(%rbp), %rdi
callq 0x9840
jmp 0x1ab08
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x1a9f1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x1a9e5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x1a9d9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x1a9cd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x1a9c1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x1a963
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x3e8(%rbp), %rdi
callq 0x20040
leaq -0x350(%rbp), %rdi
callq 0x20c20
jmp 0x1a9c1
leaq -0x328(%rbp), %rdi
callq 0x20040
leaq -0x308(%rbp), %rdi
callq 0x20040
leaq -0x228(%rbp), %rdi
callq 0x20c20
leaq -0x148(%rbp), %rdi
callq 0x20c20
leaq -0x138(%rbp), %rdi
callq 0x13f10
movl -0x124(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x124(%rbp)
jmp 0x1a36d
leaq -0x328(%rbp), %rdi
callq 0x20040
leaq -0x308(%rbp), %rdi
callq 0x20040
leaq -0x228(%rbp), %rdi
callq 0x20c20
leaq -0x148(%rbp), %rdi
callq 0x20c20
leaq -0x138(%rbp), %rdi
callq 0x13f10
jmp 0x1ab08
jmp 0x1aa04
movl -0x120(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x120(%rbp)
jmp 0x1a351
leaq -0xf8(%rbp), %rdi
leaq -0x50c(%rbp), %rsi
leaq -0x510(%rbp), %rdx
callq 0x20c40
jmp 0x1aa34
movq -0x520(%rbp), %rdi
cvtsi2sdl -0x50c(%rbp), %xmm0
movsd 0x128(%rdi), %xmm2
movsd -0xb8(%rbp), %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x610(%rbp)
addq $0x200, %rdi            # imm = 0x200
movslq -0x14(%rbp), %rsi
callq 0x14140
movq %rax, -0x608(%rbp)
jmp 0x1aa7c
movq -0x520(%rbp), %rdi
movq -0x608(%rbp), %rax
movsd -0x610(%rbp), %xmm0
movsd %xmm0, (%rax)
cvtsi2sdl -0x510(%rbp), %xmm0
movsd 0x128(%rdi), %xmm2
movsd -0xc8(%rbp), %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x620(%rbp)
addq $0x210, %rdi            # imm = 0x210
movslq -0x14(%rbp), %rsi
callq 0x14140
movq %rax, -0x618(%rbp)
jmp 0x1aad7
movq -0x618(%rbp), %rax
movsd -0x620(%rbp), %xmm0
movsd %xmm0, (%rax)
leaq -0xf8(%rbp), %rdi
callq 0x20c90
leaq -0x68(%rbp), %rdi
callq 0xfac0
addq $0x620, %rsp            # imm = 0x620
popq %rbp
retq
leaq -0xf8(%rbp), %rdi
callq 0x20c90
leaq -0x68(%rbp), %rdi
callq 0xfac0
movq -0x48(%rbp), %rdi
callq 0x9dc0
nopw %cs:(%rax,%rax)