Function at 0x4555c0
Capabilities:
Generate random numbers via winapi

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
lea eax, [ebp - 0x20]
push 2
push 0x20
push eax
push 0
call sub.bcrypt.dll_BCryptGenRandom
test eax, eax
jns 0x4557c6
push str.unable_to_use_secure_randomness_n
call fcn.0044f540
push 0
call fcn.004558f0
mov ecx, eax
add esp, 8
test ecx, ecx
jne 0x4556c2
mov eax, 0x4ca56ae5
mov dword [ebp - 0x20], 0x4ca56ae5
shr eax, 0x10
xor eax, 0x4ca56ae5
imul ecx, eax, 0x7feb352d
mov eax, ecx
shr eax, 0xf
xor eax, ecx
imul eax, eax, 0x846ca68b
mov ecx, eax
shr ecx, 0x10
xor ecx, eax
mov dword [ebp - 0x1c], ecx
mov eax, ecx
shr eax, 0x10
xor eax, ecx
imul ecx, eax, 0x7feb352d
mov eax, ecx
shr eax, 0xf
xor eax, ecx
imul eax, eax, 0x846ca68b
mov ecx, eax
shr ecx, 0x10
xor ecx, eax
mov dword [ebp - 0x18], ecx
jne 0x45571b
mov eax, 0x4ca56ae5
mov dword [ebp - 0x14], 0x4ca56ae5
shr eax, 0x10
xor eax, 0x4ca56ae5
imul ecx, eax, 0x7feb352d
mov eax, ecx
shr eax, 0xf
xor eax, ecx
imul eax, eax, 0x846ca68b
mov ecx, eax
shr ecx, 0x10
xor ecx, eax
mov dword [ebp - 0x10], ecx
mov eax, ecx
shr eax, 0x10
xor eax, ecx
imul ecx, eax, 0x7feb352d
mov eax, ecx
shr eax, 0xf
xor eax, ecx
imul eax, eax, 0x846ca68b
mov ecx, eax
shr ecx, 0x10
xor ecx, eax
mov dword [ebp - 0xc], ecx
jne 0x455776
mov dword [ebp - 8], 0x4ca56ae5
mov ecx, 0x4ca56ae5
jmp 0x4557a2
shr eax, 0x10
xor eax, ecx
imul ecx, eax, 0x7feb352d
mov eax, ecx
shr eax, 0xf
xor eax, ecx
imul eax, eax, 0x846ca68b
mov ecx, eax
shr ecx, 0x10
xor ecx, eax
mov dword [ebp - 0x20], ecx
jne 0x4557dd
mov eax, 0x4ca56ae5
mov dword [ebp - 0x1c], 0x4ca56ae5
shr eax, 0x10
xor eax, 0x4ca56ae5
imul ecx, eax, 0x7feb352d
mov eax, ecx
shr eax, 0xf
xor eax, ecx
imul eax, eax, 0x846ca68b
mov ecx, eax
shr ecx, 0x10
xor ecx, eax
mov dword [ebp - 0x18], ecx
mov eax, ecx
shr eax, 0x10
xor eax, ecx
imul ecx, eax, 0x7feb352d
mov eax, ecx
shr eax, 0xf
xor eax, ecx
imul eax, eax, 0x846ca68b
mov ecx, eax
shr ecx, 0x10
xor ecx, eax
mov dword [ebp - 0x14], ecx
jne 0x455838
mov eax, 0x4ca56ae5
mov dword [ebp - 0x10], 0x4ca56ae5
shr eax, 0x10
xor eax, 0x4ca56ae5
imul ecx, eax, 0x7feb352d
mov eax, ecx
shr eax, 0xf
xor eax, ecx
imul eax, eax, 0x846ca68b
mov ecx, eax
shr ecx, 0x10
xor ecx, eax
mov dword [ebp - 0xc], ecx
mov eax, ecx
shr eax, 0x10
xor eax, ecx
imul ecx, eax, 0x7feb352d
mov eax, ecx
shr eax, 0xf
xor eax, ecx
imul eax, eax, 0x846ca68b
mov ecx, eax
shr ecx, 0x10
xor ecx, eax
mov eax, 0x11
mov dword [ebp - 8], ecx
cmove ecx, eax
mov eax, ecx
shr eax, 0x10
xor eax, ecx
imul ecx, eax, 0x7feb352d
mov eax, ecx
shr eax, 0xf
xor eax, ecx
imul ecx, eax, 0x846ca68b
mov eax, ecx
shr eax, 0x10
xor eax, ecx
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
lea ecx, [ebp - 0x20]
push 0
push eax
push ecx
push eax
call fcn.00455bf0
add esp, 0x10
mov esp, ebp
pop ebp
ret
mov eax, ecx
shr eax, 0x10
xor eax, ecx
imul ecx, eax, 0x7feb352d
mov eax, ecx
shr eax, 0xf
xor eax, ecx
imul eax, eax, 0x846ca68b
mov ecx, eax
shr ecx, 0x10
xor ecx, eax
mov dword [ebp - 0x1c], ecx
jne 0x45562c
mov eax, 0x4ca56ae5
mov dword [ebp - 0x18], 0x4ca56ae5
shr eax, 0x10
xor eax, 0x4ca56ae5
imul ecx, eax, 0x7feb352d
mov eax, ecx
shr eax, 0xf
xor eax, ecx
imul eax, eax, 0x846ca68b
mov ecx, eax
shr ecx, 0x10
xor ecx, eax
mov dword [ebp - 0x14], ecx
mov eax, ecx
shr eax, 0x10
xor eax, ecx
imul ecx, eax, 0x7feb352d
mov eax, ecx
shr eax, 0xf
xor eax, ecx
imul eax, eax, 0x846ca68b
mov ecx, eax
shr ecx, 0x10
xor ecx, eax
mov dword [ebp - 0x10], ecx
jne 0x455687
mov eax, 0x4ca56ae5
mov dword [ebp - 0xc], 0x4ca56ae5
shr eax, 0x10
xor eax, 0x4ca56ae5
imul ecx, eax, 0x7feb352d
mov eax, ecx
shr eax, 0xf
xor eax, ecx
imul eax, eax, 0x846ca68b
mov ecx, eax
shr ecx, 0x10
xor ecx, eax
mov dword [ebp - 8], ecx
jmp 0x4557a2