// File: /workspace/github_c_makefile_star2_O0/kieselsteini[P]PiXL-old/lz4.c
// Function: LZ4_compress_fast_extState
int LZ4_compress_fast_extState(void* state, const char* source, char* dest, int inputSize, int maxOutputSize, int acceleration)
{
    LZ4_stream_t_internal* ctx = &((LZ4_stream_t*)state)->internal_donotuse;
    LZ4_resetStream((LZ4_stream_t*)state);
    if (acceleration < 1) acceleration = ACCELERATION_DEFAULT;

    if (maxOutputSize >= LZ4_compressBound(inputSize)) {
        if (inputSize < LZ4_64Klimit)
            return LZ4_compress_generic(ctx, source, dest, inputSize,             0,    notLimited,                        byU16, noDict, noDictIssue, acceleration);
        else
            return LZ4_compress_generic(ctx, source, dest, inputSize,             0,    notLimited, (sizeof(void*)==8) ? byU32 : byPtr, noDict, noDictIssue, acceleration);
    } else {
        if (inputSize < LZ4_64Klimit)
            return LZ4_compress_generic(ctx, source, dest, inputSize, maxOutputSize, limitedOutput,                        byU16, noDict, noDictIssue, acceleration);
        else
            return LZ4_compress_generic(ctx, source, dest, inputSize, maxOutputSize, limitedOutput, (sizeof(void*)==8) ? byU32 : byPtr, noDict, noDictIssue, acceleration);
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x940, %rsp            # imm = 0x940
movq %rdi, -0x870(%rbp)
movq %rsi, -0x878(%rbp)
movq %rdx, -0x880(%rbp)
movl %ecx, -0x884(%rbp)
movl %r8d, -0x888(%rbp)
movl %r9d, -0x88c(%rbp)
movq -0x870(%rbp), %rax
movq %rax, -0x898(%rbp)
movq -0x870(%rbp), %rdi
callq 0x3b060
cmpl $0x1, -0x88c(%rbp)
jge 0x36fa1
movl $0x1, -0x88c(%rbp)
movl -0x888(%rbp), %eax
movl %eax, -0x89c(%rbp)
movl -0x884(%rbp), %edi
callq 0x36ef0
movl %eax, %ecx
movl -0x89c(%rbp), %eax
cmpl %ecx, %eax
jl 0x3903c
cmpl $0x1000b, -0x884(%rbp)  # imm = 0x1000B
jge 0x38013
movq -0x898(%rbp), %rdi
movq -0x878(%rbp), %rsi
movq -0x880(%rbp), %rdx
movl -0x884(%rbp), %ecx
movl -0x88c(%rbp), %eax
movq %rdi, -0x450(%rbp)
movq %rsi, -0x458(%rbp)
movq %rdx, -0x460(%rbp)
movl %ecx, -0x464(%rbp)
movl $0x0, -0x468(%rbp)
movl $0x0, -0x46c(%rbp)
movl $0x2, -0x470(%rbp)
movl $0x0, -0x474(%rbp)
movl $0x0, -0x478(%rbp)
movl %eax, -0x47c(%rbp)
movq -0x458(%rbp), %rax
movq %rax, -0x488(%rbp)
movq -0x488(%rbp), %rax
movq -0x450(%rbp), %rcx
movl 0x4018(%rcx), %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x4a0(%rbp)
movq -0x450(%rbp), %rax
movq 0x4008(%rax), %rax
movq %rax, -0x4a8(%rbp)
movq -0x4a8(%rbp), %rax
movq -0x450(%rbp), %rcx
movl 0x4018(%rcx), %ecx
addq %rcx, %rax
movq %rax, -0x4b0(%rbp)
movq -0x4b0(%rbp), %rax
movq -0x458(%rbp), %rcx
subq %rcx, %rax
movq %rax, -0x4b8(%rbp)
movq -0x458(%rbp), %rax
movq %rax, -0x4c0(%rbp)
movq -0x488(%rbp), %rax
movslq -0x464(%rbp), %rcx
addq %rcx, %rax
movq %rax, -0x4c8(%rbp)
movq -0x4c8(%rbp), %rax
addq $-0xc, %rax
movq %rax, -0x4d0(%rbp)
movq -0x4c8(%rbp), %rax
addq $-0x5, %rax
movq %rax, -0x4d8(%rbp)
movq -0x460(%rbp), %rax
movq %rax, -0x4e0(%rbp)
movq -0x4e0(%rbp), %rax
movslq -0x468(%rbp), %rcx
addq %rcx, %rax
movq %rax, -0x4e8(%rbp)
cmpl $0x7e000000, -0x464(%rbp) # imm = 0x7E000000
jbe 0x37155
movl $0x0, -0x448(%rbp)
jmp 0x38002
movl -0x474(%rbp), %eax
movl %eax, -0x8a0(%rbp)
testl %eax, %eax
je 0x37181
jmp 0x37167
movl -0x8a0(%rbp), %eax
subl $0x1, %eax
je 0x371a1
jmp 0x37174
movl -0x8a0(%rbp), %eax
subl $0x2, %eax
je 0x371ed
jmp 0x37183
jmp 0x37183
movq -0x458(%rbp), %rax
movq %rax, -0x490(%rbp)
movq -0x458(%rbp), %rax
movq %rax, -0x498(%rbp)
jmp 0x37220
movq -0x458(%rbp), %rax
movq -0x450(%rbp), %rcx
movl 0x4000(%rcx), %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x490(%rbp)
movq -0x458(%rbp), %rax
movq -0x450(%rbp), %rcx
movl 0x4018(%rcx), %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x498(%rbp)
jmp 0x37220
movq -0x458(%rbp), %rax
movq -0x450(%rbp), %rcx
movl 0x4000(%rcx), %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x490(%rbp)
movq -0x458(%rbp), %rax
movq %rax, -0x498(%rbp)
cmpl $0x2, -0x470(%rbp)
jne 0x37244
cmpl $0x1000b, -0x464(%rbp)  # imm = 0x1000B
jl 0x37244
movl $0x0, -0x448(%rbp)
jmp 0x38002
cmpl $0xd, -0x464(%rbp)
jge 0x37252
jmp 0x37e7d
movq -0x488(%rbp), %rsi
movq -0x450(%rbp), %rdx
movl -0x470(%rbp), %ecx
movq -0x490(%rbp), %rax
movq %rsi, -0x3d8(%rbp)
movq %rdx, -0x3e0(%rbp)
movl %ecx, -0x3e4(%rbp)
movq %rax, -0x3f0(%rbp)
movq -0x3d8(%rbp), %rcx
movl -0x3e4(%rbp), %eax
movq %rcx, -0x1d0(%rbp)
movl %eax, -0x1d4(%rbp)
cmpl $0x2, -0x1d4(%rbp)
je 0x372cd
movq -0x1d0(%rbp), %rdi
callq 0x4f420
movq %rax, %rdi
movl -0x1d4(%rbp), %esi
callq 0x4f390
movl %eax, -0x1c8(%rbp)
jmp 0x372ec
movq -0x1d0(%rbp), %rdi
callq 0x4f100
movl %eax, %edi
movl -0x1d4(%rbp), %esi
callq 0x4f440
movl %eax, -0x1c8(%rbp)
movl -0x1c8(%rbp), %eax
movl %eax, -0x3f4(%rbp)
movq -0x3d8(%rbp), %rdi
movl -0x3f4(%rbp), %esi
movq -0x3e0(%rbp), %rdx
movl -0x3e4(%rbp), %ecx
movq -0x3f0(%rbp), %r8
callq 0x4f060
movq -0x488(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x488(%rbp)
movq -0x488(%rbp), %rcx
movl -0x470(%rbp), %eax
movq %rcx, -0x180(%rbp)
movl %eax, -0x184(%rbp)
cmpl $0x2, -0x184(%rbp)
je 0x37375
movq -0x180(%rbp), %rdi
callq 0x4f420
movq %rax, %rdi
movl -0x184(%rbp), %esi
callq 0x4f390
movl %eax, -0x178(%rbp)
jmp 0x37394
movq -0x180(%rbp), %rdi
callq 0x4f100
movl %eax, %edi
movl -0x184(%rbp), %esi
callq 0x4f440
movl %eax, -0x178(%rbp)
movl -0x178(%rbp), %eax
movl %eax, -0x4ec(%rbp)
movq $0x0, -0x4f8(%rbp)
movq -0x488(%rbp), %rax
movq %rax, -0x510(%rbp)
movl $0x1, -0x514(%rbp)
movl -0x47c(%rbp), %eax
shll $0x6, %eax
movl %eax, -0x518(%rbp)
movl -0x4ec(%rbp), %eax
movl %eax, -0x51c(%rbp)
movq -0x510(%rbp), %rax
movq %rax, -0x488(%rbp)
movl -0x514(%rbp), %ecx
movq -0x510(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, -0x510(%rbp)
movl -0x518(%rbp), %eax
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, -0x518(%rbp)
shrl $0x6, %eax
movl %eax, -0x514(%rbp)
movq -0x510(%rbp), %rax
cmpq -0x4d0(%rbp), %rax
seta %al
testb $0x1, %al
jne 0x37436
jmp 0x3743b
jmp 0x37e7d
movl -0x51c(%rbp), %edi
movq -0x450(%rbp), %rsi
movl -0x470(%rbp), %edx
movq -0x490(%rbp), %rcx
callq 0x4efe0
movq %rax, -0x500(%rbp)
cmpl $0x2, -0x474(%rbp)
jne 0x374b3
movq -0x500(%rbp), %rax
cmpq -0x458(%rbp), %rax
jae 0x37498
movq -0x4b8(%rbp), %rax
movq %rax, -0x4f8(%rbp)
movq -0x4a8(%rbp), %rax
movq %rax, -0x498(%rbp)
jmp 0x374b1
movq $0x0, -0x4f8(%rbp)
movq -0x458(%rbp), %rax
movq %rax, -0x498(%rbp)
jmp 0x374b3
movq -0x510(%rbp), %rcx
movl -0x470(%rbp), %eax
movq %rcx, -0x190(%rbp)
movl %eax, -0x194(%rbp)
cmpl $0x2, -0x194(%rbp)
je 0x374f8
movq -0x190(%rbp), %rdi
callq 0x4f420
movq %rax, %rdi
movl -0x194(%rbp), %esi
callq 0x4f390
movl %eax, -0x188(%rbp)
jmp 0x37517
movq -0x190(%rbp), %rdi
callq 0x4f100
movl %eax, %edi
movl -0x194(%rbp), %esi
callq 0x4f440
movl %eax, -0x188(%rbp)
movl -0x188(%rbp), %eax
movl %eax, -0x4ec(%rbp)
movq -0x488(%rbp), %rdi
movl -0x51c(%rbp), %esi
movq -0x450(%rbp), %rdx
movl -0x470(%rbp), %ecx
movq -0x490(%rbp), %r8
callq 0x4f060
cmpl $0x1, -0x478(%rbp)
jne 0x3756c
movq -0x500(%rbp), %rcx
movb $0x1, %al
cmpq -0x4a0(%rbp), %rcx
movb %al, -0x8a1(%rbp)
jb 0x375d0
jmp 0x3756e
jmp 0x3756e
cmpl $0x2, -0x470(%rbp)
jne 0x37579
jmp 0x37598
movq -0x500(%rbp), %rcx
addq $0xffff, %rcx           # imm = 0xFFFF
movb $0x1, %al
cmpq -0x488(%rbp), %rcx
movb %al, -0x8a1(%rbp)
jb 0x375d0
movq -0x500(%rbp), %rdi
addq -0x4f8(%rbp), %rdi
callq 0x4f100
movl %eax, -0x8a8(%rbp)
movq -0x488(%rbp), %rdi
callq 0x4f100
movl %eax, %ecx
movl -0x8a8(%rbp), %eax
cmpl %ecx, %eax
setne %al
movb %al, -0x8a1(%rbp)
movb -0x8a1(%rbp), %al
testb $0x1, %al
jne 0x373d2
jmp 0x375e0
movq -0x488(%rbp), %rax
cmpq -0x4c0(%rbp), %rax
seta %al
andb $0x1, %al
movzbl %al, %ecx
movq -0x500(%rbp), %rax
addq -0x4f8(%rbp), %rax
cmpq -0x498(%rbp), %rax
seta %al
andb $0x1, %al
movzbl %al, %eax
andl %eax, %ecx
xorl %eax, %eax
cmpl $0x0, %ecx
movb %al, -0x8a9(%rbp)
je 0x3764e
movq -0x488(%rbp), %rax
movzbl -0x1(%rax), %eax
movq -0x500(%rbp), %rcx
movq -0x4f8(%rbp), %rdx
subq $0x1, %rdx
movzbl (%rcx,%rdx), %ecx
cmpl %ecx, %eax
sete %al
movb %al, -0x8a9(%rbp)
movb -0x8a9(%rbp), %al
testb $0x1, %al
jne 0x3765a
jmp 0x37683
movq -0x488(%rbp), %rax
addq $-0x1, %rax
movq %rax, -0x488(%rbp)
movq -0x500(%rbp), %rax
addq $-0x1, %rax
movq %rax, -0x500(%rbp)
jmp 0x375e0
movq -0x488(%rbp), %rax
movq -0x4c0(%rbp), %rcx
subq %rcx, %rax
movl %eax, -0x520(%rbp)
movq -0x4e0(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x4e0(%rbp)
movq %rax, -0x508(%rbp)
cmpl $0x0, -0x46c(%rbp)
je 0x37716
movq -0x4e0(%rbp), %rax
movl -0x520(%rbp), %ecx
addq %rcx, %rax
addq $0x8, %rax
movq %rax, -0x8b8(%rbp)
movl -0x520(%rbp), %eax
movl $0xff, %ecx
xorl %edx, %edx
divl %ecx
movl %eax, %ecx
movq -0x8b8(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
cmpq -0x4e8(%rbp), %rax
seta %al
testb $0x1, %al
jne 0x37707
jmp 0x37716
movl $0x0, -0x448(%rbp)
jmp 0x38002
cmpl $0xf, -0x520(%rbp)
jb 0x37790
movl -0x520(%rbp), %eax
subl $0xf, %eax
movl %eax, -0x524(%rbp)
movq -0x508(%rbp), %rax
movb $-0x10, (%rax)
cmpl $0xff, -0x524(%rbp)
jl 0x3776f
movq -0x4e0(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x4e0(%rbp)
movb $-0x1, (%rax)
movl -0x524(%rbp), %eax
subl $0xff, %eax
movl %eax, -0x524(%rbp)
jmp 0x37738
movl -0x524(%rbp), %eax
movb %al, %cl
movq -0x4e0(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x4e0(%rbp)
movb %cl, (%rax)
jmp 0x377a4
movl -0x520(%rbp), %eax
shll $0x4, %eax
movb %al, %cl
movq -0x508(%rbp), %rax
movb %cl, (%rax)
movq -0x4e0(%rbp), %rdi
movq -0x4c0(%rbp), %rsi
movq -0x4e0(%rbp), %rdx
movl -0x520(%rbp), %eax
addq %rax, %rdx
callq 0x4f110
movl -0x520(%rbp), %ecx
movq -0x4e0(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, -0x4e0(%rbp)
movq -0x4e0(%rbp), %rdi
movq -0x488(%rbp), %rax
movq -0x500(%rbp), %rcx
subq %rcx, %rax
movzwl %ax, %esi
callq 0x4f180
movq -0x4e0(%rbp), %rax
addq $0x2, %rax
movq %rax, -0x4e0(%rbp)
cmpl $0x2, -0x474(%rbp)
jne 0x37929
movq -0x498(%rbp), %rax
cmpq -0x4a8(%rbp), %rax
jne 0x37929
movq -0x4f8(%rbp), %rax
addq -0x500(%rbp), %rax
movq %rax, -0x500(%rbp)
movq -0x488(%rbp), %rax
movq -0x4b0(%rbp), %rcx
movq -0x500(%rbp), %rdx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x530(%rbp)
movq -0x530(%rbp), %rax
cmpq -0x4d8(%rbp), %rax
jbe 0x37888
movq -0x4d8(%rbp), %rax
movq %rax, -0x530(%rbp)
movq -0x488(%rbp), %rdi
addq $0x4, %rdi
movq -0x500(%rbp), %rsi
addq $0x4, %rsi
movq -0x530(%rbp), %rdx
callq 0x4f1e0
movl %eax, -0x528(%rbp)
movl -0x528(%rbp), %ecx
addl $0x4, %ecx
movq -0x488(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, -0x488(%rbp)
movq -0x488(%rbp), %rax
cmpq -0x530(%rbp), %rax
jne 0x37927
movq -0x488(%rbp), %rdi
movq -0x458(%rbp), %rsi
movq -0x4d8(%rbp), %rdx
callq 0x4f1e0
movl %eax, -0x534(%rbp)
movl -0x534(%rbp), %eax
addl -0x528(%rbp), %eax
movl %eax, -0x528(%rbp)
movl -0x534(%rbp), %ecx
movq -0x488(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, -0x488(%rbp)
jmp 0x3796d
movq -0x488(%rbp), %rdi
addq $0x4, %rdi
movq -0x500(%rbp), %rsi
addq $0x4, %rsi
movq -0x4d8(%rbp), %rdx
callq 0x4f1e0
movl %eax, -0x528(%rbp)
movl -0x528(%rbp), %ecx
addl $0x4, %ecx
movq -0x488(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, -0x488(%rbp)
cmpl $0x0, -0x46c(%rbp)
je 0x379ae
movq -0x4e0(%rbp), %rax
addq $0x6, %rax
movl -0x528(%rbp), %ecx
shrl $0x8, %ecx
movl %ecx, %ecx
addq %rcx, %rax
cmpq -0x4e8(%rbp), %rax
seta %al
testb $0x1, %al
jne 0x3799f
jmp 0x379ae
movl $0x0, -0x448(%rbp)
jmp 0x38002
cmpl $0xf, -0x528(%rbp)
jb 0x37a7a
movq -0x508(%rbp), %rax
movzbl (%rax), %ecx
addl $0xf, %ecx
movb %cl, (%rax)
movl -0x528(%rbp), %eax
subl $0xf, %eax
movl %eax, -0x528(%rbp)
movq -0x4e0(%rbp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x4f370
cmpl $0x3fc, -0x528(%rbp)    # imm = 0x3FC
jb 0x37a2c
movq -0x4e0(%rbp), %rax
addq $0x4, %rax
movq %rax, -0x4e0(%rbp)
movq -0x4e0(%rbp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x4f370
movl -0x528(%rbp), %eax
subl $0x3fc, %eax            # imm = 0x3FC
movl %eax, -0x528(%rbp)
jmp 0x379ea
movl -0x528(%rbp), %eax
movl $0xff, %ecx
xorl %edx, %edx
divl %ecx
movl %eax, %ecx
movq -0x4e0(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, -0x4e0(%rbp)
movl -0x528(%rbp), %eax
movl $0xff, %ecx
xorl %edx, %edx
divl %ecx
movb %dl, %cl
movq -0x4e0(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x4e0(%rbp)
movb %cl, (%rax)
jmp 0x37a91
movl -0x528(%rbp), %eax
movzbl %al, %edx
movq -0x508(%rbp), %rax
movzbl (%rax), %ecx
addl %edx, %ecx
movb %cl, (%rax)
movq -0x488(%rbp), %rax
movq %rax, -0x4c0(%rbp)
movq -0x488(%rbp), %rax
cmpq -0x4d0(%rbp), %rax
jbe 0x37ab4
jmp 0x37e7d
movq -0x488(%rbp), %rsi
addq $-0x2, %rsi
movq -0x450(%rbp), %rdx
movl -0x470(%rbp), %ecx
movq -0x490(%rbp), %rax
movq %rsi, -0x400(%rbp)
movq %rdx, -0x408(%rbp)
movl %ecx, -0x40c(%rbp)
movq %rax, -0x418(%rbp)
movq -0x400(%rbp), %rcx
movl -0x40c(%rbp), %eax
movq %rcx, -0x1c0(%rbp)
movl %eax, -0x1c4(%rbp)
cmpl $0x2, -0x1c4(%rbp)
je 0x37b33
movq -0x1c0(%rbp), %rdi
callq 0x4f420
movq %rax, %rdi
movl -0x1c4(%rbp), %esi
callq 0x4f390
movl %eax, -0x1b8(%rbp)
jmp 0x37b52
movq -0x1c0(%rbp), %rdi
callq 0x4f100
movl %eax, %edi
movl -0x1c4(%rbp), %esi
callq 0x4f440
movl %eax, -0x1b8(%rbp)
movl -0x1b8(%rbp), %eax
movl %eax, -0x41c(%rbp)
movq -0x400(%rbp), %rdi
movl -0x41c(%rbp), %esi
movq -0x408(%rbp), %rdx
movl -0x40c(%rbp), %ecx
movq -0x418(%rbp), %r8
callq 0x4f060
movq -0x488(%rbp), %rsi
movq -0x450(%rbp), %rdx
movl -0x470(%rbp), %ecx
movq -0x490(%rbp), %rax
movq %rsi, -0xc8(%rbp)
movq %rdx, -0xd0(%rbp)
movl %ecx, -0xd4(%rbp)
movq %rax, -0xe0(%rbp)
movq -0xc8(%rbp), %rcx
movl -0xd4(%rbp), %eax
movq %rcx, -0xb8(%rbp)
movl %eax, -0xbc(%rbp)
cmpl $0x2, -0xbc(%rbp)
je 0x37bff
movq -0xb8(%rbp), %rdi
callq 0x4f420
movq %rax, %rdi
movl -0xbc(%rbp), %esi
callq 0x4f390
movl %eax, -0xb0(%rbp)
jmp 0x37c1e
movq -0xb8(%rbp), %rdi
callq 0x4f100
movl %eax, %edi
movl -0xbc(%rbp), %esi
callq 0x4f440
movl %eax, -0xb0(%rbp)
movl -0xb0(%rbp), %eax
movl %eax, -0xe4(%rbp)
movl -0xe4(%rbp), %edi
movq -0xd0(%rbp), %rsi
movl -0xd4(%rbp), %edx
movq -0xe0(%rbp), %rcx
callq 0x4efe0
movq %rax, -0x500(%rbp)
cmpl $0x2, -0x474(%rbp)
jne 0x37ca2
movq -0x500(%rbp), %rax
cmpq -0x458(%rbp), %rax
jae 0x37c87
movq -0x4b8(%rbp), %rax
movq %rax, -0x4f8(%rbp)
movq -0x4a8(%rbp), %rax
movq %rax, -0x498(%rbp)
jmp 0x37ca0
movq $0x0, -0x4f8(%rbp)
movq -0x458(%rbp), %rax
movq %rax, -0x498(%rbp)
jmp 0x37ca2
movq -0x488(%rbp), %rsi
movq -0x450(%rbp), %rdx
movl -0x470(%rbp), %ecx
movq -0x490(%rbp), %rax
movq %rsi, -0x428(%rbp)
movq %rdx, -0x430(%rbp)
movl %ecx, -0x434(%rbp)
movq %rax, -0x440(%rbp)
movq -0x428(%rbp), %rcx
movl -0x434(%rbp), %eax
movq %rcx, -0x1b0(%rbp)
movl %eax, -0x1b4(%rbp)
cmpl $0x2, -0x1b4(%rbp)
je 0x37d1d
movq -0x1b0(%rbp), %rdi
callq 0x4f420
movq %rax, %rdi
movl -0x1b4(%rbp), %esi
callq 0x4f390
movl %eax, -0x1a8(%rbp)
jmp 0x37d3c
movq -0x1b0(%rbp), %rdi
callq 0x4f100
movl %eax, %edi
movl -0x1b4(%rbp), %esi
callq 0x4f440
movl %eax, -0x1a8(%rbp)
movl -0x1a8(%rbp), %eax
movl %eax, -0x444(%rbp)
movq -0x428(%rbp), %rdi
movl -0x444(%rbp), %esi
movq -0x430(%rbp), %rdx
movl -0x434(%rbp), %ecx
movq -0x440(%rbp), %r8
callq 0x4f060
cmpl $0x1, -0x478(%rbp)
jne 0x37d89
movq -0x500(%rbp), %rax
cmpq -0x4a0(%rbp), %rax
jae 0x37d8b
jmp 0x37dfd
jmp 0x37d8b
movq -0x500(%rbp), %rax
addq $0xffff, %rax           # imm = 0xFFFF
cmpq -0x488(%rbp), %rax
jb 0x37dfd
movq -0x500(%rbp), %rdi
addq -0x4f8(%rbp), %rdi
callq 0x4f100
movl %eax, -0x8bc(%rbp)
movq -0x488(%rbp), %rdi
callq 0x4f100
movl %eax, %ecx
movl -0x8bc(%rbp), %eax
cmpl %ecx, %eax
jne 0x37dfd
movq -0x4e0(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x4e0(%rbp)
movq %rax, -0x508(%rbp)
movq -0x508(%rbp), %rax
movb $0x0, (%rax)
jmp 0x377e0
movq -0x488(%rbp), %rcx
addq $0x1, %rcx
movq %rcx, -0x488(%rbp)
movl -0x470(%rbp), %eax
movq %rcx, -0x1a0(%rbp)
movl %eax, -0x1a4(%rbp)
cmpl $0x2, -0x1a4(%rbp)
je 0x37e4d
movq -0x1a0(%rbp), %rdi
callq 0x4f420
movq %rax, %rdi
movl -0x1a4(%rbp), %esi
callq 0x4f390
movl %eax, -0x198(%rbp)
jmp 0x37e6c
movq -0x1a0(%rbp), %rdi
callq 0x4f100
movl %eax, %edi
movl -0x1a4(%rbp), %esi
callq 0x4f440
movl %eax, -0x198(%rbp)
movl -0x198(%rbp), %eax
movl %eax, -0x4ec(%rbp)
jmp 0x373a0
movq -0x4c8(%rbp), %rax
movq -0x4c0(%rbp), %rcx
subq %rcx, %rax
movq %rax, -0x540(%rbp)
cmpl $0x0, -0x46c(%rbp)
je 0x37f03
movq -0x4e0(%rbp), %rax
movq -0x460(%rbp), %rcx
subq %rcx, %rax
addq -0x540(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x8c8(%rbp)
movq -0x540(%rbp), %rax
addq $0xff, %rax
subq $0xf, %rax
movl $0xff, %ecx
xorl %edx, %edx
divq %rcx
movq %rax, %rcx
movq -0x8c8(%rbp), %rax
addq %rcx, %rax
movl -0x468(%rbp), %ecx
cmpq %rcx, %rax
jbe 0x37f03
movl $0x0, -0x448(%rbp)
jmp 0x38002
cmpq $0xf, -0x540(%rbp)
jb 0x37f98
movq -0x540(%rbp), %rax
subq $0xf, %rax
movq %rax, -0x548(%rbp)
movq -0x4e0(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x4e0(%rbp)
movb $-0x10, (%rax)
cmpq $0xff, -0x548(%rbp)
jb 0x37f76
movq -0x4e0(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x4e0(%rbp)
movb $-0x1, (%rax)
movq -0x548(%rbp), %rax
subq $0xff, %rax
movq %rax, -0x548(%rbp)
jmp 0x37f3b
movq -0x548(%rbp), %rax
movb %al, %cl
movq -0x4e0(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x4e0(%rbp)
movb %cl, (%rax)
jmp 0x37fbc
movq -0x540(%rbp), %rax
shlq $0x4, %rax
movb %al, %cl
movq -0x4e0(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x4e0(%rbp)
movb %cl, (%rax)
movq -0x4e0(%rbp), %rdi
movq -0x4c0(%rbp), %rsi
movq -0x540(%rbp), %rdx
callq 0x6410
movq -0x540(%rbp), %rax
addq -0x4e0(%rbp), %rax
movq %rax, -0x4e0(%rbp)
movq -0x4e0(%rbp), %rax
movq -0x460(%rbp), %rcx
subq %rcx, %rax
movl %eax, -0x448(%rbp)
movl -0x448(%rbp), %eax
movl %eax, -0x864(%rbp)
jmp 0x3b043
movq -0x898(%rbp), %rdi
movq -0x878(%rbp), %rsi
movq -0x880(%rbp), %rdx
movl -0x884(%rbp), %ecx
movl -0x88c(%rbp), %eax
movq %rdi, -0x558(%rbp)
movq %rsi, -0x560(%rbp)
movq %rdx, -0x568(%rbp)
movl %ecx, -0x56c(%rbp)
movl $0x0, -0x570(%rbp)
movl $0x0, -0x574(%rbp)
movl $0x1, -0x578(%rbp)
movl $0x0, -0x57c(%rbp)
movl $0x0, -0x580(%rbp)
movl %eax, -0x584(%rbp)
movq -0x560(%rbp), %rax
movq %rax, -0x590(%rbp)
movq -0x590(%rbp), %rax
movq -0x558(%rbp), %rcx
movl 0x4018(%rcx), %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x5a8(%rbp)
movq -0x558(%rbp), %rax
movq 0x4008(%rax), %rax
movq %rax, -0x5b0(%rbp)
movq -0x5b0(%rbp), %rax
movq -0x558(%rbp), %rcx
movl 0x4018(%rcx), %ecx
addq %rcx, %rax
movq %rax, -0x5b8(%rbp)
movq -0x5b8(%rbp), %rax
movq -0x560(%rbp), %rcx
subq %rcx, %rax
movq %rax, -0x5c0(%rbp)
movq -0x560(%rbp), %rax
movq %rax, -0x5c8(%rbp)
movq -0x590(%rbp), %rax
movslq -0x56c(%rbp), %rcx
addq %rcx, %rax
movq %rax, -0x5d0(%rbp)
movq -0x5d0(%rbp), %rax
addq $-0xc, %rax
movq %rax, -0x5d8(%rbp)
movq -0x5d0(%rbp), %rax
addq $-0x5, %rax
movq %rax, -0x5e0(%rbp)
movq -0x568(%rbp), %rax
movq %rax, -0x5e8(%rbp)
movq -0x5e8(%rbp), %rax
movslq -0x570(%rbp), %rcx
addq %rcx, %rax
movq %rax, -0x5f0(%rbp)
cmpl $0x7e000000, -0x56c(%rbp) # imm = 0x7E000000
jbe 0x38190
movl $0x0, -0x54c(%rbp)
jmp 0x3902b
movl -0x57c(%rbp), %eax
movl %eax, -0x8cc(%rbp)
testl %eax, %eax
je 0x381bc
jmp 0x381a2
movl -0x8cc(%rbp), %eax
subl $0x1, %eax
je 0x381dc
jmp 0x381af
movl -0x8cc(%rbp), %eax
subl $0x2, %eax
je 0x38228
jmp 0x381be
jmp 0x381be
movq -0x560(%rbp), %rax
movq %rax, -0x598(%rbp)
movq -0x560(%rbp), %rax
movq %rax, -0x5a0(%rbp)
jmp 0x3825b
movq -0x560(%rbp), %rax
movq -0x558(%rbp), %rcx
movl 0x4000(%rcx), %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x598(%rbp)
movq -0x560(%rbp), %rax
movq -0x558(%rbp), %rcx
movl 0x4018(%rcx), %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x5a0(%rbp)
jmp 0x3825b
movq -0x560(%rbp), %rax
movq -0x558(%rbp), %rcx
movl 0x4000(%rcx), %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x598(%rbp)
movq -0x560(%rbp), %rax
movq %rax, -0x5a0(%rbp)
cmpl $0x2, -0x578(%rbp)
jne 0x3827f
cmpl $0x1000b, -0x56c(%rbp)  # imm = 0x1000B
jl 0x3827f
movl $0x0, -0x54c(%rbp)
jmp 0x3902b
cmpl $0xd, -0x56c(%rbp)
jge 0x3828d
jmp 0x38ea6
movq -0x590(%rbp), %rsi
movq -0x558(%rbp), %rdx
movl -0x578(%rbp), %ecx
movq -0x598(%rbp), %rax
movq %rsi, -0x360(%rbp)
movq %rdx, -0x368(%rbp)
movl %ecx, -0x36c(%rbp)
movq %rax, -0x378(%rbp)
movq -0x360(%rbp), %rcx
movl -0x36c(%rbp), %eax
movq %rcx, -0x200(%rbp)
movl %eax, -0x204(%rbp)
cmpl $0x2, -0x204(%rbp)
je 0x38308
movq -0x200(%rbp), %rdi
callq 0x4f420
movq %rax, %rdi
movl -0x204(%rbp), %esi
callq 0x4f390
movl %eax, -0x1f8(%rbp)
jmp 0x38327
movq -0x200(%rbp), %rdi
callq 0x4f100
movl %eax, %edi
movl -0x204(%rbp), %esi
callq 0x4f440
movl %eax, -0x1f8(%rbp)
movl -0x1f8(%rbp), %eax
movl %eax, -0x37c(%rbp)
movq -0x360(%rbp), %rdi
movl -0x37c(%rbp), %esi
movq -0x368(%rbp), %rdx
movl -0x36c(%rbp), %ecx
movq -0x378(%rbp), %r8
callq 0x4f060
movq -0x590(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x590(%rbp)
movq -0x590(%rbp), %rcx
movl -0x578(%rbp), %eax
movq %rcx, -0x150(%rbp)
movl %eax, -0x154(%rbp)
cmpl $0x2, -0x154(%rbp)
je 0x383b0
movq -0x150(%rbp), %rdi
callq 0x4f420
movq %rax, %rdi
movl -0x154(%rbp), %esi
callq 0x4f390
movl %eax, -0x148(%rbp)
jmp 0x383cf
movq -0x150(%rbp), %rdi
callq 0x4f100
movl %eax, %edi
movl -0x154(%rbp), %esi
callq 0x4f440
movl %eax, -0x148(%rbp)
movl -0x148(%rbp), %eax
movl %eax, -0x5f4(%rbp)
movq $0x0, -0x600(%rbp)
movq -0x590(%rbp), %rax
movq %rax, -0x618(%rbp)
movl $0x1, -0x61c(%rbp)
movl -0x584(%rbp), %eax
shll $0x6, %eax
movl %eax, -0x620(%rbp)
movl -0x5f4(%rbp), %eax
movl %eax, -0x624(%rbp)
movq -0x618(%rbp), %rax
movq %rax, -0x590(%rbp)
movl -0x61c(%rbp), %ecx
movq -0x618(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, -0x618(%rbp)
movl -0x620(%rbp), %eax
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, -0x620(%rbp)
shrl $0x6, %eax
movl %eax, -0x61c(%rbp)
movq -0x618(%rbp), %rax
cmpq -0x5d8(%rbp), %rax
seta %al
testb $0x1, %al
jne 0x38471
jmp 0x38476
jmp 0x38ea6
movl -0x624(%rbp), %edi
movq -0x558(%rbp), %rsi
movl -0x578(%rbp), %edx
movq -0x598(%rbp), %rcx
callq 0x4efe0
movq %rax, -0x608(%rbp)
cmpl $0x2, -0x57c(%rbp)
jne 0x384ee
movq -0x608(%rbp), %rax
cmpq -0x560(%rbp), %rax
jae 0x384d3
movq -0x5c0(%rbp), %rax
movq %rax, -0x600(%rbp)
movq -0x5b0(%rbp), %rax
movq %rax, -0x5a0(%rbp)
jmp 0x384ec
movq $0x0, -0x600(%rbp)
movq -0x560(%rbp), %rax
movq %rax, -0x5a0(%rbp)
jmp 0x384ee
movq -0x618(%rbp), %rcx
movl -0x578(%rbp), %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
cmpl $0x2, -0x164(%rbp)
je 0x38533
movq -0x160(%rbp), %rdi
callq 0x4f420
movq %rax, %rdi
movl -0x164(%rbp), %esi
callq 0x4f390
movl %eax, -0x158(%rbp)
jmp 0x38552
movq -0x160(%rbp), %rdi
callq 0x4f100
movl %eax, %edi
movl -0x164(%rbp), %esi
callq 0x4f440
movl %eax, -0x158(%rbp)
movl -0x158(%rbp), %eax
movl %eax, -0x5f4(%rbp)
movq -0x590(%rbp), %rdi
movl -0x624(%rbp), %esi
movq -0x558(%rbp), %rdx
movl -0x578(%rbp), %ecx
movq -0x598(%rbp), %r8
callq 0x4f060
cmpl $0x1, -0x580(%rbp)
jne 0x385a7
movq -0x608(%rbp), %rcx
movb $0x1, %al
cmpq -0x5a8(%rbp), %rcx
movb %al, -0x8cd(%rbp)
jb 0x3860b
jmp 0x385a9
jmp 0x385a9
cmpl $0x2, -0x578(%rbp)
jne 0x385b4
jmp 0x385d3
movq -0x608(%rbp), %rcx
addq $0xffff, %rcx           # imm = 0xFFFF
movb $0x1, %al
cmpq -0x590(%rbp), %rcx
movb %al, -0x8cd(%rbp)
jb 0x3860b
movq -0x608(%rbp), %rdi
addq -0x600(%rbp), %rdi
callq 0x4f100
movl %eax, -0x8d4(%rbp)
movq -0x590(%rbp), %rdi
callq 0x4f100
movl %eax, %ecx
movl -0x8d4(%rbp), %eax
cmpl %ecx, %eax
setne %al
movb %al, -0x8cd(%rbp)
movb -0x8cd(%rbp), %al
testb $0x1, %al
jne 0x3840d
jmp 0x3861b
movq -0x590(%rbp), %rax
cmpq -0x5c8(%rbp), %rax
seta %al
andb $0x1, %al
movzbl %al, %ecx
movq -0x608(%rbp), %rax
addq -0x600(%rbp), %rax
cmpq -0x5a0(%rbp), %rax
seta %al
andb $0x1, %al
movzbl %al, %eax
andl %eax, %ecx
xorl %eax, %eax
cmpl $0x0, %ecx
movb %al, -0x8d5(%rbp)
je 0x38689
movq -0x590(%rbp), %rax
movzbl -0x1(%rax), %eax
movq -0x608(%rbp), %rcx
movq -0x600(%rbp), %rdx
subq $0x1, %rdx
movzbl (%rcx,%rdx), %ecx
cmpl %ecx, %eax
sete %al
movb %al, -0x8d5(%rbp)
movb -0x8d5(%rbp), %al
testb $0x1, %al
jne 0x38695
jmp 0x386be
movq -0x590(%rbp), %rax
addq $-0x1, %rax
movq %rax, -0x590(%rbp)
movq -0x608(%rbp), %rax
addq $-0x1, %rax
movq %rax, -0x608(%rbp)
jmp 0x3861b
movq -0x590(%rbp), %rax
movq -0x5c8(%rbp), %rcx
subq %rcx, %rax
movl %eax, -0x628(%rbp)
movq -0x5e8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x5e8(%rbp)
movq %rax, -0x610(%rbp)
cmpl $0x0, -0x574(%rbp)
je 0x38751
movq -0x5e8(%rbp), %rax
movl -0x628(%rbp), %ecx
addq %rcx, %rax
addq $0x8, %rax
movq %rax, -0x8e0(%rbp)
movl -0x628(%rbp), %eax
movl $0xff, %ecx
xorl %edx, %edx
divl %ecx
movl %eax, %ecx
movq -0x8e0(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
cmpq -0x5f0(%rbp), %rax
seta %al
testb $0x1, %al
jne 0x38742
jmp 0x38751
movl $0x0, -0x54c(%rbp)
jmp 0x3902b
cmpl $0xf, -0x628(%rbp)
jb 0x387cb
movl -0x628(%rbp), %eax
subl $0xf, %eax
movl %eax, -0x62c(%rbp)
movq -0x610(%rbp), %rax
movb $-0x10, (%rax)
cmpl $0xff, -0x62c(%rbp)
jl 0x387aa
movq -0x5e8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x5e8(%rbp)
movb $-0x1, (%rax)
movl -0x62c(%rbp), %eax
subl $0xff, %eax
movl %eax, -0x62c(%rbp)
jmp 0x38773
movl -0x62c(%rbp), %eax
movb %al, %cl
movq -0x5e8(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x5e8(%rbp)
movb %cl, (%rax)
jmp 0x387df
movl -0x628(%rbp), %eax
shll $0x4, %eax
movb %al, %cl
movq -0x610(%rbp), %rax
movb %cl, (%rax)
movq -0x5e8(%rbp), %rdi
movq -0x5c8(%rbp), %rsi
movq -0x5e8(%rbp), %rdx
movl -0x628(%rbp), %eax
addq %rax, %rdx
callq 0x4f110
movl -0x628(%rbp), %ecx
movq -0x5e8(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, -0x5e8(%rbp)
movq -0x5e8(%rbp), %rdi
movq -0x590(%rbp), %rax
movq -0x608(%rbp), %rcx
subq %rcx, %rax
movzwl %ax, %esi
callq 0x4f180
movq -0x5e8(%rbp), %rax
addq $0x2, %rax
movq %rax, -0x5e8(%rbp)
cmpl $0x2, -0x57c(%rbp)
jne 0x38964
movq -0x5a0(%rbp), %rax
cmpq -0x5b0(%rbp), %rax
jne 0x38964
movq -0x600(%rbp), %rax
addq -0x608(%rbp), %rax
movq %rax, -0x608(%rbp)
movq -0x590(%rbp), %rax
movq -0x5b8(%rbp), %rcx
movq -0x608(%rbp), %rdx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x638(%rbp)
movq -0x638(%rbp), %rax
cmpq -0x5e0(%rbp), %rax
jbe 0x388c3
movq -0x5e0(%rbp), %rax
movq %rax, -0x638(%rbp)
movq -0x590(%rbp), %rdi
addq $0x4, %rdi
movq -0x608(%rbp), %rsi
addq $0x4, %rsi
movq -0x638(%rbp), %rdx
callq 0x4f1e0
movl %eax, -0x630(%rbp)
movl -0x630(%rbp), %ecx
addl $0x4, %ecx
movq -0x590(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, -0x590(%rbp)
movq -0x590(%rbp), %rax
cmpq -0x638(%rbp), %rax
jne 0x38962
movq -0x590(%rbp), %rdi
movq -0x560(%rbp), %rsi
movq -0x5e0(%rbp), %rdx
callq 0x4f1e0
movl %eax, -0x63c(%rbp)
movl -0x63c(%rbp), %eax
addl -0x630(%rbp), %eax
movl %eax, -0x630(%rbp)
movl -0x63c(%rbp), %ecx
movq -0x590(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, -0x590(%rbp)
jmp 0x389a8
movq -0x590(%rbp), %rdi
addq $0x4, %rdi
movq -0x608(%rbp), %rsi
addq $0x4, %rsi
movq -0x5e0(%rbp), %rdx
callq 0x4f1e0
movl %eax, -0x630(%rbp)
movl -0x630(%rbp), %ecx
addl $0x4, %ecx
movq -0x590(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, -0x590(%rbp)
cmpl $0x0, -0x574(%rbp)
je 0x389e9
movq -0x5e8(%rbp), %rax
addq $0x6, %rax
movl -0x630(%rbp), %ecx
shrl $0x8, %ecx
movl %ecx, %ecx
addq %rcx, %rax
cmpq -0x5f0(%rbp), %rax
seta %al
testb $0x1, %al
jne 0x389da
jmp 0x389e9
movl $0x0, -0x54c(%rbp)
jmp 0x3902b
cmpl $0xf, -0x630(%rbp)
jb 0x38ab5
movq -0x610(%rbp), %rax
movzbl (%rax), %ecx
addl $0xf, %ecx
movb %cl, (%rax)
movl -0x630(%rbp), %eax
subl $0xf, %eax
movl %eax, -0x630(%rbp)
movq -0x5e8(%rbp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x4f370
cmpl $0x3fc, -0x630(%rbp)    # imm = 0x3FC
jb 0x38a67
movq -0x5e8(%rbp), %rax
addq $0x4, %rax
movq %rax, -0x5e8(%rbp)
movq -0x5e8(%rbp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x4f370
movl -0x630(%rbp), %eax
subl $0x3fc, %eax            # imm = 0x3FC
movl %eax, -0x630(%rbp)
jmp 0x38a25
movl -0x630(%rbp), %eax
movl $0xff, %ecx
xorl %edx, %edx
divl %ecx
movl %eax, %ecx
movq -0x5e8(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, -0x5e8(%rbp)
movl -0x630(%rbp), %eax
movl $0xff, %ecx
xorl %edx, %edx
divl %ecx
movb %dl, %cl
movq -0x5e8(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x5e8(%rbp)
movb %cl, (%rax)
jmp 0x38acc
movl -0x630(%rbp), %eax
movzbl %al, %edx
movq -0x610(%rbp), %rax
movzbl (%rax), %ecx
addl %edx, %ecx
movb %cl, (%rax)
movq -0x590(%rbp), %rax
movq %rax, -0x5c8(%rbp)
movq -0x590(%rbp), %rax
cmpq -0x5d8(%rbp), %rax
jbe 0x38aef
jmp 0x38ea6
movq -0x590(%rbp), %rsi
addq $-0x2, %rsi
movq -0x558(%rbp), %rdx
movl -0x578(%rbp), %ecx
movq -0x598(%rbp), %rax
movq %rsi, -0x388(%rbp)
movq %rdx, -0x390(%rbp)
movl %ecx, -0x394(%rbp)
movq %rax, -0x3a0(%rbp)
movq -0x388(%rbp), %rcx
movl -0x394(%rbp), %eax
movq %rcx, -0x1f0(%rbp)
movl %eax, -0x1f4(%rbp)
cmpl $0x2, -0x1f4(%rbp)
je 0x38b6e
movq -0x1f0(%rbp), %rdi
callq 0x4f420
movq %rax, %rdi
movl -0x1f4(%rbp), %esi
callq 0x4f390
movl %eax, -0x1e8(%rbp)
jmp 0x38b8d
movq -0x1f0(%rbp), %rdi
callq 0x4f100
movl %eax, %edi
movl -0x1f4(%rbp), %esi
callq 0x4f440
movl %eax, -0x1e8(%rbp)
movl -0x1e8(%rbp), %eax
movl %eax, -0x3a4(%rbp)
movq -0x388(%rbp), %rdi
movl -0x3a4(%rbp), %esi
movq -0x390(%rbp), %rdx
movl -0x394(%rbp), %ecx
movq -0x3a0(%rbp), %r8
callq 0x4f060
movq -0x590(%rbp), %rsi
movq -0x558(%rbp), %rdx
movl -0x578(%rbp), %ecx
movq -0x598(%rbp), %rax
movq %rsi, -0x90(%rbp)
movq %rdx, -0x98(%rbp)
movl %ecx, -0x9c(%rbp)
movq %rax, -0xa8(%rbp)
movq -0x90(%rbp), %rcx
movl -0x9c(%rbp), %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
cmpl $0x2, -0x84(%rbp)
je 0x38c31
movq -0x80(%rbp), %rdi
callq 0x4f420
movq %rax, %rdi
movl -0x84(%rbp), %esi
callq 0x4f390
movl %eax, -0x78(%rbp)
jmp 0x38c4a
movq -0x80(%rbp), %rdi
callq 0x4f100
movl %eax, %edi
movl -0x84(%rbp), %esi
callq 0x4f440
movl %eax, -0x78(%rbp)
movl -0x78(%rbp), %eax
movl %eax, -0xac(%rbp)
movl -0xac(%rbp), %edi
movq -0x98(%rbp), %rsi
movl -0x9c(%rbp), %edx
movq -0xa8(%rbp), %rcx
callq 0x4efe0
movq %rax, -0x608(%rbp)
cmpl $0x2, -0x57c(%rbp)
jne 0x38ccb
movq -0x608(%rbp), %rax
cmpq -0x560(%rbp), %rax
jae 0x38cb0
movq -0x5c0(%rbp), %rax
movq %rax, -0x600(%rbp)
movq -0x5b0(%rbp), %rax
movq %rax, -0x5a0(%rbp)
jmp 0x38cc9
movq $0x0, -0x600(%rbp)
movq -0x560(%rbp), %rax
movq %rax, -0x5a0(%rbp)
jmp 0x38ccb
movq -0x590(%rbp), %rsi
movq -0x558(%rbp), %rdx
movl -0x578(%rbp), %ecx
movq -0x598(%rbp), %rax
movq %rsi, -0x3b0(%rbp)
movq %rdx, -0x3b8(%rbp)
movl %ecx, -0x3bc(%rbp)
movq %rax, -0x3c8(%rbp)
movq -0x3b0(%rbp), %rcx
movl -0x3bc(%rbp), %eax
movq %rcx, -0x1e0(%rbp)
movl %eax, -0x1e4(%rbp)
cmpl $0x2, -0x1e4(%rbp)
je 0x38d46
movq -0x1e0(%rbp), %rdi
callq 0x4f420
movq %rax, %rdi
movl -0x1e4(%rbp), %esi
callq 0x4f390
movl %eax, -0x1d8(%rbp)
jmp 0x38d65
movq -0x1e0(%rbp), %rdi
callq 0x4f100
movl %eax, %edi
movl -0x1e4(%rbp), %esi
callq 0x4f440
movl %eax, -0x1d8(%rbp)
movl -0x1d8(%rbp), %eax
movl %eax, -0x3cc(%rbp)
movq -0x3b0(%rbp), %rdi
movl -0x3cc(%rbp), %esi
movq -0x3b8(%rbp), %rdx
movl -0x3bc(%rbp), %ecx
movq -0x3c8(%rbp), %r8
callq 0x4f060
cmpl $0x1, -0x580(%rbp)
jne 0x38db2
movq -0x608(%rbp), %rax
cmpq -0x5a8(%rbp), %rax
jae 0x38db4
jmp 0x38e26
jmp 0x38db4
movq -0x608(%rbp), %rax
addq $0xffff, %rax           # imm = 0xFFFF
cmpq -0x590(%rbp), %rax
jb 0x38e26
movq -0x608(%rbp), %rdi
addq -0x600(%rbp), %rdi
callq 0x4f100
movl %eax, -0x8e4(%rbp)
movq -0x590(%rbp), %rdi
callq 0x4f100
movl %eax, %ecx
movl -0x8e4(%rbp), %eax
cmpl %ecx, %eax
jne 0x38e26
movq -0x5e8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x5e8(%rbp)
movq %rax, -0x610(%rbp)
movq -0x610(%rbp), %rax
movb $0x0, (%rax)
jmp 0x3881b
movq -0x590(%rbp), %rcx
addq $0x1, %rcx
movq %rcx, -0x590(%rbp)
movl -0x578(%rbp), %eax
movq %rcx, -0x170(%rbp)
movl %eax, -0x174(%rbp)
cmpl $0x2, -0x174(%rbp)
je 0x38e76
movq -0x170(%rbp), %rdi
callq 0x4f420
movq %rax, %rdi
movl -0x174(%rbp), %esi
callq 0x4f390
movl %eax, -0x168(%rbp)
jmp 0x38e95
movq -0x170(%rbp), %rdi
callq 0x4f100
movl %eax, %edi
movl -0x174(%rbp), %esi
callq 0x4f440
movl %eax, -0x168(%rbp)
movl -0x168(%rbp), %eax
movl %eax, -0x5f4(%rbp)
jmp 0x383db
movq -0x5d0(%rbp), %rax
movq -0x5c8(%rbp), %rcx
subq %rcx, %rax
movq %rax, -0x648(%rbp)
cmpl $0x0, -0x574(%rbp)
je 0x38f2c
movq -0x5e8(%rbp), %rax
movq -0x568(%rbp), %rcx
subq %rcx, %rax
addq -0x648(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x8f0(%rbp)
movq -0x648(%rbp), %rax
addq $0xff, %rax
subq $0xf, %rax
movl $0xff, %ecx
xorl %edx, %edx
divq %rcx
movq %rax, %rcx
movq -0x8f0(%rbp), %rax
addq %rcx, %rax
movl -0x570(%rbp), %ecx
cmpq %rcx, %rax
jbe 0x38f2c
movl $0x0, -0x54c(%rbp)
jmp 0x3902b
cmpq $0xf, -0x648(%rbp)
jb 0x38fc1
movq -0x648(%rbp), %rax
subq $0xf, %rax
movq %rax, -0x650(%rbp)
movq -0x5e8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x5e8(%rbp)
movb $-0x10, (%rax)
cmpq $0xff, -0x650(%rbp)
jb 0x38f9f
movq -0x5e8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x5e8(%rbp)
movb $-0x1, (%rax)
movq -0x650(%rbp), %rax
subq $0xff, %rax
movq %rax, -0x650(%rbp)
jmp 0x38f64
movq -0x650(%rbp), %rax
movb %al, %cl
movq -0x5e8(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x5e8(%rbp)
movb %cl, (%rax)
jmp 0x38fe5
movq -0x648(%rbp), %rax
shlq $0x4, %rax
movb %al, %cl
movq -0x5e8(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x5e8(%rbp)
movb %cl, (%rax)
movq -0x5e8(%rbp), %rdi
movq -0x5c8(%rbp), %rsi
movq -0x648(%rbp), %rdx
callq 0x6410
movq -0x648(%rbp), %rax
addq -0x5e8(%rbp), %rax
movq %rax, -0x5e8(%rbp)
movq -0x5e8(%rbp), %rax
movq -0x568(%rbp), %rcx
subq %rcx, %rax
movl %eax, -0x54c(%rbp)
movl -0x54c(%rbp), %eax
movl %eax, -0x864(%rbp)
jmp 0x3b043
cmpl $0x1000b, -0x884(%rbp)  # imm = 0x1000B
jge 0x3a04a
movq -0x898(%rbp), %r8
movq -0x878(%rbp), %rdi
movq -0x880(%rbp), %rsi
movl -0x884(%rbp), %edx
movl -0x888(%rbp), %ecx
movl -0x88c(%rbp), %eax
movq %r8, -0x660(%rbp)
movq %rdi, -0x668(%rbp)
movq %rsi, -0x670(%rbp)
movl %edx, -0x674(%rbp)
movl %ecx, -0x678(%rbp)
movl $0x1, -0x67c(%rbp)
movl $0x2, -0x680(%rbp)
movl $0x0, -0x684(%rbp)
movl $0x0, -0x688(%rbp)
movl %eax, -0x68c(%rbp)
movq -0x668(%rbp), %rax
movq %rax, -0x698(%rbp)
movq -0x698(%rbp), %rax
movq -0x660(%rbp), %rcx
movl 0x4018(%rcx), %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x6b0(%rbp)
movq -0x660(%rbp), %rax
movq 0x4008(%rax), %rax
movq %rax, -0x6b8(%rbp)
movq -0x6b8(%rbp), %rax
movq -0x660(%rbp), %rcx
movl 0x4018(%rcx), %ecx
addq %rcx, %rax
movq %rax, -0x6c0(%rbp)
movq -0x6c0(%rbp), %rax
movq -0x668(%rbp), %rcx
subq %rcx, %rax
movq %rax, -0x6c8(%rbp)
movq -0x668(%rbp), %rax
movq %rax, -0x6d0(%rbp)
movq -0x698(%rbp), %rax
movslq -0x674(%rbp), %rcx
addq %rcx, %rax
movq %rax, -0x6d8(%rbp)
movq -0x6d8(%rbp), %rax
addq $-0xc, %rax
movq %rax, -0x6e0(%rbp)
movq -0x6d8(%rbp), %rax
addq $-0x5, %rax
movq %rax, -0x6e8(%rbp)
movq -0x670(%rbp), %rax
movq %rax, -0x6f0(%rbp)
movq -0x6f0(%rbp), %rax
movslq -0x678(%rbp), %rcx
addq %rcx, %rax
movq %rax, -0x6f8(%rbp)
cmpl $0x7e000000, -0x674(%rbp) # imm = 0x7E000000
jbe 0x391cb
movl $0x0, -0x654(%rbp)
jmp 0x3a039
movl -0x684(%rbp), %eax
movl %eax, -0x8f4(%rbp)
testl %eax, %eax
je 0x391f7
jmp 0x391dd
movl -0x8f4(%rbp), %eax
subl $0x1, %eax
je 0x39217
jmp 0x391ea
movl -0x8f4(%rbp), %eax
subl $0x2, %eax
je 0x39263
jmp 0x391f9
jmp 0x391f9
movq -0x668(%rbp), %rax
movq %rax, -0x6a0(%rbp)
movq -0x668(%rbp), %rax
movq %rax, -0x6a8(%rbp)
jmp 0x39296
movq -0x668(%rbp), %rax
movq -0x660(%rbp), %rcx
movl 0x4000(%rcx), %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x6a0(%rbp)
movq -0x668(%rbp), %rax
movq -0x660(%rbp), %rcx
movl 0x4018(%rcx), %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x6a8(%rbp)
jmp 0x39296
movq -0x668(%rbp), %rax
movq -0x660(%rbp), %rcx
movl 0x4000(%rcx), %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x6a0(%rbp)
movq -0x668(%rbp), %rax
movq %rax, -0x6a8(%rbp)
cmpl $0x2, -0x680(%rbp)
jne 0x392ba
cmpl $0x1000b, -0x674(%rbp)  # imm = 0x1000B
jl 0x392ba
movl $0x0, -0x654(%rbp)
jmp 0x3a039
cmpl $0xd, -0x674(%rbp)
jge 0x392c8
jmp 0x39eb4
movq -0x698(%rbp), %rsi
movq -0x660(%rbp), %rdx
movl -0x680(%rbp), %ecx
movq -0x6a0(%rbp), %rax
movq %rsi, -0x2e8(%rbp)
movq %rdx, -0x2f0(%rbp)
movl %ecx, -0x2f4(%rbp)
movq %rax, -0x300(%rbp)
movq -0x2e8(%rbp), %rcx
movl -0x2f4(%rbp), %eax
movq %rcx, -0x230(%rbp)
movl %eax, -0x234(%rbp)
cmpl $0x2, -0x234(%rbp)
je 0x39343
movq -0x230(%rbp), %rdi
callq 0x4f420
movq %rax, %rdi
movl -0x234(%rbp), %esi
callq 0x4f390
movl %eax, -0x228(%rbp)
jmp 0x39362
movq -0x230(%rbp), %rdi
callq 0x4f100
movl %eax, %edi
movl -0x234(%rbp), %esi
callq 0x4f440
movl %eax, -0x228(%rbp)
movl -0x228(%rbp), %eax
movl %eax, -0x304(%rbp)
movq -0x2e8(%rbp), %rdi
movl -0x304(%rbp), %esi
movq -0x2f0(%rbp), %rdx
movl -0x2f4(%rbp), %ecx
movq -0x300(%rbp), %r8
callq 0x4f060
movq -0x698(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x698(%rbp)
movq -0x698(%rbp), %rcx
movl -0x680(%rbp), %eax
movq %rcx, -0x120(%rbp)
movl %eax, -0x124(%rbp)
cmpl $0x2, -0x124(%rbp)
je 0x393eb
movq -0x120(%rbp), %rdi
callq 0x4f420
movq %rax, %rdi
movl -0x124(%rbp), %esi
callq 0x4f390
movl %eax, -0x118(%rbp)
jmp 0x3940a
movq -0x120(%rbp), %rdi
callq 0x4f100
movl %eax, %edi
movl -0x124(%rbp), %esi
callq 0x4f440
movl %eax, -0x118(%rbp)
movl -0x118(%rbp), %eax
movl %eax, -0x6fc(%rbp)
movq $0x0, -0x708(%rbp)
movq -0x698(%rbp), %rax
movq %rax, -0x720(%rbp)
movl $0x1, -0x724(%rbp)
movl -0x68c(%rbp), %eax
shll $0x6, %eax
movl %eax, -0x728(%rbp)
movl -0x6fc(%rbp), %eax
movl %eax, -0x72c(%rbp)
movq -0x720(%rbp), %rax
movq %rax, -0x698(%rbp)
movl -0x724(%rbp), %ecx
movq -0x720(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, -0x720(%rbp)
movl -0x728(%rbp), %eax
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, -0x728(%rbp)
shrl $0x6, %eax
movl %eax, -0x724(%rbp)
movq -0x720(%rbp), %rax
cmpq -0x6e0(%rbp), %rax
seta %al
testb $0x1, %al
jne 0x394ac
jmp 0x394b1
jmp 0x39eb4
movl -0x72c(%rbp), %edi
movq -0x660(%rbp), %rsi
movl -0x680(%rbp), %edx
movq -0x6a0(%rbp), %rcx
callq 0x4efe0
movq %rax, -0x710(%rbp)
cmpl $0x2, -0x684(%rbp)
jne 0x39529
movq -0x710(%rbp), %rax
cmpq -0x668(%rbp), %rax
jae 0x3950e
movq -0x6c8(%rbp), %rax
movq %rax, -0x708(%rbp)
movq -0x6b8(%rbp), %rax
movq %rax, -0x6a8(%rbp)
jmp 0x39527
movq $0x0, -0x708(%rbp)
movq -0x668(%rbp), %rax
movq %rax, -0x6a8(%rbp)
jmp 0x39529
movq -0x720(%rbp), %rcx
movl -0x680(%rbp), %eax
movq %rcx, -0x130(%rbp)
movl %eax, -0x134(%rbp)
cmpl $0x2, -0x134(%rbp)
je 0x3956e
movq -0x130(%rbp), %rdi
callq 0x4f420
movq %rax, %rdi
movl -0x134(%rbp), %esi
callq 0x4f390
movl %eax, -0x128(%rbp)
jmp 0x3958d
movq -0x130(%rbp), %rdi
callq 0x4f100
movl %eax, %edi
movl -0x134(%rbp), %esi
callq 0x4f440
movl %eax, -0x128(%rbp)
movl -0x128(%rbp), %eax
movl %eax, -0x6fc(%rbp)
movq -0x698(%rbp), %rdi
movl -0x72c(%rbp), %esi
movq -0x660(%rbp), %rdx
movl -0x680(%rbp), %ecx
movq -0x6a0(%rbp), %r8
callq 0x4f060
cmpl $0x1, -0x688(%rbp)
jne 0x395e2
movq -0x710(%rbp), %rcx
movb $0x1, %al
cmpq -0x6b0(%rbp), %rcx
movb %al, -0x8f5(%rbp)
jb 0x39646
jmp 0x395e4
jmp 0x395e4
cmpl $0x2, -0x680(%rbp)
jne 0x395ef
jmp 0x3960e
movq -0x710(%rbp), %rcx
addq $0xffff, %rcx           # imm = 0xFFFF
movb $0x1, %al
cmpq -0x698(%rbp), %rcx
movb %al, -0x8f5(%rbp)
jb 0x39646
movq -0x710(%rbp), %rdi
addq -0x708(%rbp), %rdi
callq 0x4f100
movl %eax, -0x8fc(%rbp)
movq -0x698(%rbp), %rdi
callq 0x4f100
movl %eax, %ecx
movl -0x8fc(%rbp), %eax
cmpl %ecx, %eax
setne %al
movb %al, -0x8f5(%rbp)
movb -0x8f5(%rbp), %al
testb $0x1, %al
jne 0x39448
jmp 0x39656
movq -0x698(%rbp), %rax
cmpq -0x6d0(%rbp), %rax
seta %al
andb $0x1, %al
movzbl %al, %ecx
movq -0x710(%rbp), %rax
addq -0x708(%rbp), %rax
cmpq -0x6a8(%rbp), %rax
seta %al
andb $0x1, %al
movzbl %al, %eax
andl %eax, %ecx
xorl %eax, %eax
cmpl $0x0, %ecx
movb %al, -0x8fd(%rbp)
je 0x396c4
movq -0x698(%rbp), %rax
movzbl -0x1(%rax), %eax
movq -0x710(%rbp), %rcx
movq -0x708(%rbp), %rdx
subq $0x1, %rdx
movzbl (%rcx,%rdx), %ecx
cmpl %ecx, %eax
sete %al
movb %al, -0x8fd(%rbp)
movb -0x8fd(%rbp), %al
testb $0x1, %al
jne 0x396d0
jmp 0x396f9
movq -0x698(%rbp), %rax
addq $-0x1, %rax
movq %rax, -0x698(%rbp)
movq -0x710(%rbp), %rax
addq $-0x1, %rax
movq %rax, -0x710(%rbp)
jmp 0x39656
movq -0x698(%rbp), %rax
movq -0x6d0(%rbp), %rcx
subq %rcx, %rax
movl %eax, -0x730(%rbp)
movq -0x6f0(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x6f0(%rbp)
movq %rax, -0x718(%rbp)
cmpl $0x0, -0x67c(%rbp)
je 0x3978c
movq -0x6f0(%rbp), %rax
movl -0x730(%rbp), %ecx
addq %rcx, %rax
addq $0x8, %rax
movq %rax, -0x908(%rbp)
movl -0x730(%rbp), %eax
movl $0xff, %ecx
xorl %edx, %edx
divl %ecx
movl %eax, %ecx
movq -0x908(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
cmpq -0x6f8(%rbp), %rax
seta %al
testb $0x1, %al
jne 0x3977d
jmp 0x3978c
movl $0x0, -0x654(%rbp)
jmp 0x3a039
cmpl $0xf, -0x730(%rbp)
jb 0x39806
movl -0x730(%rbp), %eax
subl $0xf, %eax
movl %eax, -0x734(%rbp)
movq -0x718(%rbp), %rax
movb $-0x10, (%rax)
cmpl $0xff, -0x734(%rbp)
jl 0x397e5
movq -0x6f0(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x6f0(%rbp)
movb $-0x1, (%rax)
movl -0x734(%rbp), %eax
subl $0xff, %eax
movl %eax, -0x734(%rbp)
jmp 0x397ae
movl -0x734(%rbp), %eax
movb %al, %cl
movq -0x6f0(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x6f0(%rbp)
movb %cl, (%rax)
jmp 0x3981a
movl -0x730(%rbp), %eax
shll $0x4, %eax
movb %al, %cl
movq -0x718(%rbp), %rax
movb %cl, (%rax)
movq -0x6f0(%rbp), %rdi
movq -0x6d0(%rbp), %rsi
movq -0x6f0(%rbp), %rdx
movl -0x730(%rbp), %eax
addq %rax, %rdx
callq 0x4f110
movl -0x730(%rbp), %ecx
movq -0x6f0(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, -0x6f0(%rbp)
movq -0x6f0(%rbp), %rdi
movq -0x698(%rbp), %rax
movq -0x710(%rbp), %rcx
subq %rcx, %rax
movzwl %ax, %esi
callq 0x4f180
movq -0x6f0(%rbp), %rax
addq $0x2, %rax
movq %rax, -0x6f0(%rbp)
cmpl $0x2, -0x684(%rbp)
jne 0x3999f
movq -0x6a8(%rbp), %rax
cmpq -0x6b8(%rbp), %rax
jne 0x3999f
movq -0x708(%rbp), %rax
addq -0x710(%rbp), %rax
movq %rax, -0x710(%rbp)
movq -0x698(%rbp), %rax
movq -0x6c0(%rbp), %rcx
movq -0x710(%rbp), %rdx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x740(%rbp)
movq -0x740(%rbp), %rax
cmpq -0x6e8(%rbp), %rax
jbe 0x398fe
movq -0x6e8(%rbp), %rax
movq %rax, -0x740(%rbp)
movq -0x698(%rbp), %rdi
addq $0x4, %rdi
movq -0x710(%rbp), %rsi
addq $0x4, %rsi
movq -0x740(%rbp), %rdx
callq 0x4f1e0
movl %eax, -0x738(%rbp)
movl -0x738(%rbp), %ecx
addl $0x4, %ecx
movq -0x698(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, -0x698(%rbp)
movq -0x698(%rbp), %rax
cmpq -0x740(%rbp), %rax
jne 0x3999d
movq -0x698(%rbp), %rdi
movq -0x668(%rbp), %rsi
movq -0x6e8(%rbp), %rdx
callq 0x4f1e0
movl %eax, -0x744(%rbp)
movl -0x744(%rbp), %eax
addl -0x738(%rbp), %eax
movl %eax, -0x738(%rbp)
movl -0x744(%rbp), %ecx
movq -0x698(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, -0x698(%rbp)
jmp 0x399e3
movq -0x698(%rbp), %rdi
addq $0x4, %rdi
movq -0x710(%rbp), %rsi
addq $0x4, %rsi
movq -0x6e8(%rbp), %rdx
callq 0x4f1e0
movl %eax, -0x738(%rbp)
movl -0x738(%rbp), %ecx
addl $0x4, %ecx
movq -0x698(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, -0x698(%rbp)
cmpl $0x0, -0x67c(%rbp)
je 0x39a24
movq -0x6f0(%rbp), %rax
addq $0x6, %rax
movl -0x738(%rbp), %ecx
shrl $0x8, %ecx
movl %ecx, %ecx
addq %rcx, %rax
cmpq -0x6f8(%rbp), %rax
seta %al
testb $0x1, %al
jne 0x39a15
jmp 0x39a24
movl $0x0, -0x654(%rbp)
jmp 0x3a039
cmpl $0xf, -0x738(%rbp)
jb 0x39af0
movq -0x718(%rbp), %rax
movzbl (%rax), %ecx
addl $0xf, %ecx
movb %cl, (%rax)
movl -0x738(%rbp), %eax
subl $0xf, %eax
movl %eax, -0x738(%rbp)
movq -0x6f0(%rbp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x4f370
cmpl $0x3fc, -0x738(%rbp)    # imm = 0x3FC
jb 0x39aa2
movq -0x6f0(%rbp), %rax
addq $0x4, %rax
movq %rax, -0x6f0(%rbp)
movq -0x6f0(%rbp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x4f370
movl -0x738(%rbp), %eax
subl $0x3fc, %eax            # imm = 0x3FC
movl %eax, -0x738(%rbp)
jmp 0x39a60
movl -0x738(%rbp), %eax
movl $0xff, %ecx
xorl %edx, %edx
divl %ecx
movl %eax, %ecx
movq -0x6f0(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, -0x6f0(%rbp)
movl -0x738(%rbp), %eax
movl $0xff, %ecx
xorl %edx, %edx
divl %ecx
movb %dl, %cl
movq -0x6f0(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x6f0(%rbp)
movb %cl, (%rax)
jmp 0x39b07
movl -0x738(%rbp), %eax
movzbl %al, %edx
movq -0x718(%rbp), %rax
movzbl (%rax), %ecx
addl %edx, %ecx
movb %cl, (%rax)
movq -0x698(%rbp), %rax
movq %rax, -0x6d0(%rbp)
movq -0x698(%rbp), %rax
cmpq -0x6e0(%rbp), %rax
jbe 0x39b2a
jmp 0x39eb4
movq -0x698(%rbp), %rsi
addq $-0x2, %rsi
movq -0x660(%rbp), %rdx
movl -0x680(%rbp), %ecx
movq -0x6a0(%rbp), %rax
movq %rsi, -0x310(%rbp)
movq %rdx, -0x318(%rbp)
movl %ecx, -0x31c(%rbp)
movq %rax, -0x328(%rbp)
movq -0x310(%rbp), %rcx
movl -0x31c(%rbp), %eax
movq %rcx, -0x220(%rbp)
movl %eax, -0x224(%rbp)
cmpl $0x2, -0x224(%rbp)
je 0x39ba9
movq -0x220(%rbp), %rdi
callq 0x4f420
movq %rax, %rdi
movl -0x224(%rbp), %esi
callq 0x4f390
movl %eax, -0x218(%rbp)
jmp 0x39bc8
movq -0x220(%rbp), %rdi
callq 0x4f100
movl %eax, %edi
movl -0x224(%rbp), %esi
callq 0x4f440
movl %eax, -0x218(%rbp)
movl -0x218(%rbp), %eax
movl %eax, -0x32c(%rbp)
movq -0x310(%rbp), %rdi
movl -0x32c(%rbp), %esi
movq -0x318(%rbp), %rdx
movl -0x31c(%rbp), %ecx
movq -0x328(%rbp), %r8
callq 0x4f060
movq -0x698(%rbp), %rsi
movq -0x660(%rbp), %rdx
movl -0x680(%rbp), %ecx
movq -0x6a0(%rbp), %rax
movq %rsi, -0x58(%rbp)
movq %rdx, -0x60(%rbp)
movl %ecx, -0x64(%rbp)
movq %rax, -0x70(%rbp)
movq -0x58(%rbp), %rcx
movl -0x64(%rbp), %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
cmpl $0x2, -0x4c(%rbp)
je 0x39c51
movq -0x48(%rbp), %rdi
callq 0x4f420
movq %rax, %rdi
movl -0x4c(%rbp), %esi
callq 0x4f390
movl %eax, -0x40(%rbp)
jmp 0x39c67
movq -0x48(%rbp), %rdi
callq 0x4f100
movl %eax, %edi
movl -0x4c(%rbp), %esi
callq 0x4f440
movl %eax, -0x40(%rbp)
movl -0x40(%rbp), %eax
movl %eax, -0x74(%rbp)
movl -0x74(%rbp), %edi
movq -0x60(%rbp), %rsi
movl -0x64(%rbp), %edx
movq -0x70(%rbp), %rcx
callq 0x4efe0
movq %rax, -0x710(%rbp)
cmpl $0x2, -0x684(%rbp)
jne 0x39cd9
movq -0x710(%rbp), %rax
cmpq -0x668(%rbp), %rax
jae 0x39cbe
movq -0x6c8(%rbp), %rax
movq %rax, -0x708(%rbp)
movq -0x6b8(%rbp), %rax
movq %rax, -0x6a8(%rbp)
jmp 0x39cd7
movq $0x0, -0x708(%rbp)
movq -0x668(%rbp), %rax
movq %rax, -0x6a8(%rbp)
jmp 0x39cd9
movq -0x698(%rbp), %rsi
movq -0x660(%rbp), %rdx
movl -0x680(%rbp), %ecx
movq -0x6a0(%rbp), %rax
movq %rsi, -0x338(%rbp)
movq %rdx, -0x340(%rbp)
movl %ecx, -0x344(%rbp)
movq %rax, -0x350(%rbp)
movq -0x338(%rbp), %rcx
movl -0x344(%rbp), %eax
movq %rcx, -0x210(%rbp)
movl %eax, -0x214(%rbp)
cmpl $0x2, -0x214(%rbp)
je 0x39d54
movq -0x210(%rbp), %rdi
callq 0x4f420
movq %rax, %rdi
movl -0x214(%rbp), %esi
callq 0x4f390
movl %eax, -0x208(%rbp)
jmp 0x39d73
movq -0x210(%rbp), %rdi
callq 0x4f100
movl %eax, %edi
movl -0x214(%rbp), %esi
callq 0x4f440
movl %eax, -0x208(%rbp)
movl -0x208(%rbp), %eax
movl %eax, -0x354(%rbp)
movq -0x338(%rbp), %rdi
movl -0x354(%rbp), %esi
movq -0x340(%rbp), %rdx
movl -0x344(%rbp), %ecx
movq -0x350(%rbp), %r8
callq 0x4f060
cmpl $0x1, -0x688(%rbp)
jne 0x39dc0
movq -0x710(%rbp), %rax
cmpq -0x6b0(%rbp), %rax
jae 0x39dc2
jmp 0x39e34
jmp 0x39dc2
movq -0x710(%rbp), %rax
addq $0xffff, %rax           # imm = 0xFFFF
cmpq -0x698(%rbp), %rax
jb 0x39e34
movq -0x710(%rbp), %rdi
addq -0x708(%rbp), %rdi
callq 0x4f100
movl %eax, -0x90c(%rbp)
movq -0x698(%rbp), %rdi
callq 0x4f100
movl %eax, %ecx
movl -0x90c(%rbp), %eax
cmpl %ecx, %eax
jne 0x39e34
movq -0x6f0(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x6f0(%rbp)
movq %rax, -0x718(%rbp)
movq -0x718(%rbp), %rax
movb $0x0, (%rax)
jmp 0x39856
movq -0x698(%rbp), %rcx
addq $0x1, %rcx
movq %rcx, -0x698(%rbp)
movl -0x680(%rbp), %eax
movq %rcx, -0x140(%rbp)
movl %eax, -0x144(%rbp)
cmpl $0x2, -0x144(%rbp)
je 0x39e84
movq -0x140(%rbp), %rdi
callq 0x4f420
movq %rax, %rdi
movl -0x144(%rbp), %esi
callq 0x4f390
movl %eax, -0x138(%rbp)
jmp 0x39ea3
movq -0x140(%rbp), %rdi
callq 0x4f100
movl %eax, %edi
movl -0x144(%rbp), %esi
callq 0x4f440
movl %eax, -0x138(%rbp)
movl -0x138(%rbp), %eax
movl %eax, -0x6fc(%rbp)
jmp 0x39416
movq -0x6d8(%rbp), %rax
movq -0x6d0(%rbp), %rcx
subq %rcx, %rax
movq %rax, -0x750(%rbp)
cmpl $0x0, -0x67c(%rbp)
je 0x39f3a
movq -0x6f0(%rbp), %rax
movq -0x670(%rbp), %rcx
subq %rcx, %rax
addq -0x750(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x918(%rbp)
movq -0x750(%rbp), %rax
addq $0xff, %rax
subq $0xf, %rax
movl $0xff, %ecx
xorl %edx, %edx
divq %rcx
movq %rax, %rcx
movq -0x918(%rbp), %rax
addq %rcx, %rax
movl -0x678(%rbp), %ecx
cmpq %rcx, %rax
jbe 0x39f3a
movl $0x0, -0x654(%rbp)
jmp 0x3a039
cmpq $0xf, -0x750(%rbp)
jb 0x39fcf
movq -0x750(%rbp), %rax
subq $0xf, %rax
movq %rax, -0x758(%rbp)
movq -0x6f0(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x6f0(%rbp)
movb $-0x10, (%rax)
cmpq $0xff, -0x758(%rbp)
jb 0x39fad
movq -0x6f0(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x6f0(%rbp)
movb $-0x1, (%rax)
movq -0x758(%rbp), %rax
subq $0xff, %rax
movq %rax, -0x758(%rbp)
jmp 0x39f72
movq -0x758(%rbp), %rax
movb %al, %cl
movq -0x6f0(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x6f0(%rbp)
movb %cl, (%rax)
jmp 0x39ff3
movq -0x750(%rbp), %rax
shlq $0x4, %rax
movb %al, %cl
movq -0x6f0(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x6f0(%rbp)
movb %cl, (%rax)
movq -0x6f0(%rbp), %rdi
movq -0x6d0(%rbp), %rsi
movq -0x750(%rbp), %rdx
callq 0x6410
movq -0x750(%rbp), %rax
addq -0x6f0(%rbp), %rax
movq %rax, -0x6f0(%rbp)
movq -0x6f0(%rbp), %rax
movq -0x670(%rbp), %rcx
subq %rcx, %rax
movl %eax, -0x654(%rbp)
movl -0x654(%rbp), %eax
movl %eax, -0x864(%rbp)
jmp 0x3b043
movq -0x898(%rbp), %r8
movq -0x878(%rbp), %rdi
movq -0x880(%rbp), %rsi
movl -0x884(%rbp), %edx
movl -0x888(%rbp), %ecx
movl -0x88c(%rbp), %eax
movq %r8, -0x768(%rbp)
movq %rdi, -0x770(%rbp)
movq %rsi, -0x778(%rbp)
movl %edx, -0x77c(%rbp)
movl %ecx, -0x780(%rbp)
movl $0x1, -0x784(%rbp)
movl $0x1, -0x788(%rbp)
movl $0x0, -0x78c(%rbp)
movl $0x0, -0x790(%rbp)
movl %eax, -0x794(%rbp)
movq -0x770(%rbp), %rax
movq %rax, -0x7a0(%rbp)
movq -0x7a0(%rbp), %rax
movq -0x768(%rbp), %rcx
movl 0x4018(%rcx), %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x7b8(%rbp)
movq -0x768(%rbp), %rax
movq 0x4008(%rax), %rax
movq %rax, -0x7c0(%rbp)
movq -0x7c0(%rbp), %rax
movq -0x768(%rbp), %rcx
movl 0x4018(%rcx), %ecx
addq %rcx, %rax
movq %rax, -0x7c8(%rbp)
movq -0x7c8(%rbp), %rax
movq -0x770(%rbp), %rcx
subq %rcx, %rax
movq %rax, -0x7d0(%rbp)
movq -0x770(%rbp), %rax
movq %rax, -0x7d8(%rbp)
movq -0x7a0(%rbp), %rax
movslq -0x77c(%rbp), %rcx
addq %rcx, %rax
movq %rax, -0x7e0(%rbp)
movq -0x7e0(%rbp), %rax
addq $-0xc, %rax
movq %rax, -0x7e8(%rbp)
movq -0x7e0(%rbp), %rax
addq $-0x5, %rax
movq %rax, -0x7f0(%rbp)
movq -0x778(%rbp), %rax
movq %rax, -0x7f8(%rbp)
movq -0x7f8(%rbp), %rax
movslq -0x780(%rbp), %rcx
addq %rcx, %rax
movq %rax, -0x800(%rbp)
cmpl $0x7e000000, -0x77c(%rbp) # imm = 0x7E000000
jbe 0x3a1c9
movl $0x0, -0x75c(%rbp)
jmp 0x3b037
movl -0x78c(%rbp), %eax
movl %eax, -0x91c(%rbp)
testl %eax, %eax
je 0x3a1f5
jmp 0x3a1db
movl -0x91c(%rbp), %eax
subl $0x1, %eax
je 0x3a215
jmp 0x3a1e8
movl -0x91c(%rbp), %eax
subl $0x2, %eax
je 0x3a261
jmp 0x3a1f7
jmp 0x3a1f7
movq -0x770(%rbp), %rax
movq %rax, -0x7a8(%rbp)
movq -0x770(%rbp), %rax
movq %rax, -0x7b0(%rbp)
jmp 0x3a294
movq -0x770(%rbp), %rax
movq -0x768(%rbp), %rcx
movl 0x4000(%rcx), %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x7a8(%rbp)
movq -0x770(%rbp), %rax
movq -0x768(%rbp), %rcx
movl 0x4018(%rcx), %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x7b0(%rbp)
jmp 0x3a294
movq -0x770(%rbp), %rax
movq -0x768(%rbp), %rcx
movl 0x4000(%rcx), %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x7a8(%rbp)
movq -0x770(%rbp), %rax
movq %rax, -0x7b0(%rbp)
cmpl $0x2, -0x788(%rbp)
jne 0x3a2b8
cmpl $0x1000b, -0x77c(%rbp)  # imm = 0x1000B
jl 0x3a2b8
movl $0x0, -0x75c(%rbp)
jmp 0x3b037
cmpl $0xd, -0x77c(%rbp)
jge 0x3a2c6
jmp 0x3aeb2
movq -0x7a0(%rbp), %rsi
movq -0x768(%rbp), %rdx
movl -0x788(%rbp), %ecx
movq -0x7a8(%rbp), %rax
movq %rsi, -0x270(%rbp)
movq %rdx, -0x278(%rbp)
movl %ecx, -0x27c(%rbp)
movq %rax, -0x288(%rbp)
movq -0x270(%rbp), %rcx
movl -0x27c(%rbp), %eax
movq %rcx, -0x260(%rbp)
movl %eax, -0x264(%rbp)
cmpl $0x2, -0x264(%rbp)
je 0x3a341
movq -0x260(%rbp), %rdi
callq 0x4f420
movq %rax, %rdi
movl -0x264(%rbp), %esi
callq 0x4f390
movl %eax, -0x258(%rbp)
jmp 0x3a360
movq -0x260(%rbp), %rdi
callq 0x4f100
movl %eax, %edi
movl -0x264(%rbp), %esi
callq 0x4f440
movl %eax, -0x258(%rbp)
movl -0x258(%rbp), %eax
movl %eax, -0x28c(%rbp)
movq -0x270(%rbp), %rdi
movl -0x28c(%rbp), %esi
movq -0x278(%rbp), %rdx
movl -0x27c(%rbp), %ecx
movq -0x288(%rbp), %r8
callq 0x4f060
movq -0x7a0(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x7a0(%rbp)
movq -0x7a0(%rbp), %rcx
movl -0x788(%rbp), %eax
movq %rcx, -0xf0(%rbp)
movl %eax, -0xf4(%rbp)
cmpl $0x2, -0xf4(%rbp)
je 0x3a3e9
movq -0xf0(%rbp), %rdi
callq 0x4f420
movq %rax, %rdi
movl -0xf4(%rbp), %esi
callq 0x4f390
movl %eax, -0xe8(%rbp)
jmp 0x3a408
movq -0xf0(%rbp), %rdi
callq 0x4f100
movl %eax, %edi
movl -0xf4(%rbp), %esi
callq 0x4f440
movl %eax, -0xe8(%rbp)
movl -0xe8(%rbp), %eax
movl %eax, -0x804(%rbp)
movq $0x0, -0x810(%rbp)
movq -0x7a0(%rbp), %rax
movq %rax, -0x828(%rbp)
movl $0x1, -0x82c(%rbp)
movl -0x794(%rbp), %eax
shll $0x6, %eax
movl %eax, -0x830(%rbp)
movl -0x804(%rbp), %eax
movl %eax, -0x834(%rbp)
movq -0x828(%rbp), %rax
movq %rax, -0x7a0(%rbp)
movl -0x82c(%rbp), %ecx
movq -0x828(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, -0x828(%rbp)
movl -0x830(%rbp), %eax
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, -0x830(%rbp)
shrl $0x6, %eax
movl %eax, -0x82c(%rbp)
movq -0x828(%rbp), %rax
cmpq -0x7e8(%rbp), %rax
seta %al
testb $0x1, %al
jne 0x3a4aa
jmp 0x3a4af
jmp 0x3aeb2
movl -0x834(%rbp), %edi
movq -0x768(%rbp), %rsi
movl -0x788(%rbp), %edx
movq -0x7a8(%rbp), %rcx
callq 0x4efe0
movq %rax, -0x818(%rbp)
cmpl $0x2, -0x78c(%rbp)
jne 0x3a527
movq -0x818(%rbp), %rax
cmpq -0x770(%rbp), %rax
jae 0x3a50c
movq -0x7d0(%rbp), %rax
movq %rax, -0x810(%rbp)
movq -0x7c0(%rbp), %rax
movq %rax, -0x7b0(%rbp)
jmp 0x3a525
movq $0x0, -0x810(%rbp)
movq -0x770(%rbp), %rax
movq %rax, -0x7b0(%rbp)
jmp 0x3a527
movq -0x828(%rbp), %rcx
movl -0x788(%rbp), %eax
movq %rcx, -0x100(%rbp)
movl %eax, -0x104(%rbp)
cmpl $0x2, -0x104(%rbp)
je 0x3a56c
movq -0x100(%rbp), %rdi
callq 0x4f420
movq %rax, %rdi
movl -0x104(%rbp), %esi
callq 0x4f390
movl %eax, -0xf8(%rbp)
jmp 0x3a58b
movq -0x100(%rbp), %rdi
callq 0x4f100
movl %eax, %edi
movl -0x104(%rbp), %esi
callq 0x4f440
movl %eax, -0xf8(%rbp)
movl -0xf8(%rbp), %eax
movl %eax, -0x804(%rbp)
movq -0x7a0(%rbp), %rdi
movl -0x834(%rbp), %esi
movq -0x768(%rbp), %rdx
movl -0x788(%rbp), %ecx
movq -0x7a8(%rbp), %r8
callq 0x4f060
cmpl $0x1, -0x790(%rbp)
jne 0x3a5e0
movq -0x818(%rbp), %rcx
movb $0x1, %al
cmpq -0x7b8(%rbp), %rcx
movb %al, -0x91d(%rbp)
jb 0x3a644
jmp 0x3a5e2
jmp 0x3a5e2
cmpl $0x2, -0x788(%rbp)
jne 0x3a5ed
jmp 0x3a60c
movq -0x818(%rbp), %rcx
addq $0xffff, %rcx           # imm = 0xFFFF
movb $0x1, %al
cmpq -0x7a0(%rbp), %rcx
movb %al, -0x91d(%rbp)
jb 0x3a644
movq -0x818(%rbp), %rdi
addq -0x810(%rbp), %rdi
callq 0x4f100
movl %eax, -0x924(%rbp)
movq -0x7a0(%rbp), %rdi
callq 0x4f100
movl %eax, %ecx
movl -0x924(%rbp), %eax
cmpl %ecx, %eax
setne %al
movb %al, -0x91d(%rbp)
movb -0x91d(%rbp), %al
testb $0x1, %al
jne 0x3a446
jmp 0x3a654
movq -0x7a0(%rbp), %rax
cmpq -0x7d8(%rbp), %rax
seta %al
andb $0x1, %al
movzbl %al, %ecx
movq -0x818(%rbp), %rax
addq -0x810(%rbp), %rax
cmpq -0x7b0(%rbp), %rax
seta %al
andb $0x1, %al
movzbl %al, %eax
andl %eax, %ecx
xorl %eax, %eax
cmpl $0x0, %ecx
movb %al, -0x925(%rbp)
je 0x3a6c2
movq -0x7a0(%rbp), %rax
movzbl -0x1(%rax), %eax
movq -0x818(%rbp), %rcx
movq -0x810(%rbp), %rdx
subq $0x1, %rdx
movzbl (%rcx,%rdx), %ecx
cmpl %ecx, %eax
sete %al
movb %al, -0x925(%rbp)
movb -0x925(%rbp), %al
testb $0x1, %al
jne 0x3a6ce
jmp 0x3a6f7
movq -0x7a0(%rbp), %rax
addq $-0x1, %rax
movq %rax, -0x7a0(%rbp)
movq -0x818(%rbp), %rax
addq $-0x1, %rax
movq %rax, -0x818(%rbp)
jmp 0x3a654
movq -0x7a0(%rbp), %rax
movq -0x7d8(%rbp), %rcx
subq %rcx, %rax
movl %eax, -0x838(%rbp)
movq -0x7f8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x7f8(%rbp)
movq %rax, -0x820(%rbp)
cmpl $0x0, -0x784(%rbp)
je 0x3a78a
movq -0x7f8(%rbp), %rax
movl -0x838(%rbp), %ecx
addq %rcx, %rax
addq $0x8, %rax
movq %rax, -0x930(%rbp)
movl -0x838(%rbp), %eax
movl $0xff, %ecx
xorl %edx, %edx
divl %ecx
movl %eax, %ecx
movq -0x930(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
cmpq -0x800(%rbp), %rax
seta %al
testb $0x1, %al
jne 0x3a77b
jmp 0x3a78a
movl $0x0, -0x75c(%rbp)
jmp 0x3b037
cmpl $0xf, -0x838(%rbp)
jb 0x3a804
movl -0x838(%rbp), %eax
subl $0xf, %eax
movl %eax, -0x83c(%rbp)
movq -0x820(%rbp), %rax
movb $-0x10, (%rax)
cmpl $0xff, -0x83c(%rbp)
jl 0x3a7e3
movq -0x7f8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x7f8(%rbp)
movb $-0x1, (%rax)
movl -0x83c(%rbp), %eax
subl $0xff, %eax
movl %eax, -0x83c(%rbp)
jmp 0x3a7ac
movl -0x83c(%rbp), %eax
movb %al, %cl
movq -0x7f8(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x7f8(%rbp)
movb %cl, (%rax)
jmp 0x3a818
movl -0x838(%rbp), %eax
shll $0x4, %eax
movb %al, %cl
movq -0x820(%rbp), %rax
movb %cl, (%rax)
movq -0x7f8(%rbp), %rdi
movq -0x7d8(%rbp), %rsi
movq -0x7f8(%rbp), %rdx
movl -0x838(%rbp), %eax
addq %rax, %rdx
callq 0x4f110
movl -0x838(%rbp), %ecx
movq -0x7f8(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, -0x7f8(%rbp)
movq -0x7f8(%rbp), %rdi
movq -0x7a0(%rbp), %rax
movq -0x818(%rbp), %rcx
subq %rcx, %rax
movzwl %ax, %esi
callq 0x4f180
movq -0x7f8(%rbp), %rax
addq $0x2, %rax
movq %rax, -0x7f8(%rbp)
cmpl $0x2, -0x78c(%rbp)
jne 0x3a99d
movq -0x7b0(%rbp), %rax
cmpq -0x7c0(%rbp), %rax
jne 0x3a99d
movq -0x810(%rbp), %rax
addq -0x818(%rbp), %rax
movq %rax, -0x818(%rbp)
movq -0x7a0(%rbp), %rax
movq -0x7c8(%rbp), %rcx
movq -0x818(%rbp), %rdx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x848(%rbp)
movq -0x848(%rbp), %rax
cmpq -0x7f0(%rbp), %rax
jbe 0x3a8fc
movq -0x7f0(%rbp), %rax
movq %rax, -0x848(%rbp)
movq -0x7a0(%rbp), %rdi
addq $0x4, %rdi
movq -0x818(%rbp), %rsi
addq $0x4, %rsi
movq -0x848(%rbp), %rdx
callq 0x4f1e0
movl %eax, -0x840(%rbp)
movl -0x840(%rbp), %ecx
addl $0x4, %ecx
movq -0x7a0(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, -0x7a0(%rbp)
movq -0x7a0(%rbp), %rax
cmpq -0x848(%rbp), %rax
jne 0x3a99b
movq -0x7a0(%rbp), %rdi
movq -0x770(%rbp), %rsi
movq -0x7f0(%rbp), %rdx
callq 0x4f1e0
movl %eax, -0x84c(%rbp)
movl -0x84c(%rbp), %eax
addl -0x840(%rbp), %eax
movl %eax, -0x840(%rbp)
movl -0x84c(%rbp), %ecx
movq -0x7a0(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, -0x7a0(%rbp)
jmp 0x3a9e1
movq -0x7a0(%rbp), %rdi
addq $0x4, %rdi
movq -0x818(%rbp), %rsi
addq $0x4, %rsi
movq -0x7f0(%rbp), %rdx
callq 0x4f1e0
movl %eax, -0x840(%rbp)
movl -0x840(%rbp), %ecx
addl $0x4, %ecx
movq -0x7a0(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, -0x7a0(%rbp)
cmpl $0x0, -0x784(%rbp)
je 0x3aa22
movq -0x7f8(%rbp), %rax
addq $0x6, %rax
movl -0x840(%rbp), %ecx
shrl $0x8, %ecx
movl %ecx, %ecx
addq %rcx, %rax
cmpq -0x800(%rbp), %rax
seta %al
testb $0x1, %al
jne 0x3aa13
jmp 0x3aa22
movl $0x0, -0x75c(%rbp)
jmp 0x3b037
cmpl $0xf, -0x840(%rbp)
jb 0x3aaee
movq -0x820(%rbp), %rax
movzbl (%rax), %ecx
addl $0xf, %ecx
movb %cl, (%rax)
movl -0x840(%rbp), %eax
subl $0xf, %eax
movl %eax, -0x840(%rbp)
movq -0x7f8(%rbp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x4f370
cmpl $0x3fc, -0x840(%rbp)    # imm = 0x3FC
jb 0x3aaa0
movq -0x7f8(%rbp), %rax
addq $0x4, %rax
movq %rax, -0x7f8(%rbp)
movq -0x7f8(%rbp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x4f370
movl -0x840(%rbp), %eax
subl $0x3fc, %eax            # imm = 0x3FC
movl %eax, -0x840(%rbp)
jmp 0x3aa5e
movl -0x840(%rbp), %eax
movl $0xff, %ecx
xorl %edx, %edx
divl %ecx
movl %eax, %ecx
movq -0x7f8(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, -0x7f8(%rbp)
movl -0x840(%rbp), %eax
movl $0xff, %ecx
xorl %edx, %edx
divl %ecx
movb %dl, %cl
movq -0x7f8(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x7f8(%rbp)
movb %cl, (%rax)
jmp 0x3ab05
movl -0x840(%rbp), %eax
movzbl %al, %edx
movq -0x820(%rbp), %rax
movzbl (%rax), %ecx
addl %edx, %ecx
movb %cl, (%rax)
movq -0x7a0(%rbp), %rax
movq %rax, -0x7d8(%rbp)
movq -0x7a0(%rbp), %rax
cmpq -0x7e8(%rbp), %rax
jbe 0x3ab28
jmp 0x3aeb2
movq -0x7a0(%rbp), %rsi
addq $-0x2, %rsi
movq -0x768(%rbp), %rdx
movl -0x788(%rbp), %ecx
movq -0x7a8(%rbp), %rax
movq %rsi, -0x298(%rbp)
movq %rdx, -0x2a0(%rbp)
movl %ecx, -0x2a4(%rbp)
movq %rax, -0x2b0(%rbp)
movq -0x298(%rbp), %rcx
movl -0x2a4(%rbp), %eax
movq %rcx, -0x250(%rbp)
movl %eax, -0x254(%rbp)
cmpl $0x2, -0x254(%rbp)
je 0x3aba7
movq -0x250(%rbp), %rdi
callq 0x4f420
movq %rax, %rdi
movl -0x254(%rbp), %esi
callq 0x4f390
movl %eax, -0x248(%rbp)
jmp 0x3abc6
movq -0x250(%rbp), %rdi
callq 0x4f100
movl %eax, %edi
movl -0x254(%rbp), %esi
callq 0x4f440
movl %eax, -0x248(%rbp)
movl -0x248(%rbp), %eax
movl %eax, -0x2b4(%rbp)
movq -0x298(%rbp), %rdi
movl -0x2b4(%rbp), %esi
movq -0x2a0(%rbp), %rdx
movl -0x2a4(%rbp), %ecx
movq -0x2b0(%rbp), %r8
callq 0x4f060
movq -0x7a0(%rbp), %rsi
movq -0x768(%rbp), %rdx
movl -0x788(%rbp), %ecx
movq -0x7a8(%rbp), %rax
movq %rsi, -0x20(%rbp)
movq %rdx, -0x28(%rbp)
movl %ecx, -0x2c(%rbp)
movq %rax, -0x38(%rbp)
movq -0x20(%rbp), %rcx
movl -0x2c(%rbp), %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
cmpl $0x2, -0x14(%rbp)
je 0x3ac4f
movq -0x10(%rbp), %rdi
callq 0x4f420
movq %rax, %rdi
movl -0x14(%rbp), %esi
callq 0x4f390
movl %eax, -0x4(%rbp)
jmp 0x3ac65
movq -0x10(%rbp), %rdi
callq 0x4f100
movl %eax, %edi
movl -0x14(%rbp), %esi
callq 0x4f440
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
movl %eax, -0x3c(%rbp)
movl -0x3c(%rbp), %edi
movq -0x28(%rbp), %rsi
movl -0x2c(%rbp), %edx
movq -0x38(%rbp), %rcx
callq 0x4efe0
movq %rax, -0x818(%rbp)
cmpl $0x2, -0x78c(%rbp)
jne 0x3acd7
movq -0x818(%rbp), %rax
cmpq -0x770(%rbp), %rax
jae 0x3acbc
movq -0x7d0(%rbp), %rax
movq %rax, -0x810(%rbp)
movq -0x7c0(%rbp), %rax
movq %rax, -0x7b0(%rbp)
jmp 0x3acd5
movq $0x0, -0x810(%rbp)
movq -0x770(%rbp), %rax
movq %rax, -0x7b0(%rbp)
jmp 0x3acd7
movq -0x7a0(%rbp), %rsi
movq -0x768(%rbp), %rdx
movl -0x788(%rbp), %ecx
movq -0x7a8(%rbp), %rax
movq %rsi, -0x2c0(%rbp)
movq %rdx, -0x2c8(%rbp)
movl %ecx, -0x2cc(%rbp)
movq %rax, -0x2d8(%rbp)
movq -0x2c0(%rbp), %rcx
movl -0x2cc(%rbp), %eax
movq %rcx, -0x240(%rbp)
movl %eax, -0x244(%rbp)
cmpl $0x2, -0x244(%rbp)
je 0x3ad52
movq -0x240(%rbp), %rdi
callq 0x4f420
movq %rax, %rdi
movl -0x244(%rbp), %esi
callq 0x4f390
movl %eax, -0x238(%rbp)
jmp 0x3ad71
movq -0x240(%rbp), %rdi
callq 0x4f100
movl %eax, %edi
movl -0x244(%rbp), %esi
callq 0x4f440
movl %eax, -0x238(%rbp)
movl -0x238(%rbp), %eax
movl %eax, -0x2dc(%rbp)
movq -0x2c0(%rbp), %rdi
movl -0x2dc(%rbp), %esi
movq -0x2c8(%rbp), %rdx
movl -0x2cc(%rbp), %ecx
movq -0x2d8(%rbp), %r8
callq 0x4f060
cmpl $0x1, -0x790(%rbp)
jne 0x3adbe
movq -0x818(%rbp), %rax
cmpq -0x7b8(%rbp), %rax
jae 0x3adc0
jmp 0x3ae32
jmp 0x3adc0
movq -0x818(%rbp), %rax
addq $0xffff, %rax           # imm = 0xFFFF
cmpq -0x7a0(%rbp), %rax
jb 0x3ae32
movq -0x818(%rbp), %rdi
addq -0x810(%rbp), %rdi
callq 0x4f100
movl %eax, -0x934(%rbp)
movq -0x7a0(%rbp), %rdi
callq 0x4f100
movl %eax, %ecx
movl -0x934(%rbp), %eax
cmpl %ecx, %eax
jne 0x3ae32
movq -0x7f8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x7f8(%rbp)
movq %rax, -0x820(%rbp)
movq -0x820(%rbp), %rax
movb $0x0, (%rax)
jmp 0x3a854
movq -0x7a0(%rbp), %rcx
addq $0x1, %rcx
movq %rcx, -0x7a0(%rbp)
movl -0x788(%rbp), %eax
movq %rcx, -0x110(%rbp)
movl %eax, -0x114(%rbp)
cmpl $0x2, -0x114(%rbp)
je 0x3ae82
movq -0x110(%rbp), %rdi
callq 0x4f420
movq %rax, %rdi
movl -0x114(%rbp), %esi
callq 0x4f390
movl %eax, -0x108(%rbp)
jmp 0x3aea1
movq -0x110(%rbp), %rdi
callq 0x4f100
movl %eax, %edi
movl -0x114(%rbp), %esi
callq 0x4f440
movl %eax, -0x108(%rbp)
movl -0x108(%rbp), %eax
movl %eax, -0x804(%rbp)
jmp 0x3a414
movq -0x7e0(%rbp), %rax
movq -0x7d8(%rbp), %rcx
subq %rcx, %rax
movq %rax, -0x858(%rbp)
cmpl $0x0, -0x784(%rbp)
je 0x3af38
movq -0x7f8(%rbp), %rax
movq -0x778(%rbp), %rcx
subq %rcx, %rax
addq -0x858(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x940(%rbp)
movq -0x858(%rbp), %rax
addq $0xff, %rax
subq $0xf, %rax
movl $0xff, %ecx
xorl %edx, %edx
divq %rcx
movq %rax, %rcx
movq -0x940(%rbp), %rax
addq %rcx, %rax
movl -0x780(%rbp), %ecx
cmpq %rcx, %rax
jbe 0x3af38
movl $0x0, -0x75c(%rbp)
jmp 0x3b037
cmpq $0xf, -0x858(%rbp)
jb 0x3afcd
movq -0x858(%rbp), %rax
subq $0xf, %rax
movq %rax, -0x860(%rbp)
movq -0x7f8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x7f8(%rbp)
movb $-0x10, (%rax)
cmpq $0xff, -0x860(%rbp)
jb 0x3afab
movq -0x7f8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x7f8(%rbp)
movb $-0x1, (%rax)
movq -0x860(%rbp), %rax
subq $0xff, %rax
movq %rax, -0x860(%rbp)
jmp 0x3af70
movq -0x860(%rbp), %rax
movb %al, %cl
movq -0x7f8(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x7f8(%rbp)
movb %cl, (%rax)
jmp 0x3aff1
movq -0x858(%rbp), %rax
shlq $0x4, %rax
movb %al, %cl
movq -0x7f8(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x7f8(%rbp)
movb %cl, (%rax)
movq -0x7f8(%rbp), %rdi
movq -0x7d8(%rbp), %rsi
movq -0x858(%rbp), %rdx
callq 0x6410
movq -0x858(%rbp), %rax
addq -0x7f8(%rbp), %rax
movq %rax, -0x7f8(%rbp)
movq -0x7f8(%rbp), %rax
movq -0x778(%rbp), %rcx
subq %rcx, %rax
movl %eax, -0x75c(%rbp)
movl -0x75c(%rbp), %eax
movl %eax, -0x864(%rbp)
movl -0x864(%rbp), %eax
addq $0x940, %rsp            # imm = 0x940
popq %rbp
retq
nopw %cs:(%rax,%rax)