Function at 0x14020ef00
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0xf8
mov r8, qword [rcx + 0x8630]
mov r14, rcx
mov edx, dword [r8]
mov r15, qword [r8 + 0x10]
test edx, edx
je 0x14020ef30
mov rcx, qword [rcx + 0x10]
jmp 0x14020ef37
mov rcx, qword [r8 + 0x38]
inc rcx
mov r10, qword [r14 + 0x86d0]
mov esi, 0x10
shl r10, 4
add r10, 0xfffffffffffffff0
sub rcx, r10
cmp rcx, rsi
jae 0x14020ef76
test edx, edx
je 0x14020ef65
mov rax, qword [r14 + 0x10]
sub rax, r10
mov qword [rsp + 0x58], rax
jmp 0x14020ef7b
mov rax, qword [r8 + 0x38]
inc rax
sub rax, r10
mov qword [rsp + 0x58], rax
jmp 0x14020ef7b
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0xe8], r13
test edx, edx
je 0x14020ef8d
mov r13, qword [r14 + 8]
jmp 0x14020ef94
mov r13, qword [r8 + 0x28]
inc r13
mov rcx, qword [r8 + 0x30]
xor eax, eax
mov edi, dword [r14 + 0x85b0]
and ecx, 0xf
cmp r10, qword [r8 + 0x30]
mov qword [rsp + 0xf0], rbx
cmovbe eax, ecx
mov dword [rsp + 0xb8], edi
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 + 0x40], rcx
test edi, edi
jne 0x14020eff3
xor ebx, ebx
jmp 0x14020eff7
mov ebx, dword [r14 + 0x18]
mov eax, dword [r14 + 0x1c]
mov ecx, 2
movzx ebp, byte [r14 + 0x80d0]
mov r11d, dword [r14 + 0x98]
mov dword [rsp + 0xb0], eax
mov eax, dword [r14 + 0x30]
neg eax
mov dword [rsp + 0x98], ebx
mov byte [rsp + 0x138], bpl
sbb rax, rax
xor edx, edx
and eax, 2
xor r9d, r9d
sub rcx, rax
mov qword [rsp + 0xc0], rax
movzx eax, byte [r14 + 0x80d1]
xor r12d, r12d
mov byte [rsp + 0x140], al
mov rax, qword [r14 + 0x8830]
mov qword [rsp + 0x90], rax
mov rax, qword [r14 + 0x8838]
mov qword [rsp + 0x60], rax
mov rax, qword [r14 + 0x8840]
mov qword [rsp + 0x70], rax
mov rax, qword [r8 + 0x40]
mov qword [rsp + 0x80], rax
mov rax, r10
div r15
mov qword [rsp + 0xc8], rcx
mov qword [rsp + 0xa0], r9
mov rcx, rax
mov rax, qword [r8 + 0x48]
mov qword [rsp + 0xa8], r12
lea rax, [rax + rcx*8]
mov qword [rsp + 0x78], rax
cmp r15, rsi
jb 0x14020f0d1
test r11d, r11d
je 0x14020f0ee
cmp r11d, 1
mov esi, 0x22
mov eax, 0x17
cmove esi, eax
jmp 0x14020f0ee
cmp r15, 4
jb 0x14020f0e9
test r11d, r11d
mov esi, 0x5d
mov eax, 0x40
cmove esi, eax
jmp 0x14020f0ee
mov esi, 0x102
mov eax, dword [r14 + 0x85bc]
mov edx, 8
test eax, eax
mov dword [rsp + 0x148], esi
mov ecx, ntohs
cmovne edx, ecx
mov qword [rsp + 0x48], rdx
je 0x14020f135
cmp r15, 0x10
jb 0x14020f135
xor ecx, ecx
lea eax, [rdi - 1]
cmp eax, 1
mov eax, edx
setbe cl
inc rcx
sub rax, rcx
mov qword [rsp + 0x88], rax
jmp 0x14020f143
mov qword [rsp + 0x88], rdx
cmp r15, 1
jbe 0x14020f164
mov ecx, 1
nop dword [rax + rax]
rol ecx, 1
inc r12
mov eax, ecx
cmp rax, r15
jb 0x14020f150
mov qword [rsp + 0xa8], r12
cmp dword [r14 + 0x70], 4
jge 0x14020f171
mov rcx, qword [r14 + 0x40]
jmp 0x14020f175
mov rcx, qword [r14 + 0x50]
mov rax, qword [rsp + 0x58]
xor edx, edx
sub rax, qword [rsp + 0x50]
mov qword [rsp + 0xd0], rax
div r15
mov rdx, rcx
mov rcx, r14
mov r8, rax
call fcn.140205a90
test eax, eax
jne 0x140211425
mov rcx, qword [r14 + 0x86d0]
xor edx, edx
shl rcx, 4
lea rax, [rcx - 0x10]
div r15
test rdx, rdx
jne case.default.0x1402112a2
mov rax, qword [r14 + 0x8630]
cmp rcx, qword [rax + 0x30]
jbe case.default.0x1402112a2
mov rax, qword [rax + 0x38]
add rax, 0x10
cmp rcx, rax
ja case.default.0x1402112a2
lea eax, [rdi - 1]
lea r10, [0x140000000]
cmp eax, 1
ja 0x14020f4b8
test ebx, ebx
je 0x14020f4b8
mov rdi, qword [r14 + 0x8a30]
lea r12, [0x140000000]
mov rbp, qword [r14 + 0x8a38]
xor r11d, r11d
mov esi, dword [rsp + 0xb8]
xor r10d, r10d
mov r14, qword [rsp + 0x60]
mov rax, r15
mov rbx, qword [rsp + 0x70]
shl rax, 4
mov qword [rsp + 0x68], rax
xor r8d, r8d
test r13, r13
je 0x14020f2b4
mov rcx, r8
mov rdx, r8
shr rcx, 1
and rdx, 0xfffffffffffffff0
and ecx, 7
cmp esi, 2
jne 0x14020f268
lea rax, [r10 + rcx]
movzx eax, byte [rax + r12 + 0x3f9fa0]
lea r9, [rax + rdx*8]
jmp 0x14020f27f
mov rax, r11
shr rax, 1
lea rcx, [rcx + rax*8]
movzx eax, byte [rcx + r12 + 0x3fa0a0]
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 + 0x3f9fa0]
mov eax, dword [r14 + r9*4]
add rcx, rdx
mov dword [rdi + rcx*4], eax
mov eax, dword [rbx + r9*4]
mov dword [rbp + rcx*4], eax
cmp r8, r13
jb 0x14020f240
mov rax, qword [rsp + 0x68]
add r11, r15
add r10, rax
cmp r10, 0x100
jb 0x14020f234
mov r12, qword [rsp + 0xa8]
mov esi, dword [rsp + 0x148]
mov ebx, dword [rsp + 0x98]
mov r14, qword [rsp + 0x130]
cmp r15, 4
jne 0x14020f497
cmp dword [rsp + 0xb8], 1
jne 0x14020f3ae
mov qword [rsp + 0x68], 0
test r13, r13
je 0x14020f3ae
mov r14, qword [rsp + 0x68]
lea rbx, [0x140000000]
nop dword [rax + rax]
mov r11, r14
mov r10, r14
and r11d, 0xf
and r10, 0xfffffffffffffff0
shl r10, 4
add r14, 8
movzx r9d, byte [r11 + rbx + 0x3f9fa0]
movzx eax, byte [r11 + rbx + 0x3fa020]
add r9, r10
movzx r8d, byte [r11 + rbx + 0x3f9fe0]
add rax, r10
add r8, r10
mov qword [rsp + 0xa0], rax
mov ecx, dword [rdi + r9*4]
mov edx, dword [rdi + rax*4]
inc ecx
add edx, ecx
sar edx, 1
mov dword [rdi + r8*4], edx
mov ecx, dword [rbp + r9*4]
mov r9, rax
mov edx, dword [rbp + rax*4]
inc ecx
add edx, ecx
sar edx, 1
mov dword [rbp + r8*4], edx
movzx ecx, byte [r11 + rbx + 0x3fa060]
mov eax, dword [rdi + rax*4]
add rcx, r10
mov dword [rdi + rcx*4], eax
mov eax, dword [rbp + r9*4]
mov dword [rbp + rcx*4], eax
cmp r14, r13
jb 0x14020f320
mov rsi, qword [rsp + 0xa0]
lea r14, [r13 - 8]
xor r11d, r11d
lea rbx, [0x140000000]
xor r10d, r10d
test r14, r14
je 0x14020f445
nop dword [rax]
lea rcx, [r10 - 8]
mov rax, r10
and eax, 0xf
mov rdx, r10
and rdx, 0xfffffffffffffff0
add rax, r11
shl rdx, 4
add r10, 8
movzx r9d, byte [rax + rbx + 0x3f9fa0]
lea rax, [rcx - 4]
add r9, rdx
and eax, 0xf
and ecx, 0xf
add rax, r11
add rcx, r11
movzx r8d, byte [rax + rbx + 0x3f9fa0]
movzx esi, byte [rcx + rbx + 0x3f9fa0]
add r8, rdx
add rsi, rdx
mov edx, dword [rdi + r9*4]
inc edx
add edx, dword [rdi + rsi*4]
sar edx, 1
mov dword [rdi + r8*4], edx
mov edx, dword [rbp + r9*4]
inc edx
add edx, dword [rbp + rsi*4]
sar edx, 1
mov dword [rbp + r8*4], edx
cmp r10, r14
jb 0x14020f3d0
lea rax, [r10 + 4]
and r10, 0xfffffffffffffff0
and eax, 0xf
shl r10, 4
add rax, r11
add r11, 0x40
movzx ecx, byte [rax + rbx + 0x3f9fa0]
mov eax, dword [rdi + rsi*4]
add rcx, r10
mov dword [rdi + rcx*4], eax
mov eax, dword [rbp + rsi*4]
mov dword [rbp + rcx*4], eax
cmp r11, 0x100
jb 0x14020f3c4
mov esi, dword [rsp + 0x148]
mov ebx, dword [rsp + 0x98]
mov r14, qword [rsp + 0x130]
mov r8, rbp
mov qword [rsp + 0x70], rbp
movzx ebp, byte [rsp + 0x138]
lea r10, [0x140000000]
mov r11, rdi
mov qword [rsp + 0x60], rdi
jmp 0x14020f4c2
mov r8, qword [rsp + 0x70]
mov r11, qword [rsp + 0x60]
mov r9d, dword [rsp + 0xb0]
cmp r9d, 1
jne 0x14020fa49
mov rdi, qword [rsp + 0x48]
mov r8d, 0x80
mov rcx, rdi
mov eax, r8d
shl eax, cl
cdq
idiv esi
mov dword [rsp + 0x98], eax
mov r10d, eax
cmp ebx, 8
ja case.default.0x14020f511
lea rdx, [0x140000000]
movsxd rax, ebx
mov ecx, dword [rdx + rax*4 + 0x21144c]
add rcx, rdx
jmp rcx
mov rdi, qword [rsp + 0x50]
mov rbp, rdi
mov qword [rsp + 0x130], rdi
cmp rdi, qword [rsp + 0x58]
jae 0x14021121b
mov rdx, qword [rsp + 0x40]
mov rax, r15
shl rdi, 4
mov r8d, 0xff
shl rax, 4
mov qword [rsp + 0x140], rax
nop dword [rax]
mov rcx, r12
mov rax, rbp
shr rax, cl
mov rbx, rdx
mov rcx, qword [rsp + 0x78]
mov rax, qword [rcx + rax*8]
cmp rdx, r13
jae 0x14020f696
mov rbp, rax
nop dword [rax]
nop word [rax + rax]
mov rax, rbx
lea rcx, [0x140000000]
and eax, 0xf
mov r9d, esi
add rax, rdi
movzx edx, byte [rax + rcx + 0x3f9fa0]
mov rax, rbx
mov rcx, qword [rsp + 0x88]
and rax, 0xfffffffffffffff0
shl rax, 4
add rdx, rax
mov rax, qword [rsp + 0x90]
imul r9d, dword [r11 + rdx*4]
mov r11d, esi
mov r10d, dword [rax + rdx*4]
add r10d, dword [rsp + 0x98]
imul r10d, esi
neg r9d
sar r9d, cl
mov rcx, qword [rsp + 0x70]
mov eax, r9d
sar eax, 1
imul r11d, dword [rcx + rdx*4]
mov rcx, qword [rsp + 0x88]
sar r11d, cl
mov rcx, qword [rsp + 0x48]
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 + 0x80]
mov rcx, qword [rcx + rax*8]
add rcx, qword [r14 + 0x80f0]
add rcx, rbp
add r11d, r9d
jns 0x14020f633
xor r11d, r11d
jmp 0x14020f63a
cmp r11d, r8d
cmovg r11d, r8d
mov rax, qword [rsp + 0xc0]
mov byte [rcx + rax], r11b
test r10d, r10d
jns 0x14020f650
xor r10d, r10d
jmp 0x14020f657
cmp r10d, r8d
cmovg r10d, r8d
mov byte [rcx + 1], r10b
test r9d, r9d
jns 0x14020f665
xor r9d, r9d
jmp 0x14020f66c
cmp r9d, r8d
cmovg r9d, r8d
mov rax, qword [rsp + 0xc8]
add rbx, r15
mov r11, qword [rsp + 0x60]
mov byte [rcx + rax], r9b
cmp rbx, r13
jb 0x14020f580
mov rbp, qword [rsp + 0x130]
mov rdx, qword [rsp + 0x40]
add rdi, qword [rsp + 0x140]
add rbp, r15
mov r11, qword [rsp + 0x60]
mov qword [rsp + 0x130], rbp
cmp rbp, qword [rsp + 0x58]
jb 0x14020f550
mov rdi, qword [rsp + 0x50]
jmp 0x14021121b
mov rdi, qword [rsp + 0x50]
mov rax, rdi
mov rbx, qword [rsp + 0x40]
mov qword [rsp + 0x138], rax
cmp rdi, qword [rsp + 0x58]
jae 0x140211220
mov rdx, rdi
mov rcx, r15
shl rdx, 4
shl rcx, 4
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x130], rdx
nop
mov rcx, r12
mov rbp, rbx
shr rax, cl
mov rcx, qword [rsp + 0x78]
mov r9, qword [rcx + rax*8]
mov qword [rsp + 0x140], r9
cmp rbx, r13
jae 0x14020f817
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 + 0x3f9fa0]
mov rax, rbp
mov rcx, qword [rsp + 0x88]
and rax, 0xfffffffffffffff0
shl rax, 4
add rdx, rax
mov rax, qword [rsp + 0x90]
imul ebx, dword [rax + rdx*4]
imul edi, dword [r11 + rdx*4]
sar edi, cl
mov rcx, qword [rsp + 0x70]
neg edi
mov eax, edi
sar eax, 1
imul r8d, dword [rcx + rdx*4]
mov rcx, qword [rsp + 0x88]
sar r8d, cl
mov rcx, qword [rsp + 0x48]
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 + 0x80]
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.1402124b0
mov rdx, qword [rsp + 0x130]
add rbp, r15
mov r9, qword [rsp + 0x140]
mov r11, qword [rsp + 0x60]
cmp rbp, r13
jb 0x14020f730
mov rbx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x138]
add rdx, qword [rsp + 0x68]
add rax, r15
mov r11, qword [rsp + 0x60]
mov qword [rsp + 0x138], rax
mov qword [rsp + 0x130], rdx
cmp rax, qword [rsp + 0x58]
jb 0x14020f700
mov rdi, qword [rsp + 0x50]
jmp 0x140211220
mov rcx, qword [rsp + 0x88]
mov rdi, qword [rsp + 0x50]
mov r11, qword [r14 + 0x8848]
mov rbx, qword [rsp + 0x40]
shl r8d, cl
mov eax, r8d
mov qword [rsp + 0x138], r11
cdq
idiv esi
sar eax, 1
mov dword [rsp + 0x130], eax
mov rax, rdi
mov qword [rsp + 0x140], rax
cmp rdi, qword [rsp + 0x58]
jae 0x140211220
mov rbp, rdi
mov rcx, r15
shl rbp, 4
mov r8d, 0xff
shl rcx, 4
mov qword [rsp + 0xa8], rcx
nop word [rax + rax]
mov rcx, r12
mov rdi, rbx
shr rax, cl
mov rcx, qword [rsp + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x68], rax
cmp rbx, r13
jae 0x14020fa19
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 + 0x3f9fa0]
mov rax, rdi
mov rcx, qword [rsp + 0x48]
and rax, 0xfffffffffffffff0
shl rax, 4
add rdx, rax
mov rax, qword [rsp + 0x90]
sub r9d, dword [rax + rdx*4]
mov r11d, dword [r11 + rdx*4]
add r11d, dword [rsp + 0x130]
mov rax, qword [rsp + 0x60]
imul r9d, esi
imul r11d, esi
imul ebx, dword [rax + rdx*4]
mov rax, qword [rsp + 0x88]
sar r9d, cl
mov rcx, rax
sar ebx, cl
mov rcx, qword [rsp + 0x70]
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 + 0x80]
mov rcx, qword [rcx + rax*8]
add rcx, qword [r14 + 0x80f0]
add rcx, qword [rsp + 0x68]
test ebx, ebx
jns 0x14020f9b0
xor ebx, ebx
jmp 0x14020f9b7
cmp ebx, r8d
cmovg ebx, r8d
mov byte [rcx], bl
test r9d, r9d
jns 0x14020f9c3
xor r9d, r9d
jmp 0x14020f9ca
cmp r9d, r8d
cmovg r9d, r8d
mov byte [rcx + 1], r9b
test r10d, r10d
jns 0x14020f9d8
xor r10d, r10d
jmp 0x14020f9df
cmp r10d, r8d
cmovg r10d, r8d
mov byte [rcx + 2], r10b
test r11d, r11d
jns 0x14020f9ed
xor r11d, r11d
jmp 0x14020f9f4
cmp r11d, r8d
cmovg r11d, r8d
mov r10d, dword [rsp + 0x98]
add rdi, r15
mov byte [rcx + 3], r11b
mov r11, qword [rsp + 0x138]
cmp rdi, r13
jb 0x14020f8e0
mov rbx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x140]
add rbp, qword [rsp + 0xa8]
add rax, r15
mov qword [rsp + 0x140], rax
cmp rax, qword [rsp + 0x58]
jb 0x14020f8c0
mov rdi, qword [rsp + 0x50]
jmp 0x140211220
cmp r9d, 2
jne 0x14020fe9e
movzx r10d, byte [rsp + 0x138]
mov r8d, 0x8000
mov rdi, qword [rsp + 0x48]
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 + 0xb0], eax
test ebx, ebx
je case.0x14020f511.0
sub ecx, 3
je case.0x14020f511.0
sub ecx, 1
je 0x14020fc6b
sub ecx, r9d
je case.0x14020f511.0
cmp ecx, 1
jne 0x1402104c7
mov rdi, qword [rsp + 0x50]
mov rax, rdi
mov qword [rsp + 0x130], rax
cmp rdi, qword [rsp + 0x58]
jae 0x14021121b
mov rdx, qword [rsp + 0x40]
mov rcx, r15
shl rdi, 4
mov r8d, 0xffff
shl rcx, 4
mov qword [rsp + 0x140], rcx
nop dword [rax + rax]
mov rcx, r12
mov rbx, rdx
shr rax, cl
mov rcx, qword [rsp + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x138], rax
cmp rdx, r13
jae 0x14020fc36
nop dword [rax]
nop word [rax + rax]
mov rax, rbx
lea rcx, [0x140000000]
and eax, 0xf
mov r10d, esi
add rax, rdi
movzx edx, byte [rax + rcx + 0x3f9fa0]
mov rax, rbx
mov rcx, qword [rsp + 0x88]
and rax, 0xfffffffffffffff0
shl rax, 4
add rdx, rax
mov rax, qword [rsp + 0x90]
imul r10d, dword [r11 + rdx*4]
mov r11d, esi
mov r9d, dword [rax + rdx*4]
add r9d, dword [rsp + 0xb0]
imul r9d, esi
neg r10d
sar r10d, cl
mov rcx, qword [rsp + 0x70]
mov eax, r10d
sar eax, 1
imul r11d, dword [rcx + rdx*4]
mov rcx, qword [rsp + 0x88]
sar r11d, cl
mov rcx, qword [rsp + 0x48]
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 + 0x80]
mov rdx, qword [rcx + rax*8]
mov ecx, ebp
add rdx, qword [rsp + 0x138]
mov rax, qword [r14 + 0x80f0]
shl r10d, cl
shl r9d, cl
shl r11d, cl
test r10d, r10d
jns 0x14020fbe6
xor r10d, r10d
jmp 0x14020fbed
cmp r10d, r8d
cmovg r10d, r8d
mov word [rax + rdx*2], r10w
test r9d, r9d
jns 0x14020fbfc
xor r9d, r9d
jmp 0x14020fc03
cmp r9d, r8d
cmovg r9d, r8d
mov word [rax + rdx*2 + 2], r9w
test r11d, r11d
jns 0x14020fc13
xor r11d, r11d
jmp 0x14020fc1a
cmp r11d, r8d
cmovg r11d, r8d
add rbx, r15
mov word [rax + rdx*2 + 4], r11w
mov r11, qword [rsp + 0x60]
cmp rbx, r13
jb 0x14020fb20
mov rdx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x130]
add rdi, qword [rsp + 0x140]
add rax, r15
mov r11, qword [rsp + 0x60]
mov qword [rsp + 0x130], rax
cmp rax, qword [rsp + 0x58]
jb 0x14020faf0
mov rdi, qword [rsp + 0x50]
jmp 0x14021121b
mov r11, qword [r14 + 0x8848]
mov rcx, rdi
mov rbx, qword [rsp + 0x40]
mov eax, r8d
shl eax, cl
mov r10, rdi
mov rcx, qword [rsp + 0x88]
cdq
mov rdi, qword [rsp + 0x50]
idiv esi
shl r8d, cl
mov r9d, eax
mov dword [rsp + 0x130], eax
mov eax, r8d
mov qword [rsp + 0xa8], r11
cdq
idiv esi
sar eax, 1
mov dword [rsp + 0x138], eax
mov rax, rdi
mov qword [rsp + 0xa0], rax
cmp rdi, qword [rsp + 0x58]
jae 0x140211204
mov rdx, rdi
mov rcx, r15
shl rdx, 4
mov r8d, 0xffff
shl rcx, 4
mov qword [rsp + 0xb0], rcx
mov qword [rsp + 0x140], rdx
mov rcx, r12
mov rdi, rbx
shr rax, cl
mov rcx, qword [rsp + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x68], rax
cmp rbx, r13
jae 0x14020fe66
mov rax, rdi
lea rcx, [0x140000000]
and eax, 0xf
mov ebx, esi
add rax, rdx
movzx edx, byte [rax + rcx + 0x3f9fa0]
mov rcx, r10
mov rax, rdi
mov r10d, esi
and rax, 0xfffffffffffffff0
shl rax, 4
add rdx, rax
mov rax, qword [rsp + 0x90]
sub r9d, dword [rax + rdx*4]
mov r11d, dword [r11 + rdx*4]
add r11d, dword [rsp + 0x138]
mov rax, qword [rsp + 0x60]
imul r9d, esi
imul r11d, esi
imul ebx, dword [rax + rdx*4]
mov rax, qword [rsp + 0x88]
sar r9d, cl
mov rcx, rax
sar ebx, cl
mov rcx, qword [rsp + 0x70]
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 + 0x80]
mov rdx, qword [rcx + rax*8]
mov ecx, ebp
add rdx, qword [rsp + 0x68]
mov rax, qword [r14 + 0x80f0]
shl ebx, cl
shl r9d, cl
shl r10d, cl
shl r11d, cl
test ebx, ebx
jns 0x14020fde8
xor ebx, ebx
jmp 0x14020fdef
cmp ebx, r8d
cmovg ebx, r8d
mov word [rax + rdx*2], bx
test r9d, r9d
jns 0x14020fdfd
xor r9d, r9d
jmp 0x14020fe04
cmp r9d, r8d
cmovg r9d, r8d
mov word [rax + rdx*2 + 2], r9w
test r10d, r10d
jns 0x14020fe14
xor r10d, r10d
jmp 0x14020fe1b
cmp r10d, r8d
cmovg r10d, r8d
mov word [rax + rdx*2 + 4], r10w
test r11d, r11d
jns 0x14020fe2b
xor r11d, r11d
jmp 0x14020fe32
cmp r11d, r8d
cmovg r11d, r8d
mov r9d, dword [rsp + 0x130]
add rdi, r15
mov r10, qword [rsp + 0x48]
mov word [rax + rdx*2 + 6], r11w
mov rdx, qword [rsp + 0x140]
mov r11, qword [rsp + 0xa8]
cmp rdi, r13
jb 0x14020fd10
mov rbx, qword [rsp + 0x40]
mov rax, qword [rsp + 0xa0]
add rdx, qword [rsp + 0xb0]
add rax, r15
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0x140], rdx
cmp rax, qword [rsp + 0x58]
jb 0x14020fcf0
mov rdi, qword [rsp + 0x50]
jmp 0x140211220
cmp r9d, 3
jne 0x1402102e3
test ebx, ebx
je case.0x14020f511.0
sub ebx, r9d
je case.0x14020f511.0
sub ebx, 1
je 0x1402100ab
sub ebx, 2
je case.0x14020f511.0
mov rdi, qword [rsp + 0x50]
cmp ebx, 1
jne 0x14021121b
mov rax, rdi
mov qword [rsp + 0x130], rax
cmp rdi, qword [rsp + 0x58]
jae 0x14021121b
mov rdx, qword [rsp + 0x40]
mov rcx, r15
movzx edi, bpl
mov ebx, 0x7fff
mov rbp, rax
shl rbp, 4
shl rcx, 4
mov qword [rsp + 0x140], rcx
nop dword [rax]
nop word [rax + rax]
mov rcx, r12
mov r11, rdx
shr rax, cl
mov rcx, qword [rsp + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x138], rax
cmp rdx, r13
jae 0x140210074
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [rsp + 0x88]
mov rax, r11
and eax, 0xf
mov r8d, esi
add rax, rbp
mov r9d, esi
movzx edx, byte [rax + r10 + 0x3f9fa0]
mov rax, r11
and rax, 0xfffffffffffffff0
mov r10d, esi
shl rax, 4
add rdx, rax
mov rax, qword [rsp + 0x60]
imul r8d, dword [rax + rdx*4]
mov rax, qword [rsp + 0x90]
imul r9d, dword [rax + rdx*4]
neg r8d
sar r8d, cl
mov rcx, qword [rsp + 0x70]
mov eax, r8d
sar eax, 1
imul r10d, dword [rcx + rdx*4]
mov rcx, qword [rsp + 0x88]
sar r10d, cl
mov rcx, qword [rsp + 0x48]
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 + 0x80]
mov rdx, qword [rcx + rax*8]
mov ecx, edi
add rdx, qword [rsp + 0x138]
mov rax, qword [r14 + 0x80f0]
shl r8d, cl
shl r9d, cl
shl r10d, cl
cmp r8d, 0xffff8000
jge 0x140210014
mov r8d, 0xffff8000
jmp 0x14021001b
cmp r8d, ebx
cmovg r8d, ebx
mov word [rax + rdx*2], r8w
cmp r9d, 0xffff8000
jge 0x140210031
mov r9d, 0xffff8000
jmp 0x140210038
cmp r9d, ebx
cmovg r9d, ebx
mov word [rax + rdx*2 + 2], r9w
cmp r10d, 0xffff8000
jge 0x14021004f
mov r10d, 0xffff8000
jmp 0x140210056
cmp r10d, ebx
cmovg r10d, ebx
add r11, r15
mov word [rax + rdx*2 + 4], r10w
lea r10, [0x140000000]
cmp r11, r13
jb 0x14020ff50
mov rdx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x130]
lea r10, [0x140000000]
add rbp, qword [rsp + 0x140]
add rax, r15
mov qword [rsp + 0x130], rax
cmp rax, qword [rsp + 0x58]
jb 0x14020ff20
mov rdi, qword [rsp + 0x50]
jmp 0x14021121b
mov rdi, qword [rsp + 0x50]
mov rbp, rdi
mov rax, qword [r14 + 0x8848]
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x140], rdi
cmp rdi, qword [rsp + 0x58]
jae 0x14021121b
mov r8, qword [rsp + 0x40]
mov rdx, rdi
shl rdx, 4
mov rax, r15
shl rax, 4
mov ebx, 0x7fff
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0x130], rdx
nop word [rax + rax]
mov rcx, r12
mov rax, rbp
shr rax, cl
mov rdi, r8
mov rcx, qword [rsp + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0xa8], rax
cmp r8, r13
jae 0x1402102ac
mov rbp, qword [rsp + 0x130]
nop
mov rcx, qword [rsp + 0x48]
mov rax, rdi
and eax, 0xf
mov r8d, esi
add rax, rbp
mov r11d, esi
mov r9d, esi
movzx edx, byte [rax + r10 + 0x3f9fa0]
mov rax, rdi
and rax, 0xfffffffffffffff0
mov r10d, esi
shl rax, 4
add rdx, rax
mov rax, qword [rsp + 0x90]
imul r8d, dword [rax + rdx*4]
mov rax, qword [rsp + 0x60]
imul r11d, dword [rax + rdx*4]
neg r8d
mov rax, qword [rsp + 0x70]
sar r8d, cl
mov rcx, qword [rsp + 0x88]
imul r9d, dword [rax + rdx*4]
mov rax, qword [rsp + 0x68]
sar r11d, cl
imul r10d, dword [rax + rdx*4]
neg r9d
sar r9d, 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 + 0x80]
mov rdx, qword [rcx + rax*8]
movzx ecx, byte [rsp + 0x138]
add rdx, qword [rsp + 0xa8]
mov rax, qword [r14 + 0x80f0]
shl r11d, cl
shl r8d, cl
shl r9d, cl
shl r10d, cl
cmp r11d, 0xffff8000
jge 0x140210216
mov r11d, 0xffff8000
jmp 0x14021021d
cmp r11d, ebx
cmovg r11d, ebx
mov word [rax + rdx*2], r11w
cmp r8d, 0xffff8000
jge 0x140210233
mov r8d, 0xffff8000
jmp 0x14021023a
cmp r8d, ebx
cmovg r8d, ebx
mov word [rax + rdx*2 + 2], r8w
cmp r9d, 0xffff8000
jge 0x140210251
mov r9d, 0xffff8000
jmp 0x140210258
cmp r9d, ebx
cmovg r9d, ebx
mov word [rax + rdx*2 + 4], r9w
cmp r10d, 0xffff8000
jge 0x14021026f
mov r10d, 0xffff8000
jmp 0x140210276
cmp r10d, ebx
cmovg r10d, ebx
mov rbp, qword [rsp + 0x130]
add rdi, r15
mov word [rax + rdx*2 + 6], r10w
lea r10, [0x140000000]
cmp rdi, r13
jb 0x140210130
mov rbp, qword [rsp + 0x140]
mov rdx, qword [rsp + 0x130]
mov r8, qword [rsp + 0x40]
add rdx, qword [rsp + 0xa0]
lea r10, [0x140000000]
add rbp, r15
mov qword [rsp + 0x130], rdx
mov qword [rsp + 0x140], rbp
cmp rbp, qword [rsp + 0x58]
jb 0x140210100
mov rdi, qword [rsp + 0x50]
jmp 0x14021121b
cmp r9d, 4
jne 0x1402104b6
test ebx, ebx
je case.0x14020f511.0
sub ebx, 3
je case.0x14020f511.0
sub ebx, 3
je case.0x14020f511.0
cmp ebx, 1
jne 0x14020f6b9
mov rax, qword [rsp + 0x50]
mov rdi, rax
mov qword [rsp + 0x130], rax
cmp rax, qword [rsp + 0x58]
jae 0x140211218
mov rdx, qword [rsp + 0x40]
mov rbp, rax
shl rbp, 4
mov rax, r15
shl rax, 4
mov ebx, 0x7fff
mov qword [rsp + 0x68], rax
nop dword [rax + rax]
mov rcx, r12
mov rax, rdi
shr rax, cl
mov rcx, qword [rsp + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x140], rax
cmp rdx, r13
jae 0x140210485
mov rdi, rdx
nop word [rax + rax]
mov rcx, qword [rsp + 0x88]
mov rax, rdi
and eax, 0xf
mov r11d, esi
add rax, rbp
mov r9d, esi
movzx edx, byte [rax + r10 + 0x3f9fa0]
mov rax, rdi
and rax, 0xfffffffffffffff0
mov r10d, esi
shl rax, 4
add rdx, rax
mov rax, qword [rsp + 0x60]
imul r11d, dword [rax + rdx*4]
imul r10d, dword [r8 + rdx*4]
mov rax, qword [rsp + 0x90]
neg r11d
imul r9d, dword [rax + rdx*4]
mov rdx, qword [r14 + 0x80f0]
sar r11d, cl
sar r10d, cl
mov eax, r11d
mov rcx, qword [rsp + 0x48]
sar r9d, cl
sar eax, 1
sub r9d, eax
lea ecx, [r10 + 1]
sar ecx, 1
mov eax, r9d
sub eax, ecx
mov rcx, r12
add r11d, eax
mov rax, rdi
shr rax, cl
add rdi, r15
mov rcx, qword [rsp + 0x80]
mov r8, qword [rcx + rax*8]
movzx eax, r11w
add r8, qword [rsp + 0x140]
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
lea r10, [0x140000000]
mov eax, r9d
and r9w, bx
sar eax, 0x1f
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
mov r8, qword [rsp + 0x70]
cmp rdi, r13
jb 0x140210380
mov rdi, qword [rsp + 0x130]
mov rdx, qword [rsp + 0x40]
add rbp, qword [rsp + 0x68]
lea r10, [0x140000000]
mov r8, qword [rsp + 0x70]
add rdi, r15
mov qword [rsp + 0x130], rdi
cmp rdi, qword [rsp + 0x58]
jb 0x140210350
mov rdi, qword [rsp + 0x50]
jmp 0x14021121b
mov rdi, qword [rsp + 0x48]
movzx r10d, byte [rsp + 0x138]
mov ebp, r10d
cmp r9d, 5
jne 0x140210682
mov ecx, ebp
mov eax, 0x80000000
sar eax, cl
mov rcx, rdi
shl eax, cl
cdq
idiv esi
mov dword [rsp + 0x130], eax
mov r8d, eax
test ebx, ebx
je case.0x14020f511.0
sub ebx, 3
je case.0x14020f511.0
sub ebx, 3
je case.0x14020f511.0
mov rdi, qword [rsp + 0x50]
cmp ebx, 1
jne 0x14021121b
mov rax, rdi
mov qword [rsp + 0x138], rax
cmp rdi, qword [rsp + 0x58]
jae 0x14021121b
mov rdx, qword [rsp + 0x40]
mov rcx, r15
shl rdi, 4
shl rcx, 4
mov qword [rsp + 0x68], rcx
nop
mov rcx, r12
mov rbx, rdx
shr rax, cl
mov rcx, qword [rsp + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x140], rax
cmp rdx, r13
jae 0x140210655
nop dword [rax]
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 + 0x3f9fa0]
mov rax, rbx
mov rcx, qword [rsp + 0x88]
and rax, 0xfffffffffffffff0
shl rax, 4
add rdx, rax
mov rax, qword [rsp + 0x60]
imul r11d, dword [rax + rdx*4]
mov rax, qword [rsp + 0x90]
mov r9d, dword [rax + rdx*4]
neg r11d
sar r11d, cl
add r9d, r8d
mov rcx, qword [rsp + 0x70]
mov eax, r11d
sar eax, 1
imul r9d, esi
imul r10d, dword [rcx + rdx*4]
mov rdx, qword [r14 + 0x80f0]
mov rcx, qword [rsp + 0x88]
sar r10d, cl
mov rcx, qword [rsp + 0x48]
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 + 0x80]
mov r8, qword [rcx + rax*8]
mov ecx, ebp
add r8, qword [rsp + 0x140]
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 + 0x130]
cmp rbx, r13
jb 0x140210570
mov rdx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x138]
add rdi, qword [rsp + 0x68]
add rax, r15
mov qword [rsp + 0x138], rax
cmp rax, qword [rsp + 0x58]
jb 0x140210540
mov rdi, qword [rsp + 0x50]
jmp 0x14021121b
cmp r9d, 6
jne 0x14021081a
test ebx, ebx
je case.0x14020f511.0
sub ebx, 3
je case.0x14020f511.0
sub ebx, 3
je case.0x14020f511.0
mov rdi, qword [rsp + 0x50]
cmp ebx, 1
jne 0x14021121b
mov rax, rdi
mov qword [rsp + 0x130], rax
cmp rdi, qword [rsp + 0x58]
jae 0x14021121b
mov rdx, qword [rsp + 0x40]
mov rcx, r15
shl rdi, 4
shl rcx, 4
mov qword [rsp + 0x140], rcx
mov rcx, r12
mov rbx, rdx
shr rax, cl
mov rcx, qword [rsp + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x138], rax
cmp rdx, r13
jae 0x1402107ea
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 + 0x3f9fa0]
mov rax, rbx
mov rcx, qword [rsp + 0x88]
and rax, 0xfffffffffffffff0
shl rax, 4
add rdx, rax
mov rax, qword [rsp + 0x60]
imul r11d, dword [rax + rdx*4]
mov rax, qword [rsp + 0x90]
imul r9d, dword [rax + rdx*4]
neg r11d
sar r11d, cl
mov rcx, qword [rsp + 0x70]
mov eax, r11d
sar eax, 1
imul r10d, dword [rcx + rdx*4]
mov rdx, qword [r14 + 0x80f0]
mov rcx, qword [rsp + 0x88]
sar r10d, cl
mov rcx, qword [rsp + 0x48]
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 + 0x80]
mov r8, qword [rcx + rax*8]
mov ecx, ebp
add r8, qword [rsp + 0x138]
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 0x140210710
mov rdx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x130]
add rdi, qword [rsp + 0x140]
add rax, r15
mov qword [rsp + 0x130], rax
cmp rax, qword [rsp + 0x58]
jb 0x1402106e2
mov rdi, qword [rsp + 0x50]
jmp 0x14021121b
cmp r9d, 7
jne 0x140210a74
test ebx, ebx
je case.0x14020f511.0
sub ebx, 3
je case.0x14020f511.0
sub ebx, 3
je case.0x14020f511.0
mov rdi, qword [rsp + 0x50]
cmp ebx, 1
jne 0x14021121b
mov rax, rdi
mov rbx, qword [rsp + 0x40]
mov qword [rsp + 0xb0], rax
cmp rdi, qword [rsp + 0x58]
jae 0x140211220
mov rdx, rdi
mov rcx, r15
shl rdx, 4
shl rcx, 4
mov qword [rsp + 0xb8], rcx
mov qword [rsp + 0xa0], rdx
nop word [rax + rax]
mov rcx, r12
mov qword [rsp + 0xa8], rbx
shr rax, cl
mov r8, rbx
mov rcx, qword [rsp + 0x78]
mov r9, qword [rcx + rax*8]
mov qword [rsp + 0x68], r9
cmp rbx, r13
jae 0x1402109f6
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 + 0x3f9fa0]
mov rax, r8
mov rcx, qword [rsp + 0x88]
and rax, 0xfffffffffffffff0
shl rax, 4
add rdx, rax
mov rax, qword [rsp + 0x90]
imul esi, dword [rax + rdx*4]
imul ebp, dword [r11 + rdx*4]
neg ebp
sar ebp, cl
mov rcx, qword [rsp + 0x70]
mov eax, ebp
sar eax, 1
imul r14d, dword [rcx + rdx*4]
mov rcx, qword [rsp + 0x88]
movzx edx, byte [rsp + 0x140]
sar r14d, cl
mov rcx, qword [rsp + 0x48]
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 + 0x80]
mov rdi, qword [rcx + rax*8]
mov ecx, ebp
mov rax, qword [rsp + 0x130]
add rdi, r9
mov rbx, qword [rax + 0x80f0]
call fcn.140217440
movzx r8d, byte [rsp + 0x138]
mov ecx, esi
movzx edx, byte [rsp + 0x140]
movss dword [rbx + rdi*4], xmm0
call fcn.140217440
movzx r8d, byte [rsp + 0x138]
lea ecx, [r14 + rbp]
movzx edx, byte [rsp + 0x140]
movss dword [rbx + rdi*4 + 4], xmm0
call fcn.140217440
mov r8, qword [rsp + 0xa8]
mov esi, dword [rsp + 0x148]
add r8, r15
mov rdx, qword [rsp + 0xa0]
mov r9, qword [rsp + 0x68]
movzx r10d, byte [rsp + 0x138]
mov r11, qword [rsp + 0x60]
movss dword [rbx + rdi*4 + 8], xmm0
mov qword [rsp + 0xa8], r8
cmp r8, r13
jb 0x1402108c0
mov rbx, qword [rsp + 0x40]
mov rax, qword [rsp + 0xb0]
add rdx, qword [rsp + 0xb8]
add rax, r15
mov esi, dword [rsp + 0x148]
movzx r10d, byte [rsp + 0x138]
mov r11, qword [rsp + 0x60]
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xa0], rdx
cmp rax, qword [rsp + 0x58]
jb 0x140210890
mov r14, qword [rsp + 0x130]
mov rdi, qword [rsp + 0x50]
jmp 0x140211220
mov rdi, qword [rsp + 0x50]
mov edx, esi
mov rbp, qword [rsp + 0x48]
mov r9, rdi
mov rbx, qword [rsp + 0x40]
mov r8, rbp
mov rcx, r14
mov qword [rsp + 0x20], rbx
call fcn.140216950
jmp 0x140211225
test r9d, r9d
jne 0x140210ccc
cmp dword [r14 + 0x70], 4
mov rdi, qword [rsp + 0x50]
mov rdx, qword [r14 + 0x28]
mov rsi, rdi
mov qword [rsp + 0x138], rdx
mov qword [rsp + 0x130], rdi
jge 0x140210bbc
cmp rdi, qword [rsp + 0x58]
jae 0x14021121b
mov r8, qword [rsp + 0x40]
mov rbp, r15
shl rdi, 4
shl rbp, 4
mov qword [rsp + 0x140], rbp
nop word [rax + rax]
mov rcx, r12
mov rax, rsi
shr rax, cl
mov r11, r8
mov rcx, qword [rsp + 0x78]
mov rbx, qword [rcx + rax*8]
add rbx, rdx
cmp r8, r13
jae 0x140210b99
mov rbp, qword [rsp + 0x80]
mov rsi, qword [rsp + 0x90]
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 + 0x3f9fa0]
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 0x140210b01
mov rsi, qword [rsp + 0x130]
mov rbp, qword [rsp + 0x140]
mov rdx, qword [rsp + 0x138]
mov r8, qword [rsp + 0x40]
add rsi, r15
add rdi, rbp
mov qword [rsp + 0x130], rsi
cmp rsi, qword [rsp + 0x58]
jb 0x140210ad0
mov rdi, qword [rsp + 0x50]
jmp 0x14021121b
mov rbx, qword [rsp + 0x40]
cmp rdi, qword [rsp + 0x58]
jae 0x140211220
shl rdi, 4
mov rax, r15
shl rax, 4
mov qword [rsp + 0x140], rax
nop
mov rcx, r12
mov rax, rsi
shr rax, cl
mov r10, rbx
mov rcx, qword [rsp + 0x78]
mov r11, qword [rcx + rax*8]
add r11, rdx
cmp rbx, r13
jae 0x140210ca4
mov rsi, qword [rsp + 0x80]
movzx eax, r11b
and al, 7
mov ebx, 7
sub bl, al
shr r11, 3
movzx ebp, bl
nop dword [rax]
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 + 0x3f9fa0]
mov rax, r10
and rax, 0xfffffffffffffff0
shl rax, 4
add rcx, rax
mov rax, qword [rsp + 0x90]
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 0x140210c20
mov rsi, qword [rsp + 0x130]
mov rdx, qword [rsp + 0x138]
mov rbx, qword [rsp + 0x40]
add rdi, qword [rsp + 0x140]
add rsi, r15
mov qword [rsp + 0x130], rsi
cmp rsi, qword [rsp + 0x58]
jb 0x140210be0
mov rdi, qword [rsp + 0x50]
jmp 0x140211220
cmp r9d, 8
jne 0x140210e89
mov rcx, rdi
mov eax, 0x10
mov rdi, qword [rsp + 0x50]
shl eax, cl
mov rbp, rdi
cdq
mov qword [rsp + 0x138], rdi
idiv esi
mov dword [rsp + 0x130], eax
cmp rdi, qword [rsp + 0x58]
jae 0x14021121b
mov rdx, qword [rsp + 0x40]
lea ebx, [r9 + 0x17]
shl rdi, 4
mov rax, r15
shl rax, 4
mov qword [rsp + 0x68], rax
nop
mov rcx, r12
mov rax, rbp
shr rax, cl
mov r11, rdx
mov rcx, qword [rsp + 0x78]
mov rax, qword [rcx + rax*8]
cmp rdx, r13
jae 0x140210e64
mov rbp, rax
nop dword [rax]
nop word [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 + 0x3f9fa0]
mov rax, r11
mov rcx, qword [rsp + 0x88]
and rax, 0xfffffffffffffff0
shl rax, 4
add rdx, rax
mov rax, qword [rsp + 0x60]
imul r10d, dword [rax + rdx*4]
mov rax, qword [rsp + 0x90]
mov r9d, dword [rax + rdx*4]
neg r10d
add r9d, dword [rsp + 0x130]
sar r10d, cl
mov rcx, qword [rsp + 0x70]
mov eax, r10d
sar eax, 1
imul r9d, esi
imul r8d, dword [rcx + rdx*4]
mov rcx, qword [rsp + 0x88]
sar r8d, cl
mov rcx, qword [rsp + 0x48]
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 + 0x80]
mov rcx, qword [rcx + rax*8]
mov rax, qword [r14 + 0x80f0]
add rcx, rbp
test r10d, r10d
jns 0x140210e0b
xor r10d, r10d
jmp 0x140210e12
cmp r10d, ebx
cmovg r10d, ebx
test r9d, r9d
jns 0x140210e1c
xor r9d, r9d
jmp 0x140210e23
cmp r9d, ebx
cmovg r9d, ebx
test r8d, r8d
jns 0x140210e2d
xor r8d, r8d
jmp 0x140210e34
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 0x140210d50
mov rbp, qword [rsp + 0x138]
mov rdx, qword [rsp + 0x40]
add rdi, qword [rsp + 0x68]
add rbp, r15
mov qword [rsp + 0x138], rbp
cmp rbp, qword [rsp + 0x58]
jb 0x140210d20
mov rdi, qword [rsp + 0x50]
jmp 0x14021121b
cmp r9d, 0xa
jne 0x14021104e
mov rcx, rdi
mov eax, 0x20
shl eax, cl
cdq
idiv esi
mov r10d, eax
mov dword [rsp + 0x130], eax
mov rax, qword [rsp + 0x50]
mov rdi, rax
mov qword [rsp + 0x138], rax
cmp rax, qword [rsp + 0x58]
jae 0x140211218
mov rdx, qword [rsp + 0x40]
lea ebx, [r9 + 0x15]
mov rbp, rax
mov rax, r15
shl rbp, 4
shl rax, 4
mov qword [rsp + 0x68], rax
mov rcx, r12
mov rax, rdi
shr rax, cl
mov r11, rdx
mov rcx, qword [rsp + 0x78]
mov rax, qword [rcx + rax*8]
cmp rdx, r13
jae 0x140211029
mov rdi, rax
nop dword [rax]
nop word [rax + rax]
mov r9, qword [rsp + 0x70]
lea rcx, [0x140000000]
mov rax, r11
mov r8d, esi
and eax, 0xf
add rax, rbp
movzx edx, byte [rax + rcx + 0x3f9fa0]
mov rax, r11
mov rcx, qword [rsp + 0x60]
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 + 0x88]
neg eax
sar eax, cl
sar r8d, cl
mov rcx, qword [rsp + 0x90]
mov r9d, dword [rcx + rdx*4]
lea edx, [r8 + 1]
mov rcx, qword [rsp + 0x48]
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 + 0x80]
sar eax, 1
mov rcx, qword [rcx + rdx*8]
mov rdx, qword [r14 + 0x80f0]
add rcx, rdi
test r10d, r10d
jns 0x140210fc8
xor r10d, r10d
jmp 0x140210fcf
cmp r10d, ebx
cmovg r10d, ebx
test r9d, r9d
jns 0x140210fd9
xor r9d, r9d
jmp 0x140210fe7
cmp r9d, 0x3f
mov r8d, 0x3f
cmovg r9d, r8d
test eax, eax
jns 0x140210fef
xor eax, eax
jmp 0x140210ff4
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 + 0x130]
mov word [rdx + rcx*2], ax
cmp r11, r13
jb 0x140210f10
mov rdi, qword [rsp + 0x138]
mov rdx, qword [rsp + 0x40]
add rbp, qword [rsp + 0x68]
add rdi, r15
mov qword [rsp + 0x138], rdi
cmp rdi, qword [rsp + 0x58]
jb 0x140210ee1
mov rdi, qword [rsp + 0x50]
jmp 0x14021121b
cmp r9d, 9
jne 0x14020f6b9
mov rcx, rdi
mov eax, 0x200
shl eax, cl
cdq
idiv esi
mov dword [rsp + 0x130], eax
mov rax, qword [rsp + 0x50]
mov rdi, rax
mov qword [rsp + 0x138], rax
cmp rax, qword [rsp + 0x58]
jae 0x140211218
mov rdx, qword [rsp + 0x40]
mov rbx, rax
shl rbx, 4
mov rax, r15
shl rax, 4
mov qword [rsp + 0x140], rax
mov rcx, r12
mov rax, rdi
shr rax, cl
mov r11, rdx
mov rcx, qword [rsp + 0x78]
mov rbp, qword [rcx + rax*8]
cmp rdx, r13
jae 0x1402111df
mov edi, dword [rsp + 0x130]
nop word [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 + 0x3f9fa0]
mov rax, r11
mov rcx, qword [rsp + 0x88]
and rax, 0xfffffffffffffff0
shl rax, 4
add rdx, rax
mov rax, qword [rsp + 0x60]
imul r10d, dword [rax + rdx*4]
mov rax, qword [rsp + 0x90]
mov r9d, dword [rax + rdx*4]
neg r10d
sar r10d, cl
add r9d, edi
mov rcx, qword [rsp + 0x70]
mov eax, r10d
sar eax, 1
imul r9d, esi
imul r8d, dword [rcx + rdx*4]
mov edx, 0x3ff
mov rcx, qword [rsp + 0x88]
sar r8d, cl
mov rcx, qword [rsp + 0x48]
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 + 0x80]
mov rcx, qword [rcx + rax*8]
mov rax, qword [r14 + 0x80f0]
add rcx, rbp
test r10d, r10d
jns 0x14021118b
xor r10d, r10d
jmp 0x140211192
cmp r10d, edx
cmovg r10d, edx
test r9d, r9d
jns 0x14021119c
xor r9d, r9d
jmp 0x1402111a3
cmp r9d, edx
cmovg r9d, edx
test r8d, r8d
jns 0x1402111ad
xor r8d, r8d
jmp 0x1402111b4
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 0x1402110d0
mov rdi, qword [rsp + 0x138]
mov rdx, qword [rsp + 0x40]
add rbx, qword [rsp + 0x140]
add rdi, r15
mov qword [rsp + 0x138], rdi
cmp rdi, qword [rsp + 0x58]
jb 0x1402110a2
mov rdi, qword [rsp + 0x50]
jmp 0x14021121b
mov rbp, r10
jmp 0x140211225
mov rbx, qword [rsp + 0x40]
mov rbp, rcx
mov rdi, qword [rsp + 0x50]
jmp 0x140211225
mov rdi, rax
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
cmp byte [r14 + 0xa8], 0
jbe 0x14021124d
mov r8d, dword [rsp + 0x148]
mov r9, rbp
mov rdx, r12
mov rcx, r14
call fcn.140211490
test eax, eax
jne 0x140211425
mov rax, qword [rsp + 0xd0]
xor edx, edx
dec rax
add rax, r15
div r15
cmp dword [r14 + 0x18], 7
mov qword [r14 + 0x8110], rax
jne case.default.0x1402112a2
cmp dword [r14 + 0x90], 0
jne case.default.0x1402112a2
mov eax, dword [r14 + 0x1c]
dec eax
cmp eax, 6
ja case.default.0x1402112a2
lea rdx, [0x140000000]
cdqe
mov ecx, dword [rdx + rax*4 + 0x211470]
add rcx, rdx
jmp rcx
mov r9, qword [rsp + 0x58]
cmp rdi, r9
jae case.default.0x1402112a2
mov r10, qword [rsp + 0xc0]
nop word [rax + rax]
mov rcx, r12
mov rax, rdi
shr rax, cl
mov rdx, rbx
mov rcx, qword [rsp + 0x78]
mov r8, qword [rcx + rax*8]
cmp rbx, r13
jae 0x14021131a
mov r9, qword [rsp + 0xc8]
mov rax, rdx
mov rcx, r12
shr rax, cl
add rdx, r15
mov rcx, qword [rsp + 0x80]
mov rcx, qword [rcx + rax*8]
add rcx, qword [r14 + 0x80f0]
add rcx, r8
movzx eax, byte [rcx + r9]
mov byte [rcx + 1], al
mov byte [rcx + r10], al
cmp rdx, r13
jb 0x1402112e2
mov r9, qword [rsp + 0x58]
add rdi, r15
cmp rdi, r9
jb 0x1402112c0
xor eax, eax
jmp 0x14021142a
mov r9, qword [rsp + 0x58]
cmp rdi, r9
jae case.default.0x1402112a2
mov r10, qword [rsp + 0xc0]
nop
mov rcx, r12
mov rax, rdi
shr rax, cl
mov rdx, rbx
mov rcx, qword [rsp + 0x78]
mov r8, qword [rcx + rax*8]
cmp rbx, r13
jae 0x14021139c
mov r9, qword [rsp + 0xc8]
mov rax, rdx
mov rcx, r12
shr rax, cl
add rdx, r15
mov rcx, qword [rsp + 0x80]
mov rcx, qword [rcx + rax*8]
add rcx, qword [r14 + 0x80f0]
add rcx, r8
movzx eax, word [rcx + r9*2]
mov word [rcx + 2], ax
mov word [rcx + r10*2], ax
cmp rdx, r13
jb 0x140211362
mov r9, qword [rsp + 0x58]
add rdi, r15
cmp rdi, r9
jb 0x140211340
xor eax, eax
jmp 0x14021142a
mov r9, qword [rsp + 0x58]
cmp rdi, r9
jae case.default.0x1402112a2
mov r10, qword [rsp + 0xc0]
nop dword [rax]
mov rcx, r12
mov rax, rdi
shr rax, cl
mov rdx, rbx
mov rcx, qword [rsp + 0x78]
mov r8, qword [rcx + rax*8]
cmp rbx, r13
jae 0x140211419
mov r9, qword [rsp + 0xc8]
mov rax, rdx
mov rcx, r12
shr rax, cl
add rdx, r15
mov rcx, qword [rsp + 0x80]
mov rcx, qword [rcx + rax*8]
add rcx, qword [r14 + 0x80f0]
add rcx, r8
mov eax, dword [rcx + r9*4]
mov dword [rcx + 4], eax
mov dword [rcx + r10*4], eax
cmp rdx, r13
jb 0x1402113e2
mov r9, qword [rsp + 0x58]
add rdi, r15
cmp rdi, r9
jb 0x1402113c0
xor eax, eax
jmp 0x14021142a
mov eax, 0xffffffff
mov r13, qword [rsp + 0xe8]
mov rbx, qword [rsp + 0xf0]
add rsp, 0xf8
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbp
ret