Function at 0x14014e418
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x180
movabs r8, 0xe6e95bac899544d4
mov qword [rsp + 0x1c0], r8
movabs rsi, 0x3b4681aa1f5f5a8d
xor r12d, r12d
mov edi, r12d
movabs rax, 0xf97762740c9aa884
movabs r11, 0x905ad88d4520e25a
mov r15, qword [0x1402b2070]
imul r15, rax
not r15
movabs rdx, 0x6fa52772b7a8f11e
mov rax, qword [0x1402b2060]
xor rax, rdx
and r15, rax
ror r15, 0x36
shr r15, 8
movabs rax, 0x4947033ef2cc378
mov r10, qword [0x1402b2070]
imul r10, rax
add r10, rsi
movabs rax, 0x8ebfc7107fffffff
xor r10, rax
shr r10, 0x1f
not r10
movabs r9, 0xc4b97e55e0a0a573
lea rcx, [r10 + r9]
movabs r13, 0xaaaaaaaaaaaaaaab
mov rax, r13
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
lea r14, [0x1402b2060]
movzx eax, r10b
movzx ecx, byte [r14 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x9b
and ecx, 0x8000003f
jge 0x14014e511
dec ecx
or ecx, 0xffffffc0
inc ecx
mov rax, r10
ror rax, cl
not rax
movabs rcx, 0x6778eebf2158cde8
mov rdx, rax
imul rdx, rcx
mov qword [rsp + 0x1c8], rdx
lea rbx, [rdx + r9]
mov r9, r10
imul r9, r15
sub r9, rbx
xor r9, r8
movzx r8d, bl
mov ecx, r8d
xor ecx, 4
and ecx, 0xf
jge 0x14014e55a
dec ecx
or ecx, 0xffffffc0
inc ecx
rol r9, cl
movabs rcx, 0xe9ac75f21764f8c8
imul rax, rcx
movabs rcx, 0x4ada98b67aad71a9
sub rax, rcx
xor r9, rax
mov rax, rbx
sub rax, qword [0x1402b2078]
xor r9, rax
xor r9, r11
mov rax, r9
and eax, 1
je 0x14014e87b
sub rax, 1
je 0x14014e778
sub rax, 1
je 0x14014e6b4
cmp rax, 1
jne 0x14014e8ff
mov rcx, rbx
imul rcx, r10
movabs rax, 0xc3f71a555399c4d1
add rax, r9
xor rcx, rax
ror rcx, 0xc
shr rcx, 0xc
not rcx
mov qword [rsp + 0x1c0], rcx
movabs rdx, 0x83573ca1d490
mov r8, qword [0x1402b2088]
add r8, rdx
movabs rax, 0xc43bfb2d971a5179
xor r8, rax
mov eax, r9d
imul eax, ecx
and eax, 0x3f
mov ecx, 0x40
sub ecx, eax
mov rdx, r8
shl rdx, cl
mov ecx, eax
shr r8, cl
or rdx, r8
shl rdx, 0xf
movabs rax, 0xf7ca7db964413873
sub rax, r10
mov r10, rdx
xor r10, rax
mov rcx, r10
imul rcx, rsi
mov eax, 0xb59aea99
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, 0x99060e82deb0df32
sub rsi, qword [rsp + 0x1c0]
shr rsi, cl
movabs rax, 0xc4c1a2de27bf3fc9
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, r9
imul rax, qword [r14 + rcx*8]
imul rax, r9
sub rax, r15
xor rsi, rax
jmp 0x14014e8ff
movabs rcx, 0xaaaaaa1ab58317a7
mov r10, r9
xor r10, rcx
movabs rcx, 0x1206ed778ecbeb
imul r10, rcx
movabs rcx, 0xffff7e8a9393257b
imul rdx, rcx
movabs rcx, 0x4296fc5d9af37f3b
add r10, rcx
add r10, rdx
movabs rax, 0x277cd7be6753c0c7
mov rcx, r10
xor rcx, rax
mov rax, r13
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rbx, r10
not rbx
imul rbx, qword [r14 + rcx*8]
xor rbx, 0xffffffffe0d6c177
lea ecx, [r9 - 0x1b]
and cl, 0x3f
rol rbx, cl
movabs rax, 0x6c48554400000000
imul rbx, rax
mov rcx, rbx
ror rcx, 0x2e
not rcx
movabs rax, 0x9b2de6b2a2fd0b80
imul rcx, rax
mov rax, r10
sub rax, rbx
lea rdx, [rcx + rax*4]
mov cl, r15b
and cl, 0x3f
ror rdx, cl
mov rax, rsi
mov rsi, rdx
imul rsi, rax
jmp 0x14014e8ff
movabs rax, 0xa43683411c6b7b11
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, 0x1916a453766abb2b
shl rdx, cl
mov rax, r11
mov r11, rdx
xor r11, rax
and r8d, 0x8000003f
jge 0x14014e7cb
dec r8d
or r8d, 0xffffffc0
inc r8d
mov cl, r8b
rol r11, cl
movabs rcx, 0xc4b97e55e0a0a573
add rcx, r9
mov rax, r13
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0x1aa1f5f5a8d
mov rax, qword [r14 + rcx*8]
imul rax, rdx
xor r11, rax
movabs rax, 0xffffc7a7e947618a
or r11, rax
mov rsi, qword [0x1402b2070]
movabs rax, 0xe6e95bac899544d4
imul rsi, rax
sub rsi, rbx
mov rax, r15
sub rax, r11
xor rsi, rax
movabs rax, 0xc7a7c6a6b84f6187
xor rsi, rax
mov rax, r9
imul rax, rbx
imul rax, rsi
mov rdi, r10
sub rdi, rax
movabs rax, 0x7895894771d2d9d
add rdi, rax
xor rdi, r15
movzx eax, r10b
imul ecx, eax, 0xe2
and cl, 0x3f
rol rdi, cl
not rdi
jmp 0x14014e8ff
mov rcx, r9
imul rcx, qword [0x1402b2080]
and rcx, qword [0x1402b2060]
mov rax, r11
mov r11, rcx
xor r11, rax
ror r11, 0x1a
imul r11, rbx
mov rdi, r15
not rdi
imul rdi, r10
movabs rax, 0x7cd8a7de65be3066
imul rdi, rax
imul r8, qword [0x1402b2060], 0xfffffffff2881344
mov rdx, qword [0x1402b2068]
sub r8, rdx
mov al, dil
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x14014e8e7
dec ecx
or ecx, 0xffffffc0
inc ecx
ror r8, cl
movabs r15, 0xc4b97e55e0a0a573
add r15, r8
add r15, qword [rsp + 0x1c8]
movabs rax, 0xff055d7b95f53aab
mov rcx, qword [rsp + 0x1c0]
xor rcx, rax
mov rax, r13
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
xor r11, rdi
imul r11, qword [r14 + rcx*8]
not rbx
imul rbx, r9
imul rbx, r15
imul rbx, rsi
movabs rcx, 0xf5ed7e8792467077
xor rcx, r10
not rcx
xor rcx, rbx
sub rcx, r11
call fcn.14012dfcc
mov qword [0x1402b3188], rax
mov dword [rsp + 0x38], r12d
mov dword [rsp + 0x38], 0xdfe81ebf
mov eax, 0x6539bb6b
sub eax, dword [0x1402b2058]
sub eax, dword [0x1402b2050]
xor eax, 0xa3c7e326
sub eax, dword [0x1402b2048]
mov rdx, qword [0x1402b2040]
lea ecx, [rdx - 0x186f36be]
add ecx, eax
xor ecx, 0x585ab8d8
add ecx, 0x69839cf1
xor ecx, 0xbde355d4
mov r8d, dword [0x1402b2030]
xor r8d, 0x20c5a057
sub r8d, ecx
mov eax, dword [0x1402b2038]
xor eax, 0xdf3a5fa8
sub r8d, eax
sub r8d, edx
add r8d, 0x3c5e4a48
xor r8d, 0xf4e78218
mov dword [rsp + 0x38], r8d
movsxd rax, r8d
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x1d8], r12d
mov dword [rsp + 0x1d8], 0xe6e38e63
mov eax, 0x19274003
sub eax, dword [0x1402b2058]
sub eax, dword [0x1402b2050]
xor eax, 0xe507c748
sub eax, dword [0x1402b2048]
mov r13, qword [0x1402b2040]
add eax, 0xfec62ddb
add eax, r13d
xor eax, 0xa1a27a0a
add eax, 0x5a791767
xor eax, 0x2204cc0b
mov ecx, dword [0x1402b2030]
xor ecx, 0x21c69bf9
sub ecx, eax
mov eax, dword [0x1402b2038]
xor eax, 0xde396406
sub ecx, eax
sub ecx, r13d
add ecx, 0x7be68480
xor ecx, 0x805ebd6
mov dword [rsp + 0x1d8], ecx
movsxd rax, ecx
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x58], 0x3b60ccae
mov dword [rsp + 0x5c], 0x951ef479
mov dword [rsp + 0x60], 0x43071237
mov dword [rsp + 0x64], 0x5ab5edeb
mov dword [rsp + 0x68], 0x860522a
mov dword [rsp + 0x6c], 0x20cc4f5e
mov dword [rsp + 0x70], 0xbc0fe100
mov dword [rsp + 0x74], 0xf04ea162
mov dword [rsp + 0x78], 0xcd7b251c
mov qword [rsp + 0x30], r12
movabs rcx, 0x13cce94adbe8f3f8
xor edx, edx
mov rax, r12
div rcx
lea r15d, [rdx + 0x37]
movzx r14d, r15w
ror r14w, 8
movzx esi, r14w
shr si, 0xa
movzx eax, r14w
shl ax, 6
or si, ax
movzx edi, si
ror di, 8
movzx r9d, r14w
shr r9w, 0xd
movzx eax, r14w
shl ax, 3
or r9w, ax
movzx edx, r14w
shl dx, 0xd
movzx eax, r14w
shr ax, 3
or dx, ax
movzx r11d, dx
ror r11w, 8
movzx r8d, r14w
shr r8w, 0xc
movzx eax, r14w
shl ax, 4
or r8w, ax
movzx ebx, r14w
not bx
movzx ecx, r14w
ror cx, 1
movzx r10d, word [rsp + r12*2 + 0x58]
sub r10w, si
mov eax, 0x6afe
add r10w, ax
mov eax, 0x9204
sub ax, si
xor r10w, ax
sub r10w, word [0x1402b2058]
sub r10w, word [0x1402b2050]
add r10w, di
add r10w, r14w
sub r10w, cx
mov eax, 0x6fc1
add r10w, ax
lea eax, [r14 + rsi]
mov ecx, 0x2d07
add ax, cx
xor r10w, ax
sub r10w, dx
sub r10w, r9w
sub r10w, r14w
sub r10w, word [0x1402b2048]
sub r10w, 0x50
add r10w, r11w
add r10w, r13w
add r10w, si
movzx eax, r8w
sub ax, r9w
add ax, si
add ax, r14w
xor r10w, ax
movzx eax, r14w
sub ax, r8w
xor ax, r14w
sub r10w, ax
sub r10w, r11w
add r10w, r14w
mov eax, 0x4230
add r10w, ax
movzx eax, r14w
ror ax, 7
mov ecx, 0x4050
sub r11w, cx
add ax, r11w
xor r10w, ax
mov edx, 0x9d7
add edx, r14d
add dx, dx
sub dx, r10w
mov eax, 0x7100
add eax, r14d
mov ecx, 0x2440
xor ax, cx
sub dx, ax
movzx eax, bx
xor ax, word [0x1402b2038]
sub dx, ax
movzx eax, r14w
xor ax, word [0x1402b2030]
add dx, ax
sub dx, di
sub dx, r13w
sub dx, si
sub dx, r15w
movzx eax, r14w
movzx ecx, bx
imul ecx, eax
xor dx, cx
mov word [rsp + r12*2 + 0x58], dx
inc r12
cmp r12, 0x12
movabs rcx, 0x13cce94adbe8f3f8
jb 0x14014eac5
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 0x14014ecbf
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x100]
call fcn.1400459f0
nop
mov dword [rsp + 0x7c], 0x3b74cc93
mov dword [rsp + 0x80], 0x956ef455
mov dword [rsp + 0x84], 0x6af4121f
mov dword [rsp + 0x88], 0x5b0cf234
mov dword [rsp + 0x8c], 0x8733781
mov dword [rsp + 0x90], 0x1e4d4f3b
mov dword [rsp + 0x94], 0xbbf5df9d
mov dword [rsp + 0x98], 0xefbba4eb
mov dword [rsp + 0x9c], 0xce0f28fa
mov dword [rsp + 0xa0], 0x1b862a59
mov dword [rsp + 0xa4], 0xcb9f4415
mov eax, 0x657c
mov word [rsp + 0xa8], ax
mov r13, r12
mov r12d, 0x6afe
xor edx, edx
mov rax, r13
movabs rcx, 0x13cce94adbe8f3f8
div rcx
lea r14d, [rdx + 0x37]
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 + 0x7c]
sub r10w, si
add r10w, r12w
mov eax, 0x9204
sub ax, si
xor r10w, ax
sub r10w, word [0x1402b2058]
sub r10w, word [0x1402b2050]
add r10w, r15w
add r10w, di
sub r10w, cx
mov eax, 0x6fc1
add r10w, ax
lea eax, [r15 + rsi]
mov ecx, 0x2d07
add ax, cx
xor r10w, ax
sub r10w, r15w
sub r10w, word [0x1402b2048]
sub r10w, dx
sub r10w, r9w
sub r10w, 0x50
mov rcx, qword [0x1402b2040]
add r10w, si
add r10w, cx
add r10w, r11w
movzx eax, si
sub ax, r9w
add ax, r15w
add ax, r8w
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, r15w
xor dx, word [0x1402b2030]
sub dx, r10w
movzx eax, word [0x1402b2038]
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, si
sub dx, cx
sub dx, r14w
sub dx, di
movzx eax, bx
movzx ecx, r15w
imul ecx, eax
xor dx, cx
mov word [rsp + r13*2 + 0x7c], dx
inc r13
cmp r13, 0x17
jb 0x14014ed68
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
movabs r13, 0xaaaaaaaaaaaaaaab
or rax, 0xffffffffffffffff
inc rax
cmp word [rcx + rax*2], r12w
jne 0x14014ef6f
mov r8, rax
lea rdx, [rsp + 0x7c]
lea rcx, [rsp + 0x120]
call fcn.1400459f0
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.140045be0
nop
mov r9, qword [rsp + 0x40]
mov r8, qword [rsp + 0x48]
lea rdx, [rsp + 0xc0]
lea rcx, [rsp + 0xb0]
call fcn.140162f90
nop
mov rbx, qword [rsp + 0xc0]
test rbx, rbx
je 0x14014f08b
mov rdi, qword [rsp + 0xc8]
cmp rbx, rdi
je 0x14014f03b
mov rcx, rbx
call fcn.140054dd8
add rbx, 0x20
cmp rbx, rdi
jne 0x14014f022
mov rbx, qword [rsp + 0xc0]
mov rdx, qword [rsp + 0xd0]
sub rdx, rbx
and rdx, 0xffffffffffffffe0
mov rax, rbx
cmp rdx, 0x1000
jb 0x14014f06f
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14015067c
mov rcx, rbx
call fcn.140220ab4
xorps xmm0, xmm0
movdqu xmmword [rsp + 0xc0], xmm0
mov qword [rsp + 0xd0], r12
lea r9, [fcn.140046714]
mov r8, rsi
mov edx, 0x20
lea rcx, [rsp + 0x100]
call fcn.1402209a8
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 + 0x38], r12d
cmp byte [rsp + 0xb0], r12b
jne 0x14014f17d
mov dword [rsp + 0x20], r12d
mov dword [rsp + 0x20], 0xec7074bf
mov eax, 0x3909069d
sub eax, dword [0x1402b2058]
sub eax, dword [0x1402b2050]
xor eax, 0x432e258d
sub eax, dword [0x1402b2048]
mov rcx, qword [0x1402b2040]
add eax, 0x52c34e50
add eax, ecx
xor eax, 0x2ae1426f
add eax, 0x446e0773
xor eax, 0x56713aa6
lea edx, [rcx - 0x6d5aac91]
add edx, eax
not edx
mov eax, dword [0x1402b2038]
xor eax, 0xd8d656c2
sub edx, eax
mov ecx, dword [0x1402b2030]
xor ecx, 0x2729a93d
add ecx, 0x5703845c
add ecx, edx
xor ecx, 0x9d6abe3a
mov dword [rsp + 0x20], ecx
movsxd rbx, ecx
jmp 0x14015064d
movabs rax, 0x2a162e05eed58000
movabs r8, 0x48bb1766cd05dbf8
movabs r15, 0x43d96930bd12a3d5
mov r14, qword [0x1402b2060]
imul r14, rax
movabs rax, 0x8a9dcd3e6139b000
xor r14, rax
mov rcx, r14
imul rcx, r15
mov qword [rsp + 0x50], rcx
mov rax, r13
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r9, r14
and r9, r15
lea rdi, [0x1402b2060]
imul r9, qword [rdi + rcx*8]
movabs rax, 0xb168fe4ef29f4ee0
imul r9, rax
shr r9, 3
movabs rax, 0x58b93565671ecb39
xor r9, rax
movabs rax, 0xffffff57c78a62b7
mov rbx, r14
imul rbx, rax
add rbx, 0x33c7424
xor rbx, r9
xor rbx, qword [0x1402b2060]
mov rax, r9
imul rax, qword [0x1402b2070]
movabs rcx, 0xb9de928bce39dd96
imul rax, rcx
not rax
and rbx, rax
ror rbx, 0x32
shr rbx, 8
movabs r10, 0xbc2696cf42ed5c2b
lea rcx, [r14 + r10]
xor rcx, 0xfffffffff0b7d69b
mov rax, r13
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0x2697c6cf0a8fe968
mov rsi, qword [rdi + rcx*8]
imul rsi, rax
add rsi, r15
movabs rcx, 0x8eca858b817bb560
mov rax, r9
imul rax, rcx
xor rsi, rax
shr rsi, 0x1f
not rsi
mov rax, rsi
xor rax, r14
mov qword [rsp + 0x48], rax
lea rcx, [rsi + r10]
mov rax, r13
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, sil
movzx ecx, byte [rdi + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x87
and ecx, 0x8000003f
jge 0x14014f2ec
dec ecx
or ecx, 0xffffffc0
inc ecx
mov rax, qword [rsp + 0x48]
ror rax, cl
not rax
imul rax, r9
imul rdx, rax, 0x33c7424
mov qword [rsp + 0x30], rdx
lea r11, [rdx + r10]
mov r10, rsi
imul r10, rbx
sub r10, r11
xor r10, r8
movzx ecx, r11b
mov dword [rsp + 0x40], ecx
xor cl, 0xf8
and cl, 0xf
rol r10, cl
movabs rcx, 0x47e068d0edc78df4
imul rax, rcx
movabs rcx, 0x5df4edc0b3310c7
add rax, rcx
xor r10, rax
mov rax, r11
sub rax, qword [0x1402b2078]
xor r10, rax
xor r10, r9
xor r10, r14
mov rax, r10
and eax, 1
je 0x14014f68e
sub rax, 1
je 0x14014f56a
sub rax, 1
je 0x14014f47f
cmp rax, 1
jne 0x14014f733
mov rcx, r11
imul rcx, rsi
movabs rax, 0xd291f2c81443b6bd
add rax, r10
xor rcx, rax
ror rcx, 8
shr rcx, 0xc
xor rcx, r14
not rcx
mov qword [rsp + 0x48], rcx
movabs rdx, 0x83572cc8d394
mov r8, qword [0x1402b2088]
add r8, rdx
movabs rax, 0xbca413b7253eaf3d
xor r8, rax
mov eax, ecx
imul eax, r10d
and eax, 0x3f
mov ecx, 0x40
sub ecx, eax
mov rdx, r8
shl rdx, cl
mov ecx, eax
shr r8, cl
or rdx, r8
shl rdx, 0xf
movabs rax, 0xf7ca7db974283f6f
sub rax, rsi
mov rsi, rdx
xor rsi, rax
mov rcx, rsi
imul rcx, r15
mov eax, 0xa5f3ed85
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 [rdi + rcx*8]
and cl, 0xf
movabs r15, 0xd9c80c0129ae7022
mov r8, qword [rsp + 0x48]
sub r15, r8
shr r15, cl
movabs rax, 0xbc2ebb579a64f975
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 [rdi + rcx*8]
imul rax, r10
sub rax, rbx
xor r15, rax
jmp 0x14014f733
movabs rax, 0xaaaaaa1aa5ea10bb
mov rcx, r10
xor rcx, rax
movabs rax, 0x1206ed67e7ccf7
imul rcx, rax
movabs r11, 0xfff17ca8728826c7
mov rax, r9
xor rax, r11
sub rcx, rax
movabs rax, 0xffff7e8a83fa2267
imul rdx, rax
movabs rsi, 0xb45a5df5fab5edb4
add rsi, rcx
add rsi, rdx
movabs rax, 0x277cd7be773ac7db
mov rcx, rsi
xor rcx, rax
mov rax, r13
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r11, rsi
not r11
imul r11, qword [rdi + rcx*8]
xor r11, 0xfffffffff0bfc66b
lea ecx, [r10 - 7]
and cl, 0x3f
rol r11, cl
movabs rcx, 0x245a448080000000
mov rax, qword [rsp + 0x50]
xor rax, rcx
movabs rcx, 0x7c7a7dc699b8ccda
and rax, rcx
imul r11, rax
mov rcx, r11
ror rcx, 0x1e
not rcx
movabs rax, 0x9b2de6b2e35917f0
imul rcx, rax
mov rax, rsi
sub rax, r11
lea rdx, [rcx + rax*4]
mov cl, bl
and cl, 0x3f
ror rdx, cl
mov rax, r15
mov r15, rdx
imul r15, rax
jmp 0x14014f733
movabs rax, 0xe7d5ef7badbc6fc5
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, 0xbc2696cf42ed5c2a
mov rax, r14
imul rax, rdx
xor rax, r8
not rax
shl rax, cl
xor r9, rax
mov ecx, dword [rsp + 0x40]
and cl, 0x3f
rol r9, cl
movabs rcx, 0xbc2696cf42ed5c2b
add rcx, r10
mov rax, r13
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0xffffe930bd12a3d5
mov rax, qword [rdi + rcx*8]
imul rax, rdx
xor r9, rax
movabs rax, 0xffffc7a7f92e6696
or r9, rax
mov r15, qword [0x1402b2070]
imul r15, r8
sub r15, r11
mov rax, rbx
sub rax, r9
xor r15, rax
movabs rax, 0xc7a7c6a6a826669b
xor r15, rax
movabs rax, 0xcccccccccccccccd
mul r14
shr rdx, 3
lea rax, [rdx + rdx*4]
add rax, rax
mov rcx, r14
sub rcx, rax
or rcx, 1
xor edx, edx
mov rax, r15
div rcx
mov rcx, rdx
mov rdx, r10
imul rdx, r11
imul rdx, r15
shr rdx, cl
mov rax, rsi
sub rax, rdx
sub rax, r14
movabs r14, 0x789589467742a81
add r14, rax
xor r14, rbx
movzx eax, sil
imul ecx, eax, 0xfe
and cl, 0x3f
rol r14, cl
not r14
jmp 0x14014f733
mov rax, r13
mul r9
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rcx, r9
sub rcx, rax
mov rax, r10
imul rax, qword [0x1402b2080]
mov rdx, qword [rdi + rcx*8]
and rdx, rax
xor rdx, r9
and r9b, 0x3f
mov cl, r9b
mov r9, rdx
ror r9, cl
imul r9, r11
not rbx
imul rbx, rsi
movabs rax, 0x7cd8a7de75d7377a
imul rbx, rax
mov rax, r9
imul rax, r14
mov r14, rbx
xor r14, rax
imul rbx, qword [0x1402b2060], 0x33c7424
mov rdx, qword [0x1402b2068]
sub rbx, rdx
mov al, r14b
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x14014f71e
dec ecx
or ecx, 0xffffffc0
inc ecx
ror rbx, cl
movabs rax, 0xbc2696cf42ed5c2b
add rbx, rax
add rbx, qword [rsp + 0x30]
movabs rax, 0xff055d7b859c3db7
xor r8, rax
mov rax, r13
mul r8
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub r8, rax
xor r9, r14
imul r9, qword [rdi + r8*8]
not r11
imul r11, r10
imul r11, rbx
imul r11, r15
movabs rcx, 0xf5ed7e87822f776b
xor rcx, rsi
not rcx
xor rcx, r11
sub rcx, r9
call fcn.14012de40
mov qword [0x1402b3178], rax
movabs r15, 0xa6fbc8ccf1e47516
movabs r14, 0x75679b1976ff9251
mov rsi, r12
movabs rax, 0x9faba66f88539662
movabs r11, 0xf0a13ba4b6e44d49
mov r8, qword [0x1402b2070]
imul r8, rax
not r8
movabs rdx, 0xf5ec45b4c4b1595
mov rax, qword [0x1402b2060]
xor rax, rdx
and r8, rax
ror r8, 0x32
shr r8, 8
mov qword [rsp + 0x50], r8
movabs rax, 0x1cf2d4aa4158fe28
mov rbx, qword [0x1402b2060]
imul rbx, rax
add rbx, r14
movabs rax, 0xbd7f60b7ffffffff
xor rbx, rax
shr rbx, 0x1f
not rbx
movabs r9, 0x8a9864e689006daf
lea rcx, [rbx + r9]
mov rax, r13
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, bl
movzx ecx, byte [rdi + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x43
and ecx, 0x8000003f
jge 0x14014f857
dec ecx
or ecx, 0xffffffc0
inc ecx
mov rax, rbx
ror rax, cl
not rax
movabs rcx, 0x205f8cacc5aa82bc
mov rdx, rax
imul rdx, rcx
mov qword [rsp + 0x30], rdx
add r9, rdx
mov r10, rbx
imul r10, r8
sub r10, r9
xor r10, r15
movzx ecx, r9b
mov dword [rsp + 0x40], ecx
xor cl, 0xfc
and cl, 0xf
rol r10, cl
movabs rcx, 0x901e20dcaac6957c
imul rax, rcx
movabs rcx, 0x4868bc268301825f
add rax, rcx
xor r10, rax
mov rax, r9
sub rax, qword [0x1402b2078]
xor r10, rax
xor r10, r11
mov rax, r10
and eax, 1
je 0x14014fb8d
sub rax, 1
je 0x14014faa4
sub rax, 1
je 0x14014f9e0
cmp rax, 1
jne 0x14014fc0e
mov r15, r9
imul r15, rbx
movabs rax, 0x9a825be1c3b2f99d
add rax, r10
xor r15, rax
ror r15, 8
shr r15, 0xc
not r15
movabs rcx, 0x835727442358
mov r8, qword [0x1402b2088]
add r8, rcx
movabs rax, 0x8a1ae19ee55f6e7d
xor r8, rax
mov eax, r10d
imul eax, r15d
and eax, 0x3f
mov ecx, 0x40
sub ecx, eax
mov rdx, r8
shl rdx, cl
mov ecx, eax
shr r8, cl
or rdx, r8
shl rdx, 0xf
movabs rax, 0xf7ca7db97fa4cfab
sub rax, rbx
mov rbx, rdx
xor rbx, rax
mov rcx, rbx
imul rcx, r14
mov eax, 0xae7f1d41
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 [rdi + rcx*8]
and cl, 0xf
movabs r14, 0x74fcc44fd3d78f3e
sub r14, r15
shr r14, cl
movabs rcx, 0x8aa0896ee5fbdb3d
add rcx, qword [rsp + 0x30]
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 [rdi + rcx*8]
imul rax, r10
mov r8, qword [rsp + 0x50]
sub rax, r8
xor r14, rax
jmp 0x14014fc0e
movabs rcx, 0xaaaaaa1aae66e07f
mov rbx, r10
xor rbx, rcx
movabs rcx, 0x1206ed6c6b3c33
imul rbx, rcx
movabs rcx, 0xffff7e8a8876d2a3
imul rdx, rcx
movabs rcx, 0xd0103576d47f9bc6
add rbx, rcx
add rbx, rdx
movabs rax, 0x277cd7be7cb6371f
mov rcx, rbx
xor rcx, rax
mov rax, r13
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r9, rbx
not r9
imul r9, qword [rdi + rcx*8]
xor r9, 0xfffffffffb3336af
lea ecx, [r10 - 3]
and cl, 0x3f
rol r9, cl
movabs rax, 0x6042714400000000
imul r9, rax
mov rcx, r9
ror rcx, 0x34
not rcx
movabs rax, 0x9b2de6b2cd6ad4e0
imul rcx, rax
mov rax, rbx
sub rax, r9
lea rdx, [rcx + rax*4]
mov cl, r8b
and cl, 0x3f
ror rdx, cl
mov rax, r14
mov r14, rdx
imul r14, rax
jmp 0x14014fc0e
movabs rax, 0xc0d2079e645dadc7
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, 0x590437330e1b8ae9
shl rdx, cl
mov rax, r11
mov r11, rdx
xor r11, rax
mov ecx, dword [rsp + 0x40]
and cl, 0x3f
rol r11, cl
movabs rcx, 0x8a9864e689006daf
add rcx, r10
mov rax, r13
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0x1b1976ff9251
mov rax, qword [rdi + rcx*8]
imul rax, rdx
xor r11, rax
movabs rax, 0xffffc7a7f2a29652
or r11, rax
mov r14, qword [0x1402b2070]
imul r14, r15
sub r14, r9
mov rax, r8
sub rax, r11
xor r14, rax
movabs rax, 0xc7a7c6a6a3aa965f
xor r14, rax
mov rax, r10
imul rax, r9
imul rax, r14
mov rsi, rbx
sub rsi, rax
movabs rax, 0x78958946cf8da45
add rsi, rax
xor rsi, r8
movzx eax, bl
imul ecx, eax, 0xfa
and cl, 0x3f
rol rsi, cl
not rsi
jmp 0x14014fc0e
mov rcx, r10
imul rcx, qword [0x1402b2080]
and rcx, qword [0x1402b2088]
mov rax, r11
mov r11, rcx
xor r11, rax
ror r11, 9
imul r11, r9
mov rsi, r8
not rsi
imul rsi, rbx
movabs rax, 0x7cd8a7de7e5bc7be
imul rsi, rax
imul r8, qword [0x1402b2060], 0xfffffffffaaf58dc
mov rdx, qword [0x1402b2068]
sub r8, rdx
mov al, sil
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x14014fbf9
dec ecx
or ecx, 0xffffffc0
inc ecx
ror r8, cl
movabs rax, 0x8a9864e689006daf
add r8, rax
add r8, qword [rsp + 0x30]
movabs rax, 0xff055d7b8e10cd73
xor r15, rax
mov rax, r13
mul r15
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub r15, rax
xor r11, rsi
imul r11, qword [rdi + r15*8]
not r9
imul r9, r10
imul r9, r8
imul r9, r14
movabs rcx, 0xf5ed7e8789a387af
xor rcx, rbx
not rcx
xor rcx, r9
sub rcx, r11
call fcn.14012e158
mov qword [0x1402b3140], rax
mov dword [rsp + 0x3c], r12d
mov dword [rsp + 0x3c], 0x31467897
mov eax, 0xaeffe82e
sub eax, dword [0x1402b2058]
sub eax, dword [0x1402b2050]
xor eax, 0x61e18051
sub eax, dword [0x1402b2048]
mov rcx, qword [0x1402b2040]
add eax, 0xfbcba2b3
add eax, ecx
xor eax, 0x4d5beb53
add eax, 0x3e94831f
xor eax, 0xed8f64fa
lea edx, [rcx - 0x4ff3d4a8]
add edx, eax
not edx
mov eax, dword [0x1402b2038]
xor eax, 0xd85d6cfe
sub edx, eax
mov ecx, dword [0x1402b2030]
xor ecx, 0x27a29301
add ecx, 0xdda2de98
add ecx, edx
xor ecx, 0x28af46fe
mov dword [rsp + 0x3c], ecx
cmp dword [0x1402b2090], ecx
setne al
mov dword [rsp + 0x3c], r12d
test al, al
je 0x14014fd80
mov dword [rsp + 0x20], r12d
mov dword [rsp + 0x20], 0xa7dc57e1
mov eax, 0x7c8862a6
sub eax, dword [0x1402b2058]
sub eax, dword [0x1402b2050]
xor eax, 0xa8b09cac
sub eax, dword [0x1402b2048]
mov rdx, qword [0x1402b2040]
lea ecx, [rdx + 0x41d1ad87]
add ecx, eax
xor ecx, 0x1eda2e9e
sub ecx, 0x17ed005
xor ecx, 0xd42eac82
mov r8d, dword [0x1402b2030]
xor r8d, 0x18f877df
sub r8d, ecx
mov eax, dword [0x1402b2038]
xor eax, 0xe7078820
sub r8d, eax
sub r8d, edx
sub r8d, 0x908be08
xor r8d, 0x9ed673e0
mov dword [rsp + 0x20], r8d
movsxd rbx, r8d
jmp 0x14015064d
mov byte [rsp + 0x24], 4
mov byte [rsp + 0x25], 0x13
mov byte [rsp + 0x26], 0x98
mov byte [rsp + 0x27], 0xfe
mov byte [rsp + 0x28], 0x22
mov byte [rsp + 0x29], 0x42
mov r15, r12
mov qword [rsp + 0xf0], r12
mov r13, qword [0x1402b2040]
cmp r15, 6
jae 0x14014ff30
xor edx, edx
mov rax, r15
movabs rcx, 0x13cce94adbe8f3f8
div rcx
add dl, 0x37
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 [0x1402b2050]
sub dl, byte [0x1402b2058]
sub dl, 0x3f
add dl, r11b
add dl, r14b
lea eax, [r11 + 7]
add al, r14b
xor dl, al
sub dl, byte [0x1402b2048]
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 [0x1402b2038]
sub dil, al
mov al, r14b
xor al, 0x40
sub dil, al
mov al, r14b
xor al, byte [0x1402b2030]
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 0x14014fdb0
lea rdi, [rsp + 0x24]
mov qword [rsp + 0x170], rdi
mov qword [rsp + 0x178], 6
lea rdx, [rsp + 0x24]
lea rcx, [rsp + 0xb0]
call fcn.14012a53c
mov qword [rsp + 0x140], rax
mov qword [rsp + 0xd8], r12
lea rdx, [rsp + 0xd8]
mov rcx, rax
call fcn.140130554
mov rbx, qword [rsp + 0xd8]
mov qword [rsp + 0x148], rbx
mov rax, r12
mov qword [rsp + 0xf8], rax
cmp rax, 6
jae 0x14014ffa5
mov byte [rdi + rax], r12b
inc rax
jmp 0x14014ff8e
mov dl, byte [rsp + 0xb0]
lea rcx, [rsp + 0xb8]
call fcn.14013baec
mov rax, rbx
jmp 0x140150669
mov dword [rsp + 0x20], r12d
mov dl, byte [rsp + 0xb0]
lea rcx, [rsp + 0xb8]
call fcn.14013baec
mov rax, rbx
add rsp, 0x180
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
call fcn.140227a2c
nop
int3