Function at 0x100079504
Capabilities:
Generate random numbers via winapi

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x160
mov rax, qword [0x10010f190]
xor rax, rsp
mov qword [rsp + 0x158], rax
mov r15, qword [rsp + 0x1c0]
xor ebp, ebp
mov r13, r8
mov r12, rdx
lea rcx, [rsp + 0x80]
mov r8d, reloc.certcli.dll_Ordinal_208
xor edx, edx
mov r14, r9
mov qword [rsp + 0x68], rbp
mov rsi, rbp
mov qword [rsp + 0x70], rbp
mov qword [rsp + 0x50], rbp
mov qword [rsp + 0x58], rbp
mov qword [r9], rbp
call sub.msvcrt.dll_memset
lea rdx, [rsp + 0x50]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rdx
lea rdx, [0x10001e190]
xor ecx, ecx
call fcn.1000776b4
xor r9d, r9d
mov edi, eax
cmp eax, ebp
je 0x10007959c
mov edx, 0x16470139
jmp 0x100079893
mov rcx, qword [rsp + 0x50]
lea rax, [rsp + 0x58]
xor r8d, r8d
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x38], ebp
mov dword [rsp + 0x30], 1
xor edx, edx
mov qword [rsp + 0x28], rbp
mov dword [rsp + 0x20], 2
call fcn.1000bce78
mov edi, eax
cmp eax, ebp
je 0x1000795de
mov edx, 0x16530139
jmp 0x100079890
lea rcx, [rsp + 0xc0]
call qword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
mov rdx, qword [rsp + 0xc0]
movabs rcx, 0x165a0bc00
mov rax, rdx
sub rdx, rcx
mov edi, 6
add rax, rcx
mov qword [rsp + 0xc0], rdx
lea r8, [rsp + 0x150]
mov edx, edi
mov rcx, r12
mov qword [rsp + 0xc8], rax
call qword [sym.imp.ADVAPI32.dll_CryptGenRandom]
cmp eax, ebp
jne 0x10007964b
call sub.KERNEL32.dll_GetLastError
mov ecx, eax
call fcn.1000b7bec
mov edx, 0x165d0139
mov edi, eax
jmp 0x100079890
mov rcx, qword [rsp + 0x58]
lea rax, [rsp + 0x150]
mov r9d, 0x8004
mov qword [rsp + 0x90], rax
lea rax, [rsp + 0x98]
xor r8d, r8d
xor edx, edx
mov byte [rsp + 0x155], 0x72
mov dword [rsp + 0x88], edi
mov qword [rsp + 0x20], rax
call fcn.1000c2e9c
mov edi, eax
cmp eax, ebp
je 0x10007969c
mov edx, 0x166a0139
jmp 0x100079890
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdi, [0x10001e208]
repne scasw ax, word [rdi]
not rcx
lea rdx, [rcx + rcx + 6]
lea rdi, [rcx - 1]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov rbp, rax
test rax, rax
jne 0x1000796e4
mov edi, 0x8007000e
xor r9d, r9d
mov edx, 0x16730139
mov r8d, edi
xor ecx, ecx
call fcn.1000b51b8
jmp 0x10007989d
lea r8, [0x1000105f0]
lea rdx, [rdi + 4]
mov rcx, rax
call fcn.100038b1c
lea r8, [0x10001e208]
lea rdx, [rdi + 4]
mov rcx, rbp
call fcn.100038a50
and qword [rsp + 0x30], rsi
lea rax, [rsp + 0xd0]
mov qword [rsp + 0x28], rax
xor r9d, r9d
lea rax, [rsp + 0xd8]
lea ecx, [r9 + 1]
mov r8d, 0x2000000
mov rdx, rbp
mov qword [rsp + 0x20], rax
call fcn.1000c1e50
xor ebp, ebp
mov edi, eax
cmp eax, ebp
je 0x100079750
mov edx, 0x16800139
jmp 0x100079890
lea rax, [rsp + 0xb0]
xor r9d, r9d
mov qword [rsp + 0x30], rbp
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0xb8]
lea rdx, [0x10001e1c8]
lea ecx, [r9 + 1]
mov r8d, 0x2000000
mov qword [rsp + 0x20], rax
call fcn.1000c1e50
mov edi, eax
cmp eax, ebp
je 0x100079798
mov edx, 0x168a0139
jmp 0x100079890
mov edx, dword [r13 + 0x28]
lea rax, [rsp + 0x78]
mov edi, 2
lea r9, [rsp + 0x70]
mov r8d, edi
mov rcx, r12
mov qword [rsp + 0x20], rax
call fcn.1000b8360
cmp eax, ebp
jne 0x1000797e9
call sub.KERNEL32.dll_GetLastError
mov ecx, eax
call fcn.1000b7bec
xor r9d, r9d
mov edx, 0x16940139
mov r8d, eax
xor ecx, ecx
mov edi, eax
call fcn.1000b51b8
mov rsi, qword [rsp + 0x70]
jmp 0x10007989d
mov rsi, qword [rsp + 0x70]
lea rcx, [rsp + 0xe0]
mov r8d, 0x30
mov rdx, rsi
call sub.msvcrt.dll_memcpy
lea rax, [rsp + 0x60]
xor r9d, r9d
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x68]
lea r8, [rsp + 0x80]
mov qword [rsp + 0x28], rax
lea ecx, [r9 + 1]
mov rdx, rdi
mov dword [rsp + 0x20], edi
mov dword [rsp + 0x80], edi
call fcn.1000b7c1c
cmp eax, ebp
jne 0x100079853
call sub.KERNEL32.dll_GetLastError
mov ecx, eax
call fcn.1000b7bec
mov edx, 0x16a40139
mov edi, eax
jmp 0x100079890
mov eax, dword [rsp + 0x60]
mov r9, qword [rsp + 0x68]
mov r8, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x30], r14
mov edx, 1
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], eax
call fcn.1000b86e4
mov edi, eax
cmp eax, ebp
je 0x10007989d
mov edx, 0x16b00139
xor r9d, r9d
mov r8d, eax
xor ecx, ecx
call fcn.1000b51b8
mov rcx, qword [rsp + 0x68]
cmp rcx, rbp
je 0x1000798ad
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov rcx, qword [rsp + 0xd8]
cmp rcx, rbp
je 0x1000798c0
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov rcx, qword [rsp + 0xb8]
cmp rcx, rbp
je 0x1000798d3
call qword [sym.imp.KERNEL32.dll_LocalFree]
cmp rsi, rbp
je 0x1000798e1
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov rcx, qword [rsp + 0x58]
cmp rcx, rbp
je 0x10007991b
xor edx, edx
call qword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
cmp qword [rsp + 0x50], rbp
je 0x10007992d
mov rdx, qword [rsp + 0x50]
lea rcx, [rsp + 0x58]
mov r9d, 1
xor r8d, r8d
mov dword [rsp + 0x20], reloc.WLDAP32.dll_Ordinal_16
call qword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
cmp qword [rsp + 0x50], rbp
je 0x10007992d
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, edi
mov rcx, qword [rsp + 0x158]
xor rcx, rsp
call fcn.1000ef870
add rsp, 0x160
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret