Function at 0x140111d70
Capabilities:
Generate random numbers via winapi

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0x100
mov qword [rsp + 0x38], 0xfffffffffffffffe
mov qword [rsp + 0x158], rbx
mov rax, qword [0x1402b4298]
xor rax, rsp
mov qword [rbp + 0x1f], rax
mov rdi, r8
mov r15, rcx
mov qword [rsp + 0x40], rcx
lea rcx, [rsp + 0x48]
call fcn.14010e9a0
nop
movups xmm0, xmmword [0x1401fa240]
movups xmmword [rbp - 0x19], xmm0
movups xmm1, xmmword [0x1401fa250]
movups xmmword [rbp - 9], xmm1
movzx eax, word [0x1401fa260]
mov word [rbp + 7], ax
movups xmm0, xmmword [str.123456789abcdef]
movups xmmword [rbp + 0xf], xmm0
mov r8d, 0x20
xor r13d, r13d
mov esi, r13d
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x140111f7b
mov r12, qword [rbp - 0x79]
mov r14, qword [rsp + 0x48]
nop dword [rax]
lea rax, [rsp + 0x48]
cmp r12, 8
cmovae rax, r14
cmp word [rax + rsi*2], 0x25
jne 0x140111f6f
cmp r8d, 0x20
jne 0x140111f25
mov dword [rsp + 0x20], 0xf0000040
lea r9d, [r8 - 0x1f]
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x30]
call qword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
test eax, eax
je 0x140111e57
mov ebx, r13d
jmp 0x140111ecf
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
cmp eax, 0x80090016
jne 0x140111ecb
mov dword [rsp + 0x20], 0xf0000048
mov r9d, 1
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x30]
call qword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
test eax, eax
je 0x140111e8d
mov ebx, r13d
jmp 0x140111ecf
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
cmp eax, 0x8009000f
jne 0x140111ecb
mov dword [rsp + 0x20], 0xf0000040
mov r9d, 1
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x30]
call qword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
test eax, eax
je 0x140111ec3
mov ebx, r13d
jmp 0x140111ecf
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
test ebx, ebx
jne 0x140111f00
lea r8, [rbp + 0xf]
mov edx, reloc.WS2_32.dll_recv
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.ADVAPI32.dll_CryptGenRandom]
test eax, eax
jne 0x140111eef
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
xor edx, edx
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
test ebx, ebx
je 0x140111f14
test rdi, rdi
je 0x1401120e7
call fcn.14010d830
mov dword [rdi], ebx
mov qword [rdi + 8], rax
test rdi, rdi
je 0x140111f22
cmp dword [rdi], r13d
jne 0x140112006
mov r8d, r13d
mov eax, r8d
test r8d, r8d
jns 0x140111f31
lea eax, [r8 + 1]
sar eax, 1
cdqe
movsx eax, byte [rbp + rax + 0xf]
mov ecx, r8d
and ecx, 1
shl ecx, 2
sar eax, cl
inc r8d
lea rcx, [rsp + 0x48]
cmp r12, 8
cmovae rcx, r14
and eax, 0xf
movzx eax, word [rbp + rax*2 - 0x19]
mov word [rcx + rsi*2], ax
mov r12, qword [rbp - 0x79]
mov rcx, qword [rsp + 0x58]
mov r14, qword [rsp + 0x48]
inc rsi
cmp rsi, rcx
jb 0x140111e10
test rdi, rdi
je 0x140111f8c
mov dword [rdi], r13d
call fcn.14010d830
mov qword [rdi + 8], rax
lea rdx, [rsp + 0x48]
mov rcx, r15
call fcn.14010e9a0
nop
mov rdx, qword [rbp - 0x79]
cmp rdx, 8
jb 0x140111fdc
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140111fd6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140112112
call fcn.140169b20
nop
mov rax, r15
mov rcx, qword [rbp + 0x1f]
xor rcx, rsp
call fcn.14016a510
mov rbx, qword [rsp + 0x158]
add rsp, 0x100
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov qword [r15 + 0x10], r13
mov qword [r15 + 0x18], 7
mov word [r15], r13w
mov qword [rbp - 9], r13
mov qword [rbp - 1], recv
mov byte [rbp - 0x19], 0
xor r8d, r8d
lea rdx, [0x1401f9caa]
lea rcx, [rbp - 0x19]
call fcn.140016660
nop
mov rsi, qword [rbp - 9]
test rsi, rsi
je 0x140112072
lea rdi, [rbp - 0x19]
cmp qword [rbp - 1], 0x10
cmovae rdi, qword [rbp - 0x19]
lea rbx, [rbp - 0x19]
cmovae rbx, qword [rbp - 0x19]
call fcn.14010f110
mov r9, rax
lea rdx, [rsi + rdi]
mov r8, r15
mov rcx, rbx
call fcn.14010dec0
nop
mov rdx, qword [rbp - 1]
cmp rdx, 0x10
jb 0x1401120aa
inc rdx
mov rcx, qword [rbp - 0x19]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1401120a4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140112118
call fcn.140169b20
nop
cmp r12, 8
jb 0x1401120e2
lea rdx, [r12*2 + 2]
mov r8, r14
cmp rdx, 0x1000
jb 0x1401120d9
add rdx, 0x27
mov r14, qword [r14 - 8]
sub r8, r14
add r8, 0xfffffffffffffff8
cmp r8, 0x1f
ja 0x140112112
mov rcx, r14
call fcn.140169b20
nop
jmp 0x140111fdc
call fcn.14010d780
mov r8, rax
lea r9, str.boost::filesystem::unique_path
mov edx, ebx
lea rcx, [rbp - 0x69]
call fcn.14010dca0
lea rdx, [0x1402ab7a0]
lea rcx, [rbp - 0x69]
call fcn.140187364
nop
call fcn.14018aa4c
nop
call fcn.14018aa4c
int3