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

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 - 0x1460]
mov eax, 0x1560
call fcn.140314660
sub rsp, rax
movaps xmmword [rsp + 0x1550], xmm6
movaps xmmword [rsp + 0x1540], xmm7
movaps xmmword [rsp + 0x1530], xmm8
movaps xmmword [rsp + 0x1520], xmm9
movaps xmmword [rsp + 0x1510], xmm10
movaps xmmword [rsp + 0x1500], xmm11
movaps xmmword [rsp + 0x14f0], xmm12
movaps xmmword [rsp + 0x14e0], xmm13
movaps xmmword [rsp + 0x14d0], xmm14
movaps xmmword [rsp + 0x14c0], xmm15
mov rax, qword [0x140398130]
xor rax, rsp
mov qword [rbp + 0x13b0], rax
mov r14, rcx
lea rsi, [rcx + 0x8f0]
cmp qword [rsi], 0
jne 0x14012619d
call fcn.1402bd198
mov dword [rbp + 0x13a4], 0xffffffff
mov dword [rbp + 0x24], eax
mov edx, 1
mov ecx, eax
shr ecx, 0x1e
xor ecx, eax
imul eax, ecx, 0x6c078965
add eax, edx
mov dword [rbp + rdx*4 + 0x24], eax
inc rdx
cmp rdx, 0x270
jb 0x140125d71
mov dword [rbp + 0x20], 0x270
call qword [sym.imp.WINMM.dll_timeGetTime]
mov ecx, eax
call fcn.14031a6d0
lea r15, [rsi + 0x40]
xor r13d, r13d
cmp rsi, r15
je 0x140126178
movaps xmm10, xmmword [0x140377c30]
xorps xmm12, xmm12
movss xmm13, dword [0x140376da4]
movss xmm14, dword [0x140376e88]
movss xmm15, dword [0x140376e08]
movss xmm1, dword [0x140376e70]
movss xmm11, dword [0x140376eb0]
nop dword [rax]
lea rcx, [rbp + 0x20]
call fcn.140268a20
mov eax, eax
xorps xmm9, xmm9
cvtsi2ss xmm9, rax
subss xmm9, xmm12
addss xmm9, xmm12
mulss xmm9, xmm13
mulss xmm9, xmm14
addss xmm9, xmm15
lea rcx, [rbp + 0x20]
call fcn.140268a20
mov eax, eax
xorps xmm8, xmm8
cvtsi2ss xmm8, rax
subss xmm8, xmm12
addss xmm8, xmm12
mulss xmm8, xmm13
mulss xmm8, xmm14
addss xmm8, xmm15
lea rcx, [rbp + 0x20]
call fcn.140268a20
mov eax, eax
xorps xmm7, xmm7
cvtsi2ss xmm7, rax
subss xmm7, xmm12
addss xmm7, xmm12
mulss xmm7, xmm13
addss xmm7, xmm12
movaps xmm0, xmm9
mulss xmm0, xmm1
subss xmm7, xmm0
lea rcx, [rbp + 0x20]
call fcn.140268a20
mov eax, eax
xorps xmm6, xmm6
cvtsi2ss xmm6, rax
subss xmm6, xmm12
addss xmm6, xmm12
mulss xmm6, xmm13
addss xmm6, xmm12
movaps xmm0, xmm8
mulss xmm0, xmm1
subss xmm6, xmm0
mov ecx, reloc.WS2_32.dll_WSASetLastError
call fcn.1403139e8
mov r12, rax
mov qword [rbp], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
movups xmmword [rax + 0x30], xmm0
movups xmmword [rax + 0x40], xmm0
movups xmmword [rax + 0x50], xmm0
movups xmmword [rax + 0x60], xmm0
movss dword [rbp - 0x40], xmm7
movss dword [rbp - 0x3c], xmm6
movss dword [rbp - 0x38], xmm9
movss dword [rbp - 0x34], xmm8
mov dword [rsp + 0x50], reloc.WS2_32.dll_listen
mov dword [rsp + 0x54], 0xa0010
mov dword [rsp + 0x58], 0x100004
mov dword [rsp + 0x5c], 0x4001d
mov dword [rsp + 0x60], 0x120010
mov dword [rsp + 0x64], 0x100004
mov dword [rsp + 0x68], 0x40005
mov dword [rsp + 0x6c], 0xc0000
mov dword [rsp + 0x70], 0x100004
mov dword [rsp + 0x74], Ordinal_33
mov dword [rsp + 0x78], 0xc0010
mov dword [rsp + 0x7c], 0x100000
mov dword [rbp - 0x80], 0x75
mov dword [rbp - 0x7c], 0x300010
mov dword [rbp - 0x78], 4
mov dword [rbp - 0x74], 0x400e7
mov dword [rbp - 0x70], 0xe80020
mov qword [rbp - 0x6c], 0x200004
mov qword [rbp - 0x64], r13
mov qword [rbp - 0x5c], r13
mov dword [rbp - 0x54], r13d
mov dword [rbp - 0x50], 0x63cc0000
mov dword [rbp - 0x4c], 0x3050009
mov word [rbp - 0x48], WSAStartup
mov r10d, r13d
lea r9, [rbp - 0x68]
nop word [rax + rax]
lea ebx, [r10 + r10*2]
movzx ecx, word [rsp + rbx*2 + 0x50]
mov word [r9], cx
movzx eax, r10w
add ax, ax
lea edi, [rax + r10]
movzx r8d, byte [rbp - 0x4c]
add r8w, di
xor r8w, cx
mov word [r9], r8w
xor dl, dl
lea eax, [rbx + 1]
movzx r11d, word [rsp + rax*2 + 0x50]
nop dword [rax]
nop dword [rax + rax]
movzx ecx, dl
movzx eax, r11w
shr ax, cl
test al, 1
jne 0x140126007
inc dl
cmp dl, 4
jne 0x140125ff0
jmp 0x140126017
movzx r8d, r8w
movzx eax, byte [rbp - 0x49]
btc r8d, eax
mov word [r9], r8w
mov cl, 5
lea eax, [rbx + 2]
mov r11d, eax
movzx edx, word [rsp + rax*2 + 0x50]
movzx eax, dx
shr ax, cl
test al, 1
jne 0x140126037
inc cl
cmp cl, 8
jne 0x140126024
jmp 0x14012604a
movzx ecx, r8w
movzx eax, byte [rbp - 0x4a]
btc ecx, eax
movzx r8d, cx
mov word [r9], cx
xor cl, cl
movzx edx, word [rsp + r11*2 + 0x50]
movzx eax, dx
shr ax, cl
test al, 1
jne 0x140126065
inc cl
cmp cl, 5
jne 0x140126052
jmp 0x140126078
movzx ecx, r8w
movzx eax, byte [rbp - 0x4b]
btc ecx, eax
movzx r8d, cx
mov word [r9], cx
movzx eax, byte [rbp - 0x4d]
add ax, di
xor ax, r8w
mov word [r9], ax
inc r10d
add r9, 2
cmp r10d, 0xc
jne 0x140125fb0
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], r13
mov qword [rbp - 8], r13
lea rax, [rbp - 0x68]
mov r8, 0xffffffffffffffff
inc r8
cmp word [rax + r8*2], 0
jne 0x1401260b2
lea rdx, [rbp - 0x68]
lea rcx, [rbp - 0x20]
call fcn.1400855f0
movdqa xmmword [rbp - 0x30], xmm10
movups xmm0, xmmword [rbp - 0x40]
movdqa xmmword [rbp + 0x10], xmm0
mov edx, 0x81
movss dword [rsp + 0x40], xmm11
lea rax, [rbp - 0x30]
mov qword [rsp + 0x30], rax
lea r9, [rbp + 0x10]
lea r8, [rbp - 0x20]
mov rcx, r12
call fcn.1400b9630
mov rdi, rax
mov qword [rsi], rax
mov rax, qword [rax + 0x18]
mov rcx, qword [0x14039d380]
mov rdx, qword [0x14039d378]
sub rcx, rdx
sar rcx, 3
cmp rcx, rax
jbe 0x14012620d
mov rcx, qword [rdx + rax*8]
mov ebx, dword [rcx + 0x2c]
call fcn.14031a6a4
xor edx, edx
div ebx
mov rcx, rdi
call fcn.1400b9830
mov rbx, qword [rsi]
mov rdi, qword [r14 + 0xb8]
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x14012615f
mov edx, reloc.WS2_32.dll_recv
call fcn.1403139e0
mov qword [rbx + 0x10], r13
mov qword [rbx + 8], rdi
add rsi, 8
cmp rsi, r15
movss xmm1, dword [0x140376e70]
jne 0x140125df0
lea rcx, [r14 + 0x930]
lea rax, [rcx + 0x20]
mov r8d, 8
cmp rcx, rax
cmova r8, r13
ja 0x14012619d
shl r8, 2
xor edx, edx
call fcn.1403163f0
mov byte [r14 + 0x950], 0
mov rcx, qword [rbp + 0x13b0]
xor rcx, rsp
call fcn.1403139c0
lea r11, [rsp + 0x1560]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.140077f00
int3