Function at 0x1400bbbb0
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.1400ce320
sub rsp, rax
mov rax, qword [0x14011a028]
xor rax, rsp
mov qword [rbp + 0x1300], rax
cmp byte [0x140123ac7], 0
movabs rsi, 0x7fffffffffffffff
mov qword [rsp + 0x1440], rdi
je 0x1400bc099
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 0x1400bbc2e
imul rax, rax, 0x64
jmp 0x1400bbc4c
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 0x1400bbc68
add rax, 0x1e8480
mov qword [rsp + 0x20], rax
jmp 0x1400bbc6d
mov qword [rsp + 0x20], rsi
lea rcx, [rsp + 0x20]
call fcn.1400275e0
mov rax, qword [0x140124ae0]
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 0x1400bbcd1
mov dword [rsp + 0x3c], 0x263
jmp 0x1400bbf1b
cmp eax, 2
jne 0x1400bbe59
mov eax, dword [0x14011a17c]
cmp eax, 0x17b
jne 0x1400bbcfe
mov dword [0x14011a17c], 1
mov dword [rsp + 0x3c], 1
jmp 0x1400bbf1b
cmp eax, 1
jne 0x1400bbd1a
mov dword [0x14011a17c], 3
mov dword [rsp + 0x3c], 3
jmp 0x1400bbf1b
cmp eax, 3
jne 0x1400bbd36
mov dword [0x14011a17c], 5
mov dword [rsp + 0x3c], 5
jmp 0x1400bbf1b
cmp eax, 5
jne 0x1400bbd52
mov dword [0x14011a17c], 7
mov dword [rsp + 0x3c], 7
jmp 0x1400bbf1b
cmp eax, 7
jne 0x1400bbd6e
mov dword [0x14011a17c], 9
mov dword [rsp + 0x3c], 9
jmp 0x1400bbf1b
cmp eax, 9
jne 0x1400bbd8a
mov dword [0x14011a17c], 0x47
mov dword [rsp + 0x3c], 0x47
jmp 0x1400bbf1b
cmp eax, 0x47
jne 0x1400bbda6
mov dword [0x14011a17c], 0x49
mov dword [rsp + 0x3c], 0x49
jmp 0x1400bbf1b
cmp eax, 0x49
jne 0x1400bbdc2
mov dword [0x14011a17c], 0x4b
mov dword [rsp + 0x3c], 0x4b
jmp 0x1400bbf1b
cmp eax, 0x4b
jne 0x1400bbdde
mov dword [0x14011a17c], 0x5b
mov dword [rsp + 0x3c], 0x5b
jmp 0x1400bbf1b
cmp eax, 0x5b
jne 0x1400bbdfa
mov dword [0x14011a17c], 0x5d
mov dword [rsp + 0x3c], 0x5d
jmp 0x1400bbf1b
cmp eax, 0x5d
jne 0x1400bbe16
mov dword [0x14011a17c], 0x5f
mov dword [rsp + 0x3c], 0x5f
jmp 0x1400bbf1b
cmp eax, 0x5f
jne 0x1400bbe32
mov dword [0x14011a17c], 0x187
mov dword [rsp + 0x3c], 0x187
jmp 0x1400bbf1b
cmp eax, 0x187
jne 0x1400bbe50
mov dword [0x14011a17c], 0x17b
mov dword [rsp + 0x3c], 0x17b
jmp 0x1400bbf1b
mov dword [rsp + 0x3c], eax
jmp 0x1400bbf1b
cmp eax, 3
jne 0x1400bbe6b
mov dword [rsp + 0x3c], 0x18c0
jmp 0x1400bbf1b
cmp eax, 4
jne 0x1400bbe7d
mov dword [rsp + 0x3c], 0x336
jmp 0x1400bbf1b
cmp eax, 5
jne 0x1400bbf17
mov eax, dword [0x14011a178]
cmp eax, 0x8ca
jne 0x1400bbea7
mov dword [0x14011a178], 0x8c2
mov dword [rsp + 0x3c], 0x8c2
jmp 0x1400bbf1b
cmp eax, 0x8c2
jne 0x1400bbec2
mov dword [0x14011a178], 0x8c4
mov dword [rsp + 0x3c], 0x8c4
jmp 0x1400bbf1b
cmp eax, 0x8c4
jne 0x1400bbedd
mov dword [0x14011a178], 0x8c6
mov dword [rsp + 0x3c], 0x8c6
jmp 0x1400bbf1b
cmp eax, 0x8c6
jne 0x1400bbef8
mov dword [0x14011a178], 0x8c8
mov dword [rsp + 0x3c], 0x8c8
jmp 0x1400bbf1b
cmp eax, 0x8c8
jne 0x1400bbe50
mov dword [0x14011a178], 0x8ca
mov dword [rsp + 0x3c], 0x8ca
jmp 0x1400bbf1b
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 0x1400bbf40
mov dword [rsp + 0x70], 0x270
nop word [rax + rax]
lea rcx, [rsp + 0x70]
call fcn.140092670
mov ecx, eax
mov eax, 0xa57eb503
mul ecx
shr edx, 6
cmp edx, 0x295fad4
jae 0x1400bbf70
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.140092670
mov ecx, eax
mov eax, 0x22b63cbf
mul ecx
shr edx, 3
cmp edx, 0x456c797
jae 0x1400bbfb6
mov eax, 0x22b63cbf
mov dword [rsp + 0x54], ebx
mov rbx, qword [0x140124ae0]
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 0x1400bc099
cmp qword [rbx + 8], 0
je 0x1400bc099
mov edx, 0x41
xor ecx, ecx
lea r8d, [rdx - 0x40]
call fcn.140051f80
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.1400cb700
movsxd rbx, dword [0x14011a15c]
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 0x1400bc0be
imul rax, rax, 0x64
jmp 0x1400bc0dc
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 0x1400bc110
imul rdx, rbx, 0xf4240
mov rcx, rsi
sub rcx, rdx
cmp rax, rcx
jge 0x1400bc10b
lea rcx, [rdx + rax]
mov qword [rsp + 0x20], rcx
jmp 0x1400bc110
mov qword [rsp + 0x20], rsi
lea rcx, [rsp + 0x20]
call fcn.1400275e0
mov byte [0x140123b02], 0
mov rcx, qword [rbp + 0x1300]
xor rcx, rsp
call fcn.1400cd0f0
lea r11, [rsp + 0x1430]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rsp, r11
pop rbp
ret