Function at 0x4469f2
Capabilities:
Generate random numbers via winapi

Disassembly:
sub esp, 0x10c
push ebx
push ebp
push esi
mov esi, ecx
mov ebp, edx
push edi
test esi, esi
je 0x446c72
push 0x100
lea edi, [ebp*2]
xor eax, eax
push edi
push esi
mov ebx, str.SOFTWAREMetaQuotes_Software
mov word [esi], ax
push 0x46d038
mov edx, ebx
mov ecx, reloc.OLEAUT32.dll_SysReAllocString
call fcn.00403e35
add esp, 0x10
test al, al
je 0x446aeb
push esi
call fcn.0042b8b4
pop ecx
xor ecx, ecx
cmp edx, ecx
jl 0x446aeb
jg 0x446a5a
cmp eax, 0x2710
jb 0x446aeb
push 0x100
push 0xfe
lea eax, [esp + 0x20]
mov edx, ebx
push eax
push 0x46d038
mov ecx, SysReAllocStringLen
call fcn.00403e35
add esp, 0x10
test al, al
je 0x446ab6
mov ecx, esi
lea eax, [esp + 0x18]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x446aad
test dx, dx
je 0x446aa9
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x446aad
add eax, 4
add ecx, 4
test dx, dx
jne 0x446a87
xor eax, eax
jmp 0x446ab2
sbb eax, eax
or eax, 1
test eax, eax
je 0x446af0
mov ecx, SysReAllocStringLen
call fcn.00403e01
test al, al
jne 0x446ad2
push ecx
mov edx, ebx
mov ecx, SysReAllocStringLen
call fcn.00403da9
pop ecx
push ecx
push esi
push ecx
push 0x46d038
mov edx, ebx
mov ecx, SysReAllocStringLen
call fcn.00403d74
add esp, 0x10
jmp 0x446af0
xor eax, eax
mov word [esi], ax
xor eax, eax
cmp word [esi], ax
jne 0x446b62
push 0x100
push edi
push esi
push 0x46d038
mov edx, ebx
mov ecx, SysReAllocStringLen
call fcn.00403e35
add esp, 0x10
test al, al
je 0x446b5d
push esi
call fcn.0042b8b4
pop ecx
xor ecx, ecx
cmp edx, ecx
jl 0x446b5d
jg 0x446b2c
cmp eax, 0x2710
jb 0x446b5d
mov edi, reloc.OLEAUT32.dll_SysReAllocString
mov ecx, edi
call fcn.00403e01
test al, al
jne 0x446b47
push ecx
mov edx, ebx
mov ecx, edi
call fcn.00403da9
pop ecx
push ecx
push esi
push ecx
push 0x46d038
mov edx, ebx
mov ecx, edi
call fcn.00403d74
add esp, 0x10
jmp 0x446b62
xor eax, eax
mov word [esi], ax
mov ecx, esi
xor ebx, ebx
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, bx
jne 0x446b69
sub ecx, edx
mov edx, ebx
sar ecx, 1
push 9
pop edi
je 0x446b91
mov ax, word [esi + edx*2]
sub ax, 0x30
cmp ax, di
ja 0x446bad
inc edx
cmp edx, ecx
jb 0x446b7f
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, bx
jne 0x446b96
sub ecx, edx
sar ecx, 1
cmp ecx, edi
jae 0x446c72
push ebx
call fcn.0042b938
pop ecx
mov edi, eax
mov ebx, edx
push 2
push 8
add edi, 0xab5b7200
lea eax, [esp + 0x18]
push eax
adc ebx, 0xffffffff
xor eax, eax
push eax
call dword [sym.imp.bcrypt.dll_BCryptGenRandom]
test eax, eax
je 0x446be9
call dword [sym.imp.KERNEL32.dll_GetTickCount64]
mov ecx, eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], ecx
jmp 0x446bed
mov ecx, dword [esp + 0x10]
and ecx, 0x1ffffff
xor eax, eax
or ecx, ebx
or eax, edi
or ecx, 0x44000000
push ecx
push eax
push 0x46d834
push 0xffffffffffffffff
push ebp
push esi
call fcn.00401ea4
add esp, 0x18
mov ebx, reloc.OLEAUT32.dll_SysReAllocString
mov ecx, ebx
call fcn.00403e01
mov edi, str.SOFTWAREMetaQuotes_Software
test al, al
jne 0x446c32
push ecx
mov edx, edi
mov ecx, ebx
call fcn.00403da9
pop ecx
push ecx
push esi
push ecx
mov ebp, 0x46d038
mov edx, edi
push ebp
mov ecx, ebx
call fcn.00403d74
add esp, 0x10
mov ebx, SysReAllocStringLen
mov ecx, ebx
call fcn.00403e01
test al, al
jne 0x446c62
push ecx
mov edx, edi
mov ecx, ebx
call fcn.00403da9
pop ecx
push ecx
push esi
push ecx
push ebp
mov edx, edi
mov ecx, ebx
call fcn.00403d74
add esp, 0x10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10c
ret