Function at 0x14001c2d0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rdi
push r12
push r14
push r15
sub rsp, 0x110
mov r8, qword [rcx + 0x8630]
mov r14, rcx
mov edx, dword [r8]
lea r9, [r8 + 0x38]
mov r15, qword [r8 + 0x10]
mov qword [rsp + 0xa8], r9
test edx, edx
je 0x14001c30b
mov rax, qword [rcx + 0x10]
jmp 0x14001c319
mov rax, qword [r9]
inc rax
mov qword [rsp + 0xa8], r9
mov r10, qword [rcx + 0x86d0]
mov r11d, 0x10
shl r10, 4
mov qword [rsp + 0xd8], r10
add r10, 0xfffffffffffffff0
sub rax, r10
mov qword [rsp + 0xe0], r10
cmp rax, r11
jae 0x14001c368
test edx, edx
je 0x14001c358
mov rax, qword [rcx + 0x10]
sub rax, r10
mov qword [rsp + 0x40], rax
jmp 0x14001c36d
mov rax, qword [r9]
inc rax
sub rax, r10
mov qword [rsp + 0x40], rax
jmp 0x14001c36d
mov qword [rsp + 0x40], r11
mov qword [rsp + 0xf8], r13
test edx, edx
je 0x14001c37f
mov r13, qword [rcx + 8]
jmp 0x14001c386
mov r13, qword [r8 + 0x28]
inc r13
mov rdx, qword [r8 + 0x30]
xor eax, eax
mov ebp, dword [r14 + 0x85b0]
mov rcx, rdx
and ecx, 0xf
mov qword [rsp + 0x70], rdx
cmp r10, rdx
mov qword [rsp + 0x108], rbx
mov dword [rsp + 0xc0], ebp
cmovbe eax, ecx
xor edx, edx
lea rcx, [r15 - 1]
add rcx, rax
mov rax, rcx
div r15
sub rcx, rdx
xor edx, edx
mov qword [rsp + 0x50], rcx
mov rcx, qword [r8 + 0x20]
dec rcx
add rcx, r15
mov rax, rcx
div r15
sub rcx, rdx
mov qword [rsp + 0x48], rcx
test ebp, ebp
jne 0x14001c3ec
xor ebx, ebx
jmp 0x14001c3f0
mov ebx, dword [r14 + 0x18]
mov eax, dword [r14 + 0x1c]
mov ecx, 2
mov r9d, dword [r14 + 0x98]
mov dword [rsp + 0xb8], eax
mov eax, dword [r14 + 0x30]
neg eax
mov dword [rsp + 0xa0], ebx
mov qword [rsp + 0x100], rsi
sbb rax, rax
xor edx, edx
and eax, 2
xor edi, edi
sub rcx, rax
mov qword [rsp + 0xc8], rax
movzx eax, byte [r14 + 0x80d0]
xor r12d, r12d
mov byte [rsp + 0x148], al
movzx eax, byte [r14 + 0x80d1]
mov byte [rsp + 0x150], al
mov rax, qword [r14 + 0x8830]
mov qword [rsp + 0x98], rax
mov rax, qword [r14 + 0x8838]
mov qword [rsp + 0x68], rax
mov rax, qword [r14 + 0x8840]
mov qword [rsp + 0x78], rax
mov rax, qword [r8 + 0x40]
mov qword [rsp + 0x88], rax
mov rax, r10
div r15
mov qword [rsp + 0xd0], rcx
mov qword [rsp + 0x58], rdi
mov rcx, rax
mov rax, qword [r8 + 0x48]
mov qword [rsp + 0xb0], r12
lea rax, [rax + rcx*8]
mov qword [rsp + 0x80], rax
cmp r15, r11
jb 0x14001c4d5
test r9d, r9d
jne 0x14001c4c2
mov esi, r11d
jmp 0x14001c4f2
cmp r9d, 1
mov esi, 0x22
mov eax, 0x17
cmove esi, eax
jmp 0x14001c4f2
cmp r15, 4
jb 0x14001c4ed
test r9d, r9d
mov esi, 0x5d
mov eax, 0x40
cmove esi, eax
jmp 0x14001c4f2
mov esi, 0x102
mov eax, dword [r14 + 0x85bc]
mov edx, 8
test eax, eax
mov dword [rsp + 0x158], esi
mov ecx, 0xb
cmovne edx, ecx
mov qword [rsp + 0x60], rdx
je 0x14001c538
cmp r15, r11
jb 0x14001c538
xor ecx, ecx
lea eax, [rbp - 1]
cmp eax, 1
mov eax, edx
setbe cl
inc rcx
sub rax, rcx
mov qword [rsp + 0x90], rax
jmp 0x14001c546
mov qword [rsp + 0x90], rdx
cmp r15, 1
jbe 0x14001c564
mov ecx, 1
nop dword [rax + rax]
rol ecx, 1
inc r12
mov eax, ecx
cmp rax, r15
jb 0x14001c550
mov qword [rsp + 0xb0], r12
cmp dword [r14 + 0x70], 4
jge 0x14001c571
mov rcx, qword [r14 + 0x40]
jmp 0x14001c575
mov rcx, qword [r14 + 0x50]
mov rax, qword [rsp + 0x40]
xor edx, edx
sub rax, qword [rsp + 0x50]
mov qword [rsp + 0xe8], rax
div r15
mov rdx, rcx
mov rcx, r14
mov r8, rax
call fcn.1400137d0
test eax, eax
jne 0x14001e7e3
mov rax, qword [rsp + 0xe0]
xor edx, edx
div r15
test rdx, rdx
jne case.default.0x14001cb48
mov rcx, qword [rsp + 0xd8]
cmp rcx, qword [rsp + 0x70]
jbe case.default.0x14001cb48
mov rax, qword [rsp + 0xa8]
mov rax, qword [rax]
add rax, 0x10
cmp rcx, rax
ja case.default.0x14001cb48
lea eax, [rbp - 1]
lea r8, [0x140000000]
cmp eax, 1
ja 0x14001c8b3
test ebx, ebx
je 0x14001c8b3
mov rbp, qword [rsp + 0x140]
lea r12, [0x140000000]
mov r14, qword [r14 + 0x8a30]
xor r11d, r11d
mov esi, dword [rsp + 0xc0]
xor r10d, r10d
mov rdi, qword [rsp + 0x68]
mov rax, r15
mov rbp, qword [rbp + 0x8a38]
mov rbx, qword [rsp + 0x78]
shl rax, 4
mov qword [rsp + 0x70], rax
nop
xor r8d, r8d
test r13, r13
je 0x14001c6c5
nop dword [rax + rax]
mov rcx, r8
mov rdx, r8
shr rcx, 1
and rdx, 0xfffffffffffffff0
and ecx, 7
cmp esi, 2
jne 0x14001c678
lea rax, [rcx + r10]
movzx eax, byte [rax + r12 + 0x6cd80]
lea r9, [rax + rdx*8]
jmp 0x14001c68f
mov rax, r11
shr rax, 1
lea rcx, [rcx + rax*8]
movzx eax, byte [rcx + r12 + 0x6cd00]
lea r9, [rax + rdx*4]
mov rax, r8
shl rdx, 4
and eax, 0xf
add r8, r15
add rax, r10
movzx ecx, byte [rax + r12 + 0x6cd80]
mov eax, dword [rdi + r9*4]
add rcx, rdx
mov dword [r14 + rcx*4], eax
mov eax, dword [rbx + r9*4]
mov dword [rbp + rcx*4], eax
cmp r8, r13
jb 0x14001c650
mov rax, qword [rsp + 0x70]
add r11, r15
add r10, rax
cmp r10, 0x100
jb 0x14001c640
mov r12, qword [rsp + 0xb0]
mov esi, dword [rsp + 0x158]
mov ebx, dword [rsp + 0xa0]
mov rdi, qword [rsp + 0x58]
cmp r15, 4
jne 0x14001c892
cmp dword [rsp + 0xc0], 1
jne 0x14001c7ad
test r13, r13
je 0x14001c7ad
mov rsi, rdi
lea r12, [0x140000000]
nop
mov r11, rsi
mov r10, rsi
and r11d, 0xf
and r10, 0xfffffffffffffff0
shl r10, 4
add rsi, 8
movzx r9d, byte [r11 + r12 + 0x6cd80]
movzx edi, byte [r11 + r12 + 0x6ce00]
add r9, r10
movzx r8d, byte [r11 + r12 + 0x6cdc0]
add rdi, r10
add r8, r10
mov ecx, dword [r14 + r9*4]
mov edx, dword [r14 + rdi*4]
inc ecx
add edx, ecx
sar edx, 1
mov dword [r14 + r8*4], edx
mov ecx, dword [rbp + r9*4]
mov edx, dword [rbp + rdi*4]
inc ecx
add edx, ecx
movzx ecx, byte [r11 + r12 + 0x6ce40]
add rcx, r10
sar edx, 1
mov dword [rbp + r8*4], edx
mov eax, dword [r14 + rdi*4]
mov dword [r14 + rcx*4], eax
mov eax, dword [rbp + rdi*4]
mov dword [rbp + rcx*4], eax
cmp rsi, r13
jb 0x14001c720
mov r12, qword [rsp + 0xb0]
lea rsi, [r13 - 8]
xor r11d, r11d
lea rbx, [0x140000000]
nop dword [rax + rax]
xor r10d, r10d
test rsi, rsi
je 0x14001c846
nop dword [rax + rax]
lea rcx, [r10 + 4]
mov rdx, r10
and rdx, 0xfffffffffffffff0
lea rax, [rcx + 4]
shl rdx, 4
and eax, 0xf
add rax, r11
and ecx, 0xf
add rcx, r11
movzx edi, byte [rax + rbx + 0x6cd80]
mov rax, r10
movzx r8d, byte [rcx + rbx + 0x6cd80]
add rdi, rdx
add r8, rdx
and eax, 0xf
add rax, r11
add r10, 8
movzx r9d, byte [rax + rbx + 0x6cd80]
add r9, rdx
mov edx, dword [r14 + r9*4]
inc edx
add edx, dword [r14 + rdi*4]
sar edx, 1
mov dword [r14 + r8*4], edx
mov edx, dword [rbp + r9*4]
inc edx
add edx, dword [rbp + rdi*4]
sar edx, 1
mov dword [rbp + r8*4], edx
cmp r10, rsi
jb 0x14001c7d0
lea rax, [r10 + 4]
and r10, 0xfffffffffffffff0
and eax, 0xf
shl r10, 4
add rax, r11
add r11, 0x40
movzx ecx, byte [rax + rbx + 0x6cd80]
mov eax, dword [r14 + rdi*4]
add rcx, r10
mov dword [r14 + rcx*4], eax
mov eax, dword [rbp + rdi*4]
mov dword [rbp + rcx*4], eax
cmp r11, 0x100
jb 0x14001c7c0
mov esi, dword [rsp + 0x158]
mov ebx, dword [rsp + 0xa0]
mov r11, r14
mov qword [rsp + 0x68], r14
mov r14, qword [rsp + 0x140]
lea r8, [0x140000000]
mov r10, rbp
mov qword [rsp + 0x78], rbp
jmp 0x14001c8bd
mov r10, qword [rsp + 0x78]
mov r11, qword [rsp + 0x68]
mov r9d, dword [rsp + 0xb8]
cmp r9d, 1
jne 0x14001cef1
mov rdi, qword [rsp + 0x60]
mov r8d, 0x80
mov rcx, rdi
mov eax, r8d
shl eax, cl
cdq
idiv esi
mov dword [rsp + 0xa0], eax
mov r10d, eax
cmp ebx, 8
ja case.default.0x14001c90c
lea rdx, [0x140000000]
movsxd rax, ebx
mov ecx, dword [rdx + rax*4 + 0x1e810]
add rcx, rdx
jmp rcx
mov rax, qword [rsp + 0x50]
mov rbp, rax
mov qword [rsp + 0x148], rax
cmp rax, qword [rsp + 0x40]
jae 0x14001e62f
mov rdx, qword [rsp + 0x48]
mov rdi, rax
shl rdi, 4
mov rax, r15
shl rax, 4
mov r8d, 0xff
mov qword [rsp + 0x58], rax
nop word [rax + rax]
mov rcx, r12
mov rax, rbp
shr rax, cl
mov rbx, rdx
mov rcx, qword [rsp + 0x80]
mov rax, qword [rcx + rax*8]
cmp rdx, r13
jae 0x14001ca96
mov rbp, rax
nop dword [rax]
nop dword [rax + rax]
mov rax, rbx
lea rcx, [0x140000000]
and eax, 0xf
mov r9d, esi
add rax, rdi
movzx edx, byte [rax + rcx + 0x6cd80]
mov rax, rbx
mov rcx, qword [rsp + 0x90]
and rax, 0xfffffffffffffff0
shl rax, 4
add rdx, rax
mov rax, qword [rsp + 0x98]
imul r9d, dword [r11 + rdx*4]
mov r11d, esi
mov r10d, dword [rax + rdx*4]
add r10d, dword [rsp + 0xa0]
imul r10d, esi
neg r9d
sar r9d, cl
mov rcx, qword [rsp + 0x78]
mov eax, r9d
sar eax, 1
imul r11d, dword [rcx + rdx*4]
mov rcx, qword [rsp + 0x90]
sar r11d, cl
mov rcx, qword [rsp + 0x60]
sar r10d, cl
sub r10d, eax
lea ecx, [r11 + 1]
mov eax, r10d
sar ecx, 1
sub eax, ecx
mov rcx, r12
add r9d, eax
mov rax, rbx
shr rax, cl
mov rcx, qword [rsp + 0x88]
mov rcx, qword [rcx + rax*8]
add rcx, qword [r14 + 0x80f0]
add rcx, rbp
add r11d, r9d
jns 0x14001ca33
xor r11d, r11d
jmp 0x14001ca3a
cmp r11d, r8d
cmovg r11d, r8d
mov rax, qword [rsp + 0xc8]
mov byte [rcx + rax], r11b
test r10d, r10d
jns 0x14001ca50
xor r10d, r10d
jmp 0x14001ca57
cmp r10d, r8d
cmovg r10d, r8d
mov byte [rcx + 1], r10b
test r9d, r9d
jns 0x14001ca65
xor r9d, r9d
jmp 0x14001ca6c
cmp r9d, r8d
cmovg r9d, r8d
mov rax, qword [rsp + 0xd0]
add rbx, r15
mov r11, qword [rsp + 0x68]
mov byte [rcx + rax], r9b
cmp rbx, r13
jb 0x14001c980
mov rbp, qword [rsp + 0x148]
mov rdx, qword [rsp + 0x48]
add rdi, qword [rsp + 0x58]
add rbp, r15
mov r11, qword [rsp + 0x68]
mov qword [rsp + 0x148], rbp
cmp rbp, qword [rsp + 0x40]
jb 0x14001c950
mov rbp, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x48]
mov r14, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x140]
cmp byte [rbx + 0xa8], 0
jbe 0x14001caf6
mov r9, qword [rsp + 0x60]
mov rdx, r12
mov r8d, dword [rsp + 0x158]
mov rcx, rbx
call fcn.14001bab0
test eax, eax
jne 0x14001e7e3
mov rax, qword [rsp + 0xe8]
xor edx, edx
dec rax
add rax, r15
div r15
cmp dword [rbx + 0x18], 7
mov qword [rbx + 0x8110], rax
jne case.default.0x14001cb48
cmp dword [rbx + 0x90], 0
jne case.default.0x14001cb48
mov eax, dword [rbx + 0x1c]
dec eax
cmp eax, 6
ja case.default.0x14001cb48
lea rdx, [0x140000000]
cdqe
mov ecx, dword [rdx + rax*4 + 0x1e834]
add rcx, rdx
jmp rcx
mov rbp, qword [rsp + 0x50]
mov edx, esi
mov rdi, qword [rsp + 0x48]
mov r9, rbp
mov r8, qword [rsp + 0x60]
mov rcx, r14
mov qword [rsp + 0x20], rdi
call fcn.14001b050
jmp 0x14001cac0
mov rbp, qword [rsp + 0x50]
mov rax, rbp
mov rdi, qword [rsp + 0x48]
mov qword [rsp + 0x150], rax
cmp rbp, qword [rsp + 0x40]
jae 0x14001cac0
mov rdx, rbp
mov rcx, r15
shl rdx, 4
shl rcx, 4
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x148], rdx
nop dword [rax + rax]
mov rcx, r12
mov rbp, rdi
shr rax, cl
mov rcx, qword [rsp + 0x80]
mov r9, qword [rcx + rax*8]
mov qword [rsp + 0x58], r9
cmp rdi, r13
jae 0x14001ccc4
nop dword [rax]
nop word [rax + rax]
mov rax, rbp
lea rcx, [0x140000000]
and eax, 0xf
mov r8d, esi
add rax, rdx
mov edi, esi
mov ebx, esi
movzx edx, byte [rax + rcx + 0x6cd80]
mov rax, rbp
mov rcx, qword [rsp + 0x90]
and rax, 0xfffffffffffffff0
shl rax, 4
add rdx, rax
mov rax, qword [rsp + 0x98]
imul ebx, dword [rax + rdx*4]
imul edi, dword [r11 + rdx*4]
sar edi, cl
mov rcx, qword [rsp + 0x78]
neg edi
mov eax, edi
sar eax, 1
imul r8d, dword [rcx + rdx*4]
mov rcx, qword [rsp + 0x90]
sar r8d, cl
mov rcx, qword [rsp + 0x60]
sar ebx, cl
sub ebx, eax
lea ecx, [r8 + 1]
mov eax, ebx
sar ecx, 1
mov edx, ebx
sub eax, ecx
mov rcx, r12
add edi, eax
mov rax, rbp
shr rax, cl
add r8d, edi
mov rcx, qword [rsp + 0x88]
mov r11, qword [rcx + rax*8]
mov ecx, edi
add r11, qword [r14 + 0x80f0]
add r11, r9
lea r9, [r11 + 2]
lea rax, [r11 + 3]
mov qword [rsp + 0x30], rax
lea r10, [r11 + 1]
mov qword [rsp + 0x28], r9
mov r9, r11
mov qword [rsp + 0x20], r10
call fcn.140016730
mov rdx, qword [rsp + 0x148]
add rbp, r15
mov r9, qword [rsp + 0x58]
mov r11, qword [rsp + 0x68]
cmp rbp, r13
jb 0x14001cbe0
mov rdi, qword [rsp + 0x48]
mov rax, qword [rsp + 0x150]
add rdx, qword [rsp + 0x70]
add rax, r15
mov r11, qword [rsp + 0x68]
mov qword [rsp + 0x150], rax
mov qword [rsp + 0x148], rdx
cmp rax, qword [rsp + 0x40]
jb 0x14001cbb0
mov rbp, qword [rsp + 0x50]
jmp 0x14001cac0
mov rcx, qword [rsp + 0x90]
mov rbp, qword [rsp + 0x50]
mov r11, qword [r14 + 0x8848]
shl r8d, cl
mov eax, r8d
mov qword [rsp + 0x150], r11
cdq
idiv esi
sar eax, 1
mov dword [rsp + 0x148], eax
mov rax, rbp
mov qword [rsp + 0xa8], rax
cmp rbp, qword [rsp + 0x40]
jae 0x14001cabb
mov rdx, qword [rsp + 0x48]
mov rcx, r15
shl rbp, 4
mov r8d, 0xff
shl rcx, 4
mov qword [rsp + 0x70], rcx
nop dword [rax]
mov rcx, r12
mov rdi, rdx
shr rax, cl
mov rcx, qword [rsp + 0x80]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x58], rax
cmp rdx, r13
jae 0x14001cec9
nop dword [rax]
nop word [rax + rax]
mov r9d, r10d
lea rcx, [0x140000000]
mov rax, rdi
mov ebx, esi
and eax, 0xf
mov r10d, esi
add rax, rbp
movzx edx, byte [rax + rcx + 0x6cd80]
mov rax, rdi
mov rcx, qword [rsp + 0x60]
and rax, 0xfffffffffffffff0
shl rax, 4
add rdx, rax
mov rax, qword [rsp + 0x98]
sub r9d, dword [rax + rdx*4]
mov r11d, dword [r11 + rdx*4]
add r11d, dword [rsp + 0x148]
mov rax, qword [rsp + 0x68]
imul r9d, esi
imul r11d, esi
imul ebx, dword [rax + rdx*4]
mov rax, qword [rsp + 0x90]
sar r9d, cl
mov rcx, rax
sar ebx, cl
mov rcx, qword [rsp + 0x78]
imul r10d, dword [rcx + rdx*4]
mov rcx, rax
sar r11d, cl
lea eax, [r9 + 1]
sar eax, 1
sub r11d, eax
mov eax, r11d
neg r10d
sar r10d, cl
mov ecx, ebx
sar ecx, 1
sub eax, ecx
add r9d, eax
lea ecx, [r10 + 1]
mov eax, r9d
sar ecx, 1
sub eax, ecx
mov rcx, r12
add ebx, eax
mov rax, rdi
shr rax, cl
add r10d, ebx
mov rcx, qword [rsp + 0x88]
mov rcx, qword [rcx + rax*8]
add rcx, qword [r14 + 0x80f0]
add rcx, qword [rsp + 0x58]
test ebx, ebx
jns 0x14001ce60
xor ebx, ebx
jmp 0x14001ce67
cmp ebx, r8d
cmovg ebx, r8d
mov byte [rcx], bl
test r9d, r9d
jns 0x14001ce73
xor r9d, r9d
jmp 0x14001ce7a
cmp r9d, r8d
cmovg r9d, r8d
mov byte [rcx + 1], r9b
test r10d, r10d
jns 0x14001ce88
xor r10d, r10d
jmp 0x14001ce8f
cmp r10d, r8d
cmovg r10d, r8d
mov byte [rcx + 2], r10b
test r11d, r11d
jns 0x14001ce9d
xor r11d, r11d
jmp 0x14001cea4
cmp r11d, r8d
cmovg r11d, r8d
mov r10d, dword [rsp + 0xa0]
add rdi, r15
mov byte [rcx + 3], r11b
mov r11, qword [rsp + 0x150]
cmp rdi, r13
jb 0x14001cd90
mov rdx, qword [rsp + 0x48]
mov rax, qword [rsp + 0xa8]
add rbp, qword [rsp + 0x70]
add rax, r15
mov qword [rsp + 0xa8], rax
cmp rax, qword [rsp + 0x40]
jb 0x14001cd60
jmp case.default.0x14001c90c
cmp r9d, 2
jne 0x14001d336
movzx r10d, byte [rsp + 0x148]
mov r8d, 0x8000
mov rdi, qword [rsp + 0x60]
mov ecx, r10d
mov eax, r8d
mov ebp, r10d
sar eax, cl
mov rcx, rdi
shl eax, cl
mov ecx, ebx
cdq
idiv esi
mov dword [rsp + 0xb8], eax
test ebx, ebx
je case.0x14001c90c.0
sub ecx, 3
je case.0x14001c90c.0
sub ecx, 1
je 0x14001d103
sub ecx, r9d
je case.0x14001c90c.0
cmp ecx, 1
jne 0x14001d769
mov rcx, qword [rsp + 0x50]
mov rax, rcx
mov qword [rsp + 0x148], rcx
cmp rcx, qword [rsp + 0x40]
jae 0x14001e637
mov rdx, qword [rsp + 0x48]
mov rdi, rcx
shl rdi, 4
mov rcx, r15
shl rcx, 4
mov r8d, 0xffff
mov qword [rsp + 0x58], rcx
mov rcx, r12
mov rbx, rdx
shr rax, cl
mov rcx, qword [rsp + 0x80]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x150], rax
cmp rdx, r13
jae 0x14001d0d6
nop word [rax + rax]
mov rax, rbx
lea rcx, [0x140000000]
and eax, 0xf
mov r10d, esi
add rax, rdi
movzx edx, byte [rax + rcx + 0x6cd80]
mov rax, rbx
mov rcx, qword [rsp + 0x90]
and rax, 0xfffffffffffffff0
shl rax, 4
add rdx, rax
mov rax, qword [rsp + 0x98]
imul r10d, dword [r11 + rdx*4]
mov r11d, esi
mov r9d, dword [rax + rdx*4]
add r9d, dword [rsp + 0xb8]
imul r9d, esi
neg r10d
sar r10d, cl
mov rcx, qword [rsp + 0x78]
mov eax, r10d
sar eax, 1
imul r11d, dword [rcx + rdx*4]
mov rcx, qword [rsp + 0x90]
sar r11d, cl
mov rcx, qword [rsp + 0x60]
sar r9d, cl
sub r9d, eax
lea ecx, [r11 + 1]
mov eax, r9d
sar ecx, 1
sub eax, ecx
mov rcx, r12
add r10d, eax
mov rax, rbx
shr rax, cl
add r11d, r10d
mov rcx, qword [rsp + 0x88]
mov rdx, qword [rcx + rax*8]
mov ecx, ebp
add rdx, qword [rsp + 0x150]
mov rax, qword [r14 + 0x80f0]
shl r10d, cl
shl r9d, cl
shl r11d, cl
test r10d, r10d
jns 0x14001d086
xor r10d, r10d
jmp 0x14001d08d
cmp r10d, r8d
cmovg r10d, r8d
mov word [rax + rdx*2], r10w
test r9d, r9d
jns 0x14001d09c
xor r9d, r9d
jmp 0x14001d0a3
cmp r9d, r8d
cmovg r9d, r8d
mov word [rax + rdx*2 + 2], r9w
test r11d, r11d
jns 0x14001d0b3
xor r11d, r11d
jmp 0x14001d0ba
cmp r11d, r8d
cmovg r11d, r8d
add rbx, r15
mov word [rax + rdx*2 + 4], r11w
mov r11, qword [rsp + 0x68]
cmp rbx, r13
jb 0x14001cfc0
mov rdx, qword [rsp + 0x48]
mov rax, qword [rsp + 0x148]
add rdi, qword [rsp + 0x58]
add rax, r15
mov r11, qword [rsp + 0x68]
mov qword [rsp + 0x148], rax
cmp rax, qword [rsp + 0x40]
jb 0x14001cf90
jmp case.default.0x14001c90c
mov r11, qword [r14 + 0x8848]
mov eax, r8d
mov rcx, rdi
mov qword [rsp + 0xa8], r11
shl eax, cl
mov rbx, rdi
mov rcx, qword [rsp + 0x90]
cdq
idiv esi
shl r8d, cl
mov rcx, qword [rsp + 0x50]
mov r9d, eax
mov dword [rsp + 0x148], eax
mov eax, r8d
cdq
mov qword [rsp + 0xb8], rcx
idiv esi
sar eax, 1
mov dword [rsp + 0x150], eax
mov rax, rcx
cmp rcx, qword [rsp + 0x40]
jae 0x14001e637
mov r10, qword [rsp + 0x48]
mov rdx, rcx
shl rdx, 4
mov rcx, r15
shl rcx, 4
mov r8d, 0xffff
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0xb0], rdx
mov rcx, r12
mov rdi, r10
shr rax, cl
mov rcx, qword [rsp + 0x80]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x58], rax
cmp r10, r13
jae 0x14001d306
nop dword [rax + rax]
mov rax, rdi
lea rcx, [0x140000000]
and eax, 0xf
mov r10d, esi
add rax, rdx
movzx edx, byte [rax + rcx + 0x6cd80]
mov rcx, rbx
mov rax, rdi
mov ebx, esi
and rax, 0xfffffffffffffff0
shl rax, 4
add rdx, rax
mov rax, qword [rsp + 0x98]
sub r9d, dword [rax + rdx*4]
mov r11d, dword [r11 + rdx*4]
add r11d, dword [rsp + 0x150]
mov rax, qword [rsp + 0x68]
imul r9d, esi
imul r11d, esi
imul ebx, dword [rax + rdx*4]
mov rax, qword [rsp + 0x90]
sar r9d, cl
mov rcx, rax
sar ebx, cl
mov rcx, qword [rsp + 0x78]
imul r10d, dword [rcx + rdx*4]
mov rcx, rax
sar r11d, cl
lea eax, [r9 + 1]
sar eax, 1
sub r11d, eax
mov eax, r11d
neg r10d
sar r10d, cl
mov ecx, ebx
sar ecx, 1
sub eax, ecx
add r9d, eax
lea ecx, [r10 + 1]
mov eax, r9d
sar ecx, 1
sub eax, ecx
mov rcx, r12
add ebx, eax
mov rax, rdi
shr rax, cl
add r10d, ebx
mov rcx, qword [rsp + 0x88]
mov rdx, qword [rcx + rax*8]
mov ecx, ebp
add rdx, qword [rsp + 0x58]
mov rax, qword [r14 + 0x80f0]
shl ebx, cl
shl r9d, cl
shl r10d, cl
shl r11d, cl
test ebx, ebx
jns 0x14001d288
xor ebx, ebx
jmp 0x14001d28f
cmp ebx, r8d
cmovg ebx, r8d
mov word [rax + rdx*2], bx
test r9d, r9d
jns 0x14001d29d
xor r9d, r9d
jmp 0x14001d2a4
cmp r9d, r8d
cmovg r9d, r8d
mov word [rax + rdx*2 + 2], r9w
test r10d, r10d
jns 0x14001d2b4
xor r10d, r10d
jmp 0x14001d2bb
cmp r10d, r8d
cmovg r10d, r8d
mov word [rax + rdx*2 + 4], r10w
test r11d, r11d
jns 0x14001d2cb
xor r11d, r11d
jmp 0x14001d2d2
cmp r11d, r8d
cmovg r11d, r8d
mov r9d, dword [rsp + 0x148]
add rdi, r15
mov rbx, qword [rsp + 0x60]
mov word [rax + rdx*2 + 6], r11w
mov rdx, qword [rsp + 0xb0]
mov r11, qword [rsp + 0xa8]
cmp rdi, r13
jb 0x14001d1b0
mov r10, qword [rsp + 0x48]
mov rax, qword [rsp + 0xb8]
add rdx, qword [rsp + 0x70]
add rax, r15
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0xb0], rdx
cmp rax, qword [rsp + 0x40]
jb 0x14001d185
jmp case.default.0x14001c90c
cmp r9d, 3
jne 0x14001d758
test ebx, ebx
je case.0x14001c90c.0
sub ebx, r9d
je case.0x14001c90c.0
sub ebx, 1
je 0x14001d533
sub ebx, 2
je case.0x14001c90c.0
mov rbp, qword [rsp + 0x50]
cmp ebx, 1
jne 0x14001cabb
mov rax, rbp
mov qword [rsp + 0x150], rax
cmp rbp, qword [rsp + 0x40]
jae 0x14001cabb
movzx edi, byte [rsp + 0x148]
mov rcx, r15
mov rdx, qword [rsp + 0x48]
mov ebx, 0x7fff
shl rbp, 4
shl rcx, 4
mov qword [rsp + 0x58], rcx
nop dword [rax]
mov rcx, r12
mov r11, rdx
shr rax, cl
mov rcx, qword [rsp + 0x80]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x148], rax
cmp rdx, r13
jae 0x14001d504
nop word [rax + rax]
mov rcx, qword [rsp + 0x90]
mov rax, r11
and eax, 0xf
mov r10d, esi
add rax, rbp
mov r9d, esi
movzx edx, byte [rax + r8 + 0x6cd80]
mov rax, r11
and rax, 0xfffffffffffffff0
mov r8d, esi
shl rax, 4
add rdx, rax
mov rax, qword [rsp + 0x68]
imul r8d, dword [rax + rdx*4]
mov rax, qword [rsp + 0x98]
imul r9d, dword [rax + rdx*4]
neg r8d
sar r8d, cl
mov rcx, qword [rsp + 0x78]
mov eax, r8d
sar eax, 1
imul r10d, dword [rcx + rdx*4]
mov rcx, qword [rsp + 0x90]
sar r10d, cl
mov rcx, qword [rsp + 0x60]
sar r9d, cl
sub r9d, eax
lea ecx, [r10 + 1]
mov eax, r9d
sar ecx, 1
sub eax, ecx
mov rcx, r12
add r8d, eax
mov rax, r11
shr rax, cl
add r10d, r8d
mov rcx, qword [rsp + 0x88]
mov rdx, qword [rcx + rax*8]
mov ecx, edi
add rdx, qword [rsp + 0x148]
mov rax, qword [r14 + 0x80f0]
shl r8d, cl
shl r9d, cl
shl r10d, cl
cmp r8d, 0xffff8000
jge 0x14001d4a4
mov r8d, 0xffff8000
jmp 0x14001d4ab
cmp r8d, ebx
cmovg r8d, ebx
mov word [rax + rdx*2], r8w
cmp r9d, 0xffff8000
jge 0x14001d4c1
mov r9d, 0xffff8000
jmp 0x14001d4c8
cmp r9d, ebx
cmovg r9d, ebx
mov word [rax + rdx*2 + 2], r9w
cmp r10d, 0xffff8000
jge 0x14001d4df
mov r10d, 0xffff8000
jmp 0x14001d4e6
cmp r10d, ebx
cmovg r10d, ebx
add r11, r15
mov word [rax + rdx*2 + 4], r10w
lea r8, [0x140000000]
cmp r11, r13
jb 0x14001d3e0
mov rdx, qword [rsp + 0x48]
mov rax, qword [rsp + 0x150]
lea r8, [0x140000000]
add rbp, qword [rsp + 0x58]
add rax, r15
mov qword [rsp + 0x150], rax
cmp rax, qword [rsp + 0x40]
jb 0x14001d3b0
jmp case.default.0x14001c90c
mov rcx, qword [rsp + 0x50]
mov rbp, rcx
mov rax, qword [r14 + 0x8848]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0xa8], rcx
cmp rcx, qword [rsp + 0x40]
jae 0x14001e637
mov r8, qword [rsp + 0x48]
mov rdx, rcx
shl rdx, 4
mov rax, r15
shl rax, 4
mov ebx, 0x7fff
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0x150], rdx
mov rcx, r12
mov rax, rbp
shr rax, cl
mov rdi, r8
mov rcx, qword [rsp + 0x80]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x70], rax
cmp r8, r13
jae 0x14001d728
mov rbp, qword [rsp + 0x150]
mov rax, rdi
lea rcx, [0x140000000]
and eax, 0xf
mov r8d, esi
add rax, rbp
mov r11d, esi
mov r9d, esi
movzx edx, byte [rax + rcx + 0x6cd80]
mov rax, rdi
mov rcx, qword [rsp + 0x60]
and rax, 0xfffffffffffffff0
shl rax, 4
add rdx, rax
mov rax, qword [rsp + 0x98]
imul r8d, dword [rax + rdx*4]
imul r9d, dword [r10 + rdx*4]
mov r10d, esi
mov rax, qword [rsp + 0x68]
neg r8d
imul r11d, dword [rax + rdx*4]
neg r9d
mov rax, qword [rsp + 0x58]
sar r8d, cl
mov rcx, qword [rsp + 0x90]
sar r9d, cl
imul r10d, dword [rax + rdx*4]
sar r11d, cl
lea eax, [r8 + 1]
sar eax, 1
sar r10d, cl
mov ecx, r11d
sub r10d, eax
sar ecx, 1
mov eax, r10d
sub eax, ecx
lea ecx, [r9 + 1]
add r8d, eax
sar ecx, 1
mov eax, r8d
sub eax, ecx
mov rcx, r12
add r11d, eax
mov rax, rdi
shr rax, cl
add r9d, r11d
mov rcx, qword [rsp + 0x88]
mov rdx, qword [rcx + rax*8]
movzx ecx, byte [rsp + 0x148]
add rdx, qword [rsp + 0x70]
mov rax, qword [r14 + 0x80f0]
shl r11d, cl
shl r8d, cl
shl r9d, cl
shl r10d, cl
cmp r11d, 0xffff8000
jge 0x14001d694
mov r11d, 0xffff8000
jmp 0x14001d69b
cmp r11d, ebx
cmovg r11d, ebx
mov word [rax + rdx*2], r11w
cmp r8d, 0xffff8000
jge 0x14001d6b1
mov r8d, 0xffff8000
jmp 0x14001d6b8
cmp r8d, ebx
cmovg r8d, ebx
mov word [rax + rdx*2 + 2], r8w
cmp r9d, 0xffff8000
jge 0x14001d6cf
mov r9d, 0xffff8000
jmp 0x14001d6d6
cmp r9d, ebx
cmovg r9d, ebx
mov word [rax + rdx*2 + 4], r9w
cmp r10d, 0xffff8000
jge 0x14001d6ed
mov r10d, 0xffff8000
jmp 0x14001d6f4
cmp r10d, ebx
cmovg r10d, ebx
mov rbp, qword [rsp + 0x150]
add rdi, r15
mov word [rax + rdx*2 + 6], r10w
mov r10, qword [rsp + 0x78]
cmp rdi, r13
jb 0x14001d5b0
mov rbp, qword [rsp + 0xa8]
mov rdx, qword [rsp + 0x150]
mov r8, qword [rsp + 0x48]
add rdx, qword [rsp + 0xd8]
add rbp, r15
mov r10, qword [rsp + 0x78]
mov qword [rsp + 0xa8], rbp
mov qword [rsp + 0x150], rdx
cmp rbp, qword [rsp + 0x40]
jb 0x14001d582
jmp case.default.0x14001c90c
mov rdi, qword [rsp + 0x60]
movzx r10d, byte [rsp + 0x148]
mov ebp, r10d
cmp r9d, 4
jne 0x14001d929
test ebx, ebx
je case.0x14001c90c.0
sub ebx, 3
je case.0x14001c90c.0
sub ebx, 3
je case.0x14001c90c.0
mov rbp, qword [rsp + 0x50]
cmp ebx, 1
jne 0x14001cabb
mov rdi, rbp
mov qword [rsp + 0x148], rbp
cmp rbp, qword [rsp + 0x40]
jae 0x14001cabb
mov rdx, qword [rsp + 0x48]
mov rax, r15
shl rbp, 4
mov ebx, 0x7fff
shl rax, 4
mov qword [rsp + 0x70], rax
nop dword [rax + rax]
mov rcx, r12
mov rax, rdi
shr rax, cl
mov rcx, qword [rsp + 0x80]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x58], rax
cmp rdx, r13
jae 0x14001d909
mov rdi, rdx
nop word [rax + rax]
mov rax, rdi
lea rcx, [0x140000000]
and eax, 0xf
mov r11d, esi
add rax, rbp
mov r10d, esi
mov r9d, esi
movzx edx, byte [rax + rcx + 0x6cd80]
mov rax, rdi
mov rcx, qword [rsp + 0x90]
and rax, 0xfffffffffffffff0
shl rax, 4
add rdx, rax
mov rax, qword [rsp + 0x68]
imul r11d, dword [rax + rdx*4]
mov rax, qword [rsp + 0x98]
imul r9d, dword [rax + rdx*4]
neg r11d
sar r11d, cl
mov rcx, qword [rsp + 0x78]
mov eax, r11d
sar eax, 1
imul r10d, dword [rcx + rdx*4]
mov rdx, qword [r14 + 0x80f0]
mov rcx, qword [rsp + 0x90]
sar r10d, cl
mov rcx, qword [rsp + 0x60]
sar r9d, cl
sub r9d, eax
mov eax, r9d
lea ecx, [r10 + 1]
sar ecx, 1
sub eax, ecx
mov rcx, r12
add r11d, eax
mov rax, rdi
shr rax, cl
add rdi, r15
mov rcx, qword [rsp + 0x88]
mov r8, qword [rcx + rax*8]
movzx eax, r11w
add r8, qword [rsp + 0x58]
and ax, bx
mov ecx, r11d
sar ecx, 0x1f
xor ax, cx
sub ax, cx
lea ecx, [r10 + r11]
mov word [rdx + r8*2], ax
mov eax, r9d
sar eax, 0x1f
and r9w, bx
xor r9w, ax
sub r9w, ax
mov eax, ecx
sar eax, 0x1f
and cx, bx
xor cx, ax
mov word [rdx + r8*2 + 2], r9w
sub cx, ax
mov word [rdx + r8*2 + 4], cx
cmp rdi, r13
jb 0x14001d800
mov rdi, qword [rsp + 0x148]
mov rdx, qword [rsp + 0x48]
add rbp, qword [rsp + 0x70]
add rdi, r15
mov qword [rsp + 0x148], rdi
cmp rdi, qword [rsp + 0x40]
jb 0x14001d7d0
jmp case.default.0x14001c90c
cmp r9d, 5
jne 0x14001dada
mov ecx, ebp
mov eax, 0x80000000
sar eax, cl
mov rcx, rdi
shl eax, cl
cdq
idiv esi
mov dword [rsp + 0x148], eax
mov r8d, eax
test ebx, ebx
je case.0x14001c90c.0
sub ebx, 3
je case.0x14001c90c.0
sub ebx, 3
je case.0x14001c90c.0
cmp ebx, 1
jne case.default.0x14001c90c
mov rcx, qword [rsp + 0x50]
mov rax, rcx
mov qword [rsp + 0x150], rcx
cmp rcx, qword [rsp + 0x40]
jae 0x14001e637
mov rdx, qword [rsp + 0x48]
mov rdi, rcx
shl rdi, 4
mov rcx, r15
shl rcx, 4
mov qword [rsp + 0x70], rcx
mov rcx, r12
mov rbx, rdx
shr rax, cl
mov rcx, qword [rsp + 0x80]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x58], rax
cmp rdx, r13
jae 0x14001dab2
nop word [rax + rax]
mov rax, rbx
lea rcx, [0x140000000]
and eax, 0xf
mov r11d, esi
add rax, rdi
mov r10d, esi
movzx edx, byte [rax + rcx + 0x6cd80]
mov rax, rbx
mov rcx, qword [rsp + 0x90]
and rax, 0xfffffffffffffff0
shl rax, 4
add rdx, rax
mov rax, qword [rsp + 0x68]
imul r11d, dword [rax + rdx*4]
mov rax, qword [rsp + 0x98]
mov r9d, dword [rax + rdx*4]
neg r11d
sar r11d, cl
add r9d, r8d
mov rcx, qword [rsp + 0x78]
mov eax, r11d
sar eax, 1
imul r9d, esi
imul r10d, dword [rcx + rdx*4]
mov rdx, qword [r14 + 0x80f0]
mov rcx, qword [rsp + 0x90]
sar r10d, cl
mov rcx, qword [rsp + 0x60]
sar r9d, cl
sub r9d, eax
mov eax, r9d
lea ecx, [r10 + 1]
sar ecx, 1
sub eax, ecx
mov rcx, r12
add r11d, eax
mov rax, rbx
shr rax, cl
add rbx, r15
mov rcx, qword [rsp + 0x88]
mov r8, qword [rcx + rax*8]
mov ecx, ebp
add r8, qword [rsp + 0x58]
mov eax, r11d
shl eax, cl
shl r9d, cl
mov dword [rdx + r8*4], eax
lea eax, [r10 + r11]
shl eax, cl
mov dword [rdx + r8*4 + 8], eax
mov dword [rdx + r8*4 + 4], r9d
mov r8d, dword [rsp + 0x148]
cmp rbx, r13
jb 0x14001d9d0
mov rdx, qword [rsp + 0x48]
mov rax, qword [rsp + 0x150]
add rdi, qword [rsp + 0x70]
add rax, r15
mov qword [rsp + 0x150], rax
cmp rax, qword [rsp + 0x40]
jb 0x14001d9a4
jmp case.default.0x14001c90c
cmp r9d, 6
jne 0x14001dc72
test ebx, ebx
je case.0x14001c90c.0
sub ebx, 3
je case.0x14001c90c.0
sub ebx, 3
je case.0x14001c90c.0
cmp ebx, 1
jne case.default.0x14001c90c
mov rcx, qword [rsp + 0x50]
mov rax, rcx
mov qword [rsp + 0x148], rcx
cmp rcx, qword [rsp + 0x40]
jae 0x14001e637
mov rdx, qword [rsp + 0x48]
mov rdi, rcx
shl rdi, 4
mov rcx, r15
shl rcx, 4
mov qword [rsp + 0x58], rcx
nop word [rax + rax]
mov rcx, r12
mov rbx, rdx
shr rax, cl
mov rcx, qword [rsp + 0x80]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x150], rax
cmp rdx, r13
jae 0x14001dc4a
nop word [rax + rax]
mov rax, rbx
lea rcx, [0x140000000]
and eax, 0xf
mov r11d, esi
add rax, rdi
mov r10d, esi
mov r9d, esi
movzx edx, byte [rax + rcx + 0x6cd80]
mov rax, rbx
mov rcx, qword [rsp + 0x90]
and rax, 0xfffffffffffffff0
shl rax, 4
add rdx, rax
mov rax, qword [rsp + 0x68]
imul r11d, dword [rax + rdx*4]
mov rax, qword [rsp + 0x98]
imul r9d, dword [rax + rdx*4]
neg r11d
sar r11d, cl
mov rcx, qword [rsp + 0x78]
mov eax, r11d
sar eax, 1
imul r10d, dword [rcx + rdx*4]
mov rdx, qword [r14 + 0x80f0]
mov rcx, qword [rsp + 0x90]
sar r10d, cl
mov rcx, qword [rsp + 0x60]
sar r9d, cl
sub r9d, eax
mov eax, r9d
lea ecx, [r10 + 1]
sar ecx, 1
sub eax, ecx
mov rcx, r12
add r11d, eax
mov rax, rbx
shr rax, cl
add rbx, r15
mov rcx, qword [rsp + 0x88]
mov r8, qword [rcx + rax*8]
mov ecx, ebp
add r8, qword [rsp + 0x150]
mov eax, r11d
shl eax, cl
shl r9d, cl
mov dword [rdx + r8*4], eax
lea eax, [r10 + r11]
shl eax, cl
mov dword [rdx + r8*4 + 4], r9d
mov dword [rdx + r8*4 + 8], eax
cmp rbx, r13
jb 0x14001db70
mov rdx, qword [rsp + 0x48]
mov rax, qword [rsp + 0x148]
add rdi, qword [rsp + 0x58]
add rax, r15
mov qword [rsp + 0x148], rax
cmp rax, qword [rsp + 0x40]
jb 0x14001db40
jmp case.default.0x14001c90c
cmp r9d, 7
jne 0x14001de93
test ebx, ebx
je case.0x14001c90c.0
sub ebx, 3
je case.0x14001c90c.0
sub ebx, 3
je case.0x14001c90c.0
mov rbp, qword [rsp + 0x50]
mov r14, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
cmp ebx, 1
jne 0x14001cac5
mov rax, rbp
mov qword [rsp + 0xb8], rax
cmp rbp, r14
jae 0x14001cac5
mov rdx, rbp
mov rcx, r15
shl rdx, 4
shl rcx, 4
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0xb0], rdx
nop dword [rax]
mov rcx, r12
mov qword [rsp + 0xa8], rdi
shr rax, cl
mov r8, rdi
mov rcx, qword [rsp + 0x80]
mov r9, qword [rcx + rax*8]
mov qword [rsp + 0x58], r9
cmp rdi, r13
jae 0x14001de4b
nop dword [rax + rax]
mov rax, r8
lea rcx, [0x140000000]
and eax, 0xf
mov ebp, esi
add rax, rdx
mov r14d, esi
movzx edx, byte [rax + rcx + 0x6cd80]
mov rax, r8
mov rcx, qword [rsp + 0x90]
and rax, 0xfffffffffffffff0
shl rax, 4
add rdx, rax
mov rax, qword [rsp + 0x98]
imul esi, dword [rax + rdx*4]
imul ebp, dword [r11 + rdx*4]
neg ebp
sar ebp, cl
mov rcx, qword [rsp + 0x78]
mov eax, ebp
sar eax, 1
imul r14d, dword [rcx + rdx*4]
mov rcx, qword [rsp + 0x90]
movzx edx, byte [rsp + 0x150]
sar r14d, cl
mov rcx, qword [rsp + 0x60]
sar esi, cl
sub esi, eax
lea ecx, [r14 + 1]
mov eax, esi
sar ecx, 1
sub eax, ecx
mov rcx, r12
add ebp, eax
mov rax, r8
shr rax, cl
movzx r8d, r10b
mov rcx, qword [rsp + 0x88]
mov rdi, qword [rcx + rax*8]
mov ecx, ebp
mov rax, qword [rsp + 0x140]
add rdi, r9
mov rbx, qword [rax + 0x80f0]
call fcn.140016830
movzx r8d, byte [rsp + 0x148]
mov ecx, esi
movzx edx, byte [rsp + 0x150]
movss dword [rbx + rdi*4], xmm0
call fcn.140016830
movzx r8d, byte [rsp + 0x148]
lea ecx, [r14 + rbp]
movzx edx, byte [rsp + 0x150]
movss dword [rbx + rdi*4 + 4], xmm0
call fcn.140016830
mov r8, qword [rsp + 0xa8]
mov esi, dword [rsp + 0x158]
add r8, r15
mov rdx, qword [rsp + 0xb0]
mov r9, qword [rsp + 0x58]
movzx r10d, byte [rsp + 0x148]
mov r11, qword [rsp + 0x68]
movss dword [rbx + rdi*4 + 8], xmm0
mov qword [rsp + 0xa8], r8
cmp r8, r13
jb 0x14001dd10
mov rdi, qword [rsp + 0x48]
mov r14, qword [rsp + 0x40]
mov rax, qword [rsp + 0xb8]
add rdx, qword [rsp + 0x70]
add rax, r15
mov esi, dword [rsp + 0x158]
movzx r10d, byte [rsp + 0x148]
mov r11, qword [rsp + 0x68]
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0xb0], rdx
cmp rax, r14
jb 0x14001dce0
mov rbp, qword [rsp + 0x50]
jmp 0x14001cac5
test r9d, r9d
jne 0x14001e0f4
cmp dword [r14 + 0x70], 4
mov rbp, qword [rsp + 0x50]
mov rdx, qword [r14 + 0x28]
mov rsi, rbp
mov qword [rsp + 0x150], rdx
mov qword [rsp + 0x148], rbp
jge 0x14001dfe3
cmp rbp, qword [rsp + 0x40]
jae 0x14001cabb
mov r8, qword [rsp + 0x48]
mov rdi, rbp
shl rdi, 4
mov rbp, r15
shl rbp, 4
mov qword [rsp + 0x58], rbp
nop word [rax + rax]
mov rcx, r12
mov rax, rsi
shr rax, cl
mov r11, r8
mov rcx, qword [rsp + 0x80]
mov rbx, qword [rcx + rax*8]
add rbx, rdx
cmp r8, r13
jae 0x14001dfc5
mov rbp, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x98]
nop dword [rax]
nop dword [rax + rax]
mov rdx, r11
mov rcx, r12
shr rdx, cl
mov r9d, 7
lea rcx, [0x140000000]
movzx eax, byte [rbp + rdx*8]
mov r10, qword [rbp + rdx*8]
and al, 7
sub r9b, al
shr r10, 3
add r10, qword [r14 + 0x80f0]
mov rax, r11
and eax, 0xf
add rax, rdi
movzx edx, byte [rax + rcx + 0x6cd80]
mov rax, r11
and rax, 0xfffffffffffffff0
movzx ecx, r9b
shl rax, 4
add rdx, rax
movzx eax, byte [r10 + rbx]
cmp dword [rsi + rdx*4], 0
setg dl
shr al, cl
xor dl, byte [r14 + 0x80d4]
add r11, r15
add dl, al
and dl, 1
shl dl, cl
xor byte [r10 + rbx], dl
cmp r11, r13
jb 0x14001df30
mov rsi, qword [rsp + 0x148]
mov rbp, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x150]
mov r8, qword [rsp + 0x48]
add rsi, r15
add rdi, rbp
mov qword [rsp + 0x148], rsi
cmp rsi, qword [rsp + 0x40]
jb 0x14001def0
jmp case.default.0x14001c90c
cmp rbp, qword [rsp + 0x40]
jae 0x14001cabb
mov r8, qword [rsp + 0x48]
mov rdi, rbp
shl rdi, 4
mov rax, r15
shl rax, 4
mov qword [rsp + 0x58], rax
nop word [rax + rax]
mov rcx, r12
mov rax, rsi
shr rax, cl
mov r10, r8
mov rcx, qword [rsp + 0x80]
mov r11, qword [rcx + rax*8]
add r11, rdx
cmp r8, r13
jae 0x14001e0d4
mov rsi, qword [rsp + 0x88]
movzx eax, r11b
and al, 7
mov ebx, 7
sub bl, al
shr r11, 3
movzx ebp, bl
mov rax, r10
mov rcx, r12
shr rax, cl
lea rcx, [0x140000000]
mov r9, qword [rsi + rax*8]
mov rax, r10
add r9, qword [r14 + 0x80f0]
and eax, 0xf
add rax, rdi
movzx ecx, byte [rax + rcx + 0x6cd80]
mov rax, r10
and rax, 0xfffffffffffffff0
shl rax, 4
add rcx, rax
mov rax, qword [rsp + 0x98]
cmp dword [rax + rcx*4], 0
movzx ecx, bl
movzx eax, byte [r9 + r11]
setg dl
shr al, cl
xor dl, byte [r14 + 0x80d4]
mov ecx, ebp
add dl, al
add r10, r15
and dl, 1
shl dl, cl
xor byte [r9 + r11], dl
cmp r10, r13
jb 0x14001e050
mov rsi, qword [rsp + 0x148]
mov rdx, qword [rsp + 0x150]
mov r8, qword [rsp + 0x48]
add rdi, qword [rsp + 0x58]
add rsi, r15
mov qword [rsp + 0x148], rsi
cmp rsi, qword [rsp + 0x40]
jb 0x14001e010
jmp case.default.0x14001c90c
cmp r9d, 8
jne 0x14001e2b4
mov eax, 0x10
mov rcx, rdi
shl eax, cl
cdq
idiv esi
mov dword [rsp + 0x148], eax
mov rax, qword [rsp + 0x50]
mov rbp, rax
mov qword [rsp + 0x150], rax
cmp rax, qword [rsp + 0x40]
jae 0x14001e62f
mov rdx, qword [rsp + 0x48]
lea ebx, [r9 + 0x17]
mov rdi, rax
mov rax, r15
shl rdi, 4
shl rax, 4
mov qword [rsp + 0x70], rax
nop dword [rax]
mov rcx, r12
mov rax, rbp
shr rax, cl
mov r11, rdx
mov rcx, qword [rsp + 0x80]
mov rax, qword [rcx + rax*8]
cmp rdx, r13
jae 0x14001e294
mov rbp, rax
nop dword [rax]
nop dword [rax + rax]
mov rax, r11
lea rcx, [0x140000000]
and eax, 0xf
mov r10d, esi
add rax, rdi
mov r8d, esi
movzx edx, byte [rax + rcx + 0x6cd80]
mov rax, r11
mov rcx, qword [rsp + 0x90]
and rax, 0xfffffffffffffff0
shl rax, 4
add rdx, rax
mov rax, qword [rsp + 0x68]
imul r10d, dword [rax + rdx*4]
mov rax, qword [rsp + 0x98]
mov r9d, dword [rax + rdx*4]
neg r10d
add r9d, dword [rsp + 0x148]
sar r10d, cl
mov rcx, qword [rsp + 0x78]
mov eax, r10d
sar eax, 1
imul r9d, esi
imul r8d, dword [rcx + rdx*4]
mov rcx, qword [rsp + 0x90]
sar r8d, cl
mov rcx, qword [rsp + 0x60]
sar r9d, cl
sub r9d, eax
lea ecx, [r8 + 1]
mov eax, r9d
sar ecx, 1
sub eax, ecx
mov rcx, r12
add r10d, eax
mov rax, r11
shr rax, cl
add r8d, r10d
mov rcx, qword [rsp + 0x88]
mov rcx, qword [rcx + rax*8]
mov rax, qword [r14 + 0x80f0]
add rcx, rbp
test r10d, r10d
jns 0x14001e23b
xor r10d, r10d
jmp 0x14001e242
cmp r10d, ebx
cmovg r10d, ebx
test r9d, r9d
jns 0x14001e24c
xor r9d, r9d
jmp 0x14001e253
cmp r9d, ebx
cmovg r9d, ebx
test r8d, r8d
jns 0x14001e25d
xor r8d, r8d
jmp 0x14001e264
cmp r8d, ebx
cmovg r8d, ebx
shl r8w, 5
add r11, r15
add r8w, r9w
shl r8w, 5
add r8w, r10w
mov word [rax + rcx*2], r8w
cmp r11, r13
jb 0x14001e180
mov rbp, qword [rsp + 0x150]
mov rdx, qword [rsp + 0x48]
add rdi, qword [rsp + 0x70]
add rbp, r15
mov qword [rsp + 0x150], rbp
cmp rbp, qword [rsp + 0x40]
jb 0x14001e150
jmp case.default.0x14001c90c
mov rbp, qword [rsp + 0x50]
cmp r9d, 0xa
jne 0x14001e479
mov rcx, rdi
mov qword [rsp + 0x150], rbp
mov eax, 0x20
mov rdi, rbp
shl eax, cl
cdq
idiv esi
mov r10d, eax
mov dword [rsp + 0x148], eax
cmp rbp, qword [rsp + 0x40]
jae 0x14001cabb
mov rdx, qword [rsp + 0x48]
lea ebx, [r9 + 0x15]
shl rbp, 4
mov rax, r15
shl rax, 4
mov qword [rsp + 0x70], rax
nop dword [rax]
mov rcx, r12
mov rax, rdi
shr rax, cl
mov r11, rdx
mov rcx, qword [rsp + 0x80]
mov rax, qword [rcx + rax*8]
cmp rdx, r13
jae 0x14001e459
mov rdi, rax
nop dword [rax]
nop dword [rax + rax]
mov r9, qword [rsp + 0x78]
lea rcx, [0x140000000]
mov rax, r11
mov r8d, esi
and eax, 0xf
add rax, rbp
movzx edx, byte [rax + rcx + 0x6cd80]
mov rax, r11
mov rcx, qword [rsp + 0x68]
and rax, 0xfffffffffffffff0
shl rax, 4
add rdx, rax
mov eax, esi
imul eax, dword [rcx + rdx*4]
imul r8d, dword [r9 + rdx*4]
mov rcx, qword [rsp + 0x90]
neg eax
sar eax, cl
sar r8d, cl
mov rcx, qword [rsp + 0x98]
mov r9d, dword [rcx + rdx*4]
lea edx, [r8 + 1]
mov rcx, qword [rsp + 0x60]
add r9d, r10d
sar edx, 1
imul r9d, esi
sar r9d, cl
mov ecx, eax
sar ecx, 1
sub r9d, ecx
mov ecx, r9d
sub ecx, edx
add eax, ecx
mov rcx, r12
add r8d, eax
cdq
sub eax, edx
sar eax, 1
mov r10d, eax
mov eax, r8d
cdq
sub eax, edx
mov rdx, r11
shr rdx, cl
mov rcx, qword [rsp + 0x88]
sar eax, 1
mov rcx, qword [rcx + rdx*8]
mov rdx, qword [r14 + 0x80f0]
add rcx, rdi
test r10d, r10d
jns 0x14001e3f8
xor r10d, r10d
jmp 0x14001e3ff
cmp r10d, ebx
cmovg r10d, ebx
test r9d, r9d
jns 0x14001e409
xor r9d, r9d
jmp 0x14001e417
cmp r9d, 0x3f
mov r8d, 0x3f
cmovg r9d, r8d
test eax, eax
jns 0x14001e41f
xor eax, eax
jmp 0x14001e424
cmp eax, ebx
cmovg eax, ebx
shl ax, 6
add r11, r15
add ax, r9w
shl ax, 5
add ax, r10w
mov r10d, dword [rsp + 0x148]
mov word [rdx + rcx*2], ax
cmp r11, r13
jb 0x14001e340
mov rdi, qword [rsp + 0x150]
mov rdx, qword [rsp + 0x48]
add rbp, qword [rsp + 0x70]
add rdi, r15
mov qword [rsp + 0x150], rdi
cmp rdi, qword [rsp + 0x40]
jb 0x14001e310
jmp case.default.0x14001c90c
cmp r9d, 9
jne 0x14001cabb
mov rcx, rdi
mov qword [rsp + 0x150], rbp
mov eax, 0x200
mov rdi, rbp
shl eax, cl
cdq
idiv esi
mov dword [rsp + 0x148], eax
cmp rbp, qword [rsp + 0x40]
jae 0x14001cabb
mov rdx, qword [rsp + 0x48]
mov rbx, rbp
shl rbx, 4
mov rax, r15
shl rax, 4
mov qword [rsp + 0x58], rax
nop word [rax + rax]
mov rcx, r12
mov rax, rdi
shr rax, cl
mov r11, rdx
mov rcx, qword [rsp + 0x80]
mov rbp, qword [rcx + rax*8]
cmp rdx, r13
jae 0x14001e60f
mov edi, dword [rsp + 0x148]
nop dword [rax + rax]
mov rax, r11
lea rcx, [0x140000000]
and eax, 0xf
mov r10d, esi
add rax, rbx
mov r8d, esi
movzx edx, byte [rax + rcx + 0x6cd80]
mov rax, r11
mov rcx, qword [rsp + 0x90]
and rax, 0xfffffffffffffff0
shl rax, 4
add rdx, rax
mov rax, qword [rsp + 0x68]
imul r10d, dword [rax + rdx*4]
mov rax, qword [rsp + 0x98]
mov r9d, dword [rax + rdx*4]
neg r10d
sar r10d, cl
add r9d, edi
mov rcx, qword [rsp + 0x78]
mov eax, r10d
sar eax, 1
imul r9d, esi
imul r8d, dword [rcx + rdx*4]
mov edx, 0x3ff
mov rcx, qword [rsp + 0x90]
sar r8d, cl
mov rcx, qword [rsp + 0x60]
sar r9d, cl
sub r9d, eax
lea ecx, [r8 + 1]
mov eax, r9d
sar ecx, 1
sub eax, ecx
mov rcx, r12
add r10d, eax
mov rax, r11
shr rax, cl
add r8d, r10d
mov rcx, qword [rsp + 0x88]
mov rcx, qword [rcx + rax*8]
mov rax, qword [r14 + 0x80f0]
add rcx, rbp
test r10d, r10d
jns 0x14001e5bb
xor r10d, r10d
jmp 0x14001e5c2
cmp r10d, edx
cmovg r10d, edx
test r9d, r9d
jns 0x14001e5cc
xor r9d, r9d
jmp 0x14001e5d3
cmp r9d, edx
cmovg r9d, edx
test r8d, r8d
jns 0x14001e5dd
xor r8d, r8d
jmp 0x14001e5e4
cmp r8d, edx
cmovg r8d, edx
shl r8d, 0xa
add r11, r15
add r8d, r9d
shl r8d, 0xa
add r8d, r10d
mov dword [rax + rcx*4], r8d
cmp r11, r13
jb 0x14001e500
mov rdi, qword [rsp + 0x150]
mov rdx, qword [rsp + 0x48]
add rbx, qword [rsp + 0x58]
add rdi, r15
mov qword [rsp + 0x150], rdi
cmp rdi, qword [rsp + 0x40]
jb 0x14001e4d0
jmp case.default.0x14001c90c
mov rbp, rax
jmp 0x14001cabb
mov rbp, rcx
jmp 0x14001cabb
cmp rbp, r14
jae case.default.0x14001cb48
mov r9, qword [rsp + 0xc8]
mov rcx, r12
mov rax, rbp
shr rax, cl
mov rdx, rdi
mov rcx, qword [rsp + 0x80]
mov r8, qword [rcx + rax*8]
cmp rdi, r13
jae 0x14001e6b8
mov r14, qword [rsp + 0xd0]
nop word [rax + rax]
mov rax, rdx
mov rcx, r12
shr rax, cl
add rdx, r15
mov rcx, qword [rsp + 0x88]
mov rcx, qword [rcx + rax*8]
add rcx, r8
add rcx, qword [rbx + 0x80f0]
movzx eax, byte [rcx + r14]
mov byte [rcx + 1], al
mov byte [rcx + r9], al
cmp rdx, r13
jb 0x14001e680
mov r14, qword [rsp + 0x40]
add rbp, r15
cmp rbp, r14
jb 0x14001e650
xor eax, eax
jmp 0x14001e7e8
cmp rbp, r14
jae case.default.0x14001cb48
mov r9, qword [rsp + 0xc8]
nop dword [rax + rax]
mov rcx, r12
mov rax, rbp
shr rax, cl
mov rdx, rdi
mov rcx, qword [rsp + 0x80]
mov r8, qword [rcx + rax*8]
cmp rdi, r13
jae 0x14001e74a
mov r14, qword [rsp + 0xd0]
nop word [rax + rax]
mov rax, rdx
mov rcx, r12
shr rax, cl
add rdx, r15
mov rcx, qword [rsp + 0x88]
mov rcx, qword [rcx + rax*8]
add rcx, r8
add rcx, qword [rbx + 0x80f0]
movzx eax, word [rcx + r14*2]
mov word [rcx + 2], ax
mov word [rcx + r9*2], ax
cmp rdx, r13
jb 0x14001e710
mov r14, qword [rsp + 0x40]
add rbp, r15
cmp rbp, r14
jb 0x14001e6e0
xor eax, eax
jmp 0x14001e7e8
cmp rbp, r14
jae case.default.0x14001cb48
mov r9, qword [rsp + 0xc8]
nop word [rax + rax]
mov rcx, r12
mov rax, rbp
shr rax, cl
mov rdx, rdi
mov rcx, qword [rsp + 0x80]
mov r8, qword [rcx + rax*8]
cmp rdi, r13
jae 0x14001e7d7
mov r14, qword [rsp + 0xd0]
nop word [rax + rax]
mov rax, rdx
mov rcx, r12
shr rax, cl
add rdx, r15
mov rcx, qword [rsp + 0x88]
mov rcx, qword [rcx + rax*8]
add rcx, r8
add rcx, qword [rbx + 0x80f0]
mov eax, dword [rcx + r14*4]
mov dword [rcx + 4], eax
mov dword [rcx + r9*4], eax
cmp rdx, r13
jb 0x14001e7a0
mov r14, qword [rsp + 0x40]
add rbp, r15
cmp rbp, r14
jb 0x14001e770
xor eax, eax
jmp 0x14001e7e8
mov eax, 0xffffffff
mov r13, qword [rsp + 0xf8]
mov rsi, qword [rsp + 0x100]
mov rbx, qword [rsp + 0x108]
add rsp, 0x110
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret