Function at 0x14005dcc0
Capabilities:
Generate random numbers using a mersenne twister

Disassembly:
push rbp
push rsi
push rdi
push rbx
mov eax, 0x13e8
call fcn.140141320
sub rsp, rax
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x1360], 0xfffffffffffffffe
cmp byte [rcx], 0
je 0x14005ddc7
mov rax, qword [rdx]
mov rdi, qword [rax + 0x78]
test rdi, rdi
je 0x14005ddc7
cmp qword [rdi + 8], 0
je 0x14005ddc7
cmp dword [rdi + 0x18], 0
jne 0x14005ddc7
mov esi, dword [rdi + 0x1c]
dec esi
cmp esi, 0x63
ja 0x14005ddc7
mov rbx, r8
cmp dword [rax + 0x2d0], 0
je 0x14005dd3e
xor r8d, r8d
cmp qword [rdi + 0x150], 0
jne 0x14005dd53
jmp 0x14005ddc7
cmp dword [rax + 0x2d4], 0
sete r8b
cmp qword [rdi + 0x150], 0
je 0x14005ddc7
cmp dword [rdi + 0x158], 0
je 0x14005ddc7
mov esi, dword [rdi + 0x15c]
cmp esi, 0xbf39e12b
je 0x14005ddc7
test esi, esi
je 0x14005ddc7
cmp dword [0x140321d58], esi
je 0x14005ddc7
cmp dword [0x140321d5c], esi
je 0x14005ddc7
cmp dword [0x140321d60], esi
je 0x14005ddc7
mov eax, 3
lea r9, [0x140321d70]
cmp dword [r9 + rax*4 - 0xc], esi
je 0x14005ddbe
cmp rax, 0x27
je 0x14005ddc7
cmp dword [r9 + rax*4 - 8], esi
je 0x14005ddbe
cmp dword [r9 + rax*4 - 4], esi
je 0x14005ddbe
cmp dword [r9 + rax*4], esi
je 0x14005ddbe
add rax, 4
cmp dword [r9 + rax*4 - 0xc], esi
jne 0x14005dd99
cmp byte [rdi + 0x174], 0
je 0x14005ddfa
mov rsi, qword [rdx + 8]
test rsi, rsi
je 0x14005dded
lock dec dword [rsi + 8]
jne 0x14005dded
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax]
lock dec dword [rsi + 0xc]
jne 0x14005dded
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + reloc.WS2_32.dll_htonl]
nop
add rsp, 0x13e8
pop rbx
pop rdi
pop rsi
pop rbp
ret
cmp esi, 0x3cc0c81b
je 0x14005de16
cmp esi, 0x53067d9c
je 0x14005de16
cmp esi, 0x787a6587
jne 0x14005dec6
mov eax, 3
lea r9, [0x140321eb0]
cmp dword [r9 + rax*4 - 0xc], esi
je 0x14005de4e
cmp rax, 0x27
je 0x14005ddc7
cmp dword [r9 + rax*4 - 8], esi
je 0x14005de4e
cmp dword [r9 + rax*4 - 4], esi
je 0x14005de4e
cmp dword [r9 + rax*4], esi
je 0x14005de4e
add rax, 4
cmp dword [r9 + rax*4 - 0xc], esi
jne 0x14005de29
cmp esi, 0x6c0dfb00
sete al
or r8b, al
jne 0x14005ddc7
cmp byte [rcx + 1], 0
mov qword [rbp + 0x1358], rdx
je 0x14005df1d
xor ecx, ecx
call fcn.140233c64
mov dword [rbp + 0x1324], 0xffffffff
mov dword [rbp - 0x5c], eax
mov ecx, 3
mov edx, eax
shr edx, 0x1e
xor edx, eax
imul eax, edx, 0x6c078965
add rax, rcx
add rax, 0xfffffffffffffffe
mov dword [rbp + rcx*4 - 0x64], eax
cmp rcx, 0x271
je 0x14005deec
mov edx, eax
shr edx, 0x1e
xor edx, eax
imul eax, edx, 0x6c078965
add eax, ecx
dec eax
mov dword [rbp + rcx*4 - 0x60], eax
add rcx, 2
jmp 0x14005de8a
cmp dword [rdi + 0x170], 0
je 0x14005ddc7
cmp esi, 0xbf39e12b
je 0x14005ddc7
test esi, esi
je 0x14005ddc7
jmp 0x14005de16
mov dword [rbp - 0x60], 0x270
movabs rax, 0x300000001
mov qword [rbp + 0x1328], rax
lea rcx, [rbp + 0x1328]
lea rdx, [rbp - 0x60]
call fcn.14005e070
mov rdx, qword [rbp + 0x1358]
jmp 0x14005df20
mov eax, dword [rcx + 4]
cmp dword [rdi + 0x170], eax
jne 0x14005ddc7
mov rax, qword [0x1403314e0]
xorps xmm0, xmm0
movaps xmmword [rbp - 0x60], xmm0
mov rcx, qword [rax + 0x40]
test rcx, rcx
je 0x14005df4d
lock inc dword [rcx + 8]
mov rdx, qword [rax + 0x40]
jmp 0x14005df4f
xor edx, edx
mov rcx, qword [rax + 0x38]
mov qword [rbp - 0x60], rcx
mov qword [rbp - 0x58], rdx
test rcx, rcx
je 0x14005dff4
xorps xmm0, xmm0
movaps xmmword [rbp + 0x1330], xmm0
mov rdx, qword [rbp + 0x1358]
mov rax, qword [rdx + 8]
test rax, rax
je 0x14005df88
lock inc dword [rax + 8]
mov rax, qword [rdx + 8]
jmp 0x14005df8a
xor eax, eax
mov rdx, qword [rdx]
mov qword [rbp + 0x1330], rdx
mov qword [rbp + 0x1338], rax
lea rdx, [rbp + 0x1330]
mov r8, rbx
call fcn.14004e210
mov rcx, qword [rbp - 0x60]
xorps xmm0, xmm0
movaps xmmword [rbp + 0x1340], xmm0
mov rdx, qword [rbp + 0x1358]
mov rax, qword [rdx + 8]
test rax, rax
je 0x14005dfd2
lock inc dword [rax + 8]
mov rax, qword [rdx + 8]
jmp 0x14005dfd4
xor eax, eax
mov rdx, qword [rdx]
mov qword [rbp + 0x1340], rdx
mov qword [rbp + 0x1348], rax
lea rdx, [rbp + 0x1340]
mov r8, rbx
call fcn.14004e3f0
lea rcx, [rbp - 0x60]
call fcn.140003e50
mov rdx, qword [rbp + 0x1358]
jmp 0x14005ddc7