// File: /workspace/github_c_makefile_star2_O0/zecoxao[P]ps3_decrypt_tools/lib/aes.c
// Function: aes_crypt_ecb
int aes_crypt_ecb(aes_context *ctx,
        int mode,
        const unsigned char input[16],
        unsigned char output[16]) {
    int i;
    unsigned long *RK, X0, X1, X2, X3, Y0, Y1, Y2, Y3;

    RK = ctx->rk;

    GET_ULONG_LE(X0, input, 0);
    X0 ^= *RK++;
    GET_ULONG_LE(X1, input, 4);
    X1 ^= *RK++;
    GET_ULONG_LE(X2, input, 8);
    X2 ^= *RK++;
    GET_ULONG_LE(X3, input, 12);
    X3 ^= *RK++;

    if (mode == AES_DECRYPT) {
        for (i = (ctx->nr >> 1) - 1; i > 0; i--) {
            AES_RROUND(Y0, Y1, Y2, Y3, X0, X1, X2, X3);
            AES_RROUND(X0, X1, X2, X3, Y0, Y1, Y2, Y3);
        }

        AES_RROUND(Y0, Y1, Y2, Y3, X0, X1, X2, X3);

        X0 = *RK++ ^ \
                ((unsigned long) RSb[ (Y0) & 0xFF ]) ^
                ((unsigned long) RSb[ (Y3 >> 8) & 0xFF ] << 8) ^
                ((unsigned long) RSb[ (Y2 >> 16) & 0xFF ] << 16) ^
                ((unsigned long) RSb[ (Y1 >> 24) & 0xFF ] << 24);

        X1 = *RK++ ^ \
                ((unsigned long) RSb[ (Y1) & 0xFF ]) ^
                ((unsigned long) RSb[ (Y0 >> 8) & 0xFF ] << 8) ^
                ((unsigned long) RSb[ (Y3 >> 16) & 0xFF ] << 16) ^
                ((unsigned long) RSb[ (Y2 >> 24) & 0xFF ] << 24);

        X2 = *RK++ ^ \
                ((unsigned long) RSb[ (Y2) & 0xFF ]) ^
                ((unsigned long) RSb[ (Y1 >> 8) & 0xFF ] << 8) ^
                ((unsigned long) RSb[ (Y0 >> 16) & 0xFF ] << 16) ^
                ((unsigned long) RSb[ (Y3 >> 24) & 0xFF ] << 24);

        X3 = *RK++ ^ \
                ((unsigned long) RSb[ (Y3) & 0xFF ]) ^
                ((unsigned long) RSb[ (Y2 >> 8) & 0xFF ] << 8) ^
                ((unsigned long) RSb[ (Y1 >> 16) & 0xFF ] << 16) ^
                ((unsigned long) RSb[ (Y0 >> 24) & 0xFF ] << 24);
    } else /* AES_ENCRYPT */ {
        for (i = (ctx->nr >> 1) - 1; i > 0; i--) {
            AES_FROUND(Y0, Y1, Y2, Y3, X0, X1, X2, X3);
            AES_FROUND(X0, X1, X2, X3, Y0, Y1, Y2, Y3);
        }

        AES_FROUND(Y0, Y1, Y2, Y3, X0, X1, X2, X3);

        X0 = *RK++ ^ \
                ((unsigned long) FSb[ (Y0) & 0xFF ]) ^
                ((unsigned long) FSb[ (Y1 >> 8) & 0xFF ] << 8) ^
                ((unsigned long) FSb[ (Y2 >> 16) & 0xFF ] << 16) ^
                ((unsigned long) FSb[ (Y3 >> 24) & 0xFF ] << 24);

        X1 = *RK++ ^ \
                ((unsigned long) FSb[ (Y1) & 0xFF ]) ^
                ((unsigned long) FSb[ (Y2 >> 8) & 0xFF ] << 8) ^
                ((unsigned long) FSb[ (Y3 >> 16) & 0xFF ] << 16) ^
                ((unsigned long) FSb[ (Y0 >> 24) & 0xFF ] << 24);

        X2 = *RK++ ^ \
                ((unsigned long) FSb[ (Y2) & 0xFF ]) ^
                ((unsigned long) FSb[ (Y3 >> 8) & 0xFF ] << 8) ^
                ((unsigned long) FSb[ (Y0 >> 16) & 0xFF ] << 16) ^
                ((unsigned long) FSb[ (Y1 >> 24) & 0xFF ] << 24);

        X3 = *RK++ ^ \
                ((unsigned long) FSb[ (Y3) & 0xFF ]) ^
                ((unsigned long) FSb[ (Y0 >> 8) & 0xFF ] << 8) ^
                ((unsigned long) FSb[ (Y1 >> 16) & 0xFF ] << 16) ^
                ((unsigned long) FSb[ (Y2 >> 24) & 0xFF ] << 24);
    }

    PUT_ULONG_LE(X0, output, 0);
    PUT_ULONG_LE(X1, output, 4);
    PUT_ULONG_LE(X2, output, 8);
    PUT_ULONG_LE(X3, output, 12);

    return ( 0);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x30(%rbp)
movq -0x18(%rbp), %rax
movzbl (%rax), %eax
movq -0x18(%rbp), %rcx
movzbl 0x1(%rcx), %ecx
shlq $0x8, %rcx
orq %rcx, %rax
movq -0x18(%rbp), %rcx
movzbl 0x2(%rcx), %ecx
shlq $0x10, %rcx
orq %rcx, %rax
movq -0x18(%rbp), %rcx
movzbl 0x3(%rcx), %ecx
shlq $0x18, %rcx
orq %rcx, %rax
movq %rax, -0x38(%rbp)
movq -0x30(%rbp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, -0x30(%rbp)
movq (%rax), %rax
xorq -0x38(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x18(%rbp), %rax
movzbl 0x4(%rax), %eax
movq -0x18(%rbp), %rcx
movzbl 0x5(%rcx), %ecx
shlq $0x8, %rcx
orq %rcx, %rax
movq -0x18(%rbp), %rcx
movzbl 0x6(%rcx), %ecx
shlq $0x10, %rcx
orq %rcx, %rax
movq -0x18(%rbp), %rcx
movzbl 0x7(%rcx), %ecx
shlq $0x18, %rcx
orq %rcx, %rax
movq %rax, -0x40(%rbp)
movq -0x30(%rbp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, -0x30(%rbp)
movq (%rax), %rax
xorq -0x40(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x18(%rbp), %rax
movzbl 0x8(%rax), %eax
movq -0x18(%rbp), %rcx
movzbl 0x9(%rcx), %ecx
shlq $0x8, %rcx
orq %rcx, %rax
movq -0x18(%rbp), %rcx
movzbl 0xa(%rcx), %ecx
shlq $0x10, %rcx
orq %rcx, %rax
movq -0x18(%rbp), %rcx
movzbl 0xb(%rcx), %ecx
shlq $0x18, %rcx
orq %rcx, %rax
movq %rax, -0x48(%rbp)
movq -0x30(%rbp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, -0x30(%rbp)
movq (%rax), %rax
xorq -0x48(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x18(%rbp), %rax
movzbl 0xc(%rax), %eax
movq -0x18(%rbp), %rcx
movzbl 0xd(%rcx), %ecx
shlq $0x8, %rcx
orq %rcx, %rax
movq -0x18(%rbp), %rcx
movzbl 0xe(%rcx), %ecx
shlq $0x10, %rcx
orq %rcx, %rax
movq -0x18(%rbp), %rcx
movzbl 0xf(%rcx), %ecx
shlq $0x18, %rcx
orq %rcx, %rax
movq %rax, -0x50(%rbp)
movq -0x30(%rbp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, -0x30(%rbp)
movq (%rax), %rax
xorq -0x50(%rbp), %rax
movq %rax, -0x50(%rbp)
cmpl $0x0, -0xc(%rbp)
jne 0x257f
movq -0x8(%rbp), %rax
movl (%rax), %eax
sarl %eax
subl $0x1, %eax
movl %eax, -0x24(%rbp)
cmpl $0x0, -0x24(%rbp)
jle 0x214a
movq -0x30(%rbp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, -0x30(%rbp)
movq (%rax), %rax
movq -0x38(%rbp), %rdx
andq $0xff, %rdx
leaq 0xa3d0(%rip), %rcx      # 0xc160
xorq (%rcx,%rdx,8), %rax
movq -0x50(%rbp), %rdx
shrq $0x8, %rdx
andq $0xff, %rdx
leaq 0xabb6(%rip), %rcx      # 0xc960
xorq (%rcx,%rdx,8), %rax
movq -0x48(%rbp), %rdx
shrq $0x10, %rdx
andq $0xff, %rdx
leaq 0xb39c(%rip), %rcx      # 0xd160
xorq (%rcx,%rdx,8), %rax
movq -0x40(%rbp), %rdx
shrq $0x18, %rdx
andq $0xff, %rdx
leaq 0xbb82(%rip), %rcx      # 0xd960
xorq (%rcx,%rdx,8), %rax
movq %rax, -0x58(%rbp)
movq -0x30(%rbp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, -0x30(%rbp)
movq (%rax), %rax
movq -0x40(%rbp), %rdx
andq $0xff, %rdx
leaq 0xa356(%rip), %rcx      # 0xc160
xorq (%rcx,%rdx,8), %rax
movq -0x38(%rbp), %rdx
shrq $0x8, %rdx
andq $0xff, %rdx
leaq 0xab3c(%rip), %rcx      # 0xc960
xorq (%rcx,%rdx,8), %rax
movq -0x50(%rbp), %rdx
shrq $0x10, %rdx
andq $0xff, %rdx
leaq 0xb322(%rip), %rcx      # 0xd160
xorq (%rcx,%rdx,8), %rax
movq -0x48(%rbp), %rdx
shrq $0x18, %rdx
andq $0xff, %rdx
leaq 0xbb08(%rip), %rcx      # 0xd960
xorq (%rcx,%rdx,8), %rax
movq %rax, -0x60(%rbp)
movq -0x30(%rbp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, -0x30(%rbp)
movq (%rax), %rax
movq -0x48(%rbp), %rdx
andq $0xff, %rdx
leaq 0xa2dc(%rip), %rcx      # 0xc160
xorq (%rcx,%rdx,8), %rax
movq -0x40(%rbp), %rdx
shrq $0x8, %rdx
andq $0xff, %rdx
leaq 0xaac2(%rip), %rcx      # 0xc960
xorq (%rcx,%rdx,8), %rax
movq -0x38(%rbp), %rdx
shrq $0x10, %rdx
andq $0xff, %rdx
leaq 0xb2a8(%rip), %rcx      # 0xd160
xorq (%rcx,%rdx,8), %rax
movq -0x50(%rbp), %rdx
shrq $0x18, %rdx
andq $0xff, %rdx
leaq 0xba8e(%rip), %rcx      # 0xd960
xorq (%rcx,%rdx,8), %rax
movq %rax, -0x68(%rbp)
movq -0x30(%rbp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, -0x30(%rbp)
movq (%rax), %rax
movq -0x50(%rbp), %rdx
andq $0xff, %rdx
leaq 0xa262(%rip), %rcx      # 0xc160
xorq (%rcx,%rdx,8), %rax
movq -0x48(%rbp), %rdx
shrq $0x8, %rdx
andq $0xff, %rdx
leaq 0xaa48(%rip), %rcx      # 0xc960
xorq (%rcx,%rdx,8), %rax
movq -0x40(%rbp), %rdx
shrq $0x10, %rdx
andq $0xff, %rdx
leaq 0xb22e(%rip), %rcx      # 0xd160
xorq (%rcx,%rdx,8), %rax
movq -0x38(%rbp), %rdx
shrq $0x18, %rdx
andq $0xff, %rdx
leaq 0xba14(%rip), %rcx      # 0xd960
xorq (%rcx,%rdx,8), %rax
movq %rax, -0x70(%rbp)
movq -0x30(%rbp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, -0x30(%rbp)
movq (%rax), %rax
movq -0x58(%rbp), %rdx
andq $0xff, %rdx
leaq 0xa1e8(%rip), %rcx      # 0xc160
xorq (%rcx,%rdx,8), %rax
movq -0x70(%rbp), %rdx
shrq $0x8, %rdx
andq $0xff, %rdx
leaq 0xa9ce(%rip), %rcx      # 0xc960
xorq (%rcx,%rdx,8), %rax
movq -0x68(%rbp), %rdx
shrq $0x10, %rdx
andq $0xff, %rdx
leaq 0xb1b4(%rip), %rcx      # 0xd160
xorq (%rcx,%rdx,8), %rax
movq -0x60(%rbp), %rdx
shrq $0x18, %rdx
andq $0xff, %rdx
leaq 0xb99a(%rip), %rcx      # 0xd960
xorq (%rcx,%rdx,8), %rax
movq %rax, -0x38(%rbp)
movq -0x30(%rbp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, -0x30(%rbp)
movq (%rax), %rax
movq -0x60(%rbp), %rdx
andq $0xff, %rdx
leaq 0xa16e(%rip), %rcx      # 0xc160
xorq (%rcx,%rdx,8), %rax
movq -0x58(%rbp), %rdx
shrq $0x8, %rdx
andq $0xff, %rdx
leaq 0xa954(%rip), %rcx      # 0xc960
xorq (%rcx,%rdx,8), %rax
movq -0x70(%rbp), %rdx
shrq $0x10, %rdx
andq $0xff, %rdx
leaq 0xb13a(%rip), %rcx      # 0xd160
xorq (%rcx,%rdx,8), %rax
movq -0x68(%rbp), %rdx
shrq $0x18, %rdx
andq $0xff, %rdx
leaq 0xb920(%rip), %rcx      # 0xd960
xorq (%rcx,%rdx,8), %rax
movq %rax, -0x40(%rbp)
movq -0x30(%rbp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, -0x30(%rbp)
movq (%rax), %rax
movq -0x68(%rbp), %rdx
andq $0xff, %rdx
leaq 0xa0f4(%rip), %rcx      # 0xc160
xorq (%rcx,%rdx,8), %rax
movq -0x60(%rbp), %rdx
shrq $0x8, %rdx
andq $0xff, %rdx
leaq 0xa8da(%rip), %rcx      # 0xc960
xorq (%rcx,%rdx,8), %rax
movq -0x58(%rbp), %rdx
shrq $0x10, %rdx
andq $0xff, %rdx
leaq 0xb0c0(%rip), %rcx      # 0xd160
xorq (%rcx,%rdx,8), %rax
movq -0x70(%rbp), %rdx
shrq $0x18, %rdx
andq $0xff, %rdx
leaq 0xb8a6(%rip), %rcx      # 0xd960
xorq (%rcx,%rdx,8), %rax
movq %rax, -0x48(%rbp)
movq -0x30(%rbp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, -0x30(%rbp)
movq (%rax), %rax
movq -0x70(%rbp), %rdx
andq $0xff, %rdx
leaq 0xa07a(%rip), %rcx      # 0xc160
xorq (%rcx,%rdx,8), %rax
movq -0x68(%rbp), %rdx
shrq $0x8, %rdx
andq $0xff, %rdx
leaq 0xa860(%rip), %rcx      # 0xc960
xorq (%rcx,%rdx,8), %rax
movq -0x60(%rbp), %rdx
shrq $0x10, %rdx
andq $0xff, %rdx
leaq 0xb046(%rip), %rcx      # 0xd160
xorq (%rcx,%rdx,8), %rax
movq -0x58(%rbp), %rdx
shrq $0x18, %rdx
andq $0xff, %rdx
leaq 0xb82c(%rip), %rcx      # 0xd960
xorq (%rcx,%rdx,8), %rax
movq %rax, -0x50(%rbp)
movl -0x24(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x24(%rbp)
jmp 0x1d62
movq -0x30(%rbp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, -0x30(%rbp)
movq (%rax), %rax
movq -0x38(%rbp), %rdx
andq $0xff, %rdx
leaq 0x9ff2(%rip), %rcx      # 0xc160
xorq (%rcx,%rdx,8), %rax
movq -0x50(%rbp), %rdx
shrq $0x8, %rdx
andq $0xff, %rdx
leaq 0xa7d8(%rip), %rcx      # 0xc960
xorq (%rcx,%rdx,8), %rax
movq -0x48(%rbp), %rdx
shrq $0x10, %rdx
andq $0xff, %rdx
leaq 0xafbe(%rip), %rcx      # 0xd160
xorq (%rcx,%rdx,8), %rax
movq -0x40(%rbp), %rdx
shrq $0x18, %rdx
andq $0xff, %rdx
leaq 0xb7a4(%rip), %rcx      # 0xd960
xorq (%rcx,%rdx,8), %rax
movq %rax, -0x58(%rbp)
movq -0x30(%rbp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, -0x30(%rbp)
movq (%rax), %rax
movq -0x40(%rbp), %rdx
andq $0xff, %rdx
leaq 0x9f78(%rip), %rcx      # 0xc160
xorq (%rcx,%rdx,8), %rax
movq -0x38(%rbp), %rdx
shrq $0x8, %rdx
andq $0xff, %rdx
leaq 0xa75e(%rip), %rcx      # 0xc960
xorq (%rcx,%rdx,8), %rax
movq -0x50(%rbp), %rdx
shrq $0x10, %rdx
andq $0xff, %rdx
leaq 0xaf44(%rip), %rcx      # 0xd160
xorq (%rcx,%rdx,8), %rax
movq -0x48(%rbp), %rdx
shrq $0x18, %rdx
andq $0xff, %rdx
leaq 0xb72a(%rip), %rcx      # 0xd960
xorq (%rcx,%rdx,8), %rax
movq %rax, -0x60(%rbp)
movq -0x30(%rbp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, -0x30(%rbp)
movq (%rax), %rax
movq -0x48(%rbp), %rdx
andq $0xff, %rdx
leaq 0x9efe(%rip), %rcx      # 0xc160
xorq (%rcx,%rdx,8), %rax
movq -0x40(%rbp), %rdx
shrq $0x8, %rdx
andq $0xff, %rdx
leaq 0xa6e4(%rip), %rcx      # 0xc960
xorq (%rcx,%rdx,8), %rax
movq -0x38(%rbp), %rdx
shrq $0x10, %rdx
andq $0xff, %rdx
leaq 0xaeca(%rip), %rcx      # 0xd160
xorq (%rcx,%rdx,8), %rax
movq -0x50(%rbp), %rdx
shrq $0x18, %rdx
andq $0xff, %rdx
leaq 0xb6b0(%rip), %rcx      # 0xd960
xorq (%rcx,%rdx,8), %rax
movq %rax, -0x68(%rbp)
movq -0x30(%rbp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, -0x30(%rbp)
movq (%rax), %rax
movq -0x50(%rbp), %rdx
andq $0xff, %rdx
leaq 0x9e84(%rip), %rcx      # 0xc160
xorq (%rcx,%rdx,8), %rax
movq -0x48(%rbp), %rdx
shrq $0x8, %rdx
andq $0xff, %rdx
leaq 0xa66a(%rip), %rcx      # 0xc960
xorq (%rcx,%rdx,8), %rax
movq -0x40(%rbp), %rdx
shrq $0x10, %rdx
andq $0xff, %rdx
leaq 0xae50(%rip), %rcx      # 0xd160
xorq (%rcx,%rdx,8), %rax
movq -0x38(%rbp), %rdx
shrq $0x18, %rdx
andq $0xff, %rdx
leaq 0xb636(%rip), %rcx      # 0xd960
xorq (%rcx,%rdx,8), %rax
movq %rax, -0x70(%rbp)
movq -0x30(%rbp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, -0x30(%rbp)
movq (%rax), %rax
movq -0x58(%rbp), %rdx
andq $0xff, %rdx
leaq 0xbe0a(%rip), %rcx      # 0xe160
movzbl (%rcx,%rdx), %ecx
xorq %rcx, %rax
movq -0x70(%rbp), %rdx
shrq $0x8, %rdx
andq $0xff, %rdx
leaq 0xbded(%rip), %rcx      # 0xe160
movzbl (%rcx,%rdx), %ecx
shlq $0x8, %rcx
xorq %rcx, %rax
movq -0x68(%rbp), %rdx
shrq $0x10, %rdx
andq $0xff, %rdx
leaq 0xbdcc(%rip), %rcx      # 0xe160
movzbl (%rcx,%rdx), %ecx
shlq $0x10, %rcx
xorq %rcx, %rax
movq -0x60(%rbp), %rdx
shrq $0x18, %rdx
andq $0xff, %rdx
leaq 0xbdab(%rip), %rcx      # 0xe160
movzbl (%rcx,%rdx), %ecx
shlq $0x18, %rcx
xorq %rcx, %rax
movq %rax, -0x38(%rbp)
movq -0x30(%rbp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, -0x30(%rbp)
movq (%rax), %rax
movq -0x60(%rbp), %rdx
andq $0xff, %rdx
leaq 0xbd78(%rip), %rcx      # 0xe160
movzbl (%rcx,%rdx), %ecx
xorq %rcx, %rax
movq -0x58(%rbp), %rdx
shrq $0x8, %rdx
andq $0xff, %rdx
leaq 0xbd5b(%rip), %rcx      # 0xe160
movzbl (%rcx,%rdx), %ecx
shlq $0x8, %rcx
xorq %rcx, %rax
movq -0x70(%rbp), %rdx
shrq $0x10, %rdx
andq $0xff, %rdx
leaq 0xbd3a(%rip), %rcx      # 0xe160
movzbl (%rcx,%rdx), %ecx
shlq $0x10, %rcx
xorq %rcx, %rax
movq -0x68(%rbp), %rdx
shrq $0x18, %rdx
andq $0xff, %rdx
leaq 0xbd19(%rip), %rcx      # 0xe160
movzbl (%rcx,%rdx), %ecx
shlq $0x18, %rcx
xorq %rcx, %rax
movq %rax, -0x40(%rbp)
movq -0x30(%rbp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, -0x30(%rbp)
movq (%rax), %rax
movq -0x68(%rbp), %rdx
andq $0xff, %rdx
leaq 0xbce6(%rip), %rcx      # 0xe160
movzbl (%rcx,%rdx), %ecx
xorq %rcx, %rax
movq -0x60(%rbp), %rdx
shrq $0x8, %rdx
andq $0xff, %rdx
leaq 0xbcc9(%rip), %rcx      # 0xe160
movzbl (%rcx,%rdx), %ecx
shlq $0x8, %rcx
xorq %rcx, %rax
movq -0x58(%rbp), %rdx
shrq $0x10, %rdx
andq $0xff, %rdx
leaq 0xbca8(%rip), %rcx      # 0xe160
movzbl (%rcx,%rdx), %ecx
shlq $0x10, %rcx
xorq %rcx, %rax
movq -0x70(%rbp), %rdx
shrq $0x18, %rdx
andq $0xff, %rdx
leaq 0xbc87(%rip), %rcx      # 0xe160
movzbl (%rcx,%rdx), %ecx
shlq $0x18, %rcx
xorq %rcx, %rax
movq %rax, -0x48(%rbp)
movq -0x30(%rbp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, -0x30(%rbp)
movq (%rax), %rax
movq -0x70(%rbp), %rdx
andq $0xff, %rdx
leaq 0xbc54(%rip), %rcx      # 0xe160
movzbl (%rcx,%rdx), %ecx
xorq %rcx, %rax
movq -0x68(%rbp), %rdx
shrq $0x8, %rdx
andq $0xff, %rdx
leaq 0xbc37(%rip), %rcx      # 0xe160
movzbl (%rcx,%rdx), %ecx
shlq $0x8, %rcx
xorq %rcx, %rax
movq -0x60(%rbp), %rdx
shrq $0x10, %rdx
andq $0xff, %rdx
leaq 0xbc16(%rip), %rcx      # 0xe160
movzbl (%rcx,%rdx), %ecx
shlq $0x10, %rcx
xorq %rcx, %rax
movq -0x58(%rbp), %rdx
shrq $0x18, %rdx
andq $0xff, %rdx
leaq 0xbbf5(%rip), %rcx      # 0xe160
movzbl (%rcx,%rdx), %ecx
shlq $0x18, %rcx
xorq %rcx, %rax
movq %rax, -0x50(%rbp)
jmp 0x2da5
movq -0x8(%rbp), %rax
movl (%rax), %eax
sarl %eax
subl $0x1, %eax
movl %eax, -0x24(%rbp)
cmpl $0x0, -0x24(%rbp)
jle 0x2975
movq -0x30(%rbp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, -0x30(%rbp)
movq (%rax), %rax
movq -0x38(%rbp), %rdx
andq $0xff, %rdx
leaq 0xbca5(%rip), %rcx      # 0xe260
xorq (%rcx,%rdx,8), %rax
movq -0x40(%rbp), %rdx
shrq $0x8, %rdx
andq $0xff, %rdx
leaq 0xc48b(%rip), %rcx      # 0xea60
xorq (%rcx,%rdx,8), %rax
movq -0x48(%rbp), %rdx
shrq $0x10, %rdx
andq $0xff, %rdx
leaq 0xcc71(%rip), %rcx      # 0xf260
xorq (%rcx,%rdx,8), %rax
movq -0x50(%rbp), %rdx
shrq $0x18, %rdx
andq $0xff, %rdx
leaq 0xd457(%rip), %rcx      # 0xfa60
xorq (%rcx,%rdx,8), %rax
movq %rax, -0x58(%rbp)
movq -0x30(%rbp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, -0x30(%rbp)
movq (%rax), %rax
movq -0x40(%rbp), %rdx
andq $0xff, %rdx
leaq 0xbc2b(%rip), %rcx      # 0xe260
xorq (%rcx,%rdx,8), %rax
movq -0x48(%rbp), %rdx
shrq $0x8, %rdx
andq $0xff, %rdx
leaq 0xc411(%rip), %rcx      # 0xea60
xorq (%rcx,%rdx,8), %rax
movq -0x50(%rbp), %rdx
shrq $0x10, %rdx
andq $0xff, %rdx
leaq 0xcbf7(%rip), %rcx      # 0xf260
xorq (%rcx,%rdx,8), %rax
movq -0x38(%rbp), %rdx
shrq $0x18, %rdx
andq $0xff, %rdx
leaq 0xd3dd(%rip), %rcx      # 0xfa60
xorq (%rcx,%rdx,8), %rax
movq %rax, -0x60(%rbp)
movq -0x30(%rbp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, -0x30(%rbp)
movq (%rax), %rax
movq -0x48(%rbp), %rdx
andq $0xff, %rdx
leaq 0xbbb1(%rip), %rcx      # 0xe260
xorq (%rcx,%rdx,8), %rax
movq -0x50(%rbp), %rdx
shrq $0x8, %rdx
andq $0xff, %rdx
leaq 0xc397(%rip), %rcx      # 0xea60
xorq (%rcx,%rdx,8), %rax
movq -0x38(%rbp), %rdx
shrq $0x10, %rdx
andq $0xff, %rdx
leaq 0xcb7d(%rip), %rcx      # 0xf260
xorq (%rcx,%rdx,8), %rax
movq -0x40(%rbp), %rdx
shrq $0x18, %rdx
andq $0xff, %rdx
leaq 0xd363(%rip), %rcx      # 0xfa60
xorq (%rcx,%rdx,8), %rax
movq %rax, -0x68(%rbp)
movq -0x30(%rbp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, -0x30(%rbp)
movq (%rax), %rax
movq -0x50(%rbp), %rdx
andq $0xff, %rdx
leaq 0xbb37(%rip), %rcx      # 0xe260
xorq (%rcx,%rdx,8), %rax
movq -0x38(%rbp), %rdx
shrq $0x8, %rdx
andq $0xff, %rdx
leaq 0xc31d(%rip), %rcx      # 0xea60
xorq (%rcx,%rdx,8), %rax
movq -0x40(%rbp), %rdx
shrq $0x10, %rdx
andq $0xff, %rdx
leaq 0xcb03(%rip), %rcx      # 0xf260
xorq (%rcx,%rdx,8), %rax
movq -0x48(%rbp), %rdx
shrq $0x18, %rdx
andq $0xff, %rdx
leaq 0xd2e9(%rip), %rcx      # 0xfa60
xorq (%rcx,%rdx,8), %rax
movq %rax, -0x70(%rbp)
movq -0x30(%rbp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, -0x30(%rbp)
movq (%rax), %rax
movq -0x58(%rbp), %rdx
andq $0xff, %rdx
leaq 0xbabd(%rip), %rcx      # 0xe260
xorq (%rcx,%rdx,8), %rax
movq -0x60(%rbp), %rdx
shrq $0x8, %rdx
andq $0xff, %rdx
leaq 0xc2a3(%rip), %rcx      # 0xea60
xorq (%rcx,%rdx,8), %rax
movq -0x68(%rbp), %rdx
shrq $0x10, %rdx
andq $0xff, %rdx
leaq 0xca89(%rip), %rcx      # 0xf260
xorq (%rcx,%rdx,8), %rax
movq -0x70(%rbp), %rdx
shrq $0x18, %rdx
andq $0xff, %rdx
leaq 0xd26f(%rip), %rcx      # 0xfa60
xorq (%rcx,%rdx,8), %rax
movq %rax, -0x38(%rbp)
movq -0x30(%rbp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, -0x30(%rbp)
movq (%rax), %rax
movq -0x60(%rbp), %rdx
andq $0xff, %rdx
leaq 0xba43(%rip), %rcx      # 0xe260
xorq (%rcx,%rdx,8), %rax
movq -0x68(%rbp), %rdx
shrq $0x8, %rdx
andq $0xff, %rdx
leaq 0xc229(%rip), %rcx      # 0xea60
xorq (%rcx,%rdx,8), %rax
movq -0x70(%rbp), %rdx
shrq $0x10, %rdx
andq $0xff, %rdx
leaq 0xca0f(%rip), %rcx      # 0xf260
xorq (%rcx,%rdx,8), %rax
movq -0x58(%rbp), %rdx
shrq $0x18, %rdx
andq $0xff, %rdx
leaq 0xd1f5(%rip), %rcx      # 0xfa60
xorq (%rcx,%rdx,8), %rax
movq %rax, -0x40(%rbp)
movq -0x30(%rbp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, -0x30(%rbp)
movq (%rax), %rax
movq -0x68(%rbp), %rdx
andq $0xff, %rdx
leaq 0xb9c9(%rip), %rcx      # 0xe260
xorq (%rcx,%rdx,8), %rax
movq -0x70(%rbp), %rdx
shrq $0x8, %rdx
andq $0xff, %rdx
leaq 0xc1af(%rip), %rcx      # 0xea60
xorq (%rcx,%rdx,8), %rax
movq -0x58(%rbp), %rdx
shrq $0x10, %rdx
andq $0xff, %rdx
leaq 0xc995(%rip), %rcx      # 0xf260
xorq (%rcx,%rdx,8), %rax
movq -0x60(%rbp), %rdx
shrq $0x18, %rdx
andq $0xff, %rdx
leaq 0xd17b(%rip), %rcx      # 0xfa60
xorq (%rcx,%rdx,8), %rax
movq %rax, -0x48(%rbp)
movq -0x30(%rbp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, -0x30(%rbp)
movq (%rax), %rax
movq -0x70(%rbp), %rdx
andq $0xff, %rdx
leaq 0xb94f(%rip), %rcx      # 0xe260
xorq (%rcx,%rdx,8), %rax
movq -0x58(%rbp), %rdx
shrq $0x8, %rdx
andq $0xff, %rdx
leaq 0xc135(%rip), %rcx      # 0xea60
xorq (%rcx,%rdx,8), %rax
movq -0x60(%rbp), %rdx
shrq $0x10, %rdx
andq $0xff, %rdx
leaq 0xc91b(%rip), %rcx      # 0xf260
xorq (%rcx,%rdx,8), %rax
movq -0x68(%rbp), %rdx
shrq $0x18, %rdx
andq $0xff, %rdx
leaq 0xd101(%rip), %rcx      # 0xfa60
xorq (%rcx,%rdx,8), %rax
movq %rax, -0x50(%rbp)
movl -0x24(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x24(%rbp)
jmp 0x258d
movq -0x30(%rbp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, -0x30(%rbp)
movq (%rax), %rax
movq -0x38(%rbp), %rdx
andq $0xff, %rdx
leaq 0xb8c7(%rip), %rcx      # 0xe260
xorq (%rcx,%rdx,8), %rax
movq -0x40(%rbp), %rdx
shrq $0x8, %rdx
andq $0xff, %rdx
leaq 0xc0ad(%rip), %rcx      # 0xea60
xorq (%rcx,%rdx,8), %rax
movq -0x48(%rbp), %rdx
shrq $0x10, %rdx
andq $0xff, %rdx
leaq 0xc893(%rip), %rcx      # 0xf260
xorq (%rcx,%rdx,8), %rax
movq -0x50(%rbp), %rdx
shrq $0x18, %rdx
andq $0xff, %rdx
leaq 0xd079(%rip), %rcx      # 0xfa60
xorq (%rcx,%rdx,8), %rax
movq %rax, -0x58(%rbp)
movq -0x30(%rbp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, -0x30(%rbp)
movq (%rax), %rax
movq -0x40(%rbp), %rdx
andq $0xff, %rdx
leaq 0xb84d(%rip), %rcx      # 0xe260
xorq (%rcx,%rdx,8), %rax
movq -0x48(%rbp), %rdx
shrq $0x8, %rdx
andq $0xff, %rdx
leaq 0xc033(%rip), %rcx      # 0xea60
xorq (%rcx,%rdx,8), %rax
movq -0x50(%rbp), %rdx
shrq $0x10, %rdx
andq $0xff, %rdx
leaq 0xc819(%rip), %rcx      # 0xf260
xorq (%rcx,%rdx,8), %rax
movq -0x38(%rbp), %rdx
shrq $0x18, %rdx
andq $0xff, %rdx
leaq 0xcfff(%rip), %rcx      # 0xfa60
xorq (%rcx,%rdx,8), %rax
movq %rax, -0x60(%rbp)
movq -0x30(%rbp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, -0x30(%rbp)
movq (%rax), %rax
movq -0x48(%rbp), %rdx
andq $0xff, %rdx
leaq 0xb7d3(%rip), %rcx      # 0xe260
xorq (%rcx,%rdx,8), %rax
movq -0x50(%rbp), %rdx
shrq $0x8, %rdx
andq $0xff, %rdx
leaq 0xbfb9(%rip), %rcx      # 0xea60
xorq (%rcx,%rdx,8), %rax
movq -0x38(%rbp), %rdx
shrq $0x10, %rdx
andq $0xff, %rdx
leaq 0xc79f(%rip), %rcx      # 0xf260
xorq (%rcx,%rdx,8), %rax
movq -0x40(%rbp), %rdx
shrq $0x18, %rdx
andq $0xff, %rdx
leaq 0xcf85(%rip), %rcx      # 0xfa60
xorq (%rcx,%rdx,8), %rax
movq %rax, -0x68(%rbp)
movq -0x30(%rbp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, -0x30(%rbp)
movq (%rax), %rax
movq -0x50(%rbp), %rdx
andq $0xff, %rdx
leaq 0xb759(%rip), %rcx      # 0xe260
xorq (%rcx,%rdx,8), %rax
movq -0x38(%rbp), %rdx
shrq $0x8, %rdx
andq $0xff, %rdx
leaq 0xbf3f(%rip), %rcx      # 0xea60
xorq (%rcx,%rdx,8), %rax
movq -0x40(%rbp), %rdx
shrq $0x10, %rdx
andq $0xff, %rdx
leaq 0xc725(%rip), %rcx      # 0xf260
xorq (%rcx,%rdx,8), %rax
movq -0x48(%rbp), %rdx
shrq $0x18, %rdx
andq $0xff, %rdx
leaq 0xcf0b(%rip), %rcx      # 0xfa60
xorq (%rcx,%rdx,8), %rax
movq %rax, -0x70(%rbp)
movq -0x30(%rbp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, -0x30(%rbp)
movq (%rax), %rax
movq -0x58(%rbp), %rdx
andq $0xff, %rdx
leaq 0x94df(%rip), %rcx      # 0xc060
movzbl (%rcx,%rdx), %ecx
xorq %rcx, %rax
movq -0x60(%rbp), %rdx
shrq $0x8, %rdx
andq $0xff, %rdx
leaq 0x94c2(%rip), %rcx      # 0xc060
movzbl (%rcx,%rdx), %ecx
shlq $0x8, %rcx
xorq %rcx, %rax
movq -0x68(%rbp), %rdx
shrq $0x10, %rdx
andq $0xff, %rdx
leaq 0x94a1(%rip), %rcx      # 0xc060
movzbl (%rcx,%rdx), %ecx
shlq $0x10, %rcx
xorq %rcx, %rax
movq -0x70(%rbp), %rdx
shrq $0x18, %rdx
andq $0xff, %rdx
leaq 0x9480(%rip), %rcx      # 0xc060
movzbl (%rcx,%rdx), %ecx
shlq $0x18, %rcx
xorq %rcx, %rax
movq %rax, -0x38(%rbp)
movq -0x30(%rbp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, -0x30(%rbp)
movq (%rax), %rax
movq -0x60(%rbp), %rdx
andq $0xff, %rdx
leaq 0x944d(%rip), %rcx      # 0xc060
movzbl (%rcx,%rdx), %ecx
xorq %rcx, %rax
movq -0x68(%rbp), %rdx
shrq $0x8, %rdx
andq $0xff, %rdx
leaq 0x9430(%rip), %rcx      # 0xc060
movzbl (%rcx,%rdx), %ecx
shlq $0x8, %rcx
xorq %rcx, %rax
movq -0x70(%rbp), %rdx
shrq $0x10, %rdx
andq $0xff, %rdx
leaq 0x940f(%rip), %rcx      # 0xc060
movzbl (%rcx,%rdx), %ecx
shlq $0x10, %rcx
xorq %rcx, %rax
movq -0x58(%rbp), %rdx
shrq $0x18, %rdx
andq $0xff, %rdx
leaq 0x93ee(%rip), %rcx      # 0xc060
movzbl (%rcx,%rdx), %ecx
shlq $0x18, %rcx
xorq %rcx, %rax
movq %rax, -0x40(%rbp)
movq -0x30(%rbp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, -0x30(%rbp)
movq (%rax), %rax
movq -0x68(%rbp), %rdx
andq $0xff, %rdx
leaq 0x93bb(%rip), %rcx      # 0xc060
movzbl (%rcx,%rdx), %ecx
xorq %rcx, %rax
movq -0x70(%rbp), %rdx
shrq $0x8, %rdx
andq $0xff, %rdx
leaq 0x939e(%rip), %rcx      # 0xc060
movzbl (%rcx,%rdx), %ecx
shlq $0x8, %rcx
xorq %rcx, %rax
movq -0x58(%rbp), %rdx
shrq $0x10, %rdx
andq $0xff, %rdx
leaq 0x937d(%rip), %rcx      # 0xc060
movzbl (%rcx,%rdx), %ecx
shlq $0x10, %rcx
xorq %rcx, %rax
movq -0x60(%rbp), %rdx
shrq $0x18, %rdx
andq $0xff, %rdx
leaq 0x935c(%rip), %rcx      # 0xc060
movzbl (%rcx,%rdx), %ecx
shlq $0x18, %rcx
xorq %rcx, %rax
movq %rax, -0x48(%rbp)
movq -0x30(%rbp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, -0x30(%rbp)
movq (%rax), %rax
movq -0x70(%rbp), %rdx
andq $0xff, %rdx
leaq 0x9329(%rip), %rcx      # 0xc060
movzbl (%rcx,%rdx), %ecx
xorq %rcx, %rax
movq -0x58(%rbp), %rdx
shrq $0x8, %rdx
andq $0xff, %rdx
leaq 0x930c(%rip), %rcx      # 0xc060
movzbl (%rcx,%rdx), %ecx
shlq $0x8, %rcx
xorq %rcx, %rax
movq -0x60(%rbp), %rdx
shrq $0x10, %rdx
andq $0xff, %rdx
leaq 0x92eb(%rip), %rcx      # 0xc060
movzbl (%rcx,%rdx), %ecx
shlq $0x10, %rcx
xorq %rcx, %rax
movq -0x68(%rbp), %rdx
shrq $0x18, %rdx
andq $0xff, %rdx
leaq 0x92ca(%rip), %rcx      # 0xc060
movzbl (%rcx,%rdx), %ecx
shlq $0x18, %rcx
xorq %rcx, %rax
movq %rax, -0x50(%rbp)
movq -0x38(%rbp), %rax
movb %al, %cl
movq -0x20(%rbp), %rax
movb %cl, (%rax)
movq -0x38(%rbp), %rax
shrq $0x8, %rax
movb %al, %cl
movq -0x20(%rbp), %rax
movb %cl, 0x1(%rax)
movq -0x38(%rbp), %rax
shrq $0x10, %rax
movb %al, %cl
movq -0x20(%rbp), %rax
movb %cl, 0x2(%rax)
movq -0x38(%rbp), %rax
shrq $0x18, %rax
movb %al, %cl
movq -0x20(%rbp), %rax
movb %cl, 0x3(%rax)
movq -0x40(%rbp), %rax
movb %al, %cl
movq -0x20(%rbp), %rax
movb %cl, 0x4(%rax)
movq -0x40(%rbp), %rax
shrq $0x8, %rax
movb %al, %cl
movq -0x20(%rbp), %rax
movb %cl, 0x5(%rax)
movq -0x40(%rbp), %rax
shrq $0x10, %rax
movb %al, %cl
movq -0x20(%rbp), %rax
movb %cl, 0x6(%rax)
movq -0x40(%rbp), %rax
shrq $0x18, %rax
movb %al, %cl
movq -0x20(%rbp), %rax
movb %cl, 0x7(%rax)
movq -0x48(%rbp), %rax
movb %al, %cl
movq -0x20(%rbp), %rax
movb %cl, 0x8(%rax)
movq -0x48(%rbp), %rax
shrq $0x8, %rax
movb %al, %cl
movq -0x20(%rbp), %rax
movb %cl, 0x9(%rax)
movq -0x48(%rbp), %rax
shrq $0x10, %rax
movb %al, %cl
movq -0x20(%rbp), %rax
movb %cl, 0xa(%rax)
movq -0x48(%rbp), %rax
shrq $0x18, %rax
movb %al, %cl
movq -0x20(%rbp), %rax
movb %cl, 0xb(%rax)
movq -0x50(%rbp), %rax
movb %al, %cl
movq -0x20(%rbp), %rax
movb %cl, 0xc(%rax)
movq -0x50(%rbp), %rax
shrq $0x8, %rax
movb %al, %cl
movq -0x20(%rbp), %rax
movb %cl, 0xd(%rax)
movq -0x50(%rbp), %rax
shrq $0x10, %rax
movb %al, %cl
movq -0x20(%rbp), %rax
movb %cl, 0xe(%rax)
movq -0x50(%rbp), %rax
shrq $0x18, %rax
movb %al, %cl
movq -0x20(%rbp), %rax
movb %cl, 0xf(%rax)
xorl %eax, %eax
popq %rbp
retq
nopl (%rax,%rax)