Function at 0x7ff7a6156890
Capabilities:
Encode data using xor
Suspend thread

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
sub rsp, 0xd10
lea rbp, [rsp + 0x40]
and rbp, 0xffffffffffffffe0
mov rax, qword [0x7ff7a673fab8]
xor rax, rsp
mov qword [rbp + 0xcc0], rax
mov dword [rbp + 0x790], 0x348
xor edi, edi
xor edx, edx
xor r9d, r9d
lea r8, [rbp + 0x790]
xor ecx, ecx
call qword [sym.imp.user32.dll_EnumDisplayDevicesW]
test eax, eax
je 0x7ff7a616031c
test byte [rbp + 0x8d4], 1
je 0x7ff7a6156934
lea rdx, [rbp + 0x7d4]
lea rcx, [rbp + 0x680]
call fcn.7ff7a6160f40
nop
cmp qword [rbp + 0x690], 0
je 0x7ff7a6156928
lea rcx, [rbp + 0x680]
call fcn.7ff7a6154fa0
test al, al
jne 0x7ff7a615693a
lea rcx, [rbp + 0x680]
call fcn.7ff7a6160ed0
inc edi
mov edx, edi
jmp 0x7ff7a61568d7
lea rcx, [rbp + 0x680]
call fcn.7ff7a6160ed0
xorps xmm0, xmm0
movups xmmword [rbp + 0x730], xmm0
movups xmmword [rbp + 0x740], xmm0
movups xmmword [rbp + 0x750], xmm0
movups xmmword [rbp + 0x760], xmm0
movups xmmword [rbp + 0x770], xmm0
movups xmmword [rbp + 0x780], xmm0
lea rcx, [rbp + 0x730]
call fcn.7ff7a6154cd0
nop
lea rcx, [rbp + 0x730]
call fcn.7ff7a6153c40
mov dl, 1
lea rcx, [rbp + 0x730]
call fcn.7ff7a6153ef0
lea rcx, [rbp + 0x730]
call fcn.7ff7a61547c0
mov dl, 1
lea rcx, [rbp + 0x730]
call fcn.7ff7a6154050
lea rcx, [rbp + 0x730]
call fcn.7ff7a61542f0
call fcn.7ff7a61567c0
mov ecx, 3
call fcn.7ff7a6193dd0
call fcn.7ff7a6193b70
mov rdi, rax
mov qword [rbp + 0x68], rax
test rax, rax
je 0x7ff7a61602fd
movabs rax, 0xf02ee3ece897a193
mov qword [rbp + 0x10], rax
mov rcx, qword [rbp + 0x10]
mov qword [rbp + 0x1c0], rcx
movabs rax, 0x10ff6cffeb258388
mov qword [rbp + 0x10], rax
mov rcx, qword [rbp + 0x10]
mov qword [rbp + 0x1c8], rcx
movabs rax, 0x6d480de2d4586bf3
mov qword [rbp + 0x10], rax
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0x1d0], rax
movabs rax, 0x38d19065dace553a
mov qword [rbp + 0x10], rax
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0x1d8], rax
movabs rax, 0xe1d64817eefae329
mov qword [rbp + 0x10], rax
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0x1e0], rax
movabs rax, 0x90f3a4bf740ee748
mov qword [rbp + 0x10], rax
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0x1e8], rax
movabs rax, 0x25ce31decaa77870
mov qword [rbp + 0x10], rax
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0x1f0], rax
movabs rax, 0x4d960a9acc6cff5f
mov qword [rbp + 0x10], rax
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0x1f8], rax
movabs rax, 0x23bbf91d9315be69
mov qword [rbp + 0x10], rax
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0x200], rax
movabs rax, 0xaf4785f3f78e2392
mov qword [rbp + 0x10], rax
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0x208], rax
movabs rax, 0xd9ba36f33b78a6ad
mov qword [rbp + 0x10], rax
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0x210], rax
movabs rax, 0x6062d9e2d312ce77
mov qword [rbp + 0x10], rax
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0x218], rax
movabs rax, 0xdcab0b219392675f
mov qword [rbp + 0x10], rax
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0x220], rax
movabs rax, 0x3a9667331d69c36d
mov qword [rbp + 0x10], rax
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0x228], rax
movabs rax, 0x2bab6674708898b4
mov qword [rbp + 0x10], rax
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0x230], rax
movabs rcx, 0x8879d029112d717a
mov qword [rbp + 0x10], rcx
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0x238], rax
movabs rsi, 0xc101ccd698e3d5fb
mov qword [rbp + 0x10], rsi
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0xc40], rax
movabs r14, 0x24d15bcbda0bb2bc
mov qword [rbp + 0x10], r14
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0xc48], rax
movabs r15, 0x5c713bd8e36b5add
mov qword [rbp + 0x10], r15
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0xc50], rax
movabs rbx, 0x68a2f32db68d7a0e
mov qword [rbp + 0x10], rbx
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0xc58], rax
movabs rax, 0x98e43e5a9cb6af1f
mov qword [rbp + 0x10], rax
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0xc60], rax
movabs rax, 0xc8caeeef123e8e70
mov qword [rbp + 0x10], rax
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0xc68], rax
movabs rax, 0x76fb58bcac9f2821
mov qword [rbp + 0x10], rax
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0xc70], rax
movabs rax, 0x20a433d1f901cb12
mov qword [rbp + 0x10], rax
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0xc78], rax
movabs rax, 0x1bdfbc6ef75ac623
mov qword [rbp + 0x10], rax
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0xc80], rax
movabs rax, 0xfa0aecc3c6bc11c4
mov qword [rbp + 0x10], rax
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0xc88], rax
movabs rax, 0x9eea5d90584af0c5
mov qword [rbp + 0x10], rax
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0xc90], rax
movabs rax, 0x102ded85b8408016
mov qword [rbp + 0x10], rax
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0xc98], rax
movabs rax, 0xaace6912abfb0227
mov qword [rbp + 0x10], rax
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0xca0], rax
movabs rax, 0x55c714675503b238
mov qword [rbp + 0x10], rax
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0xca8], rax
movabs rax, 0x2bab66747088a589
mov qword [rbp + 0x10], rax
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0xcb0], rax
mov qword [rbp + 0x10], rcx
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0xcb8], rax
vmovdqu ymm0, ymmword [rbp + 0xc40]
vpxor ymm0, ymm0, ymmword [rbp + 0x1c0]
vmovdqa ymmword [rbp + 0x1c0], ymm0
vmovdqu ymm1, ymmword [rbp + 0xc60]
vpxor ymm0, ymm1, ymmword [rbp + 0x1e0]
vmovdqa ymmword [rbp + 0x1e0], ymm0
vmovdqu ymm0, ymmword [rbp + 0x200]
vpxor ymm1, ymm0, ymmword [rbp + 0xc80]
vmovdqa ymmword [rbp + 0x200], ymm1
vmovdqu ymm0, ymmword [rbp + 0x220]
vpxor ymm1, ymm0, ymmword [rbp + 0xca0]
vmovdqa ymmword [rbp + 0x220], ymm1
lea r8, [rbp + 0x1c0]
mov edx, 0x2712
mov rcx, rdi
vzeroupper
call fcn.7ff7a6196b40
movzx edx, byte [rbp + 1]
lea rcx, [rbp + 0x6a8]
call fcn.7ff7a61621f0
lea rcx, [rbp + 0x6a8]
call fcn.7ff7a6161b70
nop
lea r8, [0x7ff7a6156790]
mov edx, 0x4e2b
mov rcx, rdi
call fcn.7ff7a6196b40
lea r8, [rbp + 0x6a8]
mov edx, 0x2711
mov rcx, rdi
call fcn.7ff7a6196b40
mov rcx, rdi
call fcn.7ff7a6193be0
test eax, eax
jne 0x7ff7a61602e8
movabs rax, 0xc151cc9798b7d5bc
mov qword [rbp + 0x10], rax
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0x1a0], rax
movabs rax, 0x24b45ba8da64b2ce
mov qword [rbp + 0x10], rax
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0x1a8], rax
movabs rax, 0x5c713bd8e3185aae
mov qword [rbp + 0x10], rax
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0x1b0], rax
mov qword [rbp + 0x10], rbx
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0x1b8], rax
mov qword [rbp + 0x10], rsi
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0xb20], rax
mov qword [rbp + 0x10], r14
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0xb28], rax
mov qword [rbp + 0x10], r15
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0xb30], rax
mov qword [rbp + 0x10], rbx
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0xb38], rax
vmovdqu ymm0, ymmword [rbp + 0xb20]
vpxor ymm0, ymm0, ymmword [rbp + 0x1a0]
vmovdqu ymmword [rbp + 0x1a0], ymm0
movzx edx, byte [rbp + 1]
lea rcx, [rbp + 0x708]
vzeroupper
call fcn.7ff7a61621f0
nop
lea rax, [rbp + 0x1a0]
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x7ff7a6156ea0
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp + 0x708]
call fcn.7ff7a6162210
nop
lea rcx, [rbp + 0x708]
call fcn.7ff7a6156460
mov dword [rbp + 0x38], eax
test eax, eax
mov rax, qword [sym.imp.msvcp140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
jne 0x7ff7a6158d11
mov qword [rbp + 0x678], rax
movabs rcx, 0xb351ec9bfd95bcbd
mov qword [rbp + 0x10], rcx
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0x680], rax
movabs rax, 0x4bbf7bb8a96ed1d3
mov qword [rbp + 0x10], rax
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0x688], rax
movabs rax, 0x5c1555ad8c0d7aa9
mov qword [rbp + 0x10], rax
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0x690], rax
mov qword [rbp + 0x10], rbx
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0x698], rax
mov qword [rbp + 0x10], rsi
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0xae0], rax
mov qword [rbp + 0x10], r14
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0xae8], rax
mov qword [rbp + 0x10], r15
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0xaf0], rax
mov qword [rbp + 0x10], rbx
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0xaf8], rax
vmovdqu ymm0, ymmword [rbp + 0xae0]
vpxor ymm0, ymm0, ymmword [rbp + 0x680]
vmovdqa ymmword [rbp + 0x680], ymm0
lea rax, [rbp + 0x70]
mov qword [rbp + 0x68], rax
lea rdx, [0x7ff7a658f9a0]
lea rcx, [rbp + 0x70]
vzeroupper
call fcn.7ff7a6161260
nop
xor eax, eax
mov qword [rbp + 0x90], rax
lea rax, [0x7ff7a6152eb0]
cmp byte [0x7ff7a6743603], 0
jne 0x7ff7a6156fd5
mov qword [0x7ff7a6743610], rax
mov byte [0x7ff7a6743603], 1
lea rdx, [0x7ff7a658f9a0]
lea rcx, [rbp + 0x178]
call fcn.7ff7a6161260
mov qword [rbp + 0x10], rax
mov rbx, qword [rax + 0x10]
mov rcx, rax
call fcn.7ff7a6161cf0
mov r15, rax
movabs rax, 0xfeeddccbbaa99887
lea r9, [0x7ff7a6743620]
lea rdi, [0x7ff7a6743e18]
movabs r8, 0xababdbf33353735b
mov r10d, 0xffffffff
cmp byte [0x7ff7a6743605], 0
jne 0x7ff7a615705c
mov rdx, rax
mov rcx, r9
nop dword [rax]
nop word [rax + rax]
mov rax, rdx
xor rax, r8
mov qword [rcx], rax
sub rdx, r10
add rcx, 8
cmp rcx, rdi
jl 0x7ff7a6157040
mov byte [0x7ff7a6743605], 1
movabs rax, 0xfae9e8d7c6b5a493
mov qword [rbp + 0x28], rax
mov r11, rax
mov qword [rbp + 0x628], rax
mov qword [rbp + 0x5b8], rax
xor r8d, r8d
test rbx, rbx
je 0x7ff7a61570ef
mov rdi, r15
nop word [rax + rax]
xor edx, edx
movzx ecx, byte [rdi]
lea rax, [rbp + 0x5b9]
nop dword [rax]
xor byte [rax - 1], cl
xor byte [rax], cl
xor byte [rax + 1], cl
xor byte [rax + 2], cl
xor byte [rax + 3], cl
xor byte [rax + 4], cl
xor byte [rax + 5], cl
xor byte [rax + 6], cl
add edx, 8
lea rax, [rax + 8]
cmp edx, 8
jb 0x7ff7a61570a0
not cl
movzx eax, cl
mov r11, qword [rbp + 0x5b8]
xor r11, qword [r9 + rax*8]
mov qword [rbp + 0x628], r11
mov qword [rbp + 0x5b8], r11
inc r8d
inc rdi
movsxd rax, r8d
cmp rax, rbx
jb 0x7ff7a6157090
movabs r9, 0xaebdccdb0a192837
movzx r13d, byte [r15]
mov byte [rbp + 1], r13b
cmp rbx, 1
jbe 0x7ff7a615710f
movzx r15d, byte [r15 + rbx - 1]
jmp 0x7ff7a6157112
mov r15b, 0xae
mov byte [rbp], r15b
mov qword [rbp + 0x5d8], rbx
mov qword [rbp + 0x5d0], rbx
xor eax, eax
movzx ecx, bl
movzx edx, bl
nop dword [rax]
xor dl, r13b
xor cl, r15b
inc eax
cmp eax, 8
jb 0x7ff7a6157130
mov byte [rbp + 0x5d0], cl
mov byte [rbp + 0x5d8], dl
xor r14d, r14d
lea r12, [rbx*8]
xor esi, esi
lea r11d, [r14 + 1]
lea r13d, [r14 + 8]
mov r15, r9
nop dword [rax]
nop word [rax + rax]
mov eax, r14d
test r14d, r14d
cmove eax, r11d
shl eax, 3
movsxd rcx, eax
xor edx, edx
mov rax, r12
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
mov rax, r8
xor rax, r15
mov qword [rbp + 0x5c8], rax
movzx eax, byte [rbp + rsi + 0x5c8]
xor byte [rbp + rsi + 0x5b8], al
lea r10d, [r14*8]
mov eax, r10d
test r10d, r10d
cmovle eax, r13d
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x5d0]
shl rax, cl
xor qword [rbp + 0x5b8], rax
lea edi, [r10 + 8]
lea eax, [r14 + 1]
mov ecx, edi
test eax, eax
cmove ecx, r13d
movsxd rcx, ecx
xor edx, edx
mov rax, r12
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
mov qword [rbp + 0x5c8], r9
movzx eax, byte [rbp + rsi + 0x5c9]
xor byte [rbp + rsi + 0x5b9], al
mov eax, 0xfffffff8
sub eax, r10d
mov ecx, 0xfffffff8
test edi, edi
cmovg ecx, eax
add ecx, 0x40
mov rax, qword [rbp + 0x5d8]
shl rax, cl
xor qword [rbp + 0x5b8], rax
lea edi, [r10 + 0x10]
lea eax, [r14 + 2]
mov ecx, edi
test eax, eax
cmove ecx, r13d
movsxd rcx, ecx
xor edx, edx
mov rax, r12
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, r15
mov qword [rbp + 0x5c8], r8
movzx eax, byte [rbp + rsi + 0x5ca]
xor byte [rbp + rsi + 0x5ba], al
mov eax, r13d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x5d0]
shl rax, cl
xor qword [rbp + 0x5b8], rax
lea edi, [r10 + 0x18]
lea eax, [r14 + 3]
mov ecx, edi
test eax, eax
cmove ecx, r13d
movsxd rcx, ecx
xor edx, edx
mov rax, r12
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, r15
mov qword [rbp + 0x5c8], r9
movzx eax, byte [rbp + rsi + 0x5cb]
xor byte [rbp + rsi + 0x5bb], al
mov eax, r13d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x5d8]
shl rax, cl
xor qword [rbp + 0x5b8], rax
lea edi, [r10 + 0x20]
lea eax, [r14 + 4]
mov ecx, edi
test eax, eax
cmove ecx, r13d
movsxd rcx, ecx
xor edx, edx
mov rax, r12
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, r15
mov qword [rbp + 0x5c8], r8
movzx eax, byte [rbp + rsi + 0x5cc]
xor byte [rbp + rsi + 0x5bc], al
mov eax, r13d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x5d0]
shl rax, cl
xor qword [rbp + 0x5b8], rax
lea edi, [r10 + 0x28]
lea eax, [r14 + 5]
mov ecx, edi
test eax, eax
cmove ecx, r13d
movsxd rcx, ecx
xor edx, edx
mov rax, r12
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, r15
mov qword [rbp + 0x5c8], r9
movzx eax, byte [rbp + rsi + 0x5cd]
xor byte [rbp + rsi + 0x5bd], al
mov eax, r13d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x5d8]
shl rax, cl
xor qword [rbp + 0x5b8], rax
lea edi, [r10 + 0x30]
lea eax, [r14 + 6]
mov ecx, edi
test eax, eax
cmove ecx, r13d
movsxd rcx, ecx
xor edx, edx
mov rax, r12
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, r15
mov qword [rbp + 0x5c8], r8
movzx eax, byte [rbp + rsi + 0x5ce]
xor byte [rbp + rsi + 0x5be], al
mov eax, r13d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x5d0]
shl rax, cl
xor qword [rbp + 0x5b8], rax
lea edi, [r10 + 0x38]
lea eax, [r14 + 7]
mov ecx, edi
test eax, eax
cmove ecx, r13d
movsxd rcx, ecx
xor edx, edx
mov rax, r12
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, r15
mov qword [rbp + 0x5c8], r9
movzx eax, byte [rbp + rsi + 0x5cf]
xor byte [rbp + rsi + 0x5bf], al
mov eax, r13d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rdx, qword [rbp + 0x5d8]
shl rdx, cl
xor rdx, qword [rbp + 0x5b8]
mov qword [rbp + 0x5b8], rdx
add r14d, r13d
lea rsi, [rsi + 8]
cmp r14d, r13d
jb 0x7ff7a6157170
movzx r15d, byte [rbp]
imul rcx, r15, 0xff
not rcx
movzx eax, byte [rbp + 1]
shl rax, 7
sub rcx, rax
and rdx, qword [rbp + 0x628]
xor rcx, rdx
mov qword [rbp + 0x90], rcx
mov rdx, qword [rbp + 0x10]
lea rcx, [rbp + 0x70]
call fcn.7ff7a6161230
nop
mov rcx, qword [rbp + 0x10]
call fcn.7ff7a6152d30
nop
cmp byte [0x7ff7a6743604], 0
jne 0x7ff7a61574f5
lea rax, [0x7ff7a6152eb0]
mov qword [0x7ff7a6743610], rax
mov byte [0x7ff7a6743604], 1
lea rdx, [rbp + 0x680]
lea rcx, [rbp + 0x240]
call fcn.7ff7a6161260
nop
mov rdx, rax
lea rcx, [rbp + 0xae0]
call fcn.7ff7a6161380
mov r12, qword [rbp + 0xaf0]
mov qword [rbp + 0x10], r12
lea rcx, [rbp + 0xae0]
call fcn.7ff7a6161cf0
mov rbx, rax
movabs r15, 0x101010101010101
lea rsi, [0x7ff7a6150000]
cmp byte [0x7ff7a6743606], 0
jne 0x7ff7a6157921
xor r14d, r14d
lea rcx, [rbp + 0x660]
call fcn.7ff7a6151700
mov rdi, qword [rbp + 0x660]
call qword [sym.imp.ucrtbase.dll_rand]
movsxd rcx, eax
mov rax, rdi
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0xf
add rax, rdx
and eax, 0xf
sub rax, rdx
inc rax
xor rax, 0x10
shl rax, 0xa
or rax, r15
mov qword [r14 + rsi + 0x5f3f30], rax
lea rcx, [rbp + 0x98]
call fcn.7ff7a6151700
mov rdi, qword [rax]
mov qword [rbp + 0x660], rdi
call qword [sym.imp.ucrtbase.dll_rand]
movsxd rcx, eax
mov rax, rdi
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x1f
add rax, rdx
and eax, 0x1f
sub rax, rdx
inc rax
xor rax, 0x20
shl rax, 0xb
or rax, r15
mov qword [r14 + rsi + 0x5f3e20], rax
lea rcx, [rbp + 0xa0]
call fcn.7ff7a6151700
mov rdi, qword [rax]
mov qword [rbp + 0x660], rdi
call qword [sym.imp.ucrtbase.dll_rand]
movsxd rcx, eax
mov rax, rdi
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x3f
add rax, rdx
and eax, 0x3f
sub rax, rdx
inc rax
xor rax, 0x40
shl rax, 0xc
or rax, r15
mov qword [r14 + rsi + 0x5f3ea0], rax
add r14, 8
cmp r14, 0x80
jl 0x7ff7a6157553
lea rcx, [rbp + 0x5e0]
call fcn.7ff7a6151700
xor r14d, r14d
lea rdi, [0x7ff7a6743619]
mov r15, qword [rbp + 0x5e0]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615767c
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, r15
cqo
idiv rcx
mov byte [rdi - 1], dl
mov r15, qword [rbp + 0x5e0]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a61576a8
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, r15
cqo
idiv rcx
mov byte [rdi], dl
mov r15, qword [rbp + 0x5e0]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a61576d3
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, r15
cqo
idiv rcx
mov byte [rdi + 1], dl
mov r15, qword [rbp + 0x5e0]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a61576ff
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, r15
cqo
idiv rcx
mov byte [rdi + 2], dl
add r14d, 4
add rdi, 4
cmp r14d, 4
jb 0x7ff7a6157661
lea rcx, [rbp + 0xa8]
call fcn.7ff7a6151700
mov rdi, qword [rax]
mov qword [rbp + 0x5e0], rdi
xor r15d, r15d
lea r14, [0x7ff7a6743e19]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a6157756
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r14 - 1], dl
mov rdi, qword [rbp + 0x5e0]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a6157783
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r14], dl
mov rdi, qword [rbp + 0x5e0]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a61577af
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r14 + 1], dl
mov rdi, qword [rbp + 0x5e0]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a61577dc
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r14 + 2], dl
mov rdi, qword [rbp + 0x5e0]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a6157809
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r14 + 3], dl
mov rdi, qword [rbp + 0x5e0]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a6157836
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r14 + 4], dl
mov rdi, qword [rbp + 0x5e0]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a6157863
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r14 + 5], dl
mov rdi, qword [rbp + 0x5e0]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a6157890
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r14 + 6], dl
add r15d, 8
add r14, 8
cmp r15d, 8
jae 0x7ff7a61578bc
mov rdi, qword [rbp + 0x5e0]
jmp 0x7ff7a6157742
lea rcx, [rbp + 0xb0]
call fcn.7ff7a6151700
mov rdi, qword [rax]
mov qword [rbp + 0x5e0], rdi
xor r14d, r14d
lea r15, [0x7ff7a6743f20]
nop dword [rax]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a61578f4
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r15], dl
inc r14d
inc r15
cmp r14d, 0xc
jae 0x7ff7a615791a
mov rdi, qword [rbp + 0x5e0]
jmp 0x7ff7a61578e0
mov byte [0x7ff7a6743606], 1
lea r13, [0x7ff7a6743f37]
test r12, r12
je 0x7ff7a6157bca
mov dword [rbp + 0x5e8], 0
nop dword [rax + rax]
xor r15d, r15d
movzx edx, byte [rbx]
lea r12, [0x7ff7a6743618]
nop dword [rax]
xor r9d, r9d
movzx ecx, byte [r12]
shl rcx, 3
lea rdi, [rsi + 0x5f3f34]
add rdi, rcx
lea r8, [rsi + 0x5f3f31]
add r8, rcx
mov rax, rcx
sub rax, rdi
lea r10, [rsi + 0x5f3f33]
add r10, rax
lea r11, [0x7ff7a6743f35]
sub r11, rdi
add r11, rcx
lea r14, [0x7ff7a6743f36]
sub r14, rdi
add r14, rcx
mov rax, r13
sub rax, rdi
add rax, rcx
nop dword [rax]
nop word [rax + rax]
xor dl, byte [r8 - 1]
mov byte [rbx], dl
xor dl, byte [r8]
mov byte [rbx], dl
xor dl, byte [r8 + 1]
mov byte [rbx], dl
xor dl, byte [r10 + rdi]
mov byte [rbx], dl
xor dl, byte [rdi]
mov byte [rbx], dl
xor dl, byte [r11 + rdi]
mov byte [rbx], dl
xor dl, byte [r14 + rdi]
mov byte [rbx], dl
xor dl, byte [rax + rdi]
mov byte [rbx], dl
add r9d, 8
lea r8, [r8 + 8]
lea rdi, [rdi + 8]
cmp r9d, 8
jb 0x7ff7a61579b0
inc r15d
inc r12
cmp r15d, 4
jb 0x7ff7a6157950
xor r13d, r13d
lea rax, [0x7ff7a6743e18]
mov qword [rbp + 0x628], rax
nop
xor r8d, r8d
movzx ecx, byte [rax]
shl rcx, 3
lea rdi, [rsi + 0x5f3e22]
add rdi, rcx
lea r9, [rsi + 0x5f3e20]
add r9, rcx
mov rax, rcx
sub rax, rdi
lea r10, [rsi + 0x5f3e21]
add r10, rax
lea r11, [0x7ff7a6743e23]
sub r11, rdi
add r11, rcx
lea r14, [0x7ff7a6743e24]
sub r14, rdi
add r14, rcx
lea r15, [0x7ff7a6743e25]
sub r15, rdi
add r15, rcx
lea r12, [0x7ff7a6743e26]
sub r12, rdi
add r12, rcx
lea rax, [0x7ff7a6743e27]
sub rax, rdi
add rax, rcx
nop
xor dl, byte [r9]
mov byte [rbx], dl
xor dl, byte [r10 + rdi]
mov byte [rbx], dl
xor dl, byte [rdi]
mov byte [rbx], dl
xor dl, byte [r11 + rdi]
mov byte [rbx], dl
xor dl, byte [r14 + rdi]
mov byte [rbx], dl
xor dl, byte [r15 + rdi]
mov byte [rbx], dl
xor dl, byte [r12 + rdi]
mov byte [rbx], dl
xor dl, byte [rdi + rax]
mov byte [rbx], dl
add r8d, 8
lea r9, [r9 + 8]
lea rdi, [rdi + 8]
cmp r8d, 8
jb 0x7ff7a6157a80
inc r13d
mov rax, qword [rbp + 0x628]
inc rax
mov qword [rbp + 0x628], rax
cmp r13d, 8
jb 0x7ff7a6157a10
xor r15d, r15d
lea r12, [0x7ff7a6743f20]
lea r13, [0x7ff7a6743f35]
nop dword [rax]
xor r9d, r9d
movzx ecx, byte [r12]
shl rcx, 3
lea rdi, [rsi + 0x5f3f34]
add rdi, rcx
lea r8, [rsi + 0x5f3f31]
add r8, rcx
mov rax, rcx
sub rax, rdi
lea r10, [rsi + 0x5f3f33]
add r10, rax
mov r11, r13
sub r11, rdi
add r11, rcx
lea r14, [0x7ff7a6743f36]
sub r14, rdi
add r14, rcx
lea rax, [0x7ff7a6743f37]
sub rax, rdi
add rax, rcx
nop dword [rax]
nop word [rax + rax]
xor dl, byte [r8 - 1]
mov byte [rbx], dl
xor dl, byte [r8]
mov byte [rbx], dl
xor dl, byte [r8 + 1]
mov byte [rbx], dl
xor dl, byte [r10 + rdi]
mov byte [rbx], dl
xor dl, byte [rdi]
mov byte [rbx], dl
xor dl, byte [r11 + rdi]
mov byte [rbx], dl
xor dl, byte [r14 + rdi]
mov byte [rbx], dl
xor dl, byte [rax + rdi]
mov byte [rbx], dl
add r9d, 8
lea r8, [r8 + 8]
lea rdi, [rdi + 8]
cmp r9d, 8
jb 0x7ff7a6157b50
inc r15d
inc r12
cmp r15d, 0xc
jb 0x7ff7a6157af0
mov ecx, dword [rbp + 0x5e8]
inc ecx
mov dword [rbp + 0x5e8], ecx
inc rbx
movsxd rax, ecx
cmp rax, qword [rbp + 0x10]
lea r13, [0x7ff7a6743f37]
jb 0x7ff7a6157940
lea r13, [0x7ff7a6743f37]
lea rdx, [rbp + 0xae0]
lea rcx, [rbp + 0x260]
call fcn.7ff7a6161380
mov qword [rbp + 0x670], rax
mov rbx, qword [rax + 0x10]
mov rcx, rax
call fcn.7ff7a6161cf0
mov r10, rax
mov qword [rbp + 0x10], rax
lea r9, [0x7ff7a6743620]
cmp byte [0x7ff7a6743605], 0
jne 0x7ff7a6157c4c
movabs rdi, 0xfeeddccbbaa99887
mov rdx, r9
lea rax, [0x7ff7a6743e18]
movabs r8, 0xababdbf33353735b
mov r11d, 0xffffffff
nop dword [rax + rax]
mov rcx, rdi
xor rcx, r8
mov qword [rdx], rcx
sub rdi, r11
add rdx, 8
cmp rdx, rax
jl 0x7ff7a6157c30
mov byte [0x7ff7a6743605], 1
movabs r11, 0xfae9e8d7c6b5a493
mov qword [rbp + 0x628], r11
mov qword [rbp + 0x5b8], r11
xor r8d, r8d
test rbx, rbx
je 0x7ff7a6157ccf
mov rdi, r10
nop
xor edx, edx
movzx ecx, byte [rdi]
lea rax, [rbp + 0x5b9]
nop dword [rax]
xor byte [rax - 1], cl
xor byte [rax], cl
xor byte [rax + 1], cl
xor byte [rax + 2], cl
xor byte [rax + 3], cl
xor byte [rax + 4], cl
xor byte [rax + 5], cl
xor byte [rax + 6], cl
add edx, 8
lea rax, [rax + 8]
cmp edx, 8
jb 0x7ff7a6157c80
not cl
movzx eax, cl
mov r11, qword [rbp + 0x5b8]
xor r11, qword [r9 + rax*8]
mov qword [rbp + 0x628], r11
mov qword [rbp + 0x5b8], r11
inc r8d
inc rdi
movsxd rax, r8d
cmp rax, rbx
jb 0x7ff7a6157c70
movabs r9, 0xaebdccdb0a192837
movzx edi, byte [r10]
cmp rbx, 1
jbe 0x7ff7a6157ceb
movzx r15d, byte [rbx + r10 - 1]
jmp 0x7ff7a6157cee
mov r15b, 0xae
mov byte [rbp], r15b
mov qword [rbp + 0x5d8], rbx
mov qword [rbp + 0x5d0], rbx
xor eax, eax
movzx ecx, bl
movzx edx, bl
nop dword [rax + rax]
xor dl, dil
xor cl, r15b
inc eax
cmp eax, 8
jb 0x7ff7a6157d10
mov byte [rbp + 0x5d0], cl
mov byte [rbp + 0x5d8], dl
xor r12d, r12d
lea rsi, [rbx*8]
xor r14d, r14d
lea r15d, [r12 + 8]
mov r11, r9
nop
mov eax, r12d
test r12d, r12d
mov ecx, 1
cmove eax, ecx
shl eax, 3
movsxd rcx, eax
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
mov rax, r8
xor rax, r11
mov qword [rbp + 0x5c8], rax
movzx eax, byte [rbp + r14 + 0x5c8]
xor byte [rbp + r14 + 0x5b8], al
lea r10d, [r12*8]
mov eax, r10d
test r10d, r10d
cmovle eax, r15d
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x5d0]
shl rax, cl
xor qword [rbp + 0x5b8], rax
lea edi, [r10 + 8]
lea eax, [r12 + 1]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
mov qword [rbp + 0x5c8], r9
movzx eax, byte [rbp + r14 + 0x5c9]
xor byte [rbp + r14 + 0x5b9], al
mov eax, 0xfffffff8
sub eax, r10d
mov ecx, 0xfffffff8
test edi, edi
cmovg ecx, eax
add ecx, 0x40
mov rax, qword [rbp + 0x5d8]
shl rax, cl
xor qword [rbp + 0x5b8], rax
lea edi, [r10 + 0x10]
lea eax, [r12 + 2]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, r11
mov qword [rbp + 0x5c8], r8
movzx eax, byte [rbp + r14 + 0x5ca]
xor byte [rbp + r14 + 0x5ba], al
mov eax, r15d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x5d0]
shl rax, cl
xor qword [rbp + 0x5b8], rax
lea edi, [r10 + 0x18]
lea eax, [r12 + 3]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, r11
mov qword [rbp + 0x5c8], r9
movzx eax, byte [rbp + r14 + 0x5cb]
xor byte [rbp + r14 + 0x5bb], al
mov eax, r15d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x5d8]
shl rax, cl
xor qword [rbp + 0x5b8], rax
lea edi, [r10 + 0x20]
lea eax, [r12 + 4]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, r11
mov qword [rbp + 0x5c8], r8
movzx eax, byte [rbp + r14 + 0x5cc]
xor byte [rbp + r14 + 0x5bc], al
mov eax, r15d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x5d0]
shl rax, cl
xor qword [rbp + 0x5b8], rax
lea edi, [r10 + 0x28]
lea eax, [r12 + 5]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, r11
mov qword [rbp + 0x5c8], r9
movzx eax, byte [rbp + r14 + 0x5cd]
xor byte [rbp + r14 + 0x5bd], al
mov eax, r15d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x5d8]
shl rax, cl
xor qword [rbp + 0x5b8], rax
lea edi, [r10 + 0x30]
lea eax, [r12 + 6]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, r11
mov qword [rbp + 0x5c8], r8
movzx eax, byte [rbp + r14 + 0x5ce]
xor byte [rbp + r14 + 0x5be], al
mov eax, r15d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x5d0]
shl rax, cl
xor qword [rbp + 0x5b8], rax
lea edi, [r10 + 0x38]
lea eax, [r12 + 7]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, r11
mov qword [rbp + 0x5c8], r9
movzx eax, byte [rbp + r14 + 0x5cf]
xor byte [rbp + r14 + 0x5bf], al
mov eax, r15d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rdx, qword [rbp + 0x5d8]
shl rdx, cl
xor rdx, qword [rbp + 0x5b8]
mov qword [rbp + 0x5b8], rdx
add r12d, r15d
lea r14, [r14 + 8]
cmp r12d, r15d
jb 0x7ff7a6157d40
movzx r15d, byte [rbp]
imul rcx, r15, 0xff
not rcx
mov rax, qword [rbp + 0x10]
movzx eax, byte [rax]
shl rax, 7
sub rcx, rax
mov r11, qword [rbp + 0x628]
and r11, rdx
xor rcx, r11
mov qword [rbp + 0x90], rcx
mov rdx, qword [rbp + 0x670]
lea rcx, [rbp + 0x70]
call fcn.7ff7a6161230
nop
mov rcx, qword [rbp + 0x670]
call fcn.7ff7a6152d30
nop
lea rcx, [rbp + 0xae0]
call fcn.7ff7a6152d30
nop
lea rcx, [rbp + 0x240]
call fcn.7ff7a6152d30
nop
mov rbx, qword [rbp + 0x80]
lea rcx, [rbp + 0x70]
call fcn.7ff7a6161cf0
mov r15, rax
cmp byte [0x7ff7a6743605], 0
jne 0x7ff7a615814c
lea rdx, [0x7ff7a6743620]
lea rax, [0x7ff7a6743e18]
movabs rdi, 0xababdbf33353735b
mov r9d, 0xffffffff
movabs r8, 0xfeeddccbbaa99887
nop dword [rax]
mov rcx, r8
xor rcx, rdi
mov qword [rdx], rcx
sub r8, r9
add rdx, 8
cmp rdx, rax
jl 0x7ff7a6158130
mov byte [0x7ff7a6743605], 1
lea r9, [0x7ff7a6743620]
movabs rax, 0xfae9e8d7c6b5a493
mov qword [rbp + 0x5b8], rax
xor r8d, r8d
test rbx, rbx
je 0x7ff7a61581cc
mov rdi, r15
nop
xor edx, edx
movzx ecx, byte [rdi]
lea rax, [rbp + 0x5b9]
nop dword [rax]
xor byte [rax - 1], cl
xor byte [rax], cl
xor byte [rax + 1], cl
xor byte [rax + 2], cl
xor byte [rax + 3], cl
xor byte [rax + 4], cl
xor byte [rax + 5], cl
xor byte [rax + 6], cl
add edx, 8
lea rax, [rax + 8]
cmp edx, 8
jb 0x7ff7a6158180
not cl
movzx eax, cl
mov rsi, qword [rbp + 0x5b8]
xor rsi, qword [r9 + rax*8]
mov qword [rbp + 0x28], rsi
mov qword [rbp + 0x5b8], rsi
inc r8d
inc rdi
movsxd rax, r8d
cmp rax, rbx
jb 0x7ff7a6158170
movabs r9, 0xaebdccdb0a192837
movzx r12d, byte [r15]
mov byte [rbp + 1], r12b
cmp rbx, 1
jbe 0x7ff7a61581ec
movzx r15d, byte [rbx + r15 - 1]
jmp 0x7ff7a61581ef
mov r15b, 0xae
mov byte [rbp], r15b
mov qword [rbp + 0x5d8], rbx
mov qword [rbp + 0x5d0], rbx
xor eax, eax
movzx ecx, bl
movzx edx, bl
nop dword [rax]
xor cl, r12b
xor dl, r15b
inc eax
cmp eax, 8
jb 0x7ff7a6158210
mov byte [rbp + 0x5d8], cl
mov byte [rbp + 0x5d0], dl
xor r14d, r14d
lea rsi, [rbx*8]
xor r11d, r11d
lea r12d, [r14 + 8]
mov r15, r9
nop
mov eax, r14d
test r14d, r14d
mov ecx, 1
cmove eax, ecx
shl eax, 3
movsxd rcx, eax
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
mov rax, r8
xor rax, r15
mov qword [rbp + 0x5c8], rax
movzx eax, byte [rbp + r11 + 0x5c8]
xor byte [rbp + r11 + 0x5b8], al
lea r10d, [r14*8]
mov eax, r10d
test r10d, r10d
cmovle eax, r12d
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x5d0]
shl rax, cl
xor qword [rbp + 0x5b8], rax
lea edi, [r10 + 8]
lea eax, [r14 + 1]
mov ecx, edi
test eax, eax
cmove ecx, r12d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
mov qword [rbp + 0x5c8], r9
movzx eax, byte [rbp + r11 + 0x5c9]
xor byte [rbp + r11 + 0x5b9], al
mov eax, 0xfffffff8
sub eax, r10d
mov ecx, 0xfffffff8
test edi, edi
cmovg ecx, eax
add ecx, 0x40
mov rax, qword [rbp + 0x5d8]
shl rax, cl
xor qword [rbp + 0x5b8], rax
lea edi, [r10 + 0x10]
lea eax, [r14 + 2]
mov ecx, edi
test eax, eax
cmove ecx, r12d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, r15
mov qword [rbp + 0x5c8], r8
movzx eax, byte [rbp + r11 + 0x5ca]
xor byte [rbp + r11 + 0x5ba], al
mov eax, r12d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x5d0]
shl rax, cl
xor qword [rbp + 0x5b8], rax
lea edi, [r10 + 0x18]
lea eax, [r14 + 3]
mov ecx, edi
test eax, eax
cmove ecx, r12d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, r15
mov qword [rbp + 0x5c8], r9
movzx eax, byte [rbp + r11 + 0x5cb]
xor byte [rbp + r11 + 0x5bb], al
mov eax, r12d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x5d8]
shl rax, cl
xor qword [rbp + 0x5b8], rax
lea edi, [r10 + 0x20]
lea eax, [r14 + 4]
mov ecx, edi
test eax, eax
cmove ecx, r12d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, r15
mov qword [rbp + 0x5c8], r8
movzx eax, byte [rbp + r11 + 0x5cc]
xor byte [rbp + r11 + 0x5bc], al
mov eax, r12d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x5d0]
shl rax, cl
xor qword [rbp + 0x5b8], rax
lea edi, [r10 + 0x28]
lea eax, [r14 + 5]
mov ecx, edi
test eax, eax
cmove ecx, r12d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, r15
mov qword [rbp + 0x5c8], r9
movzx eax, byte [rbp + r11 + 0x5cd]
xor byte [rbp + r11 + 0x5bd], al
mov eax, r12d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x5d8]
shl rax, cl
xor qword [rbp + 0x5b8], rax
lea edi, [r10 + 0x30]
lea eax, [r14 + 6]
mov ecx, edi
test eax, eax
cmove ecx, r12d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, r15
mov qword [rbp + 0x5c8], r8
movzx eax, byte [rbp + r11 + 0x5ce]
xor byte [rbp + r11 + 0x5be], al
mov eax, r12d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x5d0]
shl rax, cl
xor qword [rbp + 0x5b8], rax
lea edi, [r10 + 0x38]
lea eax, [r14 + 7]
mov ecx, edi
test eax, eax
cmove ecx, r12d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, r15
mov qword [rbp + 0x5c8], r9
movzx eax, byte [rbp + r11 + 0x5cf]
xor byte [rbp + r11 + 0x5bf], al
mov eax, r12d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rdx, qword [rbp + 0x5d8]
shl rdx, cl
xor rdx, qword [rbp + 0x5b8]
mov qword [rbp + 0x5b8], rdx
add r14d, r12d
lea r11, [r11 + 8]
cmp r14d, r12d
jb 0x7ff7a6158240
movzx r8d, byte [rbp + 1]
shl r8, 7
not r8
movzx r15d, byte [rbp]
imul rcx, r15, 0xff
sub r8, rcx
and rdx, qword [rbp + 0x28]
xor r8, rdx
mov rdx, qword [rbp + 0x90]
cmp r8, rdx
lea rsi, [0x7ff7a6150000]
je 0x7ff7a61585c9
mov rdi, qword [0x7ff7a6743610]
lea rcx, [rbp + 0x140]
call fcn.7ff7a6152d90
lea rdx, [rbp + 0x70]
mov rcx, rax
call rdi
lea rdx, [rbp + 0x70]
lea rcx, [rbp + 0xb00]
call fcn.7ff7a6161380
nop
lea rdx, [rbp + 0xb00]
lea rcx, [rbp + 0xb20]
call fcn.7ff7a6161380
mov r12, qword [rbp + 0xb30]
mov qword [rbp + 0x10], r12
lea rcx, [rbp + 0xb20]
call fcn.7ff7a6161cf0
mov rbx, rax
cmp byte [0x7ff7a6743606], 0
jne 0x7ff7a61589f1
xor r14d, r14d
movabs r15, 0x101010101010101
lea rcx, [rbp + 0x668]
call fcn.7ff7a6151700
mov rdi, qword [rbp + 0x668]
call qword [sym.imp.ucrtbase.dll_rand]
movsxd rcx, eax
mov rax, rdi
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0xf
add rax, rdx
and eax, 0xf
sub rax, rdx
inc rax
xor rax, 0x10
shl rax, 0xa
or rax, r15
mov qword [r14 + rsi + 0x5f3f30], rax
lea rcx, [rbp + 0xb8]
call fcn.7ff7a6151700
mov rdi, qword [rax]
mov qword [rbp + 0x668], rdi
call qword [sym.imp.ucrtbase.dll_rand]
movsxd rcx, eax
mov rax, rdi
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x1f
add rax, rdx
and eax, 0x1f
sub rax, rdx
inc rax
xor rax, 0x20
shl rax, 0xb
or rax, r15
mov qword [r14 + rsi + 0x5f3e20], rax
lea rcx, [rbp + 0xc0]
call fcn.7ff7a6151700
mov rdi, qword [rax]
mov qword [rbp + 0x668], rdi
call qword [sym.imp.ucrtbase.dll_rand]
movsxd rcx, eax
mov rax, rdi
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x3f
add rax, rdx
and eax, 0x3f
sub rax, rdx
inc rax
xor rax, 0x40
shl rax, 0xc
or rax, r15
mov qword [r14 + rsi + 0x5f3ea0], rax
add r14, 8
cmp r14, 0x80
jl 0x7ff7a6158621
lea rcx, [rbp + 0x5c0]
call fcn.7ff7a6151700
xor edi, edi
lea r15, [0x7ff7a6743619]
nop
mov r14, qword [rbp + 0x5c0]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615874b
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, r14
cqo
idiv rcx
mov byte [r15 - 1], dl
mov r14, qword [rbp + 0x5c0]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a6158778
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, r14
cqo
idiv rcx
mov byte [r15], dl
mov r14, qword [rbp + 0x5c0]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a61587a4
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, r14
cqo
idiv rcx
mov byte [r15 + 1], dl
mov r14, qword [rbp + 0x5c0]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a61587d1
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, r14
cqo
idiv rcx
mov byte [r15 + 2], dl
add edi, 4
add r15, 4
cmp edi, 4
jb 0x7ff7a6158730
lea rcx, [rbp + 0xc8]
call fcn.7ff7a6151700
mov rdi, qword [rax]
mov qword [rbp + 0x5c0], rdi
xor r14d, r14d
lea r15, [0x7ff7a6743e19]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a6158827
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r15 - 1], dl
mov rdi, qword [rbp + 0x5c0]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a6158854
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r15], dl
mov rdi, qword [rbp + 0x5c0]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a6158880
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r15 + 1], dl
mov rdi, qword [rbp + 0x5c0]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a61588ad
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r15 + 2], dl
mov rdi, qword [rbp + 0x5c0]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a61588da
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r15 + 3], dl
mov rdi, qword [rbp + 0x5c0]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a6158907
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r15 + 4], dl
mov rdi, qword [rbp + 0x5c0]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a6158934
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r15 + 5], dl
mov rdi, qword [rbp + 0x5c0]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a6158961
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r15 + 6], dl
add r14d, 8
add r15, 8
cmp r14d, 8
jae 0x7ff7a615898d
mov rdi, qword [rbp + 0x5c0]
jmp 0x7ff7a6158813
lea rcx, [rbp + 0xd0]
call fcn.7ff7a6151700
mov rdi, qword [rax]
mov qword [rbp + 0x5c0], rdi
xor r14d, r14d
lea r15, [0x7ff7a6743f20]
nop dword [rax]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a61589c4
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r15], dl
inc r14d
inc r15
cmp r14d, 0xc
jae 0x7ff7a61589ea
mov rdi, qword [rbp + 0x5c0]
jmp 0x7ff7a61589b0
mov byte [0x7ff7a6743606], 1
test r12, r12
je 0x7ff7a6158c93
mov dword [rbp + 0x5e8], 0
nop dword [rax]
nop dword [rax + rax]
xor r15d, r15d
movzx edx, byte [rbx]
lea r12, [0x7ff7a6743618]
nop dword [rax]
xor r9d, r9d
movzx ecx, byte [r12]
shl rcx, 3
lea rdi, [rsi + 0x5f3f34]
add rdi, rcx
lea r8, [rsi + 0x5f3f31]
add r8, rcx
mov rax, rcx
sub rax, rdi
lea r10, [rsi + 0x5f3f33]
add r10, rax
lea r11, [0x7ff7a6743f35]
sub r11, rdi
add r11, rcx
lea r14, [0x7ff7a6743f36]
sub r14, rdi
add r14, rcx
mov rax, r13
sub rax, rdi
add rax, rcx
nop dword [rax]
nop word [rax + rax]
xor dl, byte [r8 - 1]
mov byte [rbx], dl
xor dl, byte [r8]
mov byte [rbx], dl
xor dl, byte [r8 + 1]
mov byte [rbx], dl
xor dl, byte [r10 + rdi]
mov byte [rbx], dl
xor dl, byte [rdi]
mov byte [rbx], dl
xor dl, byte [r11 + rdi]
mov byte [rbx], dl
xor dl, byte [r14 + rdi]
mov byte [rbx], dl
xor dl, byte [rax + rdi]
mov byte [rbx], dl
add r9d, 8
lea r8, [r8 + 8]
lea rdi, [rdi + 8]
cmp r9d, 8
jb 0x7ff7a6158a80
inc r15d
inc r12
cmp r15d, 4
jb 0x7ff7a6158a20
xor r13d, r13d
lea rax, [0x7ff7a6743e18]
mov qword [rbp + 0x628], rax
nop
xor r8d, r8d
movzx ecx, byte [rax]
shl rcx, 3
lea rdi, [rsi + 0x5f3e22]
add rdi, rcx
lea r9, [rsi + 0x5f3e20]
add r9, rcx
mov rax, rcx
sub rax, rdi
lea r10, [rsi + 0x5f3e21]
add r10, rax
lea r11, [0x7ff7a6743e23]
sub r11, rdi
add r11, rcx
lea r14, [0x7ff7a6743e24]
sub r14, rdi
add r14, rcx
lea r15, [0x7ff7a6743e25]
sub r15, rdi
add r15, rcx
lea r12, [0x7ff7a6743e26]
sub r12, rdi
add r12, rcx
lea rax, [0x7ff7a6743e27]
sub rax, rdi
add rax, rcx
nop
xor dl, byte [r9]
mov byte [rbx], dl
xor dl, byte [r10 + rdi]
mov byte [rbx], dl
xor dl, byte [rdi]
mov byte [rbx], dl
xor dl, byte [r11 + rdi]
mov byte [rbx], dl
xor dl, byte [r14 + rdi]
mov byte [rbx], dl
xor dl, byte [r15 + rdi]
mov byte [rbx], dl
xor dl, byte [r12 + rdi]
mov byte [rbx], dl
xor dl, byte [rax + rdi]
mov byte [rbx], dl
add r8d, 8
lea r9, [r9 + 8]
lea rdi, [rdi + 8]
cmp r8d, 8
jb 0x7ff7a6158b50
inc r13d
mov rax, qword [rbp + 0x628]
inc rax
mov qword [rbp + 0x628], rax
cmp r13d, 8
jb 0x7ff7a6158ae0
xor r15d, r15d
lea r12, [0x7ff7a6743f20]
lea r13, [0x7ff7a6743f35]
nop dword [rax]
xor r9d, r9d
movzx ecx, byte [r12]
shl rcx, 3
lea rdi, [rsi + 0x5f3f34]
add rdi, rcx
lea r8, [rsi + 0x5f3f31]
add r8, rcx
mov rax, rcx
sub rax, rdi
lea r10, [rsi + 0x5f3f33]
add r10, rax
mov r11, r13
sub r11, rdi
add r11, rcx
lea r14, [0x7ff7a6743f36]
sub r14, rdi
add r14, rcx
lea rax, [0x7ff7a6743f37]
sub rax, rdi
add rax, rcx
nop dword [rax]
nop word [rax + rax]
xor dl, byte [r8 - 1]
mov byte [rbx], dl
xor dl, byte [r8]
mov byte [rbx], dl
xor dl, byte [r8 + 1]
mov byte [rbx], dl
xor dl, byte [r10 + rdi]
mov byte [rbx], dl
xor dl, byte [rdi]
mov byte [rbx], dl
xor dl, byte [r11 + rdi]
mov byte [rbx], dl
xor dl, byte [r14 + rdi]
mov byte [rbx], dl
xor dl, byte [rax + rdi]
mov byte [rbx], dl
add r9d, 8
lea r8, [r8 + 8]
lea rdi, [rdi + 8]
cmp r9d, 8
jb 0x7ff7a6158c20
inc r15d
inc r12
cmp r15d, 0xc
jb 0x7ff7a6158bc0
mov ecx, dword [rbp + 0x5e8]
inc ecx
mov dword [rbp + 0x5e8], ecx
inc rbx
movsxd rax, ecx
cmp rax, qword [rbp + 0x10]
lea r13, [0x7ff7a6743f37]
jb 0x7ff7a6158a10
lea rcx, [rbp + 0xb00]
call fcn.7ff7a6152d30
nop
lea rdx, [rbp + 0xb20]
mov rcx, qword [rbp + 0x678]
call fcn.7ff7a6162100
lea rdx, [0x7ff7a6162120]
mov rcx, rax
call qword [sym.imp.msvcp140.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_istream_char__struct_std::char_traits_char__::operator___class_std::basic_istream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_istream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
lea rcx, [rbp + 0xb20]
call fcn.7ff7a6152d30
nop
lea rcx, [rbp + 0x70]
call fcn.7ff7a6152f10
mov ecx, 0x1388
call qword [sym.imp.kernel32.dll_Sleep]
nop
lea rcx, [rbp + 0x708]
call fcn.7ff7a6160ed0
nop
lea rcx, [rbp + 0x6a8]
call fcn.7ff7a6152d30
nop
lea rcx, [rbp + 0x730]
call fcn.7ff7a6154d20
jmp 0x7ff7a616032b
mov qword [rbp + 8], rax
movabs rcx, 0xaf68a4b5ea82b0a8
mov qword [rbp + 0x10], rcx
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0x130], rax
movabs rax, 0x24d15bcbf4259cdb
mov qword [rbp + 0x10], rax
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0x138], rax
mov qword [rbp + 0x10], rsi
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0xb40], rax
mov qword [rbp + 0x10], r14
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0xb48], rax
movdqa xmm0, xmmword [rbp + 0x130]
xorps xmm0, xmmword [rbp + 0xb40]
movdqa xmmword [rbp + 0x130], xmm0
lea rax, [rbp + 0xe0]
mov qword [rbp + 0x5f0], rax
lea rdx, [0x7ff7a658f9a0]
lea rcx, [rbp + 0xe0]
call fcn.7ff7a6161260
nop
xor eax, eax
mov qword [rbp + 0x100], rax
lea rax, [0x7ff7a6152eb0]
cmp byte [0x7ff7a6743603], 0
jne 0x7ff7a6158dc5
mov qword [0x7ff7a6743610], rax
mov byte [0x7ff7a6743603], 1
lea rdx, [0x7ff7a658f9a0]
lea rcx, [rbp + 0x490]
call fcn.7ff7a6161260
mov qword [rbp + 0x10], rax
mov rbx, qword [rax + 0x10]
mov rcx, rax
call fcn.7ff7a6161cf0
mov rsi, rax
movabs rax, 0xfeeddccbbaa99887
lea r9, [0x7ff7a6743620]
lea rdi, [0x7ff7a6743e18]
movabs r8, 0xababdbf33353735b
mov r10d, 0xffffffff
cmp byte [0x7ff7a6743605], 0
jne 0x7ff7a6158e4c
mov rdx, rax
mov rcx, r9
nop dword [rax]
nop word [rax + rax]
mov rax, rdx
xor rax, r8
mov qword [rcx], rax
sub rdx, r10
add rcx, 8
cmp rcx, rdi
jl 0x7ff7a6158e30
mov byte [0x7ff7a6743605], 1
movabs rax, 0xfae9e8d7c6b5a493
mov qword [rbp + 0x28], rax
mov r11, rax
mov qword [rbp + 0x18], rax
mov qword [rbp + 0x5f8], rax
xor r8d, r8d
test rbx, rbx
je 0x7ff7a6158edc
mov rdi, rsi
nop dword [rax]
nop word [rax + rax]
xor edx, edx
movzx ecx, byte [rdi]
lea rax, [rbp + 0x5f9]
nop dword [rax]
xor byte [rax - 1], cl
xor byte [rax], cl
xor byte [rax + 1], cl
xor byte [rax + 2], cl
xor byte [rax + 3], cl
xor byte [rax + 4], cl
xor byte [rax + 5], cl
xor byte [rax + 6], cl
add edx, 8
lea rax, [rax + 8]
cmp edx, 8
jb 0x7ff7a6158e90
not cl
movzx eax, cl
mov r11, qword [rbp + 0x5f8]
xor r11, qword [r9 + rax*8]
mov qword [rbp + 0x18], r11
mov qword [rbp + 0x5f8], r11
inc r8d
inc rdi
movsxd rax, r8d
cmp rax, rbx
jb 0x7ff7a6158e80
movabs r9, 0xaebdccdb0a192837
movzx r15d, byte [rsi]
mov byte [rbp + 1], r15b
cmp rbx, 1
jbe 0x7ff7a6158efb
movzx esi, byte [rbx + rsi - 1]
jmp 0x7ff7a6158efe
mov sil, 0xae
mov byte [rbp], sil
mov qword [rbp + 0x620], rbx
mov qword [rbp + 0x618], rbx
xor eax, eax
movzx ecx, bl
movzx edx, bl
nop dword [rax + rax]
xor cl, r15b
xor dl, sil
inc eax
cmp eax, 8
jb 0x7ff7a6158f20
mov byte [rbp + 0x620], cl
mov byte [rbp + 0x618], dl
xor r13d, r13d
lea r12, [rbx*8]
xor r14d, r14d
mov rsi, r9
mov r11d, 1
lea r15d, [r13 + 8]
nop dword [rax]
nop dword [rax + rax]
mov eax, r13d
test r13d, r13d
cmove eax, r11d
shl eax, 3
movsxd rcx, eax
xor edx, edx
mov rax, r12
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
mov rax, r8
xor rax, rsi
mov qword [rbp + 0x638], rax
movzx eax, byte [rbp + r14 + 0x638]
xor byte [rbp + r14 + 0x5f8], al
lea r10d, [r13*8]
mov eax, r10d
test r10d, r10d
cmovle eax, r15d
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x618]
shl rax, cl
xor qword [rbp + 0x5f8], rax
lea edi, [r10 + 8]
lea eax, [r13 + 1]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, r12
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
mov qword [rbp + 0x638], r9
movzx eax, byte [rbp + r14 + 0x639]
xor byte [rbp + r14 + 0x5f9], al
mov eax, 0xfffffff8
sub eax, r10d
mov ecx, 0xfffffff8
test edi, edi
cmovg ecx, eax
add ecx, 0x40
mov rax, qword [rbp + 0x620]
shl rax, cl
xor qword [rbp + 0x5f8], rax
lea edi, [r10 + 0x10]
lea eax, [r13 + 2]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, r12
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, rsi
mov qword [rbp + 0x638], r8
movzx eax, byte [rbp + r14 + 0x63a]
xor byte [rbp + r14 + 0x5fa], al
mov eax, r15d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x618]
shl rax, cl
xor qword [rbp + 0x5f8], rax
lea edi, [r10 + 0x18]
lea eax, [r13 + 3]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, r12
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, rsi
mov qword [rbp + 0x638], r9
movzx eax, byte [rbp + r14 + 0x63b]
xor byte [rbp + r14 + 0x5fb], al
mov eax, r15d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x620]
shl rax, cl
xor qword [rbp + 0x5f8], rax
lea edi, [r10 + 0x20]
lea eax, [r13 + 4]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, r12
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, rsi
mov qword [rbp + 0x638], r8
movzx eax, byte [rbp + r14 + 0x63c]
xor byte [rbp + r14 + 0x5fc], al
mov eax, r15d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x618]
shl rax, cl
xor qword [rbp + 0x5f8], rax
lea edi, [r10 + 0x28]
lea eax, [r13 + 5]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, r12
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, rsi
mov qword [rbp + 0x638], r9
movzx eax, byte [rbp + r14 + 0x63d]
xor byte [rbp + r14 + 0x5fd], al
mov eax, r15d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x620]
shl rax, cl
xor qword [rbp + 0x5f8], rax
lea edi, [r10 + 0x30]
lea eax, [r13 + 6]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, r12
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, rsi
mov qword [rbp + 0x638], r8
movzx eax, byte [rbp + r14 + 0x63e]
xor byte [rbp + r14 + 0x5fe], al
mov eax, r15d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x618]
shl rax, cl
xor qword [rbp + 0x5f8], rax
lea edi, [r10 + 0x38]
lea eax, [r13 + 7]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, r12
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, rsi
mov qword [rbp + 0x638], r9
movzx eax, byte [rbp + r14 + 0x63f]
xor byte [rbp + r14 + 0x5ff], al
mov eax, r15d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rdx, qword [rbp + 0x620]
shl rdx, cl
xor rdx, qword [rbp + 0x5f8]
mov qword [rbp + 0x5f8], rdx
add r13d, r15d
lea r14, [r14 + 8]
cmp r13d, r15d
jb 0x7ff7a6158f60
movzx esi, byte [rbp]
imul rax, rsi, 0xff
not rax
movzx ecx, byte [rbp + 1]
shl rcx, 7
sub rax, rcx
and rdx, qword [rbp + 0x18]
xor rax, rdx
mov qword [rbp + 0x5f8], rax
mov qword [rbp + 0x100], rax
mov rdx, qword [rbp + 0x10]
lea rcx, [rbp + 0xe0]
call fcn.7ff7a6161230
nop
mov rcx, qword [rbp + 0x10]
call fcn.7ff7a6152d30
nop
cmp byte [0x7ff7a6743604], 0
jne 0x7ff7a61592fb
lea rax, [0x7ff7a6152eb0]
mov qword [0x7ff7a6743610], rax
mov byte [0x7ff7a6743604], 1
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0x470]
call fcn.7ff7a6161260
nop
mov rdx, rax
lea rcx, [rbp + 0x380]
call fcn.7ff7a6161380
mov r12, qword [rbp + 0x390]
mov qword [rbp + 0x10], r12
lea rcx, [rbp + 0x380]
call fcn.7ff7a6161cf0
mov rbx, rax
movabs r15, 0x101010101010101
lea rsi, [0x7ff7a6150000]
cmp byte [0x7ff7a6743606], 0
jne 0x7ff7a6159731
xor r14d, r14d
nop dword [rax]
lea rcx, [rbp + 0x6a0]
call fcn.7ff7a6151700
mov rdi, qword [rbp + 0x6a0]
call qword [sym.imp.ucrtbase.dll_rand]
movsxd rcx, eax
mov rax, rdi
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0xf
add rax, rdx
and eax, 0xf
sub rax, rdx
inc rax
xor rax, 0x10
shl rax, 0xa
or rax, r15
mov qword [r14 + rsi + 0x5f3f30], rax
lea rcx, [rbp + 0x3f0]
call fcn.7ff7a6151700
mov rdi, qword [rax]
mov qword [rbp + 0x6a0], rdi
call qword [sym.imp.ucrtbase.dll_rand]
movsxd rcx, eax
mov rax, rdi
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x1f
add rax, rdx
and eax, 0x1f
sub rax, rdx
inc rax
xor rax, 0x20
shl rax, 0xb
or rax, r15
mov qword [r14 + rsi + 0x5f3e20], rax
lea rcx, [rbp + 0x3f8]
call fcn.7ff7a6151700
mov rdi, qword [rax]
mov qword [rbp + 0x6a0], rdi
call qword [sym.imp.ucrtbase.dll_rand]
movsxd rcx, eax
mov rax, rdi
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x3f
add rax, rdx
and eax, 0x3f
sub rax, rdx
inc rax
xor rax, 0x40
shl rax, 0xc
or rax, r15
mov qword [r14 + rsi + 0x5f3ea0], rax
add r14, 8
cmp r14, 0x80
jl 0x7ff7a6159360
lea rcx, [rbp + 0x658]
call fcn.7ff7a6151700
xor r14d, r14d
lea rdi, [0x7ff7a6743619]
nop
mov r15, qword [rbp + 0x658]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615948b
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, r15
cqo
idiv rcx
mov byte [rdi - 1], dl
mov r15, qword [rbp + 0x658]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a61594b7
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, r15
cqo
idiv rcx
mov byte [rdi], dl
mov r15, qword [rbp + 0x658]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a61594e2
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, r15
cqo
idiv rcx
mov byte [rdi + 1], dl
mov r15, qword [rbp + 0x658]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615950e
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, r15
cqo
idiv rcx
mov byte [rdi + 2], dl
add r14d, 4
add rdi, 4
cmp r14d, 4
jb 0x7ff7a6159470
lea rcx, [rbp + 0x400]
call fcn.7ff7a6151700
mov rdi, qword [rax]
mov qword [rbp + 0x658], rdi
xor r15d, r15d
lea r14, [0x7ff7a6743e19]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a6159565
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r14 - 1], dl
mov rdi, qword [rbp + 0x658]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a6159592
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r14], dl
mov rdi, qword [rbp + 0x658]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a61595be
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r14 + 1], dl
mov rdi, qword [rbp + 0x658]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a61595eb
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r14 + 2], dl
mov rdi, qword [rbp + 0x658]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a6159618
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r14 + 3], dl
mov rdi, qword [rbp + 0x658]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a6159645
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r14 + 4], dl
mov rdi, qword [rbp + 0x658]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a6159672
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r14 + 5], dl
mov rdi, qword [rbp + 0x658]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615969f
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r14 + 6], dl
add r15d, 8
add r14, 8
cmp r15d, 8
jae 0x7ff7a61596cb
mov rdi, qword [rbp + 0x658]
jmp 0x7ff7a6159551
lea rcx, [rbp + 0x408]
call fcn.7ff7a6151700
mov rdi, qword [rax]
mov qword [rbp + 0x658], rdi
xor r14d, r14d
lea r15, [0x7ff7a6743f20]
nop dword [rax + rax]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a6159704
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r15], dl
inc r14d
inc r15
cmp r14d, 0xc
jae 0x7ff7a615972a
mov rdi, qword [rbp + 0x658]
jmp 0x7ff7a61596f0
mov byte [0x7ff7a6743606], 1
test r12, r12
je 0x7ff7a61599ce
mov dword [rbp + 0x20], 0
lea r13, [0x7ff7a6743f35]
lea r15, [0x7ff7a6743f37]
nop
xor r12d, r12d
movzx edx, byte [rbx]
lea rax, [0x7ff7a6743618]
mov qword [rbp + 0x18], rax
xor r9d, r9d
movzx eax, byte [rax]
lea rcx, [rax*8]
lea rdi, [rsi + 0x5f3f34]
add rdi, rcx
lea r8, [rsi + 0x5f3f31]
add r8, rcx
lea r10, [0x7ff7a6743f33]
sub r10, rdi
add r10, rcx
mov r11, r13
sub r11, rdi
add r11, rcx
lea r14, [0x7ff7a6743f36]
sub r14, rdi
add r14, rcx
mov rax, r15
sub rax, rdi
add rax, rcx
nop
xor dl, byte [r8 - 1]
mov byte [rbx], dl
xor dl, byte [r8]
mov byte [rbx], dl
xor dl, byte [r8 + 1]
mov byte [rbx], dl
xor dl, byte [r10 + rdi]
mov byte [rbx], dl
xor dl, byte [rdi]
mov byte [rbx], dl
xor dl, byte [r11 + rdi]
mov byte [rbx], dl
xor dl, byte [r14 + rdi]
mov byte [rbx], dl
xor dl, byte [rax + rdi]
mov byte [rbx], dl
add r9d, 8
lea r8, [r8 + 8]
lea rdi, [rdi + 8]
cmp r9d, 8
jb 0x7ff7a61597b0
inc r12d
mov rax, qword [rbp + 0x18]
inc rax
mov qword [rbp + 0x18], rax
cmp r12d, 4
jb 0x7ff7a6159761
mov dword [rbp + 0x5e8], 0
lea rcx, [0x7ff7a6743e18]
mov qword [rbp + 0x18], rcx
nop dword [rax + rax]
xor r8d, r8d
movzx eax, byte [rcx]
lea rcx, [rax*8]
lea rdi, [rsi + 0x5f3e22]
add rdi, rcx
lea r9, [rsi + 0x5f3e20]
add r9, rcx
lea r10, [0x7ff7a6743e21]
sub r10, rdi
add r10, rcx
lea r11, [0x7ff7a6743e23]
sub r11, rdi
add r11, rcx
lea r14, [0x7ff7a6743e24]
sub r14, rdi
add r14, rcx
lea r15, [0x7ff7a6743e25]
sub r15, rdi
add r15, rcx
lea r12, [0x7ff7a6743e26]
sub r12, rdi
add r12, rcx
lea rax, [0x7ff7a6743e27]
sub rax, rdi
add rax, rcx
xor dl, byte [r9]
mov byte [rbx], dl
xor dl, byte [r10 + rdi]
mov byte [rbx], dl
xor dl, byte [rdi]
mov byte [rbx], dl
xor dl, byte [r11 + rdi]
mov byte [rbx], dl
xor dl, byte [r14 + rdi]
mov byte [rbx], dl
xor dl, byte [r15 + rdi]
mov byte [rbx], dl
xor dl, byte [r12 + rdi]
mov byte [rbx], dl
xor dl, byte [rax + rdi]
mov byte [rbx], dl
add r8d, 8
lea r9, [r9 + 8]
lea rdi, [rdi + 8]
cmp r8d, 8
jb 0x7ff7a6159890
mov eax, dword [rbp + 0x5e8]
inc eax
mov dword [rbp + 0x5e8], eax
mov rcx, qword [rbp + 0x18]
inc rcx
mov qword [rbp + 0x18], rcx
cmp eax, 8
jb 0x7ff7a6159820
xor r12d, r12d
lea rax, [0x7ff7a6743f20]
mov qword [rbp + 0x18], rax
lea r15, [0x7ff7a6743f37]
nop word [rax + rax]
xor r9d, r9d
movzx eax, byte [rax]
lea rcx, [rax*8]
lea rdi, [rsi + 0x5f3f34]
add rdi, rcx
lea r8, [rsi + 0x5f3f31]
add r8, rcx
lea r10, [0x7ff7a6743f33]
sub r10, rdi
add r10, rcx
mov r11, r13
sub r11, rdi
add r11, rcx
lea r14, [0x7ff7a6743f36]
sub r14, rdi
add r14, rcx
mov rax, r15
sub rax, rdi
add rax, rcx
nop
xor dl, byte [r8 - 1]
mov byte [rbx], dl
xor dl, byte [r8]
mov byte [rbx], dl
xor dl, byte [r8 + 1]
mov byte [rbx], dl
xor dl, byte [r10 + rdi]
mov byte [rbx], dl
xor dl, byte [rdi]
mov byte [rbx], dl
xor dl, byte [r11 + rdi]
mov byte [rbx], dl
xor dl, byte [r14 + rdi]
mov byte [rbx], dl
xor dl, byte [rax + rdi]
mov byte [rbx], dl
add r9d, 8
lea r8, [r8 + 8]
lea rdi, [rdi + 8]
cmp r9d, 8
jb 0x7ff7a6159960
inc r12d
mov rax, qword [rbp + 0x18]
inc rax
mov qword [rbp + 0x18], rax
cmp r12d, 0xc
jb 0x7ff7a6159910
mov ecx, dword [rbp + 0x20]
inc ecx
mov dword [rbp + 0x20], ecx
inc rbx
movsxd rax, ecx
cmp rax, qword [rbp + 0x10]
jb 0x7ff7a6159750
lea rdx, [rbp + 0x380]
lea rcx, [rbp + 0x4b0]
call fcn.7ff7a6161380
mov qword [rbp + 0x20], rax
mov rbx, qword [rax + 0x10]
mov rcx, rax
call fcn.7ff7a6161cf0
mov r14, rax
lea r9, [0x7ff7a6743620]
cmp byte [0x7ff7a6743605], 0
jne 0x7ff7a6159a4c
movabs rdi, 0xfeeddccbbaa99887
mov rdx, r9
lea rax, [0x7ff7a6743e18]
movabs r8, 0xababdbf33353735b
mov r13d, 0xffffffff
nop dword [rax + rax]
mov rcx, rdi
xor rcx, r8
mov qword [rdx], rcx
sub rdi, r13
add rdx, 8
cmp rdx, rax
jl 0x7ff7a6159a30
mov byte [0x7ff7a6743605], 1
movabs r11, 0xfae9e8d7c6b5a493
mov qword [rbp + 0x18], r11
mov qword [rbp + 0x5e8], r11
xor r8d, r8d
test rbx, rbx
je 0x7ff7a6159acc
mov rdi, r14
nop dword [rax]
xor edx, edx
movzx ecx, byte [rdi]
lea rax, [rbp + 0x5e9]
nop dword [rax]
xor byte [rax - 1], cl
xor byte [rax], cl
xor byte [rax + 1], cl
xor byte [rax + 2], cl
xor byte [rax + 3], cl
xor byte [rax + 4], cl
xor byte [rax + 5], cl
xor byte [rax + 6], cl
add edx, 8
lea rax, [rax + 8]
cmp edx, 8
jb 0x7ff7a6159a80
not cl
movzx eax, cl
mov r11, qword [rbp + 0x5e8]
xor r11, qword [r9 + rax*8]
mov qword [rbp + 0x18], r11
mov qword [rbp + 0x5e8], r11
inc r8d
inc rdi
movsxd rax, r8d
cmp rax, rbx
jb 0x7ff7a6159a70
movabs r9, 0xaebdccdb0a192837
movzx r15d, byte [r14]
mov byte [rbp + 1], r15b
cmp rbx, 1
jbe 0x7ff7a6159aec
movzx r14d, byte [rbx + r14 - 1]
jmp 0x7ff7a6159aef
mov r14b, 0xae
mov byte [rbp], r14b
mov qword [rbp + 0x5f0], rbx
mov qword [rbp + 0x618], rbx
xor eax, eax
movzx ecx, bl
movzx edx, bl
nop dword [rax]
xor cl, r15b
xor dl, r14b
inc eax
cmp eax, 8
jb 0x7ff7a6159b10
mov byte [rbp + 0x5f0], cl
mov byte [rbp + 0x618], dl
xor esi, esi
lea r13, [rbx*8]
xor r12d, r12d
lea r15d, [rsi + 8]
mov r14, r9
mov r11d, 1
nop dword [rax]
nop word [rax + rax]
mov eax, esi
test esi, esi
cmove eax, r11d
shl eax, 3
movsxd rcx, eax
xor edx, edx
mov rax, r13
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
mov rax, r8
xor rax, r14
mov qword [rbp + 0x620], rax
movzx eax, byte [rbp + r12 + 0x620]
xor byte [rbp + r12 + 0x5e8], al
lea r10d, [rsi*8]
mov eax, r10d
test r10d, r10d
cmovle eax, r15d
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x618]
shl rax, cl
xor qword [rbp + 0x5e8], rax
lea edi, [r10 + 8]
lea eax, [rsi + 1]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, r13
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
mov qword [rbp + 0x620], r9
movzx eax, byte [rbp + r12 + 0x621]
xor byte [rbp + r12 + 0x5e9], al
mov eax, 0xfffffff8
sub eax, r10d
mov ecx, 0xfffffff8
test edi, edi
cmovg ecx, eax
add ecx, 0x40
mov rax, qword [rbp + 0x5f0]
shl rax, cl
xor qword [rbp + 0x5e8], rax
lea edi, [r10 + 0x10]
lea eax, [rsi + 2]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, r13
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, r14
mov qword [rbp + 0x620], r8
movzx eax, byte [rbp + r12 + 0x622]
xor byte [rbp + r12 + 0x5ea], al
mov eax, r15d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x618]
shl rax, cl
xor qword [rbp + 0x5e8], rax
lea edi, [r10 + 0x18]
lea eax, [rsi + 3]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, r13
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, r14
mov qword [rbp + 0x620], r9
movzx eax, byte [rbp + r12 + 0x623]
xor byte [rbp + r12 + 0x5eb], al
mov eax, r15d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x5f0]
shl rax, cl
xor qword [rbp + 0x5e8], rax
lea edi, [r10 + 0x20]
lea eax, [rsi + 4]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, r13
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, r14
mov qword [rbp + 0x620], r8
movzx eax, byte [rbp + r12 + 0x624]
xor byte [rbp + r12 + 0x5ec], al
mov eax, r15d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x618]
shl rax, cl
xor qword [rbp + 0x5e8], rax
lea edi, [r10 + 0x28]
lea eax, [rsi + 5]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, r13
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, r14
mov qword [rbp + 0x620], r9
movzx eax, byte [rbp + r12 + 0x625]
xor byte [rbp + r12 + 0x5ed], al
mov eax, r15d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x5f0]
shl rax, cl
xor qword [rbp + 0x5e8], rax
lea edi, [r10 + 0x30]
lea eax, [rsi + 6]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, r13
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, r14
mov qword [rbp + 0x620], r8
movzx eax, byte [rbp + r12 + 0x626]
xor byte [rbp + r12 + 0x5ee], al
mov eax, r15d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x618]
shl rax, cl
xor qword [rbp + 0x5e8], rax
lea edi, [r10 + 0x38]
lea eax, [rsi + 7]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, r13
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, r14
mov qword [rbp + 0x620], r9
movzx eax, byte [rbp + r12 + 0x627]
xor byte [rbp + r12 + 0x5ef], al
mov eax, r15d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rdx, qword [rbp + 0x5f0]
shl rdx, cl
xor rdx, qword [rbp + 0x5e8]
mov qword [rbp + 0x5e8], rdx
add esi, r15d
lea r12, [r12 + 8]
cmp esi, r15d
jb 0x7ff7a6159b50
movzx r14d, byte [rbp]
imul rcx, r14, 0xff
not rcx
movzx eax, byte [rbp + 1]
shl rax, 7
sub rcx, rax
and rdx, qword [rbp + 0x18]
xor rcx, rdx
mov qword [rbp + 0x5e8], rcx
mov qword [rbp + 0x100], rcx
mov rdx, qword [rbp + 0x20]
lea rcx, [rbp + 0xe0]
call fcn.7ff7a6161230
nop
mov rcx, qword [rbp + 0x20]
call fcn.7ff7a6152d30
nop
lea rcx, [rbp + 0x380]
call fcn.7ff7a6152d30
nop
lea rcx, [rbp + 0x470]
call fcn.7ff7a6152d30
nop
mov rbx, qword [rbp + 0xf0]
lea rcx, [rbp + 0xe0]
call fcn.7ff7a6161cf0
mov r14, rax
lea r9, [0x7ff7a6743620]
cmp byte [0x7ff7a6743605], 0
jne 0x7ff7a6159f4c
movabs rdi, 0xfeeddccbbaa99887
mov rdx, r9
lea rax, [0x7ff7a6743e18]
mov esi, 0xffffffff
movabs r8, 0xababdbf33353735b
nop dword [rax]
mov rcx, rdi
xor rcx, r8
mov qword [rdx], rcx
sub rdi, rsi
add rdx, 8
cmp rdx, rax
jl 0x7ff7a6159f30
mov byte [0x7ff7a6743605], 1
movabs r11, 0xfae9e8d7c6b5a493
mov qword [rbp + 0x10], r11
mov qword [rbp + 0x5f0], r11
xor r8d, r8d
test rbx, rbx
je 0x7ff7a6159fcc
mov rdi, r14
nop dword [rax]
xor edx, edx
movzx ecx, byte [rdi]
lea rax, [rbp + 0x5f1]
nop dword [rax]
xor byte [rax - 1], cl
xor byte [rax], cl
xor byte [rax + 1], cl
xor byte [rax + 2], cl
xor byte [rax + 3], cl
xor byte [rax + 4], cl
xor byte [rax + 5], cl
xor byte [rax + 6], cl
add edx, 8
lea rax, [rax + 8]
cmp edx, 8
jb 0x7ff7a6159f80
not cl
movzx eax, cl
mov r11, qword [rbp + 0x5f0]
xor r11, qword [r9 + rax*8]
mov qword [rbp + 0x10], r11
mov qword [rbp + 0x5f0], r11
inc r8d
inc rdi
movsxd rax, r8d
cmp rax, rbx
jb 0x7ff7a6159f70
movabs r9, 0xaebdccdb0a192837
movzx r15d, byte [r14]
mov byte [rbp + 1], r15b
cmp rbx, 1
jbe 0x7ff7a6159fec
movzx r14d, byte [rbx + r14 - 1]
jmp 0x7ff7a6159fef
mov r14b, 0xae
mov byte [rbp], r14b
mov qword [rbp + 0x18], rbx
mov qword [rbp + 0x20], rbx
xor eax, eax
movzx ecx, bl
movzx edx, bl
xor cl, r15b
xor dl, r14b
inc eax
cmp eax, 8
jb 0x7ff7a615a003
mov byte [rbp + 0x18], cl
mov byte [rbp + 0x20], dl
xor r13d, r13d
lea rsi, [rbx*8]
xor r12d, r12d
lea r15d, [r13 + 8]
mov r14, r9
mov r11d, 1
nop dword [rax]
nop word [rax + rax]
mov eax, r13d
test r13d, r13d
cmove eax, r11d
shl eax, 3
movsxd rcx, eax
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
mov rax, r8
xor rax, r14
mov qword [rbp + 0x618], rax
movzx eax, byte [rbp + r12 + 0x618]
xor byte [rbp + r12 + 0x5f0], al
lea r10d, [r13*8]
mov eax, r10d
test r10d, r10d
cmovle eax, r15d
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x20]
shl rax, cl
xor qword [rbp + 0x5f0], rax
lea edi, [r10 + 8]
lea eax, [r13 + 1]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
mov qword [rbp + 0x618], r9
movzx eax, byte [rbp + r12 + 0x619]
xor byte [rbp + r12 + 0x5f1], al
mov eax, 0xfffffff8
sub eax, r10d
mov ecx, 0xfffffff8
test edi, edi
cmovg ecx, eax
add ecx, 0x40
mov rax, qword [rbp + 0x18]
shl rax, cl
xor qword [rbp + 0x5f0], rax
lea edi, [r10 + 0x10]
lea eax, [r13 + 2]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, r14
mov qword [rbp + 0x618], r8
movzx eax, byte [rbp + r12 + 0x61a]
xor byte [rbp + r12 + 0x5f2], al
mov eax, r15d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x20]
shl rax, cl
xor qword [rbp + 0x5f0], rax
lea edi, [r10 + 0x18]
lea eax, [r13 + 3]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, r14
mov qword [rbp + 0x618], r9
movzx eax, byte [rbp + r12 + 0x61b]
xor byte [rbp + r12 + 0x5f3], al
mov eax, r15d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x18]
shl rax, cl
xor qword [rbp + 0x5f0], rax
lea edi, [r10 + 0x20]
lea eax, [r13 + 4]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, r14
mov qword [rbp + 0x618], r8
movzx eax, byte [rbp + r12 + 0x61c]
xor byte [rbp + r12 + 0x5f4], al
mov eax, r15d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x20]
shl rax, cl
xor qword [rbp + 0x5f0], rax
lea edi, [r10 + 0x28]
lea eax, [r13 + 5]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, r14
mov qword [rbp + 0x618], r9
movzx eax, byte [rbp + r12 + 0x61d]
xor byte [rbp + r12 + 0x5f5], al
mov eax, r15d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x18]
shl rax, cl
xor qword [rbp + 0x5f0], rax
lea edi, [r10 + 0x30]
lea eax, [r13 + 6]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, r14
mov qword [rbp + 0x618], r8
movzx eax, byte [rbp + r12 + 0x61e]
xor byte [rbp + r12 + 0x5f6], al
mov eax, r15d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x20]
shl rax, cl
xor qword [rbp + 0x5f0], rax
lea edi, [r10 + 0x38]
lea eax, [r13 + 7]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, r14
mov qword [rbp + 0x618], r9
movzx eax, byte [rbp + r12 + 0x61f]
xor byte [rbp + r12 + 0x5f7], al
mov eax, r15d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rdx, qword [rbp + 0x18]
shl rdx, cl
xor rdx, qword [rbp + 0x5f0]
mov qword [rbp + 0x5f0], rdx
add r13d, r15d
lea r12, [r12 + 8]
cmp r13d, r15d
jb 0x7ff7a615a040
movzx r14d, byte [rbp]
imul r8, r14, 0xff
not r8
movzx eax, byte [rbp + 1]
shl rax, 7
sub r8, rax
and rdx, qword [rbp + 0x10]
xor r8, rdx
mov qword [rbp + 0x5f0], r8
mov rdx, qword [rbp + 0x100]
cmp r8, rdx
lea rsi, [0x7ff7a6150000]
je 0x7ff7a615a3b7
mov rdi, qword [0x7ff7a6743610]
lea rcx, [rbp + 0x548]
call fcn.7ff7a6152d90
lea rdx, [rbp + 0xe0]
mov rcx, rax
call rdi
lea rdx, [rbp + 0xe0]
lea rcx, [rbp + 0x430]
call fcn.7ff7a6161380
nop
lea rdx, [rbp + 0x430]
lea rcx, [rbp + 0x360]
call fcn.7ff7a6161380
mov r12, qword [rbp + 0x370]
mov qword [rbp + 0x10], r12
lea rcx, [rbp + 0x360]
call fcn.7ff7a6161cf0
mov rbx, rax
cmp byte [0x7ff7a6743606], 0
jne 0x7ff7a615a7e1
xor r14d, r14d
movabs r15, 0x101010101010101
lea rcx, [rbp + 0x678]
call fcn.7ff7a6151700
mov rdi, qword [rbp + 0x678]
call qword [sym.imp.ucrtbase.dll_rand]
movsxd rcx, eax
mov rax, rdi
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0xf
add rax, rdx
and eax, 0xf
sub rax, rdx
inc rax
xor rax, 0x10
shl rax, 0xa
or rax, r15
mov qword [r14 + rsi + 0x5f3f30], rax
lea rcx, [rbp + 0x3a0]
call fcn.7ff7a6151700
mov rdi, qword [rax]
mov qword [rbp + 0x678], rdi
call qword [sym.imp.ucrtbase.dll_rand]
movsxd rcx, eax
mov rax, rdi
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x1f
add rax, rdx
and eax, 0x1f
sub rax, rdx
inc rax
xor rax, 0x20
shl rax, 0xb
or rax, r15
mov qword [r14 + rsi + 0x5f3e20], rax
lea rcx, [rbp + 0x3a8]
call fcn.7ff7a6151700
mov rdi, qword [rax]
mov qword [rbp + 0x678], rdi
call qword [sym.imp.ucrtbase.dll_rand]
movsxd rcx, eax
mov rax, rdi
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x3f
add rax, rdx
and eax, 0x3f
sub rax, rdx
inc rax
xor rax, 0x40
shl rax, 0xc
or rax, r15
mov qword [r14 + rsi + 0x5f3ea0], rax
add r14, 8
cmp r14, 0x80
jl 0x7ff7a615a412
lea rcx, [rbp + 0x650]
call fcn.7ff7a6151700
xor r14d, r14d
lea rdi, [0x7ff7a6743619]
mov r15, qword [rbp + 0x650]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615a53b
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, r15
cqo
idiv rcx
mov byte [rdi - 1], dl
mov r15, qword [rbp + 0x650]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615a567
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, r15
cqo
idiv rcx
mov byte [rdi], dl
mov r15, qword [rbp + 0x650]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615a592
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, r15
cqo
idiv rcx
mov byte [rdi + 1], dl
mov r15, qword [rbp + 0x650]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615a5be
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, r15
cqo
idiv rcx
mov byte [rdi + 2], dl
add r14d, 4
add rdi, 4
cmp r14d, 4
jb 0x7ff7a615a520
lea rcx, [rbp + 0x3b0]
call fcn.7ff7a6151700
mov rdi, qword [rax]
mov qword [rbp + 0x650], rdi
xor r15d, r15d
lea r14, [0x7ff7a6743e19]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615a615
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r14 - 1], dl
mov rdi, qword [rbp + 0x650]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615a642
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r14], dl
mov rdi, qword [rbp + 0x650]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615a66e
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r14 + 1], dl
mov rdi, qword [rbp + 0x650]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615a69b
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r14 + 2], dl
mov rdi, qword [rbp + 0x650]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615a6c8
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r14 + 3], dl
mov rdi, qword [rbp + 0x650]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615a6f5
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r14 + 4], dl
mov rdi, qword [rbp + 0x650]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615a722
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r14 + 5], dl
mov rdi, qword [rbp + 0x650]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615a74f
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r14 + 6], dl
add r15d, 8
add r14, 8
cmp r15d, 8
jae 0x7ff7a615a77b
mov rdi, qword [rbp + 0x650]
jmp 0x7ff7a615a601
lea rcx, [rbp + 0x3b8]
call fcn.7ff7a6151700
mov rdi, qword [rax]
mov qword [rbp + 0x650], rdi
xor r14d, r14d
lea r15, [0x7ff7a6743f20]
nop dword [rax + rax]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615a7b4
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r15], dl
inc r14d
inc r15
cmp r14d, 0xc
jae 0x7ff7a615a7da
mov rdi, qword [rbp + 0x650]
jmp 0x7ff7a615a7a0
mov byte [0x7ff7a6743606], 1
test r12, r12
je 0x7ff7a615aa75
mov dword [rbp + 0x20], 0
nop dword [rax]
nop word [rax + rax]
xor r14d, r14d
movzx edx, byte [rbx]
lea r15, [0x7ff7a6743618]
nop dword [rax]
xor r9d, r9d
movzx ecx, byte [r15]
shl rcx, 3
lea rdi, [rsi + 0x5f3f34]
add rdi, rcx
lea r8, [rsi + 0x5f3f31]
add r8, rcx
mov rax, rcx
sub rax, rdi
lea r10, [rsi + 0x5f3f33]
add r10, rax
mov rax, rcx
sub rax, rdi
lea r11, [rsi + 0x5f3f35]
add r11, rax
mov rax, rcx
sub rax, rdi
lea rax, [rax + 0x5f3f36]
add rax, rsi
sub rcx, rdi
lea rcx, [rcx + 0x5f3f37]
add rcx, rsi
nop dword [rax]
xor dl, byte [r8 - 1]
mov byte [rbx], dl
xor dl, byte [r8]
mov byte [rbx], dl
xor dl, byte [r8 + 1]
mov byte [rbx], dl
xor dl, byte [r10 + rdi]
mov byte [rbx], dl
xor dl, byte [rdi]
mov byte [rbx], dl
xor dl, byte [r11 + rdi]
mov byte [rbx], dl
xor dl, byte [rax + rdi]
mov byte [rbx], dl
xor dl, byte [rcx + rdi]
mov byte [rbx], dl
add r9d, 8
lea r8, [r8 + 8]
lea rdi, [rdi + 8]
cmp r9d, 8
jb 0x7ff7a615a870
inc r14d
inc r15
cmp r14d, 4
jb 0x7ff7a615a810
xor r12d, r12d
lea r13, [0x7ff7a6743e18]
nop word [rax + rax]
xor r8d, r8d
movzx eax, byte [r13]
lea rcx, [rax*8]
lea rdi, [rsi + 0x5f3e22]
add rdi, rcx
lea r9, [rsi + 0x5f3e20]
add r9, rcx
lea r10, [0x7ff7a6743e21]
sub r10, rdi
add r10, rcx
mov rax, rcx
sub rax, rdi
lea r11, [rsi + 0x5f3e23]
add r11, rax
mov rax, rcx
sub rax, rdi
lea r14, [rsi + 0x5f3e24]
add r14, rax
mov rax, rcx
sub rax, rdi
lea r15, [rsi + 0x5f3e25]
add r15, rax
mov rax, rcx
sub rax, rdi
lea rax, [rax + 0x5f3e26]
add rax, rsi
sub rcx, rdi
lea rcx, [rcx + 0x5f3e27]
add rcx, rsi
nop
xor dl, byte [r9]
mov byte [rbx], dl
xor dl, byte [r10 + rdi]
mov byte [rbx], dl
xor dl, byte [rdi]
mov byte [rbx], dl
xor dl, byte [r11 + rdi]
mov byte [rbx], dl
xor dl, byte [r14 + rdi]
mov byte [rbx], dl
xor dl, byte [r15 + rdi]
mov byte [rbx], dl
xor dl, byte [rax + rdi]
mov byte [rbx], dl
xor dl, byte [rcx + rdi]
mov byte [rbx], dl
add r8d, 8
lea r9, [r9 + 8]
lea rdi, [rdi + 8]
cmp r8d, 8
jb 0x7ff7a615a950
inc r12d
inc r13
cmp r12d, 8
jb 0x7ff7a615a8d0
xor r14d, r14d
lea r15, [0x7ff7a6743f20]
nop word [rax + rax]
xor r9d, r9d
movzx eax, byte [r15]
lea rcx, [rax*8]
lea rdi, [rsi + 0x5f3f34]
add rdi, rcx
lea r8, [rsi + 0x5f3f31]
add r8, rcx
lea r10, [0x7ff7a6743f33]
sub r10, rdi
add r10, rcx
mov rax, rcx
sub rax, rdi
lea r11, [rsi + 0x5f3f35]
add r11, rax
mov rax, rcx
sub rax, rdi
lea rax, [rax + 0x5f3f36]
add rax, rsi
sub rcx, rdi
lea rcx, [rcx + 0x5f3f37]
add rcx, rsi
nop dword [rax]
xor dl, byte [r8 - 1]
mov byte [rbx], dl
xor dl, byte [r8]
mov byte [rbx], dl
xor dl, byte [r8 + 1]
mov byte [rbx], dl
xor dl, byte [r10 + rdi]
mov byte [rbx], dl
xor dl, byte [rdi]
mov byte [rbx], dl
xor dl, byte [r11 + rdi]
mov byte [rbx], dl
xor dl, byte [rax + rdi]
mov byte [rbx], dl
xor dl, byte [rcx + rdi]
mov byte [rbx], dl
add r9d, 8
lea r8, [r8 + 8]
lea rdi, [rdi + 8]
cmp r9d, 8
jb 0x7ff7a615aa10
inc r14d
inc r15
cmp r14d, 0xc
jb 0x7ff7a615a9b0
mov ecx, dword [rbp + 0x20]
inc ecx
mov dword [rbp + 0x20], ecx
inc rbx
movsxd rax, ecx
cmp rax, qword [rbp + 0x10]
jb 0x7ff7a615a800
lea rcx, [rbp + 0x430]
call fcn.7ff7a6152d30
nop
lea rdx, [rbp + 0x360]
mov rcx, qword [rbp + 8]
call fcn.7ff7a6162100
lea rdx, [0x7ff7a6162120]
mov rcx, rax
call qword [sym.imp.msvcp140.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_istream_char__struct_std::char_traits_char__::operator___class_std::basic_istream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_istream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
lea rcx, [rbp + 0x360]
call fcn.7ff7a6152d30
nop
lea rcx, [rbp + 0xe0]
call fcn.7ff7a6152f10
movabs rax, 0xf047fa9ddcac85ae
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x280], rax
movabs rax, 0x48bc2ba39953f088
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x288], rax
movabs rax, 0x3b425dbba53c758e
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x290], rax
movabs rax, 0x1e3ab57f8ba4221
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x298], rax
movabs rax, 0xee8f1503ddc2f759
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x2a0], rax
movabs rax, 0x8e9fa3a8244acc3b
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x2a8], rax
movabs rax, 0x1bb16a88cdc61f51
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x2b0], rax
movabs rax, 0x7ad149989149a473
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x2b8], rax
movabs rax, 0x59f4f929c5718945
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x2c0], rax
movabs rax, 0x9d53a7a68fd264b6
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x2c8], rax
movabs rax, 0xd4a976fa013387a2
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x2d0], rax
movabs rax, 0x4648abe8f60ed552
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x2d8], rax
movabs rax, 0xf08c2027e488366c
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x2e0], rax
movabs rax, 0x6cf3762f3b56e651
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x2e8], rax
movabs rax, 0x7ffa0e3026d9f2c2
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x2f0], rax
movabs rax, 0xbf2ea56a4b40473c
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x2f8], rax
movabs rax, 0xb69cecc29ec23d38
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x300], rax
movabs rax, 0x9a2c60b263d74520
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x308], rax
movabs rax, 0xe27a823a5d15daa1
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x310], rax
movabs rax, 0x98f15497f7a82c2d
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x318], rax
movabs rax, 0xd7f5bbdcd8e05e77
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x320], rax
movabs rax, 0x9e8362da88f947b2
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x328], rax
movabs rax, 0x5952ec2673516c65
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x330], rax
movabs rax, 0x137136424d44cac5
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x338], rax
movabs rdx, 0x7ed62a1ea0faa433
mov qword [rbp + 8], rdx
mov rax, qword [rbp + 8]
mov qword [rbp + 0x340], rax
movabs rcx, 0xeeaa83737aa0d354
mov qword [rbp + 8], rcx
mov rax, qword [rbp + 8]
mov qword [rbp + 0x348], rax
movabs rax, 0xc101ccd698e3d5fb
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0xb60], rax
movabs rax, 0x24d15bcbda0bb2bc
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0xb68], rax
movabs rax, 0x5c713bd8e36b5add
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0xb70], rax
movabs rax, 0x68a2f32db68d7a0e
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0xb78], rax
movabs rax, 0x98e43e5a9cb6af1f
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0xb80], rax
movabs rax, 0xc8caeeef123e8e70
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0xb88], rax
movabs rax, 0x76fb58bcac9f2821
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0xb90], rax
movabs rax, 0x20a433d1f901cb12
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0xb98], rax
movabs rax, 0x1bdfbc6ef75ac623
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0xba0], rax
movabs rax, 0xfa0aecc3c6bc11c4
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0xba8], rax
movabs rax, 0x9eea5d90584af0c5
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0xbb0], rax
movabs rax, 0x102ded85b8408016
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0xbb8], rax
movabs rax, 0xaace6912abfb0227
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0xbc0], rax
movabs rax, 0x55c714675503b238
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0xbc8], rax
movabs rax, 0x2bab66747088a589
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0xbd0], rax
movabs rax, 0x8879d029112d717a
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0xbd8], rax
movabs rax, 0xc6ec8b86f980090b
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0xbe0], rax
movabs rax, 0xd71838fb0d932d4c
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0xbe8], rax
movabs rax, 0xad0dbb086e71b6ed
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0xbf0], rax
movabs rax, 0xcb9960dd9d83431e
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0xbf8], rax
movabs rax, 0xbfc1f58aaf8d3a2f
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0xc00], rax
movabs rax, 0xadd9559fead22380
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0xc08], rax
movabs rax, 0x3f61be6c467e2331
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0xc10], rax
movabs rax, 0x513d7001090cbfa2
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0xc18], rax
mov qword [rbp + 8], rdx
mov rax, qword [rbp + 8]
mov qword [rbp + 0xc20], rax
mov qword [rbp + 8], rcx
mov rax, qword [rbp + 8]
mov qword [rbp + 0xc28], rax
vmovdqu ymm0, ymmword [rbp + 0x280]
vpxor ymm1, ymm0, ymmword [rbp + 0xb60]
vmovdqa ymmword [rbp + 0x280], ymm1
vmovdqu ymm0, ymmword [rbp + 0x2a0]
vpxor ymm1, ymm0, ymmword [rbp + 0xb80]
vmovdqa ymmword [rbp + 0x2a0], ymm1
vmovdqu ymm0, ymmword [rbp + 0x2c0]
vpxor ymm1, ymm0, ymmword [rbp + 0xba0]
vmovdqa ymmword [rbp + 0x2c0], ymm1
vmovdqu ymm0, ymmword [rbp + 0x2e0]
vpxor ymm1, ymm0, ymmword [rbp + 0xbc0]
vmovdqa ymmword [rbp + 0x2e0], ymm1
vmovdqu ymm0, ymmword [rbp + 0x300]
vpxor ymm1, ymm0, ymmword [rbp + 0xbe0]
vmovdqa ymmword [rbp + 0x300], ymm1
vmovdqu ymm0, ymmword [rbp + 0x320]
vpxor ymm1, ymm0, ymmword [rbp + 0xc00]
vmovdqa ymmword [rbp + 0x320], ymm1
vmovdqa xmm0, xmmword [rbp + 0x340]
vxorps xmm0, xmm0, xmmword [rbp + 0xc20]
vmovdqa xmmword [rbp + 0x340], xmm0
lea rax, [rbp + 0x40]
mov qword [rbp + 0x630], rax
lea rdx, [0x7ff7a658f9a0]
lea rcx, [rbp + 0x40]
vzeroupper
call fcn.7ff7a6161260
nop
xor eax, eax
mov qword [rbp + 0x60], rax
cmp byte [0x7ff7a6743603], al
jne 0x7ff7a615b0a6
lea rax, [0x7ff7a6152eb0]
mov qword [0x7ff7a6743610], rax
mov byte [0x7ff7a6743603], 1
lea rdx, [0x7ff7a658f9a0]
lea rcx, [rbp + 0x450]
call fcn.7ff7a6161260
mov qword [rbp + 8], rax
mov rbx, qword [rax + 0x10]
mov rcx, rax
call fcn.7ff7a6161cf0
mov r15, rax
lea r9, [0x7ff7a6743620]
cmp byte [0x7ff7a6743605], 0
jne 0x7ff7a615b11c
movabs rdi, 0xfeeddccbbaa99887
mov rdx, r9
lea rax, [0x7ff7a6743e18]
mov esi, 0xffffffff
movabs r8, 0xababdbf33353735b
nop
mov rcx, rdi
xor rcx, r8
mov qword [rdx], rcx
sub rdi, rsi
add rdx, 8
cmp rdx, rax
jl 0x7ff7a615b100
mov byte [0x7ff7a6743605], 1
movabs r11, 0xfae9e8d7c6b5a493
mov qword [rbp + 0x10], r11
mov qword [rbp + 0x600], r11
xor r8d, r8d
test rbx, rbx
je 0x7ff7a615b19c
mov rdi, r15
nop dword [rax]
xor edx, edx
movzx ecx, byte [rdi]
lea rax, [rbp + 0x601]
nop dword [rax]
xor byte [rax - 1], cl
xor byte [rax], cl
xor byte [rax + 1], cl
xor byte [rax + 2], cl
xor byte [rax + 3], cl
xor byte [rax + 4], cl
xor byte [rax + 5], cl
xor byte [rax + 6], cl
add edx, 8
lea rax, [rax + 8]
cmp edx, 8
jb 0x7ff7a615b150
not cl
movzx eax, cl
mov r11, qword [rbp + 0x600]
xor r11, qword [r9 + rax*8]
mov qword [rbp + 0x10], r11
mov qword [rbp + 0x600], r11
inc r8d
inc rdi
movsxd rax, r8d
cmp rax, rbx
jb 0x7ff7a615b140
movabs r9, 0xaebdccdb0a192837
movzx r12d, byte [r15]
mov byte [rbp + 1], r12b
cmp rbx, 1
jbe 0x7ff7a615b1bc
movzx r15d, byte [rbx + r15 - 1]
jmp 0x7ff7a615b1bf
mov r15b, 0xae
mov byte [rbp], r15b
mov qword [rbp + 0x5d8], rbx
mov qword [rbp + 0x18], rbx
xor eax, eax
movzx ecx, bl
movzx edx, bl
nop word [rax + rax]
xor cl, r12b
xor dl, r15b
inc eax
cmp eax, 8
jb 0x7ff7a615b1e0
mov byte [rbp + 0x5d8], cl
mov byte [rbp + 0x18], dl
xor r13d, r13d
lea rsi, [rbx*8]
xor r14d, r14d
lea r12d, [r13 + 8]
mov r15, r9
mov r11d, 1
nop dword [rax]
nop word [rax + rax]
mov eax, r13d
test r13d, r13d
cmove eax, r11d
shl eax, 3
movsxd rcx, eax
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
mov rax, r8
xor rax, r15
mov qword [rbp + 0x648], rax
movzx eax, byte [rbp + r14 + 0x648]
xor byte [rbp + r14 + 0x600], al
lea r10d, [r13*8]
mov eax, r10d
test r10d, r10d
cmovle eax, r12d
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x18]
shl rax, cl
xor qword [rbp + 0x600], rax
lea edi, [r10 + 8]
lea eax, [r13 + 1]
mov ecx, edi
test eax, eax
cmove ecx, r12d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
mov qword [rbp + 0x648], r9
movzx eax, byte [rbp + r14 + 0x649]
xor byte [rbp + r14 + 0x601], al
mov eax, 0xfffffff8
sub eax, r10d
mov ecx, 0xfffffff8
test edi, edi
cmovg ecx, eax
add ecx, 0x40
mov rax, qword [rbp + 0x5d8]
shl rax, cl
xor qword [rbp + 0x600], rax
lea edi, [r10 + 0x10]
lea eax, [r13 + 2]
mov ecx, edi
test eax, eax
cmove ecx, r12d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, r15
mov qword [rbp + 0x648], r8
movzx eax, byte [rbp + r14 + 0x64a]
xor byte [rbp + r14 + 0x602], al
mov eax, r12d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x18]
shl rax, cl
xor qword [rbp + 0x600], rax
lea edi, [r10 + 0x18]
lea eax, [r13 + 3]
mov ecx, edi
test eax, eax
cmove ecx, r12d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, r15
mov qword [rbp + 0x648], r9
movzx eax, byte [rbp + r14 + 0x64b]
xor byte [rbp + r14 + 0x603], al
mov eax, r12d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x5d8]
shl rax, cl
xor qword [rbp + 0x600], rax
lea edi, [r10 + 0x20]
lea eax, [r13 + 4]
mov ecx, edi
test eax, eax
cmove ecx, r12d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, r15
mov qword [rbp + 0x648], r8
movzx eax, byte [rbp + r14 + 0x64c]
xor byte [rbp + r14 + 0x604], al
mov eax, r12d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x18]
shl rax, cl
xor qword [rbp + 0x600], rax
lea edi, [r10 + 0x28]
lea eax, [r13 + 5]
mov ecx, edi
test eax, eax
cmove ecx, r12d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, r15
mov qword [rbp + 0x648], r9
movzx eax, byte [rbp + r14 + 0x64d]
xor byte [rbp + r14 + 0x605], al
mov eax, r12d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x5d8]
shl rax, cl
xor qword [rbp + 0x600], rax
lea edi, [r10 + 0x30]
lea eax, [r13 + 6]
mov ecx, edi
test eax, eax
cmove ecx, r12d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, r15
mov qword [rbp + 0x648], r8
movzx eax, byte [rbp + r14 + 0x64e]
xor byte [rbp + r14 + 0x606], al
mov eax, r12d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x18]
shl rax, cl
xor qword [rbp + 0x600], rax
lea edi, [r10 + 0x38]
lea eax, [r13 + 7]
mov ecx, edi
test eax, eax
cmove ecx, r12d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, r15
mov qword [rbp + 0x648], r9
movzx eax, byte [rbp + r14 + 0x64f]
xor byte [rbp + r14 + 0x607], al
mov eax, r12d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rdx, qword [rbp + 0x5d8]
shl rdx, cl
xor rdx, qword [rbp + 0x600]
mov qword [rbp + 0x600], rdx
add r13d, r12d
lea r14, [r14 + 8]
cmp r13d, r12d
jb 0x7ff7a615b220
movzx r15d, byte [rbp]
imul rax, r15, 0xff
not rax
movzx ecx, byte [rbp + 1]
shl rcx, 7
sub rax, rcx
and rdx, qword [rbp + 0x10]
xor rax, rdx
mov qword [rbp + 0x600], rax
mov qword [rbp + 0x60], rax
mov rdx, qword [rbp + 8]
lea rcx, [rbp + 0x40]
call fcn.7ff7a6161230
nop
mov rcx, qword [rbp + 8]
call fcn.7ff7a6152d30
nop
cmp byte [0x7ff7a6743604], 0
lea rsi, [0x7ff7a6150000]
jne 0x7ff7a615b5b1
lea rax, [0x7ff7a6152eb0]
mov qword [0x7ff7a6743610], rax
mov byte [0x7ff7a6743604], 1
lea rdx, [rbp + 0x280]
lea rcx, [rbp + 0x4d0]
call fcn.7ff7a6161260
nop
mov rdx, rax
lea rcx, [rbp + 0x108]
call fcn.7ff7a6161380
mov r12, qword [rbp + 0x118]
mov qword [rbp + 8], r12
lea rcx, [rbp + 0x108]
call fcn.7ff7a6161cf0
mov rbx, rax
cmp byte [0x7ff7a6743606], 0
jne 0x7ff7a615b9e1
xor r14d, r14d
movabs r15, 0x101010101010101
nop dword [rax + rax]
lea rcx, [rbp + 0x670]
call fcn.7ff7a6151700
mov rdi, qword [rbp + 0x670]
call qword [sym.imp.ucrtbase.dll_rand]
movsxd rcx, eax
mov rax, rdi
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0xf
add rax, rdx
and eax, 0xf
sub rax, rdx
inc rax
xor rax, 0x10
shl rax, 0xa
or rax, r15
mov qword [r14 + rsi + 0x5f3f30], rax
lea rcx, [rbp + 0x3c0]
call fcn.7ff7a6151700
mov rdi, qword [rax]
mov qword [rbp + 0x670], rdi
call qword [sym.imp.ucrtbase.dll_rand]
movsxd rcx, eax
mov rax, rdi
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x1f
add rax, rdx
and eax, 0x1f
sub rax, rdx
inc rax
xor rax, 0x20
shl rax, 0xb
or rax, r15
mov qword [r14 + rsi + 0x5f3e20], rax
lea rcx, [rbp + 0x3c8]
call fcn.7ff7a6151700
mov rdi, qword [rax]
mov qword [rbp + 0x670], rdi
call qword [sym.imp.ucrtbase.dll_rand]
movsxd rcx, eax
mov rax, rdi
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x3f
add rax, rdx
and eax, 0x3f
sub rax, rdx
inc rax
xor rax, 0x40
shl rax, 0xc
or rax, r15
mov qword [r14 + rsi + 0x5f3ea0], rax
add r14, 8
cmp r14, 0x80
jl 0x7ff7a615b610
lea rcx, [rbp + 0x640]
call fcn.7ff7a6151700
xor r14d, r14d
lea rdi, [0x7ff7a6743619]
nop
mov r15, qword [rbp + 0x640]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615b73b
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, r15
cqo
idiv rcx
mov byte [rdi - 1], dl
mov r15, qword [rbp + 0x640]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615b767
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, r15
cqo
idiv rcx
mov byte [rdi], dl
mov r15, qword [rbp + 0x640]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615b792
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, r15
cqo
idiv rcx
mov byte [rdi + 1], dl
mov r15, qword [rbp + 0x640]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615b7be
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, r15
cqo
idiv rcx
mov byte [rdi + 2], dl
add r14d, 4
add rdi, 4
cmp r14d, 4
jb 0x7ff7a615b720
lea rcx, [rbp + 0x3d0]
call fcn.7ff7a6151700
mov rdi, qword [rax]
mov qword [rbp + 0x640], rdi
xor r15d, r15d
lea r14, [0x7ff7a6743e19]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615b815
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r14 - 1], dl
mov rdi, qword [rbp + 0x640]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615b842
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r14], dl
mov rdi, qword [rbp + 0x640]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615b86e
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r14 + 1], dl
mov rdi, qword [rbp + 0x640]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615b89b
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r14 + 2], dl
mov rdi, qword [rbp + 0x640]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615b8c8
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r14 + 3], dl
mov rdi, qword [rbp + 0x640]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615b8f5
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r14 + 4], dl
mov rdi, qword [rbp + 0x640]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615b922
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r14 + 5], dl
mov rdi, qword [rbp + 0x640]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615b94f
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r14 + 6], dl
add r15d, 8
add r14, 8
cmp r15d, 8
jae 0x7ff7a615b97b
mov rdi, qword [rbp + 0x640]
jmp 0x7ff7a615b801
lea rcx, [rbp + 0x3d8]
call fcn.7ff7a6151700
mov rdi, qword [rax]
mov qword [rbp + 0x640], rdi
xor r14d, r14d
lea r15, [0x7ff7a6743f20]
nop dword [rax + rax]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615b9b4
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r15], dl
inc r14d
inc r15
cmp r14d, 0xc
jae 0x7ff7a615b9da
mov rdi, qword [rbp + 0x640]
jmp 0x7ff7a615b9a0
mov byte [0x7ff7a6743606], 1
test r12, r12
je 0x7ff7a615bc75
mov dword [rbp + 0x20], 0
nop dword [rax]
nop word [rax + rax]
xor r14d, r14d
movzx edx, byte [rbx]
lea r15, [0x7ff7a6743618]
nop dword [rax]
xor r9d, r9d
movzx ecx, byte [r15]
shl rcx, 3
lea rdi, [rsi + 0x5f3f34]
add rdi, rcx
lea r8, [rsi + 0x5f3f31]
add r8, rcx
mov rax, rcx
sub rax, rdi
lea r10, [rsi + 0x5f3f33]
add r10, rax
mov rax, rcx
sub rax, rdi
lea r11, [rsi + 0x5f3f35]
add r11, rax
mov rax, rcx
sub rax, rdi
lea rax, [rax + 0x5f3f36]
add rax, rsi
sub rcx, rdi
lea rcx, [rcx + 0x5f3f37]
add rcx, rsi
nop dword [rax]
xor dl, byte [r8 - 1]
mov byte [rbx], dl
xor dl, byte [r8]
mov byte [rbx], dl
xor dl, byte [r8 + 1]
mov byte [rbx], dl
xor dl, byte [r10 + rdi]
mov byte [rbx], dl
xor dl, byte [rdi]
mov byte [rbx], dl
xor dl, byte [r11 + rdi]
mov byte [rbx], dl
xor dl, byte [rax + rdi]
mov byte [rbx], dl
xor dl, byte [rcx + rdi]
mov byte [rbx], dl
add r9d, 8
lea r8, [r8 + 8]
lea rdi, [rdi + 8]
cmp r9d, 8
jb 0x7ff7a615ba70
inc r14d
inc r15
cmp r14d, 4
jb 0x7ff7a615ba10
xor r12d, r12d
lea r13, [0x7ff7a6743e18]
nop word [rax + rax]
xor r8d, r8d
movzx ecx, byte [r13]
shl rcx, 3
lea rdi, [rsi + 0x5f3e22]
add rdi, rcx
lea r9, [rsi + 0x5f3e20]
add r9, rcx
mov rax, rcx
sub rax, rdi
lea r10, [rsi + 0x5f3e21]
add r10, rax
mov rax, rcx
sub rax, rdi
lea r11, [rsi + 0x5f3e23]
add r11, rax
mov rax, rcx
sub rax, rdi
lea r14, [rsi + 0x5f3e24]
add r14, rax
mov rax, rcx
sub rax, rdi
lea r15, [rsi + 0x5f3e25]
add r15, rax
mov rax, rcx
sub rax, rdi
lea rax, [rax + 0x5f3e26]
add rax, rsi
sub rcx, rdi
lea rcx, [rcx + 0x5f3e27]
add rcx, rsi
nop dword [rax]
xor dl, byte [r9]
mov byte [rbx], dl
xor dl, byte [r10 + rdi]
mov byte [rbx], dl
xor dl, byte [rdi]
mov byte [rbx], dl
xor dl, byte [r11 + rdi]
mov byte [rbx], dl
xor dl, byte [r14 + rdi]
mov byte [rbx], dl
xor dl, byte [r15 + rdi]
mov byte [rbx], dl
xor dl, byte [rax + rdi]
mov byte [rbx], dl
xor dl, byte [rcx + rdi]
mov byte [rbx], dl
add r8d, 8
lea r9, [r9 + 8]
lea rdi, [rdi + 8]
cmp r8d, 8
jb 0x7ff7a615bb50
inc r12d
inc r13
cmp r12d, 8
jb 0x7ff7a615bad0
xor r14d, r14d
lea r15, [0x7ff7a6743f20]
nop word [rax + rax]
xor r9d, r9d
movzx ecx, byte [r15]
shl rcx, 3
lea rdi, [rsi + 0x5f3f34]
add rdi, rcx
lea r8, [rsi + 0x5f3f31]
add r8, rcx
mov rax, rcx
sub rax, rdi
lea r10, [rsi + 0x5f3f33]
add r10, rax
mov rax, rcx
sub rax, rdi
lea r11, [rsi + 0x5f3f35]
add r11, rax
mov rax, rcx
sub rax, rdi
lea rax, [rax + 0x5f3f36]
add rax, rsi
sub rcx, rdi
lea rcx, [rcx + 0x5f3f37]
add rcx, rsi
nop dword [rax]
xor dl, byte [r8 - 1]
mov byte [rbx], dl
xor dl, byte [r8]
mov byte [rbx], dl
xor dl, byte [r8 + 1]
mov byte [rbx], dl
xor dl, byte [r10 + rdi]
mov byte [rbx], dl
xor dl, byte [rdi]
mov byte [rbx], dl
xor dl, byte [r11 + rdi]
mov byte [rbx], dl
xor dl, byte [rax + rdi]
mov byte [rbx], dl
xor dl, byte [rcx + rdi]
mov byte [rbx], dl
add r9d, 8
lea r8, [r8 + 8]
lea rdi, [rdi + 8]
cmp r9d, 8
jb 0x7ff7a615bc10
inc r14d
inc r15
cmp r14d, 0xc
jb 0x7ff7a615bbb0
mov ecx, dword [rbp + 0x20]
inc ecx
mov dword [rbp + 0x20], ecx
inc rbx
movsxd rax, ecx
cmp rax, qword [rbp + 8]
jb 0x7ff7a615ba00
lea rdx, [rbp + 0x108]
lea rcx, [rbp + 0x4f0]
call fcn.7ff7a6161380
mov qword [rbp + 8], rax
mov rbx, qword [rax + 0x10]
mov rcx, rax
call fcn.7ff7a6161cf0
mov r15, rax
lea r9, [0x7ff7a6743620]
cmp byte [0x7ff7a6743605], 0
jne 0x7ff7a615bcec
movabs rdi, 0xfeeddccbbaa99887
mov rdx, r9
lea rax, [0x7ff7a6743e18]
mov esi, 0xffffffff
movabs r8, 0xababdbf33353735b
nop
mov rcx, rdi
xor rcx, r8
mov qword [rdx], rcx
sub rdi, rsi
add rdx, 8
cmp rdx, rax
jl 0x7ff7a615bcd0
mov byte [0x7ff7a6743605], 1
movabs r11, 0xfae9e8d7c6b5a493
mov qword [rbp + 0x10], r11
mov qword [rbp + 0x608], r11
xor r8d, r8d
test rbx, rbx
je 0x7ff7a615bd6c
mov rdi, r15
nop dword [rax]
xor edx, edx
movzx ecx, byte [rdi]
lea rax, [rbp + 0x609]
nop dword [rax]
xor byte [rax - 1], cl
xor byte [rax], cl
xor byte [rax + 1], cl
xor byte [rax + 2], cl
xor byte [rax + 3], cl
xor byte [rax + 4], cl
xor byte [rax + 5], cl
xor byte [rax + 6], cl
add edx, 8
lea rax, [rax + 8]
cmp edx, 8
jb 0x7ff7a615bd20
not cl
movzx eax, cl
mov r11, qword [rbp + 0x608]
xor r11, qword [r9 + rax*8]
mov qword [rbp + 0x10], r11
mov qword [rbp + 0x608], r11
inc r8d
inc rdi
movsxd rax, r8d
cmp rax, rbx
jb 0x7ff7a615bd10
movabs r9, 0xaebdccdb0a192837
movzx r12d, byte [r15]
mov byte [rbp + 1], r12b
cmp rbx, 1
jbe 0x7ff7a615bd8c
movzx r15d, byte [rbx + r15 - 1]
jmp 0x7ff7a615bd8f
mov r15b, 0xae
mov byte [rbp], r15b
mov qword [rbp + 0x5d8], rbx
mov qword [rbp + 0x18], rbx
xor eax, eax
movzx ecx, bl
movzx edx, bl
nop word [rax + rax]
xor cl, r12b
xor dl, r15b
inc eax
cmp eax, 8
jb 0x7ff7a615bdb0
mov byte [rbp + 0x5d8], cl
mov byte [rbp + 0x18], dl
xor r13d, r13d
lea rsi, [rbx*8]
xor r14d, r14d
lea r12d, [r13 + 8]
mov r15, r9
mov r11d, 1
nop dword [rax]
nop word [rax + rax]
mov eax, r13d
test r13d, r13d
cmove eax, r11d
shl eax, 3
movsxd rcx, eax
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
mov rax, r8
xor rax, r15
mov qword [rbp + 0x630], rax
movzx eax, byte [rbp + r14 + 0x630]
xor byte [rbp + r14 + 0x608], al
lea r10d, [r13*8]
mov eax, r10d
test r10d, r10d
cmovle eax, r12d
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x18]
shl rax, cl
xor qword [rbp + 0x608], rax
lea edi, [r10 + 8]
lea eax, [r13 + 1]
mov ecx, edi
test eax, eax
cmove ecx, r12d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
mov qword [rbp + 0x630], r9
movzx eax, byte [rbp + r14 + 0x631]
xor byte [rbp + r14 + 0x609], al
mov eax, 0xfffffff8
sub eax, r10d
mov ecx, 0xfffffff8
test edi, edi
cmovg ecx, eax
add ecx, 0x40
mov rax, qword [rbp + 0x5d8]
shl rax, cl
xor qword [rbp + 0x608], rax
lea edi, [r10 + 0x10]
lea eax, [r13 + 2]
mov ecx, edi
test eax, eax
cmove ecx, r12d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, r15
mov qword [rbp + 0x630], r8
movzx eax, byte [rbp + r14 + 0x632]
xor byte [rbp + r14 + 0x60a], al
mov eax, r12d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x18]
shl rax, cl
xor qword [rbp + 0x608], rax
lea edi, [r10 + 0x18]
lea eax, [r13 + 3]
mov ecx, edi
test eax, eax
cmove ecx, r12d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, r15
mov qword [rbp + 0x630], r9
movzx eax, byte [rbp + r14 + 0x633]
xor byte [rbp + r14 + 0x60b], al
mov eax, r12d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x5d8]
shl rax, cl
xor qword [rbp + 0x608], rax
lea edi, [r10 + 0x20]
lea eax, [r13 + 4]
mov ecx, edi
test eax, eax
cmove ecx, r12d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, r15
mov qword [rbp + 0x630], r8
movzx eax, byte [rbp + r14 + 0x634]
xor byte [rbp + r14 + 0x60c], al
mov eax, r12d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x18]
shl rax, cl
xor qword [rbp + 0x608], rax
lea edi, [r10 + 0x28]
lea eax, [r13 + 5]
mov ecx, edi
test eax, eax
cmove ecx, r12d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, r15
mov qword [rbp + 0x630], r9
movzx eax, byte [rbp + r14 + 0x635]
xor byte [rbp + r14 + 0x60d], al
mov eax, r12d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x5d8]
shl rax, cl
xor qword [rbp + 0x608], rax
lea edi, [r10 + 0x30]
lea eax, [r13 + 6]
mov ecx, edi
test eax, eax
cmove ecx, r12d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, r15
mov qword [rbp + 0x630], r8
movzx eax, byte [rbp + r14 + 0x636]
xor byte [rbp + r14 + 0x60e], al
mov eax, r12d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x18]
shl rax, cl
xor qword [rbp + 0x608], rax
lea edi, [r10 + 0x38]
lea eax, [r13 + 7]
mov ecx, edi
test eax, eax
cmove ecx, r12d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, r15
mov qword [rbp + 0x630], r9
movzx eax, byte [rbp + r14 + 0x637]
xor byte [rbp + r14 + 0x60f], al
mov eax, r12d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rdx, qword [rbp + 0x5d8]
shl rdx, cl
xor rdx, qword [rbp + 0x608]
mov qword [rbp + 0x608], rdx
add r13d, r12d
lea r14, [r14 + 8]
cmp r13d, r12d
jb 0x7ff7a615bdf0
movzx r15d, byte [rbp]
imul rcx, r15, 0xff
not rcx
movzx eax, byte [rbp + 1]
shl rax, 7
sub rcx, rax
and rdx, qword [rbp + 0x10]
xor rcx, rdx
mov qword [rbp + 0x608], rcx
mov qword [rbp + 0x60], rcx
mov rdx, qword [rbp + 8]
lea rcx, [rbp + 0x40]
call fcn.7ff7a6161230
nop
mov rcx, qword [rbp + 8]
call fcn.7ff7a6152d30
nop
lea rcx, [rbp + 0x108]
call fcn.7ff7a6152d30
nop
lea rcx, [rbp + 0x4d0]
call fcn.7ff7a6152d30
nop
mov rbx, qword [rbp + 0x50]
lea rcx, [rbp + 0x40]
call fcn.7ff7a6161cf0
mov r15, rax
lea r9, [0x7ff7a6743620]
cmp byte [0x7ff7a6743605], 0
jne 0x7ff7a615c1dc
movabs rdi, 0xfeeddccbbaa99887
mov rdx, r9
lea rax, [0x7ff7a6743e18]
mov esi, 0xffffffff
movabs r8, 0xababdbf33353735b
nop dword [rax]
mov rcx, rdi
xor rcx, r8
mov qword [rdx], rcx
sub rdi, rsi
add rdx, 8
cmp rdx, rax
jl 0x7ff7a615c1c0
mov byte [0x7ff7a6743605], 1
movabs r11, 0xfae9e8d7c6b5a493
mov qword [rbp + 0x10], r11
mov qword [rbp + 0x610], r11
xor r8d, r8d
test rbx, rbx
je 0x7ff7a615c25c
mov rdi, r15
nop dword [rax]
xor edx, edx
movzx ecx, byte [rdi]
lea rax, [rbp + 0x611]
nop dword [rax]
xor byte [rax - 1], cl
xor byte [rax], cl
xor byte [rax + 1], cl
xor byte [rax + 2], cl
xor byte [rax + 3], cl
xor byte [rax + 4], cl
xor byte [rax + 5], cl
xor byte [rax + 6], cl
add edx, 8
lea rax, [rax + 8]
cmp edx, 8
jb 0x7ff7a615c210
not cl
movzx eax, cl
mov r11, qword [rbp + 0x610]
xor r11, qword [r9 + rax*8]
mov qword [rbp + 0x10], r11
mov qword [rbp + 0x610], r11
inc r8d
inc rdi
movsxd rax, r8d
cmp rax, rbx
jb 0x7ff7a615c200
movabs r9, 0xaebdccdb0a192837
movzx r12d, byte [r15]
mov byte [rbp + 1], r12b
cmp rbx, 1
jbe 0x7ff7a615c27c
movzx r15d, byte [rbx + r15 - 1]
jmp 0x7ff7a615c27f
mov r15b, 0xae
mov byte [rbp], r15b
mov qword [rbp + 0x20], rbx
mov qword [rbp + 0x18], rbx
xor eax, eax
movzx ecx, bl
movzx edx, bl
xor cl, r12b
xor dl, r15b
inc eax
cmp eax, 8
jb 0x7ff7a615c293
mov byte [rbp + 0x20], cl
mov byte [rbp + 0x18], dl
xor r13d, r13d
lea rsi, [rbx*8]
xor r14d, r14d
lea r12d, [r13 + 8]
mov r15, r9
mov r11d, 1
nop dword [rax]
nop word [rax + rax]
mov eax, r13d
test r13d, r13d
cmove eax, r11d
shl eax, 3
movsxd rcx, eax
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
mov rax, r8
xor rax, r15
mov qword [rbp + 0x5d8], rax
movzx eax, byte [rbp + r14 + 0x5d8]
xor byte [rbp + r14 + 0x610], al
lea r10d, [r13*8]
mov eax, r10d
test r10d, r10d
cmovle eax, r12d
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x18]
shl rax, cl
xor qword [rbp + 0x610], rax
lea edi, [r10 + 8]
lea eax, [r13 + 1]
mov ecx, edi
test eax, eax
cmove ecx, r12d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
mov qword [rbp + 0x5d8], r9
movzx eax, byte [rbp + r14 + 0x5d9]
xor byte [rbp + r14 + 0x611], al
mov eax, 0xfffffff8
sub eax, r10d
mov ecx, 0xfffffff8
test edi, edi
cmovg ecx, eax
add ecx, 0x40
mov rax, qword [rbp + 0x20]
shl rax, cl
xor qword [rbp + 0x610], rax
lea edi, [r10 + 0x10]
lea eax, [r13 + 2]
mov ecx, edi
test eax, eax
cmove ecx, r12d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, r15
mov qword [rbp + 0x5d8], r8
movzx eax, byte [rbp + r14 + 0x5da]
xor byte [rbp + r14 + 0x612], al
mov eax, r12d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x18]
shl rax, cl
xor qword [rbp + 0x610], rax
lea edi, [r10 + 0x18]
lea eax, [r13 + 3]
mov ecx, edi
test eax, eax
cmove ecx, r12d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, r15
mov qword [rbp + 0x5d8], r9
movzx eax, byte [rbp + r14 + 0x5db]
xor byte [rbp + r14 + 0x613], al
mov eax, r12d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x20]
shl rax, cl
xor qword [rbp + 0x610], rax
lea edi, [r10 + 0x20]
lea eax, [r13 + 4]
mov ecx, edi
test eax, eax
cmove ecx, r12d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, r15
mov qword [rbp + 0x5d8], r8
movzx eax, byte [rbp + r14 + 0x5dc]
xor byte [rbp + r14 + 0x614], al
mov eax, r12d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x18]
shl rax, cl
xor qword [rbp + 0x610], rax
lea edi, [r10 + 0x28]
lea eax, [r13 + 5]
mov ecx, edi
test eax, eax
cmove ecx, r12d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, r15
mov qword [rbp + 0x5d8], r9
movzx eax, byte [rbp + r14 + 0x5dd]
xor byte [rbp + r14 + 0x615], al
mov eax, r12d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x20]
shl rax, cl
xor qword [rbp + 0x610], rax
lea edi, [r10 + 0x30]
lea eax, [r13 + 6]
mov ecx, edi
test eax, eax
cmove ecx, r12d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, r15
mov qword [rbp + 0x5d8], r8
movzx eax, byte [rbp + r14 + 0x5de]
xor byte [rbp + r14 + 0x616], al
mov eax, r12d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x18]
shl rax, cl
xor qword [rbp + 0x610], rax
lea edi, [r10 + 0x38]
lea eax, [r13 + 7]
mov ecx, edi
test eax, eax
cmove ecx, r12d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, r15
mov qword [rbp + 0x5d8], r9
movzx eax, byte [rbp + r14 + 0x5df]
xor byte [rbp + r14 + 0x617], al
mov eax, r12d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rdx, qword [rbp + 0x20]
shl rdx, cl
xor rdx, qword [rbp + 0x610]
mov qword [rbp + 0x610], rdx
add r13d, r12d
lea r14, [r14 + 8]
cmp r13d, r12d
jb 0x7ff7a615c2d0
movzx r15d, byte [rbp]
imul r8, r15, 0xff
not r8
movzx eax, byte [rbp + 1]
shl rax, 7
sub r8, rax
and rdx, qword [rbp + 0x10]
xor r8, rdx
mov qword [rbp + 0x610], r8
mov rdx, qword [rbp + 0x60]
cmp r8, rdx
lea rsi, [0x7ff7a6150000]
je 0x7ff7a615c640
mov rdi, qword [0x7ff7a6743610]
lea rcx, [rbp + 0x510]
call fcn.7ff7a6152d90
lea rdx, [rbp + 0x40]
mov rcx, rax
call rdi
lea rdx, [rbp + 0x40]
lea rcx, [rbp + 0x410]
call fcn.7ff7a6161380
nop
lea rdx, [rbp + 0x410]
lea rcx, [rbp + 0x6c8]
call fcn.7ff7a6161380
mov r12, qword [rbp + 0x6d8]
lea rcx, [rbp + 0x6c8]
call fcn.7ff7a6161cf0
mov rbx, rax
cmp byte [0x7ff7a6743606], 0
jne 0x7ff7a615ca63
xor r14d, r14d
movabs r15, 0x101010101010101
lea rcx, [rbp + 0x628]
call fcn.7ff7a6151700
mov rdi, qword [rbp + 0x628]
call qword [sym.imp.ucrtbase.dll_rand]
movsxd rcx, eax
mov rax, rdi
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0xf
add rax, rdx
and eax, 0xf
sub rax, rdx
inc rax
xor rax, 0x10
shl rax, 0xa
or rax, r15
mov qword [r14 + rsi + 0x5f3f30], rax
lea rcx, [rbp + 0x3e0]
call fcn.7ff7a6151700
mov rdi, qword [rax]
mov qword [rbp + 0x628], rdi
call qword [sym.imp.ucrtbase.dll_rand]
movsxd rcx, eax
mov rax, rdi
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x1f
add rax, rdx
and eax, 0x1f
sub rax, rdx
inc rax
xor rax, 0x20
shl rax, 0xb
or rax, r15
mov qword [r14 + rsi + 0x5f3e20], rax
lea rcx, [rbp + 0x3e8]
call fcn.7ff7a6151700
mov rdi, qword [rax]
mov qword [rbp + 0x628], rdi
call qword [sym.imp.ucrtbase.dll_rand]
movsxd rcx, eax
mov rax, rdi
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x3f
add rax, rdx
and eax, 0x3f
sub rax, rdx
inc rax
xor rax, 0x40
shl rax, 0xc
or rax, r15
mov qword [r14 + rsi + 0x5f3ea0], rax
add r14, 8
cmp r14, 0x80
jl 0x7ff7a615c694
lea rcx, [rbp + 0x5d0]
call fcn.7ff7a6151700
xor r14d, r14d
lea rdi, [0x7ff7a6743619]
mov r15, qword [rbp + 0x5d0]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615c7bd
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, r15
cqo
idiv rcx
mov byte [rdi - 1], dl
mov r15, qword [rbp + 0x5d0]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615c7e9
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, r15
cqo
idiv rcx
mov byte [rdi], dl
mov r15, qword [rbp + 0x5d0]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615c814
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, r15
cqo
idiv rcx
mov byte [rdi + 1], dl
mov r15, qword [rbp + 0x5d0]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615c840
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, r15
cqo
idiv rcx
mov byte [rdi + 2], dl
add r14d, 4
add rdi, 4
cmp r14d, 4
jb 0x7ff7a615c7a2
lea rcx, [rbp + 0xd8]
call fcn.7ff7a6151700
mov rdi, qword [rax]
mov qword [rbp + 0x5d0], rdi
xor r15d, r15d
lea r14, [0x7ff7a6743e19]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615c897
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r14 - 1], dl
mov rdi, qword [rbp + 0x5d0]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615c8c4
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r14], dl
mov rdi, qword [rbp + 0x5d0]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615c8f0
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r14 + 1], dl
mov rdi, qword [rbp + 0x5d0]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615c91d
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r14 + 2], dl
mov rdi, qword [rbp + 0x5d0]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615c94a
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r14 + 3], dl
mov rdi, qword [rbp + 0x5d0]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615c977
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r14 + 4], dl
mov rdi, qword [rbp + 0x5d0]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615c9a4
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r14 + 5], dl
mov rdi, qword [rbp + 0x5d0]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615c9d1
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r14 + 6], dl
add r15d, 8
add r14, 8
cmp r15d, 8
jae 0x7ff7a615c9fd
mov rdi, qword [rbp + 0x5d0]
jmp 0x7ff7a615c883
lea rcx, [rbp + 0x30]
call fcn.7ff7a6151700
mov rdi, qword [rax]
mov qword [rbp + 0x5d0], rdi
xor r14d, r14d
lea r13, [0x7ff7a6743f20]
mov r15, r13
nop dword [rax]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615ca34
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r15], dl
inc r14d
inc r15
cmp r14d, 0xc
jae 0x7ff7a615ca5a
mov rdi, qword [rbp + 0x5d0]
jmp 0x7ff7a615ca20
mov byte [0x7ff7a6743606], 1
jmp 0x7ff7a615ca6a
lea r13, [0x7ff7a6743f20]
test r12, r12
je 0x7ff7a615cbb2
xor r10d, r10d
test r12, r12
je 0x7ff7a615cbb2
nop
xor r8d, r8d
movzx ecx, byte [rbx]
lea r9, [0x7ff7a6743618]
nop dword [rax]
xor edi, edi
movzx eax, byte [r9]
lea rdx, [rsi + 0x5f3f31]
lea rdx, [rdx + rax*8]
xor cl, byte [rdx - 1]
mov byte [rbx], cl
xor cl, byte [rdx]
mov byte [rbx], cl
xor cl, byte [rdx + 1]
mov byte [rbx], cl
xor cl, byte [rdx + 2]
mov byte [rbx], cl
xor cl, byte [rdx + 3]
mov byte [rbx], cl
xor cl, byte [rdx + 4]
mov byte [rbx], cl
xor cl, byte [rdx + 5]
mov byte [rbx], cl
xor cl, byte [rdx + 6]
mov byte [rbx], cl
add edi, 8
lea rdx, [rdx + 8]
cmp edi, 8
jb 0x7ff7a615caa1
inc r8d
inc r9
cmp r8d, 4
jb 0x7ff7a615ca90
xor r8d, r8d
lea r9, [0x7ff7a6743e18]
nop word [rax + rax]
xor edi, edi
movzx eax, byte [r9]
lea rdx, [rsi + 0x5f3e21]
lea rdx, [rdx + rax*8]
xor cl, byte [rdx - 1]
mov byte [rbx], cl
xor cl, byte [rdx]
mov byte [rbx], cl
xor cl, byte [rdx + 1]
mov byte [rbx], cl
xor cl, byte [rdx + 2]
mov byte [rbx], cl
xor cl, byte [rdx + 3]
mov byte [rbx], cl
xor cl, byte [rdx + 4]
mov byte [rbx], cl
xor cl, byte [rdx + 5]
mov byte [rbx], cl
xor cl, byte [rdx + 6]
mov byte [rbx], cl
add edi, 8
lea rdx, [rdx + 8]
cmp edi, 8
jb 0x7ff7a615cb01
inc r8d
inc r9
cmp r8d, 8
jb 0x7ff7a615caf0
xor r8d, r8d
mov r9, r13
nop word [rax + rax]
xor edi, edi
movzx eax, byte [r9]
lea rdx, [rsi + 0x5f3f31]
lea rdx, [rdx + rax*8]
xor cl, byte [rdx - 1]
mov byte [rbx], cl
xor cl, byte [rdx]
mov byte [rbx], cl
xor cl, byte [rdx + 1]
mov byte [rbx], cl
xor cl, byte [rdx + 2]
mov byte [rbx], cl
xor cl, byte [rdx + 3]
mov byte [rbx], cl
xor cl, byte [rdx + 4]
mov byte [rbx], cl
xor cl, byte [rdx + 5]
mov byte [rbx], cl
xor cl, byte [rdx + 6]
mov byte [rbx], cl
add edi, 8
lea rdx, [rdx + 8]
cmp edi, 8
jb 0x7ff7a615cb61
inc r8d
inc r9
cmp r8d, 0xc
jb 0x7ff7a615cb50
inc r10d
inc rbx
movsxd rax, r10d
cmp rax, r12
jb 0x7ff7a615ca80
lea rcx, [rbp + 0x410]
call fcn.7ff7a6152d30
nop
lea rcx, [rbp + 0x40]
call fcn.7ff7a6152f10
lea r8, [rbp + 0x6a8]
lea rdx, [rbp + 0x6c8]
lea rcx, [rbp + 0x6e8]
call fcn.7ff7a6155950
nop
lea rdi, [rbp + 0x6c8]
cmp qword [rbp + 0x6e0], 0x10
cmovae rdi, qword [rbp + 0x6c8]
xor eax, eax
mov rcx, qword [rbp + 0x6d8]
rep stosb byte [rdi], al
lea rdi, [rbp + 0x6a8]
cmp qword [rbp + 0x6c0], 0x10
cmovae rdi, qword [rbp + 0x6a8]
mov rcx, qword [rbp + 0x6b8]
rep stosb byte [rdi], al
lea rdx, [rbp + 0x6e8]
mov ecx, dword [rbp + 0x38]
call fcn.7ff7a61563b0
test al, al
mov rax, qword [sym.imp.msvcp140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
je 0x7ff7a615e709
mov qword [rbp + 0x628], rax
movabs rcx, 0xa445ecbeec90babc
mov qword [rbp + 8], rcx
mov rax, qword [rbp + 8]
mov qword [rbp + 0xae0], rax
movabs rax, 0x24d13faeae68d7c8
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0xae8], rax
movabs rax, 0xc101ccd698e3d5fb
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x680], rax
movabs rax, 0x24d15bcbda0bb2bc
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x688], rax
movdqa xmm0, xmmword [rbp + 0xae0]
xorps xmm0, xmmword [rbp + 0x680]
movdqa xmmword [rbp + 0xae0], xmm0
lea rax, [rbp + 0x40]
mov qword [rbp + 0x30], rax
lea rdx, [0x7ff7a658f9a0]
lea rcx, [rbp + 0x40]
call fcn.7ff7a6161260
nop
xor eax, eax
mov qword [rbp + 0x60], rax
cmp byte [0x7ff7a6743603], al
jne 0x7ff7a615cd01
lea rax, [0x7ff7a6152eb0]
mov qword [0x7ff7a6743610], rax
mov byte [0x7ff7a6743603], 1
lea rdx, [0x7ff7a658f9a0]
lea rcx, [rbp + 0x240]
call fcn.7ff7a6161260
mov qword [rbp + 8], rax
mov rbx, qword [rax + 0x10]
mov rcx, rax
call fcn.7ff7a6161cf0
mov r12, rax
lea r9, [0x7ff7a6743620]
cmp byte [0x7ff7a6743605], 0
jne 0x7ff7a615cd7c
movabs rdi, 0xfeeddccbbaa99887
mov rdx, r9
lea rax, [0x7ff7a6743e18]
mov esi, 0xffffffff
movabs r8, 0xababdbf33353735b
nop word [rax + rax]
mov rcx, rdi
xor rcx, r8
mov qword [rdx], rcx
sub rdi, rsi
add rdx, 8
cmp rdx, rax
jl 0x7ff7a615cd60
mov byte [0x7ff7a6743605], 1
movabs r11, 0xfae9e8d7c6b5a493
mov qword [rbp + 0x10], r11
mov qword [rbp + 0x5b8], r11
xor r8d, r8d
test rbx, rbx
je 0x7ff7a615cdfc
mov rdi, r12
nop dword [rax]
xor edx, edx
movzx ecx, byte [rdi]
lea rax, [rbp + 0x5b9]
nop dword [rax]
xor byte [rax - 1], cl
xor byte [rax], cl
xor byte [rax + 1], cl
xor byte [rax + 2], cl
xor byte [rax + 3], cl
xor byte [rax + 4], cl
xor byte [rax + 5], cl
xor byte [rax + 6], cl
add edx, 8
lea rax, [rax + 8]
cmp edx, 8
jb 0x7ff7a615cdb0
not cl
movzx eax, cl
mov r11, qword [rbp + 0x5b8]
xor r11, qword [r9 + rax*8]
mov qword [rbp + 0x10], r11
mov qword [rbp + 0x5b8], r11
inc r8d
inc rdi
movsxd rax, r8d
cmp rax, rbx
jb 0x7ff7a615cda0
movabs r9, 0xaebdccdb0a192837
movzx r13d, byte [r12]
mov byte [rbp + 1], r13b
cmp rbx, 1
jbe 0x7ff7a615ce1d
movzx r12d, byte [rbx + r12 - 1]
jmp 0x7ff7a615ce20
mov r12b, 0xae
mov byte [rbp], r12b
mov qword [rbp + 0x5d0], rbx
mov qword [rbp + 0x18], rbx
xor eax, eax
movzx ecx, bl
movzx edx, bl
nop word [rax + rax]
xor cl, r13b
xor dl, r12b
inc eax
cmp eax, 8
jb 0x7ff7a615ce40
mov byte [rbp + 0x5d0], cl
mov byte [rbp + 0x18], dl
xor r15d, r15d
lea rsi, [rbx*8]
xor r14d, r14d
lea r13d, [r15 + 8]
mov r12, r9
mov r11d, 1
nop dword [rax]
nop word [rax + rax]
mov eax, r15d
test r15d, r15d
cmove eax, r11d
shl eax, 3
movsxd rcx, eax
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
mov rax, r8
xor rax, r12
mov qword [rbp + 0x5c0], rax
movzx eax, byte [rbp + r14 + 0x5c0]
xor byte [rbp + r14 + 0x5b8], al
lea r10d, [r15*8]
mov eax, r10d
test r10d, r10d
cmovle eax, r13d
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x18]
shl rax, cl
xor qword [rbp + 0x5b8], rax
lea edi, [r10 + 8]
lea eax, [r15 + 1]
mov ecx, edi
test eax, eax
cmove ecx, r13d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
mov qword [rbp + 0x5c0], r9
movzx eax, byte [rbp + r14 + 0x5c1]
xor byte [rbp + r14 + 0x5b9], al
mov eax, 0xfffffff8
sub eax, r10d
mov ecx, 0xfffffff8
test edi, edi
cmovg ecx, eax
add ecx, 0x40
mov rax, qword [rbp + 0x5d0]
shl rax, cl
xor qword [rbp + 0x5b8], rax
lea edi, [r10 + 0x10]
lea eax, [r15 + 2]
mov ecx, edi
test eax, eax
cmove ecx, r13d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, r12
mov qword [rbp + 0x5c0], r8
movzx eax, byte [rbp + r14 + 0x5c2]
xor byte [rbp + r14 + 0x5ba], al
mov eax, r13d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x18]
shl rax, cl
xor qword [rbp + 0x5b8], rax
lea edi, [r10 + 0x18]
lea eax, [r15 + 3]
mov ecx, edi
test eax, eax
cmove ecx, r13d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, r12
mov qword [rbp + 0x5c0], r9
movzx eax, byte [rbp + r14 + 0x5c3]
xor byte [rbp + r14 + 0x5bb], al
mov eax, r13d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x5d0]
shl rax, cl
xor qword [rbp + 0x5b8], rax
lea edi, [r10 + 0x20]
lea eax, [r15 + 4]
mov ecx, edi
test eax, eax
cmove ecx, r13d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, r12
mov qword [rbp + 0x5c0], r8
movzx eax, byte [rbp + r14 + 0x5c4]
xor byte [rbp + r14 + 0x5bc], al
mov eax, r13d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x18]
shl rax, cl
xor qword [rbp + 0x5b8], rax
lea edi, [r10 + 0x28]
lea eax, [r15 + 5]
mov ecx, edi
test eax, eax
cmove ecx, r13d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, r12
mov qword [rbp + 0x5c0], r9
movzx eax, byte [rbp + r14 + 0x5c5]
xor byte [rbp + r14 + 0x5bd], al
mov eax, r13d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x5d0]
shl rax, cl
xor qword [rbp + 0x5b8], rax
lea edi, [r10 + 0x30]
lea eax, [r15 + 6]
mov ecx, edi
test eax, eax
cmove ecx, r13d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, r12
mov qword [rbp + 0x5c0], r8
movzx eax, byte [rbp + r14 + 0x5c6]
xor byte [rbp + r14 + 0x5be], al
mov eax, r13d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x18]
shl rax, cl
xor qword [rbp + 0x5b8], rax
lea edi, [r10 + 0x38]
lea eax, [r15 + 7]
mov ecx, edi
test eax, eax
cmove ecx, r13d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, r12
mov qword [rbp + 0x5c0], r9
movzx eax, byte [rbp + r14 + 0x5c7]
xor byte [rbp + r14 + 0x5bf], al
mov eax, r13d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rdx, qword [rbp + 0x5d0]
shl rdx, cl
xor rdx, qword [rbp + 0x5b8]
mov qword [rbp + 0x5b8], rdx
add r15d, r13d
lea r14, [r14 + 8]
cmp r15d, r13d
jb 0x7ff7a615ce80
movzx r12d, byte [rbp]
imul rcx, r12, 0xff
not rcx
movzx eax, byte [rbp + 1]
shl rax, 7
sub rcx, rax
and rdx, qword [rbp + 0x10]
xor rcx, rdx
mov qword [rbp + 0x60], rcx
mov rdx, qword [rbp + 8]
lea rcx, [rbp + 0x40]
call fcn.7ff7a6161230
nop
mov rcx, qword [rbp + 8]
call fcn.7ff7a6152d30
nop
cmp byte [0x7ff7a6743604], 0
lea rsi, [0x7ff7a6150000]
jne 0x7ff7a615d20a
lea rax, [0x7ff7a6152eb0]
mov qword [0x7ff7a6743610], rax
mov byte [0x7ff7a6743604], 1
lea rdx, [rbp + 0xae0]
lea rcx, [rbp + 0x70]
call fcn.7ff7a6161260
nop
mov rdx, rax
lea rcx, [rbp + 0xb00]
call fcn.7ff7a6161380
mov r12, qword [rbp + 0xb10]
lea rcx, [rbp + 0xb00]
call fcn.7ff7a6161cf0
mov rbx, rax
cmp byte [0x7ff7a6743606], 0
jne 0x7ff7a615d633
xor r14d, r14d
movabs r15, 0x101010101010101
nop word [rax + rax]
lea rcx, [rbp + 0x668]
call fcn.7ff7a6151700
mov rdi, qword [rbp + 0x668]
call qword [sym.imp.ucrtbase.dll_rand]
movsxd rcx, eax
mov rax, rdi
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0xf
add rax, rdx
and eax, 0xf
sub rax, rdx
inc rax
xor rax, 0x10
shl rax, 0xa
or rax, r15
mov qword [r14 + rsi + 0x5f3f30], rax
lea rcx, [rbp + 0xd0]
call fcn.7ff7a6151700
mov rdi, qword [rax]
mov qword [rbp + 0x668], rdi
call qword [sym.imp.ucrtbase.dll_rand]
movsxd rcx, eax
mov rax, rdi
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x1f
add rax, rdx
and eax, 0x1f
sub rax, rdx
inc rax
xor rax, 0x20
shl rax, 0xb
or rax, r15
mov qword [r14 + rsi + 0x5f3e20], rax
lea rcx, [rbp + 0xc8]
call fcn.7ff7a6151700
mov rdi, qword [rax]
mov qword [rbp + 0x668], rdi
call qword [sym.imp.ucrtbase.dll_rand]
movsxd rcx, eax
mov rax, rdi
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x3f
add rax, rdx
and eax, 0x3f
sub rax, rdx
inc rax
xor rax, 0x40
shl rax, 0xc
or rax, r15
mov qword [r14 + rsi + 0x5f3ea0], rax
add r14, 8
cmp r14, 0x80
jl 0x7ff7a615d260
lea rcx, [rbp + 0x5e0]
call fcn.7ff7a6151700
xor r14d, r14d
lea rdi, [0x7ff7a6743619]
nop
mov r15, qword [rbp + 0x5e0]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615d38b
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, r15
cqo
idiv rcx
mov byte [rdi - 1], dl
mov r15, qword [rbp + 0x5e0]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615d3b7
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, r15
cqo
idiv rcx
mov byte [rdi], dl
mov r15, qword [rbp + 0x5e0]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615d3e2
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, r15
cqo
idiv rcx
mov byte [rdi + 1], dl
mov r15, qword [rbp + 0x5e0]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615d40e
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, r15
cqo
idiv rcx
mov byte [rdi + 2], dl
add r14d, 4
add rdi, 4
cmp r14d, 4
jb 0x7ff7a615d370
lea rcx, [rbp + 0xc0]
call fcn.7ff7a6151700
mov rdi, qword [rax]
mov qword [rbp + 0x5e0], rdi
xor r15d, r15d
lea r14, [0x7ff7a6743e19]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615d465
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r14 - 1], dl
mov rdi, qword [rbp + 0x5e0]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615d492
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r14], dl
mov rdi, qword [rbp + 0x5e0]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615d4be
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r14 + 1], dl
mov rdi, qword [rbp + 0x5e0]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615d4eb
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r14 + 2], dl
mov rdi, qword [rbp + 0x5e0]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615d518
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r14 + 3], dl
mov rdi, qword [rbp + 0x5e0]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615d545
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r14 + 4], dl
mov rdi, qword [rbp + 0x5e0]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615d572
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r14 + 5], dl
mov rdi, qword [rbp + 0x5e0]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615d59f
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r14 + 6], dl
add r15d, 8
add r14, 8
cmp r15d, 8
jae 0x7ff7a615d5cb
mov rdi, qword [rbp + 0x5e0]
jmp 0x7ff7a615d451
lea rcx, [rbp + 0xb8]
call fcn.7ff7a6151700
mov rdi, qword [rax]
mov qword [rbp + 0x5e0], rdi
xor r14d, r14d
lea r13, [0x7ff7a6743f20]
mov r15, r13
nop
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615d604
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r15], dl
inc r14d
inc r15
cmp r14d, 0xc
jae 0x7ff7a615d62a
mov rdi, qword [rbp + 0x5e0]
jmp 0x7ff7a615d5f0
mov byte [0x7ff7a6743606], 1
jmp 0x7ff7a615d63a
lea r13, [0x7ff7a6743f20]
test r12, r12
je 0x7ff7a615d782
xor r10d, r10d
test r12, r12
je 0x7ff7a615d782
nop
xor r8d, r8d
movzx ecx, byte [rbx]
lea r9, [0x7ff7a6743618]
nop dword [rax]
xor edi, edi
movzx eax, byte [r9]
lea rdx, [rsi + 0x5f3f31]
lea rdx, [rdx + rax*8]
xor cl, byte [rdx - 1]
mov byte [rbx], cl
xor cl, byte [rdx]
mov byte [rbx], cl
xor cl, byte [rdx + 1]
mov byte [rbx], cl
xor cl, byte [rdx + 2]
mov byte [rbx], cl
xor cl, byte [rdx + 3]
mov byte [rbx], cl
xor cl, byte [rdx + 4]
mov byte [rbx], cl
xor cl, byte [rdx + 5]
mov byte [rbx], cl
xor cl, byte [rdx + 6]
mov byte [rbx], cl
add edi, 8
lea rdx, [rdx + 8]
cmp edi, 8
jb 0x7ff7a615d671
inc r8d
inc r9
cmp r8d, 4
jb 0x7ff7a615d660
xor r8d, r8d
lea r9, [0x7ff7a6743e18]
nop word [rax + rax]
xor edi, edi
movzx eax, byte [r9]
lea rdx, [rsi + 0x5f3e21]
lea rdx, [rdx + rax*8]
xor cl, byte [rdx - 1]
mov byte [rbx], cl
xor cl, byte [rdx]
mov byte [rbx], cl
xor cl, byte [rdx + 1]
mov byte [rbx], cl
xor cl, byte [rdx + 2]
mov byte [rbx], cl
xor cl, byte [rdx + 3]
mov byte [rbx], cl
xor cl, byte [rdx + 4]
mov byte [rbx], cl
xor cl, byte [rdx + 5]
mov byte [rbx], cl
xor cl, byte [rdx + 6]
mov byte [rbx], cl
add edi, 8
lea rdx, [rdx + 8]
cmp edi, 8
jb 0x7ff7a615d6d1
inc r8d
inc r9
cmp r8d, 8
jb 0x7ff7a615d6c0
xor r8d, r8d
mov r9, r13
nop word [rax + rax]
xor edi, edi
movzx eax, byte [r9]
lea rdx, [rsi + 0x5f3f31]
lea rdx, [rdx + rax*8]
xor cl, byte [rdx - 1]
mov byte [rbx], cl
xor cl, byte [rdx]
mov byte [rbx], cl
xor cl, byte [rdx + 1]
mov byte [rbx], cl
xor cl, byte [rdx + 2]
mov byte [rbx], cl
xor cl, byte [rdx + 3]
mov byte [rbx], cl
xor cl, byte [rdx + 4]
mov byte [rbx], cl
xor cl, byte [rdx + 5]
mov byte [rbx], cl
xor cl, byte [rdx + 6]
mov byte [rbx], cl
add edi, 8
lea rdx, [rdx + 8]
cmp edi, 8
jb 0x7ff7a615d731
inc r8d
inc r9
cmp r8d, 0xc
jb 0x7ff7a615d720
inc r10d
inc rbx
movsxd rax, r10d
cmp rax, r12
jb 0x7ff7a615d650
lea rdx, [rbp + 0xb00]
lea rcx, [rbp + 0x260]
call fcn.7ff7a6161380
mov qword [rbp + 8], rax
mov rbx, qword [rax + 0x10]
mov rcx, rax
call fcn.7ff7a6161cf0
mov r12, rax
lea r9, [0x7ff7a6743620]
cmp byte [0x7ff7a6743605], 0
jne 0x7ff7a615d7fc
movabs rdi, 0xfeeddccbbaa99887
mov rdx, r9
lea rax, [0x7ff7a6743e18]
mov esi, 0xffffffff
movabs r8, 0xababdbf33353735b
nop dword [rax + rax]
mov rcx, rdi
xor rcx, r8
mov qword [rdx], rcx
sub rdi, rsi
add rdx, 8
cmp rdx, rax
jl 0x7ff7a615d7e0
mov byte [0x7ff7a6743605], 1
movabs r11, 0xfae9e8d7c6b5a493
mov qword [rbp + 0x10], r11
mov qword [rbp + 0x5b8], r11
xor r8d, r8d
test rbx, rbx
je 0x7ff7a615d87c
mov rdi, r12
nop dword [rax]
xor edx, edx
movzx ecx, byte [rdi]
lea rax, [rbp + 0x5b9]
nop dword [rax]
xor byte [rax - 1], cl
xor byte [rax], cl
xor byte [rax + 1], cl
xor byte [rax + 2], cl
xor byte [rax + 3], cl
xor byte [rax + 4], cl
xor byte [rax + 5], cl
xor byte [rax + 6], cl
add edx, 8
lea rax, [rax + 8]
cmp edx, 8
jb 0x7ff7a615d830
not cl
movzx eax, cl
mov r11, qword [rbp + 0x5b8]
xor r11, qword [r9 + rax*8]
mov qword [rbp + 0x10], r11
mov qword [rbp + 0x5b8], r11
inc r8d
inc rdi
movsxd rax, r8d
cmp rax, rbx
jb 0x7ff7a615d820
movabs r9, 0xaebdccdb0a192837
movzx r13d, byte [r12]
mov byte [rbp + 1], r13b
cmp rbx, 1
jbe 0x7ff7a615d89d
movzx r12d, byte [rbx + r12 - 1]
jmp 0x7ff7a615d8a0
mov r12b, 0xae
mov byte [rbp], r12b
mov qword [rbp + 0x5d0], rbx
mov qword [rbp + 0x18], rbx
xor eax, eax
movzx ecx, bl
movzx edx, bl
nop word [rax + rax]
xor cl, r13b
xor dl, r12b
inc eax
cmp eax, 8
jb 0x7ff7a615d8c0
mov byte [rbp + 0x5d0], cl
mov byte [rbp + 0x18], dl
xor r15d, r15d
lea rsi, [rbx*8]
xor r14d, r14d
lea r13d, [r15 + 8]
mov r12, r9
mov r11d, 1
nop dword [rax]
nop word [rax + rax]
mov eax, r15d
test r15d, r15d
cmove eax, r11d
shl eax, 3
movsxd rcx, eax
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
mov rax, r8
xor rax, r12
mov qword [rbp + 0x5c0], rax
movzx eax, byte [rbp + r14 + 0x5c0]
xor byte [rbp + r14 + 0x5b8], al
lea r10d, [r15*8]
mov eax, r10d
test r10d, r10d
cmovle eax, r13d
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x18]
shl rax, cl
xor qword [rbp + 0x5b8], rax
lea edi, [r10 + 8]
lea eax, [r15 + 1]
mov ecx, edi
test eax, eax
cmove ecx, r13d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
mov qword [rbp + 0x5c0], r9
movzx eax, byte [rbp + r14 + 0x5c1]
xor byte [rbp + r14 + 0x5b9], al
mov eax, 0xfffffff8
sub eax, r10d
mov ecx, 0xfffffff8
test edi, edi
cmovg ecx, eax
add ecx, 0x40
mov rax, qword [rbp + 0x5d0]
shl rax, cl
xor qword [rbp + 0x5b8], rax
lea edi, [r10 + 0x10]
lea eax, [r15 + 2]
mov ecx, edi
test eax, eax
cmove ecx, r13d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, r12
mov qword [rbp + 0x5c0], r8
movzx eax, byte [rbp + r14 + 0x5c2]
xor byte [rbp + r14 + 0x5ba], al
mov eax, r13d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x18]
shl rax, cl
xor qword [rbp + 0x5b8], rax
lea edi, [r10 + 0x18]
lea eax, [r15 + 3]
mov ecx, edi
test eax, eax
cmove ecx, r13d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, r12
mov qword [rbp + 0x5c0], r9
movzx eax, byte [rbp + r14 + 0x5c3]
xor byte [rbp + r14 + 0x5bb], al
mov eax, r13d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x5d0]
shl rax, cl
xor qword [rbp + 0x5b8], rax
lea edi, [r10 + 0x20]
lea eax, [r15 + 4]
mov ecx, edi
test eax, eax
cmove ecx, r13d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, r12
mov qword [rbp + 0x5c0], r8
movzx eax, byte [rbp + r14 + 0x5c4]
xor byte [rbp + r14 + 0x5bc], al
mov eax, r13d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x18]
shl rax, cl
xor qword [rbp + 0x5b8], rax
lea edi, [r10 + 0x28]
lea eax, [r15 + 5]
mov ecx, edi
test eax, eax
cmove ecx, r13d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, r12
mov qword [rbp + 0x5c0], r9
movzx eax, byte [rbp + r14 + 0x5c5]
xor byte [rbp + r14 + 0x5bd], al
mov eax, r13d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x5d0]
shl rax, cl
xor qword [rbp + 0x5b8], rax
lea edi, [r10 + 0x30]
lea eax, [r15 + 6]
mov ecx, edi
test eax, eax
cmove ecx, r13d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, r12
mov qword [rbp + 0x5c0], r8
movzx eax, byte [rbp + r14 + 0x5c6]
xor byte [rbp + r14 + 0x5be], al
mov eax, r13d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x18]
shl rax, cl
xor qword [rbp + 0x5b8], rax
lea edi, [r10 + 0x38]
lea eax, [r15 + 7]
mov ecx, edi
test eax, eax
cmove ecx, r13d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, r12
mov qword [rbp + 0x5c0], r9
movzx eax, byte [rbp + r14 + 0x5c7]
xor byte [rbp + r14 + 0x5bf], al
mov eax, r13d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rdx, qword [rbp + 0x5d0]
shl rdx, cl
xor rdx, qword [rbp + 0x5b8]
mov qword [rbp + 0x5b8], rdx
add r15d, r13d
lea r14, [r14 + 8]
cmp r15d, r13d
jb 0x7ff7a615d900
movzx r12d, byte [rbp]
imul rcx, r12, 0xff
not rcx
movzx eax, byte [rbp + 1]
shl rax, 7
sub rcx, rax
and rdx, qword [rbp + 0x10]
xor rcx, rdx
mov qword [rbp + 0x60], rcx
mov rdx, qword [rbp + 8]
lea rcx, [rbp + 0x40]
call fcn.7ff7a6161230
nop
mov rcx, qword [rbp + 8]
call fcn.7ff7a6152d30
nop
lea rcx, [rbp + 0xb00]
call fcn.7ff7a6152d30
nop
lea rcx, [rbp + 0x70]
call fcn.7ff7a6152d30
nop
mov rbx, qword [rbp + 0x50]
lea rcx, [rbp + 0x40]
call fcn.7ff7a6161cf0
mov r15, rax
cmp byte [0x7ff7a6743605], 0
jne 0x7ff7a615dcdc
lea rdx, [0x7ff7a6743620]
lea rax, [0x7ff7a6743e18]
movabs rdi, 0xababdbf33353735b
mov r9d, 0xffffffff
movabs r8, 0xfeeddccbbaa99887
nop dword [rax]
mov rcx, r8
xor rcx, rdi
mov qword [rdx], rcx
sub r8, r9
add rdx, 8
cmp rdx, rax
jl 0x7ff7a615dcc0
mov byte [0x7ff7a6743605], 1
lea r9, [0x7ff7a6743620]
movabs rax, 0xfae9e8d7c6b5a493
mov qword [rbp + 0x5b8], rax
xor r8d, r8d
test rbx, rbx
je 0x7ff7a615dd5c
mov rdi, r15
nop
xor edx, edx
movzx ecx, byte [rdi]
lea rax, [rbp + 0x5b9]
nop dword [rax]
xor byte [rax - 1], cl
xor byte [rax], cl
xor byte [rax + 1], cl
xor byte [rax + 2], cl
xor byte [rax + 3], cl
xor byte [rax + 4], cl
xor byte [rax + 5], cl
xor byte [rax + 6], cl
add edx, 8
lea rax, [rax + 8]
cmp edx, 8
jb 0x7ff7a615dd10
not cl
movzx eax, cl
mov rsi, qword [rbp + 0x5b8]
xor rsi, qword [r9 + rax*8]
mov qword [rbp + 0x28], rsi
mov qword [rbp + 0x5b8], rsi
inc r8d
inc rdi
movsxd rax, r8d
cmp rax, rbx
jb 0x7ff7a615dd00
movabs r9, 0xaebdccdb0a192837
movzx r13d, byte [r15]
mov byte [rbp + 1], r13b
cmp rbx, 1
jbe 0x7ff7a615dd7c
movzx r15d, byte [rbx + r15 - 1]
jmp 0x7ff7a615dd7f
mov r15b, 0xae
mov byte [rbp], r15b
mov qword [rbp + 0x5d0], rbx
mov qword [rbp + 0x18], rbx
xor eax, eax
movzx ecx, bl
movzx edx, bl
nop word [rax + rax]
xor cl, r13b
xor dl, r15b
inc eax
cmp eax, 8
jb 0x7ff7a615dda0
mov byte [rbp + 0x5d0], cl
mov byte [rbp + 0x18], dl
xor r14d, r14d
lea r12, [rbx*8]
xor r11d, r11d
lea esi, [r14 + 8]
mov r13, r9
mov r15d, 1
nop dword [rax]
nop word [rax + rax]
mov eax, r14d
test r14d, r14d
cmove eax, r15d
shl eax, 3
movsxd rcx, eax
xor edx, edx
mov rax, r12
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
mov rax, r8
xor rax, r13
mov qword [rbp + 0x5c0], rax
movzx eax, byte [rbp + r11 + 0x5c0]
xor byte [rbp + r11 + 0x5b8], al
lea r10d, [r14*8]
mov eax, r10d
test r10d, r10d
cmovle eax, esi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x18]
shl rax, cl
xor qword [rbp + 0x5b8], rax
lea edi, [r10 + 8]
lea eax, [r14 + 1]
mov ecx, edi
test eax, eax
cmove ecx, esi
movsxd rcx, ecx
xor edx, edx
mov rax, r12
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
mov qword [rbp + 0x5c0], r9
movzx eax, byte [rbp + r11 + 0x5c1]
xor byte [rbp + r11 + 0x5b9], al
mov eax, 0xfffffff8
sub eax, r10d
mov ecx, 0xfffffff8
test edi, edi
cmovg ecx, eax
add ecx, 0x40
mov rax, qword [rbp + 0x5d0]
shl rax, cl
xor qword [rbp + 0x5b8], rax
lea edi, [r10 + 0x10]
lea eax, [r14 + 2]
mov ecx, edi
test eax, eax
cmove ecx, esi
movsxd rcx, ecx
xor edx, edx
mov rax, r12
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, r13
mov qword [rbp + 0x5c0], r8
movzx eax, byte [rbp + r11 + 0x5c2]
xor byte [rbp + r11 + 0x5ba], al
mov eax, esi
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x18]
shl rax, cl
xor qword [rbp + 0x5b8], rax
lea edi, [r10 + 0x18]
lea eax, [r14 + 3]
mov ecx, edi
test eax, eax
cmove ecx, esi
movsxd rcx, ecx
xor edx, edx
mov rax, r12
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, r13
mov qword [rbp + 0x5c0], r9
movzx eax, byte [rbp + r11 + 0x5c3]
xor byte [rbp + r11 + 0x5bb], al
mov eax, esi
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x5d0]
shl rax, cl
xor qword [rbp + 0x5b8], rax
lea edi, [r10 + 0x20]
lea eax, [r14 + 4]
mov ecx, edi
test eax, eax
cmove ecx, esi
movsxd rcx, ecx
xor edx, edx
mov rax, r12
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, r13
mov qword [rbp + 0x5c0], r8
movzx eax, byte [rbp + r11 + 0x5c4]
xor byte [rbp + r11 + 0x5bc], al
mov eax, esi
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x18]
shl rax, cl
xor qword [rbp + 0x5b8], rax
lea edi, [r10 + 0x28]
lea eax, [r14 + 5]
mov ecx, edi
test eax, eax
cmove ecx, esi
movsxd rcx, ecx
xor edx, edx
mov rax, r12
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, r13
mov qword [rbp + 0x5c0], r9
movzx eax, byte [rbp + r11 + 0x5c5]
xor byte [rbp + r11 + 0x5bd], al
mov eax, esi
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x5d0]
shl rax, cl
xor qword [rbp + 0x5b8], rax
lea edi, [r10 + 0x30]
lea eax, [r14 + 6]
mov ecx, edi
test eax, eax
cmove ecx, esi
movsxd rcx, ecx
xor edx, edx
mov rax, r12
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, r13
mov qword [rbp + 0x5c0], r8
movzx eax, byte [rbp + r11 + 0x5c6]
xor byte [rbp + r11 + 0x5be], al
mov eax, esi
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x18]
shl rax, cl
xor qword [rbp + 0x5b8], rax
lea edi, [r10 + 0x38]
lea eax, [r14 + 7]
mov ecx, edi
test eax, eax
cmove ecx, esi
movsxd rcx, ecx
xor edx, edx
mov rax, r12
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, r13
mov qword [rbp + 0x5c0], r9
movzx eax, byte [rbp + r11 + 0x5c7]
xor byte [rbp + r11 + 0x5bf], al
mov eax, esi
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rdx, qword [rbp + 0x5d0]
shl rdx, cl
xor rdx, qword [rbp + 0x5b8]
mov qword [rbp + 0x5b8], rdx
add r14d, esi
lea r11, [r11 + 8]
cmp r14d, esi
jb 0x7ff7a615dde0
movzx r15d, byte [rbp]
imul r8, r15, 0xff
not r8
movzx eax, byte [rbp + 1]
shl rax, 7
sub r8, rax
and rdx, qword [rbp + 0x28]
xor r8, rdx
mov rdx, qword [rbp + 0x60]
cmp r8, rdx
lea rsi, [0x7ff7a6150000]
je 0x7ff7a615e147
mov rdi, qword [0x7ff7a6743610]
lea rcx, [rbp + 0x140]
call fcn.7ff7a6152d90
lea rdx, [rbp + 0x40]
mov rcx, rax
call rdi
lea rdx, [rbp + 0x40]
lea rcx, [rbp + 0x178]
call fcn.7ff7a6161380
nop
lea rdx, [rbp + 0x178]
lea rcx, [rbp + 0x108]
call fcn.7ff7a6161380
mov r12, qword [rbp + 0x118]
lea rcx, [rbp + 0x108]
call fcn.7ff7a6161cf0
mov rbx, rax
cmp byte [0x7ff7a6743606], 0
jne 0x7ff7a615e573
xor r14d, r14d
movabs r15, 0x101010101010101
nop dword [rax + rax]
lea rcx, [rbp + 0x660]
call fcn.7ff7a6151700
mov rdi, qword [rbp + 0x660]
call qword [sym.imp.ucrtbase.dll_rand]
movsxd rcx, eax
mov rax, rdi
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0xf
add rax, rdx
and eax, 0xf
sub rax, rdx
inc rax
xor rax, 0x10
shl rax, 0xa
or rax, r15
mov qword [r14 + rsi + 0x5f3f30], rax
lea rcx, [rbp + 0xb0]
call fcn.7ff7a6151700
mov rdi, qword [rax]
mov qword [rbp + 0x660], rdi
call qword [sym.imp.ucrtbase.dll_rand]
movsxd rcx, eax
mov rax, rdi
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x1f
add rax, rdx
and eax, 0x1f
sub rax, rdx
inc rax
xor rax, 0x20
shl rax, 0xb
or rax, r15
mov qword [r14 + rsi + 0x5f3e20], rax
lea rcx, [rbp + 0xa8]
call fcn.7ff7a6151700
mov rdi, qword [rax]
mov qword [rbp + 0x660], rdi
call qword [sym.imp.ucrtbase.dll_rand]
movsxd rcx, eax
mov rax, rdi
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x3f
add rax, rdx
and eax, 0x3f
sub rax, rdx
inc rax
xor rax, 0x40
shl rax, 0xc
or rax, r15
mov qword [r14 + rsi + 0x5f3ea0], rax
add r14, 8
cmp r14, 0x80
jl 0x7ff7a615e1a0
lea rcx, [rbp + 0x5c8]
call fcn.7ff7a6151700
xor edi, edi
lea r15, [0x7ff7a6743619]
nop dword [rax]
mov r14, qword [rbp + 0x5c8]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615e2cb
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, r14
cqo
idiv rcx
mov byte [r15 - 1], dl
mov r14, qword [rbp + 0x5c8]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615e2f8
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, r14
cqo
idiv rcx
mov byte [r15], dl
mov r14, qword [rbp + 0x5c8]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615e324
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, r14
cqo
idiv rcx
mov byte [r15 + 1], dl
mov r14, qword [rbp + 0x5c8]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615e351
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, r14
cqo
idiv rcx
mov byte [r15 + 2], dl
add edi, 4
add r15, 4
cmp edi, 4
jb 0x7ff7a615e2b0
lea rcx, [rbp + 0xa0]
call fcn.7ff7a6151700
mov rdi, qword [rax]
mov qword [rbp + 0x5c8], rdi
xor r14d, r14d
lea r15, [0x7ff7a6743e19]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615e3a7
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r15 - 1], dl
mov rdi, qword [rbp + 0x5c8]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615e3d4
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r15], dl
mov rdi, qword [rbp + 0x5c8]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615e400
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r15 + 1], dl
mov rdi, qword [rbp + 0x5c8]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615e42d
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r15 + 2], dl
mov rdi, qword [rbp + 0x5c8]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615e45a
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r15 + 3], dl
mov rdi, qword [rbp + 0x5c8]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615e487
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r15 + 4], dl
mov rdi, qword [rbp + 0x5c8]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615e4b4
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r15 + 5], dl
mov rdi, qword [rbp + 0x5c8]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615e4e1
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r15 + 6], dl
add r14d, 8
add r15, 8
cmp r14d, 8
jae 0x7ff7a615e50d
mov rdi, qword [rbp + 0x5c8]
jmp 0x7ff7a615e393
lea rcx, [rbp + 0x98]
call fcn.7ff7a6151700
mov rdi, qword [rax]
mov qword [rbp + 0x5c8], rdi
xor r14d, r14d
lea r13, [0x7ff7a6743f20]
mov r15, r13
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615e544
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r15], dl
inc r14d
inc r15
cmp r14d, 0xc
jae 0x7ff7a615e56a
mov rdi, qword [rbp + 0x5c8]
jmp 0x7ff7a615e530
mov byte [0x7ff7a6743606], 1
jmp 0x7ff7a615e57a
lea r13, [0x7ff7a6743f20]
test r12, r12
je 0x7ff7a615e6c2
xor r10d, r10d
test r12, r12
je 0x7ff7a615e6c2
nop
xor r8d, r8d
movzx ecx, byte [rbx]
lea r9, [0x7ff7a6743618]
nop dword [rax]
xor edi, edi
movzx eax, byte [r9]
lea rdx, [rsi + 0x5f3f31]
lea rdx, [rdx + rax*8]
xor cl, byte [rdx - 1]
mov byte [rbx], cl
xor cl, byte [rdx]
mov byte [rbx], cl
xor cl, byte [rdx + 1]
mov byte [rbx], cl
xor cl, byte [rdx + 2]
mov byte [rbx], cl
xor cl, byte [rdx + 3]
mov byte [rbx], cl
xor cl, byte [rdx + 4]
mov byte [rbx], cl
xor cl, byte [rdx + 5]
mov byte [rbx], cl
xor cl, byte [rdx + 6]
mov byte [rbx], cl
add edi, 8
lea rdx, [rdx + 8]
cmp edi, 8
jb 0x7ff7a615e5b1
inc r8d
inc r9
cmp r8d, 4
jb 0x7ff7a615e5a0
xor r8d, r8d
lea r9, [0x7ff7a6743e18]
nop word [rax + rax]
xor edi, edi
movzx eax, byte [r9]
lea rdx, [rsi + 0x5f3e21]
lea rdx, [rdx + rax*8]
xor cl, byte [rdx - 1]
mov byte [rbx], cl
xor cl, byte [rdx]
mov byte [rbx], cl
xor cl, byte [rdx + 1]
mov byte [rbx], cl
xor cl, byte [rdx + 2]
mov byte [rbx], cl
xor cl, byte [rdx + 3]
mov byte [rbx], cl
xor cl, byte [rdx + 4]
mov byte [rbx], cl
xor cl, byte [rdx + 5]
mov byte [rbx], cl
xor cl, byte [rdx + 6]
mov byte [rbx], cl
add edi, 8
lea rdx, [rdx + 8]
cmp edi, 8
jb 0x7ff7a615e611
inc r8d
inc r9
cmp r8d, 8
jb 0x7ff7a615e600
xor r8d, r8d
mov r9, r13
nop word [rax + rax]
xor edi, edi
movzx eax, byte [r9]
lea rdx, [rsi + 0x5f3f31]
lea rdx, [rdx + rax*8]
xor cl, byte [rdx - 1]
mov byte [rbx], cl
xor cl, byte [rdx]
mov byte [rbx], cl
xor cl, byte [rdx + 1]
mov byte [rbx], cl
xor cl, byte [rdx + 2]
mov byte [rbx], cl
xor cl, byte [rdx + 3]
mov byte [rbx], cl
xor cl, byte [rdx + 4]
mov byte [rbx], cl
xor cl, byte [rdx + 5]
mov byte [rbx], cl
xor cl, byte [rdx + 6]
mov byte [rbx], cl
add edi, 8
lea rdx, [rdx + 8]
cmp edi, 8
jb 0x7ff7a615e671
inc r8d
inc r9
cmp r8d, 0xc
jb 0x7ff7a615e660
inc r10d
inc rbx
movsxd rax, r10d
cmp rax, r12
jb 0x7ff7a615e590
lea rcx, [rbp + 0x178]
call fcn.7ff7a6152d30
nop
lea rdx, [rbp + 0x108]
mov rcx, qword [rbp + 0x628]
call fcn.7ff7a6162100
lea rdx, [0x7ff7a6162120]
mov rcx, rax
call qword [sym.imp.msvcp140.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_istream_char__struct_std::char_traits_char__::operator___class_std::basic_istream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_istream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
lea rcx, [rbp + 0x108]
call fcn.7ff7a6152d30
nop
lea rcx, [rbp + 0x40]
jmp 0x7ff7a6160257
mov qword [rbp + 0x628], rax
movabs rcx, 0xa076ecbeec90babc
mov qword [rbp + 8], rcx
mov rax, qword [rbp + 8]
mov qword [rbp + 0x680], rax
movabs rax, 0x4bb77bbfb56592cf
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x688], rax
movabs rax, 0x5c713bd8cd0f34a8
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x690], rax
movabs rcx, 0x68a2f32db68d7a0e
mov qword [rbp + 8], rcx
mov rax, qword [rbp + 8]
mov qword [rbp + 0x698], rax
movabs rax, 0xc101ccd698e3d5fb
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0xb00], rax
movabs rax, 0x24d15bcbda0bb2bc
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0xb08], rax
movabs rax, 0x5c713bd8e36b5add
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0xb10], rax
mov qword [rbp + 8], rcx
mov rax, qword [rbp + 8]
mov qword [rbp + 0xb18], rax
vmovdqu ymm0, ymmword [rbp + 0x680]
vpxor ymm1, ymm0, ymmword [rbp + 0xb00]
vmovdqa ymmword [rbp + 0x680], ymm1
lea rax, [rbp + 0x140]
mov qword [rbp + 0x30], rax
lea rdx, [0x7ff7a658f9a0]
lea rcx, [rbp + 0x140]
vzeroupper
call fcn.7ff7a6161260
nop
xor eax, eax
mov qword [rbp + 0x160], rax
cmp byte [0x7ff7a6743603], al
jne 0x7ff7a615e82e
lea rax, [0x7ff7a6152eb0]
mov qword [0x7ff7a6743610], rax
mov byte [0x7ff7a6743603], 1
lea rdx, [0x7ff7a658f9a0]
lea rcx, [rbp + 0x70]
call fcn.7ff7a6161260
mov qword [rbp + 8], rax
mov rbx, qword [rax + 0x10]
mov rcx, rax
call fcn.7ff7a6161cf0
mov r12, rax
lea r9, [0x7ff7a6743620]
cmp byte [0x7ff7a6743605], 0
jne 0x7ff7a615e8ac
movabs rdi, 0xfeeddccbbaa99887
mov rdx, r9
lea rax, [0x7ff7a6743e18]
mov esi, 0xffffffff
movabs r8, 0xababdbf33353735b
nop dword [rax]
nop dword [rax + rax]
mov rcx, rdi
xor rcx, r8
mov qword [rdx], rcx
sub rdi, rsi
add rdx, 8
cmp rdx, rax
jl 0x7ff7a615e890
mov byte [0x7ff7a6743605], 1
movabs r11, 0xfae9e8d7c6b5a493
mov qword [rbp + 0x10], r11
mov qword [rbp + 0x5b8], r11
xor r8d, r8d
test rbx, rbx
je 0x7ff7a615e92c
mov rdi, r12
nop dword [rax]
xor edx, edx
movzx ecx, byte [rdi]
lea rax, [rbp + 0x5b9]
nop dword [rax]
xor byte [rax - 1], cl
xor byte [rax], cl
xor byte [rax + 1], cl
xor byte [rax + 2], cl
xor byte [rax + 3], cl
xor byte [rax + 4], cl
xor byte [rax + 5], cl
xor byte [rax + 6], cl
add edx, 8
lea rax, [rax + 8]
cmp edx, 8
jb 0x7ff7a615e8e0
not cl
movzx eax, cl
mov r11, qword [rbp + 0x5b8]
xor r11, qword [r9 + rax*8]
mov qword [rbp + 0x10], r11
mov qword [rbp + 0x5b8], r11
inc r8d
inc rdi
movsxd rax, r8d
cmp rax, rbx
jb 0x7ff7a615e8d0
movabs r9, 0xaebdccdb0a192837
movzx r13d, byte [r12]
mov byte [rbp + 1], r13b
cmp rbx, 1
jbe 0x7ff7a615e94d
movzx r12d, byte [rbx + r12 - 1]
jmp 0x7ff7a615e950
mov r12b, 0xae
mov byte [rbp], r12b
mov qword [rbp + 0x5d0], rbx
mov qword [rbp + 0x18], rbx
xor eax, eax
movzx ecx, bl
movzx edx, bl
nop word [rax + rax]
xor cl, r13b
xor dl, r12b
inc eax
cmp eax, 8
jb 0x7ff7a615e970
mov byte [rbp + 0x5d0], cl
mov byte [rbp + 0x18], dl
xor r15d, r15d
lea rsi, [rbx*8]
xor r14d, r14d
lea r13d, [r15 + 8]
mov r12, r9
mov r11d, 1
nop dword [rax]
nop word [rax + rax]
mov eax, r15d
test r15d, r15d
cmove eax, r11d
shl eax, 3
movsxd rcx, eax
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
mov rax, r8
xor rax, r12
mov qword [rbp + 0x5c0], rax
movzx eax, byte [rbp + r14 + 0x5c0]
xor byte [rbp + r14 + 0x5b8], al
lea r10d, [r15*8]
mov eax, r10d
test r10d, r10d
cmovle eax, r13d
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x18]
shl rax, cl
xor qword [rbp + 0x5b8], rax
lea edi, [r10 + 8]
lea eax, [r15 + 1]
mov ecx, edi
test eax, eax
cmove ecx, r13d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
mov qword [rbp + 0x5c0], r9
movzx eax, byte [rbp + r14 + 0x5c1]
xor byte [rbp + r14 + 0x5b9], al
mov eax, 0xfffffff8
sub eax, r10d
mov ecx, 0xfffffff8
test edi, edi
cmovg ecx, eax
add ecx, 0x40
mov rax, qword [rbp + 0x5d0]
shl rax, cl
xor qword [rbp + 0x5b8], rax
lea edi, [r10 + 0x10]
lea eax, [r15 + 2]
mov ecx, edi
test eax, eax
cmove ecx, r13d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, r12
mov qword [rbp + 0x5c0], r8
movzx eax, byte [rbp + r14 + 0x5c2]
xor byte [rbp + r14 + 0x5ba], al
mov eax, r13d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x18]
shl rax, cl
xor qword [rbp + 0x5b8], rax
lea edi, [r10 + 0x18]
lea eax, [r15 + 3]
mov ecx, edi
test eax, eax
cmove ecx, r13d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, r12
mov qword [rbp + 0x5c0], r9
movzx eax, byte [rbp + r14 + 0x5c3]
xor byte [rbp + r14 + 0x5bb], al
mov eax, r13d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x5d0]
shl rax, cl
xor qword [rbp + 0x5b8], rax
lea edi, [r10 + 0x20]
lea eax, [r15 + 4]
mov ecx, edi
test eax, eax
cmove ecx, r13d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, r12
mov qword [rbp + 0x5c0], r8
movzx eax, byte [rbp + r14 + 0x5c4]
xor byte [rbp + r14 + 0x5bc], al
mov eax, r13d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x18]
shl rax, cl
xor qword [rbp + 0x5b8], rax
lea edi, [r10 + 0x28]
lea eax, [r15 + 5]
mov ecx, edi
test eax, eax
cmove ecx, r13d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, r12
mov qword [rbp + 0x5c0], r9
movzx eax, byte [rbp + r14 + 0x5c5]
xor byte [rbp + r14 + 0x5bd], al
mov eax, r13d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x5d0]
shl rax, cl
xor qword [rbp + 0x5b8], rax
lea edi, [r10 + 0x30]
lea eax, [r15 + 6]
mov ecx, edi
test eax, eax
cmove ecx, r13d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, r12
mov qword [rbp + 0x5c0], r8
movzx eax, byte [rbp + r14 + 0x5c6]
xor byte [rbp + r14 + 0x5be], al
mov eax, r13d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x18]
shl rax, cl
xor qword [rbp + 0x5b8], rax
lea edi, [r10 + 0x38]
lea eax, [r15 + 7]
mov ecx, edi
test eax, eax
cmove ecx, r13d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, r12
mov qword [rbp + 0x5c0], r9
movzx eax, byte [rbp + r14 + 0x5c7]
xor byte [rbp + r14 + 0x5bf], al
mov eax, r13d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rdx, qword [rbp + 0x5d0]
shl rdx, cl
xor rdx, qword [rbp + 0x5b8]
mov qword [rbp + 0x5b8], rdx
add r15d, r13d
lea r14, [r14 + 8]
cmp r15d, r13d
jb 0x7ff7a615e9b0
movzx r12d, byte [rbp]
imul rcx, r12, 0xff
not rcx
movzx eax, byte [rbp + 1]
shl rax, 7
sub rcx, rax
and rdx, qword [rbp + 0x10]
xor rcx, rdx
mov qword [rbp + 0x160], rcx
mov rdx, qword [rbp + 8]
lea rcx, [rbp + 0x140]
call fcn.7ff7a6161230
nop
mov rcx, qword [rbp + 8]
call fcn.7ff7a6152d30
nop
cmp byte [0x7ff7a6743604], 0
lea rsi, [0x7ff7a6150000]
jne 0x7ff7a615ed40
lea rax, [0x7ff7a6152eb0]
mov qword [0x7ff7a6743610], rax
mov byte [0x7ff7a6743604], 1
lea rdx, [rbp + 0x680]
lea rcx, [rbp + 0x260]
call fcn.7ff7a6161260
nop
mov rdx, rax
lea rcx, [rbp + 0xb00]
call fcn.7ff7a6161380
mov r12, qword [rbp + 0xb10]
lea rcx, [rbp + 0xb00]
call fcn.7ff7a6161cf0
mov rbx, rax
cmp byte [0x7ff7a6743606], 0
jne 0x7ff7a615f163
xor r14d, r14d
movabs r15, 0x101010101010101
lea rcx, [rbp + 0x668]
call fcn.7ff7a6151700
mov rdi, qword [rbp + 0x668]
call qword [sym.imp.ucrtbase.dll_rand]
movsxd rcx, eax
mov rax, rdi
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0xf
add rax, rdx
and eax, 0xf
sub rax, rdx
inc rax
xor rax, 0x10
shl rax, 0xa
or rax, r15
mov qword [r14 + rsi + 0x5f3f30], rax
lea rcx, [rbp + 0xd0]
call fcn.7ff7a6151700
mov rdi, qword [rax]
mov qword [rbp + 0x668], rdi
call qword [sym.imp.ucrtbase.dll_rand]
movsxd rcx, eax
mov rax, rdi
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x1f
add rax, rdx
and eax, 0x1f
sub rax, rdx
inc rax
xor rax, 0x20
shl rax, 0xb
or rax, r15
mov qword [r14 + rsi + 0x5f3e20], rax
lea rcx, [rbp + 0xc8]
call fcn.7ff7a6151700
mov rdi, qword [rax]
mov qword [rbp + 0x668], rdi
call qword [sym.imp.ucrtbase.dll_rand]
movsxd rcx, eax
mov rax, rdi
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x3f
add rax, rdx
and eax, 0x3f
sub rax, rdx
inc rax
xor rax, 0x40
shl rax, 0xc
or rax, r15
mov qword [r14 + rsi + 0x5f3ea0], rax
add r14, 8
cmp r14, 0x80
jl 0x7ff7a615ed93
lea rcx, [rbp + 0x5e0]
call fcn.7ff7a6151700
xor r14d, r14d
lea rdi, [0x7ff7a6743619]
mov r15, qword [rbp + 0x5e0]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615eebc
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, r15
cqo
idiv rcx
mov byte [rdi - 1], dl
mov r15, qword [rbp + 0x5e0]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615eee8
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, r15
cqo
idiv rcx
mov byte [rdi], dl
mov r15, qword [rbp + 0x5e0]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615ef13
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, r15
cqo
idiv rcx
mov byte [rdi + 1], dl
mov r15, qword [rbp + 0x5e0]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615ef3f
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, r15
cqo
idiv rcx
mov byte [rdi + 2], dl
add r14d, 4
add rdi, 4
cmp r14d, 4
jb 0x7ff7a615eea1
lea rcx, [rbp + 0xc0]
call fcn.7ff7a6151700
mov rdi, qword [rax]
mov qword [rbp + 0x5e0], rdi
xor r15d, r15d
lea r14, [0x7ff7a6743e19]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615ef96
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r14 - 1], dl
mov rdi, qword [rbp + 0x5e0]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615efc3
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r14], dl
mov rdi, qword [rbp + 0x5e0]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615efef
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r14 + 1], dl
mov rdi, qword [rbp + 0x5e0]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615f01c
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r14 + 2], dl
mov rdi, qword [rbp + 0x5e0]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615f049
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r14 + 3], dl
mov rdi, qword [rbp + 0x5e0]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615f076
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r14 + 4], dl
mov rdi, qword [rbp + 0x5e0]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615f0a3
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r14 + 5], dl
mov rdi, qword [rbp + 0x5e0]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615f0d0
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r14 + 6], dl
add r15d, 8
add r14, 8
cmp r15d, 8
jae 0x7ff7a615f0fc
mov rdi, qword [rbp + 0x5e0]
jmp 0x7ff7a615ef82
lea rcx, [rbp + 0xb8]
call fcn.7ff7a6151700
mov rdi, qword [rax]
mov qword [rbp + 0x5e0], rdi
xor r14d, r14d
lea r13, [0x7ff7a6743f20]
mov r15, r13
nop
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615f134
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r15], dl
inc r14d
inc r15
cmp r14d, 0xc
jae 0x7ff7a615f15a
mov rdi, qword [rbp + 0x5e0]
jmp 0x7ff7a615f120
mov byte [0x7ff7a6743606], 1
jmp 0x7ff7a615f16a
lea r13, [0x7ff7a6743f20]
test r12, r12
je 0x7ff7a615f2b2
xor r10d, r10d
test r12, r12
je 0x7ff7a615f2b2
nop
xor r8d, r8d
movzx ecx, byte [rbx]
lea r9, [0x7ff7a6743618]
nop dword [rax]
xor edi, edi
movzx eax, byte [r9]
lea rdx, [rsi + 0x5f3f31]
lea rdx, [rdx + rax*8]
xor cl, byte [rdx - 1]
mov byte [rbx], cl
xor cl, byte [rdx]
mov byte [rbx], cl
xor cl, byte [rdx + 1]
mov byte [rbx], cl
xor cl, byte [rdx + 2]
mov byte [rbx], cl
xor cl, byte [rdx + 3]
mov byte [rbx], cl
xor cl, byte [rdx + 4]
mov byte [rbx], cl
xor cl, byte [rdx + 5]
mov byte [rbx], cl
xor cl, byte [rdx + 6]
mov byte [rbx], cl
add edi, 8
lea rdx, [rdx + 8]
cmp edi, 8
jb 0x7ff7a615f1a1
inc r8d
inc r9
cmp r8d, 4
jb 0x7ff7a615f190
xor r8d, r8d
lea r9, [0x7ff7a6743e18]
nop word [rax + rax]
xor edi, edi
movzx eax, byte [r9]
lea rdx, [rsi + 0x5f3e21]
lea rdx, [rdx + rax*8]
xor cl, byte [rdx - 1]
mov byte [rbx], cl
xor cl, byte [rdx]
mov byte [rbx], cl
xor cl, byte [rdx + 1]
mov byte [rbx], cl
xor cl, byte [rdx + 2]
mov byte [rbx], cl
xor cl, byte [rdx + 3]
mov byte [rbx], cl
xor cl, byte [rdx + 4]
mov byte [rbx], cl
xor cl, byte [rdx + 5]
mov byte [rbx], cl
xor cl, byte [rdx + 6]
mov byte [rbx], cl
add edi, 8
lea rdx, [rdx + 8]
cmp edi, 8
jb 0x7ff7a615f201
inc r8d
inc r9
cmp r8d, 8
jb 0x7ff7a615f1f0
xor r8d, r8d
mov r9, r13
nop word [rax + rax]
xor edi, edi
movzx eax, byte [r9]
lea rdx, [rsi + 0x5f3f31]
lea rdx, [rdx + rax*8]
xor cl, byte [rdx - 1]
mov byte [rbx], cl
xor cl, byte [rdx]
mov byte [rbx], cl
xor cl, byte [rdx + 1]
mov byte [rbx], cl
xor cl, byte [rdx + 2]
mov byte [rbx], cl
xor cl, byte [rdx + 3]
mov byte [rbx], cl
xor cl, byte [rdx + 4]
mov byte [rbx], cl
xor cl, byte [rdx + 5]
mov byte [rbx], cl
xor cl, byte [rdx + 6]
mov byte [rbx], cl
add edi, 8
lea rdx, [rdx + 8]
cmp edi, 8
jb 0x7ff7a615f261
inc r8d
inc r9
cmp r8d, 0xc
jb 0x7ff7a615f250
inc r10d
inc rbx
movsxd rax, r10d
cmp rax, r12
jb 0x7ff7a615f180
lea rdx, [rbp + 0xb00]
lea rcx, [rbp + 0x240]
call fcn.7ff7a6161380
mov qword [rbp + 8], rax
mov rbx, qword [rax + 0x10]
mov rcx, rax
call fcn.7ff7a6161cf0
mov r12, rax
lea r9, [0x7ff7a6743620]
cmp byte [0x7ff7a6743605], 0
jne 0x7ff7a615f32c
movabs rdi, 0xfeeddccbbaa99887
mov rdx, r9
lea rax, [0x7ff7a6743e18]
mov esi, 0xffffffff
movabs r8, 0xababdbf33353735b
nop dword [rax + rax]
mov rcx, rdi
xor rcx, r8
mov qword [rdx], rcx
sub rdi, rsi
add rdx, 8
cmp rdx, rax
jl 0x7ff7a615f310
mov byte [0x7ff7a6743605], 1
movabs r11, 0xfae9e8d7c6b5a493
mov qword [rbp + 0x10], r11
mov qword [rbp + 0x5b8], r11
xor r8d, r8d
test rbx, rbx
je 0x7ff7a615f3ac
mov rdi, r12
nop dword [rax]
xor edx, edx
movzx ecx, byte [rdi]
lea rax, [rbp + 0x5b9]
nop dword [rax]
xor byte [rax - 1], cl
xor byte [rax], cl
xor byte [rax + 1], cl
xor byte [rax + 2], cl
xor byte [rax + 3], cl
xor byte [rax + 4], cl
xor byte [rax + 5], cl
xor byte [rax + 6], cl
add edx, 8
lea rax, [rax + 8]
cmp edx, 8
jb 0x7ff7a615f360
not cl
movzx eax, cl
mov r11, qword [rbp + 0x5b8]
xor r11, qword [r9 + rax*8]
mov qword [rbp + 0x10], r11
mov qword [rbp + 0x5b8], r11
inc r8d
inc rdi
movsxd rax, r8d
cmp rax, rbx
jb 0x7ff7a615f350
movabs r9, 0xaebdccdb0a192837
movzx r13d, byte [r12]
mov byte [rbp + 1], r13b
cmp rbx, 1
jbe 0x7ff7a615f3cd
movzx r12d, byte [rbx + r12 - 1]
jmp 0x7ff7a615f3d0
mov r12b, 0xae
mov byte [rbp], r12b
mov qword [rbp + 0x5d0], rbx
mov qword [rbp + 0x18], rbx
xor eax, eax
movzx ecx, bl
movzx edx, bl
nop word [rax + rax]
xor cl, r13b
xor dl, r12b
inc eax
cmp eax, 8
jb 0x7ff7a615f3f0
mov byte [rbp + 0x5d0], cl
mov byte [rbp + 0x18], dl
xor r15d, r15d
lea rsi, [rbx*8]
xor r14d, r14d
lea r13d, [r15 + 8]
mov r12, r9
mov r11d, 1
nop dword [rax]
nop word [rax + rax]
mov eax, r15d
test r15d, r15d
cmove eax, r11d
shl eax, 3
movsxd rcx, eax
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
mov rax, r8
xor rax, r12
mov qword [rbp + 0x5c0], rax
movzx eax, byte [rbp + r14 + 0x5c0]
xor byte [rbp + r14 + 0x5b8], al
lea r10d, [r15*8]
mov eax, r10d
test r10d, r10d
cmovle eax, r13d
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x18]
shl rax, cl
xor qword [rbp + 0x5b8], rax
lea edi, [r10 + 8]
lea eax, [r15 + 1]
mov ecx, edi
test eax, eax
cmove ecx, r13d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
mov qword [rbp + 0x5c0], r9
movzx eax, byte [rbp + r14 + 0x5c1]
xor byte [rbp + r14 + 0x5b9], al
mov eax, 0xfffffff8
sub eax, r10d
mov ecx, 0xfffffff8
test edi, edi
cmovg ecx, eax
add ecx, 0x40
mov rax, qword [rbp + 0x5d0]
shl rax, cl
xor qword [rbp + 0x5b8], rax
lea edi, [r10 + 0x10]
lea eax, [r15 + 2]
mov ecx, edi
test eax, eax
cmove ecx, r13d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, r12
mov qword [rbp + 0x5c0], r8
movzx eax, byte [rbp + r14 + 0x5c2]
xor byte [rbp + r14 + 0x5ba], al
mov eax, r13d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x18]
shl rax, cl
xor qword [rbp + 0x5b8], rax
lea edi, [r10 + 0x18]
lea eax, [r15 + 3]
mov ecx, edi
test eax, eax
cmove ecx, r13d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, r12
mov qword [rbp + 0x5c0], r9
movzx eax, byte [rbp + r14 + 0x5c3]
xor byte [rbp + r14 + 0x5bb], al
mov eax, r13d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x5d0]
shl rax, cl
xor qword [rbp + 0x5b8], rax
lea edi, [r10 + 0x20]
lea eax, [r15 + 4]
mov ecx, edi
test eax, eax
cmove ecx, r13d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, r12
mov qword [rbp + 0x5c0], r8
movzx eax, byte [rbp + r14 + 0x5c4]
xor byte [rbp + r14 + 0x5bc], al
mov eax, r13d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x18]
shl rax, cl
xor qword [rbp + 0x5b8], rax
lea edi, [r10 + 0x28]
lea eax, [r15 + 5]
mov ecx, edi
test eax, eax
cmove ecx, r13d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, r12
mov qword [rbp + 0x5c0], r9
movzx eax, byte [rbp + r14 + 0x5c5]
xor byte [rbp + r14 + 0x5bd], al
mov eax, r13d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x5d0]
shl rax, cl
xor qword [rbp + 0x5b8], rax
lea edi, [r10 + 0x30]
lea eax, [r15 + 6]
mov ecx, edi
test eax, eax
cmove ecx, r13d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, r12
mov qword [rbp + 0x5c0], r8
movzx eax, byte [rbp + r14 + 0x5c6]
xor byte [rbp + r14 + 0x5be], al
mov eax, r13d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x18]
shl rax, cl
xor qword [rbp + 0x5b8], rax
lea edi, [r10 + 0x38]
lea eax, [r15 + 7]
mov ecx, edi
test eax, eax
cmove ecx, r13d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, r12
mov qword [rbp + 0x5c0], r9
movzx eax, byte [rbp + r14 + 0x5c7]
xor byte [rbp + r14 + 0x5bf], al
mov eax, r13d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rdx, qword [rbp + 0x5d0]
shl rdx, cl
xor rdx, qword [rbp + 0x5b8]
mov qword [rbp + 0x5b8], rdx
add r15d, r13d
lea r14, [r14 + 8]
cmp r15d, r13d
jb 0x7ff7a615f430
movzx r12d, byte [rbp]
imul rcx, r12, 0xff
not rcx
movzx eax, byte [rbp + 1]
shl rax, 7
sub rcx, rax
and rdx, qword [rbp + 0x10]
xor rcx, rdx
mov qword [rbp + 0x160], rcx
mov rdx, qword [rbp + 8]
lea rcx, [rbp + 0x140]
call fcn.7ff7a6161230
nop
mov rcx, qword [rbp + 8]
call fcn.7ff7a6152d30
nop
lea rcx, [rbp + 0xb00]
call fcn.7ff7a6152d30
nop
lea rcx, [rbp + 0x260]
call fcn.7ff7a6152d30
nop
mov rbx, qword [rbp + 0x150]
lea rcx, [rbp + 0x140]
call fcn.7ff7a6161cf0
mov r15, rax
cmp byte [0x7ff7a6743605], 0
jne 0x7ff7a615f81c
lea rdx, [0x7ff7a6743620]
lea rax, [0x7ff7a6743e18]
movabs rdi, 0xababdbf33353735b
mov r9d, 0xffffffff
movabs r8, 0xfeeddccbbaa99887
nop dword [rax]
mov rcx, r8
xor rcx, rdi
mov qword [rdx], rcx
sub r8, r9
add rdx, 8
cmp rdx, rax
jl 0x7ff7a615f800
mov byte [0x7ff7a6743605], 1
lea r9, [0x7ff7a6743620]
movabs rax, 0xfae9e8d7c6b5a493
mov qword [rbp + 0x5b8], rax
xor r8d, r8d
test rbx, rbx
je 0x7ff7a615f89c
mov rdi, r15
nop
xor edx, edx
movzx ecx, byte [rdi]
lea rax, [rbp + 0x5b9]
nop dword [rax]
xor byte [rax - 1], cl
xor byte [rax], cl
xor byte [rax + 1], cl
xor byte [rax + 2], cl
xor byte [rax + 3], cl
xor byte [rax + 4], cl
xor byte [rax + 5], cl
xor byte [rax + 6], cl
add edx, 8
lea rax, [rax + 8]
cmp edx, 8
jb 0x7ff7a615f850
not cl
movzx eax, cl
mov rsi, qword [rbp + 0x5b8]
xor rsi, qword [r9 + rax*8]
mov qword [rbp + 0x28], rsi
mov qword [rbp + 0x5b8], rsi
inc r8d
inc rdi
movsxd rax, r8d
cmp rax, rbx
jb 0x7ff7a615f840
movabs r9, 0xaebdccdb0a192837
movzx r13d, byte [r15]
mov byte [rbp + 1], r13b
cmp rbx, 1
jbe 0x7ff7a615f8bc
movzx r15d, byte [rbx + r15 - 1]
jmp 0x7ff7a615f8bf
mov r15b, 0xae
mov byte [rbp], r15b
mov qword [rbp + 0x5d0], rbx
mov qword [rbp + 0x18], rbx
xor eax, eax
movzx ecx, bl
movzx edx, bl
nop word [rax + rax]
xor cl, r13b
xor dl, r15b
inc eax
cmp eax, 8
jb 0x7ff7a615f8e0
mov byte [rbp + 0x5d0], cl
mov byte [rbp + 0x18], dl
xor r14d, r14d
lea r12, [rbx*8]
xor r11d, r11d
lea esi, [r14 + 8]
mov r13, r9
mov r15d, 1
nop dword [rax]
nop word [rax + rax]
mov eax, r14d
test r14d, r14d
cmove eax, r15d
shl eax, 3
movsxd rcx, eax
xor edx, edx
mov rax, r12
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
mov rax, r8
xor rax, r13
mov qword [rbp + 0x5c0], rax
movzx eax, byte [rbp + r11 + 0x5c0]
xor byte [rbp + r11 + 0x5b8], al
lea r10d, [r14*8]
mov eax, r10d
test r10d, r10d
cmovle eax, esi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x18]
shl rax, cl
xor qword [rbp + 0x5b8], rax
lea edi, [r10 + 8]
lea eax, [r14 + 1]
mov ecx, edi
test eax, eax
cmove ecx, esi
movsxd rcx, ecx
xor edx, edx
mov rax, r12
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
mov qword [rbp + 0x5c0], r9
movzx eax, byte [rbp + r11 + 0x5c1]
xor byte [rbp + r11 + 0x5b9], al
mov eax, 0xfffffff8
sub eax, r10d
mov ecx, 0xfffffff8
test edi, edi
cmovg ecx, eax
add ecx, 0x40
mov rax, qword [rbp + 0x5d0]
shl rax, cl
xor qword [rbp + 0x5b8], rax
lea edi, [r10 + 0x10]
lea eax, [r14 + 2]
mov ecx, edi
test eax, eax
cmove ecx, esi
movsxd rcx, ecx
xor edx, edx
mov rax, r12
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, r13
mov qword [rbp + 0x5c0], r8
movzx eax, byte [rbp + r11 + 0x5c2]
xor byte [rbp + r11 + 0x5ba], al
mov eax, esi
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x18]
shl rax, cl
xor qword [rbp + 0x5b8], rax
lea edi, [r10 + 0x18]
lea eax, [r14 + 3]
mov ecx, edi
test eax, eax
cmove ecx, esi
movsxd rcx, ecx
xor edx, edx
mov rax, r12
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, r13
mov qword [rbp + 0x5c0], r9
movzx eax, byte [rbp + r11 + 0x5c3]
xor byte [rbp + r11 + 0x5bb], al
mov eax, esi
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x5d0]
shl rax, cl
xor qword [rbp + 0x5b8], rax
lea edi, [r10 + 0x20]
lea eax, [r14 + 4]
mov ecx, edi
test eax, eax
cmove ecx, esi
movsxd rcx, ecx
xor edx, edx
mov rax, r12
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, r13
mov qword [rbp + 0x5c0], r8
movzx eax, byte [rbp + r11 + 0x5c4]
xor byte [rbp + r11 + 0x5bc], al
mov eax, esi
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x18]
shl rax, cl
xor qword [rbp + 0x5b8], rax
lea edi, [r10 + 0x28]
lea eax, [r14 + 5]
mov ecx, edi
test eax, eax
cmove ecx, esi
movsxd rcx, ecx
xor edx, edx
mov rax, r12
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, r13
mov qword [rbp + 0x5c0], r9
movzx eax, byte [rbp + r11 + 0x5c5]
xor byte [rbp + r11 + 0x5bd], al
mov eax, esi
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x5d0]
shl rax, cl
xor qword [rbp + 0x5b8], rax
lea edi, [r10 + 0x30]
lea eax, [r14 + 6]
mov ecx, edi
test eax, eax
cmove ecx, esi
movsxd rcx, ecx
xor edx, edx
mov rax, r12
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, r13
mov qword [rbp + 0x5c0], r8
movzx eax, byte [rbp + r11 + 0x5c6]
xor byte [rbp + r11 + 0x5be], al
mov eax, esi
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x18]
shl rax, cl
xor qword [rbp + 0x5b8], rax
lea edi, [r10 + 0x38]
lea eax, [r14 + 7]
mov ecx, edi
test eax, eax
cmove ecx, esi
movsxd rcx, ecx
xor edx, edx
mov rax, r12
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, r13
mov qword [rbp + 0x5c0], r9
movzx eax, byte [rbp + r11 + 0x5c7]
xor byte [rbp + r11 + 0x5bf], al
mov eax, esi
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rdx, qword [rbp + 0x5d0]
shl rdx, cl
xor rdx, qword [rbp + 0x5b8]
mov qword [rbp + 0x5b8], rdx
add r14d, esi
lea r11, [r11 + 8]
cmp r14d, esi
jb 0x7ff7a615f920
movzx r15d, byte [rbp]
imul r8, r15, 0xff
not r8
movzx eax, byte [rbp + 1]
shl rax, 7
sub r8, rax
and rdx, qword [rbp + 0x28]
xor r8, rdx
mov rdx, qword [rbp + 0x160]
cmp r8, rdx
lea rsi, [0x7ff7a6150000]
je 0x7ff7a615fc8d
mov rdi, qword [0x7ff7a6743610]
lea rcx, [rbp + 0x580]
call fcn.7ff7a6152d90
lea rdx, [rbp + 0x140]
mov rcx, rax
call rdi
lea rdx, [rbp + 0x140]
lea rcx, [rbp + 0x178]
call fcn.7ff7a6161380
nop
lea rdx, [rbp + 0x178]
lea rcx, [rbp + 0xae0]
call fcn.7ff7a6161380
mov r12, qword [rbp + 0xaf0]
lea rcx, [rbp + 0xae0]
call fcn.7ff7a6161cf0
mov rbx, rax
cmp byte [0x7ff7a6743606], 0
jne 0x7ff7a61600b4
xor r14d, r14d
movabs r15, 0x101010101010101
lea rcx, [rbp + 0x660]
call fcn.7ff7a6151700
mov rdi, qword [rbp + 0x660]
call qword [sym.imp.ucrtbase.dll_rand]
movsxd rcx, eax
mov rax, rdi
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0xf
add rax, rdx
and eax, 0xf
sub rax, rdx
inc rax
xor rax, 0x10
shl rax, 0xa
or rax, r15
mov qword [r14 + rsi + 0x5f3f30], rax
lea rcx, [rbp + 0xb0]
call fcn.7ff7a6151700
mov rdi, qword [rax]
mov qword [rbp + 0x660], rdi
call qword [sym.imp.ucrtbase.dll_rand]
movsxd rcx, eax
mov rax, rdi
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x1f
add rax, rdx
and eax, 0x1f
sub rax, rdx
inc rax
xor rax, 0x20
shl rax, 0xb
or rax, r15
mov qword [r14 + rsi + 0x5f3e20], rax
lea rcx, [rbp + 0xa8]
call fcn.7ff7a6151700
mov rdi, qword [rax]
mov qword [rbp + 0x660], rdi
call qword [sym.imp.ucrtbase.dll_rand]
movsxd rcx, eax
mov rax, rdi
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x3f
add rax, rdx
and eax, 0x3f
sub rax, rdx
inc rax
xor rax, 0x40
shl rax, 0xc
or rax, r15
mov qword [r14 + rsi + 0x5f3ea0], rax
add r14, 8
cmp r14, 0x80
jl 0x7ff7a615fce4
lea rcx, [rbp + 0x5c8]
call fcn.7ff7a6151700
xor edi, edi
lea r15, [0x7ff7a6743619]
mov r14, qword [rbp + 0x5c8]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615fe0c
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, r14
cqo
idiv rcx
mov byte [r15 - 1], dl
mov r14, qword [rbp + 0x5c8]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615fe39
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, r14
cqo
idiv rcx
mov byte [r15], dl
mov r14, qword [rbp + 0x5c8]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615fe65
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, r14
cqo
idiv rcx
mov byte [r15 + 1], dl
mov r14, qword [rbp + 0x5c8]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615fe92
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, r14
cqo
idiv rcx
mov byte [r15 + 2], dl
add edi, 4
add r15, 4
cmp edi, 4
jb 0x7ff7a615fdf1
lea rcx, [rbp + 0xa0]
call fcn.7ff7a6151700
mov rdi, qword [rax]
mov qword [rbp + 0x5c8], rdi
xor r14d, r14d
lea r15, [0x7ff7a6743e19]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615fee8
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r15 - 1], dl
mov rdi, qword [rbp + 0x5c8]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615ff15
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r15], dl
mov rdi, qword [rbp + 0x5c8]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615ff41
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r15 + 1], dl
mov rdi, qword [rbp + 0x5c8]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615ff6e
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r15 + 2], dl
mov rdi, qword [rbp + 0x5c8]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615ff9b
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r15 + 3], dl
mov rdi, qword [rbp + 0x5c8]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615ffc8
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r15 + 4], dl
mov rdi, qword [rbp + 0x5c8]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a615fff5
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r15 + 5], dl
mov rdi, qword [rbp + 0x5c8]
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a6160022
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r15 + 6], dl
add r14d, 8
add r15, 8
cmp r14d, 8
jae 0x7ff7a616004e
mov rdi, qword [rbp + 0x5c8]
jmp 0x7ff7a615fed4
lea rcx, [rbp + 0x98]
call fcn.7ff7a6151700
mov rdi, qword [rax]
mov qword [rbp + 0x5c8], rdi
xor r14d, r14d
lea r13, [0x7ff7a6743f20]
mov r15, r13
call qword [sym.imp.ucrtbase.dll_rand]
and eax, 0x8000000f
jge 0x7ff7a6160085
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r15], dl
inc r14d
inc r15
cmp r14d, 0xc
jae 0x7ff7a61600ab
mov rdi, qword [rbp + 0x5c8]
jmp 0x7ff7a6160071
mov byte [0x7ff7a6743606], 1
jmp 0x7ff7a61600bb
lea r13, [0x7ff7a6743f20]
test r12, r12
je 0x7ff7a6160212
xor r10d, r10d
test r12, r12
je 0x7ff7a6160212
lea r11, [0x7ff7a6743618]
lea r14, [0x7ff7a6743e18]
nop
call qword [sym.imp.kernel32.dll_GetCurrentThread]
mov rcx, rax
call qword [sym.imp.kernel32.dll_SuspendThread]