Function at 0x1400505e0
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x14e0]
mov eax, 0x15e0
call fcn.1402065a0
sub rsp, rax
mov r13, r9
mov r15, r8
mov rsi, rcx
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x38], xmm0
mov ecx, 0x88
call fcn.140205df8
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rsp + 0x38], rax
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x68], xmm0
xor ebx, ebx
mov qword [rsp + 0x78], rbx
movdqu xmmword [rbp - 0x58], xmm0
mov r12d, ebx
mov qword [rbp - 0x60], rbx
mov qword [rbp - 0x48], rbx
mov rcx, qword [rsi + 0x438]
mov rax, qword [rcx]
mov r8d, 0x101
lea rdx, [rsp + 0x68]
call qword [rax + 0x28]
xor edx, edx
mov r8d, 0xa0
lea rcx, [rbp + 0x80]
call fcn.140208560
mov r14, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x68]
mov rbx, qword [rbp - 0x50]
cmp rdi, r14
je 0x140050756
nop word [rax + rax]
mov byte [rsp + 0x30], 0
mov rcx, qword [rsi + 0x120]
mov rax, qword [rcx]
call qword [rax + 0x38]
mov dword [rsp + 0x20], eax
lea r9, [rsp + 0x30]
mov r8, r15
mov rdx, qword [rdi + 8]
mov rcx, qword [rsi + 0x118]
call fcn.14011d8d0
test al, al
je 0x140050745
cmp rbx, r12
je 0x140050721
movups xmm0, xmmword [rdi]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rbx + 0x10], xmm1
movups xmm0, xmmword [rdi + 0x20]
movups xmmword [rbx + 0x20], xmm0
movups xmm1, xmmword [rdi + 0x30]
movups xmmword [rbx + 0x30], xmm1
movups xmm0, xmmword [rdi + 0x40]
movups xmmword [rbx + 0x40], xmm0
movups xmm1, xmmword [rdi + 0x50]
movups xmmword [rbx + 0x50], xmm1
movups xmm0, xmmword [rdi + 0x60]
movups xmmword [rbx + 0x60], xmm0
movsd xmm1, qword [rdi + 0x70]
movsd qword [rbx + 0x70], xmm1
add rbx, 0x78
mov qword [rbp - 0x50], rbx
jmp 0x140050738
mov r8, rdi
mov rdx, rbx
lea rcx, [rbp - 0x58]
call fcn.140043ab0
mov r12, qword [rbp - 0x48]
mov rbx, qword [rbp - 0x50]
movzx eax, byte [rsp + 0x30]
inc qword [rbp + rax*8 + 0x80]
add rdi, 0x78
cmp rdi, r14
jne 0x1400506a0
mov qword [rbp - 0x60], r12
mov ecx, reloc.WS2_32.dll_sendto
call fcn.140205df8
mov rsi, rax
mov qword [rbp + 0x120], rax
lea r15, [rax + 0x14]
mov qword [rbp + 0x130], r15
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsi], xmm0
mov dword [rsi + 0x10], eax
mov qword [rbp + 0x128], r15
xor ecx, ecx
mov rax, rsi
cmp rsi, r15
je 0x14005079d
mov byte [rax], cl
inc ecx
inc rax
cmp rax, r15
jne 0x140050791
lea rcx, [0x140362d30]
call fcn.1401e139c
test eax, eax
jne 0x1400513b8
lea rdx, [rsp + 0x60]
lea ecx, [rax + 4]
call fcn.1401803f0
mov r14d, dword [rsp + 0x60]
lea rcx, [0x140362d30]
call fcn.1401e13c0
mov edx, 0xffffffff
mov dword [rbp + 0x14d4], edx
mov dword [rbp + 0x154], r14d
mov edi, 1
mov ecx, edi
nop dword [rax + rax]
mov eax, r14d
shr eax, 0x1e
xor eax, r14d
imul r14d, eax, 0x6c078965
add r14d, ecx
mov dword [rbp + rcx*4 + 0x154], r14d
inc rcx
cmp rcx, 0x270
jb 0x1400507f0
mov dword [rbp + 0x150], 0x270
lea rax, [rbp + 0x150]
mov qword [rbp + 0x60], rax
mov ecx, 0x40
mov rax, 0xffffffffffffffff
nop dword [rax + rax]
dec rcx
shr rax, 1
cmp rax, rdx
ja 0x140050840
mov qword [rbp + 0x70], rax
mov qword [rbp + 0x68], rcx
cmp rsi, r15
je 0x1400508a2
lea r14, [rsi + 1]
cmp r14, r15
je 0x1400508a2
mov r13, rdi
nop dword [rax]
nop dword [rax + rax]
lea rdx, [r13 + 1]
lea rcx, [rbp + 0x60]
call fcn.1400499d0
cmp rax, r13
je 0x140050890
movzx edx, byte [r14]
movzx ecx, byte [rax + rsi]
mov byte [r14], cl
mov byte [rax + rsi], dl
inc r14
inc r13
cmp r14, r15
jne 0x140050870
mov r13, qword [rbp + 0x1538]
xor r14d, r14d
mov ecx, r14d
mov rdx, r15
sub rdx, rsi
je 0x1400508c6
movzx eax, byte [rsi + rcx]
cmp qword [rbp + rax*8 + 0x80], r13
jae 0x1400508c6
inc rcx
cmp rcx, rdx
jb 0x1400508b0
cmp rcx, rdx
jne 0x140050a3c
mov rdi, qword [rbp + 0x1528]
mov qword [rdi], r14
mov qword [rdi + 8], r14
mov ecx, 0x88
call fcn.140205df8
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rdi], rax
test rsi, rsi
je 0x14005092a
sub r15, rsi
cmp r15, 0x1000
jb 0x14005091e
add r15, 0x27
mov rcx, qword [rsi - 8]
sub rsi, rcx
lea rax, [rsi - 8]
cmp rax, 0x1f
ja 0x140051415
mov rsi, rcx
mov rdx, r15
mov rcx, rsi
call fcn.140205dc4
nop
movabs rax, 0x8888888888888889
mov rcx, qword [rbp - 0x58]
test rcx, rcx
je 0x14005098c
sub r12, rcx
imul r12
add rdx, r12
sar rdx, 6
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul rdx, rdx, 0x78
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005097d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005140f
call fcn.140205dc4
movabs rax, 0x8888888888888889
mov r8, qword [rsp + 0x68]
test r8, r8
je 0x1400509f1
mov rcx, qword [rsp + 0x78]
sub rcx, r8
imul rcx
add rdx, rcx
sar rdx, 6
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul rdx, rdx, 0x78
mov rax, r8
cmp rdx, 0x1000
jb 0x1400509db
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400513b2
mov rcx, r8
call fcn.140205dc4
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x78], r14
mov rcx, qword [rsp + 0x38]
mov rax, qword [rcx + 8]
mov qword [rax], r14
mov rcx, qword [rcx]
test rcx, rcx
je 0x140050a25
nop word [rax + rax]
mov rbx, qword [rcx]
mov edx, 0x88
call fcn.140205dc4
mov rcx, rbx
test rbx, rbx
jne 0x140050a10
mov edx, 0x88
mov rcx, qword [rsp + 0x38]
call fcn.140205dc4
mov rax, rdi
jmp 0x140051397
movzx edx, byte [rsi + rcx]
test rdx, rdx
je 0x140050a5d
mov eax, edx
nop word [rax + rax]
lea rdi, [rdi + rdi*4]
add rdi, rdi
sub rax, 1
jne 0x140050a50
cmp rdx, 0x13
jne 0x140050a69
lea r13, [rdx - 0x14]
jmp 0x140050a70
lea r13, [rdi + rdi*4]
add r13, r13
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x48], xmm0
mov qword [rsp + 0x58], r14
mov rdx, qword [rbp + rdx*8 + 0x80]
movabs rax, 0x222222222222222
test rdx, rdx
je 0x140050aa8
cmp rdx, rax
ja 0x1400513c0
lea rcx, [rsp + 0x48]
call fcn.14004a690
mov rcx, qword [rbp - 0x58]
sub rbx, rcx
movabs rax, 0x8888888888888889
imul rbx
lea r12, [rbx + rdx]
sar r12, 6
mov rax, r12
shr rax, 0x3f
add r12, rax
mov r10, qword [rsp + 0x50]
je 0x140050b72
mov rbx, rcx
nop dword [rax]
mov rax, qword [rbx + 8]
cmp rax, rdi
jb 0x140050b62
cmp rax, r13
jae 0x140050b62
cmp r10, qword [rsp + 0x58]
je 0x140050b4d
movups xmm0, xmmword [rbx]
movups xmmword [r10], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [r10 + 0x10], xmm1
movups xmm0, xmmword [rbx + 0x20]
movups xmmword [r10 + 0x20], xmm0
movups xmm1, xmmword [rbx + 0x30]
movups xmmword [r10 + 0x30], xmm1
movups xmm0, xmmword [rbx + 0x40]
movups xmmword [r10 + 0x40], xmm0
movups xmm1, xmmword [rbx + 0x50]
movups xmmword [r10 + 0x50], xmm1
movups xmm0, xmmword [rbx + 0x60]
movups xmmword [r10 + 0x60], xmm0
movsd xmm1, qword [rbx + 0x70]
movsd qword [r10 + 0x70], xmm1
mov r10, qword [rsp + 0x50]
add r10, 0x78
mov qword [rsp + 0x50], r10
jmp 0x140050b62
mov r8, rbx
mov rdx, r10
lea rcx, [rsp + 0x48]
call fcn.140043ab0
mov r10, qword [rsp + 0x50]
inc r14
add rbx, 0x78
cmp r14, r12
jb 0x140050ae0
mov rcx, r10
mov r11, qword [rsp + 0x48]
sub rcx, r11
movabs rdi, 0x8888888888888889
mov rax, rdi
imul rcx
lea rbx, [rcx + rdx]
sar rbx, 6
mov rax, rbx
shr rax, 0x3f
add rbx, rax
mov r14, qword [rbp + 0x1540]
cmp rbx, r14
ja 0x140050dba
movzx r9d, byte [rsp + 0x30]
mov r8, rbx
mov rdx, r10
mov rcx, r11
call fcn.140045d60
lea r9, [rsp + 0x38]
mov r8, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x48]
lea rcx, [rbp - 0x68]
call fcn.140046710
mov r14, qword [rbp + 0x1528]
xor ebx, ebx
mov qword [r14], rbx
mov qword [r14 + 8], rbx
mov ecx, 0x88
call fcn.140205df8
mov qword [rax], rax
mov qword [rax + 8], rax
mov rcx, qword [rsp + 0x38]
mov qword [r14], rcx
mov qword [rsp + 0x38], rax
mov rcx, qword [r14 + 8]
mov rax, qword [rsp + 0x40]
mov qword [r14 + 8], rax
mov qword [rsp + 0x40], rcx
mov r8, qword [rsp + 0x48]
test r8, r8
je 0x140050c83
mov rcx, qword [rsp + 0x58]
sub rcx, r8
mov rax, rdi
imul rcx
add rdx, rcx
sar rdx, 6
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul rdx, rdx, 0x78
mov rax, r8
cmp rdx, 0x1000
jb 0x140050c6d
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140051409
mov rcx, r8
call fcn.140205dc4
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x48], xmm0
mov qword [rsp + 0x58], rbx
test rsi, rsi
je 0x140050cbc
sub r15, rsi
cmp r15, 0x1000
jb 0x140050cb0
add r15, 0x27
mov rcx, qword [rsi - 8]
sub rsi, rcx
lea rax, [rsi - 8]
cmp rax, 0x1f
ja 0x140051415
mov rsi, rcx
mov rdx, r15
mov rcx, rsi
call fcn.140205dc4
nop
mov r8, qword [rbp - 0x58]
test r8, r8
je 0x140050d15
mov rcx, qword [rbp - 0x60]
sub rcx, r8
mov rax, rdi
imul rcx
add rdx, rcx
sar rdx, 6
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul rdx, rdx, 0x78
mov rax, r8
cmp rdx, 0x1000
jb 0x140050d0c
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005140f
mov rcx, r8
call fcn.140205dc4
nop
mov r8, qword [rsp + 0x68]
test r8, r8
je 0x140050d7d
mov rcx, qword [rsp + 0x78]
sub rcx, r8
mov rax, rdi
imul rcx
add rdx, rcx
sar rdx, 6
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul rdx, rdx, 0x78
mov rax, r8
cmp rdx, 0x1000
jb 0x140050d67
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400513b2
mov rcx, r8
call fcn.140205dc4
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x78], rbx
mov rcx, qword [rsp + 0x38]
mov rax, qword [rcx + 8]
mov qword [rax], rbx
mov rcx, qword [rcx]
test rcx, rcx
je 0x140051385
nop word [rax + rax]
mov rbx, qword [rcx]
mov edx, 0x88
call fcn.140205dc4
mov rcx, rbx
test rbx, rbx
jne 0x140050da0
jmp 0x140051385
lea rax, [rbp - 0x30]
mov qword [rbp - 0x68], rax
xorps xmm0, xmm0
movss dword [rbp - 0x30], xmm0
xor r12d, r12d
mov qword [rbp - 0x28], r12
mov qword [rbp - 0x20], r12
lea ecx, [r12 + 0x20]
call fcn.140205df8
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x18], r12
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x10], xmm0
mov qword [rbp], 7
mov qword [rbp + 8], 8
movss xmm0, dword [0x14028cca0]
movss dword [rbp - 0x30], xmm0
mov r8, rax
lea edx, [r12 + 0x10]
lea rcx, [rbp - 0x18]
call fcn.140049e40
nop
mov qword [rbp + 0x10], rbx
mov qword [rbp + 0x18], rbx
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x80], xmm0
mov qword [rbp - 0x70], r12
test r14, r14
je 0x140051100
movabs rax, 0x222222222222222
cmp r14, rax
ja 0x1400513c6
mov rdx, r14
lea rcx, [rbp - 0x80]
call fcn.14004a690
mov qword [rbp - 0x40], r12
nop word [rax + rax]
mov rdi, qword [rbp + 0x10]
test rdi, rdi
je 0x1400513e2
dec rdi
mov qword [rbp + 0x10], rdi
cmp rdi, 0xffffffffffffffff
jne 0x140050ecc
mov rdi, r12
nop dword [rax]
lea rcx, [0x140362d30]
call fcn.1401e139c
test eax, eax
jne 0x1400513d2
lea rdx, [rbp + 0x30]
lea ecx, [rax + 8]
call fcn.1401803f0
mov rbx, qword [rbp + 0x30]
lea rcx, [0x140362d30]
call fcn.1401e13c0
add rdi, 0x40
cmp rdi, 0x40
jb 0x140050e90
jmp 0x140050f3a
lea r14, [rdi + 1]
mov rbx, r12
mov rax, r12
test rdi, rdi
je 0x140050f12
lea rcx, [0x140362d30]
call fcn.1401e139c
test eax, eax
jne 0x1400513da
lea rdx, [rbp + 0x38]
lea ecx, [rax + 8]
call fcn.1401803f0
mov rbx, qword [rbp + 0x38]
lea rcx, [0x140362d30]
call fcn.1401e13c0
mov rax, 0xffffffffffffffff
xor edx, edx
div r14
mov r8, rdx
mov rcx, rax
xor edx, edx
mov rax, rbx
div r14
cmp rax, rcx
jb 0x140050f2f
cmp r8, rdi
jne 0x140050ed0
xor edx, edx
mov rax, rbx
div r14
mov rbx, rdx
mov qword [rsp + 0x60], rbx
mov r14, rbx
shr r14, 0x38
mov r12, rbx
shr r12, 0x30
mov r13, rbx
shr r13, 0x28
mov rax, rbx
shr rax, 0x20
mov qword [rbp - 0x68], rax
mov rax, rbx
shr rax, 0x18
mov qword [rbp + 0x58], rax
mov rax, rbx
shr rax, 0x10
mov qword [rbp + 0x50], rax
mov rax, rbx
shr rax, 8
mov qword [rbp + 0x48], rax
lea r8, [rbp + 0x10]
lea rdx, [rbp + 0x40]
lea rcx, [rbp - 0x30]
call fcn.140046950
mov rax, qword [rbp + 0x40]
mov rdx, qword [rbp - 0x28]
cmp rax, rdx
je 0x140050fa4
mov rdi, qword [rax + 0x18]
jmp 0x140050fa8
mov rdi, qword [rbp + 0x10]
movzx ecx, bl
movabs rax, 0xcbf29ce484222325
xor rcx, rax
movabs r8, 0x100000001b3
imul rcx, r8
movzx eax, byte [rbp + 0x48]
xor rcx, rax
imul rcx, r8
movzx eax, byte [rbp + 0x50]
xor rcx, rax
imul rcx, r8
movzx eax, byte [rbp + 0x58]
xor rcx, rax
imul rcx, r8
movzx eax, byte [rbp - 0x68]
xor rcx, rax
imul rcx, r8
movzx eax, r13b
xor rcx, rax
imul rcx, r8
movzx eax, r12b
xor rcx, rax
imul rcx, r8
xor rcx, r14
imul rcx, r8
mov rax, qword [rbp]
and rax, rcx
add rax, rax
mov r8, qword [rbp - 0x18]
mov rcx, qword [r8 + rax*8 + 8]
cmp rcx, rdx
je 0x140051055
mov rax, qword [r8 + rax*8]
cmp rbx, qword [rcx + 0x10]
je 0x140051040
cmp rcx, rax
je 0x140051055
mov rcx, qword [rcx + 8]
cmp rbx, qword [rcx + 0x10]
jne 0x140051031
test rcx, rcx
je 0x140051055
cmp rcx, rdx
je 0x140051055
mov rax, qword [rcx + 0x18]
mov qword [rsp + 0x60], rax
jmp 0x14005106a
lea r8, [rsp + 0x60]
lea rdx, [rbp + 0x60]
lea rcx, [rbp - 0x30]
call fcn.140046390
mov rcx, qword [rax]
mov qword [rcx + 0x18], rdi
imul r8, qword [rsp + 0x60], 0x78
add r8, qword [rsp + 0x48]
mov rdx, qword [rbp - 0x78]
cmp rdx, qword [rbp - 0x70]
je 0x1400510d2
movups xmm0, xmmword [r8]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [r8 + 0x10]
movups xmmword [rdx + 0x10], xmm1
movups xmm0, xmmword [r8 + 0x20]
movups xmmword [rdx + 0x20], xmm0
movups xmm1, xmmword [r8 + 0x30]
movups xmmword [rdx + 0x30], xmm1
movups xmm0, xmmword [r8 + 0x40]
movups xmmword [rdx + 0x40], xmm0
movups xmm1, xmmword [r8 + 0x50]
movups xmmword [rdx + 0x50], xmm1
movups xmm0, xmmword [r8 + 0x60]
movups xmmword [rdx + 0x60], xmm0
movsd xmm1, qword [r8 + 0x70]
movsd qword [rdx + 0x70], xmm1
add qword [rbp - 0x78], 0x78
jmp 0x1400510db
lea rcx, [rbp - 0x80]
call fcn.140043ab0
mov rax, qword [rbp - 0x40]
inc rax
mov qword [rbp - 0x40], rax
xor r12d, r12d
cmp rax, qword [rbp + 0x1540]
jb 0x140050e70
movabs rdi, 0x8888888888888889
mov r9, qword [rbp - 0x78]
mov rcx, qword [rbp - 0x80]
sub r9, rcx
mov rax, rdi
imul r9
add rdx, r9
sar rdx, 6
mov r8, rdx
shr r8, 0x3f
add r8, rdx
movzx r9d, byte [rsp + 0x30]
mov rdx, qword [rbp - 0x78]
call fcn.140045d60
lea r9, [rsp + 0x38]
mov r8, qword [rbp - 0x78]
mov rdx, qword [rbp - 0x80]
lea rcx, [rbp - 0x68]
call fcn.140046710
mov r14, qword [rbp + 0x1528]
mov qword [r14], r12
mov qword [r14 + 8], r12
mov ecx, 0x88
call fcn.140205df8
mov qword [rax], rax
mov qword [rax + 8], rax
mov rcx, qword [rsp + 0x38]
mov qword [r14], rcx
mov qword [rsp + 0x38], rax
mov rcx, qword [r14 + 8]
mov rax, qword [rsp + 0x40]
mov qword [r14 + 8], rax
mov qword [rsp + 0x40], rcx
mov r8, qword [rbp - 0x80]
test r8, r8
je 0x1400511e9
mov rcx, qword [rbp - 0x70]
sub rcx, r8
mov rax, rdi
imul rcx
add rdx, rcx
sar rdx, 6
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul rdx, rdx, 0x78
mov rax, r8
cmp rdx, 0x1000
jb 0x1400511d5
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400513cc
mov rcx, r8
call fcn.140205dc4
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x80], xmm0
mov qword [rbp - 0x70], r12
lea rcx, [rbp - 0x30]
call fcn.1400487a0
nop
mov r8, qword [rsp + 0x48]
test r8, r8
je 0x14005125b
mov rcx, qword [rsp + 0x58]
sub rcx, r8
mov rax, rdi
imul rcx
add rdx, rcx
sar rdx, 6
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul rdx, rdx, 0x78
mov rax, r8
cmp rdx, 0x1000
jb 0x140051245
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140051409
mov rcx, r8
call fcn.140205dc4
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x48], xmm0
mov qword [rsp + 0x58], r12
test rsi, rsi
je 0x140051294
sub r15, rsi
cmp r15, 0x1000
jb 0x140051288
add r15, 0x27
mov rcx, qword [rsi - 8]
sub rsi, rcx
lea rax, [rsi - 8]
cmp rax, 0x1f
ja 0x140051415
mov rsi, rcx
mov rdx, r15
mov rcx, rsi
call fcn.140205dc4
nop
mov r8, qword [rbp - 0x58]
test r8, r8
je 0x1400512ed
mov rcx, qword [rbp - 0x60]
sub rcx, r8
mov rax, rdi
imul rcx
add rdx, rcx
sar rdx, 6
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul rdx, rdx, 0x78
mov rax, r8
cmp rdx, 0x1000
jb 0x1400512e4
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005140f
mov rcx, r8
call fcn.140205dc4
nop
mov r8, qword [rsp + 0x68]
test r8, r8
je 0x140051351
mov rcx, qword [rsp + 0x78]
sub rcx, r8
mov rax, rdi
imul rcx
add rdx, rcx
sar rdx, 6
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul rdx, rdx, 0x78
mov rax, r8
cmp rdx, 0x1000
jb 0x14005133b
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400513b2
mov rcx, r8
call fcn.140205dc4
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x78], r12
mov rcx, qword [rsp + 0x38]
mov rax, qword [rcx + 8]
mov qword [rax], r12
mov rcx, qword [rcx]
test rcx, rcx
je 0x140051385
nop word [rax + rax]
mov rbx, qword [rcx]
mov edx, 0x88
call fcn.140205dc4
mov rcx, rbx
test rbx, rbx
jne 0x140051370
mov edx, 0x88
mov rcx, qword [rsp + 0x38]
call fcn.140205dc4
mov rax, r14
mov rbx, qword [rsp + 0x1620]
add rsp, 0x15e0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.14020c78c
nop
mov ecx, eax
call fcn.1401e34b8
nop
call fcn.14000efd0
nop
call fcn.14000efd0
nop
call fcn.14020c78c
nop
mov ecx, eax
call fcn.1401e34b8
int3
mov ecx, eax
call fcn.1401e34b8
int3
lea rdx, str.shuffle_sequence_ended
lea rcx, [rbp + 0x138]
call fcn.140008df0
lea rdx, [0x140336d50]
lea rcx, [rbp + 0x138]
call fcn.140207de0
nop
call fcn.14020c78c
nop
call fcn.14020c78c
nop
call fcn.14020c78c
int3