// File: FR13ndSDP[P]NHT/main.cpp
// Function: main
int main()
{
    clock_t start_t,end_t;
    start_t = clock();

    Parameters P;
    P.readParameters("controlDict");

    int  cnt=0;
    double Tw = 15, TWall = 0;
    Vec position(P.N,0),T(P.N,0),aW(P.N,0),aP(P.N,0),aE(P.N,0),Su(P.N,0);

    if (P.uS == 1)
    {
        cout << "unsteady calculate, solver:" << P.solver << endl;
        initialize(P.N, P.L, Tw, P.TA, P.A1, P.K, T, position);
        P.Coeff(aW,aP,aE);

        cout << "input a Wall temperature:"<<endl;
        cin >> TWall;

        while (Tw >= TWall)
        {
            P.getSource(Su, T);
            T = solve(aW, aP, aE, Su, P.solver, P.P);
            // calculaet wall temperature
            Tw = (2*P.K/(P.L/P.N)*T[0]+P.A1*P.TA)/(P.A1+2*P.K/(P.L/P.N));
            cnt++;
        }
        cout << "time = " << cnt*P.dt << " Tw = " << Tw << endl;
        P.outputFile(position, T);
    }
    else
    {
        cout << "steady calculate, solver:" << P.solver << endl;
        initialize(P.N, P.L, Tw, P.TA, P.A1, P.K, T, position);
        P.Coeff(aW, aP, aE);
        P.getSource(Su, T);
        T = solve(aW, aP, aE, Su, P.solver, P.P);
        // check out flux conservation
        double fluxA = (P.TA - T[0])/(1/P.A1 + P.L/P.N/(2*P.K));
        double fluxB = (-P.TB + T[P.N - 1])/(1/P.A2 + P.L/P.N/(2*P.K));
        cout << "flux in left: "<< fluxA << " flux in right: "<< fluxB << endl;

        P.outputFile(position, T);
    }
    end_t = clock();
    cout << "time consumption:" << (double)(end_t - start_t)/CLOCKS_PER_SEC << "s" << endl;
    return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x470, %rsp            # imm = 0x470
movl $0x0, -0x4(%rbp)
callq 0x2130
movq %rax, -0x10(%rbp)
leaq -0xa0(%rbp), %rdi
movq %rdi, -0x358(%rbp)
callq 0x4430
movq -0x358(%rbp), %rdi
leaq 0x5964(%rip), %rsi      # 0x8020
callq 0x4560
jmp 0x26c3
movl $0x0, -0xb0(%rbp)
movabsq $0x402e000000000000, %rax # imm = 0x402E000000000000
movq %rax, -0xb8(%rbp)
movq $0x0, -0xc0(%rbp)
movslq -0xa0(%rbp), %rax
movq %rax, -0x368(%rbp)
movq $0x0, -0xe0(%rbp)
leaq -0xe1(%rbp), %rdi
movq %rdi, -0x360(%rbp)
callq 0x34b0
movq -0x368(%rbp), %rsi
movq -0x360(%rbp), %rcx
leaq -0xd8(%rbp), %rdi
leaq -0xe0(%rbp), %rdx
callq 0x34d0
jmp 0x2738
leaq -0xe1(%rbp), %rdi
callq 0x3550
movslq -0xa0(%rbp), %rax
movq %rax, -0x378(%rbp)
movq $0x0, -0x108(%rbp)
leaq -0x109(%rbp), %rdi
movq %rdi, -0x370(%rbp)
callq 0x34b0
movq -0x378(%rbp), %rsi
movq -0x370(%rbp), %rcx
leaq -0x100(%rbp), %rdi
leaq -0x108(%rbp), %rdx
callq 0x34d0
jmp 0x2793
leaq -0x109(%rbp), %rdi
callq 0x3550
movslq -0xa0(%rbp), %rax
movq %rax, -0x388(%rbp)
movq $0x0, -0x130(%rbp)
leaq -0x131(%rbp), %rdi
movq %rdi, -0x380(%rbp)
callq 0x34b0
movq -0x388(%rbp), %rsi
movq -0x380(%rbp), %rcx
leaq -0x128(%rbp), %rdi
leaq -0x130(%rbp), %rdx
callq 0x34d0
jmp 0x27ee
leaq -0x131(%rbp), %rdi
callq 0x3550
movslq -0xa0(%rbp), %rax
movq %rax, -0x398(%rbp)
movq $0x0, -0x158(%rbp)
leaq -0x159(%rbp), %rdi
movq %rdi, -0x390(%rbp)
callq 0x34b0
movq -0x398(%rbp), %rsi
movq -0x390(%rbp), %rcx
leaq -0x150(%rbp), %rdi
leaq -0x158(%rbp), %rdx
callq 0x34d0
jmp 0x2849
leaq -0x159(%rbp), %rdi
callq 0x3550
movslq -0xa0(%rbp), %rax
movq %rax, -0x3a8(%rbp)
movq $0x0, -0x180(%rbp)
leaq -0x181(%rbp), %rdi
movq %rdi, -0x3a0(%rbp)
callq 0x34b0
movq -0x3a8(%rbp), %rsi
movq -0x3a0(%rbp), %rcx
leaq -0x178(%rbp), %rdi
leaq -0x180(%rbp), %rdx
callq 0x34d0
jmp 0x28a4
leaq -0x181(%rbp), %rdi
callq 0x3550
movslq -0xa0(%rbp), %rax
movq %rax, -0x3b8(%rbp)
movq $0x0, -0x1a8(%rbp)
leaq -0x1a9(%rbp), %rdi
movq %rdi, -0x3b0(%rbp)
callq 0x34b0
movq -0x3b8(%rbp), %rsi
movq -0x3b0(%rbp), %rcx
leaq -0x1a0(%rbp), %rdi
leaq -0x1a8(%rbp), %rdx
callq 0x34d0
jmp 0x28ff
leaq -0x1a9(%rbp), %rdi
callq 0x3550
cmpl $0x1, -0x9c(%rbp)
jne 0x2eb3
movq 0x86a9(%rip), %rdi      # 0xafc8
leaq 0x5706(%rip), %rsi      # 0x802c
callq 0x21f0
movq %rax, -0x3c0(%rbp)
jmp 0x2934
movq -0x3c0(%rbp), %rdi
leaq -0x38(%rbp), %rsi
callq 0x21e0
movq %rax, -0x3c8(%rbp)
jmp 0x294d
movq -0x3c8(%rbp), %rdi
movq 0x8655(%rip), %rsi      # 0xafb0
callq 0x2220
jmp 0x2962
movl -0xa0(%rbp), %edi
movsd -0x88(%rbp), %xmm0
movsd -0xb8(%rbp), %xmm1
movsd -0x60(%rbp), %xmm2
movsd -0x80(%rbp), %xmm3
movsd -0x68(%rbp), %xmm4
leaq -0x100(%rbp), %rsi
leaq -0xd8(%rbp), %rdx
callq 0x2560
leaq -0xa0(%rbp), %rdi
leaq -0x128(%rbp), %rsi
leaq -0x150(%rbp), %rdx
leaq -0x178(%rbp), %rcx
callq 0x4f60
jmp 0x29bd
movq 0x8604(%rip), %rdi      # 0xafc8
leaq 0x567d(%rip), %rsi      # 0x8048
callq 0x21f0
movq %rax, -0x3d0(%rbp)
jmp 0x29d9
movq -0x3d0(%rbp), %rdi
movq 0x85c9(%rip), %rsi      # 0xafb0
callq 0x2220
jmp 0x29ee
movq 0x85e3(%rip), %rdi      # 0xafd8
leaq -0xc0(%rbp), %rsi
callq 0x21b0
jmp 0x2a03
jmp 0x2a05
movsd -0xb8(%rbp), %xmm0
ucomisd -0xc0(%rbp), %xmm0
jb 0x2d7a
leaq -0xa0(%rbp), %rdi
leaq -0x1a0(%rbp), %rsi
leaq -0x100(%rbp), %rdx
callq 0x52e0
jmp 0x2a37
leaq -0x1e0(%rbp), %rdi
leaq -0x128(%rbp), %rsi
callq 0x3570
jmp 0x2a4c
leaq -0x1f8(%rbp), %rdi
leaq -0x150(%rbp), %rsi
callq 0x3570
jmp 0x2a61
leaq -0x210(%rbp), %rdi
leaq -0x178(%rbp), %rsi
callq 0x3570
jmp 0x2a76
leaq -0x228(%rbp), %rdi
leaq -0x1a0(%rbp), %rsi
callq 0x3570
jmp 0x2a8b
leaq -0x38(%rbp), %rsi
leaq -0x248(%rbp), %rdi
callq 0x20d0
jmp 0x2a9d
movsd -0x50(%rbp), %xmm0
leaq -0x1c8(%rbp), %rdi
leaq -0x1e0(%rbp), %rsi
leaq -0x1f8(%rbp), %rdx
leaq -0x210(%rbp), %rcx
leaq -0x228(%rbp), %r8
leaq -0x248(%rbp), %r9
callq 0x6d70
jmp 0x2ad3
leaq -0x100(%rbp), %rdi
leaq -0x1c8(%rbp), %rsi
callq 0x3660
leaq -0x1c8(%rbp), %rdi
callq 0x3690
leaq -0x248(%rbp), %rdi
callq 0x2120
leaq -0x228(%rbp), %rdi
callq 0x3690
leaq -0x210(%rbp), %rdi
callq 0x3690
leaq -0x1f8(%rbp), %rdi
callq 0x3690
leaq -0x1e0(%rbp), %rdi
callq 0x3690
movsd 0x54e2(%rip), %xmm0     # 0x8018
mulsd -0x68(%rbp), %xmm0
movsd -0x88(%rbp), %xmm1
cvtsi2sdl -0xa0(%rbp), %xmm2
divsd %xmm2, %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0x3d8(%rbp)
leaq -0x100(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x3490
movsd -0x3d8(%rbp), %xmm0
movsd (%rax), %xmm2
movsd -0x80(%rbp), %xmm1
mulsd -0x60(%rbp), %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd -0x80(%rbp), %xmm1
movsd 0x5482(%rip), %xmm2     # 0x8018
mulsd -0x68(%rbp), %xmm2
movsd -0x88(%rbp), %xmm3
cvtsi2sdl -0xa0(%rbp), %xmm4
divsd %xmm4, %xmm3
divsd %xmm3, %xmm2
addsd %xmm2, %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0xb8(%rbp)
movl -0xb0(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xb0(%rbp)
jmp 0x2a05
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa8(%rbp)
movl %eax, -0xac(%rbp)
jmp 0x346c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa8(%rbp)
movl %eax, -0xac(%rbp)
leaq -0xe1(%rbp), %rdi
callq 0x3550
jmp 0x346c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa8(%rbp)
movl %eax, -0xac(%rbp)
leaq -0x109(%rbp), %rdi
callq 0x3550
jmp 0x3460
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa8(%rbp)
movl %eax, -0xac(%rbp)
leaq -0x131(%rbp), %rdi
callq 0x3550
jmp 0x3454
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa8(%rbp)
movl %eax, -0xac(%rbp)
leaq -0x159(%rbp), %rdi
callq 0x3550
jmp 0x3448
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa8(%rbp)
movl %eax, -0xac(%rbp)
leaq -0x181(%rbp), %rdi
callq 0x3550
jmp 0x343c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa8(%rbp)
movl %eax, -0xac(%rbp)
leaq -0x1a9(%rbp), %rdi
callq 0x3550
jmp 0x3430
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa8(%rbp)
movl %eax, -0xac(%rbp)
jmp 0x3424
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa8(%rbp)
movl %eax, -0xac(%rbp)
jmp 0x2d69
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa8(%rbp)
movl %eax, -0xac(%rbp)
jmp 0x2d5d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa8(%rbp)
movl %eax, -0xac(%rbp)
jmp 0x2d51
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa8(%rbp)
movl %eax, -0xac(%rbp)
jmp 0x2d45
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa8(%rbp)
movl %eax, -0xac(%rbp)
leaq -0x248(%rbp), %rdi
callq 0x2120
leaq -0x228(%rbp), %rdi
callq 0x3690
leaq -0x210(%rbp), %rdi
callq 0x3690
leaq -0x1f8(%rbp), %rdi
callq 0x3690
leaq -0x1e0(%rbp), %rdi
callq 0x3690
jmp 0x3424
movq 0x8247(%rip), %rdi      # 0xafc8
leaq 0x52da(%rip), %rsi      # 0x8062
callq 0x21f0
movq %rax, -0x3e0(%rbp)
jmp 0x2d96
movq -0x3e0(%rbp), %rdi
cvtsi2sdl -0xb0(%rbp), %xmm0
movsd -0x90(%rbp), %xmm1
mulsd %xmm1, %xmm0
callq 0x2390
movq %rax, -0x3e8(%rbp)
jmp 0x2dbf
movq -0x3e8(%rbp), %rdi
leaq 0x529d(%rip), %rsi      # 0x806a
callq 0x21f0
movq %rax, -0x3f0(%rbp)
jmp 0x2ddb
movq -0x3f0(%rbp), %rdi
movsd -0xb8(%rbp), %xmm0
callq 0x2390
movq %rax, -0x3f8(%rbp)
jmp 0x2df8
movq -0x3f8(%rbp), %rdi
movq 0x81aa(%rip), %rsi      # 0xafb0
callq 0x2220
jmp 0x2e0d
leaq -0x260(%rbp), %rdi
leaq -0xd8(%rbp), %rsi
callq 0x3570
jmp 0x2e22
leaq -0x278(%rbp), %rdi
leaq -0x100(%rbp), %rsi
callq 0x3570
jmp 0x2e37
leaq -0xa0(%rbp), %rdi
leaq -0x260(%rbp), %rsi
leaq -0x278(%rbp), %rdx
callq 0x4de0
jmp 0x2e53
leaq -0x278(%rbp), %rdi
callq 0x3690
leaq -0x260(%rbp), %rdi
callq 0x3690
jmp 0x3336
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa8(%rbp)
movl %eax, -0xac(%rbp)
jmp 0x2ea2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa8(%rbp)
movl %eax, -0xac(%rbp)
leaq -0x278(%rbp), %rdi
callq 0x3690
leaq -0x260(%rbp), %rdi
callq 0x3690
jmp 0x3424
movq 0x810e(%rip), %rdi      # 0xafc8
leaq 0x516d(%rip), %rsi      # 0x802e
callq 0x21f0
movq %rax, -0x400(%rbp)
jmp 0x2ecf
movq -0x400(%rbp), %rdi
leaq -0x38(%rbp), %rsi
callq 0x21e0
movq %rax, -0x408(%rbp)
jmp 0x2ee8
movq -0x408(%rbp), %rdi
movq 0x80ba(%rip), %rsi      # 0xafb0
callq 0x2220
jmp 0x2efd
movl -0xa0(%rbp), %edi
movsd -0x88(%rbp), %xmm0
movsd -0xb8(%rbp), %xmm1
movsd -0x60(%rbp), %xmm2
movsd -0x80(%rbp), %xmm3
movsd -0x68(%rbp), %xmm4
leaq -0x100(%rbp), %rsi
leaq -0xd8(%rbp), %rdx
callq 0x2560
leaq -0xa0(%rbp), %rdi
leaq -0x128(%rbp), %rsi
leaq -0x150(%rbp), %rdx
leaq -0x178(%rbp), %rcx
callq 0x4f60
jmp 0x2f58
leaq -0xa0(%rbp), %rdi
leaq -0x1a0(%rbp), %rsi
leaq -0x100(%rbp), %rdx
callq 0x52e0
jmp 0x2f74
leaq -0x2a8(%rbp), %rdi
leaq -0x128(%rbp), %rsi
callq 0x3570
jmp 0x2f89
leaq -0x2c0(%rbp), %rdi
leaq -0x150(%rbp), %rsi
callq 0x3570
jmp 0x2f9e
leaq -0x2d8(%rbp), %rdi
leaq -0x178(%rbp), %rsi
callq 0x3570
jmp 0x2fb3
leaq -0x2f0(%rbp), %rdi
leaq -0x1a0(%rbp), %rsi
callq 0x3570
jmp 0x2fc8
leaq -0x38(%rbp), %rsi
leaq -0x310(%rbp), %rdi
callq 0x20d0
jmp 0x2fda
movsd -0x50(%rbp), %xmm0
leaq -0x290(%rbp), %rdi
leaq -0x2a8(%rbp), %rsi
leaq -0x2c0(%rbp), %rdx
leaq -0x2d8(%rbp), %rcx
leaq -0x2f0(%rbp), %r8
leaq -0x310(%rbp), %r9
callq 0x6d70
jmp 0x3010
leaq -0x100(%rbp), %rdi
movq %rdi, -0x428(%rbp)
leaq -0x290(%rbp), %rsi
movq %rsi, -0x438(%rbp)
callq 0x3660
movq -0x438(%rbp), %rdi
callq 0x3690
leaq -0x310(%rbp), %rdi
callq 0x2120
leaq -0x2f0(%rbp), %rdi
callq 0x3690
leaq -0x2d8(%rbp), %rdi
callq 0x3690
leaq -0x2c0(%rbp), %rdi
callq 0x3690
leaq -0x2a8(%rbp), %rdi
callq 0x3690
movq -0x428(%rbp), %rdi
movsd -0x60(%rbp), %xmm0
movsd %xmm0, -0x430(%rbp)
xorl %eax, %eax
movl %eax, %esi
callq 0x3490
movsd -0x430(%rbp), %xmm0
movq -0x428(%rbp), %rdi
movsd (%rax), %xmm1
subsd %xmm1, %xmm0
movsd -0x88(%rbp), %xmm2
movsd -0x80(%rbp), %xmm3
movsd 0x4f46(%rip), %xmm1     # 0x8008
movsd %xmm1, -0x418(%rbp)
divsd %xmm3, %xmm1
cvtsi2sdl -0xa0(%rbp), %xmm3
divsd %xmm3, %xmm2
movsd -0x68(%rbp), %xmm3
addsd %xmm3, %xmm3
divsd %xmm3, %xmm2
addsd %xmm2, %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0x318(%rbp)
movsd -0x58(%rbp), %xmm0
movsd %xmm0, -0x420(%rbp)
movl -0xa0(%rbp), %eax
decl %eax
movslq %eax, %rsi
callq 0x3490
movsd -0x420(%rbp), %xmm2
movsd -0x418(%rbp), %xmm1
movsd (%rax), %xmm0
subsd %xmm2, %xmm0
movsd -0x88(%rbp), %xmm2
movsd -0x78(%rbp), %xmm3
divsd %xmm3, %xmm1
cvtsi2sdl -0xa0(%rbp), %xmm3
divsd %xmm3, %xmm2
movsd -0x68(%rbp), %xmm3
addsd %xmm3, %xmm3
divsd %xmm3, %xmm2
addsd %xmm2, %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0x320(%rbp)
movq 0x7e5b(%rip), %rdi      # 0xafc8
leaq 0x4efd(%rip), %rsi      # 0x8071
callq 0x21f0
movq %rax, -0x410(%rbp)
jmp 0x3182
movq -0x410(%rbp), %rdi
movsd -0x318(%rbp), %xmm0
callq 0x2390
movq %rax, -0x440(%rbp)
jmp 0x319f
movq -0x440(%rbp), %rdi
leaq 0x4ed3(%rip), %rsi      # 0x8080
callq 0x21f0
movq %rax, -0x448(%rbp)
jmp 0x31bb
movq -0x448(%rbp), %rdi
movsd -0x320(%rbp), %xmm0
callq 0x2390
movq %rax, -0x450(%rbp)
jmp 0x31d8
movq -0x450(%rbp), %rdi
movq 0x7dca(%rip), %rsi      # 0xafb0
callq 0x2220
jmp 0x31ed
leaq -0x338(%rbp), %rdi
leaq -0xd8(%rbp), %rsi
callq 0x3570
jmp 0x3202
leaq -0x350(%rbp), %rdi
leaq -0x100(%rbp), %rsi
callq 0x3570
jmp 0x3217
leaq -0xa0(%rbp), %rdi
leaq -0x338(%rbp), %rsi
leaq -0x350(%rbp), %rdx
callq 0x4de0
jmp 0x3233
leaq -0x350(%rbp), %rdi
callq 0x3690
leaq -0x338(%rbp), %rdi
callq 0x3690
jmp 0x3336
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa8(%rbp)
movl %eax, -0xac(%rbp)
jmp 0x32e2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa8(%rbp)
movl %eax, -0xac(%rbp)
jmp 0x32d6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa8(%rbp)
movl %eax, -0xac(%rbp)
jmp 0x32ca
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa8(%rbp)
movl %eax, -0xac(%rbp)
jmp 0x32be
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa8(%rbp)
movl %eax, -0xac(%rbp)
leaq -0x310(%rbp), %rdi
callq 0x2120
leaq -0x2f0(%rbp), %rdi
callq 0x3690
leaq -0x2d8(%rbp), %rdi
callq 0x3690
leaq -0x2c0(%rbp), %rdi
callq 0x3690
leaq -0x2a8(%rbp), %rdi
callq 0x3690
jmp 0x3424
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa8(%rbp)
movl %eax, -0xac(%rbp)
jmp 0x3325
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa8(%rbp)
movl %eax, -0xac(%rbp)
leaq -0x350(%rbp), %rdi
callq 0x3690
leaq -0x338(%rbp), %rdi
callq 0x3690
jmp 0x3424
callq 0x2130
movq %rax, -0x18(%rbp)
movq 0x7c82(%rip), %rdi      # 0xafc8
leaq 0x4d44(%rip), %rsi      # 0x8091
callq 0x21f0
movq %rax, -0x458(%rbp)
jmp 0x335b
movq -0x458(%rbp), %rdi
movq -0x18(%rbp), %rax
movq -0x10(%rbp), %rcx
subq %rcx, %rax
cvtsi2sd %rax, %xmm0
movsd 0x4c96(%rip), %xmm1     # 0x8010
divsd %xmm1, %xmm0
callq 0x2390
movq %rax, -0x460(%rbp)
jmp 0x338c
movq -0x460(%rbp), %rdi
leaq 0x4d09(%rip), %rsi      # 0x80a3
callq 0x21f0
movq %rax, -0x468(%rbp)
jmp 0x33a8
movq -0x468(%rbp), %rdi
movq 0x7bfa(%rip), %rsi      # 0xafb0
callq 0x2220
jmp 0x33bd
movl $0x0, -0x4(%rbp)
leaq -0x1a0(%rbp), %rdi
callq 0x3690
leaq -0x178(%rbp), %rdi
callq 0x3690
leaq -0x150(%rbp), %rdi
callq 0x3690
leaq -0x128(%rbp), %rdi
callq 0x3690
leaq -0x100(%rbp), %rdi
callq 0x3690
leaq -0xd8(%rbp), %rdi
callq 0x3690
leaq -0xa0(%rbp), %rdi
callq 0x4540
movl -0x4(%rbp), %eax
addq $0x470, %rsp            # imm = 0x470
popq %rbp
retq
leaq -0x1a0(%rbp), %rdi
callq 0x3690
leaq -0x178(%rbp), %rdi
callq 0x3690
leaq -0x150(%rbp), %rdi
callq 0x3690
leaq -0x128(%rbp), %rdi
callq 0x3690
leaq -0x100(%rbp), %rdi
callq 0x3690
leaq -0xd8(%rbp), %rdi
callq 0x3690
leaq -0xa0(%rbp), %rdi
callq 0x4540
movq -0xa8(%rbp), %rdi
callq 0x2350
nopw %cs:(%rax,%rax)
nop