Function at 0x14000153e
Capabilities:
Generate random numbers via rtlgenrandom

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x98
lea rbp, [rsp + 0x80]
mov dword [rbp - 0x14], edx
mov qword [rbp - 0x38], rcx
mov eax, dword [0x14002e978]
mov ecx, dword [0x14002e97c]
lea edx, [rax + 1]
imul edx, eax
mov eax, edx
not eax
mov r8d, eax
and r8d, 0xfffffffe
and edx, 1
or edx, r8d
xor eax, edx
test eax, edx
sete byte [rbp + 0xf]
cmp ecx, 0xa
setl byte [rbp + 0xe]
mov eax, 0x2efc06de
mov r12d, 0xc68c7243
mov esi, 0xe83f008d
mov rdi, qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r14, qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r15d, 0x1000
mov r13d, 0x8313ba0a
cmp eax, 0xfbcf3e1d
jle 0x140001604
cmp eax, 0x4c64304a
jg 0x14000163a
cmp eax, 0xf8014ca
jg 0x1400016bf
cmp eax, 0xa8f5f24
jg 0x1400017fe
cmp eax, 0xfbcf3e1e
je 0x140001997
cmp eax, 0xfbf34ffc
jne 0x1400015bc
mov rax, qword [rbp - 8]
mov rax, qword [rax]
mov qword [rbp - 0x48], rax
mov eax, 0xe1229a3b
jmp 0x1400015bc
cmp eax, 0xc0a71326
jle 0x140001670
cmp eax, 0xe83f008c
jg 0x14000172f
cmp eax, 0xca5115b4
jg 0x140001828
cmp eax, 0xc0a71327
je 0x1400019bf
cmp eax, 0xc68c7243
jne 0x1400015bc
mov eax, 0xe83f008d
jmp 0x1400015bc
cmp eax, 0x6a674c52
jle 0x140001798
cmp eax, 0x730fc8a8
jg 0x140001854
cmp eax, 0x6a674c53
je 0x140001a85
cmp eax, 0x703a569b
jne 0x1400015bc
mov eax, 0x40de356b
jmp 0x1400015bc
cmp eax, 0xa3adcd0c
jle 0x1400017c8
cmp eax, 0xafabd97c
jg 0x1400018ab
cmp eax, 0xa3adcd0d
je 0x140001ac0
cmp eax, 0xad081ae1
jne 0x1400015bc
mov rax, qword [rbp - 0x50]
mov eax, dword [rax + 8]
mov dword [rbp - 0x1c], eax
mov rax, qword [rbp + 0x10]
mov rax, qword [rax]
mov rax, qword [rax + 0x10]
mov qword [rbp - 0x58], rax
mov eax, 0xf8014cb
jmp 0x1400015bc
cmp eax, 0x40de356a
jg 0x1400018d7
cmp eax, 0xf8014cb
je 0x140001ace
cmp eax, 0x2efc06de
jne 0x1400015bc
mov al, byte [rbp + 0xf]
mov cl, byte [rbp + 0xe]
mov edx, eax
xor dl, 1
mov r8d, ecx
xor r8b, 1
and dl, cl
and r8b, al
or r8b, dl
mov edx, eax
xor dl, cl
or al, cl
xor al, 1
or al, dl
mov ecx, eax
xor cl, r8b
test cl, 1
mov ecx, 0xc0a71327
mov edx, 0x448b3079
cmovne ecx, edx
test al, 1
mov eax, 0xc0a71327
cmovne eax, ecx
test r8b, 1
cmove eax, ecx
jmp 0x1400015bc
cmp eax, 0xf77bdf02
jg 0x1400018f7
cmp eax, 0xe83f008d
je 0x140001b0e
cmp eax, 0xec1c2132
jne 0x1400015bc
mov eax, dword [0x14002e978]
lea ecx, [rax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
cmp dword [0x14002e97c], 0xa
setl dl
xor cl, dl
mov r8d, ecx
mov eax, 0xc68c7243
cmovne eax, esi
not r8b
test r8b, dl
cmove eax, r12d
test cl, cl
cmovne eax, esi
test r8b, dl
cmovne eax, esi
jmp 0x1400015bc
cmp eax, 0x599a973f
jle 0x140001977
cmp eax, 0x599a9740
je 0x140001b75
cmp eax, 0x629c5fbb
jne 0x1400015bc
mov rax, qword [rbp - 0x30]
mov dword [rax], 1
jmp 0x14000196d
cmp eax, 0x8fe56774
je 0x140001b8a
cmp eax, 0x9776e70b
je 0x14000196d
cmp eax, 0xa2c9fe89
jne 0x1400015bc
mov rax, qword [rbp - 0x10]
mov rcx, qword [rbp - 0x70]
mov qword [rax], rcx
mov eax, 0x629c5fbb
jmp 0x1400015bc
cmp eax, 0xa8f5f25
je 0x140001ba0
cmp eax, 0xd8a5ad3
jne 0x1400015bc
mov rax, qword [rbp - 0x30]
mov dword [rax], 1
mov eax, 0xec1c2132
jmp 0x1400015bc
cmp eax, 0xca5115b5
je 0x140001bda
cmp eax, 0xe1229a3b
jne 0x1400015bc
mov rax, qword [rbp - 0x48]
cmp rax, 0xffffffffffffffff
sete byte [rbp + 0xd]
mov eax, 0xbad71602
jmp 0x1400015bc
cmp eax, 0x730fc8a9
je 0x140001be4
cmp eax, 0x791697a3
jne 0x1400015bc
mov rax, qword [rbp - 0x68]
mov rax, qword [rax + 8]
movabs rdx, 0xbce09ac919ebca0b
sub rax, rdx
movabs rcx, 0xe50136a097769a9e
sub rax, rcx
add rax, rdx
add rcx, rax
inc rcx
mov rax, qword [rbp - 0x60]
xor edx, edx
div rcx
mov dword [rbp - 0x20], edx
mov eax, 0xa8f5f25
jmp 0x1400015bc
cmp eax, 0xafabd97d
je 0x140001c2f
cmp eax, 0xbad71602
jne 0x1400015bc
cmp byte [rbp + 0xd], 0
mov eax, 0xf77bdf03
mov ecx, 0x56f82cdf
cmovne eax, ecx
jmp 0x1400015bc
cmp eax, 0x40de356b
je 0x140001c44
cmp eax, 0x448b3079
jne 0x1400015bc
mov eax, 0xc0a71327
jmp 0x1400015bc
cmp eax, 0xf77bdf03
je 0x140001c59
cmp eax, 0xf834a146
jne 0x1400015bc
mov rax, qword [rbp + 0x10]
mov rax, qword [rax]
mov rcx, qword [rbp - 0x40]
mov qword [rax + 8], rcx
mov rax, qword [rbp + 0x10]
mov r9, qword [rax]
add r9, 8
mov rax, qword [rbp + 0x10]
mov rdx, qword [rax]
add rdx, 0x10
mov rax, qword [rbp - 8]
mov rcx, qword [rax]
sub rsp, 0x30
mov dword [rsp + 0x28], 4
mov dword [rsp + 0x20], 0x1000
xor r8d, r8d
call fcn.140029d40
add rsp, 0x30
test eax, eax
mov eax, 0x40de356b
mov ecx, 0xfbf34ffc
cmovns eax, ecx
jmp 0x1400015bc
mov eax, 0xa3adcd0d
jmp 0x1400015bc
cmp eax, 0x56f82cdf
jne 0x140001cf6
mov rax, qword [rbp + 0x10]
mov rax, qword [rax]
mov qword [rbp - 0x50], rax
mov eax, 0xad081ae1
jmp 0x1400015bc
mov eax, dword [rbp - 0x18]
add eax, r15d
mov ecx, eax
not ecx
or ecx, r15d
and eax, 0x7cec45f5
and ecx, r13d
or ecx, eax
xor ecx, r13d
mov qword [rbp - 0x40], rcx
mov eax, 0xf834a146
jmp 0x1400015bc
mov eax, 0x10
call fcn.140029534
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x10], rax
mov eax, 0x10
call fcn.140029534
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x28], rax
mov eax, 0x10
call fcn.140029534
sub rsp, rax
mov rax, rsp
mov qword [rbp - 8], rax
mov eax, 0x10
call fcn.140029534
sub rsp, rax
mov rcx, rsp
mov eax, dword [0x14002e978]
lea edx, [rax + 1]
imul edx, eax
mov eax, edx
not eax
mov r8d, eax
and r8d, 0x2d8f40c8
and edx, 0xd270bf37
or edx, r8d
xor edx, 0x2d8f40c9
or edx, eax
xor edx, 0xffffffff
sete al
setne dl
cmp dword [0x14002e97c], 0xa
setl r8b
setge r9b
or r9b, dl
xor r8b, al
mov eax, r9d
xor al, r8b
mov edx, 0xca5115b5
mov eax, 0x448b3079
cmovne edx, eax
test r8b, r8b
mov eax, edx
mov r8d, 0xca5115b5
cmovne eax, r8d
mov qword [rbp + 0x10], rcx
test r9b, r9b
cmovne eax, edx
jmp 0x1400015bc
mov eax, 0x10
call fcn.140029534
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x30], rax
mov eax, 0x10
call fcn.140029534
sub rsp, rax
mov rax, rsp
mov qword [rbp], rax
mov rax, qword [rbp - 0x28]
mov ecx, dword [rbp - 0x14]
mov dword [rax], ecx
mov eax, 0x730fc8a9
jmp 0x1400015bc
mov rax, qword [rbp + 0x10]
mov eax, 0x599a9740
jmp 0x1400015bc
mov edx, dword [rbp - 0x1c]
mov rcx, qword [rbp - 0x58]
sub rsp, 0x20
call sub.ADVAPI32.dll_SystemFunction036
call fcn.140009788
add rsp, 0x20
mov rcx, qword [rbp + 0x10]
mov rcx, qword [rcx]
mov rcx, qword [rcx + 8]
inc rcx
xor edx, edx
div rcx
mov rax, qword [rbp + 0x10]
mov rax, qword [rax]
mov dword [rax + 4], edx
mov eax, 0x703a569b
jmp 0x1400015bc
mov eax, dword [0x14002e978]
lea ecx, [rax + 1]
imul ecx, eax
mov eax, ecx
not eax
and ecx, 0x8d0e97c2
mov edx, eax
and edx, 0x72f1683d
or edx, ecx
xor edx, 0x72f1683c
and eax, 0xfffffffe
or eax, edx
cmp eax, 0xffffffff
sete al
cmp dword [0x14002e97c], 0xa
setl cl
xor al, cl
mov edx, eax
xor dl, 1
and cl, dl
xor dl, cl
mov edx, 0x9776e70b
cmovne edx, r12d
test al, al
mov eax, edx
mov r8d, 0x9776e70b
cmovne eax, r8d
test cl, cl
cmove eax, edx
jmp 0x1400015bc
mov rax, qword [rbp - 0x10]
mov rax, qword [rax]
mov qword [rbp - 0x78], rax
mov eax, 0x4c64304b
jmp 0x1400015bc
mov rax, qword [rbp - 0x28]
mov eax, dword [rax]
shl eax, 0xb
mov dword [rbp - 0x18], eax
mov eax, 0xfbcf3e1e
jmp 0x1400015bc
mov rax, qword [rbp + 0x10]
mov rax, qword [rax]
mov ecx, dword [rbp - 0x20]
mov dword [rax + 4], ecx
mov rax, qword [rbp]
mov rbx, qword [rax]
sub rsp, 0x20
call rdi
mov rcx, rax
xor edx, edx
mov r8, rbx
call qword [sym.imp.KERNEL32.dll_HeapFree]
add rsp, 0x20
mov rax, qword [rbp]
mov eax, 0x703a569b
jmp 0x1400015bc
mov eax, 0x6a674c53
jmp 0x1400015bc
mov rax, qword [rbp - 8]
mov rcx, qword [rbp - 0x38]
mov qword [rax], rcx
mov rax, qword [rbp + 0x10]
sub rsp, 0x20
call rdi
mov r8d, 0x18
mov rcx, rax
mov edx, 8
call r14
add rsp, 0x20
mov rcx, qword [rbp + 0x10]
mov qword [rcx], rax
mov rax, qword [rbp + 0x10]
cmp qword [rax], 0
mov eax, 0x8fe56774
mov ecx, 0xafabd97d
cmove eax, ecx
jmp 0x1400015bc
mov rax, qword [rbp - 0x10]
mov qword [rax], 0
mov eax, 0xd8a5ad3
jmp 0x1400015bc
mov rax, qword [rbp + 0x10]
mov rax, qword [rax]
mov qword [rbp - 0x70], rax
mov eax, 0xa2c9fe89
jmp 0x1400015bc
mov rax, qword [rbp]
mov rax, qword [rbp + 0x10]
mov rax, qword [rax]
mov rbx, qword [rax + 8]
sub rsp, 0x20
call rdi
mov rcx, rax
mov edx, 8
mov r8, rbx
call r14
add rsp, 0x20
mov rcx, qword [rbp]
mov qword [rcx], rax
mov rcx, qword [rbp]
sub rsp, 0x20
mov edx, 8
call sub.ADVAPI32.dll_SystemFunction036
add rsp, 0x20
mov rax, qword [rbp + 0x10]
mov rax, qword [rax]
mov r9, qword [rax + 8]
mov rax, qword [rbp + 0x10]
mov rax, qword [rax]
mov rdx, qword [rax + 0x10]
mov rax, qword [rbp - 8]
mov rcx, qword [rax]
mov r8, qword [rbp]
sub rsp, 0x30
mov qword [rsp + 0x20], 0
call fcn.140029dc0
add rsp, 0x10
call fcn.140009788
add rsp, 0x20
mov qword [rbp - 0x60], rax
mov rax, qword [rbp + 0x10]
mov rax, qword [rax]
mov qword [rbp - 0x68], rax
mov eax, 0x791697a3
jmp 0x1400015bc
cmp eax, 0x4c64304b
jne 0x1400015bc
mov rax, qword [rbp - 0x78]
lea rsp, [rbp + 0x18]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret