Function at 0x1401780d8
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x58]
sub rsp, 0x158
movabs rdi, 0x81b3052f36589f87
movabs r15, 0x96f544f69e2e821a
xor r12d, r12d
mov ebx, r12d
movabs rax, 0x8ebce3c243466cbc
movabs r10, 0x6211a71d8f27e5c6
mov rsi, qword [0x14031d070]
imul rsi, rax
not rsi
movabs rdx, 0x9dee58e2774fe4de
mov rax, qword [0x14031d060]
xor rax, rdx
and rsi, rax
ror rsi, 0x3c
shr rsi, 8
movabs rax, 0x2793765edcbdc9d0
mov r9, qword [0x14031d070]
imul r9, rax
movabs r8, 0x7e4cfad0c9a76079
sub r9, r8
movabs rax, 0xfea1e0e1ffffffff
xor r9, rax
shr r9, 0x1f
not r9
lea rcx, [r9 + r8]
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
lea rdx, [0x14031d060]
movzx eax, r9b
movzx ecx, byte [rdx + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x9b
mov edx, 0x8000003f
and ecx, edx
jge 0x1401781cc
dec ecx
or ecx, 0xffffffc0
inc ecx
mov rax, r9
ror rax, cl
not rax
movabs rcx, 0x3ad7b15bbc135090
mov r13, rax
imul r13, rcx
lea r11, [r8 + r13]
mov r8, r9
imul r8, rsi
sub r8, r11
xor r8, r15
movzx r14d, r11b
mov ecx, r14d
xor ecx, 4
and ecx, 0xf
and ecx, edx
jge 0x14017820f
dec ecx
or ecx, 0xffffffc0
inc ecx
rol r8, cl
movabs rcx, 0x1ce9d5423eb8ebf0
imul rax, rcx
movabs rcx, 0x64e6a472fbc706cf
add rax, rcx
xor r8, rax
mov rax, r11
sub rax, qword [0x14031d078]
xor r8, rax
xor r8, r10
mov rax, r8
movabs rcx, 0xd79435e50d79435f
and eax, 3
je 0x140178536
sub rax, 1
je 0x140178433
sub rax, 1
movabs r14, 0xaaaaaaaaaaaaaaab
je 0x140178368
cmp rax, 1
jne 0x1401785be
mov r15, r11
imul r15, r9
movabs rax, 0xa1a1c70d2014e1d3
add rax, r8
xor r15, rax
ror r15, 4
shr r15, 0xc
not r15
movabs rcx, 0x83573d0e1690
mov rdx, qword [0x14031d088]
add rdx, rcx
movabs rax, 0x7ece7fa8bfb25673
xor rdx, rax
movzx eax, r8b
movzx ecx, r15b
imul ecx, eax
and cl, 0x3f
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db965eefa73
sub rax, r9
mov r9, rdx
xor r9, rax
mov rcx, r9
imul rcx, rdi
mov eax, 0xb4352899
add rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
lea rax, [0x14031d060]
mov cl, byte [rax + rcx*8]
and cl, 0xf
movabs rdi, 0x31892249ac544950
sub rdi, r15
shr rdi, cl
movabs rcx, 0x7e551f591058b8cf
add rcx, r13
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r8
lea rdx, [0x14031d060]
imul rax, qword [rdx + rcx*8]
imul rax, r8
sub rax, rsi
xor rdi, rax
jmp 0x1401785be
movabs rcx, 0xaaaaaa1ab42cd5a7
mov r9, r8
xor r9, rcx
movabs rcx, 0x1206ed762109eb
imul r9, rcx
movabs rcx, 0xffff7e8a923ce77b
imul r13, rcx
movabs rcx, 0x189ad2952fa86a81
add r9, rcx
add r9, r13
movabs rax, 0x277cd7be66fc02c7
mov rcx, r9
xor rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r11, r9
not r11
lea rax, [0x14031d060]
imul r11, qword [rax + rcx*8]
xor r11, 0xffffffffe1790377
lea ecx, [r8 - 0x1b]
and cl, 0x3f
rol r11, cl
movabs rax, 0x2c3a2d8480000000
imul r11, rax
mov rcx, r11
ror rcx, 0x20
not rcx
movabs rax, 0x9b2de6b2a4420380
imul rcx, rax
mov rax, r9
sub rax, r11
lea rdx, [rcx + rax*4]
mov cl, sil
and cl, 0x3f
ror rdx, cl
mov rax, rdi
mov rdi, rdx
imul rdi, rax
jmp 0x1401785be
movabs rax, 0xf9edb99430535265
imul r8, rax
mov rax, rcx
mul r8
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r8b
sub cl, dl
movabs rdx, 0x690abb0961d17de5
shl rdx, cl
mov rax, r10
mov r10, rdx
xor r10, rax
and r14d, 0x8000003f
jge 0x14017847f
dec r14d
or r14d, 0xffffffc0
inc r14d
mov cl, r14b
rol r10, cl
movabs rcx, 0x7e4cfad0c9a76079
add rcx, r8
movabs r14, 0xaaaaaaaaaaaaaaab
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0x52f36589f87
lea rax, [0x14031d060]
mov rax, qword [rax + rcx*8]
imul rax, rdx
xor r10, rax
movabs rax, 0xffffc7a7e8e8a38a
or r10, rax
mov rdi, qword [0x14031d070]
imul rdi, r15
sub rdi, r11
mov rax, rsi
sub rax, r10
xor rdi, rax
movabs rax, 0xc7a7c6a6b9e0a387
xor rdi, rax
mov rax, r8
imul rax, r11
imul rax, rdi
mov rbx, r9
sub rbx, rax
movabs rax, 0x789589476b2ef9d
add rbx, rax
xor rbx, rsi
movzx eax, r9b
imul ecx, eax, 0xe2
and cl, 0x3f
rol rbx, cl
not rbx
jmp 0x1401785be
mov rcx, r8
imul rcx, qword [0x14031d080]
and rcx, qword [0x14031d070]
mov rax, r10
mov r10, rcx
xor r10, rax
ror r10, 6
imul r10, r11
mov rbx, rsi
not rbx
imul rbx, r9
movabs rax, 0x7cd8a7de6411f266
imul rbx, rax
imul rsi, qword [0x14031d060], 0xfffffffff8680118
mov rdx, qword [0x14031d068]
sub rsi, rdx
mov al, bl
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x1401785a1
dec ecx
or ecx, 0xffffffc0
inc ecx
ror rsi, cl
movabs rax, 0x7e4cfad0c9a76079
add rsi, rax
add rsi, r13
movabs r14, 0xaaaaaaaaaaaaaaab
movabs rax, 0xff055d7b945af8ab
xor r15, rax
mov rax, r14
mul r15
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub r15, rax
xor r10, rbx
lea rax, [0x14031d060]
imul r10, qword [rax + r15*8]
not r11
imul r11, r8
imul r11, rsi
imul r11, rdi
movabs rcx, 0xf5ed7e8793e9b277
xor rcx, r9
not rcx
xor rcx, r11
sub rcx, r10
call fcn.14015de40
mov qword [0x140321f38], rax
movabs rdi, 0x64ccb6f18e8a18c3
movabs rbx, 0xaa65fd4c5c7d755b
movabs rax, 0x93af39eec5100000
mov r11, qword [0x14031d068]
imul r11, rax
movabs rax, 0x9dcdb0d53a300000
xor r11, rax
mov rcx, r11
imul rcx, rbx
mov qword [rsp + 0x20], rcx
movabs r8, 0xaaaaaaaaaaaaaaab
mov rax, r8
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r9, r11
and r9, rbx
lea r10, [0x14031d060]
imul r9, qword [r10 + rcx*8]
movabs rax, 0xd07c50b681c69858
imul r9, rax
shr r9, 3
movabs rax, 0x363cfa868ca4c1d2
xor r9, rax
movabs rax, 0xffffff57cf61228f
mov rsi, r11
imul rsi, rax
sub rsi, 0x3da43f38
xor rsi, r9
xor rsi, qword [0x14031d060]
mov rax, r9
imul rax, qword [0x14031d070]
movabs rcx, 0xb9de928bc6d29dae
imul rax, rcx
not rax
and rsi, rax
ror rsi, 4
shr rsi, 8
movabs r15, 0x559a02b3a3828aa5
lea rcx, [r11 + r15]
xor rcx, 0xfffffffff85c96a3
mov rax, r8
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0xe53dcc55d93fbe90
mov r14, qword [r10 + rcx*8]
imul r14, rax
sub r14, r15
movabs rcx, 0x57d2e4ebce7bb144
mov rax, r9
imul rax, rcx
xor r14, rax
shr r14, 0x1f
not r14
mov r13, r14
xor r13, r11
lea rcx, [r14 + r15]
mov rax, r8
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r14b
movzx ecx, byte [r10 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0xbf
mov eax, 0x8000003f
and ecx, eax
jge 0x140178795
dec ecx
or ecx, 0xffffffc0
inc ecx
ror r13, cl
not r13
imul r13, r9
imul rdx, r13, 0xffffffffc25bc0c8
mov qword [rsp + 0x28], rdx
lea r10, [rdx + r15]
mov r8, r14
imul r8, rsi
sub r8, r10
xor r8, rdi
movzx r15d, r10b
mov ecx, r15d
and ecx, 0xf
and ecx, eax
jge 0x1401787d1
dec ecx
or ecx, 0xffffffc0
inc ecx
rol r8, cl
movabs rax, 0x2965a7330760ef18
imul r13, rax
movabs rax, 0x7babf5dd38aa4e59
sub r13, rax
xor r8, r13
mov rax, r10
sub rax, qword [0x14031d078]
xor r8, rax
xor r8, r9
xor r8, r11
mov rax, r8
movabs r13, 0xcccccccccccccccd
and eax, 3
je 0x140178b66
sub rax, 1
je 0x140178a2b
sub rax, 1
je 0x140178931
cmp rax, 1
jne 0x140178c1a
mov rdi, r10
imul rdi, r14
movabs rax, 0x7af7bdd017bb1e2b
add rax, r8
xor rdi, rax
ror rdi, 0x3c
shr rdi, 0xc
xor rdi, r11
not rdi
movabs rcx, 0x8357242393ac
mov rdx, qword [0x14031d088]
add rdx, rcx
movabs rax, 0x551887cbccba398b
xor rdx, rax
movzx eax, dil
movzx ecx, r8b
imul ecx, eax
and cl, 0x3f
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db97cc37f57
sub rax, r14
mov r14, rdx
xor r14, rax
mov rcx, r14
imul rcx, rbx
mov eax, 0xad18adbd
add rcx, rax
movabs r15, 0xaaaaaaaaaaaaaaab
mov rax, r15
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
lea r13, [0x14031d060]
mov cl, byte [r13 + rcx*8]
and cl, 0xf
movabs rbx, 0x8bb874b6405a921c
sub rbx, rdi
shr rbx, cl
movabs rax, 0x55a2273c031f6817
mov rcx, qword [rsp + 0x28]
add rcx, rax
mov rax, r15
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r8
imul rax, qword [r13 + rcx*8]
imul rax, r8
sub rax, rsi
xor rbx, rax
jmp 0x140178c1a
movabs rax, 0xaaaaaa1aad015083
mov rcx, r8
xor rcx, rax
movabs rax, 0x1206ed6f0c8ccf
imul rcx, rax
movabs r10, 0xfff17ca87a6366ff
mov rax, r9
xor rax, r10
sub rcx, rax
movabs rax, 0xffff7e8a8b11625f
imul rdx, rax
movabs r14, 0x4adbf3b0fd8aff9a
add r14, rcx
add r14, rdx
movabs rax, 0x277cd7be7fd187e3
mov rcx, r14
xor rcx, rax
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r10, r14
not r10
lea rax, [0x14031d060]
imul r10, qword [rax + rcx*8]
xor r10, 0xfffffffff8548653
lea ecx, [r8 + 1]
and cl, 0x3f
rol r10, cl
movabs rcx, 0xcfafbeffeeac731d
mov rax, qword [rsp + 0x20]
xor rax, rcx
movabs rcx, 0x7c7a7dc691538ce2
and rax, rcx
imul r10, rax
mov rcx, r10
ror rcx, 0x1d
not rcx
movabs rax, 0x9b2de6b2c0f41710
imul rcx, rax
mov rax, r14
sub rax, r10
lea rdx, [rcx + rax*4]
mov cl, sil
and cl, 0x3f
ror rdx, cl
mov rax, rbx
mov rbx, rdx
imul rbx, rax
jmp 0x140178c1a
movabs rax, 0x3034dc356cae8653
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, 0x559a02b3a3828aa4
mov rax, r11
imul rax, rdx
xor rax, rdi
not rax
shl rax, cl
xor r9, rax
and r15d, 0x8000003f
jge 0x140178a85
dec r15d
or r15d, 0xffffffc0
inc r15d
mov cl, r15b
rol r9, cl
movabs rcx, 0x559a02b3a3828aa5
add rcx, r8
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0xfffffd4c5c7d755b
lea rax, [0x14031d060]
mov rax, qword [rax + rcx*8]
imul rax, rdx
xor r9, rax
movabs rax, 0xffffc7a7f1c526ae
or r9, rax
mov rbx, qword [0x14031d070]
imul rbx, rdi
sub rbx, r10
mov rax, rsi
sub rax, r9
xor rbx, rax
movabs rax, 0xc7a7c6a6a0cd26a3
xor rbx, rax
mov rax, r13
mul r11
shr rdx, 3
lea rax, [rdx + rdx*4]
add rax, rax
mov rcx, r11
sub rcx, rax
or rcx, 1
xor edx, edx
mov rax, rbx
div rcx
mov rcx, rdx
mov rdx, r8
imul rdx, r10
imul rdx, rbx
shr rdx, cl
mov rax, r14
sub rax, rdx
sub rax, r11
movabs r11, 0x78958946f9f6ab9
add r11, rax
xor r11, rsi
mov al, r14b
add al, al
lea ecx, [rax + r14]
add cl, cl
and cl, 0x3f
rol r11, cl
not r11
jmp 0x140178c1a
movabs rax, 0xaaaaaaaaaaaaaaab
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]
lea rdx, [0x14031d060]
mov rdx, qword [rdx + rcx*8]
and rdx, rax
xor rdx, r9
and r9b, 0x3f
mov cl, r9b
mov r9, rdx
ror r9, cl
imul r9, r10
not rsi
imul rsi, r14
movabs rax, 0x7cd8a7de7d3c7742
imul rsi, rax
mov rax, r9
imul rax, r11
mov r11, rsi
xor r11, rax
imul rdx, qword [0x14031d060], 0xffffffffc25bc0c8
mov rsi, qword [0x14031d068]
sub rdx, rsi
mov al, r11b
not al
movzx ecx, al
movzx eax, sil
xor ecx, eax
and ecx, 0x8000003f
jge 0x140178c05
dec ecx
or ecx, 0xffffffc0
inc ecx
ror rdx, cl
movabs rsi, 0x559a02b3a3828aa5
add rsi, rdx
add rsi, qword [rsp + 0x28]
movabs rax, 0xff055d7b8d777d8f
xor rdi, rax
movabs rax, 0xaaaaaaaaaaaaaaab
mul rdi
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rdi, rax
xor r9, r11
lea rax, [0x14031d060]
imul r9, qword [rax + rdi*8]
not r10
imul r10, r8
imul r10, rsi
imul r10, rbx
movabs rcx, 0xf5ed7e878ac43753
xor rcx, r14
not rcx
xor rcx, r10
sub rcx, r9
call fcn.14015e05c
mov qword [0x140321f68], rax
movabs rsi, 0xf1507326dc0fbe58
movabs rax, 0x39872edc32388000
movabs r11, 0x7885508098b53533
mov rbx, qword [0x14031d080]
imul rbx, rax
movabs rax, 0x8a9dcd25e320d000
xor rbx, rax
mov rcx, rbx
imul rcx, r11
mov qword [rsp + 0x28], rcx
movabs r8, 0xaaaaaaaaaaaaaaab
mov rax, r8
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r9, rbx
and r9, r11
lea r10, [0x14031d060]
imul r9, qword [r10 + rcx*8]
movabs rax, 0x21a72f49373f8f10
imul r9, rax
shr r9, 3
movabs rax, 0xdff5df9432fd33ad
xor r9, rax
movabs rax, 0xffffff57c6324321
mov rdi, rbx
imul rdi, rax
sub rdi, 0x5af3a9a
xor rdi, r9
xor rdi, qword [0x14031d060]
mov rax, r9
imul rax, qword [0x14031d070]
movabs rcx, 0xb9de928bcf81fc00
imul rax, rcx
not rax
and rdi, rax
ror rdi, 2
shr rdi, 8
movabs r13, 0x877aaf7f674acacd
lea rcx, [rbx + r13]
xor rcx, 0xfffffffff10ff70d
mov rax, r8
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0xe5eb048e709f6580
mov r14, qword [r10 + rcx*8]
imul r14, rax
add r14, r11
movabs rcx, 0x3c4e61cbb70c8e20
mov rax, r9
imul rax, rcx
xor r14, rax
shr r14, 0x1f
not r14
mov r15, r14
xor r15, rbx
lea rcx, [r14 + r13]
mov rax, r8
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r14b
movzx ecx, byte [r10 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x11
and ecx, 0x8000003f
jge 0x140178df4
dec ecx
or ecx, 0xffffffc0
inc ecx
ror r15, cl
not r15
imul r15, r9
imul r13, r15, 0xfffffffffa50c566
movabs r10, 0x877aaf7f674acacd
add r10, r13
mov r8, r14
imul r8, rdi
sub r8, r10
xor r8, rsi
mov cl, r10b
xor cl, 0xfe
and cl, 0xf
rol r8, cl
mov rax, r10
sub rax, qword [0x14031d078]
xor r8, rax
movabs rax, 0xc0ac8221b8137152
imul r15, rax
movabs rax, 0x688ac270d52c2829
sub r15, rax
xor r8, r15
xor r8, r9
xor r8, rbx
mov rax, r8
xor rax, 0xfffffffffffffffe
and eax, 3
je 0x1401791ac
sub rax, 1
je 0x14017907b
sub rax, 1
je 0x140178f81
cmp rax, 1
jne 0x14017925c
mov rsi, r10
imul rsi, r14
movabs rax, 0xc99b6e71f5669d6d
add rax, r8
xor rsi, rax
ror rsi, 0x3a
shr rsi, 0xc
xor rsi, rbx
not rsi
movabs rcx, 0x83572d70f206
mov rdx, qword [0x14031d088]
add rdx, rcx
movabs rax, 0x87f82a070121184d
xor rdx, rax
movzx eax, r8b
movzx ecx, sil
imul ecx, eax
and cl, 0x3f
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db975901ef9
sub rax, r14
mov r14, rdx
xor r14, rax
mov rcx, r14
imul rcx, r11
mov eax, 0xa44bcc13
add rcx, rax
movabs r15, 0xaaaaaaaaaaaaaaab
mov rax, r15
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
lea rax, [0x14031d060]
mov cl, byte [rax + rcx*8]
and cl, 0xf
movabs r11, 0xe93443e7ee27ccfc
sub r11, rsi
shr r11, cl
movabs rcx, 0x8782d407be1a87ad
add rcx, r13
mov rax, r15
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r8
lea rdx, [0x14031d060]
imul rax, qword [rdx + rcx*8]
imul rax, r8
sub rax, rdi
xor r11, rax
jmp 0x14017925c
movabs rax, 0xaaaaaa1aa452312d
mov rcx, r8
xor rcx, rax
movabs rax, 0x1206ed665fed61
imul rcx, rax
movabs rdx, 0xfff17ca873300751
mov rax, r9
xor rax, rdx
sub rcx, rax
movabs rax, 0xffff7e8a824203f1
imul r13, rax
movabs r14, 0x9f2f087702e555ee
add r14, rcx
add r14, r13
movabs rax, 0x277cd7be7682e64d
mov rcx, r14
xor rcx, rax
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r10, r14
not r10
lea rax, [0x14031d060]
imul r10, qword [rax + rcx*8]
xor r10, 0xfffffffff107e7fd
lea ecx, [r8 - 0x11]
and cl, 0x3f
rol r10, cl
movabs rcx, 0x247a080480000000
mov rax, qword [rsp + 0x28]
xor rax, rcx
movabs rcx, 0x7c7a7dc69800ed4c
and rax, rcx
imul r10, rax
mov rcx, r10
ror rcx, 0x28
not rcx
movabs rax, 0x9b2de6b2e5b991a8
imul rcx, rax
mov rax, r14
sub rax, r10
lea rdx, [rcx + rax*4]
mov cl, dil
and cl, 0x3f
ror rdx, cl
mov rax, r11
mov r11, rdx
imul r11, rax
jmp 0x14017925c
movabs rax, 0x8610c8543731b8cf
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, 0x877aaf7f674acacc
mov rax, rbx
imul rax, rdx
xor rax, rsi
not rax
shl rax, cl
xor r9, rax
mov cl, r10b
and cl, 0x3f
rol r9, cl
movabs rcx, 0x877aaf7f674acacd
add rcx, r8
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0x108098b53533
lea rax, [0x14031d060]
mov rax, qword [rax + rcx*8]
imul rax, rdx
xor r9, rax
movabs rax, 0xffffc7a7f8964700
or r9, rax
mov r11, qword [0x14031d070]
imul r11, rsi
sub r11, r10
mov rax, rdi
sub rax, r9
xor r11, rax
movabs rax, 0xc7a7c6a6a99e470d
xor r11, rax
movabs rax, 0xcccccccccccccccd
mul rbx
shr rdx, 3
lea rax, [rdx + rdx*4]
add rax, rax
mov rcx, rbx
sub rcx, rax
or rcx, 1
xor edx, edx
mov rax, r11
div rcx
mov rcx, rdx
mov rdx, r8
imul rdx, r10
imul rdx, r11
shr rdx, cl
mov rax, r14
sub rax, rdx
sub rax, rbx
movabs rbx, 0x789589466cc0b17
add rbx, rax
xor rbx, rdi
movzx eax, r14b
imul ecx, eax, 0xe8
and cl, 0x3f
rol rbx, cl
not rbx
jmp 0x14017925c
movabs rax, 0xaaaaaaaaaaaaaaab
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]
lea rdx, [0x14031d060]
mov rdx, qword [rdx + rcx*8]
and rdx, rax
xor rdx, r9
and r9b, 0x3f
mov cl, r9b
mov r9, rdx
ror r9, cl
imul r9, r10
not rdi
imul rdi, r14
movabs rax, 0x7cd8a7de746f16ec
imul rdi, rax
mov rax, r9
imul rax, rbx
mov rbx, rdi
xor rbx, rax
imul rdi, qword [0x14031d060], 0xfffffffffa50c566
mov rdx, qword [0x14031d068]
sub rdi, rdx
mov al, bl
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x140179249
dec ecx
or ecx, 0xffffffc0
inc ecx
ror rdi, cl
movabs rax, 0x877aaf7f674acacd
add rdi, rax
add rdi, r13
movabs rax, 0xff055d7b84241c21
xor rsi, rax
movabs rax, 0xaaaaaaaaaaaaaaab
mul rsi
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rsi, rax
xor r9, rbx
lea rax, [0x14031d060]
imul r9, qword [rax + rsi*8]
not r10
imul r10, r8
imul r10, rdi
imul r10, r11
movabs rcx, 0xf5ed7e87839756fd
xor rcx, r14
not rcx
xor rcx, r10
sub rcx, r9
call fcn.14015dae0
mov qword [0x140321f30], rax
call fcn.140174c8c
mov qword [rsp + 0x28], rax
movabs rdi, 0xf8790e5983e6d572
movabs rax, 0xe2558a63b7516000
movabs r11, 0xd148484471c89d63
mov rbx, qword [0x14031d060]
imul rbx, rax
movabs rax, 0x8a9dcda69015d000
xor rbx, rax
mov rcx, rbx
imul rcx, r11
mov qword [rsp + 0x20], rcx
movabs r10, 0xaaaaaaaaaaaaaaab
mov rax, r10
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r9, rbx
and r9, r11
lea rax, [0x14031d060]
imul r9, qword [rax + rcx*8]
movabs rax, 0x480b850e3ca90624
imul r9, rax
shr r9, 3
movabs rax, 0xed80bcffe8521233
xor r9, rax
movabs rax, 0xffffff57ce057071
mov rsi, rbx
imul rsi, rax
sub rsi, 0xdc2355e
xor rsi, r9
xor rsi, qword [0x14031d060]
mov rax, r9
imul rax, qword [0x14031d070]
movabs rcx, 0xb9de928bc7b6cf50
imul rax, rcx
not rax
and rsi, rax
ror rsi, 2
shr rsi, 8
movabs r13, 0x2eb7b7bb8e37629d
lea rcx, [rbx + r13]
xor rcx, 0xfffffffff938c45d
mov rax, r10
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0x82b0ea9a29ac920
lea r8, [0x14031d060]
mov r14, qword [r8 + rcx*8]
imul r14, rax
sub r14, r13
movabs rcx, 0x74b8956298edd458
mov rax, r9
imul rax, rcx
xor r14, rax
shr r14, 0x1f
not r14
mov r15, r14
xor r15, rbx
lea rcx, [r14 + r13]
mov rax, r10
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r14b
movzx ecx, byte [r8 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x41
and ecx, 0x8000003f
jge 0x140179447
dec ecx
or ecx, 0xffffffc0
inc ecx
ror r15, cl
not r15
imul r15, r9
imul r13, r15, 0xfffffffff23dcaa2
movabs r10, 0x2eb7b7bb8e37629d
add r10, r13
mov r8, r14
imul r8, rsi
sub r8, r10
xor r8, rdi
mov cl, r10b
xor cl, 0xfe
and cl, 0xf
rol r8, cl
mov rax, r10
sub rax, qword [0x14031d078]
xor r8, rax
movabs rax, 0xf2d9e14a63bab6a6
imul r15, rax
movabs rax, 0x54a1fb404e8d6bb7
add r15, rax
xor r8, r15
xor r8, r9
xor r8, rbx
mov rax, r8
xor rax, 0xfffffffffffffffe
and eax, 3
je 0x1401797ff
sub rax, 1
je 0x1401796ce
sub rax, 1
je 0x1401795d4
cmp rax, 1
jne 0x1401798af
mov rdi, r10
imul rdi, r14
movabs rax, 0x662290569866fd4d
add rax, r8
xor rdi, rax
ror rdi, 0x3a
shr rdi, 0xc
xor rdi, rbx
not rdi
movabs rcx, 0x83572547c156
mov rdx, qword [0x14031d088]
add rdx, rcx
movabs rax, 0x2e3532c3e06b834d
xor rdx, rax
movzx eax, r8b
movzx ecx, dil
imul ecx, eax
and cl, 0x3f
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db97da72da9
sub rax, r14
mov r14, rdx
xor r14, rax
mov rcx, r14
imul rcx, r11
mov eax, 0xac7cff43
add rcx, rax
movabs r15, 0xaaaaaaaaaaaaaaab
mov rax, r15
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
lea rax, [0x14031d060]
mov cl, byte [rax + rcx*8]
and cl, 0xf
movabs r11, 0x2bbdfee7a58508ec
sub r11, rdi
shr r11, cl
movabs rcx, 0x2ebfdc43ed2ff22d
add rcx, r13
mov rax, r15
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r8
lea rdx, [0x14031d060]
imul rax, qword [rdx + rcx*8]
imul rax, r8
sub rax, rsi
xor r11, rax
jmp 0x1401798af
movabs rax, 0xaaaaaa1aac65027d
mov rcx, r8
xor rcx, rax
movabs rax, 0x1206ed6e68de31
imul rcx, rax
movabs rdx, 0xfff17ca87b073401
mov rax, r9
xor rax, rdx
sub rcx, rax
movabs rax, 0xffff7e8a8a7530a1
imul r13, rax
movabs r14, 0x71267f441188a55e
add r14, rcx
add r14, r13
movabs rax, 0x277cd7be7eb5d51d
mov rcx, r14
xor rcx, rax
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r10, r14
not r10
lea rax, [0x14031d060]
imul r10, qword [rax + rcx*8]
xor r10, 0xfffffffff930d4ad
lea ecx, [r8 - 1]
and cl, 0x3f
rol r10, cl
movabs rcx, 0xcf87a779efc821e3
mov rax, qword [rsp + 0x20]
xor rax, rcx
movabs rcx, 0x7c7a7dc69037de1c
and rax, rcx
imul r10, rax
mov rcx, r10
ror rcx, 0x12
not rcx
movabs rax, 0x9b2de6b2c5655ce8
imul rcx, rax
mov rax, r14
sub rax, r10
lea rdx, [rcx + rax*4]
mov cl, sil
and cl, 0x3f
ror rdx, cl
mov rax, r11
mov r11, rdx
imul r11, rax
jmp 0x1401798af
movabs rax, 0x6847e8386d1782a7
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, 0x2eb7b7bb8e37629c
mov rax, rbx
imul rax, rdx
xor rax, rdi
not rax
shl rax, cl
xor r9, rax
mov cl, r10b
and cl, 0x3f
rol r9, cl
movabs rcx, 0x2eb7b7bb8e37629d
add rcx, r8
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0x84471c89d63
lea rax, [0x14031d060]
mov rax, qword [rax + rcx*8]
imul rax, rdx
xor r9, rax
movabs rax, 0xffffc7a7f0a17450
or r9, rax
mov r11, qword [0x14031d070]
imul r11, rdi
sub r11, r10
mov rax, rsi
sub rax, r9
xor r11, rax
movabs rax, 0xc7a7c6a6a1a9745d
xor r11, rax
movabs rax, 0xcccccccccccccccd
mul rbx
shr rdx, 3
lea rax, [rdx + rdx*4]
add rax, rax
mov rcx, rbx
sub rcx, rax
or rcx, 1
xor edx, edx
mov rax, r11
div rcx
mov rcx, rdx
mov rdx, r8
imul rdx, r10
imul rdx, r11
shr rdx, cl
mov rax, r14
sub rax, rdx
sub rax, rbx
movabs rbx, 0x78958946efb3847
add rbx, rax
xor rbx, rsi
movzx eax, r14b
imul ecx, eax, 0xf8
and cl, 0x3f
rol rbx, cl
not rbx
jmp 0x1401798af
movabs rax, 0xaaaaaaaaaaaaaaab
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]
lea rdx, [0x14031d060]
mov rdx, qword [rdx + rcx*8]
and rdx, rax
xor rdx, r9
and r9b, 0x3f
mov cl, r9b
mov r9, rdx
ror r9, cl
imul r9, r10
not rsi
imul rsi, r14
movabs rax, 0x7cd8a7de7c5825bc
imul rsi, rax
mov rax, r9
imul rax, rbx
mov rbx, rsi
xor rbx, rax
imul rsi, qword [0x14031d060], 0xfffffffff23dcaa2
mov rdx, qword [0x14031d068]
sub rsi, rdx
mov al, bl
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x14017989c
dec ecx
or ecx, 0xffffffc0
inc ecx
ror rsi, cl
movabs rax, 0x2eb7b7bb8e37629d
add rsi, rax
add rsi, r13
movabs rax, 0xff055d7b8c132f71
xor rdi, rax
movabs rax, 0xaaaaaaaaaaaaaaab
mul rdi
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rdi, rax
xor r9, rbx
lea rax, [0x14031d060]
imul r9, qword [rax + rdi*8]
not r10
imul r10, r8
imul r10, rsi
imul r10, r11
movabs rcx, 0xf5ed7e878ba065ad
xor rcx, r14
not rcx
xor rcx, r10
sub rcx, r9
call fcn.14015d780
mov qword [0x140321f60], rax
mov qword [rsp + 0x38], r12
movabs rax, 0x67ab64916ac1f174
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r12
movabs rax, 0x8dc214e4632bc2cd
mov qword [rsp + 0x30], rax
movabs rcx, 0xf33a52b466e5ff03
add rcx, qword [rsp + 0x30]
movabs rax, 0x245536625307f8ea
xor rcx, rax
sub rcx, qword [0x14031d050]
sub rcx, qword [0x14031d058]
movabs rax, 0xedf047f549a40fc
sub rcx, rax
movabs rax, 0xf8f8cd9a191902b1
xor rcx, rax
sub rcx, qword [0x14031d048]
movabs rax, 0x47d654bbc6d35d45
add rcx, rax
mov rdi, qword [0x14031d040]
add rcx, rdi
movabs rax, 0x5a9179aa3aa22329
xor rcx, rax
movabs rax, 0x5f627dc76e82313c
sub rcx, rax
movabs rax, 0xe63b3cd32dd7be80
xor rcx, rax
movabs rdx, 0x3483ce4654ae9f59
add rdx, rcx
add rdx, rdi
not rdx
movabs rcx, 0x13cce94ad19b9650
mov r10, qword [0x14031d038]
mov rax, r10
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b52e6469af
mov r11, qword [0x14031d030]
mov rcx, r11
xor rcx, rax
movabs rax, 0xe0b56d8735085125
add rdx, rax
add rdx, rcx
movabs rax, 0x6b832677314290b0
xor rdx, rax
mov qword [rsp + 0x30], rdx
movabs rcx, 0xf33a52a8180b0283
add rcx, qword [rsp + 0x38]
movabs rax, 0x27d5366252fbaa0f
xor rcx, rax
sub rcx, qword [0x14031d050]
sub rcx, qword [0x14031d058]
movabs rax, 0x7120fb80d0524ffa
add rcx, rax
movabs rax, 0xf8f8cda6992f6b23
xor rcx, rax
sub rcx, qword [0x14031d048]
movabs rax, 0x7d654cc7bdd9f04
add rcx, rax
add rcx, rdi
movabs rax, 0x5a9179b84493eb2b
xor rcx, rax
movabs rax, 0x5f627de038784a8e
sub rcx, rax
movabs rax, 0xca3b3cd955a7b398
xor rcx, rax
movabs rax, 0xb483ce524d619ef2
add rcx, rax
add rcx, rdi
not rcx
movabs rax, 0x13cce94aa0602a5e
xor r10, rax
sub rcx, r10
movabs rax, 0xec3316b55f9fd5a1
xor r11, rax
movabs rax, 0xe0b56d55a860fb33
add rcx, rax
add rcx, r11
movabs rax, 0x49332348121cdb1e
xor rcx, rax
mov qword [rsp + 0x38], rcx
and rcx, rdx
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x38], r12
mov rax, qword [rsp + 0x28]
cmp rax, rcx
je 0x14017dc7c
movabs rsi, 0x6f820c89772596b1
movabs rax, 0x706fb9f465a00000
movabs r14, 0xf1411d3655f6567a
mov rdi, qword [0x14031d060]
imul rdi, rax
movabs rax, 0x6232057241900000
xor rdi, rax
mov r13, rdi
imul r13, rsi
movabs r10, 0xaaaaaaaaaaaaaaab
mov rax, r10
mul r13
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rcx, r13
sub rcx, rax
mov r8, rdi
and r8, rsi
lea rax, [0x14031d060]
imul r8, qword [rax + rcx*8]
movabs rax, 0xc55ea40299227164
imul r8, rax
shr r8, 3
movabs rax, 0x9464e4948afad447
xor r8, rax
movabs rax, 0xa8343b5535
mov rbx, rdi
imul rbx, rax
sub rbx, 0x5369166
xor rbx, r8
xor rbx, qword [0x14031d060]
mov rax, r8
imul rax, qword [0x14031d070]
movabs rcx, 0x46216d743d88ea14
imul rax, rcx
not rax
and rbx, rax
ror rbx, 0x14
shr rbx, 8
movabs rcx, 0x907df37688da694f
add rcx, rdi
xor rcx, 0x306e119
mov rax, r10
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0xb642d29db39956e8
lea r9, [0x14031d060]
mov r11, qword [r9 + rcx*8]
imul r11, rax
add r11, rsi
movabs rcx, 0x3323dc1bee7d1968
mov rax, r8
imul rax, rcx
xor r11, rax
shr r11, 0x1f
not r11
mov r15, r11
xor r15, rdi
movabs rcx, 0x907df37688da694f
add rcx, r11
mov rax, r10
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r11b
movzx ecx, byte [r9 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 5
and ecx, 0x8000003f
jge 0x140179c9c
dec ecx
or ecx, 0xffffffc0
inc ecx
ror r15, cl
not r15
imul r15, r8
imul rdx, r15, 0xfffffffffac96e9a
mov qword [rsp + 0x20], rdx
movabs r10, 0x907df37688da694f
add r10, rdx
mov r9, r11
imul r9, rbx
sub r9, r10
xor r9, r14
mov cl, r10b
xor cl, 0xfa
and cl, 0xf
rol r9, cl
movabs rax, 0x94c246defe55b47a
imul r15, rax
movabs rax, 0x326c26f08a22199f
add r15, rax
xor r9, r15
mov rax, r10
sub rax, qword [0x14031d078]
xor r9, rax
xor r9, r8
xor r9, rdi
mov rax, r9
and eax, 1
xor rax, 2
je 0x14017a04d
sub rax, 1
je 0x140179f23
sub rax, 1
je 0x140179e2f
cmp rax, 1
jne 0x14017a100
mov r14, r10
imul r14, r11
movabs rax, 0xb5fa28d9c5daf25b
add rax, r9
xor r14, rax
ror r14, 0x2e
shr r14, 0xc
xor r14, rdi
not r14
movabs rcx, 0xffff7ca8df79e412
mov rdx, qword [0x14031d088]
add rdx, rcx
movabs rax, 0x6f0089f11cb8addb
xor rdx, rax
movzx eax, r9b
movzx ecx, r14b
imul ecx, eax
and cl, 0x3f
ror rdx, cl
shl rdx, 0xf
movabs rax, 0x8358246879908ed
sub rax, r11
mov r11, rdx
xor r11, rax
mov rcx, r11
imul rcx, rsi
mov eax, 0xa9bd25f9
sub rcx, rax
movabs r15, 0xaaaaaaaaaaaaaaab
mov rax, r15
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
lea r13, [0x14031d060]
mov cl, byte [r13 + rcx*8]
and cl, 0xf
movabs rsi, 0x1f1823e5c0c58642
sub rsi, r14
shr rsi, cl
movabs rax, 0x9075ceee2da1141b
mov rcx, qword [rsp + 0x20]
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 [r13 + rcx*8]
imul rax, r9
sub rax, rbx
xor rsi, rax
jmp 0x14017a100
movabs rax, 0x555555e5565b2739
mov rcx, r9
xor rcx, rax
movabs rax, 0xffedf9129456fb75
imul rcx, rax
movabs r10, 0xe835781391145
mov rax, r8
xor rax, r10
sub rcx, rax
movabs rax, 0x8175704b15e5
imul rdx, rax
movabs r11, 0x602099e23073c490
add r11, rcx
add r11, rdx
movabs rax, 0xd8832841848bf059
mov rcx, r11
xor rcx, rax
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r10, r11
not r10
lea rax, [0x14031d060]
imul r10, qword [rax + rcx*8]
xor r10, 0x30ef1e9
lea ecx, [r9 - 5]
and cl, 0x3f
rol r10, cl
movabs rax, 0x101003020000000
xor r13, rax
movabs rax, 0x838582396a09fb58
and r13, rax
imul r10, r13
mov rdx, r10
ror rdx, 0x1e
not rdx
movabs rax, 0x193486534b67727e
imul rdx, rax
sub rdx, r10
add rdx, r11
shl rdx, 2
mov cl, bl
and cl, 0x3f
ror rdx, cl
mov rax, rsi
mov rsi, rdx
imul rsi, rax
jmp 0x14017a100
movabs rax, 0xf5cf2ca42d084737
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, 0x907df37688da694e
mov rax, rdi
imul rax, rdx
xor rax, r14
not rax
shl rax, cl
xor r8, rax
mov cl, r10b
and cl, 0x3f
rol r8, cl
movabs rcx, 0x907df37688da694f
add rcx, r9
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
lea rax, [0x14031d060]
mov rax, qword [rax + rcx*8]
imul rax, rsi
xor r8, rax
movabs rax, 0x38580a9f5114
or r8, rax
mov rsi, qword [0x14031d070]
imul rsi, r14
sub rsi, r10
mov rax, rbx
sub rax, r8
xor rsi, rax
movabs rax, 0x385839595b975119
xor rsi, 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, rsi
div rcx
mov rcx, rdx
mov rdx, r9
imul rdx, r10
imul rdx, rsi
shr rdx, cl
mov rax, r11
sub rax, rdx
sub rax, rdi
movabs rcx, 0x78958946b3ae2fd
mov rdi, rax
sub rdi, rcx
xor rdi, rbx
movzx eax, r11b
imul ecx, eax, 0xfc
and cl, 0x3f
rol rdi, cl
not rdi
jmp 0x14017a100
movabs rax, 0xaaaaaaaaaaaaaaab
mul r8
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rcx, r8
sub rcx, rax
mov rax, r9
imul rax, qword [0x14031d080]
lea rdx, [0x14031d060]
mov rdx, qword [rdx + rcx*8]
and rdx, rax
xor rdx, r8
and r8b, 0x3f
mov cl, r8b
mov r8, rdx
ror r8, cl
imul r8, r10
not rbx
imul rbx, r11
movabs rax, 0x83275821866600f8
imul rbx, rax
mov rax, r8
imul rax, rdi
mov rdi, rbx
xor rdi, rax
imul rbx, qword [0x14031d060], 0xfffffffffac96e9a
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 0x14017a0eb
dec ecx
or ecx, 0xffffffc0
inc ecx
ror rbx, cl
movabs rax, 0x907df37688da694f
add rbx, rax
add rbx, qword [rsp + 0x20]
movabs rax, 0xfaa284762d0a35
xor r14, rax
movabs rax, 0xaaaaaaaaaaaaaaab
mul r14
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub r14, rax
xor r8, rdi
lea rax, [0x14031d060]
imul r8, qword [rax + r14*8]
not r10
imul r10, r9
imul r10, rbx
imul r10, rsi
movabs rcx, 0xa128178719e40e9
xor rcx, r11
not rcx
xor rcx, r10
sub rcx, r8
call fcn.14015e0c8
mov qword [0x140321f78], rax
movabs rsi, 0xfa5dc97a1cb80bda
movabs rdi, 0xc298adc85b184ef3
mov rbx, r12
movabs rax, 0xe490dde25c41c6f0
movabs r10, 0xe5ba71deef19b414
mov r15, qword [0x14031d070]
imul r15, rax
not r15
movabs rcx, 0x1a458e21151dc06a
mov rax, qword [0x14031d060]
xor rax, rcx
and r15, rax
ror r15, 0xe
shr r15, 8
movabs rax, 0x4d65b5015ed5c488
mov r11, qword [0x14031d080]
imul r11, rax
movabs r8, 0x3d675237a4e7b10d
sub r11, r8
movabs rax, 0x2cafc2e200000000
xor r11, rax
shr r11, 0x1f
not r11
lea rcx, [r11 + r8]
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r11b
lea rdx, [0x14031d060]
movzx ecx, byte [rdx + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x9d
and ecx, 0x8000003f
jge 0x14017a23f
dec ecx
or ecx, 0xffffffc0
inc ecx
mov rdx, r11
ror rdx, cl
not rdx
movabs rax, 0x1b3e323fac8fb1d8
mov r13, rdx
imul r13, rax
lea r9, [r8 + r13]
mov r8, r11
imul r8, r15
sub r8, r9
xor r8, rsi
movzx r14d, r9b
mov ecx, r14d
xor ecx, 2
and ecx, 0xf
jge 0x14017a280
dec ecx
or ecx, 0xffffffc0
inc ecx
rol r8, cl
mov rax, r9
sub rax, qword [0x14031d078]
xor r8, rax
movabs rax, 0x5b5a437508d5a008
imul rdx, rax
movabs rax, 0x5daa141fa7e8faa9
sub rdx, rax
xor r8, rdx
xor r8, r10
mov rax, r8
xor rax, 0xfffffffffffffffe
and eax, 3
je 0x14017a5a9
sub rax, 1
je 0x14017a4a5
sub rax, 1
je 0x14017a3d3
cmp rax, 1
jne 0x14017a627
mov rsi, r9
imul rsi, r11
movabs rax, 0xeb19a97ed5ab03c9
add rax, r8
xor rsi, rax
ror rsi, 0x36
shr rsi, 0xc
not rsi
movabs rcx, 0x83571e88f98a
mov rdx, qword [0x14031d088]
add rdx, rcx
movabs rax, 0x3de5d74ff1746801
xor rdx, rax
movzx eax, r8b
movzx ecx, sil
imul ecx, eax
and cl, 0x3f
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db946681575
sub rax, r11
mov r11, rdx
xor r11, rax
mov rcx, r11
imul rcx, rdi
mov eax, 0x97b3c79f
add rcx, rax
movabs r14, 0xaaaaaaaaaaaaaaab
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
lea rax, [0x14031d060]
mov cl, byte [rax + rcx*8]
and cl, 0xf
movabs rdi, 0x9df405db2ba79a1c
sub rdi, rsi
shr rdi, cl
movabs rcx, 0x3d6f76c00a1f6861
add rcx, r13
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r8
lea rdx, [0x14031d060]
imul rax, qword [rdx + rcx*8]
imul rax, r8
sub rax, r15
xor rdi, rax
jmp 0x14017a627
movabs rcx, 0xaaaaaa1a97aa3aa1
mov r11, r8
xor r11, rcx
movabs rcx, 0x1206ed55a7e6ed
imul r11, rcx
movabs rcx, 0xffff7e8ab1ba087d
imul r13, rcx
movabs rcx, 0x8e282c2965042b0d
add r11, rcx
add r11, r13
movabs rax, 0x277cd7be457aedc1
mov rcx, r11
xor rcx, rax
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r9, r11
not r9
lea rax, [0x14031d060]
imul r9, qword [rax + rcx*8]
xor r9, 0xffffffffc2ffec71
lea ecx, [r8 - 0x1d]
and cl, 0x3f
rol r9, cl
movabs rax, 0x3c687c84a0000000
imul r9, rax
mov rcx, r9
ror rcx, 0x26
not rcx
movabs rax, 0x9b2de6b22a59bf98
imul rcx, rax
mov rax, r11
sub rax, r9
lea rdx, [rcx + rax*4]
mov cl, r15b
and cl, 0x3f
ror rdx, cl
mov rax, rdi
mov rdi, rdx
imul rdi, rax
jmp 0x14017a627
movabs rax, 0x550ee7ddff5669af
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, 0x5a23685e347f425
shl rdx, cl
mov rax, r10
mov r10, rdx
xor r10, rax
and r14d, 0x8000003f
jge 0x14017a4f8
dec r14d
or r14d, 0xffffffc0
inc r14d
mov cl, r14b
rol r10, cl
movabs rcx, 0x3d675237a4e7b10d
add rcx, r8
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0xffffedc85b184ef3
lea rax, [0x14031d060]
mov rax, qword [rax + rcx*8]
imul rax, rdx
xor r10, rax
movabs rax, 0xffffc7a7cb6e4c8c
or r10, rax
mov rdi, qword [0x14031d070]
imul rdi, rsi
sub rdi, r9
mov rax, r15
sub rax, r10
xor rdi, rax
movabs rax, 0xc7a7c6a69a664c81
xor rdi, rax
mov rax, r8
imul rax, r9
imul rax, rdi
mov rbx, r11
sub rbx, rax
movabs rax, 0x78958945534009b
add rbx, rax
xor rbx, r15
movzx eax, r11b
imul ecx, eax, 0xe4
and cl, 0x3f
rol rbx, cl
not rbx
jmp 0x14017a627
mov rcx, r8
imul rcx, qword [0x14031d080]
and rcx, qword [0x14031d070]
mov rax, r10
mov r10, rcx
xor r10, rax
ror r10, 0x14
imul r10, r9
mov rbx, r15
not rbx
imul rbx, r11
movabs rax, 0x7cd8a7de47971d60
imul rbx, rax
imul r14, qword [0x14031d060], 0xfffffffffa04747e
mov rdx, qword [0x14031d068]
sub r14, rdx
mov al, bl
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x14017a614
dec ecx
or ecx, 0xffffffc0
inc ecx
ror r14, cl
movabs r15, 0x3d675237a4e7b10d
add r15, r14
add r15, r13
movabs rax, 0xff055d7bb7dc17ad
xor rsi, rax
movabs rax, 0xaaaaaaaaaaaaaaab
mul rsi
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rsi, rax
xor r10, rbx
lea rax, [0x14031d060]
imul r10, qword [rax + rsi*8]
not r9
imul r9, r8
imul r9, r15
imul r9, rdi
movabs rcx, 0xf5ed7e87b06f5d71
xor rcx, r11
not rcx
xor rcx, r9
sub rcx, r10
call fcn.14015dfa8
mov qword [0x140321f40], rax
mov dword [rbp + 0xa8], r12d
mov dword [rbp + 0xa8], 0xbda63f95
mov eax, dword [rbp + 0xa8]
add eax, 0xac861736
xor eax, 0xac8b3e8a
sub eax, dword [0x14031d058]
sub eax, dword [0x14031d050]
add eax, 0x2194debc
xor eax, 0xc6626a1e
sub eax, dword [0x14031d048]
mov rcx, qword [0x14031d040]
add eax, 0x15d08c6b
add eax, ecx
xor eax, 0x7f378790
add eax, 0x608e4489
xor eax, 0xbeed8566
mov edx, dword [0x14031d030]
xor edx, 0x214de94f
sub edx, eax
mov eax, dword [0x14031d038]
xor eax, 0xdeb216b0
sub edx, eax
sub edx, ecx
sub edx, 0x6d96b4ff
xor edx, 0x528b3050
mov dword [rbp + 0xa8], edx
movsxd rax, edx
mov qword [rsp + 0x20], rax
mov dword [rbp + 0xa8], r12d
mov dword [rbp - 0x80], 0xf4313ba6
mov dword [rbp - 0x7c], 0x12239535
mov dword [rbp - 0x78], 0xedbc6afe
mov dword [rbp - 0x74], 0x522f5ab9
mov dword [rbp - 0x70], 0x4f57085b
mov dword [rbp - 0x6c], 0xdf9d1e4d
mov eax, 0xbc16
mov word [rbp - 0x68], ax
mov r13, r12
movabs rcx, 0x13cce94adba99340
mov r12d, 0x6afe
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 [rbp + r13*2 - 0x80]
sub r10w, si
add r10w, r12w
mov eax, 0x9204
sub ax, si
xor r10w, ax
sub r10w, word [0x14031d050]
sub r10w, word [0x14031d058]
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, r11w
mov rcx, qword [0x14031d040]
add r10w, si
add r10w, cx
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
mov eax, 0x7100
add eax, r15d
mov r8d, 0x2440
xor ax, r8w
sub dx, ax
movzx eax, word [0x14031d038]
xor ax, bx
sub dx, ax
mov eax, 0x9d7
add eax, r15d
add ax, ax
add dx, ax
sub dx, r14w
sub dx, di
sub dx, si
sub dx, cx
movzx eax, r15w
movzx ecx, bx
imul ecx, eax
xor dx, cx
mov word [rbp + r13*2 - 0x80], dx
inc r13
cmp r13, 0xd
movabs rcx, 0x13cce94adba99340
jb 0x14017a76d
lea rax, [rbp - 0x80]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], 0x1a
mov rax, qword [rbp - 0x50]
mov qword [rbp - 0x38], rax
xor r12d, r12d
mov byte [rbp + 0xa0], r12b
lea rdx, [rbp - 0x10]
lea rcx, [rbp + 0xa0]
call fcn.14016553c
mov r13, rax
xor edx, edx
mov rax, r12
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 [r13 + r12*2]
sub r10w, si
mov eax, 0x6afe
add r10w, ax
mov eax, 0x9204
sub ax, si
xor r10w, ax
sub r10w, word [0x14031d050]
sub r10w, word [0x14031d058]
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, dx
sub r10w, r9w
sub r10w, r15w
sub r10w, word [0x14031d048]
sub r10w, 0x50
add r10w, r11w
mov rcx, qword [0x14031d040]
add r10w, si
add r10w, cx
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, r15w
xor dx, word [0x14031d030]
sub dx, r10w
movzx eax, bx
xor ax, word [0x14031d038]
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, di
sub dx, si
sub dx, cx
movzx eax, r15w
movzx ecx, bx
imul ecx, eax
xor dx, cx
mov word [r13 + r12*2], dx
inc r12
cmp r12, 0x2d
jb 0x14017a963
mov qword [rbp - 0x60], r13
mov qword [rbp - 0x58], 0x5a
xor r9d, r9d
mov r8, qword [rbp - 0x38]
mov rdx, qword [rbp - 0x60]
lea rcx, [rbp - 0x30]
call fcn.140266900
nop
mov rcx, qword [rbp - 0x60]
xor r12d, r12d
test rcx, rcx
je 0x14017ab72
mov eax, r12d
cmp qword [rbp - 0x58], r12
jbe 0x14017ab72
mov byte [rcx + rax], r12b
inc rax
cmp rax, qword [rbp - 0x58]
jae 0x14017ab72
mov rcx, qword [rbp - 0x60]
jmp 0x14017ab5f
mov rcx, qword [rbp - 0x50]
test rcx, rcx
je 0x14017ab97
mov rax, r12
cmp qword [rbp - 0x48], r12
jbe 0x14017ab97
mov byte [rax + rcx], r12b
inc rax
cmp rax, qword [rbp - 0x48]
jae 0x14017ab97
mov rcx, qword [rbp - 0x50]
jmp 0x14017ab84
movabs rdi, 0x72d4d3c43d563021
movabs r15, 0xf14cf905f5ebe622
mov rbx, r12
movabs rax, 0xea67409eca14e000
movabs r11, 0xf6bf7a76e1af9c00
mov rsi, qword [0x14031d070]
imul rsi, rax
not rsi
movabs rdx, 0x94085891b4b107e
mov rax, qword [0x14031d060]
xor rax, rdx
and rsi, rax
ror rsi, 0x18
shr rsi, 8
movabs rax, 0x3e58774d8e5a3270
mov r9, qword [0x14031d060]
imul r9, rax
add r9, rdi
movabs rax, 0x5f310e1480000000
xor r9, rax
shr r9, 0x1f
not r9
movabs r8, 0x8d2b2c3bc2a9cfdf
lea rcx, [r9 + r8]
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r9b
lea rdx, [0x14031d060]
movzx ecx, byte [rdx + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x19
mov edx, 0x8000003f
and ecx, edx
jge 0x14017ac6c
dec ecx
or ecx, 0xffffffc0
inc ecx
mov rax, r9
ror rax, cl
not rax
movabs rcx, 0x71ce2cae0dbec800
mov r13, rax
imul r13, rcx
lea r10, [r8 + r13]
mov r8, r9
imul r8, rsi
sub r8, r10
xor r8, r15
movzx r14d, r10b
mov ecx, r14d
xor ecx, 6
and ecx, 0xf
and ecx, edx
jge 0x14017acaf
dec ecx
or ecx, 0xffffffc0
inc ecx
rol r8, cl
movabs rcx, 0x349c98c2bb17c800
imul rax, rcx
movabs rcx, 0x28aa487c19386441
sub rax, rcx
xor r8, rax
mov rax, r10
sub rax, qword [0x14031d078]
xor r8, rax
xor r8, r11
mov rax, r8
and eax, 1
xor rax, 2
je 0x14017afd8
sub rax, 1
je 0x14017aed4
sub rax, 1
je 0x14017ae02
cmp rax, 1
jne 0x14017b052
mov r15, r10
imul r15, r9
movabs rax, 0xb7f0362b8d0b9fb7
add rax, r8
xor r15, rax
ror r15, 0x22
shr r15, 0xc
not r15
movabs rcx, 0x83572673e40e
mov rdx, qword [0x14031d088]
add rdx, rcx
movabs rax, 0x8da9a943afc10b57
xor rdx, rax
movzx eax, r8b
movzx ecx, r15b
imul ecx, eax
and cl, 0x3f
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db97e9308f1
sub rax, r9
mov r9, rdx
xor r9, rax
mov rcx, r9
imul rcx, rdi
mov eax, 0xaf48da1b
add rcx, rax
movabs r14, 0xaaaaaaaaaaaaaaab
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
lea rax, [0x14031d060]
mov cl, byte [rax + rcx*8]
and cl, 0xf
movabs rdi, 0xb52385a85b359a0a
sub rdi, r15
shr rdi, cl
movabs rcx, 0x8d3350c420767ab7
add rcx, r13
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r8
lea rdx, [0x14031d060]
imul rax, qword [rdx + rcx*8]
imul rax, r8
sub rax, rsi
xor rdi, rax
jmp 0x14017b052
movabs rcx, 0xaaaaaa1aaf512725
mov r9, r8
xor r9, rcx
movabs rcx, 0x1206ed6d5cfb69
imul r9, rcx
movabs rcx, 0xffff7e8a894115f9
imul r13, rcx
movabs rcx, 0xbaa48256537c0387
add r9, rcx
add r9, r13
movabs rax, 0x277cd7be7d81f045
mov rcx, r9
xor rcx, rax
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r10, r9
not r10
lea rax, [0x14031d060]
imul r10, qword [rax + rcx*8]
xor r10, 0xfffffffffa04f1f5
lea ecx, [r8 - 0x19]
and cl, 0x3f
rol r10, cl
movabs rax, 0x4042010280000000
imul r10, rax
mov rcx, r10
ror rcx, 0x1a
not rcx
movabs rax, 0x9b2de6b2c9b5c988
imul rcx, rax
mov rax, r9
sub rax, r10
lea rdx, [rcx + rax*4]
mov cl, sil
and cl, 0x3f
ror rdx, cl
mov rax, rdi
mov rdi, rdx
imul rdi, rax
jmp 0x14017b052
movabs rax, 0xb3a86a98128594cf
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, 0xeb306fa0a1419dd
shl rdx, cl
mov rax, r11
mov r11, rdx
xor r11, rax
and r14d, 0x8000003f
jge 0x14017af27
dec r14d
or r14d, 0xffffffc0
inc r14d
mov cl, r14b
rol r11, cl
movabs rcx, 0x8d2b2c3bc2a9cfdf
add rcx, r8
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0x13c43d563021
lea rax, [0x14031d060]
mov rax, qword [rax + rcx*8]
imul rax, rdx
xor r11, rax
movabs rax, 0xffffc7a7f3955108
or r11, rax
mov rdi, qword [0x14031d070]
imul rdi, r15
sub rdi, r10
mov rax, rsi
sub rax, r11
xor rdi, rax
movabs rax, 0xc7a7c6a6a29d5105
xor rdi, rax
mov rax, r8
imul rax, r10
imul rax, rdi
mov rbx, r9
sub rbx, rax
movabs rax, 0x78958946dcf1d1f
add rbx, rax
xor rbx, rsi
movzx eax, r9b
imul ecx, eax, 0xe0
and cl, 0x3f
rol rbx, cl
not rbx
jmp 0x14017b052
mov rcx, r8
imul rcx, qword [0x14031d080]
and rcx, qword [0x14031d060]
mov rax, r11
mov r11, rcx
xor r11, rax
imul r11, r10
mov rbx, rsi
not rbx
imul rbx, r9
movabs rax, 0x7cd8a7de7f6c00e4
imul rbx, rax
imul rsi, qword [0x14031d060], 0xfffffffffae48c7e
mov rdx, qword [0x14031d068]
sub rsi, rdx
mov al, bl
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x14017b03f
dec ecx
or ecx, 0xffffffc0
inc ecx
ror rsi, cl
movabs rax, 0x8d2b2c3bc2a9cfdf
add rsi, rax
add rsi, r13
movabs rax, 0xff055d7b8f270a29
xor r15, rax
movabs rax, 0xaaaaaaaaaaaaaaab
mul r15
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub r15, rax
xor r11, rbx
lea rax, [0x14031d060]
imul r11, qword [rax + r15*8]
not r10
imul r10, r8
imul r10, rsi
imul r10, rdi
movabs rcx, 0xf5ed7e87889440f5
xor rcx, r9
not rcx
xor rcx, r10
sub rcx, r11
call fcn.14015dc24
mov qword [0x140321f38], rax
mov qword [rsp + 0x48], r12
movabs rax, 0x439ca923ecf3a2dd
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x40], r12
movabs rax, 0x3ec3f772a9021e69
mov qword [rsp + 0x40], rax
movabs rcx, 0xf33a52b717de5d03
add rcx, qword [rsp + 0x40]
movabs rax, 0x82553662530aa9e2
xor rcx, rax
sub rcx, qword [0x14031d050]
sub rcx, qword [0x14031d058]
movabs rax, 0xedf047f5cad2a16
sub rcx, rax
movabs rax, 0xf8f8cd975d5cc339
xor rcx, rax
sub rcx, qword [0x14031d048]
movabs rax, 0x47d654b81f9a39ac
add rcx, rax
mov rdi, qword [0x14031d040]
add rcx, rdi
movabs rax, 0x5a9179a728c6d7f1
xor rcx, rax
movabs rax, 0x5f627dc68488c924
sub rcx, rax
movabs rax, 0xf63b3cd1d54607bd
xor rcx, rax
movabs rdx, 0x3483ce43b68d0beb
add rdx, rcx
add rdx, rdi
not rdx
movabs rcx, 0x13cce94adc5f77c8
mov r10, qword [0x14031d038]
mov rax, r10
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b523a08837
mov r11, qword [0x14031d030]
mov rcx, r11
xor rcx, rax
movabs rax, 0xe0b56d91e3adea9d
add rdx, rax
add rdx, rcx
movabs rax, 0x68838d9b4524fbf8
xor rdx, rax
mov qword [rsp + 0x40], rdx
movabs rcx, 0xf33a52b423179b83
add rcx, qword [rsp + 0x48]
movabs rax, 0xc0d536625307b51c
xor rcx, rax
sub rcx, qword [0x14031d050]
sub rcx, qword [0x14031d058]
movabs rax, 0x7120fb80ac312a2f
add rcx, rax
movabs rax, 0xf8f8cd9a5df69fbf
xor rcx, rax
sub rcx, qword [0x14031d048]
movabs rax, 0x87d654bc22de0555
add rcx, rax
add rcx, rdi
movabs rax, 0x5a9179aa87f98ca7
xor rcx, rax
movabs rax, 0x5f627dc7402b4eb2
sub rcx, rax
movabs rax, 0x23b3cd34fc10eb3
xor rcx, rax
movabs rax, 0xb483ce4696a25e21
add rcx, rax
add rcx, rdi
not rcx
movabs rax, 0x13cce94ad08c5cc2
xor r10, rax
sub rcx, r10
movabs rax, 0xec3316b52f73a33d
xor r11, rax
movabs rax, 0xe0b56d8624bf9197
add rcx, rax
add rcx, r11
movabs rax, 0x8f1feedc59a7a03a
xor rcx, rax
mov qword [rsp + 0x48], rcx
mov rax, qword [rbp - 0x28]
sub rax, qword [rbp - 0x30]
sar rax, 5
and rcx, rdx
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], r12
cmp rax, rcx
jne 0x14017b2c8
jmp 0x14017c25f
movabs rdi, 0xa7f620a9ccb755de
movabs r15, 0xe5bda05daab274cd
mov rbx, r12
movabs rax, 0x6dc2f67639f83200
movabs r11, 0x2d6654f636952700
mov rsi, qword [0x14031d070]
imul rsi, rax
not rsi
movabs rcx, 0xd299ab09cc50c6d8
mov rax, qword [0x14031d060]
xor rax, rcx
and rsi, rax
ror rsi, 0x11
shr rsi, 8
movabs rax, 0x19239196c8add230
mov r9, qword [0x14031d078]
imul r9, rax
movabs r8, 0x5809df563348aa22
sub r9, r8
movabs rax, 0x25de7dce80000000
xor r9, rax
shr r9, 0x1f
not r9
lea rcx, [r9 + r8]
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r9b
lea rdx, [0x14031d060]
movzx ecx, byte [rdx + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x6f
and ecx, 0x8000003f
jge 0x14017b39c
dec ecx
or ecx, 0xffffffc0
inc ecx
mov rdx, r9
ror rdx, cl
not rdx
movabs rax, 0xdb349794281fe800
mov r13, rdx
imul r13, rax
lea r10, [r8 + r13]
mov r8, r9
imul r8, rsi
sub r8, r10
xor r8, r15
movzx r14d, r10b
mov ecx, r14d
and ecx, 0xf
jge 0x14017b3da
dec ecx
or ecx, 0xffffffc0
inc ecx
rol r8, cl
mov rax, r10
sub rax, qword [0x14031d078]
xor r8, rax
movabs rax, 0x62e1e77c3bb33000
imul rdx, rax
movabs rax, 0x6de39341b0312c84
sub rdx, rax
xor r8, rdx
xor r8, r11
mov rax, r8
and eax, 2
je 0x14017b6fc
sub rax, 1
je 0x14017b5fb
sub rax, 1
je 0x14017b529
cmp rax, 1
jne 0x14017b776
mov r15, r10
imul r15, r9
movabs rax, 0xda302ec5996a129e
add rax, r8
xor r15, rax
ror r15, 0x28
shr r15, 0xc
not r15
movabs rcx, 0x8357295f577c
mov rdx, qword [0x14031d088]
add rdx, rcx
movabs rax, 0x588b5a2e510cddde
xor rdx, rax
movzx eax, r8b
movzx ecx, r15b
imul ecx, eax
and cl, 0x3f
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db971bfbb87
sub rax, r9
mov r9, rdx
xor r9, rax
mov rcx, r9
imul rcx, rdi
mov eax, 0xa064696d
add rcx, rax
movabs r14, 0xaaaaaaaaaaaaaaab
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
lea rax, [0x14031d060]
mov cl, byte [rax + rcx*8]
and cl, 0xf
movabs rdi, 0xf729e65e727b3089
sub rdi, r15
shr rdi, cl
movabs rcx, 0x581203de8628c3c4
add rcx, r13
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r8
lea rdx, [0x14031d060]
imul rax, qword [rdx + rcx*8]
imul rax, r8
sub rax, rsi
xor rdi, rax
jmp 0x14017b776
movabs rcx, 0xaaaaaa1aa07d9453
mov r9, r8
xor r9, rcx
movabs rcx, 0x1206ed6270481f
imul r9, rcx
movabs rcx, 0xffff7e8a866da68f
imul r13, rcx
movabs rcx, 0xb7104de64546365e
add r9, rcx
add r9, r13
movabs rax, 0x277cd7be72ad4333
mov rcx, r9
xor rcx, rax
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r10, r9
not r10
lea rax, [0x14031d060]
imul r10, qword [rax + rcx*8]
xor r10, 0xfffffffff5284283
lea ecx, [r8 + 0x11]
and cl, 0x3f
rol r10, cl
movabs rax, 0x4828314600000000
imul r10, rax
mov rcx, r10
ror rcx, 3
not rcx
movabs rax, 0x9b2de6b2f5070450
imul rcx, rax
mov rax, r9
sub rax, r10
lea rdx, [rcx + rax*4]
mov cl, sil
and cl, 0x3f
ror rdx, cl
mov rax, rdi
mov rdi, rdx
imul rdi, rax
jmp 0x14017b776
movabs rax, 0x23eb7d476b168e84
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, 0x1a425fa2554d8b32
shl rdx, cl
mov rax, r11
mov r11, rdx
xor r11, rax
and r14d, 0x8000003f
jge 0x14017b64e
dec r14d
or r14d, 0xffffffc0
inc r14d
mov cl, r14b
rol r11, cl
movabs rcx, 0x5809df563348aa22
add rcx, r8
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0xffffe0a9ccb755de
lea rax, [0x14031d060]
mov rax, qword [rax + rcx*8]
imul rax, rdx
xor r11, rax
movabs rax, 0xffffc7a7fcb9e27e
or r11, rax
mov rdi, qword [0x14031d070]
imul rdi, r15
sub rdi, r10
mov rax, rsi
sub rax, r11
xor rdi, rax
movabs rax, 0xc7a7c6a6adb1e273
xor rdi, rax
mov rax, r8
imul rax, r10
imul rax, rdi
mov rbx, r9
sub rbx, rax
movabs rax, 0x789589462e3ae69
add rbx, rax
xor rbx, rsi
movzx eax, r9b
imul ecx, eax, 0x16
and cl, 0x3f
rol rbx, cl
not rbx
jmp 0x14017b776
mov rcx, r8
imul rcx, qword [0x14031d080]
and rcx, qword [0x14031d070]
mov rax, r11
mov r11, rcx
xor r11, rax
imul r11, r10
mov rbx, rsi
not rbx
imul rbx, r9
movabs rax, 0x7cd8a7de7040b392
imul rbx, rax
imul rsi, qword [0x14031d060], 0xfffffffffac5e1d8
mov rdx, qword [0x14031d068]
sub rsi, rdx
mov al, bl
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x14017b763
dec ecx
or ecx, 0xffffffc0
inc ecx
ror rsi, cl
movabs rax, 0x5809df563348aa22
add rsi, rax
add rsi, r13
movabs rax, 0xff055d7b800bb95f
xor r15, rax
movabs rax, 0xaaaaaaaaaaaaaaab
mul r15
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub r15, rax
xor r11, rbx
lea rax, [0x14031d060]
imul r11, qword [rax + r15*8]
not r10
imul r10, r8
imul r10, rsi
imul r10, rdi
movabs rcx, 0xf5ed7e8787b8f383
xor rcx, r9
not rcx
xor rcx, r10
sub rcx, r11
call fcn.14015e0ec
mov qword [0x140321f90], rax
mov qword [rsp + 0x50], r12
movabs rax, 0xc22cf20018ba51d3
mov qword [rsp + 0x50], rax
movabs rcx, 0xf33a52b9bb952783
add rcx, qword [rsp + 0x50]
movabs rax, 0x4cd53662530d4d99
xor rcx, rax
sub rcx, qword [0x14031d050]
sub rcx, qword [0x14031d058]
movabs rax, 0x7120fb809b67b18b
add rcx, rax
movabs rax, 0xf8f8cd94af171d8f
xor rcx, rax
sub rcx, qword [0x14031d048]
movabs rax, 0x87d654b48a5f99cb
add rcx, rax
mov rdx, qword [0x14031d040]
add rcx, rdx
movabs rax, 0x5a9179a4260a58f7
xor rcx, rax
movabs rax, 0x5f627dc411eb23a2
sub rcx, rax
movabs rax, 0xa23b3cd0835584c7
xor rcx, rax
movabs rax, 0xb483ce41255040f5
add rax, rcx
add rdx, rax
not rdx
movabs rcx, 0x13cce94ae6ee52f2
mov rax, qword [0x14031d038]
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b51911ad0d
mov rcx, qword [0x14031d030]
xor rcx, rax
movabs rax, 0xe0b56d9c7cd7b7c7
add rax, rdx
add rax, rcx
movabs rcx, 0xa96d83e3ec39c04a
xor rax, rcx
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x50], r12
movabs rsi, 0xf4e917be5bc212f7
movabs rbx, 0xad56687094a700d5
mov r11, r12
movabs rax, 0x552d1a691ff061dc
movabs r10, 0x5cacb3db46c202a2
mov r13, qword [0x14031d070]
imul r13, rax
not r13
movabs rdx, 0xa3534c24c46c5c7e
mov rax, qword [0x14031d060]
xor rax, rdx
and r13, rax
ror r13, 0x2a
shr r13, 8
movabs rax, 0xb6437f5d743eb9b8
mov rdi, qword [0x14031d070]
imul rdi, rax
movabs r8, 0x52a9978f6b58ff2b
sub rdi, r8
movabs rax, 0xe39b14aa7fffffff
xor rdi, rax
shr rdi, 0x1f
not rdi
lea rcx, [rdi + r8]
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, dil
lea rdx, [0x14031d060]
movzx ecx, byte [rdx + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x9f
mov edx, 0x8000003f
and ecx, edx
jge 0x14017b9bd
dec ecx
or ecx, 0xffffffc0
inc ecx
mov rax, rdi
ror rax, cl
not rax
movabs rcx, 0x60abaefe19cdbf38
mov r15, rax
imul r15, rcx
lea r9, [r15 + r8]
mov r8, rdi
imul r8, r13
sub r8, r9
xor r8, rsi
movzx r14d, r9b
mov ecx, r14d
and ecx, 0xf
and ecx, edx
jge 0x14017b9fd
dec ecx
or ecx, 0xffffffc0
inc ecx
rol r8, cl
movabs rcx, 0x7208c9af95b81998
imul rax, rcx
movabs rcx, 0x75c4afb7a2194ec7
add rax, rcx
xor r8, rax
mov rax, r9
sub rax, qword [0x14031d078]
xor r8, rax
xor r8, r10
mov rax, r8
and eax, 1
je 0x14017bd22
sub rax, 1
je 0x14017bc1e
sub rax, 1
je 0x14017bb4c
cmp rax, 1
jne 0x14017bda1
mov rsi, r9
imul rsi, rdi
movabs rax, 0x217cf46abbc1ab65
add rax, r8
xor rsi, rax
ror rsi, 0x10
shr rsi, 0xc
not rsi
movabs rcx, 0x835728d5988c
mov rdx, qword [0x14031d088]
add rdx, rcx
movabs rax, 0x522b12f708964725
xor rdx, rax
movzx eax, sil
movzx ecx, r8b
imul ecx, eax
and cl, 0x3f
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db970357477
sub rax, rdi
mov rdi, rdx
xor rdi, rax
mov rcx, rdi
imul rcx, rbx
mov eax, 0xa1eea69d
add rcx, rax
movabs r14, 0xaaaaaaaaaaaaaaab
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
lea rax, [0x14031d060]
mov cl, byte [rax + rcx*8]
and cl, 0xf
movabs rbx, 0xa88c7e9a08c19f22
sub rbx, rsi
shr rbx, cl
movabs rcx, 0x52b1bc17bec3d57d
add rcx, r15
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r8
lea rdx, [0x14031d060]
imul rax, qword [rdx + rcx*8]
imul rax, r8
sub rax, r13
xor rbx, rax
jmp 0x14017bda1
movabs rcx, 0xaaaaaa1aa1f75ba3
mov rdi, r8
xor rdi, rcx
movabs rcx, 0x1206ed63fa87ef
imul rdi, rcx
movabs rcx, 0xffff7e8a87e7697f
imul r15, rcx
movabs rcx, 0xfe593551062c3357
add rdi, rcx
add rdi, r15
movabs rax, 0x277cd7be73278cc3
mov rcx, rdi
xor rcx, rax
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r9, rdi
not r9
lea rax, [0x14031d060]
imul r9, qword [rax + rcx*8]
xor r9, 0xfffffffff4a28d73
lea ecx, [r8 - 0x1f]
and cl, 0x3f
rol r9, cl
movabs rax, 0x34023d8000000000
imul r9, rax
mov rcx, r9
ror rcx, 9
not rcx
movabs rax, 0x9b2de6b2f32c3b90
imul rcx, rax
mov rax, rdi
sub rax, r9
lea rdx, [rcx + rax*4]
mov cl, r13b
and cl, 0x3f
ror rdx, cl
mov rax, rbx
mov rbx, rdx
imul rbx, rax
jmp 0x14017bda1
movabs rax, 0x79046a65643aa245
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, 0xb16e841a43ded08
shl rdx, cl
mov rax, r10
mov r10, rdx
xor r10, rax
and r14d, 0x8000003f
jge 0x14017bc71
dec r14d
or r14d, 0xffffffc0
inc r14d
mov cl, r14b
rol r10, cl
movabs rcx, 0x52a9978f6b58ff2b
add rcx, r8
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0xffffe87094a700d5
lea rax, [0x14031d060]
mov rax, qword [rax + rcx*8]
imul rax, rdx
xor r10, rax
movabs rax, 0xffffc7a7fd332d8e
or r10, rax
mov rbx, qword [0x14031d070]
imul rbx, rsi
sub rbx, r9
mov rax, r13
sub rax, r10
xor rbx, rax
movabs rax, 0xc7a7c6a6ac3b2d83
xor rbx, rax
mov rax, r8
imul rax, r9
imul rax, rbx
mov r11, rdi
sub r11, rax
movabs rax, 0x789589463696199
add r11, rax
xor r11, r13
movzx eax, dil
imul ecx, eax, 0xe6
and cl, 0x3f
rol r11, cl
not r11
jmp 0x14017bda1
mov rcx, r8
imul rcx, qword [0x14031d080]
and rcx, qword [0x14031d080]
mov rax, r10
mov r10, rcx
xor r10, rax
ror r10, 0x22
imul r10, r9
mov r11, r13
not r11
imul r11, rdi
movabs rax, 0x7cd8a7de71ca7c62
imul r11, rax
imul r14, qword [0x14031d060], 0xffffffff82ae5edc
mov rdx, qword [0x14031d068]
sub r14, rdx
mov al, r11b
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x14017bd8e
dec ecx
or ecx, 0xffffffc0
inc ecx
ror r14, cl
movabs r13, 0x52a9978f6b58ff2b
add r13, r14
add r13, r15
movabs rax, 0xff055d7b818176af
xor rsi, rax
movabs rax, 0xaaaaaaaaaaaaaaab
mul rsi
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rsi, rax
xor r10, r11
lea rax, [0x14031d060]
imul r10, qword [rax + rsi*8]
not r9
imul r9, r8
imul r9, r13
imul r9, rbx
movabs rcx, 0xf5ed7e8786323c73
xor rcx, rdi
not rcx
xor rcx, r9
sub rcx, r10
call fcn.14015db28
mov qword [0x140321f88], rax
mov dword [rbp + 0xb0], r12d
mov dword [rbp + 0xb0], 0xfee0aab
mov eax, dword [rbp + 0xb0]
add eax, 0x5d5965b6
xor eax, 0xfb0aef5d
sub eax, dword [0x14031d058]
sub eax, dword [0x14031d050]
sub eax, 0x5d7d9b2f
xor eax, 0x16cbce64
sub eax, dword [0x14031d048]
mov rcx, qword [0x14031d040]
add eax, 0xc149b75c
add eax, ecx
xor eax, 0xd9868206
sub eax, 0x7412eb35
xor eax, 0x7286578c
mov edx, dword [0x14031d030]
xor edx, 0x228a9c15
sub edx, eax
mov eax, dword [0x14031d038]
xor eax, 0xdd7563ea
sub edx, eax
sub edx, ecx
sub edx, 0x78869eec
xor edx, 0xa3a7ca32
mov dword [rbp + 0xb0], edx
movsxd r14, edx
shl r14, 5
add r14, qword [rbp - 0x30]
mov dword [rbp + 0xb0], r12d
mov dword [rbp + 0xb8], r12d
mov dword [rbp + 0xb8], 0x63d1059e
mov eax, dword [rbp + 0xb8]
add eax, 0x4e76b33
xor eax, 0x8796ec
sub eax, dword [0x14031d058]
sub eax, dword [0x14031d050]
add eax, 0x2c8bbac0
xor eax, 0x7c9f90d1
sub eax, dword [0x14031d048]
mov rcx, qword [0x14031d040]
add eax, 0xbd86ee9
add eax, ecx
xor eax, 0xaa6883c3
sub eax, 0x564a21a8
xor eax, 0xf2da185c
lea edx, [rcx + 0x33ff3d1d]
add edx, eax
not edx
mov eax, dword [0x14031d038]
xor eax, 0xd0139c00
sub edx, eax
mov ecx, dword [0x14031d030]
xor ecx, 0x2fec63ff
add ecx, 0xab861012
add ecx, edx
xor ecx, 0xa8dc6400
mov dword [rbp + 0xb8], ecx
movsxd rsi, ecx
mov dword [rbp + 0xb8], r12d
cmp rsi, qword [r14 + 0x10]
jae 0x14017c25f
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x68], r12
movabs rax, 0xe8e236aac89af41c
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x60], r12
movabs rax, 0x39bf4daa59d51bf9
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x58], r12
movabs rax, 0x737b1a7163726537
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x58]
add rax, 0x6b03
movabs rcx, 0x905536625307d2d3
xor rax, rcx
mov rbx, qword [0x14031d050]
sub rax, rbx
mov r9, qword [0x14031d058]
sub rax, r9
movabs rcx, 0xedf047f5427fadd
sub rax, rcx
movabs rcx, 0xec33204e8096f42f
xor rax, rcx
mov r8, qword [0x14031d048]
sub rax, r8
movabs rcx, 0x16468673d3a39f97
add rcx, rax
mov rdi, qword [0x14031d040]
add rcx, rdi
movabs rax, 0xec3316b52efcc727
xor rcx, rax
movabs rax, 0x13cce94a3ae2f6a2
sub rcx, rax
movabs rax, 0xffd8662d614bb93b
xor rcx, rax
movabs rdx, 0x27be20faba898fbd
add rdx, rcx
add rdx, rdi
not rdx
movabs rcx, 0x13cce94ad10338d2
mov r10, qword [0x14031d038]
mov rax, r10
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b52efcc72d
mov r11, qword [0x14031d030]
mov rcx, r11
xor rcx, rax
movabs r15, 0x13cc22b5989be3a7
add r15, rdx
add r15, rcx
movabs rax, 0xd391b67be9743aea
xor r15, rax
mov qword [rsp + 0x58], r15
mov rax, qword [rsp + 0x60]
add rax, 0x6b03
movabs rcx, 0x90553662530ad57d
xor rax, rcx
sub rax, rbx
sub rax, r9
movabs rcx, 0xedf047f5d2ff9db
sub rax, rcx
movabs rcx, 0xec33204e748c4add
xor rax, rcx
sub rax, r8
movabs rcx, 0x16468673e12f9e13
add rcx, rax
add rcx, rdi
movabs rax, 0xec3316b522f21dd5
xor rcx, rax
movabs rax, 0x13cce94a46ed9ff8
sub rcx, rax
movabs rax, 0xffd8662d6133a3e8
xor rcx, rax
movabs rdx, 0x27be20facf9c380c
add rdx, rcx
add rdx, rdi
not rdx
movabs rcx, 0x13cce94add0de224
mov rax, r10
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b522f21ddb
mov rcx, r11
xor rcx, rax
movabs r13, 0x13cc22b584e45579
add r13, rdx
add r13, rcx
movabs rax, 0x5a45d8b23b8688cc
xor r13, rax
mov qword [rsp + 0x60], r13
mov rax, qword [rsp + 0x68]
add rax, 0x6b03
movabs rcx, 0x90553662530d145a
xor rax, rcx
sub rax, rbx
sub rax, r9
movabs rcx, 0xedf047f63ec8f92
sub rax, rcx
movabs rcx, 0xec33204e6b90d893
xor rax, rcx
sub rax, r8
movabs rcx, 0x16468673eb4a7ea6
add rcx, rax
add rcx, rdi
movabs rax, 0xec3316b519f6ab8b
xor rcx, rax
movabs rax, 0x13cce94a4fe9123e
sub rcx, rax
movabs rax, 0xffd8662d6121ad04
xor rcx, rax
movabs rax, 0x27be20fadf54400e
add rcx, rax
add rcx, rdi
not rcx
movabs rax, 0x13cce94ae609546e
xor r10, rax
sub rcx, r10
movabs rax, 0xec3316b519f6ab91
xor r11, rax
movabs rdx, 0x13cc22b58de1c743
add rdx, rcx
add rdx, r11
movabs rax, 0x4119471066624c4e
xor rdx, rax
mov qword [rsp + 0x68], rdx
mov rcx, r14
cmp qword [r14 + 0x18], 7
jbe 0x14017c21e
mov rcx, qword [r14]
mov rax, rsi
imul rax, rsi
imul rax, rsi
add rax, rdx
cqo
idiv r13
movzx eax, word [rcx + rsi*2]
imul rax, rdx
cqo
idiv r15
xor qword [rsp + 0x20], rdx
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x68], r12
inc rsi
cmp rsi, qword [r14 + 0x10]
jb 0x14017bf53
lea rcx, [rbp - 0x30]
call fcn.1400bf284
movabs rdi, 0xc043ef8415236397
movabs r14, 0xfe62a4ca4d00ca62
mov rbx, r12
movabs rax, 0x5bf9b757347bd284
movabs r11, 0xd9f423b3a0e5a289
mov rsi, qword [0x14031d070]
imul rsi, rax
not rsi
movabs rcx, 0x260bdc4c5291e13f
mov r13, qword [0x14031d060]
mov rax, r13
xor rax, rcx
and rsi, rax
ror rsi, 2
shr rsi, 8
movabs rax, 0x3a32e264aafedb38
mov r8, qword [0x14031d080]
imul r8, rax
movabs r9, 0x3fbc107beadc9c69
sub r8, r9
movabs rax, 0x2ddaa85280000000
xor r8, rax
shr r8, 0x1f
not r8
lea rcx, [r8 + r9]
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r8b
lea rdx, [0x14031d060]
movzx ecx, byte [rdx + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x75
and ecx, 0x8000003f
jge 0x14017c33f
dec ecx
or ecx, 0xffffffc0
inc ecx
mov rax, r8
ror rax, cl
not rax
movabs rcx, 0x3381bdfaa4df6866
mov r15, rax
imul r15, rcx
lea r10, [r15 + r9]
mov r9, r8
imul r9, rsi
sub r9, r10
xor r9, r14
mov cl, r10b
xor cl, 0xfa
and cl, 0xf
rol r9, cl
movabs rcx, 0x7f24e94d4918062a
imul rax, rcx
movabs rcx, 0x7cc4870cd7f7dcef
add rax, rcx
xor r9, rax
mov rax, r10
sub rax, qword [0x14031d078]
xor r9, rax
xor r9, r11
mov rax, r9
xor rax, 0xfffffffffffffffe
and eax, 3
je 0x14017c68e
sub rax, 1
je 0x14017c598
sub rax, 1
je 0x14017c4c6
cmp rax, 1
jne 0x14017c704
mov r14, r10
imul r14, r8
movabs rax, 0x520b22eeb52cd44d
add rax, r9
xor r14, rax
ror r14, 0x3a
shr r14, 0xc
not r14
movabs rcx, 0x835738056362
mov rdx, qword [0x14031d088]
add rdx, rcx
movabs rax, 0x3f3e950399c2df8d
xor rdx, rax
movzx eax, r14b
movzx ecx, r9b
imul ecx, eax
and cl, 0x3f
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db960e58f9d
sub rax, r8
mov r8, rdx
xor r8, rax
mov rcx, r8
imul rcx, rdi
mov eax, 0xb13e5d77
add rcx, rax
movabs r13, 0xaaaaaaaaaaaaaaab
mov rax, r13
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
lea rax, [0x14031d060]
mov cl, byte [rax + rcx*8]
and cl, 0xf
movabs rdi, 0xf03b0e7111697c80
sub rdi, r14
shr rdi, cl
movabs rcx, 0x3fc435042e96ca25
add rcx, r15
mov rax, r13
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r9
lea rdx, [0x14031d060]
imul rax, qword [rdx + rcx*8]
imul rax, r9
sub rax, rsi
xor rdi, rax
jmp 0x14017c704
movabs rcx, 0xaaaaaa1ab127a049
mov r8, r9
xor r8, rcx
movabs rcx, 0x1206ed732a7c05
imul r8, rcx
movabs rcx, 0xffff7e8a97379295
imul r15, rcx
movabs rcx, 0x697cf7c1ddc148f6
add r8, rcx
add r8, r15
movabs rax, 0x277cd7be63f77729
mov rcx, r8
xor rcx, rax
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r10, r8
not r10
lea rax, [0x14031d060]
imul r10, qword [rax + rcx*8]
xor r10, 0xffffffffe4727699
lea ecx, [r9 + 0xb]
and cl, 0x3f
rol r10, cl
movabs rax, 0x345a648280000000
imul r10, rax
mov rcx, r10
ror rcx, 0x36
not rcx
movabs rax, 0x9b2de6b2b06fd438
imul rcx, rax
mov rax, r8
sub rax, r10
lea rdx, [rcx + rax*4]
mov cl, sil
and cl, 0x3f
ror rdx, cl
mov rax, rdi
mov rdi, rdx
imul rdi, rax
jmp 0x14017c704
movabs rax, 0x2c5c2e72b379a4cd
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, 0x19d5b35b2ff359d
shl rdx, cl
mov rax, r11
mov r11, rdx
xor r11, rax
mov cl, r10b
and cl, 0x3f
rol r11, cl
movabs rcx, 0x3fbc107beadc9c69
add rcx, r9
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0xffffef8415236397
lea rax, [0x14031d060]
mov rax, qword [rax + rcx*8]
imul rax, rdx
xor r11, rax
movabs rax, 0xffffc7a7ede3d664
or r11, rax
mov rdi, qword [0x14031d070]
imul rdi, r14
sub rdi, r10
mov rax, rsi
sub rax, r11
xor rdi, rax
movabs rax, 0xc7a7c6a6bcebd669
xor rdi, rax
mov rax, r9
imul rax, r10
imul rax, rdi
mov rbx, r8
sub rbx, rax
movabs rax, 0x789589473b99a73
add rbx, rax
xor rbx, rsi
mov al, r8b
add al, al
lea ecx, [rax + r8]
shl cl, 2
and cl, 0x3f
rol rbx, cl
not rbx
jmp 0x14017c704
mov rcx, r9
imul rcx, qword [0x14031d080]
mov rdx, qword [0x14031d068]
and rcx, rdx
mov rax, r11
mov r11, rcx
xor r11, rax
ror r11, 9
imul r11, r10
mov rbx, rsi
not rbx
imul rbx, r8
movabs rax, 0x7cd8a7de611a8788
imul rbx, rax
imul rsi, r13, 0xfffffffff27443b6
sub rsi, rdx
mov al, bl
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x14017c6f1
dec ecx
or ecx, 0xffffffc0
inc ecx
ror rsi, cl
movabs rax, 0x3fbc107beadc9c69
add rsi, rax
add rsi, r15
movabs rax, 0xff055d7b91518d45
xor r14, rax
movabs rax, 0xaaaaaaaaaaaaaaab
mul r14
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub r14, rax
xor r11, rbx
lea rax, [0x14031d060]
imul r11, qword [rax + r14*8]
not r10
imul r10, r9
imul r10, rsi
imul r10, rdi
movabs rcx, 0xf5ed7e8796e2c799
xor rcx, r8
not rcx
xor rcx, r10
sub rcx, r11
call fcn.14015da50
mov qword [0x140321f70], rax
mov qword [rsp + 0x78], r12
movabs rax, 0x98b8c1d33acd3aed
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x70], r12
movabs rax, 0xe190dda37aeeba57
mov qword [rsp + 0x70], rax
movabs rcx, 0xf33a52b762f0ac83
add rcx, qword [rsp + 0x70]
movabs rax, 0xd1d53662530af4f5
xor rcx, rax
sub rcx, qword [0x14031d050]
sub rcx, qword [0x14031d058]
movabs rax, 0x7120fb80a2719efc
add rcx, rax
movabs rax, 0xf8f8cd97111e2a7b
xor rcx, rax
sub rcx, qword [0x14031d048]
movabs rax, 0x7d654b7b9b2dec1
add rcx, rax
mov rdi, qword [0x14031d040]
add rcx, rdi
movabs rax, 0x5a9179a6d325f543
xor rcx, rax
movabs rax, 0x5f627dc66f37cfb6
sub rcx, rax
movabs rax, 0x7a3b3cd1afba876a
xor rcx, rax
movabs rdx, 0xb483ce436d883c98
add rdx, rcx
add rdx, rdi
not rdx
movabs rcx, 0x13cce94add8bc106
mov r10, qword [0x14031d038]
mov rax, r10
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b522743ef9
mov r11, qword [0x14031d030]
mov rcx, r11
xor rcx, rax
movabs rax, 0xe0b56d9311237a5b
add rdx, rax
add rdx, rcx
movabs rax, 0x2cbffbad986632d6
xor rdx, rax
mov qword [rsp + 0x70], rdx
movabs rcx, 0xf33a52b99c5d4603
add rcx, qword [rsp + 0x78]
movabs rax, 0x6b553662530d2e61
xor rcx, rax
sub rcx, qword [0x14031d050]
sub rcx, qword [0x14031d058]
movabs rax, 0xedf047f643aa6d1
sub rcx, rax
movabs rax, 0xf8f8cd94cecbde95
xor rcx, rax
sub rcx, qword [0x14031d048]
movabs rax, 0xc7d654b4b4bff464
add rcx, rax
add rcx, rdi
movabs rax, 0x5a9179a449a6162d
xor rcx, rax
movabs rax, 0x5f627dc41b4e1380
sub rcx, rax
movabs rax, 0xae3b3cd092f26f46
xor rcx, rax
movabs rax, 0x3483ce4143ad9b4a
add rcx, rax
add rcx, rdi
not rcx
movabs rax, 0x13cce94ae671736c
xor r10, rax
sub rcx, r10
movabs rax, 0xec3316b5198e8c93
xor r11, rax
movabs rax, 0xe0b56d9bff7b9241
add rcx, rax
add rcx, r11
movabs rax, 0x62f1b697f02c5704
xor rcx, rax
mov qword [rsp + 0x78], rcx
and rcx, rdx
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x78], r12
mov rax, qword [rsp + 0x20]
cmp rax, rcx
je 0x14017dc7c
movabs rdi, 0x5102f674aea1edc1
movabs r15, 0x9677accb292ef8e0
mov rsi, r12
movabs rbx, 0x2b212bbe32c644
movabs rax, 0xf66880a7b3ffce8
mov r14, qword [0x14031d070]
imul r14, rax
not r14
movabs rdx, 0xffd4ded45a229aac
mov rax, qword [0x14031d060]
xor rax, rdx
and r14, rax
ror r14, 0x2a
shr r14, 8
movabs rax, 0x78a22805090884b0
mov r10, qword [0x14031d070]
imul r10, rax
add r10, rdi
movabs rax, 0x1c2ca0df80000000
xor r10, rax
shr r10, 0x1f
not r10
movabs r8, 0xaefd098b515e123f
lea rcx, [r10 + r8]
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r10b
lea rdx, [0x14031d060]
movzx ecx, byte [rdx + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x8b
and ecx, 0x8000003f
jge 0x14017ca49
dec ecx
or ecx, 0xffffffc0
inc ecx
mov rdx, r10
ror rdx, cl
not rdx
movabs rax, 0xf0f01d7b91841da0
mov r13, rdx
imul r13, rax
lea r11, [r8 + r13]
movzx r8d, r11b
mov cl, r8b
xor cl, 4
and cl, 0xf
mov r9, r10
imul r9, r14
sub r9, r11
xor r9, r15
rol r9, cl
mov rax, r11
sub rax, qword [0x14031d078]
xor r9, rax
movabs rax, 0x37851c9965a775a0
imul rdx, rax
movabs rax, 0x382d1778ba6f147f
add rdx, rax
xor r9, rdx
xor r9, rbx
mov rax, r9
and eax, 1
je 0x14017cda3
sub rax, 1
je 0x14017cc9f
sub rax, 1
je 0x14017cbcd
cmp rax, 1
jne 0x14017ce22
mov r15, r11
imul r15, r10
movabs rax, 0x5c8c96dad0342505
add rax, r9
xor r15, rax
ror r15, 0x10
shr r15, 0xc
not r15
movzx eax, r15b
movzx ecx, r9b
imul ecx, eax
and cl, 0x3f
movabs rdx, 0x8357299240a0
add rdx, qword [0x14031d088]
movabs rax, 0xae7f8cf333d77225
xor rdx, rax
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db97172ac63
sub rax, r10
mov r10, rdx
xor r10, rax
mov rcx, r10
imul rcx, rdi
mov eax, 0xa0a97e89
add rcx, rax
movabs r8, 0xaaaaaaaaaaaaaaab
mov rax, r8
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
lea rax, [0x14031d060]
mov cl, byte [rax + rcx*8]
and cl, 0xf
movabs rdi, 0xa5bc509d3392490e
sub rdi, r15
shr rdi, cl
movabs rcx, 0xaf052e13a38b2085
add rcx, r13
mov rax, r8
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r9
lea rdx, [0x14031d060]
imul rax, qword [rdx + rcx*8]
imul rax, r9
sub rax, r14
xor rdi, rax
jmp 0x14017ce22
movabs rcx, 0xaaaaaa1aa0b083b7
mov r10, r9
xor r10, rcx
movabs rcx, 0x1206ed62bd5ffb
imul r10, rcx
movabs rcx, 0xffff7e8a86a0b16b
imul r13, rcx
movabs rcx, 0x129d61d22b0f6d31
add r10, rcx
add r10, r13
lea ecx, [r9 - 0xb]
and cl, 0x3f
movabs rax, 0x277cd7be726054d7
mov r8, r10
xor r8, rax
movabs rax, 0xaaaaaaaaaaaaaaab
mul r8
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub r8, rax
mov r11, r10
not r11
lea rax, [0x14031d060]
imul r11, qword [rax + r8*8]
xor r11, 0xfffffffff5e55567
rol r11, cl
movabs rax, 0x185a20c280000000
imul r11, rax
mov cl, r14b
and cl, 0x3f
mov rdx, r11
ror rdx, 0xa
not rdx
movabs rax, 0x9b2de6b2f6335bc0
imul rdx, rax
mov rax, r10
sub rax, r11
lea rdx, [rdx + rax*4]
ror rdx, cl
mov rax, rdi
mov rdi, rdx
imul rdi, rax
jmp 0x14017ce22
movabs rax, 0xe1d6a9a5636c4f5f
imul r9, rax
and r8d, 0x8000003f
jge 0x14017ccc0
dec r8d
or r8d, 0xffffffc0
inc r8d
movabs rax, 0xd79435e50d79435f
mul r9
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r9b
sub cl, dl
movabs rdx, 0x69885334d6d1071f
shl rdx, cl
mov rax, rbx
mov rbx, rdx
xor rbx, rax
mov cl, r8b
rol rbx, cl
movabs rcx, 0xaefd098b515e123f
add rcx, r9
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0xfffff674aea1edc1
lea rax, [0x14031d060]
mov rax, qword [rax + rcx*8]
imul rax, rdx
xor rbx, rax
movabs rax, 0xffffc7a7fc74f59a
or rbx, rax
mov rdi, qword [0x14031d070]
imul rdi, r15
sub rdi, r11
mov rax, r14
sub rax, rbx
xor rdi, rax
movabs rax, 0xc7a7c6a6ad7cf597
xor rdi, rax
movzx eax, r10b
imul ecx, eax, 0xf2
and cl, 0x3f
mov rax, r9
imul rax, r11
imul rax, rdi
mov rsi, r10
sub rsi, rax
movabs rax, 0x7895894622eb98d
add rsi, rax
xor rsi, r14
rol rsi, cl
not rsi
jmp 0x14017ce22
mov rcx, r9
imul rcx, qword [0x14031d080]
and rcx, qword [0x14031d080]
mov rax, rbx
mov rbx, rcx
xor rbx, rax
ror rbx, 4
imul rbx, r11
mov rsi, r14
not rsi
imul rsi, r10
movabs rax, 0x7cd8a7de708da476
imul rsi, rax
mov al, sil
not al
movzx ecx, al
mov rdx, qword [0x14031d068]
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x14017ce01
dec ecx
or ecx, 0xffffffc0
inc ecx
imul r14, qword [0x14031d060], 0xffffffffe4105ce8
sub r14, rdx
ror r14, cl
movabs rcx, 0xaefd098b515e123f
add r14, rcx
add r14, r13
movabs rax, 0xff055d7b80c6aebb
xor r15, rax
movabs rax, 0xaaaaaaaaaaaaaaab
mul r15
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub r15, rax
xor rbx, rsi
lea rax, [0x14031d060]
imul rbx, qword [rax + r15*8]
not r11
imul r11, r9
imul r11, r14
imul r11, rdi
movabs rcx, 0xf5ed7e878775e467
xor rcx, r10
not rcx
xor rcx, r11
sub rcx, rbx
call fcn.14015de1c
mov qword [0x140321f78], rax
movabs rax, 0x7d03dc5800000000
mov r13, qword [0x14031d060]
mov rsi, r13
imul rsi, rax
movabs rax, 0xdaa321d300000000
xor rsi, rax
movabs r8, 0x8752a6e82e434da8
mov rcx, rsi
imul rcx, r8
movabs r11, 0xaaaaaaaaaaaaaaab
mov rax, r11
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rdi, rsi
and rdi, r8
lea r8, [0x14031d060]
imul rdi, qword [r8 + rcx*8]
movabs rax, 0xf618826aee18bc48
imul rdi, rax
shr rdi, 3
movabs rax, 0xee24aa4f1a0b1844
xor rdi, rax
movabs rax, 0xffffff57cecf50ff
mov r10, rsi
imul r10, rax
sub r10, 0xe0f0e48
xor r10, rdi
xor r10, r13
mov rax, rdi
imul rax, qword [0x14031d070]
movabs rcx, 0xb9de928bc77cefde
imul rax, rcx
not rax
and r10, rax
ror r10, 7
shr r10, 8
movabs r9, 0x78ad5917d1bcb258
lea rcx, [rsi + r9]
xor rcx, 0xfffffffff9f2e4d3
mov rax, r11
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0x726de082b331ecf0
mov rbx, qword [r8 + rcx*8]
imul rbx, rax
sub rbx, r9
movabs rcx, 0x917c9695f40f7160
mov rax, rdi
imul rax, rcx
xor rbx, rax
shr rbx, 0x1f
not rbx
lea rcx, [rbx + r9]
mov rax, r11
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, bl
movzx ecx, byte [r8 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0xcf
and ecx, 0x8000003f
jge 0x14017cfe8
dec ecx
or ecx, 0xffffffc0
inc ecx
mov rdx, rbx
xor rdx, rsi
ror rdx, cl
not rdx
imul rdx, rdi
imul r14, rdx, 0xfffffffff1f0f1b8
lea r8, [r14 + r9]
mov cl, r8b
and cl, 0xf
mov r9, rbx
imul r9, r10
sub r9, r8
movabs rax, 0xe43b52d6dd3f983f
xor r9, rax
rol r9, cl
mov rax, r8
sub rax, qword [0x14031d078]
xor r9, rax
movabs rax, 0xf17df7fa91faf8c0
imul rdx, rax
movabs rax, 0x1aaee21a1d7e7e40
sub rdx, rax
xor r9, rdx
xor r9, rdi
xor r9, rsi
mov cl, dil
and cl, 0x3f
mov rax, r11
mul rdi
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rdx, rdi
sub rdx, rax
mov rax, r9
mov r15, qword [0x14031d080]
imul rax, r15
lea r11, [0x14031d060]
mov r11, qword [r11 + rdx*8]
and r11, rax
xor r11, rdi
ror r11, cl
imul r11, r8
not r10
imul r10, rbx
movabs rax, 0x7cd8a7de7c920532
imul r10, rax
mov rax, r11
imul rax, rsi
xor r10, rax
mov al, r10b
not al
movzx ecx, al
mov r8, qword [0x14031d068]
movzx eax, r8b
xor ecx, eax
and ecx, 0x8000003f
jge 0x14017d0da
dec ecx
or ecx, 0xffffffc0
inc ecx
imul rdx, r13, 0xfffffffff1f0f1b8
sub rdx, r8
ror rdx, cl
lea rcx, [r14 + rdx]
movabs rax, 0x8752a6e82e434da8
imul rcx, rax
movabs rax, 0x1aaee21a1d7e7e40
sub rcx, rax
movabs rax, 0x8752a6e82e434da7
sub rax, r14
imul rcx, rax
imul rcx, r9
movabs rax, 0xf5ed7e878b6a4523
xor rbx, rax
not rbx
xor rcx, rbx
xor r11, r10
imul r11, r15
sub rcx, r11
call fcn.14015d978
mov qword [0x140321f40], rax
movabs rsi, 0xf97a492f22ca8537
movabs rdi, 0xee2c124d20ec5526
movabs rbx, 0x2383fe0aa9d467b5
movabs rax, 0x7e1ddef30d621330
mov r14, qword [0x14031d070]
imul r14, rax
not r14
movabs rcx, 0xdc7c01f56c396423
mov r13, qword [0x14031d060]
mov rax, r13
xor rax, rcx
and r14, rax
ror r14, 0x27
shr r14, 8
movabs rax, 0x4531a0810139e920
mov r11, qword [0x14031d088]
imul r11, rax
movabs r9, 0x11d3edb2df13aada
sub r11, r9
movabs rax, 0x5db2386880000000
xor r11, rax
shr r11, 0x1f
not r11
lea rcx, [r11 + r9]
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r11b
lea rdx, [0x14031d060]
movzx ecx, byte [rdx + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x61
and ecx, 0x8000003f
jge 0x14017d218
dec ecx
or ecx, 0xffffffc0
inc ecx
mov rdx, r11
ror rdx, cl
not rdx
movabs rax, 0x160c3ffa4b3ce30e
mov r8, rdx
imul r8, rax
lea r10, [r8 + r9]
mov cl, r10b
xor cl, 0xfe
and cl, 0xf
mov r9, r11
imul r9, r14
sub r9, r10
xor r9, rsi
rol r9, cl
mov rax, r10
mov r15, qword [0x14031d078]
sub rax, r15
xor r9, rax
movabs rax, 0x8ee3d9db73555a14
imul rdx, rax
movabs rax, 0x48f7fad659dbe5c
add rdx, rax
xor r9, rdx
xor r9, rbx
mov rax, r9
not rax
and eax, 2
je 0x14017d566
sub rax, 1
je 0x14017d46c
sub rax, 1
je 0x14017d39a
cmp rax, 1
jne 0x14017d5dd
mov rsi, r10
imul rsi, r11
movabs rax, 0x9a8b5b536cf4d0fa
add rax, r9
xor rsi, rax
ror rsi, 0x1e
shr rsi, 0xc
not rsi
movzx eax, r9b
movzx ecx, sil
imul ecx, eax
and cl, 0x3f
movabs rdx, 0x8357399b6a76
add rdx, qword [0x14031d088]
movabs rax, 0x115168caad93e028
xor rdx, rax
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db9617b8689
sub rax, r11
mov r11, rdx
xor r11, rax
mov rcx, r11
imul rcx, rdi
mov eax, 0xb0a05463
add rcx, rax
movabs r15, 0xaaaaaaaaaaaaaaab
mov rax, r15
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
lea r13, [0x14031d060]
mov cl, byte [r13 + rcx*8]
and cl, 0xf
movabs rdi, 0x8b7e7e11bdfd5aaf
sub rdi, rsi
shr rdi, cl
movabs rcx, 0x11dc123b2137cf8a
add rcx, r8
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 [r13 + rcx*8]
imul rax, r9
sub rax, r14
xor rdi, rax
jmp 0x14017d5dd
movabs rcx, 0xaaaaaa1ab0b9a95d
mov r11, r9
xor r11, rcx
movabs rcx, 0x1206ed72b47511
imul r11, rcx
movabs rcx, 0xffff7e8a96a99b81
imul r8, rcx
movabs rcx, 0x6de53fb69fdeb8c7
add r11, rcx
add r11, r8
lea ecx, [r9 + 0x1f]
and cl, 0x3f
movabs rax, 0x277cd7be62697e3d
mov r8, r11
xor r8, rax
movabs rax, 0xaaaaaaaaaaaaaaab
mul r8
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub r8, rax
mov r10, r11
not r10
lea rax, [0x14031d060]
imul r10, qword [rax + r8*8]
xor r10, 0xffffffffe5ec7f8d
rol r10, cl
movabs rax, 0x18222d4000000000
imul r10, rax
mov cl, r14b
and cl, 0x3f
mov rdx, r10
ror rdx, 0x37
not rdx
movabs rax, 0x9b2de6b2b617f068
imul rdx, rax
mov rax, r11
sub rax, r10
lea rdx, [rdx + rax*4]
ror rdx, cl
mov rax, rdi
mov rdi, rdx
imul rdi, rax
jmp 0x14017d5dd
movabs rax, 0x388cd70a3baf5e44
imul r9, rax
mov r8b, r10b
and r8b, 0x3f
movabs rax, 0xd79435e50d79435f
mul r9
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r9b
sub cl, dl
movabs rdx, 0x685b6d0dd357ac8
shl rdx, cl
mov rax, rbx
mov rbx, rdx
xor rbx, rax
mov cl, r8b
rol rbx, cl
movabs rcx, 0x11d3edb2df13aada
add rcx, r9
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0x124d20ec5526
lea rax, [0x14031d060]
mov rax, qword [rax + rcx*8]
imul rax, rdx
xor rbx, rax
movabs rax, 0xffffc7a7ec7ddf70
or rbx, rax
mov rdi, qword [0x14031d070]
imul rdi, rsi
sub rdi, r10
mov rax, r14
sub rax, rbx
xor rdi, rax
movabs rax, 0xc7a7c6a6bd75df7d
xor rdi, rax
mov al, r11b
add al, al
lea ecx, [rax + r11]
shl cl, 3
and cl, 0x3f
mov rax, r9
imul rax, r10
imul rax, rdi
mov r12, r11
sub r12, rax
movabs rax, 0x789589472279367
add r12, rax
xor r12, r14
rol r12, cl
not r12
jmp 0x14017d5dd
mov rcx, r9
imul rcx, qword [0x14031d080]
and rcx, r15
mov rax, rbx
mov rbx, rcx
xor rbx, rax
ror rbx, 0x35
imul rbx, r10
mov r12, r14
not r12
imul r12, r11
movabs rax, 0x7cd8a7de60848e9c
imul r12, rax
mov al, r12b
not al
movzx ecx, al
mov rdx, qword [0x14031d068]
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x14017d5c0
dec ecx
or ecx, 0xffffffc0
inc ecx
imul r14, r13, 0xffffffffc5ed0396
sub r14, rdx
ror r14, cl
movabs rcx, 0x11d3edb2df13aada
add r14, rcx
add r14, r8
movabs rax, 0xff055d7b90cf8451
xor rsi, rax
movabs rax, 0xaaaaaaaaaaaaaaab
mul rsi
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rsi, rax
xor rbx, r12
lea r12, [0x14031d060]
imul rbx, qword [r12 + rsi*8]
not r10
imul r10, r9
imul r10, r14
imul r10, rdi
movabs rcx, 0xf5ed7e87977cce8d
xor rcx, r11
not rcx
xor rcx, r10
sub rcx, rbx
call fcn.14015ddf8
mov qword [0x140321f70], rax
mov rax, qword [rsp + 0x20]
xor qword [rsp + 0x28], rax
movabs rbx, 0xf84098c62fa43130
movabs rsi, 0x28f2ffceb2bc9aab
movabs rax, 0x3bb1000000000000
mov r8, qword [0x14031d080]
mov r14, r8
imul r14, rax
movabs rax, 0x93cad00000000000
xor r14, rax
mov r13, r14
imul r13, rsi
movabs r9, 0xaaaaaaaaaaaaaaab
mov rax, r9
mul r13
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rcx, r13
sub rcx, rax
mov r11, r14
and r11, rsi
imul r11, qword [r12 + rcx*8]
movabs rax, 0xd19da3c9ab70eb60
imul r11, rax
shr r11, 3
movabs rax, 0x50d6c3c7cdaa714d
xor r11, rax
movabs rax, 0xffffff57c6354d81
mov r15, r14
imul r15, rax
sub r15, 0x66428ce
xor r15, r11
xor r15, qword [0x14031d060]
mov rax, r11
imul rax, qword [0x14031d070]
movabs rcx, 0xb9de928bcf86f2a0
imul rax, rcx
not rax
and r15, rax
ror r15, 0x3a
shr r15, 8
movabs r10, 0xd70d00314d436555
lea rcx, [r14 + r10]
xor rcx, 0xfffffffff108f9ad
mov rax, r9
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0x96d57054d40cf1c0
mov rdi, qword [r12 + rcx*8]
imul rdi, rax
add rdi, rsi
movabs rcx, 0x40db41c85e0eec40
mov rax, r11
imul rax, rcx
xor rdi, rax
shr rdi, 0x1f
not rdi
lea rcx, [rdi + r10]
mov rax, r9
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, dil
movzx ecx, byte [r12 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0xb1
and ecx, 0x8000003f
jge 0x14017d7b8
dec ecx
or ecx, 0xffffffc0
inc ecx
mov rdx, rdi
xor rdx, r14
ror rdx, cl
not rdx
imul rdx, r11
imul r12, rdx, 0xfffffffff99bd732
lea r9, [r12 + r10]
mov cl, r9b
xor cl, 0xfe
and cl, 0xf
mov r10, rdi
imul r10, r15
sub r10, r9
xor r10, rbx
rol r10, cl
mov rax, r9
sub rax, qword [0x14031d078]
xor r10, rax
movabs rax, 0x4f8f9e724744d266
imul rdx, rax
movabs rax, 0x443f98c2ab65d1c7
add rdx, rax
xor r10, rdx
xor r10, r11
xor r10, r14
mov rax, r10
xor rax, 0xfffffffffffffffe
and eax, 3
je 0x14017db65
sub rax, 1
je 0x14017da2f
sub rax, 1
je 0x14017d93a
cmp rax, 1
jne 0x14017dc0f
mov rbx, r9
imul rbx, rdi
movabs rax, 0xcc7d14a175ad9ed5
add rax, r10
xor rbx, rax
ror rbx, 2
shr rbx, 0xc
xor rbx, r14
not rbx
movzx eax, r10b
movzx ecx, bl
imul ecx, eax
and cl, 0x3f
movabs rdx, 0x83572d77fca6
add rdx, qword [0x14031d088]
movabs rax, 0xd78f85492b2fb975
xor rdx, rax
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db975971059
sub rax, rdi
mov rdi, rdx
xor rdi, rax
mov rcx, rdi
imul rcx, rsi
mov eax, 0xa44cc2b3
add rcx, rax
movabs r8, 0xaaaaaaaaaaaaaaab
mov rax, r8
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
lea r13, [0x14031d060]
mov cl, byte [r13 + rcx*8]
and cl, 0xf
movabs rsi, 0x86e1be5b73897f74
sub rsi, rbx
shr rsi, cl
movabs rcx, 0xd71524b9a40c17d5
add rcx, r12
mov rax, r8
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r10
imul rax, qword [r13 + rcx*8]
imul rax, r10
sub rax, r15
xor rsi, rax
jmp 0x14017dc0f
movabs rax, 0xaaaaaa1aa4553f8d
mov rcx, r10
xor rcx, rax
movabs rax, 0x1206ed6658e3c1
imul rcx, rax
movabs rdx, 0xfff17ca8733709f1
mov rax, r11
xor rax, rdx
sub rcx, rax
movabs rax, 0xffff7e8a82450d51
imul r12, rax
movabs rdi, 0x37849181daa66e36
add rdi, rcx
add rdi, r12
lea ecx, [r10 + 0xf]
and cl, 0x3f
movabs rax, 0x277cd7be7685e8ed
mov r8, rdi
xor r8, rax
movabs rax, 0xaaaaaaaaaaaaaaab
mul r8
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub r8, rax
mov r9, rdi
not r9
lea rax, [0x14031d060]
imul r9, qword [rax + r8*8]
xor r9, 0xfffffffff100e95d
rol r9, cl
movabs rax, 0x380a79c080000000
xor r13, rax
movabs rax, 0x7c7a7dc69807e3ec
and r13, rax
imul r9, r13
mov cl, r15b
and cl, 0x3f
mov rdx, r9
ror rdx, 0x20
not rdx
movabs rax, 0x9b2de6b2e5a5ab28
imul rdx, rax
mov rax, rdi
sub rax, r9
lea rdx, [rdx + rax*4]
ror rdx, cl
mov rax, rsi
mov rsi, rdx
imul rsi, rax
jmp 0x14017dc0f
movabs rax, 0xe96af5df0448c17b
imul r10, rax
mov r8b, r9b
and r8b, 0x3f
movabs rax, 0xd79435e50d79435f
mul r10
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r10b
sub cl, dl
movabs rdx, 0xd70d00314d436554
mov rax, r14
imul rax, rdx
xor rax, rbx
not rax
shl rax, cl
xor r11, rax
mov cl, r8b
rol r11, cl
movabs rcx, 0xd70d00314d436555
add rcx, r10
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0xffffffceb2bc9aab
lea rax, [0x14031d060]
mov rax, qword [rax + rcx*8]
imul rax, rdx
xor r11, rax
movabs rax, 0xffffc7a7f89149a0
or r11, rax
mov rsi, qword [0x14031d070]
imul rsi, rbx
sub rsi, r9
mov rax, r15
sub rax, r11
xor rsi, rax
movabs rax, 0xc7a7c6a6a99949ad
xor rsi, rax
mov r8b, dil
shl r8b, 3
and r8b, 0x3f
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, rsi
div rcx
mov rcx, rdx
mov rdx, r10
imul rdx, r9
imul rdx, rsi
shr rdx, cl
mov rax, rdi
sub rax, rdx
sub rax, r14
movabs r14, 0x789589466cb05b7
add r14, rax
xor r14, r15
mov cl, r8b
rol r14, cl
not r14
jmp 0x14017dc0f
mov cl, r11b
and cl, 0x3f
movabs rax, 0xaaaaaaaaaaaaaaab
mul r11
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rdx, r11
sub rdx, rax
mov rax, r10
imul rax, r8
lea r8, [0x14031d060]
mov r8, qword [r8 + rdx*8]
and r8, rax
xor r11, r8
ror r11, cl
imul r11, r9
not r15
imul r15, rdi
movabs rax, 0x7cd8a7de7468184c
imul r15, rax
mov rax, r11
imul rax, r14
mov r14, r15
xor r14, rax
mov al, r14b
not al
movzx ecx, al
mov r8, qword [0x14031d068]
movzx eax, r8b
xor ecx, eax
and ecx, 0x8000003f
jge 0x14017dbee
dec ecx
or ecx, 0xffffffc0
inc ecx
imul r15, qword [0x14031d060], 0xfffffffff99bd732
sub r15, r8
ror r15, cl
movabs rax, 0xd70d00314d436555
add r15, rax
add r15, r12
movabs rcx, 0xff055d7b84231281
xor rbx, rcx
movabs rax, 0xaaaaaaaaaaaaaaab
mul rbx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rbx, rax
xor r11, r14
lea rax, [0x14031d060]
imul r11, qword [rax + rbx*8]
not r9
imul r9, r10
imul r9, r15
imul r9, rsi
movabs rcx, 0xf5ed7e878390585d
xor rcx, rdi
not rcx
xor rcx, r9
sub rcx, r11
call fcn.14015db04
mov qword [0x140321f38], rax
mov rax, qword [rsp + 0x28]
add rsp, 0x158
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret