Function at 0x1401699c4
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], r9
mov qword [rax + 0x18], r8
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x1af8]
mov eax, 0x1bb8
call fcn.140277eb0
sub rsp, rax
movabs rsi, 0x6530b8d0502bd18d
movabs rbx, 0x5e7eecf4a157568d
xor r12d, r12d
mov edi, r12d
movabs rax, 0xc7f8b2359c1e8344
movabs r11, 0xa8ec1f0dd6d7b30e
mov r14, qword [0x14031d070]
imul r14, rax
not r14
movabs rdx, 0x5713e0f231b20466
mov rax, qword [0x14031d060]
xor rax, rdx
and r14, rax
ror r14, 0x32
shr r14, 8
movabs rax, 0xd8fcb49ff4d90cd0
mov r9, qword [0x14031d060]
imul r9, rax
add r9, rbx
movabs rax, 0xbfb2759f7fffffff
xor r9, rax
shr r9, 0x1f
not r9
movabs r8, 0xa181130b5ea8a973
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, 0xdf
mov edx, 0x8000003f
and ecx, edx
jge 0x140169ad2
dec ecx
or ecx, 0xffffffc0
inc ecx
mov rax, r9
ror rax, cl
not rax
movabs rcx, 0x509a34d0bf25bfb0
mov r13, rax
imul r13, rcx
add r8, r13
mov r10, r9
imul r10, r14
sub r10, r8
xor r10, rsi
movzx r15d, r8b
mov ecx, r15d
and ecx, 0xf
and ecx, edx
jge 0x140169b11
dec ecx
or ecx, 0xffffffc0
inc ecx
rol r10, cl
movabs rcx, 0x6325de51caffb3f0
imul rax, rcx
movabs rcx, 0x4574128eb4e6f657
add rax, rcx
xor r10, rax
mov rax, r8
sub rax, qword [0x14031d078]
xor r10, rax
xor r10, r11
mov rax, r10
movabs rcx, 0xd79435e50d79435f
and eax, 1
je 0x140169e38
sub rax, 1
je 0x140169d35
sub rax, 1
movabs r15, 0xaaaaaaaaaaaaaaab
je 0x140169c6a
cmp rax, 1
jne 0x140169ec1
mov rsi, r8
imul rsi, r9
movabs rax, 0x8c5e2548b19a825d
add rax, r10
xor rsi, rax
ror rsi, 8
shr rsi, 0xc
not rsi
movabs rcx, 0x83571b68dfcc
mov rdx, qword [0x14031d088]
add rdx, rcx
movabs rax, 0xa10396730edb563d
xor rdx, rax
movzx eax, sil
movzx ecx, r10b
imul ecx, eax
and cl, 0x3f
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db943883337
sub rax, r9
mov r9, rdx
xor r9, rax
mov rcx, r9
imul rcx, rbx
mov eax, 0x9253e1dd
add rcx, rax
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 rbx, 0x8d0dd099b1c571ea
sub rbx, rsi
shr rbx, cl
movabs rcx, 0xa1893793bf803a85
add rcx, r13
mov rax, r15
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r10
lea rdx, [0x14031d060]
imul rax, qword [rdx + rcx*8]
imul rax, r10
sub rax, r14
xor rbx, rax
jmp 0x140169ec1
movabs rcx, 0xaaaaaa1a924a1ce3
mov r9, r10
xor r9, rcx
movabs rcx, 0x1206ed5047c0af
imul r9, rcx
movabs rcx, 0xffff7e8ab45a2e3f
imul r13, rcx
movabs rcx, 0xaa7ea62228bcf1fb
add r9, rcx
add r9, r13
movabs rax, 0x277cd7be409acb83
mov rcx, r9
xor rcx, rax
mov rax, r15
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r8, r9
not r8
lea rax, [0x14031d060]
imul r8, qword [rax + rcx*8]
xor r8, 0xffffffffc71fca33
lea ecx, [r10 - 0x1f]
and cl, 0x3f
rol r8, cl
movabs rax, 0x747a05c600000000
imul r8, rax
mov rcx, r8
ror rcx, 0x33
not rcx
movabs rax, 0x9b2de6b23dd92690
imul rcx, rax
mov rax, r9
sub rax, r8
lea rdx, [rcx + rax*4]
mov cl, r14b
and cl, 0x3f
ror rdx, cl
mov rax, rbx
mov rbx, rdx
imul rbx, rax
jmp 0x140169ec1
movabs rax, 0x6e7fc735f1207911
imul r10, rax
mov rax, rcx
mul r10
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r10b
sub cl, dl
movabs rdx, 0x9acf472fafd42e72
shl rdx, cl
mov rax, r11
mov r11, rdx
xor r11, rax
and r15d, 0x8000003f
jge 0x140169d81
dec r15d
or r15d, 0xffffffc0
inc r15d
mov cl, r15b
rol r11, cl
movabs rcx, 0xa181130b5ea8a973
add rcx, r10
movabs r15, 0xaaaaaaaaaaaaaaab
mov rax, r15
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0xffffecf4a157568d
lea rax, [0x14031d060]
mov rax, qword [rax + rcx*8]
imul rax, rdx
xor r11, rax
movabs rax, 0xffffc7a7ce8e6ace
or r11, rax
mov rbx, qword [0x14031d070]
imul rbx, rsi
sub rbx, r8
mov rax, r14
sub rax, r11
xor rbx, rax
movabs rax, 0xc7a7c6a69f866ac3
xor rbx, rax
mov rax, r10
imul rax, r8
imul rax, rbx
mov rdi, r9
sub rdi, rax
movabs rax, 0x789589450d426d9
add rdi, rax
xor rdi, r14
movzx eax, r9b
imul ecx, eax, 0xe6
and cl, 0x3f
rol rdi, cl
not rdi
jmp 0x140169ec1
mov rcx, r10
imul rcx, qword [0x14031d080]
and rcx, qword [0x14031d070]
mov rax, r11
mov r11, rcx
xor r11, rax
ror r11, 0xe
imul r11, r8
mov rdi, r14
not rdi
imul rdi, r9
movabs rax, 0x7cd8a7de42773b22
imul rdi, rax
imul r14, qword [0x14031d060], 0xffffffffe765b768
mov rdx, qword [0x14031d068]
sub r14, rdx
mov al, dil
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x140169ea4
dec ecx
or ecx, 0xffffffc0
inc ecx
ror r14, cl
movabs rax, 0xa181130b5ea8a973
add r14, rax
add r14, r13
movabs r15, 0xaaaaaaaaaaaaaaab
movabs rax, 0xff055d7bb23c31ef
xor rsi, rax
mov rax, r15
mul rsi
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rsi, rax
xor r11, rdi
lea rax, [0x14031d060]
imul r11, qword [rax + rsi*8]
not r8
imul r8, r10
imul r8, r14
imul r8, rbx
movabs rcx, 0xf5ed7e87b58f7b33
xor rcx, r9
not rcx
xor rcx, r8
sub rcx, r11
call fcn.14015d684
mov qword [0x140321f60], rax
mov rcx, qword [rbp + 0x1b00]
mov rax, qword [rcx]
cmp rax, qword [rcx + 8]
je 0x140169f36
mov qword [rcx + 8], rax
mov dword [rbp - 0x68], r12d
mov dword [rbp - 0x68], 0x84be8dc9
mov eax, dword [rbp - 0x68]
add eax, 0x875d93b3
xor eax, 0x29081962
sub eax, dword [0x14031d058]
sub eax, dword [0x14031d050]
sub eax, 0x54fba7b9
xor eax, 0xf81f8faf
sub eax, dword [0x14031d048]
mov rcx, qword [0x14031d040]
add eax, 0x9ac10aef
add eax, ecx
xor eax, 0x1599bd91
sub eax, 0x5aa9fcee
xor eax, 0x6d9af06b
lea edx, [rcx + 0x351a4fb9]
add edx, eax
not edx
mov eax, dword [0x14031d038]
xor eax, 0xd21d74a2
sub edx, eax
mov ecx, dword [0x14031d030]
xor ecx, 0x2de28b5d
add ecx, 0xb768cab6
add ecx, edx
xor ecx, 0xc40b54da
mov dword [rbp - 0x68], ecx
mov dword [0x14031d090], ecx
mov dword [rbp - 0x68], r12d
mov qword [rbp + 0x28], r12
movabs rax, 0xaf3108f1a128f41e
mov qword [rbp + 0x28], rax
mov qword [rbp - 0x40], r12
movabs rax, 0x79d309770cbdbb9
mov qword [rbp - 0x40], rax
movabs rcx, 0xf33a52b50bf2cf03
add rcx, qword [rbp - 0x40]
movabs rax, 0xf455366253089df7
xor rcx, rax
sub rcx, qword [0x14031d058]
sub rcx, qword [0x14031d050]
movabs rax, 0xedf047f5689676c
sub rcx, rax
movabs rax, 0xf8f8cd997177ff71
xor rcx, rax
sub rcx, qword [0x14031d048]
movabs rax, 0x47d654bae6c878ed
add rcx, rax
mov rdi, qword [0x14031d040]
add rcx, rdi
movabs rax, 0x5a9179a97e5f85e9
xor rcx, rax
movabs rax, 0x5f627dc6fd334e7c
sub rcx, rax
movabs rax, 0x663b3cd2db4c2e19
xor rcx, rax
movabs rdx, 0x3483ce45b4252909
add rdx, rcx
add rdx, rdi
not rdx
movabs rcx, 0x13cce94ad42fc990
mov r10, qword [0x14031d038]
mov rax, r10
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b52bd0366f
mov r11, qword [0x14031d030]
mov rcx, r11
xor rcx, rax
movabs rax, 0xe0b56d89cb900ce5
add rdx, rax
add rdx, rcx
movabs rax, 0xf64b40b30a3cc570
xor rdx, rax
mov qword [rbp - 0x40], rdx
movabs rcx, 0xf33a52b48c707283
add rcx, qword [rbp + 0x28]
movabs rax, 0x97d5366253081e75
xor rcx, rax
sub rcx, qword [0x14031d058]
sub rcx, qword [0x14031d050]
movabs rax, 0x7120fb80aaf51faa
add rcx, rax
movabs rax, 0xf8f8cd99f2f86563
xor rcx, rax
sub rcx, qword [0x14031d048]
movabs rax, 0x7d654bb93dded7c
add rcx, rax
add rcx, rdi
movabs rax, 0x5a9179aa0fd0376b
xor rcx, rax
movabs rax, 0x5f627dc772fdf84e
sub rcx, rax
movabs rax, 0x4a3b3cd31b11586c
xor rcx, rax
movabs rax, 0xb483ce46302af502
add rcx, rax
add rcx, rdi
not rcx
movabs rax, 0x13cce94ad231c01e
xor r10, rax
sub rcx, r10
movabs rax, 0xec3316b52dce3fe1
xor r11, rax
movabs rax, 0xe0b56d87cb888973
add rcx, rax
add rcx, r11
movabs rax, 0x8753c080da253c5e
xor rcx, rax
mov qword [rbp + 0x28], rcx
and rcx, rdx
mov qword [rbp - 0x40], r12
mov qword [rbp + 0x28], r12
cmp qword [rbp + 0x1b18], rcx
jne 0x14016a24b
mov dword [rbp - 0x64], r12d
mov dword [rbp - 0x64], 0x7e268038
mov eax, dword [rbp - 0x64]
add eax, 0x888521b3
xor eax, 0xb7081a89
sub eax, dword [0x14031d058]
sub eax, dword [0x14031d050]
sub eax, 0x54ff1e63
xor eax, 0xf6f36377
sub eax, dword [0x14031d048]
mov rcx, qword [0x14031d040]
add eax, 0x992fd9ae
add eax, ecx
xor eax, 0x14489f99
sub eax, 0x59e26d46
xor eax, 0xfd07202f
lea edx, [rcx + 0x33fad69b]
add edx, eax
not edx
mov eax, dword [0x14031d038]
xor eax, 0xd22212da
sub edx, eax
mov eax, dword [0x14031d030]
xor eax, 0x2ddded25
add eax, 0xbc0b606e
add eax, edx
xor eax, 0x82928b82
mov dword [rbp - 0x64], eax
mov dword [rbp - 0x64], r12d
jmp 0x14017423e
movabs rsi, 0x21c0dd729c5d5327
movabs rax, 0xbea2ffab70174da0
movabs r14, 0x36bc7cf34e1ce496
mov rbx, qword [0x14031d080]
imul rbx, rax
movabs rax, 0xed8a9dcd434456b0
xor rbx, rax
mov r13, rbx
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 r8, rbx
and r8, rsi
lea r10, [0x14031d060]
imul r8, qword [r10 + rcx*8]
movabs rax, 0x3dad7df4636521b8
imul r8, rax
shr r8, 3
movabs rax, 0x3592dc0873e4d21f
xor r8, rax
movabs rax, 0xffffff57c0583447
mov rdi, rbx
imul rdi, rax
sub rdi, 0x878f6ec
xor rdi, r8
xor rdi, qword [0x14031d060]
mov rax, r8
imul rax, qword [0x14031d070]
movabs rcx, 0xb9de928bc9eb8b66
imul rax, rcx
not rax
and rdi, rax
ror rdi, 0x30
shr rdi, 8
movabs rcx, 0xde3f228d63a2acd9
add rcx, rbx
xor rcx, 0xfffffffff765806b
mov rax, r9
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0x13b7974232f7908
mov r11, qword [r10 + rcx*8]
imul r11, rax
add r11, rsi
movabs rcx, 0x6fa8bfeadc05d368
mov rax, r8
imul rax, rcx
xor r11, rax
shr r11, 0x1f
not r11
mov r15, r11
xor r15, rbx
movabs rcx, 0xde3f228d63a2acd9
add rcx, r11
mov rax, r9
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r11b
movzx ecx, byte [r10 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x77
and ecx, 0x8000003f
jge 0x14016a3c3
dec ecx
or ecx, 0xffffffc0
inc ecx
ror r15, cl
not r15
imul r15, r8
imul rdx, r15, 0xfffffffff7870914
mov qword [rsp + 0x40], rdx
movabs r9, 0xde3f228d63a2acd9
add r9, rdx
mov r10, r11
imul r10, rdi
sub r10, r9
xor r10, r14
mov cl, r9b
xor cl, 0xf8
and cl, 0xf
rol r10, cl
mov rax, r9
sub rax, qword [0x14031d078]
xor r10, rax
movabs rax, 0x2acb81bdf9c7de0c
imul r15, rax
movabs rax, 0x734ebbe6f2a7b00f
add r15, rax
xor r10, r15
xor r10, r8
xor r10, rbx
mov rax, r10
and eax, 3
movabs r15, 0xaaaaaaaaaaaaaaab
je 0x14016ad6a
sub rax, 1
je 0x14016ac42
sub rax, 1
je 0x14016a552
cmp rax, 1
jne 0x14016a637
mov r14, r9
imul r14, r11
movabs rax, 0x810c91915cdd8a2f
add rax, r10
xor r14, rax
ror r14, 8
shr r14, 0xc
xor r14, rbx
not r14
movabs rcx, 0x83572b1a8564
mov rdx, qword [0x14031d088]
add rdx, rcx
movabs rax, 0xdebda7f503a3093f
xor rdx, rax
movzx eax, r10b
movzx ecx, r14b
imul ecx, eax
and cl, 0x3f
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db973fa699f
sub rax, r11
mov r11, rdx
xor r11, rax
mov rcx, r11
imul rcx, rsi
mov eax, 0xa221bb75
add rcx, rax
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, 0x8f2fd579a40f79a0
sub rsi, r14
shr rsi, cl
movabs rax, 0xde474715b4487893
mov rcx, qword [rsp + 0x40]
add rcx, rax
mov rax, r15
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, rdi
xor rsi, rax
jmp 0x14016a63e
movabs rax, 0xaaaaaa1aa238464b
mov rcx, r10
xor rcx, rax
movabs rax, 0x1206ed60359a07
imul rcx, rax
movabs r9, 0xfff17ca8755a7037
mov rax, r8
xor rax, r9
sub rcx, rax
movabs rax, 0xffff7e8a84287497
imul rdx, rax
movabs r11, 0x1a475e9ae556bc96
add r11, rcx
add r11, rdx
movabs rax, 0x277cd7be70e8912b
mov rcx, r11
xor rcx, rax
mov rax, r15
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, 0xfffffffff76d909b
lea ecx, [r10 + 9]
and cl, 0x3f
rol r9, cl
movabs rax, 0x1438614400000000
xor r13, rax
movabs rax, 0x7c7a7dc69e6a9a2a
and r13, rax
imul r9, r13
mov rcx, r11
sub rcx, r9
mov rax, r9
not rax
movabs rdx, 0x9b2de6b2fc104c30
imul rax, rdx
lea rdx, [rax + rcx*4]
mov cl, dil
and cl, 0x3f
ror rdx, cl
mov rax, rsi
mov rsi, rdx
imul rsi, rax
lea r13, [0x14031d060]
movabs rax, 0xff055d7b824e6b47
xor r14, rax
mov rax, r15
mul r14
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub r14, rax
xor r8, rbx
imul r8, qword [r13 + r14*8]
not r9
imul r9, r10
imul r9, rdi
imul r9, rsi
movabs rcx, 0xf5ed7e8785fd219b
xor rcx, r11
not rcx
xor rcx, r9
sub rcx, r8
call fcn.14015dcb4
mov qword [0x140321f48], rax
movabs rax, 0xd6fb11e98f3bec0e
mov r9, qword [0x14031d070]
imul r9, rax
not r9
movabs rcx, 0xe417f5df3a80b32b
mov rsi, qword [0x14031d060]
mov rax, rsi
xor rax, rcx
and r9, rax
ror r9, 0x33
shr r9, 8
movabs rax, 0xe6730111b023b608
mov r10, qword [0x14031d088]
imul r10, rax
movabs rax, 0x4e3f59c99f0cac40
add r10, rax
movabs rax, 0x8f722d46ffffffff
xor r10, rax
shr r10, 0x1f
not r10
movabs r8, 0xb1c0a63660f353c0
lea rcx, [r10 + r8]
mov rax, r15
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r10b
movzx ecx, byte [r13 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0xd3
and ecx, 0x8000003f
jge 0x14016a750
dec ecx
or ecx, 0xffffffc0
inc ecx
mov rdx, r10
ror rdx, cl
not rdx
movabs rax, 0xd07bb8d5f560d294
mov rdi, rdx
imul rdi, rax
add r8, rdi
mov r11, r10
imul r11, r9
sub r11, r8
movabs rax, 0x263f221144fdf65f
xor r11, rax
mov cl, r8b
xor cl, 0xfc
and cl, 0xf
rol r11, cl
mov rax, r8
sub rax, qword [0x14031d078]
xor r11, rax
movabs rax, 0x93363e230a01500
imul rdx, rax
movabs rax, 0x440444e7e619f000
add rdx, rax
xor r11, rdx
movabs rax, 0x1be80a20ccd30367
xor r11, rax
mov rbx, r11
mov r14, qword [0x14031d080]
imul rbx, r14
and rbx, qword [0x14031d078]
xor rbx, rax
ror rbx, 0x27
imul rbx, r8
not r9
imul r9, r10
movabs rax, 0x7cd8a7de72fc022e
imul r9, rax
imul r8, rsi, 0xfffffffff653b04c
mov rdx, qword [0x14031d068]
sub r8, rdx
mov al, r9b
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x14016a82a
dec ecx
or ecx, 0xffffffc0
inc ecx
ror r8, cl
lea rcx, [rdi + r8]
movabs rax, 0x4e3f59c99f0cac40
imul rcx, rax
movabs rax, 0x440444e7e619f000
add rcx, rax
movabs rax, 0x4e3f59c99f0cac3f
sub rax, rdi
imul rcx, rax
imul rcx, r11
movabs rax, 0xf5ed7e878504423f
xor r10, rax
not r10
xor rcx, r10
xor rbx, r9
imul rbx, r14
sub rcx, rbx
call fcn.14015dd68
mov qword [0x140321f78], rax
xor edx, edx
mov r8d, 0xd6
lea rcx, [rbp + 0x560]
call fcn.14029dcc0
movabs rax, 0x61612664e6ce06
mov rdi, qword [rbp + 0x1b10]
mov r11, rdi
xor r11, rax
movabs rax, 0x15a0b1750f0555b5
imul r11, rax
ror r11, 6
movzx eax, dil
movzx ecx, dil
imul ecx, eax
and cl, 7
shr r11, cl
xor r11, rdi
movabs rcx, 0xf8c0a7001f0014e1
mov rax, rdi
imul rax, rcx
ror rax, 0x19
imul rax, r11
movabs rcx, 0xb6db357fcac8aa
xor rax, rcx
mov qword [rsp + 0x40], rax
mov r8, rax
not r8
mov rcx, r8
imul rcx, r11
mov rax, r15
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rsi, r8
imul rsi, qword [r13 + rcx*8]
imul rsi, r11
movabs rax, 0x9610a54465ca1ae3
xor rsi, rax
movzx eax, r8b
imul ecx, eax, 0xfc
shl rsi, cl
mov rcx, rsi
imul rcx, r8
mov qword [rsp + 0x50], rcx
mov rax, r15
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r9, rsi
and r9, r8
imul r9, qword [r13 + rcx*8]
imul r9, r11
imul r9, rdi
movabs rax, 0x202e134e0e63f10
xor r9, rax
shr r9, 3
mov rax, r8
imul rax, rdi
xor r9, rax
movabs rax, 0x737f3cf71a66bcf
mov rbx, rsi
imul rbx, rax
add rbx, rdi
xor rbx, r9
xor rbx, qword [0x14031d060]
mov rax, r9
imul rax, qword [0x14031d070]
movabs rcx, 0x41169e137815d4ee
imul rax, rcx
not rax
and rbx, rax
movzx r14d, r8b
mov ecx, r14d
xor ecx, 0x1f
and ecx, 0x8000003f
jge 0x14016a9f3
dec ecx
or ecx, 0xffffffc0
inc ecx
ror rbx, cl
shr rbx, 8
mov rcx, rsi
sub rcx, r8
movabs rax, 0x737f367469bdfe3
xor rcx, rax
mov rax, r15
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r10, rdi
imul r10, qword [r13 + rcx*8]
movabs rax, 0x543d8d0ade41e62
imul r10, rax
add r10, r8
mov rax, r9
imul rax, r8
imul rax, r11
shl rax, 2
xor r10, rax
shr r10, 0x1f
not r10
mov r13, r10
xor r13, rsi
mov rcx, r10
sub rcx, r8
mov rax, r15
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
not cl
and cl, 0x3f
ror r13, cl
not r13
imul r13, r9
imul r13, rdi
sub r13, r8
mov rdi, r10
imul rdi, rbx
sub rdi, r13
xor rdi, r11
movzx r15d, r13b
mov ecx, r15d
and ecx, 0xf
mov edx, 0x8000003f
and ecx, edx
jge 0x14016aac3
dec ecx
or ecx, 0xffffffc0
inc ecx
rol rdi, cl
mov rax, r13
imul rax, r8
xor rdi, rax
mov rax, r13
sub rax, qword [0x14031d078]
xor rdi, rax
xor rdi, r9
xor rdi, rsi
mov rax, rdi
and rax, r8
and eax, 3
je 0x14016b056
sub rax, 1
je 0x14016af22
sub rax, 1
je 0x14016ae1b
cmp rax, 1
jne 0x14016b103
movabs rcx, 0x746fd0ff1efa75cf
mov rax, r8
imul rax, rcx
mov r11, rdi
sub r11, rax
mov rax, r13
imul rax, r10
xor r11, rax
and r14d, 0x3c
xor r14d, 0xe4
and r14d, edx
jge 0x14016ab4b
dec r14d
or r14d, 0xffffffc0
inc r14d
mov cl, r14b
ror r11, cl
shr r11, 0xc
xor r11, rsi
not r11
movabs rcx, 0xf8c88fcf9ae4daec
mov rdx, qword [0x14031d088]
add rdx, rcx
xor rdx, qword [rsp + 0x40]
movabs rax, 0xf84a89e0d1fffa6f
xor rdx, rax
movzx eax, dil
movzx ecx, r11b
imul ecx, eax
and cl, 0x3f
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf027121c2043617
sub rax, r10
mov r10, rdx
xor r10, rax
mov rcx, r10
imul rcx, r8
movabs rax, 0x737f367ec201b03
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 r14, [0x14031d060]
mov cl, byte [r14 + rcx*8]
and cl, 0xf
movabs rax, 0xe1485e557b4c91f
imul r8, rax
sub r8, r11
movabs rax, 0x694e79e1e90533e9
sub r8, rax
shr r8, cl
movabs rcx, 0xf8c02810e15b9432
add rcx, r13
mov rax, r15
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, rdi
imul rax, qword [r14 + rcx*8]
imul rax, rdi
sub rax, rbx
xor r8, rax
jmp 0x14016b10d
movabs rax, 0x1f556619667eed75
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, 0xde3f228d63a2acd8
mov rax, rbx
imul rax, rdx
xor rax, r14
not rax
shl rax, cl
xor r8, rax
mov cl, r9b
and cl, 0x3f
rol r8, cl
movabs rcx, 0xde3f228d63a2acd9
add rcx, r10
mov rax, r15
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0x1d729c5d5327
lea r13, [0x14031d060]
mov rax, qword [r13 + rcx*8]
imul rax, rdx
xor r8, rax
movabs rax, 0xffffc7a7fefc3066
or r8, rax
mov rsi, qword [0x14031d070]
imul rsi, r14
sub rsi, r9
mov rax, rdi
sub rax, r8
xor rsi, rax
movabs rax, 0xc7a7c6a6aff4306b
xor rsi, 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, rsi
div rcx
mov rcx, rdx
mov rdx, r10
imul rdx, r9
imul rdx, rsi
shr rdx, cl
mov rax, r11
sub rax, rdx
sub rax, rbx
movabs rbx, 0x789589460a67c71
add rbx, rax
xor rbx, rdi
movzx eax, r11b
imul ecx, eax, 0xe
and cl, 0x3f
rol rbx, cl
not rbx
jmp 0x14016a63e
mov rax, r15
mul r8
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rcx, r8
sub rcx, rax
mov rax, r10
imul rax, qword [0x14031d080]
lea r13, [0x14031d060]
mov rdx, qword [r13 + rcx*8]
and rdx, rax
xor rdx, r8
and r8b, 0x3f
mov cl, r8b
mov r8, rdx
ror r8, cl
imul r8, r9
not rdi
imul rdi, r11
movabs rax, 0x7cd8a7de7205618a
imul rdi, rax
mov rax, r8
imul rax, rbx
mov rbx, rdi
xor rbx, rax
imul rdi, qword [0x14031d060], 0xfffffffff7870914
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 0x14016ae01
dec ecx
or ecx, 0xffffffc0
inc ecx
ror rdi, cl
movabs rax, 0xde3f228d63a2acd9
add rdi, rax
add rdi, qword [rsp + 0x40]
jmp 0x14016a63e
lea r10, [r13 + 1]
movabs rax, 0x737721235d62b1f
imul r10, rax
movabs rcx, 0x7397030c4a42fbf
mov rax, r9
xor rax, rcx
sub r10, rax
movabs rcx, 0x5262a68213c619c3
mov rax, rdi
xor rax, rcx
movabs rcx, 0xf8da0a75d1cbc58f
imul rax, rcx
add r10, rax
movabs rax, 0xdfb4db26c116cea3
mov rcx, r10
xor rcx, rax
movabs r15, 0xaaaaaaaaaaaaaaab
mov rax, r15
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r13, r10
not r13
lea rax, [0x14031d060]
imul r13, qword [rax + rcx*8]
movabs rax, 0x737f3674693cf13
xor r13, rax
lea ecx, [rdi + 1]
and cl, 0x3f
rol r13, cl
mov rax, r11
not rax
shl rax, 0x1d
xor rax, qword [rsp + 0x50]
movabs rcx, 0x84b2715e2f94c5a2
and rax, rcx
imul r13, rax
movzx ecx, r11b
xor ecx, 0x9e
and ecx, 0x8000003f
jge 0x14016aef0
dec ecx
or ecx, 0xffffffc0
inc ecx
mov rax, r13
ror rax, cl
not rax
movabs rcx, 0x1e0375340efa4c84
imul rax, rcx
sub rax, r13
add rax, r10
shl rax, 2
mov cl, bl
and cl, 0x3f
ror rax, cl
imul r8, rax
jmp 0x14016b10d
mov rax, r8
imul rax, r8
shr rax, 2
not rax
imul rax, r8
imul rdi, rax
movabs rax, 0xd79435e50d79435f
mul rdi
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, dil
sub cl, dl
mov rax, rsi
imul rax, qword [rsp + 0x40]
xor rax, r11
not rax
shl rax, cl
xor r9, rax
and r15d, 0x8000003f
jge 0x14016af7c
dec r15d
or r15d, 0xffffffc0
inc r15d
mov cl, r15b
rol r9, cl
mov rcx, rdi
sub rcx, r8
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]
imul r8, qword [rax + rcx*8]
xor r9, r8
movabs rax, 0x737cb3f4f026fee
or r9, rax
mov r8, r11
imul r8, qword [0x14031d070]
sub r8, r13
mov rax, rbx
sub rax, r9
xor r8, rax
movabs rax, 0x3f6fca3e1e0a6fe3
xor r8, rax
movabs rax, 0xcccccccccccccccd
mul rsi
shr rdx, 3
lea rax, [rdx + rdx*4]
add rax, rax
mov rcx, rsi
sub rcx, rax
or rcx, 1
xor edx, edx
mov rax, r8
div rcx
mov rcx, rdx
mov rdx, rdi
imul rdx, r13
imul rdx, r8
shr rdx, cl
mov rax, r10
sub rax, rdx
sub rax, rsi
movabs rcx, 0xbeabf32ea7dc07
mov rsi, rax
sub rsi, rcx
xor rsi, rbx
mov al, r10b
add al, al
lea ecx, [rax + r10]
add cl, cl
and cl, 0x3f
rol rsi, cl
not rsi
jmp 0x14016b10d
movabs r15, 0xaaaaaaaaaaaaaaab
mov rax, r15
mul r9
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rcx, r9
sub rcx, rax
mov rax, rdi
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, r13
not rbx
imul rbx, r10
movabs rax, 0x8410ab46c3fb3e02
imul rbx, rax
mov rax, r9
imul rax, rsi
mov rsi, rbx
xor rsi, rax
mov rbx, qword [rbp + 0x1b10]
imul rbx, qword [0x14031d060]
mov rdx, qword [0x14031d068]
sub rbx, rdx
mov al, sil
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x14016b0fb
dec ecx
or ecx, 0xffffffc0
inc ecx
ror rbx, cl
add rbx, r13
jmp 0x14016b10d
movabs r15, 0xaaaaaaaaaaaaaaab
movabs rax, 0x7cd51e333b034cf
xor r11, rax
mov rax, r15
mul r11
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub r11, rax
xor r9, rsi
lea rax, [0x14031d060]
imul r9, qword [rax + r11*8]
not r13
imul r13, rdi
imul r13, rbx
imul r13, r8
movabs rax, 0xd25721f34037e13
xor r10, rax
not r10
xor r13, r10
sub r13, r9
mov qword [rsp + 0x50], r13
xor eax, eax
mov byte [rsp + 0x30], al
mov dword [rbp + 0x1e2], 0xf48b3b5d
mov dword [rbp + 0x1e6], 0x1200956a
mov dword [rbp + 0x1ea], 0xef8142fa
mov dword [rbp + 0x1ee], 0x37925acb
mov dword [rbp + 0x1f2], 0x4f4d088e
mov r13, r12
movabs r12, 0x13cce94adba99340
xor edx, edx
mov rax, r13
div r12
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 + 0x1e2]
sub r10w, si
mov eax, 0x6afe
add r10w, ax
mov eax, 0x9204
sub ax, si
xor r10w, ax
sub r10w, word [0x14031d058]
sub r10w, word [0x14031d050]
add r10w, di
add r10w, r15w
sub r10w, cx
mov eax, 0x6fc1
add r10w, ax
lea eax, [r15 + rsi]
mov ecx, 0x2d07
add ax, cx
xor r10w, ax
sub r10w, word [0x14031d048]
sub r10w, dx
sub r10w, r9w
sub r10w, r15w
mov rcx, qword [0x14031d040]
sub r10w, 0x50
add r10w, cx
add r10w, r11w
add r10w, si
movzx eax, r8w
sub ax, r9w
add ax, si
add ax, r15w
xor r10w, ax
movzx eax, r15w
sub ax, r8w
xor ax, r15w
sub r10w, ax
sub r10w, r11w
add r10w, r15w
mov eax, 0x4230
add r10w, ax
movzx eax, r15w
ror ax, 7
mov edx, 0x4050
sub r11w, dx
add ax, r11w
xor r10w, ax
movzx edx, word [0x14031d030]
xor dx, r15w
sub dx, r10w
movzx eax, word [0x14031d038]
xor ax, bx
sub dx, ax
mov eax, 0x7100
add eax, r15d
mov r8d, 0x2440
xor ax, r8w
sub dx, ax
mov eax, 0x9d7
add eax, r15d
add ax, ax
add dx, ax
sub dx, cx
sub dx, r14w
sub dx, di
sub dx, si
movzx eax, r15w
movzx ecx, bx
imul ecx, eax
xor dx, cx
mov word [rbp + r13*2 + 0x1e2], dx
inc r13
cmp r13, 0xa
jb 0x14016b1ac
lea rax, [rbp + 0x1e2]
mov qword [rbp + 0xb0], rax
mov qword [rbp + 0xb8], 0x14
mov r8, qword [rbp + 0xb0]
xor r12d, r12d
mov qword [rbp - 0x38], r12
movabs rax, 0xa30f9fa78188a44d
mov qword [rbp - 0x38], rax
movabs rcx, 0xf33a52b4deebb483
add rcx, qword [rbp - 0x38]
movabs rax, 0xd9d53662530870f0
xor rcx, rax
sub rcx, qword [0x14031d058]
sub rcx, qword [0x14031d050]
movabs rax, 0x7120fb80a9fdade4
add rcx, rax
movabs rax, 0xf8f8cd999f33365b
xor rcx, rax
sub rcx, qword [0x14031d048]
movabs rax, 0x7d654bb23e79d65
add rcx, rax
mov rdx, qword [0x14031d040]
add rcx, rdx
movabs rax, 0x5a9179a9b1bba023
xor rcx, rax
movabs rax, 0x5f627dc716a13e16
sub rcx, rax
movabs rax, 0x3a3b3cd2f1d12392
xor rcx, rax
movabs rax, 0xb483ce45dff111d0
add rax, rcx
add rdx, rax
not rdx
movabs rcx, 0x13cce94ad37bad26
mov rax, qword [0x14031d038]
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b52c8452d9
mov rcx, qword [0x14031d030]
xor rcx, rax
movabs rax, 0xe0b56d8916bf3e7b
add rdx, rax
add rdx, rcx
movabs rax, 0x403eb590b0e3f136
xor rdx, rax
mov qword [rbp - 0x38], rdx
mov r9, qword [rsp + 0x50]
lea rcx, [rbp + 0x560]
call fcn.14019c834
nop
mov qword [rbp - 0x38], r12
mov rcx, qword [rbp + 0xb0]
test rcx, rcx
je 0x14016b4d1
mov eax, r12d
cmp qword [rbp + 0xb8], r12
jbe 0x14016b4d1
mov byte [rax + rcx], r12b
inc rax
cmp rax, qword [rbp + 0xb8]
jae 0x14016b4d1
mov rcx, qword [rbp + 0xb0]
jmp 0x14016b4b8
movabs rax, 0xc4edb132f14b4dd0
mov r9, qword [0x14031d070]
imul r9, rax
not r9
movabs rcx, 0xf3e0e8f8888b1040
mov rsi, qword [0x14031d060]
mov rax, rsi
xor rax, rcx
and r9, rax
ror r9, 3
shr r9, 8
mov rbx, qword [0x14031d078]
movabs rax, 0x678a22074ba6d0f0
mov r8, rbx
imul r8, rax
movabs r10, 0x3f2a5442c8ab9238
sub r8, r10
movabs rax, 0xb2fa10b47fffffff
xor r8, rax
shr r8, 0x1f
not r8
lea rcx, [r8 + r10]
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, 0xab
mov r15d, 0x8000003f
and ecx, r15d
jge 0x14016b590
dec ecx
or ecx, 0xffffffc0
inc ecx
mov rdx, r8
ror rdx, cl
not rdx
movabs rax, 0xea96d0040d88240
mov rdi, rdx
imul rdi, rax
add r10, rdi
mov r11, r8
imul r11, r9
sub r11, r10
movabs rax, 0x95c21700dfa800ef
xor r11, rax
movzx ecx, r10b
xor ecx, 4
and ecx, 0xf
and ecx, r15d
jge 0x14016b5da
dec ecx
or ecx, 0xffffffc0
inc ecx
rol r11, cl
mov rax, r10
sub rax, rbx
xor r11, rax
movabs rax, 0x47e2f815559b0200
imul rdx, rax
movabs r13, 0x3818ac542a53ec40
sub rdx, r13
xor r11, rdx
movabs rax, 0xc1f17077faa0008
xor r11, rax
mov rbx, r11
mov r14, qword [0x14031d080]
imul rbx, r14
and rbx, rsi
xor rbx, rax
ror rbx, 8
imul rbx, r10
not r9
imul r9, r8
movabs rax, 0x7cd8a7de75560356
imul r9, rax
imul r10, rsi, 0xfffffffff7211048
mov rdx, qword [0x14031d068]
sub r10, rdx
mov al, r9b
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, r15d
jge 0x14016b66c
dec ecx
or ecx, 0xffffffc0
inc ecx
ror r10, cl
lea rcx, [rdi + r10]
movabs rax, 0xc0d5abbd37546dc8
imul rcx, rax
sub rcx, r13
movabs rax, 0xc0d5abbd37546dc7
sub rax, rdi
imul rcx, rax
imul rcx, r11
movabs rax, 0xf5ed7e8782ae4347
xor r8, rax
not r8
xor rcx, r8
xor rbx, r9
imul rbx, r14
sub rcx, rbx
call fcn.14015dcfc
mov qword [0x140321f70], rax
xor edx, edx
mov r8d, 0x94
lea rcx, [rbp + 0x2b0]
call fcn.14029dcc0
xor eax, eax
mov byte [rsp + 0x31], al
mov dword [rbp + 0x9c], 0xf4313bae
mov dword [rbp + 0xa0], 0x1237957a
mov dword [rbp + 0xa4], 0xf1f76ac2
mov eax, 0x5aa7
mov word [rbp + 0xa8], ax
mov r13, r12
movabs r12, 0x13cce94adba99340
xor edx, edx
mov rax, r13
div r12
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 + 0x9c]
sub r10w, si
mov eax, 0x6afe
add r10w, ax
mov eax, 0x9204
sub ax, si
xor r10w, ax
sub r10w, word [0x14031d058]
sub r10w, word [0x14031d050]
add r10w, di
add r10w, r15w
sub r10w, cx
mov eax, 0x6fc1
add r10w, ax
lea eax, [r15 + rsi]
mov ecx, 0x2d07
add ax, cx
xor r10w, ax
sub r10w, dx
sub r10w, r9w
sub r10w, word [0x14031d048]
sub r10w, r15w
mov rcx, qword [0x14031d040]
sub r10w, 0x50
add r10w, cx
add r10w, r11w
add r10w, si
movzx eax, r8w
sub ax, r9w
add ax, si
add ax, r15w
xor r10w, ax
movzx eax, r15w
sub ax, r8w
xor ax, r15w
sub r10w, ax
sub r10w, r11w
add r10w, r15w
mov eax, 0x4230
add r10w, ax
movzx eax, r15w
ror ax, 7
mov edx, 0x4050
sub r11w, dx
add ax, r11w
xor r10w, ax
mov edx, 0x9d7
add edx, r15d
add dx, dx
sub dx, r10w
mov eax, 0x7100
add eax, r15d
mov r8d, 0x2440
xor ax, r8w
sub dx, ax
movzx eax, bx
xor ax, word [0x14031d038]
sub dx, ax
movzx eax, word [0x14031d030]
xor ax, r15w
add dx, ax
sub dx, cx
sub dx, r14w
sub dx, di
sub dx, si
movzx eax, r15w
movzx ecx, bx
imul ecx, eax
xor dx, cx
mov word [rbp + r13*2 + 0x9c], dx
inc r13
cmp r13, 7
jb 0x14016b713
lea rax, [rbp + 0x9c]
mov qword [rbp + 0xc0], rax
mov qword [rbp + 0xc8], 0xe
mov r8, qword [rbp + 0xc0]
xor r12d, r12d
mov qword [rbp - 0x30], r12
movabs rax, 0x4913875b4dbda9e7
mov qword [rbp - 0x30], rax
movabs rcx, 0xf33a52b4975dd083
add rcx, qword [rbp - 0x30]
movabs rax, 0xf5d5366253082962
xor rcx, rax
sub rcx, qword [0x14031d058]
sub rcx, qword [0x14031d050]
movabs rax, 0x7120fb80aad45790
add rcx, rax
movabs rax, 0xf8f8cd99e7df51eb
xor rcx, rax
sub rcx, qword [0x14031d048]
movabs rax, 0x7d654bb8508b863
add rcx, rax
mov rdx, qword [0x14031d040]
add rcx, rdx
movabs rax, 0x5a9179aa03597833
xor rcx, rax
movabs rax, 0x5f627dc76f69ea46
sub rcx, rax
movabs rax, 0x5a3b3cd3159a5201
xor rcx, rax
movabs rax, 0xb483ce46258a1494
add rax, rcx
add rdx, rax
not rdx
movabs rcx, 0x13cce94ad25d7596
mov rax, qword [0x14031d038]
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b52da28a69
mov rcx, qword [0x14031d030]
xor rcx, rax
movabs rax, 0xe0b56d87f7a9b6eb
add rdx, rax
add rdx, rcx
movabs rax, 0xd63298f470a41686
xor rdx, rax
mov qword [rbp - 0x30], rdx
mov r9, qword [rbp + 0x1b18]
lea rcx, [rbp + 0x2b0]
call fcn.14019c834
nop
mov qword [rbp - 0x30], r12
mov rcx, qword [rbp + 0xc0]
test rcx, rcx
je 0x14016ba3a
mov eax, r12d
cmp qword [rbp + 0xc8], r12
jbe 0x14016ba3a
mov byte [rcx + rax], r12b
inc rax
cmp rax, qword [rbp + 0xc8]
jae 0x14016ba3a
mov rcx, qword [rbp + 0xc0]
jmp 0x14016ba21
movabs rsi, 0xe01cce906debfa81
movabs rax, 0x44349bb7d4195fd0
movabs r14, 0xf86b96e0e9c3c57d
mov rbx, qword [0x14031d068]
imul rbx, rax
movabs rax, 0xed8a9dcd48cd5ed0
xor rbx, rax
mov r13, rbx
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 r8, rbx
and r8, rsi
lea r10, [0x14031d060]
imul r8, qword [r10 + rcx*8]
movabs rax, 0xda3d8cbaccc11baa
imul r8, rax
shr r8, 3
movabs rax, 0xfb53a54f39766171
xor r8, rax
movabs rax, 0xffffff57c0e0a4c1
mov rdi, rbx
imul rdi, rax
sub rdi, 0x8200d8e
xor rdi, r8
xor rdi, qword [0x14031d060]
mov rax, r8
imul rax, qword [0x14031d070]
movabs rcx, 0xb9de928bc9531be0
imul rax, rcx
not rax
and rdi, rax
ror rdi, 0x10
shr rdi, 8
movabs r15, 0x1fe3316f9214057f
lea rcx, [rbx + r15]
xor rcx, 0xfffffffff7dd10ed
mov rax, r9
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0x4d447f483c4c7340
mov r11, qword [r10 + rcx*8]
imul r11, rax
sub r11, r15
movabs rcx, 0x110d26edf50657f4
mov rax, r8
imul rax, rcx
xor r11, rax
shr r11, 0x1f
not r11
mov r15, r11
xor r15, rbx
movabs rcx, 0x1fe3316f9214057f
add rcx, r11
mov rax, r9
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r11b
movzx ecx, byte [r10 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0xf1
and ecx, 0x8000003f
jge 0x14016bbb6
dec ecx
or ecx, 0xffffffc0
inc ecx
ror r15, cl
not r15
imul r15, r8
imul rdx, r15, 0xfffffffff7dff272
mov qword [rsp + 0x50], rdx
movabs r9, 0x1fe3316f9214057f
add r9, rdx
mov r10, r11
imul r10, rdi
sub r10, r9
xor r10, r14
mov cl, r9b
xor cl, 0xfe
and cl, 0xf
rol r10, cl
movabs rax, 0xe40af8fab3427f72
imul r15, rax
movabs rax, 0x2c0c39f7b7f63501
sub r15, rax
xor r10, r15
mov rax, r9
sub rax, qword [0x14031d078]
xor r10, rax
xor r10, r8
xor r10, rbx
mov rax, r10
and eax, 1
xor rax, 2
je 0x14016bf6b
sub rax, 1
je 0x14016be3e
sub rax, 1
je 0x14016bd49
cmp rax, 1
jne 0x14016c01e
mov r14, r9
imul r14, r11
movabs rax, 0xb39ea5ce875a6abf
add rax, r10
xor r14, rax
ror r14, 0x2a
shr r14, 0xc
xor r14, rbx
not r14
movabs rcx, 0x83572ba215e6
mov rdx, qword [0x14031d088]
add rdx, rcx
movabs rax, 0x1f61b417f2ad301f
xor rdx, rax
movzx eax, r14b
movzx ecx, r10b
imul ecx, eax
and cl, 0x3f
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db97342f919
sub rax, r11
mov r11, rdx
xor r11, rax
mov rcx, r11
imul rcx, rsi
mov eax, 0xa2992bf3
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 rsi, 0x36a8ead13038abaa
sub rsi, r14
shr rsi, cl
movabs rax, 0x1feb55f7e23160bf
mov rcx, qword [rsp + 0x50]
add rcx, rax
mov rax, r15
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, rdi
xor rsi, rax
jmp 0x14016c01e
movabs rax, 0xaaaaaa1aa280d6cd
mov rcx, r10
xor rcx, rax
movabs rax, 0x1206ed608d0a81
imul rcx, rax
movabs r9, 0xfff17ca875e2e0b1
mov rax, r8
xor rax, r9
sub rcx, rax
movabs rax, 0xffff7e8a8490e411
imul rdx, rax
movabs r11, 0x60321b9ba03a5d80
add r11, rcx
add r11, rdx
movabs rax, 0x277cd7be705001ad
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, 0xfffffffff7d5001d
lea ecx, [r10 + 0xf]
and cl, 0x3f
rol r9, cl
movabs rax, 0xe3c78779612df553
xor r13, rax
movabs rax, 0x7c7a7dc69ed20aac
and r13, rax
imul r9, r13
mov rcx, r9
ror rcx, 0x2d
not rcx
movabs rax, 0x9b2de6b2fef20e28
imul rcx, rax
mov rax, r11
sub rax, r9
lea rdx, [rcx + rax*4]
mov cl, dil
and cl, 0x3f
ror rdx, cl
mov rax, rsi
mov rsi, rdx
imul rsi, rax
jmp 0x14016c01e
movabs rax, 0x51fa88ac1f9f583f
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, 0x1fe3316f9214057e
mov rax, rbx
imul rax, rdx
xor rax, r14
not rax
shl rax, cl
xor r8, rax
mov cl, r9b
and cl, 0x3f
rol r8, cl
movabs rcx, 0x1fe3316f9214057f
add rcx, r10
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0xe906debfa81
lea rax, [0x14031d060]
mov rax, qword [rax + rcx*8]
imul rax, rdx
xor r8, rax
movabs rax, 0xffffc7a7fe44a0e0
or r8, rax
mov rsi, qword [0x14031d070]
imul rsi, r14
sub rsi, r9
mov rax, rdi
sub rax, r8
xor rsi, rax
movabs rax, 0xc7a7c6a6af4ca0ed
xor rsi, 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, rsi
div rcx
mov rcx, rdx
mov rdx, r10
imul rdx, r9
imul rdx, rsi
shr rdx, cl
mov rax, r11
sub rax, rdx
sub rax, rbx
movabs rbx, 0x7895894601eecf7
add rbx, rax
xor rbx, rdi
mov cl, r11b
shl cl, 3
and cl, 0x3f
rol rbx, cl
not rbx
jmp 0x14016c01e
movabs rax, 0xaaaaaaaaaaaaaaab
mul r8
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rcx, r8
sub rcx, rax
mov rax, r10
imul rax, qword [0x14031d080]
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, r9
not rdi
imul rdi, r11
movabs rax, 0x7cd8a7de72bdf10c
imul rdi, rax
mov rax, r8
imul rax, rbx
mov rbx, rdi
xor rbx, rax
imul rdx, qword [0x14031d060], 0xfffffffff7dff272
mov rdi, qword [0x14031d068]
sub rdx, rdi
mov al, bl
not al
movzx ecx, al
movzx eax, dil
xor ecx, eax
and ecx, 0x8000003f
jge 0x14016c009
dec ecx
or ecx, 0xffffffc0
inc ecx
ror rdx, cl
movabs rdi, 0x1fe3316f9214057f
add rdi, rdx
add rdi, qword [rsp + 0x50]
movabs rax, 0xff055d7b82f6fbc1
xor r14, rax
movabs rax, 0xaaaaaaaaaaaaaaab
mul r14
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub r14, rax
xor r8, rbx
lea rax, [0x14031d060]
imul r8, qword [rax + r14*8]
not r9
imul r9, r10
imul r9, rdi
imul r9, rsi
movabs rcx, 0xf5ed7e878545b11d
xor rcx, r11
not rcx
xor rcx, r9
sub rcx, r8
call fcn.14015dc90
mov qword [0x140321f68], rax
movabs rsi, 0xf570dd9a4d9517cf
movabs rbx, 0x521ece1ea34d786f
mov rdi, r12
movabs rax, 0x71ed59126cf79cfc
movabs r11, 0x20738ef4a2425252
mov r14, qword [0x14031d070]
imul r14, rax
not r14
movabs rdx, 0xdf8c710b55c9dace
mov rax, qword [0x14031d060]
xor rax, rdx
and r14, rax
ror r14, 0x10
shr r14, 8
movabs rax, 0x8e37fed401334c38
mov r10, qword [0x14031d060]
imul r10, rax
add r10, rbx
movabs rax, 0xa50b7e8cffffffff
xor r10, rax
shr r10, 0x1f
not r10
movabs r8, 0xade131e15cb28791
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, 0x5f
mov edx, 0x8000003f
and ecx, edx
jge 0x14016c15b
dec ecx
or ecx, 0xffffffc0
inc ecx
mov rax, r10
ror rax, cl
not rax
movabs rcx, 0x2f7cd863ecabb9f8
mov r13, rax
imul r13, rcx
lea r9, [r8 + r13]
mov r8, r10
imul r8, r14
sub r8, r9
xor r8, rsi
movzx r15d, r9b
mov ecx, r15d
and ecx, 0xf
and ecx, edx
jge 0x14016c19b
dec ecx
or ecx, 0xffffffc0
inc ecx
rol r8, cl
movabs rcx, 0xf9258c63f539e288
imul rax, rcx
movabs rcx, 0x4dd5632cfa91bfdf
add rax, rcx
xor r8, rax
mov rax, r9
sub rax, qword [0x14031d078]
xor r8, rax
xor r8, r11
mov rax, r8
and eax, 3
je 0x14016c4c0
sub rax, 1
je 0x14016c3bc
sub rax, 1
je 0x14016c2ea
cmp rax, 1
jne 0x14016c53f
mov rsi, r9
imul rsi, r10
movabs rax, 0x41479be8a5f29cdf
add rax, r8
xor rsi, rax
ror rsi, 0x28
shr rsi, 0xc
not rsi
movabs rcx, 0x83572bbaaa4c
mov rdx, qword [0x14031d088]
add rdx, rcx
movabs rax, 0xad63b4993c130d5f
xor rdx, rax
movzx eax, r8b
movzx ecx, sil
imul ecx, eax
and cl, 0x3f
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db9735a46b7
sub rax, r10
mov r10, rdx
xor r10, rax
mov rcx, r10
imul rcx, rbx
mov eax, 0xa281945d
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 rbx, 0x40cd8b9c49efce88
sub rbx, rsi
shr rbx, cl
movabs rcx, 0xade95669acb86c23
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, r14
xor rbx, rax
jmp 0x14016c53f
movabs rcx, 0xaaaaaa1aa2986963
mov r10, r8
xor r10, rcx
movabs rcx, 0x1206ed6095b52f
imul r10, rcx
movabs rcx, 0xffff7e8a84885bbf
imul r13, rcx
movabs rcx, 0xeb269e2e153bfea1
add r10, rcx
add r10, r13
movabs rax, 0x277cd7be7048be03
mov rcx, r10
xor rcx, rax
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r9, r10
not r9
lea rax, [0x14031d060]
imul r9, qword [rax + rcx*8]
xor r9, 0xfffffffff7cdbfb3
lea ecx, [r8 - 0x1f]
and cl, 0x3f
rol r9, cl
movabs rax, 0x34485d0600000000
imul r9, rax
mov rcx, r9
ror rcx, 0x31
not rcx
movabs rax, 0x9b2de6b2fe90f090
imul rcx, rax
mov rax, r10
sub rax, r9
lea rdx, [rcx + rax*4]
mov cl, r14b
and cl, 0x3f
ror rdx, cl
mov rax, rbx
mov rbx, rdx
imul rbx, rax
jmp 0x14016c53f
movabs rax, 0xb5d5312f30135419
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, 0xa8f2265b26ae830
shl rdx, cl
mov rax, r11
mov r11, rdx
xor r11, rax
and r15d, 0x8000003f
jge 0x14016c40f
dec r15d
or r15d, 0xffffffc0
inc r15d
mov cl, r15b
rol r11, cl
movabs rcx, 0xade131e15cb28791
add rcx, r8
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0xe1ea34d786f
lea rax, [0x14031d060]
mov rax, qword [rax + rcx*8]
imul rax, rdx
xor r11, rax
movabs rax, 0xffffc7a7fe5c1f4e
or r11, rax
mov rbx, qword [0x14031d070]
imul rbx, rsi
sub rbx, r9
mov rax, r14
sub rax, r11
xor rbx, rax
movabs rax, 0xc7a7c6a6af541f43
xor rbx, rax
mov rax, r8
imul rax, r9
imul rax, rbx
mov rdi, r10
sub rdi, rax
movabs rax, 0x789589460065359
add rdi, rax
xor rdi, r14
movzx eax, r10b
imul ecx, eax, 0xe6
and cl, 0x3f
rol rdi, cl
not rdi
jmp 0x14016c53f
mov rcx, r8
imul rcx, qword [0x14031d080]
and rcx, qword [0x14031d080]
mov rax, r11
mov r11, rcx
xor r11, rax
ror r11, 0x12
imul r11, r9
mov rdi, r14
not rdi
imul rdi, r10
movabs rax, 0x7cd8a7de72a54ea2
imul rdi, rax
imul r14, qword [0x14031d060], 0xfffffffff78b889c
mov rdx, qword [0x14031d068]
sub r14, rdx
mov al, dil
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x14016c52c
dec ecx
or ecx, 0xffffffc0
inc ecx
ror r14, cl
movabs rax, 0xade131e15cb28791
add r14, rax
add r14, r13
movabs rax, 0xff055d7b82ee446f
xor rsi, rax
movabs rax, 0xaaaaaaaaaaaaaaab
mul rsi
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rsi, rax
xor r11, rdi
lea rax, [0x14031d060]
imul r11, qword [rax + rsi*8]
not r9
imul r9, r8
imul r9, r14
imul r9, rbx
movabs rcx, 0xf5ed7e87855d0eb3
xor rcx, r10
not rcx
xor rcx, r9
sub rcx, r11
call fcn.14015ddd4
mov qword [0x140321f30], rax
movabs rsi, 0x1a021e8eeb719036
movabs rbx, 0xd2d51d073eb9f77b
mov rdi, r12
movabs rax, 0x8cb0cc749ff456cc
movabs r11, 0xd595244f9e38100e
mov r14, qword [0x14031d070]
imul r14, rax
not r14
movabs rcx, 0xd595244f99ffab6a
mov rax, qword [0x14031d060]
xor rax, rcx
and r14, rax
ror r14, 0x20
shr r14, 8
movabs rax, 0xc9c15079b0c6ecb8
mov r10, qword [0x14031d080]
imul r10, rax
movabs r8, 0x2d2ae2f8c1460885
sub r10, r8
movabs rax, 0x161850ca80000000
xor r10, rax
shr r10, 0x1f
not r10
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, 0xfb
mov edx, 0x8000003f
and ecx, edx
jge 0x14016c67f
dec ecx
or ecx, 0xffffffc0
inc ecx
mov rax, r10
ror rax, cl
not rax
movabs rcx, 0xc6ffddb19e827f78
mov r13, rax
imul r13, rcx
lea r9, [r8 + r13]
mov r8, r10
imul r8, r14
sub r8, r9
xor r8, rsi
movzx r15d, r9b
mov ecx, r15d
xor ecx, 4
and ecx, 0xf
and ecx, edx
jge 0x14016c6c2
dec ecx
or ecx, 0xffffffc0
inc ecx
rol r8, cl
movabs rcx, 0x526f1fbc3f6806a8
imul rax, rcx
movabs rcx, 0x3e4a01b133049519
sub rax, rcx
xor r8, rax
mov rax, r9
sub rax, qword [0x14031d078]
xor r8, rax
xor r8, r11
mov rax, r8
and eax, 3
je 0x14016c9e2
sub rax, 1
je 0x14016c8e3
sub rax, 1
je 0x14016c811
cmp rax, 1
jne 0x14016ca61
mov rsi, r9
imul rsi, r10
movabs rax, 0x468a515460062b77
add rax, r8
xor rsi, rax
ror rsi, 0x18
shr rsi, 0xc
not rsi
movabs rcx, 0x83573b864df0
mov rdx, qword [0x14031d088]
add rdx, rcx
movabs rax, 0x2da86780b1db65ef
xor rdx, rax
movzx eax, r8b
movzx ecx, sil
imul ecx, eax
and cl, 0x3f
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db96366a113
sub rax, r10
mov r10, rdx
xor r10, rax
mov rcx, r10
imul rcx, rbx
mov eax, 0xb2bd73f9
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 rbx, 0x2be410a6b0e69f0c
sub rbx, rsi
shr rbx, cl
movabs rcx, 0x2d330781017f0bbb
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, r14
xor rbx, rax
jmp 0x14016ca61
movabs rcx, 0xaaaaaa1ab2a48ec7
mov r10, r8
xor r10, rcx
movabs rcx, 0x1206ed70a9528b
imul r10, rcx
movabs rcx, 0xffff7e8a94b4bc1b
imul r13, rcx
movabs rcx, 0x1de133ab4adea56d
add r10, rcx
add r10, r13
movabs rax, 0x277cd7be607459a7
mov rcx, r10
xor rcx, rax
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r9, r10
not r9
lea rax, [0x14031d060]
imul r9, qword [rax + rcx*8]
xor r9, 0xffffffffe7f15817
lea ecx, [r8 + 5]
and cl, 0x3f
rol r9, cl
movabs rax, 0x20104dc000000000
imul r9, rax
mov rcx, r9
ror rcx, 0x2c
not rcx
movabs rax, 0x9b2de6b2be636e00
imul rcx, rax
mov rax, r10
sub rax, r9
lea rdx, [rcx + rax*4]
mov cl, r14b
and cl, 0x3f
ror rdx, cl
mov rax, rbx
mov rbx, rdx
imul rbx, rax
jmp 0x14016ca61
movabs rax, 0xe5457f5ca1ec95e3
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, 0xe5fde171148e6fc9
shl rdx, cl
mov rax, r11
mov r11, rdx
xor r11, rax
and r15d, 0x8000003f
jge 0x14016c936
dec r15d
or r15d, 0xffffffc0
inc r15d
mov cl, r15b
rol r11, cl
movabs rcx, 0x2d2ae2f8c1460885
add rcx, r8
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0x1d073eb9f77b
lea rax, [0x14031d060]
mov rax, qword [rax + rcx*8]
imul rax, rdx
xor r11, rax
movabs rax, 0xffffc7a7ee60f8ea
or r11, rax
mov rbx, qword [0x14031d070]
imul rbx, rsi
sub rbx, r9
mov rax, r14
sub rax, r11
xor rbx, rax
movabs rax, 0xc7a7c6a6bf68f8e7
xor rbx, rax
mov rax, r8
imul rax, r9
imul rax, rbx
mov rdi, r10
sub rdi, rax
movabs rax, 0x7895894703ab4fd
add rdi, rax
xor rdi, r14
mov cl, r10b
add cl, cl
and cl, 0x3f
rol rdi, cl
not rdi
jmp 0x14016ca61
mov rcx, r8
imul rcx, qword [0x14031d080]
and rcx, qword [0x14031d080]
mov rax, r11
mov r11, rcx
xor r11, rax
ror r11, 0xe
imul r11, r9
mov rdi, r14
not rdi
imul rdi, r10
movabs rax, 0x7cd8a7de6299a906
imul rdi, rax
imul r14, qword [0x14031d060], 0x7c7bb64
mov rdx, qword [0x14031d068]
sub r14, rdx
mov al, dil
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x14016ca4e
dec ecx
or ecx, 0xffffffc0
inc ecx
ror r14, cl
movabs rax, 0x2d2ae2f8c1460885
add r14, rax
add r14, r13
movabs rax, 0xff055d7b92d2a3cb
xor rsi, rax
movabs rax, 0xaaaaaaaaaaaaaaab
mul rsi
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rsi, rax
xor r11, rdi
lea rax, [0x14031d060]
imul r11, qword [rax + rsi*8]
not r9
imul r9, r8
imul r9, r14
imul r9, rbx
movabs rcx, 0xf5ed7e879561e917
xor rcx, r10
not rcx
xor rcx, r9
sub rcx, r11
call fcn.14015d930
mov qword [0x140321f60], rax
call fcn.140180cd4
mov rsi, rax
mov qword [rsp + 0x50], rax
mov qword [rbp - 0x28], r12
movabs rax, 0x27e5322a3fe26f0e
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], r12
movabs rax, 0xfa7b858d725fea10
mov qword [rbp - 0x20], rax
movabs rcx, 0xf33a52b0f30f4583
add rcx, qword [rbp - 0x20]
movabs rax, 0x6ad5366253048513
xor rcx, rax
sub rcx, qword [0x14031d058]
sub rcx, qword [0x14031d050]
movabs rax, 0x7120fb80b5c14331
add rcx, rax
movabs rax, 0xf8f8cd9d9abf1717
xor rcx, rax
sub rcx, qword [0x14031d048]
movabs rax, 0x87d654c076915612
add rcx, rax
mov rdi, qword [0x14031d040]
add rcx, rdi
movabs rax, 0x5a9179ae2ac30ebf
xor rcx, rax
movabs rax, 0x5f627dc5f8e94b9a
sub rcx, rax
movabs rax, 0xb23b3cd4e7deb9f6
xor rcx, rax
movabs rdx, 0xb483ce49b05a79c7
add rdx, rcx
add rdx, rdi
not rdx
movabs rcx, 0x13cce94ac3cc3b6a
mov r10, qword [0x14031d038]
mov rax, r10
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b53c33c495
mov r11, qword [0x14031d030]
mov rcx, r11
xor rcx, rax
movabs rax, 0xe0b56d7977de583f
add rdx, rax
add rdx, rcx
movabs rax, 0xf34903fb0179bcb2
xor rdx, rax
mov qword [rbp - 0x20], rdx
movabs rcx, 0xf33a52b8e725cb03
add rcx, qword [rbp - 0x28]
movabs rax, 0xf0553662530c792a
xor rcx, rax
sub rcx, qword [0x14031d058]
sub rcx, qword [0x14031d050]
movabs rax, 0xedf047f621b0060
sub rcx, rax
movabs rax, 0xf8f8cd9586d83781
xor rcx, rax
sub rcx, qword [0x14031d048]
movabs rax, 0x47d654b5aabcc3db
add rcx, rax
add rcx, rdi
movabs rax, 0x5a9179a518595e79
xor rcx, rax
movabs rax, 0x5f627dc424394c4c
sub rcx, rax
movabs rax, 0x863b3cd0ed93d681
xor rcx, rax
movabs rax, 0x3483ce41f3f091ed
add rcx, rax
add rcx, rdi
not rcx
movabs rax, 0x13cce94ae39c9580
xor r10, rax
sub rcx, r10
movabs rax, 0xec3316b51c636a7f
xor r11, rax
movabs rax, 0xe0b56d99280a80d5
add rcx, rax
add rcx, r11
movabs rax, 0x3f2a97cd91152a80
xor rcx, rax
mov qword [rbp - 0x28], rcx
and rdx, rcx
mov qword [rbp - 0x20], r12
mov qword [rbp - 0x28], r12
cmp rsi, rdx
jne 0x14016ccd4
mov eax, dword [0x14031d090]
jmp 0x14017423e
movabs rsi, 0xdc21a9299860a2f
movabs rax, 0x5572827000000000
movabs r14, 0xb7d0d522a2935b89
mov rbx, qword [0x14031d078]
imul rbx, rax
movabs rax, 0x570163b000000000
xor rbx, rax
mov r13, rbx
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 r8, rbx
and r8, rsi
lea r10, [0x14031d060]
imul r8, qword [r10 + rcx*8]
movabs rax, 0x95d71da8215657a4
imul r8, rax
shr r8, 3
movabs rax, 0x215667b96ba97545
xor r8, rax
movabs rax, 0xffffff57d11c6717
mov rdi, rbx
imul rdi, rax
sub rdi, 0x3830427c
xor rdi, r8
xor rdi, qword [0x14031d060]
mov rax, r8
imul rax, qword [0x14031d070]
movabs rcx, 0xb9de928bd8afd836
imul rax, rcx
not rax
and rdi, rax
ror rdi, 0x28
shr rdi, 8
movabs rcx, 0xf23de56d6679f5d1
add rcx, rbx
xor rcx, 0xffffffffe621d33b
mov rax, r9
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0x3ddfe285a9655ba8
mov r11, qword [r10 + rcx*8]
imul r11, rax
add r11, rsi
movabs rcx, 0xb47712b9955ca09c
mov rax, r8
imul rax, rcx
xor r11, rax
shr r11, 0x1f
not r11
mov r15, r11
xor r15, rbx
movabs rcx, 0xf23de56d6679f5d1
add rcx, r11
mov rax, r9
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r11b
movzx ecx, byte [r10 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x27
and ecx, 0x8000003f
jge 0x14016ce4c
dec ecx
or ecx, 0xffffffc0
inc ecx
ror r15, cl
not r15
imul r15, r8
imul rdx, r15, 0xffffffffc7cfbd84
mov qword [rsp + 0x40], rdx
movabs r10, 0xf23de56d6679f5d1
add r10, rdx
mov r9, r11
imul r9, rdi
sub r9, r10
xor r9, r14
mov cl, r10b
xor cl, 0xf8
and cl, 0xf
rol r9, cl
movabs rax, 0x3e0f3a0ce3a2f33c
imul r15, rax
movabs rax, 0x17bd580928644b5f
add r15, rax
xor r9, r15
mov rax, r10
sub rax, qword [0x14031d078]
xor r9, rax
xor r9, r8
xor r9, rbx
mov rax, r9
and eax, 3
je 0x14016d1fe
sub rax, 1
je 0x14016d0d0
sub rax, 1
je 0x14016cfdb
cmp rax, 1
jne 0x14016d2b0
mov r14, r10
imul r14, r11
movabs rax, 0x4410f8496c64dec7
add rax, r9
xor r14, rax
ror r14, 0x10
shr r14, 0xc
xor r14, rbx
not r14
movabs rcx, 0x83573a5ed634
mov rdx, qword [0x14031d088]
add rdx, rcx
movabs rax, 0xf2bf6015173c0367
xor rdx, rax
movzx eax, r9b
movzx ecx, r14b
imul ecx, eax
and cl, 0x3f
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db962be3acf
sub rax, r11
mov r11, rdx
xor r11, rax
mov rcx, r11
imul rcx, rsi
mov eax, 0xb365e825
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 rsi, 0x13ddbbb1adad658
sub rsi, r14
shr rsi, cl
movabs rax, 0xf24609f5a85b8ebb
mov rcx, qword [rsp + 0x40]
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, rdi
xor rsi, rax
jmp 0x14016d2b0
movabs rax, 0xaaaaaa1ab37c151b
mov rcx, r9
xor rcx, rax
movabs rax, 0x1206ed7171c957
imul rcx, rax
movabs r10, 0xfff17ca8641e2367
mov rax, r8
xor rax, r10
sub rcx, rax
movabs rax, 0xffff7e8a956c27c7
imul rdx, rax
movabs r11, 0x81c719622bd9143e
add r11, rcx
add r11, rdx
movabs rax, 0x277cd7be61acc27b
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, 0xffffffffe629c3cb
lea ecx, [r9 + 0x19]
and cl, 0x3f
rol r10, cl
movabs rax, 0x2828148680000000
xor r13, rax
movabs rax, 0x7c7a7dc68f2ec97a
and r13, rax
imul r10, r13
mov rcx, r10
ror rcx, 0xf
not rcx
movabs rax, 0x9b2de6b2b9010170
imul rcx, rax
mov rax, r11
sub rax, r10
lea rdx, [rcx + rax*4]
mov cl, dil
and cl, 0x3f
ror rdx, cl
mov rax, rsi
mov rsi, rdx
imul rsi, rax
jmp 0x14016d2b0
movabs rax, 0x13ed3b50f0e0db79
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, 0xf23de56d6679f5d0
mov rax, rbx
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, 0xf23de56d6679f5d1
add rcx, r9
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0x1a9299860a2f
lea rax, [0x14031d060]
mov rax, qword [rax + rcx*8]
imul rax, rdx
xor r8, rax
movabs rax, 0xffffc7a7efb86336
or r8, rax
mov rsi, qword [0x14031d070]
imul rsi, r14
sub rsi, r10
mov rax, rdi
sub rax, r8
xor rsi, rax
movabs rax, 0xc7a7c6a6beb0633b
xor rsi, 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, 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, rbx
movabs rbx, 0x789589471e22f21
add rbx, rax
xor rbx, rdi
movzx eax, r11b
imul ecx, eax, 0x1e
and cl, 0x3f
rol rbx, cl
not rbx
jmp 0x14016d2b0
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 rdi
imul rdi, r11
movabs rax, 0x7cd8a7de634132da
imul rdi, rax
mov rax, r8
imul rax, rbx
mov rbx, rdi
xor rbx, rax
imul rdi, qword [0x14031d060], 0xffffffffc7cfbd84
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 0x14016d29b
dec ecx
or ecx, 0xffffffc0
inc ecx
ror rdi, cl
movabs rax, 0xf23de56d6679f5d1
add rdi, rax
add rdi, qword [rsp + 0x40]
movabs rax, 0xff055d7b930a3817
xor r14, rax
movabs rax, 0xaaaaaaaaaaaaaaab
mul r14
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub r14, rax
xor r8, rbx
lea rax, [0x14031d060]
imul r8, qword [rax + r14*8]
not r10
imul r10, r9
imul r10, rdi
imul r10, rsi
movabs rcx, 0xf5ed7e8794b972cb
xor rcx, r11
not rcx
xor rcx, r10
sub rcx, r8
call fcn.14015dbdc
mov qword [0x140321f50], rax
movabs rsi, 0xa59ba95a55952379
movabs rdi, 0x30a69018abe145e9
movabs rax, 0x5e62100000000000
mov rbx, qword [0x14031d068]
imul rbx, rax
movabs rax, 0x4527f00000000000
xor rbx, rax
mov r13, rbx
imul r13, rdi
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 r8, rbx
and r8, rdi
lea r10, [0x14031d060]
imul r8, qword [r10 + rcx*8]
movabs rax, 0x7ae4cdf4d5a1d01c
imul r8, rax
movabs rax, 0x460f7d75ebf34568
xor r8, rax
shr r8, 3
movabs rax, 0xffffff57c1082353
mov r14, rbx
imul r14, rax
sub r14, 0x8fc3204
xor r14, r8
xor r14, qword [0x14031d060]
mov rax, r8
imul rax, qword [0x14031d070]
movabs rcx, 0xb9de928bc8bb9c72
imul rax, rcx
not rax
and r14, rax
ror r14, 0x2a
shr r14, 8
movabs rcx, 0xcf596fe7541eba17
add rcx, rbx
xor rcx, 0xfffffffff635977f
mov rax, r9
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0x505775b3c0a3a68
mov r11, qword [r10 + rcx*8]
imul r11, rax
add r11, rdi
movabs rcx, 0xe51ed99c5e979884
mov rax, r8
imul rax, rcx
xor r11, rax
shr r11, 0x1f
not r11
mov r15, r11
xor r15, rbx
movabs rcx, 0xcf596fe7541eba17
add rcx, r11
mov rax, r9
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r11b
movzx ecx, byte [r10 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x63
and ecx, 0x8000003f
jge 0x14016d490
dec ecx
or ecx, 0xffffffc0
inc ecx
ror r15, cl
not r15
imul r15, r8
imul rdx, r15, 0xfffffffff703cdfc
mov qword [rsp + 0x40], rdx
movabs r9, 0xcf596fe7541eba17
add r9, rdx
mov r10, r11
imul r10, r14
sub r10, r9
xor r10, rsi
mov cl, r9b
xor cl, 0xfc
and cl, 0xf
rol r10, cl
mov rax, r9
sub rax, qword [0x14031d078]
xor r10, rax
movabs rax, 0x1798b21b3777665c
imul r15, rax
movabs rax, 0x2675f5513ca96e11
sub r15, rax
xor r10, r15
xor r10, r8
xor r10, rbx
mov rax, r10
and eax, 1
je 0x14016d842
sub rax, 1
je 0x14016d714
sub rax, 1
je 0x14016d61f
cmp rax, 1
jne 0x14016d8f5
mov rsi, r9
imul rsi, r11
movabs rax, 0xb60786dd49d9d075
add rax, r10
xor rsi, rax
ror rsi, 0x10
shr rsi, 0xc
xor rsi, rbx
not rsi
movabs rcx, 0x83572a4a9278
mov rdx, qword [0x14031d088]
add rdx, rcx
movabs rax, 0xcfdbea9f354f08e5
xor rdx, rax
movzx eax, r10b
movzx ecx, sil
imul ecx, eax
and cl, 0x3f
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db972aa7e8b
sub rax, r11
mov r11, rdx
xor r11, rax
mov rcx, r11
imul rcx, rdi
mov eax, 0xa371ac61
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, 0x9d90447e777fb3c6
sub rdi, rsi
shr rdi, cl
movabs rax, 0xcf61946fa61496c5
mov rcx, qword [rsp + 0x40]
add rcx, rax
mov rax, r15
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, r14
xor rdi, rax
jmp 0x14016d8f5
movabs rax, 0xaaaaaa1aa368515f
mov rcx, r10
xor rcx, rax
movabs rax, 0x1206ed61658d13
imul rcx, rax
movabs r9, 0xfff17ca8740a6723
mov rax, r8
xor rax, r9
sub rcx, rax
movabs rax, 0xffff7e8a85786383
imul rdx, rax
movabs r11, 0x123e3eeda0f08248
add r11, rcx
add r11, rdx
movabs rax, 0x277cd7be71b8863f
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, 0xfffffffff63d878f
lea ecx, [r10 + 0x1d]
and cl, 0x3f
rol r9, cl
movabs rax, 0x3448598080000000
xor r13, rax
movabs rax, 0x7c7a7dc69f3a8d3e
and r13, rax
imul r9, r13
mov rcx, r9
ror rcx, 0x3b
not rcx
movabs rax, 0x9b2de6b2f9501060
imul rcx, rax
mov rax, r11
sub rax, r9
lea rdx, [rcx + rax*4]
mov cl, r14b
and cl, 0x3f
ror rdx, cl
mov rax, rdi
mov rdi, rdx
imul rdi, rax
jmp 0x14016d8f5
movabs rax, 0xcd34f11940e2daf3
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, 0xcf596fe7541eba16
mov rax, rbx
imul rax, rdx
xor rax, rsi
not rax
shl rax, cl
xor r8, rax
mov cl, r9b
and cl, 0x3f
rol r8, cl
movabs rcx, 0xcf596fe7541eba17
add rcx, r10
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0x1018abe145e9
lea rax, [0x14031d060]
mov rax, qword [rax + rcx*8]
imul rax, rdx
xor r8, rax
movabs rax, 0xffffc7a7ffac2772
or r8, rax
mov rdi, qword [0x14031d070]
imul rdi, rsi
sub rdi, r9
mov rax, r14
sub rax, r8
xor rdi, rax
movabs rax, 0xc7a7c6a6aea4277f
xor rdi, 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, rdi
div rcx
mov rcx, rdx
mov rdx, r10
imul rdx, r9
imul rdx, rdi
shr rdx, cl
mov rax, r11
sub rax, rdx
sub rax, rbx
movabs rbx, 0x789589461f66b65
add rbx, rax
xor rbx, r14
movzx eax, r11b
imul ecx, eax, 0x1a
and cl, 0x3f
rol rbx, cl
not rbx
jmp 0x14016d8f5
movabs rax, 0xaaaaaaaaaaaaaaab
mul r8
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rcx, r8
sub rcx, rax
mov rax, r10
imul rax, qword [0x14031d080]
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, r9
not r14
imul r14, r11
movabs rax, 0x7cd8a7de7355769e
imul r14, rax
mov rax, r8
imul rax, rbx
mov rbx, r14
xor rbx, rax
imul rdx, qword [0x14031d060], 0xfffffffff703cdfc
mov r14, qword [0x14031d068]
sub rdx, r14
mov al, bl
not al
movzx ecx, al
movzx eax, r14b
xor ecx, eax
and ecx, 0x8000003f
jge 0x14016d8e0
dec ecx
or ecx, 0xffffffc0
inc ecx
ror rdx, cl
movabs r14, 0xcf596fe7541eba17
add r14, rdx
add r14, qword [rsp + 0x40]
movabs rax, 0xff055d7b831e7c53
xor rsi, rax
movabs rax, 0xaaaaaaaaaaaaaaab
mul rsi
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rsi, rax
xor r8, rbx
lea rax, [0x14031d060]
imul r8, qword [rax + rsi*8]
not r9
imul r9, r10
imul r9, r14
imul r9, rdi
movabs rcx, 0xf5ed7e8784ad368f
xor rcx, r11
not rcx
xor rcx, r9
sub rcx, r8
call fcn.14015dcd8
mov qword [0x140321f80], rax
xor edx, edx
mov r8d, 0xa6
lea rcx, [rbp + 0x350]
call fcn.14029dcc0
xor eax, eax
mov byte [rsp + 0x32], al
mov dword [rbp + 0x1f6], 0xf4633b99
mov dword [rbp + 0x1fa], 0x121f9568
mov dword [rbp + 0x1fe], 0xf2293f2f
mov dword [rbp + 0x202], 0x37925864
mov dword [rbp + 0x206], 0x4f59085a
mov eax, 0x1e18
mov word [rbp + 0x20a], ax
mov r13, r12
movabs r12, 0x13cce94adba99340
xor edx, edx
mov rax, r13
div r12
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 + 0x1f6]
sub r10w, si
mov eax, 0x6afe
add r10w, ax
mov eax, 0x9204
sub ax, si
xor r10w, ax
sub r10w, word [0x14031d058]
sub r10w, word [0x14031d050]
add r10w, di
add r10w, r15w
sub r10w, cx
mov eax, 0x6fc1
add r10w, ax
lea eax, [r15 + rsi]
mov ecx, 0x2d07
add ax, cx
xor r10w, ax
sub r10w, word [0x14031d048]
sub r10w, dx
sub r10w, r9w
sub r10w, r15w
mov rcx, qword [0x14031d040]
sub r10w, 0x50
add r10w, cx
add r10w, r11w
add r10w, si
movzx eax, r8w
sub ax, r9w
add ax, si
add ax, r15w
xor r10w, ax
movzx eax, r15w
sub ax, r8w
xor ax, r15w
sub r10w, ax
sub r10w, r11w
add r10w, r15w
mov eax, 0x4230
add r10w, ax
movzx eax, r15w
ror ax, 7
mov edx, 0x4050
sub r11w, dx
add ax, r11w
xor r10w, ax
movzx edx, word [0x14031d030]
xor dx, r15w
sub dx, r10w
movzx eax, word [0x14031d038]
xor ax, bx
sub dx, ax
mov eax, 0x7100
add eax, r15d
mov r8d, 0x2440
xor ax, r8w
sub dx, ax
mov eax, 0x9d7
add eax, r15d
add ax, ax
add dx, ax
sub dx, cx
sub dx, r14w
sub dx, di
sub dx, si
movzx eax, r15w
movzx ecx, bx
imul ecx, eax
xor dx, cx
mov word [rbp + r13*2 + 0x1f6], dx
inc r13
cmp r13, 0xb
jb 0x14016d9c2
lea rax, [rbp + 0x1f6]
mov qword [rbp + 0xd0], rax
mov qword [rbp + 0xd8], 0x16
mov r8, qword [rbp + 0xd0]
xor r12d, r12d
mov qword [rbp - 0x18], r12
movabs rax, 0x7ba0c0b001812a70
mov qword [rbp - 0x18], rax
movabs rcx, 0xf33a52b41cbfa083
add rcx, qword [rbp - 0x18]
movabs rax, 0xc5d536625307aec4
xor rcx, rax
sub rcx, qword [0x14031d058]
sub rcx, qword [0x14031d050]
movabs rax, 0x7120fb80ac443220
add rcx, rax
movabs rax, 0xf8f8cd9a6467faab
xor rcx, rax
sub rcx, qword [0x14031d048]
movabs rax, 0x7d654bc2b7a728b
add rcx, rax
mov rdx, qword [0x14031d040]
add rcx, rdx
movabs rax, 0x5a9179aa8f35e6f3
xor rcx, rax
movabs rax, 0x5f627dc74524f386
sub rcx, rax
movabs rax, 0xda3b3cd352ed3ef3
xor rcx, rax
movabs rax, 0xb483ce469ccdf144
add rax, rcx
add rdx, rax
not rdx
movabs rcx, 0x13cce94ad072fcd6
mov rax, qword [0x14031d038]
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b52f8d0329
mov rcx, qword [0x14031d030]
xor rcx, rax
movabs rax, 0xe0b56d860b0885ab
add rdx, rax
add rdx, rcx
movabs rax, 0xb6b0507b473f0046
xor rdx, rax
mov qword [rbp - 0x18], rdx
mov r9, qword [rsp + 0x50]
lea rcx, [rbp + 0x350]
call fcn.14019c834
nop
mov qword [rbp - 0x18], r12
mov rcx, qword [rbp + 0xd0]
test rcx, rcx
je 0x14016dce7
mov eax, r12d
cmp qword [rbp + 0xd8], r12
jbe 0x14016dce7
mov byte [rax + rcx], r12b
inc rax
cmp rax, qword [rbp + 0xd8]
jae 0x14016dce7
mov rcx, qword [rbp + 0xd0]
jmp 0x14016dcce
movabs rsi, 0x95ba2eed6bfebd56
movabs rbx, 0x8b8f1a1240a0af39
mov rdi, r12
movabs rax, 0xa7323be68ad7664
movabs r11, 0xb04769ec97126baa
mov r14, qword [0x14031d070]
imul r14, rax
not r14
movabs rdx, 0x4fb89613614cdc92
mov rax, qword [0x14031d060]
xor rax, rdx
and r14, rax
ror r14, 0x22
shr r14, 8
movabs rax, 0x175a7c97ccc8ce90
mov r9, qword [0x14031d070]
imul r9, rax
movabs r8, 0x7470e5edbf5f50c7
sub r9, r8
movabs rax, 0x369c639b00000000
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, 0x7b
and ecx, 0x8000003f
jge 0x14016ddbb
dec ecx
or ecx, 0xffffffc0
inc ecx
mov rdx, r9
ror rdx, cl
not rdx
movabs rax, 0x43500c4e1b6a1330
mov r13, rdx
imul r13, rax
add r8, r13
mov r10, r9
imul r10, r14
sub r10, r8
xor r10, rsi
movzx r15d, r8b
mov ecx, r15d
xor ecx, 4
and ecx, 0xf
jge 0x14016ddfb
dec ecx
or ecx, 0xffffffc0
inc ecx
rol r10, cl
mov rax, r8
sub rax, qword [0x14031d078]
xor r10, rax
movabs rax, 0x682002999bbc15b0
imul rdx, rax
movabs rax, 0x722ef47bff2efab1
sub rdx, rax
xor r10, rdx
xor r10, r11
mov rax, r10
and eax, 1
je 0x14016e11b
sub rax, 1
je 0x14016e01c
sub rax, 1
je 0x14016df4a
cmp rax, 1
jne 0x14016e19a
mov rsi, r8
imul rsi, r9
movabs rax, 0x9b7d081ac6127e4d
add rax, r10
xor rsi, rax
ror rsi, 0x18
shr rsi, 0xc
not rsi
movabs rcx, 0x835728212370
mov rdx, qword [0x14031d088]
add rdx, rcx
movabs rax, 0x74f26095dc65532d
xor rdx, rax
movzx eax, sil
movzx ecx, r10b
imul ecx, eax
and cl, 0x3f
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db970c1cf93
sub rax, r9
mov r9, rdx
xor r9, rax
mov rcx, r9
imul rcx, rbx
mov eax, 0xa11a1d79
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 rbx, 0x801713323b8cfd16
sub rbx, rsi
shr rbx, cl
movabs rcx, 0x74790a7612fdbe7d
add rcx, r13
mov rax, r15
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r10
lea rdx, [0x14031d060]
imul rax, qword [rdx + rcx*8]
imul rax, r10
sub rax, r14
xor rbx, rax
jmp 0x14016e19a
movabs rcx, 0xaaaaaa1aa103e047
mov r9, r10
xor r9, rcx
movabs rcx, 0x1206ed630e3c0b
imul r9, rcx
movabs rcx, 0xffff7e8a8713d29b
imul r13, rcx
movabs rcx, 0x2e9c26a45e3b87
add r9, rcx
add r9, r13
movabs rax, 0x277cd7be73d33727
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 r8, r9
not r8
lea rax, [0x14031d060]
imul r8, qword [rax + rcx*8]
xor r8, 0xfffffffff4563697
lea ecx, [r10 + 5]
and cl, 0x3f
rol r8, cl
movabs rax, 0x5000284400000000
imul r8, rax
mov rcx, r8
ror rcx, 0xc
not rcx
movabs rax, 0x9b2de6b2f0fed400
imul rcx, rax
mov rax, r9
sub rax, r8
lea rdx, [rcx + rax*4]
mov cl, r14b
and cl, 0x3f
ror rdx, cl
mov rax, rbx
mov rbx, rdx
imul rbx, rax
jmp 0x14016e19a
movabs rax, 0xbf3ea10582a487b
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, 0x6a45d112940142a9
shl rdx, cl
mov rax, r11
mov r11, rdx
xor r11, rax
and r15d, 0x8000003f
jge 0x14016e06f
dec r15d
or r15d, 0xffffffc0
inc r15d
mov cl, r15b
rol r11, cl
movabs rcx, 0x7470e5edbf5f50c7
add rcx, r10
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0x1a1240a0af39
lea rax, [0x14031d060]
mov rax, qword [rax + rcx*8]
imul rax, rdx
xor r11, rax
movabs rax, 0xffffc7a7fdc7966a
or r11, rax
mov rbx, qword [0x14031d070]
imul rbx, rsi
sub rbx, r8
mov rax, r14
sub rax, r11
xor rbx, rax
movabs rax, 0xc7a7c6a6accf9667
xor rbx, rax
mov rax, r10
imul rax, r8
imul rax, rbx
mov rdi, r9
sub rdi, rax
movabs rax, 0x7895894639dda7d
add rdi, rax
xor rdi, r14
mov cl, r9b
add cl, cl
and cl, 0x3f
rol rdi, cl
not rdi
jmp 0x14016e19a
mov rcx, r10
imul rcx, qword [0x14031d080]
and rcx, qword [0x14031d070]
mov rax, r11
mov r11, rcx
xor r11, rax
ror r11, 0x2a
imul r11, r8
mov rdi, r14
not rdi
imul rdi, r9
movabs rax, 0x7cd8a7de713ec786
imul rdi, rax
imul r14, qword [0x14031d060], 0xfffffffff65eb738
mov rdx, qword [0x14031d068]
sub r14, rdx
mov al, dil
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x14016e187
dec ecx
or ecx, 0xffffffc0
inc ecx
ror r14, cl
movabs rax, 0x7470e5edbf5f50c7
add r14, rax
add r14, r13
movabs rax, 0xff055d7b8175cd4b
xor rsi, rax
movabs rax, 0xaaaaaaaaaaaaaaab
mul rsi
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rsi, rax
xor r11, rdi
lea rax, [0x14031d060]
imul r11, qword [rax + rsi*8]
not r8
imul r8, r10
imul r8, r14
imul r8, rbx
movabs rcx, 0xf5ed7e8786c68797
xor rcx, r9
not rcx
xor rcx, r8
sub rcx, r11
call fcn.14015dd44
mov qword [0x140321f78], rax
xor edx, edx
mov r8d, 0xa6
lea rcx, [rbp + 0x400]
call fcn.14029dcc0
xor eax, eax
mov byte [rsp + 0x33], al
mov dword [rbp + 0xe0], 0xf48d3b77
mov dword [rbp + 0xe4], 0x121f9543
mov dword [rbp + 0xe8], 0xef8142fa
mov dword [rbp + 0xec], 0x37865ace
mov r13, r12
movabs r12, 0x13cce94adba99340
xor edx, edx
mov rax, r13
div r12
lea r15d, [rdx + 0x38]
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 [rbp + r13*2 + 0xe0]
sub r10w, si
mov eax, 0x6afe
add r10w, ax
mov eax, 0x9204
sub ax, si
xor r10w, ax
sub r10w, word [0x14031d058]
sub r10w, word [0x14031d050]
add r10w, di
add r10w, 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 [0x14031d048]
mov rcx, qword [0x14031d040]
sub r10w, 0x50
add r10w, cx
add r10w, r11w
add r10w, si
movzx eax, r8w
sub ax, r9w
add ax, si
add ax, 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 edx, 0x4050
sub r11w, dx
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 r8d, 0x2440
xor ax, r8w
sub dx, ax
movzx eax, bx
xor ax, word [0x14031d038]
sub dx, ax
movzx eax, r14w
xor ax, word [0x14031d030]
add dx, ax
sub dx, cx
sub dx, di
sub dx, si
sub dx, r15w
movzx eax, r14w
movzx ecx, bx
imul ecx, eax
xor dx, cx
mov word [rbp + r13*2 + 0xe0], dx
inc r13
cmp r13, 8
jb 0x14016e251
lea rax, [rbp + 0xe0]
mov qword [rbp + 0xf0], rax
mov qword [rbp + 0xf8], 0x10
mov r8, qword [rbp + 0xf0]
xor r12d, r12d
mov qword [rbp - 0x10], r12
movabs rax, 0x843fe9f6883709a0
mov qword [rbp - 0x10], rax
movabs rcx, 0xf33a52b4c1f86483
add rcx, qword [rbp - 0x10]
movabs rax, 0x89d53662530853fc
xor rcx, rax
sub rcx, qword [0x14031d058]
sub rcx, qword [0x14031d050]
movabs rax, 0x7120fb80aa5487d4
add rcx, rax
movabs rax, 0xf8f8cd99bc9a539b
xor rcx, rax
sub rcx, qword [0x14031d048]
movabs rax, 0x7d654bb4b33e47d
add rcx, rax
mov rdx, qword [0x14031d040]
add rcx, rdx
movabs rax, 0x5a9179a9d2c12763
xor rcx, rax
movabs rax, 0x5f627dc74d79df56
sub rcx, rax
movabs rax, 0xba3b3cd3004bb32d
xor rcx, rax
movabs rax, 0xb483ce45fc19baa0
add rax, rcx
add rdx, rax
not rdx
movabs rcx, 0x13cce94ad307dfe6
mov rax, qword [0x14031d038]
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b52cf82019
mov rcx, qword [0x14031d030]
xor rcx, rax
movabs rax, 0xe0b56d88a27e30bb
add rdx, rax
add rdx, rcx
movabs rax, 0xed8efe6a06919d76
xor rdx, rax
mov qword [rbp - 0x10], rdx
mov r9, qword [rbp + 0x1b08]
lea rcx, [rbp + 0x400]
call fcn.14019c834
nop
mov qword [rbp - 0x10], r12
mov rcx, qword [rbp + 0xf0]
test rcx, rcx
je 0x14016e578
mov eax, r12d
cmp qword [rbp + 0xf8], r12
jbe 0x14016e578
mov byte [rcx + rax], r12b
inc rax
cmp rax, qword [rbp + 0xf8]
jae 0x14016e578
mov rcx, qword [rbp + 0xf0]
jmp 0x14016e55f
movabs rbx, 0xc4dd8840da20b5f5
movabs r14, 0xf863396870f5ab4a
mov rdi, r12
movabs rax, 0xf26021003a886f70
movabs r11, 0x859c977c0fee2d37
mov rsi, qword [0x14031d070]
imul rsi, rax
not rsi
movabs rcx, 0x7a636883c99e4055
mov r13, qword [0x14031d060]
mov rax, r13
xor rax, rcx
and rsi, rax
ror rsi, 0x14
shr rsi, 8
movabs rax, 0x280f8ce89bf2d3a0
mov r8, r13
imul r8, rax
movabs r9, 0x3b2277bf25df4a0b
sub r8, r9
movabs rax, 0x5236664100000000
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, 1
and ecx, 0x8000003f
jge 0x14016e64b
dec ecx
or ecx, 0xffffffc0
inc ecx
mov rax, r8
ror rax, cl
not rax
movabs rcx, 0xfd1cd23bd47dba0e
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, 0xfe
and cl, 0xf
rol r9, cl
movabs rcx, 0x180314266e9ef566
imul rax, rcx
movabs rcx, 0x2372fb6cbd6ba387
add rax, rcx
xor r9, rax
mov rax, r10
sub rax, qword [0x14031d078]
xor r9, rax
xor r9, r11
mov rax, r9
and eax, 1
xor rax, 2
je 0x14016e998
sub rax, 1
je 0x14016e8a4
sub rax, 1
je 0x14016e7d2
cmp rax, 1
jne 0x14016ea13
mov r14, r10
imul r14, r8
movabs rax, 0x24fe7cc96a17031b
add rax, r9
xor r14, rax
ror r14, 0x2e
shr r14, 0xc
not r14
movabs rcx, 0x83573c044a16
mov rdx, qword [0x14031d088]
add rdx, rcx
movabs rax, 0x3ba0f2c752c0209b
xor rdx, rax
movzx eax, r9b
movzx ecx, r14b
imul ecx, eax
and cl, 0x3f
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db964e4a6e9
sub rax, r8
mov r8, rdx
xor r8, rax
mov rcx, r8
imul rcx, rbx
mov eax, 0xb53f7403
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 rbx, 0xc122b041f80763e
sub rbx, r14
shr rbx, cl
movabs rcx, 0x3b2a9c476d9a4edb
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 rbx, rax
jmp 0x14016ea13
movabs rcx, 0xaaaaaa1ab526893d
mov r8, r9
xor r8, rcx
movabs rcx, 0x1206ed772b5571
imul r8, rcx
movabs rcx, 0xffff7e8a9336bbe1
imul r15, rcx
movabs rcx, 0xb82afaec79344616
add r8, rcx
add r8, r15
movabs rax, 0x277cd7be67f65e5d
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, 0xffffffffe0735fed
lea ecx, [r9 - 1]
and cl, 0x3f
rol r10, cl
movabs rax, 0x7060488680000000
imul r10, rax
mov rcx, r10
ror rcx, 0x2a
not rcx
movabs rax, 0x9b2de6b2a06b71e8
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, rbx
mov rbx, rdx
imul rbx, rax
jmp 0x14016ea13
movabs rax, 0x409bb62c4ec7f455
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, 0x79cc6978f0a54b5
shl rdx, cl
mov rax, r11
mov r11, rdx
xor r11, rax
mov cl, r10b
and cl, 0x3f
rol r11, cl
movabs rcx, 0x3b2277bf25df4a0b
add rcx, r9
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0x840da20b5f5
lea rax, [0x14031d060]
mov rax, qword [rax + rcx*8]
imul rax, rdx
xor r11, rax
movabs rax, 0xffffc7a7e9e2ff10
or r11, rax
mov rbx, qword [0x14031d070]
imul rbx, r14
sub rbx, r10
mov rax, rsi
sub rax, r11
xor rbx, rax
movabs rax, 0xc7a7c6a6b8eaff1d
xor rbx, rax
mov rax, r9
imul rax, r10
imul rax, rbx
mov rdi, r8
sub rdi, rax
movabs rax, 0x789589477b8b307
add rdi, rax
xor rdi, rsi
movzx eax, r8b
imul ecx, eax, 0xf8
and cl, 0x3f
rol rdi, cl
not rdi
jmp 0x14016ea13
mov rcx, r9
imul rcx, qword [0x14031d080]
and rcx, qword [0x14031d088]
mov rax, r11
mov r11, rcx
xor r11, rax
ror r11, 0x37
imul r11, r10
mov rdi, rsi
not rdi
imul rdi, r8
movabs rax, 0x7cd8a7de651baefc
imul rdi, rax
imul rsi, r13, 0xffffffffc6706d62
mov rdx, qword [0x14031d068]
sub rsi, rdx
mov al, dil
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x14016ea00
dec ecx
or ecx, 0xffffffc0
inc ecx
ror rsi, cl
movabs rax, 0x3b2277bf25df4a0b
add rsi, rax
add rsi, r15
movabs rax, 0xff055d7b9550a431
xor r14, rax
movabs rax, 0xaaaaaaaaaaaaaaab
mul r14
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub r14, rax
xor r11, rdi
lea rax, [0x14031d060]
imul r11, qword [rax + r14*8]
not r10
imul r10, r9
imul r10, rsi
imul r10, rbx
movabs rcx, 0xf5ed7e8792e3eeed
xor rcx, r8
not rcx
xor rcx, r10
sub rcx, r11
call fcn.14015e134
mov qword [0x140321f70], rax
xor edx, edx
mov r8d, 0xa6
lea rcx, [rbp + 0x4b0]
call fcn.14029dcc0
mov qword [rbp - 8], r12
movabs rax, 0x7447a307d756342e
mov qword [rbp - 8], rax
movabs rcx, 0xf33a52a83e87a903
add rcx, qword [rbp - 8]
movabs rax, 0xce55366252fbd08c
xor rcx, rax
sub rcx, qword [0x14031d058]
sub rcx, qword [0x14031d050]
movabs rax, 0xedf047f302125fa
sub rcx, rax
movabs rax, 0xf8f8cda67218d209
xor rcx, rax
sub rcx, qword [0x14031d048]
movabs rax, 0x47d654cc479f6b02
add rcx, rax
mov rdx, qword [0x14031d040]
add rcx, rdx
movabs rax, 0x5a9179b818adbd41
xor rcx, rax
movabs rax, 0x5f627de01d388d54
sub rcx, rax
movabs rax, 0x963b3cd942682c73
xor rcx, rax
movabs rax, 0x3483ce5227f260ff
add rax, rcx
add rdx, rax
not rdx
movabs rcx, 0x13cce94aa0fa1cf8
mov rax, qword [0x14031d038]
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b55f05e307
mov rcx, qword [0x14031d030]
xor rcx, rax
movabs rdi, 0xe0b56d5642ad87cd
add rdi, rdx
add rdi, rcx
movabs rax, 0x32654ec2c75eb2c8
xor rdi, rax
mov qword [rbp - 8], rdi
mov qword [rbp], r12
movabs rax, 0x7a53ff572d630dcc
mov qword [rbp], rax
movabs rcx, 0xf33a52b099501f83
add rcx, qword [rbp]
movabs rax, 0x44d5366253042b54
xor rcx, rax
sub rcx, qword [0x14031d058]
sub rcx, qword [0x14031d050]
movabs rax, 0x7120fb80b6ce80a3
add rcx, rax
movabs rax, 0xf8f8cd9df5e539af
xor rcx, rax
sub rcx, qword [0x14031d048]
movabs rax, 0x87d654c0f0644e27
add rcx, rax
mov rdx, qword [0x14031d040]
add rcx, rdx
movabs rax, 0x5a9179ae91211617
xor rcx, rax
movabs rax, 0x5f627dc63e1191c2
sub rcx, rax
movabs rax, 0xe23b3cd514c11aef
xor rcx, rax
movabs rax, 0xb483ce4a07a565bd
add rax, rcx
add rdx, rax
not rdx
movabs rcx, 0x13cce94ac2653ed2
mov rax, qword [0x14031d038]
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b53d9ac12d
mov rcx, qword [0x14031d030]
xor rcx, rax
movabs rbx, 0xe0b56d780f7cbba7
add rbx, rdx
add rbx, rcx
movabs rax, 0x5f02e60c547c5cea
xor rbx, rax
mov qword [rbp], rbx
call fcn.140277468
mov edx, eax
lea rcx, [rbp + 0x720]
call fcn.140163e20
mov qword [rbp + 0x100], rbx
mov qword [rbp + 0x108], rdi
mov r9, rdi
mov r8, rbx
lea rdx, [rbp + 0x720]
lea rcx, [rbp + 0x100]
call fcn.14015cba0
nop
mov qword [rbp], r12
mov qword [rbp - 8], r12
mov qword [rsp + 0x50], rax
xor eax, eax
mov byte [rsp + 0x34], al
lea rdx, [rbp + 0x248]
lea rcx, [rsp + 0x34]
call fcn.1401657b0
mov r13, r12
mov r12, rax
xor edx, edx
mov rax, r13
movabs rcx, 0x13cce94adba99340
div rcx
lea r15d, [rdx + 0x38]
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 [r12 + r13*2]
sub r10w, si
mov eax, 0x6afe
add r10w, ax
mov eax, 0x9204
sub ax, si
xor r10w, ax
sub r10w, word [0x14031d058]
sub r10w, word [0x14031d050]
add r10w, di
add r10w, 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, word [0x14031d048]
sub r10w, dx
sub r10w, r9w
sub r10w, r14w
mov rcx, qword [0x14031d040]
sub r10w, 0x50
add r10w, cx
add r10w, r11w
add r10w, si
movzx eax, r8w
sub ax, r9w
add ax, si
add ax, 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 edx, 0x4050
sub r11w, dx
add ax, r11w
xor r10w, ax
movzx edx, r14w
xor dx, word [0x14031d030]
sub dx, r10w
movzx eax, bx
xor ax, word [0x14031d038]
sub dx, ax
mov eax, 0x7100
add eax, r14d
mov r8d, 0x2440
xor ax, r8w
sub dx, ax
mov eax, 0x9d7
add eax, r14d
add ax, ax
add dx, ax
sub dx, cx
sub dx, di
sub dx, si
sub dx, r15w
movzx eax, r14w
movzx ecx, bx
imul ecx, eax
xor dx, cx
mov word [r12 + r13*2], dx
inc r13
cmp r13, 0x11
jb 0x14016ece6
mov qword [rbp + 0x110], r12
mov qword [rbp + 0x118], 0x22
mov r8, qword [rbp + 0x110]
xor r12d, r12d
mov qword [rbp + 8], r12
movabs rax, 0xd6e62b3fd85a693
mov qword [rbp + 8], rax
movabs rcx, 0xf33a52b00ba47003
add rcx, qword [rbp + 8]
movabs rax, 0x9555366253039da9
xor rcx, rax
sub rcx, qword [0x14031d058]
sub rcx, qword [0x14031d050]
movabs rax, 0xedf047f47887c4f
sub rcx, rax
movabs rax, 0xf8f8cd9e85c797ed
xor rcx, rax
sub rcx, qword [0x14031d048]
movabs rax, 0xc7d654c1b0b2dae1
add rcx, rax
mov rdx, qword [0x14031d040]
add rcx, rdx
movabs rax, 0x5a9179af32b8ea45
xor rcx, rax
movabs rax, 0x5f627dc6a1a76a28
sub rcx, rax
movabs rax, 0x5e3b3cd55b9b600c
xor rcx, rax
movabs rax, 0x3483ce4a91716370
add rax, rcx
add rdx, rax
not rdx
movabs rcx, 0x13cce94ac02e9014
mov rax, qword [0x14031d038]
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b53fd16feb
mov rcx, qword [0x14031d030]
xor rcx, rax
movabs rax, 0xe0b56d75d6574f69
add rdx, rax
add rdx, rcx
movabs rax, 0xe6dd828f278aee5c
xor rdx, rax
mov qword [rbp + 8], rdx
mov r9, qword [rsp + 0x50]
lea rcx, [rbp + 0x4b0]
call fcn.14019c834
nop
mov qword [rbp + 8], r12
mov rcx, qword [rbp + 0x110]
test rcx, rcx
je 0x14016f006
mov eax, r12d
cmp qword [rbp + 0x118], r12
jbe 0x14016f006
mov byte [rax + rcx], r12b
inc rax
cmp rax, qword [rbp + 0x118]
jae 0x14016f006
mov rcx, qword [rbp + 0x110]
jmp 0x14016efed
movabs rsi, 0xe7134aa0f4f86d2d
movabs rax, 0x46314fa8e0ed8260
movabs r14, 0xf14a6c63aa370c7e
mov rbx, qword [0x14031d060]
imul rbx, rax
movabs rax, 0xed8a9dcd55174590
xor rbx, rax
mov r13, rbx
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, rbx
and r8, rsi
lea rax, [0x14031d060]
imul r8, qword [rax + rcx*8]
movabs rax, 0xfe0821bad86a464c
imul r8, rax
shr r8, 3
movabs rax, 0xfb6bbf7816b16ee7
xor r8, rax
movabs rax, 0xffffff57c13d0575
mov rdi, rbx
imul rdi, rax
sub rdi, 0xfba30a6
xor rdi, r8
xor rdi, qword [0x14031d060]
mov rax, r8
imul rax, qword [0x14031d070]
movabs rcx, 0xb9de928bc88eba54
imul rax, rcx
not rax
and rdi, rax
ror rdi, 8
shr rdi, 8
movabs r15, 0x18ecb55f0b0792d3
lea rcx, [rbx + r15]
xor rcx, 0xfffffffff600b159
mov rax, r10
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0x1331b40482746368
lea r9, [0x14031d060]
mov r11, qword [r9 + rcx*8]
imul r11, rax
sub r11, r15
movabs rcx, 0x118c53ea383b6098
mov rax, r8
imul rax, rcx
xor r11, rax
shr r11, 0x1f
not r11
mov r15, r11
xor r15, rbx
movabs rcx, 0x18ecb55f0b0792d3
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, 0x45
and ecx, 0x8000003f
jge 0x14016f186
dec ecx
or ecx, 0xffffffc0
inc ecx
ror r15, cl
not r15
imul r15, r8
imul rdx, r15, 0xfffffffff045cf5a
mov qword [rsp + 0x40], rdx
movabs r10, 0x18ecb55f0b0792d3
add r10, rdx
mov r9, r11
imul r9, rdi
sub r9, r10
xor r9, r14
mov cl, r10b
xor cl, 0xfa
and cl, 0xf
rol r9, cl
mov rax, r10
sub rax, qword [0x14031d078]
xor r9, rax
movabs rax, 0xe432e2cd9cbec4d2
imul r15, rax
movabs rax, 0x2abefd717dbf59e9
sub r15, rax
xor r9, r15
xor r9, r8
xor r9, rbx
mov rax, r9
and eax, 1
xor rax, 2
je 0x14016f53f
sub rax, 1
je 0x14016f40e
sub rax, 1
je 0x14016f319
cmp rax, 1
jne 0x14016f5f1
mov r14, r10
imul r14, r11
movabs rax, 0xcbb0a528e2e55b6f
add rax, r9
xor r14, rax
ror r14, 0x32
shr r14, 0xc
xor r14, rbx
not r14
movabs rcx, 0x83572a7fb452
mov rdx, qword [0x14031d088]
add rdx, rcx
movabs rax, 0x186e30276a630607
xor rdx, rax
movzx eax, r9b
movzx ecx, r14b
imul ecx, eax
and cl, 0x3f
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db9729f58ad
sub rax, r11
mov r11, rdx
xor r11, rax
mov rcx, r11
imul rcx, rsi
mov eax, 0xa3448a47
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 rsi, 0x84972c2b3ffb5bae
sub rsi, r14
shr rsi, cl
movabs rax, 0x18f4d9e75cc88d5f
mov rcx, qword [rsp + 0x40]
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, rdi
xor rsi, rax
jmp 0x14016f5f1
movabs rax, 0xaaaaaa1aa35d7779
mov rcx, r9
xor rcx, rax
movabs rax, 0x1206ed6150ab35
imul rcx, rax
movabs r10, 0xfff17ca8743f4105
mov rax, r8
xor rax, r10
sub rcx, rax
movabs rax, 0xffff7e8a854d45a5
imul rdx, rax
movabs r11, 0xe54a43127438c6a4
add r11, rcx
add r11, rdx
movabs rax, 0x277cd7be718da019
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, 0xfffffffff608a1a9
lea ecx, [r9 - 5]
and cl, 0x3f
rol r10, cl
movabs rax, 0x8381c4000000000
xor r13, rax
movabs rax, 0x7c7a7dc69f0fab18
and r13, rax
imul r10, r13
mov rcx, r10
ror rcx, 0x1a
not rcx
movabs rax, 0x9b2de6b2f98488f8
imul rcx, rax
mov rax, r11
sub rax, r10
lea rdx, [rcx + rax*4]
mov cl, dil
and cl, 0x3f
ror rdx, cl
mov rax, rsi
mov rsi, rdx
imul rsi, rax
jmp 0x14016f5f1
movabs rax, 0xfc27607b97dced61
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, 0x18ecb55f0b0792d2
mov rax, rbx
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, 0x18ecb55f0b0792d3
add rcx, r9
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0xaa0f4f86d2d
lea rax, [0x14031d060]
mov rax, qword [rax + rcx*8]
imul rax, rdx
xor r8, rax
movabs rax, 0xffffc7a7ff990154
or r8, rax
mov rsi, qword [0x14031d070]
imul rsi, r14
sub rsi, r10
mov rax, rdi
sub rax, r8
xor rsi, rax
movabs rax, 0xc7a7c6a6ae910159
xor rsi, 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, 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, rbx
movabs rbx, 0x789589461c34d43
add rbx, rax
xor rbx, rdi
movzx eax, r11b
imul ecx, eax, 0xfc
and cl, 0x3f
rol rbx, cl
not rbx
jmp 0x14016f5f1
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 rdi
imul rdi, r11
movabs rax, 0x7cd8a7de736050b8
imul rdi, rax
mov rax, r8
imul rax, rbx
mov rbx, rdi
xor rbx, rax
imul rdi, qword [0x14031d060], 0xfffffffff045cf5a
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 0x14016f5dc
dec ecx
or ecx, 0xffffffc0
inc ecx
ror rdi, cl
movabs rax, 0x18ecb55f0b0792d3
add rdi, rax
add rdi, qword [rsp + 0x40]
movabs rax, 0xff055d7b832b5a75
xor r14, rax
movabs rax, 0xaaaaaaaaaaaaaaab
mul r14
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub r14, rax
xor r8, rbx
lea rax, [0x14031d060]
imul r8, qword [rax + r14*8]
not r10
imul r10, r9
imul r10, rdi
imul r10, rsi
movabs rcx, 0xf5ed7e87849810a9
xor rcx, r11
not rcx
xor rcx, r10
sub rcx, r8
call fcn.14015def4
mov qword [0x140321f68], rax
mov dword [rbp - 0x60], r12d
mov dword [rbp - 0x60], 0x7b9d7080
mov eax, dword [rbp - 0x60]
add eax, 0xc325a2b3
xor eax, 0x3808552a
sub eax, dword [0x14031d058]
sub eax, dword [0x14031d050]
sub eax, 0x55aeffe6
xor eax, 0xbb686073
sub eax, dword [0x14031d048]
mov rcx, qword [0x14031d040]
add eax, 0xc99afa92
add eax, ecx
xor eax, 0xd1698c75
sub eax, 0x4ca98902
xor eax, 0xd7b50aab
lea edx, [rcx - 0x50b46de]
add edx, eax
not edx
mov eax, dword [0x14031d038]
xor eax, 0xd30c94de
sub edx, eax
mov ecx, dword [0x14031d030]
xor ecx, 0x2cf36b21
add ecx, 0xa779e673
add ecx, edx
xor ecx, 0xed91fa9e
mov dword [rbp - 0x60], ecx
movsxd rax, ecx
mov qword [rsp + 0x40], rax
mov qword [rbp + 0x10], r12
movabs rax, 0x309dc9078948b02e
mov qword [rbp + 0x10], rax
movabs rcx, 0xf33a52b4c34edf03
add rcx, qword [rbp + 0x10]
movabs rax, 0x455366253085553
xor rcx, rax
sub rcx, qword [0x14031d058]
sub rcx, qword [0x14031d050]
movabs rax, 0xedf047f55af7b9c
sub rcx, rax
movabs rax, 0xf8f8cd99bb3e7f31
xor rcx, rax
sub rcx, qword [0x14031d048]
movabs rax, 0x47d654bb49630135
add rcx, rax
mov r13, qword [0x14031d040]
add rcx, r13
movabs rax, 0x5a9179a9d13a83a9
xor rcx, rax
movabs rax, 0x5f627dc74c7a62bc
sub rcx, rax
movabs rax, 0xe63b3cd2ffa06b39
xor rcx, rax
movabs rdx, 0x3483ce45facc9d79
add rdx, rcx
add rdx, r13
not rdx
movabs rcx, 0x13cce94ad30d39d0
mov rax, qword [0x14031d038]
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b52cf2c62f
mov rcx, qword [0x14031d030]
xor rcx, rax
movabs rax, 0xe0b56d88a81fbca5
add rax, rdx
add rax, rcx
movabs rcx, 0x23d23c7960c47d30
xor rax, rcx
mov qword [rbp - 0x70], rax
mov qword [rbp + 0x10], rax
xor eax, eax
mov byte [rsp + 0x35], al
lea rdx, [rbp + 0x28c]
lea rcx, [rsp + 0x35]
call fcn.1401657f4
mov r10, rax
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x48], r12
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 [r10 + r12*2]
sub r10w, si
mov eax, 0x6afe
add r10w, ax
mov eax, 0x9204
sub ax, si
xor r10w, ax
sub r10w, word [0x14031d058]
sub r10w, word [0x14031d050]
add r10w, di
add r10w, r15w
sub r10w, cx
mov eax, 0x6fc1
add r10w, ax
lea eax, [r15 + rsi]
mov ecx, 0x2d07
add ax, cx
xor r10w, ax
sub r10w, word [0x14031d048]
sub r10w, dx
sub r10w, r9w
sub r10w, r15w
sub r10w, 0x50
add r10w, r13w
add r10w, r11w
add r10w, si
movzx eax, r8w
sub ax, r9w
add ax, si
add ax, r15w
xor r10w, ax
movzx eax, r15w
sub ax, r8w
xor ax, r15w
sub r10w, ax
sub r10w, r11w
add r10w, r15w
mov eax, 0x4230
add r10w, ax
movzx eax, r15w
ror ax, 7
mov ecx, 0x4050
sub r11w, cx
add ax, r11w
xor r10w, ax
mov edx, 0x9d7
add edx, r15d
add dx, dx
sub dx, r10w
movzx eax, bx
xor ax, word [0x14031d038]
sub dx, ax
mov eax, 0x7100
add eax, r15d
mov ecx, 0x2440
xor ax, cx
sub dx, ax
movzx eax, r15w
xor ax, word [0x14031d030]
add dx, ax
sub dx, r13w
sub dx, r14w
sub dx, di
sub dx, si
movzx eax, r15w
movzx ecx, bx
imul ecx, eax
xor dx, cx
mov r10, qword [rsp + 0x58]
mov word [r10 + r12*2], dx
inc r12
cmp r12, 0x12
jae 0x14016f9d0
mov r13, qword [0x14031d040]
jmp 0x14016f807
mov qword [rbp + 0x120], r10
mov qword [rbp + 0x128], 0x24
mov rdx, qword [rbp + 0x120]
lea rcx, [rbp + 0x640]
call fcn.14003fcb8
nop
xor eax, eax
mov byte [rsp + 0x36], al
lea rdx, [rbp + 0x26a]
lea rcx, [rsp + 0x36]
call fcn.14016586c
xor r12d, r12d
mov r13d, r12d
mov r12, rax
xor edx, edx
mov rax, r13
movabs rcx, 0x13cce94adba99340
div rcx
lea r14d, [rdx + 0x38]
movzx r15d, r14w
ror r15w, 8
movzx esi, r15w
shr si, 0xa
movzx eax, r15w
shl ax, 6
or si, ax
movzx edi, si
ror di, 8
movzx r9d, r15w
shr r9w, 0xd
movzx eax, r15w
shl ax, 3
or r9w, ax
movzx edx, r15w
shl dx, 0xd
movzx eax, r15w
shr ax, 3
or dx, ax
movzx r11d, dx
ror r11w, 8
movzx r8d, r15w
shr r8w, 0xc
movzx eax, r15w
shl ax, 4
or r8w, ax
movzx ebx, r15w
not bx
movzx ecx, r15w
ror cx, 1
movzx r10d, word [r12 + r13*2]
sub r10w, si
mov eax, 0x6afe
add r10w, ax
mov eax, 0x9204
sub ax, si
xor r10w, ax
sub r10w, word [0x14031d058]
sub r10w, word [0x14031d050]
add r10w, di
add r10w, r15w
sub r10w, cx
mov eax, 0x6fc1
add r10w, ax
lea eax, [r15 + rsi]
mov ecx, 0x2d07
add ax, cx
xor r10w, ax
sub r10w, word [0x14031d048]
sub r10w, dx
sub r10w, r9w
sub r10w, r15w
mov rcx, qword [0x14031d040]
sub r10w, 0x50
add r10w, cx
add r10w, r11w
add r10w, si
movzx eax, r8w
sub ax, r9w
add ax, si
add ax, r15w
xor r10w, ax
movzx eax, r15w
sub ax, r8w
xor ax, r15w
sub r10w, ax
sub r10w, r11w
add r10w, r15w
mov eax, 0x4230
add r10w, ax
movzx eax, r15w
ror ax, 7
mov edx, 0x4050
sub r11w, dx
add ax, r11w
xor r10w, ax
movzx edx, 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, cx
sub dx, r14w
sub dx, di
sub dx, si
movzx eax, r15w
movzx ecx, bx
imul ecx, eax
xor dx, cx
mov word [r12 + r13*2], dx
inc r13
cmp r13, 0x11
jb 0x14016fa16
mov qword [rbp + 0x130], r12
mov qword [rbp + 0x138], 0x22
mov rdx, qword [rbp + 0x130]
lea rcx, [rbp + 0x660]
call fcn.14003fcb8
nop
lea rdx, [rbp + 0x400]
lea rcx, [rbp + 0x680]
call fcn.14003fcb8
nop
lea rdx, [rbp + 0x2b0]
lea rcx, [rbp + 0x6a0]
call fcn.14003fcb8
nop
lea rdx, [rbp + 0x560]
lea rcx, [rbp + 0x6c0]
call fcn.14003fcb8
nop
lea rdx, [rbp + 0x350]
lea rcx, [rbp + 0x6e0]
call fcn.14003fcb8
nop
lea rdx, [rbp + 0x4b0]
lea rcx, [rbp + 0x700]
call fcn.14003fcb8
nop
lea rax, [rbp + 0x640]
mov qword [rbp + 0x140], rax
lea rax, [rbp + 0x720]
mov qword [rbp + 0x148], rax
lea r8, [rsp + 0x37]
lea rdx, [rbp + 0x140]
lea rcx, [rbp + 0x210]
call fcn.1400b4608
nop
mov r9, qword [rsp + 0x40]
mov r8, qword [rbp - 0x70]
lea rdx, [rbp + 0x210]
lea rcx, [rbp + 0x150]
call fcn.1401921e4
nop
lea rcx, [rbp + 0x210]
call fcn.1400bf284
nop
lea r9, [fcn.140027bf8]
mov edx, 0x20
lea r8d, [rdx - 0x19]
lea rcx, [rbp + 0x640]
call fcn.140277b4c
nop
mov rcx, qword [rbp + 0x130]
xor r12d, r12d
test rcx, rcx
je 0x14016fd14
mov eax, r12d
cmp qword [rbp + 0x138], r12
jbe 0x14016fd14
mov byte [rax + rcx], r12b
inc rax
cmp rax, qword [rbp + 0x138]
jae 0x14016fd14
mov rcx, qword [rbp + 0x130]
jmp 0x14016fcfb
mov rcx, qword [rbp + 0x120]
test rcx, rcx
je 0x14016fd45
mov rax, r12
cmp qword [rbp + 0x128], r12
jbe 0x14016fd45
mov byte [rax + rcx], r12b
inc rax
cmp rax, qword [rbp + 0x128]
jae 0x14016fd45
mov rcx, qword [rbp + 0x120]
jmp 0x14016fd2c
mov qword [rbp + 0x10], r12
mov dword [rbp - 0x60], r12d
movabs rsi, 0xf442c85f9ed01d86
movabs rbx, 0xea7da8630b023223
mov rdi, r12
movabs rax, 0x3653d2a15e605240
movabs r11, 0xf490d028ed6d6188
mov r14, qword [0x14031d070]
imul r14, rax
not r14
movabs rcx, 0xb6f2fd76a5a9c32
mov rax, qword [0x14031d060]
xor rax, rcx
and r14, rax
ror r14, 0x1a
shr r14, 8
movabs rax, 0xf9df4240794a77d0
mov r9, qword [0x14031d080]
imul r9, rax
movabs r8, 0x1582579cf4fdcddd
sub r9, r8
movabs rax, 0xd9bc46a7ffffffff
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, 0xd9
and ecx, 0x8000003f
jge 0x14016fe24
dec ecx
or ecx, 0xffffffc0
inc ecx
mov rdx, r9
ror rdx, cl
not rdx
movabs rax, 0x2f81ffc8471444d0
mov r13, rdx
imul r13, rax
add r8, r13
mov r10, r9
imul r10, r14
sub r10, r8
xor r10, rsi
movzx r15d, r8b
mov ecx, r15d
xor ecx, 6
and ecx, 0xf
jge 0x14016fe64
dec ecx
or ecx, 0xffffffc0
inc ecx
rol r10, cl
mov rax, r8
sub rax, qword [0x14031d078]
xor r10, rax
movabs rax, 0xe89fd126d60870
imul rdx, rax
movabs rax, 0x5827e765d45db0c9
sub rdx, rax
xor r10, rdx
xor r10, r11
mov rax, r10
xor rax, 0xfffffffffffffffe
and eax, 3
je 0x14017018d
sub rax, 1
je 0x140170089
sub rax, 1
je 0x14016ffb7
cmp rax, 1
jne 0x14017020c
mov rsi, r8
imul rsi, r9
movabs rax, 0xff65290f51e38f25
add rax, r10
xor rsi, rax
ror rsi, 0x22
shr rsi, 0xc
not rsi
movabs rcx, 0x83573c39cace
mov rdx, qword [0x14031d088]
add rdx, rcx
movabs rax, 0x1500d2e483df2795
xor rdx, rax
movzx eax, r10b
movzx ecx, sil
imul ecx, eax
and cl, 0x3f
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db964d92631
sub rax, r9
mov r9, rdx
xor r9, rax
mov rcx, r9
imul rcx, rbx
mov eax, 0xb502f4db
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 rbx, 0xbb27c819837fb0fc
sub rbx, rsi
shr rbx, cl
movabs rcx, 0x158a7c253c8451f5
add rcx, r13
mov rax, r15
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r10
lea rdx, [0x14031d060]
imul rax, qword [rdx + rcx*8]
imul rax, r10
sub rax, r14
xor rbx, rax
jmp 0x14017020c
movabs rcx, 0xaaaaaa1ab51b09e5
mov r9, r10
xor r9, rcx
movabs rcx, 0x1206ed7716d5a9
imul r9, rcx
movabs rcx, 0xffff7e8a930b3b39
imul r13, rcx
movabs rcx, 0xdb8783b2ce6aa25d
add r9, rcx
add r9, r13
movabs rax, 0x277cd7be67cbde85
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 r8, r9
not r8
lea rax, [0x14031d060]
imul r8, qword [rax + rcx*8]
xor r8, 0xffffffffe04edf35
lea ecx, [r10 - 0x19]
and cl, 0x3f
rol r8, cl
movabs rax, 0xc207c4600000000
imul r8, rax
mov rcx, r8
ror rcx, 0x3e
not rcx
movabs rax, 0x9b2de6b2a09d7288
imul rcx, rax
mov rax, r9
sub rax, r8
lea rdx, [rcx + rax*4]
mov cl, r14b
and cl, 0x3f
ror rdx, cl
mov rax, rbx
mov rbx, rdx
imul rbx, rax
jmp 0x14017020c
movabs rax, 0xa42422d861443f07
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, 0xbbd37a0612fe279
shl rdx, cl
mov rax, r11
mov r11, rdx
xor r11, rax
and r15d, 0x8000003f
jge 0x1401700dc
dec r15d
or r15d, 0xffffffc0
inc r15d
mov cl, r15b
rol r11, cl
movabs rcx, 0x1582579cf4fdcddd
add rcx, r10
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0xffffe8630b023223
lea rax, [0x14031d060]
mov rax, qword [rax + rcx*8]
imul rax, rdx
xor r11, rax
movabs rax, 0xffffc7a7e9df7fc8
or r11, rax
mov rbx, qword [0x14031d070]
imul rbx, rsi
sub rbx, r8
mov rax, r14
sub rax, r11
xor rbx, rax
movabs rax, 0xc7a7c6a6b8d77fc5
xor rbx, rax
mov rax, r10
imul rax, r8
imul rax, rbx
mov rdi, r9
sub rdi, rax
movabs rax, 0x7895894778533df
add rdi, rax
xor rdi, r14
movzx eax, r9b
imul ecx, eax, 0xe0
and cl, 0x3f
rol rdi, cl
not rdi
jmp 0x14017020c
mov rcx, r10
imul rcx, qword [0x14031d080]
and rcx, qword [0x14031d060]
mov rax, r11
mov r11, rcx
xor r11, rax
ror r11, 8
imul r11, r8
mov rdi, r14
not rdi
imul rdi, r9
movabs rax, 0x7cd8a7de65262e24
imul rdi, rax
imul r14, qword [0x14031d060], 0xffffffff8737fdba
mov rdx, qword [0x14031d068]
sub r14, rdx
mov al, dil
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x1401701f9
dec ecx
or ecx, 0xffffffc0
inc ecx
ror r14, cl
movabs rax, 0x1582579cf4fdcddd
add r14, rax
add r14, r13
movabs rax, 0xff055d7b956d24e9
xor rsi, rax
movabs rax, 0xaaaaaaaaaaaaaaab
mul rsi
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rsi, rax
xor r11, rdi
lea rdi, [0x14031d060]
imul r11, qword [rdi + rsi*8]
not r8
imul r8, r10
imul r8, r14
imul r8, rbx
movabs rcx, 0xf5ed7e8792de6e35
xor rcx, r9
not rcx
xor rcx, r8
sub rcx, r11
call fcn.14015d954
mov qword [0x140321f90], rax
mov dword [rbp - 0x5c], r12d
mov dword [rbp - 0x5c], 0xe6ca6646
mov eax, dword [rbp - 0x5c]
add eax, 0x9a1f4e2f
xor eax, 0xe3842c23
sub eax, dword [0x14031d058]
sub eax, dword [0x14031d050]
add eax, 0x36cc1317
xor eax, 0xf512ce49
sub eax, dword [0x14031d048]
mov rcx, qword [0x14031d040]
add eax, 0x2f4b124c
add eax, ecx
xor eax, 0x9034c4dc
sub eax, 0x38c180f7
xor eax, 0x90597d1f
lea edx, [rcx - 0x79241eaa]
add edx, eax
not edx
mov eax, dword [0x14031d038]
xor eax, 0xc2687b8c
sub edx, eax
mov ecx, dword [0x14031d030]
xor ecx, 0x3d978473
add ecx, 0x127cbb90
add ecx, edx
xor ecx, 0x7037afe4
mov dword [rbp - 0x5c], ecx
cmp dword [0x14031d090], ecx
setne al
mov dword [rbp - 0x5c], r12d
test al, al
je 0x140170315
mov ebx, dword [0x14031d090]
jmp 0x140174229
movabs rsi, 0x82a47a62fdf3771f
movabs rax, 0x9735f2525cd76000
movabs r14, 0xf5603faaf78751ca
mov rbx, qword [0x14031d060]
imul rbx, rax
movabs rax, 0x8a9dcd5538041000
xor rbx, rax
mov rcx, rbx
imul rcx, rsi
mov qword [rsp + 0x48], rcx
movabs r10, 0xaaaaaaaaaaaaaaab
mov rax, r10
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r8, rbx
and r8, rsi
imul r8, qword [rdi + rcx*8]
movabs rax, 0x8fc5125d12f90314
imul r8, rax
shr r8, 3
movabs rax, 0x37b2e3924ae565c8
xor r8, rax
movabs rax, 0xffffff57c13ff16d
mov rdi, rbx
imul rdi, rax
sub rdi, 0x937cb3e
xor rdi, r8
xor rdi, qword [0x14031d060]
mov rax, r8
imul rax, qword [0x14031d070]
movabs rcx, 0xb9de928bc88c4e4c
imul rax, rcx
not rax
and rdi, rax
ror rdi, 0x22
shr rdi, 8
movabs r13, 0x7d5b859d020c88e1
lea rcx, [rbx + r13]
xor rcx, 0xfffffffff6024541
mov rax, r10
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0x3296843c396842f8
lea r9, [0x14031d060]
mov r11, qword [r9 + rcx*8]
imul r11, rax
sub r11, r13
movabs rcx, 0x4965cd7c949735d8
mov rax, r8
imul rax, rcx
xor r11, rax
shr r11, 0x1f
not r11
mov r15, r11
xor r15, rbx
lea rcx, [r11 + r13]
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, 0x5d
mov eax, 0x8000003f
and ecx, eax
jge 0x140170488
dec ecx
or ecx, 0xffffffc0
inc ecx
ror r15, cl
not r15
imul r15, r8
imul rdx, r15, 0xfffffffff6c834c2
mov qword [rsp + 0x58], rdx
lea r10, [rdx + r13]
mov r9, r11
imul r9, rdi
sub r9, r10
xor r9, r14
movzx r13d, r10b
mov ecx, r13d
xor ecx, 2
and ecx, 0xf
and ecx, eax
jge 0x1401704c7
dec ecx
or ecx, 0xffffffc0
inc ecx
rol r9, cl
movabs rax, 0x28ebbe27c0ea917e
imul r15, rax
movabs rax, 0x6c6c1f455db82a3f
add r15, rax
xor r9, r15
mov rax, r10
sub rax, qword [0x14031d078]
xor r9, rax
xor r9, r8
xor r9, rbx
mov rax, r9
xor rax, 0xfffffffffffffffe
and eax, 3
je 0x14017085c
sub rax, 1
je 0x14017071b
sub rax, 1
je 0x140170621
cmp rax, 1
jne 0x14017090e
mov r14, r10
imul r14, r11
movabs rax, 0x2445372c702356cd
add rax, r9
xor r14, rax
ror r14, 0x1a
shr r14, 0xc
xor r14, rbx
not r14
movabs rcx, 0x83572a7d404a
mov rdx, qword [0x14031d088]
add rdx, rcx
movabs rax, 0x7dd900e5636ae82d
xor rdx, rax
movzx eax, r14b
movzx ecx, r9b
imul ecx, eax
and cl, 0x3f
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db9729dacb5
sub rax, r11
mov r11, rdx
xor r11, rax
mov rcx, r11
imul rcx, rsi
mov eax, 0xa3467e5f
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 rsi, 0x7f68135dfc345598
sub rsi, r14
shr rsi, cl
movabs rax, 0x7d63aa2553ce9775
mov rcx, qword [rsp + 0x58]
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, rdi
xor rsi, rax
jmp 0x14017090e
movabs rax, 0xaaaaaa1aa35f8361
mov rcx, r9
xor rcx, rax
movabs rax, 0x1206ed61525f2d
imul rcx, rax
movabs r10, 0xfff17ca8743db51d
mov rax, r8
xor rax, r10
sub rcx, rax
movabs rax, 0xffff7e8a854fb1bd
imul rdx, rax
movabs r11, 0x5eb65e24d5a350da
add r11, rcx
add r11, rdx
movabs rax, 0x277cd7be718f5401
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, 0xfffffffff60a55b1
lea ecx, [r9 - 0x1d]
and cl, 0x3f
rol r10, cl
movabs rcx, 0x200a15c680000000
mov rax, qword [rsp + 0x48]
xor rax, rcx
movabs rcx, 0x7c7a7dc69f0d5f00
and rax, rcx
imul r10, rax
mov rcx, r10
ror rcx, 0x36
not rcx
movabs rax, 0x9b2de6b2f98f5898
imul rcx, rax
mov rax, r11
sub rax, r10
lea rdx, [rcx + rax*4]
mov cl, dil
and cl, 0x3f
ror rdx, cl
mov rax, rsi
mov rsi, rdx
imul rsi, rax
jmp 0x14017090e
movabs rax, 0xb2ca309f15f8c051
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, 0x7d5b859d020c88e0
mov rax, rbx
imul rax, rdx
xor rax, r14
not rax
shl rax, cl
xor r8, rax
and r13d, 0x8000003f
jge 0x140170775
dec r13d
or r13d, 0xffffffc0
inc r13d
mov cl, r13b
rol r8, cl
movabs rcx, 0x7d5b859d020c88e1
add rcx, r9
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0xfffffa62fdf3771f
lea rax, [0x14031d060]
mov rax, qword [rax + rcx*8]
imul rax, rdx
xor r8, rax
movabs rax, 0xffffc7a7ff9bf54c
or r8, rax
mov rsi, qword [0x14031d070]
imul rsi, r14
sub rsi, r10
mov rax, rdi
sub rax, r8
xor rsi, rax
movabs rax, 0xc7a7c6a6ae93f541
xor rsi, 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, 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, rbx
movabs rbx, 0x789589461c1b95b
add rbx, rax
xor rbx, rdi
movzx eax, r11b
imul ecx, eax, 0xe4
and cl, 0x3f
rol rbx, cl
not rbx
jmp 0x14017090e
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 rdi
imul rdi, r11
movabs rax, 0x7cd8a7de7362a4a0
imul rdi, rax
mov rax, r8
imul rax, rbx
mov rbx, rdi
xor rbx, rax
imul rdi, qword [0x14031d060], 0xfffffffff6c834c2
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 0x1401708f9
dec ecx
or ecx, 0xffffffc0
inc ecx
ror rdi, cl
movabs rax, 0x7d5b859d020c88e1
add rdi, rax
add rdi, qword [rsp + 0x58]
movabs rax, 0xff055d7b8329ae6d
xor r14, rax
movabs rax, 0xaaaaaaaaaaaaaaab
mul r14
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub r14, rax
xor r8, rbx
lea rax, [0x14031d060]
imul r8, qword [rax + r14*8]
not r10
imul r10, r9
imul r10, rdi
imul r10, rsi
movabs rcx, 0xf5ed7e87849ae4b1
xor rcx, r11
not rcx
xor rcx, r10
sub rcx, r8
call fcn.14015dd20
mov qword [0x140321f88], rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x228], xmm0
mov qword [rbp + 0x238], r12
mov qword [rbp + 0x240], r12
mov qword [rbp + 0x238], r12
mov qword [rbp + 0x240], 0xf
mov byte [rbp + 0x228], r12b
xor eax, eax
mov byte [rsp + 0x38], al
mov dword [rbp + 0x81], 0x17070648
mov dword [rbp + 0x85], 0x2664940d
mov dword [rbp + 0x89], 0xa8119cea
mov byte [rbp + 0x8d], 0x88
mov r15, r12
mov r13, qword [0x14031d040]
movabs r12, 0x13cce94adba99340
xor edx, edx
mov rax, r15
div r12
add dl, 0x38
mov r14b, dl
sar r14b, 7
or r14b, dl
mov al, r14b
sar al, 2
mov sil, r14b
shl sil, 6
mov r11b, sil
or r11b, al
movsx rcx, r14b
or sil, 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 [rbp + r15 + 0x81]
sub dl, r11b
sub dl, 2
mov eax, 4
sub al, sil
xor dl, al
sar rcx, 1
mov al, r14b
shl al, 7
or cl, al
sub dl, cl
sub dl, byte [0x14031d050]
sub dl, byte [0x14031d058]
sub dl, 0x3f
add dl, sil
add dl, r14b
lea eax, [r11 + 7]
add al, r14b
xor dl, al
sub dl, r9b
sub dl, r14b
sub dl, byte [0x14031d048]
sub dl, 0x50
add dl, r13b
add dl, sil
mov al, r8b
sub al, r9b
add al, r11b
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 sil, sil
add dil, 0x51
add dil, sil
add dil, r13b
not dil
mov al, r14b
sar al, 7
or al, r14b
sub dil, al
mov al, bl
xor al, byte [0x14031d038]
sub dil, al
mov al, r14b
xor al, 0x40
sub dil, al
mov al, r14b
xor al, byte [0x14031d030]
add dil, al
movsx eax, r14b
movsx ecx, bl
imul ecx, eax
xor dil, cl
mov byte [rbp + r15 + 0x81], dil
inc r15
cmp r15, 0xd
jb 0x1401709e6
lea rax, [rbp + 0x81]
mov qword [rbp + 0x160], rax
mov qword [rbp + 0x168], 0xd
mov rdx, qword [rbp + 0x160]
lea rcx, [rbp + 0x150]
call fcn.14015a3ac
mov dl, byte [rax]
mov rcx, qword [rbp + 0x160]
xor r12d, r12d
test rcx, rcx
je 0x140170b9c
mov eax, r12d
cmp qword [rbp + 0x168], r12
jbe 0x140170b9c
mov byte [rax + rcx], r12b
inc rax
cmp rax, qword [rbp + 0x168]
jae 0x140170b9c
mov rcx, qword [rbp + 0x160]
jmp 0x140170b83
test dl, dl
jne 0x140170c2f
mov dword [rsp + 0x60], r12d
mov dword [rsp + 0x60], 0x436e95f5
mov eax, dword [rsp + 0x60]
add eax, 0x3c874d3a
xor eax, 0xe28ece8b
sub eax, dword [0x14031d058]
sub eax, dword [0x14031d050]
add eax, 0x16e4db1a
xor eax, 0x28212f42
sub eax, dword [0x14031d048]
mov rcx, qword [0x14031d040]
add eax, 0x3fd6e799
add eax, ecx
xor eax, 0x6ef625f4
add eax, 0x564f1e54
xor eax, 0x46d06a5a
mov edx, dword [0x14031d030]
xor edx, 0x130de477
sub edx, eax
mov eax, dword [0x14031d038]
xor eax, 0xecf21b88
sub edx, eax
sub edx, ecx
sub edx, 0x4840a28f
xor edx, 0x42f7ec38
mov dword [rsp + 0x60], edx
mov dword [rsp + 0x60], r12d
jmp 0x140173cf8
xor eax, eax
mov byte [rsp + 0x39], al
mov qword [rbp + 0x18], r12
movabs rax, 0x5d75a615078fe263
mov qword [rbp + 0x18], rax
mov qword [rbp + 0x20], r12
movabs rax, 0xb2e1ec779ba94207
mov qword [rbp + 0x20], rax
mov dword [rbp - 0x50], 0x84fc0c3e
mov byte [rbp - 0x4c], 0x42
mov r15, r12
mov r13, qword [0x14031d040]
movabs r12, 0x13cce94adba99340
xor edx, edx
mov rax, r15
div r12
add dl, 0x38
mov r14b, dl
sar r14b, 7
or r14b, dl
mov al, r14b
sar al, 2
mov sil, r14b
shl sil, 6
mov r11b, sil
or r11b, al
movsx rcx, r14b
or sil, 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 [rbp + r15 - 0x50]
sub dl, r11b
sub dl, 2
mov eax, 4
sub al, sil
xor dl, al
sar rcx, 1
mov al, r14b
shl al, 7
or cl, al
sub dl, cl
sub dl, byte [0x14031d050]
sub dl, byte [0x14031d058]
sub dl, 0x3f
add dl, sil
add dl, r14b
lea eax, [r11 + 7]
add al, r14b
xor dl, al
sub dl, r9b
sub dl, r14b
sub dl, byte [0x14031d048]
sub dl, 0x50
add dl, sil
add dl, r13b
mov al, r8b
sub al, r9b
add al, r11b
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 sil, sil
add dil, 0x51
add dil, sil
add dil, r13b
not dil
mov al, r14b
sar al, 7
or al, r14b
sub dil, al
mov al, bl
xor al, byte [0x14031d038]
sub dil, al
mov al, r14b
xor al, 0x40
sub dil, al
mov al, r14b
xor al, byte [0x14031d030]
add dil, al
movsx eax, r14b
movsx ecx, bl
imul ecx, eax
xor dil, cl
mov byte [rbp + r15 - 0x50], dil
inc r15
cmp r15, 5
jb 0x140170c78
lea rax, [rbp - 0x50]
mov qword [rbp + 0x170], rax
mov qword [rbp + 0x178], 5
movabs rcx, 0xf33a52b02ecf0d83
add rcx, qword [rbp + 0x18]
movabs rax, 0x32d536625303c0d3
xor rcx, rax
sub rcx, qword [0x14031d058]
sub rcx, qword [0x14031d050]
movabs rax, 0x7120fb80b80e03d9
add rcx, rax
movabs rax, 0xf8f8cd9e62104ff7
xor rcx, rax
sub rcx, qword [0x14031d048]
movabs rax, 0x87d654c180f68216
add rcx, rax
mov rdi, qword [0x14031d040]
add rcx, rdi
movabs rax, 0x5a9179af0a9c4e9f
xor rcx, rax
movabs rax, 0x5f627dc688f0527a
sub rcx, rax
movabs rax, 0x723b3cd54a04f7f7
xor rcx, rax
movabs rdx, 0xb483ce4a6f3cf03f
add rdx, rcx
add rdx, rdi
not rdx
movabs rcx, 0x13cce94ac0bb3a8a
mov r10, qword [0x14031d038]
mov rax, r10
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b53f44c575
mov r11, qword [0x14031d030]
mov rcx, r11
xor rcx, rax
movabs rsi, 0xe0b56d76638e77df
add rsi, rdx
add rsi, rcx
movabs rax, 0x565caa2fac45f312
xor rsi, rax
mov qword [rbp + 0x18], rsi
movabs rcx, 0xf33a52a9206d4a03
add rcx, qword [rbp + 0x20]
movabs rax, 0x6f55366252fcb271
xor rcx, rax
sub rcx, qword [0x14031d058]
sub rcx, qword [0x14031d050]
movabs rax, 0xedf047f32c6d6dd
sub rcx, rax
movabs rax, 0xf8f8cda58cab9a85
xor rcx, rax
sub rcx, qword [0x14031d048]
movabs rax, 0xc7d654cb14fc36f6
add rcx, rax
add rcx, rdi
movabs rax, 0x5a9179b71703d19d
xor rcx, rax
movabs rax, 0x5f627de07712ca90
sub rcx, rax
movabs rax, 0x8e3b3cd8d16e4cc6
xor rcx, rax
movabs rax, 0x3483ce514c3a0766
add rcx, rax
add rcx, rdi
not rcx
movabs rax, 0x13cce94aa481b37c
xor r10, rax
sub rcx, r10
movabs rax, 0xec3316b55b7e4c83
xor r11, rax
movabs rbx, 0xe0b56d59cdcbe251
add rbx, rcx
add rbx, r11
movabs rax, 0xd9292b581aafa874
xor rbx, rax
mov qword [rbp + 0x20], rbx
mov rdx, qword [rbp + 0x170]
lea rcx, [rbp + 0x150]
call fcn.14015a3ac
mov cl, byte [rax]
sub cl, 5
xor r12d, r12d
mov edx, r12d
cmp cl, 2
setbe dl
and rbx, rsi
mov rcx, qword [rbp + 0x170]
test rcx, rcx
je 0x140170ff3
mov eax, r12d
cmp qword [rbp + 0x178], r12
jbe 0x140170ff3
mov byte [rax + rcx], r12b
inc rax
cmp rax, qword [rbp + 0x178]
jae 0x140170ff3
mov rcx, qword [rbp + 0x170]
jmp 0x140170fda
mov qword [rbp + 0x20], r12
mov qword [rbp + 0x18], r12
cmp rdx, rbx
jne 0x14017108f
mov dword [rsp + 0x64], r12d
mov dword [rsp + 0x64], 0x248e735d
mov eax, dword [rsp + 0x64]
add eax, 0x2d3a633a
xor eax, 0xf88ebf3e
sub eax, dword [0x14031d058]
sub eax, dword [0x14031d050]
add eax, 0x1712c1d8
xor eax, 0x37ab4cea
sub eax, dword [0x14031d048]
mov rcx, qword [0x14031d040]
add eax, 0x549bcf3c
add eax, ecx
xor eax, 0x8069e0dc
add eax, 0x7235c83c
xor eax, 0x9e7759c2
mov edx, dword [0x14031d030]
xor edx, 0x134b181f
sub edx, eax
mov eax, dword [0x14031d038]
xor eax, 0xecb4e7e0
sub edx, eax
sub edx, ecx
add edx, 0x6b6ea9af
xor edx, 0x2e451420
mov dword [rsp + 0x64], edx
mov dword [rsp + 0x64], r12d
jmp 0x140173cf8
xor eax, eax
mov byte [rsp + 0x3a], al
mov dword [rbp - 0x4b], 0x84fc0c3e
mov byte [rbp - 0x47], 0x42
mov r15, r12
mov r13, qword [0x14031d040]
movabs r12, 0x13cce94adba99340
xor edx, edx
mov rax, r15
div r12
add dl, 0x38
mov r14b, dl
sar r14b, 7
or r14b, dl
mov al, r14b
sar al, 2
mov sil, r14b
shl sil, 6
mov r11b, sil
or r11b, al
movsx rcx, r14b
or sil, 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 [rbp + r15 - 0x4b]
sub dl, r11b
sub dl, 2
mov eax, 4
sub al, sil
xor dl, al
sar rcx, 1
mov al, r14b
shl al, 7
or cl, al
sub dl, cl
sub dl, byte [0x14031d050]
sub dl, byte [0x14031d058]
sub dl, 0x3f
add dl, sil
add dl, r14b
lea eax, [r11 + 7]
add al, r14b
xor dl, al
sub dl, r9b
sub dl, byte [0x14031d048]
sub dl, r14b
sub dl, 0x50
add dl, r13b
add dl, sil
mov al, r8b
sub al, r9b
add al, r11b
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 sil, sil
add dil, 0x51
add dil, sil
add dil, r13b
not dil
mov al, r14b
sar al, 7
or al, r14b
sub dil, al
mov al, bl
xor al, byte [0x14031d038]
sub dil, al
mov al, byte [0x14031d030]
xor al, r14b
add dil, al
mov al, r14b
xor al, 0x40
sub dil, al
movsx eax, r14b
movsx ecx, bl
imul ecx, eax
xor dil, cl
mov byte [rbp + r15 - 0x4b], dil
inc r15
cmp r15, 5
jb 0x1401710b4
lea rax, [rbp - 0x4b]
mov qword [rbp + 0x180], rax
mov qword [rbp + 0x188], 5
mov rdx, qword [rbp + 0x180]
lea rcx, [rbp + 0x150]
call fcn.14015a3ac
xor ecx, ecx
mov byte [rsp + 0x3b], cl
xor r12d, r12d
mov qword [rbp - 0x58], r12
lea rdx, [rbp - 0x58]
mov rcx, rax
call fcn.14015fd84
nop
mov rcx, qword [rbp + 0x180]
test rcx, rcx
je 0x140171276
mov eax, r12d
cmp qword [rbp + 0x188], r12
jbe 0x140171276
mov byte [rax + rcx], r12b
inc rax
cmp rax, qword [rbp + 0x188]
jae 0x140171276
mov rcx, qword [rbp + 0x180]
jmp 0x14017125d
movabs rax, 0xc8cc0855ecf40000
mov r14, qword [0x14031d060]
mov rsi, r14
imul rsi, rax
movabs rax, 0xa9dcd5a2b9fb0000
xor rsi, rax
movabs rdi, 0x71c4e27ba2c00bcc
mov rcx, rsi
imul rcx, rdi
movabs r13, 0xaaaaaaaaaaaaaaab
mov rax, r13
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r10, rsi
and r10, rdi
lea r8, [0x14031d060]
imul r10, qword [r8 + rcx*8]
movabs rax, 0x1808c756f415a6e0
imul r10, rax
shr r10, 3
movabs rax, 0xb5724dbd5beb6e01
xor r10, rax
movabs rax, 0xffffff57c1cec8d7
mov r9, rsi
imul r9, rax
sub r9, 0x391d54e0
xor r9, r10
xor r9, r14
mov rax, r10
imul rax, qword [0x14031d070]
movabs rcx, 0xb9de928bc87d77f6
imul rax, rcx
not rax
and r9, rax
ror r9, 0xb
shr r9, 8
movabs r11, 0x8e3b1d845d3ff434
lea rcx, [rsi + r11]
xor rcx, 0xfffffffff6f37cfb
mov rax, r13
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0xd397465bf29efb40
mov rbx, qword [r8 + rcx*8]
imul rbx, rax
add rbx, rdi
movabs rcx, 0x5ec323302157b3d0
mov rax, r10
imul rax, rcx
xor rbx, rax
shr rbx, 0x1f
not rbx
mov rdi, rbx
xor rdi, rsi
lea rcx, [rbx + r11]
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 [r8 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0xe7
and ecx, 0x8000003f
jge 0x1401713da
dec ecx
or ecx, 0xffffffc0
inc ecx
ror rdi, cl
not rdi
imul rdi, r10
imul r15, rdi, 0xffffffffc6e2ab20
lea r8, [r15 + r11]
mov r11, rbx
imul r11, r9
sub r11, r8
movabs rax, 0x66ed0552f473350f
xor r11, rax
mov cl, r8b
xor cl, 0xf8
and cl, 0xf
rol r11, cl
movabs rax, 0xaa2b1008d1fabd80
imul rdi, rax
movabs rax, 0x9372507e28b2a90
sub rdi, rax
xor r11, rdi
mov rax, r8
sub rax, qword [0x14031d078]
xor r11, rax
xor r11, r10
xor r11, rsi
mov rax, r13
mul r10
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rdx, r10
sub rdx, rax
mov rax, r11
imul rax, qword [0x14031d080]
lea rcx, [0x14031d060]
mov rdi, qword [rcx + rdx*8]
and rdi, rax
xor rdi, r10
and r10b, 0x3f
mov cl, r10b
ror rdi, cl
imul rdi, r8
not r9
imul r9, rbx
movabs rax, 0x7cd8a7de73939d1a
imul r9, rax
mov rax, rdi
imul rax, rsi
xor r9, rax
imul r8, r14, 0xffffffffc6e2ab20
mov rdx, qword [0x14031d068]
sub r8, rdx
mov al, r9b
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x1401714d0
dec ecx
or ecx, 0xffffffc0
inc ecx
ror r8, cl
lea rcx, [r15 + r8]
movabs rax, 0x71c4e27ba2c00bcc
imul rcx, rax
movabs rax, 0x9372507e28b2a90
sub rcx, rax
movabs rax, 0x71c4e27ba2c00bcb
sub rax, r15
imul rcx, rax
imul rcx, r11
movabs rax, 0xf5ed7e87846bdd0b
xor rbx, rax
not rbx
xor rcx, rbx
xor rdi, r9
imul rdi, r14
sub rcx, rdi
call fcn.14015ddb0
mov qword [0x140321f70], rax
mov dword [rsp + 0x68], r12d
mov dword [rsp + 0x68], 0x795746e6
mov eax, dword [rsp + 0x68]
add eax, 0xaec70daf
xor eax, 0xa30440cb
sub eax, dword [0x14031d058]
sub eax, dword [0x14031d050]
sub eax, 0x4971e427
xor eax, 0xe0186fcb
sub eax, dword [0x14031d048]
mov rcx, qword [0x14031d040]
add eax, 0xd3415dda
add eax, ecx
xor eax, 0x78a56e6e
sub eax, 0x2ae9f259
xor eax, 0x8a04f821
lea edx, [rcx - 0xd3b47ed]
add edx, eax
not edx
mov eax, dword [0x14031d038]
xor eax, 0xc2bb1a8a
sub edx, eax
mov ecx, dword [0x14031d030]
xor ecx, 0x3d44e575
add ecx, 0x656e188e
add ecx, edx
xor ecx, 0x4ce89312
mov dword [rsp + 0x68], ecx
movsxd r8, ecx
add r8, qword [rbp - 0x58]
mov dword [rsp + 0x68], r12d
mov qword [rbp + 0x30], r12
movabs rax, 0x69428888724eaf25
mov qword [rbp + 0x30], rax
mov rax, qword [rbp + 0x30]
add rax, 0x6b03
movabs rcx, 0x9055366252fc3279
xor rax, rcx
sub rax, qword [0x14031d058]
sub rax, qword [0x14031d050]
movabs rcx, 0xedf047f3146eedd
sub rax, rcx
movabs rcx, 0xec33204eaf185985
xor rax, rcx
sub rax, qword [0x14031d048]
movabs rcx, 0x164686739f520d96
add rcx, rax
mov rdx, qword [0x14031d040]
add rcx, rdx
movabs rax, 0xec3316b55d7e2c7d
xor rcx, rax
movabs rax, 0x13cce94a0c619150
sub rcx, rax
movabs rax, 0xffd8662d61a8bc06
xor rcx, rax
movabs rax, 0x27be20fa69271e66
add rax, rcx
add rdx, rax
not rdx
movabs rcx, 0x13cce94aa281d37c
mov rax, qword [0x14031d038]
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b55d7e2c83
mov rcx, qword [0x14031d030]
xor rcx, rax
movabs rax, 0x13cc22b54a184651
add rdx, rax
add rdx, rcx
movabs rax, 0xc96489859bd08874
xor rdx, rax
mov qword [rbp + 0x30], rdx
xor r8, rdx
mov qword [rsp + 0x48], r8
mov qword [rbp + 0x30], r12
movabs rdi, 0xfd6f17148332dc61
movabs rax, 0xcf3ba9906e000000
movabs r11, 0x26a2b86f4b41572e
mov rbx, qword [0x14031d080]
imul rbx, rax
movabs rax, 0xdcd399a3d1000000
xor rbx, rax
mov rcx, rbx
imul rcx, r11
mov qword [rsp + 0x58], rcx
mov rax, r13
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r9, rbx
and r9, r11
lea r8, [0x14031d060]
imul r9, qword [r8 + rcx*8]
movabs rax, 0x7ec6d0bfba002012
imul r9, rax
shr r9, 3
movabs rax, 0x8ff90f1a20a6fa78
xor r9, rax
movabs rax, 0xffffff57c7f5d2fd
mov r14, rbx
imul r14, rax
sub r14, 0x955d6ae
xor r14, r9
xor r14, qword [0x14031d060]
mov rax, r9
imul rax, qword [0x14031d070]
movabs rcx, 0xb9de928bce466ddc
imul rax, rcx
not rax
and r14, rax
ror r14, 3
shr r14, 8
movabs r10, 0xd95d4790b4bea8d2
lea rcx, [rbx + r10]
xor rcx, 0xfffffffff0c866d1
mov rax, r13
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0x57f04d9ee3abb3d8
mov rsi, qword [r8 + rcx*8]
imul rsi, rax
add rsi, r11
movabs rcx, 0xd9226b3ceea641b8
mov rax, r9
imul rax, rcx
xor rsi, rax
shr rsi, 0x1f
not rsi
mov r13, rsi
xor r13, rbx
lea rcx, [rsi + r10]
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, sil
movzx ecx, byte [r8 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0xcd
mov eax, 0x8000003f
and ecx, eax
jge 0x140171839
dec ecx
or ecx, 0xffffffc0
inc ecx
ror r13, cl
not r13
imul r13, r9
imul rdx, r13, 0xfffffffff6aa2952
mov qword [rbp - 0x70], rdx
add r10, rdx
mov r8, rsi
imul r8, r14
sub r8, r10
xor r8, rdi
movzx r15d, r10b
mov ecx, r15d
xor ecx, 2
and ecx, 0xf
and ecx, eax
jge 0x140171876
dec ecx
or ecx, 0xffffffc0
inc ecx
rol r8, cl
movabs rax, 0x90a052afaa704abc
imul r13, rax
movabs rax, 0x445313a6570c4c44
sub r13, rax
xor r8, r13
mov rax, r10
sub rax, qword [0x14031d078]
xor r8, rax
xor r8, r9
xor r8, rbx
mov rax, r8
not rax
and eax, 2
je 0x140171c09
sub rax, 1
je 0x140171ac8
sub rax, 1
je 0x1401719ce
cmp rax, 1
jne 0x140171cba
mov rdi, r10
imul rdi, rsi
movabs rax, 0xe623df2fd1962f8a
add rax, r8
xor rdi, rax
ror rdi, 0x3a
shr rdi, 0xc
xor rdi, rbx
not rdi
movabs rcx, 0x83572cb763da
mov rdx, qword [0x14031d088]
add rdx, rcx
movabs rax, 0xd9dfc2e8d312eb8c
xor rdx, rax
movzx eax, dil
movzx ecx, r8b
imul ecx, eax
and cl, 0x3f
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db974578f25
sub rax, rsi
mov rsi, rdx
xor rsi, rax
mov rcx, rsi
imul rcx, r11
mov eax, 0xa58c5dcf
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 r11, 0x7d6d2c0e89cbe83b
sub r11, rdi
shr r11, cl
movabs rax, 0xd9656c190bc6d5d6
mov rcx, qword [rbp - 0x70]
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, r14
xor r11, rax
jmp 0x140171cba
movabs rax, 0xaaaaaa1aa595a0f1
mov rcx, r8
xor rcx, rax
movabs rax, 0x1206ed67987cbd
imul rcx, rax
movabs r10, 0xfff17ca872f7968d
mov rax, r9
xor rax, r10
sub rcx, rax
movabs rax, 0xffff7e8a8385922d
imul rdx, rax
movabs rsi, 0x3fed6eb4306b0317
add rsi, rcx
add rsi, rdx
movabs rax, 0x277cd7be77457791
mov rcx, rsi
xor rcx, rax
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r10, rsi
not r10
lea rax, [0x14031d060]
imul r10, qword [rax + rcx*8]
xor r10, 0xfffffffff0c07621
lea ecx, [r8 - 0xd]
and cl, 0x3f
rol r10, cl
movabs rcx, 0xef9da67be638836f
mov rax, qword [rsp + 0x58]
xor rax, rcx
movabs rcx, 0x7c7a7dc699c77c90
and rax, rcx
imul r10, rax
mov rcx, r10
ror rcx, 0xd
not rcx
movabs rax, 0x9b2de6b2e2a7d6d8
imul rcx, rax
mov rax, rsi
sub rax, r10
lea rdx, [rcx + rax*4]
mov cl, r14b
and cl, 0x3f
ror rdx, cl
mov rax, r11
mov r11, rdx
imul r11, rax
jmp 0x140171cba
movabs rax, 0x8e7bda35ade574c4
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, 0xd95d4790b4bea8d1
mov rax, rbx
imul rax, rdx
xor rax, rdi
not rax
shl rax, cl
xor r9, rax
and r15d, 0x8000003f
jge 0x140171b22
dec r15d
or r15d, 0xffffffc0
inc r15d
mov cl, r15b
rol r9, cl
movabs rcx, 0xd95d4790b4bea8d2
add rcx, r8
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0xfffff86f4b41572e
lea rax, [0x14031d060]
mov rax, qword [rax + rcx*8]
imul rax, rdx
xor r9, rax
movabs rax, 0xffffc7a7f951d6dc
or r9, rax
mov r11, qword [0x14031d070]
imul r11, rdi
sub r11, r10
mov rax, r14
sub rax, r9
xor r11, rax
movabs rax, 0xc7a7c6a6a859d6d1
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, rsi
sub rax, rdx
sub rax, rbx
movabs rbx, 0x7895894670b9acb
add rbx, rax
xor rbx, r14
movzx eax, sil
imul ecx, eax, 0xf4
and cl, 0x3f
rol rbx, cl
not rbx
jmp 0x140171cba
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 r14
imul r14, rsi
movabs rax, 0x7cd8a7de75a88730
imul r14, rax
mov rax, r9
imul rax, rbx
mov rbx, r14
xor rbx, rax
imul r14, qword [0x14031d060], 0xfffffffff6aa2952
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 0x140171ca6
dec ecx
or ecx, 0xffffffc0
inc ecx
ror r14, cl
movabs rax, 0xd95d4790b4bea8d2
add r14, rax
add r14, qword [rbp - 0x70]
movabs rax, 0xff055d7b85e38dfd
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, r14
imul r10, r11
movabs rcx, 0xf5ed7e878250c721
xor rcx, rsi
not rcx
xor rcx, r10
sub rcx, r9
call fcn.14015de88
mov qword [0x140321f30], rax
mov dword [rsp + 0x6c], r12d
mov dword [rsp + 0x6c], 0x24bb9395
mov eax, dword [rsp + 0x6c]
add eax, 0x9944392f
xor eax, 0xce842b48
sub eax, dword [0x14031d058]
sub eax, dword [0x14031d050]
add eax, 0x36cea456
xor eax, 0xf5f14f9d
sub eax, dword [0x14031d048]
mov rcx, qword [0x14031d040]
add eax, 0xb074754e
add eax, ecx
xor eax, 0x912ea8d0
sub eax, 0x3e13fa83
xor eax, 0x38c70e78
lea edx, [rcx - 0x784f073d]
add edx, eax
not edx
mov eax, dword [0x14031d038]
xor eax, 0xc2650f38
sub edx, eax
mov ecx, dword [0x14031d030]
xor ecx, 0x3d9af0c7
add ecx, 0xf4cf33c
add ecx, edx
xor ecx, 0x5a835488
mov dword [rsp + 0x6c], ecx
movsxd rax, ecx
mov r14, qword [rsp + 0x48]
sub r14, rax
mov dword [rsp + 0x6c], r12d
mov qword [rbp + 0x38], r12
movabs rax, 0xce137c51d6d5326
mov qword [rbp + 0x38], rax
mov qword [rbp + 0x40], r12
movabs rax, 0x900b2301fbfddfbc
mov qword [rbp + 0x40], rax
movabs rcx, 0xf33a52b01b174e03
add rcx, qword [rbp + 0x38]
movabs rax, 0x735536625303ad1b
xor rcx, rax
sub rcx, qword [0x14031d058]
sub rcx, qword [0x14031d050]
movabs rax, 0xedf047f47b6d4e9
sub rcx, rax
movabs rax, 0xf8f8cd9e7616ee75
xor rcx, rax
sub rcx, qword [0x14031d048]
movabs rax, 0xc7d654c19bba6e88
add rcx, rax
mov rsi, qword [0x14031d040]
add rcx, rsi
movabs rax, 0x5a9179af2119e50d
xor rcx, rax
movabs rax, 0x5f627dc6968ba120
sub rcx, rax
movabs rax, 0x6e3b3cd553e17575
xor rcx, rax
movabs rdx, 0x3483ce4a826aa982
add rdx, rcx
add rdx, rsi
not rdx
movabs rcx, 0x13cce94ac06c5b8c
mov r10, qword [0x14031d038]
mov rax, r10
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b53f93a473
mov r11, qword [0x14031d030]
mov rcx, r11
xor rcx, rax
movabs rdi, 0xe0b56d76145e5ae1
add rdi, rdx
add rdi, rcx
movabs rax, 0x2f269a95e0b6cfe4
xor rdi, rax
mov qword [rbp + 0x38], rdi
movabs rcx, 0xf33a52ab5ddcc983
add rcx, qword [rbp + 0x40]
movabs rax, 0xeed5366252feefe1
xor rcx, rax
sub rcx, qword [0x14031d058]
sub rcx, qword [0x14031d050]
movabs rax, 0x7120fb80c680daa5
add rcx, rax
movabs rax, 0xf8f8cda346465d07
xor rcx, rax
sub rcx, qword [0x14031d048]
movabs rax, 0x87d654c80a975d64
add rcx, rax
add rcx, rsi
movabs rax, 0x5a9179b488f0a42f
xor rcx, rax
movabs rax, 0x5f627dc9e3e028aa
sub rcx, rax
movabs rax, 0x923b3cd7b2a4a18a
xor rcx, rax
movabs rax, 0xb483ce4f1e789463
add rcx, rax
add rcx, rsi
not rcx
movabs rax, 0x13cce94aad77717a
xor r10, rax
sub rcx, r10
movabs rax, 0xec3316b552888e85
xor r11, rax
movabs rdx, 0xe0b56d632c7f9e4f
add rdx, rcx
add rdx, r11
movabs rax, 0xca9ac113bccfa062
xor rdx, rax
mov qword [rbp + 0x40], rdx
mov rax, qword [rsp + 0x50]
mov rcx, r12
cmp r14, rax
sete cl
and rdx, rdi
mov qword [rbp + 0x40], r12
mov qword [rbp + 0x38], r12
cmp rcx, rdx
jne 0x140172897
mov dword [rsp + 0x70], 0xf4363b76
mov r13, r12
movabs r12, 0x13cce94adba99340
xor edx, edx
mov rax, r13
div r12
lea r15d, [rdx + 0x38]
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 + r13*2 + 0x70]
sub r10w, si
mov eax, 0x6afe
add r10w, ax
mov eax, 0x9204
sub ax, si
xor r10w, ax
sub r10w, word [0x14031d058]
sub r10w, word [0x14031d050]
add r10w, di
add r10w, 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 [0x14031d048]
mov rcx, qword [0x14031d040]
sub r10w, 0x50
add r10w, cx
add r10w, r11w
add r10w, si
movzx eax, r8w
sub ax, r9w
add ax, si
add ax, 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 edx, 0x4050
sub r11w, dx
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 r8d, 0x2440
xor ax, r8w
sub dx, ax
movzx eax, bx
xor ax, word [0x14031d038]
sub dx, ax
movzx eax, r14w
xor ax, word [0x14031d030]
add dx, ax
sub dx, cx
sub dx, di
sub dx, si
sub dx, r15w
movzx eax, r14w
movzx ecx, bx
imul ecx, eax
xor dx, cx
mov word [rsp + r13*2 + 0x70], dx
inc r13
cmp r13, 2
jb 0x140171fd5
lea rax, [rsp + 0x70]
mov qword [rbp + 0x190], rax
mov qword [rbp + 0x198], 4
mov rax, qword [rbp + 0x190]
mov qword [rbp - 0x58], rax
lea rdx, [rbp + 0x1d0]
lea rcx, [rbp + 0x1b00]
call fcn.140164d0c
xor r12d, r12d
mov r13d, r12d
mov r12, rax
xor edx, edx
mov rax, r13
movabs rcx, 0x13cce94adba99340
div rcx
lea r15d, [rdx + 0x38]
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 [r12 + r13*2]
sub r10w, si
mov eax, 0x6afe
add r10w, ax
mov eax, 0x9204
sub ax, si
xor r10w, ax
sub r10w, word [0x14031d058]
sub r10w, word [0x14031d050]
add r10w, di
add r10w, 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, word [0x14031d048]
sub r10w, dx
sub r10w, r9w
sub r10w, r14w
mov rcx, qword [0x14031d040]
sub r10w, 0x50
add r10w, cx
add r10w, r11w
add r10w, si
movzx eax, r8w
sub ax, r9w
add ax, si
add ax, 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 edx, 0x4050
sub r11w, dx
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 r8d, 0x2440
xor ax, r8w
sub dx, ax
movzx eax, bx
xor ax, word [0x14031d038]
sub dx, ax
movzx eax, r14w
xor ax, word [0x14031d030]
add dx, ax
sub dx, cx
sub dx, di
sub dx, si
sub dx, r15w
movzx eax, r14w
movzx ecx, bx
imul ecx, eax
xor dx, cx
mov word [r12 + r13*2], dx
inc r13
cmp r13, 9
jb 0x1401721cf
mov qword [rbp + 0x1a0], r12
mov qword [rbp + 0x1a8], 0x12
mov rax, qword [rbp + 0x1a0]
mov qword [rsp + 0x48], rax
xor r12d, r12d
mov qword [rbp + 0x48], r12
movabs rax, 0xfa4e3a98625b44a
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x48]
add rax, 0x6b03
movabs rcx, 0x905536625307cfe1
xor rax, rcx
sub rax, qword [0x14031d058]
sub rax, qword [0x14031d050]
movabs rcx, 0xedf047f541f25be
sub rax, rcx
movabs rcx, 0xec33204e80a2bb03
xor rax, rcx
sub rax, qword [0x14031d048]
movabs rcx, 0x16468673d3965fe8
add rcx, rax
mov rdx, qword [0x14031d040]
add rcx, rdx
movabs rax, 0xec3316b52f088dfb
xor rcx, rax
movabs rax, 0x13cce94a3ad72fce
sub rcx, rax
movabs rax, 0xffd8662d614bd0c9
xor rcx, rax
movabs rax, 0x27be20faba74f3ca
add rax, rcx
add rdx, rax
not rdx
movabs rcx, 0x13cce94ad0f771fe
mov rax, qword [0x14031d038]
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b52f088e01
mov rcx, qword [0x14031d030]
xor rcx, rax
movabs rax, 0x13cc22b5988e24d3
add rdx, rax
add rdx, rcx
movabs rax, 0xa441cb73442255fe
xor rdx, rax
mov qword [rbp + 0x48], rdx
mov rax, qword [rbp + 0x1b18]
add eax, edx
mov dword [rbp + 0x1b00], eax
mov qword [rbp + 0x50], r12
movabs rax, 0xaa493b51fe42448f
mov qword [rbp + 0x50], rax
mov rax, qword [rbp + 0x50]
add rax, 0x6b03
movabs rcx, 0x9055366253085069
xor rax, rcx
sub rax, qword [0x14031d058]
sub rax, qword [0x14031d050]
movabs rcx, 0xedf047f55a0bc94
sub rax, rcx
movabs rcx, 0xec33204e7ea09c91
xor rax, rcx
sub rax, qword [0x14031d048]
movabs rcx, 0x16468673d5d8c229
add rcx, rax
mov rdx, qword [0x14031d040]
add rcx, rdx
movabs rax, 0xec3316b52d066f89
xor rcx, rax
movabs rax, 0x13cce94a3cd94e5c
sub rcx, rax
movabs rax, 0xffd8662d6147cc8c
xor rcx, rax
movabs rax, 0x27be20fabdf8a911
add rax, rcx
add rdx, rax
not rdx
movabs rcx, 0x13cce94ad2f99070
mov rax, qword [0x14031d038]
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b52d066f8f
mov rcx, qword [0x14031d030]
xor rcx, rax
movabs r13, 0x13cc22b59a903b45
add r13, rdx
add r13, rcx
movabs rax, 0x2aa151b321a83e90
xor r13, rax
mov qword [rbp + 0x1b18], r13
mov qword [rbp + 0x50], r13
mov dword [rbp + 0x78], 0x11cc6257
mov dword [rbp + 0x7c], 0x1580a467
mov byte [rbp + 0x80], 0x1e
mov r15d, r12d
mov r13, qword [0x14031d040]
movabs r12, 0x13cce94adba99340
xor edx, edx
mov rax, r15
div r12
add dl, 0x38
mov r14b, dl
sar r14b, 7
or r14b, dl
mov al, r14b
sar al, 2
mov sil, r14b
shl sil, 6
mov r11b, sil
or r11b, al
movsx rcx, r14b
or sil, 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 [rbp + r15 + 0x78]
sub dl, r11b
sub dl, 2
mov eax, 4
sub al, sil
xor dl, al
sar rcx, 1
mov al, r14b
shl al, 7
or cl, al
sub dl, cl
sub dl, byte [0x14031d050]
sub dl, byte [0x14031d058]
sub dl, 0x3f
add dl, sil
add dl, r14b
lea eax, [r11 + 7]
add al, r14b
xor dl, al
sub dl, r14b
sub dl, byte [0x14031d048]
sub dl, r9b
sub dl, 0x50
add dl, sil
add dl, r13b
sub r11b, r9b
add r11b, r14b
add r11b, r8b
xor dl, r11b
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 sil, sil
add dil, 0x51
add dil, sil
add dil, r13b
not dil
mov al, r14b
sar al, 7
or al, r14b
sub dil, al
mov al, byte [0x14031d038]
xor al, bl
sub dil, al
mov al, r14b
xor al, 0x40
sub dil, al
mov al, r14b
xor al, byte [0x14031d030]
add dil, al
movsx eax, bl
movsx ecx, r14b
imul ecx, eax
xor dil, cl
mov byte [rbp + r15 + 0x78], dil
inc r15
cmp r15, 9
jb 0x1401725dd
lea rax, [rbp + 0x78]
mov qword [rbp + 0x1b0], rax
mov qword [rbp + 0x1b8], 9
mov rax, qword [rbp - 0x58]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x48]
mov r8d, dword [rbp + 0x1b00]
mov rdx, qword [rbp + 0x1b18]
mov rcx, qword [rbp + 0x1b0]
call fcn.140182ff0
nop
mov rcx, qword [rbp + 0x1b0]
xor r12d, r12d
test rcx, rcx
je 0x14017279c
mov eax, r12d
cmp qword [rbp + 0x1b8], r12
jbe 0x14017279c
mov byte [rax + rcx], r12b
inc rax
cmp rax, qword [rbp + 0x1b8]
jae 0x14017279c
mov rcx, qword [rbp + 0x1b0]
jmp 0x140172783
mov qword [rbp + 0x50], r12
mov qword [rbp + 0x48], r12
mov rcx, qword [rbp + 0x1a0]
test rcx, rcx
je 0x1401727d5
mov rax, r12
cmp qword [rbp + 0x1a8], r12
jbe 0x1401727d5
mov byte [rax + rcx], r12b
inc rax
cmp rax, qword [rbp + 0x1a8]
jae 0x1401727d5
mov rcx, qword [rbp + 0x1a0]
jmp 0x1401727bc
mov rcx, qword [rbp + 0x190]
test rcx, rcx
je 0x140172806
mov rax, r12
cmp qword [rbp + 0x198], r12
jbe 0x140172806
mov byte [rax + rcx], r12b
inc rax
cmp rax, qword [rbp + 0x198]
jae 0x140172806
mov rcx, qword [rbp + 0x190]
jmp 0x1401727ed
mov dword [rsp + 0x74], r12d
mov dword [rsp + 0x74], 0xd8e20f78
mov eax, dword [rsp + 0x74]
add eax, 0x5315080a
xor eax, 0x9d5ee519
sub eax, dword [0x14031d058]
sub eax, dword [0x14031d050]
sub eax, 0x595ece17
xor eax, 0xd1393d86
sub eax, dword [0x14031d048]
mov rcx, qword [0x14031d040]
add eax, 0xc9398484
add eax, ecx
xor eax, 0x153c7cde
sub eax, 0x636d3b04
xor eax, 0x6508d885
lea edx, [rcx - 0x370b206f]
add edx, eax
not edx
mov eax, dword [0x14031d038]
xor eax, 0x2d4c5274
sub edx, eax
mov eax, dword [0x14031d030]
xor eax, 0xd2b3ad8b
add eax, 0x81753963
add edx, eax
xor edx, 0xfb4528fc
mov dword [rsp + 0x74], edx
mov dword [rsp + 0x74], r12d
jmp 0x140173cf8
movabs rsi, 0x246a2bb4d5ca96b2
movabs rbx, 0xe0b625a1f57a48fd
mov rdi, r12
movabs rax, 0xecd90a4b0e8ffbae
movabs r11, 0x9e967c2056a13ee7
mov r14, qword [0x14031d070]
imul r14, rax
not r14
movabs rcx, 0x616983dfa6e93ccb
mov r13, qword [0x14031d060]
mov rax, r13
xor rax, rcx
and r14, rax
ror r14, 0x2e
shr r14, 8
movabs rax, 0x422ed5977daf4fc8
mov r9, r13
imul r9, rax
movabs r8, 0x1f49da5e0a85b703
sub r9, r8
movabs rax, 0x64e4897100000000
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, 0x33
and ecx, 0x8000003f
jge 0x14017296a
dec ecx
or ecx, 0xffffffc0
inc ecx
mov rax, r9
ror rax, cl
not rax
movabs rcx, 0x5283dfa7672c9db4
mov r15, rax
imul r15, rcx
add r8, r15
mov r10, r9
imul r10, r14
sub r10, r8
xor r10, rsi
mov cl, r8b
xor cl, 0xfc
and cl, 0xf
rol r10, cl
movabs rcx, 0x62922dd9ef3a7ae4
imul rax, rcx
movabs rcx, 0x6ff7c5a8180cb5f7
add rax, rcx
xor r10, rax
mov rax, r8
sub rax, qword [0x14031d078]
xor r10, rax
xor r10, r11
mov rax, r10
and eax, 1
je 0x140172cb4
sub rax, 1
je 0x140172bbe
sub rax, 1
je 0x140172aec
cmp rax, 1
jne 0x140172d2f
mov rsi, r8
imul rsi, r9
movabs rax, 0xa7a701635c6fe709
add rax, r10
xor rsi, rax
ror rsi, 0x14
shr rsi, 0xc
not rsi
movabs rcx, 0x83572aff3928
mov rdx, qword [0x14031d088]
add rdx, rcx
movabs rax, 0x1fcb5f266b61aea1
xor rdx, rax
movzx eax, r10b
movzx ecx, sil
imul ecx, eax
and cl, 0x3f
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db9721fd5db
sub rax, r9
mov r9, rdx
xor r9, rax
mov rcx, r9
imul rcx, rbx
mov eax, 0xa3c40731
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 rbx, 0x8a3050473a97da62
sub rbx, rsi
shr rbx, cl
movabs rcx, 0x1f51fee65bc62f01
add rcx, r15
mov rax, r13
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r10
lea rdx, [0x14031d060]
imul rax, qword [rdx + rcx*8]
imul rax, r10
sub rax, r14
xor rbx, rax
jmp 0x140172d2f
movabs rcx, 0xaaaaaa1aa3ddfa0f
mov r9, r10
xor r9, rcx
movabs rcx, 0x1206ed61d02643
imul r9, rcx
movabs rcx, 0xffff7e8a85cdc8d3
imul r15, rcx
movabs rcx, 0x98fbf883a34605b8
add r9, rcx
add r9, r15
movabs rax, 0x277cd7be710d2d6f
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 r8, r9
not r8
lea rax, [0x14031d060]
imul r8, qword [rax + rcx*8]
xor r8, 0xfffffffff6882cdf
lea ecx, [r10 + 0xd]
and cl, 0x3f
rol r8, cl
movabs rax, 0x64422d0080000000
imul r8, rax
mov rcx, r8
ror rcx, 0x20
not rcx
movabs rax, 0x9b2de6b2fb86bd20
imul rcx, rax
mov rax, r9
sub rax, r8
lea rdx, [rcx + rax*4]
mov cl, r14b
and cl, 0x3f
ror rdx, cl
mov rax, rbx
mov rbx, rdx
imul rbx, rax
jmp 0x140172d2f
movabs rax, 0x4e95fc2224811c89
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, 0xdb95d44b2a35694d
shl rdx, cl
mov rax, r11
mov r11, rdx
xor r11, rax
mov cl, r8b
and cl, 0x3f
rol r11, cl
movabs rcx, 0x1f49da5e0a85b703
add rcx, r10
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0xffffe5a1f57a48fd
lea rax, [0x14031d060]
mov rax, qword [rax + rcx*8]
imul rax, rdx
xor r11, rax
movabs rax, 0xffffc7a7ff198c22
or r11, rax
mov rbx, qword [0x14031d070]
imul rbx, rsi
sub rbx, r8
mov rax, r14
sub rax, r11
xor rbx, rax
movabs rax, 0xc7a7c6a6ae118c2f
xor rbx, rax
mov rax, r10
imul rax, r8
imul rax, rbx
mov rdi, r9
sub rdi, rax
movabs rax, 0x78958946143c035
add rdi, rax
xor rdi, r14
mov al, r9b
shl al, 2
lea ecx, [rax + r9]
add cl, cl
and cl, 0x3f
rol rdi, cl
not rdi
jmp 0x140172d2f
mov rcx, r10
imul rcx, qword [0x14031d080]
and rcx, qword [0x14031d088]
mov rax, r11
mov r11, rcx
xor r11, rax
ror r11, 0x27
imul r11, r8
mov rdi, r14
not rdi
imul rdi, r9
movabs rax, 0x7cd8a7de73e0ddce
imul rdi, rax
imul r14, r13, 0xfffffffff048022c
mov rdx, qword [0x14031d068]
sub r14, rdx
mov al, dil
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x140172d1c
dec ecx
or ecx, 0xffffffc0
inc ecx
ror r14, cl
movabs rax, 0x1f49da5e0a85b703
add r14, rax
add r14, r15
movabs rax, 0xff055d7b83abd703
xor rsi, rax
movabs rax, 0xaaaaaaaaaaaaaaab
mul rsi
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rsi, rax
xor r11, rdi
lea rax, [0x14031d060]
imul r11, qword [rax + rsi*8]
not r8
imul r8, r10
imul r8, r14
imul r8, rbx
movabs rcx, 0xf5ed7e8784189ddf
xor rcx, r9
not rcx
xor rcx, r8
sub rcx, r11
call fcn.14015d6a8
mov qword [0x140321f78], rax
xor eax, eax
mov byte [rbp + 0x1b18], al
mov dword [rbp + 0x8e], 0x17070648
mov dword [rbp + 0x92], 0x2664940d
mov dword [rbp + 0x96], 0xa8119cea
mov byte [rbp + 0x9a], 0x88
mov r15, r12
mov r13, qword [0x14031d040]
movabs r12, 0x13cce94adba99340
xor edx, edx
mov rax, r15
div r12
add dl, 0x38
mov r14b, dl
sar r14b, 7
or r14b, dl
mov al, r14b
sar al, 2
mov sil, r14b
shl sil, 6
mov r11b, sil
or r11b, al
movsx rcx, r14b
or sil, 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 [rbp + r15 + 0x8e]
sub dl, r11b
sub dl, 2
mov eax, 4
sub al, sil
xor dl, al
sar rcx, 1
mov al, r14b
shl al, 7
or cl, al
sub dl, cl
sub dl, byte [0x14031d050]
sub dl, byte [0x14031d058]
sub dl, 0x3f
add dl, sil
add dl, r14b
lea eax, [r11 + 7]
add al, r14b
xor dl, al
sub dl, r9b
sub dl, r14b
sub dl, byte [0x14031d048]
sub dl, 0x50
add dl, r13b
add dl, sil
mov al, r8b
sub al, r9b
add al, r11b
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 sil, sil
add dil, 0x51
add dil, sil
add dil, r13b
not dil
mov al, r14b
sar al, 7
or al, r14b
sub dil, al
mov al, bl
xor al, byte [0x14031d038]
sub dil, al
mov al, r14b
xor al, 0x40
sub dil, al
mov al, r14b
xor al, byte [0x14031d030]
add dil, al
movsx eax, r14b
movsx ecx, bl
imul ecx, eax
xor dil, cl
mov byte [rbp + r15 + 0x8e], dil
inc r15
cmp r15, 0xd
jb 0x140172dd8
lea rax, [rbp + 0x8e]
mov qword [rbp + 0x1c0], rax
mov qword [rbp + 0x1c8], 0xd
mov rdx, qword [rbp + 0x1c0]
lea rcx, [rbp + 0x150]
call fcn.14015a3ac
mov rdx, rax
lea rcx, [rbp + 0x228]
call fcn.14015e17c
nop
mov rcx, qword [rbp + 0x1c0]
xor r12d, r12d
test rcx, rcx
je 0x140172f9c
mov eax, r12d
cmp qword [rbp + 0x1c8], r12
jbe 0x140172f9c
mov byte [rax + rcx], r12b
inc rax
cmp rax, qword [rbp + 0x1c8]
jae 0x140172f9c
mov rcx, qword [rbp + 0x1c0]
jmp 0x140172f83
mov qword [rbp + 0x58], r12
movabs rax, 0x6f80decbc4b16e80
mov qword [rbp + 0x58], rax
mov qword [rbp + 0x60], r12
movabs rax, 0xef4c2bd22c146f08
mov qword [rbp + 0x60], rax
mov rsi, qword [rbp + 0x238]
movabs rcx, 0xf33a52b08d9db783
add rcx, qword [rbp + 0x60]
movabs rax, 0xdcd5366253041fa2
xor rcx, rax
sub rcx, qword [0x14031d058]
sub rcx, qword [0x14031d050]
movabs rax, 0x7120fb80b6f197db
add rcx, rax
movabs rax, 0xf8f8cd9e01c66b4f
xor rcx, rax
sub rcx, qword [0x14031d048]
movabs rax, 0x87d654c10044fa53
add rcx, rax
mov rdi, qword [0x14031d040]
add rcx, rdi
movabs rax, 0x5a9179ae9e7894b7
xor rcx, rax
movabs rax, 0x5f627dc64240e3e2
sub rcx, rax
movabs rax, 0x223b3cd51a9aac82
xor rcx, rax
movabs rdx, 0xb483ce4a1305ece5
add rdx, rcx
add rdx, rdi
not rdx
movabs rcx, 0x13cce94ac2367532
mov r10, qword [0x14031d038]
mov rax, r10
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b53dc98acd
mov r11, qword [0x14031d030]
mov rcx, r11
xor rcx, rax
movabs rax, 0xe0b56d77e0445287
add rdx, rax
add rdx, rcx
movabs rax, 0xbc5bbc97cf0acd0a
xor rdx, rax
mov qword [rbp + 0x60], rdx
movabs rcx, 0xf33a52b80a86a103
add rcx, qword [rbp + 0x58]
movabs rax, 0xc6553662530b9c8b
xor rcx, rax
sub rcx, qword [0x14031d058]
sub rcx, qword [0x14031d050]
movabs rax, 0xedf047f5f8522e2
sub rcx, rax
movabs rax, 0xf8f8cd9666e9de29
xor rcx, rax
sub rcx, qword [0x14031d048]
movabs rax, 0x47d654b6d636d15e
add rcx, rax
add rcx, rdi
movabs rax, 0x5a9179a613feea61
xor rcx, rax
movabs rax, 0x5f627dc482694f34
sub rcx, rax
movabs rax, 0xd63b3cd15bea507b
xor rcx, rax
movabs rax, 0x3483ce42ca8761c7
add rcx, rax
add rcx, rdi
not rcx
movabs rax, 0x13cce94ae02a18d8
xor r10, rax
sub rcx, r10
movabs rax, 0xec3316b51fd5e727
xor r11, rax
movabs rax, 0xe0b56d95b1d95bad
add rcx, rax
add rcx, r11
movabs rax, 0x4619d76ef68cb0e8
xor rcx, rax
mov qword [rbp + 0x58], rcx
and rcx, rdx
mov qword [rbp + 0x60], r12
mov qword [rbp + 0x58], r12
cmp rsi, rcx
jne 0x14017322b
mov dword [rsp + 0x78], r12d
mov dword [rsp + 0x78], 0x7792d013
mov eax, dword [rsp + 0x78]
add eax, 0x9bd8c0a
xor eax, 0x215e9bc2
sub eax, dword [0x14031d058]
sub eax, dword [0x14031d050]
sub eax, 0x5882c7a3
xor eax, 0x1bb61776
sub eax, dword [0x14031d048]
mov rcx, qword [0x14031d040]
add eax, 0x2cc7c556
add eax, ecx
xor eax, 0x68e4464e
sub eax, 0x56b97a94
xor eax, 0x69b6e140
lea edx, [rcx + 0x104af72d]
add edx, eax
not edx
mov eax, dword [0x14031d038]
xor eax, 0x2c26f484
sub edx, eax
mov eax, dword [0x14031d030]
xor eax, 0xd3d90b7b
add eax, 0x5af42bf2
add edx, eax
xor edx, 0xf31d276c
mov dword [rsp + 0x78], edx
mov dword [rsp + 0x78], r12d
jmp 0x140173cf8
movabs rsi, 0x14e98fb92ce2f7c1
movabs rax, 0xb3032cc188300000
movabs r14, 0xf9528e6e6fcd8143
mov r11, qword [0x14031d078]
imul r11, rax
movabs rax, 0x9dcc6c43c6900000
xor r11, rax
mov r13, r11
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 r8, r11
and r8, rsi
lea rdi, [0x14031d060]
imul r8, qword [rdi + rcx*8]
movabs rax, 0x19e272ce5e60ae3e
imul r8, rax
movabs rax, 0x291732cc5dad02c8
xor r8, rax
shr r8, 3
movabs rax, 0xffffff57d2a84d45
mov rbx, r11
imul rbx, rax
sub rbx, 0x79ea9216
xor rbx, r8
xor rbx, qword [0x14031d060]
mov rax, r8
imul rax, qword [0x14031d070]
movabs rcx, 0xb9de928bdb1bf264
imul rax, rcx
not rax
and rbx, rax
ror rbx, 0x14
shr rbx, 8
movabs rcx, 0xeb167046d31d083f
add rcx, r11
xor rcx, 0xffffffffe595f969
mov rax, r9
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0x1e717ab737185748
mov r10, qword [rdi + rcx*8]
imul r10, rax
add r10, rsi
movabs rcx, 0x40472cc0cb30620c
mov rax, r8
imul rax, rcx
xor r10, rax
shr r10, 0x1f
not r10
mov r15, r10
xor r15, r11
movabs rcx, 0xeb167046d31d083f
add rcx, r10
mov rax, r9
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r10b
movzx ecx, byte [rdi + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x75
and ecx, 0x8000003f
jge 0x1401733a2
dec ecx
or ecx, 0xffffffc0
inc ecx
ror r15, cl
not r15
imul r15, r8
imul rdx, r15, 0xffffffff86156dea
mov qword [rsp + 0x48], rdx
movabs rdi, 0xeb167046d31d083f
add rdi, rdx
mov r9, r10
imul r9, rbx
sub r9, rdi
xor r9, r14
mov cl, dil
xor cl, 0xfa
and cl, 0xf
rol r9, cl
movabs rax, 0x1a7bbbec03c8a36a
imul r15, rax
movabs rax, 0x61fb7ea94776007f
add r15, rax
xor r9, r15
mov rax, rdi
sub rax, qword [0x14031d078]
xor r9, rax
xor r9, r8
xor r9, r11
mov rax, r9
and eax, 1
xor rax, 2
je 0x14017375c
sub rax, 1
je 0x140173629
sub rax, 1
je 0x140173535
cmp rax, 1
jne 0x14017380f
mov r14, rdi
imul r14, r10
movabs rax, 0xa9ae55a4af8ba5fb
add rax, r9
xor r14, rax
ror r14, 0x2e
shr r14, 0xc
xor r14, r11
not r14
movabs rcx, 0x835739eafc62
mov rdx, qword [0x14031d088]
add rdx, rcx
movabs rax, 0xeb94f53ea1ecd4db
xor rdx, rax
movzx eax, r14b
movzx ecx, r9b
imul ecx, eax
and cl, 0x3f
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db9610a109d
sub rax, r10
mov r10, rdx
xor r10, rax
mov rcx, r10
imul rcx, rsi
mov eax, 0xb0d1c277
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 rsi, 0x5430457eb1964cf2
sub rsi, r14
shr rsi, cl
movabs rax, 0xeb1e94cf1572bafb
mov rcx, qword [rsp + 0x48]
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 0x14017380f
movabs rax, 0xaaaaaa1ab0c83f49
mov rcx, r9
xor rcx, rax
movabs rax, 0x1206ed72c5e305
imul rcx, rax
movabs r10, 0xfff17ca867aa0935
mov rax, r8
xor rax, r10
sub rcx, rax
movabs rax, 0xffff7e8a96d80d95
imul rdx, rax
movabs r10, 0x42ae07c5cf510d40
add r10, rcx
add r10, rdx
movabs rax, 0x277cd7be6218e829
mov rcx, r10
xor rcx, rax
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rdi, r10
not rdi
lea rax, [0x14031d060]
imul rdi, qword [rax + rcx*8]
xor rdi, 0xffffffffe59de999
lea ecx, [r9 + 0xb]
and cl, 0x3f
rol rdi, cl
movabs rax, 0x30024dc680000000
xor r13, rax
movabs rax, 0x7c7a7dc68c9ae328
and r13, rax
imul rdi, r13
mov rcx, rdi
ror rcx, 0x17
not rcx
movabs rax, 0x9b2de6b2b7d1a838
imul rcx, rax
mov rax, r10
sub rax, rdi
lea rdx, [rcx + rax*4]
mov cl, bl
and cl, 0x3f
ror rdx, cl
mov rax, rsi
mov rsi, rdx
imul rsi, rax
jmp 0x14017380f
movabs rax, 0x47bc335bddf9805f
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, 0xeb167046d31d083e
mov rax, r11
imul rax, rdx
xor rax, r14
not rax
shl rax, cl
xor r8, rax
mov cl, dil
and cl, 0x3f
rol r8, cl
movabs rcx, 0xeb167046d31d083f
add rcx, r9
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0xfb92ce2f7c1
lea rax, [0x14031d060]
mov rax, qword [rax + rcx*8]
imul rax, rdx
xor r8, rax
movabs rax, 0xffffc7a7ec0c4964
or r8, rax
mov rsi, qword [0x14031d070]
imul rsi, r14
sub rsi, rdi
mov rax, rbx
sub rax, r8
xor rsi, rax
movabs rax, 0xc7a7c6a6bd044969
xor rsi, rax
movabs rax, 0xcccccccccccccccd
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, rsi
div rcx
mov rcx, rdx
mov rdx, r9
imul rdx, rdi
imul rdx, rsi
shr rdx, cl
mov rax, r10
sub rax, rdx
sub rax, r11
movabs r11, 0x789589472560573
add r11, rax
xor r11, rbx
mov al, r10b
add al, al
lea ecx, [rax + r10]
shl cl, 2
and cl, 0x3f
rol r11, cl
not r11
jmp 0x14017380f
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, rdi
not rbx
imul rbx, r10
movabs rax, 0x7cd8a7de60f51888
imul rbx, rax
mov rax, r8
imul rax, r11
mov r11, rbx
xor r11, rax
imul rbx, qword [0x14031d060], 0xffffffff86156dea
mov rdx, qword [0x14031d068]
sub rbx, rdx
mov al, r11b
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x1401737fa
dec ecx
or ecx, 0xffffffc0
inc ecx
ror rbx, cl
movabs rax, 0xeb167046d31d083f
add rbx, rax
add rbx, qword [rsp + 0x48]
movabs rax, 0xff055d7b90be1245
xor r14, rax
movabs rax, 0xaaaaaaaaaaaaaaab
mul r14
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub r14, rax
xor r8, r11
lea rax, [0x14031d060]
imul r8, qword [rax + r14*8]
not rdi
imul rdi, r9
imul rdi, rbx
imul rdi, rsi
movabs rcx, 0xf5ed7e87970d5899
xor rcx, r10
not rcx
xor rcx, rdi
sub rcx, r8
call fcn.14015de64
mov qword [0x140321f30], rax
mov dword [rsp + 0x7c], r12d
mov dword [rsp + 0x7c], 0xbd0c739b
mov dword [rbp - 0x80], r12d
mov dword [rbp - 0x80], 0x739bbffb
mov eax, dword [rbp - 0x80]
add eax, 0x7f0f76b4
xor eax, 0xc091114
mov r11, qword [0x14031d058]
sub eax, r11d
mov r9, qword [0x14031d050]
sub eax, r9d
sub eax, 0x57e2bd62
xor eax, 0xfc8ee522
mov r8, qword [0x14031d048]
sub eax, r8d
mov rbx, qword [0x14031d040]
add eax, 0xca87134b
add eax, ebx
xor eax, 0xfb12d6a4
sub eax, 0x2418b992
xor eax, 0xd9ba415c
lea ecx, [rbx + 0x442e49ed]
add ecx, eax
not ecx
mov r10, qword [0x14031d038]
mov eax, r10d
xor eax, 0xd5fc3c2e
sub ecx, eax
mov rdx, qword [0x14031d030]
mov edi, edx
xor edi, 0x2a03c3d1
add edi, 0x99cf1e45
add edi, ecx
xor edi, 0x154e2b8e
mov dword [rbp - 0x80], edi
mov eax, dword [rsp + 0x7c]
add eax, 0x7f443b32
xor eax, 0xd0871148
sub eax, r11d
sub eax, r9d
add eax, 0x2e1ca450
xor eax, 0x4594d92
sub eax, r8d
add eax, 0xc13f7293
add eax, ebx
xor eax, 0x42d6a685
add eax, 0x63f40696
xor eax, 0xb5afdd77
lea ecx, [rbx - 0x4a050932]
add ecx, eax
not ecx
xor r10d, 0xcdfd0f40
sub ecx, r10d
xor edx, 0x3202f0bf
lea eax, [rdx - 0x6d5b0531]
add eax, ecx
xor eax, 0x8c9a60c0
mov dword [rsp + 0x7c], eax
movsxd rcx, eax
xor edx, edx
mov rax, qword [rbp + 0x238]
div rcx
mov rdx, rax
movsxd rax, edi
add rdx, rax
mov dword [rbp - 0x80], r12d
mov dword [rsp + 0x7c], r12d
mov dword [rbp - 0x7c], r12d
mov dword [rbp - 0x7c], 0xd5a58222
mov eax, dword [rbp - 0x7c]
add eax, 0x99196433
xor eax, 0xf9882b1d
sub eax, dword [0x14031d058]
sub eax, dword [0x14031d050]
add eax, 0x2acf24d5
xor eax, 0xe61ccfed
sub eax, dword [0x14031d048]
mov rcx, qword [0x14031d040]
add eax, 0xc2ae9969
add eax, ecx
xor eax, 0x15f83bf
sub eax, 0x6e31eb8c
xor eax, 0xe0bc7a4d
lea r8d, [rcx - 0x5c255e14]
add r8d, eax
not r8d
mov eax, dword [0x14031d038]
xor eax, 0xd26463e4
sub r8d, eax
mov ecx, dword [0x14031d030]
xor ecx, 0x2d9b9c1b
add ecx, 0xfe9ebb78
add ecx, r8d
xor ecx, 0xec81790c
mov dword [rbp - 0x7c], ecx
mov byte [rsp + 0x3c], cl
lea r8, [rsp + 0x3c]
mov r13, qword [rbp + 0x1b00]
mov rcx, r13
call fcn.1400b3d70
nop
mov dword [rbp - 0x7c], r12d
mov r14, qword [r13]
lea r15, [rbp + 0x228]
cmp qword [rbp + 0x240], 0xf
cmova r15, qword [rbp + 0x228]
mov qword [rbp + 0x68], r12
movabs rax, 0x66c3365f0cc74301
mov qword [rbp + 0x68], rax
mov qword [rbp + 0x70], r12
movabs rax, 0x5a0acd01bae31a2d
mov qword [rbp + 0x70], rax
movabs rcx, 0xf33a52b47e07d483
add rcx, qword [rbp + 0x68]
movabs rax, 0xf9d536625308100c
xor rcx, rax
sub rcx, qword [0x14031d058]
sub rcx, qword [0x14031d050]
movabs rax, 0x7120fb80ab205984
add rcx, rax
movabs rax, 0xf8f8cd9a019aa5db
xor rcx, rax
sub rcx, qword [0x14031d048]
movabs rax, 0x7d654bba76ceff5
add rcx, rax
mov rsi, qword [0x14031d040]
add rcx, rsi
movabs rax, 0x5a9179aa203f8ba3
xor rcx, rax
movabs rax, 0x5f627dc760628596
sub rcx, rax
movabs rax, 0x3a3b3cd322461ab1
xor rcx, rax
movabs rdx, 0xb483ce463e2eb6b0
add rdx, rcx
add rdx, rsi
not rdx
movabs rcx, 0x13cce94ad1f81da6
mov r10, qword [0x14031d038]
mov rax, r10
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b52e07e259
mov r11, qword [0x14031d030]
mov rcx, r11
xor rcx, rax
movabs rdi, 0xe0b56d8791ac2efb
add rdi, rdx
add rdi, rcx
movabs rax, 0x5202b5daacf8dab6
xor rdi, rax
mov qword [rbp + 0x68], rdi
movabs rcx, 0xf33a52b8640b9903
add rcx, qword [rbp + 0x70]
movabs rax, 0xbe553662530bf610
xor rcx, rax
sub rcx, qword [0x14031d058]
sub rcx, qword [0x14031d050]
movabs rax, 0xedf047f6091b1ca
sub rcx, rax
movabs rax, 0xf8f8cd960bfed249
xor rcx, rax
sub rcx, qword [0x14031d048]
movabs rax, 0x47d654b65cb2d2ba
add rcx, rax
add rcx, rsi
movabs rax, 0x5a9179a5ade33f81
xor rcx, rax
movabs rax, 0x5f627dc44287a114
sub rcx, rax
movabs rax, 0x163b3cd12f250853
xor rcx, rax
movabs r8, 0x3483ce4273750c8f
add r8, rcx
add r8, rsi
not r8
movabs rax, 0x13cce94ae1902cb8
xor r10, rax
sub r8, r10
movabs rax, 0xec3316b51e6fd347
xor r11, rax
movabs rbx, 0xe0b56d971993580d
add rbx, r8
add rbx, r11
movabs rax, 0xb7738c8757a00f08
xor rbx, rax
mov qword [rbp + 0x70], rbx
mov rdx, r14
mov rcx, r15
call fcn.140181e20
and rbx, rdi
mov qword [rbp + 0x70], r12
mov qword [rbp + 0x68], r12
cmp rax, rbx
jne 0x140173cff
mov rax, qword [r13]
cmp rax, qword [r13 + 8]
je 0x140173c71
mov qword [r13 + 8], rax
mov dword [rbp - 0x78], r12d
mov dword [rbp - 0x78], 0xe6c60f42
mov eax, dword [rbp - 0x78]
add eax, 0x641f6e33
xor eax, 0x387f624
sub eax, dword [0x14031d058]
sub eax, dword [0x14031d050]
add eax, 0x2b6e12b7
xor eax, 0x1beaadc5
sub eax, dword [0x14031d048]
mov rcx, qword [0x14031d040]
add eax, 0xa97e6d6
add eax, ecx
xor eax, 0x3dcca057
sub eax, 0x72797f74
xor eax, 0xab3b1d1c
lea edx, [rcx - 0x289e3dce]
add edx, eax
not edx
mov eax, dword [0x14031d038]
xor eax, 0xd1907c0c
sub edx, eax
mov eax, dword [0x14031d030]
xor eax, 0x2e6f83f3
add eax, 0x29e53c1f
add edx, eax
xor edx, 0xccd3e364
mov dword [rbp - 0x78], edx
mov dword [rbp - 0x78], r12d
mov ebx, edx
jmp 0x14017421c
movabs rdi, 0x65676a58b37e0452
movabs rbx, 0x6eea54727e8feec9
movabs rax, 0xc4bc430d20f5eaa0
movabs r11, 0x56b834df1e3ae890
mov r13, qword [0x14031d070]
mov rsi, r13
imul rsi, rax
not rsi
movabs rcx, 0xa947cb20efd01804
mov rax, qword [0x14031d060]
xor rax, rcx
and rsi, rax
ror rsi, 0x22
shr rsi, 8
movabs rax, 0x310799e497802f18
mov r9, r13
imul r9, rax
add r9, rbx
movabs rax, 0xeb8a2b82ffffffff
xor r9, rax
shr r9, 0x1f
not r9
movabs r8, 0x9115ab8d81701137
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, 0xcb
and ecx, 0x8000003f
jge 0x140173dd2
dec ecx
or ecx, 0xffffffc0
inc ecx
mov rdx, r9
ror rdx, cl
not rdx
movabs rax, 0x153beb8cd7b57340
mov r15, rdx
imul r15, rax
add r8, r15
mov r10, r9
imul r10, rsi
sub r10, r8
xor r10, rdi
movzx r14d, r8b
mov ecx, r14d
xor ecx, 4
and ecx, 0xf
jge 0x140173e12
dec ecx
or ecx, 0xffffffc0
inc ecx
rol r10, cl
mov rax, r8
sub rax, qword [0x14031d078]
xor r10, rax
movabs rax, 0xb7ff01b4ef5cfd40
imul rdx, rax
movabs rax, 0x51156d0180b7a62f
add rdx, rax
xor r10, rdx
xor r10, r11
mov rax, r10
and eax, 1
je 0x14017412f
sub rax, 1
je 0x14017402f
sub rax, 1
je 0x140173f5d
cmp rax, 1
jne 0x1401741ae
mov rdi, r8
imul rdi, r9
movabs rax, 0x9886ee28dc0b39ed
add rax, r10
xor rdi, rax
ror rdi, 0x18
shr rdi, 0xc
not rdi
movabs rcx, 0x835735b640e0
mov rdx, qword [0x14031d088]
add rdx, rcx
movabs rax, 0x91972ef5ffdd716d
xor rdx, rax
movzx eax, r10b
movzx ecx, dil
imul ecx, eax
and cl, 0x3f
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db96d56ac23
sub rax, r9
mov r9, rdx
xor r9, rax
mov rcx, r9
imul rcx, rbx
mov eax, 0xbc8d7ec9
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 r13, [0x14031d060]
mov cl, byte [r13 + rcx*8]
and cl, 0xf
movabs rbx, 0x7d2692e6d69ce6
sub rbx, rdi
shr rbx, cl
movabs rcx, 0x911dd015cf791f3d
add rcx, r15
mov rax, r14
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, rsi
xor rbx, rax
jmp 0x1401741ae
movabs rcx, 0xaaaaaa1abc9483f7
mov r9, r10
xor r9, rcx
movabs rcx, 0x1206ed7e995fbb
imul r9, rcx
movabs rcx, 0xffff7e8a9a84b12b
imul r15, rcx
movabs rcx, 0x23765f2054ce3f4d
add r9, rcx
add r9, r15
movabs rax, 0x277cd7be6e445497
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 r8, r9
not r8
lea rax, [0x14031d060]
imul r8, qword [rax + rcx*8]
xor r8, 0xffffffffe9c15527
lea ecx, [r10 - 0xb]
and cl, 0x3f
rol r8, cl
movabs rax, 0x68103d4480000000
imul r8, rax
mov rcx, r8
ror rcx, 0x38
not rcx
movabs rax, 0x9b2de6b286a35ac0
imul rcx, rax
mov rax, r9
sub rax, r8
lea rdx, [rcx + rax*4]
mov cl, sil
and cl, 0x3f
ror rdx, cl
mov rax, rbx
mov rbx, rdx
imul rbx, rax
jmp 0x1401741ae
movabs rax, 0xe5b86d7411d09823
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, 0x9a9895a74c81fbad
shl rdx, cl
mov rax, r11
mov r11, rdx
xor r11, rax
and r14d, 0x8000003f
jge 0x140174082
dec r14d
or r14d, 0xffffffc0
inc r14d
mov cl, r14b
rol r11, cl
movabs rcx, 0x9115ab8d81701137
add rcx, r10
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0x14727e8feec9
lea rax, [0x14031d060]
mov rax, qword [rax + rcx*8]
imul rax, rdx
xor r11, rax
movabs rax, 0xffffc7a7e050f5da
or r11, rax
mov rbx, r13
imul rbx, rdi
sub rbx, r8
mov rax, rsi
sub rax, r11
xor rbx, rax
movabs rax, 0xc7a7c6a6b158f5d7
xor rbx, rax
mov rax, r10
imul rax, r8
imul rax, rbx
mov r12, r9
sub r12, rax
movabs rax, 0x78958947e0ab9cd
add r12, rax
xor r12, rsi
movzx eax, r9b
imul ecx, eax, 0xf2
and cl, 0x3f
rol r12, cl
not r12
jmp 0x1401741ae
mov rcx, r10
imul rcx, qword [0x14031d080]
and rcx, qword [0x14031d080]
mov rax, r11
mov r11, rcx
xor r11, rax
ror r11, 0x10
imul r11, r8
mov r12, rsi
not r12
imul r12, r9
movabs rax, 0x7cd8a7de6ca9a436
imul r12, rax
imul rsi, qword [0x14031d060], 0xfffffffff1eaf094
mov rdx, qword [0x14031d068]
sub rsi, rdx
mov al, r12b
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x14017419b
dec ecx
or ecx, 0xffffffc0
inc ecx
ror rsi, cl
movabs rax, 0x9115ab8d81701137
add rsi, rax
add rsi, r15
movabs rcx, 0xff055d7b9ce2aefb
xor rdi, rcx
movabs rax, 0xaaaaaaaaaaaaaaab
mul rdi
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rdi, rax
xor r11, r12
lea rax, [0x14031d060]
imul r11, qword [rax + rdi*8]
not r8
imul r8, r10
imul r8, rsi
imul r8, rbx
movabs rcx, 0xf5ed7e879b51e427
xor rcx, r9
not rcx
xor rcx, r8
sub rcx, r11
call fcn.14015d99c
mov qword [0x140321f78], rax
mov ebx, dword [0x14031d090]
lea rcx, [rbp + 0x228]
call fcn.140027b9c
nop
mov dl, byte [rbp + 0x150]
lea rcx, [rbp + 0x158]
call fcn.140169648
mov rax, rbx
add rsp, 0x1bb8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret