Function at 0x180039080
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x20]
sub rsp, 0x120
mov rsi, rcx
movabs rax, 0x755a2e1a9d2f2ce6
mov qword [rbp - 0x50], rax
movabs rax, 0xed6597352b218198
mov qword [rbp - 0x48], rax
movabs rax, 0x5fa00ec38bebce6b
mov qword [rbp - 0x40], rax
movabs r14, 0xb0deb27e337a4218
mov qword [rbp - 0x38], r14
movabs r12, 0x30684b79ef5a43b5
mov qword [rbp - 0x70], r12
movabs r13, 0xae0ac3504548e6f6
mov qword [rbp - 0x68], r13
movabs r15, 0x5fa00eb7e58ea707
mov qword [rbp - 0x60], r15
mov qword [rbp - 0x58], r14
movdqa xmm0, xmmword [rbp - 0x50]
xorps xmm0, xmmword [rbp - 0x70]
movdqa xmmword [rbp - 0x50], xmm0
movdqa xmm1, xmmword [rbp - 0x40]
xorps xmm1, xmmword [rbp - 0x60]
movdqa xmmword [rbp - 0x40], xmm1
lea rax, [rbp - 0x50]
mov qword [rsp + 0x70], rax
lea rcx, [rbp - 0x50]
mov rbx, 0xffffffffffffffff
mov rax, rbx
inc rax
cmp byte [rcx + rax], 0
jne 0x180039140
mov qword [rsp + 0x78], rax
mov rax, qword [0x1801ec330]
movups xmm0, xmmword [rax + 0xb0]
movups xmmword [rbp - 0x30], xmm0
movups xmm1, xmmword [rax + 0xc0]
movups xmmword [rbp - 0x20], xmm1
movups xmm0, xmmword [rax + 0xd0]
movups xmmword [rbp - 0x10], xmm0
movaps xmm1, xmmword [rsp + 0x70]
movdqa xmmword [rbp - 0x70], xmm1
lea r8, [rbp - 0x70]
lea rdx, [rbp - 0x30]
call fcn.18003a170
mov qword [rsi], rax
movabs rax, 0x493b2a148a3220e6
mov qword [rbp - 0x50], rax
movabs rax, 0xae0ac30f282d9285
mov qword [rbp - 0x48], rax
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x78], r13
movdqa xmm0, xmmword [rbp - 0x50]
xorps xmm0, xmmword [rsp + 0x70]
movdqa xmmword [rbp - 0x50], xmm0
lea rax, [rbp - 0x50]
mov qword [rsp + 0x70], rax
lea rcx, [rbp - 0x50]
mov rax, rbx
inc rax
cmp byte [rcx + rax], 0
jne 0x1800391d5
mov qword [rsp + 0x78], rax
mov rax, qword [0x1801ec330]
movups xmm0, xmmword [rax + 0x210]
movups xmmword [rbp - 0x30], xmm0
movups xmm1, xmmword [rax + 0x220]
movups xmmword [rbp - 0x20], xmm1
movups xmm0, xmmword [rax + 0x230]
movups xmmword [rbp - 0x10], xmm0
movaps xmm1, xmmword [rsp + 0x70]
movdqa xmmword [rbp - 0x70], xmm1
lea r8, [rbp - 0x70]
lea rdx, [rbp - 0x30]
call fcn.18003a170
mov qword [rsi + 0x18], rax
movabs rax, 0x5f1b2e2b8a3722f2
mov qword [rbp - 0x50], rax
movabs rax, 0xd878a603202b9483
mov qword [rbp - 0x48], rax
movabs rax, 0x31c567dba6ebc46e
mov qword [rbp - 0x40], rax
movabs rax, 0xb0deb27e034a146c
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x70], r12
mov qword [rbp - 0x68], r13
mov qword [rbp - 0x60], r15
mov qword [rbp - 0x58], r14
movdqa xmm0, xmmword [rbp - 0x50]
xorps xmm0, xmmword [rbp - 0x70]
movdqa xmmword [rbp - 0x50], xmm0
movdqa xmm1, xmmword [rbp - 0x40]
xorps xmm1, xmmword [rbp - 0x60]
movdqa xmmword [rbp - 0x40], xmm1
lea rax, [rbp - 0x50]
mov qword [rsp + 0x70], rax
lea rcx, [rbp - 0x50]
mov rax, rbx
nop word [rax + rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x1800392a0
mov qword [rsp + 0x78], rax
mov rax, qword [0x1801ec330]
movups xmm0, xmmword [rax + 0xb0]
movups xmmword [rbp - 0x30], xmm0
movups xmm1, xmmword [rax + 0xc0]
movups xmmword [rbp - 0x20], xmm1
movups xmm0, xmmword [rax + 0xd0]
movups xmmword [rbp - 0x10], xmm0
movaps xmm1, xmmword [rsp + 0x70]
movdqa xmmword [rbp - 0x70], xmm1
lea r8, [rbp - 0x70]
lea rdx, [rbp - 0x30]
call fcn.18003a170
mov qword [rsi + 0x20], rax
movabs rax, 0x730d2510883406e3
mov qword [rbp - 0x50], rax
movabs rax, 0xae0ac360753a8780
mov qword [rbp - 0x48], rax
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x78], r13
movdqa xmm0, xmmword [rbp - 0x50]
xorps xmm0, xmmword [rsp + 0x70]
movdqa xmmword [rbp - 0x50], xmm0
lea rax, [rbp - 0x50]
mov qword [rsp + 0x70], rax
lea rcx, [rbp - 0x50]
mov rax, rbx
inc rax
cmp byte [rcx + rax], 0
jne 0x180039336
mov qword [rsp + 0x78], rax
mov rax, qword [0x1801ec330]
movups xmm0, xmmword [rax + 0x370]
movups xmmword [rbp - 0x30], xmm0
movups xmm1, xmmword [rax + 0x380]
movups xmmword [rbp - 0x20], xmm1
movups xmm0, xmmword [rax + 0x390]
movups xmmword [rbp - 0x10], xmm0
movaps xmm1, xmmword [rsp + 0x70]
movdqa xmmword [rbp - 0x70], xmm1
lea r8, [rbp - 0x70]
lea rdx, [rbp - 0x30]
call fcn.18003a170
mov qword [rsi + 0x28], rax
movabs rdi, 0x735a2e1a9d2f2ce6
mov qword [rbp - 0x50], rdi
movabs rax, 0xae3af3242b2d8f9a
mov qword [rbp - 0x48], rax
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x78], r13
movdqa xmm0, xmmword [rbp - 0x50]
xorps xmm0, xmmword [rsp + 0x70]
movdqa xmmword [rbp - 0x50], xmm0
lea rax, [rbp - 0x50]
mov qword [rsp + 0x70], rax
lea rcx, [rbp - 0x50]
mov rax, rbx
nop dword [rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x1800393d0
mov qword [rsp + 0x78], rax
mov rax, qword [0x1801ec330]
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x30], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x20], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rbp - 0x10], xmm0
movaps xmm1, xmmword [rsp + 0x70]
movdqa xmmword [rbp - 0x70], xmm1
lea r8, [rbp - 0x70]
lea rdx, [rbp - 0x30]
call fcn.18003a170
mov qword [rsi + 0x38], rax
mov qword [rbp - 0x50], rdi
movabs rax, 0xcb7893242b2d8f9a
mov qword [rbp - 0x48], rax
movabs rax, 0x6fce61de91edce63
mov qword [rbp - 0x40], rax
movabs rax, 0xb0deb27e337a4228
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x70], r12
mov qword [rbp - 0x68], r13
mov qword [rbp - 0x60], r15
mov qword [rbp - 0x58], r14
movdqa xmm0, xmmword [rbp - 0x50]
xorps xmm0, xmmword [rbp - 0x70]
movdqa xmmword [rbp - 0x50], xmm0
movdqa xmm1, xmmword [rbp - 0x40]
xorps xmm1, xmmword [rbp - 0x60]
movdqa xmmword [rbp - 0x40], xmm1
lea rax, [rbp - 0x50]
mov qword [rsp + 0x70], rax
lea rcx, [rbp - 0x50]
mov rax, rbx
inc rax
cmp byte [rcx + rax], 0
jne 0x180039481
mov qword [rsp + 0x78], rax
mov rax, qword [0x1801ec330]
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x30], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x20], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rbp - 0x10], xmm0
movaps xmm1, xmmword [rsp + 0x70]
movdqa xmmword [rbp - 0x70], xmm1
lea r8, [rbp - 0x70]
lea rdx, [rbp - 0x30]
call fcn.18003a170
mov qword [rsi + 0x40], rax
movabs rax, 0x5101391c9b3b0ee3
mov qword [rbp - 0x50], rax
movabs rax, 0x9c67a6243631b59a
mov qword [rbp - 0x48], rax
movabs rax, 0x5fa00eb7e5be9758
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x38], r14
mov qword [rbp - 0x70], r12
mov qword [rbp - 0x68], r13
mov qword [rbp - 0x60], r15
mov qword [rbp - 0x58], r14
movdqa xmm0, xmmword [rbp - 0x50]
xorps xmm0, xmmword [rbp - 0x70]
movdqa xmmword [rbp - 0x50], xmm0
movdqa xmm1, xmmword [rbp - 0x40]
xorps xmm1, xmmword [rbp - 0x60]
movdqa xmmword [rbp - 0x40], xmm1
lea rax, [rbp - 0x50]
mov qword [rsp + 0x70], rax
lea rcx, [rbp - 0x50]
mov rax, rbx
inc rax
cmp byte [rcx + rax], 0
jne 0x180039532
mov qword [rsp + 0x78], rax
mov rax, qword [0x1801ec330]
movups xmm0, xmmword [rax + 0x4d0]
movups xmmword [rbp - 0x30], xmm0
movups xmm1, xmmword [rax + 0x4e0]
movups xmmword [rbp - 0x20], xmm1
movups xmm0, xmmword [rax + 0x4f0]
movups xmmword [rbp - 0x10], xmm0
movaps xmm1, xmmword [rsp + 0x70]
movdqa xmmword [rbp - 0x70], xmm1
lea r8, [rbp - 0x70]
lea rdx, [rbp - 0x30]
call fcn.18003a170
mov qword [rsi + 0x48], rax
movabs rax, 0x5c29261ca22a1cd2
mov qword [rsp + 0x70], rax
movabs rax, 0xae0ac350452b899a
mov qword [rsp + 0x78], rax
mov qword [rbp - 0x50], r12
mov qword [rbp - 0x48], r13
movdqa xmm0, xmmword [rsp + 0x70]
xorps xmm0, xmmword [rbp - 0x50]
movdqa xmmword [rsp + 0x70], xmm0
mov rax, qword [0x1801ec330]
lea r8, [rsp + 0x70]
mov rdx, qword [rax + 0x370]
call fcn.180041690
mov rcx, qword [rax]
mov qword [rsi + 0x50], rcx
movabs rax, 0x551222158e392cf9
mov qword [rbp - 0x50], rax
movabs rax, 0xae0ac3504578d6a9
mov qword [rbp - 0x48], rax
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x78], r13
movdqa xmm0, xmmword [rbp - 0x50]
xorps xmm0, xmmword [rsp + 0x70]
movdqa xmmword [rbp - 0x50], xmm0
lea rax, [rbp - 0x50]
mov qword [rsp + 0x70], rax
lea rcx, [rbp - 0x50]
mov rax, rbx
nop dword [rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x180039620
mov qword [rsp + 0x78], rax
mov rax, qword [0x1801ec330]
movups xmm0, xmmword [rax + 0x630]
movups xmmword [rbp - 0x30], xmm0
movups xmm1, xmmword [rax + 0x640]
movups xmmword [rbp - 0x20], xmm1
movups xmm0, xmmword [rax + 0x650]
movups xmmword [rbp - 0x10], xmm0
movaps xmm1, xmmword [rsp + 0x70]
movdqa xmmword [rbp - 0x70], xmm1
lea r8, [rbp - 0x70]
lea rdx, [rbp - 0x30]
call fcn.18003a170
mov qword [rsi + 0x60], rax
mov rcx, qword [0x1801ec330]
add rcx, 0xb0
lea rax, str.get_pvs
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], 7
lea rax, str.48_8D_0D_________33_D2_FF_50
mov qword [rbp - 0x70], rax
mov qword [rbp - 0x68], 0x1c
lea r9, [rsp + 0x70]
lea r8, [rbp - 0x70]
lea rdx, [rbp - 0x50]
call fcn.180041030
mov rcx, qword [rax]
movsxd rax, dword [rcx + 3]
add rcx, 7
add rax, rcx
mov qword [rsi + 0x58], rax
mov rax, qword [0x1801ec330]
movabs rcx, 0x420d2f178a281cd8
mov qword [rsp + 0x70], rcx
movabs rcx, 0xc078a624312996a9
mov qword [rsp + 0x78], rcx
mov qword [rbp - 0x80], r15
mov qword [rbp - 0x78], r14
mov qword [rbp - 0x70], r12
mov qword [rbp - 0x68], r13
mov qword [rbp - 0x60], r15
mov qword [rbp - 0x58], r14
movdqa xmm0, xmmword [rsp + 0x70]
xorps xmm0, xmmword [rbp - 0x70]
movdqa xmmword [rsp + 0x70], xmm0
movdqa xmm1, xmmword [rbp - 0x80]
xorps xmm1, xmmword [rbp - 0x60]
movdqa xmmword [rbp - 0x80], xmm1
lea rcx, [rax + 0x330]
mov r14d, 0x811c9dc5
mov r9d, r14d
lea rax, [rsp + 0x70]
mov rdx, rbx
nop
inc rdx
cmp byte [rax + rdx], 0
jne 0x180039740
xor r15d, r15d
mov r8d, r15d
test rdx, rdx
je 0x18003977a
mov eax, r15d
nop word [rax + rax]
movsx eax, byte [rsp + rax + 0x70]
xor eax, r9d
imul r9d, eax, 0x1000193
inc r8d
mov eax, r8d
cmp rax, rdx
jb 0x180039760
mov eax, r9d
mov qword [rbp - 0x50], rax
lea r8, [rbp - 0x50]
lea rdx, [rbp - 0x70]
call fcn.180025f60
mov rcx, qword [rax]
mov rax, qword [rcx + 0x18]
movsxd rcx, dword [rax + 4]
add rcx, rax
mov eax, 2
add rcx, 8
dec rax
test rcx, rcx
je 0x1800397b5
mov rcx, qword [rcx]
test rax, rax
jne 0x1800397a5
mov qword [rsi + 8], rcx
movabs rax, 0x6f1c3e0981331cd8
mov qword [rsp + 0x70], rax
movabs rax, 0xae64b135313c8786
mov qword [rsp + 0x78], rax
mov qword [rbp - 0x70], r12
mov qword [rbp - 0x68], r13
movdqa xmm0, xmmword [rsp + 0x70]
xorps xmm0, xmmword [rbp - 0x70]
movdqa xmmword [rsp + 0x70], xmm0
mov rcx, qword [0x1801ec330]
add rcx, 0x70
mov r9d, r14d
lea rax, [rsp + 0x70]
mov rdx, rbx
inc rdx
cmp byte [rax + rdx], r15b
jne 0x180039805
mov r8d, r15d
test rdx, rdx
je 0x18003983a
mov rax, r15
nop dword [rax]
movsx eax, byte [rsp + rax + 0x70]
xor eax, r9d
imul r9d, eax, 0x1000193
inc r8d
mov eax, r8d
cmp rax, rdx
jb 0x180039820
mov eax, r9d
mov qword [rbp - 0x50], rax
lea r8, [rbp - 0x50]
lea rdx, [rbp - 0x70]
call fcn.180025f60
mov rcx, qword [rax]
mov rax, qword [rcx + 0x18]
movsxd rcx, dword [rax + 3]
add rcx, rax
mov edi, 1
mov eax, edi
add rcx, 7
dec rax
test rcx, rcx
je 0x180039877
mov rcx, qword [rcx]
test rax, rax
jne 0x180039867
mov qword [rsi + 0x10], rcx
movabs rax, 0x5c092916833d1cd8
mov qword [rsp + 0x70], rax
movabs rax, 0xae0ac3504548e685
mov qword [rsp + 0x78], rax
mov qword [rbp - 0x70], r12
mov qword [rbp - 0x68], r13
movdqa xmm0, xmmword [rsp + 0x70]
xorps xmm0, xmmword [rbp - 0x70]
movdqa xmmword [rsp + 0x70], xmm0
mov rcx, qword [0x1801ec330]
add rcx, 0x70
mov r9d, r14d
lea rax, [rsp + 0x70]
mov rdx, rbx
inc rdx
cmp byte [rax + rdx], r15b
jne 0x1800398c7
mov r8d, r15d
test rdx, rdx
je 0x1800398fa
mov rax, r15
nop dword [rax + rax]
movsx eax, byte [rsp + rax + 0x70]
xor eax, r9d
imul r9d, eax, 0x1000193
inc r8d
mov eax, r8d
cmp rax, rdx
jb 0x1800398e0
mov eax, r9d
mov qword [rbp - 0x50], rax
lea r8, [rbp - 0x50]
lea rdx, [rbp - 0x70]
call fcn.180025f60
mov rcx, qword [rax]
mov rax, qword [rcx + 0x18]
movsxd rcx, dword [rax + 3]
add rcx, rax
mov rax, rdi
add rcx, 7
dec rax
test rcx, rcx
je 0x180039933
mov rcx, qword [rcx]
test rax, rax
jne 0x180039923
mov qword [rsi + 0x30], rcx
cmp qword [rsi + 0x40], r15
je 0x1800399b8
lea rax, str.prediction_NULL
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], 0xf
mov qword [rbp - 0x70], r15
mov qword [rbp - 0x68], r15
movaps xmm0, xmmword [rbp - 0x70]
movdqa xmmword [rbp - 0x70], xmm0
movaps xmm1, xmmword [rsp + 0x70]
movdqa xmmword [rsp + 0x70], xmm1
lea r8, [rbp - 0x70]
lea rdx, [rsp + 0x70]
lea rcx, [rbp - 0x50]
call fcn.18001cae0
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0xf
jbe 0x18003998f
mov rax, qword [rax]
mov rdx, rax
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.18001d410
lea rdx, [0x18000e150]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
lea rcx, [rbp - 0x50]
call fcn.18000a7b0
movabs rax, 0x33e001d8e350f8a
mov qword [rsp + 0x20], rax
movabs rax, 0xeb5a8d0f0411a6b6
mov qword [rsp + 0x28], rax
movabs rax, 0x33c158ce80c5f146
mov qword [rsp + 0x30], rax
movabs rax, 0xf58ef23e0009276d
mov qword [rsp + 0x38], rax
movabs rax, 0x3f9b2d13e73f558
mov qword [rsp + 0x40], rax
movabs rax, 0x9b0a830cd3fba4d8
mov qword [rsp + 0x48], rax
movabs rax, 0xb0838301e22fb2c9
mov qword [rsp + 0x50], rax
movabs rax, 0x8ee5c15effdf335f
mov qword [rsp + 0x58], rax
movabs rax, 0xe90612b123c0a65d
mov qword [rsp + 0x60], rax
movabs rcx, 0x5bdcff08b3ef083e
mov qword [rsp + 0x68], rcx
mov qword [rbp - 0x30], r12
mov qword [rbp - 0x28], r13
movabs rax, 0x5fa00eb7e58ea707
mov qword [rbp - 0x20], rax
movabs rax, 0xb0deb27e337a4218
mov qword [rbp - 0x18], rax
movabs rax, 0x77aadea56b30a319
mov qword [rbp - 0x10], rax
movabs rax, 0xde5ac34cb495cdaa
mov qword [rbp - 8], rax
movabs rax, 0xe6c8d643a76ef68b
mov qword [rbp], rax
movabs rax, 0xbca5812aa09b7a6c
mov qword [rbp + 8], rax
movabs rax, 0xe90612b123c0fc1d
mov qword [rbp + 0x10], rax
mov qword [rbp + 0x18], rcx
movdqa xmm0, xmmword [rsp + 0x20]
xorps xmm0, xmmword [rbp - 0x30]
movdqa xmmword [rsp + 0x20], xmm0
movdqa xmm1, xmmword [rsp + 0x30]
xorps xmm1, xmmword [rbp - 0x20]
movdqa xmmword [rsp + 0x30], xmm1
movdqa xmm0, xmmword [rsp + 0x40]
xorps xmm0, xmmword [rbp - 0x10]
movdqa xmmword [rsp + 0x40], xmm0
movdqa xmm1, xmmword [rsp + 0x50]
xorps xmm1, xmmword [rbp]
movdqa xmmword [rsp + 0x50], xmm1
movdqa xmm0, xmmword [rsp + 0x60]
xorps xmm0, xmmword [rbp + 0x10]
movdqa xmmword [rsp + 0x60], xmm0
mov rax, qword [0x1801ec330]
lea r8, [rsp + 0x20]
mov rdx, qword [rax + 0x370]
call fcn.180041690
mov qword [rsi + 0x70], rax
test rax, rax
je 0x180039ba8
lea rax, str.kv3_NULL
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], 8
mov qword [rbp - 0x70], r15
mov qword [rbp - 0x68], r15
movaps xmm0, xmmword [rbp - 0x70]
movdqa xmmword [rbp - 0x70], xmm0
movaps xmm1, xmmword [rsp + 0x70]
movdqa xmmword [rsp + 0x70], xmm1
lea r8, [rbp - 0x70]
lea rdx, [rsp + 0x70]
lea rcx, [rbp - 0x50]
call fcn.18001cae0
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0xf
jbe 0x180039b7f
mov rax, qword [rax]
mov rdx, rax
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.18001d410
lea rdx, [0x18000e150]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
lea rcx, [rbp - 0x50]
call fcn.18000a7b0
movabs rax, 0x553b26168b3422e7
mov qword [rsp + 0x70], rax
movabs rax, 0xae0ac35045488293
mov qword [rsp + 0x78], rax
mov qword [rbp - 0x70], r12
mov qword [rbp - 0x68], r13
movdqa xmm0, xmmword [rsp + 0x70]
xorps xmm0, xmmword [rbp - 0x70]
movdqa xmmword [rsp + 0x70], xmm0
mov rax, qword [0x1801ec330]
lea r8, [rsp + 0x70]
mov rdx, qword [rax + 0x370]
call fcn.180041690
mov qword [rsi + 0x78], rax
test rax, rax
je 0x180039c7a
lea rax, str.random_seed_NULL
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], 0x10
mov qword [rbp - 0x70], r15
mov qword [rbp - 0x68], r15
movaps xmm0, xmmword [rbp - 0x70]
movdqa xmmword [rbp - 0x70], xmm0
movaps xmm1, xmmword [rsp + 0x70]
movdqa xmmword [rsp + 0x70], xmm1
lea r8, [rbp - 0x70]
lea rdx, [rsp + 0x70]
lea rcx, [rbp - 0x50]
call fcn.18001cae0
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0xf
jbe 0x180039c51
mov rax, qword [rax]
mov rdx, rax
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.18001d410
lea rdx, [0x18000e150]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
lea rcx, [rbp - 0x50]
call fcn.18000a7b0
movabs rax, 0x5e2126168b3422e7
mov qword [rsp + 0x70], rax
movabs rax, 0xae0ac3504548e682
mov qword [rsp + 0x78], rax
mov qword [rbp - 0x70], r12
mov qword [rbp - 0x68], r13
movdqa xmm0, xmmword [rsp + 0x70]
xorps xmm0, xmmword [rbp - 0x70]
movdqa xmmword [rsp + 0x70], xmm0
mov rax, qword [0x1801ec330]
lea r8, [rsp + 0x70]
mov rdx, qword [rax + 0x370]
call fcn.180041690
mov qword [rsi + 0x80], rax
test rax, rax
je 0x180039d4f
lea rax, str.random_int_NULL
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], 0xf
mov qword [rbp - 0x70], r15
mov qword [rbp - 0x68], r15
movaps xmm0, xmmword [rbp - 0x70]
movdqa xmmword [rbp - 0x70], xmm0
movaps xmm1, xmmword [rsp + 0x70]
movdqa xmmword [rsp + 0x70], xmm1
lea r8, [rbp - 0x70]
lea rdx, [rsp + 0x70]
lea rcx, [rbp - 0x50]
call fcn.18001cae0
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0xf
jbe 0x180039d26
mov rax, qword [rax]
mov rdx, rax
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.18001d410
lea rdx, [0x18000e150]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
lea rcx, [rbp - 0x50]
call fcn.18000a7b0
movabs rax, 0x5c2e26168b3422e7
mov qword [rsp + 0x70], rax
movabs rax, 0xae0ac350453c8799
mov qword [rsp + 0x78], rax
mov qword [rbp - 0x70], r12
mov qword [rbp - 0x68], r13
movdqa xmm0, xmmword [rsp + 0x70]
xorps xmm0, xmmword [rbp - 0x70]
movdqa xmmword [rsp + 0x70], xmm0
mov rax, qword [0x1801ec330]
lea r8, [rsp + 0x70]
mov rdx, qword [rax + 0x370]
call fcn.180041690
mov qword [rsi + 0x88], rax
test rax, rax
je 0x180039e24
lea rax, str.random_float_NULL
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], 0x11
mov qword [rbp - 0x70], r15
mov qword [rbp - 0x68], r15
movaps xmm0, xmmword [rbp - 0x70]
movdqa xmmword [rbp - 0x70], xmm0
movaps xmm1, xmmword [rsp + 0x70]
movdqa xmmword [rsp + 0x70], xmm1
lea r8, [rbp - 0x70]
lea rdx, [rsp + 0x70]
lea rcx, [rbp - 0x50]
call fcn.18001cae0
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0xf
jbe 0x180039dfb
mov rax, qword [rax]
mov rdx, rax
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.18001d410
lea rdx, [0x18000e150]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
lea rcx, [rbp - 0x50]
call fcn.18000a7b0
movabs rax, 0x5c2e26168b3422e7
mov qword [rsp + 0x70], rax
movabs rax, 0xae0ab328003c8799
mov qword [rsp + 0x78], rax
mov qword [rbp - 0x70], r12
mov qword [rbp - 0x68], r13
movdqa xmm0, xmmword [rsp + 0x70]
xorps xmm0, xmmword [rbp - 0x70]
movdqa xmmword [rsp + 0x70], xmm0
mov rax, qword [0x1801ec330]
lea r8, [rsp + 0x70]
mov rdx, qword [rax + 0x370]
call fcn.180041690
mov qword [rsi + 0x90], rax
test rax, rax
je 0x180039ef9
lea rax, str.random_float_exp_NULL
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], 0x15
mov qword [rbp - 0x70], r15
mov qword [rbp - 0x68], r15
movaps xmm0, xmmword [rbp - 0x70]
movdqa xmmword [rbp - 0x70], xmm0
movaps xmm1, xmmword [rsp + 0x70]
movdqa xmmword [rsp + 0x70], xmm1
lea r8, [rbp - 0x70]
lea rdx, [rsp + 0x70]
lea rcx, [rbp - 0x50]
call fcn.18001cae0
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0xf
jbe 0x180039ed0
mov rax, qword [rax]
mov rdx, rax
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.18001d410
lea rdx, [0x18000e150]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
lea rcx, [rbp - 0x50]
call fcn.18000a7b0
movabs rax, 0x512f26168b3422e7
mov qword [rbp - 0x70], rax
movabs rax, 0xc24cad312c3b9583
mov qword [rbp - 0x68], rax
movabs rax, 0x5fa00eb7e5fac668
mov qword [rbp - 0x60], rax
movabs rax, 0xb0deb27e337a4218
mov qword [rbp - 0x58], rax
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x78], r13
movabs rcx, 0x5fa00eb7e58ea707
mov qword [rbp - 0x80], rcx
mov qword [rbp - 0x78], rax
movdqa xmm0, xmmword [rbp - 0x70]
xorps xmm0, xmmword [rsp + 0x70]
movdqa xmmword [rbp - 0x70], xmm0
movdqa xmm1, xmmword [rbp - 0x60]
xorps xmm1, xmmword [rbp - 0x80]
movdqa xmmword [rbp - 0x60], xmm1
mov rax, qword [0x1801ec330]
lea r8, [rbp - 0x70]
mov rdx, qword [rax + 0x370]
call fcn.180041690
mov qword [rsi + 0x98], rax
test rax, rax
je 0x18003a008
lea rax, str.random_gaussian_NULL
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], 0x14
mov qword [rbp - 0x70], r15
mov qword [rbp - 0x68], r15
movaps xmm0, xmmword [rbp - 0x70]
movdqa xmmword [rbp - 0x70], xmm0
movaps xmm1, xmmword [rsp + 0x70]
movdqa xmmword [rsp + 0x70], xmm1
lea r8, [rbp - 0x70]
lea rdx, [rsp + 0x70]
lea rcx, [rbp - 0x50]
call fcn.18001cae0
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0xf
jbe 0x180039fdf
mov rax, qword [rax]
mov rdx, rax
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.18001d410
lea rdx, [0x18000e150]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
lea rcx, [rbp - 0x50]
call fcn.18000a7b0
movabs rax, 0x5506221e813f1cd8
mov qword [rsp + 0x70], rax
movabs rax, 0xae0aa633243a92a9
mov qword [rsp + 0x78], rax
mov qword [rbp - 0x70], r12
mov qword [rbp - 0x68], r13
movdqa xmm0, xmmword [rsp + 0x70]
xorps xmm0, xmmword [rbp - 0x70]
movdqa xmmword [rsp + 0x70], xmm0
mov rcx, qword [0x1801ec330]
add rcx, 0x70
lea rax, [rsp + 0x70]
nop
inc rbx
cmp byte [rax + rbx], 0
jne 0x18003a050
mov edx, r15d
test rbx, rbx
je 0x18003a088
mov rax, r15
nop dword [rax]
nop dword [rax + rax]
movsx eax, byte [rsp + rax + 0x70]
xor eax, r14d
imul r14d, eax, 0x1000193
inc edx
mov eax, edx
cmp rax, rbx
jb 0x18003a070
mov eax, r14d
mov qword [rbp - 0x50], rax
lea r8, [rbp - 0x50]
lea rdx, [rbp - 0x70]
call fcn.180025f60
mov rcx, qword [rax]
mov rax, qword [rcx + 0x18]
test rax, rax
je 0x18003a0b3
movsxd rcx, dword [rax + 3]
add rax, 7
add rax, rcx
dec rdi
test rax, rax
je 0x18003a0c3
mov rax, qword [rax]
test rdi, rdi
jne 0x18003a0b3
mov qword [rsi + 0x68], rax
test rax, rax
je 0x18003a147
lea rax, str.engine_trace_NULL
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], 0x11
mov qword [rbp - 0x70], r15
mov qword [rbp - 0x68], r15
movaps xmm0, xmmword [rbp - 0x70]
movdqa xmmword [rbp - 0x70], xmm0
movaps xmm1, xmmword [rsp + 0x70]
movdqa xmmword [rsp + 0x70], xmm1
lea r8, [rbp - 0x70]
lea rdx, [rsp + 0x70]
lea rcx, [rbp - 0x50]
call fcn.18001cae0
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0xf
jbe 0x18003a11e
mov rax, qword [rax]
mov rdx, rax
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.18001d410
lea rdx, [0x18000e150]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
lea rcx, [rbp - 0x50]
call fcn.18000a7b0
lea r11, [rsp + 0x120]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret