Function at 0x14017ecac
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x180
movabs rsi, 0xc20f3f3dffcbb11b
movabs rax, 0x647212120d300000
movabs r15, 0xe556ff77d04502a9
mov r10, qword [0x14031d088]
imul r10, rax
movabs rax, 0x9dcc33004b300000
xor r10, rax
mov rcx, r10
imul rcx, rsi
mov qword [rsp + 0x1d0], rcx
movabs r13, 0xaaaaaaaaaaaaaaab
mov rax, r13
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
lea r14, [0x14031d060]
mov r9, r10
and r9, rsi
imul r9, qword [r14 + rcx*8]
movabs rax, 0x6dafea544de58658
imul r9, rax
shr r9, 3
movabs rax, 0x7d32d0a2b698ba20
xor r9, rax
movabs rax, 0xffffff57d75c759f
mov r11, r10
imul r11, rax
sub r11, 0xd8a5d68
xor r11, r9
xor r11, qword [0x14031d060]
mov rax, r9
imul rax, qword [0x14031d070]
movabs rcx, 0xb9de928bdeefcabe
imul rax, rcx
not rax
and r11, rax
ror r11, 0x14
shr r11, 8
movabs r8, 0x3df0c0c200344ee5
lea rcx, [r10 + r8]
xor rcx, 0xffffffffe061c1b3
mov rax, r13
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0xaffadbeafd20b9b0
mov rdi, qword [r14 + rcx*8]
imul rdi, rax
sub rdi, r8
movabs rcx, 0x6517991c8484834c
mov rax, r9
imul rax, rcx
xor rdi, rax
shr rdi, 0x1f
not rdi
mov r12, rdi
xor r12, r10
lea rcx, [rdi + r8]
mov rax, r13
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, dil
movzx ecx, byte [r14 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0xaf
mov eax, 0x8000003f
and ecx, eax
jge 0x14017ee38
dec ecx
or ecx, 0xffffffc0
inc ecx
ror r12, cl
not r12
imul r12, r9
imul rdx, r12, 0xfffffffff275a298
mov qword [rsp + 0x1c8], rdx
lea rbx, [rdx + r8]
mov r8, rdi
imul r8, r11
sub r8, rbx
xor r8, r15
movzx ecx, bl
mov dword [rsp + 0x1c0], ecx
and ecx, 0xf
and ecx, eax
jge 0x14017ee7a
dec ecx
or ecx, 0xffffffc0
inc ecx
rol r8, cl
mov rax, rbx
sub rax, qword [0x14031d078]
xor r8, rax
movabs rax, 0x626b8d173e5b3e08
imul r12, rax
movabs rax, 0x2b00e23bdaa7a727
add r12, rax
xor r8, r12
xor r8, r9
xor r8, r10
mov rax, r8
and eax, 3
je 0x14017f1e0
sub rax, 1
je 0x14017f0af
sub rax, 1
je 0x14017efc0
cmp rax, 1
jne 0x14017f288
mov r15, rbx
imul r15, rdi
movabs rax, 0x4579f16b9576b73b
add rax, r8
xor r15, rax
ror r15, 0x2c
shr r15, 0xc
xor r15, r10
not r15
movabs rcx, 0x83573c1ec4bc
mov rdx, qword [0x14031d088]
add rdx, rcx
movabs rax, 0x3d7245ba7731aadb
xor rdx, rax
movzx eax, r8b
movzx ecx, r15b
imul ecx, eax
and cl, 0x3f
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db964fe2847
sub rax, rdi
mov rdi, rdx
xor rdi, rax
mov rcx, rdi
imul rcx, rsi
mov eax, 0xb525faad
add rcx, rax
mov rax, r13
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 rsi, 0xcf6ebf7612d4269c
sub rsi, r15
shr rsi, cl
movabs rax, 0x3df8e54a47d5d947
mov rcx, qword [rsp + 0x1c8]
add rcx, rax
mov rax, r13
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, r11
xor rsi, rax
jmp 0x14017f288
movabs rax, 0xaaaaaa1ab53c0793
mov rcx, r8
xor rcx, rax
movabs rax, 0x1206ed7731dbdf
imul rcx, rax
movabs rbx, 0xfff17ca8625e31ef
mov rax, r9
xor rax, rbx
sub rcx, rax
movabs rax, 0xffff7e8a932c354f
imul rdx, rax
movabs rdi, 0x8cb74308601f6fa
add rdi, rcx
add rdi, rdx
movabs rax, 0x277cd7be67ecd0f3
mov rcx, rdi
xor rcx, rax
mov rax, r13
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rbx, rdi
not rbx
imul rbx, qword [r14 + rcx*8]
xor rbx, 0xffffffffe069d143
lea ecx, [r8 + 0x11]
and cl, 0x3f
rol rbx, cl
movabs rcx, 0x4725d8280000000
mov rax, qword [rsp + 0x1d0]
xor rax, rcx
movabs rcx, 0x7c7a7dc6896edbf2
and rax, rcx
imul rbx, rax
mov rcx, rbx
ror rcx, 0x27
not rcx
movabs rax, 0x9b2de6b2a0014b50
imul rcx, rax
mov rax, rdi
sub rax, rbx
lea rdx, [rcx + rax*4]
mov cl, r11b
and cl, 0x3f
ror rdx, cl
mov rax, rsi
mov rsi, rdx
imul rsi, rax
jmp 0x14017f288
movabs rax, 0x263dd42017f2a133
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, 0x3df0c0c200344ee4
mov rax, r10
imul rax, rdx
xor rax, r15
not rax
shl rax, cl
xor r9, rax
mov eax, dword [rsp + 0x1c0]
and eax, 0x8000003f
jge 0x14017f10b
dec eax
or eax, 0xffffffc0
inc eax
mov cl, al
rol r9, cl
movabs rcx, 0x3df0c0c200344ee5
add rcx, r8
mov rax, r13
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0xffffff3dffcbb11b
mov rax, qword [r14 + rcx*8]
imul rax, rdx
xor r9, rax
movabs rax, 0xffffc7a7e9f871be
or r9, rax
mov rsi, qword [0x14031d070]
imul rsi, r15
sub rsi, rbx
mov rax, r11
sub rax, r9
xor rsi, rax
movabs rax, 0xc7a7c6a6b8f071b3
xor rsi, rax
movabs rax, 0xcccccccccccccccd
mul r10
shr rdx, 3
lea rax, [rdx + rdx*4]
add rax, rax
mov rcx, r10
sub rcx, rax
or rcx, 1
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov rdx, r8
imul rdx, rbx
imul rdx, rsi
shr rdx, cl
mov rax, rdi
sub rax, rdx
sub rax, r10
movabs r10, 0x789589477a23da9
add r10, rax
xor r10, r11
movzx eax, dil
imul ecx, eax, 0x16
and cl, 0x3f
rol r10, cl
not r10
jmp 0x14017f288
mov rax, r13
mul r9
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rcx, r9
sub rcx, rax
mov rax, r8
imul rax, qword [0x14031d080]
mov rdx, qword [r14 + rcx*8]
and rdx, rax
xor rdx, r9
and r9b, 0x3f
mov cl, r9b
mov r9, rdx
ror r9, cl
imul r9, rbx
not r11
imul r11, rdi
movabs rax, 0x7cd8a7de65012052
imul r11, rax
mov rax, r9
imul rax, r10
mov r10, r11
xor r10, rax
imul r11, qword [0x14031d060], 0xfffffffff275a298
mov rdx, qword [0x14031d068]
sub r11, rdx
mov al, r10b
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x14017f270
dec ecx
or ecx, 0xffffffc0
inc ecx
ror r11, cl
movabs rax, 0x3df0c0c200344ee5
add r11, rax
add r11, qword [rsp + 0x1c8]
movabs rax, 0xff055d7b954a2a9f
xor r15, rax
mov rax, r13
mul r15
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub r15, rax
xor r9, r10
imul r9, qword [r14 + r15*8]
not rbx
imul rbx, r8
imul rbx, r11
imul rbx, rsi
movabs rcx, 0xf5ed7e8792f96043
xor rcx, rdi
not rcx
xor rcx, rbx
sub rcx, r9
call fcn.140070f3c
mov qword [0x140321f70], rax
xor r12d, r12d
mov dword [rsp + 0x38], r12d
mov dword [rsp + 0x38], 0x485a228c
mov eax, 0xb4de03d5
sub eax, dword [0x14031d058]
sub eax, dword [0x14031d050]
xor eax, 0xe85896ca
sub eax, dword [0x14031d048]
mov rdx, qword [0x14031d040]
lea ecx, [rdx - 0x3ccb5a57]
add ecx, eax
xor ecx, 0xa55bc19c
add ecx, 0x58333c15
xor ecx, 0x27a6c669
mov r8d, dword [0x14031d030]
xor r8d, 0x21d3aafb
sub r8d, ecx
mov eax, dword [0x14031d038]
xor eax, 0xde2c5504
sub r8d, eax
sub r8d, edx
sub r8d, 0x14647abe
xor r8d, 0xdc3802ec
mov dword [rsp + 0x38], r8d
movsxd rax, r8d
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x1d8], r12d
mov dword [rsp + 0x1d8], 0x19ff3dc4
mov eax, 0x7064d099
sub eax, dword [0x14031d058]
sub eax, dword [0x14031d050]
xor eax, 0x6e8bb49d
sub eax, dword [0x14031d048]
mov r13, qword [0x14031d040]
add eax, 0x8cb8f75e
add eax, r13d
xor eax, 0x5b9529ff
add eax, 0x360cd1a3
xor eax, 0x8bcbf23c
lea ecx, [r13 - 0x43d2cbed]
add ecx, eax
not ecx
mov eax, dword [0x14031d038]
xor eax, 0xd82b8bb2
sub ecx, eax
mov eax, dword [0x14031d030]
xor eax, 0x27d4744d
add eax, 0xcb4df1cc
add ecx, eax
xor ecx, 0x8dcdac8a
mov dword [rsp + 0x1d8], ecx
movsxd rax, ecx
mov qword [rsp + 0xb0], rax
mov dword [rsp + 0x48], 0xf4453b5a
mov dword [rsp + 0x4c], 0x121f9546
mov dword [rsp + 0x50], 0xedde42fa
mov dword [rsp + 0x54], 0x52305ab2
mov dword [rsp + 0x58], 0x4f3b08e2
mov dword [rsp + 0x5c], 0xdf871e21
mov dword [rsp + 0x60], 0xa154bc01
mov dword [rsp + 0x64], 0x2ea7efbb
mov dword [rsp + 0x68], 0x27d4cd6e
mov qword [rsp + 0x30], r12
movabs rcx, 0x13cce94adba99340
xor edx, edx
mov rax, r12
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 + 0x48]
sub r10w, si
mov eax, 0x6afe
add r10w, ax
mov eax, 0x9204
sub ax, si
xor r10w, ax
sub r10w, word [0x14031d058]
sub r10w, word [0x14031d050]
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 [0x14031d048]
sub r10w, dx
sub r10w, r9w
sub r10w, r15w
sub r10w, 0x50
add r10w, r13w
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
mov edx, 0x9d7
add edx, r15d
add dx, dx
sub dx, r10w
movzx eax, word [0x14031d038]
xor ax, bx
sub dx, ax
mov eax, 0x7100
add eax, r15d
mov ecx, 0x2440
xor ax, cx
sub dx, ax
movzx eax, word [0x14031d030]
xor ax, r15w
add dx, ax
sub dx, r13w
sub dx, r14w
sub dx, di
sub dx, si
movzx eax, r15w
movzx ecx, bx
imul ecx, eax
xor dx, cx
mov word [rsp + r12*2 + 0x48], dx
inc r12
cmp r12, 0x12
movabs rcx, 0x13cce94adba99340
jb 0x14017f452
lea rax, [rsp + 0x48]
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 + 0x48]
or r8, 0xffffffffffffffff
xor r12d, r12d
inc r8
cmp word [rax + r8*2], r12w
jne 0x14017f64c
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x100]
call fcn.14003f018
nop
mov dword [rsp + 0x6c], 0xf4313b83
mov dword [rsp + 0x70], 0x122f9532
mov dword [rsp + 0x74], 0xedd74302
mov dword [rsp + 0x78], 0x37c75723
mov dword [rsp + 0x7c], 0x4f520879
mov dword [rsp + 0x80], 0xe10020a2
mov dword [rsp + 0x84], 0xa156ba44
mov dword [rsp + 0x88], 0x2520f04c
mov dword [rsp + 0x8c], 0x2a48cd54
mov dword [rsp + 0x90], 0x442f1dd2
mov dword [rsp + 0x94], 0x67e6cb9e
mov eax, 0x70d7
mov word [rsp + 0x98], ax
mov r13, r12
mov r12d, 0x6afe
xor edx, edx
mov rax, r13
movabs rcx, 0x13cce94adba99340
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 + 0x6c]
sub r10w, si
add r10w, r12w
mov eax, 0x9204
sub ax, si
xor r10w, ax
sub r10w, word [0x14031d058]
sub r10w, word [0x14031d050]
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 [0x14031d048]
sub r10w, dx
sub r10w, r9w
sub r10w, r15w
mov rcx, qword [0x14031d040]
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
movzx edx, word [0x14031d030]
xor dx, r15w
sub dx, r10w
movzx eax, word [0x14031d038]
xor ax, bx
sub dx, ax
mov eax, 0x7100
add eax, r15d
mov r8d, 0x2440
xor ax, r8w
sub dx, ax
mov eax, 0x9d7
add eax, r15d
add ax, ax
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 + r13*2 + 0x6c], dx
inc r13
cmp r13, 0x17
jb 0x14017f6e9
lea rax, [rsp + 0x6c]
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 + 0x6c]
xor r12d, r12d
movabs r13, 0xaaaaaaaaaaaaaaab
or rax, 0xffffffffffffffff
inc rax
cmp word [rcx + rax*2], r12w
jne 0x14017f8f0
mov r8, rax
lea rdx, [rsp + 0x6c]
lea rcx, [rsp + 0x120]
call fcn.14003f018
nop
xorps xmm0, xmm0
movdqu xmmword [rsp + 0xb8], xmm0
mov qword [rsp + 0xc8], r12
lea rax, [rsp + 0x140]
mov qword [rsp + 0xd8], rax
lea rax, [rsp + 0x100]
mov qword [rsp + 0xe0], rax
lea r9, [rsp + 0xd8]
lea r8, [rsp + 0xe0]
mov edx, 2
lea rcx, [rsp + 0xb8]
call fcn.1400b3cc4
nop
mov r9, qword [rsp + 0x40]
mov r8, qword [rsp + 0xb0]
lea rdx, [rsp + 0xb8]
lea rcx, [rsp + 0xa0]
call fcn.1401921e4
nop
mov rbx, qword [rsp + 0xb8]
test rbx, rbx
je 0x14017fa0d
mov rdi, qword [rsp + 0xc0]
cmp rbx, rdi
je 0x14017f9bd
mov rcx, rbx
call fcn.14003ee44
add rbx, 0x20
cmp rbx, rdi
jne 0x14017f9a4
mov rbx, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0xc8]
sub rdx, rbx
and rdx, 0xffffffffffffffe0
mov rax, rbx
cmp rdx, 0x1000
jb 0x14017f9f1
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140180bde
mov rcx, rbx
call fcn.140277b18
xorps xmm0, xmm0
movdqu xmmword [rsp + 0xb8], xmm0
mov qword [rsp + 0xc8], r12
lea r9, [fcn.140027bf8]
mov edx, 0x20
lea r8d, [rdx - 0x1e]
lea rcx, [rsp + 0x100]
call fcn.140277b4c
nop
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x6c], xmm0
movups xmmword [rsp + 0x7c], xmm0
mov qword [rsp + 0x8c], rax
mov dword [rsp + 0x94], eax
mov word [rsp + 0x98], ax
movups xmmword [rsp + 0x48], xmm0
movups xmmword [rsp + 0x58], xmm0
mov dword [rsp + 0x68], eax
mov dword [rsp + 0x1d8], r12d
mov dword [rsp + 0x38], r12d
cmp byte [rsp + 0xa0], r12b
jne 0x14017fb01
mov dword [rsp + 0x20], r12d
mov dword [rsp + 0x20], 0xb844d67b
mov eax, 0x337825c0
sub eax, dword [0x14031d058]
sub eax, dword [0x14031d050]
xor eax, 0x69a4c000
sub eax, dword [0x14031d048]
mov rdx, qword [0x14031d040]
lea ecx, [rdx - 0x4ffbb6f4]
add ecx, eax
xor ecx, 0x3691c882
add ecx, 0x7ac1b58f
xor ecx, 0xd35237a1
mov r8d, dword [0x14031d030]
xor r8d, 0x23d0e6b1
sub r8d, ecx
mov eax, dword [0x14031d038]
xor eax, 0xdc2f194e
sub r8d, eax
sub r8d, edx
sub r8d, 0xf6f29f8
xor r8d, 0xc6ac92ee
mov dword [rsp + 0x20], r8d
movsxd rbx, r8d
jmp 0x140180baf
movabs rsi, 0xd64deb45d9172f65
movabs rax, 0x79da37f000000000
movabs r14, 0xabb941e745643313
mov rdi, qword [0x14031d088]
imul rdi, rax
movabs rax, 0x836cc1f000000000
xor rdi, rax
mov rcx, rdi
imul rcx, r14
mov qword [rsp + 0x40], rcx
mov rax, r13
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r8, rdi
and r8, r14
lea r15, [0x14031d060]
imul r8, qword [r15 + rcx*8]
movabs rax, 0x65c67ee185a08c00
imul r8, rax
shr r8, 3
movabs rax, 0xa2902573b4ebc93d
xor r8, rax
movabs rax, 0xffffff57cc5abd33
mov rbx, rdi
imul rbx, rax
sub rbx, 0x4ac6400
xor rbx, r8
xor rbx, qword [0x14031d060]
mov rax, r8
imul rax, qword [0x14031d070]
movabs rcx, 0xb9de928bc5e90212
imul rax, rcx
not rax
and rbx, rax
ror rbx, 0x30
shr rbx, 8
movabs r9, 0x5446be18ba9bcced
lea rcx, [rdi + r9]
xor rcx, 0xfffffffffb67091f
mov rax, r13
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0x156fd3d17a25a800
mov r11, qword [r15 + rcx*8]
imul r11, rax
sub r11, r9
movabs rcx, 0x99935999de768dfc
mov rax, r8
imul rax, rcx
xor r11, rax
shr r11, 0x1f
not r11
mov rax, r11
xor rax, rdi
mov qword [rsp + 0xb0], rax
lea rcx, [r11 + r9]
mov rax, r13
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r11b
movzx ecx, byte [r15 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 3
and ecx, 0x8000003f
jge 0x14017fc71
dec ecx
or ecx, 0xffffffc0
inc ecx
mov rax, qword [rsp + 0xb0]
ror rax, cl
not rax
imul rax, r8
imul rdx, rax, 0xfffffffffb539c00
mov qword [rsp + 0x30], rdx
add r9, rdx
mov r10, r11
imul r10, rbx
sub r10, r9
xor r10, rsi
mov cl, r9b
xor cl, 0xfc
and cl, 0xf
rol r10, cl
movabs rcx, 0xbdc978c63f489400
imul rax, rcx
movabs rcx, 0x6308fd0a2f089369
sub rax, rcx
xor r10, rax
mov rax, r9
sub rax, qword [0x14031d078]
xor r10, rax
xor r10, r8
xor r10, rdi
mov rax, r10
and eax, 3
je 0x14017fff9
sub rax, 1
je 0x14017fed6
sub rax, 1
je 0x14017fdeb
cmp rax, 1
jne 0x14018009e
mov rsi, r9
imul rsi, r11
movabs rax, 0x4bed503b1512ba37
add rax, r10
xor rsi, rax
ror rsi, 8
shr rsi, 0xc
xor rsi, rdi
not rsi
movabs rcx, 0x835727180c18
mov rdx, qword [0x14031d088]
add rdx, rcx
movabs rax, 0x54c43b60d698e07f
xor rdx, rax
movzx eax, sil
movzx ecx, r10b
imul ecx, eax
and cl, 0x3f
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db97ff8e0eb
sub rax, r11
mov r11, rdx
xor r11, rax
mov rcx, r11
imul rcx, r14
mov eax, 0xae233201
add rcx, rax
mov rax, r13
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov cl, byte [r15 + rcx*8]
and cl, 0xf
movabs r14, 0xb8c932251066b1c4
sub r14, rsi
shr r14, cl
movabs rax, 0x544ee2a117430fbb
mov rcx, qword [rsp + 0x30]
add rcx, rax
mov rax, r13
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r10
imul rax, qword [r15 + rcx*8]
imul rax, r10
sub rax, rbx
xor r14, rax
jmp 0x14018009e
movabs rax, 0xaaaaaa1aae3acf3f
mov rcx, r10
xor rcx, rax
movabs rax, 0x1206ed6c371373
imul rcx, rax
movabs r9, 0xfff17ca87958f943
mov rax, r8
xor rax, r9
sub rcx, rax
movabs rax, 0xffff7e8a882afde3
imul rdx, rax
movabs r11, 0x71b5ff1380b9ed0a
add r11, rcx
add r11, rdx
movabs rax, 0x277cd7be7cea185f
mov rcx, r11
xor rcx, rax
mov rax, r13
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r9, r11
not r9
imul r9, qword [r15 + rcx*8]
xor r9, 0xfffffffffb6f19ef
lea ecx, [r10 - 3]
and cl, 0x3f
rol r9, cl
movabs rcx, 0xc7dd9a3b6d97eca1
mov rax, qword [rsp + 0x40]
xor rax, rcx
movabs rcx, 0x7c7a7dc69268135e
and rax, rcx
imul r9, rax
mov rcx, r9
ror rcx, 7
not rcx
movabs rax, 0x9b2de6b2cc1a69e0
imul rcx, rax
mov rax, r11
sub rax, r9
lea rdx, [rcx + rax*4]
mov cl, bl
and cl, 0x3f
ror rdx, cl
mov rax, r14
mov r14, rdx
imul r14, rax
jmp 0x14018009e
movabs rax, 0x7e8343d586b3a2bf
imul r10, rax
movabs rax, 0xd79435e50d79435f
mul r10
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r10b
sub cl, dl
movabs rdx, 0x5446be18ba9bccec
mov rax, rdi
imul rax, rdx
xor rax, rsi
not rax
shl rax, cl
xor r8, rax
mov cl, r9b
and cl, 0x3f
rol r8, cl
movabs rcx, 0x5446be18ba9bcced
add rcx, r10
mov rax, r13
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0x1e745643313
mov rax, qword [r15 + rcx*8]
imul rax, rdx
xor r8, rax
movabs rax, 0xffffc7a7f2feb912
or r8, rax
mov r14, qword [0x14031d070]
imul r14, rsi
sub r14, r9
mov rax, rbx
sub rax, r8
xor r14, rax
movabs rax, 0xc7a7c6a6a3f6b91f
xor r14, rax
movabs rax, 0xcccccccccccccccd
mul rdi
shr rdx, 3
lea rax, [rdx + rdx*4]
add rax, rax
mov rcx, rdi
sub rcx, rax
or rcx, 1
xor edx, edx
mov rax, r14
div rcx
mov rcx, rdx
mov rdx, r10
imul rdx, r9
imul rdx, r14
shr rdx, cl
mov rax, r11
sub rax, rdx
sub rax, rdi
movabs rdi, 0x78958946ca4f505
add rdi, rax
xor rdi, rbx
movzx eax, r11b
imul ecx, eax, 0xfa
and cl, 0x3f
rol rdi, cl
not rdi
jmp 0x14018009e
mov rax, r13
mul r8
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rcx, r8
sub rcx, rax
mov rax, r10
imul rax, qword [0x14031d080]
mov rdx, qword [r15 + rcx*8]
and rdx, rax
xor rdx, r8
and r8b, 0x3f
mov cl, r8b
mov r8, rdx
ror r8, cl
imul r8, r9
not rbx
imul rbx, r11
movabs rax, 0x7cd8a7de7e07e8fe
imul rbx, rax
mov rax, r8
imul rax, rdi
mov rdi, rbx
xor rdi, rax
imul rbx, qword [0x14031d060], 0xfffffffffb539c00
mov rdx, qword [0x14031d068]
sub rbx, rdx
mov al, dil
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x140180089
dec ecx
or ecx, 0xffffffc0
inc ecx
ror rbx, cl
movabs rax, 0x5446be18ba9bcced
add rbx, rax
add rbx, qword [rsp + 0x30]
movabs rax, 0xff055d7b8e4ce233
xor rsi, rax
mov rax, r13
mul rsi
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rsi, rax
xor r8, rdi
imul r8, qword [r15 + rsi*8]
not r9
imul r9, r10
imul r9, rbx
imul r9, r14
movabs rcx, 0xf5ed7e8789ffa8ef
xor rcx, r11
not rcx
xor rcx, r9
sub rcx, r8
call fcn.140027710
mov qword [0x140321f60], rax
movabs rax, 0x43236ee1dc24798e
mov r10, qword [0x14031d070]
imul r10, rax
not r10
movabs rcx, 0x1695353affba7a15
mov r14, qword [0x14031d060]
mov rax, r14
xor rax, rcx
and r10, rax
ror r10, 0x37
shr r10, 8
movabs rax, 0x2258aa0e5d1b7680
mov r9, qword [0x14031d088]
imul r9, rax
movabs rax, 0x51badef340a15490
add r9, rax
movabs rax, 0x9fa28be27fffffff
xor r9, rax
shr r9, 0x1f
not r9
movabs r8, 0xae45210cbf5eab70
lea rcx, [r9 + r8]
mov rax, r13
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r9b
movzx ecx, byte [r15 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x47
mov edi, 0x8000003f
and ecx, edi
jge 0x1401801ac
dec ecx
or ecx, 0xffffffc0
inc ecx
mov rax, r9
ror rax, cl
not rax
movabs rcx, 0xac02cc529d3aa740
mov rsi, rax
imul rsi, rcx
add r8, rsi
mov r11, r9
imul r11, r10
sub r11, r8
movabs rcx, 0x67a498e07c4a3947
xor r11, rcx
mov cl, r8b
xor cl, 0xf8
and cl, 0xf
rol r11, cl
movabs rcx, 0xb417d782df1f1400
imul rax, rcx
movabs r15, 0x6d7ea6ac86f12f00
add rax, r15
xor r11, rax
mov rax, r8
sub rax, qword [0x14031d078]
xor r11, rax
movabs rax, 0xe96acac50ce43055
xor r11, rax
mov rbx, r11
imul rbx, qword [0x14031d080]
mov rdx, qword [0x14031d068]
and rbx, rdx
xor rbx, rax
ror rbx, 0x15
imul rbx, r8
not r10
imul r10, r9
movabs rax, 0x7cd8a7de790aa3ba
imul r10, rax
imul r8, r14, 0xfffffffff35e4a40
sub r8, rdx
mov al, r10b
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, edi
jge 0x14018027b
dec ecx
or ecx, 0xffffffc0
inc ecx
ror r8, cl
lea rcx, [rsi + r8]
movabs rax, 0x51badef340a15490
imul rcx, rax
add rcx, r15
movabs rax, 0x51badef340a1548f
sub rax, rsi
imul rcx, rax
imul rcx, r11
movabs rax, 0xf5ed7e878ef2e3ab
xor r9, rax
not r9
xor rcx, r9
xor rbx, r10
imul rbx, r14
sub rcx, rbx
call fcn.14015da98
mov qword [0x140321f90], rax
mov dword [rsp + 0x3c], r12d
mov dword [rsp + 0x3c], 0xeaa82c6b
mov eax, 0xe06e3ace
sub eax, dword [0x14031d058]
sub eax, dword [0x14031d050]
xor eax, 0x75d0abe2
sub eax, dword [0x14031d048]
mov rdx, qword [0x14031d040]
lea ecx, [rdx + 0x3dd2ae2a]
add ecx, eax
xor ecx, 0xe5b74b84
add ecx, 0x1b2e8f51
xor ecx, 0x27215286
mov r8d, dword [0x14031d030]
xor r8d, 0x18301995
sub r8d, ecx
mov eax, dword [0x14031d038]
xor eax, 0xe7cfe66a
sub r8d, eax
sub r8d, edx
add r8d, 0x71169740
xor r8d, 0x5d6175b2
mov dword [rsp + 0x3c], r8d
cmp dword [0x14031d090], r8d
setne al
mov dword [rsp + 0x3c], r12d
test al, al
je 0x1401803ea
mov dword [rsp + 0x20], r12d
mov dword [rsp + 0x20], 0x927ce939
mov eax, 0xf73cd212
sub eax, dword [0x14031d058]
sub eax, dword [0x14031d050]
xor eax, 0x65553034
sub eax, dword [0x14031d048]
mov rcx, qword [0x14031d040]
add eax, 0x16901a17
add eax, ecx
xor eax, 0x70be5646
sub eax, 0xc864e24
xor eax, 0x31524ce9
lea edx, [rcx + 0x2885caed]
add edx, eax
not edx
mov eax, dword [0x14031d038]
xor eax, 0xd45f959c
sub edx, eax
mov ecx, dword [0x14031d030]
xor ecx, 0x2ba06a63
add ecx, 0xfbcb9db2
add ecx, edx
xor ecx, 0x6a697354
mov dword [rsp + 0x20], ecx
movsxd rbx, ecx
jmp 0x140180baf
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 + 0xe8], r12
mov r13, qword [0x14031d040]
cmp r15, 6
jae 0x14018059a
xor edx, edx
mov rax, r15
movabs rcx, 0x13cce94adba99340
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 [0x14031d050]
sub dl, byte [0x14031d058]
sub dl, 0x3f
add dl, r11b
add dl, r14b
lea eax, [r11 + 7]
add al, r14b
xor dl, al
sub dl, byte [0x14031d048]
sub dl, r9b
sub dl, r14b
sub dl, 0x50
add dl, r13b
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 dil, 0x51
add dil, r13b
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 [0x14031d038]
sub dil, al
mov al, r14b
xor al, 0x40
sub dil, al
mov al, r14b
xor al, byte [0x14031d030]
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 + 0xe8], r15
jmp 0x14018041a
lea rdi, [rsp + 0x24]
mov qword [rsp + 0x170], rdi
mov qword [rsp + 0x178], 6
lea rdx, [rsp + 0x24]
lea rcx, [rsp + 0xa0]
call fcn.14015a3ac
mov qword [rsp + 0x140], rax
mov qword [rsp + 0xd0], r12
lea rdx, [rsp + 0xd0]
mov rcx, rax
call fcn.14015fd84
mov rbx, qword [rsp + 0xd0]
mov qword [rsp + 0x148], rbx
mov rax, r12
mov qword [rsp + 0xf0], rax
cmp rax, 6
jae 0x14018060f
mov byte [rdi + rax], r12b
inc rax
jmp 0x1401805f8
mov dl, byte [rsp + 0xa0]
lea rcx, [rsp + 0xa8]
call fcn.140169648
mov rax, rbx
jmp 0x140180bcb
mov dword [rsp + 0x20], r12d
mov dl, byte [rsp + 0xa0]
lea rcx, [rsp + 0xa8]
call fcn.140169648
mov rax, rbx
add rsp, 0x180
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
call fcn.14027ed28
nop