Function at 0x140114d74
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 [0x140278070]
imul r15, rax
not r15
movabs rdx, 0x6fa52772b7a8f11e
mov rax, qword [0x140278060]
xor rax, rdx
and r15, rax
ror r15, 0x36
shr r15, 8
movabs rax, 0x4947033ef2cc378
mov r10, qword [0x140278070]
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, [0x140278060]
movzx eax, r10b
movzx ecx, byte [r14 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x9b
and ecx, 0x8000003f
jge 0x140114e6d
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 0x140114eb6
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 [0x140278078]
xor r9, rax
xor r9, r11
mov rax, r9
and eax, 1
je 0x1401151d7
sub rax, 1
je 0x1401150d4
sub rax, 1
je 0x140115010
cmp rax, 1
jne 0x14011525b
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 [0x140278088]
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 0x14011525b
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 0x14011525b
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 0x140115127
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 [0x140278070]
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 0x14011525b
mov rcx, r9
imul rcx, qword [0x140278080]
and rcx, qword [0x140278060]
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 [0x140278060], 0xfffffffff2881344
mov rdx, qword [0x140278068]
sub r8, rdx
mov al, dil
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x140115243
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.1400f4928
mov qword [0x140279188], rax
mov dword [rsp + 0x38], r12d
mov dword [rsp + 0x38], 0x988b0d3f
mov eax, 0x157eaa2d
sub eax, dword [0x140278058]
sub eax, dword [0x140278050]
xor eax, 0x96b9dbb2
sub eax, dword [0x140278048]
mov rdx, qword [0x140278040]
lea ecx, [rdx + 0x561e0924]
add ecx, eax
xor ecx, 0x49b15dc4
add ecx, 0x6c6ed95d
xor ecx, 0xcf75a07f
mov r8d, dword [0x140278030]
xor r8d, 0x209235e3
sub r8d, ecx
mov eax, dword [0x140278038]
xor eax, 0xdf6dca1c
sub r8d, eax
sub r8d, edx
add r8d, 0x7c7d1371
xor r8d, 0x9d2a02d4
mov dword [rsp + 0x38], r8d
movsxd rax, r8d
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x1d8], r12d
mov dword [rsp + 0x1d8], 0x3b7f041f
mov eax, 0x5bf8308f
sub eax, dword [0x140278058]
sub eax, dword [0x140278050]
xor eax, 0xd76ece9c
sub eax, dword [0x140278048]
mov r13, qword [0x140278040]
add eax, 0x6c99ba1d
add eax, r13d
xor eax, 0x925d13fe
add eax, 0x5c7e5fa3
xor eax, 0xc352ab70
mov ecx, dword [0x140278030]
xor ecx, 0x21910e4d
sub ecx, eax
mov eax, dword [0x140278038]
xor eax, 0xde6ef1b2
sub ecx, eax
sub ecx, r13d
sub ecx, 0x41504ec1
xor ecx, 0xd0686e8a
mov dword [rsp + 0x1d8], ecx
movsxd rax, ecx
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x58], 0x86c27047
mov dword [rsp + 0x5c], 0xcca829b3
mov dword [rsp + 0x60], 0xf43c3b7c
mov dword [rsp + 0x64], 0x124e9544
mov dword [rsp + 0x68], 0xedd66af1
mov dword [rsp + 0x6c], 0x522a58a0
mov dword [rsp + 0x70], 0x4f3c0873
mov dword [rsp + 0x74], 0xdf9d1e4d
mov dword [rsp + 0x78], 0x9e8fbbf5
mov qword [rsp + 0x30], r12
movabs rcx, 0x13cce94adbbf6644
xor edx, edx
mov rax, r12
div rcx
lea r15d, [rdx + 0x34]
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 [0x140278058]
sub r10w, word [0x140278050]
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 [0x140278048]
sub r10w, 0x50
add r10w, r11w
add r10w, si
add r10w, r13w
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 [0x140278038]
sub dx, ax
movzx eax, r14w
xor ax, word [0x140278030]
add dx, ax
sub dx, di
sub dx, si
sub dx, r13w
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, 0x13cce94adbbf6644
jb 0x140115421
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 0x14011561b
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x100]
call fcn.14001ad70
nop
mov dword [rsp + 0x7c], 0x86c67228
mov dword [rsp + 0x80], 0xcc9829e7
mov dword [rsp + 0x84], 0xf46f3b74
mov dword [rsp + 0x88], 0x1237956b
mov dword [rsp + 0x8c], 0xedc14308
mov dword [rsp + 0x90], 0x377f5899
mov dword [rsp + 0x94], 0x4f56090c
mov dword [rsp + 0x98], 0xe10020cc
mov dword [rsp + 0x9c], 0xa4ebbc0f
mov dword [rsp + 0xa0], 0x2e66f029
mov dword [rsp + 0xa4], 0x2a5ecd82
mov eax, 0x1b49
mov word [rsp + 0xa8], ax
mov r13, r12
mov r12d, 0x6afe
xor edx, edx
mov rax, r13
movabs rcx, 0x13cce94adbbf6644
div rcx
lea r14d, [rdx + 0x34]
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 [0x140278058]
sub r10w, word [0x140278050]
add r10w, r15w
add r10w, di
sub r10w, cx
mov eax, 0x6fc1
add r10w, ax
lea eax, [rsi + r15]
mov ecx, 0x2d07
add ax, cx
xor r10w, ax
sub r10w, r15w
sub r10w, word [0x140278048]
sub r10w, dx
sub r10w, r9w
mov rcx, qword [0x140278040]
sub r10w, 0x50
add r10w, cx
add r10w, r11w
add r10w, si
movzx eax, r15w
sub ax, r9w
add ax, r8w
add ax, si
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 [0x140278030]
sub dx, r10w
movzx eax, word [0x140278038]
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, cx
sub dx, r14w
sub dx, di
sub dx, si
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 0x1401156c4
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 0x1401158cb
mov r8, rax
lea rdx, [rsp + 0x7c]
lea rcx, [rsp + 0x120]
call fcn.14001ad70
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.14001af60
nop
mov r9, qword [rsp + 0x40]
mov r8, qword [rsp + 0x48]
lea rdx, [rsp + 0xc0]
lea rcx, [rsp + 0xb0]
call fcn.1401298c4
nop
mov rbx, qword [rsp + 0xc0]
test rbx, rbx
je 0x1401159e7
mov rdi, qword [rsp + 0xc8]
cmp rbx, rdi
je 0x140115997
mov rcx, rbx
call fcn.14002a184
add rbx, 0x20
cmp rbx, rdi
jne 0x14011597e
mov rbx, qword [rsp + 0xc0]
mov rdx, qword [rsp + 0xd0]
sub rdx, rbx
and rdx, 0xffffffffffffffe0
mov rax, rbx
cmp rdx, 0x1000
jb 0x1401159cb
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140116fd8
mov rcx, rbx
call fcn.1401e73d4
xorps xmm0, xmm0
movdqu xmmword [rsp + 0xc0], xmm0
mov qword [rsp + 0xd0], r12
lea r9, [fcn.14001bab8]
mov r8, rsi
mov edx, 0x20
lea rcx, [rsp + 0x100]
call fcn.1401e72c8
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 0x140115ad9
mov dword [rsp + 0x20], r12d
mov dword [rsp + 0x20], 0x4169afed
mov eax, 0x660c67ff
sub eax, dword [0x140278058]
sub eax, dword [0x140278050]
xor eax, 0x58a78bd9
sub eax, dword [0x140278048]
mov rcx, qword [0x140278040]
add eax, 0xef76caba
add eax, ecx
xor eax, 0x42ff431b
add eax, 0x44f29e17
xor eax, 0xf9044d4d
lea edx, [rcx - 0x58c9db56]
add edx, eax
not edx
mov eax, dword [0x140278038]
xor eax, 0xd881c376
sub edx, eax
mov ecx, dword [0x140278030]
xor ecx, 0x277e3c89
add ecx, 0x1dbed10
add ecx, edx
xor ecx, 0x75554226
mov dword [rsp + 0x20], ecx
movsxd rbx, ecx
jmp 0x140116fa9
movabs rax, 0x2a162e05eed58000
movabs r8, 0x48bb1766cd05dbf8
movabs r15, 0x43d96930bd12a3d5
mov r14, qword [0x140278060]
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, [0x140278060]
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 [0x140278060]
mov rax, r9
imul rax, qword [0x140278070]
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 0x140115c48
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 [0x140278078]
xor r10, rax
xor r10, r9
xor r10, r14
mov rax, r10
and eax, 1
je 0x140115fea
sub rax, 1
je 0x140115ec6
sub rax, 1
je 0x140115ddb
cmp rax, 1
jne 0x14011608f
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 [0x140278088]
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 0x14011608f
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 0x14011608f
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 [0x140278070]
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 0x14011608f
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 [0x140278080]
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 [0x140278060], 0x33c7424
mov rdx, qword [0x140278068]
sub rbx, rdx
mov al, r14b
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x14011607a
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.1400f479c
mov qword [0x140279178], rax
movabs r15, 0xa6fbc8ccf1e47516
movabs r14, 0x75679b1976ff9251
mov rsi, r12
movabs rax, 0x9faba66f88539662
movabs r11, 0xf0a13ba4b6e44d49
mov r8, qword [0x140278070]
imul r8, rax
not r8
movabs rdx, 0xf5ec45b4c4b1595
mov rax, qword [0x140278060]
xor rax, rdx
and r8, rax
ror r8, 0x32
shr r8, 8
mov qword [rsp + 0x50], r8
movabs rax, 0x1cf2d4aa4158fe28
mov rbx, qword [0x140278060]
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 0x1401161b3
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 [0x140278078]
xor r10, rax
xor r10, r11
mov rax, r10
and eax, 1
je 0x1401164e9
sub rax, 1
je 0x140116400
sub rax, 1
je 0x14011633c
cmp rax, 1
jne 0x14011656a
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 [0x140278088]
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 0x14011656a
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 0x14011656a
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 [0x140278070]
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 0x14011656a
mov rcx, r10
imul rcx, qword [0x140278080]
and rcx, qword [0x140278088]
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 [0x140278060], 0xfffffffffaaf58dc
mov rdx, qword [0x140278068]
sub r8, rdx
mov al, sil
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x140116555
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.1400f4ab4
mov qword [0x140279140], rax
mov dword [rsp + 0x3c], r12d
mov dword [rsp + 0x3c], 0x56478a45
mov eax, 0xb0a20802
sub eax, dword [0x140278058]
sub eax, dword [0x140278050]
xor eax, 0x76d0e105
sub eax, dword [0x140278048]
mov rcx, qword [0x140278040]
add eax, 0x97c6a669
add eax, ecx
xor eax, 0x64dee9a7
add eax, 0x3022d46b
xor eax, 0x5fde8061
lea edx, [rcx - 0x3be73223]
add edx, eax
not edx
mov eax, dword [0x140278038]
xor eax, 0xd80af94a
sub edx, eax
mov ecx, dword [0x140278030]
xor ecx, 0x27f506b5
add ecx, 0xaadcf6e4
add ecx, edx
xor ecx, 0xdb6bfd52
mov dword [rsp + 0x3c], ecx
cmp dword [0x140278090], ecx
setne al
mov dword [rsp + 0x3c], r12d
test al, al
je 0x1401166dc
mov dword [rsp + 0x20], r12d
mov dword [rsp + 0x20], 0x6af1fef5
mov eax, 0x769302b2
sub eax, dword [0x140278058]
sub eax, dword [0x140278050]
xor eax, 0x9642aa38
sub eax, dword [0x140278048]
mov rdx, qword [0x140278040]
lea ecx, [rdx - 0x56d00a37]
add ecx, eax
xor ecx, 0xa27908a
add ecx, 0x3b57d67
xor ecx, 0xe31b6cd7
mov r8d, dword [0x140278030]
xor r8d, 0x18afe26b
sub r8d, ecx
mov eax, dword [0x140278038]
xor eax, 0xe7501d94
sub r8d, eax
sub r8d, edx
add r8d, 0x51bb62e1
xor r8d, 0x80c504dc
mov dword [rsp + 0x20], r8d
movsxd rbx, r8d
jmp 0x140116fa9
mov byte [rsp + 0x24], 0xc2
mov byte [rsp + 0x25], 0x56
mov byte [rsp + 0x26], 0xb2
mov byte [rsp + 0x27], 0x73
mov byte [rsp + 0x28], 0x10
mov byte [rsp + 0x29], 0xcb
mov r15, r12
mov qword [rsp + 0xf0], r12
mov r13, qword [0x140278040]
cmp r15, 6
jae 0x14011688c
xor edx, edx
mov rax, r15
movabs rcx, 0x13cce94adbbf6644
div rcx
add dl, 0x34
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 [0x140278050]
sub dl, byte [0x140278058]
sub dl, 0x3f
add dl, r11b
add dl, r14b
lea eax, [r11 + 7]
add al, r14b
xor dl, al
sub dl, byte [0x140278048]
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 [0x140278038]
sub dil, al
mov al, r14b
xor al, 0x40
sub dil, al
mov al, r14b
xor al, byte [0x140278030]
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 0x14011670c
lea rdi, [rsp + 0x24]
mov qword [rsp + 0x170], rdi
mov qword [rsp + 0x178], 6
lea rdx, [rsp + 0x24]
lea rcx, [rsp + 0xb0]
call fcn.1400f0e98
mov qword [rsp + 0x140], rax
mov qword [rsp + 0xd8], r12
lea rdx, [rsp + 0xd8]
mov rcx, rax
call fcn.1400f6eb0
mov rbx, qword [rsp + 0xd8]
mov qword [rsp + 0x148], rbx
mov rax, r12
mov qword [rsp + 0xf8], rax
cmp rax, 6
jae 0x140116901
mov byte [rdi + rax], r12b
inc rax
jmp 0x1401168ea
mov dl, byte [rsp + 0xb0]
lea rcx, [rsp + 0xb8]
call fcn.140102448
mov rax, rbx
jmp 0x140116fc5
mov dword [rsp + 0x20], r12d
mov dl, byte [rsp + 0xb0]
lea rcx, [rsp + 0xb8]
call fcn.140102448
mov rax, rbx
add rsp, 0x180
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
call fcn.1401ee348
nop
int3