Function at 0x1400c0e60
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rbp
lea rbp, [rsp - 0x1330]
mov eax, 0x1430
call fcn.1400d2790
sub rsp, rax
mov rax, qword [0x14011c028]
xor rax, rsp
mov qword [rbp + 0x1300], rax
cmp byte [0x140125af1], 0
movabs rsi, 0x7fffffffffffffff
mov qword [rsp + 0x1440], rdi
je 0x1400c1349
movaps xmmword [rsp + 0x1420], xmm6
movaps xmmword [rsp + 0x1410], xmm7
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x1400c0ede
imul rax, rax, 0x64
jmp 0x1400c0efc
cqo
idiv rbx
mov rcx, rax
imul rax, rdx, 0x3b9aca00
imul rcx, rcx, 0x3b9aca00
cqo
idiv rbx
add rax, rcx
movabs rcx, 0x7fffffffffe17b7f
cmp rax, rcx
jge 0x1400c0f18
add rax, 0x1e8480
mov qword [rsp + 0x20], rax
jmp 0x1400c0f1d
mov qword [rsp + 0x20], rsi
lea rcx, [rsp + 0x20]
call fcn.14002a4c0
mov rax, qword [0x140126af0]
xor ecx, ecx
mov word [rsp + 0x29], 0
mov byte [rsp + 0x2b], 0
mov qword [rsp + 0x2c], rcx
movss xmm6, dword [rax + 0x1c0]
movss xmm7, dword [rax + 0x1c4]
xor eax, eax
mov qword [rsp + 0x5c], rax
mov byte [rsp + 0x28], al
mov eax, dword [reloc.WS2_32.dll_accept]
mov dword [rsp + 0x38], ecx
mov qword [rsp + 0x48], rcx
mov dword [rsp + 0x50], ecx
cmp eax, 1
jne 0x1400c0f81
mov dword [rsp + 0x3c], 0x263
jmp 0x1400c11cb
cmp eax, 2
jne 0x1400c1109
mov eax, dword [0x14011c178]
cmp eax, 0x17b
jne 0x1400c0fae
mov dword [0x14011c178], 1
mov dword [rsp + 0x3c], 1
jmp 0x1400c11cb
cmp eax, 1
jne 0x1400c0fca
mov dword [0x14011c178], 3
mov dword [rsp + 0x3c], 3
jmp 0x1400c11cb
cmp eax, 3
jne 0x1400c0fe6
mov dword [0x14011c178], 5
mov dword [rsp + 0x3c], 5
jmp 0x1400c11cb
cmp eax, 5
jne 0x1400c1002
mov dword [0x14011c178], 7
mov dword [rsp + 0x3c], 7
jmp 0x1400c11cb
cmp eax, 7
jne 0x1400c101e
mov dword [0x14011c178], 9
mov dword [rsp + 0x3c], 9
jmp 0x1400c11cb
cmp eax, 9
jne 0x1400c103a
mov dword [0x14011c178], 0x47
mov dword [rsp + 0x3c], 0x47
jmp 0x1400c11cb
cmp eax, 0x47
jne 0x1400c1056
mov dword [0x14011c178], 0x49
mov dword [rsp + 0x3c], 0x49
jmp 0x1400c11cb
cmp eax, 0x49
jne 0x1400c1072
mov dword [0x14011c178], 0x4b
mov dword [rsp + 0x3c], 0x4b
jmp 0x1400c11cb
cmp eax, 0x4b
jne 0x1400c108e
mov dword [0x14011c178], 0x5b
mov dword [rsp + 0x3c], 0x5b
jmp 0x1400c11cb
cmp eax, 0x5b
jne 0x1400c10aa
mov dword [0x14011c178], 0x5d
mov dword [rsp + 0x3c], 0x5d
jmp 0x1400c11cb
cmp eax, 0x5d
jne 0x1400c10c6
mov dword [0x14011c178], 0x5f
mov dword [rsp + 0x3c], 0x5f
jmp 0x1400c11cb
cmp eax, 0x5f
jne 0x1400c10e2
mov dword [0x14011c178], 0x187
mov dword [rsp + 0x3c], 0x187
jmp 0x1400c11cb
cmp eax, 0x187
jne 0x1400c1100
mov dword [0x14011c178], 0x17b
mov dword [rsp + 0x3c], 0x17b
jmp 0x1400c11cb
mov dword [rsp + 0x3c], eax
jmp 0x1400c11cb
cmp eax, 3
jne 0x1400c111b
mov dword [rsp + 0x3c], 0x18c0
jmp 0x1400c11cb
cmp eax, 4
jne 0x1400c112d
mov dword [rsp + 0x3c], 0x336
jmp 0x1400c11cb
cmp eax, 5
jne 0x1400c11c7
mov eax, dword [0x14011c174]
cmp eax, 0x8ca
jne 0x1400c1157
mov dword [0x14011c174], 0x8c2
mov dword [rsp + 0x3c], 0x8c2
jmp 0x1400c11cb
cmp eax, 0x8c2
jne 0x1400c1172
mov dword [0x14011c174], 0x8c4
mov dword [rsp + 0x3c], 0x8c4
jmp 0x1400c11cb
cmp eax, 0x8c4
jne 0x1400c118d
mov dword [0x14011c174], 0x8c6
mov dword [rsp + 0x3c], 0x8c6
jmp 0x1400c11cb
cmp eax, 0x8c6
jne 0x1400c11a8
mov dword [0x14011c174], 0x8c8
mov dword [rsp + 0x3c], 0x8c8
jmp 0x1400c11cb
cmp eax, 0x8c8
jne 0x1400c1100
mov dword [0x14011c174], 0x8ca
mov dword [rsp + 0x3c], 0x8ca
jmp 0x1400c11cb
mov dword [rsp + 0x3c], ecx
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov dword [rbp + 0x12f4], 0xffffffff
mov edx, 1
mov dword [rsp + 0x74], eax
nop dword [rax]
nop dword [rax + rax]
mov ecx, eax
shr ecx, 0x1e
xor ecx, eax
imul eax, ecx, 0x6c078965
add eax, edx
mov dword [rsp + rdx*4 + 0x74], eax
inc rdx
cmp rdx, 0x270
jb 0x1400c11f0
mov dword [rsp + 0x70], 0x270
nop word [rax + rax]
lea rcx, [rsp + 0x70]
call fcn.14009b810
mov ecx, eax
mov eax, 0xa57eb503
mul ecx
shr edx, 6
cmp edx, 0x295fad4
jae 0x1400c1220
mov edi, 0x80000000
mov eax, 0xa57eb503
mul ecx
shr edx, 6
imul eax, edx, 0x63
sub ecx, eax
add ecx, 0x80000001
cmp ecx, edi
lea eax, [rcx + rdi]
lea ebx, [rcx - 0x80000000]
cmovae ebx, eax
lea rcx, [rsp + 0x70]
call fcn.14009b810
mov ecx, eax
mov eax, 0x22b63cbf
mul ecx
shr edx, 3
cmp edx, 0x456c797
jae 0x1400c1266
mov eax, 0x22b63cbf
mov dword [rsp + 0x54], ebx
mov rbx, qword [0x140126af0]
mul ecx
movss dword [rsp + 0x40], xmm6
movaps xmm6, xmmword [rsp + 0x1420]
movss dword [rsp + 0x44], xmm7
movaps xmm7, xmmword [rsp + 0x1410]
mov dword [rsp + 0x34], 0xc20
shr edx, 3
imul eax, edx, 0x3b
sub ecx, eax
lea edx, [rcx - 0x7fffffff]
cmp edx, edi
lea ecx, [rdx - 0x80000000]
lea eax, [rdx + rdi]
cmovae eax, ecx
cmp qword [rbx + 0x10], 0
mov dword [rsp + 0x58], eax
je 0x1400c1349
cmp qword [rbx + 8], 0
je 0x1400c1349
mov edx, 0x41
xor ecx, ecx
lea r8d, [rdx - 0x40]
call fcn.140050980
movups xmm0, xmmword [rsp + 0x28]
mov edx, dword [rsp + 0x60]
xor ecx, ecx
movups xmm1, xmmword [rsp + 0x38]
mov r8, qword [rax + 0x10]
mov dword [r8], 4
movups xmmword [r8 + 4], xmm0
movups xmm0, xmmword [rsp + 0x48]
movups xmmword [r8 + 0x14], xmm1
movsd xmm1, qword [rsp + 0x58]
movups xmmword [r8 + 0x24], xmm0
movsd qword [r8 + 0x34], xmm1
mov dword [r8 + 0x3c], edx
mov rdx, rax
mov byte [r8 + 0x40], cl
xor r8d, r8d
mov rcx, rbx
call fcn.1400cff10
movsxd rbx, dword [0x14011c158]
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rdi, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rdi, 0x989680
jne 0x1400c136e
imul rax, rax, 0x64
jmp 0x1400c138c
cqo
idiv rdi
mov rcx, rax
imul rax, rdx, 0x3b9aca00
imul rcx, rcx, 0x3b9aca00
cqo
idiv rdi
add rax, rcx
mov rdi, qword [rsp + 0x1440]
mov qword [rsp + 0x20], rax
test rbx, rbx
jle 0x1400c13c0
imul rdx, rbx, 0xf4240
mov rcx, rsi
sub rcx, rdx
cmp rax, rcx
jge 0x1400c13bb
lea rcx, [rdx + rax]
mov qword [rsp + 0x20], rcx
jmp 0x1400c13c0
mov qword [rsp + 0x20], rsi
lea rcx, [rsp + 0x20]
call fcn.14002a4c0
mov byte [0x140125b29], 0
mov rcx, qword [rbp + 0x1300]
xor rcx, rsp
call fcn.1400d1560
lea r11, [rsp + 0x1430]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rsp, r11
pop rbp
ret