Function at 0x14018d714
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x180
movabs r13, 0xa6872f8d68e8e6b6
mov qword [rsp + 0x1c8], r13
movabs rbx, 0x30417d64f5f401a9
xor r12d, r12d
mov edi, r12d
movabs rax, 0xc77b2f1bdbcddb62
movabs r11, 0xe063d06593cd2649
mov r14, qword [0x140333070]
imul r14, rax
not r14
movabs rdx, 0x1f9c2f9a680afd95
mov rax, qword [0x140333060]
xor rax, rdx
and r14, rax
ror r14, 0xa
shr r14, 8
movabs rax, 0x78e035dac4ac6428
mov r8, qword [0x140333070]
imul r8, rax
add r8, rbx
movabs rax, 0xd35c4fedffffffff
xor r8, rax
shr r8, 0x1f
not r8
movabs r9, 0xcfbe829b0a0bfe57
lea rcx, [r8 + r9]
movabs r15, 0xaaaaaaaaaaaaaaab
mov rax, r15
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
lea rsi, [0x140333060]
movzx eax, r8b
movzx ecx, byte [rsi + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x43
and ecx, 0x8000003f
jge 0x14018d809
dec ecx
or ecx, 0xffffffc0
inc ecx
mov rdx, r8
ror rdx, cl
not rdx
movabs rcx, 0x3c20df74d9cc59bc
mov rax, rdx
imul rax, rcx
mov qword [rsp + 0x1c0], rax
lea r10, [rax + r9]
mov r9, r8
imul r9, r14
sub r9, r10
xor r9, r13
mov cl, r10b
xor cl, 0xfc
and cl, 0xf
rol r9, cl
mov rax, r10
mov r13, qword [0x140333078]
sub rax, r13
xor r9, rax
movabs rax, 0x86c2fb140770f91c
imul rdx, rax
movabs rax, 0x6ba0b6375bd53e6f
add rdx, rax
xor r9, rdx
xor r9, r11
mov rax, r9
and eax, 1
je 0x14018db55
sub rax, 1
je 0x14018da5f
sub rax, 1
je 0x14018d990
cmp rax, 1
jne 0x14018dbd5
mov rcx, r10
imul rcx, r8
movabs rax, 0xf21988529c3d6015
add rax, r9
xor rcx, rax
ror rcx, 0x30
shr rcx, 0xc
not rcx
mov qword [rsp + 0x1c8], rcx
movabs rdx, 0x8357278bd658
add rdx, qword [0x140333088]
movabs rax, 0xcf3c07e3669b0885
xor rdx, rax
movzx eax, cl
movzx ecx, r9b
imul ecx, eax
and cl, 0x3f
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db97f6b3aab
sub rax, r8
mov r8, rdx
xor r8, rax
mov rcx, r8
imul rcx, rbx
mov eax, 0xaeb0e841
add rcx, rax
mov rax, r15
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov cl, byte [rsi + rcx*8]
and cl, 0xf
movabs rbx, 0x9c1ec4daf0ccdc46
sub rbx, qword [rsp + 0x1c8]
shr rbx, cl
movabs rax, 0xcfc6a723664096e5
mov rcx, qword [rsp + 0x1c0]
add rcx, rax
mov rax, r15
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r9
imul rax, qword [rsi + rcx*8]
imul rax, r9
sub rax, r14
xor rbx, rax
jmp 0x14018dbd5
movabs rcx, 0xaaaaaa1aaea9157f
mov r8, r9
xor r8, rcx
movabs rcx, 0x1206ed6ca4c933
imul r8, rcx
movabs rdx, 0xffff7e8a88b927a3
mov rcx, qword [rsp + 0x1c0]
imul rcx, rdx
movabs rdx, 0x3f4f27aadcf454be
add r8, rdx
add r8, rcx
movabs rax, 0x277cd7be7c79c21f
mov rcx, r8
xor rcx, rax
mov rax, r15
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r10, r8
not r10
imul r10, qword [rsi + rcx*8]
xor r10, 0xfffffffffbfcc3af
lea ecx, [r9 - 3]
mov r13b, 0x3f
and cl, r13b
rol r10, cl
movabs rax, 0x5062610000000000
imul r10, rax
mov rcx, r10
ror rcx, 0x14
not rcx
movabs rax, 0x9b2de6b2ce5500e0
imul rcx, rax
mov rax, r8
sub rax, r10
lea rdx, [rcx + rax*4]
mov cl, r14b
and cl, r13b
ror rdx, cl
mov rax, rbx
mov rbx, rdx
imul rbx, rax
jmp 0x14018dbd5
movabs rax, 0x9b6a0f0513fd2853
imul r9, rax
movabs rax, 0xd79435e50d79435f
mul r9
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r9b
sub cl, dl
movabs rdx, 0x5978d07297171949
shl rdx, cl
mov rax, r11
mov r11, rdx
xor r11, rax
mov cl, r10b
mov r13b, 0x3f
and cl, r13b
rol r11, cl
movabs rcx, 0xcfbe829b0a0bfe57
add rcx, r9
mov rax, r15
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0xfffffd64f5f401a9
mov rax, qword [rsi + rcx*8]
imul rax, rdx
xor r11, rax
movabs rax, 0xffffc7a7f26d6352
or r11, rax
mov rbx, qword [0x140333070]
movabs rax, 0xa6872f8d68e8e6b6
imul rbx, rax
sub rbx, r10
mov rax, r14
sub rax, r11
xor rbx, rax
movabs rax, 0xc7a7c6a6a365635f
xor rbx, rax
mov rax, r9
imul rax, r10
imul rax, rbx
mov rdi, r8
sub rdi, rax
movabs rax, 0x78958946c372f45
add rdi, rax
xor rdi, r14
movzx eax, r8b
imul ecx, eax, 0xfa
and cl, r13b
rol rdi, cl
not rdi
jmp 0x14018dbd5
mov rcx, r9
imul rcx, qword [0x140333080]
and rcx, r13
mov rax, r11
mov r11, rcx
xor r11, rax
ror r11, 9
imul r11, r10
mov rdi, r14
not rdi
imul rdi, r8
movabs rax, 0x7cd8a7de7e9432be
imul rdi, rax
imul r14, qword [0x140333060], 0xfffffffffbc7dbdc
mov rdx, qword [0x140333068]
sub r14, rdx
mov al, dil
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x14018dbbd
dec ecx
or ecx, 0xffffffc0
inc ecx
ror r14, cl
movabs rax, 0xcfbe829b0a0bfe57
add r14, rax
add r14, qword [rsp + 0x1c0]
movabs rax, 0xff055d7b8edf3873
mov rcx, qword [rsp + 0x1c8]
xor rcx, rax
mov rax, r15
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
xor r11, rdi
imul r11, qword [rsi + rcx*8]
not r10
imul r10, r9
imul r10, r14
imul r10, rbx
movabs rcx, 0xf5ed7e87896c72af
xor rcx, r8
not rcx
xor rcx, r10
sub rcx, r11
call fcn.14008058c
mov qword [0x140337f78], rax
mov dword [rsp + 0x40], r12d
mov dword [rsp + 0x40], 0xaa4b1cd2
mov eax, 0xacaf298
sub eax, dword [0x140333058]
sub eax, dword [0x140333050]
xor eax, 0x8f06ab3e
sub eax, dword [0x140333048]
mov rdx, qword [0x140333040]
lea ecx, [rdx - 0x342c88d9]
add ecx, eax
xor ecx, 0x410b91b0
add ecx, 0x6ed17da9
xor ecx, 0xe3aaf558
mov r8d, dword [0x140333030]
xor r8d, 0x2073e26f
sub r8d, ecx
mov eax, dword [0x140333038]
xor eax, 0xdf8c1d90
sub r8d, eax
sub r8d, edx
sub r8d, 0x5d71a226
xor r8d, 0xe789f170
mov dword [rsp + 0x40], r8d
movsxd rax, r8d
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x1d8], r12d
mov dword [rsp + 0x1d8], 0x42ba8db
mov eax, 0x5f02d041
sub eax, dword [0x140333058]
sub eax, dword [0x140333050]
xor eax, 0x8c1d4400
sub eax, dword [0x140333048]
mov rdx, qword [0x140333040]
add eax, 0x87ef348c
add eax, edx
xor eax, 0x3dc66c82
add eax, 0x6ff1818f
xor eax, 0x663be6a9
mov ecx, dword [0x140333030]
xor ecx, 0x20686ab1
sub ecx, eax
mov eax, dword [0x140333038]
xor eax, 0xdf97954e
sub ecx, eax
sub ecx, edx
add ecx, 0x30db710b
xor ecx, 0xc35086ee
mov dword [rsp + 0x1d8], ecx
movsxd rax, ecx
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x58], 0xf4453b5a
mov dword [rsp + 0x5c], 0x121f9546
mov dword [rsp + 0x60], 0xedde42fa
mov dword [rsp + 0x64], 0x52305ab2
mov dword [rsp + 0x68], 0x4f3b08e2
mov dword [rsp + 0x6c], 0xdf871e21
mov dword [rsp + 0x70], 0xa154bc01
mov dword [rsp + 0x74], 0x2ea7efbb
mov dword [rsp + 0x78], 0x27d4cd6e
mov r13, r12
movabs rcx, 0x13cce94adb9acf48
mov r12, rdx
xor edx, edx
mov rax, r13
div rcx
lea r14d, [rdx + 0x38]
movzx r15d, r14w
ror r15w, 8
movzx esi, r15w
shr si, 0xa
movzx eax, r15w
shl ax, 6
or si, ax
movzx edi, si
ror di, 8
movzx r9d, r15w
shr r9w, 0xd
movzx eax, r15w
shl ax, 3
or r9w, ax
movzx edx, r15w
shl dx, 0xd
movzx eax, r15w
shr ax, 3
or dx, ax
movzx r11d, dx
ror r11w, 8
movzx r8d, r15w
shr r8w, 0xc
movzx eax, r15w
shl ax, 4
or r8w, ax
movzx ebx, r15w
not bx
movzx ecx, r15w
ror cx, 1
movzx r10d, word [rsp + r13*2 + 0x58]
sub r10w, si
mov eax, 0x6afe
add r10w, ax
mov eax, 0x9204
sub ax, si
xor r10w, ax
sub r10w, word [0x140333058]
sub r10w, word [0x140333050]
add r10w, di
add r10w, r15w
sub r10w, cx
mov eax, 0x6fc1
add r10w, ax
lea eax, [r15 + rsi]
mov ecx, 0x2d07
add ax, cx
xor r10w, ax
sub r10w, word [0x140333048]
sub r10w, dx
sub r10w, r9w
sub r10w, r15w
sub r10w, 0x50
add r10w, r12w
add r10w, r11w
add r10w, si
movzx eax, r8w
sub ax, r9w
add ax, si
add ax, r15w
xor r10w, ax
movzx eax, r15w
sub ax, r8w
xor ax, r15w
sub r10w, ax
sub r10w, r11w
add r10w, r15w
mov eax, 0x4230
add r10w, ax
movzx eax, r15w
ror ax, 7
mov ecx, 0x4050
sub r11w, cx
add ax, r11w
xor r10w, ax
movzx edx, word [0x140333030]
xor dx, r15w
sub dx, r10w
movzx eax, word [0x140333038]
xor ax, bx
sub dx, ax
mov eax, 0x7100
add eax, r15d
mov ecx, 0x2440
xor ax, cx
sub dx, ax
mov eax, 0x9d7
add eax, r15d
add ax, ax
add dx, ax
sub dx, r12w
sub dx, r14w
sub dx, di
sub dx, si
movzx eax, r15w
movzx ecx, bx
imul ecx, eax
xor dx, cx
mov word [rsp + r13*2 + 0x58], dx
inc r13
cmp r13, 0x12
movabs rcx, 0x13cce94adb9acf48
jb 0x14018dd9a
lea rax, [rsp + 0x58]
mov qword [rsp + 0x150], rax
mov qword [rsp + 0x158], 0x24
xorps xmm0, xmm0
movups xmmword [rsp + 0x100], xmm0
xorps xmm1, xmm1
movdqa xmmword [rsp + 0x110], xmm1
lea rax, [rsp + 0x58]
or r8, 0xffffffffffffffff
xor r12d, r12d
inc r8
cmp word [rax + r8*2], r12w
jne 0x14018df94
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x100]
call fcn.140052bec
nop
mov dword [rsp + 0x7c], 0xf4313b83
mov dword [rsp + 0x80], 0x122f9532
mov dword [rsp + 0x84], 0xedd74302
mov dword [rsp + 0x88], 0x37c75723
mov dword [rsp + 0x8c], 0x4f520879
mov dword [rsp + 0x90], 0xe10020a2
mov dword [rsp + 0x94], 0xa156ba44
mov dword [rsp + 0x98], 0x2520f04c
mov dword [rsp + 0x9c], 0x2a48cd54
mov dword [rsp + 0xa0], 0x442f1dd2
mov dword [rsp + 0xa4], 0x67e6cb9e
mov eax, 0x70d7
mov word [rsp + 0xa8], ax
mov qword [rsp + 0x38], r12
mov r13d, 0x6afe
xor edx, edx
mov rax, r12
movabs rcx, 0x13cce94adb9acf48
div rcx
lea r14d, [rdx + 0x38]
movzx r15d, r14w
ror r15w, 8
movzx esi, r15w
shr si, 0xa
movzx eax, r15w
shl ax, 6
or si, ax
movzx edi, si
ror di, 8
movzx r9d, r15w
shr r9w, 0xd
movzx eax, r15w
shl ax, 3
or r9w, ax
movzx edx, r15w
shl dx, 0xd
movzx eax, r15w
shr ax, 3
or dx, ax
movzx r11d, dx
ror r11w, 8
movzx r8d, r15w
shr r8w, 0xc
movzx eax, r15w
shl ax, 4
or r8w, ax
movzx ebx, r15w
not bx
movzx ecx, r15w
ror cx, 1
movzx r10d, word [rsp + r12*2 + 0x7c]
sub r10w, si
add r10w, r13w
mov eax, 0x9204
sub ax, si
xor r10w, ax
sub r10w, word [0x140333058]
sub r10w, word [0x140333050]
add r10w, di
add r10w, r15w
sub r10w, cx
mov eax, 0x6fc1
add r10w, ax
lea eax, [r15 + rsi]
mov ecx, 0x2d07
add ax, cx
xor r10w, ax
sub r10w, word [0x140333048]
sub r10w, dx
sub r10w, r9w
sub r10w, r15w
mov rcx, qword [0x140333040]
sub r10w, 0x50
add r10w, cx
add r10w, r11w
add r10w, si
movzx eax, r8w
sub ax, r9w
add ax, si
add ax, r15w
xor r10w, ax
movzx eax, r15w
sub ax, r8w
xor ax, r15w
sub r10w, ax
sub r10w, r11w
add r10w, r15w
mov eax, 0x4230
add r10w, ax
movzx eax, r15w
ror ax, 7
mov edx, 0x4050
sub r11w, dx
add ax, r11w
xor r10w, ax
mov edx, 0x9d7
add edx, r15d
add dx, dx
sub dx, r10w
movzx eax, word [0x140333038]
xor ax, bx
sub dx, ax
mov eax, 0x7100
add eax, r15d
mov r8d, 0x2440
xor ax, r8w
sub dx, ax
movzx eax, word [0x140333030]
xor ax, r15w
add dx, ax
sub dx, r14w
sub dx, cx
sub dx, di
sub dx, si
movzx eax, r15w
movzx ecx, bx
imul ecx, eax
xor dx, cx
mov word [rsp + r12*2 + 0x7c], dx
inc r12
cmp r12, 0x17
jb 0x14018e03f
lea rax, [rsp + 0x7c]
mov qword [rsp + 0x160], rax
mov qword [rsp + 0x168], 0x2e
xorps xmm0, xmm0
movups xmmword [rsp + 0x120], xmm0
xorps xmm1, xmm1
movdqa xmmword [rsp + 0x130], xmm1
lea rcx, [rsp + 0x7c]
xor r12d, r12d
mov r13b, 0x3f
or rax, 0xffffffffffffffff
inc rax
cmp word [rcx + rax*2], r12w
jne 0x14018e23f
mov r8, rax
lea rdx, [rsp + 0x7c]
lea rcx, [rsp + 0x120]
call fcn.140052bec
nop
xorps xmm0, xmm0
movdqu xmmword [rsp + 0xc0], xmm0
mov qword [rsp + 0xd0], r12
lea rax, [rsp + 0x140]
mov qword [rsp + 0xe0], rax
lea rax, [rsp + 0x100]
mov qword [rsp + 0xe8], rax
lea r9, [rsp + 0xe0]
lea r8, [rsp + 0xe8]
mov esi, 2
mov edx, esi
lea rcx, [rsp + 0xc0]
call fcn.1400c2bac
nop
mov r9, qword [rsp + 0x30]
mov r8, qword [rsp + 0x48]
lea rdx, [rsp + 0xc0]
lea rcx, [rsp + 0xb0]
call fcn.1401a0c5c
nop
mov rbx, qword [rsp + 0xc0]
test rbx, rbx
je 0x14018e35b
mov rdi, qword [rsp + 0xc8]
cmp rbx, rdi
je 0x14018e30b
mov rcx, rbx
call fcn.140052a40
add rbx, 0x20
cmp rbx, rdi
jne 0x14018e2f2
mov rbx, qword [rsp + 0xc0]
mov rdx, qword [rsp + 0xd0]
sub rdx, rbx
and rdx, 0xffffffffffffffe0
mov rax, rbx
cmp rdx, 0x1000
jb 0x14018e33f
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14018f8a5
mov rcx, rbx
call fcn.14028869c
xorps xmm0, xmm0
movdqu xmmword [rsp + 0xc0], xmm0
mov qword [rsp + 0xd0], r12
lea r9, [fcn.14003bc28]
mov r8, rsi
mov edx, 0x20
lea rcx, [rsp + 0x100]
call fcn.14028873c
nop
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x7c], xmm0
movups xmmword [rsp + 0x8c], xmm0
mov qword [rsp + 0x9c], rax
mov dword [rsp + 0xa4], eax
mov word [rsp + 0xa8], ax
movups xmmword [rsp + 0x58], xmm0
movups xmmword [rsp + 0x68], xmm0
mov dword [rsp + 0x78], eax
mov dword [rsp + 0x1d8], r12d
mov dword [rsp + 0x40], r12d
cmp byte [rsp + 0xb0], r12b
jne 0x14018e451
mov dword [rsp + 0x20], r12d
mov dword [rsp + 0x20], 0xbaf365c3
mov eax, 0x3407211e
sub eax, dword [0x140333058]
sub eax, dword [0x140333050]
xor eax, 0x972b1a34
sub eax, dword [0x140333048]
mov rdx, qword [0x140333040]
lea ecx, [rdx + 0x16b56412]
add ecx, eax
xor ecx, 0x4a308c56
add ecx, 0x6c6e72fb
xor ecx, 0xd3ad643b
mov r8d, dword [0x140333030]
xor r8d, 0x2093f3e5
sub r8d, ecx
mov eax, dword [0x140333038]
xor eax, 0xdf6c0c1a
sub r8d, eax
sub r8d, edx
sub r8d, 0x5af208e
xor r8d, 0x9e118142
mov dword [rsp + 0x20], r8d
movsxd rbx, r8d
jmp 0x14018f876
movabs rax, 0x8822a60a59faf198
mov qword [rsp + 0x38], rax
movabs rdi, 0xf2490ee7674a2d05
mov rbx, r12
movabs rax, 0x6743f849a7ecf3a8
movabs r11, 0xe63c5ff624cd2d2c
mov r15, qword [0x140333070]
imul r15, rax
not r15
movabs rcx, 0xe63c5ff627de8240
mov rax, qword [0x140333060]
xor rax, rcx
and r15, rax
ror r15, 0xa
shr r15, 8
movabs rax, 0xa46ce30a17186a18
mov r9, qword [0x140333080]
imul r9, rax
movabs r8, 0xdb6f11898b5d2fb
sub r9, r8
movabs rax, 0x80cf3fd8ffffffff
xor r9, rax
shr r9, 0x1f
not r9
lea rcx, [r9 + r8]
movabs rsi, 0xaaaaaaaaaaaaaaab
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r9b
lea r14, [0x140333060]
movzx ecx, byte [r14 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x6f
mov edx, 0x8000003f
and ecx, edx
jge 0x14018e52f
dec ecx
or ecx, 0xffffffc0
inc ecx
mov rax, r9
ror rax, cl
not rax
mov qword [rsp + 0x50], rax
movabs rcx, 0x68c4e1c1a6b42290
imul rax, rcx
mov qword [rsp + 0x30], rax
lea r10, [rax + r8]
mov r8, r9
imul r8, r15
sub r8, r10
movabs rax, 0x8822a60a59faf198
xor r8, rax
movzx ecx, r10b
mov dword [rsp + 0x48], ecx
and ecx, 0xf
and ecx, edx
jge 0x14018e581
dec ecx
or ecx, 0xffffffc0
inc ecx
rol r8, cl
movabs rcx, 0x15132cffd937fcd0
mov rax, qword [rsp + 0x50]
imul rax, rcx
movabs rcx, 0x30af6f41eb313de7
add rax, rcx
xor r8, rax
mov rax, r10
sub rax, qword [0x140333078]
xor r8, rax
xor r8, r11
mov rax, r8
and eax, 1
je 0x14018e88d
sub rax, 1
je 0x14018e78f
sub rax, 1
je 0x14018e6c6
cmp rax, 1
jne 0x14018e90d
mov rcx, r10
imul rcx, r9
movabs rax, 0x4181899810da3425
add rax, r8
xor rcx, rax
ror rcx, 0x30
shr rcx, 0xc
not rcx
mov qword [rsp + 0x38], rcx
movabs rdx, 0x83572fe8c47c
add rdx, qword [0x140333088]
movabs rax, 0xd347460fc463605
xor rdx, rax
movzx eax, cl
movzx ecx, r8b
imul ecx, eax
and cl, r13b
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db977082887
sub rax, r9
mov r9, rdx
xor r9, rax
mov rcx, r9
imul rcx, rdi
mov eax, 0xa6d3fa6d
add rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov cl, byte [r14 + rcx*8]
and cl, 0xf
movabs rdi, 0xbfea970867cd2b52
sub rdi, qword [rsp + 0x38]
shr rdi, cl
movabs rax, 0xdbf15a0ed0d5d9d
mov rcx, qword [rsp + 0x30]
add rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r8
imul rax, qword [r14 + rcx*8]
imul rax, r8
sub rax, r15
xor rdi, rax
jmp 0x14018e90d
movabs rcx, 0xaaaaaa1aa6ca0753
mov r9, r8
xor r9, rcx
movabs rcx, 0x1206ed64c7db1f
imul r9, rcx
movabs rdx, 0xffff7e8a80da358f
mov rcx, qword [rsp + 0x30]
imul rcx, rdx
movabs rdx, 0x77a59284771eac1
add r9, rdx
add r9, rcx
movabs rax, 0x277cd7be741ad033
mov rcx, r9
xor rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r10, r9
not r10
imul r10, qword [r14 + rcx*8]
xor r10, 0xfffffffff39fd183
lea ecx, [r8 + 0x11]
and cl, r13b
rol r10, cl
movabs rax, 0x344021c480000000
imul r10, rax
mov rcx, r10
ror rcx, 0x16
not rcx
movabs rax, 0x9b2de6b2efd94850
imul rcx, rax
mov rax, r9
sub rax, r10
lea rdx, [rcx + rax*4]
mov cl, r15b
and cl, r13b
ror rdx, cl
mov rax, rdi
mov rdi, rdx
imul rdi, rax
jmp 0x14018e90d
movabs rax, 0x245ff7dff7efd25d
imul r8, rax
movabs rax, 0xd79435e50d79435f
mul r8
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r8b
sub cl, dl
movabs rdx, 0x77dd59f5a6050e67
shl rdx, cl
mov rax, r11
mov r11, rdx
xor r11, rax
mov eax, dword [rsp + 0x48]
and eax, 0x8000003f
jge 0x14018e7e1
dec eax
or eax, 0xffffffc0
inc eax
mov cl, al
rol r11, cl
movabs rcx, 0xdb6f11898b5d2fb
add rcx, r8
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0xee7674a2d05
mov rax, qword [r14 + rcx*8]
imul rax, rdx
xor r11, rax
movabs rax, 0xffffc7a7fa0e717e
or r11, rax
mov rdi, qword [0x140333070]
movabs rax, 0x8822a60a59faf198
imul rdi, rax
sub rdi, r10
mov rax, r15
sub rax, r11
xor rdi, rax
movabs rax, 0xc7a7c6a6ab067173
xor rdi, rax
mov rax, r8
imul rax, r10
imul rax, rdi
mov rbx, r9
sub rbx, rax
movabs rax, 0x789589464543d69
add rbx, rax
xor rbx, r15
movzx eax, r9b
imul ecx, eax, 0x16
and cl, r13b
rol rbx, cl
not rbx
jmp 0x14018e90d
mov rcx, qword [0x140333080]
imul rcx, r8
and rcx, qword [0x140333080]
mov rax, r11
mov r11, rcx
xor r11, rax
ror r11, 0x2c
imul r11, r10
mov rbx, r15
not rbx
imul rbx, r9
movabs rax, 0x7cd8a7de76f72092
imul rbx, rax
imul r15, qword [0x140333060], 0x313af6c
mov rdx, qword [0x140333068]
sub r15, rdx
mov al, bl
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x14018e8f8
dec ecx
or ecx, 0xffffffc0
inc ecx
ror r15, cl
movabs rax, 0xdb6f11898b5d2fb
add r15, rax
add r15, qword [rsp + 0x30]
movabs rax, 0xff055d7b86bc2a5f
mov rcx, qword [rsp + 0x38]
xor rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
xor r11, rbx
imul r11, qword [r14 + rcx*8]
not r10
imul r10, r8
imul r10, r15
imul r10, rdi
movabs rcx, 0xf5ed7e87810f6083
xor rcx, r9
not rcx
xor rcx, r10
sub rcx, r11
call fcn.14003b6a8
mov qword [0x140337f68], rax
movabs rdi, 0x3e1665cb7a522969
movabs r15, 0x643ee7cc65672744
mov rbx, r12
movabs rax, 0x3c08069957665368
movabs r10, 0xb5805b34eeae65c4
mov rcx, qword [0x140333070]
imul rcx, rax
not rcx
movabs r8, 0x4a7fa4cb1c8cdd30
mov rax, qword [0x140333060]
xor rax, r8
and rcx, rax
ror rcx, 0x22
shr rcx, 8
mov qword [rsp + 0x30], rcx
movabs rax, 0x3f33ef2f576e4ad8
mov r11, qword [0x140333070]
imul r11, rax
add r11, rdi
movabs rax, 0x29ed479880000000
xor r11, rax
shr r11, 0x1f
not r11
movabs r9, 0xc1e99a3485add697
lea rcx, [r11 + r9]
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r11b
movzx ecx, byte [r14 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x6b
mov eax, 0x8000003f
and ecx, eax
jge 0x14018ea39
dec ecx
or ecx, 0xffffffc0
inc ecx
mov rdx, r11
ror rdx, cl
not rdx
mov qword [rsp + 0x50], rdx
movabs r8, 0x77df2399a365ded0
mov rcx, rdx
imul rcx, r8
mov qword [rsp + 0x38], rcx
lea r8, [rcx + r9]
mov r9, r11
mov rdx, qword [rsp + 0x30]
imul r9, rdx
sub r9, r8
xor r9, r15
movzx ecx, r8b
mov dword [rsp + 0x48], ecx
xor ecx, 4
and ecx, 0xf
and ecx, eax
jge 0x14018ea8c
dec ecx
or ecx, 0xffffffc0
inc ecx
rol r9, cl
mov rax, r8
sub rax, qword [0x140333078]
xor r9, rax
movabs rcx, 0xceddd6efd417b350
mov rax, qword [rsp + 0x50]
imul rax, rcx
movabs rcx, 0x778f05ca1f6cd11
sub rax, rcx
xor r9, rax
xor r9, r10
mov rax, r9
and eax, 1
je 0x14018ed97
sub rax, 1
je 0x14018ec9a
sub rax, 1
je 0x14018ebd0
cmp rax, 1
jne 0x14018ee26
mov r15, r8
imul r15, r11
movabs rax, 0x75a8471fff61c3ad
add rax, r9
xor r15, rax
ror r15, 0x18
shr r15, 0xc
not r15
movabs rcx, 0x83573f564b80
mov rdx, qword [0x140333088]
add rdx, rcx
movabs rax, 0xc16b1f4cf1e0bd6d
xor rdx, rax
movzx eax, r9b
movzx ecx, r15b
imul ecx, eax
and cl, r13b
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db967b6a783
sub rax, r11
mov r11, rdx
xor r11, rax
mov rcx, r11
imul rcx, rdi
mov eax, 0xb66d7569
add rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov cl, byte [r14 + rcx*8]
and cl, 0xf
movabs rdi, 0xc28ab4659696f186
sub rdi, r15
shr rdi, cl
movabs rax, 0xc1f1bebcca96dc3d
mov rcx, qword [rsp + 0x38]
add rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r9
imul rax, qword [r14 + rcx*8]
imul rax, r9
sub rax, qword [rsp + 0x30]
xor rdi, rax
jmp 0x14018ee26
movabs rcx, 0xaaaaaa1ab6748857
mov r11, r9
xor r11, rcx
movabs rcx, 0x1206ed7479541b
imul r11, rcx
movabs rcx, 0xffff7e8a9064ba8b
mov rdx, qword [rsp + 0x38]
imul rdx, rcx
movabs rcx, 0x49e23a95a6f51899
add r11, rcx
add r11, rdx
movabs rax, 0x277cd7be64a45f37
mov rcx, r11
xor rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r8, r11
not r8
imul r8, qword [r14 + rcx*8]
xor r8, 0xffffffffe3215e87
lea ecx, [r9 + 0x15]
and cl, r13b
rol r8, cl
movabs rax, 0x7052190600000000
imul r8, rax
mov rcx, r8
ror rcx, 0xe
not rcx
movabs rax, 0x9b2de6b2ad237440
imul rcx, rax
mov rax, r11
sub rax, r8
lea rdx, [rcx + rax*4]
mov cl, byte [rsp + 0x30]
and cl, r13b
ror rdx, cl
mov rax, rdi
mov rdi, rdx
imul rdi, rax
jmp 0x14018ee26
movabs rax, 0x8a2d649af4a16bb3
imul r9, rax
movabs rax, 0xd79435e50d79435f
mul r9
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r9b
sub cl, dl
movabs rdx, 0x9bc118339a98d8bb
shl rdx, cl
mov rax, r10
mov r10, rdx
xor r10, rax
mov eax, dword [rsp + 0x48]
and eax, 0x8000003f
jge 0x14018ecec
dec eax
or eax, 0xffffffc0
inc eax
mov cl, al
rol r10, cl
movabs rcx, 0xc1e99a3485add697
add rcx, r9
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0xffffe5cb7a522969
mov rax, qword [r14 + rcx*8]
imul rax, rdx
xor r10, rax
movabs rax, 0xffffc7a7eab0fe7a
or r10, rax
mov rdi, qword [0x140333070]
imul rdi, r15
sub rdi, r8
mov rax, qword [rsp + 0x30]
sub rax, r10
xor rdi, rax
movabs rax, 0xc7a7c6a6bbb8fe77
xor rdi, rax
mov rax, r9
imul rax, r8
imul rax, rdi
mov rbx, r11
sub rbx, rax
movabs rax, 0x789589474eab26d
add rbx, rax
xor rbx, qword [rsp + 0x30]
mov al, r11b
shl al, 3
lea ecx, [rax + r11]
add cl, cl
and cl, r13b
rol rbx, cl
not rbx
jmp 0x14018ee26
mov rcx, r9
imul rcx, qword [0x140333080]
and rcx, qword [0x140333060]
mov rax, r10
mov r10, rcx
xor r10, rax
ror r10, 4
imul r10, r8
mov rbx, rdx
not rbx
imul rbx, r11
movabs rax, 0x7cd8a7de6649af96
imul rbx, rax
imul rax, qword [0x140333060], 0xfffffffff222b8f4
mov rdx, qword [0x140333068]
sub rax, rdx
mov qword [rsp + 0x50], rax
mov al, bl
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x14018ee07
dec ecx
or ecx, 0xffffffc0
inc ecx
mov rax, qword [rsp + 0x50]
ror rax, cl
movabs rcx, 0xc1e99a3485add697
add rax, rcx
add rax, qword [rsp + 0x38]
mov qword [rsp + 0x30], rax
movabs rax, 0xff055d7b9602a55b
xor r15, rax
mov rax, rsi
mul r15
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub r15, rax
xor r10, rbx
imul r10, qword [r14 + r15*8]
not r8
imul r8, r9
imul r8, qword [rsp + 0x30]
imul r8, rdi
movabs rcx, 0xf5ed7e8791b1ef87
xor rcx, r11
not rcx
xor rcx, r8
sub rcx, r10
call fcn.14016d30c
mov qword [0x140337f30], rax
mov dword [rsp + 0x44], r12d
mov dword [rsp + 0x44], 0x1f75f47a
mov eax, 0x1193859
sub eax, dword [0x140333058]
sub eax, dword [0x140333050]
xor eax, 0x74ec5186
sub eax, dword [0x140333048]
mov rdx, qword [0x140333040]
lea ecx, [rdx - 0x435e85af]
add ecx, eax
xor ecx, 0xe4b6d648
add ecx, 0x1b6a6cb5
xor ecx, 0x6eb0dfff
mov r8d, dword [0x140333030]
xor r8d, 0x182c9639
sub r8d, ecx
mov eax, dword [0x140333038]
xor eax, 0xe7d369c6
sub r8d, eax
sub r8d, edx
add r8d, 0x757a2fbb
xor r8d, 0x3c149116
mov dword [rsp + 0x44], r8d
cmp dword [0x140333090], r8d
setne al
mov dword [rsp + 0x44], r12d
test al, al
je 0x14018ef9b
mov dword [rsp + 0x20], r12d
mov dword [rsp + 0x20], 0x8d4c07c1
mov eax, 0x344eb9b6
sub eax, dword [0x140333058]
sub eax, dword [0x140333050]
xor eax, 0x881ee908
sub eax, dword [0x140333048]
mov rcx, qword [0x140333040]
add eax, 0x6ee78ea9
add eax, ecx
xor eax, 0x784e2dba
add eax, 0x2a944490
xor eax, 0x6c63f8f1
lea edx, [rcx + 0x54ab693a]
add edx, eax
not edx
mov eax, dword [0x140333038]
xor eax, 0xd7c6d1c8
sub edx, eax
mov ecx, dword [0x140333030]
xor ecx, 0x28392e37
add ecx, 0x66310d61
add ecx, edx
xor ecx, 0xaf101f8
mov dword [rsp + 0x20], ecx
movsxd rbx, ecx
jmp 0x14018f876
mov byte [rsp + 0x24], 0x42
mov byte [rsp + 0x25], 0xc
mov byte [rsp + 0x26], 0xb4
mov byte [rsp + 0x27], 0x17
mov byte [rsp + 0x28], 0x54
mov byte [rsp + 0x29], 0xcd
mov r15, r12
mov qword [rsp + 0xf0], r12
cmp r15, 6
jae 0x14018f149
xor edx, edx
mov rax, r15
movabs rcx, 0x13cce94adb9acf48
div rcx
add dl, 0x38
mov byte [rsp + 0x1c0], dl
mov r14b, dl
sar r14b, 7
or r14b, dl
mov byte [rsp + 0x1c8], r14b
mov al, r14b
shl al, 6
mov sil, r14b
sar sil, 2
or sil, al
movsx rcx, r14b
mov r11, rcx
sar r11, 2
or r11b, al
mov r9b, r14b
sar r9b, 5
mov al, r14b
shl al, 3
or r9b, al
mov r10b, r14b
sar r10b, 3
mov al, r14b
shl al, 5
or r10b, al
mov r8b, r14b
sar r8b, 4
mov al, r14b
shl al, 4
or r8b, al
mov bl, r14b
not bl
mov dil, r14b
ror dil, 7
lea eax, [r10 - 0x50]
add dil, al
mov dl, byte [rsp + r15 + 0x24]
sub dl, sil
sub dl, 2
mov eax, 4
sub al, r11b
xor dl, al
sar rcx, 1
mov al, r14b
shl al, 7
or cl, al
sub dl, cl
sub dl, byte [0x140333050]
sub dl, byte [0x140333058]
add dl, r11b
add dl, r14b
sub dl, r13b
lea eax, [r11 + 7]
add al, r14b
xor dl, al
sub dl, byte [0x140333048]
sub dl, r9b
sub dl, r14b
mov rcx, qword [0x140333040]
sub dl, 0x50
add dl, cl
add dl, r11b
mov al, r8b
sub al, r9b
add al, sil
add al, r14b
xor dl, al
mov al, r14b
sub al, r8b
xor al, r14b
sub dl, al
sub dl, r10b
add dl, 0x30
add dl, r14b
xor dil, dl
mov al, r14b
add al, al
sub dil, al
add cl, 0x51
add dil, cl
add dil, r11b
add dil, sil
not dil
mov al, r14b
sar al, 7
or al, r14b
sub dil, al
mov al, bl
xor al, byte [0x140333038]
sub dil, al
mov al, r14b
xor al, 0x40
sub dil, al
mov al, r14b
xor al, byte [0x140333030]
add dil, al
movsx eax, r14b
movsx ecx, bl
imul ecx, eax
xor dil, cl
mov byte [rsp + 0x1d0], dil
mov byte [rsp + r15 + 0x24], dil
inc r15
mov qword [rsp + 0xf0], r15
jmp 0x14018efc4
lea rdi, [rsp + 0x24]
mov qword [rsp + 0x170], rdi
mov qword [rsp + 0x178], 6
lea rdx, [rsp + 0x24]
lea rcx, [rsp + 0xb0]
call fcn.140169a80
mov qword [rsp + 0x140], rax
mov qword [rsp + 0xd8], r12
lea rdx, [rsp + 0xd8]
mov rcx, rax
call fcn.14016f1c0
mov rbx, qword [rsp + 0xd8]
mov qword [rsp + 0x148], rbx
mov rax, r12
mov qword [rsp + 0xf8], rax
cmp rax, 6
jae 0x14018f1be
mov byte [rdi + rax], r12b
inc rax
jmp 0x14018f1a7
mov dl, byte [rsp + 0xb0]
lea rcx, [rsp + 0xb8]
call fcn.140178bac
mov rax, rbx
jmp 0x14018f892
mov dword [rsp + 0x20], r12d
mov dl, byte [rsp + 0xb0]
lea rcx, [rsp + 0xb8]
call fcn.140178bac
mov rax, rbx
add rsp, 0x180
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
call fcn.14028f7ec
nop
int3