Function at 0x140006400
Capabilities:
Generate random numbers via winapi

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r12
push rbp
push r14
push r15
lea rbp, [rsp - 0x230]
sub rsp, 0x330
mov rax, qword [0x14006f020]
xor rax, rsp
mov qword [rbp + 0x220], rax
lea rax, vtable.CKcsLogging.0
lea rcx, [rsp + 0x78]
mov qword [rsp + 0x70], rax
call fcn.1400270c0
lea rcx, [rsp + 0x70]
call fcn.1400260c0
call fcn.140004b00
xor ecx, ecx
call fcn.140037eec
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x50], rax
call fcn.140038258
lea rdx, [0x140064148]
mov rbx, rax
lea rcx, [0x1400709b0]
call fcn.140018560
mov edx, dword [rbx + 8]
mov rcx, rax
call fcn.140008260
mov rcx, rax
call fcn.140017a40
mov edx, dword [rbx + 4]
mov rcx, rax
call fcn.140008260
mov rcx, rax
call fcn.140017a40
mov edx, dword [rbx]
mov rcx, rax
call fcn.140008260
mov rcx, rax
call fcn.1400183f0
call fcn.140006380
xor edi, edi
lea rcx, [0x1400709b0]
test al, al
je 0x140006545
lea rdx, [0x14006416c]
call fcn.140018560
mov rcx, rax
call fcn.1400183f0
call fcn.140005e80
mov ecx, 0xf4241
call fcn.140038660
mov rsi, rax
mov ebx, edi
nop dword [rax]
call fcn.140030d28
mov r8d, eax
mov eax, 0x4ec4ec4f
imul r8d
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0x1a
sub r8d, ecx
add r8b, 0x61
mov byte [rbx + rsi], r8b
inc rbx
cmp rbx, 0xf4240
jl 0x140006500
mov rcx, rsi
mov byte [rsi + 0xf4240], dil
call fcn.1400382a8
jmp 0x140006559
lea rdx, [0x140064174]
call fcn.140018560
mov rcx, rax
call fcn.1400183f0
xor ecx, ecx
call fcn.140037eec
mov rcx, rax
call fcn.140030d54
call fcn.140030d28
mov r8d, eax
mov eax, 0x55555556
imul r8d
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
lea ecx, [rdx + rdx*2]
sub r8d, ecx
cmp r8d, 2
ja 0x14000659a
movsxd rax, r8d
lea rcx, [0x140065740]
call qword [rcx + rax*8]
jmp 0x1400065a6
lea rcx, str.Invalid_option_n
call fcn.140001220
xor ecx, ecx
mov rsi, rdi
mov r15d, edi
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov r9, rax
mov rdx, rdi
movsxd rcx, dword [rax + 0x3c]
mov r10d, dword [rcx + rax + 0x98]
movzx r11d, word [r10 + rax + 0xe]
movzx ecx, word [r10 + rax + 0xc]
add r11, rcx
je 0x14000662e
lea rcx, [rax + 0x14]
add rcx, r10
nop
mov eax, dword [rcx]
test eax, eax
jns 0x14000662e
btr eax, 0x1f
add rax, r10
mov r8d, dword [rax + r9 + 0x14]
test r8d, r8d
jns 0x140006600
cmp word [rax + r9 + 0x10], 0x64
je 0x14000660e
inc rdx
add rcx, 8
cmp rdx, r11
jb 0x1400065e0
jmp 0x14000662e
btr r8d, 0x1f
add r8, r10
mov eax, dword [r8 + r9 + 0x14]
btr eax, 0x1f
add rax, r10
mov esi, dword [rax + r9]
mov r15d, dword [rax + r9 + 4]
add rsi, r9
movups xmm0, xmmword [rsi]
mov r14d, dword [rsi + 0x18]
movsd xmm1, qword [rsi + 0x10]
movd eax, xmm0
movups xmmword [rsp + 0x60], xmm0
movsd qword [rsp + 0x50], xmm1
test eax, eax
je 0x140006711
lea rax, [fcn.140006190]
mov ecx, 0x3039
mov qword [rbp + 0x100], rax
mov ebx, edi
lea rax, [fcn.140006190]
mov qword [rbp + 0x108], rax
lea rax, [fcn.140006190]
mov qword [rbp + 0x110], rax
call fcn.140030d54
nop word [rax + rax]
mov eax, 0x55555556
mov ecx, ebx
imul ebx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
sub ecx, eax
je 0x1400066d6
sub ecx, 1
je 0x1400066b8
cmp ecx, 1
jne 0x1400066fd
call fcn.140006190
jmp 0x1400066fd
call fcn.140030d28
and eax, 0x80000001
jge 0x1400066cb
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
je 0x1400066d6
call fcn.140006190
jmp 0x1400066fd
call fcn.140030d28
mov r8d, eax
mov eax, 0x55555556
imul r8d
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
lea ecx, [rdx + rdx*2]
sub r8d, ecx
movsxd rax, r8d
call qword [rbp + rax*8 + 0x100]
cmp ebx, 0x32
jg 0x140006706
inc ebx
jmp 0x140006690
movups xmm0, xmmword [rsp + 0x60]
movsd xmm1, qword [rsp + 0x50]
mov dword [rbp + 0x118], r14d
lea r14d, [r15 - 0x1c]
mov ecx, r14d
movups xmmword [rbp + 0x100], xmm0
mov r12d, r14d
movsd qword [rbp + 0x110], xmm1
call fcn.14002a7e0
lea rdx, [rsi + 0x1c]
mov r8d, r14d
mov rcx, rax
mov r15, rax
call fcn.14002c930
lea ecx, [r14 + 0x100]
call fcn.14002a7e0
mov r9d, 1
mov qword [rsp + 0x50], rdi
xor r8d, r8d
mov dword [rsp + 0x20], 0xf0000040
xor edx, edx
lea rcx, [rsp + 0x50]
mov rbx, rax
call qword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
mov rcx, qword [rsp + 0x50]
lea r8, [rbp + 0x120]
mov edx, 0x80
call qword [sym.imp.ADVAPI32.dll_CryptGenRandom]
movaps xmm0, xmmword [rbp + 0x120]
lea rdx, [rbp + 0x108]
movups xmmword [rbx], xmm0
lea rcx, [rbp + 0x70]
movaps xmm1, xmmword [rbp + 0x130]
movups xmmword [rbx + 0x10], xmm1
movaps xmm0, xmmword [rbp + 0x140]
movups xmmword [rbx + 0x20], xmm0
movaps xmm1, xmmword [rbp + 0x150]
movups xmmword [rbx + 0x30], xmm1
movaps xmm0, xmmword [rbp + 0x160]
movups xmmword [rbx + 0x40], xmm0
movaps xmm1, xmmword [rbp + 0x170]
movups xmmword [rbx + 0x50], xmm1
movaps xmm0, xmmword [rbp + 0x180]
movups xmmword [rbx + 0x60], xmm0
movaps xmm1, xmmword [rbp + 0x190]
movups xmmword [rbx + 0x70], xmm1
call fcn.140002970
mov r8, r15
test r14d, r14d
jle 0x140006826
lea ebx, [r14 - 1]
shr ebx, 4
inc ebx
nop dword [rax]
mov rdx, r8
lea rcx, [rbp + 0x74]
call fcn.140002590
add r8, 0x10
sub rbx, 1
jne 0x140006810
lea r9, [rsp + 0x58]
mov r8d, 0x40
mov rdx, r12
mov rcx, r15
call qword [0x1400722f8]
call qword [sym.imp.SETUPAPI.dll_SetupOpenFileQueue]
mov dword [rsp + 0x40], 0x400
lea r9, str.kernel32.dll
mov qword [rsp + 0x38], r9
lea r8, str.windows_sytem32_
mov rbx, rax
lea rdx, [0x140064200]
lea rax, str.c:windows_temp_
mov rcx, rbx
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rdi
call qword [sym.imp.SETUPAPI.dll_SetupQueueCopyW]
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetTopWindow]
xor r9d, r9d
mov r8, r15
mov rcx, rax
mov rdx, rbx
call qword [sym.imp.SETUPAPI.dll_SetupCommitFileQueueW]
mov ecx, 0xf4241
call fcn.140038660
mov rbx, rax
nop
call fcn.140030d28
mov r8d, eax
mov eax, 0x4ec4ec4f
imul r8d
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0x1a
sub r8d, ecx
add r8b, 0x61
mov byte [rdi + rbx], r8b
inc rdi
cmp rdi, 0xf4240
jl 0x1400068b0
mov rcx, rbx
mov byte [rbx + 0xf4240], 0
call fcn.1400382a8
lea rcx, [rsp + 0x70]
call fcn.140025d50
mov rcx, qword [rbp + 0x220]
xor rcx, rsp
call fcn.14002a410
lea r11, [rsp + 0x330]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov r12, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret