Function at 0x4bd120
Capabilities:
Generate random numbers via winapi

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4d4da9
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x2124
call fcn.0048af60
push ebx
push esi
push edi
push ecx
lea edi, [ebp - 0x2134]
mov ecx, 0x849
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
pop ecx
mov eax, dword [0x51e710]
xor eax, ebp
mov dword [ebp - 0x14], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x18], ecx
push 0x1000
push 0
lea eax, [ebp - 0x101c]
push eax
call fcn.0048a180
add esp, 0xc
push 0x1000
push 0
lea ecx, [ebp - 0x2024]
push ecx
call fcn.0048a180
add esp, 0xc
mov esi, esp
lea edx, [ebp - 0x203c]
push edx
push 0x10
mov eax, dword [ebp + 0xc]
push eax
call dword [sym.imp.ADVAPI32.dll_CryptGenRandom]
cmp esi, esp
call fcn.004cc645
push 0x10
lea ecx, [ebp - 0x203c]
push ecx
lea edx, [ebp - 0x101c]
push edx
call fcn.0048fe00
add esp, 0xc
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
mov dword [ebp - 0x100c], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x1008], edx
mov ecx, dword [eax + 8]
mov dword [ebp - 0x1004], ecx
mov edx, dword [eax + 0xc]
mov dword [ebp - 0x1000], edx
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax]
mov dword [ebp - 0xffc], ecx
push 0x10
push 0x4e40dc
mov edx, dword [ebp + 0x10]
push edx
call fcn.0048b9c6
add esp, 0xc
test eax, eax
je 0x4bd22c
push 0x10
push 0x4e40cc
mov eax, dword [ebp + 0x10]
push eax
call fcn.0048b9c6
add esp, 0xc
test eax, eax
jne 0x4bd248
mov dword [ebp - 0xff8], 4
mov ecx, 1
imul edx, ecx, 0
mov al, byte [ebp + 0x18]
mov byte [ebp + edx - 0xff4], al
lea ecx, [ebp - 0x2048]
call fcn.004ade30
mov dword [ebp - 4], 0
mov byte [ebp - 4], 1
mov esi, esp
lea ecx, [ebp - 0x2024]
push ecx
lea edx, [ebp - 0x101c]
push edx
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
call eax
cmp esi, esp
call fcn.004cc645
mov dword [ebp - 0x20f4], eax
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x20f4]
mov dword [ecx + 0x100], edx
mov eax, dword [ebp - 0x18]
cmp dword [eax + 0x100], 0
jge 0x4bd3c9
push 0
push 0
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx + 0x100]
push edx
lea ecx, [ebp - 0x2060]
call fcn.004ab1c0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x2060]
call fcn.004be930
push eax
lea ecx, [ebp - 0x2060]
call fcn.004ab570
push eax
push str.QueryCOPPStatus__ProtectionStatus_query_failed._Error_Code___x___s
lea eax, [ebp - 0x2048]
push eax
call fcn.004ae100
add esp, 0x10
push 0x45d
push ecx
mov ecx, esp
mov dword [ebp - 0x2098], esp
push 0x4e8f1c
call fcn.004add60
mov dword [ebp - 0x20f8], eax
mov ecx, dword [ebp - 0x20f8]
mov dword [ebp - 0x20fc], ecx
mov byte [ebp - 4], 3
push ecx
mov ecx, esp
mov dword [ebp - 0x209c], esp
push 0x4e8f74
call fcn.004add60
mov dword [ebp - 0x2100], eax
mov edx, dword [ebp - 0x2100]
mov dword [ebp - 0x2104], edx
mov byte [ebp - 4], 4
push ecx
mov ecx, esp
mov dword [ebp - 0x20a0], esp
lea eax, [ebp - 0x2048]
push eax
call fcn.004add30
mov dword [ebp - 0x2108], eax
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x2094]
call fcn.004ade60
mov dword [ebp - 0x210c], eax
mov ecx, dword [ebp - 0x210c]
mov dword [ebp - 0x2110], ecx
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x2110]
push edx
lea ecx, [ebp - 0x2084]
call fcn.004ab000
push 0x519084
lea eax, [ebp - 0x2084]
push eax
call fcn.0048a653
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x2094]
call fcn.004ab2c0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x2060]
call fcn.004ab330
mov ecx, dword [ebp + 0x14]
mov edx, dword [ecx]
add edx, 1
mov eax, dword [ebp + 0x14]
mov dword [eax], edx
lea ecx, [ebp - 0x2010]
mov dword [ebp - 0x2068], ecx
mov edx, dword [ebp - 0x2068]
push edx
lea eax, [ebp - 0x203c]
push eax
call fcn.004bf790
add esp, 8
test eax, eax
je 0x4bd4dd
push str.QueryCOPPStatus__Query_status_does_return_expected_random_number
lea ecx, [ebp - 0x2048]
push ecx
call fcn.004ae100
add esp, 8
push 0x465
push ecx
mov ecx, esp
mov dword [ebp - 0x20c4], esp
push str.COPPOperator.cpp
call fcn.004add60
mov dword [ebp - 0x2114], eax
mov edx, dword [ebp - 0x2114]
mov dword [ebp - 0x2118], edx
mov byte [ebp - 4], 6
push ecx
mov ecx, esp
mov dword [ebp - 0x20c8], esp
push str.QueryCOPPStatus__QueryProtection
call fcn.004add60
mov dword [ebp - 0x211c], eax
mov eax, dword [ebp - 0x211c]
mov dword [ebp - 0x2120], eax
mov byte [ebp - 4], 7
push ecx
mov ecx, esp
mov dword [ebp - 0x20cc], esp
lea edx, [ebp - 0x2048]
push edx
call fcn.004add30
mov dword [ebp - 0x2124], eax
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x20c0]
call fcn.004ade60
mov dword [ebp - 0x2128], eax
mov eax, dword [ebp - 0x2128]
mov dword [ebp - 0x212c], eax
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x212c]
push ecx
lea ecx, [ebp - 0x20b0]
call fcn.004ab000
push 0x519084
lea edx, [ebp - 0x20b0]
push edx
call fcn.0048a653
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x20c0]
call fcn.004ab2c0
mov eax, dword [ebp - 0x2068]
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0x20d0], ecx
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2048]
call fcn.004adf80
mov eax, dword [ebp - 0x20d0]
jmp 0x4bd6f8
push edx
mov ecx, ebp
push eax
lea edx, [0x4bd734]
call fcn.004cc5ed
pop eax
pop edx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00487e85
add esp, 0x2134
cmp ebp, esp
call fcn.004cc645
mov esp, ebp
pop ebp
ret 0x14