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

Disassembly:
push rbx
push rbp
push r14
mov eax, 0x1400
call fcn.14000a5c0
sub rsp, rax
mov rax, qword [0x140042018]
xor rax, rsp
mov qword [rsp + 0x13c0], rax
mov r14, rdx
mov rbp, rcx
call fcn.140007210
call fcn.1400071f4
mov rdx, r14
mov rcx, rbp
call fcn.140002970
movzx ebx, al
call fcn.140007210
call fcn.1400071f4
test bl, bl
jne 0x14000292c
mov qword [rsp + 0x1430], rsi
mov qword [rsp + 0x13f8], rdi
mov edi, 0x80000000
mov qword [rsp + 0x13f0], r12
movabs r12, 0x112e0be826d694b3
mov qword [rsp + 0x13e8], r13
movabs r13, 0x7fffffffffffffff
mov qword [rsp + 0x13e0], r15
movabs r15, 0x311cdad160000
movaps xmmword [rsp + 0x13d0], xmm6
movsd xmm6, qword [0x14003ce30]
nop
call fcn.14000914c
mov dword [rsp + 0x34], eax
mov edx, 1
mov dword [rsp + 0x13b4], 0xffffffff
nop dword [rax]
mov ecx, eax
shr ecx, 0x1e
xor ecx, eax
imul eax, ecx, 0x6c078965
add eax, edx
mov dword [rsp + rdx*4 + 0x34], eax
inc rdx
cmp rdx, 0x270
jb 0x1400026f0
mov dword [rsp + 0x30], 0x270
nop word [rax + rax]
lea rcx, [rsp + 0x30]
call fcn.140006d20
mov r8d, eax
mov eax, 0x8421085
mul r8d
mov ecx, r8d
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 4
cmp ecx, 0x8421084
jae 0x140002720
mov eax, 0x8421085
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
lea rdx, str.Waiting_for
shr eax, 4
imul eax, eax, 0x1f
sub r8d, eax
lea ecx, [r8 - 0x7fffffd3]
cmp ecx, edi
lea eax, [rcx + rdi]
lea ebx, [rcx - 0x80000000]
lea rcx, [0x140043380]
cmovae ebx, eax
call fcn.1400058d0
mov rcx, rax
mov edx, ebx
call fcn.140003260
mov rcx, rax
lea rdx, str._seconds_before_retrying...
call fcn.1400058d0
mov rcx, rax
call fcn.140005b80
movsxd rbx, ebx
call fcn.140007210
mov rdi, rax
call fcn.1400071f4
mov rcx, rax
cmp rdi, 0x989680
jne 0x1400027ce
imul rsi, rcx, 0x64
jmp 0x1400027f4
cqo
idiv rdi
imul rax, rdx, 0x3b9aca00
cqo
idiv rdi
mov rsi, rax
mov rax, rcx
cqo
idiv rdi
imul rcx, rax, 0x3b9aca00
add rsi, rcx
test rbx, rbx
jle 0x140002813
imul rcx, rbx, 0x3b9aca00
mov rax, r13
sub rax, rcx
cmp rsi, rax
jge 0x140002810
add rsi, rcx
jmp 0x140002813
mov rsi, r13
call fcn.140007210
mov rdi, rax
call fcn.1400071f4
mov rcx, rax
cmp rdi, 0x989680
jne 0x140002832
imul rbx, rcx, 0x64
jmp 0x140002858
cqo
idiv rdi
imul rax, rdx, 0x3b9aca00
cqo
idiv rdi
mov rbx, rax
mov rax, rcx
cqo
idiv rdi
imul rcx, rax, 0x3b9aca00
add rbx, rcx
cmp rbx, rsi
jge 0x1400028cd
call fcn.140007308
imul rcx, rax, 0x64
xorps xmm0, xmm0
mov rax, rsi
sub rax, rbx
lea r8, [rcx + r15]
cvtsi2sd xmm0, rax
comisd xmm0, xmm6
seta r9b
test r9b, r9b
jne 0x140002889
lea r8, [rcx + rax]
add rax, rcx
lea rdx, [rcx + r15]
test r9b, r9b
lea rcx, [rsp + 0x20]
cmove rdx, rax
mov rax, r12
imul rdx
sar rdx, 0x1a
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul eax, edx, 0x3b9aca00
mov qword [rsp + 0x20], rdx
sub r8d, eax
mov dword [rsp + 0x28], r8d
call fcn.140009428
jmp 0x140002813
call fcn.140007210
call fcn.1400071f4
mov rdx, r14
mov rcx, rbp
call fcn.140002970
movzx ebx, al
call fcn.140007210
call fcn.1400071f4
mov edi, 0x80000000
test bl, bl
je 0x1400026d0
movaps xmm6, xmmword [rsp + 0x13d0]
mov r15, qword [rsp + 0x13e0]
mov r13, qword [rsp + 0x13e8]
mov r12, qword [rsp + 0x13f0]
mov rdi, qword [rsp + 0x13f8]
mov rsi, qword [rsp + 0x1430]
lea rdx, str.send_done.
lea rcx, [0x140043380]
call fcn.1400058d0
mov rcx, rax
call fcn.140005b80
mov rcx, qword [rsp + 0x13c0]
xor rcx, rsp
call fcn.140009e90
add rsp, 0x1400
pop r14
pop rbp
pop rbx
ret