Function at 0x140149ab0
Capabilities:
Encrypt data using speck

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x1e8
mov rax, qword [rcx]
mov qword [rsp + 0x178], 0
mov r14, rcx
mov dword [rsp + 0x170], 0x64
mov dword [rsp + 0x174], 0x64
mov dword [rsp + 0x178], 0x64
mov r8d, dword [rax + 0x288]
test r8d, r8d
jne 0x140149b16
add rsp, 0x1e8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rbx, qword [rcx + 0x468]
mov esi, dword [rcx + 0x458]
mov edx, dword [rcx + 0x470]
test edx, edx
je 0x140149b02
mov ecx, dword [rax + 0x300]
test ecx, ecx
jne 0x140149b02
mov rdx, qword [rax + 0x2a0]
test rdx, rdx
je 0x140149b4a
cmp qword [rdx + 0x30], 0
jne 0x140149b02
cmp qword [r14 + 0x4f0], 0
je 0x140149b02
mov edx, dword [r14 + 0x528]
test edx, edx
jne 0x140149b02
mov r10d, dword [r14 + 0x470]
mov edx, dword [rax + 0x148]
mov rcx, rax
add edx, dword [rax + 0x144]
mov r9d, dword [r14 + 0x454]
mov r8d, edx
lea edx, [r9 + r9*2]
imul edx, r8d
cmp r10d, edx
je 0x140149b02
mov rdi, qword [r14 + 0x4f0]
cmp r9d, 0
mov qword [rsp + 0xb8], rdi
jle 0x140149c3d
lea edx, [rsi - 1]
xor r8d, r8d
movsxd rdx, edx
imul rdx, qword [r14 + 0x460]
add rdx, qword [r14 + 0x478]
cmp byte [rdx], 0x7f
je 0x140149bd9
jmp 0x140149c3f
add rdx, 1
cmp byte [rdx], 0x7f
jne 0x140149c3f
add r8d, 1
cmp r9d, r8d
jne 0x140149bd0
cmp dword [rax + 0x18], 2
jne 0x140149c3f
mov edi, dword [rax + 0x78]
lea edx, [rdi + 0xf]
and edx, 0x10
je 0x140149c3f
mov r10d, dword [r14 + 0x470]
mov edx, dword [rax + 0x148]
lea r8d, [r9 + r9*2]
add edx, dword [rax + 0x144]
mov rcx, rax
add edx, 1
imul edx, r8d
cmp r10d, edx
jne 0x140149c3f
lea r8, str.ignoring_last_missing_slice_n
mov edx, 0x30
add rsp, 0x1e8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp fcn.14036cf30
je 0x140149be2
mov rdx, qword [r14 + 0x530]
test rdx, rdx
je 0x140149cb0
mov rdi, qword [rsp + 0xb8]
mov r11, qword [rdi + 0x68]
cmp qword [rdx + 0x68], r11
jne 0x140149c65
mov edi, dword [rdi + 0x74]
cmp dword [rdx + 0x74], edi
je 0x140149cb0
lea r8, str.Cannot_use_previous_picture_in_error_concealment_n
lea rdi, [r14 + 0x538]
mov rcx, rax
mov edx, 0x18
call fcn.14036cf30
and rdi, 0xfffffffffffffff8
mov eax, r14d
mov qword [r14 + 0x530], 0
sub eax, edi
mov qword [r14 + 0x568], 0
lea ecx, [rax + 0x570]
xor eax, eax
shr ecx, 3
rep stosq qword [rdi], rax
mov rcx, qword [r14]
mov rax, qword [r14 + 0x570]
test rax, rax
je 0x140149d1d
mov rdx, qword [r14 + 0x4f0]
mov rdi, qword [rdx + 0x68]
cmp qword [rax + 0x68], rdi
jne 0x140149cd5
mov edi, dword [rdx + 0x74]
cmp dword [rax + 0x74], edi
je 0x140149d1d
lea r8, str.Cannot_use_next_picture_in_error_concealment_n
lea rdi, [r14 + 0x578]
mov edx, 0x18
call fcn.14036cf30
and rdi, 0xfffffffffffffff8
mov eax, r14d
mov qword [r14 + 0x570], 0
sub eax, edi
mov qword [r14 + 0x5a8], 0
lea ecx, [rax + 0x5b0]
xor eax, eax
shr ecx, 3
rep stosq qword [rdi], rax
mov rcx, qword [r14]
cmp qword [r14 + 0x500], 0
je 0x14014a3a8
cmp qword [r14 + 0x510], 0
je 0x14014a3a8
test byte [rcx + 0x28d], 4
jne 0x14014a31c
mov edx, dword [r14 + 0x450]
mov ecx, 1
mov ebx, 1
mov r11d, 8
xor r10d, r10d
mov r8d, edx
sub r8d, 1
js 0x140149ddf
movsxd rax, r8d
mov r9d, ebx
mov r8d, r8d
shl r9d, cl
mov edi, r11d
lea rdx, [rax*4]
sub rax, r8
shl edi, cl
mov esi, r9d
lea r13, [rax*4 - 4]
xor eax, eax
jmp 0x140149db3
test r12d, edi
jne 0x140149dd1
test eax, eax
jne 0x140149dd1
or r12d, esi
mov byte [r8], r12b
and ebp, 1
cmovne eax, r10d
sub rdx, 4
cmp rdx, r13
je 0x140149dd8
mov r8, qword [r14 + 0x448]
movsxd r8, dword [r8 + rdx]
add r8, qword [r14 + 0x478]
movzx r12d, byte [r8]
test r12d, r9d
mov ebp, r12d
je 0x140149d94
mov eax, 1
jmp 0x140149da3
mov edx, dword [r14 + 0x450]
add ecx, 1
cmp ecx, 4
jne 0x140149d60
mov r15d, dword [r14 + 0x5d8]
test r15d, r15d
je 0x140149e76
mov ecx, edx
sub ecx, 1
js 0x140149e76
movsxd rax, ecx
mov ecx, ecx
xor r9d, r9d
lea r8, [rax*4]
sub rax, rcx
lea r10, [rax*4 - 4]
xor eax, eax
jmp 0x140149e42
test dl, 0x62
jne 0x140149e68
test eax, eax
jne 0x140149e68
mov eax, edx
or eax, 2
mov byte [rcx], al
xor eax, eax
and edx, 1
cmovne eax, r9d
sub r8, 4
cmp r8, r10
je 0x140149e6f
mov rdx, qword [r14 + 0x448]
movsxd rcx, dword [rdx + r8]
add rcx, qword [r14 + 0x478]
movzx edx, byte [rcx]
test dl, 0x10
je 0x140149e20
test dl, 0x62
mov eax, 1
jne 0x140149e32
jmp 0x140149e29
mov eax, 1
jmp 0x140149e32
mov edx, dword [r14 + 0x450]
mov rax, qword [r14]
test byte [rax + 0x290], 8
jne 0x140149fb5
lea r9, [rsp + 0x170]
mov eax, 0x98967f
mov ecx, 1
mov ebp, 1
mov r15d, 0x98967f
mov r8d, edx
sub r8d, 1
js 0x140149f4e
movsxd rdx, r8d
mov ebx, ebp
mov r8d, r8d
shl ebx, cl
lea r10, [rdx*4]
sub rdx, r8
mov r11d, ebx
lea r12, [rdx*4 - 4]
jmp 0x140149ef3
mov r13d, dword [r14 + 0x5d8]
test r13d, r13d
jne 0x140149f40
cmp eax, 0x31
jle 0x140149f36
and edx, 1
cmovne eax, r15d
sub r10, 4
cmp r10, r12
je 0x140149f47
mov rdx, qword [r14 + 0x448]
mov rdi, qword [r14 + 0x4a0]
movsxd rsi, dword [rdx + r10]
mov r8, rsi
add r8, qword [r14 + 0x478]
test rdi, rdi
movzx r13d, byte [r8]
mov edx, r13d
je 0x140149f21
cmp byte [rdi + rsi], 0
jne 0x140149f24
add eax, 1
test r13d, ebx
je 0x140149ed2
mov esi, dword [r14 + 0x5d8]
xor eax, eax
test esi, esi
jne 0x140149f40
mov esi, edx
or esi, r11d
mov byte [r8], sil
jmp 0x140149ee3
cmp dword [r9], eax
jle 0x140149ee3
jmp 0x140149f36
mov edx, dword [r14 + 0x450]
add ecx, 1
add r9, 4
cmp ecx, 4
jne 0x140149ea3
test edx, edx
jle 0x14014a0fd
xor r10d, r10d
xor ecx, ecx
xor r9d, r9d
jmp 0x140149f86
mov ecx, eax
and ecx, 0xe
add r9d, 1
add r10, 4
cmp r9d, edx
jge 0x14014a05a
mov rax, qword [r14 + 0x448]
movsxd r8, dword [rax + r10]
add r8, qword [r14 + 0x478]
movzx eax, byte [r8]
test al, 1
jne 0x140149f70
mov edx, eax
and edx, 0xe
or ecx, edx
or eax, ecx
mov byte [r8], al
mov edx, dword [r14 + 0x450]
jmp 0x140149f75
mov r9d, dword [r14 + 0x454]
lea r8d, [rdx - 2]
add r9d, 0x63
cmp r8d, r9d
jle 0x140149e86
movsxd rdx, r8d
mov ecx, 1
shl rdx, 2
jmp 0x14014a004
cmp r11b, 0x7f
jne 0x140149fee
cmp al, 0x7f
je 0x140149fee
test al, 0x70
jne 0x14014a039
test ecx, ecx
je 0x14014a039
mov ecx, 1
sub r8d, 1
sub rdx, 4
cmp r9d, r8d
jge 0x14014a04e
mov rbx, qword [r14 + 0x448]
mov r11, qword [r14 + 0x478]
movsxd r10, dword [rbx + rdx]
movsxd rbx, dword [rbx + rdx + 4]
add r10, r11
movzx r11d, byte [r11 + rbx]
movzx eax, byte [r10]
test al, 1
je 0x140149fe0
cmp r11b, 0x7f
jne 0x140149ff2
cmp al, 0x7f
je 0x140149ff2
test al, 0x70
je 0x140149ff2
or eax, 0xe
xor ecx, ecx
mov byte [r10], al
mov eax, dword [r14 + 0x454]
lea r9d, [rax + 0x63]
jmp 0x140149ff7
mov edx, dword [r14 + 0x450]
jmp 0x140149e86
mov edi, dword [r14 + 0x5d8]
test edi, edi
jne 0x14014a0a5
xor r8d, r8d
xor ecx, ecx
test edx, edx
jle 0x14014a0fd
mov rax, qword [r14 + 0x448]
movsxd rdx, dword [rax + r8]
add rdx, qword [r14 + 0x478]
movzx eax, byte [rdx]
test al, 0xe
je 0x14014a091
or eax, 0xe
movzx eax, al
mov byte [rdx], al
mov edx, dword [r14 + 0x450]
add ecx, 1
add r8, 4
cmp edx, ecx
jg 0x14014a072
test edx, edx
jle 0x14014a0fd
mov rax, qword [r14 + 0x448]
sub edx, 1
mov r8, qword [r14 + 0x478]
xor esi, esi
xor edi, edi
xor ebx, ebx
lea rcx, [rax + rdx*4 + 4]
movsxd rdx, dword [rax]
movzx edx, byte [r8 + rdx]
mov r9d, edx
and r9d, 4
cmp r9b, 1
mov r9d, edx
sbb ebx, 0xffffffff
and r9d, 2
cmp r9b, 1
sbb esi, 0xffffffff
and edx, 8
cmp dl, 1
sbb edi, 0xffffffff
add rax, 4
cmp rax, rcx
jne 0x14014a0c5
jmp 0x14014a103
xor esi, esi
xor edi, edi
xor ebx, ebx
mov rax, qword [r14 + 0x4f0]
mov ecx, dword [rax + 0x7c]
call fcn.14037f3d0
movsx eax, al
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], esi
mov dword [rsp + 0x30], eax
mov rcx, qword [r14]
lea r8, str.concealing__d_DC___d_AC___d_MV_errors_in__c_frame_n
mov r9d, ebx
mov edx, 0x20
call fcn.14036cf30
mov rcx, qword [r14 + 0x530]
test rcx, rcx
je 0x14014b957
cmp qword [rcx], 0
je 0x14014a661
mov rax, qword [r14]
test byte [rax + 0x289], 1
jne 0x14014b925
mov edx, dword [r14 + 0x450]
test edx, edx
jle 0x14014a4ac
mov r8, qword [r14 + 0x448]
sub edx, 1
mov r10, qword [r14 + 0x478]
xor r9d, r9d
lea r11, [r8 + rdx*4 + 4]
mov rax, r8
movsxd rdx, dword [rax]
movzx edx, byte [r10 + rdx]
and edx, 0xc
cmp dl, 0xc
setne dl
add rax, 4
movzx edx, dl
add r9d, edx
cmp r11, rax
jne 0x14014a18d
cmp r9d, 4
jle 0x14014a6b8
cmp r9d, 0x63
mov dword [rsp + 0x58], 1
jle 0x14014a1dd
mov eax, r9d
mov edx, 0x51eb851f
sar r9d, 0x1f
imul edx
sar edx, 4
sub edx, r9d
mov dword [rsp + 0x58], edx
mov eax, dword [r14 + 0x458]
cmp eax, 1
jle 0x14014a6b8
mov r8d, dword [r14 + 0x454]
xor ebp, ebp
xor r13d, r13d
xor r15d, r15d
test r8d, r8d
jle 0x14014a447
mov eax, ebp
xor edi, edi
shl eax, 4
mov dword [rsp + 0x68], eax
jmp 0x14014a240
mov rdx, qword [r14 + 0x520]
lea eax, [r15 + 1]
lea ebx, [r15 - 1]
test byte [rdx + r9*4], 7
cmove eax, ebx
mov r15d, eax
mov eax, dword [rsp + 0x60]
add rdi, 1
add eax, 1
cmp eax, r8d
jge 0x14014a440
mov r9d, dword [r14 + 0x460]
mov rax, qword [r14 + 0x478]
mov dword [rsp + 0x60], edi
imul r9d, ebp
add r9d, edi
movsxd r9, r9d
movzx eax, byte [rax + r9]
and eax, 0xc
cmp al, 0xc
je 0x14014a22c
add r13d, 1
mov eax, r13d
cdq
idiv dword [rsp + 0x58]
test edx, edx
jne 0x14014a22c
mov r12, qword [r14 + 0x4f0]
cmp dword [r12 + 0x7c], 1
jne 0x14014a212
movsxd r9, dword [r12 + 0x40]
mov esi, dword [rsp + 0x68]
mov rax, rdi
shl rax, 4
imul esi, r9d
movsxd rsi, esi
add rsi, rax
mov rax, qword [r14]
mov rbx, rsi
add rsi, qword [rcx]
add rbx, qword [r12]
cmp dword [rax + 0x18], 0x1b
je 0x14014a2ca
mov rcx, qword [r14 + 0x538]
xor r8d, r8d
mov edx, ebp
call fcn.1401020b0
movsxd r9, dword [r12 + 0x40]
mov r8, rbx
mov rdx, rsi
xor ecx, ecx
mov dword [rsp + 0x20], 0x10
call qword [r14 + 0x10]
movsxd r9, dword [r12 + 0x40]
lea ebx, [rax + r15]
xor ecx, ecx
mov dword [rsp + 0x20], 0x10
mov rdx, rsi
mov eax, r9d
shl eax, 4
cdqe
lea r8, [rsi + rax]
call qword [r14 + 0x10]
sub ebx, eax
mov r8d, dword [r14 + 0x454]
mov rcx, qword [r14 + 0x530]
mov r15d, ebx
jmp 0x14014a22c
mov eax, dword [r14 + 0x458]
test eax, eax
jle 0x140149d46
xor esi, esi
xor edi, edi
mov eax, dword [r14 + 0x454]
test eax, eax
jle 0x14014a37e
xor ebx, ebx
nop dword [rax]
mov rax, rsi
mov rdx, rbx
add rdx, qword [r14 + 0x478]
imul rax, qword [r14 + 0x460]
lea r8, str._2X
movzx r9d, byte [rdx + rax]
mov edx, 0x30
call fcn.14036cf30
lea eax, [rbx + 1]
add rbx, 1
cmp dword [r14 + 0x454], eax
mov rcx, qword [r14]
jg 0x14014a340
lea r8, [0x14041896e]
mov edx, 0x30
add edi, 1
add rsi, 1
call fcn.14036cf30
cmp dword [r14 + 0x458], edi
jle 0x140149d46
mov rcx, qword [r14]
jmp 0x14014a32f
imul ebx, esi
lea rbp, [r14 + 0x5b0]
lea r8, str.Warning_MVs_not_available_n
lea rsi, [r14 + 0x5c0]
mov edx, 0x10
call fcn.14036cf30
lea edi, [rbx*8 + 0x10]
mov rbx, rbp
mov ecx, dword [r14 + 0x458]
imul ecx, dword [r14 + 0x460]
shl ecx, 2
call fcn.140351a20
mov ecx, edi
mov qword [rbx], rax
call fcn.140351a20
mov rdx, qword [rbx]
mov qword [rbx + 0x10], rax
test rdx, rdx
je 0x14014a6c3
test rax, rax
je 0x14014a6c3
mov rdx, qword [rdx + 8]
add rbx, 8
mov qword [rbx - 0xa8], rdx
mov rax, qword [rax + 8]
add rax, 0x10
mov qword [rbx - 0xb8], rax
cmp rsi, rbx
jne 0x14014a3d4
mov rcx, qword [r14]
jmp 0x140149d39
mov eax, dword [r14 + 0x458]
lea edx, [rax - 1]
add ebp, 1
cmp ebp, edx
jl 0x14014a1fc
mov ebx, dword [r14 + 0x450]
test ebx, ebx
jle 0x14014a4ac
test r15d, r15d
mov rax, qword [r14 + 0x448]
mov rdx, qword [r14 + 0x478]
jg 0x14014a67e
xor r8d, r8d
movsxd r10, dword [rax]
movzx r9d, byte [rdx + r10]
and r9d, 0xc
cmp r9b, 0xc
jne 0x14014a49b
mov r9, qword [r14 + 0x520]
mov dword [r9 + r10*4], 0x3008
add r8d, 1
add rax, 4
cmp dword [r14 + 0x450], r8d
jg 0x14014a47a
test rcx, rcx
je 0x14014b272
cmp qword [rcx], 0
je 0x14014b272
movsxd rax, dword [r14 + 0x458]
test eax, eax
jle 0x14014a945
mov r9d, dword [r14 + 0x454]
lea r12, [r14 + 0x4b0]
xor esi, esi
mov edx, r9d
test r9d, r9d
jle 0x14014a727
lea ebp, [rsi + rsi]
xor edi, edi
xor ebx, ebx
movsxd rbp, ebp
jmp 0x14014a628
xor ecx, ecx
cmp qword [rdx], 1
setb cl
sbb r8d, r8d
not r8d
add r8d, 2
test r10b, 7
jne 0x14014a615
mov rdx, qword [r14 + 0x478]
movzx eax, byte [rdx + rax]
test al, 8
jne 0x14014a615
test al, 2
je 0x14014a615
and r10d, 0x40
je 0x14014a90e
mov r9, qword [r14 + 0x468]
mov rcx, qword [r14 + rcx*8 + 0x500]
lea eax, [r9 + r9]
imul eax, esi
lea eax, [rax + rdi]
movsxd rdx, eax
add eax, 1
lea r10, [rdx*4]
add rdx, r9
cdqe
lea rdx, [rcx + rdx*4]
add rax, r9
mov r9d, 1
lea r11, [rcx + r10]
lea r10, [rcx + r10 + 4]
lea rax, [rcx + rax*4]
movsx r13d, word [r11]
movsx r11d, word [r11 + 2]
mov dword [r14 + 0x4b4], r11d
movsx r11d, word [r10]
movsx r10d, word [r10 + 2]
mov dword [r14 + 0x4b0], r13d
mov dword [r14 + 0x4b8], r11d
mov dword [r14 + 0x4bc], r10d
movsx r10d, word [rdx]
movsx edx, word [rdx + 2]
mov dword [r14 + 0x4c0], r10d
mov dword [r14 + 0x4c4], edx
movsx edx, word [rax]
movsx eax, word [rax + 2]
mov dword [r14 + 0x4c8], edx
mov dword [r14 + 0x4cc], eax
mov rcx, qword [r14 + 0x5e8]
xor edx, edx
mov dword [rsp + 0x40], 0
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x30], esi
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], r12
call qword [r14 + 0x5e0]
mov r9d, dword [r14 + 0x454]
add ebx, 1
add rdi, 2
mov edx, r9d
cmp r9d, ebx
jle 0x14014a720
mov eax, dword [r14 + 0x460]
mov rdx, qword [r14 + 0x520]
imul eax, esi
add eax, ebx
cdqe
mov r10d, dword [rdx + rax*4]
mov rdx, qword [r14 + 0x530]
test rdx, rdx
jne 0x14014a500
mov ecx, 1
mov r8d, 2
jmp 0x14014a513
mov edx, dword [r14 + 0x450]
test edx, edx
jle 0x14014b272
mov rax, qword [r14 + 0x448]
mov rdx, qword [r14 + 0x478]
xor r8d, r8d
movsxd r10, dword [rax]
movzx r9d, byte [rdx + r10]
and r9d, 0xc
cmp r9b, 0xc
jne 0x14014a6a2
mov r9, qword [r14 + 0x520]
mov dword [r9 + r10*4], 1
add r8d, 1
add rax, 4
cmp dword [r14 + 0x450], r8d
jg 0x14014a681
jmp 0x14014a4ac
mov rax, r8
mov rdx, r10
jmp 0x14014a477
mov rcx, rbp
call fcn.140351b30
mov rcx, rsi
call fcn.140351b30
lea rcx, [r14 + 0x5b8]
mov qword [r14 + 0x510], 0
mov qword [r14 + 0x500], 0
call fcn.140351b30
lea rcx, [r14 + 0x5c8]
call fcn.140351b30
mov qword [r14 + 0x518], 0
mov qword [r14 + 0x508], 0
jmp 0x140149b02
movsxd rax, dword [r14 + 0x458]
add esi, 1
cmp esi, eax
jl 0x14014a4e1
mov dword [rsp + 0x68], edx
mov rdx, qword [r14 + 0x4f0]
cmp dword [rdx + 0x7c], 3
je 0x14014b2d4
mov rcx, qword [r14 + 0x530]
mov rsi, qword [r14 + 0x460]
test rcx, rcx
mov qword [rsp + 0x90], rsi
je 0x14014d3ed
cmp qword [rcx], 0
je 0x14014d3ed
mov edx, dword [rcx + 0x6c]
add edx, 0xf
sar edx, 4
cmp edx, eax
cmovg edx, eax
mov dword [rsp + 0x58], edx
mov rdx, qword [r14 + 0x570]
test rdx, rdx
je 0x14014a7aa
cmp qword [rdx], 0
je 0x14014a7aa
mov edx, dword [rdx + 0x6c]
mov edi, dword [rsp + 0x58]
add edx, 0xf
sar edx, 4
cmp edi, edx
cmovle edx, edi
mov dword [rsp + 0x58], edx
imul rax, qword [rsp + 0x90]
mov rsi, qword [r14 + 0x480]
mov qword [rsp + 0x70], rsi
shl rax, 3
lea rdi, [rsi + rax]
lea r12, [rdi + rax]
mov rax, qword [r14]
mov qword [rsp + 0xe8], rdi
cmp dword [rax + 0x18], 0x1b
je 0x14014d3b7
mov rax, qword [r14 + 0x468]
mov dword [rsp + 0xf4], 2
mov qword [rsp + 0x80], 2
mov qword [rsp + 0x78], rax
cmp qword [r14 + 0x540], 0
je 0x14014a823
mov eax, dword [rsp + 0x58]
mov rcx, qword [r14 + 0x538]
xor r8d, r8d
lea edx, [rax - 1]
call fcn.1401020b0
mov eax, dword [rsp + 0x58]
imul eax, dword [rsp + 0x68]
test eax, eax
mov dword [rsp + 0x148], eax
jle 0x14014b97b
sub eax, 1
xor r9d, r9d
xor r10d, r10d
lea r11, [rax*4 + 4]
jmp 0x14014a866
mov byte [r12 + rax], 8
add r10d, 1
add r9, 4
cmp r11, r9
je 0x14014b97e
mov rax, qword [r14 + 0x448]
mov r8, qword [r14 + 0x520]
mov rdx, qword [r14 + 0x478]
movsxd rax, dword [rax + r9]
test byte [r8 + rax*4], 7
mov rcx, rax
movzx edx, byte [rdx + rax]
jne 0x14014a850
and edx, 8
je 0x14014a850
mov byte [r12 + rax], 0
mov rdx, qword [r14 + 0x530]
cmp qword [rdx], 0
je 0x14014a859
mov r8, qword [r14 + 0x540]
test r8, r8
je 0x14014a859
cqo
idiv qword [r14 + 0x460]
imul eax, dword [rsp + 0x78]
add eax, edx
imul eax, dword [rsp + 0xf4]
cdqe
shl rax, 2
mov rdx, rax
add rax, r8
add rdx, qword [r14 + 0x500]
movzx r8d, word [rax]
mov word [rdx], r8w
movzx eax, word [rax + 2]
mov word [rdx + 2], ax
mov rdx, qword [r14 + 0x550]
lea eax, [rcx*4]
cdqe
movzx ecx, byte [rdx + rax]
mov rdx, qword [r14 + 0x510]
mov byte [rdx + rax], cl
jmp 0x14014a859
mov rax, rbp
mov rdx, qword [r14 + rcx*8 + 0x500]
xor r9d, r9d
imul rax, qword [r14 + 0x468]
add rax, rdi
lea rax, [rdx + rax*4]
movsx edx, word [rax]
movsx eax, word [rax + 2]
mov dword [r14 + 0x4b0], edx
mov dword [r14 + 0x4b4], eax
jmp 0x14014a5e1
mov rdx, qword [r14 + 0x4f0]
mov esi, dword [r14 + 0x454]
cmp dword [rdx + 0x7c], 3
mov dword [rsp + 0x68], esi
jne 0x14014a74e
mov rsi, qword [r14 + 0x468]
mov dword [rsp + 0xa0], eax
mov r9d, eax
mov qword [rsp + 0x60], rsi
mov rsi, qword [r14 + 0x488]
mov qword [rsp + 0x80], rsi
mov rdx, rsi
mov rax, qword [rsp + 0x60]
mov r8d, dword [rsp + 0x68]
add r9d, r9d
mov rcx, r14
mov dword [rsp + 0x28], 1
add r8d, r8d
mov qword [rsp + 0x20], rax
call fcn.14039b9d0
mov rdx, qword [r14 + 0x490]
mov dword [rsp + 0x28], 0
mov rcx, r14
mov rax, qword [r14 + 0x460]
mov qword [rsp + 0x20], rax
mov r9d, dword [r14 + 0x458]
mov r8d, dword [r14 + 0x454]
call fcn.14039b9d0
mov rdx, qword [r14 + 0x498]
mov dword [rsp + 0x28], 0
mov rcx, r14
mov rax, qword [r14 + 0x460]
mov qword [rsp + 0x20], rax
mov r8d, dword [r14 + 0x454]
mov r9d, dword [r14 + 0x458]
call fcn.14039b9d0
mov r15d, dword [r14 + 0x458]
mov r8d, dword [r14 + 0x454]
mov rsi, qword [r14 + 0x488]
mov r11, qword [r14 + 0x468]
lea r10d, [r15 + r15 - 1]
lea eax, [r8 + r8]
mov qword [rsp + 0x58], rsi
cmp r10d, 1
lea edi, [rax - 1]
jle 0x14014aae0
lea edi, [rax - 1]
sub eax, 3
mov rbx, rsi
lea rax, [rax + rax + 2]
lea rsi, [r11 + r11]
mov r13d, 1
mov ebp, 0x27ffa
mov qword [rsp + 0x60], rsi
lea rbx, [rbx + rsi + 4]
mov qword [rsp + 0x68], rax
mov esi, 0xfffd0006
cmp edi, 1
movsx eax, word [rbx - 4]
jle 0x14014aad2
mov rcx, qword [rsp + 0x68]
mov rdx, rbx
lea r12, [rcx + rbx]
movsx ecx, word [rbx - 2]
mov r9d, ecx
lea ecx, [rcx*8]
sub ecx, eax
mov eax, ecx
movsx ecx, word [rdx]
sub eax, ecx
cmp eax, 0x27ffa
cmovg eax, ebp
cmp eax, 0xfffd0006
cmovl eax, esi
add rdx, 2
imul eax, eax, 0x2aab
add eax, 0x8000
sar eax, 0x10
mov word [rdx - 4], ax
cmp r12, rdx
mov eax, r9d
jne 0x14014aa91
add r13d, 1
add rbx, qword [rsp + 0x60]
cmp r13d, r10d
jne 0x14014aa78
cmp edi, 1
jle 0x14014ab6f
mov rbx, qword [rsp + 0x58]
lea eax, [rdi - 2]
mov ebp, 0x27ffa
mov edi, 0xfffd0006
lea rsi, [rbx + 2]
lea r12, [rbx + rax*2 + 4]
lea rbx, [r11 + r11]
cmp r10d, 1
movsx r13d, word [rsi]
lea rdx, [rsi + rbx]
mov ecx, 1
jle 0x14014ab66
nop dword [rax + rax]
movsx r9d, word [rdx]
add ecx, 1
lea eax, [r9*8]
sub eax, r13d
movsx r13d, word [rdx + r11*2]
sub eax, r13d
mov r13d, r9d
cmp eax, 0x27ffa
cmovg eax, ebp
cmp eax, 0xfffd0006
cmovl eax, edi
imul eax, eax, 0x2aab
add eax, 0x8000
sar eax, 0x10
mov word [rdx], ax
add rdx, rbx
cmp ecx, r10d
jne 0x14014ab20
add rsi, 2
cmp rsi, r12
jne 0x14014ab08
test r15d, r15d
mov qword [rsp + 0x88], 0
mov dword [rsp + 0x68], 0
mov rsi, r14
jle 0x14014afcd
test r8d, r8d
jle 0x14014afaf
mov edi, dword [rsp + 0x68]
mov qword [rsp + 0x70], 0
mov rbx, rsi
mov dword [rsp + 0x58], 0
mov eax, edi
shl eax, 4
mov dword [rsp + 0x90], eax
mov eax, edi
lea edi, [rdi*8]
add eax, eax
mov dword [rsp + 0xf0], edi
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x68]
mov edi, dword [rsp + 0x58]
imul eax, dword [rbx + 0x460]
mov rdx, qword [rbx + 0x520]
add eax, edi
cdqe
test byte [rdx + rax*4], 0x78
jne 0x14014af8d
mov rdx, qword [rbx + 0x478]
test byte [rdx + rax], 2
je 0x14014af8d
mov r10, qword [rsp + 0xb8]
mov r8d, dword [rsp + 0x90]
mov rcx, qword [rsp + 0x70]
mov r11d, dword [rsp + 0xf0]
mov rax, qword [rbx + 0x4f0]
mov dword [rsp + 0x60], 0
imul r8d, dword [r10 + 0x40]
mov rdx, rcx
lea rcx, [rcx*8]
shl rdx, 4
movsxd r8, r8d
add r8, rdx
mov edx, dword [r10 + 0x44]
add r8, qword [rax]
imul edx, r11d
imul r11d, dword [r10 + 0x48]
movsxd rdx, edx
add rdx, rcx
mov rsi, rdx
mov rdx, qword [rax + 0x10]
add rsi, qword [rax + 8]
movsxd r11, r11d
add rcx, r11
test rdx, rdx
lea r11, [rdx + rcx]
mov ecx, 0
cmove rsi, rcx
cmove r11, rcx
add edi, edi
mov qword [rsp + 0x98], rsi
mov dword [rsp + 0x78], edi
mov qword [rsp + 0xa0], r11
mov edx, dword [rsp + 0x60]
mov esi, dword [rsp + 0x80]
mov edi, dword [rsp + 0x78]
mov r10d, edx
sar edx, 1
lea ecx, [rdx + rsi]
and r10d, 1
mov esi, 0x7f8
movsxd rcx, ecx
imul rcx, qword [rbx + 0x468]
mov r9, rcx
lea ecx, [r10 + rdi]
mov edi, 0
movsxd rcx, ecx
add rcx, r9
mov r9, qword [rbx + 0x488]
movsx ecx, word [r9 + rcx*2]
cmp ecx, 0x7f8
cmovg ecx, esi
shl r10d, 3
test ecx, ecx
lea r15d, [r10 + 1]
lea r14d, [r10 + 2]
cmovs ecx, edi
shl edx, 3
lea r13d, [r10 + 3]
lea r12d, [r10 + 4]
lea ebp, [r10 + 5]
lea edi, [r10 + 6]
lea esi, [r10 + 7]
lea r11d, [rdx + 8]
shr ecx, 3
mov r9d, dword [rax + 0x40]
imul r9d, edx
add r9d, r10d
movsxd r9, r9d
mov byte [r8 + r9], cl
mov r9d, dword [rax + 0x40]
imul r9d, edx
add r9d, r15d
movsxd r9, r9d
mov byte [r8 + r9], cl
mov r9d, dword [rax + 0x40]
imul r9d, edx
add r9d, r14d
movsxd r9, r9d
mov byte [r8 + r9], cl
mov r9d, dword [rax + 0x40]
imul r9d, edx
add r9d, r13d
movsxd r9, r9d
mov byte [r8 + r9], cl
mov r9d, dword [rax + 0x40]
imul r9d, edx
add r9d, r12d
movsxd r9, r9d
mov byte [r8 + r9], cl
mov r9d, dword [rax + 0x40]
imul r9d, edx
add r9d, ebp
movsxd r9, r9d
mov byte [r8 + r9], cl
mov r9d, dword [rax + 0x40]
imul r9d, edx
add r9d, edi
movsxd r9, r9d
mov byte [r8 + r9], cl
mov r9d, dword [rax + 0x40]
imul r9d, edx
add edx, 1
add r9d, esi
cmp r11d, edx
movsxd r9, r9d
mov byte [r8 + r9], cl
jne 0x14014ad22
add dword [rsp + 0x60], 1
mov edi, dword [rsp + 0x60]
cmp edi, 4
jne 0x14014aca1
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rbx + 0x490]
mov edi, 0x7f8
imul rdx, qword [rbx + 0x460]
mov r8, qword [rbx + 0x498]
mov r11, qword [rsp + 0xa0]
mov rsi, qword [rsp + 0x98]
add rdx, qword [rsp + 0x70]
movsx ecx, word [rcx + rdx*2]
movsx edx, word [r8 + rdx*2]
cmp ecx, 0x7f8
cmovg ecx, edi
mov edi, 0
test ecx, ecx
cmovs ecx, edi
cmp edx, 0x7f8
mov edi, 0x7f8
cmovg edx, edi
mov edi, 0
test edx, edx
cmovs edx, edi
shr ecx, 3
shr edx, 3
mov r8d, ecx
mov ecx, edx
xor edx, edx
test r11, r11
je 0x14014af86
mov r9d, dword [rax + 0x44]
imul r9d, edx
movsxd r9, r9d
mov byte [rsi + r9], r8b
mov r9d, dword [rax + 0x48]
imul r9d, edx
movsxd r9, r9d
mov byte [r11 + r9], cl
mov r9d, dword [rax + 0x44]
imul r9d, edx
add r9d, 1
movsxd r9, r9d
mov byte [rsi + r9], r8b
mov r9d, dword [rax + 0x48]
imul r9d, edx
add r9d, 1
movsxd r9, r9d
mov byte [r11 + r9], cl
mov r9d, dword [rax + 0x44]
imul r9d, edx
add r9d, 2
movsxd r9, r9d
mov byte [rsi + r9], r8b
mov r9d, dword [rax + 0x48]
imul r9d, edx
add r9d, 2
movsxd r9, r9d
mov byte [r11 + r9], cl
mov r9d, dword [rax + 0x44]
imul r9d, edx
add r9d, 3
movsxd r9, r9d
mov byte [rsi + r9], r8b
mov r9d, dword [rax + 0x48]
imul r9d, edx
add r9d, 3
movsxd r9, r9d
mov byte [r11 + r9], cl
mov r9d, dword [rax + 0x44]
imul r9d, edx
add r9d, 4
movsxd r9, r9d
mov byte [rsi + r9], r8b
mov r9d, dword [rax + 0x48]
imul r9d, edx
add r9d, 4
movsxd r9, r9d
mov byte [r11 + r9], cl
mov r9d, dword [rax + 0x44]
imul r9d, edx
add r9d, 5
movsxd r9, r9d
mov byte [rsi + r9], r8b
mov r9d, dword [rax + 0x48]
imul r9d, edx
add r9d, 5
movsxd r9, r9d
mov byte [r11 + r9], cl
mov r9d, dword [rax + 0x44]
imul r9d, edx
add r9d, 6
movsxd r9, r9d
mov byte [rsi + r9], r8b
mov r9d, dword [rax + 0x48]
imul r9d, edx
add r9d, 6
movsxd r9, r9d
mov byte [r11 + r9], cl
mov r9d, dword [rax + 0x44]
imul r9d, edx
add r9d, 7
movsxd r9, r9d
mov byte [rsi + r9], r8b
mov r9d, dword [rax + 0x48]
imul r9d, edx
add edx, 1
add r9d, 7
cmp edx, 8
movsxd r9, r9d
mov byte [r11 + r9], cl
jne 0x14014ae52
mov r8d, dword [rbx + 0x454]
add dword [rsp + 0x58], 1
add qword [rsp + 0x70], 1
mov eax, dword [rsp + 0x58]
cmp eax, r8d
jl 0x14014abd5
mov r15d, dword [rbx + 0x458]
mov rsi, rbx
add dword [rsp + 0x68], 1
add qword [rsp + 0x88], 1
mov eax, dword [rsp + 0x68]
cmp eax, r15d
jl 0x14014ab8f
mov r14, rsi
mov rax, qword [r14]
test byte [rax + 0x288], 2
jne 0x14014b131
mov edi, dword [r14 + 0x450]
xor edx, edx
xor eax, eax
test edi, edi
jle 0x14014b045
mov r8, qword [r14 + 0x4a0]
mov rcx, qword [r14 + 0x448]
test r8, r8
movsxd rcx, dword [rcx + rdx]
je 0x14014b024
mov r9, qword [r14 + 0x4f0]
cmp dword [r9 + 0x7c], 3
je 0x14014b024
mov r9, qword [r14 + 0x478]
test byte [r9 + rcx], 0xe
je 0x14014b024
mov byte [r8 + rcx], 0
mov r8, qword [r14 + 0x4a8]
test r8, r8
je 0x14014b035
mov byte [r8 + rcx], 1
add eax, 1
add rdx, 4
cmp dword [r14 + 0x450], eax
jg 0x14014afec
lea rcx, [r14 + 0x5b0]
lea rbx, [r14 + 0x5b8]
lea rdi, [r14 + 0x4f8]
call fcn.140351b30
lea rcx, [r14 + 0x5c0]
and rdi, 0xfffffffffffffff8
call fcn.140351b30
mov rcx, rbx
mov qword [r14 + 0x510], 0
mov qword [r14 + 0x500], 0
call fcn.140351b30
lea rcx, [r14 + 0x5c8]
call fcn.140351b30
mov edx, r14d
lea r8, [r14 + 0x538]
xor eax, eax
sub edx, edi
mov qword [r14 + 0x4f0], 0
mov qword [r14 + 0x528], 0
lea ecx, [rdx + 0x530]
lea rdx, [r14 + 0x578]
shr ecx, 3
rep stosq qword [rdi], rax
mov rdi, r8
mov ecx, r14d
mov qword [r14 + 0x530], 0
and rdi, 0xfffffffffffffff8
mov qword [r14 + 0x568], 0
sub ecx, edi
add ecx, 0x570
shr ecx, 3
rep stosq qword [rdi], rax
mov rdi, rdx
mov edx, r14d
mov qword [r14 + 0x570], 0
and rdi, 0xfffffffffffffff8
mov qword [r14 + 0x5a8], 0
sub edx, edi
lea ecx, [rdx + 0x5b0]
shr ecx, 3
rep stosq qword [rdi], rax
jmp 0x140149b02
mov rsi, qword [rsp + 0xb8]
mov rax, qword [r14 + 0x4f0]
lea r9d, [r15 + r15]
mov dword [rsp + 0x28], 1
add r8d, r8d
mov rcx, r14
movsxd rdx, dword [rsi + 0x40]
mov qword [rsp + 0x20], rdx
mov rdx, qword [rax]
call fcn.14039bfc8
mov rax, qword [r14 + 0x4f0]
mov r9d, dword [r14 + 0x458]
mov rcx, r14
mov r8d, dword [r14 + 0x454]
mov dword [rsp + 0x28], 1
movsxd rdx, dword [rsi + 0x40]
add r9d, r9d
add r8d, r8d
mov qword [rsp + 0x20], rdx
mov rdx, qword [rax]
call fcn.14039c351
mov rax, qword [r14 + 0x4f0]
cmp qword [rax + 0x10], 0
je 0x14014afdd
mov rdx, qword [rax + 8]
mov dword [rsp + 0x28], 0
mov rcx, r14
movsxd rax, dword [rsi + 0x44]
mov qword [rsp + 0x20], rax
mov r9d, dword [r14 + 0x458]
mov r8d, dword [r14 + 0x454]
call fcn.14039bfc8
mov rax, qword [r14 + 0x4f0]
mov rcx, r14
mov rdx, qword [rax + 0x10]
mov dword [rsp + 0x28], 0
movsxd rax, dword [rsi + 0x48]
mov qword [rsp + 0x20], rax
mov r9d, dword [r14 + 0x458]
mov r8d, dword [r14 + 0x454]
call fcn.14039bfc8
mov rax, qword [r14 + 0x4f0]
mov rcx, r14
mov rdx, qword [rax + 8]
mov dword [rsp + 0x28], 0
movsxd rax, dword [rsi + 0x44]
mov qword [rsp + 0x20], rax
mov r9d, dword [r14 + 0x458]
mov r8d, dword [r14 + 0x454]
call fcn.14039c351
mov rax, qword [r14 + 0x4f0]
mov rcx, r14
mov rdx, qword [rax + 0x10]
mov dword [rsp + 0x28], 0
movsxd rax, dword [rsi + 0x48]
mov qword [rsp + 0x20], rax
mov r9d, dword [r14 + 0x458]
mov r8d, dword [r14 + 0x454]
call fcn.14039c351
jmp 0x14014afdd
mov rax, qword [r14 + 0x570]
test rax, rax
je 0x14014b288
cmp qword [rax], 0
jne 0x14014a4bf
mov r8d, dword [r14 + 0x450]
test r8d, r8d
jle 0x14014a4bf
mov r10, qword [r14 + 0x520]
mov rdx, qword [r14 + 0x448]
xor eax, eax
movsxd r9, dword [rdx]
lea r9, [r10 + r9*4]
test byte [r9], 7
jne 0x14014b2c3
mov dword [r9], 1
mov r8d, dword [r14 + 0x450]
add eax, 1
add rdx, 4
cmp eax, r8d
jl 0x14014b2a8
jmp 0x14014a4bf
test eax, eax
jle 0x14014a961
mov rsi, qword [r14 + 0x468]
mov ecx, dword [rsp + 0x68]
lea rbx, [r14 + 0x4b0]
mov dword [rsp + 0xa0], eax
xor edi, edi
mov rbp, rsi
test ecx, ecx
jle 0x14014b4a5
lea eax, [rdi + rdi]
xor esi, esi
mov dword [rsp + 0x58], eax
jmp 0x14014b3eb
mov rax, qword [r14]
movzx r15d, word [r14 + 0x5d2]
cmp dword [rax + 0x18], 0x1b
je 0x14014b8f5
mov rcx, qword [r14 + 0x578]
xor r8d, r8d
mov edx, edi
call fcn.1401020b0
imul ebp, dword [rsp + 0x58]
mov rdx, qword [r14 + 0x580]
lea eax, [rbp + rsi*2]
cdqe
lea r8, [rdx + rax*4]
mov eax, r15d
movsx ecx, word [r8]
movsx r8d, word [r8 + 2]
imul eax, ecx
cdq
idiv r13d
mov dword [r14 + 0x4b0], eax
mov eax, r15d
sub r15d, r13d
imul eax, r8d
cdq
idiv r13d
mov dword [r14 + 0x4b4], eax
mov eax, ecx
imul eax, r15d
cdq
idiv r13d
mov dword [r14 + 0x4d0], eax
mov eax, r8d
imul eax, r15d
cdq
idiv r13d
mov dword [r14 + 0x4d4], eax
mov rcx, qword [r14 + 0x5e8]
xor r9d, r9d
mov dword [rsp + 0x40], 0
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x30], edi
mov r8d, r12d
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rbx
xor edx, edx
call qword [r14 + 0x5e0]
mov rbp, qword [r14 + 0x468]
mov ecx, dword [r14 + 0x454]
nop
add esi, 1
cmp esi, ecx
jge 0x14014b497
mov eax, dword [r14 + 0x460]
mov rdx, qword [r14 + 0x520]
imul eax, edi
add eax, esi
cdqe
test byte [rdx + rax*4], 7
jne 0x14014b3e0
mov rdx, qword [r14 + 0x478]
movzx eax, byte [rdx + rax]
and eax, 0xa
cmp al, 0xa
jne 0x14014b3e0
mov rdx, qword [r14 + 0x530]
test rdx, rdx
je 0x14014b8e8
cmp qword [rdx], 1
sbb eax, eax
add eax, 1
cmp qword [rdx], 1
sbb r12d, r12d
add r12d, 3
mov rdx, qword [r14 + 0x570]
test rdx, rdx
je 0x14014b8e0
cmp qword [rdx], 0
cmove r12d, eax
movzx r13d, word [r14 + 0x5d0]
test r13w, r13w
jne 0x14014b310
mov dword [r14 + 0x4b0], 0
mov dword [r14 + 0x4b4], 0
mov dword [r14 + 0x4d0], 0
mov dword [r14 + 0x4d4], 0
jmp 0x14014b39e
mov eax, dword [r14 + 0x458]
mov dword [rsp + 0xa0], eax
add edi, 1
cmp edi, dword [rsp + 0xa0]
jl 0x14014b2fa
mov dword [rsp + 0x68], ecx
mov qword [rsp + 0x60], rbp
mov r12d, dword [rsp + 0xa0]
mov rax, qword [r14 + 0x488]
test r12d, r12d
mov qword [rsp + 0x80], rax
jle 0x14014b947
mov qword [rsp + 0x110], 0
mov dword [rsp + 0xf4], 0
mov qword [rsp + 0x98], r14
mov ecx, dword [rsp + 0x68]
test ecx, ecx
jle 0x14014b897
mov rsi, qword [rsp + 0x98]
mov edi, dword [rsp + 0xf4]
mov qword [rsp + 0xb0], 0
mov rdx, qword [rsi + 0x460]
mov eax, edi
imul eax, edx
imul rdx, qword [rsp + 0x110]
mov ebx, eax
mov dword [rsp + 0x78], eax
mov rax, qword [rsi + 0x520]
mov esi, edi
shl edi, 4
mov dword [rsp + 0x108], edi
mov qword [rsp + 0x100], rax
lea eax, [rsi*8]
mov dword [rsp + 0x118], eax
lea eax, [rsi + rsi]
lea rsi, [rdx + rdx]
cdqe
mov qword [rsp + 0xa8], rsi
mov esi, ecx
imul rax, qword [rsp + 0x60]
add esi, ebx
mov dword [rsp + 0xf8], esi
add rax, rax
mov qword [rsp + 0x70], rax
movsxd rax, dword [rsp + 0x78]
mov rsi, qword [rsp + 0x100]
test byte [rsi + rax*4], 7
je 0x14014b5bb
mov rax, qword [rsp + 0x98]
mov ebp, dword [rax + 0x5d8]
test ebp, ebp
jne 0x14014b869
mov rdi, qword [rsp + 0xb8]
mov edx, dword [rsp + 0x108]
xor r13d, r13d
mov rax, qword [rsp + 0x98]
mov rbx, qword [rsp + 0xb0]
movsxd r14, dword [rdi + 0x40]
mov rax, qword [rax + 0x4f0]
imul edx, r14d
mov rsi, qword [rax]
mov dword [rsp + 0xf0], r14d
movsxd rdx, edx
mov qword [rsp + 0x88], rsi
lea rcx, [rdx + rbx*2]
mov qword [rsp + 0x90], rcx
mov rcx, qword [rax + 8]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0xc0], rcx
mov ecx, dword [rdi + 0x44]
mov qword [rsp + 0xd8], rax
mov eax, dword [rdi + 0x48]
mov r9d, ecx
mov dword [rsp + 0xc8], ecx
mov ecx, dword [rsp + 0x118]
mov dword [rsp + 0xe0], eax
imul r9d, ecx
imul eax, ecx
movsxd r9, r9d
cdqe
add r9, rbx
add rax, rbx
mov qword [rsp + 0xd0], r9
mov qword [rsp + 0xe8], rax
mov eax, r13d
mov r12d, r13d
mov rdx, qword [rsp + 0x90]
sar eax, 1
and r12d, 1
mov r8d, 8
mov dword [rsp + 0x58], eax
shl eax, 3
lea ecx, [r12*8]
imul eax, dword [rsp + 0xf0]
lea ebp, [rcx + 1]
lea edi, [rcx + 2]
lea esi, [rcx + 3]
lea ebx, [rcx + 4]
lea r11d, [rcx + 5]
lea r10d, [rcx + 6]
lea r9d, [rcx + 7]
movsxd rcx, ecx
movsxd rbp, ebp
add rdx, rcx
movsxd rdi, edi
movsxd rsi, esi
movsxd rbx, ebx
movsxd r11, r11d
movsxd r10, r10d
cdqe
movsxd r9, r9d
neg rcx
add rdx, rax
add rdx, qword [rsp + 0x88]
xor eax, eax
nop dword [rax]
movzx r15d, byte [rdx]
add eax, r15d
lea r15, [rbp + rdx]
movzx r15d, byte [r15 + rcx]
add eax, r15d
lea r15, [rdi + rdx]
movzx r15d, byte [r15 + rcx]
add eax, r15d
lea r15, [rsi + rdx]
movzx r15d, byte [r15 + rcx]
add eax, r15d
lea r15, [rbx + rdx]
movzx r15d, byte [r15 + rcx]
add eax, r15d
lea r15, [r11 + rdx]
movzx r15d, byte [r15 + rcx]
add eax, r15d
lea r15, [r10 + rdx]
movzx r15d, byte [r15 + rcx]
add eax, r15d
lea r15, [r9 + rdx]
add rdx, r14
movzx r15d, byte [r15 + rcx]
add eax, r15d
sub r8d, 1
jne 0x14014b6e0
movsxd rdx, dword [rsp + 0x58]
mov rdi, qword [rsp + 0x80]
movsxd r12, r12d
imul rdx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x70]
add eax, 4
add r13d, 1
sar eax, 3
add rdx, r12
cmp r13d, 4
lea rdx, [rdi + rdx*2]
mov word [rdx + rsi], ax
jne 0x14014b666
mov rax, qword [rsp + 0xd8]
test rax, rax
je 0x14014b869
mov rcx, rax
mov r9, qword [rsp + 0xc0]
movsxd r8, dword [rsp + 0xc8]
add r9, qword [rsp + 0xd0]
movsxd r10, dword [rsp + 0xe0]
mov r11d, 8
add rcx, qword [rsp + 0xe8]
xor edx, edx
xor eax, eax
movzx ebx, byte [r9]
add eax, ebx
movzx ebx, byte [rcx]
add edx, ebx
movzx ebx, byte [r9 + 1]
add ebx, eax
movzx eax, byte [rcx + 1]
add edx, eax
movzx eax, byte [r9 + 2]
add ebx, eax
movzx eax, byte [rcx + 2]
add eax, edx
movzx edx, byte [r9 + 3]
add edx, ebx
movzx ebx, byte [rcx + 3]
add eax, ebx
movzx ebx, byte [r9 + 4]
add ebx, edx
movzx edx, byte [rcx + 4]
add eax, edx
movzx edx, byte [r9 + 5]
add ebx, edx
movzx edx, byte [rcx + 5]
add eax, edx
movzx edx, byte [r9 + 6]
add ebx, edx
movzx edx, byte [rcx + 6]
add edx, eax
movzx eax, byte [r9 + 7]
add r9, r8
add eax, ebx
movzx ebx, byte [rcx + 7]
add rcx, r10
add edx, ebx
sub r11d, 1
jne 0x14014b7c5
mov rdi, qword [rsp + 0x98]
mov rsi, qword [rsp + 0xa8]
add eax, 4
sar eax, 3
add edx, 4
sar edx, 3
mov rcx, qword [rdi + 0x490]
mov word [rcx + rsi], ax
mov rax, qword [rdi + 0x498]
mov word [rax + rsi], dx
add dword [rsp + 0x78], 1
add qword [rsp + 0xa8], 2
mov eax, dword [rsp + 0x78]
add qword [rsp + 0x70], 4
add qword [rsp + 0xb0], 8
cmp dword [rsp + 0xf8], eax
jne 0x14014b592
add dword [rsp + 0xf4], 1
add qword [rsp + 0x110], 1
mov eax, dword [rsp + 0xf4]
cmp eax, dword [rsp + 0xa0]
jne 0x14014b4fd
mov r14, qword [rsp + 0x98]
mov r9d, dword [rsp + 0xa0]
mov rdx, qword [rsp + 0x80]
jmp 0x14014a989
mov r12d, eax
jmp 0x14014b454
xor eax, eax
mov r12d, 2
jmp 0x14014b43c
lea rax, str.libavcodec_error_resilience.c
lea r9, str.s__avctx__codec_id___AV_CODEC_ID_H264
mov dword [rsp + 0x28], 0x4bc
mov qword [rsp + 0x20], rax
lea r8, [0x14041885f]
xor edx, edx
xor ecx, ecx
call fcn.14036cf30
call sub.msvcrt.dll_abort
mov esi, dword [r14 + 0x450]
test esi, esi
jle 0x14014a4bf
mov rax, qword [r14 + 0x448]
mov rdx, qword [r14 + 0x478]
jmp 0x14014a477
mov r9d, dword [rsp + 0xa0]
mov rdx, rax
jmp 0x14014a989
mov eax, dword [r14 + 0x450]
test eax, eax
jg 0x14014a670
mov rax, qword [r14 + 0x570]
test rax, rax
jne 0x14014b27e
jmp 0x14014a4bf
xor r10d, r10d
mov rax, qword [r14]
test byte [rax + 0x288], 1
je 0x14014b9a0
mov esi, dword [rsp + 0x68]
mov eax, esi
shr eax, 0x1f
add eax, esi
sar eax, 1
cmp eax, r10d
jl 0x14014baa4
mov r9d, dword [rsp + 0x58]
test r9d, r9d
jle 0x14014bbff
mov r9d, dword [r14 + 0x454]
lea rdi, [r14 + 0x4b0]
xor esi, esi
mov eax, r9d
test r9d, r9d
jle 0x14014ba74
xor ebx, ebx
jmp 0x14014ba05
cmp qword [rdx], 1
sbb r8d, r8d
not r8d
add r8d, 2
mov rdx, qword [r14 + 0x520]
cdqe
test byte [rdx + rax*4], 7
jne 0x14014b9fa
mov rdx, qword [r14 + 0x478]
test byte [rdx + rax], 8
jne 0x14014ba25
add ebx, 1
mov eax, r9d
cmp ebx, r9d
jge 0x14014ba74
mov eax, dword [r14 + 0x460]
mov rdx, qword [r14 + 0x530]
imul eax, esi
add eax, ebx
test rdx, rdx
jne 0x14014b9d0
mov r8d, 2
jmp 0x14014b9de
mov dword [r14 + 0x4b0], 0
mov dword [r14 + 0x4b4], 0
xor r9d, r9d
mov rcx, qword [r14 + 0x5e8]
xor edx, edx
mov dword [rsp + 0x40], 0
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x30], esi
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rdi
call qword [r14 + 0x5e0]
mov r9d, dword [r14 + 0x454]
jmp 0x14014b9fa
add esi, 1
cmp dword [rsp + 0x58], esi
jne 0x14014b9c1
mov dword [rsp + 0x68], eax
mov eax, dword [r14 + 0x458]
mov dword [rsp + 0xa0], eax
mov rax, qword [r14 + 0x468]
mov qword [rsp + 0x60], rax
jmp 0x14014b4be
mov r10d, dword [rsp + 0x58]
xor edi, edi
test r10d, r10d
jle 0x14014bc46
mov r11d, dword [rsp + 0x90]
xor r13d, r13d
mov ebp, 1
xor r15d, r15d
xor edi, edi
mov r8d, dword [rsp + 0x68]
mov r9d, ebp
test r8d, r8d
jle 0x14014bc31
lea esi, [r15 - 1]
mov edx, r13d
mov eax, 1
sub edx, r11d
lea ebx, [r13 - 1]
lea r10d, [r11 + r13 - 1]
mov dword [rsp + 0x60], esi
lea esi, [rdx - 1]
mov dword [rsp + 0xf0], ebp
mov dword [rsp + 0x88], esi
jmp 0x14014bb1d
cmp dword [rsp + 0x68], eax
jle 0x14014bc29
add eax, 1
lea edx, [rbx + rax]
lea r8d, [rax - 1]
movsxd rcx, edx
cmp byte [r12 + rcx], 8
jne 0x14014bb10
test r8d, r8d
je 0x14014bb5c
lea ecx, [rdx - 1]
lea esi, [rax - 2]
movsxd rcx, ecx
add rcx, r12
cmp byte [rcx], 0
jne 0x14014bb5c
mov r9, qword [rsp + 0x70]
mov byte [rcx], 1
movsxd rcx, edi
add edi, 1
lea rcx, [r9 + rcx*8]
mov dword [rcx], esi
mov dword [rcx + 4], r15d
test r15d, r15d
je 0x14014bb92
mov esi, dword [rsp + 0x88]
lea ecx, [rsi + rax]
movsxd rcx, ecx
add rcx, r12
cmp byte [rcx], 0
jne 0x14014bb92
mov rsi, qword [rsp + 0x70]
mov byte [rcx], 1
movsxd rcx, edi
add edi, 1
lea rcx, [rsi + rcx*8]
mov esi, dword [rsp + 0x60]
mov dword [rcx], r8d
mov dword [rcx + 4], esi
cmp eax, dword [rsp + 0x68]
jge 0x14014d3a8
add edx, 1
movsxd rdx, edx
add rdx, r12
cmp byte [rdx], 0
jne 0x14014bbc2
mov rsi, qword [rsp + 0x70]
mov byte [rdx], 1
movsxd rdx, edi
add edi, 1
lea rdx, [rsi + rdx*8]
mov dword [rdx], eax
mov dword [rdx + 4], r15d
cmp dword [rsp + 0x58], ebp
jle 0x14014bb1a
lea edx, [r10 + rax]
movsxd rdx, edx
add rdx, r12
cmp byte [rdx], 0
jne 0x14014bb10
mov rsi, qword [rsp + 0x70]
mov byte [rdx], 1
movsxd rdx, edi
add edi, 1
lea rdx, [rsi + rdx*8]
mov dword [rdx], r8d
mov dword [rdx + 4], ebp
jmp 0x14014bb10
mov r14, rbp
mov eax, dword [r14 + 0x458]
mov dword [rsp + 0xa0], eax
mov rax, qword [r14 + 0x468]
mov qword [rsp + 0x60], rax
mov eax, dword [r14 + 0x454]
mov dword [rsp + 0x68], eax
jmp 0x14014b4be
mov r9d, dword [rsp + 0xf0]
add r15d, 1
add ebp, 1
add r13d, r11d
cmp dword [rsp + 0x58], r9d
jg 0x14014bac9
mov rax, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x80]
mov rbp, r14
imul rsi, rax
mov qword [rsp + 0x120], rsi
lea rsi, [rax + rax]
mov qword [rsp + 0xc8], rsi
add rsi, rax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0xf8], rsi
lea rsi, [r14 + 0x4b0]
mov qword [rsp + 0x138], rsi
mov rsi, qword [rsp + 0x70]
mov dword [rsp + 0x134], eax
add rax, r12
mov qword [rsp + 0x108], rax
lea eax, [rdi - 1]
mov qword [rsp + 0x60], r12
mov dword [rsp + 0xb0], 0
mov edx, 1
mov dword [rsp + 0x118], edi
mov r12, rbp
lea rax, [rsi + rax*8 + 8]
mov qword [rsp + 0x128], rax
mov r13d, dword [rsp + 0x118]
test r13d, r13d
jle 0x14014d3a1
mov rax, qword [rsp + 0x70]
mov dword [rsp + 0x130], 0
mov qword [rsp + 0xc0], rax
jmp 0x14014bd2e
cmp dword [rsp + 0xb0], 1
jle 0x14014bdf0
add qword [rsp + 0xc0], 8
mov rax, qword [rsp + 0xc0]
cmp rax, qword [rsp + 0x128]
je 0x14014d1f5
mov rdi, qword [rsp + 0xc0]
mov eax, dword [rdi]
mov esi, dword [rdi + 4]
mov dword [rsp + 0xa8], eax
mov edi, eax
xor eax, esi
xor eax, dword [rsp + 0xb0]
mov dword [rsp + 0x88], esi
test al, 1
jne 0x14014bd0f
imul esi, dword [rsp + 0x134]
xor eax, eax
mov r9d, esi
add r9d, edi
test edi, edi
jle 0x14014bd79
mov rax, qword [rsp + 0x60]
movsxd rsi, r9d
movzx eax, byte [rax + rsi - 1]
mov esi, dword [rsp + 0xa8]
add esi, 1
cmp esi, dword [rsp + 0x68]
mov dword [rsp + 0x110], esi
jge 0x14014bd9f
mov rdi, qword [rsp + 0x60]
movsxd rsi, r9d
movzx ecx, byte [rdi + rsi + 1]
or eax, ecx
mov ecx, dword [rsp + 0x88]
test ecx, ecx
jle 0x14014bdc0
movsxd rsi, r9d
sub rsi, qword [rsp + 0x90]
mov rdi, qword [rsp + 0x60]
movzx ecx, byte [rdi + rsi]
or eax, ecx
mov esi, dword [rsp + 0x88]
lea edi, [rsi + 1]
cmp dword [rsp + 0x58], edi
mov dword [rsp + 0x11c], edi
jle 0x14014bde8
mov rdi, qword [rsp + 0x108]
movsxd rsi, r9d
movzx ecx, byte [rdi + rsi]
or eax, ecx
test al, 4
je 0x14014bd01
mov eax, dword [rsp + 0x88]
mov esi, dword [rsp + 0xa8]
imul eax, dword [rsp + 0x78]
add eax, esi
imul eax, dword [rsp + 0xf4]
test esi, esi
mov dword [rsp + 0xf0], eax
jle 0x14014d1b3
mov rdi, qword [rsp + 0x60]
movsxd rsi, r9d
cmp byte [rdi + rsi - 1], 1
jbe 0x14014d1b3
cdqe
sub rax, qword [rsp + 0x80]
mov r8, qword [r12 + 0x500]
mov r11, qword [r12 + 0x510]
mov ecx, 1
lea rax, [r8 + rax*4]
movsx edx, word [rax]
movsx eax, word [rax + 2]
mov dword [rsp + 0x1a4], eax
lea eax, [r9*4 - 4]
mov dword [rsp + 0x1a0], edx
cdqe
movsx eax, byte [r11 + rax]
mov dword [rsp + 0x180], eax
mov eax, 2
mov edi, dword [rsp + 0x68]
cmp dword [rsp + 0x110], edi
jge 0x14014bef2
mov rdi, qword [rsp + 0x60]
movsxd rsi, r9d
cmp byte [rdi + rsi + 1], 1
jbe 0x14014bef2
movsxd rdi, dword [rsp + 0xf0]
mov r8, qword [r12 + 0x500]
add rdi, qword [rsp + 0x80]
mov r11, qword [r12 + 0x510]
lea rdx, [r8 + rdi*4]
movsx r8d, word [rdx]
movsx edx, word [rdx + 2]
mov dword [rsp + rcx*8 + 0x1a4], edx
lea edx, [r9*4 + 4]
mov dword [rsp + rcx*8 + 0x1a0], r8d
movsxd rdx, edx
movsx edx, byte [r11 + rdx]
mov dword [rsp + rcx*4 + 0x180], edx
mov ecx, eax
mov eax, dword [rsp + 0x88]
test eax, eax
jle 0x14014bf6b
movsxd rsi, r9d
mov rdi, qword [rsp + 0x60]
mov rax, rsi
sub rax, qword [rsp + 0x90]
cmp byte [rdi + rax], 1
jbe 0x14014bf6b
movsxd rax, dword [rsp + 0xf0]
mov r8, qword [r12 + 0x500]
sub rax, qword [rsp + 0x120]
sub rsi, qword [r12 + 0x460]
mov r11, qword [r12 + 0x510]
lea rdx, [r8 + rax*4]
movsxd rax, ecx
add ecx, 1
movsx r8d, word [rdx]
movsx edx, word [rdx + 2]
mov dword [rsp + rax*8 + 0x1a4], edx
movsx edx, byte [r11 + rsi*4]
mov dword [rsp + rax*8 + 0x1a0], r8d
mov dword [rsp + rax*4 + 0x180], edx
mov esi, dword [rsp + 0x11c]
cmp dword [rsp + 0x58], esi
jle 0x14014d181
mov rax, qword [rsp + 0x108]
movsxd rsi, r9d
cmp byte [rax + rsi], 1
jbe 0x14014d181
movsxd rax, dword [rsp + 0xf0]
mov r8, qword [r12 + 0x500]
mov r11, qword [r12 + 0x510]
mov qword [rsp + 0x100], rax
add rax, qword [rsp + 0x120]
lea rdx, [r8 + rax*4]
movsxd rax, ecx
add ecx, 1
movsx r10d, word [rdx]
movsx edx, word [rdx + 2]
mov dword [rsp + rax*8 + 0x1a4], edx
mov rdx, rsi
add rdx, qword [r12 + 0x460]
mov dword [rsp + rax*8 + 0x1a0], r10d
movsx edx, byte [r11 + rdx*4]
mov dword [rsp + rax*4 + 0x180], edx
cmp ecx, 1
je 0x14014d1e0
mov edi, dword [rsp + 0x1a8]
mov r15d, dword [rsp + 0x1a0]
mov ebx, dword [rsp + 0x1ac]
mov eax, dword [rsp + 0x180]
mov r10d, edi
add edi, r15d
mov dword [rsp + 0xa0], edi
mov edi, dword [rsp + 0x1a4]
mov dword [rsp + 0xe0], ebx
mov dword [rsp + 0xd8], edi
add edi, ebx
mov ebx, dword [rsp + 0x184]
cmp eax, ebx
mov dword [rsp + 0xd0], ebx
lea r14d, [rax + rbx]
jne 0x14014d38f
cmp ecx, 2
je 0x14014d45f
mov edx, dword [rsp + 0x188]
mov ebx, dword [rsp + 0x1b0]
add edi, dword [rsp + 0x1b4]
add dword [rsp + 0xa0], ebx
add r14d, edx
cmp eax, edx
jne 0x14014d38f
cmp ecx, 4
jne 0x14014d455
mov edx, dword [rsp + 0x18c]
mov ebx, dword [rsp + 0x1b8]
add edi, dword [rsp + 0x1bc]
add dword [rsp + 0xa0], ebx
add r14d, edx
cmp eax, edx
jne 0x14014d440
mov ebp, 4
mov eax, dword [rsp + 0xa0]
movsxd rbx, ecx
mov dword [rsp + 0x98], 0x1869f
mov r13d, 0xfffe7961
cdq
idiv ebp
mov dword [rsp + rbx*8 + 0x1a0], eax
mov eax, edi
cdq
idiv ebp
mov dword [rsp + rbx*8 + 0x1a4], eax
mov eax, r14d
mov r15d, dword [rsp + 0x1a0]
cdq
idiv ebp
mov dword [rsp + rbx*4 + 0x180], eax
mov ebx, dword [rsp + 0x1a8]
mov eax, dword [rsp + 0x180]
mov r10d, ebx
mov ebx, dword [rsp + 0x1a4]
mov dword [rsp + 0xd8], ebx
mov ebx, dword [rsp + 0x1ac]
mov dword [rsp + 0xe0], ebx
mov ebx, dword [rsp + 0x184]
mov dword [rsp + 0xd0], ebx
cmp r15d, r10d
mov edx, dword [rsp + 0xd8]
mov ebx, r10d
mov ebp, dword [rsp + 0xe0]
cmovge ebx, r15d
cmp ebx, r13d
cmovl ebx, r13d
cmp edx, ebp
cmovge ebp, edx
mov edx, dword [rsp + 0xd0]
cmp ebp, r13d
cmovl ebp, r13d
cmp eax, edx
cmovge edx, eax
cmp edx, r13d
cmovge r13d, edx
cmp r15d, r10d
mov edx, r10d
mov r10d, dword [rsp + 0x98]
cmovle edx, r15d
mov r15d, dword [rsp + 0xd8]
cmp edx, r10d
cmovg edx, r10d
mov dword [rsp + 0x98], edx
mov edx, dword [rsp + 0xe0]
cmp r15d, edx
cmovle edx, r15d
mov r15d, dword [rsp + 0xd0]
cmp edx, r10d
cmovg edx, r10d
cmp eax, r15d
cmovg eax, r15d
cmp eax, r10d
cmovg eax, r10d
cmp ecx, 2
mov r15d, eax
je 0x14014c2af
mov eax, dword [rsp + 0x1b0]
mov r10d, dword [rsp + 0x98]
cmp ebx, eax
cmovl ebx, eax
cmp ebp, dword [rsp + 0x1b4]
cmovl ebp, dword [rsp + 0x1b4]
cmp r13d, dword [rsp + 0x188]
cmovl r13d, dword [rsp + 0x188]
cmp r10d, eax
cmovle eax, r10d
cmp edx, dword [rsp + 0x1b4]
cmovg edx, dword [rsp + 0x1b4]
cmp r15d, dword [rsp + 0x188]
mov r10d, eax
mov dword [rsp + 0x98], eax
mov eax, r15d
cmovg eax, dword [rsp + 0x188]
cmp ecx, 4
mov r15d, eax
jne 0x14014c2af
mov eax, dword [rsp + 0x1b8]
cmp ebx, eax
cmovl ebx, eax
cmp ebp, dword [rsp + 0x1bc]
cmovl ebp, dword [rsp + 0x1bc]
cmp r13d, dword [rsp + 0x18c]
cmovl r13d, dword [rsp + 0x18c]
cmp r10d, eax
mov r10d, eax
cmovle r10d, dword [rsp + 0x98]
cmp edx, dword [rsp + 0x1bc]
mov eax, r15d
cmovg edx, dword [rsp + 0x1bc]
cmp r15d, dword [rsp + 0x18c]
cmovg eax, dword [rsp + 0x18c]
mov dword [rsp + 0x98], r10d
mov r15d, eax
mov r10d, dword [rsp + 0xa0]
lea eax, [rcx + 1]
sub edi, ebp
sub r14d, r13d
sub edi, edx
cdqe
sub r14d, r15d
sub r10d, ebx
sub r10d, dword [rsp + 0x98]
cmp ecx, 4
mov dword [rsp + rax*8 + 0x1a4], edi
mov dword [rsp + rax*4 + 0x180], r14d
mov dword [rsp + rax*8 + 0x1a0], r10d
je 0x14014d3fb
lea edi, [rcx + 4]
lea eax, [rcx + 3]
add ecx, 2
mov dword [rsp + 0x98], edi
mov rdi, qword [rsp + 0x100]
movsxd rcx, ecx
cdqe
mov dword [rsp + rcx*8 + 0x1a4], 0
mov dword [rsp + rcx*8 + 0x1a0], 0
xor r14d, r14d
mov dword [rsp + rcx*4 + 0x180], 0
lea ecx, [r9*4]
mov dword [rsp + 0xd0], 0
shl rdi, 2
mov dword [rsp + 0xa0], 0x40000000
lea rbp, [rsp + 0x1a0]
lea rdx, [r8 + rdi]
movsxd rcx, ecx
mov qword [rsp + 0xe0], rdi
movsx ecx, byte [r11 + rcx]
movsx edi, word [rdx]
movsx ebx, word [rdx + 2]
mov dword [rsp + rax*4 + 0x180], ecx
mov dword [rsp + rax*8 + 0x1a0], edi
mov dword [rsp + rax*8 + 0x1a4], ebx
mov eax, dword [rsp + 0xa8]
mov dword [rsp + 0x140], edi
mov dword [rsp + 0x144], ebx
shl eax, 4
cdqe
mov qword [rsp + 0x150], rax
mov eax, dword [rsp + 0x88]
shl eax, 4
mov dword [rsp + 0x158], eax
lea rax, [rsp + 0x180]
mov qword [rsp + 0xd8], rax
mov rax, qword [rsp + 0x108]
add rax, rsi
mov qword [rsp + 0x160], rax
mov rax, rsi
sub rax, qword [rsp + 0x90]
mov qword [rsp + 0x168], rax
jmp 0x14014c40c
mov rax, qword [rsp + 0xe0]
lea rdx, [r8 + rax]
mov rdi, qword [r12 + 0x4f0]
mov ecx, dword [rbp + r14*8]
mov r13d, r14d
mov rbx, qword [rdi]
mov eax, dword [rdi + 0x40]
mov dword [r12 + 0x4b0], ecx
mov word [rdx], cx
mov ecx, dword [rbp + r14*8 + 4]
mov dword [r12 + 0x4b4], ecx
mov word [rdx + 2], cx
mov rcx, qword [rsp + 0xd8]
mov edx, dword [rcx + r14*4]
test edx, edx
js 0x14014cf30
imul eax, dword [rsp + 0x158]
mov rcx, qword [r12 + 0x5e8]
mov r15d, dword [rsp + 0xa8]
xor r9d, r9d
mov dword [rsp + 0x40], 0
mov dword [rsp + 0x38], 0
mov r8d, 1
mov dword [rsp + 0x28], r15d
cdqe
add rax, qword [rsp + 0x150]
add rbx, rax
mov eax, dword [rsp + 0x88]
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x138]
mov qword [rsp + 0x20], rax
call qword [r12 + 0x5e0]
xor eax, eax
test r15d, r15d
jle 0x14014c77f
mov rcx, qword [rsp + 0x60]
cmp byte [rcx + rsi - 1], 1
jbe 0x14014c77f
movsxd rdx, dword [rdi + 0x40]
movzx r10d, byte [rbx - 1]
lea rax, [rbx + rdx]
movzx r8d, byte [rbx + rdx - 1]
lea r11d, [rdx + rdx]
movzx r9d, byte [rax]
add rax, rdx
sub r8d, r9d
mov r9d, r8d
sar r9d, 0x1f
xor r8d, r9d
sub r8d, r9d
movzx r9d, byte [rbx]
sub r10d, r9d
mov r9d, r10d
sar r9d, 0x1f
xor r10d, r9d
sub r10d, r9d
movsxd r9, r11d
add r8d, r10d
movzx r9d, byte [rbx + r9 - 1]
movzx r10d, byte [rax]
add rax, rdx
movzx r15d, byte [rax]
add rax, rdx
sub r9d, r10d
mov r10d, r9d
sar r10d, 0x1f
xor r9d, r10d
sub r9d, r10d
add r9d, r8d
lea r8d, [r11 + rdx]
movsxd r10, r8d
movzx r10d, byte [rbx + r10 - 1]
sub r10d, r15d
mov r15d, r10d
sar r15d, 0x1f
xor r10d, r15d
sub r10d, r15d
movzx r15d, byte [rax]
add rax, rdx
add r10d, r9d
mov dword [rsp + 0x14c], r10d
lea r10d, [rdx*4]
movsxd r9, r10d
add r10d, edx
movzx r9d, byte [rbx + r9 - 1]
mov dword [rsp + 0x15c], r10d
sub r9d, r15d
mov r15d, r9d
sar r15d, 0x1f
xor r9d, r15d
sub r9d, r15d
mov r15d, dword [rsp + 0x14c]
add r15d, r9d
movsxd r9, r10d
movzx r10d, byte [rax]
movzx r9d, byte [rbx + r9 - 1]
sub r9d, r10d
mov r10d, r9d
sar r10d, 0x1f
xor r9d, r10d
sub r9d, r10d
add rax, rdx
add r15d, r9d
lea r9d, [r8 + r8]
movzx r10d, byte [rax]
add rax, rdx
movsxd r9, r9d
movzx r9d, byte [rbx + r9 - 1]
sub r9d, r10d
mov r10d, r9d
sar r10d, 0x1f
xor r9d, r10d
sub r9d, r10d
lea r10d, [rdx*8]
add r15d, r9d
mov r9d, r10d
mov dword [rsp + 0x14c], r15d
movzx r15d, byte [rax]
sub r9d, edx
add rax, rdx
movsxd r9, r9d
movzx r9d, byte [rbx + r9 - 1]
sub r9d, r15d
mov r15d, r9d
sar r15d, 0x1f
xor r9d, r15d
sub r9d, r15d
add r9d, dword [rsp + 0x14c]
movzx r15d, byte [rax]
add rax, rdx
mov dword [rsp + 0x14c], r9d
movsxd r9, r10d
movzx r9d, byte [rbx + r9 - 1]
sub r9d, r15d
mov r15d, r9d
sar r15d, 0x1f
xor r9d, r15d
sub r9d, r15d
mov r15d, dword [rsp + 0x14c]
add r15d, r9d
lea r9d, [r10 + rdx]
movzx r10d, byte [rax]
add rax, rdx
movsxd r9, r9d
movzx r9d, byte [rbx + r9 - 1]
sub r9d, r10d
mov r10d, r9d
sar r10d, 0x1f
xor r9d, r10d
sub r9d, r10d
mov r10d, dword [rsp + 0x15c]
add r15d, r9d
mov dword [rsp + 0x14c], r15d
movzx r15d, byte [rax]
add r10d, r10d
movsxd r9, r10d
movzx r9d, byte [rbx + r9 - 1]
sub r9d, r15d
mov r15d, r9d
sar r15d, 0x1f
xor r9d, r15d
sub r9d, r15d
mov r15d, dword [rsp + 0x14c]
add rax, rdx
shl r8d, 2
add r15d, r9d
lea r9d, [r10 + rdx]
movzx r10d, byte [rax]
movsxd r9, r9d
movzx r9d, byte [rbx + r9 - 1]
sub r9d, r10d
mov r10d, r9d
sar r10d, 0x1f
xor r9d, r10d
sub r9d, r10d
lea r10d, [r9 + r15]
lea r9, [rax + rdx]
movsxd rax, r8d
movzx eax, byte [rbx + rax - 1]
add r8d, edx
movzx r15d, byte [r9]
add r9, rdx
sub eax, r15d
mov r15d, eax
sar r15d, 0x1f
xor eax, r15d
sub eax, r15d
add r10d, eax
movsxd rax, r8d
movzx r8d, byte [r9]
movzx eax, byte [rbx + rax - 1]
sub eax, r8d
mov r8d, eax
sar r8d, 0x1f
xor eax, r8d
sub eax, r8d
add eax, r10d
mov r10d, edx
shl r10d, 4
mov r8d, r10d
sub r8d, r11d
movzx r11d, byte [r9 + rdx]
movsxd r8, r8d
movzx r8d, byte [rbx + r8 - 1]
sub r8d, r11d
mov r11d, r8d
sar r11d, 0x1f
xor r8d, r11d
sub r8d, r11d
add r8d, eax
mov eax, r10d
sub eax, edx
movzx edx, byte [r9 + rdx*2]
cdqe
movzx eax, byte [rbx + rax - 1]
sub eax, edx
cdq
xor eax, edx
sub eax, edx
add eax, r8d
mov edx, dword [rsp + 0x68]
cmp dword [rsp + 0x110], edx
jge 0x14014c9e6
mov rcx, qword [rsp + 0x60]
cmp byte [rcx + rsi + 1], 1
jbe 0x14014c9e6
movzx ecx, byte [rbx + 0x10]
movzx edx, byte [rbx + 0xf]
movsxd r8, dword [rdi + 0x40]
sub edx, ecx
mov ecx, edx
sar ecx, 0x1f
xor edx, ecx
sub edx, ecx
mov rcx, r8
add eax, edx
movzx edx, byte [rbx + r8 + 0xf]
movzx r8d, byte [rbx + r8 + 0x10]
lea r11d, [rcx + rcx]
lea r9d, [r11 + rcx]
sub edx, r8d
mov r8d, edx
sar r8d, 0x1f
xor edx, r8d
sub edx, r8d
movsxd r8, r11d
add eax, edx
movzx edx, byte [rbx + r8 + 0xf]
movzx r8d, byte [rbx + r8 + 0x10]
sub edx, r8d
mov r8d, edx
sar r8d, 0x1f
xor edx, r8d
sub edx, r8d
movsxd r8, r9d
add eax, edx
movzx edx, byte [rbx + r8 + 0xf]
movzx r8d, byte [rbx + r8 + 0x10]
sub edx, r8d
mov r8d, edx
sar r8d, 0x1f
xor edx, r8d
sub edx, r8d
add eax, edx
lea edx, [rcx*4]
movsxd r10, edx
add edx, ecx
movzx r8d, byte [rbx + r10 + 0xf]
movzx r10d, byte [rbx + r10 + 0x10]
sub r8d, r10d
mov r10d, r8d
sar r10d, 0x1f
xor r8d, r10d
sub r8d, r10d
movsxd r10, edx
add eax, r8d
movzx r8d, byte [rbx + r10 + 0xf]
movzx r10d, byte [rbx + r10 + 0x10]
sub r8d, r10d
mov r10d, r8d
sar r10d, 0x1f
xor r8d, r10d
sub r8d, r10d
lea r10d, [r9 + r9]
add eax, r8d
movsxd r10, r10d
movzx r8d, byte [rbx + r10 + 0xf]
movzx r10d, byte [rbx + r10 + 0x10]
sub r8d, r10d
mov r10d, r8d
sar r10d, 0x1f
add edx, edx
shl r9d, 2
xor r8d, r10d
sub r8d, r10d
lea r10d, [rcx*8]
add eax, r8d
mov r15d, r10d
sub r15d, ecx
movsxd r15, r15d
movzx r8d, byte [rbx + r15 + 0xf]
movzx r15d, byte [rbx + r15 + 0x10]
sub r8d, r15d
mov r15d, r8d
sar r15d, 0x1f
xor r8d, r15d
sub r8d, r15d
movsxd r15, r10d
add eax, r8d
movzx r8d, byte [rbx + r15 + 0xf]
movzx r15d, byte [rbx + r15 + 0x10]
sub r8d, r15d
mov r15d, r8d
sar r15d, 0x1f
xor r8d, r15d
sub r8d, r15d
add eax, r8d
lea r8d, [r10 + rcx]
movsxd r8, r8d
movzx r10d, byte [rbx + r8 + 0xf]
movzx r8d, byte [rbx + r8 + 0x10]
sub r10d, r8d
mov r8d, r10d
sar r8d, 0x1f
xor r10d, r8d
sub r10d, r8d
lea r8d, [r10 + rax]
movsxd r10, edx
add edx, ecx
movzx eax, byte [rbx + r10 + 0xf]
movzx r10d, byte [rbx + r10 + 0x10]
movsxd rdx, edx
sub eax, r10d
mov r10d, eax
sar r10d, 0x1f
xor eax, r10d
sub eax, r10d
add r8d, eax
movzx eax, byte [rbx + rdx + 0xf]
movzx edx, byte [rbx + rdx + 0x10]
sub eax, edx
cdq
xor eax, edx
sub eax, edx
lea edx, [rax + r8]
movsxd r8, r9d
movzx eax, byte [rbx + r8 + 0xf]
movzx r8d, byte [rbx + r8 + 0x10]
sub eax, r8d
mov r8d, eax
sar r8d, 0x1f
add r9d, ecx
xor eax, r8d
sub eax, r8d
movsxd r8, r9d
add edx, eax
movzx eax, byte [rbx + r8 + 0xf]
movzx r8d, byte [rbx + r8 + 0x10]
sub eax, r8d
mov r8d, eax
sar r8d, 0x1f
xor eax, r8d
sub eax, r8d
lea r8d, [rax + rdx]
mov edx, ecx
shl edx, 4
mov r9d, edx
sub r9d, r11d
movsxd r9, r9d
movzx eax, byte [rbx + r9 + 0xf]
movzx r9d, byte [rbx + r9 + 0x10]
sub eax, r9d
mov r9d, eax
sar r9d, 0x1f
xor eax, r9d
sub eax, r9d
add r8d, eax
mov eax, edx
sub eax, ecx
cdqe
movzx edx, byte [rbx + rax + 0xf]
movzx eax, byte [rbx + rax + 0x10]
sub edx, eax
mov ecx, edx
mov eax, edx
sar ecx, 0x1f
xor eax, ecx
sub eax, ecx
add eax, r8d
mov r15d, dword [rsp + 0x88]
test r15d, r15d
jle 0x14014cc57
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x168]
cmp byte [rcx + rdx], 1
jbe 0x14014cc57
mov edx, dword [rdi + 0x40]
movzx r8d, byte [rbx]
mov ecx, edx
neg ecx
movsxd rcx, ecx
movzx ecx, byte [rbx + rcx]
sub ecx, r8d
mov r8d, ecx
sar r8d, 0x1f
xor ecx, r8d
sub ecx, r8d
movzx r8d, byte [rbx + 1]
add eax, ecx
mov ecx, 1
sub ecx, edx
movsxd rcx, ecx
movzx ecx, byte [rbx + rcx]
sub ecx, r8d
mov r8d, ecx
sar r8d, 0x1f
xor ecx, r8d
sub ecx, r8d
movzx r8d, byte [rbx + 2]
add eax, ecx
mov ecx, 2
sub ecx, edx
movsxd rcx, ecx
movzx ecx, byte [rbx + rcx]
sub ecx, r8d
mov r8d, ecx
sar r8d, 0x1f
xor ecx, r8d
sub ecx, r8d
movzx r8d, byte [rbx + 3]
add eax, ecx
mov ecx, 3
sub ecx, edx
movsxd rcx, ecx
movzx ecx, byte [rbx + rcx]
sub ecx, r8d
mov r8d, ecx
sar r8d, 0x1f
xor ecx, r8d
sub ecx, r8d
movzx r8d, byte [rbx + 4]
add eax, ecx
mov ecx, 4
sub ecx, edx
movsxd rcx, ecx
movzx ecx, byte [rbx + rcx]
sub ecx, r8d
mov r8d, ecx
sar r8d, 0x1f
xor ecx, r8d
sub ecx, r8d
movzx r8d, byte [rbx + 5]
add eax, ecx
mov ecx, 5
sub ecx, edx
movsxd rcx, ecx
movzx ecx, byte [rbx + rcx]
sub ecx, r8d
mov r8d, ecx
sar r8d, 0x1f
xor ecx, r8d
sub ecx, r8d
movzx r8d, byte [rbx + 6]
add eax, ecx
mov ecx, 6
sub ecx, edx
movsxd rcx, ecx
movzx ecx, byte [rbx + rcx]
sub ecx, r8d
mov r8d, ecx
sar r8d, 0x1f
xor ecx, r8d
sub ecx, r8d
movzx r8d, byte [rbx + 7]
add eax, ecx
mov ecx, 7
sub ecx, edx
movsxd rcx, ecx
movzx ecx, byte [rbx + rcx]
sub ecx, r8d
mov r8d, ecx
sar r8d, 0x1f
xor ecx, r8d
sub ecx, r8d
movzx r8d, byte [rbx + 8]
add eax, ecx
mov ecx, 8
sub ecx, edx
movsxd rcx, ecx
movzx ecx, byte [rbx + rcx]
sub ecx, r8d
mov r8d, ecx
sar r8d, 0x1f
xor ecx, r8d
sub ecx, r8d
movzx r8d, byte [rbx + 9]
add eax, ecx
mov ecx, 9
sub ecx, edx
movsxd rcx, ecx
movzx ecx, byte [rbx + rcx]
sub ecx, r8d
mov r8d, ecx
sar r8d, 0x1f
xor ecx, r8d
sub ecx, r8d
movzx r8d, byte [rbx + 0xa]
add eax, ecx
mov ecx, 0xa
sub ecx, edx
movsxd rcx, ecx
movzx ecx, byte [rbx + rcx]
sub ecx, r8d
mov r8d, ecx
sar r8d, 0x1f
xor ecx, r8d
sub ecx, r8d
movzx r8d, byte [rbx + 0xb]
add eax, ecx
mov ecx, 0xb
sub ecx, edx
movsxd rcx, ecx
movzx ecx, byte [rbx + rcx]
sub ecx, r8d
mov r8d, ecx
sar r8d, 0x1f
xor ecx, r8d
sub ecx, r8d
movzx r8d, byte [rbx + 0xc]
add eax, ecx
mov ecx, 0xc
sub ecx, edx
movsxd rcx, ecx
movzx ecx, byte [rbx + rcx]
sub ecx, r8d
mov r8d, ecx
sar r8d, 0x1f
xor ecx, r8d
sub ecx, r8d
movzx r8d, byte [rbx + 0xd]
add eax, ecx
mov ecx, 0xd
sub ecx, edx
movsxd rcx, ecx
movzx ecx, byte [rbx + rcx]
sub ecx, r8d
mov r8d, ecx
sar r8d, 0x1f
xor ecx, r8d
sub ecx, r8d
movzx r8d, byte [rbx + 0xe]
add eax, ecx
mov ecx, 0xe
sub ecx, edx
movsxd rcx, ecx
movzx ecx, byte [rbx + rcx]
sub ecx, r8d
mov r8d, ecx
sar r8d, 0x1f
xor ecx, r8d
sub ecx, r8d
add eax, ecx
mov ecx, 0xf
sub ecx, edx
movsxd rdx, ecx
movzx edx, byte [rbx + rdx]
movzx ecx, byte [rbx + 0xf]
sub edx, ecx
mov ecx, edx
sar ecx, 0x1f
xor edx, ecx
sub edx, ecx
add eax, edx
mov edx, dword [rsp + 0x11c]
cmp dword [rsp + 0x58], edx
jle 0x14014cf10
mov rcx, qword [rsp + 0x160]
cmp byte [rcx], 1
jbe 0x14014cf10
movsxd r9, dword [rdi + 0x40]
mov ecx, r9d
shl ecx, 4
mov r8d, ecx
sub r8d, r9d
movsxd r10, r8d
add r10, rbx
movzx r9d, byte [r10 + r9]
movzx edx, byte [r10]
sub edx, r9d
mov r9d, edx
sar r9d, 0x1f
xor edx, r9d
sub edx, r9d
lea r9d, [rcx + 1]
add eax, edx
lea edx, [r8 + 1]
movsxd r9, r9d
movsxd rdx, edx
movzx r9d, byte [rbx + r9]
movzx edx, byte [rbx + rdx]
sub edx, r9d
mov r9d, edx
sar r9d, 0x1f
xor edx, r9d
sub edx, r9d
lea r9d, [rcx + 2]
add eax, edx
lea edx, [r8 + 2]
movsxd r9, r9d
movsxd rdx, edx
movzx r9d, byte [rbx + r9]
movzx edx, byte [rbx + rdx]
sub edx, r9d
mov r9d, edx
sar r9d, 0x1f
xor edx, r9d
sub edx, r9d
lea r9d, [rcx + 3]
add eax, edx
lea edx, [r8 + 3]
movsxd r9, r9d
movsxd rdx, edx
movzx r9d, byte [rbx + r9]
movzx edx, byte [rbx + rdx]
sub edx, r9d
mov r9d, edx
sar r9d, 0x1f
xor edx, r9d
sub edx, r9d
lea r9d, [rcx + 4]
add eax, edx
lea edx, [r8 + 4]
movsxd r9, r9d
movsxd rdx, edx
movzx r9d, byte [rbx + r9]
movzx edx, byte [rbx + rdx]
sub edx, r9d
mov r9d, edx
sar r9d, 0x1f
xor edx, r9d
sub edx, r9d
lea r9d, [rcx + 5]
add eax, edx
lea edx, [r8 + 5]
movsxd r9, r9d
movsxd rdx, edx
movzx r9d, byte [rbx + r9]
movzx edx, byte [rbx + rdx]
sub edx, r9d
mov r9d, edx
sar r9d, 0x1f
xor edx, r9d
sub edx, r9d
lea r9d, [rcx + 6]
add eax, edx
lea edx, [r8 + 6]
movsxd r9, r9d
movsxd rdx, edx
movzx r9d, byte [rbx + r9]
movzx edx, byte [rbx + rdx]
sub edx, r9d
mov r9d, edx
sar r9d, 0x1f
xor edx, r9d
sub edx, r9d
lea r9d, [rcx + 7]
add eax, edx
lea edx, [r8 + 7]
movsxd r9, r9d
movsxd rdx, edx
movzx r9d, byte [rbx + r9]
movzx edx, byte [rbx + rdx]
sub edx, r9d
mov r9d, edx
sar r9d, 0x1f
xor edx, r9d
sub edx, r9d
lea r9d, [rcx + 8]
add eax, edx
lea edx, [r8 + 8]
movsxd r9, r9d
movsxd rdx, edx
movzx r9d, byte [rbx + r9]
movzx edx, byte [rbx + rdx]
sub edx, r9d
mov r9d, edx
sar r9d, 0x1f
xor edx, r9d
sub edx, r9d
lea r9d, [rcx + 9]
add eax, edx
lea edx, [r8 + 9]
movsxd r9, r9d
movsxd rdx, edx
movzx r9d, byte [rbx + r9]
movzx edx, byte [rbx + rdx]
sub edx, r9d
mov r9d, edx
sar r9d, 0x1f
xor edx, r9d
sub edx, r9d
lea r9d, [rcx + 0xa]
add eax, edx
lea edx, [r8 + 0xa]
movsxd r9, r9d
movsxd rdx, edx
movzx r9d, byte [rbx + r9]
movzx edx, byte [rbx + rdx]
sub edx, r9d
mov r9d, edx
sar r9d, 0x1f
xor edx, r9d
sub edx, r9d
lea r9d, [rcx + 0xb]
add eax, edx
lea edx, [r8 + 0xb]
movsxd r9, r9d
movsxd rdx, edx
movzx r9d, byte [rbx + r9]
movzx edx, byte [rbx + rdx]
sub edx, r9d
mov r9d, edx
sar r9d, 0x1f
xor edx, r9d
sub edx, r9d
lea r9d, [rcx + 0xc]
add eax, edx
lea edx, [r8 + 0xc]
movsxd r9, r9d
movsxd rdx, edx
movzx r9d, byte [rbx + r9]
movzx edx, byte [rbx + rdx]
sub edx, r9d
mov r9d, edx
sar r9d, 0x1f
xor edx, r9d
sub edx, r9d
lea r9d, [rcx + 0xd]
add eax, edx
lea edx, [r8 + 0xd]
movsxd r9, r9d
movsxd rdx, edx
movzx r9d, byte [rbx + r9]
movzx edx, byte [rbx + rdx]
sub edx, r9d
mov r9d, edx
sar r9d, 0x1f
xor edx, r9d
sub edx, r9d
lea r9d, [rcx + 0xe]
add eax, edx
lea edx, [r8 + 0xe]
movsxd r9, r9d
movsxd rdx, edx
movzx r9d, byte [rbx + r9]
movzx edx, byte [rbx + rdx]
sub edx, r9d
mov r9d, edx
sar r9d, 0x1f
xor edx, r9d
sub edx, r9d
add eax, edx
lea edx, [r8 + 0xf]
movsxd rdx, edx
movzx r8d, byte [rbx + rdx]
lea edx, [rcx + 0xf]
movsxd rdx, edx
movzx edx, byte [rbx + rdx]
sub r8d, edx
mov ecx, r8d
mov edx, r8d
sar ecx, 0x1f
xor edx, ecx
sub edx, ecx
add eax, edx
cmp eax, dword [rsp + 0xa0]
jg 0x14014cf28
mov dword [rsp + 0xd0], r13d
mov dword [rsp + 0xa0], eax
mov r8, qword [r12 + 0x500]
add r14, 1
cmp dword [rsp + 0x98], r14d
jg 0x14014c400
movsxd r9, dword [rsp + 0xd0]
mov rdi, qword [rsp + 0x100]
mov rbx, qword [rsp + 0x80]
lea rcx, [r8 + rdi*4]
mov edx, dword [rsp + r9*8 + 0x1a0]
mov eax, dword [rsp + r9*8 + 0x1a4]
mov dword [r12 + 0x4b0], edx
mov dword [r12 + 0x4b4], eax
mov word [rcx], dx
mov word [rcx + 2], ax
mov rcx, qword [rsp + 0x78]
add rcx, rdi
cmp rbx, 2
lea rcx, [r8 + rcx*4]
mov word [rcx], dx
mov word [rcx + 2], ax
je 0x14014cfcd
mov rcx, rdi
add rcx, qword [rsp + 0xc8]
cmp rbx, 4
lea rcx, [r8 + rcx*4]
mov word [rcx], dx
mov word [rcx + 2], ax
jne 0x14014cfcd
add rdi, qword [rsp + 0xf8]
lea rcx, [r8 + rdi*4]
mov word [rcx], dx
mov word [rcx + 2], ax
mov edi, dword [rsp + 0xf0]
cmp qword [rsp + 0x80], 2
lea ecx, [rdi + 1]
mov rdi, qword [rsp + 0x78]
movsxd rcx, ecx
lea r10, [r8 + rcx*4]
mov word [r10], dx
mov word [r10 + 2], ax
lea r10, [rdi + rcx]
lea r10, [r8 + r10*4]
mov word [r10], dx
mov word [r10 + 2], ax
je 0x14014d104
mov rdi, qword [rsp + 0xc8]
cmp qword [rsp + 0x80], 4
lea r10, [rcx + rdi]
lea r10, [r8 + r10*4]
mov word [r10], dx
mov word [r10 + 2], ax
jne 0x14014d043
add rcx, qword [rsp + 0xf8]
lea rcx, [r8 + rcx*4]
mov word [rcx], dx
mov word [rcx + 2], ax
mov edi, dword [rsp + 0xf0]
cmp qword [rsp + 0x80], 4
lea ecx, [rdi + 2]
mov rdi, qword [rsp + 0x78]
movsxd rcx, ecx
lea r10, [r8 + rcx*4]
mov word [r10], dx
mov word [r10 + 2], ax
lea r10, [rdi + rcx]
mov rdi, qword [rsp + 0xc8]
lea r10, [r8 + r10*4]
mov word [r10], dx
mov word [r10 + 2], ax
lea r10, [rcx + rdi]
lea r10, [r8 + r10*4]
mov word [r10], dx
mov word [r10 + 2], ax
jne 0x14014d104
mov rdi, qword [rsp + 0xf8]
mov rbx, qword [rsp + 0x78]
add rcx, rdi
lea rcx, [r8 + rcx*4]
mov word [rcx], dx
mov word [rcx + 2], ax
mov ecx, dword [rsp + 0xf0]
add ecx, 3
movsxd rcx, ecx
lea r10, [r8 + rcx*4]
mov word [r10], dx
mov word [r10 + 2], ax
lea r10, [rbx + rcx]
mov rbx, qword [rsp + 0xc8]
lea r10, [r8 + r10*4]
mov word [r10], dx
mov word [r10 + 2], ax
lea r10, [rcx + rbx]
add rcx, rdi
lea r10, [r8 + r10*4]
lea rcx, [r8 + rcx*4]
mov word [r10], dx
mov word [r10 + 2], ax
mov word [rcx], dx
mov word [rcx + 2], ax
mov eax, dword [rsp + 0x88]
mov edx, dword [rsp + r9*4 + 0x180]
mov r8d, 1
mov rcx, qword [r12 + 0x5e8]
xor r9d, r9d
mov dword [rsp + 0x40], 0
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0xa8]
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0x138]
mov qword [rsp + 0x20], rax
call qword [r12 + 0x5e0]
mov eax, dword [rsp + 0x140]
cmp eax, dword [r12 + 0x4b0]
je 0x14014d1bf
mov rax, qword [rsp + 0x60]
add dword [rsp + 0x130], 1
xor edx, edx
mov byte [rax + rsi], 4
jmp 0x14014bd0f
xor edx, edx
test ecx, ecx
je 0x14014bd0f
movsxd rax, dword [rsp + 0xf0]
mov r8, qword [r12 + 0x500]
movsxd rsi, r9d
mov r11, qword [r12 + 0x510]
mov qword [rsp + 0x100], rax
jmp 0x14014bff1
mov eax, 1
xor ecx, ecx
jmp 0x14014be82
mov eax, dword [rsp + 0x144]
cmp eax, dword [r12 + 0x4b4]
jne 0x14014d169
mov rax, qword [rsp + 0x60]
xor edx, edx
mov byte [rax + rsi], 2
jmp 0x14014bd0f
mov dword [rsp + 0x98], 3
mov eax, 2
jmp 0x14014c301
mov r14d, dword [rsp + 0x130]
test r14d, r14d
setne al
add dword [rsp + 0xb0], 1
mov edi, dword [rsp + 0xb0]
cmp edi, 1
setle cl
or cl, al
je 0x14014d225
cmp edi, 0xa
jne 0x14014bcd6
test edx, edx
mov rbp, r12
mov edi, dword [rsp + 0x118]
mov r12, qword [rsp + 0x60]
jne 0x14014bbfc
test edi, edi
jle 0x14014d342
mov r9, qword [rsp + 0x70]
mov r10, qword [rsp + 0xe8]
xor edi, edi
mov r11d, dword [rsp + 0x134]
mov edx, dword [r9 + 4]
mov ecx, dword [r9]
mov eax, edx
imul eax, r11d
add eax, ecx
movsxd r8, eax
add r8, r12
test byte [r8], 0xe
je 0x14014d32e
test ecx, ecx
mov byte [r8], 8
jle 0x14014d2aa
lea r8d, [rax - 1]
movsxd r8, r8d
add r8, r12
cmp byte [r8], 0
jne 0x14014d2aa
mov byte [r8], 1
movsxd r8, edi
lea ebx, [rcx - 1]
lea r8, [r10 + r8*8]
add edi, 1
mov dword [r8], ebx
mov dword [r8 + 4], edx
test edx, edx
jle 0x14014d2d8
mov r8d, eax
sub r8d, r11d
movsxd r8, r8d
add r8, r12
cmp byte [r8], 0
jne 0x14014d2d8
mov byte [r8], 1
movsxd r8, edi
lea ebx, [rdx - 1]
lea r8, [r10 + r8*8]
add edi, 1
mov dword [r8], ecx
mov dword [r8 + 4], ebx
lea ebx, [rcx + 1]
cmp ebx, dword [rsp + 0x68]
jge 0x14014d306
lea r8d, [rax + 1]
movsxd r8, r8d
add r8, r12
cmp byte [r8], 0
jne 0x14014d306
mov byte [r8], 1
movsxd r8, edi
add edi, 1
lea r8, [r10 + r8*8]
mov dword [r8], ebx
mov dword [r8 + 4], edx
add edx, 1
cmp dword [rsp + 0x58], edx
jle 0x14014d32e
add eax, r11d
cdqe
add rax, r12
cmp byte [rax], 0
jne 0x14014d32e
mov byte [rax], 1
movsxd rax, edi
add edi, 1
lea rax, [r10 + rax*8]
mov dword [rax], ecx
mov dword [rax + 4], edx
add r9, 8
cmp qword [rsp + 0x128], r9
jne 0x14014d25b
jmp 0x14014d344
xor edi, edi
cmp dword [rsp + 0x148], edi
mov rsi, qword [rsp + 0x70]
mov rax, qword [rsp + 0xe8]
mov qword [rsp + 0xe8], rsi
jl 0x14014d36f
mov qword [rsp + 0x70], rax
mov rsi, rax
jmp 0x14014bca7
lea rax, str.libavcodec_error_resilience.c
mov dword [rsp + 0x28], 0x2cc
lea r9, str.next_blocklist_length___mb_height__mb_width
mov qword [rsp + 0x20], rax
jmp 0x14014b910
lea edi, [rcx + 2]
lea eax, [rcx + 1]
mov dword [rsp + 0x98], edi
jmp 0x14014c301
xor eax, eax
jmp 0x14014d203
cmp dword [rsp + 0x58], ebp
jg 0x14014bbcc
jmp 0x14014bc46
mov r11d, dword [r14 + 0x5d4]
test r11d, r11d
je 0x14014d3f6
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0xf4], 4
mov qword [rsp + 0x80], 4
shl eax, 2
cdqe
mov qword [rsp + 0x78], rax
jmp 0x14014a803
mov dword [rsp + 0x58], eax
jmp 0x14014a782
call fcn.14039bf93
mov edx, dword [rsp + 0x1c8]
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [rsp + 0x1cc]
sar eax, 1
mov dword [rsp + 0x1c8], eax
mov eax, edx
shr eax, 0x1f
add eax, edx
sar eax, 1
mov dword [rsp + 0x1cc], eax
mov eax, r14d
shr eax, 0x1f
add eax, r14d
sar eax, 1
mov dword [rsp + 0x194], eax
jmp 0x14014c2f1
mov dword [rsp + 0x98], 6
mov eax, 5
jmp 0x14014c301
mov ebp, 3
jmp 0x14014c0ba
mov edx, dword [rsp + 0xa0]
mov dword [rsp + 0x98], 0
xor r13d, r13d
shr edx, 0x1f
add edx, dword [rsp + 0xa0]
sar edx, 1
mov dword [rsp + 0x1b0], edx
mov edx, edi
shr edx, 0x1f
add edx, edi
sar edx, 1
mov dword [rsp + 0x1b4], edx
mov edx, r14d
shr edx, 0x1f
add edx, r14d
sar edx, 1
mov dword [rsp + 0x188], edx
jmp 0x14014c13b